maj via codex
This commit is contained in:
175
avancement.md
175
avancement.md
@@ -7282,3 +7282,178 @@ naive tzinfo: None
|
||||
aware tzinfo: UTC
|
||||
You've hit your limit · resets 7pm (Europe/Paris)
|
||||
|
||||
|
||||
## Mise a jour Codex - 2026-02-22
|
||||
|
||||
### Termine
|
||||
- Task 5 (Service Open-Meteo enrichi):
|
||||
- `backend/app/services/meteo.py`
|
||||
- ajout aggregation journaliere `sol_0cm` depuis `hourly.soil_temperature_0cm`
|
||||
- parsing defensif des valeurs numeriques
|
||||
- tests: `backend/tests/test_meteo_service.py` (3 passes)
|
||||
|
||||
- Task 8 (Router Astuces filtres):
|
||||
- `backend/app/routers/astuces.py`
|
||||
- nouveaux filtres `categorie`, `tag`, `mois`
|
||||
- compatibilite filtres existants `entity_type`, `entity_id`
|
||||
- tests: `backend/tests/test_astuces_filters.py` (5 passes)
|
||||
|
||||
### Stabilisation tests
|
||||
- Ajout de flags de runtime backend:
|
||||
- `ENABLE_SCHEDULER` et `ENABLE_BOOTSTRAP` dans `backend/app/config.py`
|
||||
- documentes dans `.env.example`
|
||||
- `backend/app/main.py` respecte ces flags dans le lifespan
|
||||
- `backend/tests/conftest.py` desactive scheduler/bootstrap pour les tests
|
||||
- `conftest` fournit une session SQLModel par requete TestClient pour eviter les blocages thread/session
|
||||
|
||||
### Point restant
|
||||
- `backend/tests/test_meteo.py::test_meteo_tableau_vide` reste bloquant dans ce contexte (timeout), malgre la desactivation scheduler/bootstrap.
|
||||
- Les nouveaux tests unitaire meteo/astuces passent.
|
||||
|
||||
## Mise a jour Codex - Frontend (Tasks 9, 10, 11)
|
||||
|
||||
### Task 9 termine
|
||||
- `frontend/src/api/meteo.ts` enrichi:
|
||||
- `getTableau`, `getStationCurrent`, `getPrevisions`, `refresh`
|
||||
- types `TableauRow`, `StationCurrent`, `OpenMeteoDay`
|
||||
- `frontend/src/api/astuces.ts` cree
|
||||
- `frontend/src/stores/astuces.ts` cree
|
||||
|
||||
### Task 10 termine
|
||||
- `frontend/src/views/CalendrierView.vue`:
|
||||
- onglet meteo refondu en tableau synthetique station + open-meteo
|
||||
- widget station actuelle
|
||||
- suppression ancien bloc `meteoData`
|
||||
- ajout `loadTableau` + `loadStationCurrent`
|
||||
|
||||
### Task 11 termine
|
||||
- `frontend/src/views/AstucesView.vue` cree (filtres + CRUD)
|
||||
- route ajoutee: `/astuces` dans `frontend/src/router/index.ts`
|
||||
- menu mobile: `frontend/src/components/AppDrawer.vue`
|
||||
- menu desktop: `frontend/src/App.vue`
|
||||
|
||||
### Validation frontend
|
||||
- `npm run lint` -> OK
|
||||
- `npm run build` -> OK
|
||||
|
||||
## Mise a jour Codex - 2026-02-22 (Meteo, Jardin, UI)
|
||||
|
||||
### Migration executee (OK)
|
||||
- Migration lancee dans le conteneur backend:
|
||||
- `docker compose exec backend python -c "from app.migrate import run_migrations; run_migrations()"`
|
||||
- Colonnes ajoutees en base SQLite:
|
||||
- table `garden`: `carre_potager`, `carre_x_cm`, `carre_y_cm`
|
||||
- table `astuce`: `photos`, `videos`
|
||||
|
||||
### Jardin: carre potager
|
||||
- Backend:
|
||||
- `backend/app/models/garden.py` ajoute les champs `carre_potager`, `carre_x_cm`, `carre_y_cm`
|
||||
- `backend/app/migrate.py` mis a jour pour ces colonnes
|
||||
- Frontend:
|
||||
- `frontend/src/views/JardinsView.vue`
|
||||
- ajout checkbox "Carre potager" + dimensions X/Y en cm
|
||||
- conversion automatique cm -> m pour `longueur_m` / `largeur_m`
|
||||
- surface calculee automatiquement si absente
|
||||
|
||||
### Popup edition plante responsive
|
||||
- `frontend/src/views/PlantesView.vue`
|
||||
- modal edition:
|
||||
- smartphone: 1 colonne
|
||||
- laptop/desktop: 2 colonnes (`lg:grid-cols-2`)
|
||||
- notes + actions en largeur complete
|
||||
|
||||
### Meteo: vue unique + navigation temporelle
|
||||
- Backend:
|
||||
- `backend/app/routers/meteo.py`
|
||||
- endpoint `/api/meteo/tableau` accepte desormais:
|
||||
- `center_date=YYYY-MM-DD`
|
||||
- `span` (jours avant/apres)
|
||||
- Frontend:
|
||||
- `frontend/src/views/CalendrierView.vue` refondu en vue meteo unique
|
||||
- suppression des onglets `lunaire/meteo/taches/dictons`
|
||||
- boutons navigation: `Prev`, `Today`, `Next`
|
||||
- fenetre active sur +/- 15 jours autour de la date centrale
|
||||
- detail a droite conserve (station, open-meteo, lunaire, dictons, saint)
|
||||
|
||||
### Navigation application
|
||||
- Route principale renommee:
|
||||
- `/meteo` -> `CalendrierView`
|
||||
- Redirections conservees:
|
||||
- `/calendrier` -> `/meteo`
|
||||
- `/lunaire` -> `/meteo`
|
||||
- Menus renommes en "Meteo":
|
||||
- `frontend/src/App.vue` / `frontend/src/App.vue.js`
|
||||
- `frontend/src/components/AppDrawer.vue` / `frontend/src/components/AppDrawer.vue.js`
|
||||
|
||||
### Validation
|
||||
- Backend: compilation Python OK sur fichiers modifies
|
||||
- Frontend: build OK (`npm --prefix frontend run build`)
|
||||
|
||||
## Mise a jour Codex - 2026-02-22 (Station/Open-Meteo, Dashboard, Outils video)
|
||||
|
||||
### Base de donnees meteo: mises a jour executees
|
||||
- Script station locale execute avec succes:
|
||||
- `python3 station_meteo/update_station_db.py`
|
||||
- ecriture confirmee en base (`meteostation`):
|
||||
- `current`: `2026-02-22T17:00` (pression `922.5`, vent `3.2`)
|
||||
- `veille`: `2026-02-21T00:00`
|
||||
- Backfill station locale (NOAA) execute:
|
||||
- plage `2026-01-01` -> `2026-02-22`
|
||||
- `53` jours traites, `53` upserts, `0` erreur
|
||||
- Script historique Open-Meteo cree:
|
||||
- `station_meteo/update_openmeteo_history_db.py`
|
||||
- options: `--start-date`, `--end-date`, `--lat`, `--lon`, `--chunk-days`, `--dry-run`
|
||||
- source: endpoint archive Open-Meteo
|
||||
- cible: table `meteoopenmeteo` (upsert par date)
|
||||
- Backfill Open-Meteo execute:
|
||||
- `python3 station_meteo/update_openmeteo_history_db.py --start-date 2026-01-01 --end-date 2026-02-22`
|
||||
- resultat: `53` lignes recuperees et mises a jour en base
|
||||
|
||||
### Dashboard / Meteo: ergonomie et visuel
|
||||
- `frontend/src/views/DashboardView.vue`
|
||||
- ajout d'un bloc "Condition actuelle" (icone meteo + libelle + temperature station + heure releve)
|
||||
- affichage prevision sur 7 jours avec icones meteo
|
||||
- suppression du scroll horizontal des cartes meteo:
|
||||
- passage d'un layout `flex overflow-x-auto` a une grille responsive
|
||||
- conteneur elargi (`max-w-6xl`) pour une meilleure lisibilite laptop
|
||||
- `frontend/src/views/CalendrierView.vue`
|
||||
- icone pression plus lisible dans le bandeau station:
|
||||
- `⬛` remplace par `🧭`
|
||||
|
||||
### Navigation responsive
|
||||
- `frontend/src/components/AppDrawer.vue`
|
||||
- correction ouverture menu en fenetre reduite laptop/tablette:
|
||||
- `md:hidden` -> `lg:hidden`
|
||||
- le drawer est maintenant disponible sur toutes les largeurs < `lg`
|
||||
|
||||
### Jardins: popup edition responsive
|
||||
- `frontend/src/views/JardinsView.vue`
|
||||
- popup `Nouveau/Modifier jardin` passe en responsive:
|
||||
- smartphone: `1` colonne
|
||||
- laptop/desktop: `2` colonnes
|
||||
- modal elargi (`max-w-4xl`)
|
||||
- sections longues en pleine largeur (`lg:col-span-2`)
|
||||
|
||||
### Outils: ajout du champ video
|
||||
- Backend:
|
||||
- `backend/app/models/tool.py`: ajout `video_url`
|
||||
- `backend/app/migrate.py`: ajout migration auto colonne `tool.video_url`
|
||||
- test ajoute: `backend/tests/test_tools.py::test_tool_with_video_url`
|
||||
- Frontend:
|
||||
- `frontend/src/api/tools.ts`: type `video_url?: string`
|
||||
- `frontend/src/views/OutilsView.vue`:
|
||||
- upload video (`accept="video/*"`)
|
||||
- preview video dans le formulaire
|
||||
- enregistrement `video_url` via endpoint upload
|
||||
- affichage video et lien "🎬 Video" sur les cartes outils
|
||||
- Base locale:
|
||||
- colonne `video_url` ajoutee et verifiee dans `data/jardin.db`
|
||||
|
||||
### Validation technique
|
||||
- Frontend builds:
|
||||
- `npm --prefix frontend run build` -> OK (plusieurs executions apres changements)
|
||||
- Python compilation:
|
||||
- `python3 -m py_compile` sur scripts/modeles modifies -> OK
|
||||
- Note tests backend:
|
||||
- `pytest backend/tests/test_tools.py` reste bloque dans ce contexte d'execution,
|
||||
mais les changements de schema/code compilent et la colonne DB est presente.
|
||||
|
||||
Reference in New Issue
Block a user