Memoire de Fin de Cycle: Diplome D'Ingenieur de Conception en Informatique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 74

BURKINA FASO

UNITE-PROGRES-JUSTICE

MINISTERE DES ENSEIGNEMENTS SECONDAIRE ET SUPERIEUR


(MESS)
---------------------------
UNIVERSITE POLYTECHNIQUE DE BOBO-DIOULASSO
(U.P.B.)
---------------------------
ECOLE SUPERIEURE D’INFORMATIQUE
(E.S.I.)

MEMOIRE DE FIN DE CYCLE


en vue de l’obtention du

DIPLOME D’INGENIEUR DE CONCEPTION EN INFORMATIQUE

THEME :

Mise en place d’une base de données à référence spatiale pour la


gestion du recensement de la population et des demandes de parcelles.

Présenté par :
M. TRAORE Ibrahim

Maître de stage : M. Frédéric MILLOGO


Directeur de mémoire : Dr Tiguiane YELEMOU
Année Universitaire 2011 - 2012
N° : …..-2012/CICI3
Dédicace

Je dédie ce document

A TRAORE Tiémoko, mon père


A TRAORE Djénèbou, ma mère

Pour leur soutien tout au long de mes


études
Et à tous mes frères et sœurs

Mémoire de fin de cycle Page I


Préambule

L’Ecole Supérieure d’Informatique (ESI) est l’une des écoles de l’Université Polytechnique de
Bobo-Dioulasso (UPB). Elle forme des ingénieurs de travaux ainsi que des ingénieurs de
conception en informatique.
Le cycle des ingénieurs de travaux informatiques présente deux options à savoir l’Analyse-
Programmation et Réseaux et Maintenance informatiques et s’étend sur trois ans.
Le diplôme d’ingénieur de conception quant à lui se prépare en cinq ans soit deux ans après le
diplôme d’ingénieur de travaux informatiques ou d’un diplôme équivalent.
Les cours théoriques, les travaux dirigés et les travaux pratiques qui sont effectués au sein de
l’école sont accompagnés d’une phase pratique sur le terrain. Ainsi, en deuxième année du cycle
des ingénieurs de conception en informatique un stage de quatre mois doit être effectué par chaque
étudiant dans une entreprise. C’est ainsi que nous avons été accueilli à la Société d’Etude et de
Recherche Intégrée en Géomatique et Environnement (SEREIN-GE) pour notre mémoire de fin de
cycle.

Mémoire de fin de cycle Page II


Remerciements

Au terme de ce stage, nous tenons à remercier vivement la structure qui nous a accueillis et toutes
les personnes qui ont contribué à l’élaboration de ce rapport. Nous adressons particulièrement tous
nos sincères remerciements :
 au Directeur de SEREIN-GE Dr Mathieu S. KIENTGA qui a bien voulu participer à
notre formation en nous acceptant au sein de son service en tant que stagiaire ;
 à notre maître de stage M. MILLOGO Frédéric, qui a guidé avec dextérité l'élaboration
de ce rapport ;
 à notre superviseur Dr YELEMOU Tiguiane, pour son assistance et ses conseils;
 à tout le personnel de SEREIN-GE auprès duquel nous avons trouvé un climat très
social. Ce qui nous a permis de disposer des informations indispensables à notre stage.
Nos remerciements vont également à l'endroit :
 de l’administration de l’Université polytechnique de Bobo-Dioulasso en particulier à celle
de l'Ecole Supérieure d’Informatique (ESI);
 de tout le corps enseignant de l'ESI, pour avoir assuré notre formation.
Nous ne pouvons terminer sans remercier nos amis et camarades de classe qui ont participé de
près ou de loin à la réalisation de ce projet.

Mémoire de fin de cycle Page III


Sigles et Abréviations

Tableau 1: Sigle et abréviations

Sigle Abréviations
2TUP Two Tracked Unified Process
AJAX Asynchronous JavaScript and XML
API Application Programming Interface
CSS Cascading Style Sheets
DMZ DeMilitarized Zone
ESRI Environmental Systems Research Institute
FDO Feature Data Object
GML Geography Markup Language
HTML Hyper Text Markup Langage
JPEG Joint Phtotographic Export Group
OGC Open Geospatial Consortium
OMT Objet Modeling Technic
OOSE Object Oriented Software Engineering
PHP HyperText Preprocessor
PNG Portable Network Graphics
SEREIN-GE Société d’Etude et de Recherche Intégrée en Géomantique et Environnement
SGBD Système de Gestion de Base de Données
SIG Système d’Information Géographique
SVG Scalable Vector Graphics
SWF Small Web Format
UML Unified Modeling Language
UP Unified Process
WFS Web Feature Services
WMS Web Map Services

Mémoire de fin de cycle Page IV


Sommaire

Dédicace ........................................................................................................................................................... I

Préambule ........................................................................................................................................................ II

Remerciements ............................................................................................................................................... III

Sigles et Abréviations ..................................................................................................................................... IV

Résumé / Abstract .......................................................................................................................................... IX

Liste des figures ............................................................................................................................................. XI

Liste des tableaux .......................................................................................................................................... XII

Introduction Générale ...................................................................................................................................... 1

Chapitre 1 : PRESENTATION DE LA STRUCTURE D’ACCUEIL ET DU THEME ..................................................... 2

I- Présentation de la structure (SEREIN-GE) ........................................................................................ 2

II- Présentation du thème....................................................................................................................... 4

Chapitre 2 : DEMARCHE DE REALISATION DE LA SOLUTION ........................................................... 6

I- Le Langage de modélisation ................................................................................................................. 6

II- Les acteurs du projet ......................................................................................................................... 9

III- Planning Prévisionnel...................................................................................................................... 10

Chapitre 3 : ETAT DE L’ART ...................................................................................................................... 12

I- Définition d’un SIG ............................................................................................................................... 12

II- Les différents modes de représentation ................................................................................................... 13

III- La cartographie ....................................................................................................................................... 15

V- Le Webmapping ....................................................................................................................................... 15

VI- Les technologies SIG .............................................................................................................................. 18

VII- Les librairies de développement ............................................................................................................ 22

VIII- Les solutions existantes pour la cartographie en ligne dans le domaine de la gestion des parcelles.... 22

Chapitre 4 : ANALYSE DES BESOINS FONCTIONNELS ET TECHNIQUES ....................................... 24

I- La délimitation du projet .................................................................................................................... 24

Mémoire de fin de cycle Page V


II- Capture des besoins techniques ...................................................................................................... 34

III- Analyse ............................................................................................................................................. 36

IV- Les règles de gestion ........................................................................................................................ 38

V- Le diagramme de classe .................................................................................................................. 38

VI- Le diagramme de séquences .............................................................................................................. 40

Chapitre 5 : CONCEPTION ET REALISATION ......................................................................................... 43

I- Conception ........................................................................................................................................... 43

II- Architecture logicielle ..................................................................................................................... 44

III- Les technologies utilisées ................................................................................................................. 45

IV- Procédure de réalisation du webmapping ..................................................................................... 47

V- La réalisation ................................................................................................................................... 48

VI- Bilan et Perspectives ........................................................................................................................ 54

Conclusion générale ...................................................................................................................................... 56

Bibliographie et Webographie ...................................................................................................................... XIII

ANNEXE A : LES DIFFERENTES CONFIGURATIONS ........................................................................ XIV

Mémoire de fin de cycle Page VI


Résumé / Abstract

Résumé

Le projet que nous avons étudié a porté sur la réalisation d’une base de données à référence
spatiale pour la gestion des recensements de la population et des demandes de parcelles. Pour la
mise en œuvre de ce projet, nous avons entrepris la réalisation d’une plateforme web. Cette
plateforme permet d’enregistrer les informations sur les ménages recensés d’une zone, de
renseigner leur localité et de les localiser sur une carte à partir d’un navigateur web.

Afin d’aboutir à cette plateforme, nous avons suivi le processus 2TUP. Le langage de
modélisation UML a servi à une meilleure analyse du projet. Pour la réalisation de la partie
spatiale, webmapping, nous avons utilisé le logiciel SIG QGIS pour traiter les données
cartographiques. Le serveur cartographique Geoserver a été utilisé pour ses services d’affichage et
manipulation cartographique à travers le web.

Pour la gestion des données, nous avons utilisé le système de gestion de base de données
PostgreSql et pour la rendre spatiale afin qu’elle prenne en compte les données cartographiques
nous avons ajouté l’extension PostGis. L’enregistrement des informations a été réalisé grâce aux
langages de programmation web : PHP, JAVASCRIPT, AJAX, HTML et CSS et la libraire
OpenLayers.

Mots clés : logiciel SIG, Webmapping, base de données spatiale, localisation spatiale des ménages

Abstract

The project we have studied dealt with the realization of a data base with spatial reference for the
management of the registrations of the population and the applications for plots acquisition. To
implement this project we undertook to the realize a platform. This platform will permit the
registration of informations about the recorded families of a given area, mention their place and
identify them on a map from a web navigator.

Mémoire de fin de cycle Page IX


To come to this platform we followed the 2 TUP process. The UML modelization language has
been useful for a better analisy of the project. For the realization of the special part, webmapping
we used the SIG QGIS software to treat the map data. Geoserver has been used for its billsticking
and map manipulation capability through the web.

For the management of the data we used the postgresql data base management system to make it
special in order to take into account the map data we added postgis extension. The registration of
the informations was made thanks to the web programm languages such as PHP, JAVASCRIPT,
AJAX, HTML and CSS and the OpenLayers library.

Keywords: GIS, Webmapping, spatial database, spatial location of households.

Mémoire de fin de cycle Page X


Liste des figures

Figure 1.1:Organigramme de SEREIN-GE .................................................................................................... 3


Figure 2.1: Les étapes de développement de la démarche 2 TUP ................................................................. 9
Figure 2.2:Diagramme de Gantt du planning ................................................................................................ 11
Figure 3.1: illustration du mode raster ........................................................................................................... 14
Figure 3.2: illustration du mode vecteur ....................................................................................................... 15
Figure 3.3: principe de réalisation du webmapping……………………………...………………………...16
Figure 4.1: Ensemble des modules du projet ................................................................................................ 24
Figure 4.2: Diagramme de cas d’utilisation du module recensement de la population ............................... 25
Figure 4.3: Diagramme de cas d’utilisation du module gestion des demandes de parcelles ....................... 31
Figure 4.4: Architecture réseau du système ..................................................................................................35
Figure 4.5: Package de la partie gestion spatiale ..........................................................................................36
Figure 4.6: Package de la partie recensement de la population et demande de parcelle .............................. 37
Figure 4.7: Diagramme de classe du système ...............................................................................................39
Figure 4.8: Diagramme de séquence du cas d'utilisation "s'authentifier" ……………...……………….....40
Figure 4.9: Diagramme de séquence du cas d'utilisation "enregistrer menage"…………...……………....41
Figure 4.10: Diagramme de séquence du cas d'utilisation "modifier menage"………..………………......41
Figure 4.11: Enregistrer demande………………………….........………………………………………...42
Figure 4.12: Diagramme de séquence du cas d’utilisation "Enregistrer critères " ......................................42
Figure 5.1: Les différentes couches du système ..........................................................................................44
Figure 5.2: Représentation de la réalisation du Webmapping. ....................................................................47
Figure 5.3: Ecran du Menu Opération ..........................................................................................................52
Figure 5.4: Ecran du Menu Principal ...........................................................................................................52
Figure 5.5: Ecran d’enregistrement d’un ménage .........................................................................................53
Figure 5.6: Ecran d’enregistrement d’un sous ménage ................................................................................54

Mémoire de fin de cycle Page XI


Liste des tableaux

Tableau 1: Sigle et abréviations ..................................................................................................................... IV


