Vous êtes sur la page 1sur 69

Nicolas BOZON

Master SIG et Gestion de lEspace

RAPPORT DE STAGE

Le dveloppement de services web gographiques


ddis la consultation et au traitement des donnes
gospatiales et agromtorologiques sur Internet.

Sous la direction du Docteur Alain VIAU du 2 mars au 23 Aot 2005, Qubec

Un grand merci au Docteur Alain Viau, Mr Richard Picard et toute lquipe du


GAAP, ainsi qu la direction du Master SIG et ma famille qui ont rendu cette
exprience possible.

2 2

RESUME
Ce document prsente le stage professionnel ralis par Nicolas Bozon au Laboratoire de
Gomatique Agricole et Applique lUniversit Laval (Qubec), du 2 mars au 23 aot 2005. Il
expose de manire synthtique les concepts abords et les comptences acquises durant la
priode de travail, en proposant une description globale de la dmarche de stage, laquelle sest
droule en rapport au projet Msonet-Montral.
La spcialisation en SIG Web rsultant du stage est particulirement mise de lavant,
travers notamment la prsentation des travaux de dveloppement Internet, mais aussi par
lexplication gnrale du lien entre le SIG du laboratoire et le rseau Internet.
La dmonstration des apports du stage aussi bien thoriques que pratiques est lobjectif
premier de ce rapport. Il met en valeur les comptences gomatiques et informatiques acquises
tout en conservant une vision pr-profesionnelle et un certain recul vis--vis de la mission de
stage.

CONSEILS DE LECTURE
Le produit final du stage est un SIG en ligne, sous la forme dun site Internet disponible
lurl suivante : http://www.mesonet-montreal.ca/cartonico .
La comprhension du systeme mis en place, et notamment lors de la lecture de la
quatrime partie doit se faire parallement la visite du site Internet. Cela permet dillustrer les
propos tenus de manire concrete.
Pour des raisons de lisibilit, le code inclut dans le texte apparat en italique, et les sigles,
les noms de langage Internet (sauf javascript) et les noms de formats informatique apparaissent
en majuscules.
Le texte fait appel 11 annexes prsentes a la fin de ce rapport. Elles comportent
notamment une partie du code source utilis pour mettre en place le SIG en ligne.
Dans les annexes, le code apparat en caractre normal (et non en italique), et les
commentaires en caracteres gras.

3 3

SOMMAIRE

Introduction................................7

1) Prsentation du stage.8
1.1) La structure d'accueil8
1.1.1) Raison sociale et activits du laboratoire................................................8
1.1.2) Hirarchie et fonctionnement..................................................................8
1.1.3) Collaborations et financements...............................................................9
1.1.4) Ressources et quipements................................................................10
1.2) La Prsentation du Projet Msonet Montral11
1.2.1) Nature et Objectif du Msonet11
1.2.2) Aspects institutionnels et collaboratifs...........................12
1.3) Les caractristiques de la mission..............................13
1.3.1) Objectifs du sujet de stage............................................13
1.3.2) Mthodes de travail ...............................................................................14
1.3.3) Outils privilgis.....................................................................................15

2) Le Moteur SIG agromtorologique....16


2.1) Le rseau de stations16
2.1.1) Localisation et caractristiques..16
2.1.2) Observations et automatisation..17
2.2) Les bases de donnes..18
2.2.1) La base de donnes mtorologiques...18
2.2.2) La base de donnes spatiales.19
2.3) Structuration du SIG20
2.3.1) Problmatiques agromtorologiques20
2.3.2) Schma conceptuel de donnes.21
2.3.3) Extrapolation/Interpolation des donnes mto ..22
2.3.4) Cration dindicateurs agricoles spatialiss..22

4 4

3) Les SIG sur Internet : tat de l'art et standardisation23


3.1) Prsentation de loutil Internet ...23
3.1.1) Histoire et volutions..23
3.1.2) Les protocoles Internet..24
3.1.3) La relation client / serveur.24
3.1.4) LInternet pour la diffusion cartographique.25
3.2) Inventaire des techniques de webmapping existantes..26
3.2.1) Solutions statiques vs solutions dynamiques.26
3.2.2) Les serveurs cartographiques..26
3.2.3) Les formats vectoriels27
3.3) Les standards libres de diffusion de linformation gographique.28
3.3.1) Le SVG, outil de reprsentation de contenu vectoriel en 2D..28
3.3.2) Le PHP, lien entre la carte et la base de donnes30
3.3.3) L'ECMA Script, agent d'interactivit avec l'utilisateur31

4) Conception et dveloppement de lapplication cartographique.32


4.1) Concertation et conception de la carte interactive..32
4.1.1) Rappel des objectifs du projet Internet32
4.1.2) Dfinition des fonctionnalits dvelopper32
4.1.3) Schma conceptuel du dveloppement Internet33
4.2) Construction du fond cartographique 34
4.2.1) Conversion des shape files en fichiers SVG avec Arc GIS 934
4.2.2) Mise en page des fichiers SVG : Le canvas ou viewbox36
4.2.3) Design de la carte : lments de graphisme SVG..37
4.2.4) Mise en forme de limage Landsat quegaap.tiff38
4.3) Constitution dune bibliothque de fonctions ECMAScript..39
4.3.1) La compatibilit du SVG avec ECMAScript..39
4.3.2) Les fonctions Zoom et Pan..39
4.3.3) Les fonction getData.js.40
4.3.4) La fonction getWidget.js..40
4.3.5) Le fichier getWidget.js..41
4.3.6) Les autres fonctions javascript41
4.4) Liaison la base de donnes MySQL42
4.4.1) Connexion du SVG a la base de donnes MySQL.42
4.4.2) Appel des valeurs sur la carte : exemple de la temprature.43
4.4.3) Appel des valeurs dans le widget : prevision.php...45

5 5

4.5) Dveloppement de l'interface de numrisation.46


4.5.1) De la vue rgionale au plan de ferme46
4.5.2) Rcupration et modification du script.46
4.5.3) Fonctionnement de lapplication47
4.5.4) Potentiel du SVG pour numriser en ligne..48
4.6) Instauration d'une zone membre et d'un accs privilge49
4.6.1) Diffusion et niveaux de permission49
4.6.2) Tests en local et obstacles a la mise en ligne.49
4.7) Intgration de l'ensemble dans une architecture XHTML conforme.50
4.7.1) Pourquoi XHTML et les CSS ?...............................................................51
4.7.2) Un SIG en ligne conforme ou valide ?...................................................51
4.8) Bilan de la phase de dveloppement Internet..52

Conclusion53
Annexes54
-

Carte du Projet Msonet Montral..55


Exemple dun plan de ferme gorferenc56
Schma simplifi dune station mtorologique57
Code source : mapmesonet.svg ( extraits )58
Code source : La barre de navigation SVG / ECMAScript..60
Code source : zoom.js..62
Code source : pan.js..63
Code source : La lgende SVG / PHP ..64
Code source : Temperature.php..65
Code source : Previson.php.66
Code source : index.php ( xhtml / css ) .67

Bibliographie68

6 6

INTRODUCTION

La priode de stage au Laboratoire GAAP sest droule selon plusieurs phases de travail,
ces dernires ayant suivi le cheminement logique dun projet contingent par une approche
collective et participative. Lintgration une quipe multiculturelle de gomaticiens /
dveloppeurs dans le contexte qubcois en font une exprience hautement formatrice et
inoubliable.
Des recherches bibliographiques et lectroniques aux aspects de dveloppement Internet,
de nombreux aspects relatifs la gomatique et la cartographie numrique ont t abords.
Cest dans un cadre pluridisciplinaire que la dmarche de stage sest inscrite et les comptences
dployer, les outils utiliser ainsi que les points forts de la mission ont t dtermins et fixs
lors de mon arrive au laboratoire. Cela premirement dans lobjectif de cerner les objectifs
pdagogiques du stage mais aussi de rpondre aux besoins actuels du projet que jai intgr.
La position pionnire du laboratoire GAAP dans le domaine de gomatique agricole, la
qualit des quipements et des ressources informatiques, ainsi que lencadrement offert par le
Docteur Alain Viau et l'informaticien Richard Picard, ont permis de dpasser les aspects
strictement universitaires propres aux activits de recherche en laboratoire. En effet, toute la
dynamique du stage fut fonde sur la conception et la cration dun produit destin tre publi
sur Internet, ce qui est venu stimuler et concrtiser le travail personnel en procurant des objectifs
prcis et en instaurant une finalit atteindre.
Outre les principes et les concepts de la gomatique agricole, ainsi que les comptences
mtiers relis lagriculture de prcision et lenvironnement qui ont t acquises, ce stage
concrtise une relle spcialisation dans les technologies Internet appliques aux systmes
dinformation gographique (SIG). Bon nombre de concepts et dhabilets de programmation
pour la diffusion de linformation gographique ont t mis en uvre de manire concrte. On
dsigne lensemble de ces activits par le terme relativement rcent et gnrique de
webmapping .
Lutilisation dInternet dans la perspective de diffuser de l'information gographique, et les
divers travaux de programmation mens ont aussi orient la rflexion sur la situation des SIG
dans le contexte de monte en puissance des technologies open source, ainsi que sur le
potentiel du web smantique vis--vis de la diffusion et du partage des donnes gographiques.
Ce rapport sorganise en quatre parties qui rsument les apports thoriques et pratiques
que le stage a procurs La premire partie sattache prsenter les objectifs du stage et le
laboratoire GAAP. Le moteur SIG et les bases de donnes sur lequel le projet repose sont
ensuite prsents au sein de la deuxime partie. La troisime partie synthtise quant elle les
phases de recherche et dapprentissage en webmapping, travers un tat de lart de la
cartographie numrique sur Internet.
Enfin, les travaux de conception et de dveloppement Internet sont exposs au sein d'une
dernire partie. La prsentation du produit final est appuye par lexplication des scripts
principaux et de certaines fonctions ayant t dveloppes. Le script intgral de lapplication
tant trop volumineux pour tre inclus dans ce rapport, des extraits de codes sources choisi de
manire cible sont placs en annexe. Lintgralit du script est de plus la proprit du
laboratoire. Bien que fonde majoritairement sur des ressources libres, la priode de
dveloppement reprsente 6 mois de travail et la mise en uvre de comptences avances de
programmation, ce qui justifie cette protection par copyright.

7 7

1) Prsentation du stage
1.1) La structure daccueil
1.1.1) Nature et raison sociale du laboratoire GAAP
Le laboratoire de Gomatique Agricole et Applique (GAAP) est une
institution de recherche de la Facult de Foresterie et de Gomatique de
l'Universit Laval, Qubec. Il dpend du Dpartement des Sciences
Gomatiques de lUniversit et fut fond en avril 2001. Il est aussi associ au
Centre de Recherche en Gomatique (CRG) et au rseau d'excellence GEOIDE,
lesquels regroupent depuis 1989 les laboratoires de quatre universits
qubcoises (lUniversit Laval, lUniversit de Sherbrooke, lUniversit du Qubec
Montral et lUniversit Mac Gill de Montral ).
La mission du laboratoire est dassurer le dveloppement de la
gomatique dans le secteur de l'agriculture, de l'environnement, de la gestion de
l'eau ainsi que dans ltude du territoire par bassin versant. Les travaux du
laboratoire visent aussi favoriser le dveloppement de lusage des technologies
rfrence spatiale, comme par exemple les SIG, le GPS, les outils de traitement
d'images, ou dautres gotechniques permettant dutiliser linformation
gographique comme un outil daide la dcision dans les domaines de
l'agriculture de prcision et de l'environnement.
Les activits de recherche sont principalement lies l'usage des SIG et
de la tldtection pour la gestion des territoires et des exploitations agricoles,
mais comportent aussi bien souvent des aspects propres aux disciplines
connexes, savoir la mtorologie, l'hydrologie, la foresterie ou encore l'cologie.
Il est possible de qualifier lensemble des activits du laboratoire comme ayant trait
la gomatique environnementale, mais les recherches appliques lagriculture
prvalent largement (agronomie, agromtorologie, agroforesterie).
1.1.2) Hirarchie et fonctionnement
Dirig par le Docteur Alain Viau, le laboratoire regroupe 5 6 chercheurs et
ingnieurs de recherche, ainsi qu'une dizaine de chercheurs associs provenant
dhorizons varis. Le parc informatique et le rseau sont grs par Richard Picard
(informaticien administrateur rseau) et le SIG l'est par Gilles Lavoie (gomaticien
responsable SIG). Les travaux lis l'optique et la tldtection sont quant eux
mens par Jae Dong JANG (chercheur post-doctoral).
Les activits de recherche sont aussi clairement impulses par la prsence et
linvestissement de doctorants, de chercheurs post-doctorants, dtudiants de
matrise, de contractuels et de stagiaires, lesquels ralisent une partie de leur cursus
universitaires ou professionnels en intgrant les diffrents projets du Laboratoire
GAAP. Ils contribuent ses avances technologiques ainsi qu' sa production
scientifique.
Lquipe du GAAP est enfin largement mobile et volutive. Outre les
dplacements frquents du Directeur et des Doctorants en Europe et dans le Monde,
la plupart des membres du laboratoire effectuent une partie de leur travail sur le
terrain, quil sagisse aussi bien de relevs GPS, de campagne dorthophotographies, dobservations et dinventaires ou encore de rencontre avec les
acteurs des diffrents projets.

8 8

1.1.3) Collaborations et financements


En tant que structure de recherche innovante de l'Universit Laval, le
laboratoire GAAP est financ la fois par le gouvernement provincial qubcois et
par le gouvernement fdral canadien. Il peroit notamment des fonds du Ministre
des Ressources Naturelles du Qubec, ainsi que des crdits de recherche provenant
du Fond Canadien d'Innovation.
Au del des importants efforts de collaboration interuniversitaire et/ou
internationale qui lui permette dintgrer ou dinitier des projets de gomatique
agricole d'envergure, le laboratoire entretient donc des rapports privilgis avec les
instances gouvernementales, mais aussi avec un certain nombre de collectivits
locales et d'entreprises prives.
Le Docteur VIAU est fondateur et titulaire de la Chaire de Recherche
Industrielle en optique de prcision et en gomatique environnementale (OGEN). Ce
type de regroupement est unique en Amrique du Nord et regroupe des acteurs
varis. Le laboratoire collabore par exemple avec la Financire Agricole (Institution
qubcoise de financement et d'assurance agricole), avec les entreprises TELOPS
et INNOTAG (tldtection) ou encore avec la cooprative agroalimentaire
DYNACO. Une part des activits du laboratoire est donc troitement lie aux
intrts des acteurs de la Chaire, et cette mise en commun de comptences
reprsente un apport financier non ngligeable pour le laboratoire GAAP.
Par ailleurs, le laboratoire est membre actif du Regroupement HYMAP, lequel
est ddi la mise en uvre de la politique canadienne de leau dune manire
intgre et durable. Celui-ci regroupe 49 chercheurs provenant de 9 universits
canadiennes et travaillant tous dans le domaine de la gestion de leau, mais selon
des centres dintrt diffrents. Un certain nombre de projets du laboratoire, comme
le projet Msonet par exemple, sont donc impulss et chapots par HYMAP.
Le laboratoire GAAP mne aussi des actions de recherche avec des
institutions et laboratoires europens. A titre d'exemple, il collabore avec des
organisations franaises telles que l'Institut de Recherche pour le Dveloppement (
IRD ), le Centre de coopration internationale en recherche agronomique pour le
dveloppement ( CIRAD ) ou encore le Centre National du Machinisme Agricole, du
Gnie Rural, des Eaux et Forts ( CEMAGREF ).
D'importants travaux ont notamment t raliss dans le cadre du programme
Go-traceagri , lequel runit le Qubec, la France et le Benelux dans un projet de
traabilit gographique applique l'agriculture (http://www.geotraceagri.net/). Cet
exemple de collaboration internationale dmontre la volont du Laboratoire de
mettre en oeuvre des partenariats scientifiques, mais prouve aussi ses ambitions
quant l'exportation de ses comptences et de son expertise en gomatique
agricole.

9 9

1.1.4) Ressources et quipements


Afin de mener ses diffrents projets et de rpondre aux appels d'offres de ses
divers partenaires, le laboratoire GAAP se doit d'investir dans les technologies de
pointe relies la gomatique et l'informatique. Les quipements ncessaires sont
prsents ici de manire succincte afin d'apporter des prcisions quant
l'environnement de travail dans lequel le stage s'est droul.
Le parc informatique reprsente l'outil de travail principal du Laboratoire. Il se
constitue d'une trentaine de puissants ordinateurs connects en rseau, lequel est
gr la fois par un systme Windows NT et par une distribution Linux de type
Fedora 4.0. Cette combinaison des systmes dexploitation permet de mettre en
oeuvre toutes les oprations et les routines d'administration ncessaires aux projets
gomatiques. Les machines sont aussi connectes aux diffrents serveurs du
laboratoire, administrs eux aussi la fois par une solution Windows Server et par
des solutions open-source, l'instar de SQL server et du serveur Apache.
Les principaux outils logiciels SIG, tous sous licence multipostes et multiutilisateurs, sont Arc Info, Arc GIS 9, Arc View 3.2 et Surfer 8. Le laboratoire dispose
bien sur d'autres logiciels comme MatLab, Adobe Photoshop ou d'autres outils ddis
au calcul algorithmique, linfographie ou la bureautique.
Le second outil, ou ressource est bien sur l'ensemble des donnes
gographiques et statistiques manipules par le laboratoire, qui proviennent de
sources varies. Les principaux fournisseurs de donnes spatiales sont le Ministre
des ressources naturelles du Qubec ainsi que le Ministre de l'environnement
canadien, qui je tiens le prciser propose des prix infrieurs ceux pratiqus par
l'IGN dans le cas franais. Le laboratoire GAAP investit donc rgulirement auprs de
ses institutions pour acqurir des donnes jours, essentiellement des fichiers de
formes, des couvertures thmatiques et des images satellitaires
De plus, le GAAP acquiert lui mme des donnes pour subvenir ses besoins
de recherche, et ce de plusieurs manires. Il mne premirement des campagnes de
relevs GPS sur le terrain, dot de tout le ncessaire GPS (rcepteurs, antennes,
thodolites) et dun vhicule 4x4 de type pick-up pour pouvoir accder a tous les
types de terrains.
Enfin, et c'est un investissement de taille, des campagnes de photographies
aroportes sont aussi menes de manire annuelle. Le GAAP est quipe de
camras numriques haute rsolution et dun ordinateur de bord, qu'il utilise lorsqu'il
peut se procurer un avion et que les conditions atmosphriques sont clmentes. Il
dispose ainsi d'images hyper-spectrales, infrarouges ou proches infrarouges multivues du territoire, ce qui s'avre trs intressant pour l'analyse dtaille du territoire
agricole et la traabilit gographique des cultures.

1010

1.2) Prsentation du projet Msonet Montral


