Retour au blog

Comment configurer un site WordPress ou Drupal localement avec ddev

2021-12-224 min de lecture

DDEV est un outil open source qui permet de configurer rapidement des sites locaux à l'aide de Docker. Vous n'avez pas besoin de connaître des concepts complexes sur Docker pour pouvoir faire fonctionner vos sites locaux WordPress ou Drupal. Vous pouvez consulter leur documentation officielle ici https://ddev.com/get-started/ et ici https://ddev.readthedocs.io/en/stable/

Les étapes/commandes listées ci-dessous sont celles dont j'ai le plus eu besoin, je déplace donc cette note sur le web comme référence pour moi-même, à l'avenir, ou pour aider d'autres personnes qui pourraient en avoir besoin.

Comment installer DDEV

  1. Installez Homebrew en suivant les étapes sur : https://brew.sh/
  2. Assurez-vous que Docker est installé. Vous pouvez suivre les étapes de ce lien si vous n'êtes pas sûr de la procédure.
  3. Installez ddev (MAC) : brew install drud/ddev/ddev
  4. Vous devez exécuter ddev config une fois par projet pour le configurer. Exécutez cette commande depuis le dossier où vous prévoyez d'avoir tous les fichiers liés au projet. Il vous posera trois questions :
    1. Quel est le nom du site ?
      • Je vous recommande de choisir un mot facile à retenir. Il sera utilisé pour le domaine local que vous devrez utiliser pour ouvrir le site dans le navigateur. Exemple : Si vous choisissez localsite comme nom de projet, vous accéderez au site depuis le navigateur en utilisant https://localsite.ddev.site/ 
    2. Quel est l'emplacement du docroot ?
      1. C'est le dossier où vous avez cloné ou prévoyez de cloner les fichiers du projet. Je recommande de créer un dossier appelé web dans le même dossier où vous exécutez la commande ddev config de l'étape 1. 
    3. Quel type de projet est-ce ? Tel que Drupal, PHP, WordPress, etc.
  5. Vous devez exécuter ddev start pour que le projet soit opérationnel. Vous pouvez exécuter la commande depuis l'extérieur du dossier si vous vous souvenez du nom du projet.
  6. Vous voulez importer une base de données ? Vous pouvez exécuter ddev import-db –file=dumpfile.sql.gz depuis le répertoire du projet. Cela supprimera la base de données avant d'importer la nouvelle sauvegarde de la base de données.
  7. Et si vous avez besoin d'exécuter des commandes composer, drush ou wp-cli ? Vous devriez exécuter ddev ssh
  8. Vous rencontrez une erreur et avez besoin de voir les logs ? Vous devriez exécuter : ddev logs -f
  9. J'ai eu besoin d'exécuter cette commande avant de pouvoir exécuter drush sur certains de mes projets Drupal : ddev composer require drush/drush
  10. Besoin d'obtenir l'URL des sites, le port ou de vérifier si les services sont actifs ? ddev describe vous donnera ces informations.
  11. Si vous avez besoin que vos sites locaux utilisent https, vous devriez exécuter : mkcert -install
  12. Besoin de déboguer du code PHP avec xdebug ? Vous devrez exécuter ddev xdebug pour l'activer. ddev xdebug off le désactivera à nouveau.
  13. Vous êtes sur Mac et vos sites locaux sont très lents, vous devriez exécuter ddev config global –mutagen-enabled et cela activera mutagen globalement. Vous remarquerez immédiatement la différence.
  14. Si vous avez suivi l'étape 12 et que vous avez besoin de mettre à jour de nombreux fichiers (peut-être en mettant à jour des plugins ou des modules ?), mutagen peut être lent à détecter les fichiers mis à jour, vous devrez donc peut-être exécuter ddev mutagen sync pour accélérer le processus de synchronisation.
  15. Besoin de tester votre site avec une version PHP différente, vous pouvez utiliser ddev config –php-version 8.0 8.0 peut être n'importe quelle version PHP dont vous avez besoin.
  16. Pour installer memcached :
    1. Dans la dernière version de ddev, vous devrez exécuter : ddev get drud/ddev-memcached && ddev restart
    2. Pour WordPress, dans le fichier wp-config.php, vous devrez ajouter les lignes suivantes :
/**
 * Paramètres Memcache.
 */
$memcached_servers = [
    'default' => [
        'ddev-VOTRE_NOM_DE_PROJET-memcached:11211',
    ]
];

# remplacez la clé par projet et conservez-la dans git
define( 'WP_CACHE_KEY_SALT', 'random_cache_key_salt' );