Construire un PaaS en 14 jours signifie livrer vite et casser des choses à un rythme qui ferait pleurer un ingénieur QA. Nous avons cassé beaucoup de choses. Certains bugs étaient triviaux -- un import manquant, un décalage de pagination off-by-one. Mais une poignée de bugs ont failli faire dérailler le projet entier. Ils étaient le genre de défaillances qui ne produisent aucun message d'erreur, ou pire, produisent un message d'erreur qui ment.
Les bugs couverts : les échecs de git pull dans les conteneurs Alpine (pas de git installé par défaut), la protection CSRF qui bloquait les uploads de fichiers (le formulaire multipart ne contenait pas le header CSRF), les processus Caddy résiduels qui occupaient les ports après un crash, le bug FTP IPv6 dans la bibliothèque OpenDAL qui corrompait les adresses de transfert passif, les alias réseau Docker qui ne résolvaient pas entre conteneurs sur le même réseau bridge, et la pagination off-by-one qui faisait disparaître la dernière entrée.
Chaque bug est raconté avec le symptôme, l'investigation, la cause racine et le correctif. Le fil conducteur : les bugs les plus dangereux ne sont pas ceux qui produisent des erreurs claires. Ce sont ceux qui échouent silencieusement ou produisent des symptômes trompeurs.
Prochain dans la série : OpenAPI comme source unique de vérité : docs, outils MCP et playground.