28 Commits

Author SHA1 Message Date
14636bd58f 8 mars 2026-03-08 10:04:14 +01:00
7967f63fea avant 50 2026-03-01 07:21:46 +01:00
9db5cbf236 before gemiin 2026-02-22 22:18:32 +01:00
0d3bf205b1 feat(saints-dictons): table saint_du_jour + API + import standalone 366j
- Nouveau modèle SaintDuJour (mois+jour+saints_json, indépendant de l'année)
- Router /api/saints et /api/saints/jour (mois+jour → liste de prénoms)
- Script standalone import_webapp_db.py : saints_du_jour.json → saint_du_jour,
  dictons_du_jour.json → dicton ; modes replace/append, --dry-run, --region
- Données JSON 366 jours : saints_du_jour.json + dictons_du_jour.json
- Scripts scraping/export calendrier_lunaire/saints_dictons/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 19:54:47 +01:00
a9f0556d73 fix(router): guard OperationalError si tables météo inexistantes 2026-02-22 19:16:46 +01:00
55387f4b0e maj via codex 2026-02-22 18:34:50 +01:00
20af00d653 avant codex 2026-02-22 15:05:40 +01:00
fed449c784 feat(router): endpoints météo tableau/station/previsions + tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:56:11 +01:00
2ca8281b0a feat(scheduler): APScheduler 3 jobs météo dans FastAPI lifespan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:50:33 +01:00
3b1601a07b feat(service): open-meteo enrichi (sol, ETP, past_days, humidité) + tests
- Remplace le service meteo.py minimal par une version enrichie :
  past_days=7 + forecast=8, champs humidite_moy, sol_0cm, etp_mm
- Corrige les noms de champs API (weather_code, wind_speed_10m_max)
  et passe les paramètres daily en liste de tuples pour compatibilité
- Ajoute fetch_and_store_forecast() pour le scheduler (Task 6)
- Conserve fetch_forecast() pour compatibilité ascendante (GET /api/meteo)
- Crée backend/tests/test_meteo.py (test_health passe, 3 autres
  échouent en attente des endpoints Task 7)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:46:37 +01:00
8a7a2c7c6d feat(service): scraper station WeeWX (RSS current + NOAA yesterday)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:42:18 +01:00
cc69d0d5ad feat(astuce): ajout colonnes categorie/tags/mois + migration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:38:06 +01:00
17d2c5ac18 feat(models): tables MeteoStation + MeteoOpenMeteo (SQLModel)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:34:20 +01:00
29e2f18e98 feat(config): ajout STATION_URL, METEO_LAT/LON + apscheduler dep
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 14:32:07 +01:00
326158f680 fix: noms PlantNet en français (lang=fr) + sauvegarde image systématique sans plante liée 2026-02-22 13:11:34 +01:00
de2b95ff94 fix: ne pas cacher les résultats vides, retirer clé API hardcodée 2026-02-22 12:48:58 +01:00
94ebe338a0 feat: vue BibliothequeView + route /bibliotheque + nav + endpoint media/all
- backend: ajoute GET /api/media/all (filtrable par entity_type, trié par date desc) dans media.py ; importe Optional depuis typing
- frontend: crée BibliothequeView.vue (grille photo, filtres par type, lightbox, modal PhotoIdentifyModal)
- frontend: ajoute la route /bibliotheque dans router/index.ts
- frontend: ajoute le lien "📷 Bibliothèque" dans AppDrawer.vue

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:35:46 +01:00
2065ff7c8a test(backend): tests endpoint /api/identify — PlantNet, YOLO fallback, cache
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:23:41 +01:00
883299272f feat(backend): champs identified_* sur Media pour stocker l'identification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:20:32 +01:00
560fa63a45 feat(backend): endpoint POST /api/identify PlantNet + YOLO fallback + cache
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:18:56 +01:00
2e67e9cb02 feat(backend): services PlantNet et YOLO pour identification de plantes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:17:23 +01:00
6ca233d720 feat(backend): service cache Redis pour identifications
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 12:14:31 +01:00
0057a3cbcc feat(backend): settings, upload media, seed données démo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:25:29 +01:00
4787f044e5 feat(backend): CRUD variétés, plantations, tâches + tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:22:58 +01:00
aa379aa1b4 feat(backend): CRUD jardins + tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:20:02 +01:00
26b5a3dbdf feat(backend): modèles SQLModel (10 tables)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:17:09 +01:00
cf4fbfd4a0 feat(backend): setup FastAPI + SQLite + config
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:14:10 +01:00
041b96aa60 chore: scaffold projet + docker-compose
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 21:09:59 +01:00