add prerequisites part and feedbacks from our teacher
This commit is contained in:
@@ -16,6 +16,20 @@ L’application a pour objectifs principaux de :
|
|||||||
- Offrir aux responsables un tableau de bord pour suivre la participation et les besoins en ressources humaines.
|
- Offrir aux responsables un tableau de bord pour suivre la participation et les besoins en ressources humaines.
|
||||||
- Centraliser les informations et la communication autour des projets associatifs.
|
- Centraliser les informations et la communication autour des projets associatifs.
|
||||||
|
|
||||||
|
## Prérequis
|
||||||
|
|
||||||
|
Comme notre architecture se base sur l'utilisation de Docker, les seules prérequis pour la machine sur laquelle vous souhaitez installer cette application sont :
|
||||||
|
- [Docker](https://www.docker.com/)
|
||||||
|
- [Git](https://git-scm.com/)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Pour installer ce projet il vous suffit de cloner le dépôt avec la commande suivante :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <adresse du dépôt>
|
||||||
|
```
|
||||||
|
|
||||||
## Initialisation du projet
|
## Initialisation du projet
|
||||||
|
|
||||||
### 1. Configuration du fichier `.env` principal
|
### 1. Configuration du fichier `.env` principal
|
||||||
@@ -25,7 +39,7 @@ L’application a pour objectifs principaux de :
|
|||||||
3. Renseignez les variables suivantes :
|
3. Renseignez les variables suivantes :
|
||||||
|
|
||||||
| Variable | Description |
|
| Variable | Description |
|
||||||
| --------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `BACKEND_GIT_REPO` | URL HTTPS du dépôt backend sans le préfixe `https://` (ex : `gitlab.com/user/repo-backend.git`) |
|
| `BACKEND_GIT_REPO` | URL HTTPS du dépôt backend sans le préfixe `https://` (ex : `gitlab.com/user/repo-backend.git`) |
|
||||||
| `FRONTEND_GIT_REPO` | URL HTTPS du dépôt frontend sans le préfixe `https://` |
|
| `FRONTEND_GIT_REPO` | URL HTTPS du dépôt frontend sans le préfixe `https://` |
|
||||||
| `BACKEND_GIT_BRANCH` | Branche de votre dépôt backend à utiliser (ex : `main`, `dev`) |
|
| `BACKEND_GIT_BRANCH` | Branche de votre dépôt backend à utiliser (ex : `main`, `dev`) |
|
||||||
@@ -53,13 +67,13 @@ De plus, un utilisateur administrateur est automatiquement créé avec les infor
|
|||||||
- **Mot de passe :** `admin`
|
- **Mot de passe :** `admin`
|
||||||
- **Numéro de téléphone :** `0909090909`
|
- **Numéro de téléphone :** `0909090909`
|
||||||
|
|
||||||
> Il est bien sûr possible de modifier ces valeurs dans le fichier ``docker/php/.env`` avant le premier lancement du seeder, en utilisant les variables : ``ADMIN_NAME``, ``ADMIN_LASTNAME``, ``ADMIN_MAIL``, ``ADMIN_PASSWORD``et ``ADMIN_PHONE_NUMBER``
|
> Il est bien sûr possible de modifier ces valeurs dans le fichier `docker/php/.env` avant le premier lancement du seeder, en utilisant les variables : `ADMIN_NAME`, `ADMIN_LASTNAME`, `ADMIN_MAIL`, `ADMIN_PASSWORD` et `ADMIN_PHONE_NUMBER`
|
||||||
|
|
||||||
### 3. Note importante
|
### 3. Note importante
|
||||||
|
|
||||||
> ⚠️ Si vous êtes sous **Windows**, assurez-vous que tous les fichiers `.sh` utilisent des fins de ligne **LF** et non **CRLF**, sous peine d’erreurs lors de l’exécution des scripts.
|
> ⚠️ Si vous êtes sous **Windows**, assurez-vous que tous les fichiers `.sh` utilisent des fins de ligne **LF** et non **CRLF**, sous peine d’erreurs lors de l’exécution des scripts.
|
||||||
|
|
||||||
## Installation et lancement
|
## Lancement
|
||||||
|
|
||||||
Une fois la configuration terminée :
|
Une fois la configuration terminée :
|
||||||
|
|
||||||
@@ -70,16 +84,15 @@ Une fois la configuration terminée :
|
|||||||
```bash
|
```bash
|
||||||
docker compose down -v
|
docker compose down -v
|
||||||
```
|
```
|
||||||
|
|
||||||
> Arrête et supprime les conteneurs existants ainsi que les volumes associés.
|
> Arrête et supprime les conteneurs existants ainsi que les volumes associés.
|
||||||
> Cette étape permet de repartir sur une base propre.
|
> Cette étape permet de repartir sur une base propre.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
compose up --build -d
|
docker compose up --build -d
|
||||||
```
|
```
|
||||||
|
|
||||||
> Reconstruit les images Docker et démarre l’ensemble des services en arrière-plan.
|
> Reconstruit les images Docker et démarre l’ensemble des services en arrière-plan.
|
||||||
|
|
||||||
|
|
||||||
## Point technique
|
## Point technique
|
||||||
|
|
||||||
### 1. Le nommage
|
### 1. Le nommage
|
||||||
@@ -134,7 +147,8 @@ La gestion des erreurs est assurée à plusieurs niveaux :
|
|||||||
Le débogage a été réalisé grâce à plusieurs outils et méthodes :
|
Le débogage a été réalisé grâce à plusieurs outils et méthodes :
|
||||||
- Utilisation des outils de développement du navigateur (console, réseau)
|
- Utilisation des outils de développement du navigateur (console, réseau)
|
||||||
- Tests des routes API avec Bruno
|
- Tests des routes API avec Bruno
|
||||||
- Logs côté backend pour analyser le comportement du serveur
|
- Logs côté docker et backend pour analyser le comportement du serveur
|
||||||
|
- Par exemple un membre de notre groupe rencontré quelques problèmes lors du lancement des conteneurs docker. Il a donc accédé aux logs du conteneur en question, qui indiquait un problème de clonage du repo git : `unable to access to {url du depot git}` (cela peut être du a un `Personal Access Token` expiré, ou une mauvaise connexion internet)
|
||||||
- Tests manuels réguliers lors du développement
|
- Tests manuels réguliers lors du développement
|
||||||
|
|
||||||
### 7. L'architecture
|
### 7. L'architecture
|
||||||
@@ -154,6 +168,9 @@ Notre environnement de déploiement repose sur plusieurs conteneurs Docker :
|
|||||||
- **Backup** : conteneur dédié à la sauvegarde de la base de données
|
- **Backup** : conteneur dédié à la sauvegarde de la base de données
|
||||||
- **Serveur WebSocket (Laravel Reverb)** : gestion des communications en temps réel
|
- **Serveur WebSocket (Laravel Reverb)** : gestion des communications en temps réel
|
||||||
|
|
||||||
|
> Un schéma du fonctionnement global de l'application est disponible dans le dossier final de rendus.
|
||||||
|
|
||||||
|
|
||||||
### 8. Concepts de programmation
|
### 8. Concepts de programmation
|
||||||
|
|
||||||
Nous avons appliqué plusieurs concepts de programmation :
|
Nous avons appliqué plusieurs concepts de programmation :
|
||||||
@@ -168,7 +185,7 @@ Cette conversion permet :
|
|||||||
- Moins d’erreurs grâce au typage statique.
|
- Moins d’erreurs grâce au typage statique.
|
||||||
- Un code plus lisible et documenté avec des interfaces claires.
|
- Un code plus lisible et documenté avec des interfaces claires.
|
||||||
- Une meilleure collaboration grâce à des types explicites.
|
- Une meilleure collaboration grâce à des types explicites.
|
||||||
Les interfaces TypeScript sont regroupées dans des fichiers dédiés, ce qui centralise les définitions et simplifie les mises à jour.
|
Les interfaces TypeScript sont regroupées dans des fichiers dédiés, ce qui centralise les définitions et simplifie les mises à jour.
|
||||||
|
|
||||||
|
|
||||||
### 9. Tests unitaires
|
### 9. Tests unitaires
|
||||||
@@ -185,7 +202,7 @@ Nous avons donc choisi de nous concentrer sur quelques cas représentatifs, afin
|
|||||||
|
|
||||||
Dans notre projet, l’intégration continue repose sur les outils et pratiques utilisés tout au long du développement.
|
Dans notre projet, l’intégration continue repose sur les outils et pratiques utilisés tout au long du développement.
|
||||||
|
|
||||||
Nous avons appliqué les principes de l’intégration continue de la manière suivante :
|
Nous avons mis en place tous les outils qui permettent à termes l'intégration continu de l'application :
|
||||||
- Utilisation de Git pour gérer les versions du projet et intégrer régulièrement les modifications de chaque membre de l’équipe
|
- Utilisation de Git pour gérer les versions du projet et intégrer régulièrement les modifications de chaque membre de l’équipe
|
||||||
- Utilisation de Docker pour garantir un environnement de développement et de déploiement identique et reproductible
|
- Utilisation de Docker pour garantir un environnement de développement et de déploiement identique et reproductible
|
||||||
- Tests réguliers des fonctionnalités à chaque ajout de code (tests manuels et tests API avec Bruno)
|
- Tests réguliers des fonctionnalités à chaque ajout de code (tests manuels et tests API avec Bruno)
|
||||||
|
|||||||
Reference in New Issue
Block a user