Tableau 2.1: Planning détaillé ....................................................................................................................... 10
Tableau 3.1: Analyse comparative des serveurs ............................................................................................ 21
Tableau 4.1 : Modèle de description des cas d’utilisation ............................................................................. 26
Tableau 4.2: tableau descriptif du cas d’utilisation « enregistrer ménage » .................................................. 27
Tableau 4.3: tableau descriptif du cas d’utilisation « enregistrer ménage (scenario alternatif) » ................. 27
Tableau 4.4: tableau descriptif du cas d’utilisation « modifier ménage » ..................................................... 27
Tableau 4.5: tableau descriptif du cas d’utilisation « modifier ménage (scenario alternatif) » ..................... 28
Tableau 4.6: tableau descriptif du cas d’utilisation « enregistrer un agent de recensement » ....................... 28
Tableau 4.7: tableau descriptif du cas d’utilisation « enregistrer un agent de recensement (scenario
alternatif) » .................................................................................................................................................... 29
Tableau 4.8: tableau descriptif du cas d’utilisation « enregistrer une zone » ................................................ 29
Tableau 4.9: tableau descriptif du cas d’utilisation « enregistrer une zone (scenario alternatif) » ............... 30
Tableau 4.10 : tableau descriptif du cas d’utilisation « enregistrer demande » ............................................. 31
Tableau 4.11: tableau descriptif du cas d’utilisation « enregistrer demande (scenario alternatif) » ............. 32
Tableau 4.12: tableau descriptif du cas d’utilisation « modifier une demande » .......................................... 32
Tableau 4.13: tableau descriptif du cas d’utilisation « modifier une demande (scenario alternatif) » .......... 33
Tableau 4.14: tableau descriptif du cas d’utilisation « supprimer une demande » ........................................ 33
Tableau 5.1: Passage du modèle objet au modèle relationnel ....................................................................... 43

Mémoire de fin de cycle Page XII


Introduction Générale

La maitrise de la répartition spatiale de la population est importante pour un pays. Au Burkina


Faso comme dans la plupart des pays de la sous-région, les problèmes de la gestion des parcelles
et de la localisation des populations sont présents. Ces derniers entrainent des conflits fonciers au
sein de la population et rendent la tâche difficile aux acteurs du secteur foncier. Une gestion
numérique faciliterait la tâche à ces acteurs.

C’est dans ce cadre que nous avons participé à la réalisation d’un projet qui vise à mettre en place
une base de données à référence spatiale pour le recensement de la population et des demandes de
parcelles au sein de la Société d’Etude et de Recherche Intégrée en Géomatique et Environnement
(SEREIN-GE). C’est sur ce sujet que nos travaux de stage de quatre mois se sont portés.

La réalisation du projet permettra d’enregistrer les informations sur les ménages qui feront l’objet
de recensement et de connaitre leurs positions exactes sur une zone donnée. En plus de cet aspect
une localisation spatiale à travers une carte sur le web permettra d’avoir la situation exacte des
ménages d’une localité. La réalisation du projet requiert une base de données spatiale. Une base de
données à référence spatiale permet d’avoir un modèle relationnel des objets. En plus de cela elle
permet la représentation des données à caractère géographique.

A la fin de ce projet une application possédant le volet cartographique doit être déployée dans les
différents services administratifs qui s’occupent de la gestion foncière. Pour mener à bien ce
projet, nous subdiviserons la présentation en fonction de cinq chapitres.
Dans le premier chapitre nous présenterons la structure d’accueil, au second chapitre nous
exposerons notre démarche de réalisation de la solution, le chapitre suivant porte sur l’état de l’art,
nous présenterons nos résultats d’analyse sur les fonctionnalités dans le chapitre quatre, au
chapitre cinq nous présenterons la conception, nous terminerons par une conclusion.

Mémoire de fin de cycle Page 1


Chapitre 1 : PRESENTATION DE LA STRUCTURE D’ACCUEIL ET DU THEME

La maîtrise des opérations foncières est d’une grande importance pour une localité. Cette maitrise
permet une bonne répartition de la population dans l’espace. Afin d’apporter une solution
informatique au traitement des opérations foncières, nous avons été accueillis dans la structure
SEREIN-GE. Nous présenterons la structure SEREIN-GE et après cela nous ferons une analyse du
thème qui nous a été soumis.

I- Présentation de la structure (SEREIN-GE)

La Société d’Etudes et de Recherche Intégrée en Géomatique et Environnement (SEREIN-GE) est


une société à responsabilité limitée, immatriculée au registre du commerce.
SEREIN-GE est née de la société d’Etudes et de Réalisation en Ingénierie (SEREIN) qui comptait
trois départements à savoir : l’ingénierie civile et de l’eau, la géomatique et l’environnement,
l’économie et le développement.
Agréé comme cabinet de géomètre expert agréé, SEREIN-GE est jeune par son existence
juridique.

I-1 Domaines de compétences de SEREIN-GE

Les compétences de SEREIN-GE couvrent les domaines suivants :

 toutes prestations de géomètre expert agréé (lotissement, morcellement, délimitation,


bornage, etc.) ;
 topographie – géodésie - nivellement ;
 systèmes d’Information Géographiques (SIG) - Télédétection -Cartographie ;
 génie Informatique, Statistique ;
 aménagement du territoire ;
 environnement - eau – hygiène – assainissement-santé publique ;
 recherche et développement.

SEREIN-GE pour chaque domaine est outillée pour :

 L’assistance dans le choix des projets et de leurs exécutants ;

Mémoire de fin de cycle Page 2


 Le conseil et l’assistance en géo-environnement, en Géoscience, en Géomatique et en
Informatique ;
 Les études des projets (faisabilité, techniques, etc.) ;
 L'étude diagnostic de l’existant ;
 Le développement des compétences des acteurs des projets ;
 La mise à disposition d'outils d'aide à la décision ;
 Les formations.

I-2 Organisation de SEREIN-GE

SEREIN-GE est une société structurée en départements. La direction générale coordonne les
activités de la société. Elle est assistée par le service d’assistance et secrétariat. Les départements
de la société sont:

 affaires administratives et financières ;


 géo-Environnement ;
 génie-Informatique ;
 sciences géographiques et Foncier
 eau-hygiène-assainissement et santé publique

L’organigramme de la société est présenté dans la figure 1.1

Figure 1.1:Organigramme de SEREIN-GE

Mémoire de fin de cycle Page 3


II- Présentation du thème

II-1 Problématique

Au Burkina comme ailleurs dans le monde, la question foncière est aujourd’hui, source de conflits
croissants. En effet, le Burkina connaît une urbanisation grandissante. Et jusqu’à présent les
populations s’installent en général avant que les autorités ne lotissent et viabilisent les zones ainsi
occupées. Par conséquent, des conflits naissent lorsqu’on aborde la véritable question de la
propriété foncière. La maîtrise du foncier constitue pour les acteurs de l'aménagement du territoire
et du cadre bâti, un enjeu majeur de la construction, ou de la non-construction. Mais la gestion du
foncier au Burkina souffre du non intégration des technologies de l’information et de la
communication dans la gestion.
Il est donc important d’entreprendre la mise en œuvre d’un système qui gère le recensement de la
population, les demandes de parcelles et leur attribution. Ce système devrait répondre au mode de
sélection des attributaires de parcelles et celui du recensement de la population qu’utilisent les
différents agents du système foncier. C’est dans cette optique que la mise en place d’une base de
données à référence spatiale pour la gestion du recensement de la population et des demandes de
parcelles pourrait palier à ce problème.

II-2 Objectifs du projet

Ce projet devrait aboutir à son terme à un système informatique qui va :


 recenser les populations et leurs habitats ;
 sélectionner les futurs attributaires de parcelles ;
 faire une localisation spatiale des différents attributaires ;
 prendre en compte les demandes de parcelle ;
 renseigner les personnes sélectionnées ;
 référencer les parcelles et leurs propriétaires.

II-4 Les résultats attendus

Le projet doit aboutir à :


 la conception d’une base de données à référence spatiale ;

Mémoire de fin de cycle Page 4


 l’enregistrement des données attributaires des ménages dans la base de données ;
 la modification des données et la suppression des données attributaires ;
 l’enregistrement des demandes de parcelles ;
 le renseignement des critères de sélection ;
 la sélection des ménages pouvant bénéficier de parcelles ;
 l’attribution automatique des parcelles aux différents demandeurs et ménages renseignés ;
 la localisation spatiale des ménages sur la carte ;
 l’affichage des informations d’un ménage sur la carte ;
 la recherche de ménages recensés sur la carte et possibilité de zoom sur celle-ci.

Dans de ce chapitre, une présentation du thème a été faite. Une présentation de la structure a été
effectuée ainsi que les attentes du projet. Apres cette brève présentation il est très important de
montrer la démarche de réalisation que le groupe de projet adoptera pour la mise en œuvre du
projet.

Mémoire de fin de cycle Page 5


Chapitre 2 : DEMARCHE DE REALISATION DE LA SOLUTION

La cartographie en ligne utilise une technologie relevant du domaine informatique. Comme toute
réalisation informatique, sa réalisation technique se soumet aux règles et aux principes de
développement d’un produit informatique. Dans ce chapitre, nous définirons la méthode d’analyse
utile pour le projet. Nous présenterons le groupe de projet chargé de mener à bien le dit projet.

I- Le Langage de modélisation

Pour conduire un projet d’analyse et de conception de façon à bien le réussir, il faut choisir un
langage de modélisation approprié [1]. A cet effet, UML (Unified Modeling Language) [2], un
langage de modélisation a été choisi par le groupe de projet. Les nombreux avantages que donne
ce langage tel que sa facilité d'adaptation à tout type de projet nous permettent de l'utiliser dans la
réalisation du projet.

I-2 Justification du choix d’UML

Les avantages présentés par UML nous permettent de faciliter la modélisation des différents
aspects de notre projet. En effet, UML présente l’avantage d’être le standard de la modélisation
objet universellement reconnu. Il s’agit d’un langage visuel. Sa notation graphique permet
d’exprimer visuellement des solutions objets, facilitant ainsi la comparaison et l’évaluation de
celles-ci. C’est un langage formel et normalisé doté d’un gain de précision et d’un gage de
stabilité. Par ailleurs, l’UML permet une communication car il cadre l’analyse tout en facilitant la
compréhension des représentations abstraites complexes. En outre, UML sert à formaliser tous les
documents techniques d’un projet et permet d’affiner les détails de l’analyse au fur et à mesure de
l’avancée du projet. Il est possible d’utiliser le même atelier de génie logiciel depuis l’expression
des besoins jusqu’à la génération de tout ou d’une partie du code. Enfin, il est indépendant des
langages de programmation et des processus de développement [1].
Les diagrammes utilisés dans notre analyse sont :
 Le diagramme de classes. Il représente les classes intervenant dans le système ;
 Le diagramme de cas d'utilisation identifie toutes les fonctionnalités que le système doit offrir ;

Mémoire de fin de cycle Page 6


 Le diagramme de séquences représente de façon séquentielle la manière dont se font les
transitions et indique les interactions entre les éléments du système.

I-3 Méthode d’analyse

Un processus ou une méthode d’analyse définit une séquence de plusieurs étapes, en partie
ordonnée qui concourent à l’obtention d’un système logiciel ou à l’évolution d’un système
existant.
L’objet d’un processus de développement est de produire des logiciels de qualité qui répondent
aux besoins de leurs utilisateurs dans des temps et des coûts prévisibles.
La variante 2TUP du Processus Unifié ou Unified Process(UP) en anglais est la méthode
d’analyse jugée adéquate pour mener à bien le projet par le groupe de projet.

I-3-1 La démarche 2TUP (2 Tracks Unified Process)

La démarche 2TUP répond aux contraintes de changement continuel d’un système d’information.
La méthode est aussi basée sur une séquence d’étape bien ordonnée. Les objectifs recherchés par
le groupe de projet peuvent être atteints par cette méthode car elle permet l’obtention d’un
logiciel, ou l’amélioration d’un système existant. Elle permet de respecter les contraintes de coûts
et de délais.
Ce processus unifié a les caractéristiques suivantes :
Incrémental, itératif, Piloté par les risques, orienté composant, orienté utilisateur.

2TUP est une démarche qui se fait suivant trois phases qui sont :

 Une branche fonctionnelle :


Les principales étapes de la branche fonctionnelle se présentent comme suit :
 L’étape de capture des besoins fonctionnels produit le modèle des besoins focalisés sur le
métier des utilisateurs. Elle qualifie le risque de produire un système inadapté aux
utilisateurs. Cette phase a pour objectif définir d’abord la frontière fonctionnelle entre le
système considéré comme une boite noire et son environnement, c’est le niveau contexte.
 Ensuite la définition des activités attendues des différents utilisateurs par rapport au
