Skip to Content

Comment utiliser les modèles (templates) HTML ?

Auteur : L.Jégou

MapServer à la base ne produit qu'un fichier image contenant une carte, selon une "recette" contenue dans un fichier mapfile, qui va chercher des données et les assemble pour former une carte. Dans le cadre d'une utilisation sur un serveur web, les auteurs de MapServer ont ajouté une fonctionnalité au logiciel pour lui permettre de générer non seulement une image de carte, mais un document HTML complet comprenant les divers éléments (carte, échelle, légende, titres et mentions).

Cette fonctionnalité se base sur l'utilisation d'un fichier modèle HTML, dans lequel MapServer va modifier des valeurs pour y introduire les éléments cartographiques qu'il va produire. Ce fichier modèle HTML c'est ce qu'on appelle un "template" dans le vocabulaire de MapServer.

Le fonctionnement des templates est très simple : dans le mapfile on spécifie le chemin vers un fichier template HTML. Ce dernier contient le code HTML de la page dans laquelle vont se trouver les éléments que doit produire MapServer, identifiés par des balises spéciales, qui seront remplacées par le code HTML adéquat par MapServer.

La balise la plus importante est la balise [img], qui sera remplacée par MapServer par le chemin vers le fichier image de la carte qu'il génère. Le passage des paramètres entre le template HTML et MapServer se réalise selon les procédures HTML classiques, par le biais de variables CGI, donc en utilisant les formulaires HTML.

Le référence des balises utilisables se trouve sur cette page : http://mapserver.gis.umn.edu/docs/reference/templatereference/templatereference

Voici un exemple : http://www.geotests.net/test/symbprop/symboles.php
Son mapfile : http://www.geotests.net/test/symbprop/symboles.map
Et le modèle HTML utilisé : http://www.geotests.net/test/symbprop/symboles.txt