SYSTÈME / SANTÉ ET PANNES
Ce qui tombe,
et ce qu’on ne fait jamais.
Un service qui répond avec un corpus vide n’est pas en bonne santé, il est disponible et inutile. Cette page sépare les deux. Elle donne l’état réel de sept capacités, les huit façons dont ce site peut tomber, et surtout ce qu’il refuse de faire pour masquer une panne.
capacités qui ne sont pas pleinement opérationnelles, sur 7. La raison est donnée pour chacune.
Voir la vue technique ↗SANTÉ PAR CAPACITÉ
Sept capacités, trois états.
Santé n’est pas disponibilité. Une capacité qui répond mais ne remplit pas ses critères métier est dégradée, et elle le dit. Il n’y a volontairement aucun état global sur cette page : un vert unique qui résumerait sept états différents serait un mensonge de synthèse.
- 5OPÉRATIONNEL
- 2DÉGRADÉ
- 0INDÉTERMINÉ
- OPÉRATIONNELLa capacité remplit tous ses critères métier.
Base de données
Sert les affirmations, les décisions, la trajectoire et le registre produits.
Les critères3 / 3 tenus
- TENULa lecture publique est configuréeLa clé de lecture publique est posée.
- TENUUne lecture aboutitUne lecture de contrôle a abouti.
- TENUChaque valeur peut porter sa classe de donnéeLes colonnes de provenance sont en place.
- DÉGRADÉLa capacité répond, mais elle ne remplit pas l’un de ses critères. La raison est donnée.
Journal de construction
Agrège les contributions réelles des dépôts du groupe, sans en inventer aucune.
0 dépôt sur 8 lus, 8 manquants et nommés plus bas.
Les critères1 / 3 tenus
- TENULa liste des dépôts vient du registre produitsLes dépôts suivis viennent du registre produits.
- NON TENUTous les dépôts attendus sont lus0 dépôt sur 8 lus, 8 manquants et nommés plus bas.
- NON TENULe journal rapporte au moins une contributionAucune contribution n’a été rapportée.
- DÉGRADÉLa capacité répond, mais elle ne remplit pas l’un de ses critères. La raison est donnée.
Moteur de recherche documentaire
Retrouve dans le corpus les passages qui fondent une réponse de l’assistant.
La question de contrôle ne ramène que du bruit, meilleur score 0.28 pour un seuil d’échec à 0.45.
Les critères3 / 4 tenus
- TENULe corpus contient au moins un document3 documents en base.
- TENULes documents sont découpés et indexés1291 fragments indexés.
- TENULa dernière ingestion est datéeDernière ingestion il y a 2 jours.
- NON TENULa question de contrôle ramène une source pertinenteLa question de contrôle ne ramène que du bruit, meilleur score 0.28 pour un seuil d’échec à 0.45.
- OPÉRATIONNELLa capacité remplit tous ses critères métier.
Passerelles vers les produits
Lit l’état des produits du groupe, en lecture seule, et n’écrit jamais chez eux.
Les critères3 / 3 tenus
- TENUAu moins une passerelle est configurée2 passerelles configurées.
- TENUAucun produit n’a répondu un état non sainAucun produit ne s’est déclaré en panne.
- TENUChaque produit interrogé a pu être jointTous les produits interrogés ont répondu.
- OPÉRATIONNELLa capacité remplit tous ses critères métier.
Mesure d’audience
Compte les parcours, après consentement, sans jamais identifier un visiteur.
Les critères3 / 3 tenus
- TENULa mesure d’audience est configuréeLa mesure d’audience est active.
- TENURien n’est collecté avant le consentementLes événements attendent le consentement, et sont effacés en cas de refus.
- TENULa région servie est celle annoncéeLa région de traitement est celle annoncée sur la page de confidentialité.
- OPÉRATIONNELLa capacité remplit tous ses critères métier.
Assistant conversationnel
Répond sur le corpus documentaire, avec ses sources, ou ne répond pas.
Les critères3 / 3 tenus
- TENULe fournisseur de modèle est configuréL’accès au fournisseur de modèle est configuré.
- TENUL’assistant dispose d’un corpus à citerLe corpus documentaire est exploitable.
- TENUAucune réponse n’est produite sans sourceLe refus de répondre sans source est verrouillé par un test automatique.
- OPÉRATIONNELLa capacité remplit tous ses critères métier.
Sauvegarde et reprise
Permet de reconstituer les données écrites à la main sans toucher aux produits voisins.
Les critères3 / 3 tenus
- TENUUne procédure de sauvegarde existeLa procédure d’export est versionnée dans le dépôt.
- TENULa restauration a été testée pour de vraiRestauration testée il y a 0 jour, sur 6 tables portant des lignes, 9 candidates, tables du cockpit uniquement, restauration sélective, jamais la base entière.
- TENULa restauration reste sélectiveLa restauration porte sur les seules tables de ce site, jamais sur la base entière.
Relevé le . Cette page est calculée à chaque visite : elle ne conserve aucun état d’une visite à l’autre.
LES HUIT MODES DE PANNE
Ce qui se passe, ce que vous voyez, ce qui n’est jamais fait.
La troisième colonne est la seule qui compte vraiment. Les deux premières décrivent une dégradation, la troisième décrit une discipline. Chaque mode est rejouable en local par une commande, il n’est donc pas une promesse.
L’hébergeur des dépôts ne répond pas
- Ce qui se passe
- Chaque dépôt est lu séparément. Un dépôt qui ne répond pas n’annule pas les autres, la lecture des sept autres se termine normalement.
- Ce que le visiteur voit
- Le journal de construction s’affiche partiellement, et les dépôts non lus sont nommés un par un, avec leur raison.
- Ce qui n’est jamais fait
- Aucune contribution n’est inventée, aucun compteur n’est arrondi, et aucun dépôt manquant n’est passé sous silence.
Rejouer ce mode
node scripts/failure-drill.mjs github-indisponibleLe jeton de lecture est expiré ou de portée insuffisante
- Ce qui se passe
- Les dépôts hors de portée du jeton répondent une erreur d’autorisation. Le cas est structurel ici : les huit dépôts vivent sur deux propriétaires, et un jeton n’en couvre qu’un.
- Ce que le visiteur voit
- Le dépôt manquant est nommé, avec la mention « hors de portée du jeton ». Le compte affiché est celui des dépôts réellement lus, jamais huit par principe.
- Ce qui n’est jamais fait
- Le jeton n’est jamais élargi à une portée d’écriture pour combler le trou, et le nombre de dépôts affiché n’est jamais celui du registre quand la lecture n’a pas abouti.
Rejouer ce mode
node scripts/failure-drill.mjs jeton-githubLa base de données ne répond pas
- Ce qui se passe
- Les pages qui lisent la base rendent leur état vide. La navigation, les pages éditoriales et le journal de construction restent entiers, ils ne dépendent pas de la base.
- Ce que le visiteur voit
- Chaque zone alimentée par la base annonce l’absence de sa source, en toutes lettres, à l’endroit exact où la donnée aurait dû se trouver.
- Ce qui n’est jamais fait
- Aucune valeur de remplacement n’est affichée, aucun cache figé n’est ressorti, et aucune zone ne disparaît en silence comme si elle n’avait jamais existé.
Rejouer ce mode
node scripts/failure-drill.mjs base-indisponibleLe corpus documentaire est vide ou hors sujet
- Ce qui se passe
- La recherche documentaire ne ramène aucun passage au-dessus du seuil de pertinence. La réponse n’est pas produite.
- Ce que le visiteur voit
- L’assistant refuse de répondre et le dit. La matrice de santé passe la capacité en dégradé, avec le score obtenu.
- Ce qui n’est jamais fait
- Le modèle ne répond jamais de mémoire, ne complète jamais une réponse partielle, et ne cite jamais une source qu’il n’a pas réellement reçue.
Rejouer ce mode
node scripts/failure-drill.mjs corpus-videL’interface d’un produit ne répond pas
- Ce qui se passe
- La sonde échoue. Aucune métrique n’est écrite pour ce produit sur cette période.
- Ce que le visiteur voit
- La métrique disparaît et la case porte la mention « source indisponible ». Elle ne vaut pas zéro : une absence de mesure n’est pas une mesure à zéro.
- Ce qui n’est jamais fait
- Aucun zéro de remplacement n’est écrit en base, et aucune moyenne n’est calculée sur une série trouée.
Rejouer ce mode
node scripts/failure-drill.mjs api-produitLa sortie réseau de ce site est coupée
- Ce qui se passe
- Les appels sortants échouent avant d’atteindre les produits. Rien ne permet de dire si les produits vont bien ou mal.
- Ce que le visiteur voit
- L’état passe en INDÉTERMINÉ, distinct de DÉGRADÉ, avec la phrase « le produit n’a pas pu être joint depuis ce site ».
- Ce qui n’est jamais fait
- Une panne de ce site n’est jamais présentée comme une panne d’un produit du groupe, et un état inconnu n’est jamais converti en panne constatée.
Rejouer ce mode
node scripts/failure-drill.mjs sortie-reseauUn produit est retiré du registre
- Ce qui se passe
- Le produit disparaît du registre lu par le site. Les cartes, la carte de l’écosystème et le journal cessent de le citer, au même rendu.
- Ce que le visiteur voit
- Rien. C’est le comportement attendu : le produit n’existe plus pour ce site, il ne laisse pas de case vide derrière lui.
- Ce qui n’est jamais fait
- Aucun lien mort n’est laissé derrière, aucune page de produit orpheline ne subsiste, et aucun nom n’est conservé en dur dans un composant.
Rejouer ce mode
node scripts/failure-drill.mjs produit-retireL’accès au fournisseur de modèle est absent ou invalide
- Ce qui se passe
- La route de l’assistant échoue franchement, avant toute génération. Aucune requête n’est envoyée.
- Ce que le visiteur voit
- L’assistant se déclare hors service, en une phrase, et propose les pages qui répondent sans lui.
- Ce qui n’est jamais fait
- L’assistant ne répond jamais de mémoire, ne bascule jamais sur un jeu de réponses écrites d’avance, et ne fait jamais semblant de chercher.
Rejouer ce mode
node scripts/failure-drill.mjs cle-modele
Le système préfère l’absence à l’invention.
LIMITES CONNUES
Ce qui ne marche pas encore.
6 entrées, relues une par une. Une limite se retire de cette liste quand elle est réglée, jamais quand elle devient gênante. C’est pourquoi chacune porte ce qui la fermera.
Le huitième dépôt n’est pas lu
Les huit dépôts du groupe sont répartis sur deux propriétaires. Un jeton de lecture à portée fine n’en couvre qu’un seul, donc sept entrées sur huit au mieux.
- Ce que cela coûte
- Le journal de construction ne montre pas les contributions du dépôt manquant. Il le nomme, il ne le remplace pas.
- Ce qui la fermera
- Le seul jeton couvrant les huit donnerait aussi l’écriture. Tant que cet arbitrage tient, la limite reste ouverte et affichée.
Constatée le
Les produits n’exposent pas de route publique de lecture
Les deux moteurs du groupe n’exposent qu’une route de santé sans authentification. Tout le reste est authentifié par session ou réservé à l’administration.
- Ce que cela coûte
- Le cockpit ne peut afficher qu’une disponibilité. Aucun chiffre d’usage produit n’est importable aujourd’hui, et aucun n’est inventé pour combler.
- Ce qui la fermera
- Une route publique versionnée, en lecture, sans donnée client, côté produit. Le jour où elle existe, elle se branche en une entrée de configuration.
Constatée le
La mesure d’audience est traitée hors de l’Union européenne
Le code et la page de confidentialité annoncent tous deux un traitement en Union européenne. Le compte réellement utilisé est hébergé aux États-Unis.
- Ce que cela coûte
- Une contradiction entre ce que le site promet et ce qu’il fait. Tant qu’elle dure, aucune mesure n’est configurée et la contradiction est affichée ici.
- Ce qui la fermera
- Deux issues, et une seule sera prise : basculer le compte en région européenne, ou corriger la page pour dire la région réelle. Les deux correctifs sont préparés dans le dépôt.
Constatée le
Il n’y a pas d’intégration continue
Aucun automate ne construit ni ne teste le dépôt à chaque envoi. Le quota du service d’automatisation est épuisé.
- Ce que cela coûte
- La vérification repose sur une commande locale, exécutée avant chaque envoi. Elle couvre le même terrain, mais elle dépend d’une discipline humaine.
- Ce qui la fermera
- Rétablir le quota, ou porter la même séquence sur un autre exécuteur. Aucune mesure de fréquence de déploiement n’est publiée d’ici là : elle ne serait pas mesurée.
Constatée le
La base de données est partagée avec deux produits
Le projet de base de données de ce site est le même que celui de deux produits du groupe. Ce n’est pas un choix, c’est une contrainte relevée après coup.
- Ce que cela coûte
- Toute restauration doit être sélective, table par table. Une restauration globale écraserait les données des produits voisins.
- Ce qui la fermera
- La séparation est tenue par les règles de sécurité au niveau des lignes, et la procédure de restauration ne porte que sur les tables de ce site. Un projet dédié fermerait la limite pour de bon.
Constatée le
Le corpus documentaire ne couvre pas tout ce que le site évoque
Le corpus contient un standard de reporting simplifié et un profil. Le socle complet des normes européennes est présent dans le dépôt mais n’est pas entièrement ingéré.
- Ce que cela coûte
- L’assistant refuse de répondre sur les parties non couvertes, plutôt que de répondre approximativement. Le refus est le comportement attendu, pas un incident.
- Ce qui la fermera
- Ingérer le socle complet, puis vérifier que la question de contrôle dépasse le seuil de pertinence, et non simplement qu’elle ramène quelque chose.
Constatée le
POUR ALLER PLUS LOIN
L’inspection complète.
L’inventaire du dépôt, les contrats des interfaces publiques, les frontières de données et les dix contrôles d’intégrité.