système toujours envisagé comme une boite noire, c’est le niveau cas d’utilisation.
Mémoire de fin de cycle Page 7
 Enfin l’étape d’analyse consiste à étudier précisément les spécifications fonctionnelles de
manière à obtenir une idée de ce que va réaliser le système en terme de métier.

 Une branche technique :


Les principales étapes de la branche technique sont d’une part, l’étape capture des besoins
techniques recense toutes les contraintes sur les choix de dimensionnement et la conception du
système. Les outils et le matériel sélectionnés ainsi que la prise en compte des contraintes
d’intégration avec l’existant (pré requis d’architecture technique). Cette étape permet de définir le
modèle d’analyse technique. Le rôle de ce dernier est d’établir les couches logicielles et d’y
spécifier les activités techniques attendues.
D’autre part l’étape conception générique définit ensuite les composants nécessaires à la
construction de l’architecture technique.
Cette conception est complètement indépendante des aspects fonctionnels. Elle permet de générer
le modèle de conception technique ou design pattern (aspect qui sera développé ultérieurement)
qui définit les Framework.
Ces derniers, permettent d’avoir les services techniques et assurent la réponse aux exigences
opérationnelles du système.

 Une branche de conception réalisation :


Les principales étapes de cette branche sont :
D’abord, l’étape conception préliminaire est une étape délicate, car elle intègre le modèle
d’analyse fonctionnelle dans l’architecture technique de manière à tracer la cartographie des
composants du système à développer. Cette étape permet de produire le modèle de conception
système qui organise le système en composants et permet de connaitre les services techniques et
fonctionnels. Ce modèle regroupe les informations des branches technique et fonctionnelle.
En plus, l’étape conception détaillée permet d’étudier comment réaliser chaque composant.
Cette étape produit le modèle de conception des composants. Ce modèle fournit l’image prête à
fabriquer du système complet. C’est dans l’étape de codage que s’effectue la production des
composants et les tests des unités de code au fur et à mesure de leur réalisation.
L’étape de recette consiste à valider les fonctionnalités du système développé.

Mémoire de fin de cycle Page 8


Toutes ces différentes étapes sont illustrées dans la figure ci-dessous

Figure 2.1: Les étapes de développement de la démarche 2 TUP


II- Les acteurs du projet

Nous définissons trois groupes pour l’exécution du projet : le groupe de pilotage, le groupe de
projet et le groupe des utilisateurs.

II-1 Le groupe de pilotage

Le groupe de pilotage arbitre et contrôle les décisions à prendre. Il s’occupe de la validation des
grands choix techniques et fonctionnels, puis fixe les orientations générales et les délais à
respecter. Il définit également les moyens à mettre en place pour la réalisation du projet et
approuve le plan d’action établi par le groupe de projet. Il est constitué de :
Dr. KIENTGA S. Mathieu : Directeur de SEREIN-GE.
Dr. YELEMOU Tiguiane: enseignant chercheur à l’ESI, le superviseur.
Mr. MILLOGO Frédéric: Chef du service informatique de SEREIN-GE, notre maître de stage.

Mémoire de fin de cycle Page 9


II-2 Le groupe du projet

Il est constitué de personnes chargées de l’exécution du projet. Les membres de ce groupe ont
pour tâche de concevoir le système, de réaliser et déployer l’application. L’équipe fournit
également des rapports au groupe de pilotage qui informe sur l’état d’avancement du projet. Il est
composé de :
 TRAORE Ibrahim: élève ingénieur de conception en informatique à l'Ecole Supérieure
d'Informatique ;
 TAOKO. R. Eudes Armand: ingénieur de conception en informatique à SEREIN-GE.

II-3 Le groupe des utilisateurs

Le groupe des utilisateurs a un rôle consultatif. Il est chargé de fournir toutes les informations
nécessaires à la bonne conduite du projet et intervient également dans la validation des dossiers
d’étude, puis des prototypes produits par le groupe de projet. Il se compose des agents de mairie.

III- Planning Prévisionnel

La réalisation de tout projet passe par l’établissement et surtout le respect d’un planning
prévisionnel bien défini en accord avec le groupe de pilotage. Ce planning doit tenir compte des
contraintes liées à l’organisation interne de la structure d’accueil, puis permettre au groupe de
pilotage de suivre l’avancée du projet. Par conséquent, nous avons adopté le planning prévisionnel
contenu dans le tableau 2.1 :

Tableau 2.1: Planning détaillé

Phase Date de début Date de fin Durée


lancement 22/08/2012 28/08/2012 7 jours
Etude préliminaire 29/08/2012 18/09/2012 10 jours
Capture des besoins 19/09/2012 30/10/2012 17 jours
Analyse 01/10/2012 19/11/2012 30 jours
Conception 11/10/2012 29/11/2012 30 jours
Réalisation 30/11/2012 22/12/2012 39 jours

Mémoire de fin de cycle Page 10


Le diagramme de Gantt montre les enchainements des étapes du projet. La figure 2.2 illustre cela.

Figure 2.2:Diagramme de Gantt du planning


La méthodologie est une partie très importante pour le groupe de projet. Dans cette partie, nous
avons expliqué nos différents choix sur la méthode d’analyse. Ensuite nous avons fait une
présentation des acteurs du projet. Enfin nous avons présenté le planning que devrait suivre le
groupe de projet afin de réaliser le projet.

Mémoire de fin de cycle Page 11


Chapitre 3 : ETAT DE L’ART

La réalisation d’une base de données à référence spatiale pour le recensement de la population et


les demandes de parcelles fait intervenir les systèmes d’information géographique (SIG). Il est
donc important de maîtriser tous les aspects de cette technique aussi bien les outils qui
interviennent tant dans la réalisation que ceux dans la conception. Dans ce chapitre nous ferons un
point sur l’évolution actuelle des SIG.

I- Définition d’un SIG

Un SIG est un système informatique permettant, à partir de diverses sources, de rassembler,


d’organiser, de gérer, d’analyser, de combiner, d’élaborer et de présenter des informations
localisées géographiquement contribuant notamment à la gestion de l’espace.
Ils sont beaucoup utilisés dans les activités de la géomatique.

I-1 La composition d’un SIG

Un SIG est composé d’un ensemble de ressources matérielles (des données, des logiciels, des
méthodes) puis des ressources humaines pour sa réalisation.

I-3 Les fonctionnalités d’un SIG

Les SIG doivent être à la fois un outil de gestion pour le technicien et un outil d'aide à 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' [4]:
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 établissant des relations entre les objets.
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.

Mémoire de fin de cycle Page 12


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.
Analyse : elle permet de manipuler et d'interroger des données géographiques afin de répondre
aux requêtes des utilisateurs.
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.

II- Les différents modes de représentation

Il existe deux modes de représentation des objets cartographiques en ligne dans un SIG. Ces deux
modes sont : le mode Raster et le mode vectoriel

II-1 Le mode raster

La surface de l'objet est composée de points jointifs ou pixels. La finesse de la représentation


dépend de la résolution. La position est définie par rapport à la maille de la matrice nécessitant de
repasser par un deuxième système de référence pour localiser en absolu le pixel. Ce mode de
représentation est le plus proche de l'informatique. Chaque pixel porte une information identifiant
sa couleur et l'entité à laquelle il est rattaché. Ainsi, une ligne ou une surface est définie par
l'ensemble des pixels contigus, dont la valeur de rattachement est identique. Plusieurs couches
d'information composées de pixels peuvent être superposées représentant chacune un thème
particulier. A ce stade, la description des objets est implicite. Un lien peut être établi entre le
fichier et une table de données. Il permet la description explicite des pixels, mais aussi le
traitement des informations du fichier graphique. La relation spatiale entre les objets est implicite.

Mémoire de fin de cycle Page 13


R = Route, L = Terre, H = Maison, B = plage,
C = zone de conservation, S = mer

Figure 3.1: illustration du mode raster


II-2 Le mode vecteur

L'image est décrite par un ensemble d'objets : les SIG retiennent trois primitives de base qui
permettent de recomposer la géométrie des objets, il s'agit :
 des objets ponctuels (le point);
 des objets linéaires (la ligne);
 des objets surfaciques (le polygone).
Un objet ponctuel sera localisé par un seul couple de coordonnées. Un objet linéaire est une suite
ordonnée de points. Chaque point est relié au suivant par un segment de ligne définie
mathématiquement. Un objet surfacique est défini comme étant l'intérieur de son contour. Il est
donc délimité par un objet linéaire fermé sur lui-même. On peut par extension définir des
spécialisations d'objets surfaciques. Par exemple un objet surfacique à trou est défini comme un
objet surfacique dont une partie intérieure est délimitée par un objet linéaire fermé. Un objet
volumique est un objet composé d'objets surfaciques. La description des objets est explicite. Une
couche d'informations regroupe un ensemble d'objets qu'on souhaite représenter simultanément.
La position des objets est exprimée par des coordonnées attachées à un système de
positionnement. La figure 3.2 illustre cela.

Mémoire de fin de cycle Page 14


Figure 3.2: illustration du mode vecteur

III- La cartographie

La cartographie désigne la réalisation et l'étude des cartes géographiques et géologiques. Elle est
très dépendante de la géodésie, science qui décrit, mesure et rend compte de la forme et des
dimensions de la Terre. Le principe majeur de la cartographie est la représentation de données sur
un support réduit représentant un espace généralement tenu pour réel. L'objectif de la carte est de
faire une représentation concise et efficace, la simplification de phénomènes complexes
(politiques, économiques, sociaux, etc.) à l'œuvre sur l'espace représenté afin de permettre une
compréhension rapide et pertinente.
La création de carte commence par définition du projet cartographique. La collecte d'informations
se fait en deux parties, notamment le relevé des contours puis de l'espace support à représenter
(fond de carte) et le relevé des données statistiques à représenter sur cet espace. Nous avons
ensuite un travail de sélection des informations, de conception graphique (icônes, styles), puis
d'assemblage (création de la carte), et de renseignement de la carte (légende, échelle, rose des
vents). Pour la représentation des cartes en ligne il existe également des modes de représentations
et des modèles à suivre.

V- Le Webmapping

Le webmapping est une combinaison d’un ensemble de technologies faisant intervenir le web et
les données cartographiques numérisées pour les utilisateurs. Un client peut faire une requête et
attendre la réponse de sa requête qui peut être la sélection d’une partie d’une carte. Une fois la
requête faite sur le réseau, un serveur cartographique interprète et renvoie la réponse. La réponse

Mémoire de fin de cycle Page 15


peut être présentée à l’utilisateur sous forme d’images matricielles (png, jpg, ..) ou vectorielles
(svg, swf,…).
Un moteur cartographique existe et peut être contrôlé par les langages de programmation tels que
PHP, Python ou Perl. Ces différents langages permettent de retourner comme réponse, l’affichage
d’une carte à un utilisateur en fonction de la requête.
Le webmapping fait intervenir d’une part des serveurs et d’autre part des clients. Les serveurs sont
de deux types. Les serveurs cartographiques construisent la carte à représenter. Les serveurs web
permettent à partir d’un navigateur web de visualiser les cartes. Le langage de programmation
PHP s’exécutant du coté serveur permet d’interroger le serveur web pour retourner des résultats.
Les résultats retournés peuvent être un affichage partiel d’une carte ou toute la carte à travers le
navigateur.
La figure 3.3 illustre Le principe de fonctionnement du webmapping.

Figure 3.3: principe de mise en œuvre du webmapping

1 Transfert des fichiers 3 Requête WMS /WFS


5 Pages HTML
2 Connexion PostGis 4 Requête HTTP

Mémoire de fin de cycle Page 16


Les Services WMS et WFS

Le service WMS

Le Web Map Service (WMS) est un standard OGC de service web qui permet de produire
dynamiquement des cartes à partir de données géoréférencées. Sa mise en œuvre suppose
l'utilisation d'un serveur WMS, capable d'accéder aux données, de les lire et de les dessiner avec
une mise en forme particulière, et d'un client WMS, capable d'adresser au serveur des requêtes
standardisées utilisant les mots-clés prévus à cet effet. Le serveur WMS doit également pouvoir
les comprendre et œuvrer en conséquence.
Un service WMS produit des cartes sous forme d'images : dans des formats tels que JPEG, PNG et
GIF, par exemple. Certains formats gèrent la transparence, permettant ainsi la superposition de
différentes couches [5].