1.2.1) Nature du projet
Msonet-Montral est un projet de recherche en mtorologie et dans les
domaines connexes, initi par le Regroupement HYMAP. Impuls notamment par la
runion du laboratoire GAAP et du Laboratoire de Mtorologie Physique et de
Tldtection de lUniversit Mac Gill, la constitution progressive du Msonet est
base sur le dveloppement d'un rseau de stations mtorologiques automatises
sur le territoire Qubcois. Celui ci est gr et entretenu par le Service
Mtorologique Canadien, qui est un organe du Ministre de l'Environnement
Canadien
Le terme Msonet, d'origine anglo-saxonne, rsulte de la contraction des mots
Meso-scale et Network , et dsigne ainsi un rseau tabli chelle mso.
C'est le cas du Msonet Montral, puisque celui-ci comporte 39 stations
mtorologiques proches les unes des autres (plus ou moins 30 km) et tablies dans
un rayon approximatif de 100 kilomtres au sud de Montral. C'est en Montrgie,
principale rgion agricole du Qubec, que le rseau prend place, et cette localisation
correspond par ailleurs avec le champ d'observation du radar mtorologique de
l'universit Mac Gill.
Les sites choisis et les installations faites permettent d'ores et dj aux diffrents
acteurs du projet de bnficier de relevs mto en temps rels, ce qui multiplie les
applications possibles. On peut aussi prconiser une expansion ventuelle du rle
que le Msonet-Montral pourra jouer. Par exemple, l'tude des prcipitations
hivernales et de la dtection du verglas ou encore les problmatiques lies la
qualit de l'air dans la grande rgion de Montral pourront bnficier des apports que
procurent les stations. Les intrts du projet sont donc multiples et le concept mme
de rseau agromtorologique est relativement nouveau en Amrique du Nord.
Notons toutefois lexistence de projets similaires aux tats-unis, dvelopp
notamment par les Universit du Texas et de l'Oklahoma. Ces Msonet sappuient
galement sur des rseaux de stations automatises, mais leurs objectifs restent
gnralement cantonns aux prvisions et la recherche en mtorologie ou en
physique atmosphrique. Ces rseaux diffusent linformation via par exemple des
applications Mapserver sur Internet, comme par exemple a lurl suivante :
http://www.mesonet.ou.edu/public/current.html.
Les Msonet amricains ont clairement insuffl l'ide du Msonet-Montral, mais
ce dernier se distingue par les applications envisages. Les activits communes du
Laboratoire GAAP et du Laboratoire de Mtorologie Physique et de Tldtection
constituent ainsi un rseaux de comptences pour mieux apprhender les alas
climatiques relativement extrmes au Qubec, ainsi que leurs impacts sur
l'agriculture et sur les l'environnement en gnral

1111

1.2.2) Aspects collaboratifs et financiers


Soutenu par le Ministre de lEnvironnement canadien ainsi que par le
Ministre des Ressources Naturelles du Qubec, le principal apport financier du
Msonet provient du Fond Canadien dinnovation, qui alloue respectivement
525 000$ canadiens la tldtection atmosphrique et un 550000$ canadiens
pour la gomatique agricole. Il sagit donc dun projet de recherche largement
favoris par des financements fdraux et provinciaux, dont les retombes vise
lensemble des acteurs de lagromtorologie, et lensemble de la communaut
agricole qubcoise plus long terme.
Les activits de recherche du Laboratoire relatives au Msonet sont aussi
troitement lies aux intrts de la Financire Agricole du Qubec, prsente plus
haut. Celle-ci nintervient pas financirement dans le projet Msonet mais a dj
collaborer avec le Laboratoire dans dautres projets, et est fortement susceptible
dtre intresse par les services agromtorologiques dont la mise en place est
prvue (Notamment vis--vis du potentiel du Msonet en tant quoutil de prvention
des intempries et de suivi des cultures).
Dautres collaborations permettent la mise en place et lentretient du rseau de
stations, notamment grce lengagement de municipalits et dagriculteurs
impliqus dans le projet. Cest en effet sur des territoires municipaux ainsi que sur
des parcelles agricoles prives que sont installes la majorit des stations. HYMAP
et le Laboratoire GAAP ont d par consquent solliciter lintrt des agriculteurs et
des dcideurs locaux, en menant divers sondages et phases de concertation
publique.
tant donn les nombreuses possibilits que les quipements du Msonet
peuvent procurer, un certains nombres de partenaires privs se sont galement joint
au projet. On notera par exemple les apports non ngligeables du groupe Hydro
Qubec (lquivalent qubcois dEDF-GDF) qui a investit quelques 200000 $, ou
encore ceux de la cooprative agricole DYNACO et du Consortium PRISME, dont la
part du financement reste inconnue.
C'est donc dans un contexte d'conomie mixte que se met progressivement en
place le rseau. Les principaux financements sont maintenant acquis et la plupart
des stations fonctionnelles. Cependant, lavenir du rseau est en question,
notamment vis--vis de son financement et de sa gestion. Il est possible que la
Financire Agricole reprenne la responsabilit du Msonet et llargisse en
implantant des stations supplmentaires. Cette hypothse pourrait donc dboucher
sur un changement de statut du rseau dans un avenir relativement proche, tout en
conservant les applications pour la recherche et
la collaboration avec
Environnement Canada.

1212

1.3) Prsentation de la mission


1.3.1) Sujet de stage
Le sujet du stage s'intitule dveloppement de services web gographiques
ddis la consultation et au traitement des donnes gospatiales et
agromtorologiques sur Internet . Cet nonc est directement reli aux besoins
immdiats du projet Msonet-Montral, et contient plusieurs concepts qu'il convient
d'expliquer avant d'entrer dans le vif du sujet.
La notion de service web (webservice) dsigne tout d'abord un ensemble de
protocoles et de normes utiliss pour changer des donnes entre des applications.
Des logiciels ou des sites Internet, crits dans divers langages de programmation et
sur diverses plateformes, peuvent en effet employer des services web pour
changer des donnes travers des rseaux informatiques comme Internet. Cette
interoprabilit est de l'utilisation de normes ouvertes dites libres . L'OSI
(Open Source Initiative) et le W3C (World Wide Web Consortium) sont les comits
de coordination responsables notamment de l'architecture et de la standardisation
des services web au niveau plantaire.
Dans le cas du Msonet, lobjectif est de rendre disponibles les donnes
mtorologiques dune zone donne, sur un site Internet cartographique et en
temps rel, via l'utilisation de services web. Le but des recherches menes pendant
le stage est donc de concevoir des services web gographiques, destins aux
chercheurs, aux agriculteurs et aux gestionnaires en agronomie et en agromtorologie. Moyennant une adhsion et une ventuelle participation financire,
tout agriculteur ou chercheur intress sera en mesure de consulter un ensemble
dinformations mtorologiques et hydrologiques relatives sa zone d'exploitation
ou de recherche, via le site Internet. La mise en place dun certain nombre dindices
de prvision et de planification agricole, dune interface de numrisation
fonctionnelle en ligne sont aussi envisags dans un avenir assez proche.
De manire concrte, la mission consiste laborer un site Internet
cartographique selon les normes tablies, en rponse des besoins de
consultation/gestion des utilisateurs. Cette tape du projet dans laquelle j'interviens
est ddie la publication de l'information gographique et agromtorologique
contenu dans les bases de donnes auprs du grand public. La cration de liens
entre le SIG du laboratoire et Internet induit la cration de services web
composante spatiale, capables de restituer les donnes en temps rel et sur
n'importe quel type de plateforme informatique.
Les analyses spatiales et le calcul dindices agromtorologiques tant en
cours de ralisation sur le SIG du Laboratoire, la ralisation du site Internet sest
avre indispensable pour rpondre aux besoins immdiats des utilisateurs en
terme de consultation des donnes. Le projet Msonet Montral se devait de
disposer dun site Internet accessible, et cest lune des raisons pour lesquelles jai
t engag comme stagiaire. Mme si toutes les fonctionnalits du projet ne sont
pas encore au point ou pleinement abouties, le travail ralis servira de base aux
dveloppements futurs, et sera enrichi dindices et de fonctionnalits
supplmentaires au fur et mesure de lavancement des recherches gomatiques
et algorithmiques.

1313

1.3.2) Mthodes de travail


Comme je lai dj voqu dans lintroduction, la priode de stage sest
organise en plusieurs tapes de travail, et mon intgration au projet Msonet a
impliqu diverses collaborations. J'ai bien sur communiqu avec l'ensemble de
l'quipe pluridisciplinaire travaillant sur les divers aspects du projet (notamment au
cours de runions ou d'ateliers spcifiques), mais des rapports privilgis ont ts
dvelopps au fur et mesure du stage.
Les aspects administratifs et pdagogiques de la mission ont ts assums
par le Docteur VIAU. La prise en main des bases de donnes spatiales et des
logiciels SIG s'est quant elle droule avec l'aide du gomaticien. Enfin,
l'installation de la station de travail ainsi que la majeure partie du travail de
dveloppement ont t effectues avec l'informaticien, en compagnie duquel j'ai
beaucoup appris.
Les deux premiers mois du stage ont t consacrs d'une part la
prsentation et la comprhension du projet, et d'autre part une phase de
prospection et d'apprentissage relative aux techniques de webmapping existantes
et aux outils disponibles. Cette priode de travail a notamment impliqu une srie
de test, savoir un essai avec le serveur cartographique Mapserver, quelques
manipulations sur Arc IMS, d'autres essais l'aide de la librairie de script opensource Goclient, ainsi que des bribes de dveloppement en SVG et ECMAScript.
Les 4 mois suivants ont ensuite t consacrs au dveloppement du SIG
web proprement parler, ce dernier ayant impliqu la conception et la mise en
oeuvre de diffrentes fonctions et de scripts pour atteindre les objectifs fixs. De
plus, certains temps forts de la phase de dveloppement ont t particulirement
formateurs, savoir premirement le dploiement de l'application SVG l'aide
d'Arc GIS 9, puis la mise en place de liens entre la base de donnes et le site
Internet. Celle-ci a notamment ncessit l'utilisation du langage PHP, lequel fait
largement appel aux concepts de la programmation oriente objet et aux
notionsd'hritage et de fonctions natives.
L'ensemble de la priode de dveloppement t trs volutive, comportant
impasses, obstacles et avances significatives. La mise en place du SIG en ligne a
t mene conjointement aux travaux de Richard Picard, lequel ma guid et
conseill maintes reprises. Nous avons en fait raliser chacun un site Internet, en
partageant et reprenant les mmes fonctionnalits, mais en empruntant des
mthodes et des designs diffrents. Il sest de son ct plus pench sur la mise en
place des fonctions PHP ainsi que sur lautomatisation des bases de donnes en
Perl, tandis que je me suis davantage intress au format SVG et ses interactions
avec lECMAScript. Jai aussi orient mes travaux vers la conformit du code
source, en insistant sur limportance du respect des normes du W3C pour optimiser
laccessibilit du SIG en ligne.
Mon site a finalement t mis en ligne sur un sous domaine du site officiel du
Msonet, car ce dernier relve de la responsabilit de linformaticien du laboratoire.
Le produit final de mon stage constitue donc une annexe au projet, mais maura
nanmoins permis de comprendre lensemble du moteur SIG et du systme
Internet (tout langages confondus). Cette vue densemble et la synthse du projet
gomatique permettent aujourdhui de proposer un exemple de site interactif et
oprationnel bas sur des technologies et des langages modernes
(http://www.mesonet-montreal.ca/cartonico).

1414

1.3.3) Outils privilgis


Afin de rpondre aux besoins d'interoprabilit et de portabilit de
l'application, le choix d'utiliser des solutions open source s'est rapidement avr
comme pertinent. Celui-ci a notamment t impuls par le Docteur VIAU, pour des
raisons conomiques et pratiques, puis approuv par l'informaticien et moi mme.
On peut aussi clairement percevoir par ce biais un choix thique, notamment quant
au refus du Directeur de dvelopper le site Internet via la solution ArcIMS de la
socit ESRI, dont le laboratoire possde pourtant la licence. La volont de ne pas
dpendre totalement d'outils commerciaux reprsente ainsi une avance
exprimentale pour la suite de ce projet. C'est aussi et surtout un moyen d'valuer
le potentiel des outils libres en matire de webmapping, dans le contexte de
monte en puissance de l'open source dans le domaine de la gomatique, et dans
les technologies informatiques en gnral.
L'avantage des solutions commerciales, outre leur rapidit de mise en
oeuvre et l'automatisation de certaines tches qu'ils procurent, rside dans le fait
qu'elles sont bien souvent accompagnes de services aprs-vente et de supports
techniques (lexemple du support technique par tlphone d'ESRI en est la
meilleure illustration). Ce n'est pas le cas pour les logiciels ou les langages libres,
lesquels sont en dveloppement constant et rsultent bien souvent du travail de
dveloppeurs bnvoles ou de communauts d'utilisateurs. Cela implique donc
premirement d'crire le code source de l'application dans son intgralit, et
deuximement de trouver des substituts de supports techniques.
Dans notre cas, les nombreux sites ddis au SVG et au PHP, et au
dveloppement web en gnral, ainsi que les forums de discussion ont t une
aide prcieuse. J'ai notamment communiqu plusieurs fois par courrier
lectronique avec Andras Neumann, auteur du site Cartonet, cartographes on
the web et spcialiste du SVG, afin de trouver des solutions aux obstacles
rencontrs. Le groupe de discussion Yahoo SVG developpers , auquel je me
suis inscrit a aussi t une source d'informations non ngligeable. Il est aussi
souligner que les recommandations SVG et ECMAScript du W3C ont t
consultes maintes reprises afin de produire un code propre et bien form.
Par ailleurs un certain nombre de fonctions open-source, surtout en ce qui
concerne le PHP et lECMAScript ont t rcupres sur Internet, provenant soit
de banques de scripts libres dutilisation soit de tutoriaux divers, puis adaptes
nos besoins de dveloppement. Les fonctions PHP tant la base du
fonctionnement des services web ont quant elles t dveloppes intgralement
par Richard Picard, puis reprises et adaptes aux besoins spcifiques de mon site
Internet.
Les outils logiciels libres utiliss pour la cration du site Internet, ont t
principalement EasyPHP et PHPMyAdmin (outils de dveloppement orients
serveur comprenant le serveur Apache, l'interprteur PHP et les outils de gestion
MySQL). Dautres outils open source ont aussi t utiliss par Richard Picard,
comme par exemple lIDE (Integrated Development Environnement) Komodo pour
la ralisation des fonctions Perl.
Enfin, l'intgralit du code a quant elle t rdige avec l'diteur Ultra-Edit,
lequel est dlivr sous licence GPL par la socit IDM. Bas sous un noyau opensource, cest un shareware trs apprciable pour le dveloppement de pages
HTML ou PHP.

1515

2) Le moteur SIG agromtorologique


2.1) Le rseau de stations
2.1.1) Localisation et caractristiques
L'installation dun rseau de stations mtorologiques requiert de grands
efforts de planification et de coordination au niveau technique et scientifique.
Une importante phase de concertation et l'intervention de plusieurs personnes
(chercheurs, experts, dcideurs, gestionnaires, techniciens) ont t des
facteurs ncessaires la slection de procdures optimales pour l'implantation
rapide et efficace des stations du Msonet-Montral.
Le rseau se compose de 35 stations distantes en moyenne de trente
kilomtres les unes des autres. Quinze dentre elles appartiennent lUniversit
Laval et les 20 autres sont la proprit de lUniversit Mac Gill, mais lensemble
du rseau est gr et entretenu par le Service Mtorologique du Ministre de
lEnvironnement Canadien.
Le principal objectif de recherche des stations de l'Universit Mac Gill
est de fournir des donnes mtorologiques ponctuelles permettant la validation
et la calibration du radar mtorologique de Sainte-Anne De Bellevue. Ces
stations ont t disperses intervalle rgulier de 25 Km dans la zone de
couverture du radar. Les sites sont gnralement tablis sur des terrains
municipaux.
Dans le cas des stations de l'Universit Laval, celles utilises par le
laboratoire, les objectifs de recherche sont davantage orients vers l'hydrologie,
la mtorologie et l'agromtorologie. Le bassin versant de la Rivire Des
Anglais, en Montrgie, a t choisi pour accueillir une plus grande concentration
de stations. Dans cette rgion, les stations y sont installes intervalle de 5 10
kilomtres. Les stations de l'Universit Laval sont localises en bordure de
champs, sur les proprits d'agriculteurs partenaires du regroupement.
Les stations occupent typiquement un terrain plat gazonn d'environ 15
par 25 mtres (50 par 75 pieds). L'quipement le plus haut est un mt basculant
de 10 m requis pour les donnes oliennes. Cette hauteur de mesure du vent
est tablie conformment aux normes de l'Organisation Mondiale de la
Mtorologie. Les instruments sont installs sur des bases distantes de 8
mtres. Chaque base est constitue d'un poteau d'aluminium de 3 pouces de
diamtre fix sur un pieu vis ou sur une base de bton (indpendamment du
type de sol rencontr).
Enfin, linstallation dune station reprsente un investissement denviron
50 000 $, comprenant lachat des instruments et leur mise en place, ainsi que les
frais induits par les travaux dexcavation et de mise a niveau du terrain.
Lentretient des stations ncessite quant a lui des cots variables, en fonction
des dgts matriels pouvant tre occasionns durant la priode hivernale et de
lusure gnrale des quipements. La fourniture de l'lectricit et du tlphone,
et la coupe rgulire du gazon durant l't et l'automne reprsentent quant a
elles des frais fixes inhrents au projet.

1616

2.1.2) Observations et automatisation


Chaque station regroupe un ensemble dinstruments de mesures, et
enregistre un certain nombre dobservations dont la nature peut varie en
fonction dune part de lenvironnement immdiat de la station et dautre part selon
les caractristiques culturales de la zone quelle recouvre. Les 35 stations ne
disposent pas systmatiquement des mmes capteurs ou instruments, mais elles
permettent toutes de mesurer au minimum la temprature, les prcipitations,
lhumidit relative et la vitesse du vent en des points donns.
Lensemble des instrumentations sont relies un systme dacquisition
des donnes (datalogger) par tranches souterraines, lequel est branch a un
modem tlphonique reli au rseau informatique dEnvironnement Canada. Le
Ministre rcupre les donnes du datalogger toutes les 5 minutes en moyenne
par lintermdiaire dInternet. Les donnes sont au format ASCII et diriges vers
un serveur FTP ministriel hautement scuris. Depuis ce serveur, elles
subissent ensuite un contrle qualit (utile la fois pour reprer les stations
dfectueuses et pour dterminer les mesures anormales ou non effectues). Les
donnes contrles sont ensuite mises la disposition des acteurs autoriss de
la mtorologie ou des disciplines connexes, tel est le cas du laboratoire GAAP.

Lexemple de la station mtorologique dAlfred (Ontario, Canada).

1717

2.2) Les bases de donnes


