Vous êtes sur la page 1sur 56

Les SIG et les

technologies de
l'information et
de la
communication
29/11/2010
ALEXANDRE PAUTHONNIER
DPARTEMENT DE CARTOGRAPHIQUE ET D'ANALYSE DE
L'INFORMATION GOGRAPHIQUE

Table des matires


Introduction 5
I - 1. Bases du webmapping 9
A. 1.1. Principes............................................................................................9
B. 1.2. Fonctionnalits.................................................................................10
C. 1.3. L'architecture d'une application web....................................................12
D. 1.4. L'architecture d'une application de webmapping...................................17
E. 1.5. L'architecture d'une solution webmapping AJAX....................................20
F. 1.6. Actualit des donnes........................................................................22
II - . !ebmapping orient" ser#ices 25
A. 2.1. Principe des services webs.................................................................25
B. 2.2. Les normes OGC...............................................................................28
1. 2.2.1. WMS..........................................................................................................28
2. 2.2.2. WMS - C.....................................................................................................31
3. 2.2.3. WFS...........................................................................................................32
4. 2.2.4. WCS...........................................................................................................35
5. 2.2.5 WPS............................................................................................................35
C. 2.3. Les clients de services webs OGC........................................................36
III - $. Les ser#eurs de publication de ser#ices g"ographi%ues
37
A. 3.1. Les serveurs commerciaux.................................................................37
1. 3.1.1. ArcGIS Server..............................................................................................37
2. 3.1.2. MapGuide....................................................................................................38
B. 3.2. Les serveurs libres............................................................................38
1. 3.2.1. MapServer..................................................................................................39
2. 3.2.3. TileCache....................................................................................................44
3. 3.2.4. GeoServer...................................................................................................44
4. 3.2.5. Le !ra"e#or$ de #e%"appi&'.....................................................................46
I& - '. Les ()I clients pour consommer les ser#ices 47
3
A. 4.1. API Google Map................................................................................47
B. 4.2. API OpenLayers................................................................................52
C. 4.3. API Goportail..................................................................................56
*onclusion 59
Bibliographie 61

4 4

Introduction


Ce que nous appelions les nouvelles technologies de l'information et de la communication
(NTIC) il y a encore peu, est dsormais un ensemble d'outils largement utilis
quotidiennement par tout un chacun, que ce soit dans le contexte professionnel ou bien
priv. Les systmes d'information gographique ont intgr ces nouvelles technologies avec
comme consquence immdiate une explosion du nombre d'utilisateurs.
Les solutions SIG web ont fait leur apparition il y a une bonne dizaine d'annes. Toutefois
elles n'ont supplant les solutions historiques bureautiques que relativement rcemment,
profitant de l'accessibilit accrue au web. Ces solutions ont repos dans un premier temps
sur des architectures client-ser#eur classiques puis depuis rcemment sur des
architectures orient"es ser#ices. Elles ont permis de mettre le SIG la porte d'une
communaut large d'utilisateurs et pour certaines d'entre elles la porte du grand public.
Ces architectures se caractrisent par la centralisation des donnes et des traitements sur
des serveurs et l'accs ces ressources par le biais de clients, c'est--dire d'un programme
conu pour accder et interagir avec des donnes gographiques distantes. Cette interaction
est porte par les mcanismes standards du web que ce sont HTTP, les urls, AJAX,
XHTML, ... mais aussi par des normes et des dveloppements propres au monde de la
gomatique.
La mise en place de solutions SIG web a d'abord t un phnomne interne l'entreprise et
aux administrations : les solutions intranet ont permis de donner l'accs au SIG un cot
acceptable l'ensemble des oprateurs ou bien des chargs d'tudes directement intresss
dans l'exercice quotidien de leurs activits. Depuis 2005, et la gnralisation de l'accs haut
dbit l'internet, le phnomne touche aussi le grand public (Goo'le )ar*h+ Goo'le Map+
por*ail i&*i*u*io&&el de collec*ivi*, locale e* de ervice pu%lic+ ...-.


5

Trs vite les applications dites de #e%"appi&' se sont multiplies, chacune proposant de
consulter des donnes sur une thmatique prcise (le trafic routier, la mto, les risques
environnementaux) travers un site web ddi.
Bien que favorisant l'accs la donne gographique, ce modle de dveloppement
consistant dvelopper une solution originale et indpendante pour chaque besoin a montr
rapidement ses limites. En effet, la vritable plus-value des SIG c'est d'tre capable de
mettre en relation sur un mme territoire des donnes issues de sources diffrentes. Il est
intressant de connatre la localisation des zones sous la menace d'un ala environnemental
(crue, glissement de terrain) ; il l'est encore davantage de croiser cette donne avec la
carte de rpartition de la population : c'est le croisement de ces donnes qui cre de
l'information, que les pouvoirs publics vont pouvoir exploiter des fins dcisionnelles.
D'une manire gnrale, toutes les problmatiques d'amnagement du territoire ne peuvent
tre traites qu'en croisant de nombreux critres, donc de multiples sources de donnes
produites pour chacune par des experts attitrs. Le besoin de dcloisonner l'accs aux
donnes thmatiques est donc apparu et avec lui la ncessit de rendre les SIG
interop"rables.
Pour toutes ces raisons, l'essor des SIG passe depuis quelques annes par des architectures
orientes services, qui tendent le concept d'architecture client-serveur. Les donnes et les
fonctionnalits ne sont plus centralises sur une seule et mme machine mais au contraire
distribues sur plusieurs serveurs. En outre, elles ne sont plus rendus accessibles comme
lment d'un tout (le site web) mais au contraire comme lments indpendants et
librement rutilisables dans diffrents contextes.
La mise en place de tels systmes interop"rables suppose que les diffrentes machines
s'accordent sur ce qu'est une donne ou encore un traitement gographique.
L'interoprabilit requiert donc l'laboration de normes. Cela n'implique pas la mise au point
d'une solution technique unique mais plutt l'interfaage des solutions l'aide de langages
communs. En matire de services webs, les standards en question sont REST et SOAP.
L'interoprabilit gographique a ses normes propres, labores par une association de
gomaticiens, l'+pen Geospatial *onsortium ou +G* qui sont WMS, WFS ou encore
WPS.
Dans cet esprit, la France s'est dote en 2007 d'un portail national, le Goportail dont le rle
6 6
est de mettre disposition de tout un chacun le socle de donnes de rfrence produit par
l'IGN mais aussi de cataloguer les sources d'information gographiques produites sur le
territoire. Afin de favoriser la rutilisation de ses services dans diffrents contextes
utilisateurs, le Goportail met galement disposition des dveloppeurs une interface de
programmation, ou ()I. Une API acclre le processus de dveloppement d'une application
de webmapping en permettant la rutilisation de fonctionnalits SIG gnriques
prprogrammes. Sans comptence trs avance de programmation, il devient possible de
crer une application personnalise permettant d'afficher des donnes gographiques mtier
sur un fond de rfrence, de les interroger, d'effectuer des recherches par adresse, de saisir
en ligne de nouvelles donnes ou encore d'effectuer des traitements complexes (calcul
d'itinraires). Il existe d'autres API gographiques et notamment la plus connue d'entre
elles : l'API Goo'le Map.
7

I - 1. Bases du
webmapping
I



1.1. Principes 9
1.2. Fonctionnalits 10
1.3. L'architecture d'une application web 12
1.4. L'architecture d'une application de webmapping 17
1.5. L'architecture d'une solution webmapping AJAX 20
1.6. Actualit des donnes 22




(. 1.1. )rincipes

Conformment la rgle des 5A , on peut dfinir la partie logicielle du SIG
comme un ensemble organis d'outils permettant l'abstraction, l'affichage,
l'acquisition, l'archivage et l'analyse de donnes gographiques.
Depuis 10 ans, on a vu apparatre des applications webs qui permettent d'accder
des donnes gographiques mais qui du fait de leurs fonctionnalits rduites ne
sont pas proprement parler des SIG. Ces applications rpondant un besoin bien
prcis sont destines diffuser dans des navigateurs des donnes cartographiques
interactives.


Dfinition
Par #e%"appi&' , on entend la diffusion par le biais d'un site web de donn"es
cartographi%ues. L'accs l'information doit tre dynamique ce qui signifie que ce
qui s'affiche doit tre le rsultat d'un traitement dclench la demande de
l'utilisateur.


Les technologies utilises sont avant tout celles du web :
architecture client-serveur, dans laquelle
- le client est un navigateur capable d'interprter du code HTML
- le serveur est la fois
une machine qui archive des documents et des programmes
susceptibles de les gnrer la demande
un programme permettant le dialogue avec le client
protocole HTTP pour les changes entre le client et le serveur
stockage des donnes dans des fichiers et des bases relationnelles
(PostgreSQL, MySQL) interrogeables l'aide du standard SQL.
les standards HTML, Javascript, AJAX, XML, SVG labors par le World Wide
Web Consortium (W3C) pour le dveloppement de l'application proprement
parler
9
Par nature, le web permet l'acheminement d'un document hypertexte (pouvant
contenir des images donc des cartes) d'un serveur o il est stock un client o il
est affich. Le document peut aussi tre produit la demande et ce en fonction de
critres fixs par le client; dans ce cas, le client accde en fait un programme
distant charg de gnrer le document.
Cette apparente simplicit cache en fait une architecture logicielle multi-couches
ainsi qu'une diversit de solutions techniques possibles.
B. 1.. ,onctionnalit"s

Une application de webmapping permet a minima
De cartographier la demande des donnes gographiques (choix des
couches, choix de l'emprise gographique)
D'afficher la carte dans un navigateur
Elle permet aussi le plus souvent
D'imprimer la carte
D'effectuer des mesures sur la carte
D'interroger les donnes cartographies afin d'accder leur smantique
D'afficher cette smantique dans un navigateur
D'effectuer des recherches portant sur la smantique (quelles sont les
communes dont la population a diminu entre 1999 et 2010 ?) ou la
gomtrie des donnes cartographies (o est situe l'cole primaire la plus
proche du 12 rue de la Paix ?)
D'afficher les rsultats de ces recherches dans un navigateur
De localiser sur le fond de carte une adresse postale ou communale
Elle permet parfois
De saisir de l'information et ainsi d'alimenter la base de donnes stocke sur
le serveur
D'effectuer des traitements complexes (calcul d'itinraire)
Selon le niveau de fonctionnalits, on a affaire ou pas un SIG stricto sensu. Dans
tous les cas, elle ne met disposition que des outils qui font sens au regard d'un
besoin prcis. C'est une diffrence fondamentale avec le SIG acadmique qui lui
doit couvrir l'ensemble des besoins potentiels.
Prenons l'exemple du SIG en ligne du Secrtariat Gnral du Comit
Interministriel la Ville


10 10
1. Bases du webmapping 1. Bases du webmapping

