Apparence
F11 — Export Excel (dossier de recette)
| Attribut | Contenu |
|---|---|
| Objectif | Produire le livrable de recette Excel (transmission projet) |
| Description | Génération d'un classeur à 7 feuilles : Page de garde, Synthèse, Tests-Flux, Étapes, Anomalies, Journal, CRIMs. Mise en forme soignée (couleurs par état/gravité/statut, en-têtes figés) |
| Déclenché depuis | Synthèse, Journal, Anomalies, CRIMs, Détail |
| Nommage | recette-<PROJET>-<CODE_CAMPAGNE|REF>-<date>.xlsx |
| Règles métier | RG-23 |
| Critères d'acceptation | Quand j'exporte en vue campagne alors le fichier contient les 7 feuilles et une page de garde renseignée |
Le classeur est fabriqué par le navigateur du poste qui demande l'export, à partir des données déjà affichées à l'écran. Conséquence pratique : au-delà d'un certain volume de campagne, la génération deviendra lente. Le basculement vers une génération sur le serveur est prévu comme évolution, sans changement visible pour l'utilisateur — hormis la disparition de l'attente.
🛠️ Détails techniques (v2)
| Attribut | Contenu |
|---|---|
| Génération | Côté client (ExcelJS — conservé en v2) ; données issues des queries Convex |
| Données | En mode campagne, anomalies rechargées depuis la base ; en repli, dérivées des étapes. Les stats de la page de garde recalculent l'avancement à partir des étapes affichées |
Point d'extension — générer le classeur côté serveur. La génération côté client impose de charger l'intégralité des données de la campagne dans le navigateur, en plusieurs queries. Une query Convex lit au plus 32 000 documents en 1 seconde de code utilisateur : la marge n'est pas infinie.
Bascule prévue → déplacer la génération dans une action Convex (runtime Node) qui écrit le classeur dans File Storage et renvoie une URL de téléchargement. Le code ExcelJS est identique ; seul l'endroit d'exécution change. Voir Exigences non-fonctionnelles.
🆕 Évolutions proposées — deux extensions sont décrites en A7 — Imports / Exports Excel : une feuille supplémentaire « Tableau de bord » (A1), une feuille « Matrice de traçabilité » (A8), et un export « développeur » distinct — anomalies ouvertes, triées par gravité, ré-importable pour récupérer les retours de l'équipe de développement.