Table des matières

Développements prioritaires envisagés

Ce document de travail reprend et complète les informations du document suivant : https://geonature.fr/documents/2020-01-Etude-migration-PIFH-SILENE-GeoNature.pdf

* ⇒ v2 : indique une fonctionnalité qui n'est pas indispensable et ne sera pas développé en priorité. Afin de privilégier une déploiement rapide d'une solution fonctionnelle. Nous pourrons reporter ces fonctionnalités dans une version ultérieure.

Ressources documentaires

La rédaction du cahier des charges techniques s’est appuyée sur les ressources documentaires listées ci-dessous.

Types d'utilisateur

Nous distinguons 4 types d'utilisateursdes futurs sitesdes SINP régionaux (SILENE et PIFH) :

Organisation des outils

Pour satisfaire le besoin de l'ensemble des utilisateurs concernant les informations générales sur SILENE et PIFH, nous mettrons en place un système de gestion de contenu (CMS). Le CMS Wordpress permettra de diffuser des informations relatives à SILENE et au PIFH et à leur réseau. Il servira d'aiguillage vers les différents outils disponibles répondant aux besoins des différents types d'utilisateurs. Il offrira aussi la possibilité de diffuser des actualités ou d’accéder à différentes ressources en téléchargement. Par défaut, la charte graphique de ce CMS sera basée sur celle du site actuel silene.eu.

Les utilisateurs de type « grand public » accéderont aux observations restituées dans des mailles 5x5 km, et à la commune, à l'aide de GeoNature-Atlas. Il contiendra au départ peu d'informations complémentaires (photos, audios, descriptions, articles, etc.) mais pourra être enrichi progressivement au cours du temps. Cela sera l'occasion de publier des actualités qui permettront de dynamiser la communauté d'utilisateurs de SILENE.

Pour les utilisateurs « adhérent » ou « pro », c'est GeoNature et son module Synthèse qui fourniront l'accès aux données précises. Mais cet accès passera pour l'utilisateur par une démarche d'inscription, de demande de permissions et de validation par les « administrateurs ».

⇒ v2 : à moyen terme, il lui sera offert la possibilité d'accéder en consultation et modification aux données d'observation qu'il aura pu saisir via GeoNature - module OccTax. Les données saisies par cet outil seront par défaut non publiées tant qu'elles n'ont pas été validées. De même, toute modification d'une observation nécessitera de la valider à nouveau si un des champs principaux a été modifié (qui ? quoi ? quand ? où ?). Afin de simplifier la gestion des données ainsi collectées, il sera proposé de tester un processus de validation à l'aide de GeoNature - module Validation.

Dans GeoNature - module Synthèse l'utilisateur identifié pourra effectuer des recherches à l'aide de nombreux filtres permettant d'afficher, par défaut, au maximum les 50 000 observations les plus récentes correspondant aux critères sélectionnés. Ces observations pourront à tout moment être exportées dans 3 formats universels : GeoJson, CSV et Shapefile. En cas de besoin, le seuil du nombre de données affichables pourra être réévalué, après une série de tests d’ergonomie de l’affichage, afin de fournir aux utilisateurs l’information la plus pertinente possible.

Les « administrateurs » pourront gérer la validation des inscriptions dans UsersHub et les demandes de permissions d'accès dans GeoNature - module Admin. Le référentiel TaxRef sera administrable dans l'outil TaxHub.

Enfin, GeoNature - module Export leur permettra de prédéfinir des fichiers exportables publiquement ou non. Nous passerons par cet intermédiaire pour faire remonter les données au niveau national.

⇒ v2 : à terme ce module permettra l'accès aux données collectées via GeoNature - module OccTax.

Schéma d’organisation des outils

 Schéma SINP régionaux - Acteurs et outils - Légende  Schéma SINP régionaux - Acteurs et outils

Détail des processus et rôles du schéma d’organisation des outils :

⓵. Portail principal de présentation et d’orientation des utilisateurs vers les différents outils ;

⓶. Visualisation des données à la maille et à la commune ;

⓷. Accès via identifiant et mot de passe ;

⓸. Gestion de l’affichage des données ;

⓹. Administration : gestion des inscriptions, groupes, utilisateurs et organismes (création / modification / suppression).

⓺. Intégration du référentiel TaxRef et des taxons ;

⓻. Validation des données ;

⓼. Contrôles de cohérence et de conformité ;

⓽. Saisie de données des données sources - outil de saisie spécifique du PIFH.

⓾. Saisie de données sources - outil de saisie des producteurs et/ou fournisseurs de données, indépendant des SINP régionaux.

Adressages web - Propositions pour les SINP PACA & AURA

Adressages web SINP PACA

Principes

