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