Contexte
S — SyntaxMap est passé d’une démo ‘tense map’ à un SaaS pour écoles voulant un coaching adaptatif. Chaque établissement réclamait ses propres utilisateurs, analytics et réglages IA alors que la base de code monolithique n’était ni sécurisée ni multi-tenant. T — Piloter la réécriture pour supporter des quiz multijoueurs simultanés, le tutorat IA et une auditabilité RGPD sans dégrader la vélocité de livraison.
Menaces
- Schémas partagés risquaient d’exposer les données par des jointures imprécises.
- Les prompts IA acceptaient du markdown brut, ouvrant des vecteurs d’injection.
- Rooms Socket.IO sans logique de nettoyage, créant des sessions fantômes sous charge.
- Secrets n8n stockés en clair, hors conformité.
- Moins de 20 % de couverture tests, rendant les refactors dangereux.
Approche
- Introduit des services tenant-aware avec RLS Postgres + partitionnement ; chaque token API embarque locataire et rôle.
- Enveloppé les appels IA dans des validateurs Zod, allowlists de prompts et quotas avant d’atteindre le provider.
- Reconstruit le frontend en Next.js App Router, hooks data compatibles Suspense et stores Zustand pour une hydratation déterministe.
- Implémenté des namespaces Socket.IO par classe avec timers serveur autoritaires, validation de coups et heartbeat pruning.
- Containerisé (Docker Compose) frontend, API, workers, n8n, Postgres, Redis et externalisé les secrets via Doppler.
- Ajouté des pipelines GitHub Actions (lint, typecheck, Jest, Trivy, Gitleaks) + previews partagées avec les équipes pédagogiques.
- Automatisé les workflows op via n8n : emails cohortes, rapports parents et alertes quand l’engagement chute.
- Construit des overlays analytics montrant impact du tuteur IA vs l’enseignant pour alimenter les SLA établissements.
Résultats
La latence a chuté de 40 %, les pilotes multi-écoles ont tenu 50+ sessions simultanées sous 150 ms et aucun leak n’est ressorti des tests de chaos. L’onboarding est passé d’une journée d’édition SQL à un script CLI de 6 minutes. Le tutorat IA a fait grimper de 23 % la complétion et le paquet conformité (DPIA, logs, rétention) a été validé sans retours.
Retours d’expérience
Sécurité, pédagogie et plaisir cohabitent quand la multi-location est pensée dès le départ. Les garde-fous (RLS, hygiène des prompts, observabilité) ont libéré l’équipe pour fabriquer des expériences hautement fiables plutôt que d’éteindre des incendies.
