Fonctionnel
Module Stockage
Provoly propose le stockage des données structurées et non structurées afin de permettre leur utilisation dans la plateforme.
Il se base pour se faire sur le concept de "Jeu de données" qui permet de définir des ensembles de données cohérents.
Il est ainsi possible au sein de la solution de paramétrer les structures des données ou de déclarer les données non structurées associées à un jeu de données.
Paramétrer les structures des données
Provoly fournit un module d’administration contenant les outils permettant de paramétrer et administrer les structures de données à différent niveau :
-
Type de données avec règles de contrôles associées
-
Modèles métiers (classes) avec leurs attributs et personnalisation
-
Relations entre les différents modèles basées sur un attribut
-
Jeux de données permettant de regrouper les données d’un modèle en un ensemble cohérent
-
Métadonnées applicable à l’ensemble des objets créés dans la solution
Administrer les modèles de données
Provoly permet l’administration des modèles de données utilisés concernant :
-
Le détail des informations du modèle (nom, image…)
-
Le stockage souhaité pour les données de ce modèle (Postgis et Elastic Search sont supportés nativement)
-
La personnalisation du modèle (attributs par défaut dans les restitutions et tooltip, symbole….)
-
Le détail de la structure du modèle via la gestion de ses attributs
La solution offre la possibilité de gérer ces modèles en permettant leur modifications (structure, personnalisation…) et leur suppression dans le cas où le modèle n’est pas utilisé.
Il fournit aussi, pour chaque modèle, les informations concernant les utilisations de celui-ci dans les autres entités (recherches enregistrées, jeux de données…)
Il est possible, uniquement sur le stockage Postgis, de paramétrer des relations entre modèles via leurs attributs et la main est laissée sur la définition des types de lien et les attributs sur lesquels les modèles sont liés. Si des relations sont déclarées, les liens entre les objets concernés sont automatiquement créés à l’intégration des données.
Administration des attributs
Les attributs permettent de représenté la structure d’un modèle de données. Chaque attribut est défini par :
-
Un type métier
-
Un modèle de données auquel il est associé
Les informations qui sont gérables sur un attribut sont :
-
Un nom technique : nom permettant de faire le lien avec les structures des données sources intégrées dans la plateforme
-
Un libellé : utilisé pour les affichages dans les différentes restitution (nom de colonne d’un tableau…)
-
Un type : à choisir parmi la liste des types métiers défini par l’utilisateur
-
Une catégorie : permet de catégoriser (état civil, contact…) les attributs afin de gérer un regroupement de ceux-ci lors de l’affichage. Les catégories sont à la discrétion du paramétreur du modèle.
Les actions diponibles sur les attributs sont :
-
La modification de ses informations hormis le type
-
La suppression d’un attribut : dans ce cas, les données déjà présentes pour ce modèle ne sont pas impactées (on ne supprime pas l’attribut dans le stockage), mais il ne sera plus présent dans les données remontées à l’utilisateur.
Administrer les types métier
Provoly se base sur le concept de type métier afin de permettre de spécialiser les types techniques (entier, décimal, date, texte…) selon des significations spécifiques au besoin de l’utilisateur.
Lors du paramétrage d’un type métier, il faut préciser les points suivant :
-
Nom du type
-
Type technique
-
Paramètre spécifique du type :
-
Type géographique : CRS (système de coordonnées de référence) utilisé pour les coordonnées.
-
Il est possible de modifier le nom d’un type métier mais ses autres paramètres sont figés à la création.
Dans le cas où un type métier n’est pas ou plus utilisé, il est possible de le supprimer.
Des services permettent de récupérer les informations d’utilisation des types métier dans les modèles de données paramétrés.
Types métier standards
Un certain nombre de types métier standards sont préparamétrés dans la plateforme.
En voici la liste:
Nom | Identifiant | Type technique | Spécificité |
---|---|---|---|
Quantité |
069094a2-5aed-49ba-9b2b-e079d11619bf |
|
|
Polygone (Lambert93) |
13635edc-c8c9-4401-b235-beda8ce3d1fa |
|
|
Position (Lambert93) |
1c1a0637-d8b7-4962-ab95-166896378396 |
|
|
Ligne simple (Lambert93) |
3d28f78c-5cff-48d0-9c81-ac2b9f162cf6 |
|
|
Polygone (WGS84) |
5b95a2a0-b724-435a-b429-79c7889704b1 |
|
|
Quantité décimale |
6346a94f-4080-43f9-a283-1597ed599d5f |
|
|
Date |
795e696f-1951-4837-8eaa-0a6f6bdd9ab8 |
|
|
Texte brut |
8087ae69-13b9-4b73-976e-8f49662f8408 |
|
|
Média |
8b3849f7-1c57-437f-924b-8c39c4db8945 |
|
|
Multi-lignes (Lambert93) |
9baf57c5-8b60-4033-b28d-911a48618d31 |
|
|
Multi-polygones (Lambert93) |
a51ef1d2-c5f7-448a-9563-851214e60b4b |
|
|
Grande quantité |
bd2925b0-4573-4d60-8650-b5003cbf3146 |
|
|
Ligne simple (WGS84) |
c7eafd63-f472-4e76-98b2-f918facfdffe |
|
|
Code alphanumérique |
d3640d94-1cda-4f2a-9365-6a88530fae64 |
|
|
Multi-polygones (WGS84) |
d6fd71ce-ec71-4d9b-8abb-2d83e0df3b6a |
|
|
Texte indexé |
d833c1bb-ca14-4414-b131-a70495dc6300 |
|
|
Position (WGS84) |
e235fac9-11b3-4e6b-873d-8c46a73eadf1 |
|
|
Multi-lignes (WGS84) |
eafbffab-7452-4ba3-a686-8bdaeac436b8 |
|
|
Administrer les jeux de données
Provoly se base sur la notion de "Jeu de données" pour l’exposition des données stockées.
Un jeu de données consiste en un ensemble cohérent de données relié par un modèle identique.
Il existe 3 type de jeux de données géré dans l’application :
Ouvert |
Il représente un flux de données entrant, par exemple les données issues de l’ensemble des capteurs de température d’un parc de bâtiments. Ses données ne sont pas modifiables, on agit en ajout uniquement. Il s’agit de séries chronologiques. Chaque ajout d’un item donne lieu à la création d’une version représentée par le timestamp de l’arrivée de l’item. |
Fermé |
Il s’agit d’un ensemble de données injectées dans la plateforme sous la forme d’une opération atomique, comme un import de fichier CSV contenant l’ensemble des accidents. Il est immuable. Il possède les propriétés d’atomicité, et de cohérence d’une transaction ACID. Ils ne sont plus modifiables après import et permettent d’assurer une rejouabilité des transformations dont ils sont la source. |
Modifiable |
ensemble de données qui peuvent être modifiées au fil du temps. Bien que la traçabilité des modifications soit assurée, ces derniers ne permettent pas la rejouabilité. |
Les outils de gestion du référentiel de jeux de données sont proposés dans Provoly et permettent :
-
De créer ou modifier les informations d’un jeu de données
-
De visualiser l’état des versions d’un jeu de données
-
De lister les utilisations du jeux de données dans les tableaux de bord et restitutions
-
De supprimer des jeux de données non utilisés
-
De gérer la visibilité d’un jeu de données (donc des données le composant) selon 3 niveaux :
-
Public : tout le monde peut accéder au jeu de données
-
Privé : seul le propriétaire du jeu de données peut y accéder
-
Restreint : seuls les groupes d’utilisateurs spécifiés peuvent accéder au jeu de données
-
Des outils de gestion de versions des jeux de données sont à disposition et propose :
-
La visualisation de l’état d’une version et des erreurs éventuelles d’intégration
-
La désactivation d’une version si on souhaite que ses données ne soient plus accessibles (cela ne supprime pas les données mais les rend inaccessibles)
-
La réactivation d’une version
-
La suppression d’une version, qui entraîne la suppression des données liées à cette version.
Référentiel de métadonnées
Provoly propose de gérer un référentiel de métadonnées métier.
Les métadonnées sont des propriétés globales pouvant s’applique à l’ensemble des éléments du produit (données ou autre).
Aujourd’hui il est possible de les renseigner pour les objets suivants :
-
Tableaux de bord (notamment pour définir une thématique)
-
Jeux de données (notamment pour renseigner la couche géographique du geoserver)
-
Données intégrées sur la plateforme.
Il existe 2 types de métadonnées dans la plateforme :
-
Les métadonnées systèmes : ce sont des métadonnées qui ont un sens et des actions prévues dans le produit. Leur valorisation sur un objet peut être modifiable par l’utilisateur (référence d’une couche géographique par exemple) ou alors en lecture seule car uniquement gérer par le système (date de création…)
-
Les métadonnées métiers : ce sont des métadonnées ayant une signification métier (niveau d’habilitation par exemple) et qui sont entièrement à la main de l’utilisateur.
La création d’une métadonnée est proposée à l’utilisateur et lui permet de définir :
-
Son nom
-
Une description éventuelle
-
Son type (entier, décimal, texte, uuid, date ou liste de valeurs)
-
La liste des valeurs autorisées dans le cas d’une liste de valeurs.
Lors de la mise en place d’une métadonnée, il est possible de définir une règle simple d’alimentation à l’intégration des données.
Ces règles se basent aujourd’hui en définissant en source une donnée de profil utilisateur (niveau d’habilitation par exemple) pour alimenter automatiquement une métadonnée (confidentialité par exemple) par la valeur de la donnée de profil de l’utilisateur créant ou modifiant la donnée.
Un référentiel de ces règles est mis à disposition de l’utilisateur pour lui permettre de l’administrer (création, modification, suppression…).