Environnement de développement
Prérequis
Logiciels requis
-
Docker Desktop : Version 20.10 ou supérieure
-
Git : Pour cloner le dépôt
-
Éditeur de code : VS Code, PHPStorm, ou autre
Installation
1. Cloner le dépôt
git clone git@github.com:constructions-incongrues/musiqueapproximative.git
cd musiqueapproximative
2. Configuration
Le fichier docker-compose.yml contient la configuration par défaut. Pour personnaliser, créer un fichier .env :
# Base de données
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=musiqueapproximative
MYSQL_USER=app
MYSQL_PASSWORD=app
# PHP
PHP_VERSION=7.4
3. Démarrage
# Démarrage automatique
./start-dev.sh
# Ou manuellement
docker-compose up -d
Le script start-dev.sh effectue :
-
Build des images Docker
-
Démarrage des conteneurs
-
Installation des dépendances
-
Initialisation de la base de données
4. Base de test
La suite de tests n’écrit jamais dans la base de développement. Elle utilise
musiqueapproximative_test, déclarée sous test: dans src/config/databases.yml, et
src/test/bootstrap/database.php refuse de démarrer si la connexion pointe ailleurs :
les fixtures commencent par des TRUNCATE.
Cette base n’est pas créée par start-dev.sh. Une fois l’environnement démarré :
make test-init PROFILE=musiqueapproximative.localhost
La cible crée la base si elle manque, puis y construit le schéma. Elle est rejouable.
|
Le |
Sans cette base, trois scripts de test échouent sur le refus du bootstrap. Le message est explicite, mais la cause est en amont : ce n’est pas un test cassé, c’est une base absente.
Si le message mentionne un DSN contenant le littéral ${DATABASE_NAME_TEST}, c’est que le
.env du profil a été écrit avant que cette variable n’existe. L’ajouter, puis relancer
make configure depuis src/.
Outils de développement
Debugging
Workflow de développement
-
Créer une branche :
git checkout -b feat/ma-fonctionnalite -
Développer : Modifier le code dans
src/ -
Tester : Vérifier dans le navigateur
-
Commiter : Utiliser Conventional Commits
-
Pousser :
git push origin feat/ma-fonctionnalite -
Pull Request : Créer une PR sur GitHub
Troubleshooting
Le site ne s’affiche pas
-
Vérifier que Docker est démarré
-
Vérifier que les conteneurs sont actifs :
docker-compose ps -
Vérifier les logs :
docker-compose logs -
Vérifier le fichier hosts