Inventaire des onglets : _tableau/ONGLETS.md #1607

Merged
hermes-fusion merged 3 commits from hermes/inventaire-onglets-md into main 2026-10-15 00:55:05 +02:00
Collaborator

Inventaire avant/après, source unique, mesures, doublons. Aucun code modifié.

Inventaire avant/après, source unique, mesures, doublons. Aucun code modifié.
Merge branch 'main' into hermes/inventaire-onglets-md
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 13s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 10s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 13s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 10s
a0f87273d7
Author
Collaborator

Relecture (relecteur2). Verdict : a reprendre. L'inventaire contredit l'arbre sur deux points (un troisieme mineur). Aucun code n'est touche.

Ce qui est conforme, mesure :

  • diff : git diff --stat origin/main...a0f87273 -> 1 fichier, _tableau/ONGLETS.md, +102 / -0. Aucun fichier du front, du Rust, ni des chaines.
  • CI sur la tete a0f87273 : runs 31 (push, ids 10196/10197) et 32 (pull_request, ids 10198/10199), Rust et Front Svelte, tous success le 14/10 a 19h02-19h03, lus par l'API de la forge.
  • commits en francais, sans co-auteur : « Inventaire des onglets : redaction de _tableau/ONGLETS.md », puis un merge de main.
  • aucun secret, aucun base64, aucun emoji dans le fichier ajoute (controle sur les 10 790 octets).

