Une plateforme d'apprentissage qui a dépassé son école
PLaTon fait passer, corrige et héberge des exercices de programmation auto-évalués. Ce qui a commencé comme un projet d'alternance est devenu la plateforme open source utilisée par l'Université Gustave Eiffel et des établissements partenaires.
- Front
- Angular
- Back
- NestJS · TypeORM
- Données
- PostgreSQL · Elasticsearch
- Infra
- Docker · nginx · On-premise
De PremierLangage à PLaTon
2018 · 2020
PremierLangage, en alternance · Université Gustave Eiffel
Full-stack sur la plateforme d'exercices de la fac : migration du front Django vers Angular, composants réutilisables pour les auteurs, un DSL de spécification d'exercices et un premier IDE dans le navigateur.
2020 · 2021
PLaTon, en lead · Université Gustave Eiffel
La refonte complète, menée avec cinq développeurs et quatre stagiaires : architecture multi-services, authentification SSO et LTI, conteneurisation, déploiement on-premise. Livrée documentée, avec un chemin de reprise clair.
Depuis 2021
Une vie open source
Le dépôt d'origine est celui que j'ai intégralement écrit ; l'Université Gustave Eiffel en maintient aujourd'hui un fork open source, en production pour ses étudiants et des établissements partenaires. La documentation vit toujours en 2026.
Un tableau de bord, un éditeur, un studio d'énoncés



Elle tourne sur mes propres outils
PLaTon dépend directement de NGE et NGE IDE, les bibliothèques open source que je maintiens : son rendu d'énoncés et son éditeur intégré en sont faits. La boucle est fermée : les outils nourrissent la plateforme, la plateforme éprouve les outils sous la charge de vrais étudiants.
Auto-hébergé, parce que la donnée l'exige
PLaTon est déployée on-premise, sur l'infrastructure de l'établissement. Pour une université publique qui manipule des données d'étudiants, garder la donnée chez soi n'est pas un détail technique : c'est une exigence de conformité. Conteneurs, reverse proxy nginx, SSO et LTI : l'architecture a été pensée pour tenir cette contrainte sans sacrifier l'expérience.