La lecture à portée de main
150
pages
Français
Documents
2011
Écrit par
Laurent Poulenard
Publié par
dumas_ccsd
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
150
pages
Français
Ebook
2011
Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres
Publié par
Publié le
01 avril 2011
Nombre de lectures
135
Langue
Français
Poids de l'ouvrage
7 Mo
Publié par
Publié le
01 avril 2011
Nombre de lectures
135
Langue
Français
Poids de l'ouvrage
7 Mo
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
CENTRE REGIONAL RHÔNE-ALPES
CENTRE D'ENSEIGNEMENT DE GRENOBLE
___________________________________________________
MÉMOIRE
présenté par Laurent Poulenard
en vue d'obtenir
LE DIPLÔME D'INGÉNIEUR C.N.A.M.
en INFORMATIQUE
________________________
Diffusion de l'information géographique
avec les services Web :
application au logiciel HyperAtlas
Soutenu le 7 avril 2011
________________________
JURY
Président : M. Eric Gressier-Soudan
Membres : M. Jean-Pierre Giraudin
M. André Plisson
M. Mathias Voisin-Fradin
M. Jérôme Gensel
Mme Hélène Mathian
M. Bruno Orsier
dumas-00592176, version 1 - 11 May 2011dumas-00592176, version 1 - 11 May 2011
CONSERVATOIRE NATIONAL DES ARTS ET METIERS
CENTRE REGIONAL RHÔNE-ALPES
CENTRE D'ENSEIGNEMENT DE GRENOBLE
___________________________________________________
MÉMOIRE
présenté par Laurent Poulenard
en vue d'obtenir
LE DIPLÔME D'INGÉNIEUR C.N.A.M.
en INFORMATIQUE
________________________
Diffusion de l'information géographique
avec les services Web :
application au logiciel HyperAtlas
Soutenu le 7 avril 2011
________________________
Les travaux relatifs à ce mémoire ont été effectués au sein de
l'équipe STEAMER du LIG (Laboratoire d'Informatique de
Grenoble), sous la direction de M. Jérôme Gensel.
dumas-00592176, version 1 - 11 May 2011dumas-00592176, version 1 - 11 May 2011Remerciements
En tout premier lieu, je remercie toutes les personnes qui me font l’honneur de participer au jury de
ce mémoire :
Monsieur Eric Gressier-Soudan, professeur au CNAM Paris et président du jury ; Jean-Pierre Giraudin, à l’Université Pierre Mendès France de Grenoble ;
Monsieur André Plisson, directeur du centre d’enseignement CNAM de Grenoble ; Mathias Voisin-Fradin, directeur adjoint du centre d’enseignement CNAM de Grenoble ;
Monsieur Jérôme Gensel, professeur à l’Université Pierre Mendès France de Grenoble ;
Madame Hélène Mathian, ingénieure de recherche CNRS au laboratoire Géographie-Cités ;
Monsieur Bruno Orsier, responsable R&D chez Agilent Technologies France.
Je tiens à exprimer ma reconnaissance à mes tuteurs, Jérôme Gensel, professeur à l’Université Pierre
Mendès France de Grenoble, et Paule-Annick Davoine, maître de conférences à l’INP de Grenoble,
pour leurs conseils, pour leur soutien, et surtout pour la confiance qu’ils mont accordée tout au long
de mon stage.
Je remercie également tous les membres de l’équipe STEAMER pour leur accueil et leur disponibilité.
Je tout particulièrement Christine Plumejeaud, Anton Telechev et Benoît Le Rubrus. Nos
échanges furent passionnés et passionnants.
Merci aussi à Arnaud Pierrel et Bruno Orsier, de l’entreprise Agilent Technologies France, qui se sont
montrés compréhensifs et m’ont encouragé tout au long de ma formation au CNAM.
Je remercie mon épouse et mes deux filles qui ont su m’entourer de leur affection tout au long de mon
stage.
Je dédie ce mémoire à Georges Stamon, Maurice et Raphaël Poulenard, qui sont à l’origine de ma
passion pour l’informatique.
i
dumas-00592176, version 1 - 11 May 2011ii
dumas-00592176, version 1 - 11 May 2011Table des matières
1 Présentation 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 HyperAtlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Diffusion des données géographiques . . . . . . . . . . . . . . . . . . . . . 9
1.3 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Plan du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 État de l’art 13
2.1 Diffusion de l’information géographique . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Spatial Data Infrastructure (SDI) . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 Carte interactive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Web services géographiques de l’OGC . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 L’organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Standards de l’OGC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.4 L’interopérabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.5 Exemples de spécifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.6 Spécification WMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.7 Client WMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3 Services Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.1 Application Programming Interface (API) . . . . . . . . . . . . . . . . . . . 39
2.3.2 Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3.3 Solutions techniques avec JAVA . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3 Proposition 53
3.1 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.1 Choix de la spécification WMS . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.2 Choix de la solution pour le service Web . . . . . . . . . . . . . . . . . . . 54
3.1.3 Utilisation du service HyperAtlasWMS . . . . . . . . . . . . . . . . . . . . 57
3.1.4 Architecture du client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.5 Utilisation du client BrowserWMS . . . . . . . . . . . . . . . . . . . . . . . 59
iii
dumas-00592176, version 1 - 11 May 20113.2 Cycle de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.1 Méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.2 Découpage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.3 Versions WMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4 Réalisations 63
4.1 Outils et méthodes de développement . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.1 IDE Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.2 Ant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1.3 Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.1.4 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2 Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.1 Standards OGC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.2 Couche WMS abstraite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.2.3 HyperAtlas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3 Client : BrowserWMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.3.2 Interactions avec un service WMS . . . . . . . . . . . . . . . . . . . . . . . 103
4.3.3 Session générique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.3.4 Greffon HyperAtlasPlugin . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.3.5 Éditeur de cartes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5 Conclusion 115
5.1 Rappel des objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.2 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.3 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.4 Bilan personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A Tests 119
A.1 Test unitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.2 Test fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.3 Test de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
B Programmation par contrat dans HyperAtlas 121
C Patron de conception singleton 123
C.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
C.2 Exemple d’inversion des dépendances dans HyperAtlas . . . . . . . . . . . . . . . . 125
Glossaire 127
Bibliographie 129
iv
dumas-005