Accueil : la carte de la semaine ne s'habille plus (STUD-1185) #1634

Merged
foXaCe merged 1 commit from hermes/accueil-onglet into main 2026-10-16 17:53:18 +02:00
Collaborator

La carte de la semaine, en tête de l'Accueil, portait cinq habillages locaux admis par exception (Skeleton rounded-xl, bg-error-text, bg-warning-text, bg-success-text, rounded-full), sous le ticket STUD-1188 qui n'a aucune carte sur le tableau — donc personne pour les reprendre.

  • l'état de chargement passe par EtatListe (le squelette de la base : quatre barres, aucun mot, aria-busy et son libellé accessible) ;
  • la pastille des lignes manquantes passe par Point, couleur prise dans le jeton de la charte (--feedback-*-text) ;
  • les cinq exceptions sont retirées (garde-habillage.py --relever, la liste ne peut que fondre).

Mesuré : npx vitest run 21 fichiers / 166 tests verts, dont le banc neuf front/tests/semaine-accueil.test.js — rouge sur la version d'avant (2 tests) ; vite build code 0 ; bancs test_homogeneite, test_charte_ui, test_onglet_accueil, test_accueil_taches, test_apercu_front, test_tableau_bord_page verts. Dans le navigateur, la pastille reste 8 px sur 8 et de la même couleur qu'avant (rgb(255, 138, 128) pour « trou »), l'écart de centre avec le texte passe de 0,4 px à 0,0 px ; la page ne déborde pas à 1 440 px ni à 390 px.

Aucun fichier de lib/base/ ni composant partagé n'est touché.

Captures : ~/atelier-hermes/captures-t_a43b4526/ — accueil-svelte-{sombre,clair}-{1440,390}.png et accueil-chargement-{1440,390}.png.

La carte de la semaine, en tête de l'Accueil, portait cinq habillages locaux admis par exception (`Skeleton rounded-xl`, `bg-error-text`, `bg-warning-text`, `bg-success-text`, `rounded-full`), sous le ticket STUD-1188 qui n'a aucune carte sur le tableau — donc personne pour les reprendre. - l'état de chargement passe par `EtatListe` (le squelette de la base : quatre barres, aucun mot, `aria-busy` et son libellé accessible) ; - la pastille des lignes manquantes passe par `Point`, couleur prise dans le jeton de la charte (`--feedback-*-text`) ; - les cinq exceptions sont retirées (`garde-habillage.py --relever`, la liste ne peut que fondre). **Mesuré** : `npx vitest run` 21 fichiers / 166 tests verts, dont le banc neuf `front/tests/semaine-accueil.test.js` — rouge sur la version d'avant (2 tests) ; `vite build` code 0 ; bancs `test_homogeneite`, `test_charte_ui`, `test_onglet_accueil`, `test_accueil_taches`, `test_apercu_front`, `test_tableau_bord_page` verts. Dans le navigateur, la pastille reste 8 px sur 8 et de la même couleur qu'avant (rgb(255, 138, 128) pour « trou »), l'écart de centre avec le texte passe de 0,4 px à 0,0 px ; la page ne déborde pas à 1 440 px ni à 390 px. Aucun fichier de `lib/base/` ni composant partagé n'est touché. Captures : `~/atelier-hermes/captures-t_a43b4526/` — `accueil-svelte-{sombre,clair}-{1440,390}.png` et `accueil-chargement-{1440,390}.png`.
Accueil : la carte de la semaine ne s'habille plus (STUD-1185)
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 11s
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 11s
0c87b670cc
Cause : `front/src/SemaineAccueil.svelte`, en tête de l'Accueil, portait cinq habillages
locaux admis par exception dans `front/habillage-exceptions.json` — `Skeleton rounded-xl`,
`bg-error-text`, `bg-warning-text`, `bg-success-text`, `rounded-full` — sous un ticket
STUD-1188 qui n'a aucune carte sur le tableau, donc personne pour les reprendre : la liste
des exceptions ne pouvait pas fondre.

Remède : l'état de chargement passe par `EtatListe` (le squelette de la base : quatre barres,
aucun mot, `aria-busy` et son libellé accessible) et la pastille des lignes manquantes par
`Point`, dont la couleur vient d'un jeton de la charte (`--feedback-error-text`,
`--feedback-warning-text`, `--feedback-success-text` — les mêmes que les classes retirées).
Les cinq exceptions sont retirées par `python3 front/garde-habillage.py --relever`.

