2.8 KiB
#222 — Fusion : panneau Spark V3, la console en surimpression pleine page
Contexte. Le bouton « Console ↗ » du panneau Spark (#221) ouvrait la console web du service d'agents (https://agent.dracodev.net/) dans un nouvel onglet : on quittait l'application en cours pour un autre onglet. Demande de Bruno (2026-10-22) : rester dans la même page — la console s'ouvre par-dessus l'application, avec une animation comme celle de la barre latérale mais qui recouvre la page au complet, et deux sorties explicites : revenir en mode sidebar, ou fermer l'agent.
Changement. Dans frontend/draco-panneau.js — asset vendangé,
maintenu en canonique dans TikTak et recopié octet-identique dans
les 4 applications (TikTak, Flowdeck, Kanbante, ObsiGate) :
- le bouton devient « Console ⤢ » (même emplacement, barre des
discussions) et
ouvrirConsole()n'ouvre plus d'onglet : il monte une surimpression.draco-console-surancrée à droite, née à la largeur du panneau, qui s'étend à 100 % de la fenêtre par transition CSS (doublerequestAnimationFramepour laisser peindre la géométrie de départ) ; - la console est chargée dans une iframe dont l'URL reste
construite au premier clic par
urlConsole(): discussion affichée (?disc=<id>) et app d'origine (?app=obsigate, déduite du sous-domaineog) — le lien profond de #221 est conservé ; - la barre de la surimpression (« ✦ Console Spark ») porte les deux
sorties demandées : « ◧ Mode sidebar » (
retrecirConsole(): l'overlay se rétracte à la largeur du panneau puis se masque, l'iframe reste chargée) et « ✕ Fermer l'agent » (fermer()+ rétraction : panneau et console fermés) ; - les styles de la surimpression sont injectés par le panneau
lui-même (
<style id="draco-console-styles">, variables du thème du panneau) : aucun fichier CSS à toucher côté hôte, et la surimpression suit le thème de l'app comme le panneau.
Côté service d'agents (0.20.0) : la console autorise désormais
l'encadrement par les 4 applications (frame-ancestors restreint
aux sous-domaines dracodev.net des apps) — sans quoi l'iframe
resterait blanche.
Vérifications. Syntaxe JS (node --check) ; test
tests/test_draco_barre.py::test_panneau_console_surimpression_222
(marqueurs de la surimpression, des deux sorties et de l'animation
dans l'asset) ; le test #221 est révisé en conséquence (le lien
profond ?disc= / ?app= subsiste, l'ouverture en nouvel onglet
disparaît) ; somme md5 commune des copies :
93026ffa14bc8ee896349e3858e12edf.
Versions. ObsiGate 2.77.0 (cette livraison) ; TikTak 0.60.0 et Flowdeck 7.81.0 déployées automatiquement sur release ; Kanbante 0.29.0 publiée. Activation côté ObsiGate : redéploiement Docker par Bruno.