M-CompteRendu - Compte rendu d'une opération lourde¶
Type : composant transverse de restitution, affiché à la fin d'une opération longue. Premier point d'application : la fin d'import (M-Import). Vocation à servir aussi la fin de dépôt (M-Lot) et la fin de réactivation d'un passage archivé. Persona principal : tous. C'est le moment où l'utilisateur décide s'il continue. Parcours couverts : P2 - Importer une nuit d'enregistrement, puis P4 - Préparer un lot prêt à déposer et P12 - Récupérer une nuit déposée sur VigieChiro (compte rendu de réactivation). Issue : #2358 (chantier #2350, lot 2).
Une opération lourde brasse plusieurs gigaoctets pendant plusieurs minutes, sans que l'utilisateur puisse rien vérifier par lui-même. Quand elle se termine, il a trois questions, et aucune n'appelle une liste :
| Ce qu'il se demande | Ce que le compte rendu montre |
|---|---|
| « Est-ce que ça s'est bien passé ? » | la part de ce qui est passé, la part de ce qui a été écarté |
| « Qu'est-ce que ça m'a coûté sur le disque ? » | le volume écrit, ventilé bruts / séquences |
| « Qu'est-ce que je fais maintenant ? » | l'action suivante, pas un bouton « Fermer » |
Ce composant n'ajoute aucune donnée. Le rapport d'import, le bilan de publication et le rapport de réactivation contiennent déjà tout ce qui est affiché ici. Ce qui change est la forme : des proportions à la place des puces, et une action à la place d'un acquittement.
Maquette principale - fin d'import, avec rejets et avertissement¶
Annotations¶
- Titre et pastille de résultat (
lblTitre,badgeResultat) : l'opération, son objet, et le résultat chiffré en un coup d'œil. La pastille porte un libellé chiffré, pas une couleur seule. - Bloc « Volume traité » (
blocVolumes) : barres proportionnelles à l'échelle. Une barre qui ne respecte pas les quantités qu'elle représente est pire qu'un tableau : elle donne une impression fausse avec l'autorité du visuel. La ventilation bruts / séquences répond à la question du coût disque, qui est la seconde question réelle après « est-ce que ça a marché ». - Bloc « Devenir » (
blocVentilation) : barre empilée exhaustive. La somme des segments fait le total, et le reliquat porte un nom. Un segment « autres » silencieux masque exactement ce que l'utilisateur cherchait. La légende chiffre chaque part en valeur et en pourcentage. - Bloc « Motifs » (
tableMotifs) : une ligne par motif, avec son effectif et un accès à la liste correspondante. Le détail reste accessible, il n'est simplement plus la première chose qu'on lit. - Bloc « Avertissements encore vrais » (
blocAvertissements) : distinct des erreurs, et filtré sur ce qui reste vrai à la fin de l'opération. Un avertissement levé en cours de route n'a rien à faire dans un compte rendu final. - Pied : l'action suivante (
boutonActionSuivante) : le compte rendu ne se termine pas sur « Fermer ». Il propose ce qu'on fait ensuite, parce que c'est la question réelle de l'utilisateur à cet instant. Les informations de contexte sur l'espace disque restent secondaires, à droite. - Aucun texte d'exception brut n'est jamais l'unique message : une cause technique peut accompagner un message écrit pour un humain, elle ne peut pas le remplacer.
Variante - opération en échec¶
Quand l'opération échoue, la structure ne change pas : ce sont les proportions qui parlent. Le compte rendu dit ce qui a tout de même été fait, ce qui a échoué et pourquoi, puis propose la reprise plutôt qu'un acquittement.
Interactions clés¶
| Élément | Action |
|---|---|
| Voir la liste sur un motif | Ouvre la liste des fichiers concernés par ce motif |
| Survol d'un segment de barre | Infobulle : effectif, pourcentage, définition du segment |
| Action suivante (bouton primaire) | Enchaîne sur l'étape logique (ouvrir le passage, retenter, vérifier) |
| Opération sans rejet ni avertissement | Les blocs correspondants disparaissent, ils ne s'affichent pas vides |
| Opération en échec | Même structure, proportions inversées, reprise proposée |
Notes pour l'implémentation¶
- Composant présentationnel pur dans
commun/view: il reçoit un modèle de compte rendu et l'affiche. Il ne va rien chercher, ne décide de rien, et n'appartient à aucune feature. - Les données existent déjà : rapport d'import, bilan de publication, rapport de réactivation. Le lot consiste à les projeter sur ce modèle, pas à les produire.
- Blocs facultatifs : chaque bloc se masque quand il n'a rien à dire. Un compte rendu sans rejet ne doit pas afficher un cadre vide intitulé « Motifs de rejet ».
- Proportions à l'échelle : la largeur des barres se calcule sur les valeurs réelles ; les très petits segments reçoivent une largeur minimale lisible et leur valeur en légende, jamais un arrondi silencieux à zéro.
- Thème sombre : aucune couleur de fond codée en dur hors feuille de style, pour que le composant survive au câblage de
DarkTheme.css(#1037). - Icônes :
FontIconIkonli, pas d'emoji (règle #700). - Forme d'insertion à trancher : fenêtre modale, panneau intégré à l'écran d'origine, ou les deux selon l'opération. La décision se prend sur les trois cas d'usage réels, pas dans l'abstrait.