Dossier de présentation

Quêtes

Et si chaque compétence de votre cursus se prouvait, au lieu de se supposer ?

Quêtes transforme un programme de formation tech en une suite de quêtes concrètes : un élève fait, un formateur corrige et suit, une direction pilote. Une plateforme complète, déjà en fonctionnement, pensée pour un vrai organisme de formation, pas pour une démo.

Chaque fonctionnalité de ce dossier existe déjà dans le code. Chaque chiffre est mesuré, pas estimé.

27domaines fonctionnels
200points d'API
116fichiers de tests automatisés
50migrations de schéma versionnées
5rôles + permissions fines
9notifications en temps réel
quetes.dev/login
Écran de connexion de Quêtes, thème sombre
Écran de connexion réel de l'application. Aucune inscription publique : chaque compte est créé par l'équipe pédagogique.

Pourquoi Quêtes existe

Ce qui coûte le plus cher dans une formation tech, ce n'est pas le contenu. C'est le temps humain autour.

Quatre irritants récurrents, réglés par le produit tel qu'il fonctionne aujourd'hui.

Corriger 30 rendus un par un, chaque semaine, sur chaque quête

Vulpy prépare une proposition de correction en quelques secondes. Le formateur valide, ajuste ou refuse.

Un cursus qui reste théorique jusqu'à l'entretien d'embauche

Des quêtes concrètes, des prérequis, des parcours guidés et des badges qui prouvent une progression réelle.

Aucune vue d'ensemble sur qui avance et qui décroche

Statistiques par élève, par quête, par classe, actualisées en continu, visibles depuis un seul hub.

Gérer comptes, classes et groupes à la main dans un tableur

Import CSV en masse, composition de classe en quelques clics, rôle dédié à l'admission des élèves.

I.

Le parcours élève

En production

Pas d'inscription libre : chaque compte est créé par l'équipe pédagogique. Un élève ne voit que les quêtes ouvertes à sa classe, rangées par catégories, avec leurs prérequis. Le catalogue s'ouvre progressivement, il n'arrive jamais d'un bloc.

quetes.dev/home
Catalogue d'un élève, filtré sur son groupe React, 21 quêtes
Vue d'un élève réel de la promo pilote, assigné au groupe React : 21 quêtes, celles qui le concernent, rien d'autre.
quetes.dev/quests/…
Détail d'une quête ouverte par un élève, sans lien d'administration
Une quête ouverte par cet élève : contenu structuré, aucun lien d'édition, juste le contenu à suivre.
Quêtes et auto-validation
Fiches d'exercice catégorisées, taguées, avec ressources et prérequis. Une quête peut aussi être un QCM qui se valide seul dès le seuil de réussite atteint, sans attendre de correction humaine.
Parcours guidés
Des chaînes de quêtes obligatoires ou optionnelles assignées à la classe. Chaque étape reste verrouillée tant que la précédente n'est pas validée, la progression se calcule à la volée.
Badges et easter eggs
Un catalogue de badges attribués par les formateurs, plus des badges cachés à débloquer par un code. Invisibles au catalogue tant qu'ils n'ont pas été trouvés.
Discussion de rendu
Chaque rendu a son fil de commentaires et un geste d'appréciation, visible par l'élève, ses formateurs, les admins et ses pairs.
Favoris et ressources communautaires
Mise en favori d'une quête, bibliothèque de liens par catégorie, et des ressources proposées et votées par les élèves eux-mêmes : classement pondéré, signalement des liens morts.
Notifications en direct
Neuf types d'événements (rendu corrigé, badge obtenu, sondage ouvert, message direct, diffusion de classe...) poussés en temps réel par flux SSE, sans rechargement de page.
Carnet de compétences et sondages
Un référentiel de compétences par classe, tenu à jour élève par élève par le formateur. Des sondages dont les résultats restent nommés côté formateur.
Pensé mobile
Tout le parcours élève (accueil, quêtes, détail, mes quêtes, profil, notifications) est adapté au mobile, avec un tiroir de navigation dédié plutôt qu'un simple rétrécissement du desktop.
⌘K
Palette de commandes Ctrl/Cmd K
Palette de commandes Ctrl/⌘K : navigation, thème, déconnexion, en un raccourci.
mobile
Tiroir de navigation mobile
Le tiroir de navigation mobile, thème clair.
II.