Nous lierons le domaine principal silene.eu au CMS afin qu'il soit le portail permettant d'aiguiller les utilisateurs vers les différents outils.
À chaque outil correspondra un sous-domaine de silene.eu.
Les adresses web des sites/outils étant des vitrines du projet, les noms seront choisis de manière à être représentatif des objectifs de l'outil.

Proposition

Les adresses web se répartiront ainsi :

  • silene.eu : pour l'accès au CMS une fois la mise en production effectuée.
  • cms.silene.eu : pour l'accès au CMS pendant la phase temporaire de création du contenu. Ce sous-domaine sera ensuite redirigé vers la page d'administration de silene.eu.
  • nature.silene.eu (alias : atlas.silene.eu) : pour l'outil Geonature-Atlas ; correspond à l'accès grand public.
  • expert.silene.eu (alias : geonature.silene.eu) : pour l'outil principal Geonature et ses sous-modules (Synthèse, Métadonnées, Export, Import, OccTax…) ; correspond à l'accès professionnel.
  • taxhub.silene.eu : pour l'accès à TaxHub, c'est à dire à la gestion du référentiel taxonomique.
  • usershub.silene.eu : pour l'accès à UserHub, c'est à dire à la gestion des inscriptions, des utilisateurs et des organisations.

Adressages web SINP AURA

Principes

Le domaine principal biodiversite-auvergne-rhone-alpes (extensions .fr, .com, .net, .org, .eu) a été choisi par le Comité de Pilotage : DREAL, Région, OFB. (L'abréviation aura a été écartée et ce nom de domaine est en cohérence avec l'observatoire régional du climat).

Le domaine "de réserve" observatoire-biodiversite-auvergne-rhone-alpes a été réservé en complément au cas où le domaine biodiversité servirait, à terme, à un projet plus vaste que les seuls observatoires.

En construction

  • biodiversite-auvergne-rhone-alpes.fr : pour l'accès au CMS une fois la mise en production effectuée.
  • cms.biodiversite-auvergne-rhone-alpes.fr : pour l'accès au CMS en phase de création

Existant

Seul le CMS est en cours de mise en place à l'heure actuelle, et aucun sous-domaine n'a été défini pour les outils à venir. A titre d'information, voici les sous-domaines actuellement en place sur le Pôle Invertébrés, auxquels les utilisateurs s'habituent pour certains

  • pole-invertebres.fr : pour l'accès au CMS
  • atlas.pole-invertebres.fr : pour l'outil Geonature-Atlas ; correspond à l'accès grand public.
  • donnees.pole-invertebres.fr : pour l'outil principal Geonature et ses sous-modules (Synthèse, Métadonnées, Export, Import, OccTax…) ; correspond à l'accès professionnel.
  • taxons.pole-invertebres.fr : pour l'accès à TaxHub, c'est à dire à la gestion du référentiel taxonomique.
  • gestion.pole-invertebres.fr : pour l'accès à UserHub, c'est à dire à la gestion des inscriptions, des utilisateurs et des organisations.
  • visio.pole-invertebres.fr : pour l'accès à Jitsi meet (actuellement désactivé).
  • contacts.pole-invertebres.fr : pour l'accès à l'annuaire des experts, outil qui demanderait davantage d'animation et de temps, et qui sera d'autant plus pertinent à l'échelle d'un ORB non thématique

Infrastructure serveurs

L'application GeoNature devant gérer une grande quantité d'observations (plus de 12 millions et plus de 7 millions pour le PIFH), il est envisagé de dédier un serveur à la base de données.

Afin de garder une possibilité d'évolution vis à vis de l'infrastructure, nous prendrons 2 serveurs virtuels. Cela nous permettra de bien répartir la charge entre la base de données et les interfaces web. Nous pourrons avoir une machine performante avec un grande mémoire vive pour la base de données et plus légère pour les interfaces web.

L'offre Public Cloud d'OVH permettant de répondre à ces besoins, nous avons prévu de prendre dans le même datacenter les éléments suivants :

Au niveau du système d'exploitation, nous installerons la distribution conseillée pour GeoNature : Debian 10 (Buster).
Concernant la base de données, Postgresql sera installé en version 11 avec la dernière version de Postgis correspondante.

Schéma architecture serveur SINP régionaux

Concernant le PIFH, l’infrastructure des serveurs se basera sur celui réalisé pour le SINP PACA. En effet, il a été discuté un temps la possibilité de maintenir l'hébergement par l’Université Clermont Auvergne. Mais dans un souci de mutualisation des efforts, il a été décidé de réutiliser la même infra-structure pour les 2 SINP.

Sécurité du système

Les données présentes dans la base de données PostgreSQL seront stockées sur un volume de type Block Storage. Ce type de stockage voit les données qu’il contient distribuées dans trois réplicas sur des disques physiques distincts. De plus, les informations sont réparties dans des serveurs différents.

