Files
tableau-de-bord/README.md
Antoine Van Elstraete 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

101 lines
3.2 KiB
Markdown

# 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](https://www.anthropic.com/claude) (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
```bash
# 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.
```bash
# 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
```bash
.venv/bin/python -m pytest
```
### Import bulk depuis CSV
Un script est disponible pour importer des entrées en masse depuis un fichier CSV :
```bash
# 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](LICENSE.md) — Copyright (c) 2026 Antoine Van-Elstraete