C'est une application de webmapping type, dveloppe l'aide de la technologie
MapServer permettant d'accder la demande des cartes statistiques sur tout le
territoire Franais et ce diffrentes chelles (rgion, dpartement, commune,
ilts). Il s'agit essentiellement d'un outil de consultation. L'outil de qualification
d'une adresse selon qu'elle est ou pas en .o&e /r%ai&e Se&i%le en fait toutefois un
outil d'aide la dcision. C'est vraiment un SIG.
Son interface est trs acadmique. On y retrouve :
une fentre cartographique
une barre d'outils de navigation (pan, zoom)
un gestionnaire des couches
une mention de l'chelle courante
un pav de lgende
Le dialogue utilisateur utilise essentiellement les outils de navigation mais aussi des
co&*rol de saisie et des listes de choix pour spcifier les requtes ainsi que des
boutons commande pour les excuter, toute chose que l'on rencontre
habituellement lorsqu'on navigue sur un site web.
On pourrait multiplier les exemples de sites de webmapping l'infini. Chaque
collectivit, ministre ou entit en charge d'un territoire communique par le biais
d'un tel site. On citera simplement le goportail de la ville d'Issy-les-Moulineaux
ainsi que celui de la ville du Havre (h**p011lehavre.!r1"ap).


1. Bases du webmapping
11

*. 1.$. L'architecture d'une application web

Le web ce sont des machines communiquant en rseau l'aide d'un langage
commun. Parmi ces machines, on distingue celles qui proposent des ressources, les
ser#eurs, et celles qui les utilisent, les clients. Les ressources peuvent tre par
exemple des documents hypertexte, des images, des fichiers XML ou encore des
programmes (PHP, Java, ASP.NET, Python, Perl, ...) chargs de les gnrer la
demande.
Quand un client accde une ressource c'est gnralement pour consulter un
document. Parfois, le client utilise aussi le web pour modifier des donnes stockes
sur le serveur. Dans ce cas, il accde ncessairement une ressource de type
pro'ra""e.
Pour atteindre une ressource, le client doit utiliser le protocole de communication
-TT) : ce dernier dfinit une smantique trs simple (GET, POST, PUT et deux ou
trois autres commandes) permettant de formuler des re%u.tes qui sont
interprtes ct serveur par un programme spcifique : le ser#eur web. Les
requtes sont achemines en mode texte par le rseau. La communication n'est
donc pas scurise (il existe pour cela HTTPs).


Dfinition : HTTP :
HyperText Transfer Protocol, protocole de communication entre client et serveur
permettant d'accder des ressources distantes. A t conu l'origine pour
changer des documents hypertextes HTML. Une requte HTTP est compose d'un
en-tte (HEAD) et d'un corps (BODY). Les solutions de webmapping reposent sur
des requtes GET et POST.


Sur le web, une ressource est identifie par son url (chane de caractres). Lorsque
le client souhaite atteindre une ressource distante, il met donc une requte HTTP
mentionnant l'url de la ressource ; la requte comporte aussi dans certains cas une
liste de paramtres valus que la ressource devra exploiter.


Dfinition : URL :
Uniform Resource Locator. Chane de caractres normalise destine tre utilise
par tout client web pour atteindre une ressource


Si le client souhaite rcuprer un document statique, i.e. qui est stock
physiquement sur le serveur il envoie une requte G/T sans paramtre. Si, et c'est
le cas qui nous intresse en webmapping, il souhaite obtenir un document fabriqu
12 12
1. Bases du webmapping 1. Bases du webmapping
la demande, alors il peut envoyer au serveur web une requte G/T ou bien une
requte )+ST, mais avec paramtres. Les deux fonctionnent, ce qui les diffrencie
c'est la faon dont les paramtres sont transmis. Dans une requte GET, les
paramtres sont passs dans l'URL de la ressource, donc dans la partie HEAD de la
requte au contraire de POST qui stocke les paramtres dans le BODY.
Pour faire court, disons que POST offre un premier niveau de scurit en masquant
les changes d'informations entre le client et le serveur.



Ct serveur, c'est le serveur web (Apache, IIS, ...) qui traite la requte HTTP.


Dfinition : Serveur web :
Programme charg de traiter les requtes HTTP adresses par les clients. Le
serveur web dcode les requtes et retourne les documents demands.


Si la ressource est un document archiv, il lui suffit de le localiser et de l'envoyer en
retour au client, non sans avoir vrifi que ce dernier dispose bien des droits
d'accs. C'est en fait un peu plus complexe, puisque par dfinition les documents
du web sont tiroir : un document hypertexte contient le plus souvent des liens
vers d'autres documents. Le traitement de la requte client ncessite donc de
rassembler en cascade un ensemble de documents et de les acheminer en retour au
client. Si la ressource est un programme, alors le serveur web localise le
programme en question, lui transmet les paramtres de la requte et lui d"lgue
le traitement proprement parler. L'architecture d'un site web dynamique suppose
donc ct serveur l'existence d'une extension au serveur web destine excuter le
script en question (extension php ou Tomcat/Java pour Apache, ASP.NET pour
IIS, ...).


Dfinition : Site web dynamique :
Page web qui permet au client d'obtenir un document la demande. La fabrication
la demande est prise en charge par un script excut par une extension au
serveur web.


Dans l'immense majorit des cas, pour fabriquer le document la demande, le
script utilise les valeurs des paramtres transmis par le client et extrait les donnes
correspondantes depuis un s0stme de gestion de bases de donn"es scuris
(base de donnes MySQL ou PostGreSQL) ; les donnes sont ensuite traites et
formates pour tre lues par le client (HTML, XML,...). Ce qui constitue de fait une
troisime couche logicielle. On parle d'architecture n-tiers.


Dfinition : Architecture n-tiers :
Modle d'organisation en couches des diffrentes composantes logicielles d'un site
web dynamique.


Le fichier PowerPoint anim ci-dessous illustre les mcanismes de communication
de base entre un client et un serveur de page web. Chaque diapositive est
commente.


1. Bases du webmapping
13


Un S/1&/21, c'est un ordinateur,
c'est--dire des capacits de stockage
et de traitement, accessible
distance par un rseau.
Un serveur Internet est accessible par
le rseau Internet.
Un serveur met disposition d'autres
ordinateurs dits *LI/3TS un certain
nombre de ressources qu'il stocke.
Les clients sont connects au mme
rseau que le serveur.
L'architecture client-serveur permet de )(1T(G/1 la mme ressource entre un
trs grand nombre d'utilisateurs.
-TT) est un protocole d'change d'information dans une architecture client-
serveur. Il permet de dfinir un mcanisme de dialogue entre client et serveur.
L'accs aux ressources est l'initiative du client.
Le serveur fournit automatiquement la ressource demande
Le fonctionnement d'un serveur suppose toutefois la prsence d'un administrateur
pour des oprations ponctuelles lies la mise jour des ressources, la scurit,
au bon fonctionnement d'ensemble.
Quelle sont les ressources accessibles au client et stockes sur un serveur ?





14 14
1. Bases du webmapping 1. Bases du webmapping
Archi*ec*ure clie&*-erveur
2ue *rouve-*-o& ur u& erveur 3


Internet est avant tout fait pour
mettre disposition des clients des
documents -T4L.
Dans le cas le plus simple, le site web
auquel se connecte le client ne
contient qu'un seul fichier HTML.
Pour l'atteindre, le client tape dans
son navigateur l'21L du document
HTLM en question.
Le navigateur envoie une requte -TT) au serveur mentionn dans l'url pour
obtenir le document. Une requte HTTP permet un change d'informations entre un
client et un serveur. Elle comporte donc deux temps : la demande et la r"ponse
5 la demande.
Sur le serveur, un programme est charg de traiter les requtes des clients : c'est
le ser#eur web. Son rle est de dcoder la requte HTTP puis de prendre les
dispositions pour rcuprer la ressource demande.
Ici, la ressource demande est un fichier HTML stock sur le disque dur du serveur.
Il lui suffit donc de le localiser puis d'envoyer son contenu en guise de rponse la
requte HTTP.
Le navigateur rceptionne les informations. La requte HTTP est close.
Le navigateur interprte le code HTML et affiche le contenu correspondant.




Dans la plupart des cas, une page
web HTML contient des rfrences
vers d'autres fichiers de donnes que
le navigateur client doit galement
demander au serveur pour afficher le
contenu complet de la page.
C'est le cas ici : la page web HTML
contient un fichier image stock sur le
serveur.
Le dialogue client serveur se passe en
plusieurs tapes : tout d'abord rcupration du document HTML de la page voulue ;
interprtation du code par le navigateur puis demande du fichier image figurant
dans le document ; rception du fichier image ; recomposition du document puis
affichage de la page complte.


1. Bases du webmapping
15
Acc4 5 u&e pa'e #e% *a*i6ue i"ple
Acc4 5 u&e pa'e #e% *a*i6ue co"ple7e


Lorsqu'une page est d0nami%ue elle
permet au client d'interagir avec elle.
Le mcanisme le plus simple repose
sur les formulaires -T4L.
Un formulaire c'est un ensemble
d'"l"ments (inputs) HTML proposant
une interaction avec l'utilisateur
(saisie de texte, clic sur image, clic
sur bouton) ; certains lments du
formulaire (bouton, image) ont la proprit de pouvoir dclencher l'envoi d'une
requte HTTP vers le serveur. Cette requte vise le script associ au formulaire :
elle transmet au script les informations saisies par l'utilisateur.
Ici, le client se connecte une page web "ul*iplica*io&.h*"l qui contient deux
inputs de saisie de nombres et un bouton pour dclencher la requte.
Le script appel est un script PHP : calcul.php, les valeurs transmises, les deux
nombres dont le script doit faire la multiplication.
Comme prcdemment, le serveur web traite la requte HTTP ; il localise le script
stock sur son disque dur et dlgue l'extension logicielle approprie l'excution
du script. Ici c'est l'application PHP qui est charge de l'excuter. Le rsultat du
traitement est un document HTML qui contient le rsultat de la multiplication.
Le serveur web rcupre ce document dynamique et l'envoie en guise de rponse
la requte.
Le navigateur rceptionne, interprte le code et affiche l'information.




Dans la majorit des cas, la
gnration dynamique d'un document
HTML en rponse une interaction
client ncessite d'extraire de
l'information dans un Systme de
Gestion de Bases de Donnes.
Ct serveur, au serveur web et
l'extension logicielle charge
d'excuter le script, s'ajoute donc une
nouvelle couche logicielle : le SGBD.
On parle d'architecture n-tiers.
Ici, le client se connecte une page web a!!iche.co""a&de.h*"l qui permet de
saisir le nom et le prnom d'un client d'une socit. Un clic bouton permet d'initier
le dialogue HTTP entre le navigateur et le script co""a&de.php
Comme prcdemment, ct serveur c'est l'application PHP qui excute le script ; le
but tant de dresser la liste de toutes les commandes passes par le client en
question ; l'application PHP doit obtenir cette information partir d'une autre
application s'excutant sur le serveur, le SGBD. Pour extraire l'information
souhaite, le script PHP utilise le langage universel d'interrogation des BD, SQL.
Une fois l'information obtenue, le script la met en forme et cre ainsi un document
HTML qu'il adresse au serveur web.
6. 1.'. L'architecture d'une application de
webmapping