Après chaque mise à jour majeure, nous lancerons une sauvegarde de la base à l’aide de l’outil pg_dump. Le fichier de sauvegarde ainsi obtenu sera stocké hors serveur OVH sur un ou plusieurs espaces de stockage physiquement distants.

Par ailleurs, nous pourrons effectuer des snapshots du volume contenant les données. Cela nous permettra de restaurer intégralement l’état de la base de données tel qu’il était avant la mise à jour(en cas de problèmes). Ceci pourra être réalisé à tout instant à l’aide des interfaces web d’administration du Public Cloud mis à notre disposition.

Il nous sera aussi possible de réaliser des sauvegardes automatisées des instances (serveurs virtuels WEB et BDD). Une rotation de ces sauvegardes sur plusieurs jours avec suppression automatique de la plus ancienne pourra éventuellement être mise en place.

Les snapshots de volume et les sauvegardes d’instances sont aussi réalisées dans 3 réplicas.

Inscription des utilisateurs

Étant donnée qu'une partie des utilisateurs n'est pas connue par avance, GeoNature devra fournir un formulaire d'inscription accessible directement par tout nouveau utilisateur depuis la page d'accueil.

Accès au formulaire d'inscription

Lors de la première consultation de GeoNature par un utilisateur l'accès à ce formulaire sera proposé via un lien présent sur la page de demande d'identification. Cela ouvrira une fenêtre modale incluant le formulaire d'inscription décrit ci-dessous.

Cette inscription préalable permettra à l'utilisateur d'accéder aux différents modules de GeoNature en fonction permissions qui lui ont été affectées par défaut (accès aux données publiques et à ses propres données à leur précision maximale).

Au niveau du module Synthèse, cela permettra l'accès aux données publiques. Les données géo-confidentielles resteront floutées en fonction des paramètres du jeu de données et des permissions de l'utilisateur.

Si l'utilisateur souhaite accéder à des observations avec une géolocalisation précise auxquelles il n’a pas accès par défaut (jeux de données privées «floutés» et/ou des observations sensibles), il pourra effectuer une demande de permissions d'accès spécifique.

Lors de la navigation dans GeoNature – module synthèse, l’utilisateur sera informé (par des figurés spécifiques ou un message d’alerte) de l’existence dans Silene de données sensibles non consultables précisément du fait des restrictions d'accès liées aux permissions utilisateurs. Lors des développements liés à l’inscription de l’utilisateur, nous ferons en sorte de respecter les règles du Règlement Général sur la Protection des Données (RGPD).

Formulaire d'inscription

Le formulaire comprendra les sections et champs suivant :

Oubli d'identifiant ou de mot de passe

En cas d'oubli d'identifiant ou mot de passe, l'utilisateur pourra en refaire la demande à l'aide de son email utilisé lors de l'inscription.

Un lien "Identifiant ou mot de passe oublié ?" sera présent la page d'authentification de GeoNature. Un clic dessus ouvrira une fenêtre modale. Celle-ci contiendra :

Une fois le formulaire rempli et lors du clic sur le bouton "Envoyer", une message sur fond bleu s'affichera à l'écran pour indiquer la prise en compte de sa demande. Le message sera "Un email vient de vous être envoyé pour récupérer votre identifiant et/ou renouveler votre mot de passe.".
En cas d'erreur (impossibilité d'envoyer l'email, erreur de saisie, …) le message sera affiché sur fond rouge.

Dans l'email reçu par l'utilisateur, un lien sera présent et permettra à l'utilisateur de retourner sur GeoNature pour y recréer un nouveau mot de passe.
L'interface en question consistera en un formulaire composé de :

Si le formulaire est rempli avec succès le message "Mot de passe modifié avec succès." s'affichera sur fond bleu et l'utilisateur sera redirigé automatiquement sur le formulaire d'authentification.

Emails liés à l'inscription

Demande d'inscription - Administrateur

L'email de demande d'inscription à destination de l'administrateur aura la forme suivante :

Bonjour,

Un utilisateur vient d'effectuer une demande de création de compte sur GeoNature "Silene - Expert".
Voici les informations de l'utilisateur :

    Nom : <NOM>
    Prénom : <Prénom>
    Identifiant : <identifiant>
    Email : <email>

Informations complémentaires :

    remarque: <remarque>
    validate_charte: ['true']

Souhaitez vous :
 - Accepter cette inscription : <lien-accepter>
 - Accéder à l'interface de gestion : <lien-vers-interface>

Cordialement,

Acceptation d'inscription - Utilisateur

Une fois, l'inscription acceptée par l'administrateur, l'email à destination de l'utilisateur aura la forme suivante :

