GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
132 stars 75 forks source link

Evolutions Signalements / Perturbations #4085

Open camillemonchicourt opened 5 months ago

camillemonchicourt commented 5 months ago

Nous explorons actuellement la possibilité d'identifier les sentiers et itinéraires impraticables liés à des perturbations, à partir des signalements. En lien avec https://github.com/GeotrekCE/Geotrek-admin/issues/3879. Le fait de passer par des buffers (zones tampon) autour des signalements et de les intersecter avec les tracés des sentiers et des itinéraires a clairement des limites et effets de bord, mais c'est une première exploration intéressante.

Pour cela, je me suis replongé dans le module Signalements, que nous utilisons peu et j'avais suivi de loin toutes ses évolutions liées à la mise en place du mode "Workflow Suricate" (https://github.com/GeotrekCE/Geotrek-admin/issues/2366).

Dans notre cas, nous avons quelques signalements qui proviennent des différents Geotrek-rando branchés sur notre Geotrek-admin. Et nous allons faire saisir aux agents les dégâts et perturbations directement dans le module Signalement. Or cela a actuellement plusieurs limites et nous souhaiterions donc :

A faire aussi ?

babastienne commented 5 months ago
  1. Ajouter un champs "Structure" dépendant de la personne ayant saisi le signalement (si saisi dans GTA)
  2. Rendre le champs "Email" non obligatoire (et masquable en saisie), car on saisit un signalement depuis GTA, cela n'a pas de sens de renseigner un email, hors il est actuellement obligatoire

Pour ces deux points on voit clairement que le module a été pensé initialement pour recevoir des données "externes" et pas vraiment pour une saisie interne.

  1. Ok pour moi, mais si on rend ce champ obligatoire à quelle structure seront rattaché les signalements externes ? La structure par défaut définie dans le custom.py ?
  2. Ok pour rendre le champ optionnel dans l'interface mais il faudra qu'il reste obligatoire sur les formulaires externes, donc à voir comment mettre ça en place.
  1. Trier les signalements dans la liste par défaut par date décroissante

C'est déjà possible de trier par colonne "date de modification", mais il faudrait le faire par défaut, ok pour moi. Est-ce qu'on tri par date de modification ou de création ?

  1. Ajouter un champs "Fournisseur" (provider).

Dans le cas des contributions externes via portail je ne suis pas sur que ce soit une information demandées / renvoyée avec la requête sur l'API, donc peut-être pas si simple ? Cela porurait impliquer une modification du endpoint et également de GTR3. Ou alors on se base sur le header de la requête pour récupérer le origin et on en fait le provider ? A creuser ...

  1. Améliorer l'email envoyé automatiquement à la création d'un signalement

Oui ok pour ma part. C'est actuellement un template qui peut être surchargé mais le surcharger par défaut me semble pertinent, et cela implique peut-être aussi des devs pour avoir accès dans le template à des infos supplémentaires.

Est-ce qu'on continue d'envoyer un email même si le signalement est créé directement depuis l'admin ?

  1. Masquer les champs du workflow

Oui ok pour moi. A vérifier si c'est en effet nécéssaire de les avoir dans l'interface mais je ne pense pas. A minima les masquer lorsque le workflow n'est pas activé.

Chatewgne commented 5 months ago

Points de vigilance :

Il me semble utile, au vu des différences de traitement qu'on va leur appliquer, de pouvoir faire rapidement la différence entre un signalement venu de l'extérieur et une perturbation renseignée par un agent. Ajouter une typologie pour faire la différence entre les deux ? Savoir que le premier est en provenance de Rando, alors que le second a été entré côté Admin, suffit-il toujours à faire la distinction entre ces deux cas ?

camillemonchicourt commented 5 months ago

OK, merci pour ces retours. Au regard de ces éléments, quelques réflexions :


Pour moi, il n'y a pas forcément tant de différence entre des signalements provenant d'un GTR, de Suricate ou directement saisis dans GTA. Et leur typologie et leurs usages peuvent varier selon les territoires et les contextes. Pour les identifier, le mieux est l'ajout de fournisseurs (providers), il me semble.

camillemonchicourt commented 4 months ago