Dans le cas d'une application de webmapping classique, on retrouve l'architecture
16 16
1. Bases du webmapping 1. Bases du webmapping
Acc4 5 u&e pa'e #e% d8&a"i6ue
Acc4 5 u&e pa'e #e% d8&a"i6ue &-*ier
en couches dcrite prcdemment.
Toutefois, le traitement de la requte SIG formule par le client ncessite de
disposer ct serveur d'un programme spcifique : c'est le ser#eur SIG. C'est lui
qui va tre capable de produire la demande une carte dans le systme de
coordonnes souhait ; c'est lui encore qui va identifier l'cole primaire la plus
proche du 12 rue de la Paix ; c'est lui galement qui va proposer l'itinraire le plus
rapide pour aller de Champs sur Marne Versailles le 21 juillet 2010 17h30.


Dfinition : Serveur SIG :
Programme s'excutant ct serveur charg de traiter la requte gographique
formule par le client. Se prsente dans deux configurations possibles : une
extension au serveur web, i.e. un excutable capable de communiquer directement
avec le serveur web ou bien une API ou bibliothque de fonctions utilisable dans un
script pris en charge par une extension au serveur web


Tout comme vu prcdemment, les donnes sont stockes dans une base de
donnes spatiales (MySQL, PostGIS, Oracle, ArcSDE, ...) et extraites la demande.
Si on reprend l'exemple du portail du Secrtariat Gnral du Comit Interministriel
la Ville, pour obtenir une carte des revenus par IRIS pour la ville de Paris le
cheminement peut tre dcompos comme suit :



C'est le mcanisme qui est dcrit dans le fichier Powerpoint anim et comment ci-
dessous :


1. Bases du webmapping
17


La premire gnration de sites de
webmapping fonctionnaient selon le
mcanisme dynamique n-tiers dcrit
prcdemment.
L'utilisateur se connecte une page
web qui contient dans un formulaire
HTML une carte sous forme d'une
image (JPEG, PNG,...). Lorsqu'on
clique sur l'image pour se dplacer ou
zoomer on dclenche le script de
traitement associ au formulaire. On
peut galement dclencher le dialogue HTTP aprs avoir choisi d'activer certaines
couches d'information et cliqu sur un bouton de validation.
Ici, c'est un script PHP, #e%"ap1.php qui est excut sur le serveur. Ce dernier doit
gnrer une nouvelle carte conformment aux souhaits formuls par l'utilisateur.
Cela tant, PHP seul ne dispose pas des capacits pour produire une telle carte. Il
s'en remet donc une application tiers, le serveur carto qui lui sait faire.
Pour gnrer la carte, il y' a deux solutions : soit elle est recre la demande ; il
faut alors extraire les donnes utiles dans un SGBD puis les symboliser ; soit un
cache dj t calcul et il suffit de rcuprer les tuiles correspondant l'tendue
cartographier.
C'est le premier des 2 cas qui est dcrit ici
Dans une telle architecture, le serveur gnre la vole des cartes au format image
(JPEG, PNG, BMP, ...) que le client peut directement afficher. C'est la solution
historique qui a montr un certain nombre de faiblesses et notamment la lenteur
d'ensemble du systme. En effet dans ce schma, tous les traitements sont pris en
charge par le serveur. Selon la charge de ce dernier et dans une moindre mesure
selon les temps de transfert sur le rseau, le temps d'obtention d'un document peut
tre plus ou moins important.
Une premire solution consiste rpartir diffremment le travail entre le client et le
serveur. Au lieu de fournir une image prte l'affichage, le serveur peut envoyer
des donnes gographiques #ecteur, i.e. des objets gomtriques dcrits par des
coordonnes et qualifies par un certain nombre de valeurs d'attributs.
Il existe plusieurs faons de formater des donnes vecteur en vue de leur utilisation
sur un client web. S&G et ,lash sont deux solutions populaires. SVG est un format
vecteur lu nativement par certains navigateurs (Firefox) qui permet de dessiner des
objets gomtriques simples. Flash est une solution propritaire qui s'est impose
comme la rfrence pour la mise en uvre d'animations sur le web ; Flash permet
notamment le dessin vectoriel. Pour gnrer des flux de donnes Flash, il faut
acheter une licence d'utilisation. En outre pour qu'un navigateur puisse interprter
les donnes, il faut l'quiper d'un plug-in, le Flash Player, qui lui est librement
tlchargeable.


Dfinition : Flux de donnes entre le client et le serveur :
Image ou vectoriel. Les flux images permettent d'acheminer une donne
directement exploitable par le navigateur (une carte) ; les flux vectoriels (plus
lgers) ncessitent d'tre traits par le client.


De nombreux sites utilisent ces technologies qui fournissent d'excellents rsultats
dans certaines conditions (nombre d'entits gomtriques dessiner peu
important).
18 18
1. Bases du webmapping 1. Bases du webmapping
I&*erac*io& avec u& i*e de #e%"appi&'
i"ple a& cache


