—
đŸ“„ Import planning — analyse par IA
Glissez le JSON gĂ©nĂ©rĂ© par Claude depuis une photo de planning â–Œ Ouvrir
Versions de la semaine type
🔄 Échange de crĂ©neaux entre collaborateurs
Un échange est neutre fiscalement : les heures récupérées ne comptent pas en H supplémentaires. Les deux cÎtés (retrait + présence) sont créés automatiquement et liés.
← Cùde ses heures
→ RĂ©cupĂšre des heures
Échanges enregistrĂ©s
Nouvelle modification
Historique des modifications
DateCollaborateurTypeHeuresMotifSaisi le
Déclarer une absence
Créneaux rapides :
—
💡 Pour une absence sur plusieurs jours, utilisez le raccourci multi-jours ci-dessous.
Absence multi-jours : →
Absences déclarées
CollaborateurTypeDateDeÀDurĂ©eMotifNoteSaisi le
Nouvelle opération CET
Mois affiché :
📍 Carte des adresses
Mode prime nutri :
📊 Glisser le CSV nutri ici ou cliquer pour importer — le fichier sera parsĂ© automatiquement
Primes du mois
💡 Cliquez sur une cellule du tableau pour modifier la valeur directement — saisie validĂ©e par EntrĂ©e ou Tab
Journal des modifications de primes
MoisCollaborateurType primeValeurSourceSaisi le
📋 Trajets du mois
Dictez votre message
Exemples :
Historique IA

Aucune action IA pour l'instant

đŸ“„ IMPORT PLANNING — ANALYSE PAR IA
Prenez une photo de votre planning papier, donnez-la à Claude avec le prompt ci-dessous, puis collez le JSON généré.
Prompt Ă  copier et donner Ă  Claude avec la photo
Pour saisir absences/présences d'une semaine précise (avec dates).
JSON gĂ©nĂ©rĂ© par Claude — collez-le ici
⏳ En attente de validation
Chargement

Historique
Date / Heure Type Collaborateur Description
Aucune entrée dans le journal
đŸ· IdentitĂ©
đŸ„
📋 Administratif & lĂ©gal
🕐 Horaires d'ouverture
Les jours fermés apparaissent grisés dans le planning.
đŸ©ș MĂ©decine du travail
📝 Notes internes
💬 Messages motivants (portail employĂ©)

Une phrase s'affiche chaque jour dans le portail employĂ© (vue "Aujourd'hui"). 50 phrases incluses par dĂ©faut — ajoutez les vĂŽtres ci-dessous.

📅 Historique des semaines types
Date de début du planning (v1)
Date Ă  laquelle la pharmacie a commencĂ© Ă  utiliser ce planning — sert Ă  dater l'historique de la v1
🔐 SĂ©curitĂ© des modifications
đŸ–„ Affichage
Planning compact
Réduit la grille pour afficher plus de colonnes sans scroll horizontal
Sauvegarde manuelle
Le fichier JSON contient toutes vos données (collaborateurs, absences, planning, modifications
)
📁 Sauvegarde automatique locale
Vérification

⚠ Fonctionne sur Chrome et Edge uniquement (API File System Access). Le fichier est en clair — stockez-le dans un dossier personnel, jamais sur un partage rĂ©seau.
Sauvegardes disponibles
Chargement

Sommaire
🚀 DĂ©marrage rapide 🆕 NouveautĂ©s mai 2026 📆 Vue mois 📅 Planning semaine 🗓 Semaine type đŸ„ Absences 💰 CET ✏ Modifications đŸ‘„ Collaborateurs 📋 Navette comptable 📊 RĂ©capitulatif 🏅 AnciennetĂ© đŸ’” Primes đŸ€– Assistant IA đŸ”” Chips & codes couleur ☁ Sauvegarde ⚖ RĂšgles CCN đŸ„ Ma Pharmacie 🔐 SĂ©curitĂ© & MFA
🚀
Démarrage rapide
Suivez ces étapes dans l'ordre pour configurer PlanningOfficine en 15 minutes
1
đŸ„ Ma Pharmacie & sĂ©curitĂ© ~3 min
📝 Menu → Ma Pharmacie — renseignez le nom, l'adresse, le tĂ©lĂ©phone
🕐 DĂ©finissez vos horaires d'ouverture (lundi → dimanche) — cela colore automatiquement le planning
🔑 Menu → ParamĂštres — crĂ©ez votre mot de passe PlanningOfficine (protĂšge les changements de planning)
💡 Enregistrez bien votre mot de passe — il n'y a pas de rĂ©cupĂ©ration automatique
2
đŸ‘„ CrĂ©er les collaborateurs ~5 min
đŸ‘€ Menu → Collaborateurs → + Ajouter pour chaque membre de l'Ă©quipe
đŸ”€ Attribuez une lettre unique (A, B, C
) — c'est l'identifiant affichĂ© dans le planning
📋 Renseignez le contrat, les heures, l'entrĂ©e dans la pharmacie
đŸ”” Choisissez une couleur de pastille par collaborateur pour les distinguer facilement
3
🗓 Saisir le planning de base (Semaine type) ~5 min
📅 Menu → Semaine type → Éditer Semaine 1 et Semaine 2
đŸ–±ïž Cliquez-glissez sur les cases du tableau pour placer les collaborateurs par crĂ©neau horaire
↔ S1 et S2 alternent automatiquement chaque semaine — c'est votre planning de rĂ©fĂ©rence rĂ©pĂ©tĂ© indĂ©finiment
🔄 DĂ©part ou arrivĂ©e d'un collaborateur ? CrĂ©ez une nouvelle version avec sa date d'effet — l'historique est conservĂ©, le nouveau planning s'applique Ă  partir de cette date.
4
đŸ“± CrĂ©er les comptes collaborateurs optionnel
📧 Dans la fiche de chaque collaborateur, renseignez leur email
🔗 Envoyez-leur le lien du portail collaborateur — ils peuvent consulter leur planning, voir le planning complet de l'Ă©quipe et poser des demandes d'absences
đŸ‘ïž Ils voient leur planning personnel et le planning gĂ©nĂ©ral de l'Ă©quipe (qui travaille en mĂȘme temps)
✅
C'est parti — gestion au quotidien
✏ Planning semaine — cliquez sur une cellule pour ajouter/retirer un crĂ©neau ponctuel
đŸ„ Absences — saisissez CP, maladie, SS, formations
 le planning se met Ă  jour automatiquement