2.2.1) La base de donnes mtorologiques
Comme je lai prcis prcdemment, le laboratoire est autoris
tlcharger les donnes mto dEnvironnement Canada. Ces mesures tant
fortement volutives, le laboratoire doit les tlcharger plusieurs fois par jour, en
moyenne toutes les dix minutes, sil veut bnficier de donnes jour.
Cette tche ntant pas matriellement ralisable par le seul informaticien,
celui-ci a rcemment dvelopp un systme dacquisition automatique des
donnes. De complexes requtes en langage Perl (Practical Extraction and
Reporting Language), ont donc t mises en places sur le serveur du GAAP. Ce
langage puissant bas sur les langages C et Shell permet l'criture de scripts
CGI (Common Gateway Interface). Il est trs adapt pour la manipulation de
chanes de caractres et de fichiers. Les requtes Perl fonctionnent
paralllement lutilisation des commandes Unix Cron Tab et Batch File.
Grce cette boucle ralis par Richard Picard, le serveur GAAP va
donc rcuprer automatiquement les donnes mto sur le FTP
dEnvironnement Canada intervalles de temps rguliers. A la manire dune
commande ping, la requte vrifie laccessibilit au FTP ainsi que la prsence
de donnes, puis dclenche le transfert des donnes vers le serveur GAAP.
Cette routine dadministration seffectue six fois par heure, 24 heures sur 24 et
365 jours sur 365.
Les donnes sont acquises au format ASCII puis stockes dans une base
de donnes SQLServer hberge sur le serveur du laboratoire. Ntant pas
utilisables telles quelles, dautres routines Perl soccupent de convertir les
donnes aux formats dsirs. Dans le cas du projet Internet, cest au format XML
que la conversion seffectue, afin dune part de rpondre aux standards de
stockage et de diffusion en vigueur, et dautre part de disposer de donnes
relativement faciles intgrer au SIG en ligne.
En ce qui concerne lintgration des donnes dans le SIG du laboratoire, il
ny a pas de conversion de format. Les donnes ASCII sont directement
implmentes dans des bases de donnes, gnralement sous environnement
Microsoft Access. Tous les membres du laboratoire ayant accs au rseau, ils
peuvent alors slectionner les donnes dune station ou dun groupe de station
correspondant aux priodes auxquelles leurs diffrentes analyses sintressent. Il
ne leur reste ensuite plus qu intgrer localement les donnes dans le systme
de gestion de base donne de leur choix. La plupart des chercheurs utilisent
Access pour cette tache, mais il serait aussi parfaitement possible de le faire
avec des outils open-source, comme PostGreSQL par exemple.
Lvolutivit caractristiques des donnes mtorologiques rend ces
tlchargements automatiss obligatoires, et cela reprsente un volume trs
important de donnes stocker. Raliss manuellement de 2002 jusqu' Juillet
2005, le nombre denregistrement a dores et dj dpass le nombre de
100 000 000. Pour plus de facilit, les donnes sont archives par station au sein
de dossiers annuels, et de sous-dossiers mensuels. Il est alors simple de
retrouver les donnes dune station donne pour une priode donne.

1818

2.2.2) La base de donnes spatiales


La base de donnes spatiale relative au projet Msonet contient des
donnes de natures varies, correspondant aux divers besoins danalyse des
diffrents axes du projet.
Les donnes principales et de rfrence sont les fichiers vectoriels que le
laboratoire achte rgulirement au Ministre des Ressources Naturelles du
Qubec. Les fichiers de formes sont dlivrs sous la forme de couvertures Arc
Info, que le gomaticien convertit ensuite aux formats dsirs. Ils fournissent une
grande varit dinformations sur le territoire, quil sagisse de limites
administratives ou cadastrales, de parcellaires agricoles, de rseaux routiers ou
hydrographiques, de donnes altimtriques ou de tout autre objet prsent sur le
territoire et utiles aux analyses spatiales environnementales et la gestion de
territoire agricole par bassin versant.
Le Laboratoire acquiert aussi des fichiers rasters dlivrs par le mme
Ministre. Ceux-ci sont principalement des images provenant des satellites
Landsat, Spot, Radarstat ou Ikonos. De plus, lachat dortho-photographies
argentiques ou numriques vient enrichir la varit dinformations disponibles, et
permettent de disposer dune prcision accrue concernant le territoire qubcois,
et spcialement propos des zones agricoles de la Montrgie.
Comme il a t dit dans la prsentation du laboratoire, ce dernier acquiert
galement des ortho-photographies par ses propres moyens. Concernant le
projet Msonet, une campagne de vols aroports a t planifie de mars juin
puis effectue en juillet 2005. quip dune camra haute rsolution Dunkan
MS4100 et dun ordinateur portable spcialement conu pour tre embarqu a
bord de lavion, le laboratoire a donc photographi lensemble de la zone dtude,
selon diffrents rsolutions et laide de diffrents filtres tant placs devant
lobjectif. Ainsi, il dispose prsent d'images hyper-spectrales, infrarouges ou
proche infrarouges multi-vues de la Montrgie, quil utilise pour la tldtection
et la photo-interprtation. Lexemple le plus parlant tant un sous projet du projet
Msonet bas sur la caractrisation des pommiers et la dtection des carences
dans un basin versant contenant un grand nombre de vergers. Les images sont
utilises pour les analyses spatiales et agricoles, et soumises des filtres
didentification, le plus souvent dvelopps en langage C ou Fortran. De plus, les
images multi-vues rcemment acquises savrent bnfiques pour la ralisation
de modles numriques de terrains (MNT) trs prcis.
Une campagne de relevs GPS sur le terrain a aussi t mene, avec
laide de gomaticiens et darpenteurs contractuels que le laboratoire a
spcialement engag. Les relevs ont t acquis au format CSV (Coma
Separated Values) laide de GPS et dantennes portables, corriges, puis
implments dans le SIG l'aide des fonctionnalits GPS d'Arc GIS 9. Il s'agit
surtout de relevs caractrisant les parcelles agricoles, les stations
mtorologiques et les instruments du rseau Msonet.
Enfin, lensemble des donnes vectorielles et matricielles du laboratoire
sont administres par le gomaticien et stockes sur des disques durs
spcifiques, prenant lair dentrept de donnes gospatiales, tant le volume de
donnes est important. Les donnes du Msonet en font partie, et sont
accessibles par tous les membres du laboratoire, comme pour les donnes
mto. Ceux-ci les acheminent localement via le rseau et constituent diverses
geodatabases personnelles sur Arc Gis 9, en fonction de leurs besoins
danalyse.

1919

2.3) Structuration du SIG


2.3.1) Problmatiques agromtorologiques
A la fois outil de recherche pour le laboratoire GAAP et ses partenaires et
outil daide la dcision pour les agronomes et les agriculteurs, le Msonet est
un projet de gomatique environnementale volutif. Bas sur un modle de
gestion des donnes dfini, il est cependant ouvert sur de nombreuses
applications et propositions des diffrents acteurs concerns, ce qui le rend
flexible et adaptable.
Lide prdominante du projet, ou du moins lidal vers lequel les
recherches tendent, est celle de traabilit gographique des cultures .Le
concept de traabilit caractrise laptitude retracer l'historique, l'utilisation ou la
localisation d'une entit au moyen d'identifications enregistres. La traabilit
gographique permet donc didentifier et de suivre spatialement un produit
agricole depuis sa mise en terre jusqu' sa rcolte.
Lvolution biologique et le bien-tre des cultures tant intimement li aux
conditions mtorologiques, les donnes des stations du Msonet procurent des
informations prcieuses pour surveiller et prvoir ltat des champs cultivs.
Simples mesures mtorologiques ponctuelles ltat brut, elles prennent tout
leur sens et permettent dtablir diffrents calculs utiles la gestion lorsquelles
sont implmentes dans le SIG.
La problmatique spatiale rside dans lapplication de mesures
ponctuelles des entits surfaciques que sont les parcelles agricoles. Il sagit
donc dtre capable dinterpoler ou dextrapoler les donnes mto afin dtablir
scientifiquement des correspondances spatiales. Si chacune des parcelles est
caractrise spatialement comme entrant dans le rayon de reprsentativit des
mesures de telle ou telle station, il est alors possible de leur assigner les
donnes mto correspondantes.
2.3.2) Schma conceptuel de donnes
Le schma conceptuel de donnes prsent la page suivante procure
une vison densemble du SIG ddi au projet Msonet-Montral. Son objectif est
de proposer une organisation simplifie du fonctionnement du moteur SIG
agromtorologique, des bases de bases donnes jusqua lutilisation du SIG.
La ralisation du schma est base la fois sur le schma conceptuel de
donnes du laboratoire GAAP et sur les diffrents aspects propre au projet
Msonet, comme la base de donnes images ( BD ORTHO), la base de donnes
GPS ou encore linterface web. Il synthtise la comprhension du systme que
jai dvelopp au dbut de mon stage.
Il ne prend pas en compte le dtail des services Internet, qui font lobjet
dun schma prsent dans la partie 4, puisque ces derniers constituent lobjectif
majeur de la priode de stage.

2020

2121

2.3.3) Extrapolation/Interpolation des donnes mto


La mise en place de couples parcelles/stations reprsentatifs ncessite
la fois de prendre en compte les composantes spatiales du terrain (relief,
hydrologie, exposition, trous dairs, prsence de haies coupe-vent, microclimats
caractristiques), et galement les caractristiques culturales et
phytosanitaires des parcelles.
Ltablissement de zones tampons ou buffers identiques pour chaque
station et leur intersection ( intersect ) avec les parcelles environnantes ne
sont donc pas directement valables. Chaque station doit tre tudie
individuellement, afin de caractriser son environnement proche, et ainsi
dapprhender les volutions spatiales possibles des conditions mtorologiques
pour une surface donne.
Lextrapolation ou linterpolation des donnes mto selon les cas
permettent dapprocher la reprsentativit, qui reste forcment relative tant
donn la forte volutivit et la variabilit des donnes climatiques, hydriques ou
oliennes dans lespace et le temps. Cependant, la densit du rseau de station
nous permet daffirmer quil est possible dappliquer les donnes ponctuelles aux
entits polygonales, avec une marge derreur rduite.
Ce travail est en cours de ralisation et fait lobjet du sujet de thse du
doctorant Serge Olivier KOTCHI, avec lequel jai collabor plusieurs reprises
durant mon stage. La solution retenue pour lextrapolation/interpolation est celle
du kriegeage, qui sera ralis avec le logiciel Surfer 8.0. Ce dernier permet non
seulement dappliquer facilement une matrice lespace tudi, mais aussi de
prendre en compte automatiquement des facteurs comme le relief ou
lhydrographie dans lanalyse.
2.3.4) Calcul dindicateurs agricoles spatialiss : exemples
Une fois que chaque parcelle sera relie aux donnes de telles ou telles
stations, il sera alors possible dtablir des calculs partir des donnes
ponctuelles de base. Lobjectif est de mettre au point des indices agricoles
spatialiss, utiles la gestion des parcelles et la prvision des besoins des
cultures. Le calcul dindices permettant didentifier les carences ou les besoins en
eau est galement envisag dans les tapes futures du projet.
Ces travaux entrent galement dans le mandat de Serge Olivier KOTCHI,
qui utilisera probablement le logiciel MatLab pour arriver ses fins. La mise au
point de ses indices ncessitera dtablir des algorithmes complexes prenant en
compte les diffrents facteurs spatiaux et climatiques abords plus haut, puis de
les implmenter dans le SIG du laboratoire GAAP.
A titre dexemple, les premiers indices qui seront calculs seront lindice de
vgtation normalis (NDVI), lindice degr jours de croissance (DJR) ou encore
lindice dunit thermiques mas (UTM). Une fois tablis et implments dans le
SIG, ils permettront dtablir des cartographies volutives, trs utiles aux
agronomes et aux agriculteurs.

2222

3) Les SIG sur Internet : tat de l'art et standardisation


3.1) Prsentation de loutil Internet
3.1.1) Histoire et volutions
Internet est un rseau mondial dordinateurs relis entre eux via les lignes
tlphoniques, de la fibre optique, du cble GSM ou encore par des satellites.
Lide de la mise en place dun tel rseau plantaire remonte 1969, date
laquelle le rseau exprimental ARPANET fut cr par l'Advanced Research
Projects Agency (ARPA) au sein du Dpartement de la Dfense du
gouvernement fdral des tats-unis dAmrique. Ce rseau dorigine militaire
avait alors pour but de relier quatre instituts universitaires amricains et de
faciliter lchange dinformations confidentielles. Le rseau ARPANET est en fait
lanctre d'Internet.
Le dveloppement massif dInternet depuis la fin des annes 1980 est li
dune part la dmocratisation de linformatique et dautre part aux progrs
raliss dans le domaine des tlcommunications et des technologies
numriques. La naissance de protocoles et lapparition de nouveaux moyens
techniques, linstar des serveurs, des rooters et des modems, ont permis la
toile de sagrandir et dtre de plus en plus performante en terme dchange
de donnes et de rapidit de connexion.
Ancre dans nos modes de vie tel un besoin prconu au mme titre que
la tlvision numrique ou le tlphone cellulaire, Internet est un produit de
consommation de masse obissant aux lois du march. Le nombre doprateurs
et de fournisseurs de services Internet ne cesse daugmenter, et la forte
concurrence mne la baisse progressive des prix daccs, allant de pair avec
une augmentation croissante des dbits de connexion.
Bien plus quun simple moyen de communication, Internet tend devenir
omniprsent dans les socits dveloppes, de part sa croissance rapide et ses
avantages nombreux en terme de rapidit et de partage. De plus en plus utilis
pour le commerce et la publicit, il induit des bouleversements socitaux et
thiques importants, quil sagisse dhabitudes de consommation, de
tlchargements illicites ou encore de sites contenus illgaux ou mensongers.
Outil puissant et universel, lutilisation massive dInternet soulve
aujourdhui des questions relatives la justice, la scurit ou encore au respect
des droits dauteurs, qui influence de plus en plus les gouvernements agir en
terme de limitation des droits ou de rpression des crimes informatiques.
Malgr ses aspects nfastes, ou du moins les applications nuisibles quil
rend possible, le rseau Internet constitue un outil incontestablement pratique
pour lchange dinformation et de donnes numriques. Les services web et
linteractivit permettent des progrs normes, qui ont dores et dj des
applications dans la gomatique et les SIG, mais aussi dans ceux des systmes
dinformation, de la gestion, de la robotique et de lintelligence artificielle.

2323

3.1.2) Les protocoles Internet


Les ordinateurs connects Internet peuvent s'changer de l'information
grce au protocole TCP/IP et un ensemble de matriels spcifiques tels que la
carte rseau, le modem, le serveur et le rooter.
Un protocole est une mthode standard qui permet la communication entre
des processus (s'excutant ventuellement sur diffrentes machines), c'est-dire un ensemble de rgles et de procdures respecter pour mettre et recevoir
des donnes sur un rseau.
TCP/IP est en fait une suite de protocoles. Le sigle TCP/IP signifie
Transmission Control Protocol/Internet Protocol et reprsente d'une certaine
faon l'ensemble des rgles de communication sur Internet. Il se base sur la
notion adressage IP, c'est--dire le fait de fournir une adresse IP chaque
machine du rseau afin de pouvoir acheminer des paquets de donnes. Cest
ainsi que la communication est possible entre deux ou plusieurs ordinateurs
donns au milieu dun rseau de plusieurs millions de machines connectes.
Il existe de nombreux autres protocoles dont les plus connus sont HTTP
(Hyper Text Transfert Protocol), FTP (File Transfert protocole), DHCP (Dynamic
Host Configuration Protocol), ou encore SMTP (Simple Mail Transfert Protocole).
3.1.3) La relation client / serveur
Les diffrents services Internet comme World Wide Web fonctionnent
selon la relation client/serveur. Cela signifie quun logiciel serveur appropri doit
tre install sur un ordinateur hte, pour que celui-ci puisse proposer ses
services d'autres ordinateurs distants. Pour se faire, le logiciel serveur doit tre
constamment actif sur l'ordinateur hte, lequel doit tre connect Internet.
Lordinateur client peut galement disposer dun logiciel de protection (dit parefeu) qui empche ou restreint les accs venant des serveurs extrieurs.
Les Serveurs sont donc des programmes qui veillent en permanence
larrive de requtes concernant leurs services, depuis les ordinateurs clients.
Par exemple un serveur www attend des demandes d'appel de pages web qui
sont sauvegardes sur la machine offrant le service.
Les Clients sont des programmes logiciels qui rclament des donnes au
serveur. Les navigateurs Internet explorer, Firefox ou Safari sont des logiciels
clients par excellence. Si lon clique sur un lien qui conduit une adresse HTTP,
le navigateur lance alors une requte au Serveur correspondant. Le Serveur
value la demande et renvoie les donnes dsires. Cest le concept mme du
protocole http, qui rgie la communication client / serveur et le fonctionnements
des diffrents services web.

2424

3.1.5) LInternet pour la diffusion cartographique


La gomatique et des SIG ont toujours volus paralllement aux progrs
de linformatique, des technologies numriques et du dploiement dInternet.
Cest lorsquun SIG est tabli en rseau et quil est reli une connexion Internet
haut dbit quil prend tout son pouvoir. Il devient alors la fois un outil de
recherche et danalyse, et un mdia rendant possible la communication et la
publication de linformation gographique. Lutilisation frquente de rseaux
Intranet ou despaces ftp dans les entreprises ou les institutions tend faire
dInternet un outil privilgi de gouvernance et de standardisation, de plus en
plus utile aux dcideurs, aux gestionnaires de toutes sortes ainsi quaux
gouvernements locaux.
Le rle de la carte en tant quoutil universel dans un nombre grandissant
de domaines, permet la cartographie numrique sur Internet dvoluer
fortement. De plus en plus dacteurs et dinstitutions expriment le besoin de
diffuser et/ou partager linformation, quil sagisse aussi bien de thmatiques
relies lenvironnement, lamnagement, au cadastre, au calcul de
ditinraires, ou encore au gomarketing. Cest ainsi que les activits relies au
webmapping constituent une discipline gomatique de plus en plus prise et
volutive, alliant les savoir-faire du gomaticien (analyses spatiales,
connaissances mtiers, cartographie) et ceux de linformaticien dveloppeur
(base de donnes, rseaux, systmes, langages)
Bien plus que la simple diffusion de cartes descriptives, les nouvelles
technologies Internet permettent aujourdhui ldition de rels SIG en ligne. Il
sagit de reproduire les algorithmes couramment employs par les logiciels SIG
des fins danalyse spatiale et de calcul. Pour ce faire, il est ncessaire dopter
pour un type darchitecture et un mode de fonctionnement adapts aux besoins
du projet et des utilisateurs potentiels.
Dautre part, il est aussi possible de dvelopper des modules logiciels en
ligne, laide de langages objets tels que le Python, le C++, le Fortran ou encore
le Java. Les oprations courantes de conversion de format ou de projection, les
analyses spatiales simples, la numrisation ou encore les oprations de
smiologie graphique avances deviennent alors possibles en ligne, et peuvent
permettre daugmenter le rle et limpact dun SIG de manire significative.
Tout comme les sites Internet traditionnels, les SIG en ligne connaissent
par ailleurs une relative standardisation, initie notamment par lOpen Geospatial
Consortium (OGC) et le W3C. Lutilisation grandissante de la norme XML et des
langages drivs comme le SVG, le X3D ou encore le XHTML laisse penser que
la diffusion de linformation gographique doit obir des rgles pr-tablies, si
lon veut tendre vers des mthodes de stockage et de partage optimales. Ce
courant de pense ne se dveloppe cependant que timidement, face la
profusion des solutions commerciales de diffusion (serveurs cartographiques) et
la varit des langages web utiliss.