Exemple
Prenons l'exemple du portail des transports de la ville de Dijon, utilisant la
technologie Flash.(h**p011###.divia.!r1car*e1i&de7.php3veri!91)





Une autre solution pour contourner les problmes de ractivit consiste
s'affranchir du *ou* d8&a"i6ue au sens strict du terme et pr-cartographier les
donnes. On dfinit plusieurs chelles dites de rfrence pour lesquelles on va
cartographier les donnes. Ensuite, pour chaque chelle (on parle encore de
niveau), on dcoupe la carte selon une grille rgulire de faon former une
mosaque d'imagettes. On dit qu'on cre un cache de donn"es ct serveur.


Dfinition : Site de webmapping avec cache de donnes :
Pr-cartographie des donnes et archivage d'une pyramide n niveaux d'imagettes
ct serveur


a diminue considrablement le temps de rponse puisque le rle du serveur SIG
se limite ensuite fournir les imagettes ou dalles intersectant l'emprise
cartographier. Les serveurs de donnes grand public, type Goo'le ou Goportail
fonctionnent tous selon ce principe.
Le mcanisme est illustr dans le fichier PowerPoint anim et comment ci-
dessous :


1. Bases du webmapping
19


On dtaille le mcanisme d'une page
de webmapping 1
re
gnration avec
fabrication la demande partir d'un
cache d'images cartographiques.
Contrairement au cas prcdent, pour
recrer la carte telle que l'utilisateur
l'a demande, il n'est pas ncessaire
d'aller chercher les donnes dans le
SGBD ; il suffit au serveur carto de
trouver les tuiles pr-calcules
recouvrant l'emprise cartographier.
Cela fait, le serveur carto indique l'emplacement des images l'application PHP qui
son tour cre le document HTML attendu.
Celui-ci est reu par le navigateur client qui constate qu'il contient de nombreuses
images. Il demande au serveur de lui fournir chacune d'entre elles.
Une fois toutes reues, il les assemble et affiche la page complte.
/. 1.7. L'architecture d'une solution webmapping (8(9

Les volutions rcentes des technologies web ont pleinement profit aux
applications de webmapping. Elles ont rsolu en partie les problmes de lenteur
voques au paragraphe prcdent.
Dans la conception historique du web, quand un client accde via une URL la page
d'un site dynamique il envoie une premire requte HTTP et doit patienter jusqu'
rception et affichage de tous les lments de la page. Ensuite, chaque fois qu'il se
dplace sur la carte, qu'il zoome ou bien qu'il valide un formulaire de recherche, le
client envoie une requte dans le but de rgnrer le document complet. Or, la
page HTML d'une application de webmapping est un document souvent complexe :
elle comporte en effet plusieurs lments qui doivent ainsi tre recrs chaque
interaction ; pendant ce temps le client attend ... ou pas d'ailleurs car souvent il se
lasse.
Rcemment, la technologie AJAX (A8&chro&ou :avacrip* a&d ;ML) a rvolutionn
l'exprience utilisateur. AJAX consiste en fait introduire dans la page HTML du site
du code 8a#ascript dont le rle est de dialoguer en arrire plan avec le serveur.
Ce dialogue consiste comme prcdemment accder des ressources
dynamiques mais aussi, et c'est a qui amliore les choses, traiter localement
ct client les rponses retournes. Ds lors, une interaction utilisateur ne
provoque plus la rgnration du document complet mais affecte simplement
l'lment du document qui doit tre modifi. Ce mcanisme repose galement sur
la description sous forme d'objets du document HTML, description plus connue sous
le terme de 6+4 (Document Object Model).


Dfinition : AJAX :
Mcanisme de communication optimise entre le client et le serveur reposant sur
des changes asynchrones (en arrire plan) n'interrompant pas le dialogue.
Evolution ncessaire du web dynamique connue sous l'appellation web 2.0. Un objet
Javascript inclus dans la page HTML est charg d'adresser les requtes au serveur
ainsi que de dcoder les rponses.


En 2010, tous les sites de webmapping utilisent AJAX et plus particulirement
l'objet Javascript XMLHTTPRequest dont le rle est d'envoyer des requtes GET ou
POST au serveur mais aussi de traiter les rponses obtenues.
20 20
1. Bases du webmapping 1. Bases du webmapping
I&*erac*io& avec u& i*e de #e%"appi&'
i"ple avec cache
AJAX a permis d'imaginer de nouveaux moyens d'changer les donnes
gographiques entre le serveur et le client. Dsormais, certaines couches
d'informations sont transfres en mode vecteur au coup par coup en fonction des
demandes du client et c'est le client qui les cartographie. Le travail du serveur
consiste alors gnrer dynamiquement un flux texte format en XML (ou GML,
KML) en rponse la requte HTTP contenant les objets demands. D'autres
formats sont utiliss comme JSON (ou plutt GeoJSON) dont le parsage est naturel
en Javascript ou encore Flash qui reste un standard trs apprci.


Dfinition : XML :
Format d'changes en mode texte. Son format base de balises lui confre une
grande souplesse. GML et KML sont des spcifications drives adaptes aux
changes de donnes gographiques. Format verbeux qui dans bien des cas peut
tre avantageusement remplac par JSON (Javascript Object Notation).



Dfinition : Flash :
Technologie propritaire client-serveur d'Adobe utilise pour produire des pages
web interactives et animes. L'environnement de dveloppement Flash (Flex
Builder) permet de concevoir et compiler des objets interactifs s'intgrant dans une
page web. Le rsultat de la compilation est un fichier swf. Un navigateur, quip du
plug-in Flash Player, est capable d'excuter le fichier swf.


A noter galement, l'existence du format :4L (Keyhole Markup Language) utilis
initialement par Google pour changer des donnes avec les clients webs Google
Maps et le client lourd Google Earth. Ce format est devenu de fait un standard pour
les changes de donnes gographiques sur le web et est dsormais plac sous
l'aile de l'OGC.
Seules les couches comportant peu d'objets ou bien les interactions du type requte
peuvent tre rendues interactives par des changes vectoriels. Les couches dites de
rfrence (carte topographique, photos ariennes) sont elles envoyes sous forme
d'images tuiles ainsi qu'on l'a expliqu auparavant.
Le mcanisme AJAX est rsum dans le fichier PowerPoint anim et comment
suivant.


1. Bases du webmapping
21


La seconde gnration de sites de
webmapping fonctionnent selon les
principes du web 2.0.
L'utilisateur se connecte une page
web qui n'est plus dsormais vue
comme un tout indissociable mais
comme un ensemble d'ob;ets
dot"s de capacit"s d'interaction
propres a#ec le ser#eur de la
page web.
Les input de formulaires qui
dclenchaient un script charg de recrer toute la page sont donc dsormais
obsoltes.
La page web permet d'interagir avec les donnes cartographiques l'aide
d'lments d'interfaces web 2.0 appels controls. Ce sont par exemple les outils
classiques de navigation (dplacement, zoom).
Chaque fois que l'utilisateur interagit avec la carte l'aide d'un control, ce dernier
envoie une requte HTTP en arrire plan un script stock sur le serveur de la
page. Le script est charg de fournir une rponse au control %ui l'a in#o%u". La
r"ponse attendue n'est plus d"sormais une nou#elle page web< c'est--dire
un nouveau document HTML, mais un flu= de donn"es g"ographi%ues.
Ce flux peut-tre image (JPG, IMG) ou vecteur (XML, GML, KML, GeoJSON,...)
Le traitement ct serveur ncessite toujours l'utilisation des mmes couches
logicielles (serveur carto, serveur de bases de donnes). Il est possible aussi de
fonctionner avec ou sans cache de carte.
Aprs traitement, le serveur web renvoie au control le flux de donnes.
S'il s'agit d'un flux image, le control remplace l'ancienne image par la nouvelle.
S'il s'agit d'un flux vecteur, selon le format dans lequel arrivent les donnes, il faut
ou pas les traduire sous forme de structures que le plug-in sait traiter.
Ici le plug-in utilis est Javascript (a pourrait tre Flash ou Sylverligt ou...).
Le plug-in traite ensuite l'information (dessin, mise en forme dans un tableau de
valeurs,...) et rafrachit l'affichage des lments de la page modifis par le
traitement.
,. 1.>. (ctualit" des donn"es

Un des avantages du SIG web pour l'utilisateur final c'est de ne pas se soucier de la
gestion de la donne (stockage, mise jour). Celle-ci est du ressort de
l'administrateur du site qui met jour priodiquement les donnes.
Nous avons vu prcdemment que la plupart des sites pr-calculaient les cartes
diffuser de faon a acclrer les temps accs l'information. La mise jour de ces
sites suppose donc que les caches soient recalculs chaque mise jour. Cette
opration tant trs longue, elle doit tre programme une frquence raisonnable
(tous les 3 mois pour le Goportail).
Pour les couches d'informations lgres en revanche, il est tout fait envisageable
de mettre jour les donnes avec une frquence beaucoup plus grande et mme
de mettre en place des applications web quasi temps-rel.
Les technologies actuelles (communication tlphoniques ou Wifi) permettent en
effet d'envoyer la position gographique d'un objet (un vhicule, un navire, un
animal, ...) en temps rel sur un serveur ; ainsi qu'un certain nombre
22 22
1. Bases du webmapping 1. Bases du webmapping
I&*erac*io& avec u& i*e de #e%"appi&'
A:A;
d'informations annexes galement communiques par des capteurs terrain
(identifiant de l'objet, nature, date et heure, vitesse, ...). Ces donnes sont reues
par le serveur, qualifies et archives. Elles peuvent tre stockes directement dans
des formats vectoriels de type XML ou JSON, prtraites et converties en images,
ou encore, et c'est le cas le plus frquent, insres dans une base de donnes
spatiales. Dans tous les cas, l'opration d'archivage tant trs brve, elles peuvent,
en quasi temps rel, tre diffuses vers des clients l'aide des solutions vues
prcdemment.


Remarque
C'est typiquement ce qui se passe ici avec cette application de suivi du trafic
maritime mondial (h**p011###."ari&e*ra!!ic.co"1ai1!r1de!aul*.ap7).






Remarque
Ou encore avec le portail ddi au trafic routier en Ile de France
(h**p011###.8*adi&.!r1)


1. Bases du webmapping
23



24 24
1. Bases du webmapping 1. Bases du webmapping

II - . !ebmapping
orient" ser#ices
II



2.1. Principe des services webs 25
2.2. Les normes OGC 28
2.3. Les clients de services webs OGC 36






Nous avons vu qu'une premire vague de solutions webs, reposant sur les
technologies client-serveur, a permis de mettre disposition des donnes travers
des sites autonomes.
Dans ce type d'architecture, chaque serveur stocke ses propres donnes et propose
ses propres outils SIG pour interagir avec elles. Une consquence immdiate est
qu'il n'y a pas de mutualisation envisageable ce qui est dommageable plusieurs
titres :
pas d'exploitation simultane possible des informations donnes par deux
sites diffrents
redondance des donnes pour les couches communes plusieurs sites
redondance des dveloppements.
Pour y remdier, les sites de webmapping ont volu rcemment vers des
architectures orientes services.

(. .1. )rincipe des ser#ices webs

Dans une application de webmapping oriente services, il y a toujours un client, le
navigateur, qui cherche accder des ressources distantes par le biais d'un site
web. La diffrence c'est qu'en fait il n'y a pas UN serveur mais plusieurs serveurs :
le serveur de la page web du site est lui-mme client d'autres serveurs.
+n dit %ue l'architecture est distribu"e : de fait, le traitement des requtes
HTTP client est pris en charge par plusieurs machines connectes au rseau.
Chaque machine est invoque pour fournir une partie de l'information utile la
gnration dynamique du document demand par le client.
Dans une telle architecture, le serveur web n'est plus uniquement un programme
capable de diffuser une information directement visualisable dans un navigateur
c'est aussi un programme charg de fournir des ressources exploitables par
d'autres programmes.
Le propos d'un erveur de ervice n'est pas de donner accs l'utilisateur final
une application mtier complte mais plutt de fournir des traitements ou des
donnes atomiques (calculer un itinraire, accder la couche orthophoto du RGE)
d'autres serveurs. Ces traitements atomiques sont appels ser#ices. Lorsque les
services sont accessibles via le web on parle de ser#ices web.
25


Dfinition : Service web (1)
Une brique logicielle dote d'une interface permettant l'interaction avec des
composants situs sur d'autres machines connectes au web. L'interaction se fait
l'aide soit d'URLs normalises (REST, WMS, WFS) soit par changes de messages
XML (SOAP).


Ds lors, sur le web, deux types de serveurs coexistent :
les serveurs de pages web qui compilent et diffusent l'information travers
les pages HTML classiques
les serveurs de services qui alimentent les premiers.
A noter qu'un mme serveur peut jouer les 2 rles : c'est le cas du serveur
cartorisque du Ministre de l'Ecologie et de l'Amnagement et du Dveloppement
durable qui propose la fois
une application classique de webmapping
des services utilisables par des serveurs tiers (comme le goportail par
exemple)



Ce concept de service invite repenser le mode de dveloppement des applications
de webmapping. Ce ne sont plus des applications aux fonctionnalits dveloppes
sur mesure ex. nihilo, mais plutt des assemblages sur mesure de composants dj
programms.


Dfinition : Widget :
C'est un composant d'interface pr-programm et disponible l'emploi pour le
dveloppeur d'une interface web. Cela tend considrablement les possibilits
d'interaction natives du HTML. Un calendrier est un exemple trs courant de widget.


Avec deux avantages immdiats : la rutilisation des briques volont et le
mariage de ressources jusque l indpendantes. Nombreux sont les sites web qui
26 26
2. Webmapping orient services 2. Webmapping orient services
diffusent des informations issues de serveurs diffrents. Le Monde.fr communique
par exemple des informations relatives la mto du jour, au trafic routier, au cours
de la bourse qu'il obtient auprs d'autres serveurs.


Dfinition : Mashup :
Une application web qui diffuse des informations hberges sur plusieurs serveurs.


La mise en place de services interop"rables ne va nanmoins pas de soi : elle
ncessite le respect de normes. Le serveur de ressources (donnes ou traitements)
doit donc veiller les diffuser selon des standards ou normes partages.
Les deux modles actuels permettant la publication de services web sont REST et
SOAP. Les services REST sont invocables par le biais d'une simple URL normalise.
La communication REST utilise donc exclusivement HTTP, sans aucun ajout de
couche logicielle. Les services SOAP ncessitent en revanche des interfaces ct
client et serveur pour mettre et interprter des flux XML normaliss.


Dfinition : REST et SOAP :
Deux protocoles d'invocation de services web. REST est le plus utilis pour sa
simplicit de mise en uvre. REST consiste en l'exposition de chacun des services
d'un mme serveur par le biais d'une URL. SOAP est plus complexe mettre en
uvre, car il ncessite l'ajout d'une couche logicielle supplmentaire ct client et
ct serveur. Un service SOAP est invoqu par une requte POST contenant un
message XML.


Dans les deux cas, on peut dire que SOAP et REST jouent le rle d'interfaces entre
le client et le serveur, en normalisant la ressource.


Dfinition : Service web (2) :
Composants logiciels auxquels on accde distance travers des interfaces
normalises REST ou SOAP.


La dcouverte et la rutilisation des services est grandement facilite par la mise en
uvre d'API, Applica*io& Pro'ra""i&' I&*er!ace.


Dfinition : API :
C'est une interface de programmation, qui permet un client d'accder dans un
environnement de dveloppement donn (Javascript ou Flex/Flash pour l'API
Goportail) un ensemble de services fournis par un mme serveur.


Ces nouveaux outils intressent au premier plan la gomatique. Ainsi que soulign
prcdemment, la bonne gestion des territoires implique la prise en compte de
multiples informations. Il faut bien sr des donnes de rfrence : cartes
topographiques, photographies ariennes, modles numriques de terrain, parcelles
cadastrales, adresses postales. Mais aussi, selon le type d'tudes mener, des
donnes relatives aux risques environnementaux, des donnes socio-conomiques
sur les populations, des donnes sur l'occupation des sols, sur la nature du sous-
sol, ... Cette nouvelle logique de services permet chaque producteur de donnes
de les diffuser de manire facilement rutilisable. Elle permet aussi de rendre
accessibles par un navigateur des traitements gographiques (changement de
systmes de coordonnes, recherche sur critre spatial, calcul d'itinraires, calcul
de zones de chalandises, ...) qui jusque l ncessitaient un SIG bureautique.
L'interoprabilit gographique a suscit et suscite encore de nombreux travaux.
L'OGC a ainsi labor toute une srie de normes relatives la faon de diffuser
l'information gographique sous toutes ses formes (vecteur, image, raster,
2. Webmapping orient services
27
traitement) par le biais du web.
B. .. Les normes +G*

Afin de garantir l'interoprabilit des donnes et des traitements entre les
diffrentes solutions SIG, l'OGC a labor plusieurs protocoles d'changes de
donnes gographiques compatibles avec les protocoles standards de services
voqus plus haut (REST, SOAP).


Dfinition : OGC :
Open GeoSpatial Consortium, association internationale fonde en 1994 dans le but
de promouvoir l'interoprabilit des Systmes d'Information Gographiques.


L'intrt de ces normes a t bien compris par les producteurs d'information
gographique. Les administrations et les collectivits notamment en matire
d'environnement les utilisent de plus en plus pour publier leurs donnes.


Exemple
Avec CA<M)= 6ui !,d4re pour le co"p*e du Mi&i*4re de l>,colo'ie e* de
l>e&viro&&e"e&* l>e&e"%le de ervice !our&i par chacu&e de e&*i*, plac,e
ou a *u*elle (le ?irec*io& <,'io&ale de l>)&viro&&e"e&*+ le A'e&ce de l>)A/+
...- 0
h**p011car"e&.ecolo'ie.'ouv.!r1pip.php3ar*icle@ABreul*a*

1. ..1. !4S

Le protocole WMS (Web Map Service) permet un client d'obtenir une carte cre
la demande par un serveur l'aide d'une url normalis"e


Dfinition : WMS :
Service web de carte accessible par une url normalise. Un serveur WMS doit
rpondre 3 requtes types :
GetCapabilities
GetMap
GetFeatureInfo


La requte Get*apabilities permet au client d'obtenir sous forme d'un fichier XML
le dtail des services fournis par le serveur WMS. Cette information est ncessaire
pour formuler correctement les requtes destines rcuprer les donnes
gographiques. Elle permet de connatre le nom des couches de donnes, les
systmes de coordonnes dans lesquels on peut les obtenir, la smantique
disponible.
Ce 6ui ui* e* u&e re6uC*e adre,e au erveur !ra&Dai 'eoi'&al. Eou pouveF
co&*a*er 6ue la 8&*a7e e* celle d>u&e url co"por*a&* l>adree d>u& pro'ra""e
e* le para"4*re 5 *rai*er par le pro'ra""e.
h**p011###.'eoi'&al.or'1c'i-%i&1#""ap3
verio&91.1.1Gervice9WMSGre6ue*9Ge*Capa%ili*ie
Le erveur re&voie le !ichier ;ML uiva&* (e7*rai*- 0



La requte GetMap permet de rcuprer une carte cre dynamiquement par le
28 28
2. Webmapping orient services 2. Webmapping orient services
serveur WMS. Il est ncessaire de spcifier un certain nombre de paramtres pour
dcrire la carte que l'on souhaite obtenir ainsi que le montre la requte suivante :
h**p011###.'eoi'&al.or'1c'i-%i&1#""ap3
verio&91.1.1Gervice9WMSGre6ue*9Ge*MapGS<S9)PSG02@5A2GHHI;95JJJJJ+
25JJJJJ+KJJJJJ+2KJJJJJGWI?TL9KJJGL)IGLT9KJJGLAM)<S9Au*orou*e+=a*io&
ale+?epar*e"e&*aleGSTML)S9GFI<MAT9i"a'e1Npe'
6ui per"e* d>o%*e&ir l>i"a'e :P)G uiva&*e car*o'raphia&* le r,eau7
d>au*orou*e+ &a*io&ale e* d,par*e"e&*ale ur u& carr, de 1JJ $" de cO*, da&
le &ord de la Fra&ce 0



Dans l'exemple prcdent, le client n'intervient pas sur le choix des symboles
utiliss pour rdiger la carte.
Il existe une norme, SL6 (Styled Layer Descriptor) qui permet de dcrire un
ensemble de rgles de symbologie sous forme d'une ressource utilisable en
paramtre de la requte WMS GetMap. SLD permet donc au client de dfinir la
facture graphique de la carte.
La requte Get,eatureInfo permet d'obtenir les informations attributaires portes
par le (ou les) objet(s) localis(s) l o on a cliqu sur la carte. A noter que cette
requte ne peut aboutir que pour les couches renseignes comme 6uer8a%le par la
requte GetCapabilities.


Exemple
L'exemple suivant montre comment rcuprer la smantique d'une autoroute qui
passe par le centre de notre carte (la carte mesure 600 pixels de ct et on clique
sur le point de coordonnes 300, 300) :
h**p011###.'eoi'&al.or'1c'i-%i&1#""ap3
verio&91.1.1Gervice9WMSGre6ue*9Ge*Fea*ureI&!oGWI?TL9KJJGL)IGLT9KJJ
Gr9)PSG02@5A2GHHI;95JJJJJ+25JJJJJ+KJJJJJ+2KJJJJJG;93JJGM93JJG2/
)<MPLAM)<S9Au*orou*eGLAM)<S9Au*orou*e
Le serveur renvoie le fichier texte suivant :




