85e6e502e5d63183fbce25ddb92364ad1db0aa55
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>
Tableau de bord pro
Application web personnelle de suivi du temps de travail et des déplacements professionnels.
Développée en vibe coding avec Claude Sonnet 4.6 (Anthropic).
Fonctionnalités
- Journal de bord : saisie quotidienne avec type de journée (travail, télétravail, garde, astreinte, formation, RTT, congé, maladie, férié), plages horaires et commentaire
- Suivi des déplacements : kilométrage par véhicule, estimation CO₂, calcul des frais réels selon le barème kilométrique fiscal
- Solde congés / RTT : suivi des jours posés et du solde restant
- Rapports annuels : kilométrage total, frais réels déductibles, répartition par type de journée
- Véhicules électriques : majoration de 20 % appliquée automatiquement sur les frais réels
Installation
Prérequis
- Python 3.11+
Développement
# Cloner le dépôt
git clone ssh://git.antoineve.me/AntoineVe/tableau-de-bord.git
cd tableau-de-bord
# Créer l'environnement virtuel et installer les dépendances
python -m venv .venv
.venv/bin/pip install -r requirements.txt
# Lancer le serveur de développement
.venv/bin/python run.py
L'application est accessible sur http://localhost:5000.
Production (systemd + Gunicorn)
Déploiement dans /var/www/tableau-de-bord-pro/, service géré par systemd.
# Copier l'application
sudo rsync -a --exclude='.venv' --exclude='instance' . /var/www/tableau-de-bord-pro/
cd /var/www/tableau-de-bord-pro
sudo python -m venv .venv
sudo .venv/bin/pip install -r requirements.txt
sudo chown -R www-data:www-data /var/www/tableau-de-bord-pro
# Installer le service
sudo cp tableau-de-bord-pro.service /etc/systemd/system/
# Configurer (notamment SECRET_KEY)
sudo systemctl edit --full tableau-de-bord-pro
# Activer et démarrer
sudo systemctl enable --now tableau-de-bord-pro
# Vérifier
sudo systemctl status tableau-de-bord-pro
Configuration
Toute la configuration métier se trouve dans config.toml :
[vehicles.*]: véhicules avec puissance fiscale, type de carburant et émissions CO₂[journeys.*]: profils de trajet avec distances par véhicule[bareme_kilometrique.YYYY.*]: barème fiscal par année et puissance (à mettre à jour chaque année)
Tests
.venv/bin/python -m pytest
Qualité Python
Ruff est l'unique outil de lint, de tri des imports et de formatage Python :
.venv/bin/ruff check .
.venv/bin/ruff format --check .
La configuration se trouve dans pyproject.toml (Python 3.11+, lignes de 100
caractères). Le formatage peut être appliqué avec .venv/bin/ruff format . lors
de l'étape de correction dédiée.
Import bulk depuis CSV
Un script est disponible pour importer des entrées en masse depuis un fichier CSV :
# Format du CSV : date,day_type,journey_profile_id,motor_vehicle_id,start_time,end_time,comment
# Exemple :
# 2025-06-02,WORK,moteur_seul,familiale,09:00;14:00,17:45;12:00,Travail normal
# 2025-06-03,TT,,,09:00,17:45,Télétravail
.venv/bin/python scripts/import_csv.py mon_fichier.csv
# Avec une config personnalisée
.venv/bin/python scripts/import_csv.py mon_fichier.csv --config /chemin/vers/config.toml
Comportement :
- En cas de conflit sur une date, les données existantes sont conservées et un avertissement est affiché
- Les plages horaires multiples peuvent être séparées par des points-virgules (
;) - Types de jour valides : WORK, TT, GARDE, ASTREINTE, FORMATION, RTT, CONGE, MALADE, FERIE
Licence
MIT — Copyright (c) 2026 Antoine Van-Elstraete
Description
Application web personnelle de suivi du temps de travail et des déplacements professionnels.
Languages
Python
70.8%
HTML
29.1%
Shell
0.1%