Le service WFS
Le « Web Feature Service » (WFS), est un standard OGC de Service Web qui définit une interface
d’interopérabilité technique, dédiée à la publication d’objets géographiques (c'est-à-dire des
données vecteur) ainsi que leur structure.
L’interface WFS décrit des opérations permettant le téléchargement des entités de données
géographiques stockées dans des bases de données. Ces données sont exposées à minima sous
forme de flux standard GML (Geographic Markup Language). Des opérations supplémentaires
sont définies par WFS permettant la manipulation des données vecteur (création, suppression et
mise à jour) [5].

V-1 Les unités cartographiques

V-1-1 Le point

Le point représente les symboles ponctuels. Sa localisation est donnée par ses coordonnées (X ,Y).
La notion de point est relative à l'échelle, à cause de ce qu'elle peut représenter. La notion de
distance entre deux points est souvent utilisée comme lien topologique.

Mémoire de fin de cycle Page 17


V-1-2 La ligne

La ligne représente la forme et l'emplacement d'objets géographiques trop étroits pour être affichés
sous une forme de surface. La ligne permet également de représenter des entités qui ont une
longueur avec aucune surface. 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.

V-1-3 Le polygone

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
forment ses limites.

VI- Les technologies SIG

Les logiciels SIG sont classés en deux catégories : les logiciels SIG client et les logiciels SIG
serveur.
Les logiciels SIG client s’exécutent au niveau d’une machine cliente. Ces logiciels permettent
ainsi de manipuler les données, de les charger sur les serveurs ou encore d’interroger les serveurs.
Les Logiciels SIG serveur sont surtout les serveurs de données, ils permettent de rendre une carte
après l’interrogation de la base du serveur par le client.
Il existe plusieurs outils SIG, nous ne présenterons que quelques uns d’entre eux, afin d’avoir une
première vue du marché des logiciels SIG.

VI-1 Les outils côté client

VI-1-1 MapInfo
MapInfo Professional est un Système d'information géographique (SIG) à l'origine Bureautique
créé dans les années 1980 aux États-Unis. C'est un logiciel qui permet de réaliser des cartes en
format numérique. MapInfo est conçu autour d'un moteur d'édition de cartes qui permet la
superposition de couches numériques. Il permet de représenter à l'aide d'un système de couches
des informations géo-localisées : points, polygones, image raster ... Il incorpore un grand nombre
de formats de données, de fonctions cartographiques et de gestion de données. MapInfo est ouvert

Mémoire de fin de cycle Page 18


vers le Web et les globes virtuels ; il permet de publier sur le web des cartes réalisées sur un PC,
de faire de la cartographie interactive, d'incorporer des informations des globes virtuels [12].

VI-1-2 AutoCAD MAP 3D

AutoCAD Map 3D est une excellente plateforme SIG pour la création et l’édition de données
géospatiales. Il relie la conception assistée par ordinateur et les systèmes d’informations
géographiques (SIG). AutoCAD Map 3D offre un accès direct aux données, quel que soit leur
mode de stockage, et permet d’utiliser les outils AutoCAD pour gérer une grande variété
d’informations géospatiales. La technologie d’accès aux données FDO en code libre permet à Map
3D d’accéder de manière native aux données spatiales stockées dans des bases de données
relationnelles, des fichiers et des services Web. Ainsi, il peut gérer facilement un grand nombre de
jeux de données géospatiales tout en rationalisant les procédures dans leur intégralité. La fluidité
de l’intégration de la technologie Autodesk MapGuide fait d’AutoCAD Map 3D le moyen le plus
rapide pour publier des données sur le Web ou sur un réseau intranet [8].

VI-1-3 Quantum GIS

Quantum GIS, également appelé plus simplement QGis, est un système d'information
géographique (SIG) libre multi plateforme publié sous licence GPL. Il gère les formats d’images
matricielles (raster) et vectorielles, ainsi que les bases de données. En outre il gère l’extension
spatiale de PostgreSQL, PostGIS et prend en charge les archives vectorielles Shapefile, les
couvertures d’autres logiciels tel que GRASS GIS. Il utilise un nombre important de types
d’archives matricielles. L’un de ses avantages majeurs est la possibilité de l’utiliser comme
interface graphique du SIG GRASS, utilisant toute la puissance d’analyse de ce logiciel en un
environnement de travail plus convivial. Les fonctionnalités GRASS sont optionnelles, et passent
par un module d’extension [9].

VI-2 Les outils côté serveur

VI-2-1 MapServer
MapServer est un serveur cartographique qui se place dans la partie inactive d'un serveur WEB.
Quand une requête est envoyée à MapServer, il utilise les informations passées dans l'URL de la
requête et le fichier de configuration fourni (MapFile) pour créer une image de la carte demandée.

Mémoire de fin de cycle Page 19


Cette image peut être affichée dans un navigateur. La requête peut aussi fournir une légende, une
barre d'échelle, une carte de référence et des valeurs passées comme variables CGI. Il est aussi
disponible sous forme d'une API dans plusieurs langages de programmation. Le programmeur a
alors accès à des fonctions lui permettant entre autres de manipuler la carte, d’effectuer des
requêtes spatiales, puis d’ajouter des objets géoréférencés [10].

VI-2-2 ArcGIS-Server
ArcGis-Server est un serveur cartographique commercial développé par ESRI (Environmental
Systems Research Institute). Il ouvre l'accès aux informations géographiques. De nombreuses
organisations l’utilisent pour diffuser sur le Web des cartes et des fonctionnalités SIG, de manière
à améliorer la productivité de l’organisation, à communiquer des éléments vitaux et à engager les
décideurs.
ArcGIS-server permet :
 le contrôle des données spatiales et des sources d'images, grâce à un système centralisé de
gestion des données,
 l’amélioration de la prise de décisions et la productivité à l'aide de services
cartographiques Web et des applications qui peuvent être mises à la disposition des
utilisateurs.
 La prise du meilleur parti d’une architecture informatique actuelle en intégrant un serveur
SIG et des données spatiales avec d'autres systèmes professionnels [10].

VI-2-3 GeoServer

GeoServer est un serveur informatique open source écrit en Java qui permet aux utilisateurs de
partager et de modifier des données géographiques. Conçu pour l'interopérabilité, il publie les
données de toutes les sources principales de données spatiales qui utilisent des normes ouvertes.
GeoServer a évolué pour devenir une méthode simple de connexion d'informations existantes à
des globes virtuels tels que Google Earth et NASA World Wind, ainsi que pour les cartes à base
de services web tels qu’OpenLayers, Google Maps et Bing Maps. Geoserver fonctionne en tant
qu'implémentation de référence pour la mise en œuvre du standard du Web Feature Service de
l'Open Geospatial Consortium ; il implémente aussi le Web Map Service [8].

Mémoire de fin de cycle Page 20


VI-2-4 Analyse comparative et choix du serveur cartographique

Tableau 3.1: Analyse comparative des serveurs

Nom Mapserver Geoserver ArcGis-server


Description - Logiciel libre - Logiciel libre Logiciel payant
- Assez documenté - Assez documenté en - documenté en
- Installation assez simple anglais -Installation simple
- Gère les projections -Installation assez simple -Supporte les formats
- Supporte une multitude - Gère les projections vectoriels et matriciels
de formats vectoriels et matriciels - Supporte une multitude
- Solution multiforme de formats vectoriels et
matriciels
- Solution multiforme
Forces - Solution libre - Solution libre -prise en charge de
- Multiples langages - Langage unique Java projets complexes
- Performance et stabilité - Structure homogène -prise en charge des
- Adaptabilité et flexibilité - Finesse de l’interface transactions
- Interopérabilité d’administration et la -prise en charge des
- Nombreuses fonctionnalités qualité des cartes produites processus automatisés
- Evolution rapide
Faiblesses - Forte nécessité en - La lenteur par rapport à - Lenteur dans
développement MapServer l’execution
- La qualité du rendu graphique - La nécessité d’installer - Prise en main un
- Lourdeur d’installation un JDK 1.4 ou supérieur peu difficile
- Difficulté de trouver
Une bonne documentation

Choix du serveur cartographique

Le tableau de l’étude comparative des serveurs cartographiques montre que tous ces serveurs
jouent le même rôle à savoir la représentation cartographique en ligne. Cependant le choix du
groupe de projet s’est porté sur le serveur cartographique Geoserver. Ce choix est motivé par le

Mémoire de fin de cycle Page 21


fait que le serveur Geoserver est souple d’utilisation et il implémente déjà les services WMS et
WFS en son sein. La mise en œuvre avec ce serveur demande peu de configuration et est plus
simple. Cela permet de gagner énormément du temps sur le délai de réalisation de la partie
spatiale.

VII- Les librairies de développement

VII-1 OpenLayers

OpenLayers est une librairie cartographique libre. Il constitue une bibliothèque de fonctions
JavaScript assurant un noyau de fonctionnalités orienté vers la mise en place d'applications
clientes Web cartographiques fluides. OpenLayers permet d'afficher des fonds cartographiques
tuilés ainsi que des marqueurs provenant d'une grande variété de sources de données. Une partie
de cette bibliothèque permet également de gérer l'ergonomie proposée à l'utilisateur.

VII-2 GeoExt

GeoExt combine les librairies JavaScript OpenLayers pour ses fonctionnalités géospatiales pour le
Web et ExtJS pour ses nombreux outils d'interface usager pour obtenir un outil permettant de
construire des applications de cartographie Web riches et hautement interactives.
GeoExt rend le développement de telles applications facile et rapide. Ses outils, tels que des arbres
de couches, barres de navigation, grilles de données géospatiales liés à une carte, outils
d'impression de cartes et bien d'autres, sont simples à intégrer. L'équipe de Mapgears les utilise et
y contribue régulièrement dans le cadre de projets avec ses clients.

VIII- Les solutions existantes pour la cartographie en ligne dans le domaine de la gestion des
parcelles.

Il existe plusieurs logiciels SIG de nos jours selon les différentes catégories. En effet elles peuvent
être libres et gratuites ou commerciales. Comme exemple d’outil SIG nous avons Google Map qui
est un excellent outil pour la localisation d’une zone, il est accessible à tous également.
Dans le domaine de la gestion des parcelles avec le recensement des populations il existe des
logiciels SIG Web sur le marché. Le logiciel Géo-Consult Web est un exemple de logiciel qui

Mémoire de fin de cycle Page 22


permet de référencer les parcelles et les différents propriétaires. Ce produit a été développé par la
société AMJ Groupe.
Au Burkina Faso, les logiciels SIG Web sont à leur début et sont peu présent sur le marché. Dans
les différentes mairies du pays (Burkina Faso) il n’y a pas de logiciel existant pour la gestion des
recensements des populations et parcelles.

L’état de l’art est une étape très importante pour le début d’un projet informatique. Cette étape
permet d’avoir une idée sur le projet à réaliser et d’avoir connaissance des avancées
technologiques déjà effectuées dans le cadre du projet. Dans le chapitre suivant, nous allons
particulièrement nous intéresser à l’analyse des besoins.

Mémoire de fin de cycle Page 23


Chapitre 4 : ANALYSE DES BESOINS FONCTIONNELS ET TECHNIQUES

L’analyse des besoins est une étape très importante pour la réalisation d’un projet. Une fois les
informations réunies auprès des différents acteurs du projet, nous pouvons procéder à une
délimitation du projet. Cette délimitation nous permettra de cadrer les modules que nous devrons
réaliser et présenter les différents cas d’utilisation à partir des informations recueillies.

I- La délimitation du projet

Le projet de réalisation d’un Système d’Information foncier est un projet subdivisé en plusieurs
modules. Les différents modules sont :
La gestion de mutations foncières ;
La gestion des demandes de parcelles et recensement de la population ;
La gestion de l’attribution des parcelles.
Le module de recensement et gestion de parcelles est celui qui fait l’objet de l’étude du groupe de
projet. La figure 4.1 illustre cela.

Système d’Information Foncier

Mutation Foncier Recensement et demande


Agent de Mairie de parcelles Département
Foncier

Attribution de Parcelles

Figure 4.1: Ensemble des modules du projet


Légende
Module non concerné par le groupe de projet