2. Webmapping orient services
29
. ... !4S - *

Le solutions de mise en cache ct serveur pour acclrer le traitement des
requtes de cartographie image dynamique ont t reprises sous forme d'une
norme OGC : WMS Tile Caching ou WMS-C.
Le principe consiste pr-calculer diffrentes chelles une cartographie des
donnes proposes et les tuiler en imagettes de taille rduite. Au final l'ensemble
constitue une pyramide d'images n niveaux, chaque niveau contenant des tuiles
(souvent de 256 pixels par 256 pixels).


Dfinition : WMS-C :
Service web de carte cach accessible par une url normalise. Ncessite de calculer
une pyramide d'images multi-rsolutions ct serveur. Un serveur WMS doit
rpondre 3 requtes types :
GetCapabilities
GetMap
GetFeatureInfo


Pour obtenir une carte la demande, comme prcdemment le client va envoyer
une requte getMap au serveur WMS. Il suffit d'ajout le paramtre TIL)? 9 *rue et
surtout de demander les donnes dans une emprise gographique correspondant
exactement celle d'une dalle (ventuellement de plusieurs).
$. ..$. !,S

Le protocole WFS (Web Feature Service) permet un client d'obtenir des entits
gographiques vecteur (gomtrie et smantique) non cartographies au moyen
30 30
2. Webmapping orient services 2. Webmapping orient services
d'une simple url normalise.


Dfinition : WFS :
Service web vectoriel accessible par une url normalise. Un serveur WFS doit
rpondre 5 types de requtes :
GetCapabilities
DescribeFeatureType
GetFeature
LockFeature
Transaction


Il existe dans les faits deux types de serveurs WFS :
les ser#eurs basi%ues qui ne rpondent qu'aux trois premires requtes
les ser#eurs transactionnels (WFS-T) qui les prennent toutes en charge.
Les premiers ne permettent au client que la consultation des donnes tandis que les
seconds autorisent les modifications.
Tout comme prcdemment, la requte Get*apabilities permet d'accder aux
mtadonnes du service ainsi que le montre la requte suivante adresse au
serveur car*ori6ue pour le dpartement du Tarn et Garonne
h**p011car*ori6ue.pri".&e*1#!1A23
ervice9#!Gverio&91.1.JGre6ue*9'e*capa%ili*ie



La requte 6escribe,eatureT0pe permet d'accder la structure (i.e. les
champs) d'une couche propose par le service.
h**p011car*ori6ue.pri".&e*1#!1A23
ervice9#!Gverio&91.1.JG<)2/)ST9decri%e!ea*ure*8peGTMP)=AM)9ATLASPI=
I=?ATII=P.I=)PI=I=?AHL)



La requte Get,eature permet quant elle d'obtenir sous forme d'un flux GML des
entits gographiques.
2. Webmapping orient services
31
h**p011car*ori6ue.pri".&e*1#!1A23
ervice9#!Gverio&91.1.JG<)2/)ST9Ge*Fea*ureGTMP)=AM)9ATLASPI=I=?ATI
I=P.I=)PI=I=?AHL)
La requte prcdente renvoie au client un flux GML contenant toutes les entits de
la couche ATLAS_INONDATION_ZONE_INONDABLE pour le dpartement 82.



Il est possible de restreindre la recherche en introduisant des critres smantiques
ou spatiaux.
Ici on ne s'intresse qu'aux entits qualifies de crue exceptionnelle pour le champ
DEGRE :
32 32
2. Webmapping orient services 2. Webmapping orient services
h**p011car*ori6ue.pri".&e*1#!1A23
ervice9#!Gverio&91.1.JG<)2/)ST9Ge*Fea*ureGTMP)=AM)9ATLASPI=I=?ATI
I=P.I=)PI=I=?AHL)GFil*er9Q3CFil*erQ3)Q3CProper*8I)6ualToQ3)
Q3CProper*8=a"eQ3)?)G<)Q3C1Proper*8=a"eQ3)Q3CLi*eralQ3)crue
Q2Je7cep*io&&elleQ3C1Li*eralQ3)Q3C1Proper*8I)6ualToQ3)Q3C1Fil*erQ3)
)&!i&+ ici+ o& re*rei&* pa*iale"e&* la recherche da& u&e e"prie rec*a&'ulaire de
1J $" de cO*, re&ei'&,e da& le 8*4"e )PSG 2154+ c>e*-5-dire e& <GFR3 1
La"%er* R3
http://cartorisque.prim.net/wfs/82?
service=wfs&version=1.1.0&REQUEST=GetFeature&TYPENAME=ATLAS_INONDATIO
N_ZONE_INONDABLE&srs:EPSG:2154&BBOX=580000,6320000,%20590000,%206
330000
Contrairement aux donnes images services en WFS, les donnes vectorielles
doivent tre traites par le client avant d'tre affiches. Ce dernier doit les
symboliser pour les dessiner l'cran ; il doit lire la smantique pour l'afficher sous
forme d'info-bulles par exemple.
On ne dtaillera pas les deux autres requtes mais il faut savoir que les serveurs
WFS transactionnels offrent de grandes possibilits : ils permettent quiconque
dispose d'une connexion internet et des droits appropris de mettre jour
distance, ventuellement en situation de mobilit, des donnes partages. Cette
technologie est utilise par tous les portails collaboratifs, dont le plus connu d'entre
eux +penStreet4ap.


Dfinition : OpenStreetMap :
Projet web collaboratif mondial, visant mettre disposition de tous sans
restriction d'utilisation une cartographie de rfrence. La mise en uvre repose sur
les contributions volontaires de particuliers numrisant les donnes partir de
photographies satellites ou bien communiquant leurs relevs GPS. Le projet
bnficie galement de l'apport de certains Etats ou entreprises.





'. ..'. !*S

