5.4 KiB
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