IGNFCollaboratifGetReportsConnector
Ce Transformer permet de télécharger des signalements venant du site espacecollaboratif.ign.fr.
Une série de filtres, tous facultatifs, est disponible dans les options.
L'utilisateur peut posséder un compte sur l'Espace Collaboratif, l'utilisation de ce compte permet d'accéder aux signalements privés visibles de ce compte, en sus des signalement publics.
Note
L'utilisation d'IGNFCollaboratifGetReportsConnector sans compte ne donne accès qu'aux signalements publics.
Tous les paramètres de IGNFCollaboratifGetReportsConnector sont pilotables par des attributs des entités entrantes ou des paramètres utilisateurs du workbench, à l'exception des paramètres de tri.
Les requêtes sont pour le moment sérialisées et ralenties à 3 par seconde.
Configuration
Ports en entrée
Ports de sortie
Requête
Chaque entité entrante déclenche une requête à l'Espace Collaboratif. Lorsque la requête est correctement exprimée, les entités entrantes ressortent par le port Requête avec leurs géométries et attributs initiaux, non altérés, augmentés des attributs descripteurs de la requête émise à l'Espace Collaboratif (hormis les login et mot de passe). Lorsque la requête est mal exprimée, elle est rejetée.
Attributs en entrée ;
requete_id = numéro d'identifiant (pour cette exécution seulement) de la requête conduisant à retenir ce signalements ;
requete_report_withoutgeomfilter_count = nombre de signalement hors application du paramètre "limite" et hors, le cas échéant, filtre spatial par la géométrie entrante ;
requete_reports_count = nombre de signalements (port de sortie 'Reports' téléchargés via cette requête) ;
requete_reports_httpquery = URL de la requête théorique à l'Espace Collaboratif selon les paramètres de filtre fournis par l'utilisateur, c'est à dire ceux enregistrés dans les attributs ci-dessous:
_auteur_id = valeur entrante de l'attribut de filtre (le cas échéant) 'Auteur' ;
_groupe_id = valeur entrante de l'attribut de filtre (le cas échéant) 'Numéro de groupe' ;
_departement = valeur entrante de l'attribut de filtre (le cas échéant) 'Département' ; codes INSEE ;
_commune = valeur entrante de l'attribut de filtre (le cas échéant) 'Commune' ; codes INSEE ;
_date_creation = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de création (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_creation2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de création (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_modif = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de mise à jour (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_modif2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de mise à jour (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_cloture = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de clôture (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_cloture2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de clôture (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_statut = valeur entrante de l'attribut de filtre (le cas échéant) 'Statut' ;
_theme : thème dans lequel a été effectué le signalement ; saisie du nom du thème par l'utilisateur ou liste prédéfinie sur les thèmes IGN (les thèmes personnalisés ne sont pas intégrés ; les valeurs IGN sont une valeur parmi ['Hydrographie', 'Sentier, GR', 'Parcelles, Cadastre', 'Autre', 'Route', 'Adresse, Lieux-dits', 'Points d'intérêt', 'Bâti', 'Administratif', 'Végétation']) ;
_limite : nombre maximal de signalements à retourner ;
_box: utiliser la géométrie entrante comme filtre (YES|NO) ;
_tri_attribut = attribut sur lequel le tri des Feature du FeatureType Reports a été fait ;
_tri_ordre = sens (ascendant ou descendant) de tri des Feature du FeatureType Reports.
Note
Ni le login ni le mot de passe ne sont percolés.
Le FeatureType Requête est trié par l'attribut requete_id croissant.
Reports
Les requêtes de recherche de signalement peuvent retourner des signalements, qui sont alors décrits comme des entités de type fme_point de système de coordonnées géographique WGS84 (EPSG:4326) d'attributs:
requete_id = numéro d'identifiant (pour cette exécution seulement) de la requête conduisant à retenir ce signalements
signalement_id = numéro d'identifiant du signalement ;
groupe = nom du groupe dans lequel le signalement a été fait ;
groupe_id = numéro d'identifiant EspaceCollaboratif du groupe dans lequel le signalement a été fait ;
groupe_description = description du groupe dans lequel le signalement a été fait. Sur l'espacecollaboratif.ign.fr, certaines descriptions peuvent être mises en forme (gras, soulignement, ...), elles sont ici ignorées ;
auteur_id = numéro d'identifiant de l'auteur du signalement ;
auteur_username = username de l'auteur du signalement ;
code_insee = code insee de la commune ;
nom_com = nom de la commune (en majuscules non accentuées) ;
insee_dep = numéro du département ;
nom_dep = nom du département (en majuscules non accentuées) ;
commentaire = description du signalement ;
theme = thème lié au signalement ;
attributs = attributs du signalement s'il y en a (JSON) ;
fichier_attache = pièce-jointe s'il y en avait une avec le signalement (JSON) ;
fichier_attache{}.index = liste des pièces-jointes, numéro d'index de la pièce jointe ;
fichier_attache{}.nom_de_fichier = liste des pièces-jointes, nom de fichier de la pièce jointe (incluant l'extension) ;
fichier_attache{}.fichier_binaire = liste des pièces-jointes, la pièce jointe ;
date_creation = date de création du signalement ;
date_modif = date de dernière modification du signalement ;
date_cloture = date de la clôture du signalement ;
statut = état du signalement ;
reponse = réponse au signalement s'il y en a une (JSON) ;
reponse{}, liste complexe (terminologie FME) contenant les attributs:
reponse{}.auteur_username = username de l'auteur de la réponse ;
reponse{}.auteur_id = numéro d'identifiant de l'auteur de la réponse ;
reponse{}.contenu = contenu de la réponse ;
reponse{}.index = liste des réponses, numéro d'index de la réponse (ordre chronologique) ;
reponse{}.status = statut à l'issue de la réponse ;
reponse{}.date = date de la réponse ;
croquis_xml = croquis s'il y en a un (XML) ;
croquis = croquis s'il y en a un (JSON).
Note
Les signalements ressortent triés selon leur identifiant (tri ascendant).
Un même signalement peut être retourné par plusieurs requêtes et donc être instancié dans plusieurs objets du FeatureType Reports, objets qui ne différeront que par l'attribut requete_id.
Les signalements ressortent dans la projection de la Feature pilotant leur recherche.
Le FeatureType Reports est trié par l'attribut et le sens de tri renseignés en paramètre, par défaut signalement_id ascendant.
Rejected
Les entités/requêtes invalides ou en erreurs ressortent par ce port non altérées mais avec des attributs supplémentaires :
Attributs en entrée ;
requete_id = numéro d'identifiant (pour cette exécution seulement) de la requête en échec ;
fme_rejection_code = code de l'erreur ;
fme_rejection_message = description de l'erreur ;
requete_reports_httpquery = URL de la requête théorique à l'Espace Collaboratif selon les paramètres de filtre fournis par l'utilisateur, c'est à dire ceux enregistrés dans les attributs ci-dessous ;
_auteur_id = valeur entrante de l'attribut de filtre (le cas échéant) 'Auteur' ;
_groupe_id = valeur entrante de l'attribut de filtre (le cas échéant) 'Numéro de groupe' ;
_departement = valeur entrante de l'attribut de filtre (le cas échéant) 'Département' ;
_commune = valeur entrante de l'attribut de filtre (le cas échéant) 'Commune' ;
_date_creation = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de création (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_creation2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de création (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_modif = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de mise à jour (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_modif2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de mise à jour (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_cloture = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de clôture (incluse) postérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_date_cloture2 = valeur entrante de l'attribut de filtre (le cas échéant) 'Date de clôture (incluse) antérieure à', de format YYYY-MM-DD ou de valeur NULL ;
_statut = valeur entrante de l'attribut de filtre (le cas échéant) 'Statut' :
_theme : valeur entrante de l'attribut de filtre thème dans lequel a été effectué le signalement ; notamment la liste prédéfinie sur les thèmes IGN (les thèmes personnalisés ne sont pas intégrés ; les valeurs acceptées sont une valeur parmi ['Hydrographie', 'Sentier, GR', 'Parcelles, Cadastre', 'Autre', 'Route', 'Adresse, Lieux-dits', 'Points d'intérêt', 'Bâti', 'Administratif', 'Végétation']) ;
_limite : nombre maximal de signalements à retourner (NULL ou entier positif) ;
_box: utiliser la géométrie entrante comme filtre (YES|NO) ;
_tri_attribut = attribut sur lequel le tri des Feature du FeatureType Reports a été fait ;
_tri_ordre = sens (ascendant ou descendant) de tri des Feature du FeatureType Reports.
Note
Ni le login ni le mot de passe ne sont percolés.
L'attribut système non exposé fme_feature_type permet de différencier les entités Rejected.
Le FeatureType Requête est trié par l'attribut requete_id croissant.
Paramètres
Vous avez la possibilité de filtrer les signalements. Les filtres sont cumulables sauf en ce qui concerne le filtre spatial. Il faudra en effet choisir entre spécifier un département, une commune ou une géométrie entrante.
IGNFCollaboratifGetReportsConnector nécessite la saisie (ou le pilotage via des attributs des Features entrantes, ou des paramètres utilisateurs du workbench) de paramètres facultatifs:
Paramètres obigatoires renseignés par défaut :
Attribut sur lequel trier : choisir parmi [Identifiant du signalement ; Date de création du signalement ; Date de mise à jour du signalement ; Date de clôture du signalement] ;
Ordre de tri : choisir un tri ascendant ou descendant.
Paramètres optionnels mais solidaires :
Login : pseudo de l'utilisateur de l'Espace Collaboratif à utiliser pour l'authentification, qui doit être en minuscule et d'au moins 3 caractères ;
Mot de passe : mot de passe associé à cet identifiant.
Paramètres optionnels :
Auteur : numéro d'identifiant de l'auteur (numéro) ;
Numéro de groupe : identifiant du groupe (numéro) ;
Thème : thème dans lequel chercher le signalement ; saisie du nom du thème par l'utilisateur ou liste prédéfinie sur les thèmes IGN (les thèmes personnalisés ne sont pas intégrés ; les valeurs IGN sont une valeur parmi ['Hydrographie', 'Sentier, GR', 'Parcelles, Cadastre', 'Autre', 'Route', 'Adresse, Lieux-dits', 'Points d'intérêt', 'Bâti', 'Administratif', 'Végétation']) ;
Filtre spatial (un seul critère de choix, facultatif, possible) :
Département : filtre la recherche sur le ou les département(s), via son code insee. Les valeurs acceptées sont celles permises par l'expression régulière ^([0][1-9]|2[AB]|2[1-9]|[1345678][0-9]|9[012345]|97[12346])$, accepte une suite de valeurs séparées par ','.
Commune : filtre la recherche sur la commune, via son code insee. Les valeurs acceptées sont celles permises par l'expression régulière ^(([0][1-9][0-9]|2[AB][0-9]|2[1-9][0-9]|[1345678][0-9]{2}|9[012345][0-9]|97[12345678]|98[4-9])([0-9]{2})){1}$.
Utiliser la géométrie entrante comme filtre : si la case est cochée, la géométrie entrante doit être de type 'polygone simple' et de système de coordonnées connu et différent de EPSG=0. La recherche sera filtrée sur les signalements intersectants cette géométrie entrante. Si la case à cocher est pilotée par un attribut de la Feature entrante, sa valeur doit être 'YES' ou 'NO' (sensible à la casse).
Statut : cherche les signalements de cette valeur de statut (étape de traitement, colonne 'status' OU colonne 'title' du tableau ci-dessous) ;
Date de création (incluse) postérieure à : cherche les signalements créés depuis de cette date (incluse) (format : AAAA-MM-JJ) ;
Date de création (incluse) antérieure à : cherche les signalements créés avant cette date (incluse) (format : AAAA-MM-JJ) ;
Date de mise à jour (incluse) postérieure à : cherche les signalements mis à jour depuis de cette date (incluse) (format : AAAA-MM-JJ) ;
Date de mise à jour (incluse) antérieure à : cherche les signalements mis à jour avant cette date (incluse) (format : AAAA-MM-JJ) ;
Date de clôture (incluse) postérieure à : cherche les signalements clôts depuis de cette date (incluse) (format : AAAA-MM-JJ) ;
Date de clôture (incluse) antérieure à : cherche les signalements clôts avant cette date (incluse) (format : AAAA-MM-JJ) ;
Limite : nombre maximal de signalements à retourner (NULL ou entier positif).
Note
Le paramètre "Limite" est appliqué avant la restriction, le cas échéant, à la géométrie entrante comme filtre spatial. Cela signifie que si la géométrie entrante est utilisée comme filtre spatial, le FeatureType de sortie Reports pourra contenir moins d'entités que spécifié dans le paramètre "Limite". Le FeatureType de sortie Requête possède deux attributs permettant de jauger l'impact du filtre spatial selon la géométrie entrante:
requete_report_withoutgeomfilter_count = nombre de signalement hors application du paramètre "limite" et hors, le cas échéant, filtre spatial par la géométrie entrante ;
requete_reports_count = nombre de signalements (port de sortie 'Reports' téléchargés via cette requête).
En v1, IGNFCollaboratifGetReportsConnector autorisait la requête simultanée sur plusieurs départements ou communes, ce n'est plus le cas en v2. L'API accepte en effet un tableau de codes INSEE de départements ou un code INSEE de commune, hétérogénéité compensée en v1 par une multiplication des requêtes ce qui a l'inconvénient, en cas d'échec de l'une d'entre elle, d'invisibiliser l'erreur. En v2, c'est à l'utilisateur de cloner au besoin les Features entrantes ou d'insérer plusieurs instances IGNFCollaboratifGetReportsConnector avec le bénéfice d'être certain des réussites ou échecs des requêtes.
Si le numéro d'identifiant de groupe vous est inconnu, consultez connaître l'identifiant d'un groupe
La liste des statuts de signalements est:
status |
title |
---|---|
submit |
Reçu dans nos services |
pending0 |
En demande de qualification |
pending |
En cours de traitement |
pending1 |
En attente de saisie |
pending2 |
En attente de validation |
valid |
Pris en compte |
valid0 |
Déjà pris en compte |
reject |
Rejeté (hors spéc.) |
reject0 |
Rejeté (hors de propos) |
test |
En mode test |
Disponibilité et métriques d'usage
Disponibilité
Le site web Espace Collaboratif est monitoré par des sondes UptimeRobot, en particulier la route GET /reports/ utilisée par IGNFCollaboratifGetReportsConnector
L'authentification, au travers de la Géoplateforme, est monitorée par des sondes UpTrends, notamment la sonde d'"Identity and Access Management" (IAM):
Métriques d'usage
Aucune statistique d'usage de IGNFCollaboratifGetReportsConnector n'est actuellement disponible.
Développement
IGNFCollaboratifGetReportsConnector est disponible pour être utilisé uniquement en mode lié (Insert Mode = Linked Always, cf. Export as Custom Transformer).
Auteurs
Développeur(s):
MUSCARNERA Laurent, PY Nicolas, HARDY Thomas (IGN)
Testeur(s):
PY Nicolas, MUSCARNERA Laurent, HARDY Thomas (IGN)
Documentation:
PY Nicolas, MUSCARNERA Laurent, HARDY Thomas (IGN)
Historique de versions de IGNFCollaboratifGetReportsConnector
Version |
Date (desc) |
Commentaire |
---|---|---|
2 |
2024-11-18 |
Release v2 publique (compatible API Espace Collaboratif v4.0), publication sur le VStore. |
2 |
2024-07-04 |
Release v2 interne, compatible API Espace Collaboratif v4.0. |
1 |
2024-01-18 |
Release V1 |
1 |
2023-12-31 |
Release V1 interne |
1 |
2023-06 |
Release beta |
La documentation de la v1 est disponible via le cliché Wayback Machine IGNFCollaboratifGetReportsConnector.
Bug connu
Attention
Le Transformer IGNFCollaboratifGetReportsConnector fait à ce jour l'objet de plusieurs bug connus:
Le critère de filtre sur le thème n'est pas pris en compte.
Le critère de filtre de valeur "Adresse, Lieux-dits" est tronqué en "Adresse", ce qui entraîne un rejet de la recherche.
Dans les attributs Reports/_reponse{}.reponse.*, les valeurs nulles sont transposées à tord en valeur littérales avec la chaîne de caractère "null" ; corrigeable via un NullAttributeMapper.
Aperçu
Le Transformer IGNFCollaboratifGetReportsConnector est composé d'environ 250 Transformers.
rTest
Le Transformer IGNFCollaboratifGetReportsConnector bénéficie de 17 tests dans un scénario unique.
Ils permettent de vérifier que le comportement du Transformer est correct dans les différents cas d'authentification (véracité des login et mots de passe), mais vérifient également que les combinaisons impossibles de paramètres soient rejetées. La validité des valeurs de paramètres et la conformités du FeatureType des entités sortantes sont également vérifiés. De plus, la non altération des données entrantes ressortant par les FeatureType 'Requête' et 'Rejected' est contrôlée.