Comment utiliser DDEV pour démarrer rapidement Craft CMS et d'autres plateformes populaires

Comment utiliser DDEV pour démarrer rapidement Craft CMS et d'autres plateformes populaires

Alex Rollin
Alex Rollin
September 30, 2025
Dernière mise à jour : February 15, 2026
September 30, 2025

Les environnements de développement local peuvent être un véritable casse-tête. Vous êtes probablement déjà passé par là - passer des heures à essayer de faire correspondre les versions PHP, configurer les bases de données et comprendre pourquoi la configuration de votre collègue fonctionne mais pas la vôtre. Notre expérience démontre que les environnements locaux incohérents sont l'une des plus grandes pertes de temps pour les équipes de développement, causant souvent des retards qui auraient pu être consacrés à créer des fonctionnalités.

DDEV change complètement la donne. Cet outil basé sur Docker vous offre des environnements de développement cohérents et reproductibles pour Craft CMS, WordPress, Drupal et des dizaines d'autres plateformes. Dans ce guide, vous apprendrez exactement comment configurer DDEV, démarrer un nouveau projet Craft CMS 5 en quelques minutes et le configurer selon vos besoins spécifiques.

Prérequis

Avant de commencer, vous aurez besoin de trois éléments installés sur votre machine :

1. Docker Desktop - La fondation sur laquelle DDEV fonctionne

  • Téléchargez depuis docker.com/products/docker-desktop/
  • Assurez-vous qu'il fonctionne avant de continuer

2. DDEV lui-même - L'outil que nous utiliserons

  • L'installation varie selon le système d'exploitation
  • Guide complet sur ddev.readthedocs.io/en/stable/#installation

3. Composer - Pour gérer les dépendances PHP

  • Requis pour installer Craft CMS et ses extensions
  • Obtenez-le sur getcomposer.org

Une fois ces éléments installés, vérifiez que tout fonctionne en exécutant :

docker version
ddev version
composer --version

Si les trois commandes retournent des informations de version, vous êtes prêt à commencer.

Étape par étape : Configurer Craft CMS 5 avec DDEV

Parcourons la création d'un tout nouveau projet Craft CMS 5. Ces mêmes principes s'appliquent à d'autres plateformes, que nous couvrirons plus tard.

Étape 1 : Créer le répertoire de votre projet

Commencez par créer un nouveau répertoire pour votre projet et naviguez-y :

mkdir my-craft-site
cd my-craft-site

Étape 2 : Configurer DDEV pour Craft CMS

Maintenant, indiquez à DDEV quel type de projet c'est :

ddev config --project-type=craftcms --docroot=web --create-docroot

Cette commande fait trois choses importantes :

  • Définit le type de projet à craftcms, ce qui indique à DDEV d'utiliser les paramètres spécifiques à Craft
  • Définit web comme votre répertoire public (par défaut pour Craft)
  • Crée le répertoire web s'il n'existe pas déjà

Étape 3 : Démarrer l'environnement DDEV

ddev start

Ceci télécharge les conteneurs Docker nécessaires et les démarre. Vous verrez la sortie montrant la création de la base de données et le démarrage des services. La première fois que vous exécutez ceci, cela peut prendre quelques minutes pendant que Docker télécharge les images requises.

Étape 4 : Installer Craft CMS

Avec DDEV en marche, installez Craft CMS en utilisant Composer :

ddev composer create -y "craftcms/craft"

Ceci télécharge Craft CMS 5 et toutes ses dépendances. Le drapeau -y répond automatiquement "oui" aux invites de Composer concernant la suppression des fichiers existants.

Étape 5 : Compléter l'assistant de configuration

Après que Composer ait terminé, l'assistant de configuration de Craft démarrera automatiquement dans votre terminal. On vous demandera de :

  • Définir votre nom d'utilisateur et mot de passe administrateur
  • Configurer le nom et l'URL de votre site
  • Choisir votre langue préférée

DDEV a déjà configuré votre connexion à la base de données, donc vous n'avez pas à vous soucier de ces détails.

Étape 6 : Accéder à votre nouveau site

Votre site est maintenant prêt ! Accédez-y à :

https://my-craft-site.ddev.site

Ou exécutez simplement :

ddev launch

Ceci ouvre votre navigateur par défaut à la bonne URL.

