fix(porte) : main repasse la porte, /api/conso répond 200 « indisponible », la connexion garde son cookie #1839

Merged
foXaCe merged 5 commits from claude/couverture-pilotage into main 2026-10-18 23:07:44 +02:00
Owner

Livrée par livrer.sh : porte verte.

Livrée par livrer.sh : porte verte.
Depuis l'arrêt du conteneur Multica (17/10), la source du 130 est morte : /api/conso répondait 502
et la porte du déploiement (toutes les routes à 200) refusait toute version du service — le retour
arrière de 4e4f7da4 vient de là. La route dit maintenant indisponible, les deux raisons, et rien de
calculé ; le front l'écrit « Consommation non relue », jamais un zéro. Python et Rust ensemble, dorés
refaits ; au passage, le texte Rust « passes Multica » rejoint celui de Python (« passes des agents »).
Le cas 6 du banc prenait le 502 de /api/conso pour exemple de 5xx volontaire ; la route répond
désormais 200 « indisponible ». Le cas vérifie maintenant ce comportement et l'absence de ligne
ERREUR-5XX ; le 5xx volontaire sans trace reste tenu par le 501 de PUT /etat.
La porte de livrer.sh refusait main lui-même (couverture cœur 99,3 % < 99,5 %, ensemble 98,2 % <
99,3 %) : les bancs qui plantaient en route ne couvraient plus ce qui suivait.

- test_serveur_pilotage.py (nouveau) : le relais du Pilotage n'avait aucun banc (41 %) ; liste
  blanche, jeton, relais tel quel, refus et panne : 100 %.
- test_pilote.py, test_relais.py : depuis b5adea15 le socle ignore la clé « pilote » de
  reglages.json ; les cas qui l'écrivaient pour choisir « hermes » passent par le seam, et le point
  d'entrée réel dit le pilote par défaut.
- test_images_episode.py : sans /studio, la racine est celle du dépôt (socle.RACINE), pas le
  dossier de passage du banc — le banc ne passait que sur le 130.
- rust/deployer.sh : VERIF_COOKIE vide quand le script est lancé seul (set -u le tuait).
- atelier/retours.rs : « relance-le dans le suivi », comme Python (la parité de l'Atelier).
- test_deployer_fusion.py : le cas de l'unité qui retombe laisse au faux systemd le temps de
  relancer studio-web (pause de 6 s) ; sinon la relance voulue passait pour une chute.
Le relais Python de POST /connexion ouvrait la requête avec urlopen, qui suit les redirections : le
303 + Set-Cookie du service devenait la page d'arrivée en 200, sans le cookie. Il passe par
_SansRedirection (déjà là pour les avis), et la branche HTTPError, écrite pour recopier ce 303,
sert enfin. Trouvé en écrivant test_serveur_connexion.py (le relais n'avait aucun banc).

test_serveur_aiguillage.py : la page absente (503), vue_etat, /attente et /a-valider, le Pilotage
et la connexion en POST, et les trois filets « exception dans une route → 500 » (GET, HEAD, POST),
jamais éprouvés jusque-là. serveur.py passe de 90 à 95 %, serveur_processus.py de 91 à 97 %.
test(porte) : les replis du garde, de TikTok, de Sujets et du Short à images verticales
All checks were successful
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 3m42s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 8m25s
f2f50b94ea
Les lignes que la porte de couverture comptait sans qu'aucun banc ne les prenne :
- test_garde_fous_replis.py : git absent, source illisible, Python abîmé, règles absentes ou
  illisibles, règles de main muettes, et le point d'entrée (garde_fous.py : 94 % → 99 %) ;
- test_donnees_replis.py : date TikTok illisible, relevé d'historique sans le compte, vidéo déjà
  en ligne dans le calendrier, instantané Sujets écrit ou refusé, Short qui pousse ses images
  verticales.
foXaCe merged commit 56b8575d0e into main 2026-10-18 23:07:44 +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!1839
No description provided.