From f2cbfd04c179d38929ca052e0944b2e0088e9894 Mon Sep 17 00:00:00 2001 From: Gaetan Vogel <gaetan.vogel@veremes.com> Date: Tue, 18 Jun 2024 14:45:07 +0200 Subject: [PATCH] Doc flux + image --- doc/source/administrator/flux.md | 47 ++++++++++++++++++ doc/source/administrator/index.rst | 1 + .../images/administrator/flux/publication.png | Bin 0 -> 11328 bytes 3 files changed, 48 insertions(+) create mode 100644 doc/source/administrator/flux.md create mode 100644 doc/source/images/administrator/flux/publication.png diff --git a/doc/source/administrator/flux.md b/doc/source/administrator/flux.md new file mode 100644 index 00000000..58487358 --- /dev/null +++ b/doc/source/administrator/flux.md @@ -0,0 +1,47 @@ +# Comment publier un flux WMS ou WFS + +Les flux WMS ou WFS permettent de rendre vos données cartographiques disponibles via un flux qui peut être utilisé dans différents logiciels comme QGIS. + +## Création d'un flux + +Pour créer un flux dans vMap2, naviguez vers Flux et publications puis flux. + +Assurez-vous de choisir un système de coordonnées identique à celui utilisé pour vos publications afin d'éviter des problèmes de re-projection. + +Après la création du flux, il est nécessaire de l'associer à des publications qui contiendront les données disponibles à travers ce flux. + +Après avoir ajouté vos publications, vous pouvez générer votre flux, ce qui produira une URL. + +***Notes:** _Si vous ajoutez une publication à un flux déjà généré, il est nécessaire de régénérer le flux pour que la nouvelle publication soit incluse._ + +## Création d'une publication + +La création d'une publication suit le même processus que la création d'une couche. + +Accédez à 'Sources de données' -> 'Postgresql', puis sélectionnez la table ou la vue qui servira de source pour votre publication. + +De manière similaire à la création d'une couche, vous procéderez ensuite à la création de la publication. + + + +Comme pour une couche, il est possible de définir la symbologie de votre publication en éditant sa symbologie. + +Enfin, vous pouvez accéder à toutes les publications déjà créées en naviguant dans le menu 'Flux et publications' -> 'Publications'. + +## Restreindre l'accès aux données du flux + +Comme décrit dans la section sur la gestion des droits utilisateurs, la visibilité des données dépend des droits accordés aux utilisateurs. + +Le même principe s'applique aux flux. Si l'utilisateur qui génère le flux possède les droits nécessaires pour accéder aux données des tables ou vues source des publications, il pourra alors visualiser les données cartographiques sans problème à travers le flux. + +Considérons deux scénarios distincts impliquant deux utilisateurs : Utilisateur_A et Utilisateur_B. + +Dans le premier scénario, l'Utilisateur_A crée une publication mais ne dispose pas des droits suffisants pour lire les données de la table ou vue qui est la source de sa publication. Si l'Utilisateur_B, qui utilise cette publication dans son flux, a les droits nécessaires pour accéder aux données de la source, alors les données cartographiques seront visibles dans son flux malgré les restrictions de l'Utilisateur_A. + +Dans le deuxième scénario, l'Utilisateur_A crée une publication et dispose des droits nécessaires pour lire les données de la source. Cependant, si l'Utilisateur_B, qui ajoute cette publication à son flux, ne possède pas les droits sur la source de la publication, il ne pourra pas visualiser les données cartographiques dans son flux, malgré les droits de l'Utilisateur_A. + +En résumé, la capacité à visualiser les données cartographiques dans un flux dépend directement des droits de l'utilisateur qui génère le flux, indépendamment des droits de celui qui a créé la publication originale. + +***Bonus** : Lorsque vous générez un flux, un fichier mapfile est créé et peut être modifié directement sur le serveur de vMap. Toutefois, lors de la régénération du flux, ce fichier mapfile sera remplacé par une nouvelle version. + +Pour accéder à ce mapfile, rendez-vous dans le dossier d'installation de vMap, puis suivez le chemin : vas/var/mapserver/wms_public. \ No newline at end of file diff --git a/doc/source/administrator/index.rst b/doc/source/administrator/index.rst index 441baea2..9f290440 100644 --- a/doc/source/administrator/index.rst +++ b/doc/source/administrator/index.rst @@ -16,3 +16,4 @@ Il est conseillé aux administrateurs de consulter en premier la `Documentation api/api.rst journaux.md cadastre/index.rst + flux.md diff --git a/doc/source/images/administrator/flux/publication.png b/doc/source/images/administrator/flux/publication.png new file mode 100644 index 0000000000000000000000000000000000000000..aae3921de65d9806417cedb8a0e791be37caea66 GIT binary patch literal 11328 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 BMC<?n literal 0 HcmV?d00001 -- GitLab