Tableau : le releve n'est plus refuse par le serveur (en-tete X-Actualiser relaye) (STUD-1156) #1784

Merged
foXaCe merged 1 commit from hermes/fix-actualiser-relais into main 2026-10-16 22:27:11 +02:00
Owner

Le defaut

Le bouton « Actualiser » du tableau repondait « Releve refuse par le serveur ».

La cause

Le service Rust exige l'en-tete X-Actualiser: 1 sur POST /actualiser et rend 403 sans lui (rust/service/src/etat.rs). Le relais Python (serveur_processus.py, entetes_navigateur) ne transmettait au service que le cookie de session et Sec-Fetch-Mode : X-Retour etait bien relaye (ecritures de l'Atelier), X-Actualiser non. L'en-tete qui autorise la collecte mourait donc en route.

Le journal du 132 le montre noir sur blanc :

service-tableau: session connexion : chemin=/actualiser cookie=valide ...
python3: 192.168.1.220 "POST /actualiser HTTP/1.1" 403 -

La session est valide et la reponse est 403 : le refus ne vient pas de l'authentification mais de l'en-tete manquant.

Le correctif

entetes_navigateur() transmet desormais X-Actualiser quand la requete le porte (et ne l'invente pas sinon).

La preuve

Le banc test_serveur_processus.py eprouve desormais la vraie methode du relais (les deux doubleurs du fichier etaient des copies qui ne verifiaient rien) :

  • avec le correctif : banc vert ;
  • sans le correctif : AssertionError: {'Cookie': 'studio_session=1.2', 'Sec-Fetch-Mode': 'cors'} — l'en-tete manquant.
## Le defaut Le bouton « Actualiser » du tableau repondait **« Releve refuse par le serveur »**. ## La cause Le service Rust exige l'en-tete `X-Actualiser: 1` sur `POST /actualiser` et rend **403** sans lui (`rust/service/src/etat.rs`). Le relais Python (`serveur_processus.py`, `entetes_navigateur`) ne transmettait au service que le **cookie de session** et **Sec-Fetch-Mode** : `X-Retour` etait bien relaye (ecritures de l'Atelier), `X-Actualiser` non. L'en-tete qui autorise la collecte mourait donc en route. Le journal du 132 le montre noir sur blanc : ``` service-tableau: session connexion : chemin=/actualiser cookie=valide ... python3: 192.168.1.220 "POST /actualiser HTTP/1.1" 403 - ``` La session est **valide** et la reponse est **403** : le refus ne vient pas de l'authentification mais de l'en-tete manquant. ## Le correctif `entetes_navigateur()` transmet desormais `X-Actualiser` quand la requete le porte (et ne l'invente pas sinon). ## La preuve Le banc `test_serveur_processus.py` eprouve desormais la **vraie** methode du relais (les deux doubleurs du fichier etaient des copies qui ne verifiaient rien) : - avec le correctif : banc vert ; - sans le correctif : `AssertionError: {'Cookie': 'studio_session=1.2', 'Sec-Fetch-Mode': 'cors'}` — l'en-tete manquant.
Tableau : l'en-tete X-Actualiser suit le relais, le releve n'est plus refuse (STUD-1156)
Some checks failed
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Failing after 28s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 7m38s
06b9ff8ba1
Le service Rust exige `X-Actualiser: 1` sur POST /actualiser et rend 403 sans lui.
Le relais Python transmettait le cookie de session et Sec-Fetch-Mode, mais pas cet
en-tete : le bouton « Actualiser » du tableau repondait donc « Releve refuse par le
serveur » alors que la session etait valide.

Le journal du 132 le montre : « session connexion : chemin=/actualiser cookie=valide »
suivi d'un 403. `X-Retour` etait deja transmis ; `X-Actualiser` manquait.

Le banc eprouve desormais la vraie methode du relais : sans le correctif il tombe sur
l'assertion, avec lui il rend les trois en-tetes attendus.
Collaborator

fusion-auto : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la CI est rouge (Front Svelte). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
foXaCe merged commit 1eb9725485 into main 2026-10-16 22:27:11 +02: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
foXaCe/studio!1784
No description provided.