Continuité — accès externes détenus par une seule personne (public-diploma-verify)¶
Pourquoi ce document existe
Voir le modèle et la justification complète dans guides/continuite-acces-externes.md. Ce document applique la même grille au projet public-diploma-verify, en désignant Cédric Gnansounou (GitHub cedricgnans) comme second contact.
Portée réduite pour ce projet
public-diploma-verify est un frontend statique sans backend propre, sans base de données, sans SSO — sa surface de dépendances externes est nettement plus petite que EPIDOCS. Pas d'Azure AD, pas de Resend, pas de Cloudinary ici.
Statut vérifié pour public-diploma-verify¶
| Dépendance | Ce qui a été vérifié | Statut |
|---|---|---|
GitHub — repo public-diploma-verify |
gh api repos/EpitechAfrik/public-diploma-verify/collaborators |
✅ Cédric (cedricgnans) a déjà accès admin — rien à faire |
GitHub Actions secrets (APP_BIND, APP_PORT, SSH_PRIVATE_KEY, VITE_API_BASE_URL, VPS_IP, VPS_USER) |
Un admin repo peut gérer les secrets (créer/modifier — jamais lire la valeur) ; gh api repos/EpitechAfrik/public-diploma-verify/actions/secrets confirme la liste des 6 secrets existants |
✅ Couvert par l'accès admin GitHub ci-dessus |
GHCR (ghcr.io/epitechafrik/public-diploma-verify) |
Les packages liés à un repo GitHub suivent les permissions du repo | ✅ Couvert par l'accès admin GitHub ci-dessus |
| VPS (hébergement du conteneur) | Non vérifiable depuis ce poste (pas de session SSH établie) | ⬜ À vérifier — voir ci-dessous |
Registrar DNS epitech.africa |
whois epitech.africa (lecture publique, depuis ce poste) : registrar = Gandi, registrant = IONIS GROUP (organisation, pas un compte personnel), serveurs de noms = ns1/ns2.o2switch.net |
⬜ À vérifier qui détient les identifiants Gandi et/ou le panel o2switch — voir ci-dessous |
Dépendance : API EPIDOCS (GET /api/diplomas/verify/<ref>/) |
Pas un accès externe propre à ce projet — ce frontend n'a pas de credentials vers EPIDOCS, il fait juste un appel HTTP public depuis le navigateur du visiteur | ℹ️ Couvert par l'audit de continuité de EPIDOCS API lui-même — voir plus bas |
Attention à ne pas confondre deux comptes GitHub
gh api repos/EpitechAfrik/public-diploma-verify/collaborators liste deux comptes au nom proche : cedricgnans (accès admin, c'est le bon compte — celui désigné dans ce document) et cedricgn (accès write seulement, compte distinct). Ne pas confondre les deux en cas de doute — confirmer directement avec Cédric quel compte est son compte principal actif.
À faire, par dépendance¶
VPS (hébergement de production)¶
- Où : accès SSH sur le serveur qui héberge
/root/projects/public-diploma-verify(IP dans le secret GitHubVPS_IP). - Pourquoi c'est critique : c'est là que tourne le conteneur
public_diploma_verify. Sans accès SSH, aucune intervention manuelle possible (redémarrage, rollback, lecture de logs, inspection du.env) — seul le pipeline CI/CD automatique reste opérationnel. - Probable mutualisation avec EPIDOCS : le chemin de déploiement (
/root/projects/public-diploma-verify), le nom des secrets (VPS_IP,VPS_USER,SSH_PRIVATE_KEY) et le pattern de workflow sont identiques à ceux d'EPIDOCS — il est probable (à confirmer, pas vérifié ici) qu'il s'agit du même VPS physique. Si l'action décrite dans l'audit EPIDOCS API (création d'un utilisateurcedricsur le VPS) a déjà été faite, il n'y a probablement rien de plus à faire ici au-delà de vérifier que ce compte a bien accès au dossier/root/projects/public-diploma-verify(permissions Docker déjà couvertes par le groupedocker). - Action : confirmer si c'est le même VPS que EPIDOCS ; si oui, s'assurer que l'utilisateur
cedricdéjà créé peut lire/écrire dans/root/projects/public-diploma-verify; si c'est un VPS distinct, reproduire la procédure de création d'utilisateur SSH dédié décrite dans guides/continuite-acces-externes.md.
Registrar DNS epitech.africa¶
- Où : le domaine
epitech.africa(dontdiplome.epitech.africaest un sous-domaine) est enregistré chez Gandi (registrar.gandi.net, confirmé par whois public), au nom de l'organisation IONIS GROUP — pas un compte personnel Yémalin, ce qui est plutôt rassurant. Les serveurs de noms pointent versns1.o2switch.net/ns2.o2switch.net: la zone DNS elle-même (les enregistrementsA/CNAME) est très probablement gérée depuis un panel o2switch, distinct du panel registrar Gandi. - Pourquoi c'est critique : sans accès à l'un ou l'autre (Gandi pour le registrar/renouvellement, o2switch pour les enregistrements DNS), impossible de modifier un enregistrement DNS (changement d'IP de VPS, ajout d'un sous-domaine, renouvellement du domaine à son échéance du 2027-10-07).
- Différence importante avec EPIDOCS :
epitech.africaest un domaine distinct deepitools.bj(utilisé par EPIDOCS/mydocs) — un accès donné pour l'un ne couvre pas l'autre. - Action : identifier qui détient effectivement les identifiants du compte Gandi et du panel o2switch (probablement un compte IT EPITECH/IONIS plus large, pas forcément Yémalin personnellement) — demander à l'IT EPITECH Bénin ou au groupe IONIS d'ajouter Cédric comme contact autorisé sur ces deux panels si Yémalin en a l'accès direct.
API EPIDOCS (dépendance fonctionnelle, pas un accès à transférer ici)¶
- Où : ce frontend n'a ni compte de service, ni clé API, ni session vers EPIDOCS — c'est un appel HTTP public fait par le navigateur du visiteur final, sans identifiants.
- Pourquoi le mentionner quand même : si
diplome.epitech.africaaffiche des erreurs de vérification, la cause racine est souvent côté EPIDOCS API (backend down, secret Azure AD expiré affectant tout le service, etc.) plutôt que ce projet lui-même. - Action : aucune action d'accès spécifique à ce projet — s'assurer que les actions listées dans epidocs-api's propre audit de continuité (VPS, Azure AD, Resend) sont bien réalisées, puisque ce projet en dépend fonctionnellement sans avoir de credentials propres à transférer.
Ce qui n'a pas besoin d'audit ici¶
Contrairement à EPIDOCS, ce projet n'a pas :
- de compte Azure AD / SSO (pas d'authentification du tout — site 100% public) ;
- de fournisseur d'email transactionnel (Resend/SMTP) ;
- de stockage fichiers distant (Cloudinary) ;
- de base de données propre.
Sa surface d'accès externes se limite à GitHub (repo + secrets Actions + GHCR, tous couverts par le même accès admin GitHub), au VPS, et au DNS/registrar du domaine epitech.africa.