Configurer d'autres plateformes populaires

Le processus pour d'autres SGC suit le même modèle. Voici des configurations rapides pour les plateformes les plus communes :

WordPress

mkdir my-wordpress && cd my-wordpress
ddev config --project-type=wordpress --docroot=public --create-docroot
ddev start
ddev composer create "johnpbloch/wordpress" .
ddev launch

WordPress utilise public comme racine de document par convention lorsqu'installé via Composer.

Drupal 11

mkdir my-drupal && cd my-drupal
ddev config --project-type=drupal11 --docroot=web --create-docroot
ddev start
ddev composer create "drupal/recommended-project:^11" .
ddev launch

Drupal 11 nécessite PHP 8.2 ou supérieur, ce que DDEV gère automatiquement quand vous spécifiez le type de projet drupal11.

Laravel

mkdir my-laravel-app && cd my-laravel-app
ddev config --project-type=laravel --docroot=public --create-docroot
ddev start
ddev composer create "laravel/laravel:^12" .
ddev launch

Les commandes artisan de Laravel fonctionnent parfaitement dans DDEV en utilisant ddev exec.

Exemples de code et configuration

Comprendre la configuration de DDEV vous aide à personnaliser les environnements selon vos besoins spécifiques. Regardons le fichier de configuration principal et quelques exemples pratiques.

Le fichier de configuration principal

Après avoir exécuté ddev config, vous trouverez un fichier .ddev/config.yaml dans votre projet. Voici à quoi ressemble une configuration typique de Craft CMS :

name: my-craft-site
type: craftcms
docroot: web
php_version: "8.2"
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
database:
  type: mariadb
  version: "10.6"

Vous pouvez modifier ce fichier pour changer les versions PHP, ajouter des noms d'hôte personnalisés ou ajuster les paramètres de base de données.

Ajouter Vite pour la compilation des ressources

Plusieurs projets Craft CMS utilisent Vite pour gérer JavaScript et CSS. Voici comment configurer DDEV pour exécuter Vite automatiquement :

# Ajouter à .ddev/config.yaml
nodejs_version: '20'
web_extra_exposed_ports:
  - name: vite
    container_port: 3000
    http_port: 3000
    https_port: 3001
web_extra_daemons:
  - name: 'vite'
    command: 'npm install && npm run dev'
    directory: /var/www/html

Cette configuration :

  • Installe Node.js 20 dans votre conteneur
  • Expose les ports du serveur de développement de Vite
  • Exécute automatiquement npm install et démarre le serveur de développement

Paramètres PHP personnalisés

Besoin d'ajuster les limites de mémoire PHP ou le temps d'exécution ? Créez .ddev/php/custom.ini :

memory_limit = 512M
max_execution_time = 120
upload_max_filesize = 100M
post_max_size = 100M

DDEV applique automatiquement ces paramètres lorsque vous redémarrez.

Importations et exportations de base de données

Travailler avec des projets existants signifie souvent importer des bases de données. DDEV rend cela simple :

# Importer une base de données
ddev import-db --file=backup.sql.gz

# Exporter la base de données actuelle
ddev export-db --file=backup.sql.gz

# Accéder directement à la base de données
ddev mysql

La commande d'importation gère divers formats incluant .sql, .sql.gz et .zip.

Erreurs courantes à éviter

Nous avons constaté que les développeurs novices avec DDEV rencontrent souvent les mêmes problèmes. Voici comment les éviter :

1. Oublier de démarrer Docker Desktop

DDEV nécessite que Docker soit en marche. Si vous obtenez des erreurs indiquant que Docker n'est pas disponible, vérifiez que Docker Desktop fonctionne dans votre barre d'état système ou barre de menu.

2. Conflits de ports

Si un autre service utilise les ports 80 ou 443, DDEV ne démarrera pas. Vous avez deux options :

Arrêter le service en conflit :

# Sur macOS, arrêter Apache
sudo apachectl stop

# Sur Windows, arrêter IIS
iisreset /stop

Ou changer les ports de DDEV dans .ddev/config.yaml :

router_http_port: "8080"
router_https_port: "8443"

3. Mauvaises informations d'identification de base de données dans .env

DDEV crée automatiquement les informations d'identification de base de données. Utilisez toujours ces valeurs dans votre fichier .env :

