Il y a quelques mois j’avais testé Docker pour gérer mes environnements de développement.
L’avantage majeur de Docker est de pouvoir développer en local sur les meme bases techniques du serveur. Avouez que c’est tentant quand on a des sites hébergés chez des prestataires différents ( Même si la plupart pour mon cas sont chez
O2Switch ) avec des versions logicielle des PHP, Mysql, Mariadb différentes.
L’inconvénient majeur de Docker, a mon humble avis, réside dans la complexité de configuration!
Je n’avais jamais réussi a faire fonctionner plusieurs vhost en meme temps!
Avec Lando, c’est simple!
En discutant avec un collègue sur le Slack WordPress francophone, j’ai découvert
Lando.
Pour utiliser Lando, il vous faut tout d’abord installer Docker, puis Lando vient en surcouche. Il va vous faciliter grandement la configuration des différentes images Docker à utiliser pour faire tourner votre environnement.
Des Recettes WordPress!
Lando propose des « Recipe », littéralement des recettes pour les principaux CMS et Frameworks du marché dont bien sur WordPress.
Avec la recette WordPress, Lando va créer un envirronement comprenant PHP, et Mariadb pour faire tourner votre site mais également
wp-cli !
Bref, en quelques secondes de lancement, vous voilà pret a développer sur votre CMS préféré.
Une configuration simplifiée pour Docker!
Voici un exemple du fichier de configuration .lando.yml que vous devrez avoir a la racine de votre projet pour lancer votre instance Lando!
name: test
recipe: wordpress
config:
webroot: .
php: '7.0'
xdebug: true
database: mariadb
services:
pma:
type: phpmyadmin
hosts:
- database
- old-test
mailhog:
type: mailhog
hogfrom:
- appserver
old-test:
type: mariadb
portforward: true
creds:
user: wordpress
password: wordpress
database: old-test
tooling:
composer:
service: appserver
Il s’agit d’un simple fichier texte au format .yml qui sera lu par Lando pour qu’il puisse créer votre environnement.
Noter un « name », celui ci sera utilisé pour créer vos url locales de développement! ainsi que les services que vous désirez créer et dans quelle version!
Ici j’ai choisi un PHP en version 7.0, Mariadb dans sa version stable courante, Phpmyadmin, Mailhog pour « attraper les mails » sortant sans avoir de serveur mail à configurer. On trouve aussi la configuration d’un second serveur de base de données ‘old-test’, l’activation de Xdebug et de Composer!
Lando sur Github