mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
Update 25_01_26
This commit is contained in:
149
10_backend_risques_et_vigilance.md
Normal file
149
10_backend_risques_et_vigilance.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# Back-end — Risques & vigilance
|
||||
|
||||
Ce fichier recense des risques back-end susceptibles de provoquer :
|
||||
|
||||
- incidents prod,
|
||||
- failles de sécurité,
|
||||
- bugs non diagnostiquables,
|
||||
- régressions coûteuses,
|
||||
- incohérences de données.
|
||||
|
||||
Dernière mise à jour : 25-01-2026
|
||||
|
||||
---
|
||||
|
||||
## Règles d’utilisation
|
||||
|
||||
- Chaque entrée doit dire :
|
||||
- ce qui peut mal se passer,
|
||||
- comment on le voit (symptômes),
|
||||
- comment on le maîtrise (mitigation).
|
||||
- Si c’est lié à une stack / version : on note le contexte.
|
||||
|
||||
---
|
||||
|
||||
## AuthN/AuthZ dispersée (contrôles d’accès au fil de l’eau)
|
||||
|
||||
### Risques
|
||||
|
||||
- Règles de permissions incohérentes selon endpoints
|
||||
- Failles “oubliées” sur un endpoint secondaire
|
||||
- Audit impossible
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Utilisateurs qui accèdent à des ressources non prévues
|
||||
- Correctifs en urgence “on ajoute un if ici”
|
||||
- Bugs qui réapparaissent après refactor
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Centraliser authn/authz (middleware/policies)
|
||||
- Tests sur règles critiques
|
||||
- Logs/audit des décisions d’accès
|
||||
|
||||
---
|
||||
|
||||
## Contrats API implicites (validation faible ou absente)
|
||||
|
||||
### Risques
|
||||
|
||||
- Entrées non validées → erreurs bizarres / vulnérabilités
|
||||
- Changements qui cassent le front et les intégrations
|
||||
|
||||
### Symptômes
|
||||
|
||||
- 500 sur erreurs utilisateur
|
||||
- Incohérences de format de réponse
|
||||
- “Ça marche en staging, pas en prod” (données réelles)
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Schémas (OpenAPI/JSON Schema) + validation serveur
|
||||
- Formats de réponse cohérents
|
||||
- Versionner/éviter breaking changes
|
||||
|
||||
---
|
||||
|
||||
## Erreurs non standardisées (4xx/5xx incohérents)
|
||||
|
||||
### Risques
|
||||
|
||||
- Front et automatisations impossibles à rendre robustes
|
||||
- Debug long (pas de codes internes, pas de corrélation)
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Clients qui “retry” sur des 4xx
|
||||
- Messages techniques exposés aux utilisateurs
|
||||
- Logs inexploitables
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Mapping HTTP standard + format d’erreur stable
|
||||
- Codes internes d’erreurs applicatives
|
||||
- requestId/traceId partout
|
||||
|
||||
---
|
||||
|
||||
## Migrations risquées / non reproductibles
|
||||
|
||||
### Risques
|
||||
|
||||
- Downtime
|
||||
- Perte de données
|
||||
- Incohérence entre environnements
|
||||
|
||||
### Symptômes
|
||||
|
||||
- “Ça marche en local” mais pas en prod
|
||||
- Migration qui échoue à mi-chemin
|
||||
- Rollback impossible
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Migrations versionnées + tests staging
|
||||
- Stratégie expand/contract si besoin
|
||||
- Plan de rollback/mitigation
|
||||
|
||||
---
|
||||
|
||||
## Non-idempotence sur opérations sensibles
|
||||
|
||||
### Risques
|
||||
|
||||
- Doubles paiements / doubles créations
|
||||
- Webhooks rejoués qui cassent l’état
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Doublons de lignes en DB
|
||||
- Actions exécutées 2 fois après timeout/retry
|
||||
- Incidents difficiles à reproduire
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Idempotency key sur endpoints critiques
|
||||
- Protection anti-doublon côté DB (contraintes uniques)
|
||||
- Comportement défini en cas de retry
|
||||
|
||||
---
|
||||
|
||||
## Observabilité insuffisante (logs non structurés, pas de corrélation)
|
||||
|
||||
### Risques
|
||||
|
||||
- MTTR très élevé : on devine
|
||||
- Incapacité à mesurer l’impact utilisateur
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Logs “ça a crash” sans contexte
|
||||
- Impossible de relier une requête à une erreur
|
||||
- Latence qui dérive sans alerte
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Logs structurés + requestId/traceId
|
||||
- Métriques de base (latence, erreurs, throughput)
|
||||
- Alertes simples sur 5xx/latence
|
||||
Reference in New Issue
Block a user