DB_SERVER=db
DB_PORT=3306
DB_DATABASE=db
DB_USER=db
DB_PASSWORD=db

Exécutez ddev describe pour voir tous les détails de connexion.

4. Ne pas enregistrer la configuration .ddev

Votre répertoire .ddev devrait être dans le contrôle de version. Cela garantit que tous les membres de votre équipe utilisent des environnements identiques. Ajoutez ceci à votre .gitignore :

.ddev/db_snapshots
.ddev/import-db

Mais enregistrez tout le reste dans .ddev/.

5. Exécuter des commandes en dehors de DDEV

Exécutez toujours les commandes Composer, npm et artisan dans DDEV :

# Incorrect
composer require craftcms/commerce

# Correct
ddev composer require craftcms/commerce

Ceci garantit que vous utilisez la bonne version PHP et avez accès à toutes les dépendances.

Étapes de test et de vérification

Après avoir configuré votre projet, vérifiez que tout fonctionne correctement :

1. Vérifier l'état des services

ddev describe

Ceci affiche tous les services en cours d'exécution, les URL et les informations d'identification de base de données. Tous les services devraient apparaître comme "running".

2. Tester la connexion à la base de données

ddev mysql -e "SHOW TABLES;"

Ceci liste toutes les tables de base de données. Pour une nouvelle installation Craft, vous devriez voir des tables comme craft_elements, craft_users, etc.

3. Vérifier la version PHP

ddev exec php -v

Assurez-vous d'exécuter la version PHP attendue pour votre projet.

4. Tester la fonctionnalité de courriel

DDEV inclut Mailhog pour intercepter les courriels :

https://my-craft-site.ddev.site:8025

Envoyez un courriel test depuis votre application et vérifiez qu'il apparaît dans Mailhog.

5. Vérifier l'accès au site

Essayez d'accéder à votre site via :

  • L'URL HTTPS : https://my-craft-site.ddev.site
  • L'URL HTTP : http://my-craft-site.ddev.site
  • Le port direct si personnalisé : http://localhost:8080

Tous devraient fonctionner, HTTPS étant le défaut.

6. Valider les dépendances Composer

ddev composer validate
ddev composer check-platform-reqs

Ces commandes garantissent que votre composer.json est valide et que toutes les exigences de plateforme sont satisfaites.

Conseils de configuration avancée

Une fois à l'aise avec l'utilisation de base de DDEV, ces techniques avancées peuvent améliorer votre flux de travail :

Utiliser les hooks DDEV

Automatisez les tâches répétitives avec des hooks dans .ddev/config.yaml :

hooks:
  post-start:
    - exec: composer install
    - exec: php craft migrate/all
    - exec: php craft project-config/apply

Ces commandes s'exécutent automatiquement après ddev start.

Ajouter Redis pour la mise en cache

Installez l'extension Redis :

ddev get ddev/ddev-redis

Puis configurez Craft pour l'utiliser dans config/app.php :

'components' => [
    'redis' => [
        'class' => yii\redis\Connection::class,
        'hostname' => 'redis',
        'port' => 6379,
        'database' => 0,
    ],
],

Configurer plusieurs sites

Exécutez plusieurs projets simultanément en garantissant des noms uniques :

# Projet 1
ddev config --project-name=client-site

# Projet 2  
ddev config --project-name=internal-tool

Chacun obtient sa propre URL et base de données.

Partager votre site local

Besoin de montrer à un client votre travail en cours ? Utilisez ngrok :

ddev share

Ceci crée une URL publique qui tunnel vers votre site local. Parfait pour des démos rapides ou tester des webhooks.

Travailler avec des projets existants

Les équipes avec qui nous travaillons rapportent que la migration de projets existants vers DDEV est souvent plus facile que prévu. Voici un flux de travail de migration typique :

1. Cloner votre dépôt

git clone https://github.com/your-org/your-project.git
cd your-project

2. Configurer DDEV

Si le projet a déjà .ddev/config.yaml, exécutez simplement :

ddev start

Sinon, configurez-le :

ddev config --project-type=craftcms --docroot=web

3. Installer les dépendances

ddev composer install
ddev npm install  # si vous avez des outils de build frontend

4. Importer la base de données

Obtenez une sauvegarde de base de données depuis votre environnement de préproduction ou de production :

