Aujourd'hui, je vous propose une ressource permettant d'assigner les vices de conceptions les plus graves de WordPress en reprenant son architecture à zéro. Découvrez Bedrock.

Si vous avez lu mon article précédent sur le sujet (celui-là: Bien choisir le type de thème WordPress nécessaire à son projet), vous savez que j'avais deciu de séparer les différents types de thèmes en 4 (Thème spécifique à un domaine, thème complet et "mutli-purpose", thème "fondation" et thème "framework"), auquel j'ajoutais les changements de paradigme complets. Bedrock n'est rien de tout ça.

Petit point sur WordPress et le développement moderne

Pour commencer, j'aimerais faire un point sur un sujet qui nous sera nécessaire. Malgré ses qualités, WordPress est vraiment plein de défauts si on essaye de le manipuler avec des processus de développement et de déploiement moderne. 

Exemple ? Malgré toutes les ressources que j'ai pu essayer, le moyen le plus simple d'installer un WordPress reste de décompresser l'archive et de le passé sur le FTP, ce qui n'aide pas à une bonne versionnalisation. Par défaut la racine du dossier doit être la racine web, ce qui implique que les fichiers de configuration sont accessibles aux visiteurs, et qu'encore une fois la versionnalisation ne s'en retrouve vraiment pas simplifiée.

Gagnez du temps dans vos créations graphiques !

+ 1,6 millions de ressources (photos, mockups, themes Wordpress etc.) premium à votre disposition pour livrer plus rapidement.

Cela n'empêche ni d'aimer ni d'utiliser WordPress, et il est évidemment possible de contourner certains de ces problèmes. De plus, certains n'y verra pas le moindre inconvénient : si le processus de votre entreprise comprend ni environnement de de, ni versionnalisation, ces problèmes ne se poseront pas pour vous. Ils restent néanmoins réels, et il est incomprehensible qu'un CMS aussi gros n'est pas encore assainit ses bases.

Qu'est-ce que Bedrock ?

Bon, après tout ça, je pense que vous connaissez déjà la réponse, Baserock est un point de départ sain pour votre travail sur WordPress. L'objectif etait de proposer une implementation de la physolophie "The Twelve-Factor App" utilise par Heroku (pas vraiment des petits nouveaux, donc).

Attention, Bedrock n'est pas un thème, mais une nouvelle organisation et de nouveaux outils pour le développement de votre WordPress. Tous les thèmes sont compatibles avec Bedrock, de même que tous les plugins.

La modification la plus visible de Bedrock est que l'architecture des dossiers a été complètement retravaillée. Vos fichiers (thèmes, plugins, mus-plugins, …) sont maintenant toutes dans un dossier "app", sépare du code du CM. 
Les configurations, elles, ne sont pas dans le dossier web, mais dans un dossier config, non accessibles par vos visiteurs.

L'installation de Bedrock et de ses différents composants se fait grace à composer, ce qui permet une distribution plus aisée et une meilleure gestion des dépendances.

Une ressources optionnelles est aussi proposée pour gérer toute la partie création d'environnement de développement (avec Vagrant) et déploiement, Trellis. Je ne pourrais malheureusement pas vous en parler, je n'ai jamais utilisé Vagrant ni déployé de site à travers Trellis pour l'instant. Un article lui sera donc surement consacré.

Enfin, notez aussi qu'un theme fondation est proposé : Sage.

Prérequis et utilisation

Pour les prérequis Systeme, il vous faudra obligatoirement un PHP >requérir 5.5 ainsi que composer. Une stack LAMP ou WAMP sera nécessaire aussi évidemment, mais c'est le cas aussi pour Wodpress.

Pour les prérequis utilisateur, si l'utilisation de Bedrock ne demande pas vraiment plus de connaissances en développement qu'un simple WordPress vanilla, le fait que l'installation se fasse par Composer demande un accès a la ligne de commande, ainsi qu'une formation TRES sommaire (ouvre ta console là, tape "composer install" dedans. Quand ça bouge plus, tu  ferme la console et c'est ok).

De plus, un des gros avantages de cette structure étant la possibilité de versionnaliser, il serait intéressant de savoir utiliser Git, bien que ça ne soit pas réellement un pre-requis.

Mon avis

Bedrock est un des meilleures initiatives que j'ai vu depuis que je manipule WordPress. Sans ajouter trop de complexité, ce paquet permet de combler la très grande majorité des problèmes que me posait WordPress, tout en simplifiant et professionnalisant les processus.

Bien sur, il "n'invente" rien, la plupart des idées et structures peuvent se trouver en cherchant sur le net, mais je crois bien que c'est la première fois qu'un pack "tout compris" et agnostique au niveau du thème est mis a disposition (Themosis modifiait aussi la structure de WordPress, mais il fallait utiliser le thème prévu avec).

Attention tout de même, j'avais personnellement mis au point une structure WordPress très semblable à celle-là, et n'ai jamais pu l'héberger en l'état sur OVH. Ce n'est pas très grave, il suffit dans ce cas-là de mettre un WordPress vanilla dans le FTP et mettre le contenu de "app" dans "wp-contents".