L'outillage formateur

En production

Un formateur pilote sa classe depuis un hub central. Plus besoin de jongler entre un tableur de notes, un agenda externe et une boîte mail pour faire tourner une promo.

Hub de classe
Roster complet, statistiques d'avancement par élève et par quête, taux de réussite des QCM : la vue d'ensemble avant d'aller au détail.
Notation
Projets et équipes, notes individuelles ou d'équipe, export CSV pour tout ce qui doit remonter ailleurs (jury, administratif).
Agenda de classe
Planning par type d'événement (cours, ateliers, démos live, jours non travaillés), consultable par les élèves en lecture seule.
Émargement par QR code
Une session s'ouvre en un clic ou automatiquement à l'heure programmée, un QR rotatif projeté en classe, l'élève signe du doigt sur son téléphone. Le formateur voit chaque signature apparaître en direct, peut en révoquer une, ou relancer par email un élève resté sans QR sous les yeux.
Revue et publication de contenu
Un workflow dédié pour faire évoluer une quête : brouillon, relecture, publication, en couche additive. La version publiée n'est jamais écrasée avant validation.
Délégation fine
Une permission ponctuelle (QUEST_REVIEW) peut être accordée à un formateur de confiance sans lui donner tout le rôle admin.
Communication et masquerade
Diffusion d'un message à toute une classe, et un mode « masquerade » pour prévisualiser l'application exactement comme la voit un élève donné.
quetes.dev/mes-classes/…
Hub de classe, onglet Agenda
Hub de classe : agenda partagé, export GitHub des profils, gestion des liens, tout sur un seul écran.
quetes.dev/admin
Liste des classes avec export et import CSV
Chaque classe : export GitHub, import d'agenda par CSV, modification, en un clic.
quetes.dev/mes-classes/…
Onglet Signature du hub de classe : QR rotatif et liste des élèves avec leur statut d'émargement
Session ouverte, QR projeté en classe : chaque élève passe au vert dès qu'il signe, avec sa signature en miniature.
quetes.dev/signer
Page de signature côté élève après scan du QR, avec le tracé dessiné
Côté élève : la page ouverte par le scan, sans rien d'autre à installer.
III.

Vulpy, l'assistant de correction

En production

Vulpy s'appuie sur les modèles Claude d'Anthropic pour accélérer la correction, jamais pour la remplacer. Réservé au rôle le plus élevé de la plateforme, il propose, l'humain décide.

Ce que Vulpy renvoie sur un rendu élève : jamais une note, toujours une proposition

{
  "decision": "REQUEST_CHANGES",
  "feedback": "Le composant ne gère pas l'état de chargement...",
  "rationale": "La consigne exige un indicateur visuel pendant l'appel API."
}
quetes.dev/admin/quest-review
Écran de revue de contenu avec sélecteur de modèle Vulpy
Écran de revue de contenu : filtrage par statut, type, catégorie, et choix du modèle Vulpy (Haiku, Sonnet, Opus).
Correction assistée
Vulpy réunit le contexte complet d'un rendu (consigne, catégorie, ressources, commentaire de l'élève, et même le contenu des dépôts GitHub liés) pour proposer une décision structurée, jamais un simple avis en texte libre.
Revue de contenu outillée
Sur un signalement (lien mort, techno datée), Vulpy peut chercher sur le web une source de remplacement fiable, ou corriger en un clic l'ensemble des signalements d'une même quête.
Maîtrise du coût
Le modèle utilisé (rapide, équilibré, ou le plus capable) et le niveau d'effort de raisonnement se choisissent au cas par cas. Sans clé API configurée, le service se désactive proprement : jamais un point de blocage pour le reste de l'application.
Garde-fous
Consigne anti-injection systématique dans chaque prompt. Vulpy ne touche jamais la base de données lui-même : la publication reste un geste humain, à chaque fois.
IV.

