@Cedric, @ ACS04 >> cet article date de plus d’un an désormais. Depuis, le modèle de données de WordPress s’est vu ajouter ce qui lui manquait le plus : les Custom Post Types, lesquels permettent de créer autant de type d’article que l’on souhaite. Comme le dit Cédric, avec les custom post types, les custom fields et les custom taxonomies, on peut faire beaucoup de choses. Après plugin ou pas plugin, c’est un choix. Personnellement je préfère en utiliser le moins possible et n’utilise que les plugins dont je sais qu’ils sont vraiment robustes et bien codés.

Concernant les manques de WordPress dont tu parle dans ton article, ACS04, sur le chapitre « modèle de données », il faut bien comprendre que quel que soit le CMS que l’on utilise, WordPress, Drupal, Joomla ou Spip, il faut s’adapter à la logique mise en place par les créateurs de ces logiciels. Lorsque tu propose de créer de nouvelles tables dans WordPress, là, ce n’est pas la philosophie de ce CMS. Si tu aimes bidouiller le modèle de données, je te conseille d’utiliser SPIP, lui est bien taillé pour aller chercher des infos dans des tables externes au système de base. Par contre ce n’est absolument pas la philosophie de WordPress. C’est ce qu’explique Will Norris lors d’un WordCamp qu’il donnait à Portland dans sa présentation : How not to write a WordPress plugin : If you think you need an extra table, think again. La philosophie de WordPress est de tout stocker dans les objets existants, que ce soit dans la table générale d’option ou dans les objets de type post, page, custom post types, ou même (mais là c’est encore un peu bancal) dans les objets de type user. Dans cette même présentation, Will Norris expliquait également que ce n’est pas forcément un atout d’être un dev web chevronné pour travailler avec WordPress. En effet un dev web bien formé regardera le modèle de données de WordPress et aura envie de le plier à ses besoins, de rajouter des tables par exemple. Or encore une fois, ce n’est pas l’idée dans WordPress. Pour le coup c’est plutôt dans la logique Drupal par exemple.

Attention donc à ne pas se tromper dans le choix de ses outils : WordPress n’est qu’un simple CMS et non un environnement de dev. Pour la publication de contenu, c’est parfait, pour réaliser une application et donc modifier un modèle de données, ce n’est pas du tout adapté. Mieux vaut dans ce cas passer par un CMF comme Drupal donc ou carrément par un framework à la Code Igniter, Symfony ou Cake.