Ce qu’il faut retenir avant de vous lancer
- Un site WordPress en local est une copie qui tourne sur votre ordinateur, utile pour tester sans impact public.
- Local WP convient très bien si vous voulez une prise en main rapide et une interface simple.
- La documentation WordPress met aujourd’hui wp-env en avant pour les développeurs qui veulent un environnement reproductible.
- Une migration locale demande de traiter la base de données avec soin, surtout les URLs et les données sérialisées.
- Le local accélère le travail, mais il ne remplace pas toujours une préproduction pour les mails, les paiements ou les APIs externes.
Ce que change un environnement WordPress en local
Un WordPress en local, c’est une installation qui tourne sur votre machine avec PHP, une base de données et un serveur web simulé. Le site est invisible de l’extérieur, ce qui permet d’expérimenter librement. En pratique, je l’utilise pour trois choses: créer, diagnostiquer et préparer une mise en ligne.Le vrai gain n’est pas seulement le confort. Vous testez plus vite, vous cassez moins de choses et vous gardez le contrôle sur les retours en arrière. C’est particulièrement utile quand on modifie un thème, qu’on installe un plugin sensible ou qu’on prépare une refonte visuelle.
- Développement pour construire un thème, un plugin ou un bloc sans pression.
- Validation pour vérifier qu’une mise à jour de WordPress, de PHP ou d’une extension ne crée pas de régression.
- Préparation pour cloner un site réel avant migration ou mise à jour massive.
La limite, en revanche, c’est que certains services ne se comportent jamais exactement comme en ligne, surtout les courriels, les paiements, les webhooks et certains services tiers. C’est pour cela que je distingue toujours le local de la préproduction, et c’est justement ce qui aide à choisir l’outil adapté.

