transfer from private server/git server

This commit is contained in:
M1n-0
2026-08-21 09:12:02 +02:00
parent 45c8982178
commit 6ecb014238
75 changed files with 4344 additions and 274 deletions

View File

@@ -0,0 +1,27 @@
# Annexe A2 — Estimation de charge
## 4 scénarios d'usage
| Scénario | Utilisateurs simultanés | Workers Gunicorn | RAM recommandée | vCPU |
|---|---|---|---|---|
| Développement local | 25 | 1 (serveur Flask dev) | 512 Mo | 1 |
| Usage promo ydays | 1030 | 4 (formule 2×2+1≈5, arrondi à 4 threads×2) | 1 Go | 2 |
| Déploiement département | 50100 | 9 (2×4+1) | 2 Go | 4 |
| Pic événementiel | 100200 | 917 selon CPU disponible | 4 Go | 48 |
## Formule appliquée
`workers = 2 × CPU + 1` (formule standard Gunicorn). Configuration retenue
en production : 4 workers, classe `gthread`, 2 threads par worker
(`web/Dockerfile` : `gunicorn --workers=4 --worker-class=gthread
--threads=2 --bind=0.0.0.0:5000 app:app`), dimensionnée pour le scénario
« usage promo ydays », le plus représentatif de l'usage réel actuel du
projet.
## Disponibilité
`restart: unless-stopped` sur tous les services Docker (redémarrage
automatique en cas de crash), healthcheck MariaDB avec 6 tentatives
espacées de 10 s avant que Flask ne tente de se connecter (`depends_on:
condition: service_healthy` dans `docker-compose.yml`), TLS/HTTP2 géré
automatiquement par Caddy (renouvellement Let's Encrypt sans intervention).