Paillasse/portail/app/Http
Adam Belkacemi e35e0e3c0b optimise MariaDB : deux index confirmés par EXPLAIN, N+1 supprimé
Jeu de données de charge (500 classes, 20 000 élèves, 30 000 sessions
de lab) généré localement contre une MariaDB jetable, jamais en
production, via la nouvelle commande charge:generer (refuse de
tourner si APP_ENV=production).

EXPLAIN confirme deux manques réels : lab_sessions.etat (30 056 lignes
parcourues sans index, lu chaque minute par l'expiration des sessions
et le self-healing) et classes.archivee_a (lu chaque jour par la purge
RGPD). devoirs.echeance n'avait besoin de rien : l'index existant sur
classe_id suffisait déjà, EXPLAIN l'a confirmé plutôt que d'ajouter un
index inutile.

ResultatsController faisait une requête de corrections et une
d'observations par classe du prof (N+1) : remplacé par une requête de
chaque pour toutes les classes, regroupées en mémoire.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-14 09:31:11 +02:00
..
Controllers optimise MariaDB : deux index confirmés par EXPLAIN, N+1 supprimé 2026-10-14 09:31:11 +02:00
Middleware sépare la vitrine de l'application : vraie coquille, barre par rôle, chat 2026-10-13 18:21:28 +02:00
Resources/Api/V1 ajoute l'API publique /api/v1 (bloc B, premier chantier) 2026-10-14 01:23:23 +02:00