EdTech · Belgique
Diagnostic de compétences pour l'enseignement secondaire
En productionSoftware Engineering · DevSecOps · Data
Contexte
Une plateforme EdTech destinée aux élèves du secondaire en Belgique : diagnostiquer leurs compétences au regard des programmes officiels.
Problème et contraintes
- Un catalogue de compétences qui doit suivre les programmes officiels.
- Un cycle de vie du diagnostic clair, et des vues d'administration.
- Un backend et un frontend déployables séparément, mais versionnés ensemble.
Décisions d'architecture et compromis
- Monorepo avec deux applications déployables indépendamment : une seule version, deux unités de déploiement.
- API NestJS en monolithe modulaire, avec une propriété des modules documentée, plutôt qu'un découpage en microservices prématuré.
- Décisions dédiées pour l'identité et l'authentification, le cycle de vie du diagnostic, le catalogue officiel et la topologie de production.
Sécurité et livraison
- Pipeline Jenkins : format, lint, typecheck, contrat OpenAPI, tests unitaires et de composants, contrats HTTP, couverture, scan de secrets et de dépendances.
- Images construites puis publiées uniquement depuis la branche principale, release enregistrée, puis promotion vers la plateforme GitOps.
- Migrations Prisma exécutées par un job dédié au déploiement.
Données
Le schéma évolue par migrations versionnées (17 à ce jour) ; le catalogue officiel des programmes est un modèle de données à part entière.
Résultats et état actuel
- En production ; 7 versions taguées, la dernière en v0.4.3.
- 93 fichiers de tests et 5 décisions d'architecture.