$aperçu
État global de la plateforme — élèves, soumissions en attente, activité récente.
Écris un mot ici → bandeau visible sur le tableau de bord de chaque élève. Laisse vide et clique « Effacer » pour l'enlever.
$élèves
Liste des élèves inscrits — cliquer pour ouvrir la fiche détaillée (devoirs, tentatives, niveau).
$soumissions
Inbox des exercices soumis par les élèves — auto-correction + review IA + ton commentaire.
$diagnostics
Tests de placement passés depuis /diagnostique.html. Inclut les passages anonymes (avant inscription) et identifiés.
$remarques
Questions, signalements et coquilles relevés par les élèves sur les pages de leçon.
$devoirs
Attribuer un devoir à un élève, suivre les deadlines, marquer terminé.
› assignments.list
$récompenses
Attribuer XP et badges. Dessine tes PNG dans /app/assets/badges/<slug>.png — un fallback emoji s'affiche si manquant.
$leçons
Catalogue des leçons enregistrées en BD. Le bouton « Sync » scanne le filesystem pour ajouter les nouvelles leçons (lecon-N, bonus, savoir-faire).
$openrouter
Clé API, choix du modèle, suivi des appels et du coût.
Ta clé reste en base, chiffrée. Endpoint Phase 2.
$réglages
Paramètres globaux + maintenance de la base de données.
Exécute tous les schema-*.sql du dossier api/ sur la base prod.
Idempotent : les tables déjà créées ne sont pas re-créées,
les colonnes déjà ajoutées sont ignorées proprement.
À lancer la première fois que tu déploies, et après chaque ajout de schéma.
Crée les sous-dossiers personal_lesson/<username>/ et en/personal_lesson/<username>/
pour tous les élèves qui n'en ont pas encore. Les nouveaux inscrits l'auront automatiquement.
Idempotent — re-cliquer ne casse rien.