Aller au contenu principal

Symfony avec DDEV

Installation d'un projet Symfony avec DDEV

DDEV est un outil open-source qui simplifie la configuration d'environnements de développement local.

1. Installer DDEV

Tout d'abord, installez DDEV à partir du site officiel : https://ddev.com/get-started/

  • Installer WSL2 avec Ubuntu

    Ouvrez PowerShell en tant qu'administrateur et exécutez la commande suivante :

    wsl --install

    Si l'erreur Le décodage du contenu a échoué s'affiche

    Si, lors de l'installation du Sous-système Windows pour Linux, l'erreur Le décodage du contenu a échoué s'affiche, exécutez la commande suivante, dans PowerShell :

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

    Redémarrez votre ordinateur après l'installation.

    astuce

    Une nouvelle fenêtre s'affiche :

    Attendre...

    puis saisir le username = etudiant et le mot de passe.

    Vous êtes ensuite automatiquement connecté à la machine Ubuntu :

    Retournez dans PowerShell, puis exécutez la commande :

    wsl -l -v
    • Assurez-vous qu'Ubuntu est listé et en version 2.

    • Assurez-vous que la virtualisation est activée dans le BIOS de votre ordinateur

    Si l'erreur Le sous-système Windows pour Linux n'a pas de distributions installées. s'affiche

    Si, lors de l'installation du Sous-système Windows pour Linux, l'erreur Le sous-système Windows pour Linux n'a pas de distributions installées. s'affiche, exécutez la commande suivante, dans PowerShell :

    wsl --unregister Ubuntu
    wsl --install -d Ubuntu

  • Installer DDEV

    Exécutez le script d'installation suivant dans PowerShell en tant qu'administrateur :

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ddev/ddev/master/scripts/install_ddev_wsl2_docker_inside.ps1'))

    Ce script automatise l'installation de DDEV et de ses dépendances, y compris Docker.

    Attendre...

    Saisissez le mot de passe de l'utilisateur etudiant (préalablement saisi).

  • Vérifier l'installation

    Dans Ubuntu ou dans l'Invite de commandes de Windows, exécutez la commande :

    ddev --version

    Cela devrait afficher la version de DDEV installée.

    astuce

    Si la commmande ddev n'est pas reconnue, il suffit de ré-ouvrir la fenêtre de l'Invite de commandes de Windows.

2. Cloner le projet

Ouvrez le dossier de vos Documents puis ouvrez une Invite de commandes Windows (à l'aide de la commande cmd saisie dans la Barre d'adresse).

Ensuite, clonez le projet Symfony depuis votre dépôt Git :

git clone <URL_DU_REPO> mon-projet-symfony
code mon-projet-symfony
astuce

Une fois que vous avez ouvert le code source de votre projet dans *VSCode, vous pouvez afficher un onglet de Terminal avec le raccourci clavier CTRL + I.

3. Configurer DDEV

Initialisez DDEV dans le répertoire du projet :

ddev config --project-type=php --docroot=public --create-docroot
Si l'erreur unable to run 'docker' s'affiche

Si l'erreur unable to run 'docker' s'affiche, cela signifie que vous n'avez pas Docker installé dans votre ordinateur.

Voici les étapes pour installer "Docker Desktop" sur Windows :

  1. Téléchargez "Docker Desktop" depuis le site officiel et suivez les instructions d'installation.

  2. Une fois installé, ouvrez "Docker Desktop" pour voir l'interface graphique qui montre les conteneurs en cours d'exécution.

Personnaliser la configuration DDEV

Éditez le fichier .ddev/config.yaml pour ajuster les versions de PHP et MySQL selon les besoins du projet.

Par exemple si votre projet a besoin de PHP 8.1 ou supérieur :

php_version: "8.1"
mysql_version: "8.0"
info
  • Utilisez --project-type=php lors de la configuration de DDEV pour un projet Symfony.
  • Assurez-vous que le docroot est défini sur public, car c'est le répertoire Web par défaut pour Symfony.
  • Ajustez les versions de PHP et MySQL dans le fichier de configuration DDEV selon les besoins de votre projet.


4. Démarrer l'environnement DDEV

Lancez l'environnement DDEV :

ddev start

5. Installer les dépendances

Installez les dépendances du projet avec Composer :

ddev composer install

6. Configurer l'environnement Symfony

attention

Pour utiliser la console Symfony, préfixez vos commandes avec ddev exec.

Par exemple : ddev exec bin/console cache:clear.

Copiez le fichier .env en .env.local et ajustez les paramètres si nécessaire :

ddev exec cp .env .env.local

Éditez .env.local et modifiez la configuration de la base de données afin que la variable d'environnement DATABASE_URL ressemble à ceci :

DATABASE_URL="mysql://db:db@db:3306/db?serverVersion=8.0"
Créez la base de données si elle n'existe pas

ddev exec bin/console doctrine:database:create

Si erreur "bin/console: Permission denied"

  • ddev exec chmod 755 bin/console

7. Exécuter les migrations

S'il y a des migrations, exécutez-les :

ddev exec bin/console doctrine:migrations:migrate

8. Charger les fixtures (si nécessaire)

Si vous avez des fixtures, chargez-les :

ddev exec bin/console doctrine:fixtures:load

9. Compiler les assets

Compilez les assets si nécessaire (selon votre configuration front-end) :

ddev exec yarn install # ou npm install
ddev exec yarn build # ou npm run build
Si erreur "Couldn't find a package.json file in "/var/www/html""

Cette erreur indique qu'il n'y a pas d'assets à construire.

Dans ce cas pour pouvez sautez l'étape "Compiler les assets".

10. Vérifier l'installation

Ouvrez le projet dans votre navigateur :

ddev launch

Notes supplémentaires

  • Assurez-vous que tous les services requis (comme Mailer) sont correctement configurés dans votre .env.local.
  • Si vous rencontrez des problèmes de permissions, vous pouvez utiliser ddev exec pour exécuter des commandes avec les bonnes permissions.
  • Pour utiliser la console Symfony, préfixez vos commandes avec ddev exec, par exemple : ddev exec bin/console cache:clear.

Votre projet Symfony devrait maintenant être opérationnel dans l'environnement DDEV.

astuce

Pour afficher les informations du projet (par exemple pour se connecter à la base de données dans le conteneur Docker), il suffit d'exécuter la commande :

ddev describe

Vous pouvez commencer à développer et à personnaliser votre application selon vos besoins.