logo barbu du web

Le barbu du Web

Un blog sur le Web par un barbu

Utiliser Symfony ET WordPress

Qui dit nouveau projet dit également nouvelles demandes et nouvelles problématiques. Une des plus intéressantes sur le nouveau projet dont j’ai la charge est de tirer le meilleur de deux excellents projets Open Source Symfony et WordPress.

Pourquoi Symfony ?

Parce que c’est à mes yeux le meilleur framework PHP à l’heure qu’il est et qu’il répondra parfaitement aux contraintes métiers du projet.

Pourquoi WordPress ?

Parce qu’une grande partie du projet est centrée sur des flux d’actualités et des publications de types « Blogs ». Comme je n’imagine pas re-coder quelque chose d’aussi performant que WordPress dans un délai raisonnable sur Symfony et que les plugins disponibles pour Symfony ne répondent pas à la problématique, la solution s’impose d’elle même : tirer le meilleur des deux univers.

Comment lier les deux solutions ?

On trouve des pistes dans beaucoup de posts sur le net des idées pour intégrer un blog wordpress dans un développement symfony mais mis à part le partage des utilisateurs la limite entre les deux solutions reste très marquée.

La solution que j’ai retenue est de gérer la vue et l’arborescence de contenu dans symfony et de me servir de WordPress comme d’une bibliothèque de contenu profitant de ses fonctions de versionnement de contenu et de son système de plugin et de short code.

La liaison entre les deux est ensuite rendu possible grâce aux webservices proposés par WordPress. En effet, WordPress propose une API XML-RPC permettant la consultation et l’édition des posts, pages et commentaires. Cette API peut également être complétée par des fonctions persos. Cette solution est, à mon avis, une manière élégante de créer un pont entre les deux interfaces.

Et si on allait plus loin?

Je pense qu’il vaudrait le coup de creuser le projet et d’en faire une solution packagée sous forme de plugin Symfony. Je vais commencer à proposer l’idée sur les forums de WordPress et Symfony dans l’optique de lancer le développement sur Symfony 2 et WordPress 3, la sortie très prochaine de ces deux versions majeures n’encourage pas à entamer ce développement plutôt lourd.

Tagged as: , , ,

3 Comments

  1. très interessant,
    j’ai ete confronte a ce meme probleme sur le dernier projet que j’ai developpe avec Symfony,
    je voulais moi aussi gerer la partie cms avec WordPress, mais je suis finalement partie sur l’installation d’Apostrophe faute de temps et de connaissance WordPress (je ne connaissais pas, par exemple, l’existance de ces webservices xml-rpc)… et honnetement je suis tres decu!
    Donc je serai TRES intersse de voir le resultat de votre travail, et voire participer au developpement de ce possible bundle sf2!

  2. Bonjour,

    Je suis également confronté à ce choix et ça me donne une super idée cette exportation par xml-rpc. Par compte vous ne décrivez pas si le processus a été long?

    Je souhaitais aussi savoir si vous afficher certaines informations par les templates de WordPress, ou si vous avez utilisé WP comme interface de backend et gérer tout l’affichage en formatant le flux xml-rpc dans les modules symfony ? Car l’utilisation de Widget WordPress est très sympa.

    @kbsali: pourquoi avez-vous été très déçu par Apostrophe. C’est également un piste que je poursuis.

    Merci pour vos réponse

  3. Bonjour,
    Non je ne comptais utilisé WordPress pour le rendu mais uniquement, la vue Symfony pour le rendu. Après si vous ouhaitez récupérer les widgets de sidebar WordPress vous devriez surcharger les méthodes xml-rpc de l’api WordPress et récuperer le tout dans Symfony. Attention quand même aux appels Ajax qui pourraient ne plus fonctionner suivant le nom de domaine sur lequel vous hebrerger vos deux applicatifs.

    Personnellement je n’est pas testé apostro’phe mais Diem m’a paru plus abouti en tout point.

    Bon courage et n’hésitez pas à revenir cet automne après la sortie de Symfony 2 pour le lancement du projet.

    Franck

Leave a Response