CYBERLEARN
- CONTEXTE
- Produit personnel, conçu et opéré en solo
- RÔLE
- Architecture, développement full-stack, modèle de sécurité
- LIVRABLES
- Plateforme en ligne, politiques RLS PostgreSQL, couche de gamification, pipeline vidéo Remotion
- RÉSULTAT
- Autorisation appliquée au niveau des lignes (se referme en cas de doute) ; catalogue tenable par une seule personne
CyberLearn est le projet autour duquel tout le reste gravite. Un monorepo Turborepo sous Next.js 15, adossé à Supabase et Prisma : une plateforme « French-first » pour apprendre la cybersécurité, pensée comme un produit, pas comme une démo. L'ingénierie qui m'a vraiment intéressé n'a jamais résidé dans le contenu des leçons, mais dans le modèle de données, la frontière d'autorisation et tous les mécanismes qui décident de ce qu'un apprenant voit, et à quel moment.
L'autorisation se joue dans PostgreSQL, via la Row-Level Security, et non dans la couche applicative. C'est le même raisonnement qui revient dans tout le reste de mon travail : l'application n'est pas la seule à pouvoir atteindre la base, elle ne peut donc pas être la seule à en faire respecter les accès. Le durcissement RLS fait descendre la frontière de confiance jusqu'à la ligne elle-même, où elle tient bon face à une route d'API compromise, à une clé de service détournée ou à une requête écrite par quelqu'un qui a oublié le filtrage par tenant. Écrire les bonnes politiques, et prouver qu'elles se referment en cas de doute, aura été la tâche la plus longue et la plus déterminante.
Par-dessus se greffe une couche de gamification : séries, quêtes, ligues, cosmétiques et un « wrapped » de fin de période. Toute la difficulté tenait à récompenser la régularité sans transformer l'apprentissage en machine à sous, avec des ressorts de motivation qui respectent le temps de l'apprenant au lieu de le pressurer. Côté contenu, un pipeline vidéo bâti sur Remotion et ElevenLabs transforme les scripts en leçons narrées, car la production de contenu est le vrai goulet d'étranglement de toute plateforme d'apprentissage : l'automatiser, c'est ce qui rend un catalogue tenable par une seule personne.
Le catalogue, lui, a été réorganisé en parcours DevOps et DevSecOps structurés, des cheminements séquencés plutôt qu'une simple liste de sujets. Une plateforme d'apprentissage est un problème de schéma déguisé en problème de contenu : les choix de progression, de prérequis et de déblocage d'une étape à la suivante conditionnent tout ce que le produit pourra devenir par la suite. La plupart de ces choix devaient être tranchés une bonne fois et tranchés juste, car migrer une logique de progression sous les pieds d'utilisateurs en production a un coût que les environnements de prototype ne laissent jamais soupçonner.