Memoire de Fin de Cycle: Diplome D'Ingenieur de Conception en Informatique
Memoire de Fin de Cycle: Diplome D'Ingenieur de Conception en Informatique
Memoire de Fin de Cycle: Diplome D'Ingenieur de Conception en Informatique
UNITE-PROGRES-JUSTICE
THEME :
Présenté par :
M. TRAORE Ibrahim
Je dédie ce document
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.
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.
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
Dédicace ........................................................................................................................................................... I
Préambule ........................................................................................................................................................ II
V- Le Webmapping ....................................................................................................................................... 15
VIII- Les solutions existantes pour la cartographie en ligne dans le domaine de la gestion des parcelles.... 22
I- Conception ........................................................................................................................................... 43
V- La réalisation ................................................................................................................................... 48
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.
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.
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.
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.
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:
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.
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.
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.
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 ;
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.
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 :
Nous définissons trois groupes pour l’exécution du projet : le groupe de pilotage, le groupe de
projet et le groupe des utilisateurs.
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.
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.
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.
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 :
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.
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.
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
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.
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
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-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.
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.
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-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
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].
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-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.
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].
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
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
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.
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.
Attribution de Parcelles
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.
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.
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 :
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.
CU 1 : enregistrer ménage
Tableau 4.3: tableau descriptif du cas d’utilisation « enregistrer ménage (scenario alternatif) »
CU 1: enregistrer ménage
Post condition : le ménage peut être pris en compte pour l’attribution des parcelles
Tableau 4.5: tableau descriptif du cas d’utilisation « modifier ménage (scenario alternatif) »
CU 2: modifier ménage
Post condition : le ménage est mise à jour avec les nouvelles données attributaires
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) »
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.9: tableau descriptif du cas d’utilisation « enregistrer une zone (scenario alternatif) »
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.
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
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
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.
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-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
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.
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.
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.
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
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.
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
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.
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.
I- Conception
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.
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
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.
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.
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
Navigateur Web
SGBDS
(PostgreSQL) Serveur Cartographique(Geoserver)
Fichier SIG
V- La réalisation
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
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
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
VI-2 Perspectives
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
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.
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.
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».
Préambule ........................................................................................................................................................ II
V- Le Webmapping ....................................................................................................................................... 15
VII-1 OpenLayers...................................................................................................................................... 22
VIII- Les solutions existantes pour la cartographie en ligne dans le domaine de la gestion des parcelles.... 22
V-III L’interopérabilité.............................................................................................................................. 34
I- Conception ........................................................................................................................................... 43
V- La réalisation ................................................................................................................................... 48