• Quiberon 0d7ea19d5b

    tw released this 2024-08-06 17:38:22 +02:00 | 0 commits to master since this release

    Nouvelles fonctionnalités

    Renforcement de la sécurité des mots de passe internes

    Afin d'améliorer la sécurité, les comptes de connexion interne à AGATT ont été considérablement renforcés. Un mot de passe doit maintenant comporter :

    • Au moins 14 caractères (il est possible de paramétrer un nombre minimal plus élevé)
    • Au moins une lettre minuscule et une lettre majuscule
    • Optionnellement, au moins un chiffre
    • Optionnellement, au moins un caractère spécial

    2024-07-16_17-13.png

    De plus, l'algorithme utilisé pour chiffrer les mots de passe stockés en base de données a été remplacé par un algorithme plus récent et plus robuste.

    Ces évolutions s'accompagnent d'une contrainte forte : à la livraison de la version Quiberon, tous les comptes utilisateurs internes à AGATT sont effacés et doivent donc être recréés.

    Voir le ticket #6050

    Gestion du temps de récupération

    Un nouvel objet, le solde de récupération, permet de suivre le temps de récupération acquis / consommé par un agent sur une période (et pas uniquement sur l'ensemble de sa carrière comme avant) et d'effectuer du suivi et des contrôles dessus. Un solde de récupération prend en compte :

    • Toutes les occupations de l'agent avec un temps de récupération non nul, en crédit comme en débit
    • Optionnellement, des saisies manuelles par un gestionnaire pour ajouter / retirer du temps au solde
    • Optionnellement, des saisies manuelles par un gestionnaire pour transférer du temps d'un solde à un autre

    Le suivi et les saisies se font dans un nouveau module Gestion des Agents / Suivi de la récupération.

    2024-07-30_11-09.png

    Si un agent possède un solde de récupération en cours, son reliquat apparaît sur le tableau de bord (déclinaison complète et mobile)

    2024-07-30_11-10.png

    Voir le ticket #6760

    Enrichissement de la gestion du repos de sécurité

    Le paramètre "Repos de sécurité" des types occupations s'appliquait dans deux situations très différentes :

    • Déterminer si une occupation posée peut déclencher un repos de sécurité
    • Déterminer si cette occupation peut être posée sur un repos de sécurité existant

    Le choix judicieux n'étant pas forcément le même dans les deux cas, nous avons scindé ce paramètre en deux.

    2024-07-16_17-10_1.png

    Voir le ticket #7013

    Enrichissement de la gestion des droits de saisie des affectations

    Les affectations dans AGATT servent à stocker des données très diverses. On y trouve aussi bien des éléments d'organisation du SDIS, comme le statut administratif ou le fait qu'une affectation soit principale ou secondaire, que des éléments de pure gestion interne de l'entité comme la couleur d'affichage dans le planning. Avoir un seul droit pour gérer l'accès à la saisie de toutes ces informations était insuffisant, c'est pourquoi nous avons créé de nouveaux droits spécifiques pour autoriser la modification de certaines données :

    • Affectation principale / secondaire
    • Statut administratif
    • Affectation active / inactive
    • Profil
    • Type d'affectation ressource / utilisateur

    2024-07-16_17-15.png

    Ces droits ne s'appliquent qu'à la modification des affectations d'agents définitifs.

    Voir le ticket #6619

    Indicateurs collectifs par tranches horaires

    Deux nouveaux types de critères ont été ajoutés dans les indicateurs collectifs : horaire minimal et horaire maximal. Ces critères permettent de ne prendre en compte que les occupations qui ont lieu sur la plage horaire définie par ces critères. Cela peut améliorer la prise en compte des gardes ou astreintes partielles effectuées par les SPV, ainsi que celle de la garde 24h inversée, dans les CIS qui la pratiquent.

    2024-07-22_16-19.png

    Voir le ticket #6310

    Mécanisme de correction d'un planning clôturé

    Les utilisateurs possédant le droit d'annuler une clôture de planning peuvent maintenant aussi écrire directement dans un planning clôturé. Un message de confirmation les en informe pour éviter des saisies accidentelles.

    2024-07-16_11-51.png

    L'objectif de cette évolution est double :

    • Ne pas rendre temporairement un planning passé ouvert à tous si ce n'est pas strictement nécessaire, pour éviter des abus
    • Faciliter les corrections ponctuelles pour les utilisateurs habilités à les faire

    Voir le ticket #6002

    Evolution du compteur de temps de travail

    Le compteur principal (généralement nommé "Temps de travail SPP/PATS") peut maintenant être décomposé en plusieurs éléments (ex : base, reliquat exercice précédent, CET, fractionnement...).

    2024-07-16_17-17.png

    Dans le module "Temps planifié et réalisé", saisir un volume horaire à effectuer dans ce compteur revient maintenant à saisir un volume horaire dans chacun de ces éléments, dont AGATT fera la somme pour calculer le nombre d'heures total à effectuer dans le compteur.

    2024-07-16_17-20.png

    2024-07-16_17-19.png

    L'objectif de cette évolution est double :

    • Dans un premier temps, permettre une meilleure traçabilité de l'évolution des heures à effectuer d'un agent : lors d'une modification, on sait quelle composante du volume d'heures a été impactée et pourquoi (commentaire obligatoire à la saisie), sans avoir besoin de créer plusieurs compteurs différents, comme c'est souvent le cas aujourd'hui.
    • Dans un second temps, la prochaine version d'AGATT proposera une tâche planifiée permettant de calculer automatiquement le temps à effectuer des agents pour les éléments de calcul qui peuvent être déduits du rythme de travail de l'agent (ex : base annuelle, reliquat, ancienneté), tout en laissant la main aux utilisateurs pour gérer manuellement le reste (ex : ajouter des heures à faire à un SPP qui demande à créditer son CET)

    Voir le ticket #6126

    Attribution automatique de titres restaurant

    La gestion des titres restaurant dans AGATT par le biais des règles de durée possède un petit angle mort : puisque l'attribution de titres restaurant se fait par occupation (et non pas journée), une journée constituée de deux occupations différentes (ex : SHR le matin, stage l'après-midi) aboutit à n'attribuer aucun TR. En effet, chaque demi-journée prise individuellement ne donne droit à aucun TR. L'ensemble de la journée, en revanche, le peut.

    Pour combler ce manque, une nouvelle tâche planifiée est disponible pour analyser le planning a posteriori afin de détecter et corriger ces situations. Il est important de noter que cette tâche planifiée ne se substitue pas à la gestion par règles de durée, elle la complète. Elle n'a pas vocation à gérer entièrement l'attribution de titres restaurant.

    2024-07-16_17-21.png

    Voir le ticket #5734

    Sécurité

    #6941 - Plannings - La gestion des droits sur l'infobulle au survol des agents a été renforcée pour empêcher l'accès aux informations par un utilisateur ne possédant pas les droits nécessaires.
    #6896 - Pose d'occupation - La pose d'une occupation soumise à validation par raccourci clavier ne permet plus de poser une occupation directement validée si l'utilisateur ne possède pas les droits suffisants pour valider cette occupation. +++
    #6944 - Les principaux écrans d'AGATT ont été protégés contre les attaques de type XSS (saisir du code Javascript malveillant dans un formulaire pour obtenir son exécution par le navigateur de l'utilisateur). Nous continuerons à renforcer le reste d'AGATT contre ce type d'attaques dans les versions à venir.
    #6945 - La sécurité des sessions a été renforcée pour rendre plus difficile les attaques visant à intercepter les communications entre un utilisateur et AGATT pour se faire passer pour lui.
    #7165 - Les principaux écrans d'AGATT ont été protégés contre les attaques de type injection SQL (saisir du code SQL malveillant dans un formulaire pour obtenir son exécution par le serveur AGATT et ainsi accéder au contenu de la base de données). Nous continuerons à renforcer le reste d'AGATT contre ce type d'attaques dans les versions à venir.

    Amélioration continue

    Remarque : les tickets dont la description est suivie de la mention +++ sont ceux que nous estimons les plus significatifs pour la majorité des SDIS utilisateurs.

    #3480 - Maintenance - Le message de maintenance accepte maintenant les sauts de lignes et la présence de code HTML/CSS pour la mise en forme.
    #3915 - Tâche planifiée Arrêts - Il est maintenant possible de paramétrer un montant de forfait variable par régime de travail et d'exclure complètement certains régimes du calcul automatique pour gérer le temps de travail de leurs arrêts par des règles de durée. +++
    #5226 - Recherche d'occupations - Les résultats de recherche mentionnent maintenant le statut administratif de l'agent et le compteur de l'occupation. +++
    #5368 - Tâche planifiée Arrêts - La date de début de traitement des arrêts est maintenant mentionnée dans les journaux d'exécution.
    #5703 - Suivi des demandes - Chaque saisie effectuée sur un solde doit maintenant comporter un commentaire expliquant la saisie. Ce commentaire est historisé. +++
    #5722 - Impression planning - AGATT ne force plus 25 lignes de planning par page, le nombre est adapté à la taille et à l'orientation du document. +++
    #5808 - Tâches planifiées Droit CA / RTT / Fractionnement - Lorsque la fin de l'année en cours approche, ces tâches planifiées vont automatiquement commencer à calculer aussi les droits de l'année suivante, sans intervention manuelle. La date exacte à partir de laquelle cela commence est paramétrable. +++
    #5837 - Tâche planifiée Arrêts - Un nouveau paramètre permet de spécifier que si une certaine occupation est présente dans la journée d'un agent (exemple : un congé), alors la journée en question est obligatoirement compensée au forfait, même si l'arrêt est de courte durée.
    #6050 - Authentification - Ce ticket déjà évoqué plus haut a induit une refonte technique permettant d'ajouter à AGATT la possibilité d'utiliser plusieurs annuaires AD/LDAP et de tester les identifiants et mots de passe saisis par les utilisateurs dans chacun d'eux.
    #6085 - API Planning - Le temps d'exécution de cette API a été légèrement amélioré.
    #6282 - API Référentiel - Il est maintenant possible dans les fichiers CSV envoyés de spécifier le logiciel source des données et de demander à l'API de consommer spécifiquement les fichiers provenant d'un logiciel.
    #6297 - Types occupations - Le paramètre "Nombre d'occupations par mois" des règles de pose raisonne maintenant en poids journalier total et non en nombre d'occupations posées.
    #6304 - Bilan collectif des occupations - Un nouveau champ permet de cibler le périmètre d'occupations affichées : uniquement les occupations effectuées dans l'entité courante / toutes les occupations des agents sélectionnés
    #6369 - API Planning - L'API accepte maintenant d'écrire dans le passé sur des affectations inactives, pour permettre des corrections après qu'un agent ait quitté une entité.
    #6384 - Feuille de garde journalière - Dans la liste des agents pouvant être affectés à un piquet, l'équipe de chaque agent est maintenant affichée.
    #6386 - Félicitations - Si vous remarquez ce message, c'est que vous lisez les notes de version consciencieusement.
    #6472 - Bilan Collectif des Occupations - Le tableau de résultats comporte maintenant une colonne avec les matricules des agents.
    #6490 - Règles de durée - De nouveaux paramètres permettent de forcer le temps de récupération à être toujours égal (ou proportionnel) au temps de présence de l'occupation.
    #6649 - Feuille de garde journalière - Dans les barres représentant les piquets déjà positionnés, les initiales des agents sont affichées en plus de leur nom de famille.
    #6833 - Plannings - Le temps d'affichage des indicateurs individuels a été très légèrement amélioré.
    #6834 - Pointage - Lorsqu'un agent tente de poser une récupération pas encore acquise, le contenu du message d'erreur est maintenant arrondi au centième d'heure.
    #6857 - Feuille journalière - Il est maintenant possible de choisir les tranches horaires que l'on souhaite imprimer. +++
    #6917 - Pointage - Un nouveau paramètre dans les types de compteurs permet de désactiver l'affichage de certains compteurs dans le tableau de bord des agents qui pointent.
    #7035 - Feuille de garde journalière - Dans la liste des agents pouvant être affectés à un piquet, les initiales sont maintenant affichées à la place de la première lettre du prénom.
    #7191 - Engins et fonctions - La contrainte d'unicité sur les postes a évolué pour autoriser deux postes avec le même code dans un engin, mais des numéros d'ordre différents.
    #7303 - Entités - Afin d'éviter des erreurs très gênantes car introduisant des incohérences dans l'organigramme, les possibilité de saisie dans ce module ont été réduites.

    Corrections d'anomalies

    Remarque : les tickets dont la description est suivie de la mention +++ sont ceux que nous estimons les plus significatifs pour la majorité des SDIS utilisateurs.

    #5916 - Planning journalier - Modifier le nombre d'agents visibles dans le planning ne risque plus de provoquer de problèmes d'affichage.
    #6087 - API Planning - L'API gère maintenant bien mieux l'absence du poids journalier dans le fichier CSV et ne rejette plus à tort des occupations au motif que plusieurs règles de durée sont possibles.
    #6129 - Feuilles journalières et tranches horaires - Il n'est plus possible de saisir des horaires au-delà de 23:59 dans une tranche horaire.
    #6468 - Editeur des occupations - Dans de rares cas, le calcul automatique du temps de travail ou du temps de présence pouvait être faux sur des occupations comportant une pause méridienne. Cette anomalie est corrigée.
    #6549 - Feuille de garde journalière - Lorsqu'une occupation pouvant donner lieu à la prise de piquets est supprimée, AGATT ne supprime plus les piquets de l'agent ayant lieu en dehors des horaires de l'occupation supprimée.
    #6844 - Suivi des demandes - Lors de la duplication d'un solde, la date de fin est maintenant calculée correctement. +++
    #6957 - Mes demandes d'absences - Les dates saisies dans le formulaire de recherche sont de nouveau prises en compte. +++
    #7038 - Engins et fonctions - L'existence d'un engin sans couleur ne provoque plus d'erreur. La création d'un engin sans couleur associée a par ailleurs été rendue impossible.
    #7063 - Déclinaison mobile - L'expiration de la session de l'utilisateur ne provoque plus de message d'erreur technique.
    #7070 - Plannings - L'utilisation du filtrage par indicateur collectif ne modifie plus l'ordre d'affichage des agents. +++
    #7113 - Suivi des pointages - Une occupation à l'état refusé ne peut plus être prise en compte dans les décomptes de temps travail.
    #7148 - Profils - Le bouton de suppression de profil n'apparaît plus inutilement si l'utilisateur n'a pas le droit de supprimer un profil.
    #7075 - Interfaces AGATT -> SGO - Des modifications techniques ont été apportées pour assainir les données liées aux fonctions secondaires des engins.
    #7280 - Interface export planning AGATT -> Start - L'exécution de ce flux ne provoque plus d'erreur bloquante en PHP >= 8.2

    Documentation

    Downloads