Décisions
Chaque décision est datée, avec son pourquoi et ce qui a été écarté. Une décision qui n’a pas de « pourquoi » n’est pas une décision, c’est un accident.
2026-08-06 — Le prompt système respecte les neuf principes comme structure
Décision : SYSTEM_PROMPT est découpé en neuf sections canoniques, avec injection du style du fournisseur pour le principe « adaptation au modèle cible ».
Pourquoi : demander les neuf principes dans les instructions ne garantit rien si le prompt lui-même n’est pas structuré ainsi ; la structure est la garantie.
Garde-fou : un test de conformité permanent (tests/prompt-compliance.test.js, 4 tests) échoue si une section disparaît.
Alternative écartée : une simple consigne en prose, sans sections — impossible à vérifier automatiquement.
2026-08-27 — Une bibliothèque de prompts plutôt qu’un historique long
Décision : livrer la bibliothèque (#41) — catégories, tags, filtres, édition en ligne, détection de doublons — et porter l’historique à 200 entrées. Pourquoi : un historique qu’on ne relit pas ne sert à rien ; c’est la réutilisation qui crée la valeur. Alternative écartée : augmenter encore la taille de l’historique, qui n’aurait fait que repousser le problème.
2026-08 (v3.1) — La production passe du serverless au VPS Docker
Décision : la production est servie par le conteneur myprptgen sur le VPS, derrière Traefik. Les fichiers Vercel (api/index.js, vercel.json) restent comme adaptateur historique.
Pourquoi : maîtrise du déploiement, HTTPS et secrets gérés sur l’infrastructure propre ; cohérence avec les autres projets.
Conséquence à connaître : lire la documentation de déploiement VPS, pas celle de Vercel, pour intervenir en production.
2026-08 (v3.0) — Trois rôles plutôt qu’un mot de passe partagé
Décision : rôles admin, technique et grand public, cookie signé portant le rôle, page Paramètres séparée de la génération. Pourquoi : le mot de passe unique ne permettait ni de restreindre ce que voit un utilisateur occasionnel, ni de révoquer un accès sans pénaliser tout le monde. Reste ouvert : #29, migration vers PocketBase pour obtenir reset de mot de passe, OAuth et 2FA sans les développer.
2026-08-28 — L’ergonomie mobile se prouve par la mesure
Décision : chaque correctif d’affichage mobile est validé par une mesure Playwright à 412 px, avec l’exigence « zéro débordement horizontal ». Pourquoi : les corrections à l’estime se contredisaient d’une session à l’autre ; la mesure tranche. Exemple : #46 a mesuré une barre d’actions à 501 px pour un écran de 412 px — invisible autrement.