a27f282b69
feat(presence): ajoute le service métier de présence et ses tests
...
Étape 3 validée du service métier de présence : implémentation de
app/business/presence_service.py et couverture par
tests/test_presence_service.py.
Co-authored-by: OpenAI/GPT-5.6-Luna-Pro <vibecoder@antoineve.me >
2026-08-13 18:54:33 +02:00
e9f73c7562
feat: persister les événements de présence et activer les clés étrangères SQLite
...
Ajoute le modèle WorkplacePresenceEvent pour stocker les événements de
présence reçus de Home Assistant, avec clé d'idempotence unique, lien vers
une journée et, facultativement, une plage horaire. Active les contraintes
de clés étrangères sur chaque connexion SQLite et documente le schéma dans
l'onboarding. Couvre le tout par des tests de modèle et de factory.
Co-authored-by: OpenAI/GPT-5.6-Luna-Pro <vibecoder@antoineve.me >
2026-08-13 17:36:26 +02:00
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
525d38224c
docs: planifier l'API REST Home Assistant
...
Co-authored-by: OpenAI/GPT-5.6-Luna-Pro <vibecoder@antoineve.me >
2026-08-13 15:57:32 +02:00
c5bcbf51bc
docs: utiliser db.engine au lieu de db.get_engine() déprécié
...
Co-authored-by: OpenAI/GPT-5.6-terra <vibecoder@antoineve.me >
2026-08-13 15:28:43 +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
b6fa09a709
doc: improve contributor guidance
...
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 12:25:08 +02:00
e9977f5a1b
doc: clarify Python version requirement
...
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me >
Co-authored-by: DeepSeek/DeepSeek-v4-Flash <vibecoder@antoineve.me >
2026-08-13 12:02:15 +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
21fd877d7a
doc: add developer onboarding guide
...
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:38:04 +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
82beb6241f
chore: configure python quality tooling
...
Co-authored-by: OpenAI/GPT-5.6-Terra <vibecoder@antoineve.me >
Co-authored-by: OpenAI/GPT-5.6-Luna <vibecoder@antoineve.me >
2026-08-13 10:08:13 +02:00
bfa48ee8a8
Add bulk CSV import script for work entries
...
- Add scripts/import_csv.py for direct SQLite database import
- Handle date conflicts with warnings (existing data preserved)
- Support multiple time slots per entry (semicolon-separated)
- Validate day_type, journey_profile_id, and motor_vehicle_id
- Update README.md with usage instructions
2026-05-13 18:45:27 +02:00
0956b22986
Add 2026 kilometer rate scale (unchanged from 2025)
2026-05-13 18:21:13 +02:00
8fe13615d0
CLAUDE.md -> AGENTS.md
2026-05-13 18:12:54 +02:00
7e2f158c09
Merge pull request 'feat: statistiques mensuelles dans la page rapports' ( #2 ) from monthly-stats-reports into master
...
Reviewed-on: #2
2026-03-13 14:42:37 +01: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
d768156e0d
docs: plan d'implémentation statistiques mensuelles
2026-03-13 14:16:31 +01:00
e781c06593
docs: design statistiques mensuelles dans la page rapports
2026-03-13 14:16:27 +01:00
d97565f1a1
Merge pull request 'feat: increase RTT from 18 to 19' ( #1 ) from increase-rtt-to-19 into master
...
Reviewed-on: #1
2026-03-13 13:50:12 +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
bb0e57dbc6
docs: ajout service systemd et instructions de déploiement
...
- tableau-de-bord-pro.service : service Gunicorn pour www-data
- README : section production avec systemctl edit --full
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-11 20:55:38 +01:00
abbce5e799
docs: ajout README, LICENSE MIT, mise à jour CLAUDE.md
...
- README.md : introduction, installation, configuration, mention vibe coding
- LICENSE.md : licence MIT (Antoine Van-Elstraete)
- CLAUDE.md : barème kilométrique, filtres Jinja2, gotcha tests de routes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-11 20:47:28 +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
68ae347311
fix: barème kilométrique 2025 — tranches et CV corrects, toutes puissances
2026-03-11 20:07:26 +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
d9ad854ede
docs: update CLAUDE.md with frontend design system and test gotchas
2026-03-11 18:48:16 +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
23dbc3f870
docs: update CLAUDE.md with session learnings
2026-03-11 18:36:23 +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
96694e2de4
test: update integration tests for motor vehicle selection
2026-03-11 17:53:00 +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
9f3c953b31
refactor: rename vehicle keys to generic moteur/type in config
2026-03-11 17:47:25 +01:00
ab27d7a345
docs: add implementation plan for multi-vehicle selection
2026-03-11 17:01:35 +01:00
b6c142dc5b
docs: improve CLAUDE.md with env vars and gotchas section
2026-03-11 16:47:40 +01:00
cadc4d783c
docs: add CLAUDE.md with architecture and commands
2026-03-11 16:45:24 +01:00
4846db2d76
test: integration tests for all routes
2026-03-11 16:44:00 +01:00
73904cd99a
feat: Gunicorn config and startup script
2026-03-11 16:43:31 +01:00