- 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
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
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
57.8%
HTML
42%
Shell
0.2%