Le protocole WCS (Web Coverage Service) permet un client d'accder des
2. Webmapping orient services
33
donnes gographiques de type 'rille, c'est--dire des donnes qui varient de
manire continue dans l'espace gographique. Il peut s'agir par exemple de
modles numriques de terrain, de donnes climatiques ou encore socio-
conomiques. Il ne faut pas confondre ces donnes avec celles obtenues sous
forme d'image par le protocole WMS. Ce qu'on obtient en rponse ce n'est pas une
image RVB mais bien une grille portant la smantique des donnes.


Dfinition : WCS :
Service de grilles. Un serveur WCS doit rpondre aux 3 requtes suivantes :
GetCapabilities qui renvoie une description du service
DescribeCoverage qui renvoie une description complte pour chaque
couverture
GetCoverage qui renvoie une couverture dans diffrents formats

7. ..7 !)S

Le protocole WPS (Web Process Service) permet un client d'excuter un
gotraitement, c'est--dire un calcul de nature gographique, distant.


Dfinition : WPS :
Service de gotraitement. Permet d'excuter un calcul gographique paramtr
(entre-sortie) distant en invoquant un web service. Un serveur WPS doit rpondre
aux 3 requtes suivantes :
GetCapabilities
DescribeProcess
Execute


Le traitement en question peut tre trs simple (calculer la zone des 100m autour
d'un point) ou trs complexe (simuler la propagation d'un feu de fort partir des
conditions initiales de lieu et de vents). Le protocole existe mais son utilisation
reste encore confidentielle. D'ailleurs, les modles complexes exigent des temps de
calcul qui ne sont pas compatibles avec la logique d'interaction des solutions webs.
*. .$. Les clients de ser#ices webs +G*

Les normes OGC prcdemment dcrites couvrent tous les types de donnes
gographiques et la plupart des usages. Elles permettent tout programme capable
d'accder une ressource distante par le biais d'une url de consommer le service.
Il apparat qu'aujourd'hui toutes les solutions SIG ont cette capacit, du moins pour
ce qui concerne WMS et WFS. C'est le cas notamment des clients bureautiques du
commerce (suite ArcGIS, Mapinfo, Goconcept, ...) mais aussi des clients
bureautiques libres (Jump, Quantum GIS, gvSIG, ...).
Ce qui ouvre des perspectives intressantes, dans la mesure o pour raliser une
tude ou bien pour crer une carte sur son poste bureautique il n'est plus
dsormais ncessaire de disposer en propre de toutes les donnes.
Les serveurs cartographiques qui vont tre dcrits au chapitre suivant peuvent
galement tre clients de ces services.
Enfin, les dveloppeurs de solutions de webmapping disposent aujourd'hui d'APIs
clientes qui ont toutes cette capacit. C'est le cas de l'API propritaire Google Maps,
mais aussi de l'API libre OpenLayers qui permet d'invoquer tous les services OGC.

34 34
2. Webmapping orient services 2. Webmapping orient services

III - $. Les ser#eurs de
publication de
ser#ices
g"ographi%ues
III



3.1. Les serveurs commerciaux 37
3.2. Les serveurs libres 38






On trouve des solutions commerciales et des solutions libres. Force est de constater
que les solutions libres sont la pointe en ce qui concerne l'interoprabilit.

