Code-Hinter
Correction par IA intégrée à VS Code
Des exercices de programmation créés, soumis et corrigés par IA sans quitter VS Code.
Construit avecTypeScriptVS Code API
Python
Flask
Next.js
Hugging Face Transformers
Supabase

Présentation
Dans un cours de programmation, les exercices vivent généralement à un endroit, le code des étudiants à un autre et la correction à un troisième. Pour un projet d’équipe à l’École Centrale de Lyon, nous nous sommes demandé si toute la boucle pouvait se dérouler dans l’éditeur que les étudiants utilisent déjà, tout en laissant le professeur décider de ce qui constitue une bonne réponse.
Nous avons construit Code-Hinter : une extension VS Code, un backend Python/Flask et une application web Next.js complémentaire. Les professeurs définissent des exercices avec une solution de référence et les concepts attendus ; les étudiants se connectent, choisissent un exercice, puis évaluent ou soumettent leur code depuis la palette de commandes. Un petit modèle ouvert (SmolLM2-1.7B-Instruct) vérifie le code au regard des concepts du professeur et note sa proximité avec la solution de référence.
Ce projet m’a appris que le retour d’une IA n’inspire confiance que lorsque les critères sont explicites et maîtrisés par l’enseignant. Il est resté un projet académique et n’a pas été déployé au-delà du cours.
La question
La correction assistée par IA peut-elle s’intégrer là où les étudiants travaillent déjà — l’éditeur — tout en laissant aux professeurs le contrôle des critères d’évaluation ?
Fonctionnalités clés
- Commandes VS Code pour se connecter, se déconnecter, changer d’exercice, évaluer son code et le soumettre pour comparaison.
- Évaluation par concepts : pour chaque concept listé par le professeur, le modèle répond oui ou non avec une courte explication et signale les erreurs de syntaxe ou de logique.
- Score de similarité qui compare la soumission de l’étudiant au code de référence du professeur et renvoie une note de 0 à 100.
- Suggestions de code par IA dans les fichiers Python, déclenchées avec Ctrl+Space et proposées comme élément de complétion qui remplace le fichier par le code généré.
- Une application web Next.js avec connexion via Supabase et des tableaux de bord distincts pour les enseignants et les étudiants, afin de créer, modifier et travailler sur les exercices.
Comment ça marche
Le professeur définit l’exercice
Chaque exercice stocke le code de référence du professeur et les concepts qu’une bonne réponse doit faire apparaître, reliés aux professeurs et aux étudiants dans un modèle relationnel simple.
L’étudiant travaille dans l’éditeur
L’extension lit le fichier ouvert et l’envoie à l’API Flask (evaluate_code, compare_code ou complete_code) avec l’exercice sélectionné.
Le modèle évalue selon les critères
Le backend interroge SmolLM2-1.7B-Instruct via Hugging Face Transformers pour vérifier chaque concept, ou pour renvoyer un unique score de similarité de 0 à 100 par rapport à la solution de référence.
Le résultat revient dans VS Code
La réponse est affichée à l’étudiant dans l’éditeur, et l’application web offre aux enseignants et aux étudiants une vue tableau de bord des exercices.
Exemples



Entrée
POST /api/evaluate_code with the exercise's concepts and the student's code, e.g. "print([x for x in range(10)])"
Sortie
One line per concept in the format the grading prompt requires: "[nbr]) [yes/no], [explanation in 6 words]", with any syntax or logic error called out.
Stack technique
Commandes et fournisseurs de l’extension VS Code
Commandes, complétions et résultats en webview
Logique backend et inférence du modèle
API REST pour la correction et les exercices
Tableaux de bord web enseignants et étudiants
Exécute SmolLM2-1.7B-Instruct pour la correction
Authentification de l’application web et rôles utilisateurs
Ce que j’ai appris
- Les critères de notation doivent être explicites et maîtrisés par l’enseignant pour que le retour de l’IA inspire confiance
Limites
- Projet académique en équipe ; non déployé au-delà du cours