*** Ceci est un message généré automatiquement ***

Bonjour <prénom> <NOM>,

Votre inscription à "Silene - Expert" a été acceptée.
Vous pouvez dès à présent vous connecter sur http://expert.silene.eu
Pour rappel, votre identifiant de connexion est : <identifiant>

Nous vous rappelons que cette inscription vous donne accès à la consultation des données publiques versées dans Silene [=>v2: mais également de vos propres données]. L’accès aux autres données nécessite de compléter un « formulaire de demande d‘accès aux données précises » (en savoir plus <insérer lien vers aide formulaire>). L'accord sera formalisé par l’acceptation d'une convention « droit d'accès aux données précises » et donnera lieu à l'attribution d'un accès direct à ces données. La convention engage le titulaire à un bon usage des données et à une alimentation de Silene en retour <insérer lien plateforme de versement données>.

Bien cordialement,
L'administrateur.

Confirmation changement Identifiant / mot de passe - Utilisateur

L'email envoyé suite à la demande de réinitialisation de mot de passe aura la forme suivante :

Vous avez oublié votre identifiant / mot de passe.

Voici vos informations pour vous connecter :

Identifiant : <identifiant> 

Pour réinitialiser votre mot de passe : <lien-vers-interface-GeoNature>

Demande de permissions d'accès aux données géo-confidentielles

L'utilisateur doit pouvoir indiquer le type d'observations pour lesquelles il souhaite accéder aux informations de localisation précises. Pour cela, un formulaire sera mis à disposition.

Accès au formulaire de demande d'accès aux données géo-confidentielles

Lorsqu'un utilisateur se connecte à GeoNature, un message de présentation s'affiche. Nous utiliserons cet espace pour indiquer à l'utilisateur comment accéder aux données géo-confidentielles.

Le message pourra avoir la forme suivante : « Si vous souhaitez accéder aux observations géo-confidentielles (jeux de données privées avec niveaux de diffusion, observations sensibles). Vous devez accepter électroniquement une convention ponctuelle à l'aide du formulaire de demande de permissions d'accès aux observations géo-confidentielles . ». Un lien vers le formulaire sera présent sur la dernière phrase.

Il sera aussi possible d'accéder à ce formulaire via une entrée dans le menu "Mon compte/Profil" présent dans l'entête de l'interface de GeoNature.

L'activation/affichage du formulaire de demande de permissions sera lié à un paramètre de configuration qu'il faudra activer. Par défaut, GeoNature sera installé sans cette option.

Formulaire de demande de permissions d'accès

Le formulaire comprendra les sections et champs suivant :

Modèle de convention

<h2>Convention « Droit d'accès ponctuel aux données géoconfidentielles / Silene »</h2>
 
<p><organisation> représenté par <prénom> <NOM> désigné sous le terme « l’utilisateur identifié » s’engage à respecter les termes suivants</p>
 
<h3>Préambule</h3>
 
<p>En Provence-Alpes-Côte d’Azur, Silene est le portail public d’accès aux données naturalistes. Silene informe sur la localisation des espèces de faune et de flore et des habitats naturels ou semi-naturels. Silene est ainsi la plateforme régionale d’occurrence taxon du Système d’Information Nature et Paysage (SINP) en Provence-Alpes-Côte d’Azur.<br/>
Le SINP est un programme national, porté par le Ministère chargé de l’Environnement et conçu comme une organisation collaborative pour la production, la gestion, le traitement, la valorisation et la diffusion des données sur la nature et les paysages. Son organisation est décrite dans un protocole national (circulaire du 15 mai 2013 en cours d’actualisation).<br/>
En facilitant l’accès à l’information, Silene a pour objectif la connaissance et la conservation du patrimoine naturel régional. C’est un outil public et collectif au service de la prise en compte de la biodiversité, financé et piloté de façon partenariale. Les partenaires approuvent un document commun de référence : la charte Silene.<br/>
Les données de Silene sont librement consultables à la précision de la commune ou de la maille. L’accès à l’information plus détaillée est autorisé en réponse à des demandes ponctuelles et motivées, selon les principes validés par le comité de pilotage.<br/>
Les données et informations qui sont fournies dans le cadre de Silene ne sont pas exhaustives et nécessitent la consultation d’autres sources, une réactualisation et des inventaires complémentaires dans le cadre de l’expertise.</p>
 
<h3>Article 1. Objet de la Convention</h3>
 
<p>Cette convention établit les droits d’accès aux données précises de Silene pour l’utilisateur identifié signataire de la présente convention, et les engagements liés à cet accord. Elle traite des aspects relatifs à la consultation et l’exportation des données.</p>
 
<h3>Article 2. Droits d’accès</h3>
 
