# POC professeur virtuel (8-12 ans)

Ce POC propose :
- une page web avec avatar animé
- un chat pédagogique en français
- une mémoire élève persistée dans PostgreSQL
- un mini diagnostic adaptatif sur quelques compétences du programme français
- une API FastAPI branchée sur OpenAI via la Responses API
- des conteneurs Docker pour le frontend, le backend, PostgreSQL et Redis

## Lancer le projet

1. Copier le fichier d'environnement :

```bash
cp .env.example .env
```

2. Ajouter votre clé OpenAI dans `.env`.

3. Configurer le compte prof/admin initial dans `.env` :

```bash
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-me
AUTH_SECRET_KEY=replace-with-a-long-random-secret
```

4. Lancer :

```bash
docker compose up --build
```

5. Ouvrir :
- Frontend : http://localhost:3000
- API : http://localhost:8000/docs

## Parcours de démo

- Choisir un élève ou en créer un nouveau
- Cliquer sur "Démarrer la séance"
- Poser une question ou répondre au quiz
- Regarder la progression se mettre à jour
- L'avatar lit les réponses via une synthèse vocale OpenAI avec plusieurs styles de voix

## Limites du POC

- l'avatar est volontairement simple (SVG/CSS) pour rester 100 % web
- la voix sortante utilise l'API TTS OpenAI avec des profils de personnalité
- la progression couvre seulement quelques micro-compétences pour la démo
- pas encore de dashboard parent ni de conformité RGPD/CNIL complète

## Architecture

- `frontend/` : React + Vite
- `backend/` : FastAPI + SQLAlchemy + OpenAI SDK
- `postgres` : mémoire structurée élève
- `redis` : réservé au cache / file d'événements dans la suite

## Extensions conseillées

- remplacer l'avatar SVG par un avatar VRM
- passer en audio temps réel avec Realtime API + WebRTC
- enrichir le référentiel avec tout le programme national français
- ajouter un moteur de révision espacée