2525

3.2) Inventaire des techniques de webmapping existantes


3.2.1) Solutions statiques vs solutions dynamiques
Comme tout site Internet, une application cartographique en ligne peut tre
dynamique ou statique. Cependant, il existe plusieurs niveaux dinteractivit entre
une carte compltement fige et une cartographie dynamique interactive. Il
revient au gomaticien/dveloppeur (Est-ce dailleurs plus lgitime de le nommer
cartographe Internet, ou encore webmappeur?) de juger du niveau dinteractivit
ncessaire.
La carte statique dite morte repose le plus souvent sur lancestrale
fonction html usemap . Cette technique nest que peu recommande pour les
cartes contenant beaucoup dobjets, et est plutt longue mettre en uvre. Il
faut en effet dterminer lil nu, ou via des gnrateurs dimages map, les
coordonnes en pixels de chacun des lments que lon veut rendre interactifs,
c'est--dire cliquables. Notons toutefois que cette technique a t actualise
dans la recommandation du langage XHTML 1.0. Il est aussi possible et
recommandable dutiliser les feuilles de styles (CSS2) pour mapper une
image. Lesquels procureront un code plus clair et surtout plus conforme.
Dans le cas dune cartographie dynamique et interactive, la carte et les
donnes attributaires sont bien souvent gnres par un serveur la demande
de lutilisateur. Il est cependant possible de distinguer diffrents niveaux de
dynamisme. Une application est qualifie de dynamique si elle a recours
uniquement un serveur (cartographique ou non). Elle est dite semi dynamique
lorsquune partie de lintelligence est dporte du ct client, grce des
langages de programmation tel que le javascript ou le DHTML (HTML
dynamique).
3.2.2) Les serveurs cartographiques
Le recours aux serveurs cartographiques est aujourdhui de plus en plus
rpandu dans les applications de cartographie numrique. Ils reprsentent des
technologies serveur ddies la diffusion cartographique et viennent complter
les solutions serveurs traditionnelles dont les capacits sont souvent vites
limites en terme de cartographie et de lien aux bases de donnes spatiales.
Les principaux diteurs de logiciels SIG ont dores et dj dvelopp des
applications serveur dans leur gammes de produits commerciaux. Cest le cas
dESRI avec Arc IMS, dApic avec Apicweb, de Claritas avec MapExtreme ou
encore de Star Informatics avec la solution StarNext. Leurs principaux avantages
rsident dans la facilit de mise en uvre, leur volutivit et les mthodes de
mises a jour par exemple, ainsi que dans lautomatisation de certaines tches de
programmation. Ils permettent ainsi de gnrer rapidement un SIG en ligne et de
crer des pages HTML automatiquement, sans connaissances relles des
langages web.
Leurs inconvnients sont leurs prix levs, sajoutant au cot de la licence
du SIG de base, et bien sr des cots de rediffusion des donnes
gographiques. Notons aussi que les serveurs cartographiques commerciaux
produisent du code HTML souvent non conforme, ou tout simplement bas sur le
HTML 4.0, qui tend devenir un langage web obsolte.

2626

Par ailleurs, de plus en plus de serveurs cartographiques libres voient le


jour et sont couramment utiliss dans les projets gomatiques. Ces derniers sont
conus sur des noyaux open-source, dlivrs gnralement gratuitement sous
les principes de la Licence Publique Gnrale, et fonctionnant aussi bien sur des
plateformes Windows ou Linux.
Cest le cas par exemple du dsormais bien connu MapServer ou encore
du serveur cartographique Alov Map. Ceux-ci sont un peu moins simples
dinstallation et dutilisation, mais possdent les mmes fonctionnalits que les
solutions commerciales. Il faut cependant souvent dvelopper quelques habilits
de programmation pour paramtrer linterface graphique quils procurent.
Notons enfin que de plus en plus de serveurs cartographiques sont conus
sur la base de MapServer et du PHP, au travers dapplications commerciales ou
libres. Cest le cas par exemple du serveur CartoWeb, dvelopp par la socit
rhnalpine Camp2camp. Un trs bel exemple de ce que peut faire CartoWeb est
consultable sur le site de linventaire forestier national a cette url :
http://www.ifn.fr/spip/rubrique.php3?id_rubrique=67
3.2.3) Les formats vectoriels
Les deux formats vectoriels utiliss aujourdhui sont le Flash (.swf) et le
SVG (.svg). Conus initialement pour mettre ne place des animations graphiques
et sonores pour sites web, ces formats ont peu a peu intgrer les applications de
webmapping. Ils tendent prendre le dessus sur les langages GML (Geographic
Markup Language) et SVF (Simple Vector Language), dj anciens et de moins
en moins utiliss en cartographie numrique.
Le SVG est un standard XML (eXtented Markup Language) relativement
bien document et ouvert. Il tend concurrencer le format Flash (.swf) qui est un
langage propritaire dvelopp par la socit Macromdia. Cette dernire dtient
le monopole en matire de dynamisme web, dans la mesure ou la majorit des
applications dynamiques sont aujourdhui ralises avec le logiciel FlashMX. Il
est quand mme important de noter que Macromdia dveloppe prsentement
des outils permettant d'intgrer le SVG, rendant notamment la conversion Flash /
SVG possible. Cela dmontre bien le dveloppement important du SVG, ainsi
que la volont des diteurs de logiciels s'aligner de plus en plus sur les
solutions open-source.
Dautres formats vectoriels sont aussi utiliss pour diffuser de linformation
gographique, comme par exemple le GML (Geographic Markup Language).
Celui-ci est ddi au transport et au stockage des donnes spatiales, et
galement bas sur la norme XML. Bien que relativement peu utilis aujourdhui,
il est mis a jour rgulirement par lOGC, la version actuelle tant la 3.1.0.
Notons enfin le fort dveloppement des langages web en trois dimensions
(3D) dans les applications de webmapping, linstar du VRML (Virtual Reality
Modelling Language) et de son successeur, le langage X3D. Leur objectif est de
permettre la reprsentation d'univers 3D virtuels sur des sites Internet. Ces outils
tendent devenir de puissants medias pour les SIG 3D, permettant de publier
des modles numriques de terrain, des scnes urbaines ou rurales
gorfrences, ou encore des animations 3D en temps rel.

2727

3.3) Les standards libres de diffusion de linformation gographique


3.3.1) Le SVG, outil de reprsentation de contenu vectoriel en 2D
La norme ou format SVG (Scalable Vector Graphics), est le standard
Internet en vigueur pour la diffusion de contenu vectoriel en deux dimensions,
dfini par le World Wide Web Consortium (W3C), depuis le 14 Janvier 2003.
Pouvant tre aujourdhui considre comme une extension du Langage GML,
cette norme est en fait est ne du regroupement stratgique des principaux
acteurs du graphisme informatique intervenants sur le web linstar dAdobe,
Apple, AutoDesk, Corel, HP, IBM, Macromedia, Microsoft, Netscape, Sun
Microsystems, ou encore Xerox. Cela bien sr dans le but de garantir le
dveloppement de SVG a travers des produits commerciaux (larges possibilits
d'importation et d'exportation, dveloppement de viewers et de plug-ins).
Public et facilement ouvert sur les langages web tels que le javascript, le
XHTML et le PHP, le SVG simpose peu a peu dans la conception et la diffusion
de contenu dynamique sur Internet. Son dveloppement allant de paire avec la
diffusion croissante de pages web XML valides, il devrait logiquement permettre
une standardisation certaine dans la diffusion d'applications dynamiques sur le
web, et par consquent favoriser l'change des informations avec des temps de
chargements de plus en plus faibles (ces derniers tant encore assez long avec
la technologie Flash, indpendamment de la taille du fichier swf et de la vitesse
de connexion du poste client).
SVG est un langage de description dobjets bidimensionnels bas sur une
grammaire XML. Il admet trois types d'objets graphiques: des contours
graphiques vectoriels (lignes ou polylignes, droites ou courbes, rectangles,
cercles, polygones ou chemins (path)), des images et du texte. L'lment le plus
important est le chemin, qui permet le plus de possibilits graphiques. Il permet
de dessiner des lignes ou des polygones au moyen d'une liste de coordonnes.
La syntaxe est proche de celle utilise en PostScript ou en PDF car le chemin est
dessin avec des commandes comme "moveTo" ou "lineTo", auxquelles
s'ajoutent des courbes de Bziers cubiques et carres ainsi que des portions
d'ellipses.
Scalable veut dire adaptable, c'est--dire dont la rsolution ne se limite
pas une valeur fixe de pixels, dun point de vue graphique. Par rapport
Internet, adaptable signifie qu'une technologie donne peut s'tendre un grand
nombre de fichiers, un grand nombre d'utilisateurs, ou encore une grande
varit d'applications. SVG est adaptable dans les deux sens du mot. Les
graphiques SVG s'adaptent aux diffrentes rsolutions d'affichage pour, par
exemple, permettre qu'une sortie imprime utilise la pleine rsolution de
l'imprimante ou qu'une sortie cran puisse s'afficher avec la mme dimension sur
des crans ayant des rsolutions diffrentes. Ils sont adaptables parce qu'un
mme contenu SVG peut tre un graphique autonome, ou bien tre rfrenc ou
tre inclus dans d'autres graphiques SVG, ce qui permet ainsi la construction
d'une illustration complexe par couches ou calques .
Les viewers SVG fonctionnent selon une simulation de "l'algorithme des
peintres".Si deux calques se superposent, alors celui du dessus masque celui du
dessous, intgralement ou non dpendamment du degr de transparence dfinit.
Les objets jusqu' 2,5 dimensions (cest le cas par exemple des modles
numriques de terrain) peuvent tre reprsentes correctement par cet
algorithme et lordre daffichage des calques correspond l'ordre des objets
prsent dans le document SVG.

2828

Par ailleurs, le SVG ouvre de nouveaux horizons pour la diffusion de


l'information gographique et tend fournir des solutions nouvelles aux
cartographes et aux gomaticiens. Les avantages qu'il apporte, tant au niveau de
son adaptabilit aux autres standards Internet que de par son interoprabilit
entre les plateformes, laisse penser qu'il possde un fort potentiel et qu'il sera de
plus en plus appliqu pour mettre en place des SIG en ligne.
Tout comme le XML s'impose comme la norme officielle de diffusion des
mtadonnes gographiques, le SVG pourrait prendre le dessus pour la diffusion
des cartes dynamiques. Cette hypothtique progression ncessiterait bien sur le
dveloppement de logiciels SVG et d'extension SIG fonctionnels afin de rendre
l'emploi de ce langage accessible tous. C'est notamment grce son interface
graphique et sa facilit d'utilisation que le Flash s'est avr devenir une
rfrence chez les webmasters, ce qui n'est pas encore le cas du SVG. Si les
possibilits qu'il assure sont trs riches, il reste un langage Internet plutt abstrait
et ncessitant la connaissance des bases du XML. La ncessit de rdiger du
code pour mettre en place une application SVG est un facteur limitant pour sa
diffusion auprs du grand public.
ll est cependant possible d'mettre l'hypothse que le SVG sera de plus en
plus soutenu par les diteurs de SIG dans un avenir assez proche ( prenons par
exemple la collaboration entre ESRI et Adobe pour faire de SVG Builder une
extension fonctionnelle dArc GIS 9). Comme les formats Illustrator (.AI) et PDF,
le SVG est l'un des rares formats graphiques au format ASCII. L'affichage de
documents SVG sur le web ncessite donc linstallation du plug-in Adobe SVG
sur le poste client. Cependant, il est dores et dj possible de penser que les
versions futures des navigateurs tels quInternet Explorer ou Mozilla Firefox
intgreront directement cette fonctionnalit. Cest le cas de Firefox 1.1 qui sera
disponible trs prochainement.
SVG offre un haut niveau d'interactivit, permettant de dvelopper des
applications cartographiques part entire, totalement interconnectes avec des
outils de bases de donnes. SVG autorise une interaction importante entre les
lments de la carte et la page HTML, et permet par exemple d'afficher ou de
masquer certains objets ou groupes, de modifier dynamiquement le style, la
transparence ou la couleur, de se localiser sur un lieu donn une chelle
donne, d'afficher des labels, de rgir des vnements de souris (onMouseover,
onclick ) ou encore de se connecter sur des bases de donnes distantes.
C'est lorsqu'il est coupl avec d'autres standards que le SVG prend tout
son pouvoir et qu'il permet de dvelopper des pages Internet interactives de
qualit. Cest grce au langage PHP qu'il est possible de relier les objets du
document SVG avec des bases de donnes spatiales, via un systme de gestion
de bases de donnes relationnelles de type MySQL par exemple. Enfin, lun des
avantages incontestable de SVG est quil permet de saffranchir dun serveur
cartographique, et surtout de rpartir les oprations raliser du cot serveur et
celles envoyer du ct client

2929

3.3.3) Le PHP, lien entre la carte et la base de donnes


PHP (Hypertext Preprocessor) est un langage objet de scripts,
spcialement conu pour le dveloppement d'applications Internet. Il sintgre
facilement au HTML et constitue un langage s'excutant du cot serveur. Il se
distingue donc des langages s'excutant cot client (comme le DHTML ou le
Javascript par exemple). Le poste client ne reoit que le rsultat du script, sans
avoir accs au code source qui est l'origine du contenu affich.
C'est un langage CGI (Common Gateway Interface), au mme titre que le
Perl, le Soap ou le C. Cependant, il ne ncessite pas d'crire un programme
constitu de nombreuses lignes de commandes afin d'afficher une page HTML.
Le code PHP est inclus l'intrieur de la page HTML afin de raliser une action
dtermine. Le code est inclus entre des balises prdfinies qui permettent au
serveur web de passer en mode PHP. Le grand avantage de PHP est qu'il est
relativement simple mettre en oeuvre par un dbutant, mais offre galement
des fonctionnalits avances pour un dveloppeur expriment.
Trois composants sont ncessaires pour diffuser du PHP sur Internet : un
analyseur PHP (CGI), un serveur Internet et un navigateur Internet. Le serveur
web excute le PHP et le script PHP est accessible avec le navigateur web. Ces
oprations peuvent aussi tre menes en local, ce qui est pratique pour faire des
tests de dveloppement avant la mise en ligne. De plus il supporte de
nombreuses bases de donnes comme par exemple PostgreSQL, ODBC,
Informix, SQLite, IBM DB2, dBase, Oracle, Ingres,
Par ailleurs, le PHP s'adapte n'importe quel systme d'exploitation
(Windows, Linux, Machintosh...) ainsi qu diffrent type de serveur web
(Apache, Microsoft IIS...). De plus, il laisse galement le choix entre un mode de
programmation procdurale ou objet, ou encore un mlange des deux. Bien que
les applications orientes objet ne soient pas trs standard en PHP 4, beaucoup
de bibliothques (ou librairies PHP) ont t crites uniquement avec du code
orient objet.
Le potentiel de PHP va bien au del de la gnration dynamique de pages
HTML. Il peut aussi gnrer des images, des fichiers PDF, des animations SVG (
ou Flash),ou encore des documents XML la vole , c'est-- dire cres par le
serveur la demande du client, puis renvoys instantanment au navigateur
web. On retrouve donc PHP dans les applications Internet manipulant beaucoup
de contenu et/ou ncessitant des outils dinteractivit, comme par exemple les
SIG en ligne, les sites associatifs et collaboratifs, ou encore les sites
commerciaux (solutions e-commerce).
Enfin, qu'il soit installer manuellement ou automatiquement sous Windows,
Mac OSX, Linux ou autres ODBC, PHP ncessite un certain nombre de
bibliothques de fonctions pour pouvoir fonctionner a son plein potentiel.
Certaines sont directement intgres dans la dernire version de PHP, et
d'autres doivent tre tlcharger et ajouter au rpertoire du serveur web de la
plateforme de dveloppement.

3030

3.3.4) L'ECMA Script, agent d'interactivit avec l'utilisateur


ECMAScript est un langage de programmation Internet orient objet issu
des technologies Javascript et Jscript. Ce langage a t dvelopp par Netscape
en 1996, puis repris par Microsoft depuis Internet Explorer 3.0. Il correspond en
fait un effort de standardisation du javascript, qui est lun des langages les plus
utiliss dans les pages web. Il est particulirement adapt pour dynamiser les
documents SVG.
Cest un langage de script, c'est--dire un langage de programmation
permettant lautomatisation de certaines tches, la manipulation ou lamlioration
du fonctionnement dun systme. Javascript utilise certains outils des langages
objets, mais il nen est pas compltement un. Il ne propose pas exactement sur la
mme logique de dveloppement des objets notamment au niveau du concept
dhritage.
Le javascript est un langage pour le web qui permet de dynamiser les
pages HTML en interprtant les actions de linternaute, comme le clic, le survol
dun lien ou encore le clic droit. Le traitement du document ralis en javascript
ou en ECMA est ralis cot client, et cest pourquoi tous les navigateurs web
possdent un interprteur javascript. Il est possible de dsactiver ces
interprteurs via certaines commandes utilisateurs, ce qui remet dailleurs en
cause linteroprabilit du Javascript. Un des effets pervers de linterprtation
ct client est dobtenir des ractions diffrentes selon le navigateur
utilis,notamment avec Microsoft Internet Explorer qui propose sa propre version
de Javascript, le Jscript. Cest donc la varit des interprteurs et la certaine
souplesse du langage qui ont men la proposition de la norme ECMA 262, dont
le but est de standardiser les programmes crits en javascript.
Un langage objet est un langage de programmation qui propose un
ensemble de mthodes (fonctions) et de proprits gnralistes qui peuvent
sappliquer aux diffrents objets dfinis dans le langage. Il existe des classes
dobjets, qui hirarchisent les objets qui la constituent. Chaque objet hrite des
proprits et mthodes de lobjet parent. Cela n'est pas le cas en javascript et
c'est pourquoi c'est un langage orient objet, mais pas part entire comme
le C, le Java ou le Python.
Les objets javascript sont en fait des entits qui dcrivent les lments
contenus dans une page HTML (frame, formulaires, image ) ainsi que les
lments qui structurent cette page, comme le type de navigateur Internet par
exemple. Un objet javascript n'est pas instance d'une classe car il n'y a pas de
notion de typage, comme en C par exemple. Il est cre soit lors de sa premire
utilisation, soit lors d'une dclaration avec la commande var. Un objet est en fait
une structure comportant des champs pouvant tre des attributs ou des
fonctions. Un attribut contient une donne, pouvant tre soit un lment d'un type
de base (une chane de caractres, une valeur numrique, ...), soit un autre
objet. Une fonction est quant elle capable de prendre en compte des
paramtres et d'effectuer des oprations. La diffrence est que les fonctions sont
propres aux objets. Les donnes utilises par une fonction sont gnralement les
attributs de l'objet et non des variables quelconques du programme.
Un trs bel exemple dinteractivit obtenu par le javascript et bas sur une
cartographie simplifie est disponible cette adresse : http://www.routeindustriekultur.de/primaer/karte_e.htm

3131

4) Conception et dveloppement de lapplication cartographique


