diff --git a/doc/functional-rules.md b/doc/functional-rules.md
index 4ae479d..b41f978 100644
--- a/doc/functional-rules.md
+++ b/doc/functional-rules.md
@@ -124,18 +124,20 @@ Documents complementaires:
- Colonnes spécifiques (vue jour):
- Heure de jour (durée HH:MM via TimeSelect)
- Heure de nuit (durée HH:MM via TimeSelect)
- - Total (somme jour + nuit, calculé)
+ - Heure atelier (durée HH:MM via TimeSelect)
+ - Total (somme jour + nuit + atelier, calculé)
- Petit déjeuner (checkbox)
- Déjeuner (checkbox)
+ - Dîner (checkbox)
- Nuitée (checkbox)
- Stockage backend:
- - `dayHoursMinutes` et `nightHoursMinutes` (entiers, minutes) sur `WorkHour`
- - `hasBreakfast`, `hasLunch`, `hasOvernight` (booleans) sur `WorkHour`
+ - `dayHoursMinutes`, `nightHoursMinutes` et `workshopHoursMinutes` (entiers, minutes) sur `WorkHour`
+ - `hasBreakfast`, `hasLunch`, `hasDinner`, `hasOvernight` (booleans) sur `WorkHour`
- les champs time classiques (morning/afternoon/evening) sont mis à null pour les chauffeurs
- Validation: même logique que les heures classiques (`isValid`, `isSiteValid`, bulk)
- Vue semaine:
- - jour/nuit par jour + indicateurs repas/nuitée
- - totaux hebdo: jour, nuit, total, compteurs petit déj/déjeuner/nuitée
+ - jour/nuit/atelier par jour + indicateurs repas/dîner/nuitée
+ - totaux hebdo: jour, nuit, atelier, total, compteurs petit déj/déjeuner/dîner/nuitée
- pas de calcul d'heures supplémentaires pour les conducteurs
- Le flag `isDriver` est sur `EmployeeContractPeriod` (un employé peut changer de statut chauffeur selon la période)
- Exposé en API via un getter virtuel sur `Employee` (`employee:read`) qui résout depuis la période active
diff --git a/frontend/components/driver-hours/DriverHoursDayView.vue b/frontend/components/driver-hours/DriverHoursDayView.vue
index 90162b2..9b8ec00 100644
--- a/frontend/components/driver-hours/DriverHoursDayView.vue
+++ b/frontend/components/driver-hours/DriverHoursDayView.vue
@@ -9,9 +9,11 @@
AbsenceHeure de jourHeure de nuit
+ Heure atelierTotalPetit déj.Déjeuner
+ DînerNuitéeValider
@@ -96,6 +98,12 @@
:disabled="!hasContractAtSelectedDate(employee.id) || isRowLocked(employee.id)"
/>
+