docs: mise à jour README et plan.md — phases 3/4b complètes (v0.5.1)

- README : fonctionnalités enrichies avec thème, UX mobile, version actuelle
- plan.md : phase 3 complétée (tags, photo HEIC, Ctrl+V, bottom sheet multi-select)
- plan.md : nouvelle phase 4b UX transversale (ThemeContext, ConfigPage, TopBar,
  keyboard fix, "Pas de date", nginx media fix)
- plan.md : ordre de développement mis à jour (phases 1-4b )

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 13:49:18 +02:00
parent 3285ce7622
commit b468104931
2 changed files with 55 additions and 11 deletions
+19 -10
View File
@@ -2,12 +2,19 @@
Application d'organisation personnelle auto-hébergée — PWA mobile-first déployée sur Proxmox 9.
## Fonctionnalités
## Fonctionnalités (v0.5.1)
- **Todos** — tâches classées par domaine (informatique, DIY, jardinage, cuisine…)
- **Liste de courses** — générée depuis les habitudes d'achat, mode magasin avec Wake Lock, suivi des prix, OCR étiquettes et tickets
- **Notes** — saisie rapide avec photo, audio, GPS et métadonnées libres
- **MCP Server** — expose les données à des agents IA (Hermes, Claude, etc.)
- **Todos** — tâches classées par domaine, priorité, date objectif, photo, GPS. Swipe gauche = éditer, swipe droite = terminer.
- **Liste de courses** — générée automatiquement depuis les habitudes d'achat (liste magique), mode magasin plein-écran avec Wake Lock, catalogue enrichi avec tags et stats d'achat, bottom sheet multi-select.
- **Notes** — saisie rapide avec photo (Ctrl+V ou appareil photo), audio, GPS et métadonnées libres.
- **Paramètres** — thème dark / light / system, taille de police ajustable avec aperçu temps réel.
- **MCP Server** — expose les données à des agents IA (Hermes, Claude, etc.) — *à venir*
### UX mobile
- Touch targets 48px minimum, swipe gestures sur toutes les listes
- Bottom sheet qui remonte automatiquement au-dessus du clavier virtuel iOS
- Collage d'image par Ctrl+V dans les formulaires Todo et Catalogue
- Wake Lock API (écran allumé en mode magasin)
## Stack technique
@@ -116,8 +123,10 @@ docker compose up -d
## Évolutions prévues
- Authentification multi-utilisateurs (JWT)
- Sync Google Calendar + CalDAV iOS
- Intégration Home Assistant
- Webhooks Gitea → Kanban
- Analyse frigo par Vision LLM (Hermes/Ollama)
- **Phase 5** — Scan code-barres (zxing-js) + enrichissement catalogue via OpenFoodFacts
- **Phase 6** — Service OCR dédié (Tesseract 5, conteneur partagé)
- **Phase 7** — Shopping avancé : OCR étiquettes prix, historique et comparaison prix par magasin
- **Phase 8** — MCP Server : outils IA (`get_todos`, `add_shopping_item`, `search_notes`…)
- **Phase 9** — Authentification multi-utilisateurs (JWT)
- **Phase 10** — Calendrier : sync Google Calendar + CalDAV iOS, intégration Home Assistant, webhooks Gitea
- **Phase 11** — Vision LLM : analyse frigo → suggestions liste de courses (Hermes/Ollama)
+36 -1
View File
@@ -93,6 +93,7 @@
- [x] `POST /api/shopping/lists/generate` — liste magique V1 (score = retard / intervalle moyen, articles cochés comme historique)
- [x] Schémas Pydantic complets (listes, articles, produits, magasins)
- [x] Tests d'intégration (10 tests)
- [x] Champ `tags TEXT[]` sur les produits du catalogue (migration 006)
### Frontend
- [x] Page Shopping avec 3 vues : liste des listes / détail / mode magasin
@@ -107,6 +108,13 @@
- [x] Hook `useWakeLock` avec fallback gracieux (mode économie d'énergie)
- [x] Client API TypeScript typé (`frontend/src/api/shopping.ts`)
- [x] Migration TodoForm vers Modal (plus de panneau inline)
- [x] Bottom sheet multi-select pour l'ajout d'articles depuis le catalogue
- [x] Stats d'achat dans le catalogue : dernier achat + intervalle moyen par produit
- [x] Swipe gauche → modal édition (TodoPage + ShoppingPage)
- [x] Tags sur les produits : chip-input dans CatalogueModal, recherche étendue aux tags
- [x] Recherche article : `type="search"` supprime la suggestion URL iOS, `autoFocus` automatique
- [x] Upload photo produit : support HEIC/HEIF, redimensionnement 500×500 max (ratio conservé), miniature auto
- [x] Collage Ctrl+V photo dans CatalogueModal et TodoForm
---
@@ -142,6 +150,33 @@
---
## Phase 4b — UX transversale ✅
**Objectif** : améliorations d'expérience applicables à tous les modules.
### Thème et apparence
- [x] `ThemeContext` : gestion dark / light / system avec persistance `localStorage`
- [x] Script anti-flash dans `index.html` : thème et zoom appliqués avant le premier rendu
- [x] Page `/config` : boutons thème + slider police (0.81.4, pas de 0.05)
- [x] Aperçu temps réel du texte sur le slider
- [x] Zoom CSS sur `<html>` : scale global compatible avec les tailles en pixels fixes
- [x] `TopBar` : en-tête fixe 44px avec bouton de thème cyclique (lune / soleil / demi-cercle)
- [x] Tuile "Paramètres" sur la page d'accueil (`/config`, icône `fa-sliders`)
### Mobile — clavier iOS
- [x] `BottomSheet` : `visualViewport` API pour remonter le panneau au-dessus du clavier virtuel
- [x] Transition fluide (0.15s) sur `bottom`, `max-height`, `border-radius` à l'ouverture du clavier
### Todos
- [x] Case "Pas de date" pré-cochée par défaut dans `TodoForm` (champ date masqué)
- [x] Collage Ctrl+V pour coller une image directement dans le formulaire Todo
### Infra / Media
- [x] nginx : `location ^~ /media/` pour éviter que la règle regex WebP prenne la priorité
- [x] nginx : `client_max_body_size 15m` pour les photos de smartphone (38 Mo)
---
## Phase 5 — Scan produits + enrichissement catalogue
**Objectif** : scan code-barres depuis mobile, auto-remplissage depuis OpenFoodFacts.
@@ -227,5 +262,5 @@
## Ordre de développement
```
Phase 1 ✅ → Phase 2 ✅ → Phase 3 ✅ → Phase 4 (Notes) → Phase 5 (Scan) → Phase 6 (OCR) → Phase 7 (Shopping avancé) → Phase 8 (MCP)
Phase 1 ✅ → Phase 2 ✅ → Phase 3 ✅ → Phase 4 ✅ → Phase 4b ✅ → Phase 5 (Scan) → Phase 6 (OCR) → Phase 7 (Shopping avancé) → Phase 8 (MCP)
```