- 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
101 lines
3.2 KiB
Markdown
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
|