QGis et le WEB:faisons le point

Le WEB n’est plus réservé aux grands comptes. Les moyens techniques et les coûts des solutions ne sont plus un obstacle pour que tout un chacun puisse diffuser sur le WEB ses données et ses cartes. Mais cette évolution est allé de paire avec une multiplication des solutions techniques et l’obstacle majeur aujourd’hui est de choisir la solution la mieux adaptée à ses besoins. Nous verrons ici un panorama non exhaustif, mais qui, je l’espère, vous aidera à bien choisir avant de vous lancer.

Cartes et/ou données?

La première question à se poser est, toujours, QUOI? Qu’est-ce que vous voulez diffuser? Vous pouvez diffuser des cartes, c’est à dire l’équivalent de ce que vous voyez dans votre interface QGis sur votre poste. L’utilisateur rentre l’URL de votre carte et il retrouve une interface SIG simplifiée et une carte mise en forme par vos soins. Il peut zoomer, afficher ou éteindre les différentes couches, mais il n’a pas accès directement à vos données. Vous diffusez le résultat de votre travail, pas les moyens que vous avez utilisé.

Vous pouvez aussi choisir de mettre en ligne vos données, c’est à dire rendre accessibles des couches de données, sans mise en forme particulière. Dans ce cas, l’utilisateur fera une connexion WFS ou WMS sur vos données et il pourra les intégrer dans ses projets en les mélangeant à ses propres données.

Selon les outils choisis, vous pourrez faire soit l’un, soit l’autre, soit les deux.

Volume?

La deuxième question est COMBIEN? Sans essayer de prévoir au Mo près, vous devrez savoir à l’avance si vous voulez partager des données raster ou non. Si vous vous cantonnez aux données vecteur vos volumes de données seront, en principe, bien au-deçà des limites des outils proposés. Par contre, si vous travaillez avec des données raster (images, mnt, etc) vous dépasserez ces limites dès le début.

Investissement?

Le coût de la solution choisie ne se limite surtout pas aux coûts des logiciels ou des hébergements. Le volet principal sera votre temps. Partons de la base que vous connaissez déjà QGis. Vous avez des solutions où la mise en ligne de vos cartes et/ou données se limitent à l’utilisation d’un plugin dans QGis. Vous en aurez d’autres où il faudra s’investir pour apprendre d’autres logiciels, avec ce que cela implique en temps et en efforts.

Certaines solutions fonctionneront sur votre poste de travail, d’autres nécessiteront la mise en place d’un serveur WEB. Si votre monde se limite à Windows, vous aurez de fortes chances d’avoir à faire avec Linux.

Essayez donc de rester au plus près de vos besoins.

Mettre en ligne que vos données.

La mise en ligne de données géographiques se fait à travers ce que l’on appelle des flux WFS ou WMS. Ces deux termes barbares se référent simplement à deux protocoles standard d’échange de données. Le premier, WFS, correspond aux données vectorielles? Le deuxième, WMS, correspond aux données raster à proprement parler, mais aussi aux données vectorielles mais échangées sous forme d’images (comparez ça à l’envoi d’une copie d’écran de vos couches vecteur).

Geoserver

Toutes les solutions autour de QGis que nous aborderons ici permettent de mettre à disposition du WEB les flux WMS et WFS de vos données. Mais si vous disposez d’un serveur WEB la solution la meilleure est de mettre en place Geoserver. Logiciel Open Source, gratuit, puissant et au top de la sécurité, ce sera un bon investissement. Pour une utilisation de base normale, vous n’aurez pas besoin de plus d’une journée pour l’installer, le configurer et commencer à mettre en place vos flux de données.

Vous pouvez mettre en ligne des couches shapefile mais si vous voulez vraiment exploiter toute la puissance de Geoserver  il est conseillé de le coupler à PostgreSQL/Postgis.

Pour avoir plus d’informations sur cette solution, je vous invite à lire l’article « Débuter avec Geoserver ».

Mettre en ligne vos cartes et vos données

QGis Cloud

QGis Cloud est un plugin de QGis associé à un service Cloud. Le plugin vous permet de prendre votre projet QGis, de le charger sur le Cloud, de charger vos données sur une base du Cloud et d’obtenir en retour une URL qui permet de visualiser votre carte avec une interface SIG simplifiée et une autre URL pour accéder au flux WMS de vos données. La carte est donc accessible avec un simple navigateur WEB et,par défaut, le public peut se connecter au flux WMS du Cloud pour intégrer vos données dans leurs propres projets.

Avec quelques petits réglages très simples, vous pouvez mettre en ligne vos données sous forme de couches vecteur (WFS) et même autoriser les utilisateurs à mettre à jour les données (WFS-T).

