Utilisation QGIS-Server et Mapbender3 pour les géo-portails - 2021 - PDF
Document Details
Uploaded by AccessibleKelpie
2021
Tags
Summary
Ce document présente un tutoriel sur l'utilisation de QGIS-Server et Mapbender 3 pour la création d'un géoportail. L'approche décrite met en lumière la configuration de QGIS-Server pour la publication de données et l'utilisation de Mapbender 3 pour la mise en place d'une cartographie web interactive.
Full Transcript
Introduction aux outils pour la mise en place d\'un géo-portail (à l'aide d'un serveur de cartes et un framework) Approche serveur Contrairement à la logique d\'OpenLayers ou Leaflet, où c\'est le client qui compose la carte, nous travaillons maintenant dans une logique où la carte est composée du...
Introduction aux outils pour la mise en place d\'un géo-portail (à l'aide d'un serveur de cartes et un framework) Approche serveur Contrairement à la logique d\'OpenLayers ou Leaflet, où c\'est le client qui compose la carte, nous travaillons maintenant dans une logique où la carte est composée du côté du serveur et envoyée ensuite au client. Nous travaillerons avec **QGIS-Server** qui est un serveur de cartes libre qui vous permet d\'offrir des services WMS et WFS, mais aussi simplement de proposer des cartes sous forme d\'images non-géoréférencées. D\'autres logiciels répandus du même type sont deux projets libres - MapServer (http://mapserver.org/) et GeoServer (http://geoserver.org/) - ainsi que la suite propriétaire d\'ESRI - ArcGIS for Server (http://www.esri.com/software/arcgis/arcgisserver/index.html) (et d\'autres). ***L\'utilisation d\'un «framework»*** Un framework est une boîte à outils qui rassemble plusieurs outils existants pour rendre l\'élaboration d\'un site complet plus facile. Nous travaillerons avec **Mapbender3** qui permet de concevoir un portail cartographique quasi entièrement sans programmation. Il existe beaucoup de frameworks et de nouveaux apparaissent constamment. Pour avoir une idée de quelques frameworks libres disponibles, il suffit de se rendre sur http://www.osgeo.org/ et d\'explorer la liste des outils de «Web mapping» (via Menu « Projects »). Ce tutoriel introduit l'utilisation de ces deux outils pour la mise en place d\'un géoportail où QGIS-server est utilisé pour la publication de ses propres données en WMS & Mapbender3 pour la mise en place d\'une cartographie web interactive pour diffuser les données WMS. Les tâches dans cette séance sont : - Configuration de QGIS-Server pour la diffusion des données du projet test en WMS via la création d'un ou plusieurs projet(s)QGIS qui comprennent des couches que vous souhaitez rendre disponibles dans votre WebGIS (avec aussi, par exemple, des fonds de carte alternatives). - Configurer votre application Mapbender pour l'affichage des données du projet test dans un portail cartographique via rajouts des sources (URLs de WMS) supplémentaires désirées et création de l'application grâce à des modèles - Tester la dynamique de votre application avec votre projet test configuré en WMS Notes ! - Dans QGIS, il peut être utile de **grouper** des couches appartenant au même «thème» (ex: les différentes couches d\'un fond de carte). - Attention, pour que la création de services WMS & WFS avec QGIS-Server, le projet doit être enregistré sous le format QGIS **.qgs** et l'enregistrement des chemins vers les couches doivent être en relatif (Menu Projet \> Propriété \> Général) et enfin dans le cas de données stockées dans une base de données, l'identification (nom d'utilisateur et mot de passe) de connexion doit être stockée dans le projet (via stockage des paramètres de base d'authentification. Plus de détails ici: ). - Dans Mapbender, vous pouvez cloner une application modèle. Pour cela, il suffit de cliquer sur le bouton «Duplicate». Donnez ensuite par exemple votre nom comme titre de l'application et commencez à le modifier. - Attention, si vous choisissez des sources externes comme fonds de plan dans Mapbender, il est nécessaire de préparer le projet QGIS en conséquence. Votre cartographie web ne s'affichera qu'avec l'EPSG et les échelles de celles des fonds externes. - Attention, à chaque fois que vous changez quelque chose dans vos données, il faut sauver votre projet QGIS et le recharger dans l'application mapbender pour qu'il fonctionne (toutes les couches doivent être bien chargées). ![](Pictures/100002010000032C000001865A5D0FD3381E9219.png) Configuration de QGIS-Server pour la diffusion des données /Création de ses propres services Web Le principe est de configurer son propre service web à partir d\'un projet QGIS et d\'y implémenter la dernière norme WMS de l\'[Open Geospatial Consortium](http://www.opengeospatial.org/) ([*OGC*](http://fr.wikipedia.org/wiki/Open_Geospatial_Consortium)) : la version 1.3.0. Et ainsi publier en ligne en WMS et WFS un projet qu'on aura créé avec QGIS. Concrètement quand vous créez un projet dans QGIS, vous ajoutez des couches et leur attribuez, si vous le souhaitez, un rendu qui vous permettra de générer une carte qui pourra être imprimée ou exportée sous forme d'image. QGIS-Server vous permet alors, à partir du même projet, de produire un rendu identique et le transmettre à un client via le protocole WMS. Ce client peut être votre navigateur ou QGIS lui-même. En effet, vous pouvez ajouter une couche WMS en indiquant l'URL de votre serveur, et obtenir alors dans votre QGIS un raster chargé dynamiquement. Ce raster n'est autre que le rendu du projet que vous aviez créé avec QGIS et envoyé sur votre serveur. Avec son protocole WFS, vous pouvez obtenir les couches de données composant le projet. Afin de tester rapidement et efficacement le fonctionnement de votre QGIS-server, nous vous conseillons de suivre les étapes ci-dessous pour mettre en ligne un projet test en local sur votre PC. Explication de la création d'un serveur WMS / WFS depuis un projet QGIS *Pour plus d\'informations sur la procédure de création, consultez la documentation officielle de QGIS:* [*https://docs.qgis.org/3.4/fr/docs/user\_manual/working\_with\_ogc/server/getting\_started.html\#configure-your-project*](https://docs.qgis.org/3.4/fr/docs/user_manual/working_with_ogc/server/getting_started.html#configure-your-project) Les étapes dans cette séance d'introduction à QGIS-server sont : 1\. Créer un projet un projet sous QGIS avec quelques données \- Utiliser le fichier projet\_test.qgs (avec aussi, éventuellement, ajout de fonds de carte alternatifs) \- Éventuellement, grouper des couches par thème, manipuler l'ordre de rendu, améliorer la symbologie des couches dans QGIS \- Sélectionner le système de coordonnées de référence, SCR, pour votre projet et activer la reprojection à la volée \- Zoomer vers l\'extension maximale souhaitée \- Sauver le projet sous le **format.QGS** en déroulant en bas de la fenêtre de droite **fichiers QGIS** puis **enregistrer** **2.** []{#anchor}**Paramétrer le projet pour publication** *(cf. icône ou menu Projet\> Propriétés\...ou raccourci CTRL+MAJ+P)* \- Configurer les paramètres de QGIS-server grâce à l\'onglet *QGIS-server* des *Propriétés du projet* - Activer les capacités WMS en cochant la case «Capacité des services » ***Note!** Si vous ne cochez pas cette case, QGIS-Server utilisera les informations fournies dans le fichier « wms\_metadata.xml » (dans /usr/lib/cgi-bin).* - Définir l'emprise maximale de votre service WMS ou BBOX. Comme le système de projection à la volée a été défini et que vous avez zoomé vers l\'extension souhaitée, il suffit d'activer l\'option « Advertised extent » et de charger les coordonnées avec le bouton « Utiliser l\'emprise actuelle du canevas» - **Restreindre la liste des SCRs** de votre service WMS en sélectionnant au moins celui de votre projet. Vous pouvez utiliser le bouton utilisé pour récupérer tous les SCR de vos couches ainsi que celui du projet. - Exclure des compositions et des couches si certaines données ne doivent pas être publiées en WMS - Activer les couches que vous souhaitez publier en WFS (cocher les cases correspondantes).![](Pictures/10000000000001960000006FDD96D8E45C4366C1.png) - Tester la configuration du serveur en cliquant sur **lancer** pour vérifier si le projet est bien configuré si tout est ok vous aurez comme message «Le projet est validé » au cas contraire vous aurez un message avec les indications sur les éléments à corriger. Vérifier dans les paramètres du projet (via l'onglet *Général des Propriétés du projet*) que les chemins sont bien enregistrés en relatif et enregistrer le fichier sous **test\_votrenom.qgs** vers n\'importe quel répertoire. ![](Pictures/10000201000003FD000002E0A18544AB90CB47D1.png) En pratique, il semblerait qu'actuellement (car la configuration d'authentification avec clé abstraite n'est pas fonctionnel), cela nécessite un stockage des paramètres de base d'authentification du gestionnaire des sources de données/PostgreSQL en claire dans le projet QGIS, ce qui expose donc les noms d'utilisateur et les mots de passe d'accès à la base de données. Il faut donc vieller que ce fichier projet soit accessible uniquement en lecture par le compte utilisateur du serveur et qu'il ne soit pas situé au sein des répertoires accessibles par des tierces via le web. (cf. documentation : https://docs.qgis.org/3.16/fr/docs/user\_manual/auth\_system/auth\_workflows.html\#database-authentication). - À chaque fois que vous changez quelque chose, vous pouvez écraser la version précédente ou sauver le fichier sous un nouveau nom (ex : test\_ogc.qgs avec activation des services WMS et WFS et test\_db\_wms avec couches PostGIS de la base de données stage sur le serveur de l'IGEAT).***Notes ! Attention l'extension de votre projet doit être qgs (cela ne fonctionne pas sous.qgz)*** **3.** []{#anchor-1}**Prise en charge du projet par le serveur / vérification du fonctionnement** \- Lancer le navigateur web et introduire l\'URL pour vérifier que cela fonctionne. [*http://adresse\_de\_votre\_serveur*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities)[*/cgi-bin/qgis\_mapserv.fcgi?map=*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities)[*/chemin\_vers\_le\_fichier\_projet\_avec\_son\_nom.qg*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities)[*s*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities)[*&service=WMS&request=G*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities)*e*[*tCapabilities*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities) Si tout fonctionne cette requête doit vous retourner dans votre navigateur un XML de description du service, c'est-à-dire, le type de service (ici = WMS), les versions compatibles du service (=1.3.0), les systèmes de projections, les étendues maximales et les différentes couches disponibles pour cette carte qui ont été définis dans votre projet QGIS. Faites, également le test en WFS et si cela fonctionne c\'est que le service peut alors être appelé suivant les deux protocoles depuis n\'importe quel client. ***Exemple pour accéder au** **serveur WMS sur mon PC** **défini par mon projet:*** [*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test.qgs&service=WMS&request=GetCapabilities*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test.qgs&service=WMS&request=getCapabilities) En WFS []{#anchor-2}[*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&SERVICE=WFS&REQUEST=GetCapabilities*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test.qgs&SERVICE=WFS&REQUEST=GetCapabilities) **Pour information :** Le serveur web peut aussi être configuré pour accepter un raccourci: http://localhost/wms/test\_ogc.qgs. Ce raccourci est alors traduit en interne par le serveur vers l\'URL ci-dessus. cf.https://docs.qgis.org/testing/en/docs/user\_manual/working\_with\_ogc/server/config.html\#short-name-for-layers-groups-and-project 4\. Afficher vos services OGC \- Tester le *rendu dans QGIS* Pour vous connecter à votre serveur WMS et WFS et visualiser vos données, dans QGIS :\ - Ajouter une couche WMS vs WFS (bouton dans la barre d'outils ou via le menu Couche)\ - Et définir un nouveau serveur WMS vs WFS, en cliquant sur le bouton **\[Nouveau\]** ![](Pictures/100000000000001C0000004CA9C3A9366606B2B1.png) \- Puis entrer les paramètres de connexion du serveur désiré c.à.d un nom pour cette connexion et l'URL du serveur fournissant les données, de la forme : [](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities) [*http://adresse\_de\_votre\_serveur/cgi-bin/qgis\_mapserv.fcgi?map=/chemin\_vers\_le\_fichier\_projet\_avec\_son\_nom.qgs*](http://adresse_de_votre_serveur/cgi-bin/qgis_mapserv.fcgi?map=/chemin_vers_le_fichier_projet_avec_son_nom.qgs&service=WMS&request=getCapabilities) *(exemple sur mon PC : http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs)*\ - Une fois que vous avez cliqué sur le bouton OK, vous pouvez utiliser le bouton **\[Connexion\]** pour récupérer les propriétés du serveur sélectionné.\ - Sélectionnez les couches à afficher, et cliquez sur le bouton **\[Ajouter\]** pour visualiser vos données. ![](Pictures/10000201000003A10000027E4E7C6D01F6BA11A5.png) S'il s\'agit d\'un test WMS, votre projet s'affiche dans QGIS sous la forme d'une couche raster. Notes ! Privilégier l'affichage en format png pour avoir le fonds en transparence Si c\'est un test WFS, les couches que vous avez sélectionnées s'affichent dans QGIS, sous leur forme d'origine (vecteur ou raster) et peuvent être modifiées. Pour plus d'information, utilisez la documentation de QGIS: https://docs.qgis.org/3.4/fr/docs/user\_manual/working\_with\_ogc/ogc\_client\_support.html \- Tester l'affichage d'une carte directement *dans le navigateur web comme une image* (Formuler une URL de requête GetMap & GetPrint) Les protocoles WebGIS de l\'OGC sont des protocoles web et on peut donc y accéder avec n\'importe quel navigateur, sans devoir passer par un logiciel SIG. **Pour plus d'information, voir :** & http://fr.wikipedia.org/wiki/Web\_Map\_Service pour une liste de paramètres disponibles et pour des liens vers une documentation plus poussée (notamment les spécifications de l\'OGC). **Ainsi que la documentation QGIS :** http://docs.qgis.org/2.14/fr/docs/user\_manual/working\_with\_ogc/ogc\_server\_support.html?highlight=qgis%20serveur\#server-configuration-and-supported-parameters Exemple pour afficher ma carte (mon projet) directement dans le navigateur comme une image : En Lambert belge 2008: [*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&service=WMS&version=1.3.0&request=Getmap&width=1000&height=1000&format=image/png&layers=Test&bbox=639300,655500,659900,679000&srs=epsg:3812*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test_ogc.qgs&service=WMS&version=1.3.0&request=Getmap&width=1000&height=1000&format=image/png&layers=Test&bbox=639300,655500,659900,679000&srs=epsg:3812) Et en wgs84 : [*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&service=WMS&version=1.3.0&request=Getmap&width=1000&height=1000&format=image/png&layers=Test&bbox=50.75,4.23,50.93,4.50&srs=epsg:4326*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test.qgs&service=WMS&version=1.3.0&request=getmap&width=1000&height=1000&format=image/png&layers=test&bbox=50.75,4.23,50.93,4.50&srs=epsg:4326) ![](Pictures/100000000000033F000001383781DC06C13E3569.png) ***Et si uniquement ma** **couche des lignes de chemin de fer en Lambert belge 2008** **(c.à.d créer des sous-ensembles de couches avec le paramètre layer dans la requête WMS GetMap).*** [*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&service=WMS&version=1.3.0&request=Getmap&width=1000&height=1000&format=image/png&layers=chemin\_de\_fer&bbox=639300,655500,659900,679000&srs=epsg:3812*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test.qgs&service=WMS&version=1.3.0&request=getmap&width=1000&height=1000&format=image/png&layers=chemin_de_fer&bbox=639300,655500,659900,679000&srs=epsg:3812) ***Exemple pour afficher ma** **carte du composeur d'impression en pdf** **directement dans le navigateur :*** [*http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetPrint&SRS=EPS*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test_ogc.qgs&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetPrint&SRS=EPSG:3812&map0:EXTENT=640159,666135,648963,671188&FORMAT=pdf&TEMPLATE=test_compo&LAYERS=test_ogc)[*G:3812&map0:EXTENT=640159,666135,648963,671188&FORMAT=pdf&TEMPLATE=test\_compo&LAYERS=T*](http://localhost/cgi-bin/qgis_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test_ogc.qgs&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetPrint&SRS=EPSG:3812&map0:EXTENT=640159,666135,648963,671188&FORMAT=pdf&TEMPLATE=test_compo&LAYERS=test_ogc)*est* ![](Pictures/10000000000004DB000002BD5B6FF5759816C617.png) *Notes* ! - Aidez-vous de la **requête GetProjectSettings** (spécifique à QGIS Server) pour ajuster les paramètres nécessaires à l'affichage de cartes directement dans le navigateur. Elle permet de lire de l'information supplémentaire non renvoyée par les sorties de GetCapabilities. Vous pouvez voir, ci-dessus, que cette requête liste entre autre les compositions de cartes comme modèle d'impression possibles («ComposerTemplates»). ***Exemple chez moi:** http://localhost/cgi-bin/qgis\_mapserv.fcgi?map=/home/userulb/Bureau/test/webgis/test\_ogc.qgs&service=WMS&request=GetProjectSettings* - Vos couches vectorielles peuvent être sélectionnées en envoyant la listes de leurs noms séparées par %2C (ou des virgules dans QGIS 2.18 et supérieur) dans les requêtes GetMap et GetPrint. Notes ! Si vous voulez l'ensemble des couches de votre projet, il suffit de renseigner le Nom court de votre projet (renseigné dans l'onglet QGIS-server) - Pour s'exercer davantage, voir la lesson QGIS « Serving WMS » : https://docs.qgis.org/3.4/fr/docs/training\_manual/qgis\_server/wms.html **Utilisation du framework Mapbender 3/Conception de son portail cartographique** Généralement, un framework propose dès l\'installation un site par défaut que l\'on peut modifier alors à sa guise. Peu de frameworks proposent des outils graphiques pour le faire et il faut donc mettre les «mains dans le cambouis» et se familiariser un minimum avec les outils utilisés. Mapbender permet de concevoir un portail cartographique quasi entièrement sans programmation Explication de la structure du site ***Pour connaître tous les détails de Mapbender, consultez la documentation en anglais:** http://mapbender3.org/?q=en/documentation* En gros, il s'agit d'un système de briques où on peut combiner toute une série de fonctionnalités pré-programmées pour en faire un portail complet. Allez sur [*https://demo.mapbender3.org/application/mapbender\_user\_yml*](https://demo.mapbender3.org/application/mapbender_user_yml) pour voir un exemple qui pourra vous servir de modèles de départ (Mapbender\_user\_yml YML). D'autres modèles, fournis avec le logiciel, sont également disponibles. Dans le langage Mapbender **une «application» est un portail cartographique**. ***Création d'un Géoportail dans Mapbender*** Lorsque vous vous connectez pour la première fois dans Mapbender vos identifiants par défaut est **root** comme nom d'utilisateur et comme mot de passe. Pour modifier le nom d'utilisateur après d'être connecté allez dans la partie supérieure droite de l'application cliquez sur **connecté en tant que root** puis **votre compte** ![](Pictures/100002010000032400000180FD9AE1CA23A82190.png) dans l'onglet **Base data** renseigner les nouvelles informations puis le nouveau mot de passe et ensuite **enregistrer** **L' interface Graphique** de Mapbender est composée de 3 trois rubriques : - **Rubrique Application** où sont enregistrées toutes vos applications créées ainsi que les modèles d'applications par défaut de Mapbender que vous pouvez dupliquer et l'adapter. ![](Pictures/10000000000002C3000000EE850683F4545B9C64.png) - **Rubrique Sources** c'est ici que vous pouvez ajouter vos données OGC (\*\**format WMS ou WMTS uniquement valide actuellement*) de votre serveur dans l'application. Pour ce faire cliquez une fois sur **Add source** Choisir le **type** de service OGC\*\*, puis collez l' URL de vos données dans **service Url** et éventuellement si nécessaire renseigner les identifiants d'accès. Enfin cliquer sur **Load** pour charger ces données. ![](Pictures/100002010000069B0000031E2B6E55EAE3764E05.png) Si tout fonctionne correctement vous verrez apparaître une boîte de dialogue avec différents onglets qui fournit les informations sur les données OGCs chargées. Dans l'onglet **Metadata** vous avez les informations générales sur les données , dans **l'onglet contact** vous avez les coordonnées du fournisseur de données ![](Pictures/10000201000006C2000003206749A2F1C46167EA.png) Dans l'onglet **Détails** vous avez les informations sur les différents services et formats de vos données couches et enfin **l'onglet layers** vous fournis les informations sur les nombres de couches disponible dans votre WMS , leurs systèmes de projections ainsi l'étendu géographique (ou BoundingBox) de vos couches. - **Rubrique Sécurité :** vous permet de sécuriser vos données en créant les nouveaux utilisateurs ou groupe d'utilisateur et leur attribuer des privilèges d'accès ou restreindre leur droit. ![](Pictures/10000201000006CB00000282676FA78BAEE2F752.png) Pour Créer un utilisateur ou un groupe d'utilisateur et lui attribuer des droits, on clic sur **Add user ou Add Group** user, donne le nom de l'utilisateur, son adresse email et ainsi que son mot de passe puis clic sur **sauver.** ![](Pictures/10000000000006DF0000033DC3EB09AC05155B66.png) Afin d'attribuer à l'utilisateur un rôle pour limiter l'accès à vos données , vous cliquez sur **edit user** ![](Pictures/10000201000003450000014E7B1158296C37579E.png) Puis dans l'onglet Sécurité vous cochez les différentes cases selon les droits que vous voulez attribuer à l'utilisateur: **vue** : à activer si voulez que l'utilisateur ait le droit de visualisation des données **editer**: à activer si vous lui attribuez le droit d'édition (de modification) **effacer** : à activer si vous lui attribuez le droit de suppression **mâitre**: rôle à activer si vous voulez donner tous le droit sauf sur le **propriétaire** Création d'une application à partir d'un modèle dupliquer Il existe trois modèles d\'application dans Mapbender qui accompagnent l\'installation : - Modèle plein écran avec volet latéral - Modèle de base (plein écran sans volet latéral) - Modèle mobile Nous vous suggérons d'utiliser le modèle plein écran qui à plus d'outils qui rendent votre géo portail plus interactif. Pour en créer une, il suffit d'aller dans la **rubrique** **Applications → puis on** choisit un modèle plein à écran à dupliquer puis on clique sur ![](Pictures/100000000000006F0000005DCC54E4F419DB8A46.png) Dans l'onglet **base data** vous pouvez renommer l'application , donner le titre de url de votre application , dans Thumbnail vous pouvez choisir un logo ou une image de couverture de votre portail, et dans description vous pouvez décrire votre application en quelques mots. ![](Pictures/10000000000006FF000003AC4798D7B471C5F0EC.png) Dans l'onglet Layouts Le tout s'articule autour de l'*onglet «Layouts»,* onglet de la configuration de l'application. La région du modèle plein écran est divisée en 4 parties: **1) Content** : le canevas central dans lequel on affiche la carte qui est configurée avec les éléments suivants : -------------------- -------------------------------------- Title Type Map Map le corps de la carte Navigation toolbar Navigation toolbar les outils zoom Legend Legend a légende de la carte FeatureInfo FeatureInfo Infos sur la carte WMS loader WMS loader lien Wms de la carte Image export Image export export de la carte Print client Print client imprimer la carte line Line/Area Ruler dessiner une ligne area Line/Area Ruler dessiner un polygone Scale bar Scale bar échelle graphique Overview Overview aperçu de la zone Scale display Scale display échelle -------------------- -------------------------------------- 2\) **Toolbar**: une barre d'outils qui s'affichera au-dessus du geoportail dans lequel on peut rassembler toute une série d'outils : ------------------- -------------------------------------------------------------------------------------- -- Title Type FéatureInfo Button Bouton Info Print client Button Bouton Impression ![](Pictures/1000000000000027000000312D707EF01F787496.png) Image export Button Legend Button ![](Pictures/100000000000002700000027A585425062B022BC.png) WMS (FondAwesome) Button GPS Position GPS Position ![](Pictures/10000000000000220000002B8959941E5FDC5054.png) Measure Button mesure distance Measure Button ![](Pictures/100000000000002600000025B77ACDB4B57B08AB.png) mesure un polygone ------------------- -------------------------------------------------------------------------------------- -- Tous ces boutons sont créés en fonction des éléments que nous avons configurés dans **content **! *Ceci signifie par exemple qu'avant d'ajouter le bouton legend on doit tout d'abord ajouter l\'élément legend dans la partie **content*** +-----------------------------------+-----------------------------------+ | about | About dialog à propos de l'apps | +-----------------------------------+-----------------------------------+ | POI | Button vous permet de fixer un | | | point | | | | | | ![](Pictures/10000000000000220000 | | | 00330B0A005D90BA33D7.png) | +-----------------------------------+-----------------------------------+ | Share URL | Share URL | +-----------------------------------+-----------------------------------+ | HTML | vous permet d'y ajouter un logo | | | et un titre dans votre | | | application | +-----------------------------------+-----------------------------------+ Ces éléments sont affichés dans l\'entête de l'application (sur la droite). 3\) **Sidepane**: ce sont les outils qui s\'afficheront dans l'espace latéral ( à gauche) souvent la liste de couche ou la légende : ![](Pictures/10000000000002140000039CE4C186FECDC6E2AC.png) +-----------------------+-----------------------+-----------------------+ | Title | Type | | +-----------------------+-----------------------+-----------------------+ | Layer tree | Layer tree liste de | | | | couches | | +-----------------------+-----------------------+-----------------------+ | Sketches | Sketches | | | | digitalisation | | +-----------------------+-----------------------+-----------------------+ | Coordinates utility | Coordinates utility | | | | choix du | | | | | | | | système de | | | | coordonnées | | +-----------------------+-----------------------+-----------------------+ | About CRGM | HTML lien HTml vers | | | | le site | | +-----------------------+-----------------------+-----------------------+ 4\) **Footer :** un pied de page, généralement les éléments qu'on y met sont les suivants : +-----------------------------------+-----------------------------------+ | Title | Type | +-----------------------------------+-----------------------------------+ | Activity indicator | Activity indicator les | | | coordonnées xy à chaque | | | | | | défilement de la souris | +-----------------------------------+-----------------------------------+ | Coordinates display | Coordinates display affichage de | | | coordonnée | +-----------------------------------+-----------------------------------+ | SRS selector | SRS selector sélection du srs de | | | la carte | +-----------------------------------+-----------------------------------+ | Scale selector | Scale selector Choix d'échelle du | | | zoom | +-----------------------------------+-----------------------------------+ | Application switcher | Application switcher facultatif | +-----------------------------------+-----------------------------------+ | © OpenStreetMap contributors | Link defaut | +-----------------------------------+-----------------------------------+ ***Pour plus d'information sur les** **éléments dans chacune des 4 parties** **référez vous à la** **documentation :** **https://doc.mapbender.org/en/functions.html*** Vu que nous allons commencer par créer une application sur un modèle dupliqué, nous pouvons ajouter les nouveaux éléments en cliquant sur le signe plus, nous pouvons soit supprimer les éléments trouvés inutiles en cliquant sur le signe supprimer.![](Pictures/1000000000000025000000296267D49033BED4E9.png) Pour éditer un élément on clic sur edit , mais avant toute édition il faut tout d'abord préparer vos données à afficher dans l'onglet **Layersets** ![](Pictures/10000000000006AF00000351DEED62BFE8653D4C.png) []{#anchor-3}Configurez votre source WMS On va dans l'onglet **Layersets** on trouve deux layersets déjà créé **Main pour les couches principales** et overview qui contient les basemaps ou fond OSM, on va juste supprimer la couche "Mapbender Users(Mapbender Users) que nous allons ensuite remplacer avec nos propres sources de données que nous avons chargé depuis comme sources supplémentaires. On Clic sur l\'icône supprimée juste à droite du nom de la couche. Une fois la couche par défaut enlevée ajoutons nos propres couches en cliquant sur **add instance** ![](Pictures/100000000000064C000000AD2ECA2353082C368D.png) Vous verrez une liste de sources de données qui sont disponibles dans mapbender y compris vos propres sources de données WMS qui ont été ajoutées au début de la prise en main. On clique sur la source de données qu'on souhaite afficher dans l'application. Une nouvelle fenêtre vas apparaître avec le nom de la source de données que vous venez de choisir, vous pouvez laisser ensuite tous les paramètres par défaut MAIS cochez « base source » et « transparency » et si votre donnée a été configurée sur QGIS, sélectionner le Layer ordering « QGIS ». ![](Pictures/10000000000005B100000359C0468222686D0410.png) Paramétrage des services : - Titre : nom affiché dans l\'application - Opacité : taux d'opacité des données en pourcentage - Format : format d'affichage de la couche (cf.getMap-Requests) ; privilégier png pour avoir des fonds en transparence - Infoformat : format du getFeatureInfo-Requests - Exceptionformat : format des exceptions - Tampon de tuiles : ce paramètre est valide pour les services de tuiles et spécifie si des tuiles supplémentaires doivent être demandées. Si l\'utilisateur parcourt la carte, ces tuiles sont déjà téléchargées et visibles. Plus la valeur est élevée, plus le nombre de tuiles demandées est élevé. Par défaut : 0 - BBOX-Faktor : Ce paramètre est valable pour les services WMS non tuilés. Vous pouvez spécifier la taille de l\'image de la carte renvoyée. Une valeur supérieure à 1 demandera une plus grande map-image. Par défaut : 1,25, peut être réglé sur 1. - BaseSource : le service doit-il être géré en tant que BaseSource (les BaseSources peuvent être affichées/cachées dans le layertree) - Proxy : s\'il est actif le service sera demandé par Mapbender et non directement - Transparence : la valeur par défaut est activée, la source est sans fond transparent si elle est désactivée (getMap-Request avec TRANSPARENT=FALSE) - Mosaïque : vous pouvez demander un WMS en mosaïque, la valeur par défaut n\'est pas mosaïque (peut être un bon choix si votre carte est très grande et que le service WMS ne prend pas en charge la largeur/hauteur). En bas, vous pouvez cocher les couches que vous souhaitez visualiser dans votre application et vous pouvez aussi modifier leur ordre etc\.... En effet, peut-être que vous ne souhaitez pas fournir à vos utilisateurs toutes les couches ou que vous souhaitez modifier l\'ordre ou les titres de la couche ou désactiver les informations sur certaines fonctionnalités ou modifier l\'échelle min-/max d\'une couche. Attention, il ne faut surtout pas décocher les cases des deux premières lignes. ![](Pictures/10000000000005BB000002A46644EDDF45E428ED.png) Nous allons rentrer dans l'onglet Layouts maintenant que nous avons configurés nos couches de données. Dans **layout** \-\-\--**Content** \-\-\-- nous allons cliquer sur **edit** de l\'élément du type **map** pour configurer les paramètres en fonction de nos couches. Une Nouvelle fenêtre qui s'ouvre - Title : donner le titre de la carte - Layersets: cochez main et overview vu que se sont les deux que nous avons créé - Title size : valeur par défaut - Srs : renseignez le code EPSG d'affichage de votre jeu de données - Max extent : l'étendu géographique maximale de vos couches. - Start extent : l'étendu géographique de départ de votre application. ***Astuce !** Pour renseigner ces étendues géographiques, allez dans votre projet qgis faite un clic droit sur la couche limitant l\'étendue de votre zone géographique aller dans l'onglet information copier et coller les coordonnées min x, min y et Max x et Max y de l'emprise ou utiliser l'emprise du caneva désirée dans les propriétés du projet ! TOUT en tenant compte du code EPSG de votre couche ou du projet !* ![](Pictures/10000000000005D4000003BBC527B8DDEF62B9A8.png) - scales (CSV): définir les différentes valeurs d'échelle de zoom de votre application tout en tenant compte de l'étendue géographique. []{#anchor-4}Exemple pour une zone géographique à la dimension d\'un pays : 10000000,5000000,4000000,3000000,2000000,1000000,400000,300000,200000,100000,90000,80000,70000,60000,50000,25000,10000,7500,5000,2500,1000 - Others SRS : listez les autres projections de votre application puis sauvegardez. N\'oubliez pas de visualiser votre application à chaque fois que vous ajoutez ou modifiez les éléments. Toujours dans **content,** il est possible de modifier la légende avec l'élément de paramétrage/d'édition de la legende. ![](Pictures/100000000000053D00000027B3D9F02C4E52CB44.png) Dans **Target** , choisir le titre de votre carte, et cochez toutes les cases d'affichage puis sauvegarder. Essayer de faire pareil avec les autres éléments en les éditant, partout vous voyez Target choisir le nom de votre Map. Dans la partie **Footer** (Pied de page ) éditer tous les éléments en signalant à chaque fois juste la Target (cible) sauf pour Activity Indicator et OpenStreetMap contributor à moins que vous utilisiez les autres fonds de cartes des autres institutions que celui de OSM. ![](Pictures/100000000000055C000001742E212ADD99FF8851.png) Dans la partie **Sidepane :** editer/paramétrer par exemple le **Layer tree** et configurez le comme sur l'image ci-dessous puis sauvé ![](Pictures/10000000000002DB000003137E52C0E032C92919.png) Toujours dans Sidepane **editer un bloc Html** : ici il s'agit de fournir les informations aux utilisateurs sur votre application (avec par exemple des informations sur votre institution ou autres) en les plaçant dans script HTML. Vous pouvez par exemple copier - coller le script ci-dessous dans la case content en modifiant les zones en rouges, \Texte explicative\\ liens https de l'institution/\ \ Ces informations s\'affichent dans le panneau latéral à droite de l'application. ![](Pictures/10000000000001AA00000380D0D6080FE0193E04.png) Pour les autres éléments qui sont dans la partie **toolbar** nous allons le configurer de la même manière que nous avions fait précédemment. C'est ici aussi qu'on peut ajouter un logo dans notre application : pour cela on va éditer un bloc **HTML** et on va à nouveau y placer un script Html Copier et coller le code html ci-dessous dans la case content en modifiant juste les parties mises en rouge puis enregistrer. \ Geo Katanga \ \ N.B : Le logo (image) doit être chargée à partir d'un serveur ou d'un site internet. ![](Pictures/10000000000002DF0000027DF80532FC99291F89.png) Le logo s'affiche à droite de notre application : Personnalisation du style de l'application avec le code CSS Si vous souhaitez mettre un peu plus de style dans votre application vous pouvez copier-coller le style css ci-dessous dans l'onglet css de votre application en modifiant juste les valeurs qui sont en couleur violet. Pour trouver les valeurs de couleur à ajouter à votre code css, allez voir ce lien [*https://www.ssbrinet.com/2021/03/what-is-rgb-and-rgba-colors.html*](https://www.ssbrinet.com/2021/03/what-is-rgb-and-rgba-colors.html) ![](Pictures/10000000000005B20000031BA41C7C437FBCFBFF.png).toolBar **{** background-color: rgba**(**0, 29, 122, 0.8**)** !important; }.toolPane **{** background-color: rgba**(**0, 29, 122, 0.8**)** ! }.pan**{** background-color: rgba**(**0, 93, 83, 0.9**)**; }.sidePane **{** overflow: visible; background-image: url**(**\"\"**)**; background-color: *\#eff7e9;* }.sidePane.opened **{** width: 350px; } ***Pour plus d'info, voir :*** [***https://doc.mapbender3.org/en/book/css.html***](https://doc.mapbender3.org/en/book/css.html) ** ***&*** [***https://doc.mapbender3.org/en/book/templates.html***](https://doc.mapbender3.org/en/book/templates.html) ** Les données qu'on veut afficher sont à ajouter au niveau de l'*onglet Layersets*, il est intéressant de les regrouper par thématique. L'*onglet Security* permet de définir les droits des utilisateurs sur l'application. **Note !** La définition de ce droit d'un utilisateur (ou groupe) sur l'application écrase son droit ACL global sur les applications. On y ajoute les utilisateurs et on leur attribue le droit, ici vous voyez sur l'image bcge n'a le droit que de visualiser et non de modifier et Ives et le propriétaire, il a donc tous le droit Voilà à quoi ressemble notre nouveau géoportail avec les données PED. ![](Pictures/1000000000000779000003DCD8C690A4D6C57D80.png) Pour rajouter des **fonds de plans supplémentaires** il suffit d'aller dans la **rubrique Sources → Add source** et renseigner l'URL du service WMS (en effet mapbender3 ne gère pas d'autres services comme les WFS(-T) ou les TMS). Pour information, voici un lien WMTS/WMS qui vous donne l'accès à beaucoup de tuiles supplémentaires (fond topo, image hillshade \...) [*http://ows.terrestris.de/osm/service*](http://ows.terrestris.de/osm/service) Note ! Comme mapbender3 ne gère pas (encore) services WFS(-T) (alors que c'était le cas dans mapbender2). a\) pour permettre le téléchargement d'une couche via l'application mapbender3, une approche serait d'avoir dans les métadonnées, un lien de téléchargement c.à.d le lien du service WFS de la couche. Si QGIS-serveur est utilisé, il faut donc préparer le projet QGIS en conséquence (ex : ajouter par exemple les URLs des services WFS de vos couches dans la section « Résumé » via l'onglet *Serveur OWS* des *propriétés du projet QGIS* pour que cela s'affiche ensuite dans la partie « Description » des métadonnées sur mapbender3). b\) pour permettre l\'édition à distance des couches. []{#anchor-5}Si vous avez un accès direct à vos données via SQL dans PostgreSQL, vous pouvez utiliser les outils mapbender3 de [**digitalisation**](https://doc.mapbender3.org/en/bundles/Mapbender/CoreBundle/elements/digitizer.html) et [**recherche**](https://doc.mapbender3.org/en/bundles/Mapbender/CoreBundle/elements/search_router.html). Si pas, une approche est de commencer par implémenter un service WFS-T et ensuite mettre aussi ce lien dans les méta-données, permettant à ceux qui ont l\'accès d\'utiliser le lien dans un logiciel adéquat. Les étapes dans cette séance d'introduction à Mapbender sont : 1\. Se connecter à Mapbender3 Pour rappel, avec une installation en local, la liste des applications se trouve à l'adresse: [*http://localhost/mapbender3/*](http://localhost/mapbender3/) 2\. Rajout des services WMS nécessaire dans les sources de données Ajouter comme données supplémentaires votre service WMS du projet test généré avec QGIS-server ainsi que les données WMS des administrations désirées (ex :CIRB, IGN, BruGIS, IBSA, STIB) (via ajout des URLs de WMS). 3\. Importer les deux modèles d'application test et dupliquer en une Ces deux applications (en mode «classique» (écran partiellement utilisé) et en mode plein écran) ont été exportées depuis Mapbender en format json. pour vous inspirer et vous lancer. Une fois importés (via l'outil d' « Import »), copier un des modèles (via le bouton «Duplicate»), donner votre nom comme titre de l'application et commencer à la modifier / mettre à jour. 4\. Tester la dynamique de votre application avec votre projet test configuré en WMS Changer quelque chose dans votre projet test configuré en WMS (ex : le style d'une couche) et vérifier la mise à jour interactive sur votre portail. **5. Développer une application à partir des données et du projet test PED de Ives**[]{#anchor-6} **MALONGO** **6. Développer votre application individuelle** - en y ajoutant vos propres données, les éléments de personnalisations que nous avons vu, ainsi que le logo de votre institution\... Pour plus de détails sur la création de votre application personnelle, référez-vous à la documentation : Pour aller plus loin, nous vous invitons à rejoindre leur liste de diffusion (mailing list) très active qui permet de partager soucis et informations (en anglais, allemand ou espagnol) avec utilisateurs et développeurs de Mapender : https://lists.osgeo.org/mailman/listinfo/mapbender\_users