Le contexte
Projet Résurgence est une plateforme de jeu en ligne maintenue en production depuis 2023. Ce qui a commencé comme un projet applicatif rassemble désormais plus de dix services : une API REST, cinq interfaces web, des bots et des workers, reliés à une base de données et une authentification communes.
L’architecture
Repère dans l’Atlas : Résurgence se trouve à l’intersection des cinq territoires. Revenir à la carte interactive.
Le monorepo Docker Compose orchestre l’API, des panels Flask, les bots et les workers. Les images sont publiées sur GHCR par la CI/CD. Alembic porte les migrations de schéma de la base PostgreSQL partagée.
Une identité, plusieurs interfaces
Un service d’authentification centralise les jetons JWT et les permissions par scopes. Une bibliothèque cliente expose des décorateurs Flask partagés. Cinq interfaces React, TypeScript ou Flask utilisent ce SSO, avec Discord OAuth2 selon les parcours.
Exploiter, pas seulement déployer
- Services systemd et endpoints
/healthsur un VPS Linux. - Reverse proxy Nginx, certificats TLS Let’s Encrypt et pare-feu UFW.
- Administration et documentation limitées au VPN WireGuard.
- Documentation Sphinx centralisée et contrat d’API Swagger.
- Pages d’observabilité dédiées au réseau et à la sécurité.
Défense en profondeur
L’API n’est joignable qu’en interne. Les mots de passe sont hachés avec PBKDF2. Un middleware commun assure le rate limiting, bloque les chemins sensibles comme .env et .git, bannit automatiquement certaines IP et transmet des alertes Discord en temps réel.
Ce que ce système démontre
Les frontières entre backend, système, exploitation et sécurité ne résistent pas à la production. Une décision de schéma touche les migrations ; un nouveau service touche le déploiement, les contrôles d’accès, la supervision et la documentation. C’est précisément le point central de ma carte professionnelle.