Le WordPress d'aujourd'hui, décodé pour les développeurs

Headless & API

Lando, DDEV ou Local : quel environnement pour démarrer un headless

Comparatif de trois environnements de développement local pour démarrer un projet WordPress API-first, avec un verdict qui dépend surtout de l'équipe en place.

Par WordPress Développement • 20 mars 2023 • 4 min de lecture • Aucun commentaire
Lando, DDEV ou Local : quel environnement pour démarrer un headless

Quel environnement local choisir quand un projet WordPress est pensé dès le départ pour n’être qu’une source de données consommée par une API ? La question s’est posée concrètement sur un projet de plateforme de mise en relation entre propriétaires de vignes et vendangeurs saisonniers, où l’équipe technique comptait quatre développeurs aux habitudes très différentes : deux à l’aise en ligne de commande, deux préférant les interfaces graphiques.

Trois outils ont été testés en conditions réelles pendant une semaine chacun, sur le même projet et avec le même jeu de données : Lando, DDEV et Local. Aucun des trois n’est spécifique au headless, mais leurs différences de philosophie ont un effet direct sur la rapidité à mettre en place un endpoint REST testable et partageable.

Lando : la configuration comme code

Lando repose sur un fichier .lando.yml versionné avec le projet, ce qui signifie que l’environnement entier — version de PHP, de MySQL, ports exposés — est décrit dans un fichier lisible par toute l’équipe et par la pipeline d’intégration continue.

name: vendange-api
recipe: wordpress
config:
  webroot: web
  php: '8.1'
  database: mysql:8.0
services:
  appserver:
    overrides:
      environment:
        WP_ENVIRONMENT_TYPE: local

Le point fort constaté : la commande lando rebuild reconstruit l’environnement à l’identique en quelques minutes, un avantage net quand un développeur rejoint le projet en cours de route et doit obtenir un endpoint REST fonctionnel dès le premier jour.

DDEV : plus rapide à démarrer, moins flexible sur les extras

DDEV suit une logique proche, avec un fichier .ddev/config.yaml généré automatiquement par ddev config. La prise en main a été plus rapide pour les deux développeurs peu habitués au terminal, la commande ddev launch ouvrant directement le site dans le navigateur, avec l’URL de l’endpoint REST affichée dans le terminal.

L'essentiel à retenir : Lando et DDEV reposent tous deux sur Docker, avec une configuration déclarative ; Local privilégie une interface graphique au détriment de la portabilité en équipe ; Le bon choix dépend du nombre de développeurs et de leur aisance avec le terminal

En revanche, ajouter un service additionnel (dans ce projet, un conteneur pour tester un webhook de notification) s’est révélé plus fastidieux avec DDEV qu’avec Lando, dont le système de recipes et de services additionnels est pensé pour ce genre d’extension dès la conception.

Local : confortable seul, limité en équipe

Local, avec son interface graphique, a permis aux deux développeurs les moins à l’aise avec le terminal de démarrer un site WordPress en quelques clics, sans écrire une seule ligne de configuration. Mais dès qu’il a fallu partager une configuration identique entre les quatre postes, la limite est apparue : Local ne propose pas de fichier de configuration versionnable de façon aussi simple que .lando.yml ou .ddev/config.yaml, ce qui a obligé à documenter à la main les réglages à reproduire.

Le tableau comparatif

CritèreLandoDDEVLocal
Configuration versionnéeOui, .lando.ymlOui, .ddev/config.yamlPartielle
Prise en main sans terminalFaibleMoyenneForte
Ajout de services additionnelsAiséPlus rigideLimité
Reproductibilité en équipeTrès bonneTrès bonneFaible

Ce que ce comparatif ne couvre pas

L’hébergement de production n’entre pas dans ce périmètre : aucun des trois outils n’est destiné à faire tourner un site en ligne, ils ne concernent que la phase de développement local. Le choix de l’hébergement final de l’API REST s’est fait indépendamment, sur des critères de coût et de proximité géographique du public visé, sans lien avec l’outil local retenu.

Le meilleur environnement local n’est pas celui qui a le plus de fonctionnalités, c’est celui que toute l’équipe utilisera vraiment sans contourner ses réglages au bout de deux semaines.

Le verdict pour ce projet

L’équipe a finalement retenu Lando, malgré la préférence initiale de deux développeurs pour Local. La raison décisive : la capacité à ajouter facilement le service de test de webhook nécessaire pour valider la notification envoyée aux vendangeurs lors de la publication d’une nouvelle offre, un besoin apparu après les premiers essais et que Local ne permettait pas de couvrir sans complication.

Notre verdict

Pour une équipe homogène et à l’aise avec le terminal, DDEV reste un choix solide et souvent plus rapide à mettre en route. Pour une équipe mixte devant partager une configuration stricte et parfois étendre l’environnement au-delà du simple couple PHP-MySQL, Lando a montré une marge de manœuvre plus large. Local garde sa place pour un développeur seul, pressé de tester une idée sans se soucier de la portabilité.

Laisser un commentaire

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

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi