Installation
Pour installer le projet en local, seulement deux conditions à remplir : avoir Git et Docker installé sur votre machine !
Installation de Git et de Docker
Pour installer Git, rendez-vous sur le site officiel de Git et suivez les instructions d’installation en fonction de votre système d’exploitation :
Pour installer Docker, rendez-vous sur le site officiel de Docker et suivez les instructions d’installation en fonction de votre système d’exploitation :
Installation du projet
Une fois Docker installé, vous pouvez cloner le projet depuis le repository Github en copiant cette commande dans votre terminal :
git clone https://github.com/Xenophee/Quizine.git
Ensuite, rendez-vous dans le dossier du projet. De là, plusieurs choix s’offrent à vous. Vous pouvez lancer le projet en mode développement ou en mode production. En fonction de votre choix, vous devrez exécuter la commande suivante :
Mode développement
docker compose -f docker-compose-dev.yml up
Après quoi, vous aurez accès à l’application sur votre navigateur à l’adresse suivante :
- Pour l’interface utilisateur : http://localhost:4200
- Pour l’API : http://localhost:8080
Dans ce contexte, les modifications apportées au code seront automatiquement prises en compte et l’application sera rechargée. Ceci est surtout valable côté front-end. Pour le back-end, il faudra lancer la compilation depuis votre IDE, donc Ctrl + F9
si vous utilisez IntelliJ IDEA. Si elle existe, je n’ai pas encore trouvé la solution pour la recompilation automatique du back-end dans le conteneur Docker.
Mode production
Pour lancer l’application en mode production, vous devez avoir un fichier .env
à la racine du projet. Vous pouvez vous inspirer du fichier .env.example
pour le créer. Après quoi, exécutez la commande suivante :
docker compose -f docker-compose-prod.yml up
Mode d’exécution des tests
Un environnement a été spécialement créé pour l’exécution des tests. Pour les lancer, exécutez la commande suivante :
docker compose -f docker-compose-test.yml up --abort-on-container-exit
Une fois le processus terminé, vous aurez les rapports générés dans un nouveau dossier tests
à la racine du projet.
Vous pouvez consulter les rapports de tests sous forme de fichier HTML en les lançant dans votre navigateur. Vous avez le rapport gradle qui contient les résultats des tests et le rapport Jacoco qui contient la couverture de code.
- Pour le rapport gradle :
/tests/reports/api/tests/test/index.html
- Pour le rapport Jacoco :
/tests/reports/api/jacoco/test/html/index.html
Arrêt du projet
Pour arrêter le projet, il suffit de le stopper manuellement dans Docker Desktop ou de taper la commande suivante dans votre terminal :
docker compose down
Nettoyage des images et des volumes
Pour nettoyer les images et les volumes, vous pouvez les supprimer manuellement dans Docker Desktop ou exécuter les commandes suivantes :
Pour supprimer les images :
docker system prune -a
Pour supprimer les volumes :
docker volume prune -a
Relancer le projet sans nettoyage préalable
Si le projet a été mis à jour et que vous souhaitez le relancer sans supprimer les images et les volumes (ce qui permet de réutiliser les couches existantes pour accélérer la reconstruction), vous pouvez par exemple exécuter la commande suivante en mode développement :
docker compose -f docker-compose-dev.yml up --build
Avec l’ajout de l’option --build
, Docker va reconstruire les images à partir des fichiers Dockerfile. Cela permet de prendre en compte les modifications apportées au code. Attention toutefois, les anciennes images ne seront pas supprimées.