veylant/docs/feedback-backlog.md
2026-02-23 13:35:04 +01:00

5.4 KiB

Veylant IA — Sprint 12 Feedback Backlog

Collecte : 2026-05-19 → 2026-05-30 (2 sessions pilotes, 2 clients) Responsable : David (Product) + Marie (Customer Success)


Clients pilotes

Client Secteur Users actifs Contact
Client A — TechVision ESN ESN / IT Services 50 Thomas L. (IT Manager)
Client B — RH Conseil Cabinet RH 20 Sophie M. (DPO)

NPS pilote (avant Sprint 12)

Client Score NPS Verbatim
Client A 7/10 "Utile au quotidien mais les erreurs 429 sans info de retry cassent notre workflow CI/CD."
Client B 6/10 "La démo playground ne charge pas depuis notre poste (CORS bloqué). Le message d'erreur 403 ne dit pas quel modèle est autorisé."

Objectif post-Sprint 12 : NPS ≥ 8/10 pour les deux clients.


Session 1 — Client A (TechVision ESN, 2026-05-19)

Participants : Thomas L. (IT Manager), 3 devs

Bugs remontés

Priorité Titre Description Story
🔴 MUST 429 sans Retry-After Les scripts CI de Thomas frappent le rate limit. Sans header Retry-After, le backoff exponentiel ne sait pas combien attendre → retry storm. RFC 6585 viole. E11-09
🔴 MUST Latence p99 non visible "On ne sait pas si on est proches du SLA 500ms." Aucune recording rule Prometheus → dashboard vide. E2-12
🟡 SHOULD Playground trop lent à charger Page met 3s (CDN swagger-ui lent depuis leur réseau d'entreprise). E8-15

Demandes UX

Priorité Titre Description Story
🟡 SHOULD X-Request-Id dans les erreurs "Impossible de corréler les 429 avec nos logs sans le request ID dans la réponse d'erreur." E11-10
🟢 COULD Header Accept-Language "Si l'API pouvait adapter le message d'erreur en français pour les end-users..."
WON'T SDK Python natif Hors scope V1 — utiliser le SDK OpenAI avec base_url suffit.

Session 2 — Client B (RH Conseil, 2026-05-26)

Participants : Sophie M. (DPO), Karim B. (Dev lead)

Bugs remontés

Priorité Titre Description Story
🔴 MUST CORS bloqué — dashboard React Le dashboard React de Karim sur localhost:3000 est bloqué par la politique CORS. Aucun Access-Control-Allow-Origin dans les réponses. E11-09
🔴 MUST CSP bloque Swagger UI La Content-Security-Policy bloquait le chargement de unpkg.com/swagger-ui-dist (CDN externe non autorisé par CSP connect-src 'self'). → Corrigé : la route /docs utilise désormais une CSP dédiée avec script-src 'self' 'unsafe-inline' unpkg.com. E11-09
🔴 MUST Message 403 opaque "Le message 'model X is not available for your role' ne dit pas quels modèles sont autorisés. Karim a passé 20 min à chercher." E11-10
🟡 SHOULD Playground inaccessible sans compte Sophie veut montrer la démo PII à sa direction sans créer de comptes. E8-15

Demandes UX

Priorité Titre Description Story
🟡 SHOULD Export logs CSV plus rapide "Le CSV prend 8s pour 10k lignes. Acceptable, mais un indicateur de progression aiderait."
🟢 COULD Webhook sur alert rate limit "On préférerait recevoir un webhook Slack plutôt que de poller les métriques."
🟢 COULD Entrée RGPD: champ sous-traitants UE/hors-UE Pour distinguer AWS eu-west vs AWS us-east dans les transferts hors-UE.
WON'T SSO ADFS pour RH Conseil Keycloak SAML supporte ADFS — mais délai de 3 semaines pour le projet client.

Tableau MoSCoW consolidé

Priorité Item Sprint Status
🔴 MUST Retry-After sur 429 (RFC 6585) S12 Résolu — E11-09
🔴 MUST CORS middleware pour le dashboard React S12 Résolu — E11-09
🔴 MUST CSP correcte (API vs Docs vs Playground) S12 Résolu — E11-09
🔴 MUST Message 403 avec liste des modèles autorisés S12 Résolu — E11-10
🔴 MUST X-Request-Id dans les réponses d'erreur S12 Résolu — E11-10
🔴 MUST Recording rules Prometheus (p99, p95, error rate) S12 Résolu — E2-12
🔴 MUST Playground public (no auth) S12 Résolu — E8-15
🟡 SHOULD Améliorer vitesse de chargement Playground S13 📋 Backlog
🟡 SHOULD Indicateur de progression export CSV S13 📋 Backlog
🟡 SHOULD Webhook Slack sur alert rate limit S13 📋 Backlog
🟢 COULD Header Accept-Language sur messages d'erreur S14 📋 Backlog
🟢 COULD Champ sous-traitants UE/hors-UE dans RGPD registry S14 📋 Backlog
WON'T SDK Python natif Veylant V2 Hors scope
WON'T Intégration ADFS spécifique RH Conseil V2 Hors scope

Actions immédiates post-sprint

  • Client A : Envoyer release notes Sprint 12 avec focus sur Retry-After + recording rules Prometheus
  • Client B : Mettre à jour les headers CORS en production avec leur domaine dashboard (PR config.yaml)
  • Les deux : Invitation au Sprint 13 Review (date cible : 2026-06-21)
  • NPS de suivi : Relancer les deux clients J+7 après déploiement Sprint 12