Continuité — accès externes détenus par une seule personne (TrainHub)¶
Pourquoi ce document existe
Suit le même modèle que l'audit EPIDOCS API : plusieurs accès externes critiques pour TrainHub sont aujourd'hui détenus par une seule personne (Yémalin). Ce document liste chaque dépendance externe connue pour ce projet, ce qui a été vérifié pour de vrai (pas supposé), et ce qui reste à faire pour donner un accès de secours à une seconde personne (Cédric Gnansounou).
Portée de cet audit
Seul l'accès Azure AD (SSO Microsoft) a été traité pour l'instant. Les autres dépendances
(GitHub, Vercel, Supabase, Resend — voir overview.md) restent à auditer avec la même
grille que EPIDOCS API et Alert-Parent (gh api repos/.../collaborators puis vérification
dashboard par dashboard).
Statut vérifié pour TrainHub¶
| Dépendance | Ce qui a été vérifié | Statut |
|---|---|---|
GitHub — repo trainhub |
Non vérifié | ⬜ À vérifier — voir l'audit EPIDOCS API pour la méthode (gh api repos/EpitechAfrik/trainhub/collaborators) |
| Azure AD — App Registration TrainHub (SSO Microsoft) | App Registration TrainHub | ✅ Cédric et Pissano ajoutés comme membres (2026-09-11) — rotation du secret possible sans Yémalin |
Vercel (projet daily-c-language-training-platform) |
Non vérifié — nécessite le dashboard Vercel | ⬜ À vérifier |
| Supabase (auth + base de données) | Non vérifié — nécessite le dashboard Supabase | ⬜ À vérifier |
| Resend (envoi des rappels d'entraînement) | Non vérifié — nécessite le dashboard Resend | ⬜ À vérifier |
À faire, par dépendance¶
Azure AD — App Registration TrainHub¶
- Où : App Registration TrainHub (SSO Microsoft, migration
014_microsoft_auth.sql). - Pourquoi c'était critique : un secret d'App Registration expiré ou révoqué casse la connexion Microsoft pour tous les utilisateurs (même symptomatologie que documentée pour EPIDOCS : panne silencieuse jusqu'à ce que quelqu'un essaie de se connecter).
- Statut : ✅ résolu — Cédric Gnansounou et Pissano ont été ajoutés comme membres sur cette App Registration (2026-09-11), ce qui couvre la rotation du secret et les autres opérations courantes sans dépendre uniquement de Yémalin. Date d'expiration du secret actuel (Certificates & secrets) encore à noter ici une fois vérifiée.
Autres dépendances¶
GitHub, Vercel, Supabase et Resend restent à auditer avec la même grille que EPIDOCS API et Alert-Parent — voir l'audit EPIDOCS API pour le modèle à suivre.