Pour toutes demandes (hors mot de passe) et rapports de bugs, merci d'utiliser le système de dépôt de tickets :https://gitlab.sevre-nantaise.com/eptbsn/sysma-tickets/-/issues.
-
Préalables
- [MUT: Les mots de passe]
- La base de données Sysma
- Configurer votre instance de Sysma
- Gérer les utilisateurs
- Déclarer de nouveaux types d'objet et de travaux dans le dictionnaire
- Exemple SQL avancé
- Json
- Plugins de restitution des données (fiches bilan spécifiques à des thématiques métiers)
- Automatisations
Préalables
Les commentaire apparaissant sous la forme [MUT: xxxxxx] sont valables pour les instances mutualisées de Sysma hébergées par l'EPTB Sèvre Nantaise.
[MUT: sysma et base postgres] : Sysma vous est livré avec une base de données Postgres dédiée. Cette base contient les données nécessaire au fonctionnement de sysma. Comme le cadre de la mutualisation va plus loin pour certaines structures (cadastre mutualisé en PdL, têtes de BV ..), nous avons mis à disposition une batterie d'éléments dans cette base pour pouvoir répondre à chacun des ces besoins. Vos données sont isolées dans une base indépendante, propre à votre structure et peuvent être récupérées facilement (backup) pour fonctionner sur un autre serveur postgres que le notre (notion de portabilité des données).
[MUT: Les mots de passe]
Lors de la fourniture de votre instance de Sysma, plusieurs identifiants et mots de passe vous sont fournis :
Le compte administrateur de Sysma (à utiliser dans l'appli web Sysma)
Il s'agit d'un compte utilisateur de Sysma, ayant les droits les plus élevés. Ce compte permet de créer de nouveaux utilisateurs (y compris des administrateurs) et de gérer les droits de tous les comptes sur les types d'objet et de travaux.
Les comptes PostgreSQL (à utiliser avec un client de base de données type PgAdmin ou un logiciel de SIG type QGIS). Plusieurs niveaux de droits sont disponibles (du plus faible niveau de droits au plus fort) :
le compte de type ext......_sysma_export_r :
- donne accès en lecture aux schema sysma_couches. A utiliser pour Presta qui voudrait créer des PJ QGIS sur la base des données sysma.
le compte de type ext......_lecture :
- permet de consulter toutes les données, à l’exception des données cadastrales, sysma (car sysma peut contenir des données soumises au RGDP) et de certains schémas totalement administrées par l'EPTB, sans pouvoir les modifier.
- A utiliser pour un accès via QGIS en consultation par exemple.
le compte de type ext......_structure :
- A les droits de ext......_lecture
- Et peut créer de la données (création de tables) dans les schémas :
- a000_temp permet à un agent de créer une donnée qui pourra être organisée, une fois consolidée, dans les schémas structure (par les détenteurs du compte administrateur).
- sysma_temp_import sera préféré pour les imports dans sysma.
- A utiliser pour un accès via QGIS en consultation dont données sysma couches, et pour imports de données à consolider par les admins.
le compte de type ext......_admin :
- A les droits de ext......_structure
- Et peut lire et réaliser des modifications dans les tables des schémas sysma.... et dans les schémas propres à la structure c.a.d. :
- schémas cadastre_actuel (pour stocker éventuellement des données cadastrales pour les structures qui ne bénéficieraient pas de l'AE en PdL pour l'accès au cadastre)
- schémas commençants par mNNN... (m pour métier = besoins métiers). [N= chiffre].
- schémas commençants par rNNN... (r pour référentiels = besoins communs). [N= chiffre].
Le schémas cadastre_actuel_mutualise ainsi que ceux de type '''rx'''NNN... et '''xx'''_NNN... restent totalement administrées par l'EPTBSN pour le bon fonctionnement des outils .
Sur les instances mutualisées, c'est l'EPTB SN qui attribue les droits. Si vous avez besoin de création de comptes supplémentaires, merci de nous en faire la demande par courriel (ne pas utiliser de système de dépôt de ticket pour ce type de demande).
La base de données Sysma
Accéder à la base de données Sysma
Attention : vous accédez à la base de données interne de Sysma, une erreur de manipulation peut empêcher l'outil de fonctionner correctement ou bien entrainer une perte de données. Avant toute modification, il est recommandé d'effectuer une sauvegarde de votre base de données.
Avec un outil de type PGAdmin https://www.pgadmin.org/download/pgadmin-4-windows/ (ou autre), paramétrez votre accès à la base de données Sysma à partir des informations utilisées lors de l'installation : ou fournies par l'EPTB SN.
Pour QGIS, de manière générale (que ce soit cadre de l’administration de Sysma ou tous vos projets qui accèdent à une base de données), nous vous conseillons d'utiliser le système d'authentification exemple : https://docs.qgis.org/2.14/fr/docs/user_manual/auth_system/auth_overview.html afin de sécuriser le contenu de vos fichiers projet QGIS.
Une fois connecté, vous accédez aux schémas ''sysma'' et ''sysma_couches''.
Organisation de la base de données
La base de données sysma comporte par défaut 2 schémas, le modèle de données de bases mutualisées est mis à jour régulièrement pour vous faire bénéficier des améliorations de notre base centrale de production :
Schéma ''sysma''
Il s'agit du schéma principal de Sysma, il contient les tables systèmes et le stockage des valeurs saisies par les utilisateurs. Toute modification dans ce schéma doit être réalisée avec précaution, uniquement sur les tables listées dans la présente documentation.
Schéma ''sysma_couches''
Il ne faut pas créer de vues ni de vues matérialisées (au sens SQL) stockées dans votre base postgres à partir des tables de ce schéma car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE).
Ce schéma contient un "export" des données sysma dans un format compatible avec les logiciels SIG (format classique un objet par ligne, paramètres en colonnes).Les tables contenus dans ce schéma sont générés automatiquement par Sysma depuis le menu Bilan & SIG / Couches SIG. Leur contenu ne doit pas être modifié, toute modification manuelle sera écrasée lors de la prochaine génération des couches par Sysma.
Autres schémas et couches fournies pour les instances mutualisées
Schéma d'import
- sysma_temp_import : à préférer pour importer des données dans sysma. Voir à paramétrer les comptes sysma pour qu'ils pointent vers le bon schéma d'import.
- a000_temp : accessible par les utilisateur de niveau structure pour importer des données.
- besoin d'autres schémas d'import différenciés?
Couches utiles fournies par défaut (référentiels)
Il ne faut pas créer de vues ni de vues matérialisées (au sens SQL) stockées dans votre base postgres à partir des tables de ce schéma car ces éléments pourraient être supprimés automatiquement (Par un DROP CASCADE).
Pour les instances mutualisées, l'EPTBSN fournit une série de couches sur le territoire de la structure bénéficiaire. Ces données sont collectées par l'EPTBSN de façon automatisée et distribuées par territoire. L'idée est de faire gagner du temps à tout le monde afin de ne pas reproduire dans son coin les étapes fastidieuses d'import de données. Si vous avez des besoins supplémentaires, n'hésitez pas à nous en faire part, cela bénéficiera à tous. Il faut que la données soit accessible aux structure publiques et que l'accès, le téléchargement et l'import soit automatisable : idéalement service WFS à défaut, url du fichier stable ou prédictible.-
le schéma contenant ces données est nommé : "rx000_data_referentiel_mutualise"
-
les tables, dénomination principe général :
- les tables commencent par 't_' voire 'ta_' (table attributaire généralement)
- puis 'nom du service ou nom du producteur' de la donnée ex : ign, sandre, osm. puis si nom du service : nom du producteur de la données : exemple inpn
- puis nom de la donnée exemple : topo_routes
- puis parfois année du millésime
- puis la mention _bbox (signifie que l'extraction des données correspond à l'ensemble des géométries qui touchent le rectangle d'encombrement de votre territoire, sur lequel un buffer de 2 km a été ajouté pour être certain de ne pas avoir d'effet de bord.
-
les vues , toutes les tables géométriques vues précédemment sont déclinées de 2 manières :
- sans le suffixe _bbox : extraction des geométries qui touchent vraiment votre territoire
- sans le suffixe _bbox mais avec _sg (simple geom): extraction des geométries qui touchent vraiment votre territoire et eclatement des géométries de type mutigéométries en simples geométries (nécessaire actuellement pour un affichage dans sysma).
-
D'ici quelque temps, la table elle même, possèdera en commentaire des métadonnées qui seront visibles via PGAdmin ou QGIS (TODO AR dev).
-
Modalités de mise à jour : pas de régularité actuellement, en attente de stabilisation de la mutualisation
Ces couches (vues _sg) peuvent être utilisées dans Sysma comme couches utiles. Les autres couches dans votre logiciel SIG.
Schémas de type mNNN et rNNN
Ce sont des schémas vides. L'administrateur pourra y organiser vos données (solution utilisées en production à l'EPTBSN).
- m pour métier (données métier)
- r pour référentiels (données communes) Nous pourrons créer d'autres schémas automatiquement à votre demande pour répondre à différentes thématiques.
Schémas totalement administrées par l'EPTBSN
Les schémas suivants restent totalement administrés par l'EPTBSN pour le bon fonctionnement des outils.
- cadastre_actuel_mutualise : cadastre accessible dans le cadre de l'AE Géopal en Pdl
- rxNNN... : ne vous sont pas accessibles sauf rx000_data_referentiel_mutualise
- xx_NNN... , pour information :
- xx_00_database_mutualisation_admin : possèdes des éléments d’administration dans le cadre de la mutualisation.
- xx_99_sysma_linearisation : fonction de linéarisation de Sysma (passage du format Sysma (clé/valeur) -> format SIG)
- xx_99_utils : comme son nom l'indique possède de nombreuses fonctions que nous avons développés ou adaptés à partir de codes ouverts, que vous utilisons pour nos besoins et vous mettons à disposition. .
Modèle de données du schéma sysma
- SQL d'affichage de la liste des tables :
-- afficher la liste des tables et les éléments de compréhension :
WITH table_list AS (
SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema='sysma'
--and table_name ilike '{%'
)
, comment_table_liste as (
SELECT table_schema, table_name ,
xx_99_utils.f_rtn_table_comment(
table_schema::NAME,
table_name::NAME) as t_comment
FROM table_list order by table_name
)
, comment_table_liste_json_format AS (
SELECT *
, CASE
WHEN t_comment ilike '{%' THEN t_comment::json
ELSE '{
"display_groupe_order":0,
"groupe_name":"groupe_name A DEFINIR",
"table_comment":"table_comment A DEFINIR"
}'::json
END::json as comment_json
from comment_table_liste
)
,aff as (
select -- 'aff' as aff_type
(comment_json::json->>'groupe_name')::text AS groupe_name
--, table_schema
, table_name
, (comment_json::json->>'table_comment')::text AS comment_table
, (comment_json::json->>'display_groupe_order')::numeric as display_groupe_order
from comment_table_liste_json_format
order by (comment_json::json->>'display_groupe_order')::numeric asc
)
, wiki as (
select 'wiki'::text as groupe_name
, null::name table_name
, string_agg ( '|-
| ' || groupe_name || ' || ' || table_name || ' || ' || comment_table, '
') as comment_table
, 9999999::numeric as display_groupe_order
FROM aff --order by aff.display_groupe_order
)
select * from aff
union all
select * from wiki
order by display_groupe_order
- Pour, liste des tables contenus dans le schéma sysma et informations sommaires correspondantes :
Groupe | Table | Commentaire |
---|---|---|
Configuration de sysma | sysma_conf | Liste des paramètres de l'application |
Configuration de sysma | autres_couches | Liste des couches au format SIG standard utilisées par exemple en affichage dans la zone couches utiles... |
Configuration de sysma | couchesign | Liste des couches IGN Géoportail |
Configuration de sysma | structures | Liste des structures intervenant dans la gestion des milieux aquatiques et pouvant être maître d'ouvrage |
Configuration de sysma | contrats | Liste des contrats |
Configuration de sysma | statuts | Liste des statuts possibles des objets et des travaux |
Configuration de sysma | filtres | Liste de filtres possibles à appliquer sur les type d'objet ou types de travaux |
Configuration de sysma | layer_group | Liste des groupes de couches sysma |
Gestion des utilisateurs | utilisateurs_droits | Gestion des droits des utilisateurs sur les objets sysma |
Gestion des utilisateurs | utilisateurs | Liste des utilisateurs et contributeurs à la bdd |
Gestion du dictionnaire de données | types_travaux_parametres | liste des paramètres à suivre pour chaque type de travaux |
Gestion du dictionnaire de données | types_travaux | Liste des types de travaux pouvant être menés |
Gestion du dictionnaire de données | choix_parametre_objetgeo | Liste de choix pour un parametre d'un type d'objet |
Gestion du dictionnaire de données | types_objetgeo_parametres | Liste des paramètres pour chaque type d'objet |
Gestion du dictionnaire de données | choix_parametre_travaux | Liste des choix de valeur possibles pour un paramètre travaux |
Gestion du dictionnaire de données | choix_type_donnee | Liste des choix de types de données disponibles |
Gestion du dictionnaire de données | types_objetgeo | Types d'objets CRE renseignables dans la BDD, équivaut en terme de SIG aux couches |
Données saisies | objetsgeo | Les objets géographiques positionnables sur une carte (physiques) |
Données saisies | travaux | Les travaux menés sur les objets physiques |
Données saisies | l_objetgeo_travaux | Liaison en les objets cre et les travaux qui s'y appliquent |
Données saisies | at | Analyses thématiques |
Données saisies | donnees_objetgeo | Contient les données pour chaque paramètre descriptif des objets |
Données saisies | donnees_travaux | Contient les données sur les travaux menés |
Données saisies | objetsphotos | Liste des fichiers photo liés |
Données saisies UI | l_style_utilisateur | Liste de styles à appliquer pour l'utilisateur |
Données saisies UI | l_at_utilisateur | Table de lien entre les analyses thématiques pour chaque utilisateur |
Données saisies UI | l_couchegeo_utilisateur | Table des couches géo choisie par l'utilisateur pour être affichable sur sa carte |
Données saisies UI | l_coucheign_utilisateur | Table des couches ign choisie par l'utilisateur pour être affichable sur sa carte |
Données saisies UI | l_coucheref_utilisateur | Table des couches référentiels choisies par l'utilisateur pour être affichable sur sa carte |
Données saisies UI | l_filtre_utilisateur | Choix de l'utilisateur pour l'usage de filtres |
Données saisies UI | l_group_user | Choix de l'utilisateur pour l'affichage des groupes de couches sysma |
Données saisies UI | l_type_objetgeo_utilisateur | Table de lien des types d'objet à afficher dans le layermanager pour chaque utilisateur |
Données saisies UI | l_type_travaux_utilisateur | Table de lien des types de travaux à afficher dans le layermanager pour chaque utilisateur |
Données saisies UI | user_views | Vues (sélection de couches visibles) enregistrées par l'utilisateur |
Surveillance | rapports_import | Rapport d'import de données par lot |
Surveillance | connexions | Suivi des connexions des utilisateurs |
Surveillance | x99_t_track_historiquetables | Suivi des modifications réalisées dans sysma |
Déprécié ? | l_autre_couche_utilisateur | Déprécié ?Table de lien des autres couches à afficher dans le layermanager pour chaque utilisateur |
ADMINITRATION EPTBSN | versions_schema | Stocke la version du schema de sysma installée sur cette instance |
ADMINITRATION EPTBSN | versions_schema_ddl | Track ddl actions usefull for schema versioning (Data definition language) |
- Modèle de données simplifié pour comprendre l’articulation des concepts objet travaux :
- Modèle de données complet (liens entre les tables) : Cliquer pour voir le modèle de données
Configurer votre instance de Sysma
Les variables de l'application
Une partie des variables utilisées par Sysma sont stockées dans la table '''sysma.sysma_conf'''. Le champ valeur peut être adapté à vos besoins. On trouve en particulier :
- les variables décrivant la structure utilisatrice de Sysma (nom, sigle, site web).
Pour changer le logo de votre structure, transmettre "logo_structure.gif" à l'EPTB Sèvre Nantaise - les réglages de localisation et zoom par défaut de la carte
- l'activation ou non du module "cadastre"
- les réglages de la gestion des coûts sur les fiches travaux
- les tables géographiques de découpage administratifs et hydrographiques
- la clé de l'API IGN pour l'affichage des fonds de carte IGN (alias = 'IGN_API_KEY')
'''Note : Il faudra certainement se déconnecter de Sysma et se reconnecter pour que les modifications soient prises en charge.'''
Paramétrage de la clé de l'API IGN (affichage des fonds de carte IGN)
- Obtenir une clé IGN, en suivant la documentation : https://observatoire.sevre-nantaise.com/pages-techniques/?page=Obtenir%20une%20cl%C3%A9%20API%20pour%20utiliser%20les%20webservices%20IGN
- se connecter à la base de données, schéma sysma, table sysma_conf et modifier la valeur de la colonne ''value'' pour la ligne ''Clé de l'API IGN (dépendant du nom de domaine) (IGN_API_KEY)'' avec votre clé.
Structures (maîtrise d'ouvrage des travaux)
Les modifications sont à apporter dans la table '''sysma.structures'''.
- Par convention, la structure id_structure = 1 est la structure principale utilisatrice de votre instance de Sysma, renseignez le champ structure avec le nom de votre structure. : ce changement est déjà réalisé
- id_structure = 0 : Pas de structure (ne pas modifier)
- id_structure = 2 : Non renseigné (ne pas modifier)
Vous pouvez ajouter de nouvelles structures à tout moment en ajoutant une ligne à cette table et en renseignant les champs structure et sigle (id_structure est renseigné automatiquement).
Contrats (financement des travaux)
Les modifications sont à apporter dans la table '''sysma.contrats'''.
Vous pouvez modifier la ligne id_contrat = 1 et ajouter de nouvelles lignes en renseignant contrat et ordre (les autres champs sont automatiques).
Ajouter et paramétrer des couches utiles
: un premier lot de couches utiles est automatiquement ajouté à votre instance
'''Les couches utiles sont des couches géographiques affichées dans Sysma mais non modifiables.'''
Pour ajouter une couche utile, utilisez la table sysma.autres_couches.
-
id_autre_couche (laisser vide, champ automatique)
-
id_couche : le nom de la couche tel qu'il apparaitra dans sysma (ex : Cours d'eau Carthage)
-
id_couchegeo : le chemin de la couche dans votre base de données PG (schema.table), exemple : rx000_data_referentiel_mutualise.t_carthage_courseau
-
type : par défaut "observatoire"
-
style : couleur, épaisseur, opacité de la couche, au format json, ex : {"color" : "#00b3c5", "weight" : 2, "opacity" : 1, "fillOpacity" : 0}
-
type_geometrie
- ST_Point
- ST_Linestring
- ST_Polygon
- ST_Polygon_to_Linestring (pour convertir un polygone en ligne)
-
corr_champs : correspondance des champs de la table avec les champs Sysma, Au format json, ex : {"id_objetgeo":"gid", "objetgeo":"cdentitehydrographique", "geo":"geom"}. 3 champs sont nécessaires :
- id_objetgeo : une colonne comprenant un identifiant unique (ici gid)
- objetgeo : le nom de votre objet (ici cdentitehydrographique)
- geo : la colonne comprenant la géométrie de notre objet (ici geom)
-
groupe : le groupe de couches du gestionnaire de couche Sysma où doit apparaitre cette couche. Par défaut indiquer "Couches utiles".
-
acces : public ou restreint
- public : couche accessible pour tous, mêmes les utilisateurs non connectés
- restreint : accessible uniquement aux utilisateurs connectés
-
filtre_sql : permet de filtrer la couche d'origine avec du code SQL
-
id_track_historiquetables : ne pas modifier
-
zoom_min, zoom_max : zoom d'affichage
-
load_on_pan : rechargement de la couche à chaque déplacement de la carte, utile pour les couches très lourdes. Valeur 0 ou 1. Equivlant du F5. En choisissant "non", 2 utilisateurs numérisant la même typologie de travaux au même endroit et en même temps ne verront pas le travail de leur travail respectif. Tout dépend donc de votre organisation interne.
-
ordre_autre_couche : ordre d'affichage dans Sysma
-
tester / obternir le json de la couche que vous venez de configurer :https://sysma.sevre-nantaise.com/geojson/observatoire/[id_autre_couche], exemple https://sysma.sevre-nantaise.com/geojson/observatoire/1
Paramétrer des analyses thématiques et des filtres
Dans sysma, les couches sont filtrables et peuvent faire l'objet d'analyses thématiques, c'est à dire d'une mise en forme variable selon la valeur d'un de leur paramètre. La création des filtres et analyses thématiques doit être réalisée depuis la base de données:
Filtres
Utilisez la table '''sysma.filtres''' pour déclarer un filtre qui sera ensuite utilisable par tous vos utilisateurs sur les couches objet ou travaux.
- id_filtre : automatique
- sql : fitrage de la couche objet ou travaux
- filtrage d'une couche objet, champs filtrables : ** o.statut, ex : o.statut = 'existant' ** TODO à compléter
- filtrage d'une couche travaux, champs filtrables : ** t.statut, ex : t.statut = 'en_projet' ** t.contrats, ex : 'CTMA 2015-2019' = ANY(t.contrats) ** t.structure, : ex : t.id_structure = 12 ** t_dabe_debut et t_date_fin, ex : left(t.date_debut,4) = '2018'
- type_objet : objetgeo ou travaux selon que le filtre s'applique à l'un ou l'autre
- filtre : intitulé du filtre
Analyses thématiques
Faire varier la mise en forme des objets selon un valeur de paramètre.
Utilisez la table '''sysma.at''' pour créer une analyse thématique.
- id_at : automatique
- at : intitulé de l'analyse
- id_type : id du type d'objet ou travaux concerné par l'analyse
- type_objet = objetgeo ou travaux
- id_parametre : id du paramètre sur lequel l'analyse est réalisée
- type : "classes", "valeurs", ou "gradient", voir ci-dessous.
- style : comprend la logique de filtrage et les styles associés, détail ci-dessous.
Analyse de type "Classes"
Pour les analyse sur des numériques (de 0 à 10, de 10 à 15 etc.)
Exemple, valeur de "style" :
{
"De 0 à 0.2m":{
"min": "0",
"max": "0.2",
"style":{"color": "#0000ff","fillOpacity":"0.5","weight": "3"}
},
"De 0.2 à 0.5 m":{
"min": "0.2", "max":"0.5",
"style":{"color": "#00ccFF","fillOpacity":"0.5","weight": "3"}
},
"De 0.5 à 1m":{
"min": "0.5", "max":"1",
"style":{"color": "#00FF00","fillOpacity":"0.5","weight": "3"}
},
"Plus de 1m":{
"min": "1", "max":"200",
"style":{"color": "#ff0000","fillOpacity":"0.5","weight": "3"}
},
"defaut":{"style":{"color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}
Analyse de type "Valeurs"
Pour appliquer des styles selon la valeur précise du paramètre (pour du texte) ("bon" => bleu, "moyen" => jaune, "mauvais" => rouge)
Exemple de valeur de "style" :
{
"descente amenagee":{"style":{"fillColor":"#ff0000","color":"#ff0000","fillOpacity":"0.8","weight": "3"}},
"pompe a nez":{"style":{"fillColor":"#66ff00","color":"#66ff00","fillOpacity":"0.8","weight": "3"}},
"bac d abreuvement gravitaire":{"style":{"fillColor":"#0066ff","color":"#0066ff","fillOpacity":"0.8","weight": "3"}},
"bac d abreuvement autre":{"style":{"fillColor":"#003366","color":"#003366","fillOpacity":"0.8","weight": "3"}},
"defaut":{"style":{"fillColor":"#cccccc","color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}
Analyse de type "Gradient"
Pour appliquer un gradient de couleur automatique sur une valeur numérique ( de 0 vert à 50 rouge, en 5 classes).
Exemple de valeur de "style" :
{
"min":{"style":{"color":"#b3ff1a","weight": "3"}},
"max":{"style":{"color":"#ff0000","weight": "3"}},
"nb_classes":5,
"defaut":{"style":{"color":"#cccccc","fillOpacity":"0.5","weight": "3"}}
}
Gérer les utilisateurs
: comptes pré-déclarés
Les instances mutualisées disposent de plusieurs comptes pré-déclarés :
- Compte administrateur fourni par l'EPTSN à la structure utilisatrice de l'instance
- 2 comptes EPTBSN (RENOU S. et RIVIERE A.) pour faciliter l'aide à distance
- un compte d'initialisation de Sysma utilisé par l'EPTB pour pré alimenté la base de données lors de la mise en place de l'instance
Comptes par défaut
- L'utilisateur anonyme 0 (nonconnecte) correspond aux utilisateurs publics de Sysma, lorsqu'ils accèdent à la page /carte de l'outil sans être connecté. Ce compte ne doit pas être modifié.
- Le compte administrateur TODO
Déclaration des utilisateurs
''' Il est fortement recommandé de créer des comptes nominatifs utilisés par une seule personne à la fois. Ne créez pas des comptes "structure" communs, mais des comptes par personne afin de pouvoir définir finement les droits associés, d'éviter les conflits en cas de modifications simultanées d'un même utilisateur, et de distinguer les modifications réellement apportées par chaque utilisateur à la base de données.'''
''' Utilisez des mots de passe forts, cf. ci-dessous.'''
Pour déclarer un nouveau compte se rendre dans la partie administration, puis cliquer sur "Nouvel utilisateur" :
- id_utilisateur : champ automatique
- Utilisateur : en minuscule, sans espace ni caractère spécial. Par convention première lettre du prénom suivi du nom : pnom
- Prénom : en toutes lettres
- Nom ; en toutes lettres
- id structure : se référer à la table sysma.structures. Par convention, la valeur 1 correspond à la structure principale utilisatrice ce l'instance de Sysma.
- password : un mot de passe '''fort''', c'est à dire minimum 8 caractères, avec minuscule, majuscule, chiffre et caractères spéciaux (*,-,#,[,...).
Droits des utilisateurs
Droits d’administration
'''Les droits d'administration Sysma doivent être limités à quelques utilisateurs formés en conséquence.'''
Les droits d'administration permettent à un utilisateur de créer de nouveaux utilisateurs, ajouter, modifier ou supprimer des droits aux autres utilisateurs ou sur son propre compte.
Une fois le compte créé, se rendre à nouveau dans le compte (bouton "compte") puis dans la champ droits, ajouter la valeur {administrateur}
Droit d'accès au cadastre
''' Les informations du cadastre sont nominatives et à ce titre soumises à des précautions d'utilisation (limites fixés dans le cadre de la convention DGFIP et/ou CNIL). L'ouverture de l'accès à ces information est de la responsabilité de l'administrateur de l'instance de Sysma.'''
Une fois le compte créé, se rendre à nouveau dans le compte (bouton "compte") puis dans la champ droits, ajouter la valeur {cadastre}. Pour un utilisateur également administrateur la valeur sera {administrateur,cadastre}.
Schéma d'import de données
Pour permettre à un utilisateur l'import de données dans Sysma depuis un schéma PG, la valeur "Schema PostgreSQL" du compte doit être renseignée et doit contenir le nom du schema où se trouve les données à importer.
Compte activé/désactivé
Un compte peut être désactivé/ré-activé à tout moment depuis la modification du compte (champ "comtpe activé"). Un compte désactivé empêche l’utilisateur de se connecter.
Droits des utilisateurs sur les objets et travaux
Ce paramétrage est accessible depuis le bouton "Droits sur les objets et travaux" de l’interface d'administration.
Principe : Plusieurs droits peuvent être définis successivement. A chaque action réalisée par l'utilisateur dans Sysma, l'outil vérifie que l’utilisateur en cours dispose bien des droits suffisants décrits dans un ou l'autre des droits déclarés.
-
droits :
- lecteur : peut lire les informations, mais pas les modifier
- contributeur : peut créer des objets ou travaux et modifier les objets ou travaux créés (mais pas ceux des autres utilisateurs)
- gestionnaire : peut créer et modifier des objets ou travaux créés par n'importe quel utilisateur
- sous la forme {lecteur,contributeur,gestionnaire}
-
ids type objetgeo :
- liste des id_type_objetgeo sur lesquels s'appliquent le droit.
- Sous la forme {1,2,3}
- {0} pour tous les types, {null} pour aucun type
-
Ids structures :
- sous la forme {1,2,3}.
- {0} pour toutes les structures, {null} pour aucune structure
*Statuts des objets : * sous la forme {preconise,1ercontact,annule,existant,en_preparation}. * {tous} pour tous les statuts, {null} pour aucun statut
-
Ids types de travaux :
- sous la forme {1,2,3}.
- {0} pour tous les types, {null} pour aucun type
-
Ids structures travaux :
- sous la forme {1,2,3}.
- {0} pour toutes les structures, {null} pour aucune structure
-
Statuts des travaux :
- sous la forme {en_projet,en_cours,termine,annule,programme}.
- {tous} pour tous les statuts, {null} pour aucun statut
Déclarer de nouveaux types d'objet et de travaux dans le dictionnaire
Le dictionnaire Sysma peut être utilisé pour décrire tous types d'objet et de travaux associés, sur toutes thématiques métier.
Types d'objet
Depuis le menu Dictionnaire, le bouton Créer permet de déclarer un nouveau type d'objet géographique
- Type objetgeo : intitulé
- Alias : sans espace ni caractères spéciaux ni majuscules, privilégier "_" comme séparateur de mots
- Description : explication sur le type d'objet.
- Source définition
- Sources données : historique de constitution du lot de données de ce type d'objet
- Support de numérisation : support conseillé pour la saisie cartographique de ce type d'objet
- Type de géométrie :
- Style : au format json, du type { "color":"#ff78ff", "weight":2, "opacity": 0.65 ,"fillOpacity":0.1}
- Groupe : groupe d'affichage dans le gestionnaire de couches
- Rechargement lors du zoom (load on span) : pour les couches lourdes, chargement partiel de la couche à chaque déplacement de la carte
- Niveau de zoom min et max d'affichage (0 pour désactiver) : entre 1 et 20
- Masquer dans l'export du dictionnaire : ce type d'objet ne sera pas visible dans l'export "print" du dictionnaire
Paramètres de types d'objet
Depuis la fiche dictionnaire d'un type d'objet, utilisez le bouton Créer un nouveau paramètre :
- Paramètre : intitulé
- Description, source : même logique que pour types d'objet
- Type de donnée, quelques précisions :
- pour liste déroulante et choix multiple, les choix doivent être renseignés après la création du paramètre
- pour le type lien_objet, le type d'objet lié doit être préciser après création du paramètre
- Regroupement : permet de régler l'ordre d'affichage des paramètres (format texte, ordre alphabétique)
- Unité (optionnel)
- Alias SIG : sans espace ni caractères spéciaux ni majuscules, 10 caractères maximum
- Obligatoire : indicateur visuel, ne bloque pas l'utilisateur si le paramètre n'est pas renseigné
- Suivi dans le temps : activer ou non le suivi et donc la précision d'une date de début et fin à chaque saisie de valeur du paramètre
- Champ caché : permet de stocker des données non visibles et non renseignables par l'utilisateur (mais utilisables par des process de calcul par exemple)
Types de travaux
champs DIG - TODO à consolider
Gestion des coûts
Si la gestion des coûts est activée dans Sysma, l'outil proposera à chaque création de fiche travaux un coût basé sur :
- un coût unitaire (unique quelque soit le nombre d'objets associés à la fiche travaux)
- un coût par objet
- un coût par linéaire, surface ou volume
Paramètres de types de travaux
Même principe que paramètres de types d'objet.
Exemple SQL avancé
Exemple de sélection directement dans les données sysma des travaux programmés au contrat "CT EAU (2021-2026)"
WITH
travaux AS (
SELECT
t.id_travaux
, t.id_type_travaux
, tt.type_travaux
FROM sysma.travaux t
LEFT JOIN sysma.types_travaux tt on (tt.id_type_travaux = t.id_type_travaux)
WHERE t.contrats::text ilike '%CT EAU (2021-2026)%' -- Filtre sur contrat choix multiple
AND t.statut = 'programme' -- filtre sur le statu
)
SELECT
row_number() over() as gid
, t.id_type_travaux
, t.id_travaux
, xx_99_utils.f_html_no_html_specials_chars(t.type_travaux) ::text as type_travaux
, xx_99_utils.f_html_no_html_specials_chars(toj.type_objetgeo) ::text as type_objetgeo
, o.id_objetgeo
, ST_multi(st_buffer(o.geom,0,1))::geometry(multipolygon, 2154) as geom
, o.objetgeo
, toj.type_geometrie
FROM
travaux t
LEFT JOIN sysma.l_objetgeo_travaux ot ON (t.id_travaux = ot.id_travaux)
LEFT JOIN sysma.objetsgeo o ON (o.id_objetgeo = ot.id_objetgeo)
LEFT JOIN sysma.types_objetgeo toj ON (toj.id_type_objetgeo = o.id_type_objetgeo)
Json
types objet
https://sysma.sevre-nantaise.com/geojson/typeobjet/1
type travaux
https://sysma.sevre-nantaise.com/geojson/typetravaux/1
1 objet
https://sysma.sevre-nantaise.com/geojson/objet/1
couches utiles
https://sysma.sevre-nantaise.com/geojson/observatoire/1
Plugins de restitution des données (fiches bilan spécifiques à des thématiques métiers)
TODO
Automatisations
TODO