Commit graph

2 commits

Author SHA1 Message Date
Adam Belkacemi
ca544ac620 ajoute le cache Redis sur les lectures lourdes (bloc B)
Catalogue (labs, banque de quiz officielle, cours) et liste des
classes du tableau de bord prof - jamais d'expiration, invalidation
explicite par les commandes de synchronisation et par
archiver/désarchiver/purge RGPD.

Bug trouvé en vérifiant en réel sur le serveur (pas en local, où
CACHE_STORE=array ne sérialise jamais rien) : mettre en cache des
modèles Eloquent hydratés plante à la relecture via Redis
("incomplete class" à l'unserialize). Corrigé en cachant les attributs
bruts et en reconstruisant de vrais modèles avec Model::hydrate().

Mesuré en réel : 5 appels directs = 5 requêtes SQL, 5 appels via le
cache = 1 requête SQL.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-14 07:34:55 +02:00
Adam Belkacemi
a41951d4e6 peuple la banque de quiz avec du vrai contenu, rangé par thème
Un quiz.gift par séquence (01 à 07, le 08 existait déjà), lu par un
nouveau service LecteurGift et synchronisé par quiz:synchroniser-banque
(même esprit que labs:synchroniser) vers un propriétaire technique
jamais archivé (BanqueOfficielle), pour ne pas reproduire la dette du
quiz partagé qui disparaît à la purge RGPD. /banque-quiz regroupe
maintenant par thème comme /bibliotheque.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-13 16:14:36 +02:00