4.1) Conception de la carte interactive
4.1.1) Objectifs du projet Internet
La comprhension du moteur SIG agromtorologique, et limportant
travail dapprentissage des langages web mont permis de participer au projet de
dveloppement et de proposer mes ides. Les objectifs ont t clairs ds le
dbut de ma mission : Dvelopper un SIG en ligne performant et rendre possible
la consultation des donnes mtorologiques en temps rel.
La dcouverte de certains langages et du caractre infini et volutif
dInternet est cependant venue modeler le projet, tant par rapport aux tendances
de programmation actuelles, que par les normes, scripts et possibilits
techniques que Richard Picard et moi-mme avons dcouverts.
La mise au point de lchancier du projet a t propose par le Directeur,
que nous avons suivi linformaticien et moi-mme, en partageant nos ressources
et les taches accomplir. La priode de dveloppement correspond la dure
de mon stage et la mise en ligne du site sest faite peu avant mon dpart du
Qubec.
4.1.2) Dfinition des fonctionnalits dvelopper
Plusieurs runions de travail avec le Directeur, linformaticien, le
gomaticien et les autres membres de lquipe ont permis de planifier la phase
de dveloppement Internet. Cest sur un ton consultatif et participatif que sest
donc mis en place le programme de travail, bien que le choix de lopen-source ait
t pris pralablement par le Directeur, grce notamment aux capacits de veille
technologique de linformaticien.
Il a donc t admis de dvelopper lapplication selon la norme SVG. Le
premier point soulev fut de dvelopper les qualits de navigation fondamentales
dun SIG en ligne, savoir les fonctionnalits de zoom et de panoramique, ainsi
que le retour la vue dorigine. Il fut aussi propos dintgrer un degr
dinteractivit avec lutilisateur suffisant pour rendre le SIG attrayant, notamment
en proposant des temps de tlchargements les plus faibles possible.
La mise en place des services web a t planifie, en mettant laccent
dune part sur les paramtres indispensables diffuser (temprature,
prcipitations, vitesse du vent et humidit relative), et dautre part sur le choix de
la mthode de dveloppement. Les services web auraient pu tre mise en place
selon la norme WSDL du W3C, mais le PHP sest avr plus simple et rapide
mettre en uvre. Ce choix sest rvl comme une alternative au serveur
cartographique, et ils reprsentent un lien infaillible la base de donnes. Leur
dveloppement sest effectu progressivement et paralllement aux avances
ralises avec le SVG et lECMAScript.
Jai enfin propos au mi-dveloppement de doter le site dune architecture
conforme aux spcifications du W3C. Le code SVG que nous avions gnr
tant conforme, et les fonctions javascript de lapplication sapprochant de la
recommandation de lECMA, il ma paru indispensable de les intgrer dans un
site web conforme XHTML et CSS. Cette normalisation du code permet une
accessibilit optimale la carte et aux services web. Sa mise en place
reprsente par ailleurs une relle formation au web smantique, qui quoi quon
en dise reprsente lavenir dInternet.

3232

4.1.3) Schma conceptuel du dveloppement Internet

3333

4.2) Construction du fond cartographique


4.2.1) Conversion des shapefiles en fichiers SVG avec Arc GIS 9
La premire tape du dveloppement a consist en llaboration dun fond
cartographique pour lapplication, bas sur la norme SVG. Plusieurs tentatives
furent dabord menes avec le logiciel Arcview 3.2, pour convertir un shapefile en
fichier SVG. Les extensions SVGBuilder (version dessai dAdobe), toWKT
(extension open source du projet Goclient) et shp2svg (extension open source
du projet Cartonet) ont t testes. Les rsultats obtenus taient satisfaisants
mais le potentiel de rendu cartographique tant relativement limit sous Arcview,
il ne permettait pas de gnrer des cartes SVG de qualit suffisante pour le site
Internet.
Ce nest que lorsque la fonction native dexport SVG fut dcouverte sous
Arc GIS 9, que la confection du fond de carte a pris une autre tournure. La
dernire version dArc Map permet effectivement denregistrer directement un
shapefile ou une vue compose de plusieurs shapefiles, sous la forme dun
document SVG basique. Il suffit demprunter la fonction Export Map de
longlet File du menu principal et de choisir le format SVG. Cette manipulation est
illustre par la capture dcran la page suivante.
Les SVG gnrs par Arc GIS sont enregistrs en local sous la forme de
pages web possdant lextension .svg. Leurs codes sources sont tablis par
tuilage de limage (correspondant la vue dArc Map). Chacun des shapefiles
prsent dans la vue sont interprts sous forme de complexe code SVG et
empils selon lordre dans lequel ils ont t implments dans Arc Map. Tous
les SVG gnrs doivent appartenir la mme vue et obir au mme systme
de projection si lon veut que les objets des shapesfiles restent gorfrencs au
sein dun mme document SVG.
Le code produit par ESRI (dont des extraits sont prsents la page
suivante), sil apparat quelque peu indigeste la lecture (suites de caractres
abstrait que sont les chemins ou path SVG), reste conforme et surtout
exploitable depuis une page au format HTML ou PHP. Les polygones et les
points, ici le rseau de stations mtorologiques et les municipalits rgionales
de comt (MRC) correspondent en fait des groupes SVG. Ceux-ci sont euxmmes imbriqus au sein dlments group , defs et/ou svg qui
caractrisent le code en paragraphe. Les objets gographiques deviennent alors
des couches XML quil est possible de configurer en intervenant sur les
proprits de group , defs ou svg .
Le problme de la conversion des labels ou tiquettes des objets
gographique sest par ailleurs pos. Il est en effet dconseill dexporter une
vue comportant des objets tiquets, au risque de compliquer encore le code et
de ne pas pouvoir exploiter les groupes. Les labels ont donc t exports au
format SVG selon le mme modle que pour les polygones et les points. sous
forme de couches distinctes. Les fichiers SVG obtenus ne comportent que du
texte, mais sont issus de la mme vue. Ils possdent les mmes proprits et
donc des coordonnes en pixel adaptes a celles des polygones et des points.
Cette premire tape permet donc dautomatiser la cration des lments
SVG de base de la carte numrique, et de crer des documents svg conforme en
des temps record. Cependant, la comprhension du code est ncessaire pour
parvenir modifier lordre et le style des couches, ainsi que pour gnrer des
couches toponymiques.

3434

Export des shapefiles au format SVG sous Arc Map

Extrait du code SVG gnr par Arc Map

3535

4.2.2) Mise en page des fichiers SVG : Le viewbox


Une fois les fichiers SVG gnrs (mrc.svg et stations.svg), il a fallu
intervenir sur le code ESRI, afin dune part dintgrer les fonctions ncessaires a
linteractivit et dautre part de respecter une rsolution, une prsentation et une
charte graphique prdfinie.
Le dveloppement et lintgration des fonctions PHP et ECMAScript
stant droul ultrieurement, il sagissait dans un premier temps de dfinir une
prsentation gnrale pour lensemble de linterface utilisateur et pour la carte,
laquelle correspond au mode de navigation principal des futurs services web.
Le canevas SVG est un espace infini o s'affiche le contenu SVG, dfini
par la DTD (Document Type Definition) de SVG. Celle-ci correspond en fait au
modle de document au format SGML dcrivant la structure d'un document svg
conforme. Le "viewbox" SVG est quant a lui le rectangle visible lcran par
l'utilisateur. Il repose sur un systme de coordonns en pixel, dont lorigine se
situe en haut gauche du rectangle composant le viewbox.
Dans notre cas, la taille du viewbox gnr par Arc Map a t conserve.
Les proprits de notre fentre SVG sont donc width="532.48819" et
height="437.24409", auquel on a rajouter une bordure grise de 1.5 de large, soit
le code stroke:lightgrey; stroke-width:1.5". Tout objet dont la taille et ou la
position dpasse les limites du viewbox est tronqu.
La carte est positionne dans le document SVG selon les coordonnes
x="10" et y="50", c'est--dire a 10 pixels droite et 50 pixels en dessous de
lorigine du viewbox. Elle est accompagne dune barre de navigation, dune
lgende et dune carte de reprage appel overview .
La barre de navigation, dont le code source est prsent dans lannexe 5,
est un groupe SVG faisant appel des fonctions ECMAScript et PHP. Elle est
place au dessus de la carte, la manire dune barre doutil dun SIG Micro.
L overview est fix en haut droite du viewbox selon les coordonnes
x="565" et y="50" et les proprits width="120" et height="112". Il renseigne
quant au niveau de zoom et la localisation courante sur la carte. Il nest autre
quun rectangle SVG dans lequel on appelle le viewbox, celui sadaptant a la
taille lui tant impos. Cela est obtenu par le code suivant :
<!-- SVG OVERVIEW -->
<svg id="overview" x="565" y="50" width="120" height="112" viewBox="0
0 532.48819 437.24409">
<use xlink:href="#mrc"/>
<rect id="OverViewRect" onmousedown="startPanOM(evt)"
onmousemove="panOM (evt)" onmouseup="endPanOM(evt)"
onmouseout="endPanOM(evt)" x="2122588" y="871883"
width="8068898" height="7595814"
style="fill:limegreen;opacity:0.2"/>
</svg>
Enfin, la lgende est prsente droite de la carte, et simplifie au
maximum. Elle se divise en deux blocs : Les couches de bases (MRC et stations)
et les couches thmatiques (temprature, humidit relative, vitesse du vent et
prcipitations) Les fonctions permettant dappeler les couches XML sont
abordes plus loin

3636

4.2.3) Design de la carte : lments de graphisme SVG


Afin de rendre la carte plus attrayante et le design du site plus esthtique,
le document mapmesonet.svg a subit des modifications de style. La charte
graphique du site est base sur une ambiance claire ou la couleur blanche
domine largement, ainsi que sur trois couleurs de polices (vert, orange et noir).
Lobjectif fut alors dadapter le style du SVG celui impos par lensemble du
site. Il a donc fallu intervenir sur les proprits de groupe, en changeant les
couleurs selon lencodage du document (codes couleurs hexadcimaux ou noms
SVG), en harmonisant la taille des polices de caractre et en veillant gnrer
des styles rpondant aux critres de la charte graphique pour lesquels javais
opt au pralable.
Lapparence mme des objets gographiques a t modifie. Par
exemple, les symboles des stations (triangles) gnrs par Arc Map ont ts
manuellement remplacs par des cercles, auxquels on a ajout un dgrad
radial. Cette manipulation est dcrite par le code suivant :
<g font-family="'ESRI Default Marker'" font-size="1" kerning="0" fontweight="400"
fill="url(#grad-circ)" clip-path="url(#SVG_CP_1)" xml:space='preserve'>
<circle cx="203.33416" cy="390.70597" r="3.0"/>
Les polygones ont galement t dots de dgrads radiaux afin de
donner plus de consistance aux municipalits rgionales de comt. La nature du
dgrad est en fait dfinie dans une fonction native SVG dfinie dans lentte du
document, que lon assigne au groupe contenant les polygones.
Le code suivant prsente les dgrads utiliss pour le remplissage des
points et des polygones, dont les identifiants sont appels par la commande
fill="url(#nom du dgrad)" dans les proprits de groupe.
<radialGradient id="grad-circ">
<stop offset="2%" stop-color="white" />
<stop offset="90%" stop-color="forestgreen" />
</radialGradient>
<radialGradient id="gradpoly">
<stop offset="2%" stop-color="white" />
<stop offset="90%" stop-color="palegoldenrod" />
</radialGradient>
Par ailleurs, le design de la barre de navigation repose quant lui sur des
images au format PNG. Celles-ci ont t cres avec le logiciel Gimp, qui est
lanalogue open-source du logiciel de traitement dimage Adobe Photoshop. On
appelle ces images dans le script SVG avec une commande xlink, comme dans
cet exemple du bouton Zoom out :
<image id="minus" x="15" y="11" width="17" height="18"
xlink:href="images/moins.png"/>
Ces aspects purement graphiques peuvent sans doute paratre
secondaires pour un gomaticien non initi au web. Ils restent cependant
primordiaux pour le dveloppeur de SIG en ligne, aussi importants que la
smiologie graphique lest pour le cartographe. Le trafic et le succs dun site
Internet (cartographique ou non) passe en majeure partie par un design clair et
harmonieux.

3737

4.2.4) Mise en forme de limage Landsat quegaap.tiff


Lobjectif premier de cette tape du travail fut de rpondre des besoins
de lisibilit et de clart de la carte interactive. Disposant de limage Landsat au
laboratoire, lquipe a trouv intressant de lintgrer linterface cartographique
du site internet. Celle-ci procure en effet une prcision accrue la carte rgionale
et possde des qualits graphiques certaines.
Limage satellitaire au format TIFF couvre un vaste domaine selon une
forme rectangulaire, et jai donc entrepris de la dcouper. En dentre termes, il
sagissait de traiter limage pour quelle se superpose exactement la forme du
shapefile (converti en SVG pour lapplication), et donc la zone dtude du
Msonet. Cet exercice de style a permis dobtenir une information claire et vite
surtout que limage remplisse lintgralit du viewbox en masquant les limites
territoriales.
Le travail sest droul sur le logiciel Arc Info, ce qui ma permis dune part
de dcouvrir ce logiciel SIG surpuissant et surtout daborder les bases du
langage commande dvelopp par ESRI, depuis une vingtaine dannes
maintenant.
Lopration a consist en la cration dune couverture polygonale sur
limage satellite partir du shapefile des MRC, puis au dcoupage du TIFF selon
les nouvelles limites cres. Le meilleur moyen dillustrer cette manipulation
relativement technique est de prsenter les commandes utilises comme suit :
- Initialisation de Arc Info :
Command prompt :>arc
- Conversion de mrc.shp en couverture Arc info :
shapearc <in_shapefile> <out_cover>
- Construction de la topologie linaire:
build mrc arc
- Initialisation de Arc Edit :
ARC :> ae
- Edition de la couverture des MRC nouvellement cre :
AE :> edit mrc
AE :> display 9999
(fentre de visualisation)
AE :> ef arc
(dition des arcs)
AE :> de arc
(affichage des arcs)
AE :> draw
(affichage)
- Slection des arcs utiles :
AE :> select many
AE :> put mrc_global
AE :> edit mrc_global
AE :> ef arc
AE :> select all
AE :> unsplit none
AE :> save
AE :> quit

(slection des arcs de la zone)


(copie dans une nouvelle couverture)
(slection de tous les arcs)
(suppression des pseudo nuds)

3838

Une fois cette slection sauvegarde dans la nouvelle couverture, il ne


restait alors plus qu construire la topologie polygonale via la commande ARC :>
build mrc_global poly. Le dcoupage du TIFF sest quant lui droul laide du
module GRID de Arc Info, selon la manipulation suivante :
- Implmentation de limage :
image <quegaap.tiff composite 1 2 3>

(dclaration domaine RVB)

- Conversion du TIFF en grid :


ARC :> imagegrid <in_image> <out_stack>

(cration de trois bandes)

- Initialisation du module GRID:


ARC:> grid
- Dcoupage du grid avec la couverture polygonale (rpt pour chaque bande)
GRID :> gridclip <in grid> <out_stack (bande 1, 2, 3)> cover <path>
- Cration dun stack (pile des trois bandes cres par image grid) :
GRID :>makestack <stack> list <grid(bande1)> <grid(bande2)>
<grid(bande3)>
GRID:>save
GRID:>quit
- Conversion du nouveau grid en image TIFF:
ARC:> gridimage <stack>nominal tuile tiff

Lenvironnement Arc Info utilis pour limage quegaap.tiff

3939

4.3) Constitution dune bibliothque de fonctions ECMAScript


4.3.1) La compatibilit du SVG avec ECMAScript
Les fonctions interactives intgres du viewer SVG sont le zoom, le
pan(oramique), le retour la vue initiale et le lissage (anti-aliasing). Le plug-in
d'Adobe comporte galement une fonction complmentaire de recherche de
texte, dactivation/dsactivation du lissage, de copie et d'affichage du codesource. Il est donc possible d'affecter ces fonctions des touches (raccourcis
clavier), en tenant compte des autres vnements simultans, ce qui peut tre
utile dans une application cartographique.
Le SVG reconnat trois catgories d'vnement : les vnements de
souris, des vnements de clavier, et les changements d'tat (tat du
chargement et de l'affichage du fichier SVG). Tous les vnements peuvent tre
combins entre eux et les possibilits sont donc trs tendues. Les vnements
complexes sont labors en combinant des scripts aux objets SVG. Avec
ECMAScript, le dveloppeur peut accder tous les lments du DOM (SVG et
navigateur) de lapplication. Il est donc possible de relier les objets de la carte
des fichiers javascript, placs la racine du serveur.

4.3.2) Les fonctions Zoom et Pan


Elles reprsentent les fonctions les plus lmentaires dun SIG en ligne et
permettent lutilisateur de changer dchelle de visualisation et de se dplacer
sure la carte. Dans le cas du site du Msonet, ces fonctionnalits ont ts
dvelopps sur la base de celles offertes par la librairie open-source Cartonet.
La fonction de zoom repose dans le fichier zoom.js, que lon appelle dans
le SVG avec la commande <script type="text/javascript" xlink:href="zoom.js"/>.
La fonction est base sur la dclaration de trois types (minus, plus et defaultview)
qui correspondent aux actions de zoom in , zoom out et de retour a la vue
initiale. En fonction du type (donc du bouton sur lequel lutilisateur clique), le
viewbox est recalcul selon vingt degrs de zoom diffrents. Tout les groupes
SVG sont donc agrandis ou rapetisss simultanment, ce qui permet de zoomer
sur une partie de territoire ou sur une station en conservant les distances et le
go rfrencement des objets. Le code source de cette fonction est prsent
dans lannexe 6 la page 62.
La fonction de panoramique repose quant elle dans le fichier pan.js,
appel de la mme manire que zoom.js. Elle aussi base sur des types
correspondant aux diffrentes directions possible pour le panoramique, la
fonction recalcule le viewbox selon les coordonnes x et y courantes a lcran et
le cas choisi, et provoque le changement daffichage directionnel. Elle gre aussi
la localisation du viewbox courant dans la fentre de loverview, compltant ainsi
la fonction overView. Le code source de cette fonction est prsent dans
lannexe 7 la page 63.
La comprhension des deux fonctions est appuye par la prsentation de
leur code source dans les annexes 6 et 7, mais aussi par le code de la barre de
navigation prsent en annexe 8. Celui-ci montre comment les fonctions
Javascript sont intgres au SVG, notamment avec les commandes onclick,
onmouseover, onmouseup ou onmouseout.

4040

4.3.3) Le fichier getdata.js


