# Inventaire des écrans — tableau de bord de la reprise UX/UI

> **Tenu à jour à chaque livraison.** Dernière mise à jour : **16/08/2026**,
> après la nuit de livraison (sept PR) et le déploiement de `abeefab`.

## Où on en est

| Groupe | Aligné | Revu, **jamais contre-recetté** | Reste à reprendre | Sans maquette |
|---|:--:|:--:|:--:|:--:|
| **Pilotage** | **8** ✅ | 0 | **1** (Cours vue manager) | 0 |
| **Administration** | 0 | 7 | 0 | 0 |
| **Apprentissage** | 0 | 6 | **1** (Page d'un cours, maquette v2) | 1 (Chat, masqué) |
| **Formateur** | 0 | 2 | 0 | 0 |
| **Hors session** | 0 | 1 | **2** (Connexion, Onboarding) | 3 (mots de passe, L4.5) |
| **Profil** | 0 | 1 | 0 | 0 |
| **Total** | **8** | **17** | **4** | **4** |

### Ce que la nuit du 16/08 a changé

Sept PR, toutes déployées. **Le nombre d'écrans passe de 51 à 34** :

| Livraison | Effet sur le compte |
|---|---|
| Profil unique (#154) | 7 écrans → **1** |
| Référentiels en onglets (#56) | 5 écrans → **1** |
| Vue de formation unique (#193) | détail cours admin **fusionné** |
| Écrans morts (#192) | **6 supprimés** |
| Tentative de quiz (#197) | repris, maquette 13 produite |
| Accueil apprenant (#199) | repris |
| Écrans formateur (#78) | 2 repris |

### Les quatre écrans qui restent à reprendre

| Écran | Ce qui manque | Maquette |
|---|---|---|
| **Page d'un cours** (apprenant) | revue sur une maquette **v2**, jamais passée en v3 | `maquette-cours-apprenant` |
| **Connexion** | seuls le logo et les confirmations ont été repris | `11-connexion` |
| **Onboarding par lien** | jamais repris | `8-onboarding-lien` |
| **Cours (vue manager)** | reste du hub legacy, conservé en #75 pour son contenu unique | `8-liste-cours` |

### Trois états, pas deux — et le troisième n'est pas atteint

**« Revu sur maquette » ne veut pas dire « conforme ».** Le cockpit apprenant
était marqué revu depuis juillet (#61) : la recette du 15/08 en a fait l'écran
le plus éloigné de sa maquette de tout le pilotage. Un écran n'est **aligné**
que lorsqu'il a été recetté au style CALCULÉ après déploiement.

Sur les 7 écrans de pilotage recettés, **tous** portaient des écarts. Les 17
écrans « revus, jamais contre-recettés » sont donc une inconnue, pas une
formalité.

⚠️ **La recette faite par Claude n'est pas la contre-recette.** Les écrans livrés
le 16/08 ont été montés avec le CSS compilé, mesurés et comparés à leur maquette
— ce qui attrape les écarts de gabarit, pas les défauts d'usage. Personne ne
s'est encore connecté avec un vrai compte pour les parcourir. Le label
`statut: contre-recette` marque cet état : recetté à l'écran, en attente d'un
humain.

### Les 12 sans maquette — TRANCHÉS le 16/08

La question posée était : que faire des douze écrans sans dessin de référence ?
La réponse a retiré bien plus de travail qu'elle n'en a ajouté.

| Sort | Écrans | Suite |
|---|---|---|
| **Morts, à supprimer** | Leçon · Quiz · Accueil catalogue · Édition d'un quiz · Plans · Inscription | **FRONT#192** |
| Masqué pour tous | Chat | FRONT#140 |
| Déjà fait, en recette | Mot de passe oublié · Réinitialisation · Expiré | FRONT#100 (jalon L4.5) |
| Fusion avec la vue apprenant | Détail cours admin | **FRONT#193** |
| **Maquette à produire** | **Tentative de quiz** | 1 seule |
| Bloqués | Tableau de bord formateur · Détail apprenant formateur | BACK#180, « à faire » |

**Une seule maquette reste à produire**, et **sept écrans disparaissent** — six
supprimés, un fusionné.

### Ce que la chasse aux orphelines a appris

Une route est **orpheline** quand le routeur la sert encore — une URL collée
fonctionne — mais qu'**aucun chemin de l'interface n'y mène** : ni `<Link>`, ni
`navigate()`, ni redirection.

Le croisement des 63 routes avec tout le code en a trouvé **cinq**, dont trois
qu'on n'avait pas soupçonnées : `/catalog` (tous les liens pointent vers
`/catalogue`, **avec un E**), `/edit-quiz/:id`, et `/plans` dont la seule
référence est **commentée**.

Trois pièges à connaître pour la prochaine chasse :

- **Un lien reçu par e-mail n'est pas un chemin d'interface.** `/onboarding/:token`
  paraît orpheline et ne l'est pas — c'est sa nature.
- **Une redirection depuis un service d'API compte.** `/password-reset` est
  atteinte par `window.location.href` depuis six services quand le mot de passe
  est périmé (FRONT#50).
- **Une route orpheline n'est pas toujours morte.** `/admin/referentiels` l'est
  parce que son écran **n'existe pas encore** (FRONT#56) : à câbler, pas à
  supprimer.

Et l'inverse existe : `/signup` **n'est pas** orpheline — `Login.jsx:277` y mène.
Sa suppression est une décision produit (l'entrée se fait par invitation,
décision F9), et elle oblige à retirer ce lien.

---

# Inventaire détaillé

Établi le **15/08/2026** par lecture des 63 routes de `src/App.jsx` (dépôt FRONT,
`development` à jour), croisées avec l'historique git de chaque fichier d'écran.

**Ce que « revu » veut dire ici** : l'écran a été **repensé sur la base d'une
maquette validée** — structure, contenu, gestes. C'est différent de la passe
d'alignement du 15/08 (police, panneaux, rembourrage, hauteur des boutons), qui
a touché **toute** la plateforme sans rien repenser. Un écran « non revu » a
donc reçu les bons pigments, pas la bonne conception.

**Écran « unitaire »** : un composant d'écran, compté une fois même s'il sert
plusieurs rôles ou plusieurs URL. « Mes équipes » est un écran, pas quatre.

## Le compte

| | Écrans | Routes |
|---|---|---|
| **Revus sur maquette** | **19** | 22 |
| **Non revus** | **26** | 30 |
| Redirections et hors-écran | 6 | 11 |
| **Total** | **51** | **63** |

---

## Univers PILOTAGE — managers ✅ ALIGNÉ

Enveloppe `PilotageLayout`. **Recette close le 15/08** : 23 écarts trouvés,
corrigés et déployés (FRONT#185, #187, #188, #189, #190). Détail dans
`RECETTE_PILOTAGE.md`.

| Écran | Revu | Routes | Description | Maquette |
|---|---|---|---|---|
| Tableau de bord | **oui** | 1 | Deux entonnoirs — personnes, puis couples apprenant × formation — et le détail par module | `1-Tableau de bord` |
| Mes collaborateurs | **oui** | 1 | Les rattachés **directs** : avancement, retard, abandons, profil d'usage | `2-collaborateurs` |
| Mes équipes | **oui** | 1 | Hiérarchie directe **et indirecte**, avec la colonne « Manager de rattachement » | `9-cockpit-apprenant` |
| Tous les collaborateurs | **oui** | 1 | Toute la plateforme — onglet réservé au Manager RH et à l'admin | `3-tous-collaborateurs` |
| Cockpit apprenant | **oui** | 1 | Le dossier d'UNE personne : ses formations, puis le cockpit de celle qu'on ouvre | `9-cockpit-apprenant` |
| Invitations (Inviter · Suivi) | **oui** | 1 | Faire entrer quelqu'un sur la plateforme, et suivre les envois | `4-` et `5-invitations` |
| Inscriptions (Inscrire · Demandes) | **oui** | 1 | Rattacher des apprenants à des formations, et traiter leurs demandes | `6-` et `7-inscriptions` |
| **Cours (vue manager)** | **non** | 1 | Reste du hub legacy Manager RH, conservé en #75 pour son seul contenu unique | `8-liste-cours` |

## Univers ADMINISTRATION

| Écran | Revu | Routes | Description | Maquette |
|---|---|---|---|---|
| Utilisateurs | **oui** | 1 | Liste des comptes + fenêtre de création | `1-utilisateurs`, `2-modale` |
| Cours (liste admin) | **oui** | 1 | Liste unifiée cours / tutos / parcours | `3-cours-admin` |
| Éditeur de parcours | **oui** | 2 | Composer un parcours : étapes, réordonnancement | `4-parcours`, `5-modale` |
| Nouveau tuto | **oui** | 1 | Studio de création d'un tuto | `maquette-tuto` |
| Studio de cours | **oui** | 1 | Édition d'un cours : accordéons, glisser-déposer | — (#76) |
| Paramètres | **oui** | 1 | Réglages de la plateforme, par sections nommées | `6-parametres` |
| Apprenants sans manager | **oui** | 1 | Réaffectation des apprenants orphelins (#160) | — |
| **Référentiels** | **non** | 1 | Écran d'accueil des référentiels — à passer en **onglets** (B-1, FRONT#56) | `7-referentiels` |
| **Catégories** | **non** | 1 | Liste des catégories de cours — doit devenir un onglet de Référentiels | `7-referentiels` |
| **Sous-catégories** | **non** | 1 | Idem, second niveau | `7-referentiels` |
| **Balises** | **non** | 1 | Balises de recherche — idem | `7-referentiels` |
| **Types de supports** | **non** | 1 | Types de supports pédagogiques — idem (FRONT#105) | `7-referentiels` |
| **Détail d'un cours (admin)** | **non** | 1 | Vue admin d'un cours, dérivée de l'écran apprenant | — |

⚠️ Les **quatre listes de référentiels** sont aujourd'hui quatre écrans et quatre
entrées. La décision B-1 du 14/08 les réunit en **un écran à onglets** : les
compter comme quatre écrans à reprendre serait se tromper de travail.

## Univers APPRENTISSAGE — apprenants

| Écran | Revu | Routes | Description | Maquette |
|---|---|---|---|---|
| Catalogue interne | **oui** | 1 | Rails par sous-catégorie, filtres durée et avancement | `maquette-catalogue-apprenant` |
| Mes formations · Favoris · Certificats | **oui** | 1 | Un écran, trois onglets. Seul le volet Certificats a été revu (#155) | `maquette-mes-formations`, `-favoris`, `-certificats` |
| Page d'un cours | **partiel** | 1 | Visionneuse + onglets. Revu sur une maquette **v2**, pas v3 | `maquette-cours-apprenant` |
| Page d'un parcours | **oui** | 1 | Étapes d'un parcours côté apprenant (#363) | `9-page-parcours` |
| **Accueil apprenant** | **non** | 1 | Page d'entrée de l'espace, bandeau de reprise | `0-accueil-apprenant` |
| **Leçon** | **non** | 1 | Lecture d'un support | — |
| **Quiz** | **non** | 1 | Passage d'un quiz | — |
| **Tentative de quiz** | **non** | 1 | Reprise d'une tentative | — |
| **Chat** | **non** | 1 | Messagerie interne | — |

## Univers FORMATEUR

| Écran | Revu | Routes | Description | Maquette |
|---|---|---|---|---|
| **Tableau de bord formateur** | **non** | 1 | Ses cours et ses apprenants | — (FRONT#78) |
| **Détail d'un apprenant** | **non** | 1 | Fiche apprenant vue par le formateur | — (FRONT#78) |

## Hors session

| Écran | Revu | Routes | Description | Maquette |
|---|---|---|---|---|
| Connexion | **partiel** | 1 | Seuls le logo et les confirmations ont été repris | `11-connexion` |
| Vitrine publique | **oui** | 1 | Catalogue public, activable par tenant | `12-vitrine-publique` |
| **Onboarding par lien** | **non** | 2 | Définition du mot de passe à l'arrivée | `8-onboarding-lien` |
| **Mot de passe oublié** | **non** | 1 | Demande du lien de réinitialisation | — |
| **Réinitialisation** | **non** | 1 | Nouveau mot de passe par lien signé (FRONT#100) | — |
| **Mot de passe expiré** | **non** | 1 | Changement forcé à l'échéance | — |
| **Inscription** | **non** | 1 | Création de compte — à confirmer : encore utilisée ? | — |
| **Plans** | **non** | 1 | Offres tarifaires — à confirmer : encore utilisée ? | — |

## Profils — SEPT écrans pour une seule fonction

| Écran | Revu | Routes | Description |
|---|---|---|---|
| **Profil admin** | **non** | 1 | Édition de son propre profil |
| **Profil Manager RH** | **non** | 1 | Idem |
| **Profil Manager d'équipe** | **non** | 1 | Idem |
| **Profil directeur** | **non** | 1 | Idem |
| **Profil manager général** | **non** | 1 | Idem |
| **Profil apprenant** | **non** | 1 | Idem |
| **Profil formateur** | **non** | 1 | Idem |

⚠️ Ces sept écrans font la même chose. **FRONT#154** les remplace par un seul,
d'après `10-profil-unique`. Les reprendre un par un serait sept fois le même
travail, puis sept suppressions.

## Redirections et hors-écran

| Élément | Routes | Remarque |
|---|---|---|
| `VersCockpit` | 5 | Les cinq anciennes fiches par rôle mènent au cockpit (#75 volet 3) |
| Redirections de tableaux de bord | 4 | Les hubs par rôle mènent à `/pilotage/dashboard` |
| Visioconférence | 1 | Hors périmètre des maquettes |
| **Fiche collaborateur `/manager/learners/:id`** | 1 | **Anomalie — voir ci-dessous** |

### L'anomalie à traiter

`/manager/learners/:id` rend encore `ManagerLearnerDetails`, l'**ancienne fiche**.
Les cinq autres fiches par rôle ont été redirigées vers le cockpit par #75 volet 3 ;
celle-ci a été oubliée. C'est donc une **sixième fiche vivante**, qui affiche le
dossier d'une personne hors du cockpit — exactement ce que #75 voulait supprimer.

À trancher : redirection vers le cockpit comme ses cinq sœurs, ou suppression si
plus rien ne l'atteint.

---

## Ce que cet inventaire ne dit pas

Il dit qu'un écran **a été repris sur une maquette**, pas qu'il est **conforme
aujourd'hui**. Un écran repris en juillet sur une maquette v2, ou repris avant
la passe d'alignement du 15/08, peut avoir dérivé depuis. La conformité se
constate **à l'écran**, pas dans l'historique git.

Au 15/08, cinq écrans seulement ont été regardés après déploiement :
`/pilotage/mes-equipes`, `/pilotage/dashboard`, `/pilotage/invitations`,
`/pilotage/inscriptions` (conformes) et `/apprentissage/catalogue` — celui-ci
présentant un écart structurel : sa barre générale est rendue **dans** la colonne
de contenu au lieu d'être pleine largeur au-dessus, la latérale débordant
au-dessus d'elle.
