Astreintes : fenêtre 18h-18h, week-end affiché, forfait réglable

Un jour d'astreinte déclaré couvre désormais 18:00 → 18:00 le lendemain :
les interventions hors fenêtre ne comptent ni au décompte ni pour les
11h de repos, et deux astreintes consécutives se recollent sans trou.
La fin de la dernière intervention est arrondie au quart d'heure entamé
avant de poser le retour. Samedi et dimanche apparaissent dans la
semaine (heures dues nulles) pour pouvoir y déclarer des astreintes,
dans les exports aussi. Un réglage par utilisateur ajoute une durée
forfaitaire au temps travaillé de chaque jour d'astreinte déclaré.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
This commit is contained in:
Jacquin Antoine
2026-09-08 23:06:59 +02:00
parent dc0e786428
commit 23271d736d
8 changed files with 351 additions and 48 deletions

View File

@ -181,18 +181,28 @@ demi-journées restantes.
## Astreinte & repos de 11h
Le bouton **AS** marque un jour d'astreinte. Ce jour et son lendemain (la nuit qui
suit), une sous-ligne dédiée apparaît sous la ligne du jour, pleine largeur : un
menu dépliant fermé par défaut (seuls l'heure de retour et le total restent
visibles). Déplié, il offre autant de lignes que nécessaire
(**+ intervention**) sur trois colonnes : **début**, **fin** et
description libre. Une fin antérieure au début (fin < début) désigne une
intervention à cheval sur minuit.
Le bouton **AS** marque un jour d'astreinte : la période couverte va de **18:00
ce jour-là à 18:00 le lendemain** (deux astreintes consécutives se recollent sans
trou). Ce jour et son lendemain, une sous-ligne dédiée apparaît sous la ligne du
jour, pleine largeur : un menu dépliant fermé par défaut (seuls l'heure de retour
et le total restent visibles). Déplié, il offre autant de lignes que nécessaire
(**+ intervention**) sur trois colonnes : **début**, **fin** et description
libre. Une fin antérieure au début (fin < début) désigne une intervention à
cheval sur minuit. Une durée forfaitaire peut être ajoutée au temps travaillé de
chaque jour d'astreinte déclaré (page **Réglages**, « Forfait par jour
d'astreinte »).
La semaine affiche aussi **samedi et dimanche** (heures dues nulles, lignes
grisées) : on peut y déclarer des astreintes, y saisir les interventions et les
pointer si besoin — les exports `.ods` suivent.
L'app en déduit l'heure de retour au bureau : **fin du dernier événement + 11h de
repos consécutif** (exigées par période de 24h), affichée sous la liste (« retour
≥ 13:00 »). Fin 23:30 → retour 10:30 le lendemain ; fin 02:00 → retour 13:00 le
jour même. Un repos qui se termine avant l'ouverture ne contraint rien.
≥ 13:00 »). Tout quart d'heure entamé est travaillé : la fin est arrondie au quart
d'heure supérieur (fin 23:37 → comptée 23:45) ; les interventions hors fenêtre
18:00→18:00 ne sont pas de l'astreinte. Fin 23:30 → retour 10:30 le lendemain ;
fin 02:00 → retour 13:00 le jour même. Un repos qui se termine avant l'ouverture
ne contraint rien.
À partir de cette heure de retour, tout ce qui la précède sur la journée quitte le
décompte de la semaine :
@ -212,7 +222,8 @@ total pondéré.
Par défaut : **Nuit** (20:00→08:00, tous types de jours) ×1,5 ; **Journée** (semaine
Lun-Ven, 08:00→20:00) ×1 ; **Samedi** (08:00→20:00) ×1,5 ; **Dimanche / férié**
(08:00→20:00) ×2. Les jours fériés français (fixes + Pâques, Ascension, Pentecôte)
(08:00→20:00) ×2. Ces ratios sont affichés sur la page **Réglages**. Les jours
fériés français (fixes + Pâques, Ascension, Pentecôte)
sont calculés automatiquement.
Ces règles sont ajustables dans `data/config.json`, clé `astreinte_facteurs` :