Module concerné par le groupe de projet

Mémoire de fin de cycle Page 24


I-1 Capture des besoins fonctionnels

La capture des besoins du module à développer est la prochaine étape après la délimitation du
projet. Une fois le projet délimité, le groupe de projet peut s’intéresser au module concerné et
dégager tous les aspects fonctionnels que le système pourrait avoir. UML permet une
représentation de tous les cas d’utilisation à travers un diagramme de cas d’utilisation.

I-1-1 Le diagramme de cas d’utilisation

Les cas d'utilisation décrivent les fonctionnalités fournies par le système à un acteur du système.
Ils sont utilisés par les clients, les concepteurs, les développeurs, et les testeurs. Un cas
d'utilisation est une description générique d'une utilisation du système. Les fonctionnalités d'un
système sont décrites donc dans le modèle des cas d'utilisation par un ensemble de cas
d'utilisations.
Le module à développer étant composé de deux parties qui sont : le recensement de la population
et la gestion des parcelles, nous commençons par présenter le diagramme de cas d’utilisation du
recensement de la population. La figure 4.2 illustre cela.

Figure 4.2: Diagramme de cas d’utilisation du module recensement de la population

Mémoire de fin de cycle Page 25


I-1-2 Description textuelle des cas d'utilisation

Les cas d'utilisation présentés dans la figure n°8 ne permettent pas de connaître et de comprendre
l'enchaînement des activités. Pour mieux présenter les enchaînements des activités des cas
d'utilisation, nous procédons à une description textuelle de quelques cas d'utilisation suivant le
modèle :

Tableau 4.1 : Modèle de description des cas d’utilisation

CU N°: nom, numéro du cas d’utilisation

Acteurs : Version : Date :


Résumé : description sommaire.
Pré-conditions : conditions à remplir pour que le cas d’utilisation puisse être exécuté
Scénario nominal : correspond à un déroulement normal d’un cas d’utilisation.
Scenario alternatif : variante du scenario nominal, il se produit comme
scenario remplaçant un scenario nominal qui devrait se produire.
Scenario exceptionnel : décrit ce qui se passe en cas d’erreur.
Enchainements : règles internes
Post condition

Remarque : Ai devant une activité indique l’existence d’un scénario alternatif numéro i et Ei
devant une activité indique l’existence d’un scénario exceptionnel numéro i.

 Description des cas d’utilisation du module recensement de la population


Nous décrirons les cas d’utilisation « enregistrer ménage », « modifier ménage », «enregistrer un
agent » et « enregistrer une zone ».

Mémoire de fin de cycle Page 26


Tableau 4.2: tableau descriptif du cas d’utilisation « enregistrer ménage »

CU 1 : enregistrer ménage

Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012


Résumé : ce cas d’utilisation permet d’enregistrer un ménage
Pré-conditions : ménage renseigné sur la fiche de recensement
Scénario nominal :
1. Inclusion du cas d’utilisation « s’authentifier »
2. il choisit l’opération de recensement concernée
3. il renseigne les informations concernant le ménage.
4. il valide les informations du ménage (A1)
Post condition : le ménage peut être pris en compte pour l’attribution des parcelles

Tableau 4.3: tableau descriptif du cas d’utilisation « enregistrer ménage (scenario alternatif) »

CU 1: enregistrer ménage

Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012


Résumé : ce cas permet d’utilisation permet d’enregistrer un ménage
Pré-conditions : ménage renseigné sur la fiche de recensement
Scénario alternatif :
A1 : la validation a échoué
A1.1 : Vérifier les informations du numéro de la CNIB (Carte national d’identité Burkinabè) du
chef de ménage
A1.2 : Vérifier le numéro de concession du ménage
A1.3 : valider une fois de plus les informations nouvellement renseignées

Post condition : le ménage peut être pris en compte pour l’attribution des parcelles

Tableau 4.4: tableau descriptif du cas d’utilisation « modifier ménage »

Mémoire de fin de cycle Page 27


CU 2: modifier ménage

Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012


Résumé : ce cas d’utilisation permet d’apporter une modification au ménage
Pré-conditions : ménage déjà enregistré
Scénario nominal :
1. inclusion du cas d’utilisation « s’authentifier »
2. il choisit l’opération de recensement concernée
3. il choisit de faire la modification des ménages.
4. il choisit le ménage dans la liste des ménages
5. il apporte les modifications sur les champs concernés
6. il valide la modification (A1)
Post condition : le ménage est mise à jour avec les nouvelles données attributaires

Tableau 4.5: tableau descriptif du cas d’utilisation « modifier ménage (scenario alternatif) »

CU 2: modifier ménage

Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012


Résumé : ce cas d’utilisation permet d’apporter une modification au ménage
Pré-conditions : ménage déjà enregistré
Scénario alternatif :
A1 : la validation a échoué
A1.1 : Vérifier les informations du numéro CNIB (Carte national d’identité Burkinabè) du chef
de ménage ;
A1.2 : Vérifier le numéro de concession du ménage ;
A1.3 : valider une fois de plus les informations modifiées.

Post condition : le ménage est mise à jour avec les nouvelles données attributaires

Tableau 4.6: tableau descriptif du cas d’utilisation « enregistrer un agent de recensement »

Mémoire de fin de cycle Page 28


CU 3: enregistrer un agent de recensement
Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer un agent de recensement

Pré-conditions : opération de recensement renseigné dans le système

Scénario nominal:
1. Inclusion du cas d’utilisation « s’authentifier »
2. il choisit l’opération de recensement concernée
3. il choisit de renseigner un agent.
4. il inclut les informations de l’agent dans les différents champs
5. il valide l’enregistrement de l’agent (A1)
Post condition : l’agent est enregistré dans la base de données et peut être utilisé pour renseigner les
ménages dont il a recensé

Tableau 4.7: tableau descriptif du cas d’utilisation « enregistrer un agent de recensement (scenario
alternatif) »

CU 3: enregistrer un agent de recensement


Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer un agent de recensement
Pré-conditions : opération de recensement renseigné dans le système
Scénario alternatif:
A1 : l’enregistrement a échoué
A1.1 : Vérifier les informations du numéro CNI (Carte national d’identification) du chef de
ménage
A1.3 : valider une fois de plus les informations.

Post condition : l’agent est enregistré dans la base de données et peut être utilisé pour renseigner les
ménages dont il a recensé

Tableau 4.8: tableau descriptif du cas d’utilisation « enregistrer une zone »

Mémoire de fin de cycle Page 29


CU 4: enregistrer une zone
Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer une zone de recensement
Pré-conditions : opération de recensement déjà renseigné
Scénario nominal:
1. Inclusion du cas d’utilisation « s’authentifier » ;
2. il choisit l’opération de recensement concernée ;
3. il choisit d’apporter les informations sur la zone à renseigner ;
4. il renseigne les informations de la zone ;
5. il valide les informations (A1) ;
Post condition : la zone enregistrée peut être utilisé pour lotissement

Tableau 4.9: tableau descriptif du cas d’utilisation « enregistrer une zone (scenario alternatif) »

CU 4: enregistrer une zone


Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer une zone de recensement
Pré-conditions : opération de recensement déjà renseigné
Scénario alternatif:
A1 : la validation a échoué
A1.1 : Vérifier les informations sur le nom de la localité ;
A1.3 : valider une fois de plus les informations renseignées.
Post condition : la zone enregistrée peut être utilisé pour lotissement

Apres la présentation du diagramme de cas d’utilisation qui présente la partie sur recensement de
la population, nous présenterons celui de la gestion des demandes de parcelles. Ce diagramme est
illustré à travers la figure suivante avec une description détaillée des cas comme réalisé dans la
figure précédente.

Mémoire de fin de cycle Page 30


Figure 4.3: Diagramme de cas d’utilisation du module gestion des demandes de parcelles

 Description textuelle des cas d’utilisation du module gestion des demandes de parcelle

Nous ferons une description de quelques cas d’utilisation « enregistrer demande », « modifier
demande » et « supprimer demande ».
Tableau 4.10 : tableau descriptif du cas d’utilisation « enregistrer demande »

CU 1: enregistrer demande
Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer une demande de parcelle
Pré-conditions : parcelles déjà alloués dans le système
Scénario nominal:
1. Inclusion du cas d’utilisation « s’authentifier » ;
2. il choisit l’opération de recensement concernée ;
3. il saisit les informations concernant la demande de parcelles ;
4. Il valide les informations du ménage (A1) ;
Post condition : la demande est enregistrée et peut être analysée pour l’attribution de parcelles

Mémoire de fin de cycle Page 31


Tableau 4.11: tableau descriptif du cas d’utilisation « enregistrer demande (scenario alternatif) »

CU 1: enregistrer demande
Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’enregistrer une demande de parcelle
Pré-conditions : parcelles déjà alloués dans le système
Scénario alternatif:
A1 : la validation a échoué
A1.1 : Vérifier les informations du numéro CNIB (Carte national d’identité Burkinabè) du chef
de ménage ;
A1.2 : Vérifier les informations sur la parcelle demandée ;
A1.3 : valider une fois de plus les informations nouvellement renseignées.

Post condition : la demande est enregistrée et peut être analysée pour l’attribution de parcelles

Tableau 4.12: tableau descriptif du cas d’utilisation « modifier une demande »

CU 2: modifier une demande


Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’apporter des modifications à une demande de parcelle
Pré-conditions : demande déjà enregistrée dans le système
Scénario nominal:
1. Inclusion du cas d’utilisation « s’authentifier » ;
2. il choisit l’opération de recensement concernée ;
3. il choisit d’apporter des modifications à une demande ;
4. Il choisit les références de la demande dans la liste des demandes enregistrées ;
5. Il met à jour les champs concernés par la modification ;
6. Il valide la modification (A1) ;
Post condition : les données de la demande sont modifiées et peuvent être analysée pour l’attribution
de parcelles

Mémoire de fin de cycle Page 32


Tableau 4.13: tableau descriptif du cas d’utilisation « modifier une demande (scenario alternatif) »

CU 2: modifier une demande


Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet d’apporter des modifications à une demande de parcelle
Pré-conditions : demande déjà enregistrée dans le système
Scénario alternatif:
A1 : la validation de la modification a échoué
A1.1 : Vérifier les informations du numéro CNIB (Carte national d’identité Burkinabè) du chef
de ménage ;
A1.2 : Vérifier les informations sur la parcelle demandée ;
A1.3 : valider une fois de plus les informations.
Post condition : les données de la demande sont modifiées et peuvent être analysée pour l’attribution
de parcelles

Tableau 4.14: tableau descriptif du cas d’utilisation « supprimer une demande »

CU 3: supprimer une demande


Acteurs : agent de mairie Version : 1.1 Date : 02/10/2012
Résumé : ce cas d’utilisation permet de retirer une demande de parcelle de l’ensemble des demandes
Pré-conditions : demande déjà enregistrée dans le système
Scénario nominal:
1. Inclusion du cas d’utilisation « s’authentifier » ;
2. il choisit l’opération de recensement concernée ;
3. Il valide la suppression de la demande de parcelles ;
Post condition : Demande retiré du système et ne pouvant plus être utilisée dans la sélection des
attributaires de parcelles

Mémoire de fin de cycle Page 33


La réalisation des différents cas d’utilisation nous a permis de présenter les fonctionnalités du
système. Afin de mieux présenter les échanges entre les divers cas d’utilisation, nous présenterons
le diagramme de séquence.

II- Capture des besoins techniques

La capture des besoins techniques est une phase qui permet de connaitre toutes les contraintes
techniques, matérielles et logicielles du système. Cette partie permet également de prendre
connaissance des politiques de sécurité et d’interopérabilité du système.

V-I Les contraintes matérielles

La mise en place du système exige l’acquisition de matériels tels que les machines pouvant
accéder aux données, un serveur d’application qui prendra en charge la logique applicative du
système et un serveur de données qui stockera les données utiles au système.

V-II Les contraintes logicielles

La mise en œuvre du système implique l’utilisation des logiciels tels que :


 Un système de gestion de base de données relationnelle spatiale
 Un logiciel SIG
 Un environnement de développement intégré pour les applications web
 Un serveur web
 Un serveur cartographique

V-III L’interopérabilité