Vous n’avez donc pas à vous occuper de la partie serveur de cette solution. QGis Cloud gère les bases de données et les outils de mise en ligne de la carte.

Voilà pour les plus. Maintenant, quels sont les moins de cette option? Tout d’abord les volumes de données. Pour un projet vous ne pouvez pas, dans l’option gratuite, dépasser 50Mo. Ceci vous interdit de fait, d’avoir des couches raster dans votre projet. Ceci ne concerne pas un fond de carte raster comme Goggle Satellite, OSM, Bing, etc, car QGis Cloud vous permet de définir une de ces sources comme fond de carte, mais il ne la compte pas dans le volume des données (elle n’est pas chargée dans votre base de données).

Vous pouvez passer à l’option payante (unique) et vous aurez droit à 500Mo pour un prix de 65€/mois, à laquelle vous pouvez ajouter 20€/mois par gigaoctet supplémentaire.

Mais si vous mettez en parallèle le coût de l’hébergement d’un serveur complet, chez OVH par exemple, qui tourne pour une option Pro avec 250 Go à moins de 10€ par mois, soyons honnêtes, cette solution n’est vraiment valable que pour les projets relativement petits ou pour ceux qui préfèrent payer cher et ne pas s’investir dans la gestion d’un serveur, car toutes les solutions qui suivent impliquent la mise en place d’un serveur.

Pour plus d’informations sur cette solution, je vous invite à consulter l’article Publiez vos cartes QGis sur le web avec QGis Cloud.

QGis server

C’est la version serveur du projet QGis. Vous aurez donc besoin d’un serveur physique et de disposer sur ce serveur(versions minimales) d’Apache 2.4, PHP 5.5 et PostgresSQL 9.3, avant d’installer QGis Server.

Le principe est simple (même si l’installation peut devenir vite un cauchemar) : vous créez votre projet avec QGis Desktop, vous transférez vos données et le projet sur votre serveur, puis vous paramétrez manuellement la mise en ligne du projet en modifiant des tables de la base PostgreSQL d’administration de QGis Server.

L’utilisateur peut accéder à votre carte ainsi qu’aux flux WFS et WMS . Avec cette solution vous vous affranchissez du problème de volume de vos données.

L’interface dans le navigateur est une interface SIG simplifié (zoom, mesure, affichage des attributs).

Pour plus d’informations sur QGis Server, reportez vous à l’article Installer QGis Server sous Windows 10

Mettre en ligne que vos cartes

QGis2Web

Avec cette solution vous avez la possibilité de mettre en ligne vos cartes mais pas les flux WFS et WMS.

QGis2WXeb est un plugin de QGis Desktop. Ce plugin vous permet d’exporter votre projet QGis local sur un serveur HTML classique. Aucun logiciel particulier est nécessaire sur le serveur.

La partie cartographique sera du code LeafLet ou OpenLayers, au choix, contenu dans une page HTML. Vos données seront incluses dans un fichier de données au format GeoJson. Il suffit de copier sur votre serveur la page html et le fichier Json pour que votre carte soit en ligne.

Le gros avantage est de n’avoir rien à faire côté serveur. Le deuxième est que cette solution est un premier pas facile pour aborder la dernière des options que nous verrons après. En effet, la génération du code OpenLayers ou LeafLet peut servir de base pour développer des pages avec des fonctionnalités beaucoup plus riches.

Le principal inconvénient est l’absence de flux WFS et WMS d’une part, et le fait de figer les données tout en les recopiant autant de fois qu’elles sont utilisées dans un projet.

Pour plus d’informations sur QGis2Web, reportez vous à l’article Comment exporter votre projet QGis en page html en deux clics : Qgis2Leaf.

Et si vous devez aller plus loin

Si vos besoins dépassent ce qui a été exposé jusqu’ici, il faut envisager de laisser de côté QGis comme base de votre cartographie sur le WEB. Plusieurs architectures sont possibles, c’est le moins que l’on puisse dire. Pour commencer à réfléchir vous pouvez partir sur l’idée Postgres/Geoserver/OpenLayers. En tout cas l’architecture comprendra forcément:

  • un système de gestion de base de données (Postgresql, Oracle, …)
  • un serveur de données (WFS,WMS,…)
  • un langage d’écriture des pages HTML pour l’interface cartographique (LeafLet,OpenLayers,…)

Vous trouverez un exemple de développement d’une application de Webmapping (recherche d’itinéraire), depuis la base de données à la page HTML, dans la suite d’articles Développer une application avec pgrouting sous Windows (1 à 7)

2 pensées sur “QGis et le WEB:faisons le point”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *