Pourquoi j’ai remplacé Local WP par Lando
Table des matières
J’ai longtemps utilisé Local WP pour développer mes sites WordPress à Pau. Simple, rapide, sans prise de tête. Mais dès qu’on sort du cadre WordPress pur — PrestaShop, configuration PHP précise, correspondance exacte avec le serveur de production — Local WP devient un frein. Lando m’a permis de résoudre ces limites une bonne fois pour toutes.
Pourquoi j’ai quitté Local WP
Local WP est un excellent outil pour débuter. L’interface est claire, l’installation d’un site WordPress prend trente secondes. Mais en production, mes sites tournent sur des serveurs avec des configurations précises — PHP 8.1, MariaDB 10.6, nginx. Local WP ne permet pas de reproduire ça fidèlement.
Autre limitation concrète : je travaille aussi bien sur WordPress que sur PrestaShop. Local WP ne supporte pas PrestaShop nativement. J’utilisais XAMPP en parallèle — deux outils, deux logiques, deux sources de bugs. C’était ingérable sur des projets en simultané.
Lando résout ces deux problèmes d’un coup. C’est un outil basé sur Docker qui permet de définir, projet par projet, la stack exacte dont on a besoin — version PHP, moteur de base de données, serveur web, services additionnels. Le tout dans un fichier de configuration de dix lignes.
Installation de Lando
Sur Linux et macOS, l’installation se fait via un script shell. Ouvrez un terminal et lancez :
/bin/bash -c "$(curl -fsSL https://get.lando.dev/setup-lando.sh)"
Le script détecte votre architecture, télécharge la bonne version et installe Lando dans ~/.lando/bin. Ajoutez --syslink pour créer un lien symbolique dans /usr/local/bin et utiliser lando directement depuis n’importe quel dossier.
Pour installer une version précise — utile si votre équipe doit travailler sur la même version :
LANDO_VERSION=3.23.11 LANDO_INSTALLER_SYSLINK=1 \
/bin/bash -c "$(curl -fsSL https://get.lando.dev/setup-lando.sh)"
La documentation officielle détaille toutes les options pour Linux et macOS. Une fois installé, vérifiez que tout fonctionne :
lando version
La recette WordPress avec .lando.yml
Chaque projet Lando est défini par un fichier .lando.yml à la racine du dossier. Pour un projet WordPress correspondant aux specs de mes serveurs de production :
name: mon-site-wordpress
recipe: wordpress
config:
php: '8.1'
webroot: .
database: mariadb:10.6
xdebug: false
Depuis le dossier du projet dans le terminal :
lando start
Lando télécharge les images Docker et démarre les conteneurs. À la première utilisation, comptez quelques minutes selon votre connexion. Les fois suivantes, c’est quasi-instantané.
Lando intègre WP-CLI nativement. Pour installer WordPress directement depuis le terminal :
lando wp core download --locale=fr_FR
lando wp core install --url=mon-site-wordpress.lndo.site --title="Mon Site" --admin_user=admin --admin_password=admin --admin_email=contact@monsite.fr
Le site est accessible sur mon-site-wordpress.lndo.site avec HTTPS local activé automatiquement. C’est l’un des avantages de Lando sur XAMPP ou Laragon : le certificat SSL local est généré sans manipulation.
Recette PrestaShop
PrestaShop n’a pas de recette dédiée dans Lando, mais la recette lamp couvre parfaitement les besoins. Voici la configuration que j’utilise, avec phpMyAdmin intégré :
name: mon-site-prestashop
recipe: lamp
config:
php: '8.1'
webroot: .
database: mariadb:10.6
services:
phpmyadmin:
type: phpmyadmin
hosts:
- database
Après lando start, téléchargez l’archive PrestaShop depuis prestashop.com, décompressez-la dans le dossier du projet et ouvrez l’URL Lando dans le navigateur. L’assistant d’installation vous demandera les identifiants de base de données :
- Serveur : database
- Utilisateur : lamp
- Mot de passe : lamp
- Base de données : lamp
En moins de dix minutes, j’ai un back-office PrestaShop fonctionnel, avec la même version PHP et le même moteur de base de données qu’en production. Aucun écart possible.
Zéro surprise en production grâce à Lando
C’est là que Lando change vraiment la donne. Avec Local WP, je développais sur une stack figée, sans contrôle sur les versions. Le site fonctionnait en local, puis j’avais des surprises en production — une extension PHP absente, une version MariaDB incompatible, un comportement nginx différent d’Apache.
Avec Lando, je configure le .lando.yml pour correspondre exactement aux specs du serveur cible. PHP 8.1 sur le serveur ? PHP 8.1 dans Lando. Nginx en production ? Je remplace Apache dans la recette. MariaDB 10.6 ? Une ligne dans le fichier de configuration.
Le résultat : zéro surprise à la mise en ligne. Ce qui fonctionne en local fonctionne en production. Pour des projets clients où chaque heure de débogage post-déploiement est une heure non facturée, c’est un gain réel et mesurable.
Cette rigueur technique, je l’applique sur tous mes projets — qu’il s’agisse d’un site vitrine WordPress pour un artisan ou une PME à Pau, ou d’un site e-commerce PrestaShop pour une marque qui vend à l’international. L’environnement de développement fait partie intégrante de la qualité livrée au client.
Les commandes Lando à connaître
lando start— démarre les conteneurs du projetlando stop— arrête les conteneurs sans les supprimerlando destroy— supprime les conteneurs et la base de donnéeslando ssh— ouvre un shell dans le conteneur PHPlando db-import dump.sql— importe une base de données depuis un fichier SQLlando wp— accès direct à WP-CLI (projets WordPress)lando composer— accès à Composer dans le conteneur