<p>L’accès est accordé à <prenom> <NOM> - <organisation> en tant que sur une demande motivée pour l’objet suivant : <description></p>
 
<p> <NOM> <Prénom> a reçu lors de son inscription un identifiant et un mot de passe personnel lui permettant l’accès au portail Silene et aux données source des occurrences de taxons. Les droits d’accès et les identifiants fournis sont strictement nominatifs et leur utilisation reste sous la responsabilité de « l’utilisateur identifié ». </p>
 
<p>« l’utilisateur identifié » signataire de la présente convention déclare avoir pris connaissance et approuver la charte. Silene met à disposition l'ensemble des données validées contenues dans Silene pour les droits de consultation suivants :</p>
<ul>
    <li>délimitation géographique : <zones-geographiques></li>
    <li>groupes systématiques : <groupe-taxonomique></li>
    <li>durée de mise à disposition : <date></li>
</ul>
 
<h3>Article 3. Utilisation des données Silene</h3>
 
<p>L’ouverture de droits d’accès pour Silene est strictement subordonnée au respect des conditions suivantes :</p>
<ul>
    <li>ne pas utiliser la donnée Silene pour des buts contraires à la conservation de la nature,</li>
    <li>respecter strictement la charte Silene notamment l’article spécifique sur les règles liées à la donnée et à sa citation,</li>
    <li><strong>ne pas céder à un tiers des données dont il ne serait pas propriétaire sans l’accord de Silene</strong>,</li>
    <li>ne pas diffuser les codes d’accès qui sont nominatifs et sous sa responsabilité,</li>
    <li>toujours citer la source des données dans toute valorisation de leur exploitation : « Silene – date de consultation - sources (fournisseurs de données) »,</li>
    <li>apposer systématiquement le logo Silene dans toute production ayant mobilisé des données de Silene</li>
</ul>
 
<p>Puisque ces droits d’accès sont accordés dans le cadre d’une étude faisant l’objet d’une commande spécifique d’un maître d’ouvrage, l’utilisateur identifié certifie sur l’honneur être effectivement missionné par le commanditaire, et s’engage à :</p>
<ul>
    <li>n’utiliser les données de Silene que dans le cadre de la mission ayant donné lieu à l’autorisation d’accès de la présente convention</li>
    <li>fournir les données recueillies dans le cadre de l’étude en s’assurant de l’autorisation du commanditaire de l’étude pour leur mise à disposition dans Silene dans le délai d’un mois suivant l’expiration du droit d’accès, directement aux administrateurs sous forme de tableaux Excel standardisé précisant a minima : nom de l’espèce (latin), nom du découvreur, commune et la géolocalisation précise de l’observation, date de l’observation. Dans la mesure du possible, elles seront complétées sur les champs optionnels proposés. Un formulaire standard de donnée est disponible sur https://silene.eu onglet « Accès aux données »</li>
</ul>
 
<p>L’usage des données par l’utilisateur n’engage pas la responsabilité de Silene.</p>
 
<p><b>Résiliation de la convention</b> : La convention est établie pour la durée de mise à disposition précisée en article 2. Elle pourra être reconduite sur la base d’une nouvelle demande motivée. En cas de non-respect des engagements de la présente convention, elle peut être résiliée de façon unilatérale sans préavis.</p>

Courriels liés aux demandes de permissions

Demande de permissions - Administrateur

Lors de toute nouvelle demande, un email sera envoyé aux administrateur. Son contenu aura la forme suivante :

Bonjour,

L'utilisateur <Prénom> <NOM> (<organisme>) vient d'effectuer une demande de permissions d'accès à GeoNature : <adresse-web>
Voici les permissions demandées :
 - Accès aux observations privées précises : oui
 - Accès aux observations sensibles précises : <oui-ou-non> [champ paramétrable selon le SINP régional]
Accès limités par :
 - Zones géographique : <liste-des-zones / voir fichier en pièce-jointe>
 - Groupes taxonomiques : <liste-des-groupes>
 - Fin le : <date>

Informations complémentaires :
 - Type d'étude ou de projet : <type>
 - Description : <description>

Souhaitez vous :
 - accepter cette demande : <lien-accepter>
 - refuser cette demande : <lien-refuser>
 - accéder à l'interface de gestion : <lien-vers-interface>

Cordialement,

Acceptation de demande - Utilisateur

Si la demande est acceptée un email de confirmation sera ensuite envoyé par le compte "admin/ne-pas-repondre@silene.eu" et contiendra un texte de la forme suivante :

*** Ceci est un message généré automatiquement ***

Bonjour <Prénom> <NOM>,

