Exigences non-fonctionnelles

Exigences de performance, disponibilité, sécurité, conformité, observabilité et compatibilité de la plateforme Pulse my Promo.

Performance

MétriqueSeuil
Recherche carte / filtresp95 < 500 ms (hors latence réseau client)
Endpoints CRUD standardp95 < 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 requestId sur 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.