Mesuré : `npx vitest run` 21 fichiers / 166 tests verts, dont le banc neuf
`front/tests/semaine-accueil.test.js`, rouge avant le correctif (2 tests) ; `vite build`
code 0 ; `lancer-tests.py` test_homogeneite, test_charte_ui, test_onglet_accueil,
test_accueil_taches, test_apercu_front, test_tableau_bord_page verts. Dans le navigateur, la
pastille reste 8x8 et de la même couleur qu'avant (rgb(255, 138, 128) pour « trou », écart de
centre avec le texte 0,0 px contre 0,4 px), et la page ne déborde pas à 1 440 px.
Author
Collaborator

Relecture indépendante (carte t_0c4dcbd5) — conforme. Étiquette operateur : la fusion reste à l'opérateur.

Mesures rejouées sur le PC (cachyos-x8664), le 2026-10-14 à partir de 21 h 00, dans deux arbres de travail dédiés : tête de branche (0c87b670) et branche fusionnée avec origin/main (4cb29403) — c'est l'état qui arrivera dans main.

Périmètre : 3 fichiers, +31/-50 (SemaineAccueil.svelte, habillage-exceptions.json, tests/semaine-accueil.test.js). Branche à 1 commit d'avance, 26 de retard ; fusion locale avec main propre (code 0, mêmes 3 fichiers, aucune résolution). Aucun secret, aucun base64, aucun emoji dans le diff.

Bancs sur l'arbre fusionné

npx vitest run                 -> 21 fichiers / 167 tests verts            CODE=0
npm run build (vite)           -> 122 modules, dist/index.html 1804 o + app.js 139148 o   CODE=0
cargo test --release --locked  -> 44 verts / 0 échec                       CODE=0
front/garde-habillage.py       -> 33 occurrences, 33 admises, 0 refus      CODE=0
test_charte_ui.py              -> 257 classes au socle, 0 locale, 0 couleur en dur   CODE=0
test_onglet_accueil.py         -> 3 ok                                     CODE=0

CI Forgejo verte sur la tête 0c87b670 : 4 contextes success (Rust + Front, push et pull_request), runs 10327-10330.

Le banc neuf est rouge avant le correctif (SemaineAccueil.svelte de origin/main remis en place, reste de la branche inchangé) : vitest 2 échecs, garde-habillage.py 5 REFUS (Skeleton rounded-xl, bg-error-text, bg-success-text, bg-warning-text, rounded-full). Fichier restauré ensuite.

Dans la vraie page du tableau (rendu figé 21 h 00, vrai Chromium, bureau 1440 et téléphone 390, clair et sombre) : 0 px de débordement, 0 emoji, 0 title=. La pastille de la liste est identique au pixel — rgb(255,138,128) en sombre, rgb(195,0,39) en clair, 8 x 8 px, rayon 999 px, écart de centre avec le texte 0,0 px — avant par la classe bg-error-text, après par le composant Point sur le jeton --feedback-error-text (celui de charte-theme.css pour --color-error-text). Le texte visible du panneau Accueil est identique caractère pour caractère (2 935 caractères, diff vide) : rien de visible n'est retiré. Les captures de fenêtre clair/sombre, bureau et téléphone, sont identiques au bit près entre avant et après.

État de chargement (/api/calendrier sans réponse) : EtatListe, aria-busy="true", aria-label="Chargement de la semaine", texte visible vide, 4 barres de 48 px — contre un seul bloc de 192 px et aucun libellé accessible avant. La règle « squelette au chargement sans texte » tient.

La barre et l'ancien onglet : la barre latérale du cadre porte « Accueil → #o-accueil » avec aria-current="page" (21 entrées au bureau, 7 au téléphone) ; l'ancre #o-ancien-accueil ouvre bien l'ancien Accueil (#p-ancien-accueil visible, 2 023 px), son bouton restant hors de la barre. Identique avant et après la branche.

Non mesuré : la page servie par le 132 (aucun déploiement) ; les captures de référence pixel à pixel (aucune référence versionnée pour cachyos-x8664-chrome155) ; un téléphone réel.

Incident d'environnement, hors branche : un passage de cargo test a échoué sur conso::tests::passes_dedoublonnage_et_increment avec Os { code: 28, kind: StorageFull } — /tmp (tmpfs 16 G) saturé par les profils Chromium de cartes voisines. Après nettoyage de mes propres dossiers, 44/44 verts. La branche ne touche aucun fichier Rust.

