Files
ObsiGate/docs/features/fusion-panneau-version-agent-225.md
T
Spark fddbaec82e
CI / lint (push) Failing after 1s
CI / security (push) Failing after 0s
CI / test (push) Skipped
CI / build (push) Skipped
CI / e2e (push) Skipped
feat: panneau Spark — version du service d'agents visible en mode sidebar #225
2026-10-26 16:56:28 +00:00

2.1 KiB

#225 — Fusion : panneau Spark, version du service d'agents visible en mode sidebar

Contexte. La version « Service d'agents vX » du service d'agents est visible dans la console pleine page (pilule d'en-tête, rendue par le service lui-même), mais pas dans le panneau natif des applications (mode sidebar) — or c'est là que Bruno vit au quotidien. Demande de Bruno (2026-10-26), carte fusion #64 : la version doit se lire dans le panneau ouvert, sans ouvrir la console.

Changement. Dans frontend/draco-panneau.js — asset vendangé, maintenu en canonique dans TikTak et recopié dans les 4 applications (TikTak, Flowdeck, Kanbante, ObsiGate ; chaque copie garde son bloc d'injection d'origine propre à l'hôte, le corps est commun) :

  • le pied du panneau gagne une ligne dédiée .draco-panneau-version, discrète (11,5 px, opacité 0,6, monochrome, aucun emoji), masquée tant qu'aucune version n'est connue ;
  • à l'ouverture du panneau, chargerVersion() interroge la santé du service — GET /healthz de l'origine que le panneau connaît déjà (celle injectée par l'hôte, ici window.DRACO_URLS.agent) — et affiche « Service d'agents vX » depuis le champ version de la réponse (la même source que la pilule de la console) ;
  • cache de session de 5 minutes, rafraîchissement au rythme des ouvertures du panneau (comme la vérification d'identité) ;
  • jamais de valeur codée en dur : réponse illisible ou service injoignable = la ligne reste masquée — pas de fausse version, pas d'erreur visible.

Preuve. Épreuve comportementale (jsdom) exécutée sur les 4 copies avec le contrat d'injection de chaque hôte : santé joignable → la ligne affiche « Service d'agents v0.38.0 » (version lue sur l'origine de l'agent) ; santé injoignable → rien d'affiché ; hôte sans injection → aucun appel. Test de garde : tests/test_draco_barre.py::test_panneau_version_service_affichee_225.

Même livraison (carte fusion #64) : TikTak 0.61.3, Flowdeck 7.83.1, Kanbante 0.37.1. Côté ObsiGate, la prise d'effet attend le redéploiement Docker (geste de Bruno), comme les items panneau précédents.