---
title: 'Le guide ultime du développement web local avec DDEV'
description: "Installer DDEV, démarrer un projet, choisir sa base de données et ouvrir phpMyAdmin : l'environnement de développement PHP et Node sans rien installer sur la machine hôte."
pubDate: 2024-10-23
updatedDate: 2026-10-04
family: 'devops-cloud'
tags: []
heroImage: /images/le-guide-ultime-du-developpement-web-local-avec-ddev.webp
videoUrl: 'https://youtu.be/wLL9CJkARLk'
faq:
  - question: 'Faut-il installer PHP, Composer ou Node.js sur sa machine ?'
    answer: "Non, et c'est l'intérêt principal de DDEV : PHP, Composer, nginx et Node.js vivent dans les conteneurs. Chaque projet embarque sa propre version, et deux projets avec des versions incompatibles cohabitent sans conflit."
  - question: 'Quel fournisseur Docker choisir ?'
    answer: 'Docker CE sur Linux et WSL2, OrbStack ou Colima sur macOS, Docker Desktop sur Windows. Podman est pris en charge de façon expérimentale et ne peut pas se lier aux ports 80 et 443 sur macOS.'
  - question: 'Où sont stockées les bases de données ?'
    answer: "Dans un volume Docker, pas dans le dossier du projet : elles ne sont donc pas versionnées, et un changement de fournisseur Docker peut les faire disparaître. D'où l'intérêt de ddev snapshot ou ddev export-db."
  - question: 'Comment ouvrir phpMyAdmin ?'
    answer: "phpMyAdmin n'est plus dans le cœur de DDEV : il s'installe comme add-on avec ddev add-on get ddev/ddev-phpmyadmin, puis s'ouvre avec ddev phpmyadmin. Adminer est disponible de la même façon."
  - question: 'Quelle est la documentation officielle de DDEV ?'
    answer: "docs.ddev.com. L'ancienne adresse ddev.com/docs renvoie une erreur 404 : ddev.com est le site vitrine, la documentation est sur le sous-domaine docs."
---

DDEV lance un environnement de développement web local complet en quelques minutes. Son argument tient en une phrase : ni PHP, ni Composer, ni nginx, ni Node.js n'ont besoin d'être installés sur ta machine — tout vit dans des conteneurs Docker, projet par projet.

La vidéo en bas de page a été enregistrée sur une version 1.23 : l'outil est aujourd'hui en 1.25.x, et quelques habitudes ont changé, notamment autour de phpMyAdmin.

## Ce que DDEV remplace

Le vrai gain n'est pas la vitesse de démarrage, c'est la fin du « ça marche sur ma machine ». Chaque projet embarque sa version de PHP, ses extensions et son serveur web. Tu peux donc faire tourner un projet en PHP 8.1 et un autre en PHP 8.4 côte à côte, sans rien changer au système.

DDEV ne touche pas à ton code. Il ajoute seulement des fichiers de configuration propres au projet, exclus par `.gitignore`.

## Le prérequis : un fournisseur Docker

DDEV n'embarque pas de moteur de conteneurs, il s'appuie sur celui que tu as déjà. Le choix compte :

- **Linux et WSL2** : Docker CE, le fournisseur recommandé.
- **macOS** : OrbStack ou Colima, Docker Desktop fonctionnant aussi.
- **Windows** : Docker Desktop.

Podman rootless est pris en charge de manière expérimentale. Sur macOS, il ne peut pas se lier aux ports privilégiés 80 et 443 : il faut alors déplacer les ports du routeur DDEV vers des valeurs non privilégiées.

Un détail qui fait échouer le premier `ddev start` sans message clair : le plugin Docker **buildx** doit être en version 0.17.0 ou supérieure. Les fournisseurs avec interface graphique l'incluent, une installation Linux minimale peut l'oublier.

## Installer DDEV

Sur macOS et Linux, le script officiel fait le travail :

```
curl -fsSL https://ddev.com/install.sh | bash
```

Sur macOS, Homebrew fonctionne aussi avec `brew install ddev/ddev/ddev`. Les paquets APT et YUM sont désormais servis depuis `packages.ddev.com`.

## Démarrer un projet

