43 lines
2.2 KiB
Markdown
43 lines
2.2 KiB
Markdown
# #221 — Fusion : bouton « Console ↗ » dans le panneau Spark
|
||
|
||
**Contexte.** Le panneau Spark (#218) et la console web du service
|
||
d'agents (Lot 2, https://agent.dracodev.net/) sont deux faces du même
|
||
service : mêmes discussions, mêmes approbations, mêmes missions. Il
|
||
manquait le lien de navigation entre les deux. Demande de Bruno
|
||
(2026-10-22) : un bouton dans le panneau qui ouvre la console.
|
||
|
||
**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) :
|
||
|
||
- un bouton fantôme « Console ↗ » dans la barre des discussions, à
|
||
côté de « ☰ Discussions » et « + Nouvelle » (même classe `d-btn`,
|
||
donc visible en thème clair comme sombre, le panneau suivant le
|
||
thème de l'app hôte) ;
|
||
- au clic, `ouvrirConsole()` construit l'URL **à ce moment-là** (la
|
||
discussion peut avoir changé sans recharger le panneau) :
|
||
`https://agent.dracodev.net/?disc=<id de la discussion affichée>&app=<app hôte>` ;
|
||
- la discussion vient de l'état du panneau (`convId`, repli
|
||
`sessionStorage draco_panneau_conv`) ; l'app hôte est déduite du
|
||
sous-domaine par `appHote()` (`og` → `obsigate`, `tiktak`,
|
||
`flowdeck`, `kanbante` ; hôte inconnu → pas de paramètre) ;
|
||
- ouverture en **nouvel onglet** (`window.open(..., "_blank",
|
||
"noopener")`). Sans discussion connue : lien simple vers la
|
||
racine de la console.
|
||
|
||
La console consomme déjà les deux paramètres : `?disc=` ouvre la
|
||
discussion demandée (lien profond), `?app=` s'affiche en puce
|
||
« Ouvert depuis : … » dans « Ce que Spark voit ».
|
||
|
||
**Vérifications.** Syntaxe JS (`node --check`), test fonctionnel de
|
||
la construction d'URL (4 cas : app connue/inconnue × discussion
|
||
présente/absente), test de non-régression
|
||
`tests/test_draco_barre.py::test_panneau_bouton_console_221`
|
||
(marqueurs du bouton et de la logique dans l'asset servi), somme
|
||
md5 commune des 4 copies : `c67cc2ab8e657b4e545fa93b28c3a0c4`.
|
||
|
||
**Versions.** ObsiGate 2.76.1 (cette livraison) ; TikTak 0.59.1 et
|
||
Flowdeck 7.80.1 déployées automatiquement sur release ; Kanbante
|
||
0.28.1 publiée. **Activation côté ObsiGate : redéploiement Docker
|
||
par Bruno.**
|