Choisir l’outil qui colle à votre façon de travailler
Tous les environnements locaux ne servent pas le même usage. Si vous voulez juste ouvrir un site rapidement et travailler sans friction, je ne conseille pas la même chose que pour une équipe de développement qui veut un projet clonable à l’identique. Aujourd’hui, deux options reviennent souvent: une solution orientée interface, comme Local WP, et une approche plus technique, comme wp-env.
| Outil | Atout principal | Limite | Pour qui |
|---|---|---|---|
| Local WP | Création rapide de sites, interface claire, changement de version PHP, WP-CLI et SSL local | Moins orienté automatisation lourde qu’un stack Docker pur | Freelances, agences, débutants avancés, démos client |
| wp-env | Environnement reproductible, proche des pratiques modernes, idéal pour les thèmes et plugins | Demande Docker, Node.js et un peu de ligne de commande | Développeurs qui veulent un cadre stable pour un projet d’équipe |
| XAMPP / MAMP / WAMP | Empilement générique, flexible, utile pour comprendre les briques serveur | Plus de réglages manuels, moins de confort spécifique à WordPress | Apprentissage, projets anciens, besoins PHP particuliers |
Je vois souvent le même arbitrage: Local WP gagne quand on veut aller vite, wp-env gagne quand on veut standardiser. La documentation WordPress met wp-env en avant pour les projets de développement parce qu’il permet de repartir d’un environnement identique d’un poste à l’autre, ce qui évite une bonne partie des écarts de configuration. De mon côté, je garde Local comme choix pragmatique dès qu’il faut montrer quelque chose à un client ou ouvrir un site sans passer par le terminal.
Le bon choix dépend donc surtout de votre niveau de confort technique, du nombre de projets que vous faites tourner et de votre besoin de reproductibilité. Une fois ce point tranché, l’installation devient beaucoup plus simple.
Installer un site local proprement sans perdre du temps
La méthode exacte dépend de l’outil, mais la logique reste la même: installer la pile, créer le site, vérifier la version de PHP et la base de données, puis contrôler que l’administration WordPress répond correctement. Je préfère toujours faire les choses dans cet ordre, parce qu’un environnement bancal dès le départ finit presque toujours par ralentir le reste du projet.La voie la plus simple avec une interface graphique
Avec Local WP, on crée généralement un site en quelques minutes. C’est la voie la plus rapide si vous voulez travailler sur un site vitrine, une maquette ou une copie de production sans gérer les détails serveur.
- Installez l’application locale, puis créez un nouveau site WordPress.
- Choisissez la version de PHP qui se rapproche le plus de votre hébergement cible.
- Définissez l’identifiant administrateur, le mot de passe et le nom du site.
- Ouvrez l’administration et vérifiez que le thème, les plugins et les permaliens chargent correctement.
- Si nécessaire, importez ensuite la base de données et les fichiers du site réel.
La voie la plus propre pour un projet de code
Avec wp-env, la logique est plus technique mais plus prévisible. Il faut Docker et Node.js, puis l’outil installe et lance l’environnement directement depuis le projet. C’est particulièrement adapté si vous développez un thème, un plugin ou des blocs Gutenberg.
- Installez Docker puis Node.js.
- Installez wp-env globalement ou comme dépendance de développement du projet.
- Lancez l’environnement depuis le dossier du projet.
- Ouvrez le site local, puis l’administration sur l’URL fournie par l’outil.
- Activez ou vérifiez le thème et les extensions nécessaires au projet.
Ce qui compte, au fond, n’est pas la méthode la plus élégante, mais celle qui vous permet d’écrire, de tester et de répéter sans friction. Une fois que le local est stable, la vraie question devient celle du passage entre le site en ligne et sa copie locale.
Faire passer un site réel en local sans perdre vos réglages
Quand je clone un site existant, je pense toujours en deux blocs: les fichiers et la base de données. Les fichiers couvrent le thème, les extensions et les médias. La base contient les réglages, les contenus, les menus, les widgets et une partie de la logique du site. Si vous ne traitez qu’un seul des deux, vous n’obtenez qu’un demi-site.Le piège le plus courant vient des URLs. Un site en production pointe vers son domaine public, alors qu’une copie locale fonctionne souvent sur `localhost`, un port particulier ou un nom de domaine local. Il faut donc remplacer les anciennes URLs, mais pas de manière brutale dans un fichier SQL brut si les données sont sérialisées. Une chaîne sérialisée est une donnée encodée avec sa longueur exacte, et un remplacement naïf peut casser des options de thème, des widgets ou certains réglages de plugin.
- Exportez les fichiers du site et la base de données depuis l’hébergement d’origine.
- Importez la base et les fichiers dans votre environnement local.
- Remplacez les URLs avec un outil qui respecte les données sérialisées, ou avec WP-CLI si vous êtes à l’aise avec le terminal.
- Réenregistrez les permaliens pour éviter les erreurs 404 sur les pages internes.
- Vérifiez les médias, les formulaires, les redirections et les liens absolus dans les contenus.
Je vérifie aussi le comportement du SSL local si le projet dépend de scripts externes ou de cookies sécurisés. Ce détail paraît mineur, mais il évite bien des surprises quand on passe ensuite à l’environnement suivant.
Les blocages que je corrige le plus souvent
Un environnement local casse rarement pour une seule raison. Le plus souvent, plusieurs petits écarts s’accumulent: une version de PHP trop ancienne, une extension absente, un cache trop agressif ou une base mal importée. Quand je dépanne un projet, je commence presque toujours par les symptômes visibles, puis je remonte vers la configuration.
| Symptôme | Cause probable | Correction rapide |
|---|---|---|
| Page blanche ou erreur fatale | Version de PHP incompatible, extension manquante, plugin trop ancien | Alignez la version de PHP sur celle de l’hébergement cible et consultez les logs |
| Images cassées | Ancien domaine encore présent dans la base de données | Refaites un search-replace propre en tenant compte des données sérialisées |
| Boucle de connexion | Adresse du site mal définie, HTTPS/HTTP incohérent, cache navigateur | Vérifiez `home` et `siteurl`, puis videz les caches |
| Courriels non envoyés | Le local n’est pas un serveur de mail réel | Utilisez un outil de capture mail ou un SMTP de test |
| Environnement lent | Xdebug activé, trop d’extensions, port déjà occupé, machine saturée | Désactivez ce qui est inutile et réduisez la charge locale |
Ce sont des problèmes simples sur le papier, mais ils coûtent cher quand on les découvre au mauvais moment. La bonne nouvelle, c’est qu’un workflow un peu discipliné les élimine presque tous avant la mise en ligne.
Le workflow local que je recommande pour livrer sans bricoler
Le local ne doit pas être un terrain de jeu isolé du reste du projet. Je préfère un rythme très concret: une copie de travail par projet, une vérification systématique avant chaque gros changement, puis un transfert clair vers la préproduction ou la mise en production. Ce cadre évite le classique “ça marchait chez moi”.
- Gardez une copie locale par site ou par client pour éviter les mélanges de contexte.
- Testez d’abord les mises à jour critiques de WordPress, du thème et des plugins avant de les pousser ailleurs.
- Versionnez le code avec Git, mais ne comptez pas sur lui pour régler proprement la base de données.
- Conservez une préproduction dès que le projet touche au commerce, aux formulaires avancés ou aux intégrations tierces.
- Vérifiez toujours trois points avant de passer au stade suivant: connexion admin, navigation frontale, formulaires ou fonctions métier.
Pour un site vitrine simple, une copie locale bien tenue suffit souvent. Pour une boutique, un site multilingue ou un projet à fort trafic, je garde aussi une préproduction, parce que le local ne reproduit jamais parfaitement le comportement des services externes. C’est cette combinaison qui donne un flux de travail fiable, rapide et sans mauvaises surprises au moment de la mise en ligne.