📊 RĂ©capitulatif & Navette — exports mensuels pour votre comptable
📆 Vue mois — vision globale d'un coup d'Ɠil avec effectif par demi-journĂ©e
⭐ Recommandé en plus
☁ Sauvegarde locale rĂ©guliĂšre
Menu → ParamĂštres → Exporter les donnĂ©es. Conservez le fichier JSON en lieu sĂ»r. En cas de pĂ©pin, vous pouvez tout restaurer en quelques secondes.
🔐 Double authentification (MFA)
Menu → ParamĂštres → activer l'authentification via Google Authenticator (code 6 chiffres). Valide 1 an par poste. Fortement conseillĂ© pour sĂ©curiser votre compte admin. (Face ID / Passkeys : disponible sur abonnement Pro Supabase)
🆕 NouveautĂ©s — 1er juin 2026
đŸ’¶ Navette — refonte « H Ă  payer » paie-friendly

La colonne « H réalisées » est renommée « H à payer » et son calcul est revu pour coller à la logique paie :

  • MensualisĂ© : H Ă  payer = H contrat − Sans solde. Les CP, maladie, maternitĂ©, AT, etc. ne rĂ©duisent plus la base mensuelle — elles sont signalĂ©es Ă  la comptable qui laisse mySilae appliquer le bon rĂ©gime par type
  • Au rĂ©el (Ă©tudiant/extra) : H Ă  payer = planning effectif + formation
  • CET totalement sorti du calcul : interne, ni dans le thĂ©o ni dans la paie
  • Le bandeau PDF affiche maintenant UN seul chiffre principal (H Ă  payer) + un contrĂŽle planning en alerte seulement si l'Ă©cart > 0,5h
  • Les colonnes « +10% / +25% / maj+50% » restent les heures sup Ă  ajouter par-dessus
📝 Navette PDF — note par collaborateur + page rĂ©gularisations

Sur chaque ligne du tableau navette, un bouton 📝 permet d'ajouter une note spĂ©cifique Ă  ce mois pour le collaborateur (contexte, exception Ă  signaler Ă  la comptable). Elle apparaĂźt sur la page PDF du collab, Ă  cĂŽtĂ© de sa note permanente (fiche collab).
En plus, le PDF intÚgre maintenant une page de régularisations finale listant toutes les modifications saisies aprÚs la clÎture du mois précédent et qui doivent passer sur la paie du mois en cours (CP tardifs, absences déclarées en retard, etc.).

🐛 Navette PDF — total semaine correct (formation, Ă©cole, garde)

Le total hebdomadaire du détail semaine par semaine compte désormais correctement les heures de formation, école et garde comme du temps de travail rémunéré. La référence (« 35h » contractuel) ne tombe plus à 0 quand la matrice est vide : fallback automatique sur la fiche (h/sem ou hmois/4.33).

📋 Navette Excel refondue pour mySilae

L'export Excel de la navette est entiĂšrement repensĂ© pour ĂȘtre prĂȘt-Ă -coller dans mySilae :

  • Feuille SynthĂšse : 1 ligne dense par collab avec sections groupĂ©es (IdentitĂ© · Contrat · RĂ©el · Primes · Heures +/- · CP · Absences)
  • H rĂ©alisĂ©es en 2 versions : thĂ©orique (contrat − abs + modifs) ET « en vrai » (planning effectif jour-par-jour)
  • CP en 2 mĂ©thodes cĂŽte Ă  cĂŽte : CCN (jours ouvrables) vs Pharma (heures Ă· h/jour) + delta signalĂ©
  • Absences en colonnes : 3 motifs max par ligne, ligne supplĂ©mentaire automatique au-delĂ 
  • Feuille DĂ©tail : calendrier mois jour-par-jour pour chaque collab + comparaison CP avec formules
  • Solde tout compte automatique : bloc dĂ©diĂ© si le collab est sorti dans le mois (CET cumulĂ©, indemnitĂ© fin CDD)
  • Primes lues par nom : Nutri, Transport, GĂ©nĂ©rique, ÉtĂ©/Hiver, km, PPV reconnues automatiquement
🖹 PDF planning — lĂ©gende dĂ©taillĂ©e en pied de page

L'impression du planning hebdomadaire affiche maintenant systĂ©matiquement une lĂ©gende complĂšte sous le tableau : codes couleur des absences (CP, Maladie, SS, CET, Formation, École) avec le total d'heures de chaque type sur la semaine, plus les marqueurs ✩ FĂ©riĂ©, ↔ Échange, − Retrait, + Ajout manuel. La feuille devient self-explanatory pour vos collaborateurs.

📋 Navette — Sans solde en heures uniquement

L'export Excel de la navette affiche désormais le sans solde uniquement en heures, sans conversion en jours. La colonne « SS (j) » a été retirée de la feuille SynthÚse et la mention « = Xj à déduire » a disparu du Détail. Plus de confusion avec la conversion approximative.

⚖ CP CCN — extension semaine complĂšte automatique

Si les heures de CP couvrent toutes les heures thĂ©oriques d'un collaborateur sur une semaine, le calcul CCN compte dĂ©sormais automatiquement 6 jours ouvrables pour cette semaine (lundi → samedi), mĂȘme si certains jours sont fĂ©riĂ©s ou non travaillĂ©s. Cas typique : un collaborateur en CP du mercredi au samedi alors que son lundi est fĂ©riĂ© et son mardi est un jour de repos → 6 jours CCN, plus 4.

🚗 Frais kilomĂ©triques — activation par collaborateur

Une nouvelle case 🚗 Frais kilomĂ©triques activĂ©s est disponible dans la fiche de chaque collaborateur (Ă  cĂŽtĂ© de MĂ©decine du travail). Quand elle est cochĂ©e, l'onglet Mes km apparaĂźt dans le portail employĂ© du collab et ses km comptent dans la grille Primes & Variables. Quand elle est dĂ©cochĂ©e, l'onglet disparaĂźt cĂŽtĂ© employĂ© et la grille affiche « dĂ©sactivĂ© » Ă  la place du compteur. Permet de rĂ©server le module aux collaborateurs rĂ©ellement Ă©ligibles aux frais professionnels.

📅 Sortie d'un collaborateur — convention clarifiĂ©e

