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.
← Toutes les réalisations