La mise en place d’un système permettant de faire des références spatiales implique une utilisation
de plusieurs outils. Le choix des serveurs web et cartographique est important. Les services WMS
(Web Map Service) et WFS (Web Feature Service) que propose le serveur cartographique doivent
fonctionner et être facilement utilisable par des requêtes venant d’un poste client. L’interaction des

Mémoire de fin de cycle Page 34


logiciels est une étude menée par le groupe de projet afin que le système réponde aux besoins
fonctionnels.

V-IV La sécurité

Le système à réaliser étant une application web, il faut donc assurer la sécurité d’accès par d’abord
l’authentification de l’utilisateur et les différents droits d’accès aux espaces de travail.
L’accessibilité du système par le réseau Internet nous amène à envisager des filtres et une zone
démilitarisée dans la mise en place de l’architecture réseau.

V-V Architecture réseau

Le système à réaliser est une application web. L’architecture réseau la mieux adaptée est celle du
client-serveur 3 tiers. Le modèle client-serveur 3-tiers présente trois composants. D’abord les
clients qui envoient des requêtes au serveur. Ensuite le serveur d’application qui offre la partie
applicative au client. Enfin, le serveur de base de données. Ce serveur possède le moteur de
stockage des données. Cette architecture est mieux illustrée dans la figure 4.4.

Figure 4.4: Architecture réseau du système

Figure 4.4: architecture réseau du système

Mémoire de fin de cycle Page 35


III- Analyse

Le recueil des besoins permet au groupe de projet de faire ses analyses. La phase d’analyse
comprend trois parties. La première consiste à faire un regroupage par catégorie. Après cela, nous
avons une présentation du modèle statique et troisièmement le modèle dynamique.

VI-1 Regroupage par catégories

Le regroupage par catégorie consiste à mettre ensemble les éléments qui sont liés logiquement. On
parle alors de package. Cette notion java consiste à regrouper des classes, des interfaces et aussi
des packages liés logiquement.
Nous pouvons donc présenter deux catégories pour le projet. La première présente la partie
spatiale qui permet une localisation des ménages. La seconde permet de renseigner toutes les
informations sur un ménage, et d’effectuer une demande de parcelle.
Package de la partie spatiale

Figure 4.5: Package de la partie gestion spatiale

Mémoire de fin de cycle Page 36


Le package de la partie recensement de la population et demande de parcelle se présente comme
suit :

Figure 4.6: Package de la partie recensement de la population et demande de parcelle

Mémoire de fin de cycle Page 37


VI-2 Présentation du modèle statique

Le modèle statique présente le diagramme de classe final obtenu après analyse des classes,
associations, opérations et optimisations. Ce diagramme présente le récapitulatif des deux
packages présentés ci-dessus.

IV- Les règles de gestion

Afin de mieux structurer les données et d’éviter les redondances dans la base de données, nous
avons établi les règles de gestion suivantes :
RG 1. Une commune possède plusieurs arrondissements ou n’en possède aucune.
RG 2. Une localité appartient à un arrondissement ou ne relève d’aucun arrondissement.
RG 3. Une localité possède plusieurs concessions.
RG 4. Une localité contient plusieurs sections.
RG 5. Une section contient plusieurs lots.
RG 6. Un lot contient une à plusieurs parcelles.
RG 7. Un ménage est recensé par un agent de recensement.
RG 8. Un agent de recensement recense une à plusieurs ménages.
RG 9. Un agent de recensement possède un superviseur.
RG 10. Un agent de recensement est affecté à une opération de recensement.
RG 11. Une concession contient un ménage au moins ou plusieurs.
RG 12. Un ménage est constitué d’un chef de ménage et des conjoints du chef de ménage
RG 13. Un chef de ménage possède plusieurs enfants ou n’en possède pas.
RG 14. Un ménage contient un sous ménage ou n’en contient pas.
RG 15. Un demandeur demande au plus une parcelle pour une opération de recensement.
RG 16. Une parcelle est attribuée à un chef de ménage ou à un demandeur.

V- Le diagramme de classes

La capture des besoins fonctionnels a permis de faire ressortir les différents cas d’utilisation du
système. Ces différents cas nous permettent d’établir un diagramme de classe qui donne une
représentation statique du système à développer. Cette représentation est basée sur les concepts de

Mémoire de fin de cycle Page 38


classe et d’association. Chaque classe se décrit par les données et les traitements dont elle est
responsable. Les traitements sont matérialisés par des opérations.
La description du diagramme de classe est fondée sur :
 le concept objet
 le concept de classe contenant des attributs et des opérations
 les différents types d’associations entre les classes.
Les règles de gestion ci-dessus nous ont permis d’obtenir le diagramme de classe de notre
système. Il est représenté dans la figure suivante :

Figure 4.7: Diagramme de classes du système


Mémoire de fin de cycle Page 39
VI-3 Présentation du modèle dynamique

Le modèle dynamique est la dernière étape dans le processus d’analyse. Ce modèle présente les
interactions dynamiques du système répondant au modèle statique établi. Pour une description Les
diagrammes UML utilisés pour cette étape sont :
Le diagramme de séquences, le diagramme d’état transition, le diagramme d’interaction.
Pour l’étude du projet nous présenterons les diagrammes de séquence des cas suivants :
 Authentifier ;
 Enregistrer ménage ;
 Modifier ménage ;
 Enregistrer demande ;
 Enregistrer critère.

VI- Les diagrammes de séquences

L’objectif du diagramme de séquences est de représenter les interactions entre objets en indiquant
la chronologie des échanges. Cette représentation peut se réaliser par les cas d’utilisation en
considérant les différents scénarii associés.
Pour l’étude de ce projet, nous présenterons les diagrammes de séquences de quelques cas,
notamment la partie sur le recensement de la population: authentifier, enregistrer ménage,
modifier ménage et sur la partie des demandes de parcelles : enregistrer demande et enregistrer
critère.

Figure 4.8: diagramme de séquence du cas d’utilisation « s’authentifier »

Mémoire de fin de cycle Page 40


Figure 4.9: Diagramme de séquence du cas d’utilisation "enregistrer ménage "

Figure 4.10: diagramme de séquence du cas d’utilisation « modifier ménage »

Mémoire de fin de cycle Page 41


F

Figure 4.11: Diagramme de séquence du cas d’utilisation "enregistrer demande ".

Figure 4.12 : Diagramme de séquence du cas d’utilisation « enregistrer critère »

Mémoire de fin de cycle Page 42


Chapitre 5 : CONCEPTION ET REALISATION

La conception et la réalisation constituent la dernière étape du processus 2TUP. La conception se


divise en trois parties. La conception générique présente le modèle logique des données. Elle
s’effectue de manière parallèle à l’analyse. Ensuite, la conception préliminaire élabore
l’architecture logicielle du système. Enfin, la réalisation constitue l’étape de codage.

I- Conception

I-1 Conception générique

La conception generique permet d’elaborer le modèle logique du modèle statique.


Pour la réalisation du système, une base de données est nécessaire. Afin de parvenir à sa
réalisation, le passage du modèle objet du diagramme de classe, au modèle relationnel est
nécessaire. Du modèle statique au modèle logique des transformations sont nécessaires. Le
tableau suivant illustre ces différentes transformations.

Tableau 5.1: Passage du modèle objet au modèle relationnel

Modèle objet Modèle relationnel


Classe Table
Attributs de type simple Colonnes
Attributs de type composé Clé étrangère ou colonnes
Instance n-uplets
Identifiant d’objet Clé primaire
Association Clé étrangère ou table de lien
Héritage Clé primaire sur plusieurs tables

Afin de réaliser la base de données, le système de gestion de base de données PostgreSql a été
choisi par le groupe de projet. PostgreSql offre plusieurs fonctionnalités notamment la création de
tables, l’association des tables. Il implémente des fonctions spatiales en plus de la possibilité
d’utilisation des requêtes SQL.

Mémoire de fin de cycle Page 43


I-2 Conception préliminaire

La phase de conception préliminaire permet d’élaborer l’architecture logicielle du système qui


permet de répondre aux besoins fonctionnels recueillis.

II- Architecture logicielle

Une architecture logicielle permet de structurer et de concevoir une application à partir de ses
spécifications fonctionnelles. Elle structure et décompose chaque application en couche.
Cette architecture ne vise pas à décrire le système mais à montrer comment il doit être construit
pour répondre aux besoins.
Trois diagrammes UML présentent cette architecture. Il s’agit des diagrammes package,
composants, et déploiement. Pour mieux illustrer cela nous ferons une représentation de
différentes couches. La figure suivante illustre cette architecture :

Couche Présentation

Couche métier

Couche accès aux données

Figure 5.1: Les différentes couches du système

II-1 La couche présentation

Mémoire de fin de cycle Page 44


La couche présentation constitue les différentes interfaces du client lui permettant de se connecter
au système et de faire des requêtes. Ces interfaces sont construites grâce à des technologies qui
seront expliquées par la suite.

II-2 La couche métier

La couche métier montre les opérations possibles du système pour un client. Cela montre les
fonctionnalités que le système développe. Cette couche est la partie qui permet au système de
fonctionner et de répondre aux différentes attentes des clients.

II-3 La couche accès aux données

Cette couche permet d’interroger la base de données afin de retourner les réponses des requêtes t
envoyés par le client via la couche présentation. Cette couche est la partie liée étroitement aux
bases de données.

III- Les technologies utilisées

La réalisation de ces différentes couches nécessite l’utilisation de technologies appropriées.


Pour développer les interfaces utilisateurs le langage de programmation PHP et le langage HTML
offrent des possibilités de création de ces interfaces. Les interfaces conçus sont enrichis grâce aux
feuilles de styles implémentés par le CSS. Le CSS permet de rendre conviviale l’interface.
Pour rendre les interfaces dynamiques le langage JavaScript associé à l’AJAX (Asynchrone
JavaScript and XML) est utilisé. Ils permettent de rendre les interfaces riches.
Apres l’utilisation de ces technologies pour les interfaces. Il est important de présenter celles
utilisées pour la réalisation de la partie spatiale. La partie spatiale permet de localiser les ménages
recensés sur une carte. La carte doit être dynamique et facilement manipulable. Pour cela le
service WMS (Web Map Services) utilisé par le serveur Geoserver qui permet d’afficher la carte
et de l’interroger par des requêtes doit être exploité.

Mémoire de fin de cycle Page 45


III-1 Les technologies utilisées pour le webmapping

Les technologies utilisées pour réaliser la partie spatiale sont :


 Un logiciel SIG QGis
QGIS (Quantum Gis) est un logiciel SIG pour un client. Ce logiciel permet de charger les
différentes couches et de les observer. Cette option permet de visualiser une carte, de la
modifier en ajoutant des données ou des symboles. En plus de cela il permet d’importer les
données cartographiques dans une base de données spatiale. Cet import s’effectue grâce au
fichier Shape qui représente toutes les données d’une carte. Le shapfile est le fichier qui
contient les descriptions de la forme d’une carte.
 La base de données PostgreSql muni de l’extension PostGis
PostgreSql est un système de gestion de base de données relationnelle qui possède une
expansion spatiale une fois que le plugin PostGis est installé. Les données cartographiques
sont représentées dans la base de données. Ces données dans la base de données peuvent
être manipulées et transformées. Cette base prend en compte le mode de représentation
vecteur (point, ligne, polygone) [11].
 Le serveur cartographique Geoserver
Geoserver est un serveur cartographique permettant de construire la carte qui sera visible à
travers un navigateur web. Ce serveur communique avec le serveur web pour rendre la
carte au client. Ce serveur traite les requêtes qui lui sont envoyées du client et renvoie les
résultats demandés au serveur web qui s’occupe de l’affichage de la carte. Ces cartes
peuvent être envoyées sous forme d’image (PNG, JPG) ou sous forme de matrice (SVG,
SWG).
Afin que les cartes soient dynamiques pour le client avec des possibilités de zoom, et
affichage d’information sur une zone, la librairie JavaScript OpenLayers est utilisée.

L’interaction des différentes technologies utilisées pour le webmapping

La réalisation du webmapping fait intervenir une machine client et un serveur. Les requêtes
de l’utilisateur sont envoyées au niveau du serveur, qui retourne le résultat sous forme
d’image. La représentation cartographique peut provenir d’une base de données postgresql
ou d’un fichier shape. Une fois qu’une requête est envoyée, le serveur web en

