Zoom sur les trois solutions disponibles en open source.


Que sont QGIS Server MapServer et GeoServer ?

MapServer

MapServer est le premier serveur cartographique apparu sur le marché. En effet, avec une première version en 1994, il jouit d’une longévité qui lui permet d’arborer une stabilité reconnue. Il s’agit d’un projet open source porté à l’origine par l’université du Minnesota en partenariat avec la NASA. Il est écrit en C/C++.
Techniquement, MapServer peut être utilisé principalement de deux manières. Premièrement via des APIs toutes nommées MapScript qui permettent l’utilisation de MapServer directement via la programmation en Python, Java, C et PHP. La deuxième méthode est d’utiliser MapServer en mode CGI (Common Gateaway Interface). La CGI est une interface qui va lancer un programme exécutable par l’intermédiaire d’un serveur web HTTP comme Apache et IIS.
MapServer se repose sur un Mapfile qui est l’élément central de la construction cartographique. En effet il s’agit d’un fichier texte qui, par un langage balisé propre à lui-même, va venir définir un certain nombre d’objets.

QGIS Server

QGIS Server est un serveur cartographique récent puisqu’il apparaît avec la version 1.6 de QGIS en 2010. Il est facile à prendre en main par rapport aux autres serveurs cartographiques. Cette facilité est dûe au fait que QGIS Server s’appuie directement sur le logiciel bureautique QGIS desktop. Dans les faits, le projet QGIS desktop sert directement de source (dans sa mise en forme) à la construction du service web QGIS Server. Ainsi, l’ensemble des paramètres se font depuis l’interface de QGIS. Du point de vue technique, QGIS Server est l’équivalent de MapServer : Une application CGI écrite en C++ et qui fonctionne, comme MapServer, au travers d’un programme exécutable sur un serveur Web comme Apache.

GeoServer

On retrouve également Geoserver qui est libre et ouvert et offre des fonctionnalités similaires aux autres serveurs cartographiques. La différence majeure avec QGIS Server et MapServer est que GeoServer est en Java. GeoServer comprend également une application web qui permet aux utilisateurs de visualiser les données et d’interagir avec elles de différentes manières sans avoir besoin de télécharger des fichiers bruts. La discrétisation et la stylisation des données se font par fichier SLD (Style Layer Descriptor) qui prend la forme d’un fichier XML. Ce fichier peut être directement écrit et paramétré à la main ou bien plus simplement être téléchargé directement depuis QGIS après avoir paramétré et stylisé notre couche.


La comparaison des serveurs cartographiques

Chaque solution présente à la fois des avantages et des inconvénients pour les utilisateurs. Les voici ci-dessous :

Avantages et Inconvénients de MapServer 

La robustesse et la stabilité de MapServer sont sa plus grande force. Celles-ci se ressentent dans ses performances, puisque MapServer est le serveur cartographique le plus rapide dans la diffusion des données sous forme de standard OGC.
Néanmoins MapServer ne possède pas d’interface graphique de configuration, ce qui peut être assez rebutant aux premiers abords. La configuration des couches se fait donc par l’écriture de mapfile dans un fichier texte dans le cadre d’une utilisation en CGI. Si on passe par une API Mapscript il est nécessaire d’utiliser et de maîtriser les langages de programmation. Dans les deux cas, il faut amorcer une phase d’apprentissage avant de pouvoir utiliser MapServer.

Avantages et Inconvénients de GeoServer 

GeoServer est tout comme MapServer un serveur cartographique robuste et performant. L’application web de GeoServer permet de facilement prévisualiser les rendus.
Néanmoins GeoServer est écrit en langage Java. Ceci entraîne par obligation l’utilisation d’un serveur Web écrit également en Java à savoir Tomcat. Java est un langage complexe ce qui rend l’infrastructure lourde et contraignante. Pour la discrétisation et la stylisation, il est nécessaire de comprendre comment fonctionne un fichier SLD (ou d’utiliser un logiciel externe comme QGIS pour le produire).

Avantages et Inconvénients de QGIS Server 

Le gros avantage de ce nouveau serveur cartographique est de s’appuyer sur le rendu du logiciel bureautique. On peut donc configurer toutes les caractéristiques de ses cartes directement avec QGIS : symbologie, étiquettes, seuils d’échelle, etc. En comparaison avec l’écriture à la main du fichier de configuration d’un MapServer ou d’un Mapnik.
QGIS Server présente le désavantage d’être moins documenté et d’avoir moins de support utilisateurs que ses concurrents. Les performances sont également plus lentes que MapServer ou GeoServer.


Notre utilisation de serveur carto en géomatique 

Chez Sogefi nous sommes experts de la géodata et du webmapping depuis 1989. Nous nous appuyons, pour notre activité, sur deux de ces technologies open source : QGIS Server et MapServer. Certains de l’efficacité des deux, nous privilégions désormais MapServer qui permet à nos portails cartographiques : Horizon (pour les professionnels) ou Mon Territoire (pour les collectivités) d’être plus performants afin d’assurer à nos utilisateurs une fluidité d’exécution lors de leur navigation. 

En conclusion, dans le cadre de la diffusion de l’open data, nous basons nos solutions utiles aux professionnels et collectivités, sur des serveurs cartographiques open source. Leur association aux flux WMS est une solution robuste à la visualisation fluide et agréable des données cartographiées dans nos différents portails.

Envie d’en savoir plus sur les serveurs cartographiques ? Retrouvez notre article détaillé.