Commit Graph

31 Commits

Author SHA1 Message Date
c30bd1c0c5 fix(tests): isolate SQLite test databases
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me>
2026-08-13 17:25:48 +02:00
85e6e502e5 feat(config): ajouter la configuration Home Assistant (étape 1)
Ajoute la section [home_assistant] au TOML et sa validation au chargement
via get_home_assistant_config(). La section est facultative pour préserver
la compatibilité avec les configurations existantes, mais si elle est
présente elle doit être complète et référencer un type de journée, un
trajet et un véhicule à moteur existants, sous peine de refuser le
démarrage de l'application. La configuration validée est exposée dans
app.config['HOME_ASSISTANT'].

Co-authored-by: OpenAI/GPT-5.6-Luna-Pro <vibecoder@antoineve.me>
2026-08-13 16:13:18 +02:00
1a679ea1c7 refactor: migrer datetime.utcnow() vers datetime.now(UTC)
Co-authored-by: OpenAI/GPT-5.6-terra <vibecoder@antoineve.me>
2026-08-13 15:23:09 +02:00
fd128dd09b chore: resolve final review findings
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Pro <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me>
2026-08-13 11:48:38 +02:00
bd5bc496eb doc: document configuration and application routes
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me>
Co-authored-by: Google/Gemini-3.5-Flash <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me>
2026-08-13 11:05:10 +02:00
2d85fffd8d doc: document models and business rules
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me>
Co-authored-by: Google/Gemini-3.5-Flash <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Pro <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me>
2026-08-13 10:58:49 +02:00
c7a0a77d1f chore: fix python style violations
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me>
Co-authored-by: OpenAI/GPT-5.6-Luna <vibecoder@antoineve.me>
Co-authored-by: MiniMax/MiniMax-M3 <vibecoder@antoineve.me>
Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me>
2026-08-13 10:14:21 +02:00
cc664b3555 feat: section détail mensuel dans la page rapports 2026-03-13 14:36:32 +01:00
59d64885d4 feat: calcul stats mensuelles dans reports (km + médianes) 2026-03-13 14:35:18 +01:00
6d5e58273f feat: monthly_stats() — médiane journalière et hebdomadaire 2026-03-13 14:34:49 +01:00
4c0093c2b0 feat: increase RTT from 18 to 19
- Update LeaveBalance model default rtt_total to 19
- Update all tests to verify 19 RTT instead of 18
- Update documentation (design and technical plan)
- Update run.py to bind to 0.0.0.0 for external access
- Update CLAUDE.md deployment instructions

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-13 13:45:19 +01:00
24d9a92a5a feat: carte répartition par type de jour dans le rapport 2026-03-11 20:32:08 +01:00
a2077e640a feat: count_day_types — compte les jours par type 2026-03-11 20:31:16 +01:00
859d94bfb1 fix: afficher les noms lisibles des types de jours et des véhicules
- Filtre Jinja2 day_type_fr (WORK→Travail, TT→Télétravail, etc.)
- Appliqué dans entry_list.html et dashboard.html
- Passage de vehicles au template dashboard pour afficher vehicle.name
- Mise à jour du test test_entry_list en conséquence
- Ajout du plan docs/plans/2026-03-11-bareme-kilometrique.md
2026-03-11 20:27:07 +01:00
51673f4959 feat: get_bareme par CV individuel, majoration électrique dans reports 2026-03-11 20:06:54 +01:00
0362836a63 feat: compute_frais_reels supporte la majoration +20% électrique 2026-03-11 20:04:47 +01:00
c3a7bdfef7 design: refonte UI — journal de bord (Playfair + JetBrains Mono, palette encre/crème/ambre) 2026-03-11 18:46:04 +01:00
9e40c7b876 fix: affichage des dates en français via filtre Jinja2 date_fr 2026-03-11 18:34:36 +01:00
b6d5754c98 fix: use db.engine instead of deprecated db.get_engine() 2026-03-11 17:53:22 +01:00
ffbbf2da44 feat: motor vehicle selector in entry form and routes 2026-03-11 17:52:13 +01:00
9a37bc444d feat: compute_km_for_entry resolves generic moteur key to specific vehicle 2026-03-11 17:50:29 +01:00
489d28c4a0 feat: add motor_vehicle_id to WorkEntry with auto-migration 2026-03-11 17:49:26 +01:00
b5ff8de0e4 feat: add get_motor_vehicles() and journey_has_motor() to config_loader 2026-03-11 17:48:13 +01:00
32ea4c3a1a feat: Flask routes and Jinja2/HTMX/Tailwind templates 2026-03-11 16:43:15 +01:00
b9832f0337 feat: leave balance calculation (congés/RTT) 2026-03-11 16:40:00 +01:00
b807444068 feat: travel calculation (km, CO2, frais réels fiscaux) 2026-03-11 16:40:00 +01:00
7babe05412 feat: time calculation business logic 2026-03-11 16:39:39 +01:00
1e3f5bb0c7 feat: SQLAlchemy models for WorkEntry, TimeSlot, LeaveBalance 2026-03-11 16:33:38 +01:00
4cbd62882f feat: TOML config loader for vehicles, journeys, and tax scales
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 16:31:13 +01:00
415952f24e chore: add .gitignore and remove cached pycache files 2026-03-11 16:23:51 +01:00
41679d1861 feat: initial Flask project setup with factory pattern 2026-03-11 16:23:39 +01:00