From 11b5c6c92e2071142bdbc97c2323ded8f9814ccc Mon Sep 17 00:00:00 2001 From: Gilles Soulier Date: Mon, 25 May 2026 16:18:56 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20ajouter=20Phase=2012=20=C3=A9diteur=20M?= =?UTF-8?q?arkdown=20notes=20(id=C3=A9e=20future)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Barre d'outils flottante (titre, liste, code, photo, audio, GPS) compatible clavier virtuel iOS/Android. Backend inchangé. Co-Authored-By: Claude Sonnet 4.6 --- docs/plan.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/plan.md b/docs/plan.md index a0fb495..190d593 100644 --- a/docs/plan.md +++ b/docs/plan.md @@ -286,6 +286,29 @@ - Endpoint analyse frigo (photo → suggestions liste de courses) - Amélioration OCR via modèle Vision local (Ollama) +### Phase 12 — Éditeur Markdown pour les Notes + +Refonte du module Notes autour d'un vrai éditeur Markdown orienté mobile. + +**Concept** : une seule interface unifiée — champ titre + corps éditeur — avec une barre d'outils flottante au-dessus du clavier. + +**Barre d'outils (ordre d'affichage)** : +- `H` — Titre (`# `) +- `•` — Liste à puces (`- `) +- `1.` — Liste numérotée (`1. `) +- `` — Bloc code (`` ` `` inline ou ` ``` ` bloc) +- 📷 — Insérer image (upload direct, syntaxe `![](path)`) +- 🎤 — Enregistrement audio (MediaRecorder, lien `[enregistrement.m4a](path)`) +- 📍 — Position GPS (insère `[GPS](geo:lat,lon)` ou coordonnées brutes) + +**Rendu** : aperçu Markdown en lecture (pas d'édition WYSIWYG pure — mode split ou toggle édit/aperçu). + +**Contraintes techniques** : +- Bibliothèque candidate : `@uiw/react-md-editor` (légère, compatible mobile) ou éditeur custom avec `textarea` + parsing `marked`/`micromark` +- La barre d'outils doit rester au-dessus du clavier virtuel iOS/Android (même logique que `BottomSheet` avec `visualViewport`) +- Compatibilité avec le format des fichiers `.md` déjà exportés en Phase 5 (frontmatter YAML conservé) +- Le backend ne change pas : `content` reste un champ texte libre (Markdown brut stocké tel quel) + --- ## Ordre de développement