-
released this
2026-09-29 13:18:02 +02:00 | 1 commits to main since this releaseChangements
Correctif urgent : depuis le 29 septembre 2026, le texte complet des actions ne s'affichait plus. EasyVista renvoie désormais les actions avec une cellule de moins, et l'extension les lisait par position. Elle les retrouve maintenant par leur contenu. Cette version ajoute aussi deux catégories de réservation.
Texte des actions
- Texte complet des actions rétabli dans les bulles et les fiches, avec l'ancien comme avec le nouveau format d'EasyVista.
- Plus robuste aux prochains changements : la description est repérée par le nom de sa colonne, et l'identifiant de l'action par son contenu, plus par leur position.
- Changement de format signalé : si EasyVista modifie encore la structure au point qu'aucune action ne soit lisible, un avertissement apparaît dans la console (une seule fois, sans aucune donnée personnelle). Les fiches ou historiques qui ne se chargent pas sont aussi signalés dans la console.
Réservations
- Deux nouvelles catégories : Roll Out et Déménagement. Elles sont propres à la Planification : dans EasyVista, la réservation reste « Evènements spéciaux ». Elles sont partagées entre tous les postes par le dossier partagé, comme le n°, la ville et la rue.
- Catégorie proposée à la saisie du n° : le n° d'une intervention Roll Out propose Roll Out.
- Catégorie inconnue conservée : une catégorie posée par une version plus récente n'est plus effacée quand on modifie la réservation.
Déploiement
- Mettre à jour tous les postes le même jour. Un poste resté en 2026.5.49 qui modifie une réservation Roll Out ou Déménagement effacerait cette catégorie sur tous les postes.
Fichiers
Fichier Pour planification-native-host.zipScript Windows de synchronisation entre postes (facultatif) planification-v2026.5.50-chromium.zipChrome et Edge, à charger en mode développeur planification-v2026.5.50-firefox.xpiFirefox 140 ou supérieur, signé par Mozilla Downloads
-
released this
2026-09-01 15:24:30 +02:00 | 5 commits to main since this releaseChangements
Cette version renforce la sécurité quand aucune session EasyVista n'est active, clarifie l'onglet Email (déplacement et annulation bien séparés, aperçu de la copie), améliore la lecture du planning au défilement (le nom du technicien, son compteur et la frise horaire restent visibles), et corrige l'affichage de la reconnexion ainsi que plusieurs comportements de la synchronisation et des réservations.
Sécurité et confidentialité (sans session EasyVista)
- Aucune écriture dans le dossier partagé sans session active : tant que vous n'êtes pas identifié dans EasyVista, l'extension travaille sur le cache local seul et ne touche plus au dossier partagé. Un ancien cache reste consultable, mais il n'est plus alimenté ni relu depuis le partage.
- Aucune modification sans session active : déplacement d'intervention, suppression, création ou édition d'absence, réservation : tout est bloqué proprement tant que la session n'est pas rétablie, avec un message clair. Cela évite d'écrire des données incohérentes qui seraient ensuite propagées aux autres postes.
Onglet Email clarifié
- Déplacement et annulation séparés : l'onglet Email présente désormais deux sections distinctes (déplacement d'une intervention / annulation-suppression), chacune avec sa case d'activation et son propre modèle de message.
- Copie (CC) commune avec aperçu en direct : un bloc « Copie (CC) » en tête montre, sous forme de puces, les adresses effectivement retenues (les adresses invalides sont barrées) : vous voyez immédiatement à qui la copie sera envoyée.
- Variables cliquables en colonnes pour les deux modèles (déplacement et annulation), rangées par thème pour une insertion rapide.
Lecture du planning au défilement (vue classique)
- En-tête de carte collant : quand vous faites défiler une carte, le nom du technicien, son nombre d'interventions et la frise horaire restent visibles en haut : plus besoin de remonter pour savoir de qui il s'agit.
- Survol d'une pause : passer la souris sur une pause met la frise horaire en évidence (sans faner les interventions), pour bien distinguer le créneau libre.
Affichage et reconnexion fiabilisés
- La bannière « Session EasyVista expirée » s'affiche au bon endroit (dans le corps, sous la barre de recherche) et uniquement quand de vraies cartes sont affichées ; sinon un message centré prend la place du planning. Plus de fausse bannière au-dessus d'un écran vide.
- Plus de bulles de techniciens vides : lors d'un rafraîchissement automatique alors que la session est morte, l'extension détecte la page de connexion EasyVista et évite d'afficher une équipe vide.
- La barre de progression ne recouvre plus le nom du technicien pendant un rafraîchissement lorsqu'on a fait défiler.
Corrections
- Noms de contact nettoyés : les caractères parasites (« ? » et caractères de remplacement) parfois collés aux noms venant d'EasyVista sont retirés.
- Deux interventions du même technicien le même jour (deux actions distinctes) s'affichent désormais chacune sur sa propre carte, sans en perdre.
- Caractères parasités depuis EasyVista (dans les libellés d'intervention, contacts, lieux) corrigés à la source.
- Indicateur d'écart d'adresse remis à jour après correction : actualiser une intervention dont l'adresse a été corrigée retire bien l'alerte.
Fichiers
Fichier Pour planification-v2026.5.49-chromium.zipChrome et Edge, à charger en mode développeur planification-v2026.5.49-firefox.xpiFirefox 140 ou supérieur, signé par Mozilla Downloads
-
released this
2026-07-24 02:34:23 +02:00 | 6 commits to main since this releaseChangements
Après le déplacement d'une intervention (autre jour ou autre technicien), l'extension peut ouvrir un brouillon d'email pré-rempli dans votre application mail pour prévenir les techniciens concernés : l'envoi reste un geste manuel. Elle corrige aussi la circulation des informations de réservation entre postes, le bouton de reconnexion quand il n'y a aucun cache, et plusieurs comportements de la recherche.
Email après un déplacement (nouveau)
- Brouillon automatique : après un déplacement vers un autre jour ou un autre technicien (fenêtre de modification ou glisser-déposer), un brouillon pré-adressé aux deux techniciens s'ouvre dans l'application mail (ex. Outlook). Un simple ajustement d'heures n'ouvre rien. Rien n'est envoyé automatiquement.
- Case « Prévenir les techniciens par email » dans les fenêtres de déplacement : quand l'option est active, la décocher ne vaut que pour ce déplacement-là : le prochain déplacement la retrouve cochée. L'option ne se désactive durablement que dans les Paramètres.
- Destinataires séparés par « ; » (compatibilité Outlook) ; si une adresse manque, le brouillon s'ouvre quand même, à compléter directement dans l'email (une notification indique qui manque).
- Nouvel onglet « Email » dans les Paramètres : option, et modèle du message entièrement personnalisable (sujet + texte), avec variables cliquables rangées par thème (Intervention / Avant / Après) et aperçu en direct sur un exemple. Le modèle de base présente le déplacement en deux blocs AVANT / APRÈS bien lisibles.
- Adresses des techniciens dans l'onglet Équipe (colonne Email, boutons au-dessus de la liste) : bouton « Récupérer les emails » qui remplit les adresses manquantes depuis l'annuaire EasyVista, et complète au passage un nom affiché tronqué, avec un garde-fou contre les homonymes. Une adresse saisie à la main n'est jamais écrasée. Champ vide = adresse proposée
prenom.nom@domaine(domaine réglable au même endroit, appliqué à tous).
Informations de réservation fiables entre postes
- Les informations saisies sur une réservation (n° d'intervention, ville, rue, catégorie) voyagent désormais avec la réservation dans le dossier partagé, horodatées : la modification la plus récente gagne, sur tous les postes.
- Fin des « fuites » d'informations : une réservation posée par un autre coordinateur ne récupère plus les infos d'une réservation précédente au même créneau, un identifiant recyclé par EasyVista ne fait plus hériter les infos d'un autre technicien, et un champ volontairement vidé ne « ressuscite » plus.
- Une réservation re-planifiée directement dans EasyVista conserve ses informations quand le rapprochement est sans ambiguïté.
- Divers : le pompier du jour n'est plus compté en double dans les statistiques ; « réservé toute la journée » se calcule sur les heures affichées ; les champs pré-remplis du formulaire ne sont plus écrasés par le remplissage automatique.
Reconnexion et recherche
- Bouton « Ouvrir EasyVista » (écran « Session expirée » sans aucun cache) : après la reconnexion, l'écran se ferme réellement et le planning s'affiche ; re-cliquer relance le chargement au lieu d'être ignoré.
- Recherche : la recherche part de façon fiable quand on arrête de taper (les relances au survol ne l'interrompent plus), Entrée lance la recherche immédiatement, la roue de chargement est visible dès le début, déplier « Planifiée (passé) » ne ferme plus la zone de résultats, et seuls les statuts Clôturé / Fait sont affichés sur les résultats.
Fichiers
Fichier Pour planification-native-host.zipScript Windows de synchronisation entre postes (facultatif) Aucun paquet de l'extension n'est joint à cette version : l'extension s'installe depuis la dernière publication.
Downloads
-
released this
2026-07-18 23:17:58 +02:00 | 7 commits to main since this releaseChangements
Cette version peaufine la vue horizontale « échelle de temps exacte » : un retour visuel accompagne la pose d'un rendez-vous ou d'une absence, et les erreurs de saisie (rendez-vous dont le début est égal à la fin) sont désormais bien visibles et signalées. Elle corrige aussi plusieurs problèmes de navigation entre dates et de synchronisation du dossier partagé, réorganise le panneau de synchronisation, et ajoute un bouton de test de la communication avec le script du poste.
Vue « échelle de temps exacte » : aide à la saisie
- Retour visuel au survol d'un créneau libre : une zone surlignée suit la souris et affiche l'heure exacte (début → fin) du rendez-vous ou de l'absence qu'un clic droit poserait. Une bulle fixe, en haut de la ligne, rappelle la plage libre et la durée disponible du créneau (« Libre 12:00–18:00 / 6 h disponible »). Elle se place toujours sur un espace libre, jamais par-dessus un rendez-vous, et ne masque pas l'heure choisie.
- Erreurs de saisie mises en évidence : un rendez-vous dont le début est égal à la fin (ex. 10:00 → 10:00) est désormais affiché en rouge et reste visible (avant, il disparaissait sur l'échelle exacte). Survoler une telle zone pour en poser un autre affiche un avertissement et empêche la création tant que l'erreur n'est pas corrigée.
- Interventions courtes visibles : une intervention de 1 à 5 minutes garde une largeur minimale et reste visible.
- Zone du nom : le fond du nom du technicien remplit toute la hauteur de la ligne (nom centré).
- Barre des heures : reste collée en haut au défilement et passe sous la banderole de reconnexion (au lieu de disparaître derrière).
Corrections de fiabilité
- Navigation rapide entre dates : le jour que l'on quitte ne peut plus écraser le jour qui vient de s'afficher.
- Technicien retiré de l'équipe : n'apparaît plus sur les jours relus depuis le dossier partagé.
- Synchronisation du dossier partagé : correction d'un blocage où l'écriture n'aboutissait jamais (conflit permanent entre l'index et le fichier relu) ; l'index se répare de lui-même.
- Jour présent au dossier mais pas en local : lu depuis le dossier d'emblée : plus de re-remplissage visible inutile.
- Absences : plus de doublon « absence récurrente » + « vraie absence » le même jour ; le fond des cartes d'absence remplit toute la carte en échelle exacte.
- Réservations multiples le même jour : les deux créneaux coexistent ; saisir le n° d'intervention dans le formulaire remplit automatiquement ville, rue et catégorie.
- Barre de progression et message de reconnexion : bien positionnés en vue horizontale (barre en haut de la sidebar, message centré dans le contenu).
Synchronisation multi-postes
- Nouveau bouton « Tester la communication » (onglet Synchro) : diagnostic de bout en bout extension → script du poste → dossier partagé.
- Panneau Synchro réorganisé en sections claires : état de la synchro, dossier partagé, script sur le poste, journal d'activité.
- Script du poste (native messaging host) 2026.1.8 : verrou dédié sur l'index du dossier partagé (protège l'écriture simultanée par plusieurs postes ou onglets) et icône de la zone de notification ré-affichée au redémarrage de l'explorateur Windows. Le bouton « Télécharger le script » récupère cette version.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
-
released this
2026-07-09 16:21:59 +02:00 | 8 commits to main since this releaseChangements
Version majeure par son contenu : la couche données est entièrement refondue (store unifié par jour, un seul verdict par intervention, synchronisation du dossier partagé en sous-dossier
v2), une nouvelle disposition « échelle de temps exacte » s'ajoute à la vue horizontale, la détection de session EasyVista est fiabilisée de bout en bout, et les réservations portent leurs informations (n°, lieu, catégorie) sur tous les postes. Le script PowerShell du dossier partagé est désormais publié avec l'extension et téléchargeable depuis les Paramètres.Couche données v2 (refonte complète)
- Un store par jour (
planv2_<date>) : liste plate d'interventions dédoublonnées par identité stable (requestId > actionId > réf) : la seule source de vérité ; le rendu, le cache local, le dossier partagé et EasyVista n'en sont que des projections ou des sources. - Un seul verdict par intervention (
live / done / suspended / closed / gone / moved / unknown) qui remplace les anciens marqueurs dispersés (ghost, statuts de disparition, diagnostics). - Une seule fusion (modèle vie/mort) utilisée partout : EV↔store, local↔dossier, import. Une vie strictement postérieure à une mort lève les tombstones (réapparition EV autoritaire).
- Dossier partagé : transport natif inchangé (verrous + écriture atomique + compare-and-swap), fichiers v2 dans le sous-dossier
v2du partage : les postes en ancienne version n'interfèrent plus. Ordre des sources refondu : EasyVista s'affiche immédiatement, le dossier habille les cartes sans re-télécharger, le fetch ne traite que ce qui manque, l'enrichissement est repoussé au dossier en fin de chargement. - Les interventions déplacées par l'extension portent un verdict « déplacée » propagé (plus d'analyse inutile), avec fenêtre anti cache-serveur EV.
- Les disparues en attente de verdict restent affichées (grisées, spinner) au lieu de disparaître puis réapparaître.
- Outil réservé à l'auteur (onglet Test) : conversion de l'ancien cache dossier v1 vers le modèle v2, sans modifier les anciens fichiers.
- Les anciens caches (
planning_cache_*) sont purgés au démarrage.
Vue horizontale : nouvelle disposition « échelle de temps exacte »
- Nouvelle option dans Paramètres → Apparence (exclusive avec « Afficher les pauses » : cocher l'une décoche l'autre). La vue par défaut reste inchangée.
- Le bandeau timeline disparaît : chaque intervention/réservation/absence partielle est posée en position réelle sur une bande continue de la plage affichée (position et largeur proportionnelles à l'heure et à la durée).
- Règle des heures fixe en haut (reste collée au défilement), lignes verticales continues sur toute la hauteur du tableau : trait net à chaque heure, pointillé discret aux demi-heures, césure rayée à midi ; les traits passent derrière les bulles et sautent les techniciens absents.
- Ligne rouge « maintenant » continue sur toute la hauteur (jour courant), reposée instantanément à chaque rendu ; elle saute aussi les absents.
- Chevauchements : les éléments qui se recouvrent s'empilent en sous-lignes de même hauteur : la zone du technicien s'agrandit seulement dans ce cas ; tolérance de 10 minutes pour ne pas empiler de simples enchaînements.
- Cartes : fond neutre, le bord gauche porte la couleur de catégorie et sert de poignée (cliquer = fenêtre de modification, glisser = déplacer ; présente sur toutes les cartes, déplacement bloqué pour les faites/clôturées, réservations et absences). Numéro d'intervention en tête, ville + adresse groupées ; cartes étroites : texte compact (ville + fin d'adresse, « Rue de l'Exemple 5 » → « Exemple 5 »), jamais vides tant qu'il reste de la place.
- Réservations : affichent sous l'intitulé le lieu renseigné à la création, sinon le nom de la personne qui a réservé.
- Zones libres : survol = « Libre HH:MM–HH:MM » (y compris sur les journées totalement vides), clic droit = Réservation/Absence à l'heure du curseur, dépôt du drag précis (pas de 30 min) avec marqueur vert sur toute la bande.
- Alignement règle/cartes mesuré au pixel réel (indépendant du zoom et de la taille de texte).
Session EasyVista fiabilisée (fin des faux « déconnecté »)
- Cookie réécrit ≠ supprimé : le navigateur émet toujours une « suppression » technique juste avant de reposer un cookie mis à jour : l'extension basculait à tort en « session expirée » à chaque rafraîchissement du PHPSESSID (permission cookies active). Désormais ignoré ; une vraie suppression attend 3 s (relog possible) puis vérifie au serveur avant d'alarmer.
- Expiration sur preuve uniquement : une erreur transitoire (réseau, HTTP 5xx) ne déclenche plus la bannière : seule une preuve le fait (page de login à la sonde, temps restant nul, plus aucun PHPSESSID) ; sinon nouvel essai dans 30 s.
- Onglet EasyVista facultatif avec la permission cookies : le cookie suffit aux requêtes ; fermer l'onglet EV ne « perd » plus la session.
- Contre-vérification HTTP : avant de classer un 401/403/404 en « session expirée », l'endpoint d'autorité
session_timeest sondé ; si la session vit, l'erreur est reclassée « EV inaccessible » (transitoire). - Compteur calé sur le serveur : recalage périodique sur la vraie valeur EasyVista (au démarrage, toutes les 90 s, au retour de visibilité), plus de recalage erroné sur l'expiration du cookie ; badge session en direct (MM:SS) avec « Prolonger la session » dans le popup.
Réservations
- Modal enrichie : préréglages Matin/Après-midi/Journée puis heures ; champs n° d'intervention, ville, rue, catégorie ; recherche automatique des informations dans EasyVista à partir du n° (catégorie et localisation pré-remplies).
- Meta persistante et partagée : ces informations survivent aux rafraîchissements (EV ne les stocke pas) et remontent désormais au dossier partagé : tous les postes voient le n°, le lieu et la catégorie d'une réservation, quel que soit le poste qui l'a créée ou modifiée.
- Édition d'une réservation (heures ou infos seules), suppression, tooltip détaillé avec ouverture/copie du n° lié.
Pompier
- Assignations « pompier du mois » : définition par période (bouton Ajouter → Pompier), affichage dans la barre de stats, liste des pompiers actuels/à venir, édition/déplacement de période.
- La bandelette « En pompier du … au … » reste fixée en haut de la carte ; un pompier absent toute la journée est exclu du compteur.
Coordinateur (en développement)
- Badge « Mes actions » dans la barre de stats + onglet dédié listant les interventions où le coordinateur a une action ; outil d'impersonation (réservé à l'auteur) pour tester.
Douchette
- Vraie confirmation EasyVista : l'envoi vérifie le marqueur de prise en compte renvoyé par EV : toast « confirmé par EasyVista » fiable.
- Resynchronisation automatique après un déplacement d'intervention (jour source + jour cible, regroupés si même jour), avec compte-rendu clair et relance possible.
Recherche
- Opérateurs : espace = tous les mots,
%joker,"expression exacte",-motexclusion,tech:/lieu:/ref:/cat:/contact:ciblage de champ. - Pagination 15 par 15 au défilement ; passé replié par défaut ; badge « Jour affiché » ; aide sur la syntaxe.
- Mise en avant stabilisée : « Jour ↗ » navigue et surligne la carte pendant 15 s, survit aux re-rendus, un seul défilement animé.
- La croix d'effacement native du navigateur (en doublon avec celle de l'extension) est masquée.
Interventions & affichage
- Multi-jours : badge pilule (« 📅 ⇢ 16/06 » / « ⇠ 12/06 »), heures d'affichage par jour, période complète au survol, déplacement bloqué (à modifier dans EasyVista).
- Conflit au déplacement : le modal de confirmation signale toute occupation du technicien cible (détail en rouge) et propose le créneau libre le plus proche (même durée) en un bouton.
- Vérification d'adresse : la localisation officielle de la fiche devient l'adresse affichée ; si elle diverge de celle écrite dans l'action, le lieu passe en rouge avec explication au survol (comparaison tolérante ; exception Roll Out).
- Contacts : deux numéros de téléphone dans une action ne sont plus collés à l'affichage (désormais « 021 000 00 84 / 079 000 00 21 ») ; labels de fiche collés au contact séparés proprement.
- Ouverture de fiche : les interventions faites/clôturées se rouvrent à nouveau dans EasyVista (le lien interne est régénéré via la référence).
- Sections Matin / Après-midi / « Journée » harmonisées sur les deux vues ; éléments chevauchant midi non découpés ; catégorie « Autre » en violet foncé (fini le gris confondu avec les cartes faites).
- Interventions « faites » plus ré-analysées à chaque actualisation (économie réseau).
Dossier partagé : script PowerShell publié
- Le script hôte (native messaging) est publié avec cette version et téléchargeable depuis Paramètres → Dossier partagé.
Qualité
- Nettoyage complet : fonctions mortes retirées, aucun doublon de code, tous les journaux passés au logger maison (console propre en production), plus aucun emoji dans les logs, marqueurs de révision internes retirés.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
- Un store par jour (
-
released this
2026-05-08 16:31:09 +02:00 | 9 commits to main since this releaseChangements
Refonte de l'expérience drag&drop avec dock latéral pour parquer des interventions entre les jours, fix critique du parser de fiches qui marquait à tort des interventions terminées comme annulées, résolution des 6 issues ouvertes (multi-onglets EZV, absences récurrentes, popups épinglés, pompier absent), et nombreux ajustements d'ergonomie.
Issues résolues
- #3 Coches « Absences récurrentes » : merge propre avec l'état stocké au lieu d'écrasement, les coches sont retenues lors d'un changement de groupe ou d'une réouverture des paramètres.
- #4 Perte de session EZV multi-onglets : permission optionnelle
cookies+ listenercookieChangedcôté background, toggle dans Paramètres → Diagnostics. La session reste valable même après reconnexion et fermeture d'un onglet EZV. - #5 Bouton de copie de référence dans une popup épinglée : handler
copy-refajouté. - #6 Popup épinglée au premier plan : clic sur une popup recalcule le z-index pour la passer au-dessus des autres.
- #7 Notification « +2 min » fantôme : reset des flags d'alerte slide au retour de la prolongation.
- #8 Compteur pompier : un pompier absent toute la journée est exclu du compteur.
Dock latéral drag&drop
Le dock à droite permet de mettre des interventions de côté pendant qu'on navigue entre les jours, puis de les redéposer plus tard.
- Apparition graduelle pendant un drag : peep-min (sans contenu), peep (avec cartes), expanded (au survol ou au bord droit).
- Délai 500 ms pour expand/collapse pour éviter le flicker quand le curseur effleure le bord du dock.
- Card du dock : référence + durée prévue (
1h,1h30,45min) avec barre verticale 4 px sur la gauche dans la couleur de la catégorie. Fond transparent. - Bouton de retrait
×: appui long 2 s avec animationconic-gradient. Un clic simple ne fait rien. - Drag depuis le dock : retrait différé à l'activation effective du drag (5 px). Ghost flottant sans heure à gauche. Drop sur tech → modal de confirmation. Drop hors zone / Échap / sur le même slot d'origine → restauration dans le dock.
- Plus de scrollbar horizontale en bas du dock, plus de clic-through dans la zone autour du bouton « Tout annuler ».
Verdicts ghost : fix critique
Une intervention terminée par le tech mais dont la fiche était passée en statut « Redirigé » / « Finalisation » / « Exécution » était à tort marquée comme « annulée » et retirée du planning, parce que le parser de fiche cherchait les dates d'action aux indices
[8]/[9]du tableaurowsalors que le layout EV récent les place en[6]/[7](et la description en[9]au lieu de[11]).- Détection robuste : scan des valeurs pour le pattern
DD/MM/YYYY HH:MM:SS, garde des 2 dernières occurrences comme (création, fin). Survit aux variations de layout EV. - Décorrélation logs / KEEP-forcé : nouvelle case dédiée « Garder les disparitions » dans Paramètres → Diagnostics, indépendante des « Logs verbeux ». Mode prod par défaut → verdict
REMOVEappliqué (statut Annulé/Supprimé, ou statut clos sans commentaire du tech, ou action sans commentairelogin:).
Drag&drop bloqué pour les interventions non-déplaçables
_canRescheduleIvrefuse maintenant explicitement le drag pour :- iv en verdict
terminated-pending(gris « fait »). - iv en verdict
terminated-clos(vert ✓✓). - iv dont le statut EV est dans
CLOSED_STATUSouRESOLVED_STATUS. - iv en cours d'analyse de disparition (
_disappearChecking).
Popups dépinglés
- Auto-fermeture du popup dépinglé quand la souris quitte sa zone et celle des cards liées de la même iv (300 ms de grâce). N'interfère pas avec un drag de planning en cours.
Tooltip / contact
- Le contact n'inclut plus les labels « fiche » (
Étage,Bureau,Service,Matériel,Problème,TFS,Date,Heure,Lieu,Bénéficiaire,Nom utilisateur) qui se collent parfois à la valeur du contact à cause de séparateurs perdus dans la source EV. Le tooltip insère un saut de ligne avant chaque label collé pour la lisibilité.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
-
released this
2026-05-01 18:08:18 +02:00 | 12 commits to main since this releaseChangements
Refonte visuelle de la topbar (vue classique + horizontale), nouveau panneau
de personnalisation (couleur de la barre du haut + police de l'application
sur toute la page), nouvelle expérience d'onboarding quand aucun technicien
n'est sélectionné, refonte du système de verdicts ghost (✓✓ clos / ✓ Fait /
✓ Suspendu), refresh strictement séquentiel avec arrêt instantané, et
plusieurs corrections.Refresh / cache / verdicts ghost
- Rafraîchissement séquentiel (1 fiche à la fois) au lieu de 5 workers
parallèles → arrêt instantané via le bouton « ✕ Arrêter » (AbortController),
plus de races DOM, ordre d'affichage cohérent (pompier d'abord, puis alpha,
puis matin → après-midi). - Re-fetch du checksum frais via
basicAutoComplete+redirectHeader
(plus de fiche périmée entre sessions). - Cache merge robuste (fallback
cachedByRefquandactionIdchange) et
cache écrit toutes les 5 fiches pendant le refresh (incrémental). - Système de verdicts ghost unifié : ✓✓ vert (clos / résolu officiel),
✓ gris « Fait » (terminated-pending), ✓ jaune « Suspendu »
(terminated-suspended), retrait silencieux pour cancelled / cancelled-
reservation / cancelled-absence. - Statuts EV (clos / résolu / annulé / suspendu) éditables depuis Paramètres
→ EasyVista avec matching insensible à la casse, accents et conjugaisons. - Mise à jour live du tooltip et du popup épinglé après un verdict (plus
besoin de fermer/réouvrir). - Clic immédiat sur la carte dès que le verdict tombe (avant la fin du
refresh complet). - Boutons « Actualiser » (rapide, ne re-télécharge pas les fiches déjà
connues) vs « Tout recharger » (force tout sauf les ✓✓ déjà clos). - Mode diagnostic optionnel (Paramètres → Diagnostics) : aucune
intervention disparue n'est retirée silencieusement, tout est tracé sous
le préfixe[disparition]dans la console F12 pour debug. En PROD
(par défaut), les ivcancelledsont bien retirées comme avant.
Topbar : vue classique
- Sélecteur de date du planning ancré au centre absolu : il ne se décale
plus quand le bouton « ✕ Arrêter » apparaît à droite pendant un
rafraîchissement. - Bouton « Aujourd'hui » affiché en toutes lettres (au lieu de « Auj. »).
- Horloge contextuelle (date du jour + heure) réduite et discrète, à côté
du bouton Aujourd'hui dans un cadre encadré. - Date du planning agrandie et neutre (couleur stable, plus de bascule
selon la date sélectionnée).
Personnalisation : Paramètres → Apparence
- Couleur de la barre du haut : 12 presets cliquables (Défaut, Blanc,
Gris clair, Anthracite, Bleu DGNSI, Marine, Vert sapin, Brique, Violet,
Rouge, Bleu pastel, Vert pastel) + picker custom + champ hex#rrggbb- bouton « Réinitialiser ».
- La couleur s'applique uniquement à la topbar (et à la sidebar quand on
est en vue horizontale). - Le texte de la topbar (titre, horloge, date, capture-info, badges,
boutons) s'adapte automatiquement (clair/foncé) selon la luminance
de la couleur choisie pour rester toujours lisible. - Police de l'application : 28 choix organisés en familles
(sans-serif : Arial, Helvetica, Verdana, Tahoma, Trebuchet, Calibri,
Segoe UI, Gill Sans, Futura, Optima ; serif : Times New Roman, Georgia,
Cambria, Garamond, Palatino, Bookman ; monospace : Courier New, Consolas,
Lucida Console, JetBrains Mono ; display : Comic Sans MS, Impact,
Brush Script, Copperplate ; condensée : Arial Narrow). La police choisie
s'applique à toute la page (topbar, cards, popups, tooltips, panel
admin) et chaque option du select s'affiche dans sa propre police pour
prévisualiser le rendu, avec un aperçu live à droite. - Export / import du cache et de
admin_configdepuis Paramètres →
Diagnostics.
Vue horizontale
- Bloc « Aujourd'hui + horloge » empilé verticalement dans la sidebar, dans
le même cadre encadré que la vue classique. - Date sélectionnée mise en avant (taille augmentée, en gras), date du
jour et heure réduites à la même petite taille pour rester discrètes. - Barre verticale verte ajoutée à droite des mini-cards quand le
ticket est officiellement clôturé / résolu (✓✓), avec léger décalage du
✓✓ pour ne pas chevaucher la barre. - Quand l'utilisateur a choisi une couleur de topbar, la sidebar prend
aussi la couleur : titre, horloge, capture-info, stats, today-block,
date sélectionnée, boutons, theme-toggle et séparateurs adoptent une
teinte translucide cohérente (viacolor-mix) qui contraste correctement
sur n'importe quel fond.
Statistiques globales
- Nouveau compteur « X faits / Y clos » entre
(matin · après-midi)
ettech. dispo. Inclut tous les tickets terminés (clos/résolus officiels- verdicts ghost « Fait » / « Suspendu »).
- En vue classique, séparateur
//aprèsclos(au lieu de·). - En vue horizontale (sidebar), une barre horizontale 1px sépare le
bloc interventions/faits/clos du bloc tech. dispo + pompiers / absents.
Onboarding équipe (1ʳᵉ install ou config vide)
- L'erreur générique « Aucun technicien sélectionné » est remplacée par une
carte d'onboarding centrée comprenant :- icône (👥) cerclée en couleur accent du thème ;
- titre « Aucune équipe configurée » ;
- description claire ;
- bouton primary « Ouvrir paramètres » qui ouvre directement le panel
admin sur la section Équipe.
- Carte centrée verticalement et horizontalement dans la zone disponible,
identique en vue classique et horizontale.
Bugfix
- Issue #1 (Pompier + Absence) : si un tech est à la fois pompier ET
absent, les deux badges s'affichent désormais avec un séparateur/au
lieu de masquer l'absence derrière le badge pompier. - Absences récurrentes : quand on changeait de groupe puis revenait au
groupe initial, les jours d'absence cochés pour les techniciens
disparaissaient visuellement (la donnée elle-même restait en storage).
Correction : restauration depuiscfg.recurringAbsencesà chaque
re-render. - Barre de progression / bannière session expirée : suivent désormais
la hauteur dynamique de la topbar (variable CSS--topbar-heightmesurée
par unResizeObserver). Plus de chevauchement quand on scrolle. - STATUS_FR regex : limite augmentée de 30 à 200 caractères (battait
sur « Suspendu : Attente info bénéficiaire/demandeur »). - Description action : décodage
" → ",<br> → \n, HTML
strippé. Préfixe « login: » retiré du commentaire technicien dans le
tooltip / popup. - Tooltip référence : flèche « ↗ » retirée du lien cliquable.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
- Rafraîchissement séquentiel (1 fiche à la fois) au lieu de 5 workers
-
released this
2026-04-27 04:57:04 +02:00 | 18 commits to main since this releaseChangements
Menu hover sur pastille du dock (popup réduit)
- Bug Firefox uniquement : quand un popup épinglé était réduit dans la
taskbar du bas, le menu qui apparaît au survol de la pastille
(Agrandir / Fermer) se positionnait trop haut, pas juste au-dessus de
la pastille. - Cause :
getBoundingClientRect()était appelé immédiatement après
appendChild, avant que Firefox n'ait calculé la mise en page.
Combiné avec untransform: translateY(4px)dans l'animation
pill-hover-menu-appear, Firefox lisait des dimensions décalées. - Fix : positionnement hors écran initial, force-layout via
void offsetHeight, mesure des dimensions, puis pose finale. CSS de
l'animation simplifiée en opacité-only (plus de transform).
Stabilité popup au pin/unpin
- Bug : la popup épinglée bougeait visuellement et changeait légèrement
de taille quand on la dé-épinglait avec le bouton 📌 (puis l'inverse). - Cause :
.pinned-popupavaitpadding-top: 28px(place pour la
dragbar) etborder: 2px, alors que.soft-unpinnedavait
padding-top: 12pxetborder: 1px. Le contenu se décalait de 16px
vers le haut et la popup devenait 1px plus fine de chaque côté. - Fix :
.soft-unpinnedconserve désormaispadding-top: 28pxet
border: 2pxcomme.pinned-popup. Bordure passe juste en
--border-strong(gris discret) plutôt que--accent(bleu) pour
signaler visuellement le mode "détaché". Position et taille stables.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
- Bug Firefox uniquement : quand un popup épinglé était réduit dans la
-
released this
2026-04-27 03:28:13 +02:00 | 21 commits to main since this releaseChangements
- Passage en revue des commentaires de
src/viewer.js: les exemples qui
illustraient le parsing des contacts/lieux/références/codes-barres ont été
uniformisés en placeholders abstraits (Nom1 Prénom1 +41XXXXXXXXX,
SYYMMDD_NNNNN,XXXX_NNNNNNNN, etc.) plutôt que des chaînes spécifiques.
Comportement runtime strictement inchangé : uniquement de la documentation
et des commentaires. - Mise à jour cohérente du README, du CHANGELOG et des pages wiki Versions /
Utilisation pour utiliser les mêmes notations génériques dans les
exemples de référence.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
- Passage en revue des commentaires de
-
released this
2026-04-27 02:11:22 +02:00 | 13 commits to main since this releaseChangements
Plus aucun hardcode au runtime
- Le groupe EasyVista, les domaines (interne/externe) et la liste des
techniciens ne sont plus codés en dur dansbackground.js/
viewer.js. Tout est lu depuisadmin_config(chrome.storage.local),
alimenté par les onglets Équipe et EasyVista du panel admin. chrome.storage.localsurvit aux mises à jour d'extension → la
configuration de l'utilisateur (groupe, équipe, absences récurrentes,
domaines) est conservée d'une version à l'autre.
Domaines EasyVista (interne / externe)
- Défaut hardcodé conservé comme filet de sécurité au 1er install
(https://itsma.etat-de-vaud.ch+https://itsma.vd.ch). - L'utilisateur peut les remplacer dans Paramètres → EasyVista. Le
service worker (findEasyVistaSession,evFetch, etc.) lit la valeur
effective viagetEvOrigins().
Group ID EasyVista
- Défaut hardcodé conservé comme filet de sécurité (
191= SI-CSS). - Lu via
getGroupId()dansfetchPlanningXml,detectTeamFromEVet
partout où c'était hardcodé. - Le sélecteur de Paramètres → Équipe alimente
cfg.groupId.
Liste des techniciens
- Aucun défaut hardcodé. Sur un install vierge,
cfg.teamest
vide → le service worker lèveno_team_configuredplutôt que de
fetcher avec une liste fictive. - Le viewer affiche : "Aucun technicien sélectionné. Ouvrez ⚙
Paramètres → Équipe pour choisir le groupe EasyVista et cocher les
techniciens à afficher." - Lu via
getSupportIds()(CSV des clés decfg.team). - Côté
viewer.js:TEAMetRECURRING_ABSENCESsont deslet
vides au démarrage, repeuplés par_initTeamFromConfig()appelé tôt
dansinit().
Coulisses
- Nouveau dans
background.js: helpersgetAdminConfig(),
getEvOrigins(),getGroupId(),getSupportIds(),
getDayBounds()qui centralisent la lecture de la config persistée. fetchPlanningXml()lèveError("no_team_configured")quand la
liste de techs est vide ; le handlerfetchPlanningpropage l'erreur
au viewer viaerr.kind.- Toutes les anciennes constantes hardcodées (
EV_ORIGINS,
DEFAULT_SUPPORT_IDSinterne àdetectTeamFromEV,
isXXXAbsentFriday) ont été remplacées ou retirées.
Conflits absence/réservation × intervention
- Nouveau code visuel : si une intervention est planifiée pendant
qu'un tech a une absence (toute la journée ou demi-journée) ou
une réservation sur le même créneau, sa carte (row classique +
mini-card en vue horizontale) est peinte en rouge plein avec
texte blanc. Logique : full-day → toutes les interv en rouge ;
partiel → seules celles en chevauchement.
Synchronisation des heures EV ↔ admin
- Les paramètres
day_start_hour/day_end_hourenvoyés à
planning_xhr.phpetbegin_hour/end_hourenvoyés à
plan_set_holidays_popup.php(création absence) et
plan_set_tech_planif_popup.php(douchette) lisent désormais
cfg.dayStart/cfg.dayEnd(Paramètres → Apparence → Heures de la
journée). Avant :8/18/19figés en dur, ce qui rendait le
réglage des heures côté UI partiellement effectif (la timeline se
redessinait, mais les requêtes EV continuaient sur la plage hardcodée).
Édition des domaines EV → permissions runtime
manifest.json: ajout de"optional_host_permissions": ["https://*/*"]pour permettre l'édition des domaines EasyVista
vers des origines non prévues à l'install.- Quand l'utilisateur saisit un domaine custom dans Paramètres →
EasyVista et clique sur Enregistrer, l'extension appelle
chrome.permissions.request()pour demander la permission au
navigateur. Si refus → toast d'avertissement, les fetches échoueront
jusqu'à acceptation. - Les deux domaines hardcodés (
itsma.etat-de-vaud.ch+
itsma.vd.ch) restent danshost_permissions(toujours accordés à
l'install), pas besoin de redemander la permission pour eux.
Fichiers
Aucun fichier joint à cette version. L'extension s'installe depuis la dernière publication.
Downloads
- Le groupe EasyVista, les domaines (interne/externe) et la liste des
Public Access