|
REPUBLIQUE DU SENEGAL
***** * * ********
UNIVERSITE CHEIKH ANTA DIOP DE
DAKAR
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT GENIE INFORMATIQUE
Centre de Dakar
MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME D'INGENIEUR DE CONCEPTION (DIC) EN GENIE
INFORMATIQUE
Thème :
Etude de solutions libres de webmapping, et mise en
place d'une plateforme de cartographie dynamique
Lieu de
stage : Laboratoire de
Traitement de l'Information
Période
stage : 04 Février 2008 -
30 Juin 2008 
Présenté par : M. Issa
BALDE Sous la direction du professeur :
Claude LISHOU
Année Universitaire : 2007 -
2008
REPUBLIQUE DU SENEGAL
***** * * ********
UNIVERSITE CHEIKH ANTA DIOP DE
DAKAR
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT GENIE INFORMATIQUE
Centre de Dakar
MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME D'INGENIEUR DE CONCEPTION (DIC) EN GENIE
INFORMATIQUE
Thème :
Etude de solutions libres de webmapping, et mise en
place d'une plateforme de cartographie dynamique
Lieu de
stage : Laboratoire de
Traitement de l'Information
Période
stage : 04 Février 2008 -
30 Juin 2008 
Présenté par : M. Issa
BALDE Sous la direction du professeur :
Claude LISHOU
Année Universitaire : 2007 -
2008
DEDICACES
Je dédie ce mémoire :
A ma mère
A mon père
A mon père et tuteur feu Ismaïla
Baldé (Que la terre lui soit légère)
A ma famille pour tout son soutien
A tous mes camarades de classe, pour ces 3 années de
compagnonnage, je vous adore tous
A tous mes voisins de chambre (ceux de la
31A et de la 17A)
REMERCIEMENTS
Après avoir
rendu grâce à DIEU,
J'adresse mes remerciements les plus
chaleureux à :
· Mes parents que je ne remercierai jamais
assez,
· Pr. Claude LISHOU qui m'a
accueillit et encadrer durant toute la durée du stage
· M. Samuel
Ouya, Chef du département génie
informatique pour avoir souvent organisé des pré-soutenances qui
nous ont permis de rectifier nos erreurs et d'améliorer nos
présentations
· Mme Awa NIANG au labo
LTI
· M. Roger M. Faye au labo
LTI
· M. Salam Sawadogo au labo
LTI
· M. Mbaye DIOP chercheur au labo
LERG (Laboratoire d'Enseignement et de Recherche en Géomatique)
· M. Ahmat Bamba
Mbacké, (mention spéciale) pour sa disponibilité,
ses conseils, et son ouverture envers tous les étudiants
· M. Alex
Corenthin, enseignant au département
génie informatique pour les efforts fournis afin de nous placer en
position de stage
· M. Mamadou
NIANG, responsable pédagogique des
ingénieurs au département génie informatique
· Tout le corps professoral du département
génie informatique pour la qualité de leur enseignement
· Tous les membres du Labo LTI, pour avoir bien
accueilli et facilité mon intégration
Toutes les personnes qui de
prés ou de loin, ont contribué à la réalisation de
ce document.
1. TABLE DES MATIERES
Sigles et Abréviations
..................................................................................9
Glossaire 10
Table des figurs 11
Les tableaux 12
Table des
diagrammes.................................................................................13
Avant-propos 14
Introduction 15
1ere Partie : Présentation
générale et Choix de la méthode d'analyse et de
conception
· Chapitre
1 : Présentation générale
17
I. Présentation de la structure
d'accueil
17
II. Contexte du projet
17
1. Le projet TIC & Gouvernance locale
17
2. Problématiques et objectifs
18
· Chapitre
2 : Etat de l'art du Webmapping
20
I. Définition et présentation
des concepts de la cartographie en ligne
20
1. La cartographie
20
2. Le Webmapping ou cartographie dynamique sur
Internet
20
3. Principe de la cartographie sur Internet
20
II. Unités
cartographiques(I)
22
1. Point
22
2. Ligne ou segment de ligne
22
3. Surface ou zone
22
III. Nature des données
23
1. Les données
géométriques
23
a. Le mode raster
23
b. Le mode vecteur
23
2. Les données attributaires
23
IV. Affichage par couche
24
V. Les principales fonctionnalités
d'un SIG (I)
24
1. Abstraction :
25
2. Acquisition
25
3. Archivage
25
4. Analyse
25
5. Affichage
25
VI. Quelques solutions de Webmapping existants
25
1. Google Map
25
2. ArcGIS
26
· Chapitre
3 : Choix d'une méthode d'analyse
27
I. Définition des concepts
27
II. Pourquoi utiliser une
méthode ? (II)
28
III. Classification des méthodes
d'analyse et de conception
28
1. Les méthodes cartésiennes ou
fonctionnelles (II)
28
2. Les méthodes systémiques
(II)
28
3. Les méthodes objets
(II)
29
4. Approche orientée aspect
29
IV. Choix d'une méthode d'analyse et
de conception
31
1. Le Processus Unifié (UP)
31
a. Définition
31
b. Vie du processus unifié
32
c. Les Phases
34
2. La méthode RAD
35
V. Le langage UML
36
1. Pourquoi UML ?
36
2. Diagrammes structurels (les vues
statiques)
37
a. Les cas d'utilisation (uses cases)
37
b. Les diagrammes d'objets
38
c. Les diagrammes de classes
38
d. Les diagrammes de paquetages (ou
package)
38
e. Les diagrammes de composants et de
déploiement
38
3. Diagrammes comportementaux (les vues
dynamiques)
38
a. Les diagrammes de séquence
39
b. Les diagrammes de collaboration
39
c. Les diagrammes d'états-
transitions
39
d. Les diagrammes d'activités
39
2eme Partie : Analyse et Conception de la
plateforme
· Chapitre
4 : Analyse de la plateforme
41
I. Les acteurs du système
41
1. L'administrateur :
41
2. Responsable du site
41
3. Les utilisateurs membres
41
4. Les visiteurs
41
II. Interactions entre les acteurs et le
système
42
1. Diagrammes de cas d'utilisation
42
2. Scénarios textuels des cas
d'utilisation
45
3. Comportement des cas d'utilisation
47
4. Diagramme de classe d'analyse
49
· Chapitre
5 : Conception de la plateforme
51
I. Solution technique
51
1. Le portail d'accueil du SIG
51
2. Interface protégée
52
II. Fonctionnement du système
53
1. Etats des objets
53
2. Chronologie des interactions
55
3. Ebauche du diagramme de classe
57
3ere Partie : Mise en oeuvre de la
plateforme
· Chapitre
6 : Choix des outils à utiliser
60
I. Les Systèmes de Gestion de Bases
de données spatiaux
60
1. Présentation des
différences entre les cartouches spatiales
60
a. Model Objet
60
b. Système de Référence
Spatial
61
c. Prédicats
61
d. Opérateurs
61
e. Métadonnées
62
2. Présentation des
évaluations quantitatives des cartouches spatiales
62
a. Temps d'exécution
62
b. Critères de notations
63
3. Conclusion sur les SGBDR spatiaux
64
II. Les serveurs cartographiques
64
1. GéoServer
64
2. MapServer
65
a. Présentation de MapServer
65
b. Principes de fonctionnement
67
c. Fonctionnalités de MapServer
68
d. Points forts et points faibles de
MapServer
69
3. ArcIMS (I)
70
4. Conclusion sur les serveurs
cartographiques
71
III. Les serveurs web
71
1. Points forts et points faibles
71
2. Choix selon les besoins
72
a. Compétences faibles et exigences
modestes: IIS
72
b. Compétences fortes, tous types
d'exigences: Apache
72
c. Compétences moyennes et exigences
très fortes: Zeus
72
3. Autres informations pratiques
73
4. Conclusion sur les serveurs web
73
IV. Choix de la solution à
implémentée
74
· Chapitre
7 : Implémentation de la solution
75
I. Environnement de Travail
75
1. Environnement matériel
75
2. Environnement logiciel
75
II. Architectures de la plateforme
76
1. Architecture logiciel du
système
76
2. Architecture physique du
système
77
3. Architecture applicative de la
plateforme
77
4. Sécurité de la
plateforme
79
III. Présentation de
l'application
80
1. Zone privée
80
2. Interface publique
82
Conclusion générale
85
Réferences 86
Index 87
Annexes 88
SIGLES ET ABREVIATIONS
Le tableau ci-après représente la
traduction de quelques sigles et abréviations utilisés dans ce
document.
|
SIG
|
Système d'Information
Géographique
|
|
PFE
|
Projet de Fin
d'Etude
|
|
DUT
|
Diplôme Universitaire de
Technologie
|
|
BTS
|
Brevet de Technicien
Supérieure
|
|
DUES
|
Diplôme Universitaire
d'Etude Scientifique
|
|
API
|
Application Programming
Interface
|
|
PHP
|
Pre-HyperTexte-Processor
|
|
GPS
|
Global Positioning
System.
|
|
SGBD
|
Système de Gestion
de Bases de Données
|
|
CGI
|
Common Gateway
Interface
|
|
OGC
|
OpenGis
Consortium
|
|
ODBC
|
Open
DataBase Connectivity
|
|
XML
|
EXtensible Markup
Language
|
|
HTML
|
HyperText
Markup Language
|
|
SRS
|
Système de
References Spatiaux
|
|
UML
|
Unified Modelling
Language
|
|
AUF
|
Agence Universitaire de
la Francophonie
|
|
CNRS
|
Centre National de la
Recherche Scientifiques
|
|
IRD
|
Institut de Recherche pour
le Développement
|
|
JDK
|
Java Developpement
Kit
|
|
ESRI
|
Environmental Systems
Research Institute
|
|
UP
|
Unified Process
|
|
RAD
|
Rapid Application
Development
|
|
DBF
|
Data Base
File
|
|
SHP
|
SHaPe
|
|
SHX
|
SHape indeX
|
2. GLOSSAIRE
· Webmapping :
C'est la diffusion de carte via internet
·
Cartographie : C'est l'étude du tracé
de cartes
·
API : Application
Programming Interface. Il s'agit ici de l'ensemble des commandes
permettant d'accéder aux fonctionnalités du noyau
MapServer.
· CGI :
Un programme CGI est exécuté côté serveur. Il
permet l'échange de données entre le serveur et le navigateur.
Quand il reçoit une requête du poste client, le CGI
détermine (en fonction de l'extension) l'action à
effectuer.
· Open
Source : Possibilité de libre
redistribution, d'accès au code source, et de travaux
dérivés
·
Implémentation : Elle consiste à
réaliser le programme conformément aux critères
définis dans les phases d'analyse et de conception.
· Framework :
Infrastructure logicielle facilitant la conception et le
développement d'applications
· Layer : Il
s'agit d'un terme anglais signifiant « couche »
· Serveur :
C'est une machine ou un programme qui offre un service à un
client (source : Wikipédia)
·
Shapefile : "fichier de formes" est un
format de fichier issu du monde des Systèmes d'Informations
Géographiques (ou SIG).Initialement développé par ESRI
pour ses logiciels commerciaux, ce format est désormais devenu un
standard de facto, et largement utilisé par un grand nombre de logiciels
libres.
· Mapfile :
C'est un fichier texte d'extension .map qui contient toute la description de
l'image à générer par MapServer.
·
DBF :
extension de fichier qui contient les
données attributaires relatives aux objets contenus dans le
Shapefile.
· SHX :
extension de fichier qui stocke l'index de la géométrie.
· OGC : C'est
l'organisme référent en matière de normalisation des
informations géographiques. Association à but non lucratif, l'OGC
élabore des normes pour le traitement de l'information
géographique sur des plateformes informatiques ouvertes. Une de ses
spécifications est de faciliter l'interopérabilité des
systèmes afin de promouvoir le développement des SIG
libres.
· Extent :
L'extent correspond à l'étendue de la carte en coordonnées
géographique dans un système de projection
spécifique.
TABLE DES
FIGURES
Figure 1.1: Les modules du projet TIC &
Gouvernance Locale
18
Figure 2.1: Principe de cartographie sur
Internet
21
Figure 2.2: Procédé de
superposition de couches
24
Figure 2.3: la gamme de produit ArcGIS
26
Figure 3.1 : Illustration du caractère
itératif de UP
31
Figure 3.2 : Modèle représentant
les 4+1 vues de Kruchten
32
Figure 3.3 : Architecture bidirectionnelle du
PU
33
Figure 5.1 : Présentation du portail
LtiSig zone publique
52
Figure 5.2 : Présentation de
l'interface privée
53
Figure 6.1 : Représentation de la
note de chaque SGBD selon les critères choisis
63
Figure 6.2: Architecture de MapServer
67
Figure 6.3: Architecture de la solution
choisie
74
Figure 7.1 : Architecture applicative de la
plateforme
78
LES TABLEAUX
Tableau 4.1 : scénario textuel du cas
« Authentification »
45
Tableau 4.2 : scénario textuel du cas
« Navigation sur le portail »
46
Tableau 4.3 : scénario textuel du cas
« importer shapefile »
46
Tableau 5.1 : présentation des classes
de la phase conception
57
Tableau 5.2 : présentation des
attributs et opération des classes de la phase conception
58
Tableau 6.1 : Comparaison base de
données spatiaux : Version des SGBD
60
Tableau 6.2 : Comparaison base de
données spatiaux : Model objet
60
Tableau 6.3: Comparaison base de
données spatiaux : SRS
61
Tableau 6.4 : Comparaison base de
données spatiaux : Prédicats
61
Tableau 6.5: Comparaison base de
données spatiaux : Opérateurs
61
Tableau 6.6: Tables de
métadonnées définies par l'OGC
62
Tableau 6.7: Comparaison base de
données spatiaux : Gestion des métadonnées
62
Tableau 6.8 : Comparaison base de
données spatiaux : Temps d'exécution
62
Tableau 6.9: Comparaison base de données
spatiaux : Notations
63
Tableau 6.10 : Avantages et
inconvénients de GéoServer
65
Tableau 6.11: Extrait d'un Mapfile
66
Tableau 6.12: Points forts et points faibles
de MapServer
69
Tableau 6.13 : Points forts et points faibles des
serveurs web étudiés
71
Tableau 6.14 : Tableau donnant des
informations sur le Prix et la compatibilité pour les serveurs web
73
Tableau 7.1 : Caractéristiques des
équipements
75
Tableau 7.2: Les outils logiciels
utilisés
75
Tableau 7.3: Les librairies
utilisées
76
TABLE DES DIAGRAMMES
Diagramme 4.1 : Diagramme de cas d'utilisation
général
42
Diagramme 4.2 : Diagramme de cas d'utilisation
«Navigation sur le portail »
43
Diagramme 4.3 : Diagramme de cas d'utilisation
«Accès à la zone privée »
44
Diagramme 4.4 : Diagramme d'activité
«Authentification »
48
Diagramme 4.5 : Diagramme d'activité
«Accès à la zone privée »
48
Diagramme 4.6 : Diagramme d'activité
«importer shapefile »
49
Diagramme 4.7 : Diagramme de classe
d'analyse
50
Diagramme 5.1 : Diagramme
d'état-transition de l'objet utilisateur
53
Diagramme 5.2 : Diagramme d'état -
transition de l'objet couche
54
Diagramme 5.3 : Diagramme d'état -
transition de l'image générée
54
Diagramme 5.4 : Diagramme de séquence
de l'accès à la zone privée
55
Diagramme 5.5 : Diagramme de séquence
de l'importation des shapefile
56
Diagramme 5.6 : Diagramme de séquence
de navigation sur le portail
57
Diagramme 5.7 : Diagramme de classe de la
phase conception
58
Diagramme 7.1 : Diagramme de composants du
système
76
Diagramme 7.2 : Diagramme de
déploiement du système
77
AVANT- PROPOS
Le département génie informatique de
l'école supérieure polytechnique(ESP) de Dakar dispose d'un cycle
d'ingénieur de conception qui dure trois(3) ans. Cette formation est
accessible aux titulaires d'un DUT ou d'un BTS sélectionnés
sur dossier d'un DUES scientifique sélectionnés sur concours.
Ce cycle a pour objet de former des ingénieurs informaticiens dans le
domaine général de la gestion, de l'organisation et de la
production dans les entreprises.
Toutefois cette formation est bouclée par un stage d'au
moins cinq(5) mois durant lequel un PFE est soumis à
l'élève. Ce stage lui permettra, non seulement de mettre en
pratique ses connaissances, mais aussi d'intégrer le milieu
professionnelle.
A l'issue de ce stage un mémoire, expliquant clairement
le travail de réalisation du PFE, sera présenté et soutenu
devant un jury.
C'est dans ce contexte que nous avons été
accueillit au sein du Laboratoire de Traitement de l'Information (LTI).
INTRODUCTION
L'homme est culturellement initié aux
représentations symboliques, la cartographie en est une traduction. Elle
est la première étape de la création des Systèmes
d'Informations Géographiques.
L'essor des moyens de communication modernes tels que Internet
ont très vite servi de support à la diffusion cartographique.
L'arrivée à maturité de façon synchrone des SIG,
d'Internet et de l'élaboration d'une normalisation ont permis le
développement d'applications à fort potentiel.
Les formats image apparaissent à la fin des
années 70. Ce sont des formats d'images en mode matriciel. Mais il faut
attendre les années 90 pour voir apparaître des formats vectoriels
normalisés. Pour les représentations cartographiques cela
représente la base. Car le mode matriciel étant ancien, les
premières applications vont s'orienter sur ce mode vectoriel qui va
marquer profondément leur architecture.
L'élaboration de SIG performants et du Web sont
passés par de fortes structurations des données. Ces
données ainsi homogénéisées ont permis de concevoir
des systèmes qui analysent le contenu sans s'occuper de la forme. De
tels systèmes se sont ouverts au Web qui a connu les mêmes
structurations. Ceci a permis des représentations cartographiques sur le
Web. Certaines applications se limitent à un affichage d'information
spatialisé qui associées à la diffusion du Web introduit
un nouveau concept, le Webmapping1(*) qui est apparu au milieu des années 90. Le
Webmapping, ou diffusion de cartes via le réseau internet, est
un domaine en pleine expansion grâce au développement des
solutions Open Sources2(*).
C'est dans cette optique que, le Laboratoire de Traitement de
L'information, dans le cadre des projets d'appui à la
décentralisation au Sénégal, nous a confié le
projet de fin d'étude qui s'intitule
ainsi : « Etude de solutions libres de Webmapping,
et mise en place d'une plateforme de cartographie
dynamique ». Il s'agit donc pour nous de proposer une
solution libre de Webmapping, et ensuite de l'utiliser pour concevoir et mettre
en oeuvre une application pouvant importer et afficher des cartes
dynamiquement. La plateforme doit pouvoir gérer des données
cartographiques de formats vectoriels et rasters.
L'objectif premier du PFE est de se doter d'une plateforme
cartographique accessible via internet, permettant non seulement d'afficher des
cartes à la demande d'un utilisateur, mais aussi de positionner des
zones stratégiques en monde rurale sur celle-ci connaissant leurs
coordonnées géographiques. Ces zones sont réparties sous
forme de couches et il s'agit entre autres des écoles, des postes de
santé, des points d'eau, des institutions administratives.
L'application doit en outre offrir des outils de navigation
sur la carte. Ces outils sont entre autres le zoom, le déplacement,
affichage des informations d'une zone, affichage de la légende de la
carte.
Un autre objectif est de pouvoir représenter les
cadastres de certaines zones rurales découpés en parcelles
connaissant leurs limites géographiques.
Ce document est subdivisé en trois grandes parties. La
première partie concerne la présentation générale
qui est elle-même constituée en trois chapitres dans lesquels nous
avons d'abord fait une présentation de la structure d'accueil, du
contexte du projet et des objectifs, ensuite le chapitre suivant évoque
l'état de l'art du webmapping où nous avons définit des
concepts de la cartographie sur internet, enfin le dernier chapitre de cette
partie à été consacré au choix d'une méthode
d'analyse et de conception. La seconde partie intitulée analyse et
conception évoque en deux chapitres l'étude fonctionnelle et
conceptuelle de l'ensemble des besoins des utilisateurs.
Dans la dernière partie consacrée à la
mise en oeuvre de la solution, nous distinguons deux chapitres. Le premier
chapitre est réservé au choix des outils à utiliser pour
réaliser la solution. Dans ce chapitre, nous avons mené des
études comparatives entre les différents outils susceptibles
d'être utilisé. Le tout dernier chapitre est consacré
à l'implémentation de la solution choisie.
CHAPITRE
1
Présentation
générale
I. Présentation de
la structure d'accueil
Dans cette partie nous allons présenter la structure au
sein de laquelle nous avons passé ces 5 mois de stage. Il s'agit en
l'occurrence du labo LTI3(*).
Créé en janvier 2004 le LTI est devenu l'un des
plus importants laboratoires de l'Ecole Supérieure Polytechnique,
unité de recherche, transversale sur les Sciences de
l'Ingénieur. Les activités du LTI couvrent un large spectre
qui part de l'océanographie pour aboutir à des systèmes
complexes de transport, en passant par tous les composants de la chaîne
informatique : réseaux, systèmes répartis, calcul
numérique et calcul formel, logiciels de la recherche d'information et
d'aide à la décision, codage des langues nationales sur internet.
Le LTI se veut centre africain de référence et d'excellence
au coeur de la recherche et de ses applications. C'est dans cette optique
qu'ont été créées des collaborations avec les
grandes écoles de la sous région, unissant leur
compétence à celles du LTI.
Le laboratoire est également largement impliqué
dans les formations par la recherche, à travers le Mastère
Recherche SPI. Les chercheurs du LTI participent à de nombreux
programmes de recherche nationaux ou internationaux (AUF, CRDI, CNRS, etc...).
Ils sont les acteurs majeurs de l'activité scientifique internationale
par le biais de l'animation de comités éditoriaux de revues, de
l'organisation de très nombreuses conférences, l'accueil des
chercheurs étrangers etc. Enfin, le LTI entretient un tissu de relations
industrielles et des collaborations académiques avec des
universités ou des centres de recherche comme l'IRD à travers des
projets communs.
II. Contexte du
projet
1. Le projet TIC &
Gouvernance locale
Ce projet s'inscrit dans le contexte de la mise en oeuvre du
plan d'action du Sommet mondial sur la société de l'information
(SMSI). Ce plan met l'accent entre autres sur la nécessité d'un
partenariat public-privé pour permettre aux collectivités
africaines un accès généralisé aux technologies de
l'information et de la communication (TIC) pour stimuler leur
développement économique et sociale.
Le projet est une initiative conjointe d'Alcatel, du CRDI et
du FENU (Fonds d'équipement des Nations Unies). Il consiste à
conduire une expérience-pilote d'intégration d'applications et
services de TIC dans le processus de décentralisation et de gouvernance
locale au Sénégal. Il sera déployé dans huit
communautés rurales de deux départements (Kaffrine et
Kébémer), zones d'intervention du FENU, par une équipe
pluridisciplinaire de chercheurs du Laboratoire de traitement de l'information
de l'Ecole supérieure polytechnique de Dakar. Le projet pilote devra
fournir des enseignements de base pour une extension de l'expérience
dans l'espace et dans le temps. La figure ci-dessous donne les
différents modules ciblés par le projet.

Figure 1.1: Les
modules du projet TIC & Gouvernance Locale
2. Problématiques
et objectifs
Notre séjour au laboratoire de traitement de
l'information, a consisté à la mise en place du module
« Localisation cartographique
rurale ».
Il s'agissait donc pour nous de réaliser une plateforme
de cartographie dynamique accessible via internet à partir des outils du
monde libre.
Cette plateforme devra mettre à la disposition des
utilisateurs, le maximum de fonctionnalités offertes par un SIG
classique.
Il faut pouvoir positionner géographiquement des zones
stratégiques sur une carte. Il faudra égalent affiner la
navigation sur la carte en implémentant des outils de navigations tels
que le zoom +, le zoom - et le déplacement.
Il faudra aussi pouvoir afficher la légende de la
carte créée pour une meilleure lecture de l'image.
Lors qu'on sélectionne une zone, l'application devra
pouvoir afficher l'ensemble des informations concernant cette zone.
A travers cet outil cartographique, les projets d'appui
à la décentralisation au Sénégal ont pour but de
mettre à la disposition des communautés rurales une cartographie
complète des centres stratégiques tels que :
· Les écoles
· Les centres de santé
· Les postes de santé
· Les points d'eau
· Les institutions administratives
· ......
Par ailleurs un autre objectif peut être
distingué. Il s'agit de pouvoir visualiser le cadastre d'une zone
découpé en parcelles. Ce qui permettra bien sûre de pouvoir
localiser les champs dans un village, connaitre le propriétaire, la
surface et d'autres descriptions importantes.
CHAPITRE
2
Etat de l'art du Webmapping
I. Définition et présentation des
concepts de la cartographie en ligne
La cartographie en ligne répond à de
réels besoins de diffusion rapide de l'information et de mise à
jour à distance des données. Bien que le résultat
cartographique permette de faciliter la compréhension de l'espace
environnant, la mise en oeuvre de telles plateformes demande des
compétences transversales à la fois en informatique et en
géographie.
1. La cartographie
La cartographie désigne la réalisation et
l'étude des cartes. Elle mobilise un ensemble de techniques servant
à la production des cartes. La cartographie constitue un des moyens
privilégiés pour l'analyse et la communication en
géographie. Elle sert à mieux comprendre l'espace, les
territoires et les paysages. Elle est aussi utilisée dans des sciences
connexes, démographie, économie dans le but de proposer une
lecture spatialisée des phénomènes.
2. Le Webmapping ou cartographie dynamique sur
Internet
Ce terme générique défini à la
fois le processus de distribution de cartes via un réseau tel que
l'Internet ou l'Intranet et leur visualisation dans un navigateur. En d'autres
termes on peut l'appeler un SIG web.
Les données stockées et mises en relation dans
les SGBDR correspondent aux informations attributaires décrivant
l'espace donné, tandis que les objets géographiques tels que le
point, la ligne et le polygone sont des données
géométriques référencées dans un plan en x
par la longitude et en y par la latitude voire en z pour l'altitude.
Les données sont directement reliées à
une géométrie particulière dans un SIG grâce
à des connexions informatiques ODBC.
Dans une conception en ligne, la visualisation des cartes
passe par des programmes installés sur des serveurs cartographiques qui
communiquent par des protocoles prédéfinis. La
géométrie est gérée grâce à la
cartouche spatial du SGBDR.
3. Principe de la cartographie sur
Internet
La solution la plus répandue actuellement dans le
domaine de la mise en ligne de données cartographiques consiste à
créer à la volée une image correspondant à la
demande de l'utilisateur. Pour cela, il est le plus souvent fait appel à
un serveur cartographique.
C'est le protocole de communication TCP/IP qui permet à
des ordinateurs branchés en réseau d'échanger de
l'information via un navigateur web ou de transférer des fichiers via le
protocole ftp. L'architecture est de type client/serveur c'est-à-dire
qu'il existe une série d'ordinateurs dits clients connectés
à un serveur dédié qui lui-même communique vers
l'extérieur ou avec des serveurs particuliers par
l'intermédiaire de leur adresse IP. L'utilisateur sur sa machine locale
effectue des requêtes pour demander une carte spécifique ; le
serveur cartographique interprète cette requête et renvoie la
carte sous la forme d'une image matricielle (gif, jpg, png,...) ou vectorielle
(svg, flash). Le serveur cartographique est télécommandé
par des langages de script qui lui permettent de charger dynamiquement une
carte en réponse à la requête. L'ordinateur serveur peut
chercher cette information soit dans ses propres ressources, soit sur des
serveurs de données distants.

Figure 2.1:
Principe de cartographie sur Internet
La consultation de l'information requiert une installation
essentiellement côté serveur avec des logiciels tels que Apache ou
IIS (Internet Information Services) qui tournent en tâche de fond et
permettent aux serveurs de cartes d'accéder à l'Intranet et/ou
à l'Internet.
Il faut aussi rajouter des interpréteurs de scripts et
éventuellement une visionneuse pour afficher la carte sur le navigateur
du client. La visionneuse peut être un applet ou un servlet.
Dans le cas de l'applet, la visionneuse se
télécharge côté client à chaque utilisation,
dans le cas du servlet, elle s'exécute directement sur le serveur, la
différence se situe au niveau de la rapidité de chargement et de
la saturation potentielle des capacités du serveur.
Les requêtes sur un serveur cartographique peuvent
êtres exécutées par le navigateur ou par un programme
appelant. Les moteurs cartographiques sont des programmes dont le rôle
est de fabriquer à la volée, selon la demande de l'utilisateur
des fichiers images représentant des données géographiques
stockées sur le disque dur du serveur ou sur un autre serveur
relié. Au niveau du serveur de données, les SGBDR tels que
PostgreSQL ou MySQL, entre autres, peuvent être installés
directement sur le serveur contenant le serveur cartographique ou bien à
distance. Qu'importe le lieu, l'important est de pouvoir consulter et
éditer des données à distance.
II. Unités
cartographiques(I)
1.
Point
Le point est un élément sans dimension. Sa
localisation est donnée par ses coordonnées. Ce concept est
référencé à des étiquettes (constituant la
légende) qui permettent sa compréhension. Quoique sans dimension,
la notion de point soit relative à l'échelle à cause de
ce qu'elle peut représenter (hôpital ou ville). La notion de
distance entre deux points est souvent utilisée comme lien
topologique.
2. Ligne ou segment de
ligne
La ligne ou segment de ligne est un élément
à une dimension. Sa localisation est déterminée par les
coordonnées des deux extrémités du segment.
L'épaisseur du trait ou la forme du trait apporte une information
supplémentaire sur sa signification thématique. La notion de
distance est souvent utilisée pour caractériser une ligne.
3. Surface ou
zone
La surface ou zone est l'espace limité par une ligne
fermée ou un polygone. Du point de vue cartographique, c'est un
élément à deux dimensions. La localisation d'une surface
s'exprime par les coordonnées de son centre de gravité, d'une
référence interne ou des sommets du polygone qui forme ses
limites.
Un noeud est défini comme un sommet constituant
l'intersection de plus de deux segments tandis que la chaîne correspond
à la ligne brisée dont les deux extrémités sont des
éléments.
III. Nature des
données
1. Les données
géométriques
Décrivent les objets : leurs formes (ligne,
surface ou points), leur position par rapport à un système de
coordonnées ainsi que les relations spatiales entre ces
différents objets. Deux modes techniques permettent de mettre en oeuvre
cette information :
a. Le mode
raster
Nativement, un navigateur Web
connaissant le HTML peut
afficher une image numérique, encore appelée image BITMAP. Elle
se compose donc d'une matrice de pixels (abréviation de l'anglais
« Picture élément »), c'est-à-dire de
petits carrés noirs ou blancs ou de différents tons de gris ou de
couleur juxtaposés. Généralement les formats d'image les
plus utilisés sont le GIF, le JPEG et le PNG.
Le format GIF limite à 256 le nombre de couleurs
possibles mais restitue une image sans perte d'information. Il permet aussi de
gérer des effets de transparence. Le format JPEG ne connaît pas
cette limite et supporte des taux de compression plus élevés au
prix d'une certaine dégradation de l'image de base. Le format PNG, qui
est une émanation du consortium W3C, utilise un mode de
compression sans perte d'information qui est réputé d'une
efficacité excellente. Il a l'avantage de pouvoir traiter plusieurs
types d'images et d'être libre de tout droit. Cependant, il est encore
peu utilisé.
b. Le mode vecteur
Les fichiers vectoriels contiennent une description des
entités géographiques à représenter : points,
lignes, surfaces, formes géométriques élémentaires.
A ce jour, deux formats vectoriels se dégagent : le
SVG qui est un format ouvert et le SWF
dit aussi Flash qui est un format propriétaire. Que se
soit l'un ou l'autre des formats vectoriels, aucun n'est lu actuellement par un
navigateur Web sans l'adjonction d'un plug-in.
2. Les données attributaires
Ce sont des attributs mis en relation avec un objet ou une
localisation géographique, soit pour nous renseigner sur un objet
géographique, soit pour localiser des informations. Les données
attributaires regroupent différents types d'informations : nom, valeur
numérique, contenu thématique, etc.
IV. Affichage par couche
Un SIG affiche les informations concernant le monde par
superposition de couches thématiques pouvant être reliées
les unes aux autres par la géographie. Chaque couche contient des objets
de même type (routes, marchés, cours d'eau, limites de communes,
pistes, établissement, hôpitaux,...). Ce concept, à la fois
simple et puissant a prouvé son efficacité pour résoudre
de nombreux problèmes concrets.
Le schéma suivant montre, la création de l'image
de la carte finale par superposition de couches :

Figure 2.2:
Procédé de superposition de couches
V. Les principales fonctionnalités d'un
SIG (I)
Les SIG doivent être à la fois un outil de
gestion pour le technicien et un outil d'aide a la décision pour le
décideur. Il doit donc offrir les fonctions nécessaires à
ces deux objectifs, regroupées sous le terme des `5A':
1. Abstraction :
Elle vise à représenter le monde réel,
en organisant les données par composants géométriques et
par attributs descriptifs et en en établissant des relations entre les
objets.
2. Acquisition
L'acquisition revient à alimenter le SIG en
données par saisie des informations géographiques sous forme
numérique : la forme des objets géographiques et leurs
attributs et relations.
3.
Archivage
L'archivage revient à gérer la base de
données en transférant les données de l'espace de travail
vers l'espace d'archivage.
4.
Analyse
Elle permet de manipuler et d'interroger des données
géographiques afin de répondre aux requêtes des
utilisateurs.
5.
Affichage
Son but est de permettre à l'utilisateur
d'appréhender des phénomènes spatiaux dans la mesure
où la représentation graphique respecte les règles de la
cartographie.
VI. Quelques solutions de
Webmapping existants
Actuellement il existe une multitude de solutions de
Webmapping sur le marché. Nous allons parler entre autre de Google maps
et de ArcGIS.
1. Google
Map
Google Maps4(*) est un service gratuit de carte géographique et
de plan en ligne. Le service a été créé par Google.
Il s'agit d'une forme de géoportail. Lancé en 2004 aux
États-Unis et au Canada et en 2005 en Grande Bretagne (sous le nom de
Google Local), Google Maps a été lancé jeudi 27 avril
2006, simultanément en France, Allemagne, Espagne et Italie. Ce
service a ceci de particulier qu'il permet, à partir de l'échelle
d'un pays, de pouvoir zoomer jusqu'à l'échelle d'une rue. Deux
types de plan sont disponibles : un plan classique, avec nom des rues,
quartier, villes et un plan en image satellite, qui couvre aujourd'hui le monde
entier. Ce service n'est plus en version bêta depuis le 12 septembre
2007, et a été ajouté aux liens de la page d'accueil de
Google.
2. ArcGIS
Les récents développements de l'informatique
(généralisation d'Internet, avancées dans la technologie
des SGBD, programmation orientée objet, informatique nomade) et une
large adhésion au SIG ont fait évoluer ses perspectives et son
rôle. En plus de l'environnement bureautique, les logiciels SIG
peuvent être centralisés sur des serveurs d'applications et des
serveurs Web pour fournir des fonctions SIG à un nombre infini
d'utilisateurs par l'intermédiaire de réseaux. Des ensembles
spécifiques de logique SIG peuvent être incorporés et
déployés dans des applications personnalisées. De
même, le SIG est de plus en plus déployé sur des
périphériques nomades pour des applications de terrain. Dans
un environnement d'entreprise, les utilisateurs se connectent à des
serveurs SIG centraux par l'intermédiaire de SIG bureautiques
traditionnels, de navigateurs Web, d'applications spécialisées,
de matériels nomades et d'appareils numériques. Le concept de
plate-forme SIG progresse.
La gamme de produits ArcGIS5(*) a
été conçue pour s'adapter à ces besoins en
constante évolution et proposer une plateforme SIG complète et
évolutive, comme le montre le schéma ci-dessous.

Figure 2.3: la
gamme de produit ArcGIS
CHAPITRE
3
Choix d'une méthode d'analyse
I. Définition des concepts
L'analyse permet de lister les
résultats attendus, en termes de fonctionnalités, de performance,
de robustesse, de maintenance, de sécurité,
d'extensibilité, etc. L'analyse répond donc à la question
« que faut-il faire ? » et a pour
but de se doter d'une vision claire et rigoureuse du problème
posé et du système à réaliser en déterminant
ses éléments et leurs interactions. Elle met l'accent sur une
investigation du problème et des exigences, plutôt que sur une
solution. A ce niveau d'abstraction, on doit capturer les besoins principaux
des utilisateurs en identifiant les éléments du domaine, ainsi
que les relations et interactions entre ces éléments : les
éléments du domaine sont liés au(x) métier(s) de
l'entreprise, ils sont indispensables à la mission du système,
ils gagnent à être réutilisés (ils
représentent un savoir-faire) (II).
La conception permet de décrire de
manière non ambiguë, le plus souvent en utilisant un langage de
modélisation, le fonctionnement futur du système, afin d'en
faciliter la réalisation. La conception menée à la suite
de la phase d'analyse répond donc à la question
« comment faut-il faire ce qu'il faut
faire ? ». Elle met l'accent sur une solution conceptuelle
qui satisfait aux exigences plutôt que sur une
implémentation6(*). Le processus de conception a ainsi pour but de figer
les choix techniques (outils, langages, frameworks7(*)). Il permet ainsi de
modéliser tous les rouages d'implémentation et de
détailler tous les éléments de modélisation issus
des niveaux supérieurs. Les modèles sont optimisés, car
destinés à être implémentés.
Ainsi, l'analyse sert à la découverte et
à la compréhension et a pour but d'élaborer les
spécifications tandis que la conception sert à structurer et
à développer une solution (II).
II. Pourquoi utiliser une
méthode ? (II)
Les systèmes d'information ont beau gagné en
complexité, les temps de développement n'en sont pas pour autant
extensibles. Il faut, dès lors, privilégier l'approche
métier, associer utilisateurs et informaticiens, optimiser les
ressources et la technologie pour garantir délais et budget. Les
méthodes répondent à ces exigences et permettent la
construction d'applications fonctionnellement et techniquement conformes aux
attentes des divers intervenants du projet.
L'impératif est clair : plus vite, moins cher
et de meilleure qualité. Le succès d'un projet dépend
désormais de deux facteurs essentiels : l'implication des
utilisateurs et une méthode garantissant la réussite du projet
tout autant que la qualité de l'application.
Nous devons noter qu'avec les
progrès du génie logiciel plusieurs méthodes ont vues le
jour. Nous allons, dans le paragraphe suivant, les décrire et les
classifier.
III. Classification des
méthodes d'analyse et de conception
Les méthodes d'analyse et de conception peuvent
être divisées en quatre grandes familles :
1. Les méthodes
cartésiennes ou fonctionnelles (II)
Avec ces méthodes (SADT, SA-SD), le système
étudié est abordé par les fonctions qu'il doit assurer
plutôt que par les données qu'il doit gérer. Le processus
de conception est vu comme un développement linéaire. Il y'a
décomposition systématique du domaine étudié en
sous domaines, eux-mêmes décomposés en sous domaines
jusqu'à un niveau considéré élémentaire.
2. Les méthodes
systémiques (II)
Dans les méthodes systémiques (Merise,
REMORA8(*), etc.), le
système est abordé à travers l'organisation des
systèmes constituants l'entreprise. Elles aident donc à
construire un système en donnant une représentation de tous les
faits pertinents qui surviennent dans l'organisation en s'appuyant sur
plusieurs modèles à des niveaux d'abstraction différents
(conceptuel, organisationnel, logique, physique, etc.)
3. Les méthodes
objets (II)
L'approche objet permet d'appréhender un système
en centrant l'analyse sur les données et les traitements à la
fois. Les stratégies orientées objet considèrent que le
système étudié est un ensemble d'objet coopérant
pour réaliser les objectifs des utilisateurs. Les avantages qu'offre une
méthode de modélisation objet par rapport aux autres
méthodes sont la réduction de la « distance »
entre le langage de l'utilisateur et le langage conceptuel, le regroupement de
l'analyse des données et des traitements, la réutilisation des
composants mis en place.
4. Approche
orientée aspect
Bien qu'en étant encore à ses débuts, la
Programmation Orientée Aspect commence à se
faire connaître et séduit. C'est un principe novateur qui permet
de résoudre les problèmes de séparation des
préoccupations d'une application. Le code résultant devient plus
lisible, réutilisable et le remplacement de composants se fait
rapidement et à moindre coût du fait de la séparation des
préoccupations. Cette séparation se fait par la création
d'aspects contenant le code à greffer à l'application. Un
programme appelé « tisseur » greffe ensuite les aspects de
façon statique après la compilation, ou de façon dynamique
au moment de l'exécution.
Il existe déjà des tisseurs matures, comme
AspectJ pour Java, qui est parfaitement intégré
à Eclipse grâce au plug-in AJDT. La plateforme
.NET possède aussi des tisseurs très prometteurs, tels que
AspectDNG qui permet déjà une utilisation
professionnelle.
· Définition de quelques mots
-clés
Code cible ou code de base : Ensemble de
classes qui constituent une application ou une bibliothèque. Ces classes
n'ont pas connaissance des aspects (il n'y adonc aucune dépendance),
elles ne se "doutent" pas qu'elles vont constituer la cible d'un tissage.
Aspect : Il s'agit du code que l'on
souhaite tisser. Selon les tisseurs, un aspect peut être une simple
classe ou constituer un élément d'un langage
spécifique.
Zone de greffe : Ce sont les "endroits"
dans le code cible dans lesquels aura lieu le tissage.
Tissage : Processus qui consiste
à ajouter (tisser, greffer, injecter) le code des aspects sur les zones
de greffe du code cible.
Tisseur : Programme exécutable ou
framework dynamique qui procède au tissage. Le tisseur peut être
invoqué:
- statiquement avant la compilation du code cible (le tisseur
travaille sur le code source),
- statiquement pendant la compilation du code cible (le
tisseur intègre un compilateur du langage de programmation),
- statiquement après la compilation du code cible (le
tisseur travaille sur le code précompilé: bytecode),
- dynamiquement avant exécution du code (au moment de
la compilation Just-In-Time),
- dynamiquement pendant l'exécution du code (par la
technique d'interception d'invocation de méthode, utilisée
intensivement par les frameworks d'inversion de contrôle).
· Avantages et
inconvénients
Le couplage entre les modules gérant des aspects
techniques peut être réduit de façon très
importante, en utilisant ce principe, ce qui présente de nombreux
avantages :
Maintenance aisée : les modules techniques, sous
forme d'aspect, peuvent être maintenus plus facilement du fait de son
détachement de son utilisation,
Meilleure réutilisation : tout module peut
être réutilisé sans se préoccuper de son
environnement et indépendamment du métier ou du domaine
d'application. Chaque module implémentant une fonctionnalité
technique précise, on n'a pas besoin de se préoccuper des
évolutions futures : de nouvelles fonctionnalités pourront
être implémentées dans de nouveaux modules qui interagiront
avec le système au travers des aspects.
Gain de productivité : le programmeur ne se
préoccupe que de l'aspect de l'application qui le concerne, ce qui
simplifie son travail.
Amélioration de la qualité du code : la
simplification du code qu'entraine la programmation par aspect permet de le
rendre plus lisible et donc de meilleure qualité.
Par contre le tissage d'aspect qui n'est finalement que de la
génération automatique de code inséré à
certains points d'exécution du système développé,
produit un code qui peut être difficile à analyser (parce que
généré automatiquement) lors des phases de mise au point
des logiciels (débogages, test). Mais en fait cette difficulté
est du même ordre que celle apportée par toute
décomposition non linéaire (fonctionnelle ou objet par
exemple).
IV. Choix d'une
méthode d'analyse et de conception
Dans cette partie nous allons présenter deux
démarches d'analyses et de conceptions. Il s'agit de UP et de la
méthode RAD.
1. Le Processus
Unifié (UP)
a.
Définition
Le processus unifié est un processus de
développement logiciel itératif, centré sur
l'architecture, piloté par des cas d'utilisation et orienté vers
la diminution des risques.
C'est un patron de processus pouvant être adaptée
à une large classe de systèmes logiciels, à
différents domaines d'application, à différents types
d'entreprises, à différents niveaux de compétences et
à différentes tailles de l'entreprise.
ü UP est Itératif
L'itération est une répétition d'une
séquence d'instructions ou d'une partie de programme un nombre de fois
fixé à l'avance ou tant qu'une condition définie n'est pas
remplie, dans le but de reprendre un traitement sur des données
différentes.
Elle qualifie un traitement ou une procédure qui
exécute un groupe d'opérations de façon
répétitive jusqu'à ce qu'une condition bien définie
soit remplie.
Une itération prend en compte un certain nombre de cas
d'utilisation et traite en priorité les risques majeurs.

Figure 3.1 :
Illustration du caractère itératif de UP
ü UP est centré sur
l'architecture
Une architecture adaptée est la clé de
voûte du succès d'un développement. Elle décrit des
choix stratégiques qui déterminent en grande partie les
qualités du logiciel (adaptabilité, performances,
fiabilité...).

Figure 3.2 :
Modèle représentant les 4+1 vues de Kruchten
ü UP est piloté par les cas d'utilisation
d'UML
Le but principal d'un système informatique est de
satisfaire les besoins du client. Le processus de développement sera
donc accès sur l'utilisateur.
Les cas d'utilisation permettent d'illustrer ces besoins. Ils
détectent puis décrivent les besoins fonctionnels (du point de
vue de l'utilisateur), et leur ensemble constitue le modèle de cas
d'utilisation qui dicte les fonctionnalités complètes du
système.
b. Vie du processus
unifié
L'objectif d'un processus unifié est de maîtriser
la complexité des projets informatiques en diminuant les risques. UP est
un ensemble de principes génériques adapté en fonctions
des spécificités des projets.
UP répond aux préoccupations suivantes :
QUI participe au projet ?, QUOI, qu'est-ce
qui est produit durant le projet ?, COMMENT doit-il être
réalisé ?, QUAND est réalisé
chaque livrable ?
UP gère le processus de développement par deux
axes.
L'axe vertical représente les
principaux enchaînements d'activités, qui regroupent les
activités selon leur nature. Cette dimension rend compte l'aspect
statique du processus qui s'exprime en termes de composants, de processus,
d'activités, d'enchaînements, d'artefacts et de travailleurs.
L'axe horizontal représente le temps
et montre le déroulement du cycle de vie du processus; cette dimension
rend compte de l'aspect dynamique du processus qui s'exprime en terme de
cycles, de phases, d'itérations et de jalons.

Figure 3.3 :
Architecture bidirectionnelle du PU
UP répète un certain nombre de fois une
série de cycle qui s'articule autours de 4 phases qui sont :
analyse des besoins, élaboration, construction, transition.
Pour mener efficacement un tel cycle, les développeurs
ont besoins de toutes les représentations du produit logiciel qui
sont : un modèle de cas d'utilisation, un modèle d'analyse
détaillant les cas d'utilisation et procéder à une
première répartition du comportement, un modèle de
conception ,finissant la structure statique du système sous forme de
sous-systèmes de classes et interfaces, un modèle
d'implémentation, intégrant les composants, un modèle de
déploiement ,définissant les noeuds physiques des ordinateurs, un
modèle de test, décrivant les cas de test vérifiant les
cas d'utilisation, et une représentation de l'architecture
c. Les
Phases
Pour bien mener un projet du début à la fin, UP
préconise les phases suivantes :
ü Expression des besoins
L'expression des besoins comme son nom l'indique, permet de
définir les différents besoins : inventorier les besoins
principaux et fournir une liste de leurs fonctions, recenser les
besoins fonctionnels (du point de vue de l'utilisateur) qui
conduisent à l'élaboration des modèles de cas
d'utilisation, appréhender les besoins non fonctionnels
(technique) et livrer une liste des exigences.
Le modèle de cas d'utilisation présente le
système du point de vue de l'utilisateur et représente sous forme
de cas d'utilisation et d'acteur, les besoins du client.
ü Analyse
L'objectif de l'analyse est d'accéder à une
compréhension des besoins et des exigences du client. Il s'agit de
livrer des spécifications pour permettre de choisir la conception de la
solution. Un modèle d'analyse livre une spécification
complète des besoins issus des cas d'utilisation et les structure sous
une forme qui facilite la compréhension (scénarios), la
préparation (définition de l'architecture), la modification et la
maintenance du futur système.
Il s'écrit dans le langage des développeurs et
peut être considéré comme une première
ébauche du modèle de conception.
ü Conception
La conception permet d'acquérir une
compréhension approfondie des contraintes liées au langage de
programmation, à l'utilisation des composants et au système
d'exploitation. Elle détermine les principales interfaces et les
transcrit à l'aide d'une notation commune. Elle constitue un point de
départ à l'implémentation :
- elle décompose le travail d'implémentation en
sous-système
- elle crée une abstraction transparente de
l'implémentation
ü Implémentation
L'implémentation est le résultat de la
conception pour implémenter le système sous formes de composants,
c'est-à-dire, de code source, de scripts, de binaires,
d'exécutables et d'autres éléments du même type. Les
objectifs principaux de l'implémentation sont de planifier les
intégrations des composants pour chaque itération, et de produire
les classes et les sous-systèmes sous formes de codes sources.
ü Tests
Les tests permettent de vérifier des résultats
de l'implémentation en testant la construction. Pour mener à bien
ces tests, il faut les planifier pour chaque itération, les
implémenter en créant des cas de tests, effectuer ces tests et
prendre en compte le résultat de chacun.
2. La méthode
RAD
Aujourd'hui, qualité et réactivité font
partie des objectifs généraux de beaucoup d'entreprises. Cela
entraîne un certain nombre de projets, qui tout en apportant satisfaction
aux utilisateurs, doivent être menés dans un délai court.
C'est à cela que répond la méthode RAD. RAD est une
méthode basée sur le partenariat. L'utilisateur s'affirme le vrai
maître de son application et, par sa participation active, il s'en
approprie la réalisation. Le RAD et le prototypage permettent de
réaliser en concevant, tout en testant ce que l'on réalise. La
méthode RAD propose de remplacer le cycle de vie classique par un autre
découpage temporel. Le déroulement est d'abord linéaire,
puis il suit le modèle de la spirale. Les étapes sont au nombre
de cinq :
ü La phase d'Initialisation
Cette phase permet de définir le
périmètre général du projet, de structurer le
travail par thèmes, de sélectionner les acteurs pertinents et
d'amorcer une dynamique de projet. Elle représente environ 6% du projet
en charge.
ü La phase Expression des besoins
Cette phase permet de spécifier les exigences
du système lors des entretiens avec les utilisateurs et de
définir la solution globale sur les plans stratégique,
fonctionnel, technologique et organisationnel. Cette phase représente
environ 9% du projet.
ü La phase de Conception
Cette phase permet de concevoir et de modéliser le
futur système avec le concours des utilisateurs pour l'affinage et la
validation des modèles. C'est aussi dans cette phase que nous validons
le premier niveau de prototype présentant l'ergonomie et la
cinématique générale de l'application. Cette phase
représente environ 23% du projet.
ü La phase de Construction
(développement itératif).
Durant cette phase, notre équipe développe
l'application module par module. L'utilisateur participe toujours activement
aux spécifications détaillées et à la validation
des prototypes. Plusieurs sessions itératives sont
nécessaires. Cette phase représente environ 50% du
projet.
ü La phase de mise en oeuvre
Des recettes partielles ayant été obtenues à
l'étape précédente, il s'agit dans cette phase
d'officialiser une livraison globale et de transférer le système
en exploitation et maintenance. Cette phase représente environ 12% du
projet.
V. Le langage
UML
La modélisation est incontournable pour permettre aux
différents acteurs de coopérer et de dialoguer efficacement.
Ainsi Il est donc important de connaître le langage et les techniques de
modélisation et de savoir quels modèles sont les plus
appropriés dans chaque situation. En effet, de la même
manière qu'il n'est pas judicieux d'utiliser tous les
éléments de la langue française pour écrire un
article, il n'est pas non plus obligatoire d'utiliser tous les concepts du
langage UML dans un projet.
Nous allons, dans les paragraphes suivants, présenter
l'intérêt d'utiliser UML dans la conception d'un SIG ainsi que
les différents diagrammes utilisés par ce langage.
1. Pourquoi
UML ?
Nombreuses sont les tentatives d'application des
méthodes de conception des systèmes d'information pour la mise en
oeuvre des systèmes d'information géographique. Les raisons les
plus significatives de leur inefficacité dans la conception des
systèmes d'information géographique sont entre autres les
suivantes.
Ces méthodes reposent sur deux approches distinctes,
privilégiant soit les données, soit les traitements. Or le
fonctionnement d'un système d'information géographique repose
justement sur une interdépendance étroite entre les
données et les traitements.
L'information géographique s'organise
hiérarchiquement et les traitements qui sont appliqués sont
souvent complexes et reposent aussi sur des processus d'agrégation de
l'information. Or les méthodes proposées par les systèmes
d'information d'entreprise ne prennent en compte que des traitements simples de
type flux ou échange de données.
L'utilisation des méthodes de conception des SI
présuppose que soient, au préalable, clairement identifiés
les besoins des applications et que l'on ait la maîtrise de leur
évolution. Or en matière d'analyse spatiale, de gestion et de
planification territoriale, les besoins s'identifient le plus souvent en
fonction des données dont on dispose, des résultats issus des
traitements réalisés, et de l'évolution des requêtes
adressées par les utilisateurs. Il est certain que la
modélisation UML ayant été élaborée pour
répondre aux besoins des systèmes d'information classiques n'est
donc pas conçue, a priori, pour répondre aux
spécificités des systèmes intégrant de
l'information géographique Ces derniers gérant à la fois
des données graphiques et des données non graphiques sont
considérés comme un cas particulier des SI.
Toutefois, il semble qu'a priori les principaux concepts
proposés par UML soient pertinents pour l'analyse et la conception des
systèmes de gestion et d'analyse des territoires. Cette approche peut
constituer un support intéressant en termes d'acquisition des
connaissances, de structuration de l'information géographique à
intégrer dans l'outil à concevoir, et de spécification des
fonctionnalités de l'outil.
2. Diagrammes structurels (les vues
statiques)
Ces diagrammes permettent de visualiser, spécifier,
construire et documenter l'aspect statique ou structurel du système
d'information. Il s'agit outre les diagrammes de cas d'utilisation, des
diagrammes de classes, d'objets, mais aussi de déploiement et de
composants
a. Les cas d'utilisation
(uses cases)
Les cas d'utilisation sont une technique de description du
système étudié privilégiant le point de vue de
l'utilisateur. Ils décrivent sous la forme d'actions et de
réactions, le comportement d'un système et servent, par
conséquent, à structurer les besoins des utilisateurs et les
objectifs correspondants du système.
La détermination et la compréhension
des besoins sont souvent difficiles car les intervenants sont noyés sous
de trop grandes quantités d'informations. Or, comment mener à
bien un projet si l'on ne sait pas où l'on va ?
Les uses cases ne doivent pas chercher l'exhaustivité,
mais clarifier, filtrer et organiser les besoins. Ils ne doivent donc en aucun
cas décrire des solutions d'implémentation. Leur but est
justement d'éviter de tomber dans la dérive d'une approche
fonctionnelle, où l'on liste une litanie de fonctions que le
système doit réaliser.
b. Les diagrammes
d'objets
Ce type de diagramme UML montre des objets (instances de
classes dans un état particulier) et des liens (relations
sémantiques) entre ces objets. Les diagrammes d'objets s'utilisent pour
montrer un contexte (avant ou après une interaction entre objets par
exemple). Il sert essentiellement en phase exploratoire, car il possède
un très haut niveau d'abstraction.
c. Les diagrammes de
classes
Les diagrammes de classes expriment de manière
générale la structure statique d'un système, en termes de
classes et de relations entre ces classes.
Une classe permet de décrire un ensemble d'objets
(attributs et comportement), tandis qu'une relation ou association permet de
faire apparaître des liens entre ces objets.
d. Les diagrammes de
paquetages (ou package)
Les paquetages sont des éléments d'organisation
des modèles. Ils regroupent des éléments de
modélisation, selon des critères purement logiques. Ils
permettent d'
encapsuler des
éléments de modélisation et de structurer un
système en
catégories (
vue logique) et
sous-systèmes (
vue des composants). Ils
servent de « briques » de base dans la construction d'une
architecture.
e. Les diagrammes de
composants et de déploiement
Les diagrammes de composants permettent de décrire
l'architecture physique et statique d'une application en termes de modules :
fichiers sources, librairies, exécutables, etc. Ils montrent la mise en
oeuvre physique des modèles de la vue logique avec l'environnement de
développement.
Les diagrammes de déploiement montrent la disposition
physique des matériels qui composent le système et la
répartition des composants sur ces matériels. Les ressources
matérielles sont représentées sous forme de noeuds,
connectés entre eux à l'aide d'un support de communication.
3. Diagrammes comportementaux (les vues
dynamiques)
Ils modélisent les aspects dynamiques du
système, c'est à dire les différents
éléments qui sont susceptibles de subir des modifications. Parmi
eux on distingue, les diagrammes de séquence, de collaboration,
d'états - transitions et d'activités.
Ils représentent la dynamique du système,
à savoir, non seulement les interactions entre le système lui
même et les différents acteurs du système, mais aussi, la
façon dont les différents objets contenus dans le système
communiquent entre eux.
a. Les diagrammes de
séquence
Les diagrammes de séquences permettent de
représenter des
collaborations entre objets
selon un point de vue temporel, on y met l'accent sur la chronologie des envois
de messages. Les diagrammes de séquences peuvent servir à
illustrer un
cas d'utilisation
b. Les diagrammes de
collaboration
Les diagrammes de collaboration montrent des interactions
entre objets (instances de classes et acteurs). Ils permettent de
représenter le contexte d'une interaction, car on peut y préciser
les états des objets qui interagissent.
c. Les diagrammes
d'états- transitions
Ces diagrammes servent à représenter des
automates d'états finis, sous forme de graphes d'états,
reliés par des arcs orientés qui décrivent les
transitions. Ils permettent de décrire les changements d'états
d'un objet ou d'un composant, en réponse aux interactions avec d'autres
objets/composants ou avec des acteurs.
Un état se caractérise par sa durée et sa
stabilité, il représente une conjonction instantanée des
valeurs des attributs d'un objet.
Une transition représente le passage instantané
d'un état vers un autre. Une transition est déclenchée par
un événement. En d'autres termes : c'est l'arrivée d'un
événement qui conditionne la transition. Les transitions peuvent
aussi être automatiques, lorsqu'on ne spécifie pas
l'événement qui la déclenche. En plus de spécifier
un événement précis, il est aussi possible de conditionner
une transition, à l'aide de "gardes" : il s'agit d'expressions
booléennes, exprimées en langage naturel (et encadrées de
crochets).
d. Les diagrammes
d'activités
UML permet de représenter graphiquement le comportement
d'une méthode ou le déroulement d'un cas d'utilisation, à
l'aide de diagrammes d'activités (une variante des diagrammes
d'états-transitions). Une activité représente une
exécution d'un mécanisme, un déroulement d'étapes
séquentielles. Le passage d'une activité vers une autre est
matérialisé par une transition. Les transitions sont
déclenchées par la fin d'une activité et provoquent le
début immédiat d'une autre (elles sont automatiques).
En théorie, tous les mécanismes dynamiques
pourraient être décrits par un diagramme d'activités, mais
seuls les mécanismes complexes ou intéressants méritent
d'être représentés.
Conclusion : Le langage UML,
offre ainsi de nombreux avantages pour l'analyse et la conception d'un
système d'information géographique. Par conséquent, nous
combinerons UML au Processus Unifié pour mener à terme notre
système d'information.
CHAPITRE
4
Analyse de la plateforme
Dans ce chapitre, nous allons effectuer une analyse
complète de notre système afin d'effectuer un dimensionnement
correct des caractéristiques de notre produit. Il s'agit donc
d'effectuer une analyse fonctionnelle du système qui consiste à
distinguer les besoins fonctionnelles.
Il s'agit de l'ensemble des fonctionnalités qui
décrivent les services attendus. Dans cette partie, nous allons d'abord
décrire l'ensemble des acteurs qui interagissent avec notre
système, ensuite nous décrirons en détails l'ensemble des
interactions entre ces acteurs et le système à l'aide de
diagrammes de cas d'utilisation et enfin le comportement de ces cas
d'utilisation par des diagrammes d'activité.
I. Les acteurs du
système
Après avoir recensé l'ensemble des besoins, nous
avons distingué les différents acteurs suivants :
1. L'administrateur :
C'est le super-utilisateur qui gère le SIG. Il ajoute
des structures et crée un responsable de site pour chaque structure.
2. Responsable du
site
C'est le groupe de personne qui tous les droits sur
l'application concernant son espace c'est-à-dire seulement ce qui
concerne sa structure et qui est chargé de l'organisation de son site.
Il peut créer d'autres utilisateurs en leur attribuant des droits. C'est
lui qui met à jour et/ou valide toutes les mises à jour
effectuée. Il accède donc à toutes les interfaces de
l'application.
3. Les utilisateurs
membres
Il s'agit d'un groupe d'utilisateur qui est nommé par
l'administrateur et qui accède à l'interface
protégé avec des tâches réduites. Toutes les mises
à jour qu'ils effectuent sont d'abord validées par
l'administrateur avant d'être publiée.
4. Les
visiteurs
C'est le groupe qui accède uniquement à la zone
publique. Ils ne s'authentifient pas, et accède directement à
cette zone pour consultation (affichage d'une carte ou un plan, navigation,
recherches...). En d'autres termes ce sont les internautes.
II. Interactions entre les
acteurs et le système
Ces interactions seront décrites à l'aide de
diagrammes de cas d'utilisation. Si nécessaire certains cas
d'utilisation seront également décrits à l'aide d'un
scénario textuelle.
1. Diagrammes de cas
d'utilisation

Diagramme 4.1 :
Diagramme de cas d'utilisation général
o Le cas d'utilisation « Navigation sur
le portail »
Ici, nous allons nous intéresser au cas
« navigation » car celui-ci permet d'effectuer toutes
les actions de la zone publique. Il faut no |