From 0b0639ce617e6b2172462d41690c95b55e87dceb Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 4 Nov 2026 03:38:18 +0000 Subject: [PATCH 01/11] ObsiGate 2.83.1 : barre v0.2.0, onglet ShaarIt + garde data-theme (frontend/draco-barre.css) --- frontend/draco-barre.css | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/frontend/draco-barre.css b/frontend/draco-barre.css index 08d574a..8c9927c 100644 --- a/frontend/draco-barre.css +++ b/frontend/draco-barre.css @@ -12,9 +12,18 @@ Alertes icône seule. v0.1.11 : marque = étoile Spark monochrome (blanche barre foncée, noire barre claire) ; anneau rouge #c00000 autour de l'avatar flottant. + v0.2.0 : nouvel onglet « ShaarIt » (data-app="shaarit", --app émeraude + #059669, logo logos/shaarit.svg via {{LOGO_SHAARIT}}) avant l'onglet + agent ; GARDE data-theme : les blocs prefers-color-scheme ne + s'appliquent que si n'a AUCUN attribut data-theme + (html:not([data-theme])) — avant ce correctif, un hôte ayant choisi + le clair via data-theme="light" héritait quand même du sombre + système (piège constaté dans les copies vendangées de + Kanbante/Flowdeck ; les re-vendanges de la v0.2.0 le corrigent). Jetons repris du prototype validé Console v7.2. Thème : clair par défaut, sombre via [data-theme="dark"] sur - ou prefers-color-scheme si l'app intégratrice ne force rien. */ + ou prefers-color-scheme si l'app intégratrice ne force rien + (aucun attribut data-theme sur ). */ .draco-bar { --bg: #f2f2f0; --surface: #ffffff; --surface-2: #e9eae6; --surface-3: #f6f6f3; @@ -27,8 +36,12 @@ background: var(--surface); border-bottom: 1px solid var(--line); font: 500 14px/1.3 system-ui, "Segoe UI", sans-serif; color: var(--ink); } +/* Garde data-theme (v0.2.0) : le sombre système ne s'applique QUE si + * l'hôte n'a posé aucun data-theme sur . Sans cette garde, un + * hôte en data-theme="light" sur un système sombre affichait la barre + * sombre malgré son choix explicite. */ @media (prefers-color-scheme: dark) { - .draco-bar { --bg:#101211; --surface:#1a1c1a; --surface-2:#242624; --surface-3:#20221f; + html:not([data-theme]) .draco-bar { --bg:#101211; --surface:#1a1c1a; --surface-2:#242624; --surface-3:#20221f; --ink:#eceee9; --ink-2:#a6aba2; --ink-3:#8b9089; --line:#2e302c; } } [data-theme="dark"] .draco-bar { --bg:#101211; --surface:#1a1c1a; --surface-2:#242624; --surface-3:#20221f; @@ -48,7 +61,7 @@ barre foncée (filtre annulé par les règles thème ci-dessous). */ .draco-brand-mark img { width: 26px; height: 26px; object-fit: cover; display: block; filter: brightness(0); } @media (prefers-color-scheme: dark) { - .draco-bar .draco-brand-mark img { filter: none; } + html:not([data-theme]) .draco-bar .draco-brand-mark img { filter: none; } } [data-theme="dark"] .draco-bar .draco-brand-mark img { filter: none; } @@ -218,6 +231,9 @@ .draco-bar[data-current="flowdeck"] .draco-apptab[data-app="flowdeck"], .draco-bar[data-current="tiktak"] .draco-apptab[data-app="tiktak"], .draco-bar[data-current="kanbante"] .draco-apptab[data-app="kanbante"], + /* v0.2.0 : sur ShaarIt elle-même (data-current="shaarit"), c'est + l'onglet ShaarIt qui reste visible en mobile. */ + .draco-bar[data-current="shaarit"] .draco-apptab[data-app="shaarit"], /* Chantier 5 : sur la console elle-même (data-current="agent", programme console #71), c'est l'onglet Console Spark qui reste visible en mobile — les 4 hôtes gardent leur propre courant. */ -- 2.54.0 From 14089ff59e283db470d9d524de81bac2b5aeee76 Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 4 Nov 2026 03:38:18 +0000 Subject: [PATCH 02/11] ObsiGate 2.83.1 : barre v0.2.0, onglet ShaarIt + garde data-theme (frontend/draco-barre.js) --- frontend/draco-barre.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/frontend/draco-barre.js b/frontend/draco-barre.js index 6ea58ca..4e77833 100644 --- a/frontend/draco-barre.js +++ b/frontend/draco-barre.js @@ -8,7 +8,12 @@ * correctif fusion #70 (SANS bump de version, publication séparée) : * bouton trois points et son menu par défaut SUPPRIMÉS, « Console Spark » * ajoutée au menu de la marque, fermeture/focus corrigés (voir - * « Menu des applications », « Focus » et « Écouteurs globaux »). + * « Menu des applications », « Focus » et « Écouteurs globaux ») ; + * v0.2.0 : 5e application ShaarIt — clé urls.shaarit, défaut officiel + * https://shaarit.dracodev.net/, dérivation -dev shaarit-dev (même + * contrat que les autres apps), entrée APP_LABELS ; l'onglet + * (data-app="shaarit", après Kanbante, avant agent) est repris + * automatiquement par la construction du menu de la marque. * * Aucun gestionnaire inline : un seul écouteur délégué sur le document * (patron validé par le prototype — les onclick du HTML généré sont @@ -26,6 +31,7 @@ * flowdeck: "https://flowdeck.dracodev.net/", * tiktak: "https://tiktak.dracodev.net/", * kanbante: "https://kanbante.dracodev.net/", + * shaarit: "https://shaarit.dracodev.net/", * agent: "https://agent.dracodev.net/", * spark: "https://spark.dracodev.net/" * }, @@ -54,10 +60,13 @@ * La clé spark ne correspond à aucun onglet de la barre : elle est * résolue et exposée via DRACO_BAR.urls pour le panneau Spark * (panneau-agent), qui suit le même contrat d'injection. La clé agent, - * elle, a un onglet depuis le chantier 5 (ordre : ObsiGate, Flowdeck, - * TikTak, Kanbante, Console Spark) : elle suit donc l'étape « href + * elle, a un onglet depuis le chantier 5 (ordre, v0.2.0 : ObsiGate, + * Flowdeck, TikTak, Kanbante, ShaarIt, Console Spark) : elle suit + * donc l'étape « href * rendu » comme les autres onglets, en plus d'alimenter le menu de - * la marque et DRACO_BAR.urls. + * la marque et DRACO_BAR.urls. Même résolution pour shaarit (v0.2.0) : + * explicite > dérivation -dev shaarit-dev > href rendu + * ({{URL_SHAARIT}}) > défaut officiel. * Actions émises (data-act) : rail, palette, domaine (data-dom), * alertes, spark, rappel-entete. L'app intégratrice décide de chacune * (ouvrir la palette, le panneau Spark, changer de domaine…). @@ -144,6 +153,7 @@ flowdeck: "https://flowdeck.dracodev.net/", tiktak: "https://tiktak.dracodev.net/", kanbante: "https://kanbante.dracodev.net/", + shaarit: "https://shaarit.dracodev.net/", agent: "https://agent.dracodev.net/", spark: "https://spark.dracodev.net/" }; @@ -157,12 +167,13 @@ flowdeck: "https://flowdeck-dev.dracodev.net/", tiktak: "https://tiktak-dev.dracodev.net/", kanbante: "https://kanbante-dev.dracodev.net/", + shaarit: "https://shaarit-dev.dracodev.net/", agent: "https://agent-dev.dracodev.net/" }; var APP_LABELS = { obsigate: "ObsiGate", flowdeck: "Flowdeck", - tiktak: "TikTak", kanbante: "Kanbante" + tiktak: "TikTak", kanbante: "Kanbante", shaarit: "ShaarIt" }; /* Vrai si hostname est un hôte -dev dracodev.net : première étiquette @@ -365,7 +376,8 @@ if (badge) a.appendChild(badge.cloneNode(true)); appsMenu.appendChild(a); }); - /* Entrée « Console Spark » (#70) : après Kanbante, vers la console + /* Entrée « Console Spark » (#70) : après les onglets d'apps + * (ObsiGate…ShaarIt, v0.2.0), vers la console * de l'agent commun (URL agent résolue — explicite > -dev > * défaut prod ; aucun hôte spark-dev inventé). data-app="agent" * l'intègre à refreshMenuHrefs/applyUrls/setCurrent comme les -- 2.54.0 From 5a7f1b9bcfe3dd65cf1e627bc5cdb91d67c8c14a Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 4 Nov 2026 03:38:18 +0000 Subject: [PATCH 03/11] ObsiGate 2.83.1 : barre v0.2.0, onglet ShaarIt + garde data-theme (frontend/img/logos/shaarit.svg) --- frontend/img/logos/shaarit.svg | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 frontend/img/logos/shaarit.svg diff --git a/frontend/img/logos/shaarit.svg b/frontend/img/logos/shaarit.svg new file mode 100644 index 0000000..7d970da --- /dev/null +++ b/frontend/img/logos/shaarit.svg @@ -0,0 +1,9 @@ + + + + + -- 2.54.0 From 8683e1d7241f3a00c16b5672bc361d7c6a101a40 Mon Sep 17 00:00:00 2001 From: bruno Date: Wed, 4 Nov 2026 03:38:18 +0000 Subject: [PATCH 04/11] ObsiGate 2.83.1 : barre v0.2.0, onglet ShaarIt + garde data-theme (frontend/index.html) --- frontend/index.html | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index 0423d73..624ccf3 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -268,9 +268,16 @@