Reprenez les fondations de vos WordPress avec Bedrock

Le 19/05/2016

Dans WordPress

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, vous savez que j'avais proposer 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 versionalisation. 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 versionalisation ne s'en retrouve vraiment pas simplifiée.

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 verront pas le moindre inconvénient : si le processus de votre entreprise comprend ni environnement de de, ni versionalisation, ces problèmes ne se poseront pas pour vous. Ils restent néanmoins réels, et il est incompréhensible 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 était de proposer une implémentation de la philosophie "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.

 

Bedrock

 

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 ressource optionnelle 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 sûrement consacré.

 

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  fermes 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".