Rapport complet et captures : ~/atelier-hermes/captures-t_0c4dcbd5/ (VERIFICATION-ACCUEIL-SEMAINE.md, cdp/).

**Relecture indépendante (carte `t_0c4dcbd5`) — conforme. Étiquette `operateur` : la fusion reste à l'opérateur.** Mesures rejouées sur le PC (`cachyos-x8664`), le 2026-10-14 à partir de 21 h 00, dans deux arbres de travail dédiés : tête de branche (`0c87b670`) et branche **fusionnée avec `origin/main` (`4cb29403`)** — c'est l'état qui arrivera dans `main`. **Périmètre** : 3 fichiers, +31/-50 (`SemaineAccueil.svelte`, `habillage-exceptions.json`, `tests/semaine-accueil.test.js`). Branche à 1 commit d'avance, 26 de retard ; fusion locale avec `main` propre (code 0, mêmes 3 fichiers, aucune résolution). Aucun secret, aucun base64, aucun emoji dans le diff. **Bancs sur l'arbre fusionné** npx vitest run -> 21 fichiers / 167 tests verts CODE=0 npm run build (vite) -> 122 modules, dist/index.html 1804 o + app.js 139148 o CODE=0 cargo test --release --locked -> 44 verts / 0 échec CODE=0 front/garde-habillage.py -> 33 occurrences, 33 admises, 0 refus CODE=0 test_charte_ui.py -> 257 classes au socle, 0 locale, 0 couleur en dur CODE=0 test_onglet_accueil.py -> 3 ok CODE=0 CI Forgejo verte sur la tête `0c87b670` : 4 contextes `success` (Rust + Front, `push` et `pull_request`), runs 10327-10330. **Le banc neuf est rouge avant le correctif** (`SemaineAccueil.svelte` de `origin/main` remis en place, reste de la branche inchangé) : `vitest` 2 échecs, `garde-habillage.py` 5 REFUS (Skeleton rounded-xl, bg-error-text, bg-success-text, bg-warning-text, rounded-full). Fichier restauré ensuite. **Dans la vraie page du tableau** (rendu figé 21 h 00, vrai Chromium, bureau 1440 et téléphone 390, clair et sombre) : 0 px de débordement, 0 emoji, 0 `title=`. La pastille de la liste est identique au pixel — `rgb(255,138,128)` en sombre, `rgb(195,0,39)` en clair, 8 x 8 px, rayon 999 px, écart de centre avec le texte 0,0 px — avant par la classe `bg-error-text`, après par le composant `Point` sur le jeton `--feedback-error-text` (celui de `charte-theme.css` pour `--color-error-text`). Le texte visible du panneau Accueil est **identique caractère pour caractère** (2 935 caractères, diff vide) : rien de visible n'est retiré. Les captures de fenêtre clair/sombre, bureau et téléphone, sont identiques au bit près entre avant et après. **État de chargement** (`/api/calendrier` sans réponse) : `EtatListe`, `aria-busy="true"`, `aria-label="Chargement de la semaine"`, texte visible vide, 4 barres de 48 px — contre un seul bloc de 192 px et aucun libellé accessible avant. La règle « squelette au chargement sans texte » tient. **La barre et l'ancien onglet** : la barre latérale du cadre porte « Accueil → `#o-accueil` » avec `aria-current="page"` (21 entrées au bureau, 7 au téléphone) ; l'ancre `#o-ancien-accueil` ouvre bien l'ancien Accueil (`#p-ancien-accueil` visible, 2 023 px), son bouton restant hors de la barre. Identique avant et après la branche. **Non mesuré** : la page servie par le 132 (aucun déploiement) ; les captures de référence pixel à pixel (aucune référence versionnée pour `cachyos-x8664-chrome155`) ; un téléphone réel. **Incident d'environnement, hors branche** : un passage de `cargo test` a échoué sur `conso::tests::passes_dedoublonnage_et_increment` avec `Os { code: 28, kind: StorageFull }` — `/tmp` (tmpfs 16 G) saturé par les profils Chromium de cartes voisines. Après nettoyage de mes propres dossiers, 44/44 verts. La branche ne touche aucun fichier Rust. Rapport complet et captures : `~/atelier-hermes/captures-t_0c4dcbd5/` (VERIFICATION-ACCUEIL-SEMAINE.md, `cdp/`).
Author
Collaborator

Complément de relecture (21 h 20) : la branche refusionnée avec le main du moment est verte aussi.

