-
Tarascon Stable
released this
2026-05-13 17:03:25 +02:00 | 0 commits to master since this releaseIntégration avec NexSIS
L'arrivée de NexSIS permet la mise en place d'un certain nombre de référentiels communs à tous les SIS, dont certains concernent AGATT :
- Grades
- Compétences
- Missions
Nous vous proposons d'utiliser notre API Référentiel pour intégrer ces référentiels à AGATT. Pour cela, nous mettons à disposition :
- #8784 - Un nouveau flux pour intégrer les missions
- #8785 - Des fichiers CSV prêts à l'emploi pour utilisation dans les flux Grades, TypesCompetences et Missions
#7255 - Affichage des consignes dans la déclinaison mobile
Un nouvel écran de la déclinaison mobile permet d'afficher les consignes pour une date donnée.
Cet écran est accessible par :
- Un nouvel item dans le menu principal
- Un pictogramme dans le planning annuel, présent sur les journées comportant des consignes
#7652 - Affectation d'un agent à plusieurs équipes de la même entité
Jusqu'ici, les agents étaient techniquement affectés non pas à une entité (centre de secours, service…), mais à une des équipes de cette entité, ce qui contraignait chaque agent à faire partie d’exactement une équipe dans chaque entité. Ce ticket introduit la possibilité de faire partie de zéro, une ou plusieurs équipes par entité.
Le module Configuration / Équipes a été fortement remanié.
Il permet maintenant non seulement de définir les équipes, mais aussi de gérer leurs membres.
L'assignation d'un agent à une ou plusieurs équipes reste possible depuis l'écran Affectations.
Dans les plannings, un nouveau filtre permet de demander à afficher les agents sans équipe. Les agents faisant partie de plusieurs équipes n'apparaissent qu'une seule fois dans le planning et sont visibles si au moins une de leurs équipes est sélectionnée.
Remarque: la notion d'équipe "Accueil" disparaît : celles déjà présentes continuent d'exister, mais elles deviennent des équipes ordinaires. Lorsqu'une affectation est créée dans AGATT par l'API Référentiel Affectations, l'agent n'est plus assigné à aucune équipe. Cette situation est maintenant possible, valide et revient fonctionnellement au même que d'être assigné à une équipe Accueil arbitraire.
Important : suite à cette évolution, les équipe ne sont plus considérées dans AGATT comme des entités ! Le principal impact est l'impossibilité d'associer une règle de pose ou de durée à une équipe. Les règles de durée concernées sont automatiquement rattachées à l'entité parente lors de la mise à jour. Selon notre analyse, utiliser un critère par régime de travail à la place du critère par équipe peut aboutir au même résultat dans la majorité des cas d'usages.
#8224 - Validation unitaire de demandes
Plusieurs signalements nous ont fait prendre conscience que les demandes posées par les agents pouvaient appartenir à deux catégories :
- Demandes sur une période (ex : congés annuels). Il arrive qu'une telle demande ne concerne qu'une journée, ou même une demi-journée. Mais si plusieurs journées consécutives comportent des congés annuels, c'est presque toujours à considérer comme une seule demande.
- Demandes unitaires, même si le planning en comporte plusieurs le même jour ou sur des jours consécutifs. Exemples : IHTS, intervention
AGATT ne gérait pas jusque là cette deuxième catégorie, ce qui pouvait produire un résultat frustrant : difficulté à valider une seule des demandes, perte du message d'une des demandes...
Pour palier à cela, nous avons introduit un nouveau paramètre dans les types occupations permettant de choisir le mode de validation.
#5499 - Occupations affichées dans une seule demi-case de planning
Lorsqu'une journée de planning comporte uniquement une occupation matin ou après-midi, celle-ci occupera maintenant seulement la moitié haute ou basse de la case.
C'est automatique à partir du moment où l'occupation a été posée avec des horaires contraints ou individualisés. Ce n'est en revanche pas rétroactif pour les occupations déjà posées.
#8125 - Ajout de couleurs aux seuils d'indicateurs collectifs
Il est désormais possible d'utiliser jusqu'à six couleurs différentes, ainsi que de modifier leur ordre, pour les seuils d'indicateurs collectifs. Ce choix est global pour toutes les entités et indicateurs et le paramétrage est réalisé par les administrateurs techniques.
Le paramétrage de chaque indicateur peut ensuite librement être modifié pour utiliser ces nouvelles couleurs.
#7897 - Suivi personnel de la récupération
Un nouvel écran Mes informations / Ma récupération permet à un agent de consulter ses propres soldes de récupération.
L'accès à cet écran est soumis à un droit dans les profils.
#7834 - Règles de durée - Dissociation des horaires et du temps de présence
Les liens possibles entre les horaires d'une occupation et ses volumes horaires (présence / travail / récupération) pour forcer l'une de ces données à être égale ou proportionnelle à une autre étaient un peu confus, de même que les droits déterminant quelles données pouvaient être modifiées par un utilisateur. Nous avons donc simplifié tout cela :
- Il est maintenant possible de décider quels profils seront habilités à modifier séparément pour chacune de ces données (auparavant, les profils pouvant modifier le temps de présence et les horaires étaient les mêmes)
- Les volumes horaires peuvent chacun être définis comme égaux ou proportionnels à la durée de l'occupation (donc aux horaires), mais pas à être égaux ou proportionnels entre eux
Important : ce développement introduit entre autres un nouveau paramètre "Temps de présence = Durée". Il est activé par défaut pour toutes les règles existantes, parce que c'est le choix qui se rapproche le plus du comportement d'AGATT en version Soultzmatt, et parce que c'est pertinent pour la majorité des occupations. Ça ne l'est pas pour les absences qui ont généralement des horaires, mais un temps de présence nul. Après application de la mise à jour, il est donc nécessaire de modifier les règles de durée de ces occupations pour désactiver le mode "Temps de présence = Durée". Cette opération peut être réalisée en masse en base de données par Pretexx, à condition de nous fournir la liste des types occupations concernés.
#4851 - Indicateurs collectifs - Critère par compteur
La distinction entre une occupation opérationnelle effectuée sous statut SPP ou SPV, dans les indicateurs collectifs, se faisait jusque là par utilisation du critère "statut administratif". Cette distinction ne fonctionne pas lorsqu'un agent est double statut SPP+SPV dans le même CIS puisque toutes ses occupations sont effectuées sous ce même statut. Pour permettre des indicateurs plus précis, nous avons introduit un nouveau critère par compteur.
Les occupations sous statut SPP étant généralement dans le compteur de temps de travail SPP/PATS et celles sous statut SPV dans le compteur de temps d'activité SPV, nous conseillons à partir de maintenant aux SIS ayant des agents qui sont en double statut dans le même CIS d'utiliser plutôt ce nouveau critère que celui par statut administratif.
#8103 - Conversion de disponibilité en supprimant la disponibilité
Le paramétrage des types occupations permet maintenant de choisir deux variantes du mode "Cible" pour la conversion de disponibilité :
- La disponibilité sera supprimée lorsqu'elle sera convertie en ce type occupation
- La disponibilité sera conservée lorsqu'elle sera convertie en ce type occupation
#3645 - Lien entre une règle de pose et un ou plusieurs régimes de travail
Lorsqu'un utilisateur pose une occupation par l'éditeur, deux vérifications successives du paramétrage des types occupations ont lieu :
- Recherche de règles de pose pour déterminer quelles types occupations cet utilisateur a le droit de poser
- Après le choix d'un type occupation dans cette liste, recherche de règles de durée pour proposer des créneaux horaires
Une règle de durée peut être restreinte à certains régimes de travail, mais jusqu'ici une règle de pose ne le pouvait pas. Cela entraînait parfois un blocage peu compréhensible pour l'utilisateur : voir apparaître un type occupation dans la liste, pouvoir le sélectionner, mais être bloqué ensuite par une absence de créneau horaire parce qu'aucune règle de durée ne s'applique au régime de travail de l'agent concerné par l'occupation.
Il est maintenant possible de restreindre également les règles de pose par régimes de travail pour empêcher cette situation de se produire : l'utilisateur ne verra plus le type occupation dans la liste et ne pourra donc plus le choisir et se trouver bloqué ensuite.
#8442 - Pointage - Création de deux catégories de temps non pointé
L'usage dans les SIS nous a montré qu'il existe deux catégories de temps non pointé :
- Temps qui s'ajoute ou se soustrait tel quel au solde de temps de travail des agents
- Exemples en positif : temps de trajet, réunion
- Exemples en négatif : ASA d'une heure en cours de journée, récupération
- Temps qui remplace entièrement une journée ou une demi-journée pointée (ex : garde, stage...) et qui impacte le solde de temps de travail à hauteur de la différence avec une journée ou demi-journée pointée moyenne (ex : un stage de 8 h. à la place d'une journée pointée de 7 h. 48 min. en moyenne impacte le solde de temps de travail de +12 min. et non de + 8h)
Seule la première catégorie existait dans AGATT jusqu'ici et le fait de devoir y inclure aussi les types occupations de la deuxième catégorie posait de gros problèmes :
- Obligation de paramétrer des règles de durée étranges pour ces types occupations, spécifiquement pour les agents qui pointent (exemple : un stage avec un temps de travail de 12 minutes)
- Impossibilité de calculer le temps total réalisé sur une période par les agents qui pointent (puisque le stage comptait alors pour 12 min. et non 8 h.)
Nous avons donc ajouté la possibilité d'associer des types occupations à la deuxième catégorie. Les administrateurs techniques recevront une documentation leur permettant de la paramétrer.
Sécurité
#4114 : Mon planning - Empêche une manipulation permettant d'accéder à l'éditeur des occupations pour un autre agent que soi-même
#7907 : Verrouillage des occupations - Ajout de protections contre l'injection de code malveillant
#7912 : Indicateurs individuels - Ajout de protections contre l'injection de code malveillant
#8651 : Bilan collectif des occupations - Renforcement des contrôles empêchant un utilisateur d'afficher le bilan d'une autre entité sans détenir les droits pour cela
#8652 : Bilan individuel des occupations - Renforcement des contrôles empêchant un utilisateur d'afficher le bilan d'un autre agent sans détenir les droits pour cela
#8653 : Rapport des occupations - Renforcement des contrôles empêchant un utilisateur d'afficher le rapport d'une autre entité sans détenir les droits pour celaPerformances
#8500 : Suivi des demandes (départemental) - Amélioration significative du délai d'affichage initial de la page
Autres améliorations
#6643 : Suivi des demandes (départemental) - Ajout d'un bouton pour exporter les résultats dans un tableur
#8136 : Suivi du temps planifié et réalisé - Ajout d'un bouton pour exporter les résultats dans un tableur
#8510 : API Référentiel - Nouveau flux permettant d'injecter les postes des engins et leurs compétences associées
#3281 : Planning Individuel - Version imprimable
#8522 : Conversion de disponibilité - Modification de l'occupation créée : elle aura désormais le même poids journalier que la disponibilité convertie au lieu d'avoir systématiquement un poids de 1.
#8408 : Traitement des demandes - Ajout de la possibilité de conserver une occupation débutant la veille de la demande mais se terminant pendant la demande.
#8688 : Suivi des pointages - Suppression des pictogrammes d'anomalies concernant les horaires de pointage avant correction
#3556 : Utilisateurs connectés - Ajout du nombre d'utilisateurs connectés
#6721 : API Planning - Possibilité de spécifier le signe du temps dé présence ainsi que les signe, heures et minutes de temps de récupération des occupations envoyées à AGATT
#5415 : Interfaces - Nouveau flux permettant d'exporter des absences du SIRH Antibia pour les envoyer dans AGATT par le biais de l'API Planning
#3880 : API Référentiel / API Planning - Création de fichiers de configuration spécifiques permettant de paramétrer les deux API de façon différentes (ex : mettre l'une en mode simulation et l'autre en mode écriture)
#7824 : API Référentiel Engins - Modification du modèle de données pour que le changement d'entité d'un engin ne crée plus un doublon de cet engin
#8675 : Interface d'export d'absences vers Antibia Webdag - Amélioration de la gestion des filières pour envoyer correctement les occupations des PATS (un statut administratif dans AGATT pouvant correspondre à plusieurs filières)
#4130 : Maintenance - Ajout d'un message d'erreur explicite lorsqu'on tente d'accéder à AGATT alors que la base de données est indisponible
#3799 : API Référentiel - Ajout d'une ligne de journal systématique en base de données, quel que soit le niveau de sévérité paramétré, pour avoir toujours une preuve d'exécution
#8521 : API export de piquets vers Start - Alimentation de la colonne ORDRE_FONCTION_OCCUPEE dans l'ETL GTT
#4192 : Tâches Planifiées - Clarification du message d'erreur renvoyé lorsque l'action demandée dans l'URL n'existe pas
#8502 : Maintenance - Ajout du fuseau horaire PHP aux informations affichées dans cet écran
#4363 : Maintenance - Modification du titre de l'écran d'accueil pour parler de maintenance et plus de mise à jour
#8035 : Authentification - Ajout du mode d'authentification (SSO, LDAP, interne...) dans les traces de connexion en base de données
#8015 : Suivi des demandes - Renforcement du modèle de données des transferts et indemnisations afin d'éviter l'apparition de données corrompues
#8422 : Rythmes de travail - Modification technique pour faire disparaître un risque élevé de confusion pouvant entraîner l'introduction de bugsCorrection d'anomalies
#8507 : Éditeur des occupations - Restauration de la possibilité pour un utilisateur de poser directement à l'état validé des absences qu'il serait habilité à traiter
#8489 : Feuille de garde journalière - Suppression des occupations à l'état de demande dans les listes d'agents proposée pour occuper un piquet
#8491 : Feuille de garde journalière - Amélioration de l'impression des engins et fonctions pour limiter les chevauchements entre blocs ou les alignements étranges
#8101 : Planning journalier - Affichage correct des occupations rattachées à la journée de planning de la veille ou du lendemain mais ayant partiellement lieu sur la journée affichée
#8100 : Suivi des demandes - Harmonisation des libellés proposés par défaut à la création d'un solde avec ceux des soldes générés par les tâches planifiées
#8555 : Tâche planifiée Droit RTT - Prise en compte du fait que les RTT peuvent être calculés en heures et les CA en jours, ou le contraire. Le droit à CA servant à déterminer le nombre de jours à travailler, il a un petit impact sur le droit à RTT.
#8545 : Suivi des pointages - Correction d'une erreur de prise en compte des plages horaires le dernier jour de la semaine
#8595 : API Planning - Retrait d'une fonctionnalité non documentée qui purgeait automatiquement les occupations inactives datant de plus d'un an. Ce mécanisme pouvait introduire des effets de bord dans la tâche planifiée Arrêts, en modifiant le temps de travail des arrêts débutés plus d'un an dans le passé.
#8225 : API Référentiel - Correction du mode (écriture / simulation) indiqué dans les liens de rejeu à la fin du journal d'exécution
#8707 : Script de contrôle de l'organigramme - Suppression d'un faux signalement concernant l'entité parente de tout l'organigramme
#8721 : Interface d'export d'absences vers Antibia Webdag - Correction évitant d'envoyer les mêmes absences plusieurs fois
#8581 : Interface avec les badgeuses ZkTeco - Prise en compte correcte de la durée paramétrée de conservation des journaux
#8513 : Interface avec les badgeuses ZkTeco - Correction de l'algorithme pour permettre la bonne récupération des pointages effectués sur les badgeuses même lorsque les paquets de données arrivent à AGATT dans le désordre. Un grand merci au SIS 68 pour sa contribution à ce correctif.Downloads