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 /healthzde l'origine que le panneau connaît déjà (celle injectée par l'hôte, iciwindow.DRACO_URLS.agent) — et affiche « Service d'agents vX » depuis le champversionde 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.