Aller au contenu

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 :

Fenêtre de 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

Fenêtre de terminal
docker compose -f docker-compose-dev.yml up

Après quoi, vous aurez accès à l’application sur votre navigateur à l’adresse suivante :

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 :

Fenêtre de terminal
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 :

Fenêtre de terminal
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 :

Fenêtre de 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 :

Fenêtre de terminal
docker system prune -a

Pour supprimer les volumes :

Fenêtre de terminal
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 :

Fenêtre de terminal
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.