# MathGuide Bénin
Tuteur IA **socratique** de mathématiques, conforme au programme officiel du Bénin (Approche Par Compétences), de la **6ᵉ à la Terminale** (séries A1, A2, B, C, D et techniques).
MathGuide Bénin ne donne **jamais** la réponse finale : il guide l'élève par des questions, des indices progressifs et des rappels de cours, pour qu'il construise lui-même la solution.
## Fonctionnalités
- 💬 Chat socratique adapté à la classe et à la série de l'élève
- 📷 Upload d'image d'exercice avec OCR (texte manuscrit/imprimé) + détection de figure
- 📚 Base de connaissances RAG indexée automatiquement à partir des PDF des programmes officiels (`data/programmes/`)
- 📈 Suivi de progression par compétence (numérique, géométrie, fonctions, probabilités, etc.)
- 🎯 Bouton "Proposer un exercice selon ma progression"
- 🖥️ Interface web moderne et responsive (mobile compris)
## Installation
### 1. Prérequis
- Python 3.10+
- (Recommandé) un environnement virtuel
```bash
python -m venv venv
source venv/bin/activate # Windows : venv\Scripts\activate
```
### 2. Installer les dépendances
```bash
pip install -r requirements.txt
```
> Le premier lancement d'EasyOCR et de sentence-transformers télécharge des modèles (~200-500 Mo). Prévoir une connexion internet la première fois.
### 3. Configurer la clé API
```bash
cp .env.example .env
```
Puis éditer `.env` et renseigner :
- `LLM_PROVIDER` = `groq` (gratuit, recommandé), `xai` (Grok), `openai` ou `mistral`
- La clé correspondante : `GROQ_API_KEY`, `XAI_API_KEY`, `OPENAI_API_KEY` ou `MISTRAL_API_KEY`
#### Où obtenir une clé API gratuitement
| Fournisseur | Gratuit ? | Lien |
|---|---|---|
| **Groq** (recommandé pour démarrer) | Oui, limites généreuses, sans carte bancaire |
console.groq.com |
| Google Gemini | Oui (~1500 req/jour) — nécessite d'adapter `llm.py` (format d'API différent) |
aistudio.google.com |
| Mistral (La Plateforme) | Palier "Experiment" gratuit et limité |
console.mistral …