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

Hébergement & serveurs

Dupliquer un environnement WordPress complet avec Lando pour un audit

Reproduire fidèlement la version de PHP, la base de données et la configuration d'un site client, sans toucher à la production, avant de commencer un audit.

Par WordPress Développement • 23 novembre 2021 • 4 min de lecture • Aucun commentaire
Dupliquer un environnement WordPress complet avec Lando pour un audit

lando start : une seule commande, et un environnement complet — PHP, Nginx, MySQL — se lance en quelques secondes, avec des versions précisément définies dans un fichier de configuration versionné. C’est ce point de départ qui a permis de conduire un audit de performance sur un site client sans jamais exécuter la moindre commande sur son serveur de production.

Un consultant appelé pour un audit se retrouve régulièrement face à une contrainte délicate : comprendre en profondeur le comportement d’un site, y compris en testant des hypothèses de correction, sans disposer d’un accès suffisant à la production, ou sans vouloir prendre le moindre risque sur un environnement qui reste actif pendant l’audit.

Pourquoi Lando plutôt qu’un Docker Compose écrit à la main

Lando s’appuie sur Docker Compose en arrière-plan, mais expose une configuration bien plus concise, pensée spécifiquement pour des projets PHP et WordPress. Un fichier .lando.yml suffit à définir précisément la version de PHP et le moteur de base de données à reproduire :

name: audit-client-immobilier
recipe: wordpress
config:
  php: '7.4'
  webroot: web
  database: mariadb:10.4
  xdebug: false

Cette approche évite d’écrire et de maintenir soi-même un fichier docker-compose.yml complet, tout en conservant la possibilité de personnaliser la configuration si un besoin spécifique se présente en cours d’audit.

Reconstituer l’environnement depuis une sauvegarde du client

La démarche suivie pour ce dossier a consisté à demander au client un export de sa base de données et une archive du dossier wp-content, sans jamais accéder directement au serveur de production. Une fois ces fichiers reçus :

L'essentiel à retenir : Lando encapsule Docker Compose dans un fichier de configuration simple ; Reproduire la version exacte de PHP évite des faux positifs d'audit ; Un environnement jetable élimine le risque sur la production
  1. Initialisation du projet Lando avec la version de PHP confirmée par le client
  2. Importation de la base de données via lando db-import sauvegarde.sql.gz
  3. Copie du dossier wp-content reçu dans l’arborescence locale du projet
  4. Mise à jour de l’URL du site en base via lando wp search-replace, pour pointer vers l’adresse locale
lando wp search-replace 'https://exemple-agence-immobiliere.fr' 'https://audit-client-immobilier.lndo.site' --all-tables

Ce que cet environnement a permis de tester sans risque

Une fois l’environnement local fonctionnel, plusieurs hypothèses ont pu être testées librement, sans le moindre impact sur le site réel du client :

  • Désactivation ciblée d’extensions suspectées de ralentir le site, pour mesurer l’impact réel sur le temps de génération
  • Test d’une montée de version PHP, pour vérifier la compatibilité avant de la recommander au client
  • Reproduction d’une requête de recherche lente identifiée dans les journaux, avec activation du Query Monitor en toute sécurité

Un audit qui s’appuie uniquement sur la lecture de journaux et de code reste toujours partiel. Pouvoir reproduire fidèlement l’environnement et essayer des hypothèses concrètes, sans craindre de casser la production, change complètement la qualité des conclusions rendues au client.

Les limites de cette reproduction

Un environnement Lando local ne reproduit pas certains éléments propres à l’hébergement de production : la configuration exacte du pool PHP-FPM, la latence réseau réelle, ou encore un éventuel cache de niveau CDN devant le site. Ces aspects ont dû être analysés séparément, à partir des journaux et de la configuration transmise par l’hébergeur du client, en complément de l’environnement local.

Détruire l’environnement une fois l’audit terminé

Un environnement jetable ne présente d’intérêt en matière de sécurité que s’il est réellement détruit une fois son usage terminé, plutôt que laissé en fonctionnement indéfiniment sur le poste du consultant. La commande lando destroy supprime les conteneurs et les volumes associés au projet, sans laisser de trace persistante des données du client sur la machine :

lando destroy -y
rm -rf /home/consultant/audits/audit-client-immobilier

Cette étape, ajoutée systématiquement à la fin de chaque mission d’audit, évite l’accumulation d’anciennes copies de bases de données clients sur des postes de travail, un risque souvent négligé une fois la mission officiellement close.

Ce que cette méthode change pour les prochains audits

Disposer d’un gabarit Lando prêt à l’emploi, avec les versions de PHP et de base de données les plus couramment rencontrées chez les clients, réduit désormais le temps de mise en place d’un audit à une douzaine de minutes une fois la sauvegarde reçue. Cette rapidité de mise en œuvre permet de consacrer l’essentiel du temps d’audit à l’analyse elle-même plutôt qu’à la préparation de l’environnement de test.

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