Votre demande de permissions d'accès à <nom-du-sinp> vient d'être acceptée.
Adresse du site : <https://expert.silene.eu>
Votre identifiant de connexion : <identifiant>
Vos permissions sont valables jusqu’au <date>.
Rappel de votre demande :
 - Accès aux observations privés précises : oui
 - Accès aux observations sensibles précises : <oui-ou-non> [champ paramétrable selon le SINP régional]
Accès limités par :
 - Zones géographiques : <liste-des-zones>
 - Groupes taxonomiques : <liste-des-groupes>

Votre demande de données concerne des données sensibles, données visées à l'article L. 124-4 §8 du code de l'environnement, dont la consultation ou la communication peut porter atteinte à la protection de l'environnement. Par conséquent, elles sont floutées géographiquement lors de leur diffusion. [Champ paramétrable selon le SINP régional]

Pour plus d'information n'hésitez pas à nous contacter, <email-ou-lien-vers-formulaire>.

Bien cordialement,
L'administrateur. 

Refus de demande - Utilisateur

Si la la demande est refusée un email de confirmation sera ensuite envoyé par le compte "admin/ne-pas-repondre@silene.eu" et contiendra un texte de la forme suivante :

*** Ceci est un message généré automatiquement ***

Bonjour <Prénom> <NOM>,

Votre demande de permissions d'accès à <nom-du-sinp> vient d'être refusée.
Raison du refus : <texte-explicatif>

Pour plus d'information n'hésitez pas à nous contacter, <email-ou-lien-vers-formulaire>.

Bien cordialement,
L'administrateur. 

Interfaces d'administration des inscriptions et permissions

Les 2 formulaires précédents vont fournir des données qui seront ensuite accessibles par les administrateurs dans 2 outils distincts.
Concernant l'inscription, les informations de l'utilisateur seront visible dans UsersHub. Pour les demandes de permissions d'accès, elles seront gérables via le menu "Admin" de GeoNature.

Gestion des inscriptions

Les demandes d’inscriptions des utilisateurs à GeoNature seront par défaut stockées dans la table utilisateurs.temp_users, cela correspond à un état en attente de validation d'inscription. L’administrateur en validant l’inscription d’un utilisateur devra l’associer à un groupe : “Pro” ou “Adhérent”.

Ces groupes auront des permissions définies en fonction de la charte.

Les administrateurs de GeoNature seront prévenus de la nouvelle inscription par l'envoi d'un email. Ce dernier contiendra un lien pour accéder directement à l'interface permettant d'accepter/refuser l'inscription.
Cette interface de validation des utilisateurs se trouvera dans UsersHub. Un menu "Demandes de compte" proposera d'accéder à la liste des inscriptions en attente/refusées. Par défaut, un premier onglet affichera un tableau avec la liste des inscriptions en attente. Un second onglet permettra d'accéder au tableau des inscriptions refusées.

La possibilité de renseigner une raison au refus sera proposée à l'administrateur. Cette information sera stockée dans le champ "Commentaire" de l'utilisateur. La date d'acceptation/refus devra aussi être stockée.

Lorsque l'inscription est accepté/refusé un email est envoyé à l'utilisateur pour le prévenir.

Notes techniques : les infos seront stockées dans une table ("temp_users" ⇒ à renommer, si possible) du schéma "utilisateurs" de la base de données.

Gestion des demandes de permissions

La gestion des demandes de permissions aura lieu dans l'outil GeoNature et va demander une refonte de l'interface du sous-module "Administration des permissions" présent dans le module "Admin". Les administrateurs de GeoNature seront prévenus de la nouvelle demande par l'envoi d'un courriel. Ce dernier contiendra un lien pour accéder directement à l'interface permettant d'accepter/refuser la demande.
L'acceptation/refus de la demande de permissions générera un courriel automatique à destination de l'utilisateur.

Modifications de l'interface « Administration des permissions »

Cette interface de validation des demandes de permissions se trouvera dans GeoNature, module « Admin ». Un menu « Administration des permissions » proposera 2 menus principaux :

Au niveau de ces interfaces, nous utiliserons les termes suivant :

L'interface de gestion des permissions contiendra un tableau des utilisateurs et groupes intitulé « Permissions des utilisateurs et groupes » avec les champs :

Ce tableau pourra être paginé et filtré. Par défaut, le tableau sera trié par Type avec les groupes en premier, puis le trie s'effectuera sur le champ Nom. Les lignes des groupes auront un fond coloré distinct de celui des utilisateurs.

L'interface de consultation des permissions d'un utilisateur ou groupe contiendra une liste paginée de permissions classées par module. La présentation sera semblable à l'interface du module Métadonnées. Elle aura pour titre « <nom> -Permissions relatives aux modules ». Un bouton « Ajouter une permission » sera présent au dessus de la liste. Cette interface étant chargé dans une nouvelle page, un bouton « Retour » en haut à gauche permettra de revenir sur l'interface précédente. Dans la liste, un clic sur un nom de module permettra de dérouler la liste des permissions qui s'affichera avec les champs suivant :

