Un argument que j’entends souvent est que WordPress n’est pas un CMS parce qu’il est centré autour de la publication d’articles de blogue. Cette approche peut créer de la confusion lorsqu’il faut gérer autre chose que des articles ou des pages. Une extension tente de faire évoluer WordPress vers un «véritable» CMS : Pods.
Pods a comme objectif premier de permettre aux utilisateurs avancés de WordPress de publier des types de contenu qui ne sont pas des articles ou des pages.
Un exemple
Jo Blo à un blogue où il parle de voiture. C’est intéressant, mais il voudrait offrir la possibilité aux usagers de parcourir toutes les voitures desquelles il a parlé. WordPress offre certains outils pour accomplir la tâche, mais il faut toujours composer avec les articles. Avec Pods, Jo peut publier des voitures sans publier d’articles ou de pages.
L’avantage de cette méthode est qu’il peut amasser des données sans polluer les articles. Il peut se faire une collection de 1000 voitures sans avoir à écrire 1000 articles avec un contenu peu attrayant du genre «Article bidon pour afficher telle voiture».
En plus de lui permettre d’emmagasiner les voitures séparément de ses articles, Pods permet à Jo de faire des listes pour que les visiteurs puissent voir les véhicules qu’il préfère. Un système de gabarits, semblable à celui de WordPress, est offert à l’utilisateur afin qu’il puisse personnaliser l’affichage des données produites par Pods.
Pods est disponible depuis un certain temps déjà. Maintenant qu’il est rendu à la version 1.7.6, je pense qu’il est assez stable pour l’incorporer dans un mandat. Voici mes conclusions après une semaine d’utilisation en tant que développeur.
Prêt pour les développeurs?
Pour les développeurs, Pods offre des outils facilitateurs. Ces outils viennent par contre avec quelques contraintes.
Pods offre une approche qui se voit dans plusieurs CMS : faites votre structure de données sans connaissance SQL et laissez Pods s’occuper du reste. Là où Pods déçoit, est au point de vue structurel. On ne peut pas, simplement, sauvegarder un pod avec du code PHP. La sauvegarde est effectuée à l’aide d’un fichier PHP complètement indépendant de tous les types de pods et il ne marche qu’avec la réception d’un formulaire HTML. L’importation et la création de donnée avec du code sont donc très fastidieuses, et plusieurs hacks doivent être employés pour produire une expérience utilisateur intéressante.
Une fois que les données sont insérées, Pods est par contre très facile à utiliser. Un objet pod est accessible afin de récupérer des enregistrements ou d’en modifier. Le processus est très simple et intuitif.
Les relations entre les tables n’existent plus. Du moins, pas sous la forme SQL pure. Il faut passer par une table du plugin pour trouver quelles relations existent entre les données. Cette technique rend les requêtes complexes.
Un premier effort à souligner
Pods est le premier outil qui permet la création de type de données complètement arbitraires. Ce n’est jamais une mince tâche à entreprendre. Pour cet effort, les développeurs de Pods méritent mon respect. Maintenant, on ne peut pas encore lui attribuer le titre de framework.

Depuis sa publication, 2 commentaires ont été fait sur le sujet. Qu'attendez-vous pour joindre la discussion?