diff --git a/.env.example b/.env.example index 9a0f505..df75963 100644 --- a/.env.example +++ b/.env.example @@ -130,6 +130,7 @@ DEEPSEEK_MODEL=deepseek-chat # DRACO_TIKTAK_URL=https://tiktak.dracodev.net # DRACO_KANBANTE_URL=https://kanbante.dracodev.net # DRACO_SHAARIT_URL=https://shaarit.dracodev.net +# DRACO_HUB_URL=https://hub.dracodev.net # DRACO_GITEA_URL=https://git.dracodev.net # ── Fusion — émission d'événements vers le service d'agents (#220) ── diff --git a/CHANGELOG.md b/CHANGELOG.md index 2326d64..93c083e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). > **En cours de développement** : les changements à venir sont listés dans la section -> [Unreleased](#unreleased). La dernière version livrée est **2.83.2**. +> [Unreleased](#unreleased). La dernière version livrée est **2.83.3**. --- @@ -14,6 +14,12 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [2.83.3] — 2026-11-04 + +- **Barre commune v0.3.0 — liens Hub du menu compte (HUB-1, fusion #115)** : `frontend/draco-barre.js` et `frontend/draco-barre.css` re-vendangés **verbatim** depuis dracodev-commons v0.3.0 (branche `hub-menu-compte-v0-3-0`, PR commons #9). Le menu compte gagne les liens **Télécharger**, **À Propos**, **Aides** et **Profil** (devenu un lien, plus un relais) vers le Hub. Branchement hôte : `backend/draco_config.py` gagne la clé `hub` (défaut officiel `https://hub.dracodev.net`, variable `DRACO_HUB_URL`, dérivation `-dev` → `hub-dev` depuis l'hôte de l'agent), servie dans `window.DRACO_URLS` ; `frontend/index.html` la passe en `urls.hub` de `DRACO_BAR_CONFIG`. « Déconnexion » reste relayée, inchangée. Aucun nouvel onglet : le Hub n'apparaît que dans le menu compte. + +--- + ## [2.83.2] — 2026-11-04 - **Recherche fédérée — ShaarIt, 5e source de « Rechercher partout »** (demande de Bruno, 2026-11-04 ; contrat dracodev-commons v0.2.1, `contrats/recherche-federee.md`) : `frontend/js/recherche.js` **re-vendangé verbatim** depuis la source canonique de commons (`ui/recherche/`) — ShaarIt devient une source de la page `/recherche` comme les autres (bases prod/dev, onglet, normaliseur : lien profond canonique `{base}shaare/`, contexte « Bookmark · privé · tags », repli recherche native `/?q=`). Le fichier reste strictement identique chez les cinq hôtes. diff --git a/README.fr.md b/README.fr.md index 4858eba..fd20dd2 100644 --- a/README.fr.md +++ b/README.fr.md @@ -4,7 +4,7 @@ **Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive. -[![Version](https://img.shields.io/badge/Version-2.83.2-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.83.3-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -977,8 +977,8 @@ Ce projet est sous licence **MIT** — voir le fichier [LICENSE](LICENSE) pour l ## 📝 Changelog -Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.83.2). +Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.83.3). --- -*Projet : ObsiGate | Version : 2.83.2 | Dernière mise à jour : Septembre 2026* +*Projet : ObsiGate | Version : 2.83.3 | Dernière mise à jour : Septembre 2026* diff --git a/README.md b/README.md index c5f5a5f..02bf944 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Ultra-light web gateway for your Obsidian vaults** — Access, browse, and search all your Obsidian notes from any device via a modern, responsive web interface. -[![Version](https://img.shields.io/badge/Version-2.83.2-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.83.3-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -1152,8 +1152,8 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) ## 📝 Changelog -See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.83.2). +See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.83.3). --- -*Project: ObsiGate | Version: 2.83.2 | Last updated: September 2026* +*Project: ObsiGate | Version: 2.83.3 | Last updated: September 2026* diff --git a/VERSION b/VERSION index d68c4c0..7814c66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.83.2 +2.83.3 diff --git a/backend/draco_config.py b/backend/draco_config.py index 1898ced..62c7120 100644 --- a/backend/draco_config.py +++ b/backend/draco_config.py @@ -18,6 +18,9 @@ Variables (voir ``.env.example``) : - ``DRACO_TIKTAK_URL`` — base publique de TikTak. - ``DRACO_KANBANTE_URL`` — base publique de Kanbante. - ``DRACO_SHAARIT_URL`` — base publique de ShaarIt (barre v0.2.0). +- ``DRACO_HUB_URL`` — base publique du Hub (barre v0.3.0, + HUB-1 : liens Télécharger / À Propos / Aides / Profil du menu + compte ; le Hub n'a pas d'onglet dans la barre). - ``DRACO_GITEA_URL`` — base publique de Gitea (les cartes Kanbante *sont* des issues Gitea, contrat liens-profonds) ; distincte de ``OBSIGATE_GITEA_URL`` (source connectée de @@ -52,6 +55,7 @@ DEFAUTS: dict[str, str] = { "tiktak": "https://tiktak.dracodev.net", "kanbante": "https://kanbante.dracodev.net", "shaarit": "https://shaarit.dracodev.net", + "hub": "https://hub.dracodev.net", "gitea": "https://git.dracodev.net", } @@ -62,6 +66,7 @@ _VARIABLES: dict[str, str] = { "tiktak": "DRACO_TIKTAK_URL", "kanbante": "DRACO_KANBANTE_URL", "shaarit": "DRACO_SHAARIT_URL", + "hub": "DRACO_HUB_URL", "gitea": "DRACO_GITEA_URL", } @@ -75,6 +80,7 @@ _SLUGS_HOTE: dict[str, str] = { "tiktak": "tiktak", "kanbante": "kanbante", "shaarit": "shaarit", + "hub": "hub", } # Premier label de l'hôte de l'agent : ``agent`` suivi d'un suffixe diff --git a/desktop/Cargo.lock b/desktop/Cargo.lock index 96e35df..98f8c90 100644 --- a/desktop/Cargo.lock +++ b/desktop/Cargo.lock @@ -2626,7 +2626,7 @@ dependencies = [ [[package]] name = "obsigate-desktop" -version = "2.83.2" +version = "2.83.3" dependencies = [ "chrono", "env_logger", diff --git a/desktop/Cargo.toml b/desktop/Cargo.toml index d0fb7ca..e4a51ef 100644 --- a/desktop/Cargo.toml +++ b/desktop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "obsigate-desktop" -version = "2.83.2" +version = "2.83.3" description = "ObsiGate Desktop — Porte d'entrée native pour vos vaults Obsidian" authors = ["Bruno Charest"] edition = "2021" diff --git a/desktop/tauri.conf.json b/desktop/tauri.conf.json index 91fdded..593bf54 100644 --- a/desktop/tauri.conf.json +++ b/desktop/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/nicedoc/obsigate/main/desktop/tauri.conf.schema.json", "productName": "ObsiGate", - "version": "2.83.2", + "version": "2.83.3", "identifier": "com.obsigate.desktop", "build": { "frontendDist": "../frontend", diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 2521187..35f96f8 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,6 +1,6 @@ # ObsiGate — Roadmap -> **Version :** 2.83.2 | **Dernière mise à jour :** 2026-11-04 +> **Version :** 2.83.3 | **Dernière mise à jour :** 2026-11-04 > **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)** diff --git a/frontend/draco-barre.css b/frontend/draco-barre.css index 8c9927c..c01145f 100644 --- a/frontend/draco-barre.css +++ b/frontend/draco-barre.css @@ -20,6 +20,10 @@ 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). + v0.3.0 (HUB-1) : aucun style nouveau — les liens du Hub du menu + compte (Télécharger, À Propos, Aides, Profil) réutilisent + .draco-menu-item (déjà ancre-compatible : text-decoration none) + et le séparateur .draco-menu-sep du menu des applications. 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 diff --git a/frontend/draco-barre.js b/frontend/draco-barre.js index 4e77833..3de0f03 100644 --- a/frontend/draco-barre.js +++ b/frontend/draco-barre.js @@ -14,6 +14,21 @@ * 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. + * v0.3.0 (carte HUB-1, fusion #115) : le Hub, point central de la + * suite — nouvelle clé d'URL « hub » (jeton {{URL_HUB}} côté hôte, + * DRACO_BAR_CONFIG.urls.hub), défaut officiel + * https://hub.dracodev.net/, dérivation -dev hub-dev comme les + * sœurs. Le menu compte gagne trois vrais liens (patron + * buildAppsMenu : , classe draco-menu-item) — Télécharger + * → /telecharger, À Propos → /a-propos, Aides → + * /aide — et « Profil » devient lui aussi un lien, vers + * /profil (il n'est plus relayé aux hôtes : un seul Profil, + * celui du Hub). « Déconnexion » reste l'action relayée + * (data-compte-act="deconnexion" / onAction), inchangée. + * refreshMenuHrefs() resynchronise aussi les liens du Hub à + * l'ouverture des menus. Le Hub n'a pas d'onglet dans la barre : + * comme spark, sa clé est résolue et exposée via DRACO_BAR.urls, + * sans étape « href rendu » (voir « URL » ci-dessous). * * 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 @@ -33,7 +48,8 @@ * kanbante: "https://kanbante.dracodev.net/", * shaarit: "https://shaarit.dracodev.net/", * agent: "https://agent.dracodev.net/", - * spark: "https://spark.dracodev.net/" + * spark: "https://spark.dracodev.net/", + * hub: "https://hub.dracodev.net/" * }, * onAction: function (act, el) { … } // l'app relaie les actions * } // qu'elle ne connaît pas @@ -67,6 +83,12 @@ * 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. + * Cas hub (v0.3.0) : PAS d'onglet, donc pas d'étape « href rendu » — + * explicite (DRACO_BAR_CONFIG.urls.hub, alimenté par le jeton + * {{URL_HUB}} remplacé côté serveur par l'hôte) > dérivation -dev + * hub-dev sur hôte -dev > défaut officiel + * https://hub.dracodev.net/. La base résolue sert les quatre liens + * du menu compte (telecharger, a-propos, aide, profil). * 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…). @@ -141,6 +163,14 @@ * mais le menu affiche l'identité même sans gestionnaire hôte. * Accessibilité : vrais