front : une légende dit ce que « suspecte » et « reconstituée » veulent dire #219

Merged
lenaic merged 1 commit from lenaic/212-legende-qualite into develop 2026-09-08 21:17:28 +00:00
Owner

Ce que ça change

Le #199 a mis « suspecte » et « reconstituée » à l'écran ; personne n'expliquait
ce que ces mots veulent dire ni d'où ils viennent. Une légende repliée, sous le
tableau de la vue Parc, nomme les quatre états et les quatre méthodes.

Closes #212

Preuve

La distinction qui porte tout le reste, et que rien ne disait : ces états sont
conclus par notre traitement, ils ne sont pas déclarés par la source.
Les deux peuvent diverger, et la divergence est elle-même une information
(migration 0007, indicateur_qualite).

Les déclencheurs ne sont pas paraphrasés. Ils sont relevés sur la fonction de
services/etl/etl/silver/mesure.py qui décide, dans son ordre de gravité :

methode == AUCUNE            -> critical   un trou hors bornes reste un trou
methode in METHODES_IMPUTEES -> imputed    interpolation ou report
any(rejets) or null_reasons  -> suspect    valeur gardée, mais contestée
sinon                        -> good
6 nouveaux cas
npm run test:unit    471 passés
npm run build        OK

Relecture

  • Un pair a relu et laissé un commentaire, même court
  • Ses remarques sont traitées, ou une réponse explique pourquoi elles ne le sont pas

Où regarder en priorité

Les cas d'essai LISENT le glossaire, ils ne recopient pas les textes. Un cas
qui répéterait les chaînes passerait au vert le jour où le composant cesserait
de lire les tables — c'est-à-dire précisément le jour où ce ticket serait
défait. Le composant parcourt ETATS_QUALITE et METHODES_IMPUTATION, si bien
qu'un cinquième état apparaîtrait de lui-même.

Deux choix de placement.

  • Sous le tableau et non en tête. C'est là qu'on rencontre ces mots ; une
    légende posée avant expliquerait un vocabulaire que le lecteur n'a pas encore
    vu.
  • Un <details> natif, pas un dispositif à nous. Il s'ouvre au clavier,
    s'annonce comme repliable, son contenu se trouve avec la recherche du
    navigateur une fois ouvert, et il ne coûte pas une ligne de JavaScript.

Ce que ça n'ajoute pas. Aucun nouvel état : les quatre de la migration 0007
sont les quatre.

