Cas d'utilisation — Administration¶
Cas d'utilisation (Use Cases) de l'espace d'administration Primatch. Chaque UC décrit un scénario fonctionnel complet avec ses préconditions, son flux principal et ses alternatives.
UC-ADMIN-001 · Consulter le tableau de bord¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
Flux principal :
- L'administrateur accède à l'espace admin.
- Le système affiche le tableau de bord avec les KPIs en temps réel.
- Les courbes d'évolution des inscriptions et des parties sont affichées.
- La liste des clubs en attente de validation est visible.
- La distribution des joueurs par niveau est affichée.
Flux alternatifs :
- Aucun club en attente : Le message « Aucun club en attente » est affiché.
- Clic sur un club en attente : Navigation vers la page de gestion des clubs.
- Clic sur « Voir la file » : Navigation vers la page de gestion des clubs.
UC-ADMIN-010 · Gérer les niveaux de jeu¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
UC-ADMIN-010a · Lister les niveaux¶
Flux principal :
- L'administrateur navigue vers « Niveaux » dans la sidebar.
- Le système affiche la liste de tous les niveaux triés par
sort_order. - Pour chaque niveau : nom, plage de valeurs
[min – max]. - Le pied de page affiche le nombre total de niveaux actifs et la plage de compétence couverte.
UC-ADMIN-010b · Créer un niveau¶
Flux principal :
- L'administrateur clique sur « Ajouter un niveau ».
- Le formulaire de création s'ouvre avec les champs : nom, valeur min, valeur max.
- L'administrateur remplit les champs et valide.
- Le système crée le niveau et rafraîchit la liste.
Flux alternatifs :
- Chevauchement de plage : Le serveur rejette la création (erreur 422).
UC-ADMIN-010c · Modifier un niveau¶
Flux principal :
- L'administrateur clique sur l'icône d'édition d'un niveau.
- Le formulaire de modification s'ouvre pré-rempli.
- L'administrateur modifie les champs et valide.
- Le système met à jour le niveau.
UC-ADMIN-010d · Supprimer un niveau¶
Flux principal :
- L'administrateur clique sur l'icône de suppression d'un niveau.
- Le système supprime le niveau définitivement.
- La liste est rafraîchie.
UC-ADMIN-010e · Restaurer les défauts¶
Flux principal :
- L'administrateur clique sur « Restaurer les défauts ».
- Le système supprime tous les niveaux existants.
- Les niveaux par défaut sont recréés depuis le seeder.
- La liste est rafraîchie.
Opération destructrice
La restauration des défauts supprime tous les niveaux personnalisés et peut affecter le niveau attribué aux joueurs existants.
UC-ADMIN-020 · Gérer les utilisateurs¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
UC-ADMIN-020a · Rechercher des utilisateurs¶
Flux principal :
- L'administrateur navigue vers « Utilisateurs ».
- La liste paginée de tous les utilisateurs est affichée.
- L'administrateur saisit un terme de recherche (nom, email).
- La liste se filtre en temps réel.
Flux alternatifs :
- Filtrage par rôle : L'administrateur clique sur un bouton de filtre (Tous, Joueur, Gestionnaire, Admin).
UC-ADMIN-020b · Consulter le détail d'un utilisateur¶
Flux principal :
- L'administrateur clique sur l'icône de visualisation d'un utilisateur.
- Un panneau latéral s'ouvre avec les informations détaillées :
- Nom complet, email, rôle, ville
- Niveau de jeu, score de fiabilité
- Statistiques (parties jouées, victoires, défaites)
- Date d'inscription
- L'administrateur ferme le panneau en cliquant sur l'icône de fermeture.
UC-ADMIN-030 · Gérer les clubs¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
UC-ADMIN-030a · Lister et filtrer les clubs¶
Flux principal :
- L'administrateur navigue vers « Clubs ».
- La liste paginée des clubs est affichée avec leur statut (badge couleur).
- L'administrateur filtre par onglets : « Tous les clubs », « En attente », « Suspendus ».
UC-ADMIN-030b · Approuver un club¶
sequenceDiagram
actor A as Admin
participant F as Frontend
participant B as Backend
A->>F: Clic "Valider" sur un club en attente
F->>B: POST /api/v1/admin/clubs/{id}/approve
B-->>F: 200 { message: "Club approuvé" }
F->>F: Rafraîchit la liste des clubs
F-->>A: Club affiché avec statut "Validé" Flux principal :
- L'administrateur clique sur « Valider » pour un club en attente.
- Le système envoie la requête d'approbation.
- Le statut du club passe à
validated. - La liste se rafraîchit automatiquement.
UC-ADMIN-030c · Rejeter un club¶
Flux principal :
- L'administrateur clique sur « Rejeter » pour un club en attente.
- Le système envoie la requête de rejet.
- Le statut du club passe à
suspended.
UC-ADMIN-030d · Suspendre un club¶
Flux principal :
- L'administrateur clique sur l'icône de suspension pour un club validé.
- Le statut du club passe à
suspended.
UC-ADMIN-040 · Gérer les paramètres¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
UC-ADMIN-040a · Modifier un document légal¶
Flux principal :
- L'administrateur navigue vers « Paramètres ».
- L'onglet « Documents légaux » est affiché par défaut.
- L'administrateur sélectionne un sous-onglet : CGU, Politique de confidentialité, ou Mentions légales.
- Le contenu actuel est affiché dans un éditeur de texte.
- L'administrateur modifie le contenu et clique sur « Enregistrer ».
- Le système sauvegarde les modifications.
UC-ADMIN-040b · Gérer la FAQ¶
Flux principal :
- L'administrateur clique sur l'onglet « Gestion FAQ ».
- La liste des questions-réponses est affichée.
- L'administrateur peut :
- Ajouter une Q&R via le formulaire « Ajouter une Q&R ».
- Modifier une Q&R existante via l'icône d'édition.
- Supprimer une Q&R via l'icône de suppression.
- Les modifications sont sauvegardées automatiquement côté serveur.
UC-ADMIN-040c · Configurer le délai de rappel¶
Flux principal :
- L'administrateur clique sur l'onglet « Configuration ».
- Le sélecteur de délai de rappel est affiché avec les options : 1h, 2h, 24h.
- L'administrateur sélectionne une valeur et enregistre.
UC-ADMIN-050 · Contrôle d'accès¶
Acteur : Utilisateur non-admin
Précondition : L'utilisateur est authentifié avec un rôle différent de admin.
Flux principal :
- L'utilisateur tente d'accéder à une URL admin (ex :
/admin/dashboard). - Le
ProtectedRoutevérifie le rôle. - Le rôle ne correspond pas → redirection vers la page d'accueil.
Protection API
Côté API, le middleware admin retourne une réponse 403 Forbidden si le rôle de l'utilisateur ne correspond pas.
UC-ADMIN-060 · Consulter les logs système¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
Flux principal :
- L'administrateur navigue vers « Logs » dans la sidebar admin.
- Le système affiche la liste des fichiers de log journaliers (date, taille, nombre d'entrées).
- L'administrateur sélectionne une date.
- Les entrées de log sont affichées avec horodatage, niveau, message et contexte.
- L'administrateur peut rechercher, filtrer par niveau (ERROR, WARNING, INFO…), et trier.
Flux alternatifs :
- Aucun fichier de log : Le message « Aucun fichier de log disponible » est affiché.
- Aucune entrée correspondant aux filtres : Le message « Aucune entrée de log trouvée » est affiché.
- Clic sur une entrée : Le contexte JSON associé est affiché en détail.
Sécurité
L'endpoint de lecture de log valide strictement le format de date et vérifie le path réel du fichier pour prévenir le path traversal.
UC-ADMIN-070 · Consulter les analytics de visites¶
Acteur : Administrateur
Précondition : L'utilisateur est authentifié avec le rôle admin.
Flux principal :
- L'administrateur navigue vers « Analytics » dans la sidebar admin.
- Le système affiche le tableau de bord analytics avec les KPIs pour la période sélectionnée.
- Les indicateurs affichés : visiteurs uniques, pages vues, durée moyenne de session, taux de rebond.
- Un graphique de tendance (AreaChart) montre l'évolution des visites et visiteurs uniques.
- Le tableau des pages populaires liste les pages les plus visitées avec nombre de vues et visiteurs uniques.
- La répartition par appareil (desktop, mobile, tablet) est affichée en camembert.
- Les sources de trafic sont listées avec barres de progression.
Flux alternatifs :
- Changement de période : L'administrateur clique sur un bouton de période (Aujourd'hui, 7j, 30j, 90j) pour recalculer les statistiques.
- Aucune donnée : Le message « Aucune donnée pour cette période » est affiché.
Tracking anonyme
Le tracking est conforme RGPD : pas de lien avec les comptes utilisateurs, IP hashée, identifiant de session temporaire (sessionStorage). Les routes admin (/admin/*) sont exclues du tracking.