L'interface de modification/ajout de permissions se basera sur la nouvelle table cor_module_action_object_filter. L'interface contiendra un assistant fournissant progressivement l'accès à des champs en fonction des choix précédents et des options disponibles dans la table cor_module_action_object_filter. Les champs seront :

L'interface possédera un titre « Demande de permissions d'accès ». Au dessous, 2 onglets contiendront des tableaux paginés des demandes de permissions d'accès aux données géo-confidentielles :

Les tableaux des 2 onglets contiendront les colonnes communes suivante :

Le tableau des demandes « En attente » contiendra en supplément :

Le tableau des demandes "Traitées" contiendra en supplément les colonnes suivantes:

L'interface de consultation détaillée de la demande, intitulée « Détail demande de permissions - <Prénom> <NOM> (<Organisme>) », affichera l'ensemble des informations saisie par l'utilisateur. Une fois traitée par un administrateur des informations complémentaires pourront y être mentionné (raison du refus).

Si la demande n'a pas encore été traitée une bouton "Définir le statut" sera affichée dans l'entête de l'interface de consultation détaillée. Il permettra d’accéder à un menu avec 2 choix « Accepter » et « Refuser ». Ces menus auront le même fonctionnement que les boutons icônes du tableau des demandes « En attentes ». Si la demande a été traitée, le bouton (nommé "Changer le statut") permettra d'inverser la décision ou de "Placer en attente" la demande. La mise en attente d'une demande comme le refus implique une suppression des permissions associés.

Lors du changement de statut d'une demande un email sera automatiquement envoyé à l'utilisateur pour le prévenir du changement de statut de sa demande.

Modifications envisagées dans la base de données GeoNature

Les permissions permettant d’accéder aux données géo-confidentielles nécessitent des modifications dans la base de données. À priori, les modifications envisagées sont :

Impact de la géo-confidentialité sur les interfaces

La géo-confidentialités des observations liée aux observations sensibles et au niveau de diffusion des données privées se traduira sur les interfaces de consultation et d'export par un floutage de l'information géographique.

Dans un premier temps, afin de respecter les Chartes des SINP régionaux, tous les jeux de données seront considérés comme privés. Les permissions d’accès attribuées aux utilisateurs permettront alors de définir le niveau de précision géographique accessible.

Ce floutage impacte les types d'interfaces suivant :

Les modules et applications de GeoNature concernés sont :

  1. Synthèse
  2. GeoNature-Atlas
  3. Export
  4. OccTax
  5. Validation

Dans le cadre de la première version de l'utilisation de GeoNature pour Silene et le PIFH, nous concentrerons nos développements sur le module "Synthèse" qui sera le seul à pouvoir faire apparaitre des informations précises. Nous réaliserons les développements nécessaires sur les modules dans l'ordre de la liste précédente.

: la possibilité d’une représentation différenciée des observations en fonction de leur niveau de précision sera étudiée dans un second temps.

Nous ne tiendrons compte que du cas des observations de type « inventorielles » (voir attribut natureObjetGeo du standard DEE). Nous ne flouterons que les champs contenant des données géographiques. Les champs textuels comme comment_context ou comment_description pouvant contenir des informations complémentaires sur la localisation (ex. lieu-dit) seront diffusés.

Le niveau de sensibilité des observations sera calculé à l’aide des règles de sensibilité définies dans le cadre du SINP régional et intégrées à GeoNature (voir « Calcul automatique sensibilité des données »). Ces règles seront à définir au niveau régional en se basant sur les recommandations du guide technique « Définition et gestion des données sensibles sur la nature dans le cadre du SINP », et devront être validées par le Conseil Scientifique Régional du Patrimoine Naturel.

Les 4 types possibles d'objet géographique correspondant à des niveaux de floutage sont :

Les champs d'une observation présents dans la table synthese permettent de calculer les géométries correspondantes aux critères de géo-confidentialité.

Le croisement de l'info présente dans le champ the_geom_4326 avec les géométries de la table l_areas en fonction d'un type d'objet géographique déterminé par les valeurs des champs id_nomenclature_diffusion_level pour les jeux de données privés (champ id_nomenclature_data_origin, table gn_meta.t_dataset) et id_nomenclature_sensitivity pour les observations sensibles permettra de déterminer la géométrie à utiliser pour chacun des critères.

Ainsi, les développements consisteront principalement à rajouter 2 champs à la table synthese :

