latosa.cems.dev
Note aux jurys d'admission
L'application web originale et son API sont actuellement hors ligne. Vous vous trouvez sur une page d'archive statique mise en place pour expliquer l'état de ce projet.
J'ai développé ce site lors de mon stage de BUT 2 pour l'association Picardie Escrima. Le président était très satisfait du résultat, mais pour des raisons internes à l'association, le site n'a jamais été hébergé officiellement. Comme c'était un projet sur lequel je m'étais beaucoup investi, j'ai décidé de le déployer moi-même sur mon propre VPS pour pouvoir le garder sur mon CV.
J'hébergeais également une instance Gitea sur ce même serveur. Il y a eu récemment une faille de configuration dessus, ce qui a permis à un mineur de cryptomonnaie de s'installer. Dès que je m'en suis rendu compte, j'ai préféré ne prendre aucun risque : j'ai complètement rasé le VPS pour repartir sur une base saine. Le code de cette application n'était pas en cause, mais elle a fait les frais du nettoyage.
Bien que le code source soit intact, je n'avais malheureusement pas automatisé les sauvegardes du volume PostgreSQL en production. La bonne nouvelle, c'est que la structure complète de la base de données a survécu : étant rigoureusement gérée par code via l'ORM Bun en Golang, les schémas ont pu être restaurés instantanément. Cependant, les données réelles ayant été perdues, j'ai préféré geler le projet et afficher cette page d'explication plutôt que de générer de fausses données pour faire illusion.
C'est une excellente leçon sur la production. J'ai retenu l'importance vitale d'isoler les services annexes (comme Gitea), et le fait qu'une base de données sans dump automatisé est en sursis. À l'inverse, cela a complètement validé mon choix technique d'utiliser des migrations strictes (Go + Bun) : c'est cette rigueur qui a sauvé l'architecture complète de mes données.
Rapport d'incident technique — 2026