main a avancé pendant la relecture (4cb29403 -> bede6a69, fusion de la PR #1640 : Videos.svelte, BarreBas.svelte, deux bancs, serveur.py, serveur_collecte.py). Aucun des trois fichiers de cette PR n'a bougé côté main. J'ai refait la fusion et rejoué les mesures :

git merge origin/main   -> propre, code 0, toujours 3 fichiers, +31/-50
npx vitest run          -> 23 fichiers / 175 tests verts   CODE=0
npm run build (vite)    -> CODE=0
cargo test --release --locked -> 44 verts / 0 échec        CODE=0
front/garde-habillage.py -> 33 occurrences, 33 admises, 0 refus   CODE=0
test_charte_ui.py       -> OK (257 classes au socle, 0 locale, aucune couleur en dur)   CODE=0
test_garde_couches / garde_doublons / garde_plafond -> ok x3   CODE=0
test_homogeneite.py, test_onglet_accueil.py, test_accueil_taches.py -> OK   CODE=0

Deux choses vues en chemin, indépendantes de cette PR, à ne pas lui imputer :

  1. Pendant la relecture, les trois bancs test_garde_couches.py, test_garde_doublons.py et test_garde_plafond.py échouaient sur main comme sur la branche fusionnée (« plafond : dérogation nouvelle pour serveur.py sans « accord » »). Ils passent de nouveau sur main depuis bede6a69 : c'était un état transitoire du dépôt, pas une régression de cette branche.
  2. Sur le PC, /tmp (tmpfs 16 G) est plein à 99 % : le cliquet de couverture de lancer-tests.py refuse (« cœurs 92,4 % < 99,4 % ») et 40 bancs sortent ROUGE avec sqlite3.OperationalError: database or disk is full — ce sont les profils Chromium de plusieurs cartes voisines qui le remplissent (146 Mo chacun). Après nettoyage de mes propres dossiers, les bancs repassent. À traiter au niveau de l'atelier, pas de cette PR.

La CI de la PR reste verte sur la tête 0c87b670 (runs 10327-10330). Étiquette operateur : la fusion reste à l'opérateur.

**Complément de relecture (21 h 20) : la branche refusionnée avec le `main` du moment est verte aussi.** `main` a avancé pendant la relecture (`4cb29403` -> `bede6a69`, fusion de la PR #1640 : `Videos.svelte`, `BarreBas.svelte`, deux bancs, `serveur.py`, `serveur_collecte.py`). Aucun des trois fichiers de cette PR n'a bougé côté `main`. J'ai refait la fusion et rejoué les mesures : git merge origin/main -> propre, code 0, toujours 3 fichiers, +31/-50 npx vitest run -> 23 fichiers / 175 tests verts CODE=0 npm run build (vite) -> CODE=0 cargo test --release --locked -> 44 verts / 0 échec CODE=0 front/garde-habillage.py -> 33 occurrences, 33 admises, 0 refus CODE=0 test_charte_ui.py -> OK (257 classes au socle, 0 locale, aucune couleur en dur) CODE=0 test_garde_couches / garde_doublons / garde_plafond -> ok x3 CODE=0 test_homogeneite.py, test_onglet_accueil.py, test_accueil_taches.py -> OK CODE=0 Deux choses vues en chemin, **indépendantes de cette PR**, à ne pas lui imputer : 1. Pendant la relecture, les trois bancs `test_garde_couches.py`, `test_garde_doublons.py` et `test_garde_plafond.py` échouaient **sur `main` comme sur la branche fusionnée** (« plafond : dérogation nouvelle pour serveur.py sans « accord » »). Ils passent de nouveau sur `main` depuis `bede6a69` : c'était un état transitoire du dépôt, pas une régression de cette branche. 2. Sur le PC, `/tmp` (tmpfs 16 G) est plein à 99 % : le cliquet de couverture de `lancer-tests.py` refuse (« cœurs 92,4 % < 99,4 % ») et 40 bancs sortent ROUGE avec `sqlite3.OperationalError: database or disk is full` — ce sont les profils Chromium de plusieurs cartes voisines qui le remplissent (146 Mo chacun). Après nettoyage de mes propres dossiers, les bancs repassent. À traiter au niveau de l'atelier, pas de cette PR. La CI de la PR reste verte sur la tête `0c87b670` (runs 10327-10330). Étiquette `operateur` : la fusion reste à l'opérateur.
foXaCe merged commit 286f57df5d into main 2026-10-16 17:53:18 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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!1634
No description provided.