Le popup d'archivage permet dĂ©sormais de choisir explicitement entre Dernier jour travaillĂ© et Premier jour d'absence. Un rappel dynamique en vert affiche l'autre date selon le mode choisi. En interne, c.dateSortie reprĂ©sente toujours le premier jour oĂč le collab n'est plus salariĂ© (= date de fin de contrat). Un bug latent est corrigĂ© au passage : auparavant, certains calculs comptaient les heures du jour de sortie tandis que le rendering les masquait, ce qui faussait la navette des sortants.

⏱ Quarts d'heure visibles partout (admin + employĂ©)

Les créneaux de 15 minutes (1Úre ou 2e moitié d'un slot 30 min) sont désormais reconnus dans toutes les vues :

  • Vue Gantt Mois / Semaine / Jour — les bornes horaires et la prĂ©sence prennent en compte les quarts
  • PDF planning — les chips Ă  demi apparaissent et le H/sem / H/j sont calculĂ©s correctement
  • Portail employĂ© — pastilles demi-haut / demi-bas + heures prĂ©cises (ex. 8h00 → 12h15)
  • Calculs CCN, CP, navette — les collabs en quart d'heure sont enfin comptabilisĂ©s

✓ PrĂ©cision 15 min : tous les calculs d'heures (navette, recap, CCN, CP, H/sem PDF, Gantt) sont dĂ©sormais exacts au quart d'heure. A+ ou A- compte pour 0.25h, A pour 0.5h.

⏳ Demandes d'absence visibles sur le planning

Quand un collaborateur soumet une demande d'absence depuis son portail, elle apparaĂźt dĂ©sormais directement sur le planning avant validation : la pastille concernĂ©e est entourĂ©e d'un anneau orange, sa cellule est teintĂ©e et un badge ⏳ s'affiche. Vous visualisez l'impact sur l'Ă©quipe avant de dĂ©cider. Cliquez la pastille orange : le popup propose ✓ Approuver / ✕ Refuser sans quitter le planning. Une fois validĂ©e, la demande devient une absence normale.

🐛 CongĂ©s CCN multi-jours — affichage corrigĂ©

Un congĂ© saisi en mode CP CCN (un seul enregistrement couvrant plusieurs jours) s'affiche maintenant correctement sur tous les jours de la plage — dans le planning, la vue Mois et le portail employĂ©.

🚗 Km intĂ©grĂ©s dans Primes & Variables

Le total des kilomĂštres validĂ©s par collaborateur est dĂ©sormais affichĂ© directement dans la grille Primes & Variables, sous forme d'une colonne 🚗 Km (lecture seule, calculĂ©e automatiquement pour le mois sĂ©lectionnĂ©).

🗓 Alternance multi-semaines types (S1 à S6)

Le planning peut maintenant alterner sur 2 Ă  6 semaines types (S1/S2 par dĂ©faut). Pour changer le cycle, crĂ©ez une Nouvelle version et sĂ©lectionnez le nombre de semaines souhaitĂ© dans le sĂ©lecteur dĂ©diĂ©. L'historique passĂ© conserve automatiquement le cycle d'origine — seules les dates Ă  partir de la nouvelle version utilisent le nouveau cycle. Chaque compte dĂ©marre sur 2 semaines par dĂ©faut.

⚡ Performances — application significativement accĂ©lĂ©rĂ©e

Le fichier de l'application a Ă©tĂ© rĂ©duit de 2,5 Mo → 1,35 Mo (−45 %) grĂące Ă  l'optimisation des options de protection du code. Suppression du mĂ©canisme debugProtectionInterval qui dĂ©clenchait un gel toutes les 2 secondes, et du code auto-modifiant (selfDefending). Les changements d'onglets sont dĂ©sormais nettement plus rapides.

🐛 Correctifs — cycle semaines et mois par dĂ©faut
  • Cycle remis Ă  2 semaines par dĂ©faut : tous les comptes existants qui avaient un cycle diffĂ©rent suite aux tests ont Ă©tĂ© remis Ă  2 semaines automatiquement au rechargement.
  • Historique des semaines types rĂ©initialisĂ© : l'historique de cycle est dĂ©sormais cohĂ©rent avec la valeur active, Ă©vitant l'affichage de S3/S4 sur des plannings anciens.
  • Mois courant par dĂ©faut : les sĂ©lecteurs de mois (RĂ©capitulatif, Primes, Navette) affichent maintenant toujours le mois en cours Ă  l'ouverture de l'application, et non le dernier mois consultĂ©.
📆 Vue mois — calendrier avec mini Gantt et effectif

Nouvelle vue accessible depuis le menu latéral (Vue mois). Affiche un tableau mensuel : une ligne par collaborateur, une colonne par jour. Chaque cellule contient une mini barre Gantt colorée (présence en vert, CP en bleu, maladie en rouge, etc.). Une ligne Effectif en bas indique le nombre de personnes à l'ouverture et à la fermeture de chaque demi-journée, avec une alerte rouge si aucun pharmacien n'est présent. Cliquer sur une cellule affiche le détail de la journée (popup Gantt).

📅 SĂ©lecteur de mois dans la navigation planning

Un sélecteur mois/année est disponible directement dans la barre de navigation du planning, entre les flÚches de semaine et le bouton "Aujourd'hui". Cliquez dessus pour sauter instantanément à n'importe quel mois sans cliquer une dizaine de fois sur les flÚches.

đŸ’Ÿ Sauvegarde automatique locale

À chaque ouverture de session, un fichier JSON est enregistrĂ© automatiquement dans un dossier de votre ordinateur. Les 10 derniĂšres sauvegardes sont conservĂ©es. Configuration dans Notice → section ☁ Sauvegarde (ci-dessous).

⚠ Le fichier JSON est en clair (non chiffrĂ©) — stockez-le dans un dossier personnel, jamais sur un partage rĂ©seau ou un cloud d'entreprise. Fonctionnel sur Chrome et Edge uniquement.
🎭 DonnĂ©es de dĂ©monstration au premier lancement

Lors de la création d'un compte, 6 collaborateurs fictifs sont pré-chargés pour permettre de découvrir l'application immédiatement. Un bandeau orange en haut de l'écran propose d'Effacer les données de démonstration pour repartir de zéro avec votre vraie équipe.

🔐 Isolation des donnĂ©es par compte

Correction d'un bug oĂč un nouveau compte pouvait afficher des donnĂ©es appartenant Ă  l'utilisateur prĂ©cĂ©dent (restĂ©es en cache local). Les donnĂ©es sont dĂ©sormais effacĂ©es proprement lors de chaque nouvelle connexion.

📅 Mise à jour automatique du planning à l'archivage d'un collaborateur

Lorsqu'un collaborateur est archivĂ© (date de sortie), l'application propose automatiquement de crĂ©er une nouvelle version du planning de rĂ©fĂ©rence (S1/S2) sans ce collaborateur, Ă  partir de la date de sortie. L'historique passĂ© reste intact — seules les semaines futures sont ajustĂ©es.

🧼 Calcul des heures d'absence corrigĂ© (CP, maladie, CET
)

