Projet WordPress avec les outils de la suite Roots

Outils Roots: un aperçu

Ce post n’est pas conçu comme un guide complet de la suite Roots pour le développement WordPress.

Vous trouverez ci-dessous une description succinte des différents modules. Pour plus d’informations, je vous suggère de suivre les liens.
Ceci étant dit j’espère tout de même que vous y trouverez des informations utiles quant à cette technologie WordPress.

Bedrock

Trellis

  • Serveurs de développement et de production WordPress dans les règles de l’art
  • Machine virtuelle Vagrant pour le développement
  • Serveur WordPress complet
  • Provisionnez un serveur distant et déployez-le avec une seule commande
  • Déploiements WordPress zero-downtime

Sage

Un projet sur lequel j'ai travaillé ... et comment j'ai changé d'avis sur Sage

Environment de Dev

Comment dire… Si vous travaillez dans le domaine informatique, vous êtes probablement habitué (ou du moins ça arrive) à ce que quelque chose que vous ne pensiez pas être un problème devienne en réalité un problème. C’est un peu la loi de Murphy (je vous laisse découvrir ce qu’est la loi de Murphy si vous ne le savez pas encore, vous verrez que c’est instructif).

Comment aurais-je pu anticiper que le partage du code avec Git sur Gitlab pour ce projet deviendrait si compliqué ?Nous avons d’abord essayé de travailler avec les containers Docker pour créer nos environnements de développement. C’était bien pour mon collaborateur … mais lui travaille avec Linux et je travaillais à cette époque avec Windows 10 – Windows 10 Édition familiale, ce qui ne permet pas d’utiliser la solution Docker normale, mais uniquement Docker Toolbox ; basée sur Virtual Box d’Oracle et non Hyper-V.

Après avoir longtemps essayé de faire coïncider nos deux environnements, j’ai commencé à utiliser Trellis de Roots pour monter ma machine de développement locale. C’était le bon choix. Je connaissais déjà Trellis car je l’avais utilisé dans le passé pour un autre projet. Nous avions maintenant un repository commun sur Gitlab qui intégrait nos deux configurations locales différentes (Docker et Vagrant). Et nous pouvions vraiment commencer à développer le site Web custom pour notre client.

Stack choisie pour le projet

La stack choisie pour le projet était :

  • Bedrock
  • Sage

Ce qui peut s’avérer être un très bon choix dans de nombreuses occasions … mais qui ne l’était pas dans ce cas.

Même si je savais que ce ne serait pas facile de débuter avec Sage (et donc Blade / Laravel), j’avais imaginé qu’un peu plus de travail suffirait pour contourner les difficultés.J’avais pu lire quelques articles sur le sujet lorsque je cherchais à trouver le meilleur starter theme pour mes développements custom WordPress. Certaines personnes préviennent à propos de Sage, et disent bien que ce n’est pas le meilleur choix si :

  • Vous débutez dans le développement custom WordPress et vous êtes toujours en cours d’apprentissage des standard WordPress
  • Vous ne connaissez pas Laravel et les modèles de templates Blade

Mais j’étais très motivé et je peux travailler dur. Ce qui s’est produit alors, c’est que j’ai eu besoin de plus de soutien de la part de mon collègue, qui était le développeur principal de notre équipe de 2 personnes pour ce projet. J’ai été heureux de pouvoir en apprendre davantage sur cette technologie, mais à mon avis, la courbe d’apprentissage était trop raide et ne valait probablement pas la peine surtout si on ne continue pas à utiliser ce framework par la suite.

J’ai donc appris et pris des décisions en conséquence …

La stack sur laquelle je me concentre alors

D'abord revenir à Linux

Oui je sais ce que certains pensent:

Qu’est-ce qui t’a pris de travailler sur Windows ?

J’ai acheté Windows 10 avec mon laptop l’année dernière et je pensais que ça ferait l’affaire – auparavant j’utilisais principalement Ubuntu et d’autres distributions Linux.

Mais la mésaventure avec ce projet m’a fait comprendre que mon environnement de travail était bancal, même si je pouvais utiliser Virtual Box ou d’autres solutions de virtualisation.

J’ai donc installé Ubuntu 18.04 aux côtés de Windows 10 (dual boot) et tout va beaucoup mieux maintenant !! 😎

Ensuite virer Sage et embaucher UnderStrap

UnderStrap est construit sur le thème de base Underscores d’Automattic (dealer officiel de WordPress).

UnderStrap s’appuie sur npm pour gérer les packages et les dépendances tels que Bootstrap et Underscores. Et il utilise Gulp en tant que taskrunner, par exemple pour compiler le code .scss en .css, minify .js, etc.

Ce workflow est similaire à ce que vous retrouvez avec Sage et Webpack à mon avis.

Pour moi, le plus important, c’est que Underscores et UnderStrap collent vraiment davantage aux templates de pages habituels de WordPress et à tous les autres modèles, structures…

C’est une des raisons pour lesquelles certains développeurs ne l’aiment pas (comparé à Sage par exemple), mais c’est la raison pour laquelle je l’ai retenu.

Mes premiers résultats