Aller au contenu
Toute l'expérience

Alternance · Sensei

PopCertif

Les sessions de certification, de la convocation au dépôt des résultats

Logo PopCertif

Application qui porte le déroulé complet d'une session de certification professionnelle, pour les candidats, les jurys et l'administration, adossée à l'ERP Odoo qui fait foi.

La stack

Front-end
React 18 / TypeScript / Vite / XState / Zustand / React Hook Form / Zod / TipTap / react-pdf / Design system interne
Back-end
Python / FastAPI / Pydantic / httpx / PyJWT / Gunicorn
ERP
Odoo 17 / Module Python sur mesure / JSON-RPC / Odoo Sign / Rapports QWeb / Tâches planifiées
Données
Supabase / PostgreSQL / Row Level Security / Supabase Storage
Intégrations
SMTP transactionnel / Export XML vers la plateforme EDOF / Sentry

Le produit

Une session de certification réunit des candidats, des formateurs, un jury, des documents à signer et des résultats à déclarer. Tout cela vivait dans des tableurs et des dossiers partagés. PopCertif en fait un parcours guidé, avec une interface par rôle : candidat, consultant, membre du jury, administrateur et super-administrateur.

Le produit est parti d’aucune spécification : je l’ai construit à partir d’entretiens avec les responsables de formation, l’administration et la qualité, puis validé en démonstration plusieurs fois par semaine. Il tourne en production depuis avril 2026.

Architecture

  • Front-end React : le parcours d’une session est modélisé comme une machine à états (XState), découpé en phases et en étapes avec leur rôle responsable, leur caractère obligatoire et leur besoin de signature
  • API FastAPI sous le préfixe /certif, dans le socle partagé par les applications du groupe : authentification par JWT Supabase, rôle résolu par produit
  • Supabase porte le processus (sessions, candidats, jurys, évaluations, journal des emails) sous Row Level Security
  • Module Odoo 17 que j’ai écrit de bout en bout : modèles de session, de candidats, de jury et de résultats, contrôleurs HTTP, actions métier, tâches planifiées. Les étapes franchies dans l’application deviennent des enregistrements de l’ERP
  • Odoo Sign pour les documents à valeur juridique : l’application remplit les modèles et génère les liens de signature

Ce que j’ai construit

  • Le modèle de rôles et d’objets métier, avant toute ligne de code
  • Les règles d’impartialité des jurys portées par la base de données, pas par l’interface
  • Une confidentialité renforcée sur les données sensibles des candidats, avec consultation journalisée
  • Les groupes de jury de certification, qui font avancer plusieurs sessions d’un seul geste par propagation
  • La reprogrammation des candidats absents, découpée en situations distinctes
  • Des modèles de session et des grilles d’évaluation figés à la publication, pour ne jamais invalider l’historique
  • L’export groupé des résultats au format attendu par la plateforme publique EDOF
  • Les rappels d’examen automatiques, dédoublonnés contre le journal d’envoi