Mémoire de fin de cycle Page 46


communication avec le serveur cartographique transmet la requête. Elle est interprétée par
le serveur cartographique qui en communication avec les sources de données

cartographiques (base de données postgresql ou fichier shape) retourne le résultat. Le client


visualise le résultat de sa requête à travers un navigateur web. La figure illustre cela :

Image (JPEG, PNG)

Navigateur Web

Serveur Web (Apache)

SGBDS
(PostgreSQL) Serveur Cartographique(Geoserver)

Fichier SIG

Figure 5.2: Représentation de la réalisation du Webmapping.


Légende
: envoie de requête
: envoie de la réponse
: Composant physique du système
:
: Système de gestion de base de données spatiale

IV- Procédure de réalisation du webmapping

La réalisation du webmapping nécessite le suivi de certaines étapes dont :


L’installation de la base de données PostgreSql est la première opération à effectuer. Après cela,
nous rendons la base de donnée spatiale pour qu’elle puisse prendre en compte le coté spatiale.

Mémoire de fin de cycle Page 47


Pour cela nous installons PostGis qui ajoutera l’extension spatiale à la base. Nous configurons
notre base de données.
Cette opération terminée, nous devons charger une carte dans la base de données. Cet import se
fait grâce au logiciel SIG QGIS qui nous permet à partir du fichier Shape de la carte de visualiser
la carte et de l’importer. Nous effectuons la connexion à la base de données PostgreSql dans
QGIS. Nous utilisons son plugin d’import de fichier Shape dans la base de données. Cette
opération peut être effectuée aussi en utilisant l’utilitaire d’import du fichier Shape de PostGis
« PostGis import shapefile and export manager ».
Nous pouvons alors utiliser le serveur cartographique Geoserver. Nous procédons à son
installation et nous vérifions que tous ces services fonctionnent correctement, notamment WMS
(Web Map Services) et WFS (Web Future Services). Après vérification et création d’utilisateur
nous pouvons maintenant importer une couche cartographique dans le serveur Geoserver. Une
connexion entre le serveur Geoserver et la base de données PostgreSql est une opération à
effectuer. Après cette connexion, nous choisissons la source de donnée qui n’est autre que les
données cartographiques dans la base de données PostgreSql.
Une fois cette opération terminée, il est maintenant possible d’afficher la carte et de faire des
requêtes. Nous utilisons la librairie OpenLayers qui permet de faire appel au serveur
cartographique contenant la couche cartographique chargée. Cette librairie étant appelée dans un
fichier HTML, il est donc maintenant possible de visualiser la carte à travers le navigateur web
que nous utilisons.

V- La réalisation

 Installation du système de gestion de base de données PostgreSql


La base de données PostgreSql est une base de données dont la licence est libre. Nous
allons donc la télécharger à travers le lien http://www.enterprisedb.com/products-services-
training/pgdownload#windows .
Nous téléchargeons donc la version 9 de PostgreSql. Une fois le téléchargement terminé
nous configurons le serveur de la base de données. La configuration implique l’utilisation
de certains fichiers qui se trouvent sur le dossier d’installation de PostgreSql (C:\Program
Files\PostgreSql\9.1\data). Les fichiers de configuration sont :

Mémoire de fin de cycle Page 48


- pg_hba.conf : ce fichier nous permettra de configurer les droits d’accès au serveur
des différents utilisateurs grâce aux adresses IP des machines et les temps de
connexion à la base de données.
- Postgresql.conf : ce fichier contient l’ensemble des configurations du serveur.
 Installation de la base de données PostGis
L’installation de PostGis est importante pour la mise en œuvre du système.
Elle procure à PostgreSql l’expansion spatiale et permet l’utilisation des données
cartographiques par la base. Nous pouvons le télécharger à travers ce lien
http://postgis.net/windows_downloads ou utiliser l’application « Stack Builder » de
PostgreSql. Apres l’installation de PostGis, PostgreSql possède les deux bases « PostGis »
et « template_postgis_20.PostgreSql a maintenant la possibilité de gérer la partie spatiale
[6].

 Installation du serveur cartographique GeoServer


GeoServer est le serveur cartographique qui nous permettra de donner un rendu
cartographique aux données spatiales qui se trouvent dans la base de données PostgreSql.
Nous allons le télécharger en suivant le lien http://geoserver.org/display/GEOS/Stable. Une
fois téléchargé, nous procédons à son installation sur notre disque dur. Nous l’installons ici
sur le disque C, le chemin du dossier devient : C:\Program Files\GeoServer 2.3.1. Apres
l’installation nous avons la possibilité de tester le serveur en saisissant l’URL :
http://localhost:8383/geoserver/ dans la barre des adresses. Dans notre cas il est installé sur
la machine locale et le numéro du port est 8383.

 Import d’un fichier de type shapefile dans PostgreSql


Le fichier shapefile est le fichier qui possède toutes les descriptions et toutes les couches
spatiales sont décrites dans cette dernière. Nous allons donc l’importer dans la base de
données PostgreSql.
Une connexion de QGIS à PostgreSql est nécessaire. QGIS est le logiciel SIG que nous
utilisons pour faire l’import de fichier Shapefile dans la base de données. Nous devons
d’abord ajouter la couche spatiale dans le logiciel SIG en choisissant le fichier shapefile de
notre carte. Une fois la couche présente dans le logiciel nous faisons la connexion à
PostgreSql en ajouter une couche de données PostGis dans QGIS. Apres la connexion,
nous utilisons le plugin « SPIT » de QGIS pour importer la couche dans la base
PostgreSql. Nous avons la possibilité de choisir d’importer la couche dans une table
Mémoire de fin de cycle Page 49
existante en utilisant sa colonne géométrique ou choisir de créer une nouvelle table dans
PostgreSql.

 Ajout d’une couche spatiale dans le serveur cartographique Geoserver à partir d’une
base PostgreSql
Pour ajouter une couche spatiale dans Geoserver nous avons deux manières. La première
est d’utiliser directement un fichier shapefile et la deuxième est d’utiliser une couche
spatiale provenant d’une base de données. Nous utiliserons la deuxième méthode.
Nous créons d’abord un espace de travail dans Geoserver, après la création d’un espace de
travail nous créons un entrepôt de données. Lors de la création de l’entrepôt de données,
nous choisissons le type d’entrepôt PostGis. Nous précisons les paramètres de connexion à
la base de données et nous choisissons la source de données qui n’est autre que la table
dans laquelle sont stockées les données spatiales.
Apres cette opération, nous pouvons ajouter une couche spatiale dans GeoServer en
choisissant comme entrepôt l’entrepôt PostGis que nous venons de créer.
Cette étape marque la fin de l’intégration de la donnée spatiale dans le serveur
cartographique.

 Utilisation du service WMS (Web Map Service) de Geoserver pour visualiser la carte
à partir d’un fichier PHP.
Apres l’intégration de la couche spatiale dans GeoServer, nous avons la possibilité de
visualiser la carte à partir d’un navigateur web. Nous utiliserons le langage de
programmation PHP et la librairie cartographique OpenLayers pour réaliser cela.
Dans un fichier PHP nous commençons par inclure le style par défaut que le serveur utilise
pour l’affichage des cartes au niveau de l’entête.

<head>
<title>OpenLayers map preview</title>
<link rel="stylesheet" type="text/css"
href="http://localhost:8383/geoserver/openlayers/theme/default/style.css"/>

Apres cette opération nous pouvons utiliser la librairie OpenLayers en spécifiant son
chemin d’accès

Mémoire de fin de cycle Page 50


<!-- Import OpenLayers, reduced, wms read only version -->
<script src="OpenLayers/OpenLayers.js" type="text/javascript">
</script>

Nous pouvons utiliser toutes les fonctions de la librairie, celle que nous utiliserons est celle qui
s’occupe de l’affichage de la carte avec le service WMS

