mirror of
https://github.com/kmitresse/Compo-Service-Log-Project.git
synced 2026-05-13 17:11:49 +00:00
133 lines
4.5 KiB
Markdown
133 lines
4.5 KiB
Markdown
# Projet CSL
|
|
|
|
[](./LICENSE)
|
|
|
|
> Ce projet utilise les micro-services pour filtrer et collecter des données
|
|
|
|
## Prérequis
|
|
|
|
Pour pouvoir lancer ce projet vous devez avoir installé les outils suivants :
|
|
|
|
- [Docker Desktop](#installation-de-docker-desktop)
|
|
- [Insonmia](#installation-de-insomnia)
|
|
|
|
Assurez-vous d'avoir les ports `3000`, `3306` et `27017` de disponible sur votre machine.
|
|
|
|
### Installation de Docker Desktop
|
|
|
|
Docker Desktop est un outil qui permet de gérer des conteneurs Docker sur votre
|
|
machine.
|
|
Il est disponible pour Windows, MacOS et Linux.
|
|
|
|
A l'installation de Docker Desktop : Docker engine et Docker compose seront
|
|
installés.
|
|
De plus Docker Desktop installe une interface graphique pour gérer les
|
|
conteneurs.
|
|
|
|
Pour installer Docker Desktop sur votre machine vous pouvez suivre les
|
|
instructions sur
|
|
le site officiel de Docker :
|
|
[https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)
|
|
|
|
Une fois Docker Desktop installé, vous pouvez vérifier que tout fonctionne
|
|
correctement
|
|
en ouvrant un terminal et en tapant les commandes suivantes :
|
|
|
|
```sh
|
|
docker --version
|
|
```
|
|
|
|
```sh
|
|
docker-compose --version
|
|
```
|
|
|
|
Vous pouvez également vérifier que Docker Desktop est bien lancé en ouvrant
|
|
l'interface graphique.
|
|
|
|

|
|
|
|
### Installation de Insomnia
|
|
|
|
Insomnia est un outil qui permet de tester des API REST.
|
|
Il est disponible pour Windows, MacOS et Linux.
|
|
|
|
Pour installer Insomnia sur votre machine vous pouvez suivre les instructions
|
|
sur
|
|
le site officiel de Insomnia : https://insomnia.rest/download
|
|
|
|
Une fois Insomnia installé, vous pouvez le lancer et vous obtiendrez cette
|
|
interface :
|
|

|
|
|
|
Vous pouvez ensuite importer le fichier de test `2024-12-17.json` qui se trouve
|
|
dans le dossier `app/test/insomnia/`.
|
|
|
|
Pour cela, cliquez sur le bouton `import`
|
|

|
|
|
|
Cliquez sur `+ File` puis `Choose a file` et sélectionnez le fichier
|
|
`2024-12-17.json` et cliquez sur `open` ou `Ouvrir`.
|
|

|
|
|
|
Enfin cliquez sur `Scan` pour scanner le fichier à importer puis sur `Import`.
|
|

|
|

|
|
|
|
Et voilà vous avez importé le fichier de test ! 🎉
|
|
|
|
Une nouvelle collection est apparue, vous pouvez la sélectionner pour voir les
|
|
requêtes qui ont été importées.
|
|

|
|

|
|
|
|
## Lancez le projet
|
|
|
|
Pour lancer le projet, ouvrez votre terminal et rendez-vous à la racine du
|
|
projet.
|
|
Ensuite exécutez la commande suivante :
|
|
|
|
```sh
|
|
docker-compose -up -d --build
|
|
```
|
|
|
|
Cette commande va construire les images Docker et lancer les conteneurs.
|
|
En effet, cette application contient 3 services :
|
|
|
|
- `app` : expose l'API REST (sur le port `3000`)
|
|
- `mongodb` : contient la base de données qui va stocker les données filtrées (sur le port `27017`)
|
|
- `mariadb`: contient la base de donnée des logs (sur le port `3306`)
|
|
|
|
Vous pouvez vérifier que les conteneurs sont bien lancés en exécutant la
|
|
commande suivante :
|
|
|
|
```sh
|
|
docker ps
|
|
```
|
|
|
|
Vous devriez voir les 3 conteneurs lancés.
|
|
```
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
7d90351a5dd4 compo-service-log-project-app "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3000->3000/tcp app
|
|
f77729fee31b mongo "docker-entrypoint.s…" 2 hours ago Up 2 hours 27017/tcp mongodb
|
|
f59177f86802 mariadb "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp mariadb
|
|
```
|
|
|
|
Vous pouvez également vérifier que les conteneurs sont bien lancés en ouvrant l'interface graphique de Docker Desktop.
|
|

|
|
|
|
Il se peut que le conteneur `app` redémarre plusieurs fois avant de se stabiliser.
|
|
Cela est dû au fait que le conteneur `app` démarre plus vite que les conteneurs `mongodb` et `mariadb`.
|
|
Et celui-ci essaye de se connecter aux bases de données mais elles ne sont pas encore prêtes.
|
|
|
|
## Tester l'API
|
|
|
|
Pour tester l'API rendez-vous sur Insomnia avec la collection importée et
|
|
assurez-vous que les conteneurs sont bien lancés.
|
|
|
|
|
|
|
|
## Autheurs
|
|
|
|
- 👤 [Kevin Mitressé](https://github.com/kmitresse)
|
|
- 👤 [Lucàs Vabre](https://github.com/LucasVbr)
|