diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6fa091b..fc76644 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+## v7.84.7 (2026-10-29) — Barre commune : les 5 logos dans le menu et la barre
+
+- **Barre d'apps v0.1.9 vendangée (dracodev-commons)** : `static/js/vendor/draco-barre.js` et `static/css/draco-barre.css` remplacés verbatim par la v0.1.9 (les fichiers vendangés précédents étaient identiques à l'octet près à ceux de commons avant la v0.1.9, aucune adaptation locale n'est perdue) ; fragment `app/templates/_draco_bar.html` porté à la v0.1.9, le reste de son intégration Flowdeck (URL `draco_urls()`, `onAction`, nonce CSP) est inchangé.
+- **Icônes** : les 5 tuiles de la barre — et donc du menu de la marque, qui les clone — sont désormais les logos fournis, tels quels, jamais redessinés : ObsiGate (arbre), Flowdeck (cartes), TikTak (logo officiel SVG), Kanbante (cycle vert), Console Spark (étoile rouge validée). Fichiers servis depuis `static/img/logos/` (copie de `ui/barre-apps/logos/` de commons, PNG 180 px) ; l'entrée « Console Spark » du menu clone l'icône de l'onglet agent. Les glyphes texte ▤/▦/✓/▥/✦ disparaissent des onglets (la marque ✦ et le bouton Spark gardent leur ✦).
+- **Cache** : le bump 7.84.6 → 7.84.7 change aussi `asset_version`, donc les navigateurs ne garderont pas les anciennes icônes.
+
## v7.84.6 (2026-10-28) — Recherche console : CORS Flowdeck sans doublons (PR #41)
- **CORS recherche (PR #41)** : le middleware de recherche remplace désormais les en-têtes CORS existants au lieu de les empiler — le CORSMiddleware global posait déjà Allow-Credentials: true, l'ancien middleware ajoutait les siens par-dessus (« true, true » rejeté par le navigateur) ; l'onglet Flowdeck de la recherche console agent-dev n'est plus injoignable.
diff --git a/VERSION b/VERSION
index 0a70e36..c3b66c6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-7.84.6
+7.84.7
diff --git a/app/templates/_draco_bar.html b/app/templates/_draco_bar.html
index 4555dbe..bd5efd0 100644
--- a/app/templates/_draco_bar.html
+++ b/app/templates/_draco_bar.html
@@ -1,5 +1,5 @@
{# Barre d'apps commune dracodev — Fusion ACC-1.1 (issue #17).
- Snippet FIGÉ vendangé depuis Projets/dracodev-commons v0.1.6
+ Snippet FIGÉ vendangé depuis Projets/dracodev-commons v0.1.9
(ui/barre-apps/) : ne pas modifier la structure ici ; toute évolution
passe par une nouvelle version de commons.
CSS/JS : /static/css/draco-barre.css, /static/js/vendor/draco-barre.js.
@@ -8,7 +8,12 @@
par défaut, noms en -dev déclarés dans le .env de l'environnement).
5e onglet Console Spark (data-app="agent", draco_urls().agent),
après Kanbante ; l'entrée « Console Spark » du menu de la marque
- est conservée (menu construit par draco-barre.js depuis les onglets). #}
+ est conservée (menu construit par draco-barre.js depuis les onglets).
+ Icônes logos v0.1.9 (2026-10-29) : les 5 tuiles sont les logos
+ fournis, tels quels, servis depuis /static/img/logos/ (copie de
+ ui/barre-apps/logos/ de dracodev-commons) — jamais de glyphe
+ texte, jamais de redessin ; l'entrée « Console Spark » du menu
+ clone l'icône de l'onglet agent (draco-barre.js). #}
@@ -18,25 +23,25 @@
diff --git a/static/css/draco-barre.css b/static/css/draco-barre.css
index ad654dc..b7c9f07 100644
--- a/static/css/draco-barre.css
+++ b/static/css/draco-barre.css
@@ -94,6 +94,13 @@
width: 30px; height: 30px; flex: none; display: grid; place-items: center;
border-radius: 9px; background: var(--app); color: #fff; font-size: 15px;
}
+/* Icônes logos (2026-10-29, corrigé le même jour) : l'image du logo
+ * fourni, telle quelle, remplit la tuile 30 px — jamais de glyphe
+ * texte, jamais de redessin. Le fond de la tuile est transparent :
+ * les logos PNG portent déjà leur fond (dégradé), le SVG TikTak
+ * reste sur le fond de la barre. */
+.draco-apptab-ico { background: transparent; }
+.draco-apptab-ico img { width: 30px; height: 30px; display: block; border-radius: 9px; object-fit: cover; }
.draco-apptab-txt { display: none; flex-direction: column; line-height: 1.15; }
.draco-apptab-txt strong { font-size: 14px; font-weight: 700; }
.draco-apptab-txt small { font-size: 11.5px; color: var(--ink-2); }
diff --git a/static/img/logos/flowdeck.png b/static/img/logos/flowdeck.png
new file mode 100644
index 0000000..21c556f
Binary files /dev/null and b/static/img/logos/flowdeck.png differ
diff --git a/static/img/logos/kanbante.png b/static/img/logos/kanbante.png
new file mode 100644
index 0000000..32a2b02
Binary files /dev/null and b/static/img/logos/kanbante.png differ
diff --git a/static/img/logos/obsigate.png b/static/img/logos/obsigate.png
new file mode 100644
index 0000000..27b93ff
Binary files /dev/null and b/static/img/logos/obsigate.png differ
diff --git a/static/img/logos/spark.png b/static/img/logos/spark.png
new file mode 100644
index 0000000..049acad
Binary files /dev/null and b/static/img/logos/spark.png differ
diff --git a/static/img/logos/tiktak.svg b/static/img/logos/tiktak.svg
new file mode 100644
index 0000000..4babd04
--- /dev/null
+++ b/static/img/logos/tiktak.svg
@@ -0,0 +1,8 @@
+
diff --git a/static/js/vendor/draco-barre.js b/static/js/vendor/draco-barre.js
index eeaa965..6ea58ca 100644
--- a/static/js/vendor/draco-barre.js
+++ b/static/js/vendor/draco-barre.js
@@ -369,7 +369,10 @@
* 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
- * autres items ; l'icône ✦ reprend la couleur agent du CSS. */
+ * autres items ; son icône CLONE celle de l'onglet agent
+ * (2026-10-29, logos barre-apps, corrigé le même jour) : le logo
+ * fourni, tel quel, jamais redessiné — le CSS --agent (rose) des
+ * autres éléments de la barre n'est pas changé ici. */
var sep = document.createElement("div");
sep.className = "draco-menu-sep";
sep.setAttribute("aria-hidden", "true");
@@ -379,10 +382,18 @@
sparkItem.href = resolvedUrls.agent || "#";
sparkItem.dataset.app = "agent";
sparkItem.setAttribute("role", "menuitem");
- var sparkIco = document.createElement("span");
- sparkIco.className = "draco-apptab-ico";
- sparkIco.setAttribute("style", "--app:#c2437e");
- sparkIco.textContent = "✦";
+ var sparkIco;
+ var agentTab = document.querySelector('.draco-apptab[data-app="agent"]');
+ var agentIco = agentTab ? agentTab.querySelector(".draco-apptab-ico") : null;
+ if (agentIco) {
+ sparkIco = agentIco.cloneNode(true);
+ } else {
+ sparkIco = document.createElement("span");
+ sparkIco.className = "draco-apptab-ico";
+ sparkIco.setAttribute("style", "--app:#d21f2c");
+ sparkIco.setAttribute("data-icon", "agent");
+ sparkIco.textContent = "✦";
+ }
sparkItem.appendChild(sparkIco);
var sparkTxt = document.createElement("span");
sparkTxt.className = "draco-apps-item-txt";