Tutoriels

Utiliser Lando pour développer ses projets WordPress en local

Je vous ai déjà parlé rapidement de Lando il y a quelques temps…. c’était plus un cri du coeur d’avoir trouvé une solution simple pour utiliser la technologie Docker.

Qu’est ce que Lando ?

Comme je vous expliquais dans mon article précédent, Lando est une sur-couche permettant d’utiliser facilement la technologie Docker.

Pour faire simple, il faut voir Docker comme un outils modulaire ou chaque brique est le composant de votre serveur Web.
Vous aurez donc besoin par exemple, pour faire tourner un WordPress en local d’une brique Apache, d’une brique PHP et d’une brique Mariadb ou Mysql.
Parmi ces différentes briques, il y a des versions différentes. Par exemple PHP7.0 / PHP7.3 .
Pour développer sainement et éviter les mauvaises surprises lors d’une mise en production, il peut être intéressant d’utiliser lors de nos développements les mêmes versions logiciels que celles utilisées par le serveur qui hébergera le site Web au final. Ainsi on réduit les risques de conflits et erreurs.

Le but de Docker est donc de fournir ces différentes briques et de les faire travailler ensemble… sauf que…

Sauf que, comme je le disais dans mon précédent article, il faut paramétrer tout ca… et avoir des connaissances sysadmin que nous n’avons pas tous… heureusement Lando est arrivé

Installer Lando

Le plus dur dans l’installation de Lando est en fait l’installation de Docker qui est assez simple si vous êtes libre comme moi, c’est à dire sur une distribution Linux. C’est un peu plus compliqué si vous êtes prisonnier d’un système privateur tel Windows ou Mac OS. (Pour une fois qu’on a un truc plus simple sous Ubuntu Linux… )

A Lire Aussi:  Comment Contribuer facilement à WordPress

Bref, Docker tourne nativement sous Linux, il faudra ajouter une machine virtuelle pour installer Docker sur Windows ou Mac OS.

Une fois Docker installé, rendez vous sur le site de Lando pour installer la sur-couche qui va mettre en musique tout ça.

Configurer Lando

Je vous disais plus haut que Lando faisait abstraction de la complexité de paramétrage de Docker.

Toute la configuration de votre serveur de développement va tenir en un fichier texte.

Imaginons que nous voulions créer un site WordPress avec pour url https://mon-super-site.lndo.site.

Il suffit de créer un dossier sur votre machine ou vous avez les droits d’écriture et que vous nommeriez du nom que vous voulez: mon-super-site

Dans ce dossier on va ajouter un fichier .lando.yml qui va contenir toute la configuration du serveur de notre site:

Plain Text
.lando.yml

C’est tout! Lando est prêt à fonctionner! et vous prêt à développer!

Décorticons le .lando.yml:

  • Ligne 1: un nom pour votre environnement de développement. Ce nom va servir notament à la construction de l’url de votre projet.
  • Ligne 2: “Recipe” signifie recette en anglais. Lando a mis au point des préconfiguration selon ce que vous aller faire avec. Ici c’est une recette WordPress, elle installera notament wp-cli. Il en existe pour Pantheon, Drupal et bien plus => Lando Recipe
  • Ligne 3: un block config ou vous pouvez spécifiez vos versions logiciel
  • Ligne 7: un block Service ou l’on va lister les services que l’on veut voir fonctionner. ici PhpMyadmin et Mailhog
  • Ligne 16: Composer c’est quand meme pratique quand on travaille dans l’univers PHP.
  • Ligne 19: ce block est facultatif si vous travailler sur un domaine simple. Il peut se révéler très pratique dans le cadre d’un WordPress Multisite en sous-domaine par exemple.
  • Ligne 22: peut etre la partie la plus sympa… effectuer des taches juste après l’import d’une base de donnée… ici on effectue via wp-cli un search & replace pour adapter les url et on désactive l’excellente extension WordPress WP-Rocket car le cache en dev… comment dire 😉
A Lire Aussi:  Publier son extension sur le dépot WordPress grâce aux GitHub Actions!

Ce .lando.yml est assez simple et il existe une multitude d’autre configuration et possibilité pour coller au mieux a vos besoin.

Notez que Lando est orienté pour le développement et fortement déconseillé par ses développeur pour une production

Pour lancer une première fois Lando, il convient de faire un `lando rebuild –y`.

A ce moment, il va créer et télécharger ce dont il a besoin. Cette étape peut être longue selon votre connexion web mais elle ne se fera qu’une fois…

Ensuite pour les prochains lancements un `lando start` dans votre terminal positionné dans votre dossier de travail suffira.

Attention la recette WordPress prépare lando techniquement a recevoir WordPress mais n’installe pas WordPress. Vous effectuerez cette étape d’installation comme vous en avez l’habitude ou bien en utilisant ma méthode wp-cli.

J’utilise Local By Flywheel… ca fait pareil!

Hummm chaque solution à ses avantages et ses inconvénients. Lorsque j’ai décidé de tester et finalement d’adopter Lando, Local By Flywheel n’était pas disponible sous Linux. Ce n’est plus le cas depuis l’été 2019.

J’ai testé (trop) rapidement Local By Flywheel et je n’ai pas réussi a faire fonctionner un WP :-/ (notez le trop).

La seule chose que Flywheel apporte pour mon cas est une GUI (Graphical User Interface) alors que Lando… c’est en ligne de commande… mais sincèrement pour faire lando start ou `lando rebuild –y` ? installer une iunterface qui va forcément utiliser des ressources machine… je n’en ai pas vu l’utilité.

Ne ratez aucun de mes articles, abonnez vous à ma newsletter

(1 mail par mois s'il y a du nouveau contenu)

A Propos de l'auteur

Avatar - Sebastien Serre

Sebastien Serre

Passionné par le web depuis la fin des années 1990, j'ai développé au fil des ans des compétences en matière de création web. Créant des sites internet sous WordPress depuis 2006 et développant exclusivement sur Wordpress depuis 2014. Je créerai le site ou l'extension WordPress dont vous avez besoin. Développeur d'extensions, Contributeur au Core, Modérateur sur le forum WPFR, responsable de traduction WordPress et orateur lors de WordCamp, ma vie est rythmée par WordPress.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

nunc risus. justo efficitur. non commodo accumsan Phasellus in felis ipsum