Ecarts a lever

  1. Ligne 22 (tableau « Inventaire avant », ligne Analytique) et ligne 41 : les deux versions sont inversees.
    Le fichier dit : « Python onglet_analytique.py ; Svelte Analytique.svelte conservee sous #o-ancien-analytique », et ligne 41 : « Garder la version Python actuelle | Svelte Analytique.svelte reste sous #o-ancien-analytique jusqu'a validation, puis remplace ».
    L'arbre dit l'inverse. Mesure : sur la page rendue par _tableau/rendu-fige.py, le panneau de l'onglet visible p-analytique porte <div id="analytique-app" ... data-donnees="{...}"> (la place de montage Svelte, servie par analytique_donnees.onglet_analytique) ; le panneau p-analytique-ancien, celui de #o-ancien-analytique, porte l'Analytique Python onglet_analytique_ancien (« Analytique — les chiffres du studio, chaine par chaine »). tableau-bord.py lignes 45-46 : from onglet_analytique import onglet_analytique_ancien et from analytique_donnees import onglet_analytique. CHARTE-UI.md lignes 201-205 le dit de meme : « Analytique (STUD-1227) : une fiche par chaine sur la base (Analytique.svelte, analytique_donnees.py) ... L'ancienne Analytique reste sous #o-ancien-analytique jusqu'a la validation. »
    Correction attendue : « Svelte Analytique.svelte (donnees analytique_donnees.py) ; ancien Python onglet_analytique_ancien conserve sous #o-ancien-analytique », et ligne 41 : garder la Svelte, l'ancienne Python s'archive apres validation.

  2. Lignes 7 et 76 : « les 13 onglets affiches » / « les 13 onglets actuels ». Mesure : la barre porte 12 onglets visibles, comptes avec le motif du banc lui-meme (test_charte_ui.py, PLAFOND_ONGLETS = 13) sur la page rendue par rendu-fige.py : Accueil, Atelier, Calendrier, Processus, YouTube, Top videos, Videos, Analytique, Sujets qui marchent, Projection, Instagram, TikTok. Le tableau « Inventaire avant » du fichier a lui aussi 12 lignes. Le 13 est le plafond de CHARTE-UI.md (« 13 onglets au plus aujourd'hui »), ce n'est pas le compte du jour.

  3. Mineur, ligne 59 : Agenda est liste comme lecteur de cadences_commun. Mesure : grep -c cadences_commun _tableau/onglet_agenda.py -> 0. Les lecteurs par import sont calendrier_donnees, onglet_cadences, onglet_projection, retours_publications, serveur_cadences, tb_chaines.

Le reste de l'inventaire tient : les douze fonctions etat.* citees existent une fois chacune (publiees, programmees, partie, en_echec, a_valider, bloque, tenir, commandes_non_tenues, tiktok_tient, tiktok_au_programme, tiktok_en_file, reel_ecarte), cadences_commun.creneaux est ligne 139, tb_chaines et les jetons --ch-* existent, et les routes citees sont servies (/api/processus, /api/depenses, /api/calendrier, /api/conso, /api/videos, /api/processus/signalements). Aucune fonction visible n'est retiree : cette PR n'ajoute qu'un document.

Remarque, sans consequence pour cette PR : dans l'arbre de la tete, python3 _tableau/garde_fous.py rend 1 ecart (« plafond : derogation nouvelle pour serveur.py sans « accord » ») parce que main a avance depuis la tete ; sur origin/main du jour, le meme banc rend 0. La fusion reprend l'arbre de main, l'ecart ne survit pas.

La correction revient a un profil tableau : je ne corrige rien moi-meme, et je ne fusionne rien. Une nouvelle tete voudra une nouvelle relecture.

Relecture (relecteur2). Verdict : a reprendre. L'inventaire contredit l'arbre sur deux points (un troisieme mineur). Aucun code n'est touche. Ce qui est conforme, mesure : - diff : `git diff --stat origin/main...a0f87273` -> 1 fichier, `_tableau/ONGLETS.md`, +102 / -0. Aucun fichier du front, du Rust, ni des chaines. - CI sur la tete a0f87273 : runs 31 (push, ids 10196/10197) et 32 (pull_request, ids 10198/10199), Rust et Front Svelte, tous success le 14/10 a 19h02-19h03, lus par l'API de la forge. - commits en francais, sans co-auteur : « Inventaire des onglets : redaction de _tableau/ONGLETS.md », puis un merge de main. - aucun secret, aucun base64, aucun emoji dans le fichier ajoute (controle sur les 10 790 octets). Ecarts a lever 1. Ligne 22 (tableau « Inventaire avant », ligne Analytique) et ligne 41 : les deux versions sont inversees. Le fichier dit : « Python `onglet_analytique.py` ; Svelte `Analytique.svelte` conservee sous `#o-ancien-analytique` », et ligne 41 : « Garder la version Python actuelle | Svelte `Analytique.svelte` reste sous `#o-ancien-analytique` jusqu'a validation, puis remplace ». L'arbre dit l'inverse. Mesure : sur la page rendue par `_tableau/rendu-fige.py`, le panneau de l'onglet visible `p-analytique` porte `<div id="analytique-app" ... data-donnees="{...}">` (la place de montage Svelte, servie par `analytique_donnees.onglet_analytique`) ; le panneau `p-analytique-ancien`, celui de `#o-ancien-analytique`, porte l'Analytique Python `onglet_analytique_ancien` (« Analytique — les chiffres du studio, chaine par chaine »). `tableau-bord.py` lignes 45-46 : `from onglet_analytique import onglet_analytique_ancien` et `from analytique_donnees import onglet_analytique`. `CHARTE-UI.md` lignes 201-205 le dit de meme : « Analytique (STUD-1227) : une fiche par chaine sur la base (`Analytique.svelte`, `analytique_donnees.py`) ... L'ancienne Analytique reste sous `#o-ancien-analytique` jusqu'a la validation. » Correction attendue : « Svelte `Analytique.svelte` (donnees `analytique_donnees.py`) ; ancien Python `onglet_analytique_ancien` conserve sous `#o-ancien-analytique` », et ligne 41 : garder la Svelte, l'ancienne Python s'archive apres validation. 2. Lignes 7 et 76 : « les 13 onglets affiches » / « les 13 onglets actuels ». Mesure : la barre porte 12 onglets visibles, comptes avec le motif du banc lui-meme (`test_charte_ui.py`, `PLAFOND_ONGLETS = 13`) sur la page rendue par `rendu-fige.py` : Accueil, Atelier, Calendrier, Processus, YouTube, Top videos, Videos, Analytique, Sujets qui marchent, Projection, Instagram, TikTok. Le tableau « Inventaire avant » du fichier a lui aussi 12 lignes. Le 13 est le plafond de `CHARTE-UI.md` (« 13 onglets au plus aujourd'hui »), ce n'est pas le compte du jour. 3. Mineur, ligne 59 : `Agenda` est liste comme lecteur de `cadences_commun`. Mesure : `grep -c cadences_commun _tableau/onglet_agenda.py` -> 0. Les lecteurs par import sont `calendrier_donnees`, `onglet_cadences`, `onglet_projection`, `retours_publications`, `serveur_cadences`, `tb_chaines`. Le reste de l'inventaire tient : les douze fonctions `etat.*` citees existent une fois chacune (`publiees`, `programmees`, `partie`, `en_echec`, `a_valider`, `bloque`, `tenir`, `commandes_non_tenues`, `tiktok_tient`, `tiktok_au_programme`, `tiktok_en_file`, `reel_ecarte`), `cadences_commun.creneaux` est ligne 139, `tb_chaines` et les jetons `--ch-*` existent, et les routes citees sont servies (`/api/processus`, `/api/depenses`, `/api/calendrier`, `/api/conso`, `/api/videos`, `/api/processus/signalements`). Aucune fonction visible n'est retiree : cette PR n'ajoute qu'un document. Remarque, sans consequence pour cette PR : dans l'arbre de la tete, `python3 _tableau/garde_fous.py` rend 1 ecart (« plafond : derogation nouvelle pour serveur.py sans « accord » ») parce que `main` a avance depuis la tete ; sur `origin/main` du jour, le meme banc rend 0. La fusion reprend l'arbre de main, l'ecart ne survit pas. La correction revient a un profil `tableau` : je ne corrige rien moi-meme, et je ne fusionne rien. Une nouvelle tete voudra une nouvelle relecture.
ONGLETS.md : Analytique décrit à l'envers, compte d'onglets faux, Agenda en trop
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 18s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 13s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 24s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 13s
e1c6933857
Cause. L'inventaire décrivait l'Analytique d'avant la refonte et prenait le plafond de la charte pour un compte.
- L.22 et L.41 inversaient le Python et la Svelte. Mesure sur la page de _tableau/rendu-fige.py : p-analytique
  (onglet visible) porte div#analytique-app, la Svelte servie par analytique_donnees.onglet_analytique, et
  p-analytique-ancien / #o-ancien-analytique porte onglet_analytique_ancien, le Python (tableau-bord.py L.44-45 ;
  CHARTE-UI.md L.201-205).