Ce fichier se compose dun ensemble de cinq fonctions Javascript sur
lesquelles est bas lappel dynamique des couches XML. Elles sont donc
lorigine du fonctionnement des services web. Elles constituent linteractivit de la
lgende en proposant divers choix a lutilisateur, lesquels sont interprts puis
utiliss pour extraire les informations dsires dans la base de donne SQL
server , via des requtes PHP.
La fonction getData fonctionne selon ltat de cases cocher ou
chekbox . Si la case est coche (cest--dire clique), alors la fonction appelle
les donnes ou le fichier relis a linformation (ou la couche) dsire. Si la case
est dcoche, alors aucune information nest appele.
La fonction getData appelle uniquement un document XML prsent la
racine du serveur. Cest le cas par exemple de limage Landsat, qui a t
convertie en SVG par Arc Map, puis enregistre dans un document XML de
base. Elle possde les mmes proprits SVG que la carte et sadapte donc
parfaitement a lensemble, par simple appel de lutilisateur.
Le dclanchement de la requte vers le serveur GAAP est assur par la
fonction request, contenant les commandes getUrl qui sont appliques a la carte
et a la lgende, et qui rfrent aux deux fonctions suivantes.
Les fonctions callbackMap et callbackLegend soccupent de convertir
linformation demande au format XML, et assure la mise au jour automatique de
la carte et de la lgende lorsquune couche est appele. Enfin, les fonctions
statusChange et loadingBG viennent complmenter et ordonner le dynamisme
gnr.
4.3.4) Le fichier gaap.js
Ce fichier se compose de quatre autres fonctions javascript ncessaires au
fonctionnement des services web. Il comporte les fonctions getFile et parseFile,
qui fonctionnent toutes deux grce aux fonctions vnementielles Highlight et
Unhighlight.
En effet, la fonction getFile utilise le mme modle que la fonction getData,
selon lequel le choix de lutilisateur est interprt en fonction de ltat de cases
cocher ou chekbox . La diffrence est que la fonction getFile appelle un fichier
de scripts, et nom un simple document XML comme le fait la fonction getData.
GetFile est ainsi utilise pour tout les services ncessitant des requtes
pour accder la base de donnes, et qui impliquent par consquent des scripts
PHP. La fonction a besoin de trois critres pour tre effective, selon le modle
vnement, couche, url (evt, layer, url), et identifie le champs vis de la base
de donnes par la fonction getElementbyID.
Par exemple, pour le cas du service web permettant dappeler les donnes
de tempratures, la syntaxe suivante est utilise :
<g id="checkbox7" transform="translate(5,35)">
<a><rect x="0" y="0" height="15" width="15" onclick="getFile
(evt,'Temperature','Temperature.php')" fill="white" stroke="url
(#bgbutton)" stroke-width="1.5"/></a>
<text x="20" y="12" font-size="10" fill="black">Temprature (C)</text>
</g>

4141

4.3.5) Le fichier getwidget.js


Ce fichier se compose de deux fonctions Javascript qui rgissent le
fonctionnement du widget , ou pop-up informatif. Celui-ci permet de visualiser
les donnes propre a chaque station, en cliquant sur le son nom lorsquil a t
appel sur la carte. Cest une prsentation des donnes complmentaire
linterface cartographique qui fonctionne aussi selon le principe de service web.
La fonction getWidget est fonde sur la position du curseur de lutilisateur.
Le widget apparat lorsque le nom le toponyme de station est cliqu (onclick)
et disparat quand le nom est cliqu de nouveau. La fonction parseWidget rend
lexcution lvnement javascript possible en convertissant les donnes du
widget en enfants et nuds XML.
De plus, linteractivit assigne aux toponymes est renforce par la
fonction toolTip, dveloppe dans un autre fichier. Celle-ci permet dobtenir un
vnement supplmentaire appel communment bulle dinformation. En effet,
lorsque le curseur de la souris survole une station (onmouseover), une infobulle
apparat pour prciser lutilisateur quil doit cliquer sur le toponyme pour activer
ou dsactiver le widget .
4.3.6) Les autres fonctions javascript
Dautres fonctions javascript ont t dveloppes ou reprises
dapplications existantes, pour assurer le fonctionnement global de lapplication
cartographique, mais lobjectif nest pas ici de toutes les prsenter. Notons
toutefois limportance des fonctions parseXML et parseWidget qui convertissent
les rsultats du PHP au format XML, sans quoi les donnes renvoyes par le
serveur ne seraient pas interprtables dans le document SVG.
Signalons aussi quil aurait t parfaitement possible de renforcer
linteractivit entre la carte et linternaute, via des scripts javascript
supplmentaires. Il aurait t par exemple intressant dassigner des
commandes onmouseover et onmouseout aux polygones de la carte, afin que
ceux-ci silluminent ou change de couleurs lors du passage de la souris. Cette
fonctionnalit est souvent native sur les serveurs cartographiques, mais il est
aussi possible de lobtenir par linteraction du SVG et du javascript.
Un des manques de lapplication est aussi laffichage dynamique des
coordonnes spatiales en fonction de la position du curseur. Cette fonctionnalit,
galement native sur les serveurs cartographiques, aurait pu voir le jour mais des
problmes techniques se sont poss. En effet, la fonction ECMA getCoord,
dcouverte sur le site Pilat Informative Educative, permet cette manipulation.
Base sur les fonctions getClient(x) et getClient(y), elle procure cependant la
position du curseur selon le systme de coordonnes en pixel du viewbox, et non
en coordonnes gographique. Aprs plusieurs tentatives infructueuses, la
dcision fut prise de laisser de cot cette fonctionnalit, la mthode de
conversion des coordonnes nayant pas t trouve.
Enfin, dautres choix plus anims auraient pu tre faits, notamment
concernant laffichage et le fonctionnement du widget . Il aurait t par
exemple possible de le rendre dplaable par lutilisateur, pour viter de masquer
systmatiquement la lgende de la carte. Il aurait aussi pu facilement prsenter
du texte anim, ou dfilant. Le dveloppement du site ne sest pas spcialement
attard sur ce type de fonctionnalits, la priorit tant driger les services web et
de rendre les donnes consultables.

4242

4.4) Liaison la base de donnes MySQL


4.4.1) Connexion du SVG a la base de donnes MySQL
Nous abordons ici de manire concrte le lien entre linterface
cartographique et la base de donnes contenant les donnes mtorologiques
volutives. Cette liaison est possible grce au langage CGI que constitue le PHP,
et reprsente le cot serveur de lapplication cartographique. Si lECMAScript
permet didentifier la demande de lutilisateur, de gnrer des actions et de
convertir les donnes comme il a t vu prcdemment, cest le PHP qui va
chercher les donnes dans la base MySQL par lintermdiaire du serveur Apache
et qui les renvoie du cot client, au sein du document SVG.
Les fichiers PHP sont stocks la racine du serveur et appels soit au
sein des scripts javascript, soit intgrs directement dans le SVG dans certains
cas. Dans les deux cas, ils doivent tre crit selon les rgles de syntaxe du PHP
et ncessite une connexion la base de donnes en question.
La connexion MySQL se fait simplement par le code suivant, ou mesonet
est le nom de la base de donne, et o nbozon et webmapp correspondent
mon nom dutilisateur et mon mot de passe sur le serveur ddi au projet.
<?php
$conn = odbc_connect('mesonet','nbozon','webmapp');
?>
4.4.2) Appel des valeurs sur la carte : lexemple de la temprature
Cest le premier service web qui a t dvelopp, pour tre ensuite
appliqu aux autres mesures disponibles selon la mme mthode. Il sagissait
alors de rdiger une suite dinstructions permettant daller chercher les donnes
les plus rcentes du champ temprature de la base de donnes, pour une station
prcise.
Le PHP doit tre capable dune part de trouver et de renvoyer linformation,
mais aussi dcrire les rsultats sous forme de code SVG. Pour cela, il faut
dclarer lopration dcriture du XML selon lencodage choisi dans lentte du
document PHP, par le code suivant :
<?
header("Content-type: image/svg+xml");
print('<?xml version="1.0" encoding="utf-8" standalone="no"?>');
?>
Lopration de recherche dans la base se fait ensuite avec le code suivant,
lequel a t rpt pour chacune des stations. Il prend en compte lidentifiant de
la station (ici 5 dans cet exemple de la station Saint-Anicet), lidentifiant de la
mesure (ici 112 pour la temprature) et la date de capture (heure et date de
mesure).
$query_stAnicet= odbc_exec($conn,"SELECT Valeur FROM Tampon
WHERE NbrStation=5 AND CodeMesure =112 AND DateCapture >
(getutcdate()- 0.9) ORDER BY DateCapture DESC");

4343

Afin que le PHP crive le SVG par la commande print xml, il est ncessaire
dinclure directement du code SVG dans le fichier PHP. Ceci apparat trs
clairement dans lannexe 9 qui prsente le code source du fichier
temperature.php. Conservons lexemple de la station Saint-Anicet, pour
dmontrer comme le SVG est imbriquable, ici avec du PHP et du Javascript. Les
balises SVG text et a dfinissent la position et les proprits du texte afficher,
et le rende cliquable, la balise javascript onmousemove appelle linfobulle au
passage de la souris, tandis que la boucle PHP if echo else affiche les valeurs de
temprature. Si la donne nest pas disponible dans la base, le message no
data apparat.

<g id="Temperature">
<g font-family="'Arial'" font-size="1" kerning="0" font-weight="400"
fill="red" clip-path="url(#SVG_CP_1)" onmouseout="toolTip(evt)"
xml:space='preserve'>
<a
xlink:href="http://mesolindev.gaap.ulaval.ca/prevision/prevision.php?id=5"
target="_blank">
<text transform="matrix(7.91744 0 0 7.91972 210.2919
382.06792)"><tspan x="0 0.66686 0.93966 1.27309 1.93995 2.51588
2.72806 3.24336 3.81928 4.09209 4.36489 "
onmousemove="toolTip(evt,'St-Anicet Lat: 45.1208 Long: -74.2895
Elevation: 47.6 metres')">
<?php
if(odbc_fetch_row($query_stAnicet)){$temp=odbc_result($query_stAnicet
,1);echo "$temp";}else{$temp="no data";echo "$temp";}?>
</tspan></text>
</a>
</g>
</g>

4444

4.4.3) Appel des donnes dans le widget : le fichier prevision.php


Le widget constitue un complment dinformation la carte et
synthtise les donnes de la station clique. Cest un objet SVG obtenu par un
vnement javascript et faisant appel a des requtes PHP. Son affichage
(position et style) est standardis pour les 39 stations, grce au SVG quil faut
encore une fois inclure dans le fichier PHP. Le code source de ce fichier est
prsents dans lannexe 10, la page 65.
Les 39 cas pouvant tre rencontr doivent tre dclars avec la balise
PHP case selon la syntaxe suivante, pour que lanalyseur PHP puisse interprter
la demande de lutilisateur :
case "1" :
$stationID="1"; break;
case "2" :
$stationID="2"; break;
case "3" :
$stationID="3"; break; ..
On appelle ensuite toutes les valeurs de la base de donnes que lon veut
faire apparatre sur le widget , par des requtes (ici, le code va chercher les
donnes dans les champs latitude et longitude de la base de donnes) :
$query_lat= odbc_exec($conn,"SELECT Latitude FROM description WHERE
NbrStation=$id");
$query_long= odbc_exec($conn,"SELECT Longitude FROM description WHERE
NbrStation=$id");
Les mmes requtes sont ensuite rpts pour les diffrents champs de la
base de donnes, savoir le propritaire de la station, laltitude, la temprature,
lhumidit relative, la pointe de vent, la vitesse moyenne du vent et le niveau des
prcipitations. Lheure et la date de mesure apparaissent galement laide du
code : <? print (strftime("%Y-%m-%d, %H:%M:%S")); ?>.
Comme pour la carte, on assemble enfin des commandes SVG text et des
requtes PHP if echo else, pour chacune des informations publier. Pour la
longitude et la latitude, le code correspondant est le suivant :
<text id="latitude" font-family="'Arial'" font-size="11" fill="limegreen" x="85" y="85">
<?php if(odbc_fetch_row($query_lat)){$lat=odbc_result($query_lat,1);echo
"$lat";}else{$lat="no data";echo "$lat";}?>
</text>
<text id="longitude" font-family="'Arial'" font-size="11" fill="limegreen" x="85"
y="105">
<?php if(odbc_fetch_row($query_long)){$long=odbc_result($query_long,1);echo
"$long";}else{$long="no data";echo "$long";}?>
</text>

4545

4.5) Dveloppement de l'interface de numrisation


4.5.1) De la vue rgionale au plan de ferme
Le dveloppement de linterface de numrisation sest droul une fois que
lintgralit des services Internet taient rdigs et fonctionnels. Ce travail
reprsente un test et nest pas propos sur la version officielle du site du
Msonet. Jai tout de mme tenu la prsenter car elle procure des
fonctionnalits avances au SIG en ligne, et est utile pour juger du potentiel du
SVG en matire de numrisation en ligne.
Des besoins de numrisation pourraient apparatre chez les utilisateurs,
dpendamment de lavenir du rseau. Ce sera le cas si la Financire Agricole
reprend le projet et lutilise pour ses travaux relatifs la gestion des parcelles et
la prvision des intempries. Cest dans la perspective dventuellement
rpondre un jour ses besoins non encore effectifs, mais aussi dans lobjectif de
tester les possibilits du SVG, que cette exprience a t initie par
linformaticien.
Le code source de cette application constitue une complexe interaction
entre des documents SVG, des fonctions PHP et une multitude de fonctions
ECMA. Il est issu du site Pilat informative Educative, ddi au SVG et a la
cartographie sur Internet. Ce dernier propose en effet au tlchargement un outil
de dessin open-source et complet, parmi dautres scripts et routines SVG et
javascript. Nous nous en sommes donc empar puis nous lavons adapt nos
besoins cartographiques.
Ce module exprimental de numrisation est par ailleurs a considr
comme fonctionnant en parallle a laccs ftp du laboratoire. En effet, si les
utilisateurs ont accs aux images et aux cartes svg stockes sur le site ftp, ils
pourront les tlcharger puis les exploiter en local depuis le site Internet. Cest
tout lintrt de cette application, qui permet de numriser, dessiner ou encore
crire sur nimporte quelle image au format SVG. Lutilisateur peut par exemple
numriser des polygones sur le territoire rgional (MRC), mais aussi travailler sur
des orthophotographies, donc sur un territoire beaucoup plus local, contenant
des informations plus prcises, relatives a son exploitation agricole ou a son
territoire dtude.
Le changement dchelle et la mise a disposition doutils de dessin
vectoriel peuvent permettrent aux agriculteurs et aux gestionnaires agronomes
de caractriser les champs cultivs, les espaces exploitables et lenvironnement
direct de leur territoire (pouvant contenir une station mtorologique). La cration
future des indices agricoles spatialiss et leur implmentation dans le site
Internet permettront daccrotre de manire significative le potentiel de linterface
de numrisation, car ils procureront des mesures toujours plus locales et donc
prcises.
Cela rend donc possible la cration dinformation gographique par
lutilisateur sur la base de documents SVG gorfrencs. Les modifications
apportes peuvent tre sauvegardes localement, puis rutilises et modifies
ultrieurement par linternaute. Le SIG en ligne prend donc toute son ampleur, en
offrant des possibilits dobservation, de la vue rgionale au plan de ferme
personnalis.

4646

4.5.2) Rcupration et modification du script


Comme il a t dit, le code source a t conu et rdig par les auteurs du
site Pilat (http://pilat.free.fr/home.htm), puis plac en libre tlchargement, selon
un contrat Creative Commons . Il est donc protg par le droit de la proprit
littraire et artistique (droit d'auteur, droits voisins, droits des producteurs de
bases de donnes), mais est rutilisable et distribuable en ligne. Il nest
cependant pas exploitable au sein dapplications commerciales.
Les modifications apportes au script ont t minimes car la plupart des
fonctions ont t conserves. Il a sagit premirement dadapter le mode de
fonctionnement de linterface aux besoins cartographiques ventuels des
utilisateurs, puis dadapter le design de linterface de manire harmonieuse au
reste du site, en respectant les critres de la charte graphique.
4.5.3) Fonctionnement de lapplication
Il ne sagit pas ici dexpliquer les fonctions ECMA ou PHP tant lorigine
du fonctionnement de lapplication, mais plutt de montrer comment nous avons
adapt cet outil de dessin au SIG en ligne.
Lapplication de base permet dinsrer une image en arrire-plan, douvrir
un document existant sur le poste client, de crer un nouveau document et de
lenregistrer au format SVG cot client. Les fonctionnalits de dessin vectoriel
permettent ensuite de crer des formes SVG basiques, de dessiner a main leve
et dagir sur le style et lapparence des nouveaux lments crs.
Dans le cas de la carte rgionale (mrc.svg), le document SVG est ouvert
directement dans lapplication, du moment quil est disponible localement sur la
machine (le tlchargement des SVG ou des images se faisant via le serveur ftp
du laboratoire). Les modifications graphiques apportes sont crites par le PHP
dans le corps du document, puis ventuellement sauvegardes par lutilisateur.
Dans le cas ou linternaute souhaite travailler sur une orthophotographie,
le fonctionnement diffre quelque peu, car le document de base nest pas au
format SVG, mais au format image (JPEG, BMP). Deux fichiers doivent donc
tre disponibles localement, savoir limage placer en arrire-plan et un
document SVG lui tant associ. Ce dernier indique premirement au serveur le
chemin suivre, donc la localisation prcise de limage rcuprer cot client,
mais contient galement les modifications apportes. Cette dernire est donc
place en arrire-plan mais nest pas modifie. Si lutilisateur enregistre des
modifications et souhaite en bnficier ultrieurement, cest le document SVG
quil devra ouvrir.
Le fonctionnement de linterface de numrisation ncessite donc dune
part laccs aux donnes par lutilisateur, et dautre part la mise en place de
documents SVG sur le serveur, pour toutes les images susceptibles dtre
utilises pour la numrisation. Si cela est valable dans le cadre dun exemple, il
est pour linstant matriellement impossible de fournir tout le travail de
programmation et les manipulations ncessaires dans le cadre du projet. Cest
notamment pour cette raison que lapplication nest pas mise a disposition du
public sur le site officiel du Msonet, et quelle fera certainement lobjet de
travaux supplmentaires si toutefois les besoins de numrisation savrent
effectifs.

4747

4.5.4) Potentiel du SVG pour numriser en ligne


