carnets · 2026-09-14
Deux défauts qui n'étaient pas là où on les voyait
Un pseudonyme qui réécrit le passé, et une erreur 403 qui accuse le serveur. Deux fois, le symptôme désignait le mauvais coupable.
Un pseudonyme qui réécrit le passé
Le nom affiché à côté d'une partie publiée, et sous chaque commentaire, était lu en direct sur le compte de son auteur.
Conséquence : quelqu'un qui commente vingt parties sous « Marc », puis change de pseudonyme, voit ses vingt commentaires resignés. Rétroactivement. Ce n'est pas un détail d'affichage — c'est une trace publique qu'on peut effacer après coup.
La solution propre consiste à figer le nom sur chaque partie au moment où elle est publiée. Elle demande une colonne de plus, donc une migration de base, donc un moment choisi. En attendant, la règle honnête tient en une phrase : un pseudonyme se choisit une fois. On peut le prendre, pas le reprendre.
Deux chemins l'écrivaient — la page du compte et la fenêtre de discussion d'un direct. N'en fermer qu'un n'aurait rien fermé. Et on le dit avant, à la création, plutôt qu'au moment où l'on se cogne au mur.
« Something is broken »
Un formulaire d'administration, un clic, et cette page :
The server returned a "403 Forbidden". Something is broken. Please let us know what you were doing when this error occurred.
Rien n'était cassé. La session avait été détruite, et le jeton de sécurité que portait la page n'existait plus.
La chaîne était écrite dans notre propre fichier de déploiement. Le volume qui contient le code contient aussi var/sessions, où le framework range les sessions par défaut. Et la procédure de mise à jour documente, noir sur blanc, qu'il faut supprimer ce volume après chaque reconstruction.
Chaque déploiement déconnectait donc tout le monde, et tout formulaire resté ouvert répondait 403.
Deux corrections. Les sessions sortent du volume du code : c'est un couplage entre le code et l'état des gens connectés, et il n'avait aucune raison d'être. Et le refus dit ce qu'il faut faire :
Cette page était ouverte depuis trop longtemps : son jeton de sécurité a expiré. Recharge la page et refais le geste — rien n'a été débité ni offert.
Le point commun
Dans les deux cas, le symptôme désignait le mauvais coupable. Un pseudonyme qui change semble cosmétique ; une erreur 403 semble venir du serveur. Et dans les deux cas, la correction la plus utile n'était pas la plus technique : c'était de dire la vérité au bon moment — avant de choisir un nom, au lieu de le refuser ensuite ; en nommant la session expirée, au lieu d'accuser le serveur.