Open Badges 3.0 · VC-JWT RS256 · Git-natif · Sans email
Chaque membre certifié reçoit un badge Open Badges 3.0 (signé RS256) dont l'authenticité se vérifie par un tiers, indépendamment de nos serveurs, affichable sur LinkedIn et ailleurs.
- S'inscrire — un membre remplit un formulaire (issue GitHub). Son identité = son compte GitHub.
- Générer — un bot en fait une pull request (fiche + photo normalisée + aperçu de modération).
- Émettre — un mainteneur merge : c'est le point d'autorité. Le badge est signé et publié.
- Vérifier — la page du badge contrôle la signature dans le navigateur (QR, preuve téléchargeable).
- Retirer — une demande de retrait supprime la fiche + la photo et révoque le badge (RGPD).
Détail des flux : docs/ARCHITECTURE.md. Guide des mainteneurs : MAINTAINERS.md.
cd .github/scripts && npm ci
npm test # ~140 tests
npm run demo # signe un badge de démo et le sert -> http://localhost:8000/u/demo| Chemin | Contenu |
|---|---|
docs/ARCHITECTURE.md |
L'architecture et les flux (diagrammes) |
MAINTAINERS.md |
Guide des mainteneurs, étape par étape |
docs/PRD.md |
Spécification + contraintes techniques (CT-1…CT-14) |
docs/rgpd/ |
Information (art. 13) + justification non-AIPD |
.github/scripts/ |
Intake, émission, révocation, annuaire (+ tests) |
site/ |
Code de vérification navigateur (+ tests) |
data/members/<handle>/ |
Fiche + photo d'un membre (photo en Git LFS) |
- La clé privée de signature ne va jamais dans le dépôt — secret CI. Sa fuite = badges forgés.
- Aucune donnée personnelle effaçable dans l'historique Git — photos en LFS, retrait = suppression d'objet.
- Le dépôt reste public — les verrous de confiance l'exigent au plan gratuit (CT-14).