## Ce que ça change Le #199 a mis « suspecte » et « reconstituée » à l'écran ; personne n'expliquait ce que ces mots veulent dire ni d'où ils viennent. Une légende repliée, sous le tableau de la vue Parc, nomme les quatre états et les quatre méthodes. Closes #212 ## Preuve La distinction qui porte tout le reste, et que rien ne disait : ces états sont **conclus par notre traitement**, ils ne sont **pas déclarés par la source**. Les deux peuvent diverger, et la divergence est elle-même une information (migration 0007, `indicateur_qualite`). Les déclencheurs ne sont pas paraphrasés. Ils sont relevés sur la fonction de `services/etl/etl/silver/mesure.py` qui décide, dans son ordre de gravité : ``` methode == AUCUNE -> critical un trou hors bornes reste un trou methode in METHODES_IMPUTEES -> imputed interpolation ou report any(rejets) or null_reasons -> suspect valeur gardée, mais contestée sinon -> good ``` ``` 6 nouveaux cas npm run test:unit 471 passés npm run build OK ``` ## Relecture - [ ] Un pair a relu et laissé un commentaire, même court - [ ] Ses remarques sont traitées, ou une réponse explique pourquoi elles ne le sont pas ## Où regarder en priorité **Les cas d'essai LISENT le glossaire, ils ne recopient pas les textes.** Un cas qui répéterait les chaînes passerait au vert le jour où le composant cesserait de lire les tables — c'est-à-dire précisément le jour où ce ticket serait défait. Le composant parcourt `ETATS_QUALITE` et `METHODES_IMPUTATION`, si bien qu'un cinquième état apparaîtrait de lui-même. **Deux choix de placement.** - **Sous le tableau et non en tête.** C'est là qu'on rencontre ces mots ; une légende posée avant expliquerait un vocabulaire que le lecteur n'a pas encore vu. - **Un `<details>` natif, pas un dispositif à nous.** Il s'ouvre au clavier, s'annonce comme repliable, son contenu se trouve avec la recherche du navigateur une fois ouvert, et il ne coûte pas une ligne de JavaScript. **Ce que ça n'ajoute pas.** Aucun nouvel état : les quatre de la migration 0007 sont les quatre.
front : une légende dit ce que « suspecte » et « reconstituée » veulent dire (#212)
All checks were successful
Intégration / Contrôles statiques du dépôt (pull_request) Successful in 10s
Intégration / Tableau de bord — dépendances, tests et construction (pull_request) Successful in 43s
Intégration / Workflows — lint et audit de sécurité (pull_request) Successful in 21s
Intégration / Python — qualité, tests et dépendances (pull_request) Successful in 5m46s
f97971839a
Le #199 a mis les états de qualité à l'écran, avec leur pastille. Personne
n'expliquait ce que ces mots veulent dire ni d'où ils viennent. Un exploitant
qui lit « suspecte » sur un site ne sait pas s'il doit s'inquiéter du capteur,
de la valeur, ou des deux. Un jury ne sait pas si c'est nous qui l'avons conclu
ou la source qui l'a déclaré — et la réponse est justement intéressante,
puisque les deux peuvent diverger et que la divergence est elle-même une
information (migration 0007).

Une légende repliée, sous le tableau de la vue Parc, nomme les quatre états et
les quatre méthodes d'imputation. Son préambule pose la distinction qui porte
tout le reste : ces états sont CONCLUS par notre traitement après contrôle, ils
ne sont pas déclarés par la source.

Les déclencheurs ne sont pas paraphrasés. Ils sont relevés sur la fonction de
`services/etl/etl/silver/mesure.py` qui décide, dans son ordre de gravité :
un trou hors bornes prime sur tout, une valeur reconstituée reste plus fiable
qu'une valeur suspecte conservée telle quelle. Une explication réécrite de
mémoire divergerait du code le jour où l'un des deux bougerait, sans que rien
ne le signale.

Les textes vivent dans `api/glossaire.js`, jamais dans le composant : c'est
déjà là que les libellés se traduisent. Le composant parcourt les tables
exportées plutôt que de recopier les clés, si bien qu'un cinquième état
apparaîtrait de lui-même. Les cas d'essai LISENT ces mêmes tables : un cas qui
répéterait les textes passerait au vert le jour où le composant cesserait de
les lire, c'est-à-dire le jour où ce ticket serait défait.

Deux choix :

- Sous le tableau et non en tête. C'est là qu'on rencontre ces mots ; une
  légende posée avant expliquerait un vocabulaire que le lecteur n'a pas
  encore vu.
- Un `<details>` natif et non un dispositif à nous. Il s'ouvre au clavier,
  s'annonce comme repliable, son contenu se trouve avec la recherche du
  navigateur une fois ouvert, et il ne coûte pas une ligne de JavaScript.

Éprouvé : six cas, 471 cas front au vert, construction Vite au vert.

Hors périmètre, comme le dit le ticket : la refonte de la vue Parc (#184), et
tout nouvel état — les quatre de la migration 0007 sont les quatre.
lenaic requested review from gabriel 2026-09-08 21:02:40 +00:00
gabriel approved these changes 2026-09-08 21:15:44 +00:00
gabriel left a comment

Relu. Rien de bloquant.

Purement additif : une légende <details> repliée sous le tableau, plus l'enrichissement du glossaire. Aucun appel réseau, aucune donnée touchée, aucun chemin existant modifié — le risque au merge est nul.

Ce que j'ai vérifié :

  • libelleQualite garde sa signature malgré le passage de QUALITE d'une table plate à une table d'objets (?.libelle ?? qualite) : les trois autres appelants — TableauSites, FicheSite, SyntheseQualite — ne bougent pas.
  • ETATS_QUALITE et METHODES_IMPUTATION dérivent de Object.keys : un cinquième état apparaîtrait dans la légende tout seul, sans recopie.
  • Les cas lisent les attendus dans le glossaire au lieu de les recopier — un test qui répéterait les textes passerait au vert le jour où le composant cesserait de lire la table, c'est-à-dire précisément le jour où le ticket serait défait. C'est la bonne façon de l'écrire.
  • <details> natif : ouverture au clavier, annoncé comme repliable, contenu trouvable par la recherche du navigateur. Pastilles en aria-hidden, la couleur redouble le mot sans le porter.

Suite front : 471 verts sur la branche.

Une remarque de fond, pas une objection : la distinction « conclu par notre traitement / déclaré par la source » est ce que le jury va chercher, et elle est en tête du corps de la légende. Bien placée.

Approuvée.

Relu. Rien de bloquant. Purement additif : une légende `<details>` repliée sous le tableau, plus l'enrichissement du glossaire. Aucun appel réseau, aucune donnée touchée, aucun chemin existant modifié — le risque au merge est nul. Ce que j'ai vérifié : - `libelleQualite` garde sa signature malgré le passage de `QUALITE` d'une table plate à une table d'objets (`?.libelle ?? qualite`) : les trois autres appelants — `TableauSites`, `FicheSite`, `SyntheseQualite` — ne bougent pas. - `ETATS_QUALITE` et `METHODES_IMPUTATION` dérivent de `Object.keys` : un cinquième état apparaîtrait dans la légende tout seul, sans recopie. - Les cas lisent les attendus dans le glossaire au lieu de les recopier — un test qui répéterait les textes passerait au vert le jour où le composant cesserait de lire la table, c'est-à-dire précisément le jour où le ticket serait défait. C'est la bonne façon de l'écrire. - `<details>` natif : ouverture au clavier, annoncé comme repliable, contenu trouvable par la recherche du navigateur. Pastilles en `aria-hidden`, la couleur redouble le mot sans le porter. Suite front : **471 verts** sur la branche. Une remarque de fond, pas une objection : la distinction « conclu par notre traitement / déclaré par la source » est ce que le jury va chercher, et elle est en tête du corps de la légende. Bien placée. **Approuvée.**
lenaic merged commit 9f8dc30781 into develop 2026-09-08 21:17:28 +00:00
lenaic deleted branch lenaic/212-legende-qualite 2026-09-08 21:17:28 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
g2/enervision!219
No description provided.