2.1 KiB
2.1 KiB
Memoire Projet
Contexte
Ce projet est un POC de professeur virtuel pour enfants, avec:
- frontend React + Vite
- backend FastAPI
- PostgreSQL pour les donnees eleve
- Redis present dans la stack
- integration OpenAI pour reponses texte et transcription audio
Points Importants
- Le frontend appelle l'API via le prefixe
/api. - Le backend expose une route
POST /transcribepour la transcription audio. - La route
/transcribeutiliseUploadFile, doncpython-multipartest requis dans le backend. - Le vrai
docker-compose.ymlde production n'est pas dans ce repo. Il est situe un niveau au-dessus sur le serveur. - La conf nginx reelle route:
/api/verstutor-backend:8000/verstutor-frontend:3000
Dictée Vocale
- L'ancien bouton de dictee marchait en mode manuel avec
MediaRecorder.start()puisstop(). - Le mode actuel est un mode mains libres:
- activation via un clic utilisateur
- enregistrement automatique
- detection du silence
- transcription automatique
- envoi automatique du message
- Firefox s'est montre capricieux avec la mesure temps reel via
AnalyserNode. - La solution retenue s'appuie sur un traitement plus direct du flux audio pour determiner le niveau sonore.
- L'ecoute se rearme automatiquement apres:
- la transcription/envoi du message eleve
- la fin de lecture vocale du professeur
Voix du Professeur
- Le frontend charge les voix du navigateur via
speechSynthesis.getVoices(). - Une liste de voix est proposee dans l'interface.
- Les voix francaises sont priorisees dans le tri.
Points de Vigilance
- Les erreurs WebSocket Vite/HMR sur
wss://prof.open-squared.tech/...sont du bruit de dev tant que le frontend tourne via Vite derriere nginx. - Ces erreurs ne sont pas la cause principale si
/api/*renvoie des502ou si le micro se comporte mal. - En cas de
502sur/api/*, verifier d'aborddocker logs tutor-backend.
Fichiers Touchés Pendant Cette Session
frontend/src/App.jsxfrontend/vite.config.jsbackend/app/main.pybackend/app/services.pybackend/requirements.txt