Gouvernance et sécurité

En production

Le modèle de rôles n'a pas été pensé pour une seule classe pilote : il distingue déjà le pédagogique de l'administratif, ce qui compte dès qu'une structure grandit.

Cinq rôles taillés sur mesure
Élève, formateur, admin, super-admin, et ADMISSION : un rôle à part pour l'équipe qui gère les comptes et la composition des classes, sans jamais toucher au contenu pédagogique (ni quêtes, ni notes, ni badges).
Permissions fines
Des autorisations ponctuelles viennent s'ajouter à un rôle sans le changer : la granularité existe déjà là où le besoin s'est présenté.
Authentification robuste
Jetons JWT sans état, mots de passe hashés en Argon2id, jeton de renouvellement en cookie protégé. Les standards actuels, pas des raccourcis.
RGPD par construction
Purge automatique programmée des comptes élèves après le délai de rétention, avec e-mail d'avertissement préalable, et suppression de compte en libre-service.
quetes.dev/admin
Création de compte et import CSV d'une classe
Créer un compte, ou importer une classe entière par CSV, en une minute.
quetes.dev/admin
Écran de gestion des groupes de catégories
Un groupe donne accès à un ensemble de catégories : Angular, ASP.Net, Active Directory, et bien d'autres.
V.

Fiabilité et exploitation

En production

Ce qui ne se voit pas à l'écran mais qui décide si l'application tient dans la durée : comment elle est testée, déployée, et surveillée une fois en ligne.

Intégration continue
Trois branches (développement, pré-production, production), tests obligatoires avant toute fusion, et un numéro de version calculé automatiquement à chaque commit.
Déploiement automatisé
Chaque nouvelle version publiée redéploie la production toute seule, par webhook. Pas d'étape manuelle à oublier un vendredi soir.
Sous surveillance
Métriques et tableaux de bord dédiés, logs structurés : de quoi repérer un problème avant qu'un élève n'ait besoin de le signaler.
Un historique traçable
50 migrations de base de données, chacune versionnée et jamais modifiée après coup : l'évolution du produit se relit de bout en bout, sans zone d'ombre.
Réellement testé
116 fichiers de tests automatisés, exécutés contre de vraies bases PostgreSQL en environnement de test. Pas de simulations qui masquent les vrais problèmes.
quetes.dev/admin
Tableau de bord admin avec chiffres réels
Chiffres réels de l'instance de démonstration : 33 élèves, 1 767 quêtes publiées, 0 signalement ouvert.
quetes.dev/notifications
Centre de notifications
Chaque signalement traité relance automatiquement la personne concernée, en direct.
VI.

La feuille de route

Vision, pas encore construit

Ce qui suit n'existe pas encore dans le code. C'est la direction que le socle actuel (rôles déjà séparés, hub de classe déjà central, API déjà découpée par domaine) permet de prendre rapidement, sans tout reconstruire.

Application mobile
Retrouver ses quêtes, ses badges et ses notifications en mobilité, et scanner le QR d'émargement directement depuis l'appli plutôt qu'avec l'appareil photo natif. Le parcours élève déjà pensé mobile-first côté web, et la page de signature déjà conçue pour être réutilisée en vue embarquée, en posent la première pierre.

Vulpy, générateur de contenu

Étendre l'assistant au-delà de la correction : proposer un premier brouillon de quête à partir d'un thème, que le formateur affine ensuite.

Plusieurs organismes, une instance

Le rôle ADMISSION, déjà séparé du pédagogique, prépare le terrain pour accueillir plusieurs structures de formation distinctes.

Agenda synchronisé

Export et synchronisation du planning de classe vers un calendrier externe, pour ne plus tenir le rythme à deux endroits.

Quêtes

Un cursus qui prouve la compétence, pas seulement le contenu.

Ce dossier ne présente rien à l'état de maquette : tout ce qui figure dans les chapitres I à V tourne déjà en production, avec ses tests, ses migrations et son historique de déploiement. La feuille de route n'est pas une promesse en l'air, elle part d'un socle qui la rend atteignable.