Documentation complète du fonctionnement de l'application Planning Pharmacie. Toutes les règles sont identiques au script Google Apps Script original.
Calendriers lus
- •L'application lit 4 calendriers Google Agenda : Pillulier, Planning Choisy, Pharmacien Choisy et Planning théorique.
- •Chaque événement dans ces calendriers correspond à un créneau de travail pour un salarié. Le titre de l'événement = nom du salarié.
- •Pause personnalisée : un événement « Prénom - 30min » (ou « - 1h », « - 1h30 », « - 45m ») le même jour ne compte pas comme heures travaillées ; il remplace la pause par défaut de 1 h pour ce salarié sur cette date.
- •Deux cas : (1) petit créneau séparé ≤ 2 h = déclaration de pause uniquement ; (2) créneau long > 2 h intitulé « Prénom - 30min » = journée de travail avec pause de 30 min intégrée au titre.
- •Si le titre contient « sans pause », la déduction de pause n'est pas appliquée.
Calcul des heures brutes
- •Durée brute = heure de fin − heure de début (en heures décimales).
- •Pause −1h sur la durée brute si > 6h (sauf « sans pause », nuit, dimanche ou férié en réel) ; pour dimanche et férié en réel, la pause est retirée avant la majoration ×1,5.
- •Nuit : un événement est considéré « nuit » si l'heure de début ≥ 21h OU l'heure de fin ≤ 6h.
- •Réel : dimanche ou férié — pause −1h éventuelle sur la durée brute (> 6h), puis majoration ×1,5. Nuit : ×1,5 sur la durée brute sans retrait pause.
Jours fériés
- •11 jours fériés français sont calculés automatiquement : 1er jan, Lundi de Pâques, 1er mai, 8 mai, Ascension, Lundi de Pentecôte, 14 juil, 15 août, 1er nov, 11 nov, 25 déc.
- •Pâques est calculé via l'algorithme grégorien (Meeus/Wikipedia).
- •Planning THÉORIQUE un jour férié : pas de majoration ×1.5, mais −1h pause si > 6h (hors nuit et hors dimanche).
- •Réel un jour férié : majoration ×1.5, PAS de retrait de pause.
- •Lundi de Pentecôte (réel) : comptabilisé seulement si plus de 7 h brut travaillées sur la journée (tous créneaux cumulés) ; alors majoration ×1,5 (pause −1 h si > 6 h sur le total journée). Sinon 0 h.
- •La colonne « Jours fériés » du tableau affiche le total (théorique + réel).
Types de contrats
- •35h classique (base mensuelle 151.67h) : HS = max(0, total réel − 151.67). Couleur : bleu clair.
- •28h (base mensuelle 121.33h) : même logique que 35h. Couleur : violet clair.
- •15h/mois (15M, base 65h) : utilise le planning théorique. Couleur : rose.
- •35h planning fixe (35fixe) : HS = comparaison jour à jour réel vs planning théorique. Couleur : vert.
- •39h : même logique que 35fixe. Couleur : jaune.
- •Apprenti (fonction contenant « apprenti ») : HS calculées selon le planning entreprise/école. Couleur : orange si contrat 35app.
- •Roufaida (contrat 13) : 44h par mois, HS = max(0, total réel − 44h).
- •19h, 25h : autres contrats spécifiques (selon personne).
Heures supplémentaires (HS)
- •Contrats à base mensuelle fixe (35h, 28h) : HS = max(0, total heures réelles du mois − base mensuelle).
- •Contrats avec planning théorique (35fixe, 15M, 39h) : comparaison jour par jour. Si réel > prévu → HS. Si prévu > réel → absence.
- •Les jours fériés réels (×1.5) sont ajoutés aux HS pour les contrats à planning théorique.
- •Cumul HS = cumul initial (jusqu'à fin avril 2026 = feuille « H sup ») + à partir de mai 2026 : (HS du mois − absences) − déductions.
- •Le calcul dans l'app ne s'applique qu'à partir de mai 2026 ; le cumul des mois antérieurs est celui de la feuille « H sup ».
Apprentis (35h apprenti)
- •Par défaut (sans heures en entreprise saisies) : même logique qu'un poste 35h avec planning théorique, jour par jour (réel vs théorique, jours fériés pris en compte).
- •Si vous indiquez des heures « en entreprise » (nombre + période du/au) : sur les jours de cette période, l'attendu est proratisé et HS = max(0, somme des heures réelles sur ces jours − attendu). Sur les autres jours du mois, on applique toujours la règle réel vs planning théorique (et les fériés travaillés hors de la période comptent comme pour le 35fixe).
- •Absences école (dates ponctuelles) : les heures saisies sont soustraites des heures supplémentaires du mois pour le salarié concerné (tous contrats).
Retards
- •Les retards sont saisis manuellement ou importés depuis le classeur Google Sheets existant.
- •Le classeur retards (ID 1T5PRTYr8A…) est lu via l'API Google Sheets. Colonne A = nom, colonne AG = heures de retard.
- •Les retards manuels (saisis dans l'app) sont prioritaires sur les retards importés.
- •Chaque retard enregistre : salarié, heures, date du retard, source (sheet ou manuel).
- •Les retards sont déduits dans la colonne « Net (H − Retards) ».
Absences
- •Affichées uniquement pour les contrats à planning théorique (35fixe, 15M, 35app, 39h).
- •Absence = heures prévues au planning théorique − heures réellement effectuées (par jour).
- •Les jours fériés sont exclus du calcul d'absences.
- •Pour les apprentis, les jours « Fac/École » sont aussi exclus.
Colonnes du tableau mensuel
- •Salarié : nom du salarié (tiré du titre de l'événement agenda).
- •Total heures : somme de toutes les heures (avec majorations nuit/dimanche/férié).
- •Ticket restaurant : nombre de jours où le total des heures réellement travaillées (sans majoration ×1,5 dimanche/férié/nuit ; pause −1 h si > 6 h), arrondi à deux décimales, est au moins 6 h.
- •Dimanches : nombre de dimanches travaillés.
- •Retards : heures de retard (importées ou manuelles).
- •Jours fériés : heures travaillées les jours fériés (théorique + réel combinés).
- •Net (H − Retards) : total heures − retards + bonus fériés selon le type de contrat.
- •HS du mois : heures supplémentaires calculées selon les règles du contrat.
- •Cumul HS : valeur heure_supp_cumulee Supabase (modifiable dans Équipe). Le calcul ne l'augmente pas ; seules les déductions HS (onglet Déductions) mettent à jour Supabase.
- •Absences : heures d'absence (uniquement pour les contrats à planning théorique).
Fonctionnalités de l'interface
- •Tri cliquable : cliquez sur les en-têtes de colonnes pour trier (nom, heures, HS, cumul, retards, absences, net).
- •Filtre par contrat : menu déroulant pour afficher un seul type de contrat.
- •Import retards : bouton pour importer les retards depuis le classeur Google Sheets existant.
- •Planning apprentis : interface jour par jour pour marquer entreprise (E) ou fac (F) avec raccourcis par semaine.
- •Page /saisie : retards et absences école (saisie locale).
- •Accès : tout utilisateur connecté avec Google a les mêmes droits dans l'application (tableau complet, import cumul HS, onglets Retards / Apprentis / Déductions, sync feuille). La liste dans « Jannat saisie » sert de référence (emails, nom planning optionnel).
- •Synchronisation : retards, apprentis, déductions, cumul HS et liste des utilisateurs sont lus/écrits dans Google Sheets ; toute session connectée au classeur voit les mêmes données (cache local en complément).