La numrisation dobjets sur un document gographique est donc
aujourdhui possible grce aux SVG et aux possibilits vectorielles quil procure.
Ce potentiel est toutefois a modrer et ce pour plusieurs raisons.
Le SVG est un langage relativement nouveau et encore peu utilis par les
sites comportant des modules de cartographie dynamique et interactive.
Labsence doutils performants permettant dautomatiser la programmation, et
mettre en place des services web, empche cette technologie dvoluer et de se
rpandre comme une rfrence en terme de cartographie dynamique interactive.
Bien que lexprience mene partir du script open-source ai t
concluante, plusieurs limites son oprabilit sont formuler. Elle ncessite
premirement un accs FTP ou un espace de tlchargement protg, ce qui
nest pas le cas de tout les SIG en ligne. La mise a disposition des donnes
spatiales est mme plutt rare dans les projets de webmapping, tant donn
limportance des frais de diffusion et le caractre protg des donnes de
rfrence.
Dautre part, le volume de donnes a diffuser savre tre un facteur
limitant pour la numrisation en ligne. En effet, le travail de dessin sur les
documents SVG est trs lent face a une connexion Internet bas dbit. La prise en
compte dimages dans lapplication (nativement plus lourdes quun document
texte) est aussi limite selon le type de connexion et lespace disque disponible
du cot client.
De plus, notons que le mode de navigation reste quelque peu artisanal .
Bien quil permette lutilisateur de se dplacer sur la carte ou limage, ainsi que
de crer et de caractriser des polygones, la prcision gographique reste a
dsir. Cela est du dune part a laspect basique des formes que le SVG peu
gnr, mais rsulte surtout de la non prise en compte des contraintes
topologiques induites par les entits surfaciques. La cration de polylignes et de
polygones a main leve permet certes dditer des nuds, mais ceux-ci
napparaissent pas en tant que tel et ne sont pas sauvegards au sein du
document SVG.
Par ailleurs, la navigation au clic reste assez lente et fastidieuse par
rapport dautres solutions de numrisation en ligne. Cela devient vite un
problme si le nombre dobjets numriser est important et que le poste client
fonctionne en bas dbit et avec peu de mmoire vive.
Il est donc possible dmettre des rserves quant au potentiel du SVG pour
numriser, bien quil permette des fonctionnalits avances. La mise en place
dune interface de numrisation en SVG et ECMAScript ncessite dimportants
travaux de programmation et reste moins performante que les extensions web
des logiciels SIG courant. Arc IMS est par exemple beaucoup plus rapide et
prcis pour ce faire, pouvant tre coupl avec des modules logiciels en langage
Java. Une bonne part de la programmation est automatise et les fonctionnalits
quil permet dobtenir sont quasiment semblables aux outils de numrisation
disponibles sous Arc Map. Le SVG pourrait cependant un jour permettre de
sapprocher des rsultats obtenus par les solutions commerciales, si des logiciels
performants base sur cette norme apparaissent.

4848

4.6) Instauration d'une zone membre et d'un accs privilge


4.6.1) Diffusion et niveaux de permission
La mise en place dune zone de membres sur le site Internet constitue
galement un test utile pour lavenir du rseau. La zone membre nest cependant
pas encore oprationnelle sur le site officiel du Msonet, car cela ncessite
premirement de diffrencier des profils utilisateurs, donc de raliser une
enqute statistique sur le trafic et le type dutilisateurs que concernera le
Msonet, mais galement de dvelopper des scripts de scurit pour protger la
base de donnes des intrusions.
Il sera donc ncessaire de diffrencier les utilisateurs (par exemple
agriculteurs, agronomes, gestionnaires, chercheurs et tudiants) si leur nombre
augmente dans les mois venir. Cette diffrenciation permet dtablir des
niveaux de permissions relatifs laccs aux donnes et aux services web, ce
qui est indispensable dans un SIG en ligne touchant un large public, ou tout du
moins concernant des utilisateurs de nature varie.
Cest encore une fois grce au PHP quil est possible dinstaurer une zone
membre scurise sur un site Internet. Il faut pour cela crer une table MySQL
utilisateurs sur le serveur, laquelle enregistre les internautes ayant rempli un
formulaire didentification disponible sur le site. Une fois enregistrs, les
membres du site ont accs aux pages protges en sidentifiant par leur adresse
de courriel et un mot de passe choisi lors de lenregistrement, et enregistrs dans
la table MySQL.
4.6.2) Tests en local et obstacles la mise en ligne
Afin de perfectionner mes comptences en PHP et de pouvoir rpondre
aux diffrents besoins dun site cartographique dans lavenir, je me suis donc
attel la ralisation dune zone membre pour le site Internet. Pour cela, jai
utilis la suite EasyPHP et rcupr un script open-source sur le site
http://www.phpcs.com/ . Il a donc fallu placer ce script la racine du serveur et
lintgrer aux diffrents pages que javais dcid de scuriser. La cration dune
table utilisateur sur PHPMyAdmin
et la mise en place dun formulaire
correspondant sur le site furent les premires tapes du travail. Il a ensuite fallu
placer un script de validation sur toutes les pages a protger, ce dernier ayant
pour but de vrifier la conformit et lexistence dans la base de donnes MySQL
des paramtres utilisateurs entrs par linternaute.
La zone membre sest avre fonctionnelle en local, mais il na pas t
possible de crer la table sur le serveur du Msonet pour des raisons de conflits
entre SQLServer et MySQL. Les niveaux de permission ne sont donc pas
oprationnels sur le site Internet. De plus, le script rcupr, bien que
performant, prsente des manques en termes de scurit. Il ne prend par
exemple pas en compte les cookies sessions et le cryptage des url des
pages protges, ce qui est aujourdhui indispensable pour viter des intrusions
non dsires dans la base de donnes, voire des attaques sur le serveur.
Bien quinaboutie, la mise en place de la zone membre a tout de mme
permis de comprendre le processus gnral de scurisation des pages web via
le langage PHP. Il ma aussi permis de comprendre limportance de diffrencier
les utilisateurs dans un systme de diffusion de linformation gographique
proposant un accs en ligne aux bases de donne.

4949

4.7) Intgration de l'ensemble dans une architecture XHTML conforme


4.7.1) Pourquoi XHTML et les CSS ?
Successeur du HTML, le XHTML est issu des spcifications du W3C.
Lcriture de pages web XHTML constitue le premier pas accomplir vers le
Web de demain. A la fois compatible avec les navigateurs d'hier et avec le XML,
sa rigueur en fait un puissant langage de structuration de contenu, laissant le
soin de la prsentation aux feuilles de styles en cascade ( Cascading Style
Sheets ou CSS).
Bass sur la grammaire XML, et donc obissant aux principes du SGML
( Standard Generalized Markup Language), les documents XHTML sont donc
directement lisibles, ditables et validables avec les outils XML standards. Ils
peuvent aussi utiliser des applications qui reposent sur le DOM HTML autant que
sur le DOM XML.
De plus, XHTML est par dfinition modulable et stylisable. Il est possible
de lui ajouter des balises supplmentaires ou d'autres attributs facilement, et
dappeler un fichier CSS au sein du document, ce qui prcise les proprits
graphiques, la mise en page ou encore le positionnement des diffrents lments
de la page XHTML au navigateur web.
La sparation du contenu et du style permet de rendre lisible et accessible
toutes les informations contenues au sein d'une page tous les types de
navigateurs. Il est ainsi possible de consulter un site conforme XHTML l'aide
dun ordinateur, d'un smartphone, d'une tlvision, d'un pocketPC, ou encore
dun terminal alpha. La conversion est faite automatiquement par le navigateur.
Face tout ces avantages, mais aussi en raison du nombre grandissant
de pages web XHTML prsentes sur Internet, jai donc dcider dintgrer les
travaux de dveloppement et les services Internet au sein dune architecture
XHTML/CSS. Cette dcision est dailleurs venue accentuer la diffrence entre
mon site et le site officiel, ce dernier tant ralis avec loutil Dreamweaver de la
socit Macromdia, qui gnre du code HTML 4.0 pas toujours conforme.
Le but de ce dernier travail tait avant tout de doter le rseau Msonet
dune interface de diffusion conforme et pouvant tre interprt par nimporte
quelle type de plateforme et de navigateur. Lensemble du site reposant sur des
documents SVG conformes ainsi que sur des fonctions ECMA sapprochant elles
aussi de la validit ISO, il tait logique dintgrer le SIG en ligne dans une
architecture moderne et fonctionnelle qui permette dassurer une accessibilit
optimale ainsi quune certaine prennit au code.
Cette tape finale du travail de programmation maura aussi permis
dapprofondir ma connaissance de la norme XML et de mieux apprhender les
apports du web smantique pour la diffusion de linformation gographique et la
mise en place de SIG en ligne accessibles et portables.
Les recommandations XHTML 1.0 et CSS 2.0 diffuses sur le site du W3C
ont t utilises de manire approfondie pour rdiger un code XHTML et des
feuilles de styles conformes. Loutil de validation en ligne galement propos par
le W3C a quant a lui t le moyen de vrifier la conformit des balises utilises et
dmettre des choix quant a la diffusion.

5050

4.7.2) Un SIG en ligne conforme ou valide ?


Suite a plusieurs sances de vrification sur le validateur du W3C et a des
efforts dadaptation du code, un seul lment sest rvl tre un obstacle a la
validit XHTML du site Internet. Il sagit de la balise embed utilise pour appeler
le document SVG dans le corps de la page XHTML.
Cette balise, largement utilise dans les pages HTML traditionnelles, na
en effet pas t actualise dans la recommandation XHTML, et remplace par la
balise object, cette dernire tant considre comme mieux adapte au critres
standards du SGML. Son utilisation est cependant fortement conseille pour
lintgration du SVG, que ce soit par Adobe, ou par les acteurs utilisant cette
technologie, quil sagisse aussi bien de webmasters expriments ou de
cartographes Internet.
En effet, la balise object est difficilement configurable et pose des
problmes de positionnement du SVG que lon appelle, ce qui est trs gnant en
terme daccessibilit et de standardisation. Jai donc du renoncer a la validit du
site du Msonet ( qui aurait pu tre mise en vidence dans linterface avec laide
du logo du W3C, lequel informe les utilisateurs et les renvoie vers une page de
confirmation sur le site officiel du W3C).
Malgr cet obstacle minime, la source du Msonet reste conforme ou
bien forme . Cela veut dire que le code obit aux principales rgles du
XHTML, mais que certains lments non conformes empchent la stricte validit
dlivre par le W3C. Laccessibilit du site est donc logiquement affecte par ce
dfaut, mais dans une moindre mesure, tant donn quune seule balise pche.
Le site reste donc tout de mme largement accessible (en tout cas plus
que le site officiel du Msonet ralis avec Dreamweaver), et sassure dune
parfaite compatibilit avec les navigateurs web dhier et de demain. Les
utilisateurs pourront donc consulter mon travail de manire optimale sur
nimporte quelle plateforme informatique quipe du plug-in SVG et configure
pour une rsolution cran de 1024x768 pixels.
Cette affirmation a t prouve par les tests daffichage mens sur
diffrents navigateurs. Concernant la technologie Windows, les navigateurs
Internet Explorer (versions SP1 et SP2) et Mozilla Firefox (version 1.0.5 et 1.0.6)
affiche le site de manire identique, malgr quelques dfauts pouvant apparatre
selon la configuration dInternet Explorer. Pour la technologie Machintosh, les
navigateurs Safari RSS (navigateur Apple) et Mozilla Camino (version 0.8.4)
interprtent aussi bien le SVG que le XHTML, et de manire parfaitement
identique. Le plug-in SVG ntant pas encore disponible pour les systmes Unix
et Linux, la compatibilit de la carte SVG et des fonctions ECMA nont pas pu
tre test. Le code XHTML / CSS est cependant trs bien reconnu par les
environnements KDE et Gnome, utiliss sous la distribution Linux RedHat 4.0
lors du test.

5151

4.8) Bilan de la phase de dveloppement Internet


Le dveloppement du SIG en ligne sest avr tre un succs et ma
procur une expertise approfondie des mthodes de webmapping actuelles. Les
travaux de programmation mont amen comprendre le fonctionnement des
services web gographiques, mais mont aussi aider apprhender le
fonctionnement gnral dInternet et de la relation client/serveur.
La rdaction intgrale du code-source via un diteur de texte non
automatis a certes t longue et parfois fastidieuse, mais cest grce cela que
je peux a prsent prtendre dune connaissance avance des langages web
adapts la diffusion de linformation gographique. Cela naurait pas t le cas
si lapplication avait par exemple t mise en place avec un serveur
cartographique, dont le fonctionnement est relativement simple et ne ncessite
surtout que trs peu de comptences en programmation Internet.
Par ailleurs, lutilisation doutils et de langages open-source constitue
galement un apport important induit par la phase de dveloppement. De plus en
plus utiliss, voire commercialises dans certains cas, ces technologies
reprsentent un domaine davenir et sont selon moi indispensables au bagage du
gomaticien comme de linformaticien. Cet aspect du projet ma aussi fortement
encourag mintresser aux produits SIG open-source, comme par exemple
GRASS, GMT, JUMP, ou encore QUANTUM GIS. Ces logiciels sont certes
gnralement moins performants que les SIG commerciaux, mais ils constituent
les outils privilgis de la gomatique libre, que certains peroivent comme une
piste a suivre pour lavenir.
De plus, la conformit du code-source
(tout langages confondus)
engendre dune part une accessibilit optimale pour le site, et constitue
galement une expertise faire valoir. La connaissance des standards Internet et
des normes du W3C enrichi de manire significative mon exprience en
webmapping, et en webmastering en gnral.
Le fait davoir ralis un site Internet de manire complte, et non davoir
raliser des taches sous traites de linformaticien comme cela aurait pu tre
possible si le stage stait droul en entreprise, est fortement bnfique. Jai en
effet pu aborder le projet Internet dans son ensemble, de la comprhension
initiale du SIG la mise en ligne finale. Le dveloppement aura donc fait appel
des comptences pluridisciplinaires pour tre men bien. Jai ainsi autant
appris en gomatique, quen webmapping et quen infographie. La mise en place
des services web ma aussi permis denrichir grandement mes connaissances en
bases de donnes, et de mieux cerner leurs interactions avec le SIG dune part,
et avec Internet dautre part.
Enfin, le travail de collaboration avec linformaticien du laboratoire a aussi
t bnfique en terme dadministration rseau et systme. Les taches
informatiques quotidiennes, les recherches sur Internet et le travail sur le rseau
mont procur de nouvelles comptences aussi bien hardware que software, ainsi
quune certaine habilit la veille technologique, quil sagisse aussi bien de
gomatique, de dveloppement Internet ou encore dopen-source.

5252

CONCLUSION

Ce stage de 6 mois au laboratoire GAAP est venu rpondre avec brio aux objectifs de
stage que je mtais fix, relatifs une spcialisation en cartographie numrique sur Internet.
Cette volont stait peu a peu dessine au cours de la priode de cours a Saint-tienne, au fur
et a mesure de la dcouverte des disciplines de la gomatique et du march de lemploi dans ce
domaine.
Les activits de webmapping sont en effet en plein dveloppement en France, et il existe
une relle demande de la part dinstitutions de recherche, de collectivits locales, dentreprises
ou encore de SSII spcialises en gomatique. Lexpertise et les comptences que jai acquises
dans ce domaine me permettront donc logiquement de pleinement dbuter ma carrire
professionnelle en tant que gomaticien spcialis en SIG web, et form aux solutions opensource.
Le SIG en ligne a t ralis a laide de langages Internet, ce qui a induit premirement la
comprhension dtaille du code rdig, ainsi quune vision globale du projet Internet. Ces
aspects de coding ne mont pas pour autant limit cet unique aspect du webmapping,
puisque je considre a prsent tre capable datteindre les mmes finalits a laide de serveurs
cartographiques open-source ou commerciaux. Ce sont les comptences pluridisciplinaires en
informatique et en gomatique acquises qui constituent mon expertise des SIG en ligne, et de la
diffusion de linformation gographique de manire gnrale.
Par ailleurs, le stage aura aussi t trs formateur vis--vis des connaissances mtiers
abordes. Gographe environnementaliste de formation, la participation au projet Msonet
Montral ma beaucoup appris en agromtorologie et en agriculture, ce qui est venu renforcer
mes connaissances en environnement mais ma aussi permis de dvelopper une vision logique
et synthtique du territoire agricole. La gomatique agricole est un domaine relativement
nouveau et ne se limite pas aux applications de mtorologie. Ma prsence au laboratoire ma
fait dcouvrir de nombreuses applications de la gomatique lagriculture et aux disciplines
connexes, dveloppes au sein du projet Msonet ou dautres projet en cours.
Les technologies de pointe utilises par lquipe, notamment a propos du GPS et des
campagnes dorthophotographie, mais aussi dun point de vue purement informatique, sont venu
clairement largir mes connaissances pluridisciplinaires en gomatique applique et me
permettent donc a prsent de mieux cerner toutes les possibilits techniques pouvant tre
mobilises pour mener un projet.
Enfin, lintgration du laboratoire GAAP en tant que stagiaire maura aussi permis de
dapprofondir ma connaissance du systme universitaire canadien, et surtout de percevoir et de
comprendre les diffrences entre la France et le Qubec en matire de gomatique. Le monde
des SIG qubcois est de manire gnrale plus technologiquement avanc quen France, et
cela est du principalement a lencouragement de la recherche par ltat dans les secteurs a fort
potentiel, ainsi que par la multitude dinteractions prsentes entre les laboratoires de recherche et
les entreprises du secteur priv. Cette exprience enrichissante a t loccasion de travailler aux
cots dacteurs varis dans un contexte radicalement diffrent, et aussi dtablir un rseau de
contacts utiles pour ma future carrire en gomatique.

5353

ANNEXES

1)

Carte du Projet Msonet Montral

2)

Exemple dun plan de ferme gorferenc

3)

Schma simplifi dune station mtorologique

4)

Code source : mapmesonet.svg (extraits)

5)

Code source : La barre de navigation SVG / ECMAScript (extraits)

6)

Code source : zoom.js

7)

Code source : pan.js (extraits)

8)

Code source : La lgende (extraits)

9)

Code source : prevision.php (extraits)

10)

Code source : Temperature.php (extraits)

11)

Code source : index.php (xhtml / css)

5454

5555

ANNEXE 2 : exemple dun plan de ferme gorfrenc

Source : BD Ortho, Ministre des ressources naturelles du Qubec

5656

ANNEXE 3 : Schma simplifi dune station mtorologique

Source : Projet Msonet - HYMAP

5757

ANNEXE 4 : Code source du fichier mapmesonet.svg (extraits)


Dclaration de la DTD
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg zoomAndPan="disable">
Dbut du code gnr par ArcMap : le groupe des MRC
<defs>
<g id="mrc">
<clipPath id="SVG_CP_1">
<path
d="M532.3876,437.24409L532.3876,0L0,0L0,437.24409L532.38
76,437.24409z"/>
</clipPath>
<path clip-path="url(#SVG_CP_1)" fill="url(#gradpoly)" opacity="0.8" stroke="#000000" strokewidth="0.47984" stroke-miterlimit="10" stroke-linecap="square" d="M-26.63138,25.67908L26.39145,25.43909L-25.91161,25.67908L-25.43176,25.91907L-24.95192,26.39905L24.712,26.63904L-24.23215,26.87903L-23.51239,26.87903L-22.79262,27.35902L21.83293,27.839L-21.11316,28.31898L-20.3934,29.03896L-19.43371,29.99892L18.47402,30.9588L-17.27441,31.91885L-16.31472,33.11881L-15.59495,34.31877L15.11511,35.51872L-14.39534,36.95867L-13.43565,38.63861L-12.47596,40.07856L11.75619,40.55854L-10.55658,40.79853L-10.07674,40.55854L-9.59689,40.79853L8.87713,41.03853L-8.15736,41.03853L-7.19767,41.03853L-6.71782,40.55854L6.23798,40.07856L-5.27829,39.59858L-4.55852,39.35859L-3.59883,39.1186L2.39922,38.8786L-1.91938,38.15863L-1.19961,37.67865L-0.95969,37.19866L0.71977,36.47869L0.71977,35.99871L.

Dbut du code gnr par Arcmap: le groupe des stations mto


