Aller au contenu

Cas d'utilisation — Authentification


UC-AUTH-001 · S'inscrire

Acteur : Utilisateur non connecté
Précondition : L'utilisateur n'a pas encore de compte

Flux principal (succès)

  1. L'utilisateur accède à la page d'inscription
  2. Il renseigne son nom, prénom et email
  3. Il accepte les CGU et la politique de confidentialité (obligatoire)
  4. Il valide → un code OTP est envoyé à son email
  5. Il saisit le code OTP reçu → le compte est créé
  6. Il est invité à s'auto-évaluer (sélection de son niveau parmi les paliers admin)
  7. Il est invité à compléter son profil (ville + photo optionnelle, étape facultative)
  8. L'utilisateur accède à sa page d'accueil personnalisée

Flux alternatifs

  • Email déjà utilisé → Message d'erreur avec proposition de se connecter
  • CGU non acceptées → Impossible de valider le formulaire
  • Code OTP invalide ou expiré → Message d'erreur, possibilité de redemander un nouveau code

UC-AUTH-002 · Se connecter

Acteur : Utilisateur avec un compte existant
Précondition : L'utilisateur a un compte valide et actif

Pas de mot de passe

La connexion se fait uniquement par email + code OTP. L'utilisateur ne crée jamais de mot de passe.

Flux principal (succès)

  1. L'utilisateur saisit son email
  2. Il clique sur « Recevoir un code »
  3. Un code OTP est envoyé à son email
  4. Il saisit le code → il est connecté
  5. Un token JWT (access + refresh) est généré → session persistante

Flux alternatifs

  • Email inconnu → Redirection vers la page d'inscription avec l'email pré-rempli, permettant à l'utilisateur de s'inscrire directement
  • Code OTP expiré → Possibilité de redemander un nouveau code
sequenceDiagram
    participant U as Utilisateur
    participant F as Frontend
    participant A as API Laravel
    participant M as Service Email

    U->>F: Saisit son email
    F->>A: POST /api/v1/auth/request-otp
    A->>M: Envoie le code OTP
    M-->>U: Email avec code OTP
    U->>F: Saisit le code OTP
    F->>A: POST /api/v1/auth/verify-otp
    A-->>F: { access_token, refresh_token }
    F-->>U: Redirige vers dashboard

UC-AUTH-003 · Se déconnecter

Acteur : Utilisateur connecté

Flux principal

  1. L'utilisateur clique sur « Se déconnecter »
  2. Le frontend envoie POST /api/v1/auth/logout avec le token
  3. Le token est invalidé côté serveur (blacklist JWT)
  4. Le frontend supprime le token du stockage mémoire
  5. Redirection vers la page de connexion

UC-AUTH-004 · S'auto-évaluer (niveau initial)

Acteur : Utilisateur nouvellement inscrit
Précondition : Compte créé et email validé par OTP

Flux principal

  1. L'utilisateur voit les paliers de niveau avec leurs critères descriptifs (définis par l'admin)
  2. Il consulte chaque palier (valeur, nom, description)
  3. Il sélectionne le palier qui lui correspond le mieux
  4. Son niveau (ex : 4.5) et un score de fiabilité initial faible sont enregistrés
  5. L'utilisateur est redirigé vers l'étape de complétion du profil (UC-AUTH-006)

Niveau non modifiable

Après cette auto-évaluation initiale, l'utilisateur ne peut plus modifier son niveau manuellement. Il évolue uniquement selon les résultats de ses parties compétitives.


UC-AUTH-006 · Compléter son profil (étape 3/3)

Acteur : Utilisateur nouvellement inscrit
Précondition : Niveau auto-évalué (UC-AUTH-004 complété)

Flux principal

  1. L'utilisateur voit un formulaire de complétion du profil (étape 3/3)
  2. Il peut renseigner sa ville pour faciliter la recherche de partenaires proches
  3. Il peut optionnellement ajouter une photo de profil
  4. Il valide → les informations sont enregistrées via PUT /api/v1/profile
  5. L'utilisateur est redirigé vers sa page d'accueil personnalisée

Flux alternatif

  • L'utilisateur saute cette étape → Il est redirigé directement vers l'accueil sans compléter

UC-AUTH-005 · Supprimer son compte (RGPD)

Acteur : Utilisateur connecté

Flux principal

  1. L'utilisateur accède à Paramètres → Mon compte → Supprimer mon compte
  2. Un écran de confirmation présente les données supprimées et conservées (anonymisées)
  3. L'utilisateur confirme explicitement (case à cocher)
  4. Le compte est désactivé immédiatement, la session est fermée
  5. Les parties en cours dont l'utilisateur est inscrit : il est retiré automatiquement
  6. Les parties dont il est créateur et encore ouvertes sont annulées automatiquement
  7. Un email de confirmation de suppression est envoyé
  8. Toutes les données personnelles sont effacées sous 30 jours (RGPD)