c7a0a77d1fab1f610a7753e57eb3cd55e0a23b55
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>
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.10+, 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%