feat: panneau Spark V3 — la console en surimpression pleine page #222

This commit is contained in:
Spark
2026-10-23 04:13:37 +00:00
parent 985af3a294
commit 7f06606300
12 changed files with 262 additions and 30 deletions
+24 -1
View File
@@ -1,6 +1,6 @@
# ObsiGate — Roadmap
> **Version :** 2.76.1 | **Dernière mise à jour :** 2026-10-22
> **Version :** 2.77.0 | **Dernière mise à jour :** 2026-10-23
> **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact
> vers les fonctionnalités livrées.
> - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)**
@@ -30,6 +30,29 @@
## 🔵 En cours
### 222. Fusion — panneau Spark V3 : la console en surimpression pleine page
- **Effort :** ~0,1 jour | **Impact :** 🟢 | **Ouvert :** 2026-10-23 | **Statut :** 🔵 en cours
- **Fiche :** [features/fusion-panneau-console-surimpression-222.md](./features/fusion-panneau-console-surimpression-222.md)
- **Description :** le panneau Spark (asset vendangé `frontend/draco-panneau.js`,
octet-identique dans les 4 apps) passe en V3 (demande de Bruno,
2026-10-22) : le bouton « Console ⤢ » n'ouvre plus la console du
service d'agents en nouvel onglet (#221) mais en **surimpression
pleine page dans la même page** — montée à la largeur du panneau,
étendue à toute la fenêtre par transition, iframe gardant le lien
profond (`?disc=` / `?app=`), et deux sorties dans sa barre :
« Mode sidebar » (rétraction vers le panneau) et « Fermer l'agent ».
Styles injectés par le panneau ; côté service, la console autorise
l'encadrement par les 4 apps (0.20.0). Même livraison : TikTak
0.60.0, Flowdeck 7.81.0, Kanbante 0.29.0.
- **Sous-tâches :**
- [x] Surimpression + barre « Mode sidebar » / « Fermer l'agent »
dans le panneau canonique (TikTak), recopié octet-identique
dans les 4 apps
- [x] Test `tests/test_draco_barre.py::test_panneau_console_surimpression_222`
(et révision du test #221 : le nouvel onglet disparaît)
- [ ] Release v2.77.0 publiée — CI à constater, redéploiement Docker (geste de Bruno)
### 221. Fusion — panneau Spark : bouton « Console ↗ » vers la console du service
- **Effort :** ~0,1 jour | **Impact :** 🟢 | **Ouvert :** 2026-10-22 | **Statut :** ✅ livré le 2026-10-22 (2.76.1, redéploiement Docker en attente)
@@ -0,0 +1,52 @@
# #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-sur` ancrée à droite,
née à la largeur du panneau, qui **s'étend à 100 % de la fenêtre**
par transition CSS (double `requestAnimationFrame` pour 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-domaine `og`) — 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.**