Suite aux retours, voici les sujets à traiter dans leur ordre de priorité :

  1. Rendre le champs "Email" non obligatoire (et masquable en saisie), car on saisit un signalement depuis GTA, cela n'a pas de sens de renseigner un email, hors il est actuellement obligatoire
  2. Ajouter un filtre par année (basé sur la date de création) et éventuellement par plage de dates. A faire globalement dans tous les modules car on a ce champs partout ? Peut-être donc dans la colonne de droite car c'est un champs générique et pas spécifique au module ? Faire de même pour le champs "date de modification" tant qu'on y est ?
  3. Trier les signalements dans la liste par défaut par date de création décroissante
  4. Afficher par défaut la colonne "Date de création" plutôt que "Date de modification"
  5. Ajouter un champs "Fournisseur" (provider). Voir https://github.com/GeotrekCE/Geotrek-admin/issues/3953
    • Si saisi dans Geotrek-admin > Provider = Geotrek-admin / Priorité 1. Mais à faire par ailleurs pour les autres modules. Ou plutôt laisser vide quand ça vient de GTA ? A discuter certainement
    • Si saisi dans un portail GTR > Provider = Nom du portail GTR (il peut y en avoir plusieurs branché sur un même GTA) / Priorité 2
    • Si import depuis Suricate > Provider = Suricate
  6. Ajouter filtre par provider
  7. Ajouter Provider dans les fiches détails, les exports...
  8. Améliorer l'email envoyé automatiquement à la création d'un signalement que l'on conserve quand saisi directement dans GTA (important)
    • Ajouter l'éventuel nom de la Rando
    • Ajouter un lien vers l'URL du signalement dans GTA
    • Ajouter l'éventuel Créateur (si saisi dans GTA)
    • Ajouter le Fournisseur (provider)
  9. Actuellement les signalements comprennent aussi des champs "Gestionnaire" et "Lancer le compte à rebours"
  10. Enrichir les filtres géographiques (https://github.com/GeotrekCE/Geotrek-admin/issues/1298)
  11. https://github.com/GeotrekCE/Geotrek-admin/issues/1088
  12. https://github.com/GeotrekCE/Geotrek-admin/issues/1098

Chatewgne commented 4 months ago

Si GTA est branché à Suricate, je ne vois pas pourquoi on ne continuerai pas à envoyer ces signalements vers Suricate

L'adresse mail est requise côté Suricate pour le signalement (c'est pour cela que le champ est obligatoire dans Geotrek) afin d'identifier la sentinelle et lui envoyer les informations de suivi

Si on veut continuer à envoyer à Suricate les signalements faits depuis l'admin, soit il faut leur associer une adresse mail par défaut (utiliser l'adresse mail MANAGER ?) soit conserver le champ obligatoire

camillemonchicourt commented 4 months ago

OK je n'ai pas d'avis sur l'intérêt ou non d'envoyer les signalements créés dans GTA vers Suricate. Mais ce qui est certain, c'est que c'est bloquant que le champs "email" soit obligatoire et qu'il est important pour nous de supprimer cette obligation. Donc je dirai :

babastienne commented 4 months ago

Pas fan de l'idée d'avoir un email par défaut. Je préfère qu'on envoi les signalements vers Suricate seulement si un email est renseigné, voir pas du tout.

Chatewgne commented 4 months ago

Comment faire pour que cela soit clair ? Rajouter un message en dessous du champs email: "Si vous renseignez une adresse email, ce signalement sera envoyé à Suricate" ?

camillemonchicourt commented 4 months ago

Non non, on ne devrait pas avoir de Suricate dans Geotrek. Ce n'est qu'un cas d'usage et un outil externe. Je ne sais pas bien comment Geotrek fonctionne avec Suricate, mais cela devrait être assez indépendant et ne pas y avoir de référence spécifique à Suricate dans Geotrek. Sinon quand on créé un signalement dans GTA, on ne l'envoie pas à Suricate si c'est plus simple.

camillemonchicourt commented 3 months ago

Différents points ont été traités dans la 2.107.0 :

camillemonchicourt commented 3 months ago

Des filtres "Année de création" et "Année de modification" ont été ajoutés, mais il faudrait trier les année de manière décroissante pour avoir les années les plus récentes en haut de la liste (comme c'est le cas dans les filtres des autres modules comme le module Interventions). Et si possible, faire en sorte que la liste des valeurs des filtres passent au dessus de la modale des filtres, car sinon on voit pas facilement la liste de toutes les valeurs :

image

camillemonchicourt commented 3 months ago

Quelques retours complémentaires sur les évolutions et le fonctionnement actuel :

camillemonchicourt commented 3 months ago

Dans la 2.107.1 :