Académique Documents
Professionnel Documents
Culture Documents
Ddicace 4
Remerciements 5
Rsum 6
Abstract 7
Introduction gnrale 10
1.2.2 La gomtrie 20
Bibliographie 78
Ddicace
A
Remerciements
Je tmoigne ma gratitude tous ceux qui de prs ou de loin, matriellement ou moralement m'ont permis de poursuivre et de mener terme mes
tudes d'ingnierie informatique l'Institut de Mathmatiques et de Sciences Physiques (IMSP) de l'Universit d'Abomey-Calavi (UAC).
Merci tout spcialement mon matre de mmoire M. Eugne C. EZIN pour sa disponibilit et son souci du travail bien fait.
Merci mes grands frres Barthlmy AKAKPO et Alexis AKAKPO pour les diffrents conseils et motivations.
Mes remerciements s'adressent galement l'ensemble du corps enseignant de la filire Gnie Informatique et Sciences Appliques (IGISA) de
l'IMSP.
Je dois reconnaissance tous ceux qui, par leurs travaux, ides, prsentations, collaborations ou relectures, ont particip la ralisation de ce
mmoire, en particulier : Herv M. AKAKPO, DANSOU Z. Alphonse, KOUNNOU M. Frdy et j'en oublie.
Une mention particulire mon pouse Clmentine, mon enfant Prcieux Manass Nonvignon, mon frre Raoul et ma soeur Jocelyne qui m'ont
support pendant tous ces temps d'tudes.
Merci tous.
Rsum
La cartographie sur Internet ou webmapping est un domaine en plein essor et de nombreuses disciplines scientifiques y ont maintenant recours
pour prsenter des travaux cartographiques.
Les technologies disponibles actuellement se distinguent trs nettement par leur complexit, leur cot et leur ouverture. Au sein de ces multiples
approches, nous avons pris le parti de mettre en place un systme simple, qui repose sur des outils libres et open sources utilisant la technologie
Java.
Ce travail comprend trois volets savoir la ralisation d'une base de donnes gographique avec postgresql/PostGIS, le dploiement d'un
serveur gographique (GeoServer) et le dveloppement d'une application Web qui interagit avec ceux-ci. La base de donnes contiendra les
donnes spatiales et attributaires. Le serveur gographique se servira de ces donnes pour produire des couches cartographiques selon les
requtes de l'application Web. L'application Web est base sur les JSP et les Servlets pour grer le ct dynamique du systme. Elle a pour
principale fonction de rediriger les requtes du client au serveur gographique afin de rcuprer des images cartographiques pour le client.
L'utilisateur final se servira d'un simple navigateur pour explorer les domaines, faire des demandes d'autorisation pour l'occupation d'un domaine,
formuler des plaintes sur l'tat de son domaine et gnrer par exemple des arrtsd'autorisation selon son profil.
Abstract
Mapping on the Internet or webmapping is a growing field and many scientific fields have now resorted to present cartographic work.
Currently available technologies differ markedly in their complexity, cost and openness. Within these multiple approaches, we took the party to up
a simple system based on free tools and using open source technology Java.
This work has three components namely the implementation of a geographic database with PostgreSQL / PostGIS, the deployment of a
geographic server (GeoServer) and the design of a web application that interacts with them. The database will contain spatial and attribute data.
The geographic server will use these spatial data to produce map layers according to the requirements of the Web application. The Web
application is based on the JSP and Servlets to manage the dynamic side of the system. Its main function is to redirect client requests to the
geographic server in order to retrieve map images to the client.
The end user will use a browser to explore areas, apply Authorization for the occupation of an area, making complaints about the state of his area
and generate such decrees authorization according to his profile.
Introduction gnrale
La cartographie est ne du besoin de l'homme avoir sous forme symbolique et graphique les informations golocalises. Elle est la premire
tape de la cration des systmes d'information gographiques qui de nos jours ont connu une grande expansion notamment dans les domaines
de la sant, de la climatologie, de la topographie, de la dmographie etc [1] . La vulgarisation des moyens de communication modernes tels que
Internet a trs vite servi de support la diffusion cartographique. De plus l'laboration d'une normalisation par l'OGC 1 a permis le dveloppement
d'applications dans le domaine du Webmapping2 et dont la plupart se limitent seulement l'affichage et la diffusion d'informations spatiales de
faon statique.
Au Bnin, le suivi de l'allocation des domaines publics est une vritable gageure surtout dans le cadre de la dcentralisation. Ce suivi implique la
dlimitation et la golocalisation du domaine, son affectation un contribuable et sa restitution dans les conditions prvues. Actuellement, au
Bnin, aucune commune ne dispose d'outils informatiques modernes pour le suivi des domaines tel que dfinis plus haut. Au plan national, seule
une base de donnes gographique est disponible mais elle est trs peu exploite pour des fins conomiques.
A travers ce mmoire, nous nous sommes propos de mettre en oeuvre un systme de Webmapping interactif et dynamique avec les
technologies JSP et Servlet. Il s'agit d'un systme qui ne se limitera pas seulement l'affichage des domaines dans leur ensemble. L'affichage
dpendra aussi des critres dfinis par l'utilisateur lui mme (les domaines occups ou non, les domaines situs au bord d'une voie donne, les
domaines sur lesquels est pratique une activit donne, etc.). Pour cela ce systme sera dot d'une base de donnes gographiques
rgulirement mise jour. Enfin
1. OGC : Open Gospatial Consortium est un consortium international de normalisation qui a labor une
solution conceptuelle publique pour toute application qui gre les donnes spatiales.
2. Webmapping : Encore appel SIG (Systme d'Information Gographique) Web, il dsigne la fois le processus
de distribution de cartes via un rseau tel que l'Internet, l'intranet ou l'extranet et leur visualisation dans un navigateur
le systme aidera galement les administratifs dans la prise de dcision travers la production automatique des arrts d'autorisation.
Pour y parvenir, il est ncessaire, d'une part, d'approfondir nos connaissances sur le concept du Webmapping au plan technique, et d'autre part
de recueillir les besoins pour lesquels nous proposerons une solution qui sera modlise et implmente suivant les choix techniques effectus.
I. Problmatique
Depuis le 15 janvier 1999, le Bnin a opt pour le rgime de la dcentralisation. Les dpartements sont alors subdiviss en collectivits
territoriales administres par des Maires. Le Maire avec ses conseillers disposent d'un large pouvoir autonome et de comptences propres pour
grer les ressources humaines, financires et matrielles de leur commune. Au coeur de cette gestion se trouve celle des espaces publics qui
constitue souvent une source de msentente entre l'administration et les administrs. Les causes de ces conflits sont de diverses origines
savoir :
- le manque de dlimitation et d'identification gographique des domaines : les contribuables sont souvent tents d'exploiter plus d'espace que
prvu. Dans ce cas, l'administration prouve des difficults grer les conflits de proximit;
- le dfaut de rpertoire fiable associant chaque domaine l'occupant d'une priode donne : le contrle de la restitution des domaines reste
manuel entrainant ainsi le non respect du dlai d'occupation;
- le retard dans la dlivrance des permis d'occupation qui souvent ne font pas mention des rfrences gographiques du domaine en question;
L'essor des systmes d'informations gographiques, de l'Internet et des technologies Web a permis l'apparition du Webmapping dans les annes
90. Cette technique de diffusion de carte sur Internet continue de faire ses preuves surtout dans l'exploration spatiale. A travers ce mmoire,
cette technique sera utilise pour proposer une solution dans le but d'aider les administrs et l'administration dans la gestion quotidienne des
domaines publics.
II. Objectifs
Dans le contexte de notre tude, il s'agit d'adapter la technologie Webmapping nos ralits pour assister les administrations communales dans
la gestion de l'allocation des domaines. Autrement dit, l'affichage des cartes sera interactif et dynamique pour permettre d'une part aux
contribuables de demander en ligne un domaine rpondant des critres et d'autre part aux dirigeants de suivre l'volution de l'occupation des
domaines et leur restitution. Pour trouver une rponse ces proccupations, nous nous sommes fix quelques objectifs atteindre dans notre
tude.
L'objectif principal de ce mmoire est de proposer un prototype d'un systme de Webmapping pour la gestion de l'allocation des domaines
publics, dot des mcanismes d'aide la production des arrts d'autorisation. Les objectifs spcifiques sont :
- concevoir un systme de Webmapping dot d'une base de donnes gographiques devant apporter une meilleure lisibilit et rendre possible la
gestion des conflits de proximit grce la visualisation de la cartographie des domaines;
- permettre une meilleure coordination des quipes charges d'instruire des domaines et de contrler les conditions de restitution de l'espace
public;
Le premier chapitre prsentera les technologies et les outils existants pour la mise en oeuvre du Webmapping. Cette exploration technique
permettra d'effectuer des choix et de proposer une solution au problme pos. Le deuxime chapitre abordera la modlisation et la conception de
cette solution. Enfin, le troisime chapitre traitera de la mise en oeuvre du prototype pour la gestion de l'allocation des domaines d'un march
public. Les diffrentes simulations permettront de souligner les limites de la solution et les perspectives qui y dcoulent.
Chapitre Premier
Webmapping
Introduction
Plusieurs outils logiciels sont disponibles pour la mise en oeuvre d'une application Web et pour le dploiement d'une base de donnes
gographiques. Ces outils libres ou non seront brivement prsents avec leurs avantages. Nos investigations porteront surtout sur ceux qui
utilisent la technologie java.
Le prsent chapitre abordera dans une premire partie les technologies Web utilises pour le Webmapping, puis une seconde partie, se
consacrera aux Systmes de Gestion de Base de Donnes (SGBD) permettant le dploiement d'une base de donnes gographiques. Dans une
troisime partie, il sera rpertori les logiciels libres mettant en oeuvre le Webmapping. Enfin, des choix seront faits dans le but de proposer une
solution au problme pos.
Les scripts de programmation Web servent crire des pages Web dynamiques et permettent l'extension de leurs fonctions par l'accs aux
bases de donnes, les transactions d'e-commerce, le Webmapping, etc. Les Langages de scripts offrent des balises spcifiques permettant
l'intgration
de ces diffrentes technologies dans des pages Web en HTML (HyperText Markup Language). Parmi les langages de script qui existent on peut
citer : PHP, ASP, Servlets, JSP, JavaScript, CGI (Common Gateway Interface), CSS (Cascading Style Sheet), VBSript, WAP (Wireless
Application Protocol), etc. Il nous parat opportun de prsenter quelques uns.
Le langage PHP (Hypertext Preprocessor) fut cr en 1994 par Rasmus Lerdorf. PHP est un langage de script libre principalement utilis pour
produire des pages Web dynamiques via un serveur http. Depuis la version 5, PHP dispose des fonctionnalits de modle objet compltes. Il
prsente entre autres les atouts suivants :
- il est multiplateforme;
- la gratuit et la disponibilit du code source sous la licence GPL (General Public License); - la simplicit d'interfaage avec les bases de
donnes;
- sa forte popularit;
PHP est un langage interprt. Ce qui est au dtriment de la vitesse d'excution du code. Aussi, les programmes PHP rencontrent-t-ils des
problmes de portabilit. Mais notons qu'il existe galement des projets pour compiler du code PHP. Par exemple Quercus convertit un code
PHP en bytecode Java excutable sur une machine virtuelle Java et HiPHop for PHP transforme du PHP en C++ [2].
Active Server Pages (ASP) est un stantard mis au point par Microsoft en 1996 et qui permet le dveloppement des pages Web interactives. ASP
est une structure compose d'objets accessibles par deux principaux langages : le VBScript et le JScript. Il s'agit en ralit d'une technologie, ou
plus exactement d'un environnement de dveloppement, permettant de reprsenter sous forme d'objets les interactions entre le navigateur du
client, le serveur Web, ainsi que les connexions des bases de donnes grce aux composants ActiveX. L'ASP est excut ct serveur et peut
lire et crire des documents issus d'office (Excel, Word, etc.). C'est un langage interprt comme le PHP. L' ASP.NET vient amliorer les
performances de l'ASP surtout en terme de rapidit puisqu'il propose une excution compile. L'inconvnient majeur de ces technologies est
qu'elles ncessitent
pour leur fonctionnement une plateforme Windows avec IIS (Internet Information Server) install, ou encore une plateforme Linux ou Unix avec
une version modifie d'Apache [3].
Une servlet est un programme qui s'excute ct serveur et permet l'extension des fonctions de ce dernier. Elle reoit une requte du client,
effectue des traitements et renvoie le rsultat. La liaison entre la servlet et le client peut tre directe ou passer par un intermdiaire comme par
exemple un serveur http. Mme si pour le moment, la principale utilisation des servlets est la gnration de pages XHTML (eXtensible HTML)
dynamiques utilisant le protocole http, n'importe quel protocole reposant sur le principe de requte/rponse peut en faire usage [9].
Ecrite en java, une servlet en retire ses avantages : la portabilit, l'accs toutes les API de java dont JDBC pour l'accs aux bases de donnes,
etc. Une servlet peut tre invoque plusieurs fois en mme temps pour rpondre plusieurs requtes simultanes. Une fois instancie, elle reste
en mmoire. Ce qui permet de garder des ressources systme et gagner le temps d'initialisation. Les servlets sont indpendantes par rapport au
serveur Web et peuvent tre dmarres automatiquement lors du lancement du serveur.
Dans une architecture client/serveur trois tiers, la servlet se positionne dans le tiers du milieu entre le client lger charg de l'affichage et la
source de donnes. Les servlets sont limites en matire d'interface graphique car elles s'excutent ct serveur et une petite modification dans
le code XHTML ncessite la recompilation de la servlet.
Pour dvelopper et excuter une servlet il faut le Java Servlet Development Kit (JSDK) qui est un package contenant l'ensemble des classes et
des interfaces ncessaires. Le JSDK est incorpor dans des conteneurs Web ou serveurs d'application dont Apache Tomcat, Jetty, JBoss ou
encore GlassFish. Le choix d'un serveur d'application doit tenir compte de la version du JSDK qu'il supporte pour tre compatible avec celui
utilis pour le dveloppement des servlets.
Les JSP (Java Server Pages) sont une technologie Java qui permettent la gnration de pages Web dynamiques. La technologie JSP permet de
sparer la prsentation sous forme de code XHTML et les traitements sous forme de classes Java. Les JSP permettent d'introduire du code Java
dans des balises prdfinies l'intrieur d'une page XHTML. Ils mlangent la puissance de
Java ct serveur et la facilit de mise en page de XHTML ct client. Une JSP est habituellement constitue :
- de balises JSP;
- l'utilisation de Java qui permet une indpendance de la plate-forme d'excution mais aussi du serveur Web utilis;
- la sparation des traitements de la prsentation : la page Web peut tre crite par un designer et les balises JSP peuvent tre ajoutes ensuite
par le dveloppeur. Les traitements peuvent tre raliss par des composants rutilisables (des Java beans, servlets);
- les JSP sont bases sur les servlets : tout ce qui est fait par une servlet pour la gnration de pages dynamiques peut tre fait avec une JSP.
Concrtement, au premier appel de la page JSP, le moteur de JSP gnre et compile automatiquement une servlet qui permet la gnration de la
page Web. Le code XHTML est repris intgralement dans la servlet.
Dans le fonctionnement d'une application Web base sur la technologie JSP, lorsqu'une requte demandant une page JSP est envoye par un
client http, le serveur Web http transmet la requte au moteur de JSP qui va l'interprter puis compiler le code et gnrer la rponse sous forme
d'une page XHTML statique. Donc pour excuter une page JSP, il faut, en plus d'un serveur http comme Apache, un moteur de JSP comme
Tomcat, Jetty ou GlassFish. Sur le serveur d'application il faut installer un Java Development Kit (JDK) qui contient une Machine Virtuelle Java
(MVJ).
Le serveur d'application et le serveur Web sont des logiciels ncessaires au niveau du serveur pour faire tourner une application Web. Les deux
jouent des rles diffrents mais se compltent. En effet, le serveur Web se charge uniquement du traitement des requtes http et s'il constate que
la requte reue contient des codes destins au serveur d'application, il la lui transmet. Il revient au serveur d'application de traiter le code pour
envoyer la rponse via le connecteur.
Le serveur d'application et le serveur Web ne sont pas ncessairement spars. Par exemple les
conteneurs d'application utilisant la technologie Java comme Tomcat, JBoss, Jetty ou Glassfish incluent un serveur Web gnralement Apache.
Ceci permet d'installer un serveur Web complet en utilisant moins de ressources. Cependant on peut sparer ces deux serveurs pour des raisons
de productivit et de performance.
Dans cette section il sera prsent les conteneurs d'applications utilisant la technologie Java afin de choisir celui qui est appropri notre
application Web base sur les JSP et les Servlets.
Apache Tomcat, un projet de la fondation Apache, est un conteneur d'applications libre crit en Java qui implmente les spcifications des
servlets et des JSP de Sun Microsystems. Il inclut par dfaut le serveur Web Apache et peut tre utilis en autonomie avec ce serveur Web, ou
en collaboration avec d'autres comme IIS (Internet Information Server) par exemple [4]. Tomcat est libre et distribu sous une licence Apache.
Tomcat est un ensemble de plusieurs composantes ayant chacun un rle. Il s'agit par exemple
de :
- catalina : un conteneur servlet qui implmente les spcifications de Sun pour les servlets et les JSP;
- coyote : un connecteur http qui coute le trafic entrant, dirige les requtes au moteur de Tomcat et renvoie la rponse au client;
- jasper : un moteur JSP qui compile les fichiers JSP en tant que servlets et est capable de dtecter les modifications des fichiers et de les
recompiler la vole.
- il est simple administrer, beaucoup plus que les serveurs d'application Open Source complets;
il n'occupe que deux ports sur la machine (8080 : port propre de Tomcat et 8009 : port de communication entre Apache et Tomcat via le protocole
AJP13 1 ).
La version actuelle Tomcat 7.0.25 (sortie en janvier 2012) implmente les spcifications Servlet 3.0, JSP 2.2 et EL (Expression Language) 2.2,
support java 6, amliore la dtection et la prvention des fuites de mmoire.
Jetty est un serveur http et un moteur de Servlets entirement crit en Java [4]. En raison de sa petite taille, il convient parfaitement pour fournir
des services Web une fois embarqu dans une application Java. La premire version date de 1995. Jetty peut tre utilis en autonomie, comme
serveur Web traditionnel, ou peut tre intgr dans un serveur d'application Java.
Jetty est un logiciel libre. Depuis 2009, le dveloppement du noyau est hberg par la fondation Eclipse. Il offre plusieurs avantages savoir :
Cr en 1999, JBoss est un serveur d'applications J2EE2 initi par un groupe de dveloppeurs de la socit JBoss Inc., entirement crit en
Java, libre et distribu sous la licence LGPL (Licence Publique Gnrale Limite GNU). Il est maintenu par le groupe JBoss gratuitement, mais
tous les services consultants sont facturs [4].
JBoss fournit toute sorte de services standardiss : conteneur d'EJB (Enterprise Java Bean), gestion de mail, gestion de transactions, gestion de
la scurit, gestion du dploiement etc.
JRun est un serveur d'application de Macromedia, bas sur Microsystem J2EE. JRun consiste en Java Server Page (JSP), Servlets Java,
Enterprise JavaBeans (EJB), de Java Transaction Service (JST), et de Java Message Service (JMS). Il fonctionne avec la plupart des serveurs
Web, comme Apache, IIS, et de manire gnrale, tout serveur Web supportant Internet Server Application Program Interface (ISAPI) ou les
Common Gateway Interface (CGI) [4]. Il est rput tre le plus rapide du march et existe en 4 versions : Dveloppeur, Professionnelle, Avance
et Entreprise donnant chacune des prestations diffrentes :
2. J2EE : Java 2 Platform Enterprise Edition conu par Sun Microsystems pour simplifier le dveloppement d'application en environnement client
lger.
- dveloppeur : toute option, mais uniquement pour le dveloppement, et limite 3 connexions simultanes;
- professionnelle : pour les entreprises hbergeant des Servlets et des applications base de JSP, sur un seul serveur;
- entreprise : pour les entreprises crant et dployant des applications Java de e-commerce.
N en juin 2005, Sun Glassfish Enterprise Server est le premier serveur Open source ayant implment totalement la norme JEE 5. Il permet aux
entreprises de crer et de dployer des applications Web l'aide du profil Web Java EE lger et de faciliter l'exploitation de la puissance de la
plateforme Java EE. La version 3.0 est sortie le 10 dcembre 2009 en mme temps que Java EE 6. Au niveau des standards, Glassfish recouvre
JSP 2.1, Servlet 2.5 pour faire de l'injection de dpendance dans le conteneur Web. Avec la version 3, c'est un support complet de Java EE 6 qui
est propos avec la prise en compte de Servlet 3.0 . Il est lger, rapide, modulaire avec un interface administrateur simple. La distribution est
place sous double licence CDDL (Common Developpement and Distribution License) et GPLv2. Par dfaut Glassfish intgre certains API
comme JavaMail et JAAS3 .
L'administration de GlassFish peut se faire en interface graphique sur le port 4848 par dfaut ou en ligne de commande nomme asadmin.
3. JAAS : Java Authentification and Authorization Service est un framework de scurit de Java.
En 1997, l'OGC publie "l'OpenGIS Simple Features Specifications For SQL", un document qui propose plusieurs voix conceptuelles afin qu'un
Systme de Gestion de Bases de Donnes SQL supporte les donnes spatiales. Le but de cette spcification est de dfinir un schma standard
SQL qui permet le stockage, la rcupration, l'interrogation et la mise jour de donnes spatiales simples travers un SGBD. Les donnes
spatiales simples sont stockes, normalement, dans des colonnes gomtriques dans un SGBD Relationnel. Les donnes non spatiales sont
inscrites dans des colonnes dont les types de donnes ont t dfinis par le standard SQL92. Les donnes spatiales, quant elles, sont inscrites
dans des colonnes dont les types de donnes SQL sont bass sur le concept fondamental de donnes gomtriques additionnelles pour le
langage SQL. On distingue alors deux types d'environnement, l'environnement SQL92 et l'environnement SQL92 avec types de donnes
gomtriques. L'OpenGis Abstract Spcification spcifie les types gomtriques utiliss par les SGBDS.
Les trois SGBDS cits plus haut ( savoir PostgreSQL/PostGIS, MySQL/MyGIS, Oracle/Oracle Spatial) seront examins sur les points tels que
les objets gomtriques, les index spatiaux, les prdicats spatiaux, les fonctions spatiales et les systmes de rfrence spatiale supports.
1.2.2 La gomtrie
Les trois SGBD Spatiaux utilisent le mode vecteur pour reprsenter les objets gographiques suivant le modle spaghetti4 . Ils implmentent tous
le modle objet dfini par l'OGC. Seul ORACLE permet le stockage d'arc de cercle comme parties d'une gomtrie, mais il ne respecte pas les
rgles de nommage [5]. Le Tableau 1.1 rcapitule les modes de reprsentation et les types gomtriques utiliss par les trois SGBD spatiaux
pour reprsenter les objets.
4. Modle spaghetti : est un modle de reprsentation des donnes spatiales o la gomtrie d'un objet est dcrite indpendamment de celle des
autres.
Les index sont au centre des SGBD car ils permettent d'augmenter la performance lors des requtes en dfinissant des classements sur
certaines tables.
Les trois SGBD spatiaux disposent d'un systme d'indexation spatial et recommande voire obligent l'utilisation des index pour les colonnes qui
contiennent des objets gographiques. En effet, les donnes spatiales sont souvent volumineuses et demandent par consquent un temps de
traitement important. Il convient donc de classer ces colonnes dans l'espace en utilisant un systme d'indexation afin d'optimiser le traitement.
Les trois SGBD spatiaux utilisent le systme d'indexation R-Tree 5. En dehors de R-Tree, Oracle Spatial autorise le systme d'indexation
QuadTree6 alors que PostGis utilise galement le systme d'indexation GIST7 [5]. Le Tableau 1.2 prsente les types d'index utiliss par chacun
des trois SGBD spatiaux.
- Quad-Tree
La notion de prdicats spatiaux regroupe les fonctions et/ou oprateurs permettant de tester les relations spatiales entre les objets. Ces prdicats
utilisent souvent la notion de rectangles englobants(bbox) des objets pour raliser les tests afin de rendre les calculs rapides.
La norme OGC dfinit un certain nombre de ces prdicats qui renvoient une valeur boolenne ou une valeur valuable dans une condition
boolenne. Il s'agit de :
5. R-Tree: Regional Tree : systme d'indexation qui divise l'espace en secteurs pour associer un certain nombre
7. GIST: GeneralIzed Search Tree est une mthode d'accs balance structure de type arbre.
- overlaps : vrifie s'il y a un chevauchement, une intersection entre deux objets; - contains : vrifie si un objet contient un autre objet;
- relate : identifie tous les objets qui ont une relation particulire avec un objet donn. Oracle dispose en plus de ces prdicats, des prdicats
supplmentaires afin d'largir le champ d'analyse des objets, savoir :
- SDO_FILTER : pour filtrer les objets qui peuvent avoir une relation avec un objet donn. Cette fonction utilise les bbox8 des objets uniquement
et utilise les index spatiaux dfinis sur les objets.
- SDO_NN_DISTANCE : fonction pour connatre la distance de l'objet renvoy par SDO_NN. Elle ne peut tre appele que lors d'un appel
SDO_NN.
- SDO_ON : pour tester si un objet est sur un autre (l'intrieur et la frontire d'un objet se trouvent sur la frontire d'un autre objet, par exemple
une ligne couvrant le contour d'un polygone).
- SDO_WITHINDISTANCE : pour trouver les objets situs une certaine distance d'un objet.
Le Tableau 1.3 rsume les diffrents prdicats supports par chacun des SGBD spatiaux.
l'OGC mais n'agit que sur le rectangle englobant des objets et non sur les l'OGC l'OGC mais ne res-
rapport la norme
OGC
Les fonctions spatiales sont toutes les fonctions, autres que les prdicats, qui agissent sur les donnes spatiales afin de crer de nouveaux
objets ou de renvoyer les informations sur les objets. Une tude comparative des SGBD spatiaux par rapport aux fonctions spatiales supportes
est prsente dans le Tableau 1.4.
Les donnes gographiquess tant reprsentes sur une surface presque sphrique, il est ncessaire de les projeter grce des formules
mathmatiques afin de les reprsenter sur des surfaces planes (carte ou cran). Les donnes ainsi transformes, sont dans un nouveau
Systme de Rfrence Spatiale (SRS). A ce titre, les diffrents SGBD spatiaux offrent des fonctionnalits trs varies que nous prsentons dans
le Tableau 1.5.
ping
Le Webmapping, est un domaine en pleine expansion grce au dveloppement des solutions Open Source. Suivant la philosophie GNU qui
autorise la copie, la diffusion du logiciel et la modification du code source, ces programmes gnralement gratuits et d'utilisation libre mergent
un rythme soutenu.
Il s'agit des logiciels qui appartiennent un diteur et qui sont protgs par des licences. On retrouve sur le march un nombre important dont les
plus connus sont : la famille ArcGIS, Geoconcept, Mapinfo, Arcview et Autocad.
Ces solutions commerciales ont t vites pour des raisons de besoins fonctionnels.
Ce sont des applications livres gratuitement et parfois avec leurs sources, que l'on peut donc modifier volont pour l'adapter ses besoins. On
distingue les logiciels SIG gnralistes et les logiciels SIG avec des clients lgers.
Ils fonctionnent en mode client-serveur; sauf que dans ce cas le client est lourd. On peut citer :
- Grass : c'est le plus ancien logiciel SIG libre, le plus complet et dvelopp en C++. Il se connecte directement PostGIS pour traiter les
donnes spatiales et supporte beaucoup de formats. Mais il est lourd avec une installation difficile. Il existe sous diffrentes plateformes et pour
diffrents systmes d'exploitation noyau UNIX.
- Openjump : il est compatible avec tous les systmes d'exploitation et est dvelopp en java. Openjump prend en compte les connexions
PostGIS ou WMS 9. Son inconvnient majeur est l'absence de fonctionnalits. Openjump s'organise en effet sous la forme d'un noyau grant les
fonctions SIG de base, sur lesquelles peuvent se greffer de nombreux plugin. Ces plugin ajoutent des fonctionnalits diverses, souvent
disponibles uniquement dans les logiciels SIG avancs (interpolation, requtes spatiales, mise en page, reprsentations graphiques, etc.).
- QuantumGIS : il est dvelopp en C++, simple d'utilisation, et se connecte facilement PostGIS. Il permet galement d'importer des
shapefiles10 dans PostGIS. QuantumGIS ne permet pas la modification de la gomtrie d'une couche ni les requtes attributaires et spatiales.
- UDIG (User Friendly Desktop Internet GIS) : il est construit autour de la plateforme Java Eclipse et peut se connecter PostGIS. Son
installation dans un environnement Windows est facile. Son avantage majeur est qu'il permet des modifications sur la gomtrie des couches
charges en mettant directement jour la table de donnes distant. Par contre il ne permet pas de faire des analyses thmatiques ni de faire des
requtes spatiales [6].
9. WMS : Web Map Service, permet de produire des cartes de donnes gorfrences partir des serveurs de
donnes.
10. shapefiles : fichier de forme, issu du monde des SIG et qui contient des informations spatiales.
ploitation
Bases de don- PostGIS, PostGIS, Oracle, ArcSDE PostGIS PostGIS, Oracle, DB2, ArcSDE
GIS, Oracle
Standards OGC supports WMS, WFS WMS, WFS, WMS, WFS, WMS, WFS-T
De base, les solutions ct serveur Open Source apportent la possibilit partir d'un navigateur Internet classique de visualiser des couches
gographiques gnres dynamiquement. Ces solutions respectent le principe du Webmapping. Il s'agit entre autres de :
- MapLab : il est une suite logicielle intgre destine faciliter le dploiement de solutions de Webmapping. MapLab permet de construire
graphiquement son mapfile, visualiser l'ensemble des donnes et y ajouter par exemple des couches partir des requtes WMS sur un serveur
cartographique distant.
- MapServer : MapServer est un programme CGI qui s'excute donc sur un serveur Web. En quelques mots, son rle consiste piocher dans
des bases de donnes et autres ressources afin de gnrer des images de type matriciel, qui seront transmises un client par l'intermdiaire
d'un serveur Web. L'usage simple de MapServer consiste rgler quelques paramtres dans un fichier de configuration (le mapfile), et cela suffit
pour mettre en place un serveur WMS
conforme aux normes OGC. Il est crit en C et est multiplateforme. MapServer peut tre utilis en CGI ou avec MapScript. MapScript est une API
C qui s'interface avec PHP, Perl, C#, Java et permet d'utiliser les fonctions de MapServer partir de ces scripts.
Plus dur mettre en oeuvre, il est aussi nanmoins plus souple et permet d'obtenir prcisment le rsultat attendu. MapServer a plusieurs
avantages savoir : l'adaptabilit et la flexibilit, l'interoprabilit, la stabilit remarquable et l'volution rapide. Cependant, la solution MapServer
ncessite un effort en dveloppement. Il ne garantit pas la qualit graphique des cartes [7].
- CartoWeb : il n'est pas un serveur cartographique mais un client lger qu'on installe sur le serveur des donnes pour interagir avec celles-ci. Il
permet la visualisation et la manipulation des donnes vectorielles et raster. CartoWeb se connecte avec PostGIS, s'intgre facilement dans un
environnement Apache, PHP 5, Mapserveur 4.5 mais n'est pas compatible avec PHP 4. Son installation est complexe et ncessite une
configuration particulire.
- GeoServer : GeoServer est un serveur open source dvelopp en Java. Il supporte les standards de l'OGC : WMS, WFS et WCS (Web
Coverage Service). Il possde une interface permettant de construire facilement des fichiers standardiss qui peuvent ensuite tre partags par
diffrents types de clients (OpenLayers,uDig, ...). Ayant hrit tous les avantages de Java, Geoserver est multiplateforme. Sa configuration est
facile avec une interface simple. GeoServer a une structure homogne en utilisant GeoAPI, GeoTools et en respectant la norme OGC. Il permet
de se connecter facilement PostGis pour extraire des donnes spatiales partir d'une table ou d'une requte paramtrable. Avec GeoServer on
note une finesse dans le rendu des cartes. Cependant, GeoServer est lent par rapport MapServer, ncessite l'installation d'un JDK 1.4 ou plus
et il est difficile de trouver une bonne documentation [8].
ploitation
Bases de don- PostGIS, Oracle PostGIS, Oracle PostGIS, MY- PostGIS, Oracle,
ODBC, ArcSDE
nes supports GIS
Standards OGC supports WMS, WFS WMS, WFS, Web Service WMS, WFS,
tant WMS et
WFS
Licence GNU/GPL GNU/FDL GNU/GPLv2 GNU/GPLv2
- l'application doit tre dveloppe avec des outils libres et open sources;
- l'application doit tre consulte n'importe o avec un client lger comme un navigateur : mode client-serveur;
Au niveau applicatif, nous optons pour GlassFish vu sa souplesse, sa double fonctionnalit de serveur Web et serveur d'application. De plus,
GlassFish est disponible sous une licence gratuite et est incorpor dans NetBeans, l'environnement de dveloppement que nous avons choisi.
Pour la gnration des couches cartographiques, GeoServer a t choisi comme Serveur gographique garantissant un meilleur rendu des
cartes et une meilleure scurit. Implment en Java, son choix nous permet d'avoir une homognit au niveau de tout le systme mettre en
place.
Si nous avions effectuer une classification sur l'ensemble des fonctionnalits offertes par les SGBDS tudis, Oracle Spatial viendrait en tte
suivie de PostgreSQL/PostGIS. Cependant,
nous portons notre choix sur le second du fait qu'il est libre et gratuit. Il est quasiment aussi performant que Oracle Locator qui est quant lui un
produit propritaire et non gratuit. De plus PostgreSQL/PostGIS est facilement accessible par GeoServer, notre serveur gographique.
En rsum, nous proposons un systme qui correspond une architecture quatre tiers compose des lments suivants :
1. Le client met une requte (i.e. appelle une URL) pour demander une ressource au serveur. La rponse cette requte peut tre
une page HTML simple (statique) ou une page dynamique gnre par une application Web.
2. Le serveur Web se charge du traitement de la requte http. Lorsque la rponse la requte est une page statique, elle est
directement fournie par le serveur Web.
3. Si le serveur http s'aperoit que la requte reue est destine au serveur d'applications, il la lui transmet. Les deux serveurs sont
relis par un canal, nomm connecteur.
4. Le serveur d'applications (exemple : Glassfish ) reoit la requte son tour. Il est, lui, en mesure de la traiter. Il excute donc le
la requte, en fonction de l'URL. Cette excution peut ncessiter des images cartographiques d'o l'interpellation du serveur gographique
(exemple : GeoServer) ou la consultation des sources de donnes attributaires comme des bases de donnes (exemple : PostgreSQL, 5' sur le
schma).
5. Lorsque le traitement de la requte fait appel une image cartographique, le serveur d'application fait recourt au serveur
gographique qui produit l'image correspondant et l'envoie.
6. Pour produire une image cartographique, le serveur cartographique a besoin des donnes gographiques qu'il demande au SGBD
(PostgreSQL/PostGIS) via une requte.
7. Une fois sa rponse gnre, le serveur d'applications la renvoie, par le connecteur, au serveur Web. Celui-ci la rcupre comme
s'il tait lui-mme all chercher une ressource statique.
8. La rponse est dornavant du simple code HTML, comprhensible par un navigateur. Le serveur http peut donc retourner la
rponse au client.
Conclusion
Le prsent chapitre a expos les diffrentes technologies en rapport avec ce projet et des tudes comparatives des outils libres pouvant nous
aider la mise en oeuvre du systme. Ainsi nous avons explor plusieurs outils parmi lesquels nous avons choisi les plus adapts notre
solution. Ceci nous permet d'aborder les phases de l'analyse et de la conception avec des outils appropris.
CHAPITRE DEUX
MoDELisATioN ET coNcEpTioN DE LA
soLuTioN
Introduction
Dans la mise en place d'un systme informatique, la phase d'analyse permet de dcrire travers un modle comprhensible les diffrentes
composantes de ce systme. Dans ce chapitre, il s'agit dans un premier temps de prsenter les besoins et l'environnement du systme
dvelopper et dans un deuxime temps de modliser tout ceci dans un langage comprhensible et universel comme UML. Enfin, on proposera
une solution conceptuelle qui rpond aux besoins dfinis et spcifis lors de la phase d'analyse.
Les besoins sont d'ordre fonctionnel et d'ordre non-fonctionnel. 2.1.1.1 Les spcifications fonctionnelles
Les besoins fonctionnels sont prcis et varient d'un utilisateur un autre comme suit : tout utilisateur peut visualiser, localiser ou demander
l'occupation d'un domaine prcis ;
- l'occupant d'un domaine peut formuler et envoyer des plaintes via le systme;
- le Charg des Affaires Domaniales peut consulter les plaintes afin de proposer d'ventuelles interventions;
- le Maire doit recevoir du systme, des demandes et gnrer automatiquement les dcrets d'autorisation;
- l'occupant est inform par courrier lectronique et par SMS de l'avis d'autorisation, suite la gnration de son arrt d'autorisation.
La spcification non-fonctionnelle dcrit le systme informatique dans lequel l'application sera implante, son interaction avec les autres
composantes du systme informatique. Dans le cas de ce systme, les diffrents besoins non-fonctionnels sont les suivants :
- le seul client ncessaire pour l'utilisation de l'application devra tre un navigateur Web;
- tous les outils et bibliothques utiliser pour l'implmentation du SIG devront tre gratuits et libres d'utilisation;
- l'application doit tre hautement paramtrable afin de faciliter l'volution du noyau du SIG par l'ajout de nouvelles couches de domaine et
l'extension dans toute la commune sans grande modification du code source;
- la gestion des donnes doit tre centralise et facilite par une application ddie; - le serveur cartographique doit tre accessible via une page
d'accueil;
Il est gnralement ncessaire de se servir de mthodes approuves pour la modlisation et la planification de tout processus. La dmarche
utilise dans ce projet est inspire de la philosophie propose par Pascal Roques dans l'article Une dmarche de modlisation "agile" pour
passer des besoins des utilisateurs au code [10].
La mise en place d'un SIG est une tche complexe et ardue, et ncessite une dmarche-projet rigoureuse pour atteindre les objectifs assigns.
C'est ainsi que pour ce projet nous avons adopt la mthode UP (Unified Process) qui est centr autour de l'utilisateur [10]. L'analyse est
structure
- l'analyse fonctionnelle travers laquelle nous dcrivons les diffrents cas d'utilisation;
- l'analyse dynamique qui nous permet de dcrire le cycle de vie de l'objet par les diagrammes de squence;
- l'analyse statique qui permet la description de la structure des objets grce aux diagrammes des classes.
Un acteur reprsente l'abstraction d'un rle jou par des entits externes (utilisateur, dispositif matriel ou autre systme) qui interagissent
directement avec le systme tudi [10]. Nous avons identifi les acteurs suivants qui interagissent avec le systme :
- citoyen : un utilisateur dont les fonctionnalits se limitent la visualisation, la localisation et la demande d'un domaine;
- occupant de domaine : c'est un citoyen qui a dj reu une autorisation d'occupation de domaine et qui peut formuler et consulter des plaintes;
- personnel administratif : il s'agit de tout agent de l'administration communale autoris pour l'usage des fonctionnalits comme la consultation
des demandes, la consultation des plaintes et la consultation des interventions;
- Maire : il est un personnel administratif bnficiant d'une fonctionnalit particulire qui est la gnration automatique des arrts d'autorisation;
- Charg des Affaires Domaniales (CAD) : le CAD est galement un personnel administratif qui peut proposer des interventions sur les domaines
ayant fait l'objet d'une plainte. administrateur du systme : c'est lui qui gre le systme. Il met jour la base de donnes spatiales et gre les
diffrents utilisateurs.
Un cas d'utilisation (use case) reprsente un ensemble de squences d'actions ralises par le systme et produisant un rsultat observable et
intressant pour un acteur particulier. Un cas d'utilisation modlise un service rendu par le systme. Il permet de dcrire ce que le futur systme
devra faire, sans spcifier comment il le fera. L'ensemble des cas d'utilisation doit dcrire exhaustivement les exigences fonctionnelles du
systme [10].
Utilis dans l'activit de spcification des besoins, le diagramme de cas d'utilisation montre les interactions fonctionnelles entre les acteurs et le
systme tudi [10].
Commentaire
- Tout citoyen peut visualiser un domaine et lancer une demande pour son occupation. - L'occupant d'un domaine est un citoyen autoris
formuler et consulter des plaintes.
2.2.3.2 Diagramme de cas d'utilisation du personnel administratif (Maire, Charg des Affaires Domaniales et autres)
Commentaire
- En dehors de la visualisation des domaines, ils peuvent consulter les demandes, les plaintes et les interventions sur les domaines.
- La consultation des plaintes relatives un domaine peut aboutir la consultation des interventions correspondantes et vice versa.
- Aprs avoir consult une plainte, le Charg des Affaires Domaniales peut proposer des interventions sur le domaine concern.
- La consultation d'un domaine peut aboutir la consultation des demandes dont elle a fait l'objet et vice versa.
- Aprs avoir consult une demande, le Maire peut gnrer le dcret autorisant son occupation.
Commentaire
par l'ajout d'un nouvel utilisateur, la suppression ou la modification du profil d'un utilisateur. L'administrateur peut aussi supprimer, modifier ou
ajouter un domaine.
Les acteurs sont : l'administrateur, le Maire, le Charg des Affaires Domaniales, l'occupant de domaine.
Objectifs
L'utilisateur peut accder au formulaire d'authentification pour saisir son login et son mot de passe afin de pouvoir se connecter au systme.
Pr conditions
Scnarii alternatifs
1. le systme refuse la connexion et demande nouveau le profil et/ou le login et/ou le mot de passe.
Post conditions
L'utilisateur est authentifi et est enregistr dans la session courante; la page personnelle de l'utilisateur est affiche.
Objectifs
Tous les citoyens peuvent accder au portail d'accueil du systme et demander la visualisation d'un domaine prcis.
Pr conditions
Scnarii alternatifs
1. le systme n'affiche aucune carte et propose l'utilisateur de lancer une nouvelle requte;
Post conditions
Objectifs
Tous les citoyens peuvent accder au portail d'accueil du systme et formuler une demande de l'autorisation d'occupation d'un domaine.
Pr conditions
Scnarii alternatifs
Post condition
Objectifs
Un citoyen occupant un domaine peut accder sa page personnelle pour formuler des plaintes suite une anomalie constate sur son
domaine.
Pr conditions
2. l'utilisateur se connecte;
Scnarii alternatifs
Post condition
Objectifs
Le Maire peut faire gnrer automatiquement un arrt autorisant l'occupation d'un domaine suite la demande d'un citoyen.
Pr conditions
2. le Maire se connecte;
12. le systme envoie un courrier lectronique et un SMS (Short Message System) au demandeur via un serveur de messagerie;
Scnarii alternatifs
1. le systme alerte le Maire sur l'invalidit de la rfrence saisie et le cas d'utilisation prend fin.
9 a- Le systme de gestion financire des domaines n'autorise pas l'attribution du domaine. 1. le systme alerte le Maire sur le refus de
l'attribution;
2. un courrier avec avis non favorable est envoy au demandeur et le cas d'utilisation prend fin.
Post conditions
- un courrier comportant une copie de l'arrt d'autorisation est envoy au demandeur; - une copie de l'arrt d'autorisation est enregistre sur le
serveur FTP.
Au niveau analyse nous utilisons le diagramme de squence systme pour dcrire selon un point de vue temporel et de faon chronologique les
interactions entre les acteurs externes et le systme.
Commentaire
- pour les raisons de scurit, aprs trois tentatives de connexion l'utilisateur est redirig vers la page d'accueil.
Commentaire
L'utilisateur a la possibilit de demander un affichage simple, sans critre, ou de demander un affichage avanc en saisissant des critres de
slection.
Commentaire
La prise en compte d'une demande est subordonne la saisie de certaines informations ncessaires pour crer un compte utilisateur un
citoyen dont la demande est accepte.
Commentaire
La synchronisation entre le systme et le systme de gestion financire des domaines est ncessaire afin d'autoriser seulement la gnration
des arrts des demandeurs solvables;
afin de garder la trace des arrts gnrs, le systme enregistre chaque arrt gnr sur un serveur FTP.
section nous allons dcrire les diffrentes classes d'objets travers le diagramme des classes. En tenant compte des interactions qu'il peut y
avoir entre les diffrentes classes, nous pouvons les rorganiser dans le diagramme de paquetage.
L'tape typiquement oriente objet de l'analyse est la dcomposition d'un domaine d'intrts en classes conceptuelles reprsentant les entits
significatives de ce domaine. Il s'agit simplement de crer une reprsentation virtuelle des objets du monde rel dans un domaine donn. Dans la
notation UML, le modle conceptuel se rsume en un ensemble de diagrammes de classes [10].
Le diagramme de classes de la Figure 2.8 montre les diffrentes classes du systme avec les interactions entre elles.
L'analyse des rapports smantiques entre les diffrentes classes nous a permis d'identifier quatre (4) paquetages savoir : gestion des
utilisateurs, gestion des plaintes, gestion des demandes et les entits gographiques. Le Tableau 2.2 rcapitule les diffrentes classes ayant
constitu chaque paquetage. On en dduit le diagramme de paquetage de la figure 2.9.
paquetages Classes
Gestion utilisateur DEMANDEUR, OCCUPANT, UTILISATEUR
Gestion plainte PLAINTE, PROPOSITION_INT,
TRAVAUX
Gestion des demandes DEMANDE, DECRET, TACTIVITE
Entits gographiques ZONE, DOMAINE, BATIMENT,
ROUTE, BOUTIQUE
2.5 Conception
En informatique, une base de donnes relationnelles est un stock d'informations dcomposes et organises dans des matrices appeles
relations ou tables conformment au modle de donnes relationnelles. Le modle de donnes relationnelles est bas sur la notion de relation
qui est une matrice contenant un ensemble de groupes de valeurs (les n-uplets) stocks dans les enregistrements d'une base de donnes. Les
rgles ci-aprs sont appliques pour passer du diagramme des classes au modle relationnel :
R2 : Une classe d'association, qu'elle soit simple, agrgation ou composition, se transforme en relation.
R4 : Dans une relation d'hritage, ne dupliquer dans les relations sous-types que l'identifiant du sur-type.
R5 : Les cls primaires des classes relies par une classe d'association migrent vers cette dernire et se transforment en cls trangres.
A partir du diagramme des classes du systme (Figure 2.8) le modle relationnel suivant est dduit :
TACTIVITE(ID_Act, Desc_Act)
TRAVAUX(ID_TRAV, Des_TRAV)
NECESSITER(#ID_PROPO, #ID_TRAV)
TRAVERSER(#ID_DOM, #ID_ROUTE)
UML offre la possibilit de reprsenter graphiquement l'tat de navigation dans l'interface homme-machine en produisant des diagrammes
dynamiques qu'on appelle diagrammes de navigation. Le concepteur a le choix d'opter pour cette modlisation entre des diagrammes
d'tatstransitions et des diagrammes d'activits. Puisque nous allons modliser un comportement vnementiel dans le cas d'espce, nous
optons pour les diagrammes d'tats de navigation par acteur.
Conclusion
La phase d'analyse a permis de cerner le contour du systme travers les diffrents diagrammes fonctionnels, dynamiques et statiques afin
d'aboutir la conception. Cette phase permet de bien canaliser la phase suivante aborde dans le chapitre III savoir le dploiement et la mise
en oeuvre d'un prototype du SYGeD1 .
CHAPITRE TROIS
pRoToTypE Du SYGED
Introduction
Ce dernier chapitre du mmoire sera consacr la mise en oeuvre de la solution retenue. Elle permettra d'aborder de faon dtaille le
dploiement des diffrentes composantes du systme et l'implmentation de l'application Web qui lui servira de portail. Les diffrents tests
permettront d'valuer les performances du prototype et de dtecter ses limites.
Les modles de dploiement et de configuration matrielle s'expriment tous deux l'aide d'un diagramme de dploiement.
Le modle de configuration matrielle a pour but d'exprimer les contraintes de mise en oeuvre au niveau physique. On y trouve les noeuds et les
connexions physiques du systme, qui sont les diffrents types de machines connectes par des moyens divers. Le modle de configuration
matrielle permet de spcifier, de documenter et de justifier tous les choix d'organisation physique en fonction des machines ddies aux
diverses fonctions techniques du systme [10] .
La Figure 3.1 reprsentant le diagramme de dploiement de notre systme dcrit la rpartition physique des fonctions-mtiers du systme et la
localisation des diffrents serveurs.
Nous proposons une architecture physique dont la communication est base sur le protocole TCP/IP.
Au niveau applicatif, l'change de donnes entre le serveur d'application (galement serveur Web) et le SGBD se fait grce au JDBC (Java
DataBase Connectivity) qui est une API Java trs utilise pour l'accs aux bases de donnes. De mme, entre le serveur de donnes et le
serveur gographique, l'API JDBC est utilis pour les changes des donnes. Par ailleurs, les diffrents clients demandent des services au
serveur d'application en mettant des requtes bases sur le protocole http.
L'internaute (contribuable ou personnel administratif) par le biais d'un navigateur met une
requte http qui sera reue par le serveur Web. Cette requte peut demander une ressource statique ou une ressource dynamique. Lorsqu'il
s'agit d'une ressource statique, elle est directement fournie par le serveur Web. Une requte qui demande une ressource dynamique (image
cartographique par exemple) est redirige par le serveur Web vers le serveur d'application qui est capable de la traiter. Ce dernier excute les
morceaux de servlets concerns et interroge le serveur gographique charg de la production des cartes. Ceci peut ncessiter la consultation de
la source de donnes spatiales. Une fois la carte produite, elle est renvoye au serveur d'application qui la prsente son tour au serveur Web
sous forme de page HTML. Ainsi, le serveur Web est capable de l'interprter pour enfin prsenter la rponse au client sous forme d'une page
statique.
Il faut remarquer au niveau du diagramme de dploiement une DMZ (DeMilitarized Zone 1) regroupant le serveur d'application, le serveur
gographique et le serveur de donnes. Il s'agit d'une zone dont l'accs est rgi par la politique de scurit dfinie comme suit :
- le trafic d'un rseau externe vers la DMZ est autoris s'il s'agit d'une requte adresse au serveur d'application (requte http);
- le trafic du rseau interne vers la DMZ est autoris seulement pour les requtes http adresses au serveur d'application;
Deux pare-feux, l'un situ entre la DMZ et le rseau extrieur et l'autre entre la DMZ et le rseau intrieur, sont dlgus pour la gestion de ces
politiques de scurit.
- des micro-ordinateurs pour les machines clientes, ayant minimum 2 Go de RAM et 2 GHz de processeur;
un serveur IBM sur lequel seront installs les deux serveurs (Web et d'application), le Systme de Gestion de Base de Donnes et le Serveur
Gographique.
1. DMZ : rgion d'un intranet dote d'une scurit intermdiaire entre l'extrieur et l'intrieur.
Les logiciels et les principales API suivants sont ncessaires pour la ralisation du prototype : - systme d'exploitation Windows (XP, Vista ou 7)
ou Linux;
- un Systme de Gestion de Base de Donnes dot de sa composante spatiale : PostgreSQL 9.0 avec sa composante spatiale PostGIS 1.5.
- OpenLayers, une API JavaScript utilise pour l'affichage des cartes ct client aprs leur ralisation par le serveur gographique;
- GlassFish;
- js_mail 1.4, une bibliothque d'API Java qui permet l'envoie des messages lectroniques via un serveur SMTP (Simple Mail Transfer protocol).
La base de donnes est implmente sur le SGBD PostgreSQL version 9.0 avec sa composante spatiale PostGIS version 1.5. Nous notons ici
une particularit avec les tables ayant des colonnes gomtriques. En effet, ces tables se crent en deux tapes savoir :
la cration de ses colonnes gomtriques qui peut se faire de deux manires. La premire manire consiste utiliser la fonction
ADDGEOMETRYCOLUMN() qui prend en paramtre le nom de la base de donnes, le nom de la table contenant la colonne gomtrique, le
nom de la colonne gomtrique, l'identifiant du systme de rfrence (SRID), le type gomtrique et la dimension de l'objet. Ainsi la table
GEOMETRY_COLUMNS est remplie automatiquement avec les paramtres passs dans ladite fonction. La deuxime manire qui est moins
courante, consiste agir directement sur la table de mta donnes GEOMETRY_COLUMNS en uti-
Les requtes ci-aprs permettent la cration de ces tables ayant des colonnes gomtriques.
Desc_Zone varchar(256)
);
Desc_Route varchar(256),
Long_Route varchar(256)
);
surf_Dom int2,
ID_Zone varchar(10),
);
Desc_Bat varchar(256),
ID_Dom varchar(10),
);
Desc_Bout varchar(256),
Prixlocation int2,
ID_Bat varchar(10),
Les donnes destines la production de la base de donnes gographiques proviennent de diverses sources :
- images satellites;
- photographies ariennes; - cartographies existantes; - donnes recueillies sur le terrain ( l'aide d'un rcepteur GPS).
Le GPS (Global Positioning System) est un systme de positionnement par satellites capables de donner n'importe o sur le globe une position
quelques mtres prs.
A l'origine, le GPS a t conu afin de fournir aux forces armes amricaines un systme de reprage global de trs bonne prcision [6]. Afin de
permettre aux applications civiles et militaires d'utiliser ce systme, les tats-Unis ont imagin le compromis suivant :
- un service de grande prcision rserv aux militaires, c'est le mode PPS (Precise Positioning System) ;
2. 4326 : l'identifiant associ au systme de rfrence WGS84 dans notre SGBD spatial.
- un second service aux possibilits dgrades (environ 100 mtres) auquel aurait accs toute
personne muni d'un rcepteur, c'est le mode SPS (Standard Positioning System).
Le mode PPS exploite pleinement le systme pour une prcision de moins de 10 mtres. Le mode SPS qui utilise une lectronique simplifie est
en plus soumis a une dgradation volontaire des signaux satellitaires pour une prcision de 100 mtres environs.
Tous les satellites mettent en mme temps sur 2 frquences L1 : 1.575 GHz et L2 : 1.227 GHz. Les donnes repres par un rcepteur GPS
tant l'altitude, la latitude et la longitude; celle-ci se compte de 0 degr 180 degr, positivement vers l'est et ngativement vers l'ouest.
Les donnes recueillies tant exprimes selon les units des coordonnes sphriques non comprhensibles par les SGBDRS, il faut les convertir
dans un systme de projection donn.
Les systmes de projection sont un ensemble de techniques godsiques permettant de reprsenter la surface de la Terre dans son ensemble
ou en partie sur la surface plane d'une carte [6]. C'est une relation mathmatique qui fait correspondre aux coordonnes gographiques d'un
point quelconque de la terre, des coordonnes cartsiennes. On distingue les projections suivantes :
- la projection azimutale ou planaire znithale : une projection cartographique dans laquelle on projette l'ellipsode sur un plan tangente en un
point.
Le WGS84 a t dvelopp par le dpartement amricain de la dfense. Il a t obtenu partir d'observations Doppler sur satellites. Il utilise la
projection cylindrique et particulirement la projection UTM qui est constitue de 60 fuseaux de 6 degrs d'amplitude en longitude [6]. Ce
systme est accessible au travers des phmrides radiodiffuses par les satellites GPS . Ainsi, tout utilisateur de GPS obtient directement et de
manire implicite des coordonnes rfrences dans le systme WGS84.
Lorsque les coordonnes cartsiennes sont obtenues aprs traitement, l'insertion des donnes dans la table correspondante se fait de la
manire suivante :
insert into domaine values ('D02_DBR' ,0,'Z1',GeometryFromText('POLYGON((65 50,85 60,80 80,60 60, 65 50))',4326),'domaine btiment
riderk',0);
Aprs son dmarrage, GeoServer offre la possibilit l'utilisation de crer son espace de travail (par exemple SYGeD). Aprs avoir cr l'espace
de travail, il peut configurer une source de donnes dans cet espace. La configuration se fait pour les sources de base de donnes en fournissant
les informations telles que :
- le nom d'utilisateur;
- le mot de passe.
Une base de donnes gographiques peut tre dfinie comme un ensemble de couches superposables. La conception d'une carte revient
slectionner les diffrentes couches (couche des domaines, couche des btiments, etc.) qui entre dans sa composition. La dfinition d'une
couche gographique se fait au niveau du serveur gographique. Pour se faire, GeoServer offre la possibilit de prendre directement les
donnes d'une table ou de se servir d'une requte pouvant mettre en jeu plusieurs tables. La requte suivante dfinit une couche qui montre un
domaine dont l'identifiant est fourni en paramtre :
Geoserver offre la possibilit de crer une feuille de style dfinissant l'apparence d'affichage de la couche laquelle elle est associe. C'est une
feuille de script XML qui dcrit les donnes afficher sur les cartes et leur aspect graphique suivant des critres. Le code XML suivant dfinit le
style associ la couche "domaine". Suivant ce style, les domaines non occups sont coloris en vert, les domaines occups sont coloris en
rouge et sur chaque domaine la description est affiche.
<UserStyle>
<FeatureTypeStyle>
<Rule>
<Title>oui</Title>
<ogc :Filter>
<ogc :PropertyIsLessThan>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">4DFF4D</CssParameter>
<CssParameter name="fill-opacity">0.7</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<ogc :PropertyIsGreaterThan>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">CC3333</CssParameter>
<CssParameter name="fill-opacity">0.7</CssParameter>
</Fill> </PolygonSymbolizer>
</Rule> <Rule>
<Title>Boundary</Title>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke-width">0.2</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
</Label>
<Font>
<CssParameter name="font-style">Normal</CssParameter>
<CssParameter name="font-size">14</CssParameter>
</Font> <LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0.5</AnchorPointX>
<AnchorPointY>0.5</AnchorPointY>
</AnchorPoint>
</PointPlacement>
</LabelPlacement>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
La page d'accueil comprend trois principales parties savoir la bannire, la zone de navigation et le corps (voir Figure 3.4). La zone de
navigation comporte les boutons accueil, visualiser, connexion et demander.
- le bouton "accueil" permet l'utilisateur de revenir tout moment la page d'accueil; - le bouton "visualiser" permet tout visiteur de visualiser
les domaines;
- le bouton "connexion" permet un utilisateur, qui a un compte utilisateur, de se connecter pour accder sa page personnelle afin d'avoir plus
d'options;
- le bouton "demander" permet un internaute quelconque d'accder la page de demande d'un domaine ou d'une boutique.
La page de visualisation de domaines est constitue de deux parties. Une partie gauche o sont affiches les options d'affichage avances et
une partie droite o s'affiche la carte selon l'option choisie. La Figure 3.5 donne un aperu de cette page.
Premire tape
Le processus de demande d'un domaine ou d'une boutique commence par un clic sur le bouton "Demande". Le systme recherche et affiche
uniquement les domaines ou les boutiques disponibles afin de permettre l'usager de faire son choix (voir Figure 3.6).
Deuxime tape
Aprs avoir consult les domaines ou les boutiques disponibles, l'internaute clique sur l'action "Demander" du domaine ou de la boutique qu'il
veut. Ainsi, il accde au formulaire de demande de la Figure 3.7.
Conformment ce qui est prvu au niveau de la conception, tout utilisateur qui veut accder sa page personnelle doit, aprs avoir cliqu sur
le bouton connexion, renseigner les champs profil, login et password puis valider. Pour cela, nous avons associ au bouton valider un module qui
vrifie les valeurs saisies avant d'afficher la page personnelle si ces valeurs sont valides (voir Figure 3.8).
Premire tape
Lorsque le Maire est sur sa page personnelle, il a la possibilit de choisir l'une des oprations prvues dans la liste droulante "opration". Ces
oprations sont les cas d'utilisation qui le concernent. S'il choisit de gnrer un arrt, le systme lui affiche toutes les demandes en cours
comme le montre la Figure 3.7. Nous avons associ cette option un module qui applique un filtre la carte afin d'afficher uniquement les
domaines qui ont fait l'objet d'une demande en cours (voir Figure 3.9).
Deuxime tape
La page de la gnration proprement dite montre les dtails concernant une demande. Cette page s'affiche lorsque le Maire clique sur le lien
"dtail" d'une demande. La Figure 3.10 montre son aperu.
Une autre limite rside dans la non prise en compte de l'affichage en 3D des objets gomtriques. En effet, cette fonctionnalit serait propice
pour bien explorer les objets dans toutes leurs dimensions. Il faut aussi noter que pour le moment, notre systme ne communique pas avec le
systme de gestion financire des domaines. L'intgration de cette fonctionnalit pourra permettre au systme d'avoir de faon automatique les
donnes sur l'tat de solvabilit des demandeurs. Ainsi, la prise de dcision pour la gnration des arrts d'autorisation serait beaucoup plus
automatique.
Ces limites recenses peuvent tre leves dans un avenir trs proche.
Conclusion
Le dploiement et la ralisation du prototype ont t dcrits de long en large dans le prsent chapitre. Nous avons aussi effectu et prsent les
diffrents essais qui ont permis d'apprcier la performance du systme. S'il est vrai que les objectifs fixs au dpart ont t atteints, il est tout
aussi avr que le systme de Webmapping propos prsente quelques limites qui peuvent rapidement tre leves.
Le systme propos permet de diffuser les cartes gographiques et de suivre de visu l'volution de l'occupation des domaines. Son dynamisme
permet aux internautes de bien cibler le domaine ou la boutique voulu pour en faire la demande. Il dispose d'une grande possibilit d'extension et
est portable.
Grce aux diffrents tests, nous pouvons conclure que les objectifs ont t atteints. Toutefois, notons que le systme propos ne prend en
compte ni les analyses gographiques, ni la prsentation en 3D des objets.
- introduire les analyses gographiques pour bien grer les conflits de proximit;
- implmenter une prsentation en 3D des objets. Le contribuable peut donc bien apprcier le domaine ou la boutique qui fait l'objet de sa
demande;
- mettre le systme de Webmapping en interaction avec le systme de gestion financire afin de rendre la dcision d'autorisation plus
automatique.
Bibliographie
[1] I. Bald : Mise en place d'une plateforme de cartographie dynamique, Mmoire Ingnieur de conception en Gnie Informatique,
Ecole Suprieure Polytechnique de Dakar, 2008.
[4] M. Tranchant, Veille technologique :UE NFE107 Architecture et Urbanisation de Systmes d'Informations, Rapport technique,
dcembre 2008.
[5] Centre National d'Etudes Spatiales France: Rapport de l' tude des bases de donnes spatialises, http :// cct.cnes.fr/cct05/public
/2007/documents/Etude_comp_bases_ donnees_spatialisees/rapport_etude_spatiale_final.pdf, Mars 2007.
[6] A. Bakary : Conception et mise en oeuvre d'un SIG pour le suivi des investissements publics au Cameroun, Mmoire Ingnieur de
conception en informatique, Ecole Nationale Suprieure Polytechnique de Yaound, 2009.
[8] mappemonde.mgm.fr/num8/internet/int05401.html, La cartographie SIG en ligne ou Web mapping : les outils libres, 2005.
[9] J. M. DOUDOUX : Dveloppons en Java, version 1.6, http :// www.jmdoudoux.fr/java/dej/indexavecframes.htm, 2011.
[10] P. Roques, UML2 Modliser une application Web, Editions Eyrolles, 4 me Edition, 2008.
Recherche