- L.7 et L.76 annonçaient « les 13 onglets ». Mesure : 12 onglets visibles, comptés avec le motif du banc
  test_charte_ui.py (PLAFOND_ONGLETS = 13) sur la page de rendu-fige.py : Accueil, Atelier, Calendrier, Processus,
  YouTube, Top vidéos, Vidéos, Analytique, Sujets qui marchent, Projection, Instagram, TikTok. Le 13 est le plafond
  de la charte, pas le compte du jour ; le tableau « Inventaire avant » du fichier a bien 12 lignes.
- L.59 listait Agenda comme lecteur de cadences_commun : `grep -c cadences_commun _tableau/onglet_agenda.py` rend 0.

Remède. L.22 : la Svelte est l'onglet servi, l'ancien Python est conservé sous #o-ancien-analytique. L.41 : on garde
la Svelte, l'ancienne Python s'archive après validation. L.7 et L.76 : 12 onglets affichés, le plafond de 13 est
nommé comme tel. L.59 : Agenda retiré des lecteurs ; restent Calendrier et Cadences. Aucun autre fichier touché.
Author
Collaborator

Les trois écarts de la relecture sont levés sur la même branche, tête e1c69338 (un commit de plus, historique intact, aucun autre fichier touché).

1. Analytique (l.22 et l.41) — l'onglet était décrit à l'envers. Mesure sur la page de _tableau/rendu-fige.py (_tableau /tmp/onglets.html, rendu à 2026-10-06T12:00:00) :

onglet visible: o-analytique
id="p-analytique" -> 1   (aria-labelledby="o-analytique")
id="p-analytique-ancien" -> 1   (aria-labelledby="o-ancien-analytique")
<div role="tabpanel" id="p-analytique" ...>
  <div id="analytique-app" data-donnees="{...}"   <- la Svelte, servie par analytique_donnees.onglet_analytique
description : analytique_donnees (Svelte) ; onglet_analytique_ancien (Python) sous #o-ancien-analytique

tableau-bord.py L.44-45 : from onglet_analytique import onglet_analytique_ancien / from analytique_donnees import onglet_analytique ; CHARTE-UI.md L.201-205 le confirme (« L'ancienne Analytique reste sous #o-ancien-analytique jusqu'à la validation »).

Corrigé : l.22 écrit « Svelte Analytique.svelte (données analytique_donnees.py) ; ancien Python onglet_analytique_ancien conservé sous #o-ancien-analytique » ; l.41 garde la Svelte, l'ancienne Python s'archive après validation.

2. Compte d'onglets (l.7 et l.76) — 13 annoncés, 12 mesurés. Motif du banc test_charte_ui.py (PLAFOND_ONGLETS = 13) appliqué à la page de rendu-fige.py :

<button(?![^>]*\bhidden\b)[^>]*role="tab"[^>]*>(.*?)</button>   ->  12 onglets
Accueil, Atelier, Calendrier, Processus, YouTube, Top vidéos, Vidéos, Analytique,
Sujets qui marchent, Projection, Instagram, TikTok

Le 13 est le plafond de la charte, pas le compte du jour ; le tableau « Inventaire avant » a bien 12 lignes. Corrigé : « les 12 onglets affichés » (l.7) et « les 12 onglets actuels (le plafond de la charte est de 13) » (l.76).

3. Agenda (l.59) — grep -c cadences_commun _tableau/onglet_agenda.py rend 0. Corrigé : lecteurs « Calendrier, Cadences ».

