Projet réalisé dans le cadre du Master Informatique.
Binôme : RABETRANO_SIDI
Technologies imposées :
- Backend : Quarkus
- Persistance : Jakarta Persistence API (JPA)
- Base de données : DuckDB
- Frontend : React
- UI : React UI
- Génération d'exercices : LLM local (Qwen 2.5 Coder)
AI Code Mentor est une plateforme pédagogique permettant à un enseignant de générer automatiquement des exercices Java à l'aide d'un modèle de langage local.
L'application permet :
- la création d'exercices Java
- la génération automatique du squelette de code
- la génération d'une solution exemple
- la génération de tests unitaires JUnit
- la soumission du code par les étudiants
- la correction automatique
- le suivi des soumissions
Le modèle IA fonctionne localement sans dépendance à une API externe.
Technologies :
- Java 25
- Quarkus 3.28
- Hibernate ORM
- Jakarta Persistence API (JPA)
- DuckDB
Structure :
src/main/java/fr/umlv/m1
dto/
model/
repository/
services/
rest/
Technologies :
- React 19
- TypeScript
- Vite
- React Router
- React UI
Structure :
src/
pages/
components/
services/
types/
Base embarquée :
DuckDB
Fichier :
test.duckdb
Configuration :
quarkus.datasource.jdbc.url=jdbc:duckdb:./test.duckdbModèle utilisé :
Qwen2.5-Coder-3B-Instruct
Format :
GGUF
Bibliothèque :
de.kherud:llama:4.2.0Le modèle est téléchargé automatiquement lors du build Maven.
- Java 25
- Maven 3.9+
- Node.js 20+
- npm
cd rabetranosidi-frontend
npm install
npm run buildCela génère :
dist/
Copier le contenu de :
rabetranosidi-frontend/dist/
vers :
rabetranosidi-backend/src/main/resources/META-INF/resources/
afin que Quarkus serve directement l'application React.
cd rabetranosidi-backend
mvn clean packageMode développement :
mvn quarkus:devMode production :
java -jar target/quarkus-app/quarkus-run.jarLe projet peut utiliser CUDA si :
- une carte NVIDIA est disponible
- llama.cpp a été compilé avec CUDA
- la bibliothèque native :
native-libs/libjllama.so
est présente
Sinon le système bascule automatiquement sur le CPU.
- création d'exercices
- génération IA
- validation des exercices
- consultation des soumissions
- attribution de feedback
- consultation des exercices
- soumission du code
- exécution
- visualisation des retours
Les échanges utilisent :
JSON
Les DTO sont définis sous forme de records ou objets dédiés dans :
dto/
Exécution :
mvn testLes tests utilisent :
- JUnit 5
- Quarkus Test
Projet universitaire réalisé par :
- RABETRANO Haritiana Mathieu
- SIDI Mouayad
Master Informatique Université Gustave Eiffel