Update v2026.5.41 — onglet Apparence (bouton Appliquer heures, thème unifié), Équipe (1er install vide), EasyVista (permissions runtime), conflits absence/réservation

2026-04-27 02:14:05 +02:00
parent 2755b0dc1f
commit 3893a08f4e
+33 -8
@@ -208,22 +208,24 @@ Accès via le bouton **⚙ Paramètres** dans le popup user-badge (clic sur les
Le panel est divisé en 5 sections (depuis v2026.5.40 — la section "Statuts" a été retirée, c'était un placeholder) :
### 1. Apparence
- **Thème** : Auto (selon l'OS) / Clair / Sombre
- **Durée du cache** : combien de jours conserver les anciennes données (défaut 7). Au survol du champ, l'emplacement physique du cache sur le disque s'affiche en infobulle (varie selon Chrome / Firefox + Mac / Windows / Linux)
- **Taille du texte** : slider 5 paliers (70%, 85%, 100%, 110%, 120%) — le zoom s'applique quand on relâche le curseur (pas pendant le drag, pour éviter l'effet yo-yo)
- **Heures de la journée** : plage horaire affichée sur la timeline (défaut 8h - 18h)
- **Thème** : Auto (selon l'OS) / Clair / Sombre. Depuis v2026.5.41, ce sélecteur est **synchronisé avec le toggle 🌙/☀️ de la topbar** : cliquer le toggle bascule en clair/sombre ET met à jour le sélecteur, ils ne peuvent plus se désynchroniser. Le mode "Auto" suit `prefers-color-scheme` du navigateur et bascule en live quand l'OS change de thème.
- **Durée du cache** : combien de jours conserver les anciennes données (défaut 7). Au survol du champ, l'emplacement physique du cache sur le disque s'affiche en infobulle (varie selon Chrome / Firefox + Mac / Windows / Linux).
- **Taille du texte** : slider 5 paliers (70%, 85%, 100%, 110%, 120%) — le zoom s'applique quand on relâche le curseur (pas pendant le drag, pour éviter l'effet yo-yo).
- **Heures de la journée** : plage horaire affichée sur la timeline ET envoyée aux requêtes EasyVista (défaut 8h - 18h). Depuis v2026.5.41, **bouton ✓ Appliquer** explicite : modifier les heures n'a aucun effet tant que tu ne valides pas. À l'application : toast de confirmation + refetch automatique du planning du jour avec les nouvelles bornes.
### 2. Équipe
- **Sélecteur de groupe EasyVista** (depuis v2026.5.40) — en tête de section, choisit quel groupe EV est affiché (SI-CSS, SI-EXT, …). La liste est détectée **automatiquement** à l'ouverture de la section, en parsant le `<select id="plan_group_id">` de la page Planning EV. Si le DGNSI ajoute un nouveau groupe ou en renomme un, ça apparaît tout seul (pas besoin de mettre à jour l'extension).
- ID du groupe affiché en italique à côté du sélecteur (ex: `ID groupe : 191`).
- **Quand on change de groupe**, la liste de techniciens en dessous se rafraîchit automatiquement avec les membres du nouveau groupe — il n'y a plus aucun bouton "Détecter" à cliquer, tout est instantané.
- **Tableau des techniciens** (cases à cocher pour inclure/exclure dans la planification, jours d'absence récurrente du lundi au vendredi).
- **Tri double automatique** (depuis v2026.5.40) : les techs **inclus** sont d'abord, puis les **exclus**, et alphabétique dans chaque sous-groupe. Le tri se fige tant que tu travailles dans le tableau (toggler une case ne fait pas sauter la ligne) ; il se rafraîchit à la prochaine ouverture de la section.
- **Tableau des techniciens** (cases à cocher pour inclure/exclure dans la planification, jours d'absence récurrente du lundi au vendredi). **Au 1er install (v2026.5.41)** : tableau vide tant que rien n'est coché, et **aucune absence récurrente** présélectionnée — c'est à toi de configurer ton équipe la première fois.
- **Tri double automatique** : les techs **inclus** sont d'abord, puis les **exclus**, et alphabétique dans chaque sous-groupe. Le tri se fige tant que tu travailles dans le tableau (toggler une case ne fait pas sauter la ligne) ; il se rafraîchit à la prochaine ouverture de la section.
- **💾 Enregistrer** : application immédiate sans demander de recharger. Le planning se met à jour tout de suite avec les nouveaux techs cochés ; toast "Config enregistrée" affiché au-dessus du flou du panel.
### 3. EasyVista
- **Domaine interne (DGNSI)** — par défaut `https://itsma.etat-de-vaud.ch`, c'est le domaine accessible depuis le réseau interne du Canton.
- **Domaine externe (Internet)** — par défaut `https://itsma.vd.ch`, accessible depuis l'extérieur via SSO.
- Modifier ces champs uniquement si EasyVista change d'URL. Bouton **💾 Enregistrer** (l'`https://` est ajouté automatiquement si tu l'oublies, le slash final est retiré). Bouton **↺ Réinitialiser** pour revenir aux valeurs par défaut.
- **v2026.5.41** : si tu saisis un domaine **autre que les deux par défaut**, le navigateur ouvre une popup pour te demander la permission d'accéder à ce domaine. Sans cet accord, le service worker ne peut pas y fetcher de données. Refus → toast d'avertissement, tu peux retenter en cliquant à nouveau sur Enregistrer.
- Les valeurs par défaut restent codées en dur dans l'extension comme filet de sécurité — on ne peut pas se planter au point de tout casser.
### 4. Diagnostics
@@ -241,8 +243,31 @@ Version, auteur, affiliation, licence MIT, lien vers le code source (pour les pe
## Cas particuliers
### Pillonel Olivier — absent le vendredi
Le tech Pillonel Olivier (ID 40944) est configuré comme **absent récurrent tous les vendredis**. Sa carte affiche "Absent le vendredi" avec un badge **cyan** (différent du rouge pompier).
### Premier lancement (depuis v2026.5.41)
Au premier démarrage après installation, **aucun technicien n'est sélectionné** et **aucune absence récurrente n'est configurée**. Le viewer affiche le message :
> *"Aucun technicien sélectionné. Ouvrez ⚙ Paramètres → Équipe pour choisir le groupe EasyVista et cocher les techniciens à afficher."*
Procédure :
1. Ouvre EasyVista dans un onglet (interne ou externe), connecte-toi.
2. Clique sur la pastille des initiales en haut à gauche de l'extension → **⚙ Paramètres → Équipe**.
3. Le sélecteur "Groupe EasyVista" se peuple automatiquement (SI-CSS / SI-EXT / …). Choisis le tien.
4. Le tableau des techniciens du groupe se peuple automatiquement aussi. Coche ceux qui doivent apparaître dans la planification.
5. (Optionnel) Si l'un d'eux est absent récurrent un jour de la semaine (ex: Pillonel Olivier le vendredi), coche le jour dans la colonne "Absences récurrentes".
6. Clique **💾 Enregistrer**. Le planning se met à jour immédiatement.
Tes choix sont **persistés dans `chrome.storage.local`** et survivent aux mises à jour d'extension — pas besoin de reconfigurer à chaque nouvelle version.
### Conflits absence/réservation × intervention (depuis v2026.5.41)
Si un technicien est marqué **absent** (toute la journée ou demi-journée) ou a une **réservation** au moment où une intervention lui est attribuée, sa carte d'intervention apparaît **en rouge plein** avec texte blanc. Logique :
- Absent toute la journée → **toutes** ses interventions du jour en rouge.
- Absent demi-journée (ex: 08-12) → **seules** les interventions de cette plage en rouge.
- Réservation 14h-16h → seule l'intervention qui chevauche en rouge.
Cela permet de repérer immédiatement les conflits d'affectation.
### Absences récurrentes
Un tech peut être marqué comme absent récurrent un ou plusieurs jours de la semaine via Paramètres → Équipe (cases à cocher Lun-Mar-Mer-Jeu-Ven). Ce jour-là, sa carte affiche "Absent le \<jour\>" avec un badge **cyan** (différent du rouge pompier). Si des interventions lui sont quand même attribuées ce jour-là, elles apparaissent en rouge plein (cf. paragraphe précédent).
### Tickets fantômes (disparus du planning)
Quand un ticket disparaît entre deux rafraîchissements (clôturé, déplacé, etc.), l'extension affiche son statut final :