# Schéma de navigation et user flows — Caplogg

## 1. Arborescence des pages

```
/ (racine)
├── /login                          [Public] Connexion (code participant, admin ou super-admin)
│
├── Pages publiques (sans connexion obligatoire selon contexte)
│   ├── /vitrine                    Vitrine / présentation
│   ├── /marketing                  Page marketing
│   ├── /mentions-legales           Mentions légales
│   ├── /cgu                        CGU
│   ├── /confidentialite            Politique de confidentialité
│   ├── /tuto-animateur             Tutoriel animateur
│   └── /tuto-etudiant              Tutoriel étudiant
│
├── Super Admin (accès après connexion code super-admin)
│   ├── /super-admin                Tableau de bord super-admin
│   ├── /super-admin/establishments/:id   Fiche établissement
│   ├── /super-admin/business-model       Business Model Canvas
│   ├── /super-admin/swot                SWOT
│   ├── /super-admin/pestel               PESTEL
│   ├── /super-admin/porter               Porter
│   ├── /super-admin/integration-url      Intégration URL
│   ├── /super-admin/elements-par-defaut  Éléments par défaut (scénario)
│   │   ├── index (Vue d’ensemble)
│   │   ├── paniers
│   │   ├── loisirs
│   │   ├── bourse
│   │   └── alternance
│   ├── /super-admin/pages                Gestion des pages
│   └── /super-admin/scenario-default  →  redirect vers elements-par-defaut
│
└── Espace connecté (après connexion, sous ProtectedRoute)
    │
    ├── /                             Accueil (Home) — selon rôle : simulation ou admin
    ├── /lettre-acceptation           Lettre d’acceptation (entrée parcours participant)
    │
    ├── Admin établissement (/admin/*)
    │   ├── /admin                    Tableau de bord admin (2 cartes : Scénario, Sessions)
    │   ├── /admin/scenario           Modifier le scénario (vue d’ensemble)
    │   │   ├── index                 Vue d’ensemble scénario
    │   │   ├── campus                Campus
    │   │   ├── logements             Logements (redir. → logements/:category)
    │   │   │   └── :category         Logements par catégorie
    │   │   ├── paniers               Paniers alimentation
    │   │   ├── loisirs               Loisirs
    │   │   ├── transport             Transport par ville
    │   │   ├── villes                Villes
    │   │   ├── bourse                Échelons bourse
    │   │   └── alternance            Alternance
    │   ├── /admin/sessions           Lancer les sessions (création, code, minuteur, historique)
    │   └── /admin/integration-url    Intégration URL établissement
    │
    └── Parcours simulation (participant / étudiant)
        ├── /recettes                 Recettes et aides
        ├── /logement                 Logement
        ├── /alimentation             Alimentation
        ├── /loisirs                  Loisirs
        ├── /marge                    Marge de sécurité
        ├── /recap                    Récapitulatif
        ├── /prime-activite        →  redirect vers /logement
        ├── /mobilite               →  redirect vers /logement
        │
        └── Parcours guidé (/guide/*)
            ├── /guide                Intro parcours guidé
            ├── /guide/recettes       Recettes et aides (guidé)
            ├── /guide/logement       Logement (guidé)
            ├── /guide/alimentation   Alimentation (guidé)
            ├── /guide/loisirs        Loisirs (guidé)
            ├── /guide/marge          Marge de sécurité (guidé)
            └── /guide/recap          Récapitulatif (guidé)
```

---

## 2. Règles d’accès (résumé)

| Zone              | Condition d’accès |
|-------------------|-------------------|
| `/login`          | Toujours accessible. |
| `/super-admin/*`  | Connexion avec code **super-admin** uniquement. |
| `/admin`, `/admin/*` | Connexion avec code **admin établissement** (ex. ADMIN-URCA). Pas animateur session seul. |
| `/`, `/lettre-acceptation`, `/recettes`, … | Connexion avec **n’importe quel code** (participant, admin, etc.). Redirections selon rôle. |

---

## 3. User flows

### 3.1 Visiteur non connecté