<g id="station">
<g font-family="'ESRI Default Marker'" font-size="1" kerning="0" font-weight="400" fill="url(#gradcirc)" clip-path="url(#SVG_CP_1)" xml:space='preserve'>
<circle cx="203.33416" cy="390.70597" r="3.0"/>
</g>
<g font-family="'ESRI Default Marker'" font-size="1" kerning="0" font-weight="400" fill="url(#gradcirc)" clip-path="url(#SVG_CP_1)" xml:space='preserve'>
<circle cx="325.45461" cy="252.23094" r="3.0"/>
</g>
<g font-family="'ESRI Default Marker'" font-size="1" kerning="0" font-weight="400" fill="url(#gradcirc)" clip-path="url(#SVG_CP_1)" xml:space='preserve'>
<circle cx="407.50804" cy="405.10545" r="3.0"/>
</g>
<g font-family="'ESRI Default Marker'" font-size="1" kerning="0" font-weight="400" fill="url(#gradcirc)" clip-path="url(#SVG_CP_1)" xml:space='preserve'>
<circle cx ="290.66588" cy="381.82629" r="3.0"/>
</g>

5858

Appel des documents javascript associs au SVG


<script type="text/javascript" xlink:href="globals.js"/>
<script type="text/javascript" xlink:href="getData.js"/>
<script type="text/javascript" xlink:href="overView.js"/>
<script type="text/javascript" xlink:href="others.js"/>
<script type="text/javascript" xlink:href="layerControl.js"/>
<script type="text/javascript" xlink:href="zoom.js"/>
<script type="text/javascript" xlink:href="pan.js"/>
<script type="text/javascript" xlink:href="toolTip.js"/>
<script type="text/javascript" xlink:href="gaap.js"/>
<script type="text/javascript" xlink:href="gaapwidget.js"/>
<script type="text/javascript" xlink:href="gaapGraph.js"/>
Dclaration des dgrades appliqus (points et polygones SVG)
<radialGradient id="grad-circ">
<stop offset="2%" stop-color="white" />
<stop offset="90%" stop-color="forestgreen" />
</radialGradient>
<radialGradient id="gradpoly">
<stop offset="2%" stop-color="white" />
<stop offset="90%" stop-color="palegoldenrod" />
</radialGradient>
<radialGradient id="overgrad">
<stop offset="2%" stop-color="red"/>
<stop offset="25%" stop-color="orange"/>
<stop offset="60%" stop-color="yellow"/>
</radialGradient>
Dbut du code de la carte SVG viewbox
<svg id="map" x="10" y="50" width="532.48819" height="437.24409" viewBox="0 0
532.48819 437.24409" enable-background="new 0 0 532.48819 437.24409"
version="1.1" xmlns="http://www.w3.org/2000/svg">
<use id="map_mrc" xlink:href="#mrc"/>
<use id="map_station" xlink:href="#station"/>
</svg>

Code de la fentre de localisation


<svg id="overview" x="565" y="50" width="120" height="112" viewBox="0 0 532.48819
437.24409">
<use xlink:href="#mrc"/>
<rect id="OverViewRect" onmousedown="startPanOM(evt)"
onmousemove="panOM(evt)" onmouseup="endPanOM(evt)"
onmouseout="endPanOM(evt)" x="2122588" y="871883"
width="8068898" height="7595814" style="fill:limegreen;opacity:0.2"/>
</svg>
<rect x="565" y="50" rx="0" ry="0" width="125" height="112"
style="fill:none;stroke:lightgrey;stroke-width:1.5"/>

5959

ANNEXE 5 : Code source de la barre de navigation


Fonction de zoom
<g transform="translate(0,0)">
<a id="minus" transform="translate(0,3)" onclick="zoom(evt)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="minus" x="15" y="11" width="17" height="18"
xlink:href="images/moins.png"/>
</a>
<a id="defaultView" transform="translate(30,3)" onclick="zoom(evt)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="Defaultview" x="15" y="11" width="17" height="18"
xlink:href="images/fullextend.gif"/>
</a>
<a id="plus" transform="translate(60,3)" onclick="zoom(evt)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="plus" x="15" y="11" width="17" height="18"
xlink:href="images/plus.png"/>
</a>
Element de dcoration
<image id="bar" transform="translate(85,3)" x="15" y="10" width="2" height="21"
xlink:href="images/bar.png"/>
</g>
Fonction de panoramique
<g transform="translate(0,0)">
<g onclick="pan(evt)" transform="translate(0,0)">
<a transform="translate(95,3)" title="Zoom -">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="Left" x="15" y="11" width="17" height="18"
xlink:href="images/backU.gif"/>
</a>
<a transform="translate(125,3)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="Top" x="15" y="11" width="17" height="18"
xlink:href="images/pan_north.gif"/>
</a>
<a transform="translate(155,3)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="Bottom" x="15" y="11" width="17" height="18"
xlink:href="images/pan_south.gif"/>
</a>
<a transform="translate(185,3)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="Right" x="15" y="11" width="17" height="18"
xlink:href="images/fowardU.gif"/>
</a>
</g>

6060

Appel des toponymes des stations


<g transform="translate(0,0)">
<g onclick="getData(evt,'nomStation_3','nomStation_3.xml','stationlegend.xml')"
transform="translate(0,0)">
<a transform="translate(220,3)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="lab" x="15" y="11" width="17" height="18"
xlink:href="images/labelingstat.png"/>
</a>
</g>
Appel des toponymes des MRC
<g onclick="getData(evt,'nomMRC','nomMRC.xml','stationlegend.xml')">
<a transform="translate(250,3)">
<rect x="13" y="10" width="20" height="20" fill-opacity="0"
style="fill:#FFFFFF;stroke:#000000;"/>
<image id="labeli" x="15" y="11" width="17" height="18"
xlink:href="images/labeling.png"/>
</a>

</g>
</g>

<image id="deko" transform="translate(275,3)" x="15" y="9" width="350"


height="22" xlink:href="images/deko.gif"/>

6161

ANNEXE 6 : Code source du fichier zoom.js (extraits)


function zoom(evt)
{
var type = evt.target.parentNode.getAttribute("id");
var vBox = SVGMap.getAttribute("viewBox").split(" ");
var mapCenterX = parseFloat(vBox[0]) + vBox[2] / 2;
var mapCenterY = parseFloat(vBox[1]) + vBox[3] / 2;
if (type == "plus")
{
scaleFactor = scaleFactor - 0.5;
}
if (type == "minus")
{
scaleFactor = scaleFactor + 0.5;
}
if (type == "defaultView")
{
scaleFactor = 10;

var mapCenterX = defaultViewBoxX + ( defaultViewBoxWidth / 2 );


var mapCenterY = defaultViewBoxY + ( defaultViewBoxHeight / 2 );

var newViewBoxWidth = defaultViewBoxWidth * scaleFactor / 10;


var newViewBoxHeight = defaultViewBoxHeight * scaleFactor / 10;
var newViewBoxX = mapCenterX - (newViewBoxWidth / 2 );
var newViewBoxY = mapCenterY - (newViewBoxHeight / 2 );
SVGMap.setAttribute("viewBox",newViewBoxX+" "+newViewBoxY+" "+newViewBoxWidth+"
"+newViewBoxHeight);
setOverViewRect(newViewBoxX,newViewBoxY,newViewBoxWidth,newViewBoxHeight);
}

source: http://www.carto.net/

6262

ANNEXE 7 : Code source du fichier pan.js (extraits)


function pan(evt)
{
var panType = evt.target.getAttribute("id");
var vBox = SVGMap.getAttribute("viewBox").split(" ");
var myPanFactorX = 50 * scaleFactor / 10;
var myPanFactorY = 50 * scaleFactor / 10;
switch(panType)
{
case "Top":
{
var vBoxX = vBox[0];
var vBoxY = vBox[1] - myPanFactorY;
break;
}
case "TopRight":
{
var vBoxX = parseFloat(vBox[0]) + myPanFactorX;
var vBoxY = vBox[1] - myPanFactorY;
break;
}
case "Right":
{
var vBoxX = parseFloat(vBox[0]) + myPanFactorX;
var vBoxY = vBox[1];
break;
}
case "BottomRight":
{
var vBoxX = parseFloat(vBox[0]) + myPanFactorX;
var vBoxY = parseFloat(vBox[1]) + myPanFactorY;
break;
}
case "Bottom":
{
var vBoxX = vBox[0];
var vBoxY = parseFloat(vBox[1]) + myPanFactorY;
break;
}
case "BottomLeft":
{
var vBoxX = vBox[0] - myPanFactorX;
var vBoxY = parseFloat(vBox[1]) + myPanFactorY;
break;
}
case "Left":
{
var vBoxX = vBox[0] - myPanFactorX;
var vBoxY = vBox[1];
break;
source: http://www.carto.net/

6363

ANNEXE 8 : Code source de la lgende (extraits)


Appel des couches de rfrence
<g transform="translate(565,180)">
<rect x="0" y="0" rx="0" ry="0" width="125" height="312"
style="fill:whitesmoke;stroke:lightgrey;stroke-width:1.5"/>
<text x="11" y="20" font-size="11" fill="limegreen" font-face="trebuchet
ms">Couches de rfrence</text>
<g id="checkbox1" transform="translate(5,35)">
<a>
<rect x="0" y="0" height="15" width="15" onclick="mapLayerControl(evt,'mrc')"
fill="url(#checkBoxFill)" stroke="url(#bgbutton)" stroke-width="1.5"/>
</a>
<text x="20" y="12" font-size="10" fill="black">MRC</text>
</g>
<g id="checkbox2" transform="translate(5,55)">
<a>
<rect x="0" y="0" height="15" width="15" onclick="mapLayerControl(evt,'station')"
fill="url(#checkBoxFill)" stroke="url(#bgbutton)" stroke-width="1.5"/>
</a>
<text x="20" y="12" font-size="10" fill="black">Stations</text>
</g>
</g>
Dbut du code des couches thmatiques
<g transform="translate(565,290)">
<text x="11" y="0" font-size="11" fill="limegreen" font-face="trebuchet
ms">Couches thmatiques</text>
<!-- IMAGE checkbox -->
<g id="checkbox4" transform="translate(5,15)">
<a>
<rect x="0" y="0" height="15" width="15"
onclick="getData(evt,'image','image.xml','bglegend.xml')"
fill="white" stroke="url(#bgbutton)" stroke-width="1.5"/>
</a>
<text x="20" y="12" font-size="10" fill="black" fontface="trebuchet ms">Image Landsat</text>
</g>
<g id="checkbox7" transform="translate(5,35)">
<a>
<rect x="0" y="0" height="15" width="15"
onclick="getFile(evt,'Temperature','Temperature.php')" fill="white"
stroke="url(#bgbutton)" stroke-width="1.5"/>
</a>
</g>

<text x="20" y="12" font-size="10" fill="black">Temprature (C)</text>

6464

ANNEXE 9: Code source du fichier temperature.php (extraits)


Entte php
<?
header("Content-type: image/svg+xml");
print('<?xml version="1.0" encoding="utf-8" standalone="no"?>');
?>
Connexion a MySQL
<?php
$conn = odbc_connect('mesonet','nbozon','fougas');
Requetes par station
$query_stAnicet= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=5 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_assomption= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=14 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_frelighsburg= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=15 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_steClotilde= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=25 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_acadie= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=28 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_stJovite= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=30 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");
$query_nicolet= odbc_exec($conn,"SELECT Valeur FROM Tampon WHERE
NbrStation=35 AND CodeMesure =112 AND DateCapture > (getutcdate()- 0.9) ORDER BY
DateCapture DESC");

Appel des valeurs dans des balises SVG text


<g id="Temperature">
<g font-family="'Arial'" font-size="1" kerning="0" font-weight="400" fill="red" clippath="url(#SVG_CP_1)" onmouseout="toolTip(evt)" xml:space='preserve'>
<a
xlink:href="http://mesolindev.gaap.ulaval.ca/prevision/prevision.php?id=886" target="_blank">
<text transform="matrix(7.91744 0 0 7.91972 285.14766
366.70847)"><tspan x="0 0.72748 1.27309 2.00058 2.24307 2.72806 "
onmousemove="toolTip(evt,'Howick')"><?php
if(odbc_fetch_row($query_howick)){$temp=odbc_result($query_howick,1);echo
"$temp";}else{$temp="no data";echo "$temp";}?></tspan></text>
</a>
</g>

6565

ANNEXE 10: Code source du fichier previsions.php (extraits)


Entte php
<?php
header("Content-type: image/svg+xml");
print ('<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>');
?>
Connexion a MySQL
<?php
$conn = odbc_connect('mesonet','','');
Dclaration des 39 cas correspondent au 39 stations
if (empty($_GET["id"])) $id=NULL;
else $id = $_GET["id"];
switch ($id) {
case "1" :
$stationID="5"; break;
case "2" :
$stationID="14"; break;
case "3" :
$stationID="15"; break;
case "4" :
$stationID="25"; break;
case "5" :
$stationID="28"; break;
case "6" :
$stationID="30"; break;
case "7" :
$stationID="35"; break;
case "8" :
$stationID="49"; break;
case "9" :
$stationID="56"; break;

.
Requetes par station
$query_nbr= odbc_exec($conn,"SELECT NbrStation FROM description WHERE
NbrStation=$id");
$query_id= odbc_exec($conn,"SELECT Identifier FROM description WHERE
NbrStation=$id");
$query_lat= odbc_exec($conn,"SELECT Latitude FROM description WHERE
NbrStation=$id");

..
Appel des valeurs dans des balises SVG text
<text id="humidite" font-family="'Arial'" font-size="8" fill="#FF6600" x="85" y="205"><?php
if(odbc_fetch_row($query_hum)){$hum=odbc_result($query_hum,1);echo
substr("$hum",0,2);}else{$hum="no data";echo "$hum";}?>
%</text>

6666

ANNEXE 10: Code source du fichier index.html (extraits)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset="ISO-8859-1" />
<title>Msonet Montral</title>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="stylesheet" type="text/css" href="banniere.css" media="screen" />
<link rel="stylesheet" type="text/css" href="contient.css" media="screen" />
<link rel="stylesheet" type="text/css" href="form.css" media="screen" />
</head>
<body>
<div id="total">
<h1>
<img src="images/ban1.gif" title="Msonet Montral"/>
</h1>
<div id="menu">
<h3>Projet Msonet</h3>
<ul><li><a href="def.html" title="definition">Definition</a></li><li><a href="histo.html"
title="histoire">Historique</a></li><li><a href="partners.html" title="">Partenaires</a></li><li>
<a href="install.html" title="">Installations</a></li></ul>
<h3>Les Outils</h3>
<ul><li><a href="index.php" title="">Carte mtorologique</a></li><li>Gnrateur de
requetes</li><li>Interface de numrisation</li><li><a href="metadata.html"
title="">Mtadonnes</a></li><li>Acces FTP</li>
</ul>
<h3>Espace Membres</h3>
<form method="post" action="login.php">
<label>Courriel</label>
<input name="username" type="text" id="username" />
<label>Mot de passe</label></b><br>
<input name="pwd" type="password" id="pwd" />
<td><input type="submit" name="Submit" value="Valider" />
</form>
<ul><li><a href="registration.php">Ouvrir un compte</a></li></ul>
<h3>Liens relatifs</h3>
<ul><li><a href="SVGView.exe">Telecharger SVG Viewer</a></li>
<li><a href="http://meteo.ec.gc.ca/">Environnement Canada</a></li>
</ul>
</div>
<div id="contenu">
<h2>Services web agro-mtorologiques</h2>
<embed src="mapmesonet.svg" width="750" height="600"></embed>
</div>
<div id="pied">
<p>
<a href="http://www.ulaval.ca/"><img src="images/laval.gif" alt="site ulaval" /></a>
<a href="http://www.mcgill.ca/" title=""><img src="images/mcgill.gif" alt="site mcgill" /></a>
<a href="http://www.ec.gc.ca/" title="site_envcan"><img src="images/envcan.gif" alt="site
envcan" /></a>
</p>
</div>
</body>
</html>

6767

BIBLIOGRAPHIE
-

Ouvrages gnraux et/ou de rfrence :


SONNET J. - OpenGIS Web Map Context Implementation Specification (WMC),
OGC Implementation Specification, Document PDF, Mars 2005, 28 pages.
DE LA BEAUJADIERE J. - OpenGIS Web Map Service (WMS) Implementation
Specification (WMS) , OGC Implementation Specification, Document PDF,
Fvrier 2004, 75 pages.
HARDER C., DANGERFIELD J. Serving Maps on the Internet: Geographic
Information on the World Wide Web - ESRI press, Juillet 1998, 130 pages.
ANTONI JP., KLEIN O., MOISY S. - Cartographie interactive et multimdia : vers
une aide la rflexion gographique , Cybergo, No. 288, Octobre 2004, 16
pages.
HELD G., SCHNABEL O, NEUMANN A. - Advanced webmapping with SVG ,
www.svgopen.org/2003/courses/AdvancedWebmappingWithSVG/Documentation.pd
f, svgopen.org, Document pdf, Juillet 2003, 29 pages.

Sites Internet officiels et environnementaux lis au projet Msonet :


Site du Laboratoire GAAP
http://www.gaap.ulaval.ca/
Site du projet Gotraceagri
http://www.geotraceagri.net/
Site du regroupement HYMAP
http://www.hymap.ca/
Site du Centre de Recherche en Gomatique
http://www.crg.ulaval.ca/default.asp
Site du Ministre des ressources Naturelles du Qubec
http://www.mrn.gouv.qc.ca/
Site du Ministere de lenvironnement du Canada
http://www.ec.gc.ca/
Site Mto-Mdia, Montral
http://www.meteomedia.com/Meteo/Villes/Can/Pages/CAQC0363.htm

Sites Internet relatifs aux autres rseaux Msonet :


Site du Msonet Texas
http://mesonet.tamu.edu/
Site du Msonet Oklahoma
http://www.mesonet.ou.edu/public/current.html
Site du Msonet Arizona

6868

http://ag.arizona.edu/azmet/
Sites Internet ddis au webmapping :
Site Pilat Informative Educative
http://pilat.free.fr/
Site du projet Cartonet
http://www.carto.net/
Site du projet Goclient
http://www.mycgiserver.com/~amri/geoclient.cocoon.xml
Site gnraliste sur le webmapping
http://sig.cwriter.org/index.php/Webmapping
Site ddi au SVG
http://www.svgopen.org/2005/
Site portail sur les SIG open-source
http://freegis.org/
Site ddi au webmapping (espagnol)
http://www.mappinginteractivo.com/
Site utilis pour lexemple dapplication Cartoweb
http://www.ifn.fr/spip/rubrique.php3?id_rubrique=67

Sites Internet lis au dveloppement Internet :


Site dAdobe sur le SVG
http://www.adobe.com/svg/main.html
Site de ressources PHP
http://www.phpcs.com/
Site de ressource Javascript
http://www.javascriptfr.com
Site sur le XHTML et le web smantique
http://www.alsacreations.com/
Recommandation SVG 1.0 du W3C
http://www.w3.org/TR/SVG/
Recommandation XHTML 1.0 du W3C
http://www.la-grange.net/w3c/xhtml1/
Site de loutil de validation XHTML du W3C
http://validator.w3.org/
Recommandation CSS 2 du W3C
http://www.w3.org/TR/REC-CSS2/
Site de la norme ECMA
http://www.ecma-international.org/publications/standards/Ecma-262.htm

6969