Ces champs seront pré-calculés et un trigger les maintiendra à jour. Ils contiendront un id provenant la table ref_geo.l_areas. Les informations (dont la géométrie) de la table ref_geo.l_areas seront ensuite utilisées pour l'affichage dans les différents types d'interface listés ci-dessus. Il sera peut-être nécessaire de rajouter un champ à la table ref_geo.l_areas qui contiendra la géométrie au format SRID 4326.

Tableau du type d'objet géographique utilisé en fonction des critères de géo-confidentialité (https://github.com/PnX-SI/Nomenclature-api-module/issues/39#issuecomment-773492258):

Type Sensibilité (id_nomenclature_sensitivity) Obs. Privée - Niveau de diffusion (id_nomenclature_diffusion_level)
Précision max. 0 ou NULL/vide 5 ou NULL/vide
Commune ou Znieff 1 1 ou 0
Maille 10x10km
(5x5km pour Silene)
2 2
Département 3 3
Non consultable - Aucune diffusion 4 4

Exemple issu du document "Diffusion des données par niveaux de restitution dans GINCO" :

Une donnée ayant une sensibilité de 2 (Maille) et un niveau de diffusion de 3 (Département) sera floutée au département pour un utilisateur sans permissions particulières (c'est le caractère privé qui l'emporte parce qu'il impose un floutage plus important).
Par contre si l'utilisateur a le droit de voir les données privées, l'observation sera floutée à la maille. Le critère de sensibilité étant le seul à s'appliquer.
Enfin, si l'utilisateur a également le droit de voir les données sensible, l'observation ne sera pas floutée pour lui.

Par défaut, dans le module Synthèse aucune données n'est visible par un utilisateur à part les siennes (s'il en a saisie via le module OccTax). Dans le cadre des SINP, par défaut, nous appliquerons aux utilisateurs le droit pour le module "GeoNature" (l'application dans son ensemble) de voir toutes les données de tous les organismes (CRUVED ⇒ R=3).
Ainsi, dans le cas du module "Synthèse", cela permettra à l'utilisateur d'accéder à toutes les observations non sensibles des jeux de données publiques. Les règles SINP de géo-confidentialités s'appliqueront aux observations :

Étapes et arbre de décision

  1. L'utilisateur se connecte
  2. Chargement des permissions de l'utilisateur liées au module Synthèse
    • nous devons aplatir ses permissions afin d'obtenir une liste composée des éléments : "module", "action", "object", "filters".
    • l’aplatissement consiste à distribuer les permissions par module en fonction de l'héritage pour :
      • les groupes
      • la hiérarchie applicative : module GEONATURE > module spécifique (Ex. : SYNTHESE) > objets du module (Ex. : PRIVATE_OBSERVATION,SENSITIVE_OBSERVATION).
  3. L'utilisateur accède au module Synthèse.
    • Nous sélectionnons les permissions liées au module Synthèse
  4. L'utilisateur fait une recherche dans Synthèse
  5. Récupération de toutes les observations correspondant aux filtres de recherche utilisés et respectant le droit de lecture des données dans GeoNature.
  6. Pour chaque observation, nous sélectionnerons la bonne géométrie à retourner :
    • droit de lecture des données (CRUVED ⇒ R=3) :
      • si observation de l'utilisateur
        • non sensible ⇒ géométrie précise
        • sensible ⇒ géométrie précise
      • si observation de son organisme :
        • non sensible ⇒ géométrie précise
        • sensible ⇒ géométrie sensible
          • si droit d'accès observation sensible applicable : géométrie précise
      • si observation d'un autre organisme :
        • si observation publique :
          • non sensible ⇒ géométrie précise
          • sensible ⇒ géométrie sensible
            • si droit d'accès observations sensibles applicable : géométrie précise
        • si observation privée :
          • non sensible :
            • avec niveau de diffusion ⇒ géométrie niveau de diffusion
              • si droit d'accès observations privées applicable ⇒ géométrie précise
            • sans niveau de diffusion ⇒ géométrie précise
          • sensible :
            • sans niveau de diffusion ⇒ géométrie sensible
              • si droit d'accès observations sensibles applicable ⇒ géométrie précise
            • avec niveau de diffusion :
              • si niveau de diffusion plus restrictif que niveau de sensibilité ⇒ géométrie niveau de diffusion
                • si droit d'accès observations privées applicable ⇒ géométrie sensible
                  • si droit d'accès observations sensible applicable ⇒ géométrie précise
              • si niveau de diffusion moins restrictif que niveau de sensibilité ⇒ géométrie niveau de sensibilité
                • si droit d'accès observations sensible applicable ⇒ géométrie niveau de diffusion
                  • si droit d'accès observations privés applicable ⇒ géométrie précise
  7. Dans le cas d'un envoi pour affichage sur une carte, suppression des géométries en doublon.
  8. Envoie des observations pour affichage sur l'interface cliente.