6. Une requête arrive sans jeton sur /mon-compte (route protégée de Salim). Réponse ?
401 = non authentifié ; 403 = authentifié mais pas le droit.
4.3 · Application
7. Salim veut un chat par boutique. Comment isoler les conversations ?
Rooms : qui rejoint quoi, diffusion au bon périmètre.
4.4 · Application
8. Un client envoie { prix: -5 } sans nom à l'API de Salim. Que faire ?
Valider avant de traiter ; 400 clair, jamais de fuite sensible.
4.4 · Application
9. Où placer le middleware de gestion d'erreurs Express de Salim ?
Centralisé en dernier : un seul format d'erreur pour toute l'API.
4.2 · Arbitrage
10. Salim découvre son secret JWT écrit en dur dans un commit poussé sur Git. Premier réflexe ?
Secret hors du code et hors Git ; rotation immédiate après exposition.
4.3 · Arbitrage
11. 40 vendeurs pollent l'API « du nouveau ? » chaque seconde et le serveur sature. Arbitrage de Salim ?
Pousser via connexion ouverte au lieu de redemander en boucle.
4.4 · Arbitrage
12. À la veille d'une livraison, Salim hésite à écrire des tests (« ça marche déjà »). Que décider ?
Non-régression : la suite verte avant chaque merge libère les évolutions.
Et après ?
Score ≥ 80 % : passez au Niveau 5 — Node.js professionnel (TypeScript, performance, Docker, déploiement) et industrialisez vos APIs.
Score 50-79 % : reprenez les sections ratées (CRUD 4.1, auth 4.2, temps réel 4.3, fiabilisation 4.4), relisez les explications ci-dessus, puis refaites le test.
Score < 50 % : recommencez le niveau depuis 4.1 en codant chaque modèle (routeur, auth, chat, tests), puis retentez l'examen à tête reposée.