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:
@@ -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
@@ -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.8–1.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 (3–8 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)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user