Flowdeck 7.84.10 : barre v0.2.0 — onglet ShaarIt + garde data-theme #45

Open
bruno wants to merge 11 commits from barre-v020-7-84-10 into main
Owner

⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : la garde data-theme du CSS v0.2.0 corrige le piège de thème de Flowdeck (changement de comportement visible)

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 — c'est précisément le piège connu chez Flowdeck : système en mode sombre + thème clair choisi dans l'app (fd_theme → data-theme="light" sur <html>) ⇒ la barre s'affichait quand même en sombre, car la règle prefers-color-scheme du CSS vendangé s'appliquait sans tenir compte du data-theme posé. Avec cette re-vendange, la barre suit le thème choisi dans l'app : changement de comportement visible, à arbitrer par Bruno à la fusion (le CSS de la barre, et lui seul, change sur ce point).

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 Flowdeck : 7.84.9 → 7.84.10 (correctif, comme les re-vendanges précédentes 7.84.7 → 7.84.8 → 7.84.9). Dépôt canonique vérifié via l'API Gitea : bruno/flowdeck (200) — Projets/flowdeck n'existe pas (404).

  • Onglet ShaarIt (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark dans app/templates/_draco_bar.html ; le menu de la marque, construit depuis les onglets par le JS vendangé, l'inclut automatiquement.
  • Verbatim prouvé (SHA-256, source @70c837a → copie) :
    • barre-apps.css abc0c3b2…fab → static/css/draco-barre.css abc0c3b2…fab ✅
    • barre-apps.js 24efe399…e1 → static/js/vendor/draco-barre.js 24efe399…e1 ✅
    • logos/shaarit.svg faf0c8a1…34 → static/img/logos/shaarit.svg faf0c8a1…34 ✅ (nouveau)
    • Le fragment HTML reste adapté par l'hôte via Jinja ({{ draco_urls().<app> }}, nonce CSP, asset_version) — mécanisme d'adaptation existant de Flowdeck, conservé tel quel.
  • URL ShaarIt dérivée, jamais codée en dur : app/services/draco_urls.py gagne la clé shaarit par le même mécanisme que les autres sœurs — défaut officiel https://shaarit.dracodev.net (OFFICIELLES), explicite SHAARIT_URL / settings.shaarit_url (ajouté à app/config.py et documenté dans .env.example), dérivation par l'hôte de la requête (motif fermé) et par l'hôte de l'agent (shaarit-dev en dev). draco_urls().shaarit alimente le href de l'onglet ; le JS vendangé apporte en plus ses propres défaut/dérivation -dev. Les listes fermées des consommateurs CORS/CSP/recherche (clés énumérées explicitement) ne changent pas.

Vérifications

  • pytest tests/test_draco_bar_texte.py tests/test_draco_urls_devprod.py tests/test_draco_alertes.py tests/test_fusion_draco.py : 40/40 (dont 2 tests ajoutés : onglet ShaarIt + garde dans test_draco_bar_texte.py, défaut/dérivations/explicite ShaarIt dans test_draco_urls_devprod.py).
  • pytest tests/test_external_refs.py tests/test_recherche_cors_doublons.py tests/test_recherche.py tests/test_recherche_onglets.py : 35/35 ; ruff check sur les fichiers Python touchés : propre.
  • Rendu Jinja réel vérifié : le fragment rendu donne data-app="shaarit" href="https://shaarit.dracodev.net/" sans hôte de requête, et https://shaarit-dev.dracodev.net/ avec l'hôte de requête flowdeck-dev.dracodev.net (dérivation prouvée, ordre Kanbante < ShaarIt < agent respecté).
  • Diff limité au périmètre barre + résolution d'URL ShaarIt + version : aucun autre fichier touché. Aucune fusion, aucune release — la fusion reste l'acte de Bruno.
## ⚠️ POINT SENSIBLE — arbitrage demandé à la fusion : la garde `data-theme` du CSS v0.2.0 corrige le piège de thème de Flowdeck (changement de comportement visible) 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** — c'est précisément le **piège connu chez Flowdeck** : système en mode sombre + thème clair choisi dans l'app (`fd_theme` → `data-theme="light"` sur `<html>`) ⇒ la barre s'affichait quand même en sombre, car la règle `prefers-color-scheme` du CSS vendangé s'appliquait sans tenir compte du `data-theme` posé. Avec cette re-vendange, la barre suit le thème choisi dans l'app : **changement de comportement visible, à arbitrer par Bruno à la fusion** (le CSS de la barre, et lui seul, change sur ce point). ## 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 Flowdeck : **7.84.9 → 7.84.10** (correctif, comme les re-vendanges précédentes 7.84.7 → 7.84.8 → 7.84.9). Dépôt canonique vérifié via l'API Gitea : `bruno/flowdeck` (200) — `Projets/flowdeck` n'existe pas (404). - **Onglet ShaarIt** (5e app, bookmarks) ajouté après Kanbante et avant l'onglet Console Spark dans `app/templates/_draco_bar.html` ; le menu de la marque, construit depuis les onglets par le JS vendangé, l'inclut automatiquement. - **Verbatim prouvé (SHA-256, source @70c837a → copie)** : - `barre-apps.css` `abc0c3b2…fab` → `static/css/draco-barre.css` `abc0c3b2…fab` ✅ - `barre-apps.js` `24efe399…e1` → `static/js/vendor/draco-barre.js` `24efe399…e1` ✅ - `logos/shaarit.svg` `faf0c8a1…34` → `static/img/logos/shaarit.svg` `faf0c8a1…34` ✅ (nouveau) - Le fragment HTML reste **adapté par l'hôte** via Jinja (`{{ draco_urls().<app> }}`, nonce CSP, `asset_version`) — mécanisme d'adaptation existant de Flowdeck, conservé tel quel. - **URL ShaarIt dérivée, jamais codée en dur** : `app/services/draco_urls.py` gagne la clé `shaarit` par le même mécanisme que les autres sœurs — défaut officiel `https://shaarit.dracodev.net` (`OFFICIELLES`), explicite `SHAARIT_URL` / `settings.shaarit_url` (ajouté à `app/config.py` et documenté dans `.env.example`), dérivation par l'hôte de la requête (motif fermé) et par l'hôte de l'agent (`shaarit-dev` en dev). `draco_urls().shaarit` alimente le href de l'onglet ; le JS vendangé apporte en plus ses propres défaut/dérivation `-dev`. Les listes fermées des consommateurs CORS/CSP/recherche (clés énumérées explicitement) ne changent pas. ## Vérifications - `pytest tests/test_draco_bar_texte.py tests/test_draco_urls_devprod.py tests/test_draco_alertes.py tests/test_fusion_draco.py` : **40/40** (dont 2 tests ajoutés : onglet ShaarIt + garde dans `test_draco_bar_texte.py`, défaut/dérivations/explicite ShaarIt dans `test_draco_urls_devprod.py`). - `pytest tests/test_external_refs.py tests/test_recherche_cors_doublons.py tests/test_recherche.py tests/test_recherche_onglets.py` : **35/35** ; `ruff check` sur les fichiers Python touchés : propre. - **Rendu Jinja réel vérifié** : le fragment rendu donne `data-app="shaarit" href="https://shaarit.dracodev.net/"` sans hôte de requête, et `https://shaarit-dev.dracodev.net/` avec l'hôte de requête `flowdeck-dev.dracodev.net` (dérivation prouvée, ordre Kanbante < ShaarIt < agent respecté). - Diff limité au périmètre barre + résolution d'URL ShaarIt + version : aucun autre fichier touché. **Aucune fusion, aucune release** — la fusion reste l'acte de Bruno.
bruno added 11 commits 2026-11-03 22:44:21 -05:00
Some required checks failed
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Skipped
FlowDeck CI / lint (push) Failing after 10s
FlowDeck CI / test (pull_request) Failing after 1s
FlowDeck CI / docker (pull_request) Skipped
FlowDeck CI / lint (pull_request) Failing after 14s
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-7-84-10:barre-v020-7-84-10
git checkout barre-v020-7-84-10
Sign in to join this conversation.