Exigences non-fonctionnelles
Exigences de performance, disponibilité, sécurité, conformité, observabilité et compatibilité de la plateforme Pulse my Promo.
Performance
| Métrique | Seuil |
|---|---|
| Recherche carte / filtres | p95 < 500 ms (hors latence réseau client) |
| Endpoints CRUD standard | p95 < 300 ms |
| TTFB page principale | < 800 ms en environnement cible |
Disponibilité et résilience
- Objectif de disponibilité mensuelle : 99,5 %.
- Redémarrage automatique des services applicatifs.
- Backup PostgreSQL quotidien avec test de restauration périodique.
Sécurité
- Authentification centralisée via Better Auth et RBAC strict sur tous les endpoints.
- Ségrégation forte des données multi-organisations : chaque requête est scopée à l'organisation de l'utilisateur authentifié.
- Chiffrement TLS en transit ; les secrets sont stockés hors du code source (variables d'environnement validées au démarrage).
- Journalisation des actions sensibles en base PostgreSQL : auth, KYB, finance, admin (voir Observabilité).
Conformité et gouvernance
- Politique de rétention des logs et des données documentée et applicable.
- Traçabilité des décisions de modération et des changements de statut critiques via l'audit de sécurité persisté.
- Règles de commit conventionnels et validation CI obligatoires sur branches protégées.
Observabilité
- Logs structurés JSON avec
requestIdsur toutes les requêtes. - Niveaux de logs standardisés :
debug/info/warn/error. - Alertes minimales actives :
- Health check indisponible.
- Taux d'erreur API supérieur au seuil configuré (référence proposée : > 2 % sur 5 min).
- Échec de build ou de déploiement.
Pour les détails de mise en œuvre, voir Observabilité.
Compatibilité et accessibilité
- Interface desktop-first, support tablette.
- Parcours principaux utilisables sur navigateurs modernes (Chrome, Firefox, Safari, Edge — versions actuelles).
- Composants UI accessibles au clavier et aux lecteurs d'écran via Nuxt UI 4.