ddev import-db --file=production-backup.sql.gz

5. Mettre à jour les variables d'environnement

Copiez .env.example vers .env et mettez à jour avec les informations d'identification de base de données de DDEV :

cp .env.example .env
# Éditer .env avec les informations d'identification de DDEV

6. Appliquer la configuration du projet

Pour les projets Craft CMS :

ddev exec php craft project-config/apply

7. Compiler les ressources frontend

Si votre projet utilise des outils de build :

ddev npm run build
# ou
ddev npm run dev  # pour le mode développement

Votre projet existant devrait maintenant fonctionner localement avec DDEV.

Considérations de performance

DDEV fonctionne bien dès le départ, mais vous pouvez le rendre encore plus rapide :

Utiliser Mutagen pour la synchronisation de fichiers (macOS)

Sur macOS, activez Mutagen pour une meilleure performance du système de fichiers :

ddev config --performance-mode=mutagen
ddev start

Ceci accélère considérablement les opérations sur les projets avec de nombreux fichiers.

Allouer suffisamment de ressources Docker

Dans les paramètres Docker Desktop, allouez au moins :

  • 4 Go de RAM (8 Go préférable)
  • 4 processeurs
  • 60 Go d'espace disque

Désactiver les services inutilisés

Si vous n'avez pas besoin de certains services, désactivez-les :

# .ddev/config.yaml
omit_containers: ["ddev-ssh-agent"]

Utiliser des paramètres similaires à la production

Faites correspondre la version PHP et le type de base de données de votre environnement de production :

php_version: "8.2"
database:
  type: mysql
  version: "8.0"

Ceci aide à détecter les problèmes de compatibilité tôt.

Guide de dépannage

Quand les choses tournent mal, voici comment résoudre les problèmes courants :

DDEV ne démarre pas

1. Vérifiez que Docker fonctionne
2. Recherchez les conflits de ports : ddev logs
3. Essayez une réinitialisation complète : ddev poweroff && ddev start

Performance lente

1. Activez Mutagen (macOS) : ddev config --performance-mode=mutagen
2. Augmentez les ressources Docker
3. Excluez node_modules de la synchronisation si vous utilisez Mutagen

Erreurs de connexion à la base de données

1. Vérifiez les informations d'identification avec ddev describe
2. Vérifiez le service de base de données : ddev logs -s db
3. Redémarrez la base de données : ddev restart

Erreurs de mémoire Composer

Exécutez Composer avec une mémoire illimitée :

ddev exec COMPOSER_MEMORY_LIMIT=-1 composer update

Avertissements de certificat SSL

Faites confiance à l'autorité de certification de DDEV :

mkcert -install

Conclusion

DDEV élimine les difficultés du développement local. Au lieu de passer des heures à configurer des environnements, vous pouvez avoir un site Craft CMS 5 fonctionnel en moins de cinq minutes. La cohérence qu'il offre signifie moins de problèmes "ça fonctionne sur ma machine" et une intégration plus facile pour les nouveaux membres de l'équipe.

La flexibilité de l'outil va au-delà du simple démarrage rapide. Que vous travailliez avec Vite pour la compilation de ressources, ayez besoin de Redis pour la mise en cache ou souhaitiez reproduire exactement votre environnement de production, DDEV gère tout cela à travers des fichiers de configuration simples qui vivent directement dans votre projet.

Notre expérience montre que les équipes adoptant DDEV rapportent passer beaucoup moins de temps sur les problèmes d'environnement et plus de temps à réellement créer des fonctionnalités. La capacité de démarrer n'importe quel projet avec juste ddev start change la façon dont les équipes travaillent, surtout lorsqu'elles jonglent entre plusieurs projets.

Configurer DDEV pour vos projets Craft CMS nécessite une configuration initiale, mais l'investissement est rapidement rentabilisé. Si vous évaluez des outils de développement local pour votre équipe ou avez besoin d'aide pour configurer DDEV afin qu'il corresponde à votre environnement de production spécifique, nous pouvons évaluer votre flux de travail actuel et recommander la meilleure configuration pour vos besoins. Nous avons aidé de nombreuses équipes à migrer de divers outils de développement local vers DDEV, en nous assurant que leurs configurations supportent à la fois les projets actuels et la croissance future.

Share this article