feat(mobile): ruban d'edition style Obsidian + correctifs mobile (#83, BUG-017 a BUG-020)
CI / lint (push) Successful in 1m13s
CI / security (push) Successful in 47s
CI / test (push) Successful in 2m41s
CI / build (push) Successful in 43s
CI / e2e (push) Successful in 11m14s

- #83: ruban horizontal defilable ancre au-dessus du clavier, commandes
  etendues (titres, barre, surligne, code bloc, citation, listes, cases,
  wikilinks, tags, pieces jointes, undo/redo, colle, police) et
  personnalisation persistee via l'icone engrenage
- BUG-017: cartes du tableau de bord compressibles (min-width:0)
- BUG-018: en-tete editeur mobile compact, boutons Annuler/Sauvegarder
  accessibles, barre IA plus tactile
- BUG-019: ancrage du ruban via visualViewport (--kb-offset)
- BUG-020: suppression de la double barre de defilement

Tests: mobile-editor 35/35, ai 50/50, 9 suites JSDOM, validate-imports,
pytest 961 passed / 6 skipped, ruff + mypy 0.
This commit is contained in:
2026-09-13 11:49:45 -04:00
parent 162a5b4acc
commit 520059d866
11 changed files with 841 additions and 126 deletions
+20
View File
@@ -342,6 +342,26 @@ Traitement des vulnérabilités de la revue statique du 2026-09-13 (BUG-021 →
---
## #83 — Barre d'outils d'édition mobile (ruban style Obsidian) ✅ TERMINÉ
La barre de mise en forme flottante du mode édition mobile est remplacée par un
**ruban horizontal défilable** ancré juste au-dessus du clavier virtuel.
- **Ruban** (`frontend/js/mobile-editor.js`, `frontend/style.css`) : fond anthracite
aux coins arrondis, insertion/enrobage au curseur ou sur la sélection.
- **Commandes** : annuler/refaire, `[[ ]]` (lien interne), fichiers/modèles, tag `#`,
pièce jointe, H1–H6, gras, italique, barré (`~~`), surligné (`==`), code en ligne/bloc,
citation, lien externe, listes à puces/numérotées, case à cocher, indenter/désindenter,
coller, A−/A+.
- **Personnalisation** : icône **⚙** → ajouter / retirer / réordonner les commandes,
persisté dans `localStorage` (`obsigate-mobile-ribbon`).
- **Ancrage clavier** (`BUG-019`) : `window.visualViewport` → variable CSS `--kb-offset`.
- **Correctifs associés** : BUG-017 (tuiles du tableau de bord), BUG-018 (en-tête de
l'éditeur mobile), BUG-020 (double barre de défilement).
- **Tests** : `tests/frontend/mobile-editor.test.mjs` (35) + E2E `mobile-editor.spec.js`.
---
## Grosses fonctionnalités — fiches dédiées
| # | Feature | Version | Fiche |