Rechercher sur le site:
 
Web Memoire Online
Consulter les autres mémoires    Publier un mémoire    Une page au hasard

Mise en place d'une plateforme de cartographie dynamique


par Issa Baldé
Ecole Supérieure Polytechnique de Dakar
Traductions: Original: fr Source:

Disponible en mode multipage

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