tiled = new OpenLayers.Layer.WMS(


"top :states - Tiled", "http://localhost:8383/geoserver/topp/wms",
{
LAYERS: 'nom de la couche dans geoserver',
STYLES: '',
Format : 'image/png',
tiled: true,
},

Les différents paramètres de la fonction OpenLayers.WMS utilisés dans ce cas sont :


L’URL de la couche dans Geoserver et les différentes propriétés d’affichage de la carte
LAYERS : le nom de la couche spatiale
STYLE : le style d’affichage associé à la couche
Tiled : Fond cartographique
La fonction d’affichage de la carte avec le service WMS affichera la carte au chargement de la
page.

 Réalisation de la mise à jour des données attributaires


Le langage de programmation PHP est utilisé pour interroger la base de données PostgreSql. Les
opérations de mise à jour sont implémentées grâce à ce langage. Pour les interfaces graphiques,
nous utilisons le langage HTML et les feuilles de style CSS qui permettent d’avoir une interface
conviviale.

Mémoire de fin de cycle Page 51


 Choix de l’opération de recensement

Figure 5.3: Ecran du Menu Opération

 Menu principal du Système

Figure 5.4: Ecran du Menu Principal

Mémoire de fin de cycle Page 52


 Enregistrement d’un ménage

Figure 5.5: Ecran d’enregistrement d’un ménage

Mémoire de fin de cycle Page 53


 Enregistrement d’un sous ménage

Figure 5.6: Ecran d’enregistrement d’un sous ménage

VI- Bilan et Perspectives

VI-1 Bilan

La réalisation d’une application web utilisant les logiciels SIGS nous a permis de nous familiariser
avec ces technologies. En outre nous avons aussi appris le principe du Webmapping et sa mise en
œuvre. Nous avons étudié la cartographie en ligne dans ces aspects généraux. Toutefois cette
étude ne s’est pas menée sans difficulté. L’apprentissage de plusieurs technologies interagissant
entre eux et la logique qui les lie nous a pris un temps non négligeable. En plus de cela le
problème de disponibilité des données nécessaires a entraîné un ralentissement considérable de
l’évolution du projet. Ce problème a entraîné une difficulté de respect du planning élaboré. En

Mémoire de fin de cycle Page 54


suivant le processus 2TUP, nous avons atteint la phase de codage et le premier module est achevé.
Cependant la partie cartographique est toujours en cours de développement.

VI-2 Perspectives

Le recensement de la population et la gestion des demandes de parcelles est un module du système


d’information foncier à mettre en place. Ce système comprend les modules d’attribution de
parcelles et de mutations foncières. La réalisation intégrale de ce système serait un atout
considérable pour les communes ; et servirait à l’établissement de statistiques. La réalisation totale
du système et l’interconnexion entre les différentes communes permet de retrouver toutes les
parcelles occupées du territoire burkinabè puis les parcelles libres. Cela permet d’octroyer des
parcelles de manière optimale. La finalisation du système est très importante vue son utilité pour
le pays et même pour les autres pays africains.

La conception et la réalisation de ce projet permettent d’élaborer tous les aspects permettant la


réalisation du système. Dans cette partie une étude sur les différents modèles de réalisation du
système et sa démarche de réalisation ont été menée.

Mémoire de fin de cycle Page 55


Conclusion générale

La mise en place d’une base de données à référence spatiale pour la gestion des recensements de la
population et des demandes de parcelles est un projet important pour les agents du secteur
foncier. Nous avons étudié la mise en œuvre de ce projet. Une démarche de travail a été choisie à
travers le processus 2TUP. Nous avons détaillé la mise en œuvre à travers les grands chapitres qui
respectent le processus 2TUP. La capture des besoins, l’analyse des besoins, la conception et la
réalisation du projet sont des chapitres qui ont été développé dans notre travail.

Dans le but d’atteindre les objectifs du projet, la conception et la réalisation d’une plateforme web
a été faite. Cette plateforme utilise comme gestion de base de données PostgreSql muni de
l’extension spatiale PostGis. Afin de permettre une présentation cartographique des données sur la
plateforme, le concept du webmapping a été utilisé. Ce concept nous a permis d’associer les
logiciels SIG aux différents serveurs cartographiques GeoServer et Web. Le rendu dynamique de
cartes affichées par la plateforme a été réalisé grâce à la librairie javascript OpenLayers. Cette
dernière a permis de donner des fonctions d’affichage comme le zoom.

Au terme de ce stage, nous avons appris à mieux développer un projet à travers la démarche
2TUP. En outre nous avons appris les contours du concept du webmapping. Grace à ce concept
nous avons pu étudier la mise en œuvre de la localisation spatiale des ménages recensés sur une
carte. Par ailleurs,
Nous avons appris les différents modes d’interactions entre les logiciels SIG et les autres
technologies de développement. L’étude nous a permis également d’élaborer le processus de
réalisation du système et de mettre en œuvre le système à travers une plateforme.

Le projet, en dehors de l’aspect national pourrait connaitre une envergure sous régionale ou
africaine car le problème foncier est un problème qui se vit dans les pays de la sous région

Mémoire de fin de cycle Page 56


Bibliographie et Webographie

Bibliographie

[1] UML 2 pour les bases de données ; Auteur : Christian Soutou ; Edition : Eyrolles ;
[2] UML 2 pour les développeurs ; Auteurs : Xavier Blanc et Isabelle Mounier ; Edition : Eyrolles
[3] UML 2 Analyse et conception ; Auteurs : Joseph Gabay, David Gabay, Edition : Dunod, 2008
[4] Taoko Armand Eudes, mémoire de fin de cycle en vue de l’obtention du diplôme d’ingénieur
de conception en informatique ; thème : Gestion spatiale des mutations foncières.
[5] Millogo Frédéric ; Mémoire présenté pour l’obtention du Master 2 Informatique Appliquée aux
Systèmes d’Information Géographique (M2IASIG) ; thème : Mise en place d’une application
Webmapping de géolocalisation des points d’intérêt de la ville de Ouagadougou.

[6] http://www.bonnal.net/spatialiser-une-base-de-donnees-postgis/ (consulté le 06/09/2012)


[7] http://en.wikipedia.org/wiki/Spatial_database?oldid=448387802 (consulté le 09/10/2012)
[8] http://live.osgeo.org/fr/overview/geoserver_overview.html (consulté le 31/04/2013)
[9] http://www.unamur.be/sciences/geographie/etudiants/logiciels-sig-libres-et-webmapping
(consulté le 22/03/2012)
[10] http://projetdea.ustrasbg.fr/depotcel/DepotCel/514/UEOP0708/Cours2_ApprocheProcessus
V1.0.ppt (Consulté le 04/02/2012)
[11] http://www.postgis.fr/book/print/156 (consulté le 25/01/2013)
[12] http://fr.wikipedia.org/wiki/MapInfo (consulté le 12/05/2013)
http://openlayers.org/dev/examples/ (consulté le 03/04/2013)

Mémoire de fin de cycle Page XIII


ANNEXE A : LES DIFFERENTES CONFIGURATIONS

Création d’une base de données géographique avec PostgreSQL

La base de données PostgreSQL n’est pas par défaut spatial, il faut donc la configurer pour qu’elle
prenne en charge la partie spatiale. Pour cela une succession d’opération est nécessaire.
 Nous commençons par l’extension de PostgreSQL.
Nous avons utilisé pour la réalisation du système la version 9.1 de PostgreSQL
 Après l’installation, nous pouvons exécuter la partie SQL qui est un menu de la barre
d’outils proposé par l’interface de PostgreSQL. Cette partie permet d’exécuter des
requêtes SQL et des fonctions de la base de données.
 Afin de doter PostgreSQL du langage PL/PGSQL qui permet d’accéder aux fonctions
spatiales de PostGis, nous exécutons la requête suivante : « CREATE LANGUAGE
plpgsql ; ».
 Après l’exécution de la requête, nous ouvrons le fichier « postgis.sql » (situé dans
‘C:\Program Files\PostgreSQL\9.1\share\contrib\postgis-1.5\’) et nous lançons la
requête. Celle-ci va charger les fonctions spatiales de PostGis et créer la table de stockage
de la géométrie, geometry_columns dans la base de données ainsi que la table dédiée au
stockage des systèmes de coordonnées spatial_ref_sys.
 Une fois la requête effectuée, nous ouvrons cette fois ci le fichier spatial_ref_sys.sql (situé
dans ‘C:\Program Files\PostgreSQL\9.1\share\contrib\postgis-1.5\’) et nous supprimons
les deux lignes comprenant la commande « VACUUM ANALYSE » ; Puis nous exécutons
cette nouvelle requête qui va compléter la table spatial_ref_sys avec les définitions de
divers systèmes de projection disponibles.
Les deux derniers points ont pour objectif la création des deux tables geometry_columns et
spatial_ref_sys qui sont des vues.
La vue geometry column : La table public.geometry_columns contient un catalogue des tables
ayant une géométrie. Cette table est essentielle pour certains produits libres tels que MapServer.
La vue spatial_ref_sys : Elle contient l'inventaire des systèmes de projection disponibles.

Mémoire de fin de cycle Page XIV


Création d’une table spatiale
Une fois la base de données créee sur PostgreSQL, les tables que nous créons ne sont pas
spatiales. Nous devons donc les rendre spatiale. La table présente les types de colonnes classiques.
En plus de ces types de colonne, PostgreSQL propose des colonnes géométriques. Les colonnes
géométriques permettent de prendre en compte les types de données géographiques. L’ajout d’une
colonne géométrique se fait de deux manières :
L’utilisation de l’interface propriété
Cette méthode ajoute une colonne géométrique directement à la table.
L’utilisation de la commande SQL
« SELECT AddGeometryColumn (‘[schema]’, ‘[nom_table]’, ‘[nom_colonne_géometrie]’,
<srid>, ‘[typegéometrie]’, ‘[dimension]’); »[6]

L’import d’un fichier Shape dans la base de données

L’import d’un fichier Shape peut se faire de trois manières. Nous utilisons le logiciel SIG QGIS.
Ce logiciel possède un plugin SPIT qui s’occupe de charger le fichier dans la base de données.
Avant le chargement une connexion à la base de données doit être faite. Une autre manière est
d’utilisée l’outil PostGis Shapefile and DBF Loader qui permet également de charger le fichier
shape dans la base de données. Pour cela une connexion à la base est aussi possible. Lorsque ces
deux manières sont utilisées, un choix de la table contenant la colonne géométrique est demandée.
Nous avons aussi la possibilité de créer une nouvelle table spatiale.
Nous pouvons passer par ligne de commande :
Nous allons donc utiliser le chargeur « shp2pgsql », qui convertit des Shapefile en requêtes SQL
directement utilisables par PostgreSQL/PostGis. La commande d‘import du fichier *shp se
présente comme suit :
« shp2pgsql -s SRID -d -W LATIN1 "chemin d’accès au fichier .shp" nom_table | psql -U
postgres nom_base_données».

Mémoire de fin de cycle Page XV


Table des matières
Dédicace ........................................................................................................................................................... I

Préambule ........................................................................................................................................................ II

Remerciements ............................................................................................................................................... III

Sigles et Abréviations ..................................................................................................................................... IV

Résumé / Abstract .......................................................................................................................................... IX

Liste des figures ............................................................................................................................................. XI

Liste des tableaux .......................................................................................................................................... XII

Introduction Générale ...................................................................................................................................... 1

Chapitre 1 : PRESENTATION DE LA STRUCTURE D’ACCUEIL ET DU THEME ..................................................... 2

I- Présentation de la structure (SEREIN-GE) ........................................................................................ 2

I-1 Domaines de compétences de SEREIN-GE .......................................................................................... 2

I-2 Organisation de SEREIN-GE ................................................................................................................ 3

II- Présentation du thème....................................................................................................................... 4

II-1 Problématique ...................................................................................................................................... 4

II-2 Objectifs du projet ............................................................................................................................... 4

II-4 Les résultats attendus........................................................................................................................... 4

Chapitre 2 : DEMARCHE DE REALISATION DE LA SOLUTION ........................................................... 6

I- Le Langage de modélisation ................................................................................................................. 6

I-2 Justification du choix d’UML ................................................................................................................ 6

I-3 Méthode d’analyse ................................................................................................................................. 7

I-3-1 La démarche 2TUP (2 Tracks Unified Process) ................................................................................. 7

II- Les acteurs du projet ......................................................................................................................... 9

II-1 Le groupe de pilotage .......................................................................................................................... 9

II-2 Le groupe du projet ............................................................................................................................ 10

III- Planning Prévisionnel...................................................................................................................... 10

Chapitre 3 : ETAT DE L’ART ...................................................................................................................... 12

I- Définition d’un SIG ............................................................................................................................... 12

Mémoire de fin de cycle Page XVI


I-1 La composition d’un SIG..................................................................................................................... 12

I-3 Les fonctionnalités d’un SIG ............................................................................................................... 12

II- Les différents modes de représentation ................................................................................................... 13

II-1 Le mode raster ................................................................................................................................... 13

II-2 Le mode vecteur ................................................................................................................................. 14

III- La cartographie ....................................................................................................................................... 15

V- Le Webmapping ....................................................................................................................................... 15

V-1 Les unités cartographiques ................................................................................................................ 17

V-1-1 Le point ....................................................................................................................................... 17

V-1-2 La ligne ....................................................................................................................................... 18

V-1-3 Le polygone ................................................................................................................................ 18

VI- Les technologies SIG .............................................................................................................................. 18

VI-1 Les outils côté client ......................................................................................................................... 18

VI-1-1 MapInfo ..................................................................................................................................... 18

VI-1-2 AutoCAD MAP 3D ................................................................................................................... 19

VI-1-3 Quantum GIS ............................................................................................................................. 19

VI-2 Les outils côté serveur ...................................................................................................................... 19

VI-2-1 MapServer ................................................................................................................................. 19

VI-2-2 ArcGIS-Server ........................................................................................................................... 20

VI-2-3 GeoServer .................................................................................................................................. 20

VII- Les librairies de développement ............................................................................................................ 22

VII-1 OpenLayers...................................................................................................................................... 22

VII-2 GeoExt ............................................................................................................................................. 22

VIII- Les solutions existantes pour la cartographie en ligne dans le domaine de la gestion des parcelles.... 22

Chapitre 4 : ANALYSE DES BESOINS FONCTIONNELS ET TECHNIQUES ....................................... 24

I- La délimitation du projet .................................................................................................................... 24

I-1 Capture des besoins fonctionnels ......................................................................................................... 25

I-1-1 Le diagramme de cas d’utilisation ................................................................................................ 25

Mémoire de fin de cycle Page XVII


I-1-2 Description textuelle des cas d'utilisation..................................................................................... 26

II- Capture des besoins techniques ...................................................................................................... 34

V-I Les contraintes matérielles ................................................................................................................. 34

V-II Les contraintes logicielles ................................................................................................................. 34

V-III L’interopérabilité.............................................................................................................................. 34

V-IV La sécurité ........................................................................................................................................ 35

V-V Architecture réseau ............................................................................................................................ 35

III- Analyse ............................................................................................................................................. 36

VI-1 Regroupage par catégorie ................................................................................................................. 36

VI-2 Présentation du modèle statique....................................................................................................... 38

IV- Les règles de gestion ........................................................................................................................ 38

V- Le diagramme de classe .................................................................................................................. 38

VI- Le diagramme de séquences .............................................................................................................. 40

Chapitre 5 : CONCEPTION ET REALISATION ......................................................................................... 43

I- Conception ........................................................................................................................................... 43

I-1 Conception générique .................................................................................................................... 43

I-2 Conception préliminaire .................................................................................................................... 44

II- Architecture logicielle ..................................................................................................................... 44

II-1 La couche présentation ....................................................................................................................... 44

II-2 La couche métier ................................................................................................................................ 45

II-3 La couche accès aux données ............................................................................................................. 45

III- Les technologies utilisées ................................................................................................................. 45

III-1 Les technologies utilisées pour le webmapping ............................................................................... 46

IV- Procédure de réalisation du webmapping ..................................................................................... 47

V- La réalisation ................................................................................................................................... 48

VI- Bilan et Perspectives ........................................................................................................................ 54

VI-1 Bilan .................................................................................................................................................. 54

VI-2 Perspectives ...................................................................................................................................... 55

Mémoire de fin de cycle Page XVIII


Conclusion générale ...................................................................................................................................... 56

Bibliographie et Webographie ...................................................................................................................... XIII

ANNEXE A : LES DIFFERENTES CONFIGURATIONS ........................................................................ XIV

Mémoire de fin de cycle Page XIX

Vous aimerez peut-être aussi