Le parcours tient en trois commandes, depuis le dossier du projet :

```
ddev config
ddev start
ddev launch
```

`ddev config` détecte le type de projet ; tu peux le forcer si l'autodétection se trompe. DDEV fournit des configurations prêtes à l'emploi pour Drupal, WordPress, Craft CMS, Laravel, TYPO3, Shopware, Kirby ou Sulu, ainsi que des types génériques `php` et `nodejs`. Lancer `ddev` sans argument ouvre un tableau de bord interactif dans le terminal.

## Choisir sa base de données

Par défaut, un projet DDEV démarre une base **MariaDB 11.8**, nommée `db`, avec l'utilisateur `db` et le mot de passe `db`, joignable sur l'hôte `db` depuis les conteneurs. D'autres types sont disponibles : MySQL jusqu'à 9.7 et PostgreSQL jusqu'à 18, chacun dans plusieurs versions, y compris des versions anciennes pour les projets legacy.

Point important : la base vit dans un **volume Docker**, pas dans ton dossier de projet. Elle n'est donc ni versionnée, ni sauvegardée avec le code, et une réinitialisation du moteur Docker peut la faire disparaître. Prends l'habitude d'utiliser `ddev snapshot` ou `ddev export-db` avant les manipulations risquées.

## phpMyAdmin est devenu un add-on

C'est le changement le plus visible depuis la vidéo : phpMyAdmin ne fait plus partie du cœur de DDEV. Il s'installe séparément :

```
ddev add-on get ddev/ddev-phpmyadmin
ddev phpmyadmin
```

La commande ouvre phpMyAdmin dans le navigateur sur un port dédié. `ddev describe` liste les ports et les services du projet, et `ddev logs -s phpmyadmin` aide quand l'interface ne répond pas. Si tu préfères une alternative plus légère, `ddev add-on get ddev/ddev-adminer` installe Adminer.

## Brancher un client externe

Pour travailler avec TablePlus, DBeaver, SequelAce ou PhpStorm, DDEV recommande de fixer un port d'hôte stable par projet plutôt que d'accepter un port aléatoire. Des raccourcis existent aussi : `ddev sequelace`, `ddev tableplus`, `ddev dbeaver` ouvrent le client avec la bonne configuration, à condition qu'il soit installé.

Quand tu passeras en production, [créer et déployer une application Symfony 7 sur un VPS avec Portainer](/blog/creer-et-deployer-une-application-web-sur-un-vps-avec-symfony-7-et-portainer/) couvre l'autre bout de la chaîne.

La [documentation officielle de DDEV](https://docs.ddev.com/en/stable/) détaille chaque fournisseur Docker, et la [page de l'add-on phpMyAdmin](https://addons.ddev.com/addons/ddev/ddev-phpmyadmin) précise ses commandes.

## Questions fréquentes

**Faut-il installer PHP, Composer ou Node.js sur sa machine ?**

Non, et c'est l'intérêt principal de DDEV : PHP, Composer, nginx et Node.js vivent dans les conteneurs. Chaque projet embarque sa propre version, et deux projets avec des versions incompatibles cohabitent sans conflit.

**Quel fournisseur Docker choisir ?**

Docker CE sur Linux et WSL2, OrbStack ou Colima sur macOS, Docker Desktop sur Windows. Podman est pris en charge de façon expérimentale et ne peut pas se lier aux ports 80 et 443 sur macOS.

**Où sont stockées les bases de données ?**

Dans un volume Docker, pas dans le dossier du projet : elles ne sont donc pas versionnées, et un changement de fournisseur Docker peut les faire disparaître. D'où l'intérêt de ddev snapshot ou ddev export-db.

**Comment ouvrir phpMyAdmin ?**

phpMyAdmin n'est plus dans le cœur de DDEV : il s'installe comme add-on avec ddev add-on get ddev/ddev-phpmyadmin, puis s'ouvre avec ddev phpmyadmin. Adminer est disponible de la même façon.

**Quelle est la documentation officielle de DDEV ?**

docs.ddev.com. L'ancienne adresse ddev.com/docs renvoie une erreur 404 : ddev.com est le site vitrine, la documentation est sur le sous-domaine docs.