(. $.1. Les ser#eurs commerciau=
1. $.1.1. (rcGIS Ser#er

C'est le serveur SIG commercialis par ESRI, socit amricaine leader sur le
march des solutions SIG. C'est une solution complte permettant la fois de
publier des services gographiques mais aussi de dployer des applications de
webmapping.
ArcGIS Server a sa propre terminologie de services gographiques. Il permet de
publier
des "ap ervice, ou services de carte 2D. C'est la diffusion au format
image d'un document mxd, c'est--dire d'une carte cre avec ArcMap. C'est
l'quivalent d'un service WMS (WMS-C)
des 'lo%e ervice, ou services de carte 3D
des 'eoda*a ervice, ou services de donnes. Equivalent un service WFS.
des i"a'e ervice. Equivalent un service WCS.
des 'eoprocei&' ervice, ou services de gotraitement. Equivalent un
service WPS.
des 'eocode ervice, ou services de gocodage. C'est la diffusion d'un
gotraitement particulier : le gocodage
des 'eo"e*r8 ervice. C'est la diffusion de gotraitements lmentaires tels
le changement de systmes de coordonnes ou encore le calcul de buffer.
ArcGIS Server est indissociable d'ArcGIS bureautique qui permet de crer les
ressources (bases de donnes, cartes, modles de gotraitement, mthode de
gocodage, ...) qui sont publies ensuite sous forme de services. L'tape de
publication est simplifie autant que possible travers des interfaces utilisateurs.
35
Les donnes doivent tre stockes dans des formats lus nativement par la suite Esri
(shapefile, godatabase ArcSDE, gotraitements ModelBuilder ou Python).
Les services qu'on publie avec ArcGIS Server sont avant tout destins tre
consomms dans des clients ESRI : clients lourds type ArcGIS bureautique clients
riches dvelopps sur mesure avec les APIs client (Javascript, Flash/Flex,
Silverlight) ou encore clients lgers dvelopps avec les APIs serveur (Web ADF
Java ou Web ADF ASP.NET) mises disposition.
Par dfaut les services publis sont des web services ; ArcGIS Server propose deux
interfaces REST et SOAP pour les consommer. Il est toutefois possible de supprimer
l'accs ces interfaces et ainsi de restreindre leur utilisation un intranet.
A condition d'autoriser l'accs web, certains services peuvent tre rendus
interoprables : c'est le cas des "ap ervice qui peuvent tre publis en WMS ou
encore des 'eoda*a ervice en WFS.
ArcGIS Server existe en environnement Windows, Linux ou encore Sun Solaris.
ESRI commercialise galement des services consommables directement dans des
clients ArcGIS Server : c'est le produit ArcGIS o&li&e qui permet entre autres
d'accder des fonds cartographiques ou images de rfrence sur le monde entier.
Certains services sont en accs libre.
. $.1.. 4apGuide

C'est la solution SIG web conue par AutoDesk. Le code source a t plac sous
l'aile de l'OSGEO en 2006, si bien que MapGuide est aujourd'hui disponible sous
forme d'une solution libre.


Dfinition : OSGEO :
Open Source GeoSpatial Foundation, organisation internationale dont le but est
d'hberger et de promouvoir les logiciels SIG Open Source.


Tout comme ArcGIS Server, il permet la fois de publier des services
gographiques mais aussi de dployer des applications de webmapping.
Sa force principale c'est d'tre capable d'exploiter la plupart des formats de
donnes gographiques. MapGuide est livr avec un client prt l'emploi (AJAX)
permettant d'interagir de manire fluide avec le serveur.
Le client peut tre personnalis ou bien redvelopp l'aide des APIs serveur
(php, .Net, Java) et cliente (Javascript) fournies.
MapGuide Server existe en environnement Windows ou Linux.
B. $.. Les ser#eurs libres


Nous en dcrirons deux, MapServer et GoServer, sur lesquels reposent de trs
nombreuses solutions de webmapping.

1. $..1. 4apSer#er

C'est le serveur de carte historique utilis par les premires applications de
webmapping. Il a d'abord servi produire des cartes la demande au format
image. Il a ensuite volu pour permettre galement la publication de services web
conformes aux normes OGC.
36 36
3. Les serveurs de publication de services gographiques 3. Les serveurs de publication de services gographiques
Le serveur est utilisable sous deux formes :
une application CGI (Common Gateway Interface) excutable distance par
le biais d'une url
une API MapScript utilisable dans plusieurs environnements de
dveloppement serveur (PHP, Perl, Python, Java,...).
Son rle principal est de produire des cartes dynamiques partir de donnes
stockes dans diffrents formats (shapefiles, tables Mapinfo, tables de SGBD
spatial). Chaque service de carte utilise un fichier texte, dit mapfile, dcrivant le
contenu.


Dfinition : Mapfile :
Texte structur en blocs imbriqus. Tout mapfile contient au moins un bloc 4()
dcrivant les paramtres gnraux de la carte contenant lui-mme tous les autres
et notamment les blocs L(?/1, contenant les donnes cartographier, mais aussi
un bloc !/B indiquant o stocker sur le serveur les images gnres et un certain
nombre d'autres blocs optionnels (PROJECTION, REFERENCE, LEGEND, ...).





Pour invoquer Mapserver en tant qu'application CGI, il suffit par exemple dans un
navigateur de taper l'url suivante :



Pour invoquer Mapserver l'aide d'une API MapScript, par exemple PHP, on crera
dynamiquement un document HTML contenant la carte l'aide d'un script PHP


3. Les serveurs de publication de services gographiques
37

Afin de crer une application de webmapping permettant un vrai dialogue utilisateur
(choix des couches de donnes par exemple) il convient de modifier
dynamiquement (i.e. par le script PHP) le contenu du mapfile.
Le rle du serveur ne se limite pas extraire des donnes et les cartographier
telles que. Il peut notamment effectuer un changement de systme de
coordonnes.


38 38
3. Les serveurs de publication de services gographiques 3. Les serveurs de publication de services gographiques

On constate que la reprojection la vole ncessite d'ajouter des blocs
)1+8/*TI+3.


Dfinition : EPSG :
Base de donnes mondiale recensant tous les systmes de coordonnes utiliss
pour localiser des objets la surface terrestre. Identifie chaque systme par un
numro unique. Mcanisme d'identification repris par tous les logiciels SIG Open
Source.
epsg : 4326 identifie le systme de coordonnes gographiques utilisant le
systme godsique mondial WGS84
epsg : 27572 identifie le systmes de coordonnes mtriques Lambert zone
2 associ au systme de rfrence NTF
epsg : 2154 identifie le systme mtrique Lambert 93 associ au systme de
rfrence RGF93
epsg : 900913 identifie le systme mtrique Web Mercator utilis par
exemple pour la diffusion des fonds Google et OpenStreetMap.



Attention
Selon la version des logiciels de Webmapping, ce systme epsg : 900913 peut ne
pas tre connu. Ainsi MapServer 2.3.1 pour Windows, qui utilise le programme libre
proj4 pour la gestion des systmes de coordonnes, ne connat pas epsg :900913.
Il faut donc diter le fichier epsg et ajouter la main la dfinition proj4 de ce
systme :
## spherical Mercator Google Maps
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0
+x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs <>


MapServer est galement capable d'exploiter de nombreuses sources de donnes
(bases de donnes spatiales ou services web OGC).
L>e7e"ple uiva&* "o&*re la co&&e7io& 5 u&e %ae de do&&,e Po*GIS pour
e7*raire de %S*i"e&* 6ue l>o& uperpoe au7 li"i*e d,par*e"e&*ale. I& e7*raie
ici *ou le %S*i"e&* *oc$, da& la *a%le "ai o& pourrai* *r4 %ie& &>e&
r,cup,rer 6u>u&e par*ie e& aNou*a&* u& cri*4re de ,lec*io& 5 la re6uC*e S2L du
"ap!ile.


3. Les serveurs de publication de services gographiques
39

La publication de services webs OGC repose elle aussi sur le mapfile. MapServer
implmente les normes WMS, WFS et WCS.
Pour publier des donnes selon la norme WMS, il convient de respecter un certain
nombre de rgles :
ajout d'un bloc PROJECTION dans le bloc MAP et dans chaque bloc LAYER
ajout d'un bloc METADATA dans le bloc WEB et dans chaque bloc LAYER.


40 40
3. Les serveurs de publication de services gographiques 3. Les serveurs de publication de services gographiques

C'est l'excutable CGI qui traite ensuite les requtes WMS. Pour obtenir les
mtadonnes du service l'aide d'une requte get*apabiblities il suffit de
reprendre l'url indique dans le bloc METADATA. Bien sr il existe des techniques
permettant de masquer le chemin d'accs au mapfile.



Pour excuter une requte get4ap, on peut comme prcdemment taper une url
dans un navigateur ou encore utiliser un client OGC ainsi qu'indiqu au chapitre
prcdent. C'est ce que nous faisons ici avec le SIG libre Quantum GIS. Dans la
barre d'outils principale, on peut tablir une nouvelle connexion WMS :



Enfin, en l'tat du mapfile, le serveur WMS n'est pas encore prt rpondre une
requte Get,eatureInfo. Il faudrait ajouter des informations complmentaires.
Il est galement possible de configurer MapServer en serveur WFS. Comme
prcdemment un certain nombre de blocs et paramtres additionnels doivent tre
3. Les serveurs de publication de services gographiques
41
ajouts.



MapServer est devenu au fil du temps un serveur cartographique complet capable
de gnrer des flux images (png, jpeg,..) ou vecteur (svg, flash) destins
alimenter des clients de toute nature (web, bureautique). Toutefois, il existe
aujourd'hui d'autres solutions plus satisfaisantes que ce soit pour la cration du
service proprement parler ou encore plus spcifiquement pour la mise en oeuvre
de services transactionnels.
. $..$. Tile*ache

C'est une implmentation open source de la norme WMS-C. Il s'agit d'un script
Python excut en CGI par le serveur web permettant de crer un cache disque
associ un serveur WMS.
Les couches d'informations servies par TileCache sont exploitables par l'API cliente
OpenLayers.
$. $..'. GeoSer#er

GeoServer est l'alternative MapServer. De conception plus rcente, son ergonomie
est meilleure ainsi que sa compatibilit avec les standards rcents (epsg : 90013
par exemple) ou encore avec les dernires normes labores par l'OGC (WFS-T),
tel point que c'est le serveur de rfrence l'OGC pour les normes WFS et WCS.
C'est la solution retenir pour mettre en place des applications de webmapping
permettant de modifier les donnes.
C'est un logiciel libre crit en langage Java. Il ne peut donc fonctionner que sur un
serveur web quip d'un serveur d'application Java (ex : Tomcat pour Apache). Il
existe en environnement Windows ou Linux.
42 42
3. Les serveurs de publication de services gographiques 3. Les serveurs de publication de services gographiques
GeoServer structure les donnes en espaces de travail, entrepts et couches. Les
espaces de travail regroupent des entrepts de donnes, un entrept tant un
ensemble de source de donnes de mme nature (vecteur ou raster). Une couche
permet de dfinir la symbologie appliquer une source de donnes d'un entrept.
La dfinition des styles utilise le standard SLD.
L o la configuration des services se fait dans un fichier texte pour MapServer, ici
on dispose d'une interface.



Les formats en sortie sont beaucoup plus nombreux que pour MapServer : flux
KML, GeoJSON, GEORSS,...
Une interface OpenLayers permettant de prvisualiser les donnes est galement
intgre l'interface.
Enfin, GeoServer permet de grer la scurit d'accs aux donnes et services
travers la cration de profils utilisateurs et l'attribution de droits.
'. $..7. Les framewor@s de webmapping

Il en existe plusieurs, dont la plupart sous l'aile de l'OSGEO. Les plus utiliss en
2010 sont sans doute CartoWeb et MapFish.
Ils permettent la fois de publier des services mais surtout de crer les applications
de webmapping qui les consomment. Ce sont des alternatives ArcGIS Serveur ou
bien MapGuide.
En ce qui concerne MapFish, c'est un outil de webmapping client - serveur reposant
ct serveur sur un environnement Python (Pylons) et ct client sur un
environnement Javascript en intgrant notamment l'API OpenLayers voque dans
le chapitre suivant, mais aussi deux autres APIs Javascript utilises en webmapping
pour crer et implmenter une interface Homme-Machine : extJS et GEOExt.
Il est conseill d'utiliser un framework de ce type lorsqu'on se lance dans le
3. Les serveurs de publication de services gographiques
43
dveloppement d'une solution webmapping libre de faon bnficier au maximum
de composants dj programms (et bien programms !).
Ces solutions sont toutefois assez volatiles. Il convient avant de se lancer de vrifier
que la solution choisie est une solution d'avenir.
Pour ce qui des solutions web propritaires, elles aussi s'appuient sur des
frameworks. C'est le cas de l'API Javascript ArcGIS qui repose sur le framework
Javascript 6o;o. La logique est la mme que pour les solutions 100% libres : il
s'agit d'utiliser des composants dj dvelopps et partags par une large
communaut pour produire rapidement la mise en page et les fonctionnalits de
son application web. le framework donne accs des widgets volus (lments de
formulaires de saisie avec validation intgre, outils pour gnrer des tableaux
personnalisables, des graphiques,..) qu'il s'agit simplement d'agencer. Le
framework permet aussi de bnficier d'un code optimis et exploitable par les
diffrents navigateurs.

44 44
3. Les serveurs de publication de services gographiques 3. Les serveurs de publication de services gographiques

IV - '. Les ()I clients
pour consommer
les ser#ices
IV



4.1. API Google Map 47
4.2. API OpenLayers 52
4.3. API Goportail 56




(. '.1. ()I Google 4ap

C'est la plus connue, car pionnire, des APIs client. Mentionnons toutefois que
Yahoo et Microsoft propose le mme type de services.
Actuellement en version 3, elle permet de crer des applications de webmapping
personnalises consommant des services Google excutables dans tout navigateur
y compris sur des smartphones (iPhone, Android, Windows Phone). Particuliers et
professionnels l'utilisent. L'API est libre condition que le site dvelopp soit en
accs public et que les services offerts soit valoriss sur des fonds de carte Google.
Depuis 2005, Google donne accs par le biais de Google Earth et du site Google
Maps une couverture mondiale de donnes routires, physiques et
photographiques avec une rsolution excellente en Amrique du Nord et en Europe,
du moins pour ce qui concerne les grandes villes. L'utilisateur peut non seulement
visualiser la donne mais aussi accder des traitements SIG comme la localisation
par adresse, la recherche de services proximit d'un lieu, et bien sr le calcul
d'itinraire.
L'API dfinit une interface de programmation permettant aux dveloppeurs de
solutions web de bnficier de tous ces services existants. De nombreux mashups
Google sont ainsi apparus depuis 2006. Le portail des transports de l'agglomration
lyonnaise en est un exemple :


Exemple


45



L'API regroupe un ensemble de classes Javascript (il existe aussi une version Flash
et des versions pour smartphones), qui permettent de crer des objets capables
d'utiliser les services Google. Les donnes sont localises en coordonnes
gographiques (latitude, longitude) dans le systme WGS 84.
C'est un mode de dveloppement trs souple, puisqu'il ne ncessite aucune
installation pralable. Tout juste faut il indiquer l'URL de l'API dans la page HTML
pour pouvoir bnficier des fonctions dj programmes.
Conformment au style d'architecture AJAX, le client Javascript va tre charg de
dialoguer avec le serveur Google pour relayer sous forme de requtes HTTP les
interactions souris ou clavier de l'utilisateur.
La facilit de mise en oeuvre tient au fait que les classes d'objets de l'API sont
dotes des capacits ncessaires ce dialogue. Parmi elles, on trouve la classe
centrale 4() qui est capable de ragir aux vnements clic+ dou%le clic+
cha&'e"e&* d>,chelle+ d,place"e&*+.... Mais aussi d'autres classes d'objets comme
Mar$er permettant de dessiner des objets ponctuels sur un objet Map, eux aussi
capables de ragir des interactions utilisateurs (clic ou dplacement souris par
exemple)
Au-del de la visualisation des fonds Google et de la prise en charge de l'interaction
avec ces fonds, l'API propose de nombreuses fonctionnalits dont
le dessin en superposition des fonds de carte Google de donnes
gomtriques ponctuelles (classe Marker), linaires (classe Polyline),
surfaciques (classe Polygon)
le chargement de couches de donnes servies par d'autres serveurs que
Google
la localisation d'adresses (classe Geocoder),
le calcul d'itinraires,
l'accs des vues obliques (Street View)
L>API e* *r4 %ie& docu"e&*,e+ o& acc4de e& li'&e 5 la decrip*io& e7hau*ive de
46 46
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services
*ou*e le clae ai&i 6u>5 de *u*oriel de prie e& "ai&.
h**p011code.'oo'le.co"1i&*l1!r1api1"ap1docu"e&*a*io&1Navacrip*1re!ere&ce.h*"l
Pour afficher une carte Google dans une application de webmapping, il suffit de
crer et stocker sur son serveur un document HTML comportant les quelques lignes
de code suivantes.



La par*ie %od8 du docu"e&* co&*ie&* le 2 ,l,"e&* de la pa'e 0 le *i*re e* la car*e.
La par*ie head co&*ie&* le direc*ive de *8le+ u&e r,!,re&ce ver l>API :avacrip*
ai&i 6ue le code :avacrip* !a%ri6ua&* la car*e.
I& co&*a*e 6ue pour cr,er u&e car*e d8&a"i6ue Goo'le+ il !au* u&e div+ c>e*-5-
dire u&e diviio& de la pa'e LTML+ ide&*i!i,e par u&e chaT&e de carac*4re (ici U
laCar*e V- da& la6uelle le code :avacrip* a!!iche le do&&,e. Ce ",ca&i"e
d>ide&*i!ica*io& de di!!,re&* ,l,"e&* d>u&e pa'e e* !o&da"e&*al pour A:A;
pui6u>il per"e* d>a**ei&dre cha6ue ,l,"e&* i&d,pe&da""e&* de au*re.
Pour u*ilier l>API+ il u!!i* d>aNou*er 5 la par*ie HEAD <script
4. Les API clients pour consommer les services
47
type="text/javascript" src="http://maps.google.com/maps/api/js?
sensor=false"</script. Le para"4*re e&or de l>/<L per"e* au clie&*
d>e&vo8er 5 Goo'le a ',olocalia*io&. Ici+ Goo'le &>e7ploi*e pa la localia*io& du
clie&* W c>e* u*ile lor6ue le clie&* e* "o%ile.
La !a%rica*io& de la car*e d8&a"i6ue e* prie e& char'e par la proc,dure i&i*ialiFe
e7,cu*,e apr4 r,cep*io& du docu"e&* LTML. Il co&i*e 5 i&*a&*ier u& o%Ne* de
*8pe Map 5 l>aide de la clae 'oo'le."ap.Map de l>API. Pour cr,er u& *el o%Ne*+
l>API a %eoi& de cer*ai& re&ei'&e"e&* 0 ,chelle d>a!!icha'e ou !or"e d>u&
&iveau de Foo" (le do&&,e Goo'le o&* *uil,e rappeleF vou X-+ poi*io&
',o'raphi6ue du ce&*re de la car*e+ *8pe de car*e (<IA?MAP+ LMH<I?+ T)<<AI= e*
SAT)LLIT)-
Ici le centrage est cod en dur. On pourrait autoriser l'utilisateur de notre
application saisir ces coordonnes gographiques afin qu'elles soient utilises par
l'API pour le centrage. Ou mme mieux, lui laisser saisir un nom de lieu et
demander l'API de convertir cette adresse en coordonnes.


48 48
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services

Le code e* u& peu plu co"ple7e 6ue pr,c,de""e&*. Il 8 a *ouNour u&e !o&c*io&
:avacrip* I&i*ialiFe appel,e apr4 r,cep*io& de la pa'e par le clie&*+ "ai aui u&e
au*re !o&c*io& ce&*reCar*e. Au char'e"e&* la car*e e* ce&*r,e ur Pari (Fra&ce-.
/& co&*rol de aiie per"e* 5 l>u*ilia*eur d>>i&di6uer u& au*re lieu e* u& %ou*o& U
Ce&*rer la car*e ur l>adree V per"e* de ce&*rer l>a!!icha'e ur le lieu aii. La
!o&c*io& ce&*reCar*e e* aoci,e 5 l>,v4&e"e&* clic ur le %ou*o&.
)& plu d>u& o%Ne* 'oo'le."ap.Map o& i&*a&cie ,'ale"e&* u& ',ocodeur
4. Les API clients pour consommer les services
49
('oo'le."ap.Geocoder- e* u& "ar$er !i'ura&* le &ouveau ce&*re de la car*e
('oo'le."ap.Mar$er-.
Pour ajouter en superposition des donnes archives sur le serveur, il y aurait
plusieurs possibilits mais le plus simple serait d'ajouter une couche de type KML,
l'API proposant de crer des objets de cette nature. Rien n'impose toutefois
d'archiver sur le serveur les donnes dans ce format. On peut imaginer que le KML
soit fabriqu de manire dynamique. C'est mme assez simple mettre en oeuvre
si on a pris soin de stocker ses donnes dans une base PostGis, ce dernier
disposant de fonctions d'export pouvant tre invoques en SQL.
B. '.. ()I +penLa0ers

Il s'agit galement d'une API Javascript. Toutefois, la diffrence de l'API Google
elle est totalement libre (diffuse par l'OSGEO). Par ailleurs elle permet d'accder
toute la panoplie de services gographiques existants aujourd'hui (commerciaux ou
libres) et parmi eux les services OGC.
Cette API rencontre un trs grand succs notamment pour toutes les applications
institutionnelles. L'API Goportail en est une sur-couche.
Le mcanisme de dveloppement d'une solution webmapping est identique au cas
prcdent, les possibilits de mashup tant nanmoins plus nombreuses. Tout
comme pour l'API Google Maps, l'API propose plusieurs classes d'objets, parmi
lesquelles la classe principale +penLa0ers.4ap et d'autres dont
+penLa0ers.La0er.A permettant d'afficher dans la carte OpenLayers des donnes
de nature diverse.
L'exemple de code HTML suivant montre comment afficher dans un objet
OpenLayers.Map les flux de donnes OpenStreetMap et Google.


50 50
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services

4. Les API clients pour consommer les services
51



Co""e pr,c,de""e&*+ le code de cr,a*io& de la car*e e* d,cle&ch, apr4
r,cep*io& de la pa'e LTML. Il co&i*e 5 i&*a&*ier u& o%Ne* Ipe&La8er.Map e&
i&di6ua&* da& le co&*ruc*eur de l>o%Ne* le 8*4"e de coordo&&,e (ici c>e*
)PSG RJJR13 W o& a choii ce 8*4"e+ car e&ui*e o& va aNou*er le !o&d de car*e
Goo'le e* Ipe&S*ree*Map 6ui l>u*ilie&*-. I& i&di6ue ,'ale"e&* l>e"prie "a7i"ale
de &o*re car*e. I& co&*a*e 6u>Ipe&La8er propoe de clae d>o%Ne* pour
d,!i&ir u&e localia*io& ',o'raphi6ue (Ipe&La8er.Lo&La*- ou e&core u&e e"prie
(Ipe&La8er.Hou&d-.


52 52
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services



Attention
Ipe&La8er di*i&'ue 2 *8pe de couche+ le couche de %ae e* le overla8. /&e
eule couche de %ae peu* C*re ac*ive 5 la !oi. Ici+ le !o&d Goo'le e*
Ipe&S*ree*Map apparaie&* co""e couche de %ae+ *a&di 6ue le d,par*e"e&*
e* le "ar$er o&* de overla8.


L'API est documente en ligne mais de manire beaucoup moins satisfaisante que
l'API Google
h**p011ope&la8er.or' et h**p011o!*li%re.!ree.!r1ol1h*l"1i&de7-!r.h*"l
4. Les API clients pour consommer les services
53
*. '.$. ()I G"oportail

C'est une API client drive d'OpenLayers existant en environnement Javascript ou
Flash et permettant d'accder via des classes d'objets aux donnes du Goportail
ainsi qu' certaines fonctionnalits de traitement sur ces donnes. Son propos est
avant tout de permettre la rutilisation dans des contextes utilisateurs diffrents
des donnes de rfrence du RGE. Pour le reste l'API propose des fonctionnalits
comparables celles vues prcdemment : affichage de donnes gographiques,
navigation dans les donnes, superposition de donnes utilisateur formates dans
des formats fichier standards ou bien servies par des serveurs OGC, dessin.
Le fait qu'elle drive d'OpenLayers lui donne la capacit d'exploiter les flux WMS et
WFS, et notamment tous ceux diffuses par les collectivits Franaises (cf. projet
Carmen).
L'API est en plein panouissement avec en 2010 la mise en ligne d'une version pour
l'iPhone.


54 54
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services

Les quelques lignes de code suivantes montrent comment gnrer une carte de
France avec toutes les couches du Goportail. Pour utiliser l'API, on la rfrence
dans le code Javascript ; toutefois, il est ncessaire de s'enregistrer au pralable
afin d'obtenir une cl inscrire ensuite dans le paramtre $e8 de l'url.


Exemple





L'API est documente en ligne :
h**p011api.i'&.!r1'eopor*ail1i&de7.do

4. Les API clients pour consommer les services
55

*onclusion


En 2010, les producteurs de donnes SIG deviennent de plus en plus des fournisseurs de
services interoprables tandis que les consommateurs, toujours plus nombreux, utilisent ces
services par le biais d'applications construites rapidement partir d'APIs logicielles.
En l'espace de dix ans, le paysage logiciel des SIG a sensiblement chang : l o il n'y avait
que des solutions propritaires sous licence (Esri, Mapinfo, Intergraph..) il y a aujourd'hui
aussi des solutions libres, qu'utilisent tant les producteurs que les consommateurs. L o il
n'y avait que des utilisateurs professionnels et des outils logiciels trs sophistiqus et
coteux, il y a maintenant beaucoup de monde, avec en premire ligne le citoyen et le client
lambda.
L'explosion annonce du march des "ar*pho&e doit permettre un nouvel essor des SIG.
Ces tlphones sont en effet capables de se connecter au web par le biais des rseaux
tlphoniques ou du Wifi ; ils sont en outre dots de moyens propres de localisation ce qui
en fait autant de clients pour les architectures distribues voques dans ce cours. Avec
eux, de nouveaux usages vont natre : rception d'information exploitant la golocalisation
mais aussi remonte d'information vers des bases centralises. Une application iPhone
permettant la notification de problmes sur la voirie aux services techniques municipaux a
ainsi t montre aux journes ESRI 2010. Tout citoyen devient producteur d'information
gographique.
57

Bibliographie




[Cours et Travaux Dirigs]
h**p011###.'eo*e*.&e*1cour1i'"a1#e%"appi&'1 - Site de Laurent Jgou qui
enseigne les technologies webs appliques la gomatique. Cours, documents de
synthse et TD en ligne.


[Dveo!!e"e#t $I%]
h**p011###.o'eo.or' - Site web de la fondation gospatiale OpenSource. C'est le
point d'entre pour accder aux diffrentes solutions logicielles libres de la
gomatique. On trouve la fois des serveurs cartographiques, des APIs clients et
des SIG bureautiques.


[Dveo!!e"e#t &e']
h**p011###.#3.or'1 - Site web officiel du World Wide Web Consortium, association
charge d'laborer les standards du web.


[Dveo!!e"e#t &e']
h**p011###.#3chool.co"1 - Site satellite du W3C offrant de nombreuses
ressources pour s'initier aux technologies du web.


[Dveo!!e"e#t &e']
h**p011###.i*eduFero.co"1 - Des cours et des tutoriels pour apprendre tout seul.
Un trs bon tutoriel sur les services webs.


[Dveo!!e"e#t (e'"a!!i#g !ar )*I +ie#t]
h**p011code.'oo'le.co"1i&*l1!r1api1"ap1i&de7.h*"l - Le site ddi aux utilisateurs
des APIs Google Maps.


[Dveo!!e"e#t (e'"a!!i#g !ar )*I +ie#t]
h**p011ope&la8er.or' - Le site ddi aux utilisateurs de l'API OpenLayers.


[Dveo!!e"e#t (e'"a!!i#g !ar )*I +ie#t]
h**p011api.i'&.!r1'eopor*ail1i&de7.do - Le site ddi aux utilisateurs de l'API
Goportail.


[I#tero!ra'iit ,es $I%]
h**p011###.ope&'eopa*ial.or'1 - Site web officiel de l'Open GeoSpatial
Consortium, association internationale charge d'laborer des normes visant
amliorer l'interoprabilit des solutions logicielles gomatiques.


[-ise e# !a+e ,e serveurs gogra!.i/ues]
h**p011"aperver.or' - Site satellite de l'OSGEO ddi au serveur Mapserver


59
[-ise e# !a+e ,e serveurs gogra!.i/ues]
h**p011'eoerver.or' - Site satellite de l'OSGEO ddi au serveur Geoserver.


[$ites ,0+.a#ges et ,e +o##aissa#+es e# go"ati/ue]
h**p011'eoreFo.&e* - Des forums actifs en particulier sur le webmapping. Egalement
un wiki collaboratif


[$ites ,0+.a#ges et ,e +o##aissa#+es e# go"ati/ue]
h**p011'eo*ri%u.&e* - Portail collaboratif sur les nouvelles technologies et la
gomatique.


60 60
4. Les API clients pour consommer les services 4. Les API clients pour consommer les services