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
+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)
```