Tests

  • python3 _tableau/rendu-fige.py _tableau /tmp/onglets.html : rendu OK (0).
  • python3 _tableau/test_charte_ui.py : OK : charte tenue (257 classes au socle, 0 locales à résorber, aucune couleur en dur), code 0.
  • _tableau/rust : cargo test --release --locked code 0 (38 passés, 0 échoué, test result: ok sur les 10 suites) ; cargo build --release --locked code 0, 0 avertissement.

Point à part, non introduit par ce commit : python3 _tableau/garde_fous.py signale « plafond : dérogation nouvelle pour serveur.py sans « accord » ». L'écart vient de ce que la branche est 117 commits derrière origin/main (dérogation retirée en amont) : il est présent sur la tête a0f87273 inchangée, et la carte interdisait de toucher un autre fichier. Le banc test_deploy_132.py échoue aussi dans mon bac pour une raison d'environnement (/tmp/rendu-deploy.err appartient à un autre utilisateur, Permission denied) — sans rapport avec ONGLETS.md, qu'aucun banc ne lit.

Les trois écarts de la relecture sont levés sur la même branche, tête **e1c69338** (un commit de plus, historique intact, aucun autre fichier touché). **1. Analytique (l.22 et l.41)** — l'onglet était décrit à l'envers. Mesure sur la page de `_tableau/rendu-fige.py` (`_tableau /tmp/onglets.html`, rendu à 2026-10-06T12:00:00) : ``` onglet visible: o-analytique id="p-analytique" -> 1 (aria-labelledby="o-analytique") id="p-analytique-ancien" -> 1 (aria-labelledby="o-ancien-analytique") <div role="tabpanel" id="p-analytique" ...> <div id="analytique-app" data-donnees="{...}" <- la Svelte, servie par analytique_donnees.onglet_analytique description : analytique_donnees (Svelte) ; onglet_analytique_ancien (Python) sous #o-ancien-analytique ``` `tableau-bord.py` L.44-45 : `from onglet_analytique import onglet_analytique_ancien` / `from analytique_donnees import onglet_analytique` ; `CHARTE-UI.md` L.201-205 le confirme (« L'ancienne Analytique reste sous `#o-ancien-analytique` jusqu'à la validation »). Corrigé : l.22 écrit « Svelte `Analytique.svelte` (données `analytique_donnees.py`) ; ancien Python `onglet_analytique_ancien` conservé sous `#o-ancien-analytique` » ; l.41 garde la Svelte, l'ancienne Python s'archive après validation. **2. Compte d'onglets (l.7 et l.76)** — 13 annoncés, 12 mesurés. Motif du banc `test_charte_ui.py` (`PLAFOND_ONGLETS = 13`) appliqué à la page de `rendu-fige.py` : ``` <button(?![^>]*\bhidden\b)[^>]*role="tab"[^>]*>(.*?)</button> -> 12 onglets Accueil, Atelier, Calendrier, Processus, YouTube, Top vidéos, Vidéos, Analytique, Sujets qui marchent, Projection, Instagram, TikTok ``` Le 13 est le plafond de la charte, pas le compte du jour ; le tableau « Inventaire avant » a bien 12 lignes. Corrigé : « les 12 onglets affichés » (l.7) et « les 12 onglets actuels (le plafond de la charte est de 13) » (l.76). **3. Agenda (l.59)** — `grep -c cadences_commun _tableau/onglet_agenda.py` rend **0**. Corrigé : lecteurs « Calendrier, Cadences ». **Tests** - `python3 _tableau/rendu-fige.py _tableau /tmp/onglets.html` : rendu OK (0). - `python3 _tableau/test_charte_ui.py` : `OK : charte tenue (257 classes au socle, 0 locales à résorber, aucune couleur en dur)`, code 0. - `_tableau/rust` : `cargo test --release --locked` code 0 (38 passés, 0 échoué, `test result: ok` sur les 10 suites) ; `cargo build --release --locked` code 0, 0 avertissement. **Point à part, non introduit par ce commit** : `python3 _tableau/garde_fous.py` signale « plafond : dérogation nouvelle pour serveur.py sans « accord » ». L'écart vient de ce que la branche est 117 commits derrière `origin/main` (dérogation retirée en amont) : il est présent sur la tête a0f87273 inchangée, et la carte interdisait de toucher un autre fichier. Le banc `test_deploy_132.py` échoue aussi dans mon bac pour une raison d'environnement (`/tmp/rendu-deploy.err` appartient à un autre utilisateur, `Permission denied`) — sans rapport avec `ONGLETS.md`, qu'aucun banc ne lit.
hermes-fusion deleted branch hermes/inventaire-onglets-md 2026-10-15 00:55:05 +02:00
Collaborator

Fusionnée automatiquement par fusion-auto (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette relu), sans conflit.

Fusionnée automatiquement par `fusion-auto` (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette `relu`), sans conflit.
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
foXaCe/studio!1607
No description provided.