ObsiGate 2.83.1 : barre v0.2.0 — onglet ShaarIt + garde data-theme #61

Open
bruno wants to merge 11 commits from barre-v020-2-83-1 into main
Owner

⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : garde data-theme du CSS v0.2.0

Le CSS v0.2.0 de la barre contient la garde data-theme : ses blocs prefers-color-scheme sont préfixés html:not([data-theme]). La copie v0.1.11 vendangée jusqu'ici n'avait pas cette garde. Chez ObsiGate, l'impact pratique est nul : index.html et recherche.html posent toujours data-theme sur <html> (défaut dark, mode persisté), donc les règles système ne s'appliquaient déjà pas. La garde ne changerait le comportement que sur une page hôte sans data-theme. C'est néanmoins un changement de comportement du CSS vendangé, signalé comme tel pour arbitrage de Bruno à la fusion (c'est chez Flowdeck que le piège corrigé par cette garde était actif).

Quoi

Re-vendange de la barre d'apps dracodev-commons v0.2.0 (source : branche shaarit-phase3-barre-contrats, commit 70c837a1734939b76d35a9679708e88456726f52, PR commons #7) — vague 3a de la phase 3 ShaarIt. Version ObsiGate : 2.83.0 → 2.83.1 (correctif, comme les re-vendanges précédentes 2.82.5 → 2.82.6 → 2.82.7).

  • Onglet ShaarIt (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark, dans frontend/index.html et frontend/recherche.html (jeton {{URL_SHAARIT}} remplacé par la route /recherche, comme les autres).
  • Verbatim prouvé (SHA-256, source @70c837a → copie) :
    • barre-apps.css abc0c3b2…fab → frontend/draco-barre.css abc0c3b2…fab ✅
    • barre-apps.js 24efe399…e1 → frontend/draco-barre.js 24efe399…e1 ✅
    • logos/shaarit.svg faf0c8a1…34 → frontend/img/logos/shaarit.svg faf0c8a1…34 ✅ (nouveau)
    • Le fragment HTML est, comme avant, adapté par l'hôte (copie en ligne dans les deux pages, jetons déjà résolus) — ce n'est pas un verbatim, c'est le mécanisme d'adaptation existant d'ObsiGate, conservé.
  • URL ShaarIt dérivée, jamais codée en dur : backend/draco_config.py gagne la clé shaarit par le même mécanisme que les autres sœurs — défaut officiel https://shaarit.dracodev.net, variable explicite DRACO_SHAARIT_URL (documentée dans .env.example), dérivation d'environnement depuis l'hôte de l'agent (agent-dev → https://shaarit-dev.dracodev.net). Elle est servie dans window.DRACO_URLS et réécrite sur l'onglet par le code existant ; le JS vendangé apporte en plus ses propres défaut/dérivation -dev.
  • Version : VERSION + fichiers dérivés resynchronisés avec l'outil du dépôt (scripts/bump_version.py : package.json, desktop Tauri/Cargo, READMEs, docs/ROADMAP.md) — tests/test_version.py vert (46/46).

Vérifications

  • pytest tests/test_draco_barre.py tests/test_draco_config.py tests/test_version.py tests/test_security_headers.py : 82/82 (dont 2 tests ajoutés : onglet ShaarIt + garde dans test_draco_barre.py, défaut/dérivation/explicite ShaarIt dans test_draco_config.py).
  • pytest tests/test_recherche_cors.py tests/test_recherche_sans_texte_parasite.py tests/test_recherche_theme.py tests/test_draco_session.py : 42/42.
  • ruff check sur les fichiers Python touchés : propre.
  • Rendu réel vérifié (TestClient, AGENT_EVENEMENTS_URL en -dev) : /recherche sert l'onglet ShaarIt avec href="https://shaarit-dev.dracodev.net" (jeton remplacé par l'URL dérivée) et window.DRACO_URLS contient "shaarit": "https://shaarit-dev.dracodev.net" ; / expose la même dérivation pour la réécriture JS des onglets.
  • Diff limité au périmètre barre + version : aucun autre fichier touché. Aucune fusion, aucune release — la fusion reste l'acte de Bruno.
## ⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : garde `data-theme` du CSS v0.2.0 Le CSS v0.2.0 de la barre contient la **garde `data-theme`** : ses blocs `prefers-color-scheme` sont préfixés `html:not([data-theme])`. La copie v0.1.11 vendangée jusqu'ici **n'avait pas cette garde**. Chez ObsiGate, l'impact pratique est nul : `index.html` et `recherche.html` posent toujours `data-theme` sur `<html>` (défaut `dark`, mode persisté), donc les règles système ne s'appliquaient déjà pas. La garde ne changerait le comportement que sur une page hôte sans `data-theme`. C'est néanmoins un **changement de comportement du CSS vendangé**, signalé comme tel pour arbitrage de Bruno à la fusion (c'est chez Flowdeck que le piège corrigé par cette garde était actif). ## Quoi Re-vendange de la barre d'apps **dracodev-commons v0.2.0** (source : branche `shaarit-phase3-barre-contrats`, commit `70c837a1734939b76d35a9679708e88456726f52`, PR commons #7) — vague 3a de la phase 3 ShaarIt. Version ObsiGate : **2.83.0 → 2.83.1** (correctif, comme les re-vendanges précédentes 2.82.5 → 2.82.6 → 2.82.7). - **Onglet ShaarIt** (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark, dans `frontend/index.html` et `frontend/recherche.html` (jeton `{{URL_SHAARIT}}` remplacé par la route `/recherche`, comme les autres). - **Verbatim prouvé (SHA-256, source @70c837a → copie)** : - `barre-apps.css` `abc0c3b2…fab` → `frontend/draco-barre.css` `abc0c3b2…fab` ✅ - `barre-apps.js` `24efe399…e1` → `frontend/draco-barre.js` `24efe399…e1` ✅ - `logos/shaarit.svg` `faf0c8a1…34` → `frontend/img/logos/shaarit.svg` `faf0c8a1…34` ✅ (nouveau) - Le fragment HTML est, comme avant, **adapté par l'hôte** (copie en ligne dans les deux pages, jetons déjà résolus) — ce n'est pas un verbatim, c'est le mécanisme d'adaptation existant d'ObsiGate, conservé. - **URL ShaarIt dérivée, jamais codée en dur** : `backend/draco_config.py` gagne la clé `shaarit` par le même mécanisme que les autres sœurs — défaut officiel `https://shaarit.dracodev.net`, variable explicite `DRACO_SHAARIT_URL` (documentée dans `.env.example`), dérivation d'environnement depuis l'hôte de l'agent (`agent-dev` → `https://shaarit-dev.dracodev.net`). Elle est servie dans `window.DRACO_URLS` et réécrite sur l'onglet par le code existant ; le JS vendangé apporte en plus ses propres défaut/dérivation `-dev`. - **Version** : `VERSION` + fichiers dérivés resynchronisés avec l'outil du dépôt (`scripts/bump_version.py` : `package.json`, desktop Tauri/Cargo, READMEs, `docs/ROADMAP.md`) — `tests/test_version.py` vert (46/46). ## Vérifications - `pytest tests/test_draco_barre.py tests/test_draco_config.py tests/test_version.py tests/test_security_headers.py` : **82/82** (dont 2 tests ajoutés : onglet ShaarIt + garde dans `test_draco_barre.py`, défaut/dérivation/explicite ShaarIt dans `test_draco_config.py`). - `pytest tests/test_recherche_cors.py tests/test_recherche_sans_texte_parasite.py tests/test_recherche_theme.py tests/test_draco_session.py` : **42/42**. - `ruff check` sur les fichiers Python touchés : propre. - **Rendu réel vérifié** (TestClient, `AGENT_EVENEMENTS_URL` en `-dev`) : `/recherche` sert l'onglet ShaarIt avec `href="https://shaarit-dev.dracodev.net"` (jeton remplacé par l'URL dérivée) et `window.DRACO_URLS` contient `"shaarit": "https://shaarit-dev.dracodev.net"` ; `/` expose la même dérivation pour la réécriture JS des onglets. - Diff limité au périmètre barre + version : aucun autre fichier touché. **Aucune fusion, aucune release** — la fusion reste l'acte de Bruno.
bruno added 11 commits 2026-11-03 22:38:48 -05:00
All checks were successful
CI / lint (pull_request) Successful in 1m19s
CI / security (pull_request) Successful in 22s
CI / test (pull_request) Successful in 3m29s
CI / build (pull_request) Successful in 15s
CI / e2e (pull_request) Successful in 16m49s
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin barre-v020-2-83-1:barre-v020-2-83-1
git checkout barre-v020-2-83-1
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#61