Ce projet a été générer en utilisant Angular CLI version 21.2.2.
Ce projet est une application frontend développée avec Angular. Il est connecté à une API backend Express disponible ici : 👉 https://github.com/marnarox/labo-api-express
L’application permet de gérer et consulter des tournois, avec des fonctionnalités différentes selon que l’utilisateur est connecté ou administrateur.
Ce projet dépend directement de l’API Express.
- Le backend doit être lancé avant le frontend
- La base de données doit être seedée
- Le frontend communique avec l’API via des requêtes HTTP
Il est nécessaire de configurer correctement le fichier .env :
API_URL=http://localhost:PORT👉 Le PORT doit correspondre au port utilisé par le backend Express.
git clone https://github.com/marnarox/labo-angular
cd labo-angularnpm installng serveApplication disponible sur : 👉 http://localhost:4200/
L’application propose :
- un système de login
- un système de register
L’authentification est gérée avec :
- un JWT (JSON Web Token)
- un interceptor Angular pour ajouter automatiquement le token aux requêtes
Plusieurs mécanismes sont en place :
-
Guards Angular → protègent les routes (ex : dashboard admin)
-
JWT Interceptor → ajoute le token aux requêtes HTTP
-
Error Interceptor → gère les erreurs globales
-
Loading Interceptor → gère l’état de chargement
- Affiche la liste de tous les tournois
-
Affiche les informations d’un tournoi
-
Le contenu change selon :
- utilisateur non connecté
- utilisateur connecté
- administrateur
Fonctionnalités :
-
inscription à un tournoi
-
boutons dynamiques selon :
- état du tournoi
- statut utilisateur
Accessible uniquement si connecté en tant qu’administrateur.
Fonctionnalités :
- consulter la liste des tournois
- supprimer des tournois
- accéder à un tournoi pour le démarrer
L’application gère :
- erreurs 404 (page non trouvée)
- erreurs 500 (erreur serveur)
-
L’utilisateur accède à l’application Angular
-
Les données sont récupérées depuis l’API Express
-
Les actions (login, inscription, gestion tournoi) passent par le backend
-
Le frontend adapte l’affichage selon :
- authentification
- rôle utilisateur
- état des tournois
Avant de lancer le projet :
- ✅ Lancer le backend
labo-api-express - ✅ Configurer le
.env - ✅ Vérifier le port de l’API
- ✅ Seeder la base de données
ng serve # lancer le serveur
ng build # build du projet
ng test # tests unitaires (Vitest)- Finition du CSS de la page détail
- Finition du CSS de la filter bar
- Ajout du routage pour l’édition d’un tournoi
- Ajout du listing des membres dans le dashboard
Projet réalisé dans le cadre d’un laboratoire Angular à.