Mise en place de l'environnement
Forker le dépôt, lancer la stack Docker (Windows/macOS/Linux), configurer PHPStorm pour Symfony et la base de données Postgres.
Pour le projet Symfony, nous allons tirer parti de PHPStorm et de ses fonctionnalités dédiées à Symfony. Cette fiche regroupe la mise en place complète de votre environnement de développement et les commandes à garder sous la main tout au long du module.
Astuce
La plupart des ateliers du module feront référence à cette fiche. Gardez-la consultable rapidement.
Fork du dépôt Git
Pour les ateliers comme pour l'évaluation, vous aurez à « forker » un dépôt Git.
À savoir
Forker signifie créer une copie personnelle d'un dépôt GitHub sur votre propre compte, ce qui vous permet de modifier le projet sans affecter l'original.
Dépôt à forker : https://github.com/AdrienGras/2025-coda-projects
Pour forker un dépôt :
- Allez sur la page du dépôt GitHub que vous souhaitez forker.
- Cliquez sur le bouton « Fork » en haut à droite de la page.
- Sélectionnez votre compte GitHub comme destination pour le fork.
- Notez l'URL de votre dépôt GitHub.
- Rapportez-la dans le fichier suivant, dans l'onglet correspondant.
Fichier : Annuaire des dépôts Git
Le projet Symfony se trouve dans le sous-dossier 005-bricount du dépôt.
Lancement de la stack Docker
Attention
Si vous aviez déjà un projet en cours, assurez-vous de bien stopper les conteneurs Docker des projets précédents pour éviter les conflits de ports. Voir Changer de projet.
Windows (WSL2)
Sous Windows, Docker tourne via WSL2 ; la procédure du premier lancement est un peu plus longue.
Premier lancement
Tout d'abord, nous allons nous assurer que WSL2 est bien installé et configuré.
- Ouvrez PowerShell en mode administrateur (clic droit sur l'icône PowerShell >
Exécuter en tant qu'administrateur). - Tapez la commande suivante pour vérifier que WSL est installé :
wsl --list --verboseSi Ubuntu n'apparaît pas dans la liste, installez-le :
- Ouvrez le Microsoft Store, recherchez « Ubuntu » et installez la dernière version disponible.
- Une fois installé, lancez Ubuntu depuis le menu Démarrer et suivez les instructions pour créer un utilisateur et un mot de passe.
Maintenant que WSL2 est installé, nous allons cloner le dépôt dans le système de fichiers Linux.
- Ouvrez l'explorateur de fichiers (icône de dossier dans la barre des tâches).
- Dans le panneau de gauche, en bas, repérez « Linux » et dépliez-le.
- Cliquez sur « Ubuntu » pour accéder au système de fichiers Linux.
- Naviguez dans le dossier
home/<votre-nom-d'utilisateur>/. - Si vous n'avez pas de dossier dédié à vos projets, créez-en un puis ouvrez-le.
Puis clonez le dépôt depuis le terminal Ubuntu :
- Depuis le menu Démarrer, recherchez « Ubuntu » et lancez-le.
- Dans le terminal, naviguez jusqu'au dossier créé précédemment. Par exemple :
cd ~/projects- Dans un navigateur, allez sur la page de votre dépôt forké et copiez l'URL (bouton « Code » > « HTTPS »).
- Clonez le dépôt (remplacez
<URL-du-dépôt>par l'URL copiée) :
git clone <URL-du-dépôt>Lancez ensuite la stack Docker :
# placez-vous dans le dépôt puis dans le sous-dossier du projet
cd nom-du-dépôt/005-bricount
# premier lancement : build + attente que les conteneurs soient prêts
docker compose up -d --build --waitVérifiez que tout fonctionne en allant à l'adresse https://localhost:80.
Lancements suivants
- Lancez PHPStorm et ouvrez le projet (voir Ouverture du projet).
- Ouvrez un terminal dans PHPStorm (
View>Tool Windows>Terminal). - Placez-vous dans le sous-dossier du projet puis lancez :
docker compose up -dmacOS / Linux
Placez-vous dans le dossier du projet (ex. 005-bricount) puis lancez la stack :
docker compose up -d --build --waitVérifiez que tout fonctionne en allant à l'adresse http://localhost:80.
À savoir
Si le premier lancement affiche container 005-symfony-bricount-php-1 is unhealthy, arrêtez la
stack avec docker compose down puis relancez-la avec la commande ci-dessus.
Ajustements du fichier docker-compose.yml
À savoir
Ces changements ne sont à faire que la première fois que vous lancez le projet.
Ouvrez le fichier docker-compose.yml à la racine du dossier du projet. Dans la section
services > php > ports, si la notation commence par - name, remplacez-la par :
ports:
- "80:80"
- "443:443"
- "443:443/udp"Enregistrez ensuite le fichier.
Astuce
Si un problème vous empêche d'écrire le fichier, ouvrez un terminal dans PHPStorm
(View > Tool Windows > Terminal) et donnez-vous les droits :
sudo chown -R $USER:$USER .Ouverture du projet
Ouvrez PHPStorm, puis :
- Si vous êtes déjà dans un projet :
File>Open, puis sélectionnez le dossier racine du dépôt >005-bricount. - Si vous n'êtes pas dans un projet :
Open, puis sélectionnez le dossier racine du dépôt >005-bricount.
Sous Windows (WSL2), le dépôt se trouve dans Linux > Ubuntu > home > <votre-nom-d'utilisateur> > <dossier-de-vos-projets>.
Configuration de PHPStorm
Configurer l'interpréteur PHP
Pour éviter d'installer PHP sur votre machine, nous allons utiliser l'interpréteur PHP fourni par Docker.
- Allez dans
File>Settings>Languages & Frameworks>PHP. - Cliquez sur les
...à côté du champCLI Interpreter. - Cliquez sur le
+en haut à gauche pour ajouter un nouvel interpréteur. - Sélectionnez
From Docker, Vagrant, WSL, Remote.... - Sélectionnez
Docker Compose. - Si le champ
Serverest vide, cliquez sur les...à côté, laissez les options par défaut, puis cliquez surOK. - Dans le champ
Configuration file, cliquez sur les..., retirez tout le contenu existant et sélectionnez le fichierdocker-compose.ymlà la racine du projet (005-bricount/docker-compose.yml). - Dans le champ
Service, sélectionnezphp. - Cliquez sur
OKpour valider l'ajout de l'interpréteur. - Cliquez sur
ApplypuisOKpour fermer la fenêtre des paramètres.
Astuce
Si, au moment de sélectionner docker-compose, vous avez une erreur sur le champ name qui
n'est pas reconnu, reportez-vous à la section Ajustements du fichier docker-compose.yml.
À savoir
La configuration de l'interpréteur est à refaire à chaque changement de projet.
Installation des plugins
Pour tirer pleinement parti de l'expérience Symfony, installez plusieurs plugins via
File > Settings > Plugins, puis cherchez et installez :
- Inspection Lens : affiche les erreurs/warnings/etc. au bout de la ligne de code.
- PHP Annotations : ajoute le support des annotations PHP.
- Rainbow Brackets : colore les paires de crochets, accolades et parenthèses.
- Symfony Plugin : support complet de Symfony (services, routes, etc.).
- Twig : support du moteur de templates Twig.
- Ideolog : visualisation facilitée des logs.
- SonarQube for IDE : analyse de la qualité du code.
Actions on Save
Allez dans File > Settings > Tools > Actions on Save et cochez Reformat code et
Optimize imports pour que le code soit automatiquement formaté et les imports optimisés à
chaque sauvegarde.
Accès à la base de données
Lorsque vous aurez besoin d'accéder à la base de données, vous vous connecterez directement à la base PostgreSQL du conteneur Docker depuis PHPStorm.
Vous trouverez les informations de connexion dans le fichier docker-compose.override.yml
(ou docker-compose.yml) à la racine du projet 005-bricount.
- Allez dans l'onglet
Databasede PHPStorm (généralement à droite de l'IDE). - Cliquez sur le
+pour ajouter une nouvelle connexion, de type Postgres. - Renseignez la connexion avec les paramètres trouvés dans le fichier
docker-compose.override.yml. - Cliquez sur
Test Connectionpour vérifier que tout fonctionne. - Cliquez sur
OKpour enregistrer la connexion.
Changer de projet
Vos conteneurs Docker doivent être arrêtés avant de changer de projet, pour éviter les conflits de ports. Chaque stack Docker est dédiée à un seul projet et doit être gérée séparément.
# Rendez-vous dans le dossier du projet précédent
cd chemin/vers/dépôt/00X-projet-précédent
# Arrêtez les conteneurs Docker du projet précédent
docker compose down
# Rendez-vous dans le dossier du nouveau projet
cd ../0YY-nouveau-projet
# Lancez les conteneurs Docker du nouveau projet
docker compose up -d --buildÀ savoir
Sous Windows, pensez aussi à reconfigurer l'interpréteur PHP de PHPStorm sur le
docker-compose.yml du nouveau projet.
Rappels — Git
| Commande | Rôle |
|---|---|
git clone <url-du-depot> | Cloner un dépôt depuis GitHub |
git add <fichier> | Ajouter un fichier au suivi |
git add . | Ajouter tous les fichiers modifiés |
git commit -m "message" | Valider les modifications avec un message descriptif |
git push | Envoyer les modifications vers le dépôt distant |
git pull | (projets en groupe) Récupérer les changements des autres membres |
Rappels — Docker
| Commande | Rôle |
|---|---|
docker compose up -d | Lancer les conteneurs en arrière-plan |
docker compose up -d --build --wait | Premier lancement : build + attente que tout soit prêt |
docker compose down | Arrêter les conteneurs |
docker compose exec <conteneur> bash | Se connecter à un conteneur en cours d'exécution |