# Planification — Extension EasyVista Canton de Vaud Extension Chrome / Firefox pour visualiser de manière claire et rapide le planning EasyVista de l'équipe technicienne DGNSI (Canton de Vaud). > 📖 **Documentation utilisateur complète** : [wiki](https://gitea.netaplaid.ch/FroSteel/Planification/wiki) ([Home](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Home) · [Utilisation](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Utilisation) · [Versions](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Versions) · [Architecture](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Architecture) · [Dépannage](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/D%C3%A9pannage) · [Contact](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Contact)) ## Aperçu rapide - **Auteur** : Quentin Rouiller (QRO), Technicien DGNSI — Canton de Vaud - **Public cible** : coordinateurs DGNSI qui pilotent dans EasyVista (`itsma.etat-de-vaud.ch` / `itsma.vd.ch`) le planning de l'équipe technicienne - **Démarrage projet** : jeudi 16 avril 2026 - **Version actuelle** : [`v2026.5.45`](https://gitea.netaplaid.ch/FroSteel/Planification/releases/tag/v2026.5.45) (latest) - **Contact** : voir [page wiki Contact](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Contact) ou [ouvrir une issue](https://gitea.netaplaid.ch/FroSteel/Planification/issues/new) - **Manifest** : V3 (Chrome/Edge/Firefox 140+) - **Format** : `.zip` (Chromium) + `.xpi` signé Mozilla (Firefox) - **Distribution** : auto-update natif Firefox via `firefox-updates.json` ## Installation rapide ### Firefox 🦊 (recommandé — auto-update) 1. Télécharger le `.xpi` signé depuis la **[release courante](https://gitea.netaplaid.ch/FroSteel/Planification/releases/latest)**. 2. Drag-and-drop dans `about:addons` de Firefox. 3. Cliquer "Ajouter". À partir de là, l'extension se met à jour **automatiquement** à chaque nouvelle version (vérification toutes les ~24 h via `firefox-updates.json`). ### Chrome / Edge / Brave 🌐 (manuel) 1. Télécharger le `.zip` depuis la **[release courante](https://gitea.netaplaid.ch/FroSteel/Planification/releases/latest)**. 2. Décompresser dans un dossier permanent. 3. `chrome://extensions/` (ou `edge://extensions/`) → activer **Mode développeur** → "Charger l'extension non empaquetée" → sélectionner le dossier décompressé. Les mises à jour sont **manuelles** : à chaque nouvelle release, retélécharger le `.zip`, écraser le dossier, puis cliquer ⟳ (Recharger) sur la carte de l'extension. ➡ Pour le détail complet (stockage, désinstallation, comparatif), voir [wiki Utilisation → Installation et navigateurs](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Utilisation#installation-et-navigateurs). ## Fonctionnalités principales ### Vue planning - Affichage des interventions et réservations groupées par technicien - Horaires, contact, lieu, catégorie, statut visibles d'un coup d'œil - Équipe configurable depuis le panel admin (détection automatique via EasyVista) - Cache local pour réduire les requêtes serveur ### Modes d'affichage - **Vue classique** (depuis v1.0.0) : cards en grille, mode compact écran 24" (depuis v2026.5.30) - **Vue horizontale** (depuis v2026.5.32) : timeline par tech, sidebar verticale (depuis v2026.5.36) - Depuis v2026.5.40 : barre couleur catégorie + référence + ville sur chaque segment timeline - Toggle Vue classique ↔ Vue horizontale via bouton ⊞ dans popup user-badge - Persistance localStorage (`view_mode`) ### Tooltips et popups - Tooltips au survol (hover) sur chaque intervention - Popups épinglables (📌) pour garder ouvert (depuis v4.1.3) - Popups timeline persistantes au clic (depuis v4.2.3) - Drag-and-drop des popups épinglés (depuis v2026.5.19) - Safe area : popups jamais cachés sous topbar/dock (depuis v2026.5.20) - Position auto adaptative (4 candidats : droite/gauche/dessous/dessus) ### Classification des absences (depuis v2026.5.27) - **Maladie/Accident** : indigo `#4338ca` - **Congé / Congés** : cyan `#06b6d4` (suffixe `s` adaptatif) - **Pompier** : rouge `#b03030` - Badge + barre gauche colorée + dégradé fond - Absences récurrentes (configurées par tech) : cyan (depuis v2026.5.30) ### User et session - Badge user avec photo/initiales en topbar - Badge cliquable (depuis v2026.5.26) : popup avec ⚙ Paramètres + ⊞ Vue + compteur session MM:SS - Retry automatique en cas d'échec fetch user (60s, max 10 essais) - Compteur de session EasyVista (tick 1s, depuis v5.0.0) - Reconnexion automatique ### Admin et configuration - Mode admin : bouton ⚙ Paramètres dans popup user-badge (depuis v2026.5.25) - Configuration persistée dans `chrome.storage.local` (`admin_config`) - Sélecteur de groupe EasyVista (SI-CSS, SI-EXT, …) en tête de l'onglet Équipe (depuis v2026.5.40) — détection automatique via le `` de la page Planning EV. Robuste aux ajouts/renommages côté EV. - ID groupe affiché en italique (ex: `ID groupe : 191`). - Quand on change de groupe, la liste d'équipe se rafraîchit automatiquement avec les membres du nouveau groupe. - Plus de bouton "Détecter" : tout est auto à l'ouverture. - Tri double des techniciens : inclus d'abord, puis exclus, alphabétique dans chaque sous-groupe. - **Onglet EasyVista** : édition manuelle des deux domaines (interne DGNSI / externe Internet), bouton Réinitialiser, normalisation auto des URLs. - **Onglet Statuts retiré** (placeholder lecture-seule). - **Vue horizontale enrichie** : chaque segment timeline contient désormais une barre verticale couleur catégorie à gauche, la référence (ex: `SYYMMDD_NNNNN`) en gras, et la ville en gris muted. Hauteur passée de 22px à 32px. - **Réorganisation interne du repo** : `src/` pour les sources, `dist/` généré, `Autres/` pour build.sh + meta files (LICENSE, README, CHANGELOG), `Builds/` pour les artefacts distribués. ### `v2026.5.39` — Séparation Matin / Après-midi + Apparence - Pills "MATIN" / "APRÈS-MIDI" entre les interventions de chaque tech - Section **Apparence** dans les paramètres : thème, taille du texte, durée du cache, heures de la journée ➡ Pour l'historique complet (40+ versions depuis le 16 avril 2026), voir le **[CHANGELOG.md](CHANGELOG.md)** ou la **[page wiki Versions](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Versions)**. ## Architecture technique ``` Planification/ # Layout du repo Gitea (public) ├── src/ # Sources de l'extension (chargées par le navigateur) │ ├── manifest.json # Manifest V3 (Chrome) + browser_specific_settings (Firefox) │ ├── background.js # Service worker (~1 600 lignes) │ ├── viewer.html # Interface principale │ ├── viewer.js # Logique UI (~10 700 lignes) │ ├── viewer.css # Styles + thèmes clair/sombre (~4 800 lignes) │ └── icons/ # icon16, icon48, icon128 ├── build.sh # Génère dist/chromium/, dist/firefox/, .zip, .xpi, met à jour firefox-updates.json ├── firefox-updates.json # Manifest auto-update Firefox (servi via update_url) ├── README.md ├── CHANGELOG.md ├── LICENSE # MIT └── .gitignore ``` ➡ Pour le détail des composants, fonctions clés et flux de données, voir la **[page wiki Architecture](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Architecture)**. ## Développement ```bash git clone https://gitea.netaplaid.ch/FroSteel/Planification.git cd Planification # Modifier les sources dans src/ # Bumper src/manifest.json + entrée CHANGELOG.md ./build.sh # → dist/chromium/, dist/firefox/, dist/*.zip, dist/*.xpi # → firefox-updates.json mis à jour (sha256 .xpi NON SIGNÉ) git add -A git commit -m "vYYYY.M.PATCH — description" git tag vYYYY.M.PATCH git push origin main vYYYY.M.PATCH ``` Pour Firefox : signer le `.xpi` sur AMO en mode "On your own" (Unlisted), remplacer l'asset `.xpi` de la release Gitea, puis mettre à jour le sha256 de cette version dans `firefox-updates.json`. ## Licence [MIT License](LICENSE) — Copyright (c) 2026 Quentin Rouiller ## Auteur **Quentin Rouiller** (QRO) Technicien DGNSI — Canton de Vaud Contact : voir [page wiki Contact](https://gitea.netaplaid.ch/FroSteel/Planification/wiki/Contact)