```
[Visiteur]
    │
    ├─→ /login ──────────────────────────────────────────────────────────────┐
    │       │                                                                 │
    │       └─→ Saisie code ─→ Voir flow selon rôle (3.2, 3.3 ou 3.4)         │
    │                                                                         │
    ├─→ /vitrine, /marketing, /mentions-legales, /cgu, /confidentialite       │
    │       (pages accessibles sans être connecté selon implémentation)      │
    │                                                                         │
    └─→ Toute autre URL protégée ─→ Redirect vers /login (state.from conservé) │
```

### 3.2 Participant / Étudiant (code participant)

```
[Connexion avec code participant]
    │
    └─→ Redirect selon session
            │
            ├─→ Session active (mode compétition) jointe
            │       └─→ /lettre-acceptation (puis /recettes, … selon parcours)
            │
            └─→ Pas de session active
                    └─→ / (Accueil)
                            │
                            └─→ « Commencer la simulation » ─→ /lettre-acceptation
                                    │
                                    └─→ Parcours classique ou guidé
                                            Recettes → Logement → Alimentation → Loisirs → Marge → Récap
```

### 3.3 Admin établissement (code admin, ex. ADMIN-URCA)

```
[Connexion avec code admin établissement]
    │
    └─→ Redirect vers /admin/scenario (page administration par défaut)
            │
            ├─→ Depuis /admin (tableau de bord)
            │       ├─→ « Modifier le scénario » ─→ /admin/scenario
            │       └─→ « Lancer les sessions » ─→ /admin/sessions
            │
            ├─→ /admin/scenario
            │       Vue d’ensemble, Campus, Logements, Paniers, Loisirs, Transport, Villes, Bourse, Alternance
            │       Lien « ← Administration » ─→ /admin
            │
            ├─→ /admin/sessions
            │       Créer session (classique/guidé) → Code aux équipes → Lancer minuteur
            │       Suivi en direct, Historique, Export CSV/PDF
            │       Lien « ← Administration » ─→ /admin
            │
            └─→ /admin/integration-url
                    Intégration sous l’URL de l’établissement
```

### 3.4 Super Admin (code super-admin)

```
[Connexion avec code super-admin]
    │
    └─→ Redirect vers /super-admin
            │
            ├─→ Établissements ─→ /super-admin/establishments/:id
            ├─→ Business Model, SWOT, PESTEL, Porter
            ├─→ Intégration URL
            ├─→ Éléments par défaut (scénario) ─→ /super-admin/elements-par-defaut (paniers, loisirs, bourse, alternance)
            └─→ Pages
```

### 3.5 Animateur de session seule (sans code admin)

```
[Connexion animateur session uniquement]
    │
    └─→ / (Accueil)
            Message : « Vous êtes animateur de session… »
            Bouton « Administration (sessions) » ─→ /admin/scenario (accès limité selon implémentation)
            Pas d’accès au tableau de bord admin complet (/admin) ni à la modification du scénario établissement.
```

---

## 4. Redirections automatiques (résumé)

| Contexte                    | Redirection |
|----------------------------|-------------|
| Non connecté + URL protégée | → `/login` (sauf super-admin) |
| Connecté super-admin + URL non super-admin | → `/super-admin` |
| Connecté admin + accès à `/admin` ou `/admin/*` sans rôle admin | → `/` + message |
| `/prime-activite`, `/mobilite` | → `/logement` |
| `/super-admin/scenario-default` | → `/super-admin/elements-par-defaut` |

---

## 5. Points d’entrée principaux

| Utilisateur      | Entrée typique        | Page cible après connexion   |
|------------------|------------------------|------------------------------|
| Étudiant         | /login (code participant) | / ou /lettre-acceptation     |
| Admin établissement | /login (code ADMIN-xxx) | /admin/scenario              |
| Super Admin      | /login (code super-admin) | /super-admin                 |
| Animateur session | /login (code session)  | / (accueil limité)           |

Ce document peut être mis à jour si de nouvelles routes ou règles d’accès sont ajoutées.
