Commit b7b2546b authored by Jordan Grossemy's avatar Jordan Grossemy
Browse files

Le filet ne voyait pas la panne, seulement le refus

P11.4 du cahier : couper le réseau, écrire dans un salon. Le texte restait dans
la boîte et rien ne s'affichait.

Le filet d'erreurs ne reconnaît que les ErreurApi. Or « fetch » ne rejette pas
avec une ErreurApi : sur une panne de réseau il lève un TypeError. Le filet
couvrait donc les refus du serveur et laissait passer les pannes — c'est-à-dire
exactement le cas pour lequel ce produit existe.

Je l'avais éprouvé, en le posant, avec un refus HTTP à 403 puis à 409. Jamais
avec le réseau coupé. Deux vérifications qui se ressemblent ne font pas deux
vérifications.

── La normalisation va dans le client d'API, pas dans le filet

C'est ce que son en-tête annonce depuis l'origine : « ce fichier ne fait que
transporter des requêtes et normaliser les erreurs ». Une panne devient donc une
ErreurApi de statut zéro — aucun serveur n'en renvoie, et le zéro dit ce qui
s'est passé : aucune réponse n'est arrivée.

Le message est une clé, marquée par « traduisible » puisqu'il naît hors de tout
composant, et le filet traduit désormais ce qu'il affiche : un message venu du
serveur arrive déjà dans la bonne langue et ne correspond à aucune clé, celui
que le client fabrique en est une.

── La garantie va avec

Elle est de comportement, comme les six du garde anti-double-envoi : le module
est chargé, « fetch » remplacé par un rejet, et l'on vérifie que ce qui remonte
est une ErreurApi de statut zéro dont le message parle de réseau.

Éprouvé à l'écran après reconstruction : le bandeau dit « Le réseau n'a pas
répondu. Rien n'est parti — réessayez. », porte « role=alert », et le texte
reste dans la boîte de saisie.

── Le reste de P11

Écriture refusée par le serveur : bandeau, position fixe en bas à gauche, et le
sélecteur revient à sa valeur d'avant. Flux temps réel : reconnecté de lui-même
après la reconstruction du conteneur, « 2 en ligne » dans la barre, aucune
erreur en console.

Reste 11.6 — arrêter PostgreSQL et recharger — que je n'ai pas lancé : cela
interrompt un service de votre instance, et je préfère le demander.

Co-Authored-By: Claude (RCA)
parent 46717c59
Loading
Loading
Loading
Loading