Les heures comptĂ©es pour les absences journĂ©e entiĂšre (CP, maladie, SS, CET
) Ă©taient surestimĂ©es lorsque le collaborateur Ă©tait planifiĂ© sur une longue plage (ex. 9h-19h30). La pause dĂ©jeuner 12h30-14h00 (1h30 non rĂ©munĂ©rĂ©e) est dĂ©sormais automatiquement dĂ©duite. Exemple : Matis planifiĂ© 9h-19h30 → 9h dĂ©comptĂ©es (et non plus 10h30). La correction est rĂ©troactive : toutes les absences existantes sont recalculĂ©es depuis la matrice lors du prochain affichage navette.

📋 Semaine type — statuts versions et suppression sĂ©curisĂ©e

Les versions de planning de rĂ©fĂ©rence affichent dĂ©sormais leur statut clair : ACTIVE, HISTORIQUE (date de fin passĂ©e) ou À VENIR (date d'effet future). La suppression d'une version requiert maintenant de taper le mot SUPPRIMER dans une fenĂȘtre de confirmation — impossible de supprimer par accident.

🗑 Vider matrices

Le bouton Vider matrices dans la page Semaine type remet les grilles S1–SN Ă  zĂ©ro. Une confirmation en deux Ă©tapes est demandĂ©e (saisie du mot VIDER) pour Ă©viter toute suppression accidentelle.

☁ Page Sauvegardes — visualisation cloud et locales

La page Sauvegardes (menu latĂ©ral) liste dĂ©sormais les sauvegardes hĂ©bergĂ©es sur le cloud (Supabase, conservĂ©es automatiquement, max 10) et les fichiers locaux de votre dossier de sauvegarde. Chaque sauvegarde peut ĂȘtre tĂ©lĂ©chargĂ©e ou restaurĂ©e en un clic.

🐛 Vue mois — correctifs affichage
  • Samedis vides : les collaborateurs travaillant le samedi n'apparaissaient pas — corrigĂ©.
  • Dimanche inclus : le dimanche est dĂ©sormais affichĂ© dans la vue mois (nĂ©cessaire pour les gardes).
  • Popup lĂ©gende erronĂ©e : une journĂ©e entiĂšre encodĂ©e comme absence + crĂ©neaux gĂ©nĂ©rait 17× "JournĂ©e entiĂšre (0.5h)" dans la lĂ©gende — corrigĂ© en fusionnant les Ă©vĂ©nements de mĂȘme type.
  • Collaborateur absent de certaines dates : bug de fuseau horaire — la conversion UTC de minuit heure locale dĂ©calait la date d'un jour en France (UTC+2), causant des lookups sur la mauvaise date dans la matrice et les cartes d'absences — corrigĂ©.
📆 Vue mois

Vue mensuelle accessible via Vue mois dans le menu latéral. Affiche un tableau avec une ligne par collaborateur actif et une colonne par jour du mois.

Mini barres Gantt
  • Barre verte = prĂ©sence planifiĂ©e
  • Barre bleue = CP
  • Barre rouge = maladie / arrĂȘt
  • Barre orange = SS / CET
  • Barre violette = formation
  • Zone sombre = pause dĂ©jeuner
Ligne Effectif
  • 4 compteurs par jour : Ouv.9h, Ferm.13h, Ouv.14h, Ferm.19h
  • Vert = pharmacien prĂ©sent
  • Rouge / ! = aucun pharmacien
  • Cellule rouge "0" = personne Ă  cet horaire
  • Survol pour voir la liste des personnes
Popup détail

Cliquer sur une cellule de présence affiche un popup avec la barre Gantt complÚte de la journée : horaire début/fin de chaque demi-journée, pause déjeuner, absences partielles et présences ajoutées manuellement.

📅 Planning semaine

Vue principale de l'application. Affiche la grille horaire (crĂ©neaux de 30 min, 8h00→19h30) pour chaque jour de la semaine choisie.

Navigation
  • FlĂšches ← → pour changer de semaine
  • SĂ©lecteur mois/annĂ©e pour sauter directement Ă  un mois
  • Bouton "Aujourd'hui" pour revenir Ă  la semaine en cours
  • S1 / S2 indiquĂ© sur chaque semaine (alternance automatique)
  • Dimanche optionnel (toggle ☀)
  • Mode compact (densitĂ© rĂ©duite)
Affichage
  • Masquer les absents (mode simplifiĂ©)
  • Colonne "aujourd'hui" surlignĂ©e en bleu
  • Pause dĂ©jeuner (13h–14h) fond sombre
  • Jours fĂ©riĂ©s fond ambre
  • Impression A4 paysage (Ctrl+P)
Cliquer sur un chip présent
  • Popup contextuel avec toutes les actions
  • Bouton ? pour l'aide contextuelle (survol = explication)
  • Voir / supprimer les absences du jour
  • Absence journĂ©e entiĂšre : CP, Maladie, SS, CET, FĂ©riĂ©, 📚 Formation
  • Retirer ce crĂ©neau (30 min) : CP, SS, Maladie, CET, DĂ©calage, Formation
  • DĂ©clarer une absence sur horaires prĂ©cis avec type et note
  • Échange de crĂ©neau ou de journĂ©e (crĂ©neau B)
  • DĂ©calage journĂ©e entiĂšre avec motif
  • AccĂšs Ă  la fiche collaborateur
Cliquer sur une cellule vide
  • Ajouter une prĂ©sence manuelle (hors matrice)
  • RĂ©tablir un crĂ©neau retirĂ©
  • Échange de crĂ©neau depuis une cellule vide
Chips couleur : chaque collaborateur a une couleur fixe (lettre initiale). Fond rouge = absent, fond jaune = Ă©cole 🎓, fond violet = formation 📚, contour vert = prĂ©sence ajoutĂ©e manuellement.
🗓 Semaine type (Ă©diteur de matrice)

Définit le planning de référence pour chaque collaborateur. Les données de la matrice servent de base à tous les calculs (heures contractuelles, heures sup, navette).

Fonctionnement
  • Alternance sur 2 Ă  6 semaines types (S1/S2 par dĂ©faut)
  • Clic = cycle 15 min : absent → œ dĂ©but → plein → œ fin → absent
  • Glisser pour remplir plusieurs cellules en sĂ©rie (crĂ©neaux complets)
  • Cellule 🎓 = crĂ©neau Ă©cole structurel (ne dĂ©compte pas d'absence)
  • SĂ©lection multiple (lettre globale ou spĂ©cifique)
Matrices temporaires (version spéciale)
  • CrĂ©er une version active sur une pĂ©riode donnĂ©e (ex : vacances, Ă©tĂ©)
  • Remplace automatiquement la matrice de rĂ©fĂ©rence sur la plage
  • Gestion des vacances apprentis (35h sur la pĂ©riode)
  • Retour automatique Ă  la matrice de base hors pĂ©riode
🔄 Changer le cycle d'alternance (S1 à S6)

Pour passer de 2 Ă  4 semaines types (ou autre), crĂ©ez une Nouvelle version et sĂ©lectionnez le nombre de semaines souhaitĂ© dans le sĂ©lecteur Cycle d'alternance qui apparaĂźt dans la modale. L'historique passĂ© conserve le cycle d'origine — seules les dates Ă  partir de la nouvelle version utilisent le nouveau cycle. Le badge dans Ma Pharmacie indique le cycle actif.

đŸ„ Gestion des absences

Centralise toutes les absences saisies (via popup ou formulaire). Chaque absence a un type, des horaires, une durée et une note optionnelle.

🏖 CP
Congé payé. Décompté des CP acquis. Retire les créneaux du planning. Impacte navette comptable.
đŸ„ Maladie
ArrĂȘt maladie. Retire les crĂ©neaux. ApparaĂźt sur la navette comme arrĂȘt. Pas de dĂ©compte CP.
đŸ’Œ Sans Solde
Heures non rémunérées. Retire les créneaux. Pas de décompte CP.
💰 CET
Compte Épargne Temps. Puise dans le solde CET. Retire les crĂ©neaux.
🗓 FĂ©riĂ©
Jour férié. Retire les créneaux. Aucun décompte CP ni CET.
🎓 École
Jour école structurel. Chip jaune sur le planning. Heures payées normalement. Ne retire pas les créneaux.
📚 Formation
JournĂ©e ou crĂ©neau formation. Chip violet 📚 sur le planning. Aucune heure dĂ©comptĂ©e. Ne retire pas les crĂ©neaux.
⏱ DĂ©calage
Retire les créneaux sans créer d'absence officielle. Indique un horaire décalé à récupérer.
🔄 Échange
Redistribue les créneaux entre deux dates. Aucune perte ni gain d'heures. Traçable dans le journal.
Notes : chaque absence peut recevoir une note libre (📝). La durĂ©e peut ĂȘtre recalculĂ©e Ă  partir du planning rĂ©el. Les absences sont exportĂ©es dans la navette.
💰 Compte Épargne Temps

Suivi individuel du solde CET de chaque collaborateur. Le solde est crédité manuellement (heures récupérées) et débité automatiquement lors des poses CET.

  • Vue des soldes par collaborateur avec barre de progression
  • Ajout crĂ©dit / dĂ©bit manuel avec motif et date
  • Alerte si solde nĂ©gatif lors d'une pose CET
  • Historique de toutes les opĂ©rations avec filtre par collaborateur
  • Exportable via la navette comptable
✏ Modifications de planning

Ajout d'heures supplémentaires ou complémentaires ponctuelles qui ne figurent pas dans la matrice (astreintes, gardes, formations rémunérées
). S'ajoutent aux calculs CCN dans la navette et le récapitulatif.

  • Saisie : collaborateur, date, heures, taux (25% ou 50%), motif
  • CumulĂ©es dans le total heures sup de la navette
  • Visibles dans le journal des modifications
đŸ‘„ Collaborateurs

Gestion des fiches collaborateurs. Chaque fiche contient les informations nécessaires aux calculs.

Informations gérées
  • PrĂ©nom, nom, poste, lettre (identifiant unique)
  • Email, tĂ©lĂ©phone, adresse — coordonnĂ©es complĂštes
  • Date de naissance — Ăąge calculĂ© automatiquement
  • N° SS, RPPS, IBAN / BIC — donnĂ©es administratives et bancaires
  • MĂ©decine du travail — suivi inscription par collaborateur
  • Contrat : heures mensuelles ou hebdomadaires
  • Type : salariĂ© normal, apprenti, Ă©tudiant Ă©cole
  • Date d'entrĂ©e et date de sortie (archivage automatique)
  • Taux horaire pour les calculs de primes
Comportement
  • ArchivĂ© = n'apparaĂźt plus dans le planning aprĂšs la date de sortie
  • ApparaĂźt dans la navette du mois de sortie si encore actif
  • Navette : bloc "Solde de tout compte" automatique avec le solde CET du mois de sortie
  • CET : le collaborateur archivĂ© passe dans la section "Anciens collaborateurs" (historique conservĂ©)
  • Historique des pĂ©riodes de contrat (taux variable dans le temps)
  • Couleur chip attribuĂ©e selon la lettre
📅 Mise Ă  jour automatique du planning de rĂ©fĂ©rence Ă  la sortie

Lorsque vous archivez un collaborateur, l'application détecte automatiquement si sa lettre est encore présente dans les matrices S1/S2. Si c'est le cas, un popup propose de créer une nouvelle version du planning de référence à partir de la date de sortie, avec ce collaborateur retiré de tous les créneaux.

✓ Ce qui est prĂ©servĂ©
  • Tout l'historique des semaines passĂ©es reste intact
  • La navette des mois prĂ©cĂ©dents n'est pas touchĂ©e
  • Les versions temporaires existantes restent actives
↻ Ce qui est mis Ă  jour
  • À partir de la date de sortie, le collaborateur disparaĂźt de tous les crĂ©neaux S1 et S2
  • La nouvelle version est visible dans l'Ă©diteur Semaine type
  • L'effectif Vue mois est recalculĂ© automatiquement
Si vous refusez la mise Ă  jour, le planning de rĂ©fĂ©rence reste inchangĂ© — vous pourrez toujours l'Ă©diter manuellement dans Semaine type.
đŸ“„ Import / Export Excel
  • ⬇ ModĂšle Excel — tĂ©lĂ©charge un fichier .xlsx avec tous les champs prĂ©-remplis (collabs existants ou ligne exemple si vide). À transmettre pour saisie ou correction.
  • 📂 Importer Excel — relit le fichier et met Ă  jour les fiches. La lettre planning est la clĂ© : si elle existe dĂ©jĂ  → mise Ă  jour ; si elle est nouvelle → crĂ©ation. Supprimer une ligne n'efface rien.
  • On peut corriger un nom, un prĂ©nom, un taux, ajouter un email — tant que la lettre reste identique, tout se met Ă  jour proprement.
  • Colonnes : Lettre · Nom · PrĂ©nom · Email · TĂ©lĂ©phone · Adresse · Poste · Contrat · H/sem · H/mois · Coeff · Taux · EntrĂ©e · Mensualisation · Primes · Anniversaire · CET initial · Notes · Date naissance · N° SS · RPPS · IBAN · BIC · MĂ©decine du travail
📋 Navette comptable

Résumé mensuel par collaborateur à destination de la comptabilité. Calculé automatiquement à partir du planning, des absences et des modifications.

Colonnes calculées
  • H contrat (base mensuelle thĂ©orique)
  • H rĂ©alisĂ©es (heures rĂ©ellement travaillĂ©es)
  • CP (jours / heures de congĂ©s posĂ©s)
  • Maladie, SS, CET (heures par type d'absence)
  • H sup +25%, +50% selon CCN Pharmacie
  • H dim +50% (dimanches travaillĂ©s)
Détail expandable
  • Cliquer sur une ligne → dĂ©tail semaine par semaine
  • Total rĂ©alisĂ© du mois en tĂȘte de dĂ©tail
  • Jour Ă©cole 🎓 et formation 📚 marquĂ©s visuellement
  • Jours partiels avec absences en rouge, prĂ©sence en blanc
  • RĂ©sumĂ© CCN des majorations en bas de chaque collab
Export Excel : bouton en bas de la barre latérale. GénÚre un fichier .xlsx avec toutes les colonnes, formaté pour la comptabilité.
RÚgle école : les collaboratrices en alternance affichent /35h (leur contrat école inclus) et non /20h. Les jours école ne décomptent pas d'heures d'absence.
🎌 Jours fĂ©riĂ©s & Gardes (CCN Pharmacie)

Les jours fĂ©riĂ©s sont automatiquement dĂ©tectĂ©s et affichĂ©s dans le planning (🎌). La CCN Pharmacie impose des rĂšgles spĂ©cifiques selon la situation de chaque collaborateur.

Collaborateur absent ce jour-lĂ 
  • Les heures contractuelles sont payĂ©es normalement
  • Le jour fĂ©riĂ© est exclu des absences CP/maladie (pas dĂ©comptĂ©)
  • Aucune saisie nĂ©cessaire — calculĂ© automatiquement
Collaborateur de garde ce jour-lĂ 
  • Heures contractuelles payĂ©es (fĂ©riĂ© = repos payĂ©)
  • Heures de garde = heures supplĂ©mentaires
  • Majoration +100% sur les heures de garde (CCN officine)
⚡ Comment saisir une garde jour fĂ©riĂ©
  1. Le planning doit afficher la prĂ©sence de la personne ce jour-lĂ  (ajoutĂ©e manuellement via la grille — elle apparaĂźtra 🎌 "Garde — Jour FĂ©riĂ©" dans l'app employĂ©)
  2. Aller dans Navette → H supplĂ©mentaires hors planning
  3. Sélectionner le collaborateur, le mois et le type "Garde jour férié +100%"
  4. Saisir le nombre d'heures effectuées en garde
  5. Le rĂ©capitulatif mensuel affiche une colonne +100% (en rouge) — Ă©galement exportĂ©e dans le fichier Excel navette
Repos compensatoire (RCR) : si tu prĂ©fĂšres donner du repos Ă  la place de la majoration, ne saisis pas les heures en "+100%" — gĂšre le repos via le CET ou une note manuelle. Les deux options sont valides per CCN.
📊 RĂ©capitulatif mensuel

Vue synthétique par collaborateur et par mois. Affiche les totaux d'heures planifiées, réalisées, les écarts et les absences de la période.

  • SĂ©lecteur de mois indĂ©pendant (peut diffĂ©rer de la navette)
  • Ligne TOTAUX en bas avec cumul de tous les collaborateurs
  • Heures sup et complĂ©mentaires mises en Ă©vidence
  • Exportable (non implĂ©mentĂ© — prĂ©vu)
🏅 AnciennetĂ© CCN Pharmacie

Calcul automatique des primes d'ancienneté selon la Convention Collective Nationale de la Pharmacie d'Officine.

  • Paliers Ă  3 ans (+1%), 6 ans (+2%), 9 ans (+3%), 12 ans (+4%), 15 ans (+5%), etc.
  • Calcul Ă  partir de la date d'entrĂ©e de chaque collaborateur
  • Affichage du montant mensuel estimĂ© selon le taux horaire
  • Alerte si un palier est atteint dans les 3 prochains mois
đŸ’” Primes & Variables

Saisie manuelle des éléments variables de paie mensuels (primes exceptionnelles, remboursements, etc.).

  • Grille par collaborateur et par mois
  • Colonne 🚗 Km intĂ©grĂ©e — affiche le total des km validĂ©s par collaborateur pour le mois sĂ©lectionnĂ©
  • Import CSV possible pour saisie en masse
  • IntĂ©grĂ© Ă  l'export navette Excel
đŸ€– Assistant IA
✍ Saisie en langage naturel

Dictez ou tapez vos absences et modifications en français courant. L'assistant détecte automatiquement le collaborateur, les dates, les heures et le type d'absence.

Exemples reconnus
  • « Fabiola est en CP du 2 au 6 juin »
  • « Matis a un arrĂȘt maladie jeudi »
  • « Laura prend un jour de rĂ©cup lundi »
  • « Alice a fait 2h sup ce mardi »
  • « Thomas est en formation semaine 22 »
  • « ClĂ©mence est en deuil vendredi »
Formats de dates compris
  • « du 2 au 6 juin » / « du 2/06 au 6/06 »
  • « lundi et mardi », « jeudi prochain »
  • « semaine 22 » / « cette semaine »
  • « tout le mois de juin »
  • « aujourd'hui », « demain », « hier »
  • « matin » (9h-12h30) / « aprĂšs-midi » (14h-18h30)
Types d'absence reconnus automatiquement
${['CP — congĂ©s payĂ©s, vacances, poser un jour','Maladie — malade, arrĂȘt, mĂ©decin, enfant malade','Sans solde — SS, CNR, congĂ© sans paie','CET — rĂ©cupĂ©ration, repos compensatoire, recup','RTT','MaternitĂ© / PaternitĂ© / Parental','Formation — DPC, sĂ©minaire, e-learning, congrĂšs','École — alternance, BTS, examen, cours','Garde officine — permanence, astreinte','DĂ©cĂšs / Deuil — obsĂšques, enterrement','Jour fĂ©riĂ©'].map(t => `${t}`).join('')}
⚠ Si l'IA ne comprend pas tout

Quand une information est ambiguë ou manquante, l'action s'affiche avec un bandeau orange et un champ de complétion :

  • Collaborateur non reconnu → menu dĂ©roulant pour choisir parmi la liste
  • Type d'absence inconnu → menu dĂ©roulant avec tous les types disponibles
  • Dates manquantes → champs date de dĂ©but et de fin Ă  renseigner

Complétez les champs orange, puis cliquez Appliquer. Les actions sans infos manquantes s'appliquent immédiatement.

đŸ“· Import planning photo → JSON

Prenez une photo de n'importe quel planning papier ou écran et laissez Claude le transcrire automatiquement.

Marche Ă  suivre
  1. Aller dans Assistant IA → Import planning
  2. Cliquer 📋 Copier pour copier le prompt
  3. Ouvrir claude.ai sur un autre onglet
  4. Coller le prompt + joindre la photo du planning
  5. Copier le JSON généré par Claude
  6. Le coller dans la zone et cliquer Importer
Formats de planning compris
  • Grille jours × collaborateurs (classique)
  • Colonnes par collaborateur avec heures
  • Planning mural papier manuscrit
  • Export tableau depuis logiciel tiers
  • Planning avec initiales, prĂ©noms ou lettres
  • Multi-semaines sur une seule image
Le prompt injecte automatiquement
  • La liste de vos collaborateurs avec leur lettre et leur poste
  • La semaine ISO en cours pour contextualiser les dates
  • Des rĂšgles exhaustives pour tous les formats d'heures et d'absences
  • Des exemples concrets du JSON attendu
â„č L'import gĂšre aussi : les backticks ``` que Claude peut ajouter autour du JSON, les collaborateurs non identifiĂ©s (lettre "?" → avertissement), les notes de lecture IA et les pauses dĂ©jeuner.
đŸ”” Chips & codes couleur
A Chip normal — prĂ©sent selon la matrice
A Absent ce créneau (opacité réduite + barré)
A Présence ajoutée manuellement (contour vert)
🎓 Jour Ă©cole — heures payĂ©es, non dĂ©comptĂ©es
📚 📚 Jour formation — heures payĂ©es, non dĂ©comptĂ©es
Fond rouge = créneau absent (CP, maladie
)
🎹 Couleurs personnalisĂ©es par les employĂ©s

Chaque collaborateur peut choisir librement la couleur de sa pastille depuis l'onglet Profil ⚙ de l'application mobile. Cette couleur remonte automatiquement dans l'interface admin.

Flux automatique
  1. L'employĂ© ouvre Profil ⚙ sur son tĂ©lĂ©phone
  2. Il choisit une couleur dans la palette ou via le sélecteur libre
  3. La couleur est envoyée sur Supabase (profiles.couleur)
  4. Au prochain chargement de l'admin, elle apparaĂźt dans la fiche du collaborateur
  5. Un bandeau vert "Couleur proposée par l'employé" s'affiche avec un bouton Adopter
RÚgles de priorité
  • Admin — couleur dĂ©finie dans la fiche collab → prioritĂ© absolue
  • EmployĂ© — couleur choisie sur l'app → visible uniquement si l'admin n'en a pas dĂ©fini une
  • DĂ©faut — couleur fixe par lettre (A bleu, F rose, etc.)
  • Cliquer Adopter copie la couleur employĂ© dans la fiche et lui donne le statut admin
  • Le bouton ✕ dans la fiche rĂ©initialise vers la couleur dĂ©faut ou employĂ©
⚠ PrĂ©requis Supabase : les colonnes couleur et collab_lettre doivent exister dans la table profiles. Si le bouton Adopter n'apparaĂźt pas, exĂ©cuter dans le SQL Editor : alter table profiles add column if not exists couleur text; alter table profiles add column if not exists collab_lettre text;
☁ Sauvegarde & synchronisation

Les données sont sauvegardées automatiquement sur Supabase (base de données sécurisée). La synchronisation se déclenche à chaque modification et est accessible depuis n'importe quel appareil connecté à votre compte.

Sauvegarde automatique
  • DĂ©clenchĂ©e Ă  chaque action (absence, retrait, prĂ©sence
)
  • DonnĂ©es chiffrĂ©es et stockĂ©es sur Supabase
  • Accessibles sur tous vos appareils aprĂšs connexion
Annuler / Rétablir
  • Boutons ↩ Annuler et â†Ș RĂ©tablir dans la barre latĂ©rale
  • Historique des 50 derniĂšres actions
  • PortĂ©e locale Ă  la session (non persistĂ© aprĂšs rechargement)
đŸ’Ÿ Sauvegarde manuelle

TĂ©lĂ©charge un fichier PharmaPlanning_backup_YYYY-MM-DD.json contenant toutes vos donnĂ©es. Disponible via le bouton đŸ’Ÿ en haut de page ou dans la page Sauvegardes.

Pour restaurer : bouton 📂 Restaurer ou menu Sauvegardes → ↩ Restaurer.

📁 Sauvegarde automatique locale

GénÚre automatiquement un fichier planningofficine_backup_DATE_HHhMM.json dans un dossier de votre ordinateur à chaque ouverture de session. Les 10 derniÚres sauvegardes sont conservées.

Configuration et liste des sauvegardes : menu đŸ’Ÿ Sauvegardes dans la sidebar.

📁 Configurer la sauvegarde automatique

Choisissez un dossier sur votre ordinateur. Un fichier JSON sera créé à chaque session. Fonctionne uniquement sur Chrome et Edge (API File System Access).

Vérification

⚠ Fichier non chiffrĂ© — donnĂ©es en clair
Le fichier est lisible par quiconque y a accÚs (noms, salaires, contrats
). Stockez-le dans un dossier personnel non partagé, jamais sur un réseau ou cloud d'entreprise.
⚖ RĂšgles CCN Pharmacie appliquĂ©es

L'application applique automatiquement les rĂšgles de la Convention Collective Nationale de la Pharmacie d'Officine pour le calcul des majorations.

Heures supplémentaires
  • Au-delĂ  de 35h/sem pour les salariĂ©s Ă  temps plein
  • +25% de la 36e Ă  la 43e heure
  • +50% Ă  partir de la 44e heure
  • Dimanches travaillĂ©s : +50% sur les heures du jour
Heures complémentaires (temps partiel)
  • +10% sur les heures entre le contrat et 1/10 au-delĂ 
  • +25% au-delĂ  du 1/10 jusqu'Ă  35h
  • Seuils calculĂ©s sur la base mensuelle contractuelle
Collaborateurs "au réel" : ceux sans heures contractuelles définies ont leurs heures calculées à partir des présences effectives. Le détail semaine par semaine est généré via un calcul spécifique.
École / Alternance : les heures Ă©cole sont intĂ©grĂ©es dans le contrat de rĂ©fĂ©rence (35h). Les jours en alternance n'entraĂźnent aucune dĂ©duction sur les heures payĂ©es.
đŸ„ Ma Pharmacie

Cette section centralise toutes les informations de votre officine : identité, coordonnées, horaires d'ouverture, informations légales et médecine du travail. Elle influence directement l'affichage du planning.

📋 IdentitĂ© & LĂ©gal
  • Nom, adresse, tĂ©lĂ©phone, email, site web
  • Logo : importĂ© depuis votre ordinateur (max 600 Ko), affichĂ© dans la barre latĂ©rale
  • SIRET, FINESS, nom et RPPS du titulaire
  • CoordonnĂ©es du comptable
đŸ©ș MĂ©decine du travail
  • Nom du service de santĂ© au travail
  • NumĂ©ro d'adhĂ©rent
  • TĂ©lĂ©phone et adresse du service
  • Date du prochain suivi individuel renforcĂ©
🕐 Horaires d'ouverture — grille 7 jours
  • Toggle ouvert/fermĂ© par jour — les jours fermĂ©s grisent automatiquement la colonne correspondante dans le planning
  • CrĂ©neaux horaires : jusqu'Ă  3 crĂ©neaux par jour (matin, aprĂšs-midi, soirĂ©e), chacun avec une heure de dĂ©but et une heure de fin
  • Amplitude calculĂ©e automatiquement pour chaque jour (somme des durĂ©es de tous les crĂ©neaux)
  • Exemples : pharmacie fermĂ©e le lundi, ouverte le dimanche matin uniquement, amplitude split dĂ©jeuner

📅 Impact sur le planning

DÚs qu'un jour est marqué fermé dans les horaires, sa colonne dans la grille planning apparaßt en grisé (fond sombre + opacité réduite), quel que soit le contenu. Cela vous permet de visualiser immédiatement les jours non travaillés sans masquer les éventuelles présences saisies (ex : garde en fermeture exceptionelle).

đŸ’Ÿ Sauvegarde

Cliquez sur Enregistrer pour sauvegarder toutes les modifications. La page planning est automatiquement rechargée pour prendre en compte les nouveaux horaires.

🔐 SĂ©curitĂ© & double authentification (MFA)

PlanningOfficine utilise une double authentification (MFA) via Google Authenticator (ou toute app compatible TOTP). AprÚs avoir entré votre mot de passe, un code à 6 chiffres vous est demandé.

🔑 PremiĂšre connexion (ou code demandĂ©)
  1. Entrez votre adresse e-mail et mot de passe
  2. Ouvrez Google Authenticator sur votre téléphone
  3. Saisissez le code à 6 chiffres affiché
  4. Cochez « Se souvenir de cet appareil » si disponible
đŸ’Ÿ MĂ©morisation de l'appareil — 1 an
  • AprĂšs vĂ©rification, l'appareil est mĂ©morisĂ© 1 an dans le navigateur
  • Le code n'est plus demandĂ© lors des connexions suivantes sur ce navigateur
  • La mĂ©morisation est stockĂ©e localement (clĂ© pharma_trusted_
 dans le localStorage)
⚠ Pourquoi le code est-il demandĂ© Ă  nouveau ?
  • DonnĂ©es du navigateur effacĂ©es : si vous avez vidĂ© l'historique, les cookies ou le localStorage
  • Nouveau navigateur ou profil : Chrome ≠ Safari ≠ Firefox — chaque navigateur mĂ©morise sĂ©parĂ©ment
  • Safari sur iOS (ITP) : Safari supprime le localStorage aprĂšs 7 jours d'inactivitĂ© — entrez le code une nouvelle fois et la mĂ©morisation repart pour 1 an
  • RĂ©vocation manuelle : vous avez cliquĂ© sur « RĂ©voquer » dans le panneau SĂ©curitĂ©
  • Expiration : la mĂ©morisation expire aprĂšs 1 an
🔒 RĂ©voquer la mĂ©morisation d'un appareil

Cliquez sur le bouton 🔐 SĂ©curitĂ© dans la barre supĂ©rieure de l'application. Le panneau affiche si l'appareil actuel est mĂ©morisĂ© et propose un bouton RĂ©voquer la mĂ©morisation de cet appareil. Utile si vous changez d'ordinateur, perdez un appareil, ou souhaitez forcer la re-vĂ©rification.

🛠 Diagnostic (console navigateur)

Pour vĂ©rifier si l'appareil est mĂ©morisĂ©, ouvrez la console du navigateur (F12 → onglet Console) et tapez :

Object.keys(localStorage).filter(k => k.startsWith('pharma_trusted'))

Si la liste est vide, l'appareil n'est pas mémorisé. Un résultat non vide signifie que la mémorisation est active.

Mois Ă  auditer
Charte couleurs alignée sur la vue Mois
⚠ Anomalies dĂ©tectĂ©es
Sélectionne un mois et clique Actualiser.