REPUBLIQUE DU CAMEROUN
MINESUP
UNIVERSITE DE DOUALA
ACADEMIE INTERNET
INTEGRATION D'UN OBSERVATOIRE URBAIN SUR GOOGLE MAPS :
Cas des infrastructures de la santé de la ville de
Douala
Mémoire Réalisé et soutenu le 24 novembre
2011 par :
TATSO Renal Paul
En vue de l'obtention du Master II
en Informatique Appliquée aux Systèmes d'Informations
géographiques
Encadreur
académique :
Encadreur Professionnel
Dr MVOGO NGONO JOSEPH
M KENGMEZA Ferdinand
Chargé de cours à
l'Université de Douala Directeur
Général de Vector Int Co
Année académique 2010-2011
Jury de soutenance :
Président : Pr Jean Paul
RUDANT Université de Paris Est Marne La Vallée (France)
Rapporteur : Dr Joseph MVOGO NGONO
Université de Douala
Examinateur(1) : Pr ELE Pierre
Université de Douala
Examinateur (2) : M ELENGUE BIKELI
Université de Douala
TABLE DES MATIERES
DEDICACE 5
REMERCIEMENTS
6
RESUME
8
Abstract
10
LISTE DES FIGURES
11
LISTE DES TABLEAUX
12
ACRONYMES
13
INTRODUCTION GENERALE
14
CHAPITRE 1. CONTEXTE ET PROBLEMATIQUE DU PROJET
16
1.1 CONTEXTE DU PROJET
1.2 ZONE ET DONNEES DE L'ETUDE
1.2.1. Ville de Douala
1.2.2. Infrastructure et structure des formations sanitaires
de la ville de Douala
1.2.3. Cadre du stage: Vector International Co
CHAPITRE 2. ASPECTS THEORIQUES. OU ETAT DE L'ART
21
2.1 Généralité sur quelques concepts
clés
2.1.1. Observatoire urbain
2.1.2. Cartographie
2.1.3. Geomatique
2.1.4. SIG
2.1.5. Historique des SIG
2.1.6. Composant d'un SIG
2.1.6. Représentation des Données SIG
2.2 Fonctionnalités d'un SIG
2.3 Fonctionnement d'un SIG
2.4 Le Webmapping ou diffusion de cartes en ligne
2.4 1. Généralités
2.4 2. Fonctionnement du Web mapping
2.4 3. Le datamining
2.5 Panorama de quelques APIs SIG web existants
2.6 Présentation de Google Maps/Maps
2.7 GPS et la Géolocalisation
CHAPITRE 3. APPROCHE METHODOLOGIQUE
37
3.1 Généralité sur les méthodes
d'analyse
3.1.1) Définition des concepts
3.1.2) Importance d'une méthode d'analyse
3.1.3) Cycle de vie d'un projet informatique
3.2 Classification des approches méthodologiques
3.2.1. Approche fonctionnelle ou cartésienne
3.2.2. Approche systémique
3.2.3. Approche objet
3.3 Modélisation UML
3.3.1. Définition et principe d'UML
3.3.2. Le formalisme UML
3.4 Déroulement du projet
CHAPITRE 4. ANALYSE ET CONCEPTION DE LA SOLUTION
48
4.1 Les acteurs du système
4.1.1 L'administrateur
4.1.2 Le décideur
4.1.3 Le visiteur
4.1.4 L'abonné
4.1.5 Serveur Google Maps
4.2 Les principaux cas d'utilisations
4.2.1 Accéder à l'espace publique
4.2.2 Accéder à l'espace privé
4.2.3 S'abonner
4.2.4 Authentification
4.2.5 Ajouter un site/Modifier/Supprimer
4.2.6 Ajouter un utilisateur/ Modifier/Supprimerr
4.2.7 Ajouter une couche/ Modifier/Supprimer
4.2.8 Ajouter une zone géographique/
Modifier/Supprimer
4.2.9 Diagramme des cas d'utilisation
4.3 Le diagramme des classes
CHAPITRE 5 IMPLEMENTATION DE LA SOLUTION
54
5.1. Outils et technologies
5.1.1. Architecture du système
5.1.2. Les serveurs de données (SGBD).
5.1.3. Les serveurs web
5.1.4. Le serveur Google Maps
5.1.5. les langages informatiques utilisés
5.2. Implémentation de la solution
5.2.1. Environnement de développement
5.2.2. Création de la base de données
5.2.3. Création des interfaces hommes/machine
5.2.4. Classe PHP de connexion à Google Maps
5.3. Résultats obtenus
5.3.1. Sécurité d'accès
5.3.2. Espace public
5.3.3. Administration
5.3.4. Accès membres
5.4. Acquisition des données
5.5. Bilan du stage
CONCLUSION GENERALE
71
BIBLIOGRAPHIE
72
WEBOGRAPHIE
72
ANNEXES
73
Je dédie ce mémoire à mes descendants.
Mes enfants, que ce travail soit un catalyseur d'excellence
dans votre existence sur cette terre, afin que vous deveniez des
lumières pour éclairer par des valeurs positives votre
génération.
REMERCIEMENTS
Le résultat de ce travail n'aurait jamais
été possible sans le concours de plusieurs personnes dont je
tiens ici à exprimer ma sincère gratitude
particulièrement :
- A Monsieur NGOUCHINGHE Sylvestre, PDG de CONGELCAM SA qui
par son élan de coeur pour la promotion de l'excellence au sein de la
jeunesse camerounaise a mis à ma disposition tous les moyens et conforts
nécessaires au succès de cette formation, seul Dieu peut
récompenser une telle magnanimité.
- A Monsieur TENE KAMLA Patrice, notre chef de famille qui
a semé la graine qui produit aujourd'hui un nouveau fruit don voici le
résultat.
- Au Docteur Joseph MVOGO NGONO, responsable du Master II
IASIG à l'académie Internet de l'Université de Douala, je
vous exprime ma profonde gratitude pour cette idée géniale de
formation de haut niveau en terre africaine.
- Au Pr Jean Paul RUDANT de l'Université de Paris-Est
Marne La Vallée (France) qui, pendant les cours en présentiel
nous a permis de bénéficier de son grand savoir et de ses
nombreuses années d'expériences dans le domaine des techniques
d'observation de la terre.
-Au Pr Serges RAZIANOFF qui comme le Pr RUDANT Nous a fait
passer de grands moments de partage de son savoir faire. Merci professeur
-A l'Agence universitaire de la francophonie ainsi qu'à
tous les enseignants intervenant en Master II IASIG de Douala, merci pour votre
dévouement à la formation de la jeunesse africaine.
-Hommages au Regretté KENGMEZA Ferdinand, mon encadreur
professionnel qui malgré son emploi de temps très chargé
et la maladie a toujours trouvé du temps jusqu'à la
dernière minute pour suivre ce travail et permettre qu'aujourd'hui nous
ayons ce résultat.
- A M Marcel Guillaume MOUTOME Responsable administratif de
M2IASIG pour son sens de communication qui nous a permis d'être toujours
au parfum de toutes les informations relatives à notre formation.
-A ma très chère Maman, Mama SIMO
Thérèse pour son amour inconditionnel pour moi.
-A ma très chère épouse Mme TATSO
Nathalie Mabelle qui n'a cessé jours et nuits de m'encourager à
travailler dur pour le travail donc voici le résultat.
- Au Pasteur et tous les frères et soeurs en Christ de
Full Gospel Bépanda Peuple pour leur soutien spirituel. Je pense
spécialement à l'ancien de L'Eglise Emmanuel SONWA pour ses
encouragements à l'excellence, à mon ami et Frère Francis
KAMDEM qui a pris soins de relire mes notes avant impression finale et au
Frère Eric WAMI qui m'a aidé avec son récepteur GPS.
En toute chose je rends grâce au Seigneur Jésus
Christ mon sauveur qui a créé le « vouloir »
et le « faire » dans le coeur de toutes ces personnes
favorables pour moi.
Merci à tous ceux qui de près ou de loin ont
d'une manière où d'une autre contribué à ce
travail. Que Dieu Vous bénisse.
RESUME
Les progrès spectaculaires de l'informatique
appliquée aux systèmes d'information géographiques (SIG)
ces derniers temps, ont favorisé l'apparition de plusieurs solutions
technologiques. Ces progrès ont permis l'émergence
d'énormes possibilités de gestion numériques du
territoire. Parmi ces solutions technologiques, la plus célèbre
Google Maps offre librement en ligne la cartographie dynamique exhaustive du
globe terrestre. Par ailleurs pour répondre aux besoins énormes
des informations géolocalisées des indicateurs urbains, Il nous a
été donné de travailler sur le présent projet
intitulé « Intégration d'un observatoire urbain
sur Google Maps».
La problématique de la géolocalisation dans
l'observatoire urbain trouve sa pertinence en ce sens qu'Il n'existe pas
actuellement de données (descriptives et géographiques) fiables
sur le secteur urbain de nos villes, il faut s'en tenir à des
extrapolations à partir de données anciennes et obsolètes.
Ceci contribue à freiner l'efficacité de la gestion urbaine,
à rendre difficile la programmation des investissements et à
empêcher l'acquisition des connaissances permettant de faire des villes,
des moteurs de croissance. L'utilisation d'un outil de géolocalisation
constitué d'un fond cartographique dynamique et à jour
couplé aux données thématiques permettrait un meilleur
suivi des indicateurs liés.
Notre projet se donne pour objectif de développer un
serveur cartographique interactif (WebMapping) dont la couche cartographique
est constituée à partir des ressources du serveur Google Maps et
couplera cette cartographie aux informations issues du terrain pour produire
des cartes d'équipements et infrastructures urbains d'une ville et d'une
thématique données à la demande du client.
Pour atteindre cet objectif, nous procéderons d'une
part à une étude de géolocalisation par GPS des sites
stratégiques de notre secteur de base (infrastructure sanitaires),
d'autre part, grâce aux informations issues du terrain, nous
constituerons une base de donnée MySQL qui permettra de coupler les
informations du terrain aux cartes issues de Google Maps via des scripts KML ,
JavaScript et PHP appropriés.
Nous nous limiterons dans le cadre de notre travail à
la ville de Douala au Cameroun avec le secteur des infrastructures sanitaires
avec la possibilité d'extension vers d'autres secteurs et d'autres
villes.
Mots clés : Système
d'Information Géographique (SIG), Cartographie thématique,
Webmapping, datamining, Serveur cartographique, Google Maps.
ABSTRACT
The spectacular advances computer science applied to
geographic information systems (GIS) in recent times has favored the emergence
of several technological solutions. These developments have given rise to
enormous opportunities for digital management of the territory. Among the
technological solutions, the most famous Google Maps offers free online mapping
dynamic exhaustive of the Maps. In addition to meet the enormous needs of urban
indicators geotagged information, we did work on this project
«Integration of an urban observatory on Google
Maps.»
The problem of geolocation in the urban observatory is
particularly relevant in the sense that there is currently no data (descriptive
and geographical) reliable on the urban sector; we must stick to extrapolate
from data old and obsolete. This helps to curb the effectiveness of urban
management to make difficult investment programming and to prevent the
acquisition of knowledge to make cities engines of growth. The use of a
geolocation tool coupled to the data would allow better monitoring of
indicators
Our project's objective is to develop an interactive map
server (WebMapping) which map layer is formed from the resources of the Google
Maps servers and match information from the field to produce maps of urban
equipment and infrastructure of a city data to the client's request
To achieve this goal, we will participate in a study of a GPS
location of strategic sites in our core sector (health facilities), on the
other hand, using information from the field, we will build a postgresql
database that will link the information from the field to map from Google Maps
via KML scripts and PHP appropriate.
We will limit ourselves in our work to the city of Douala
Cameroon with the sectors of health facilities with the possibility of
extension to other areas and other cities.
Keywords: Geographic Information System
(GIS), Thematic Mapping, Web Mapping, data mining, Google API.
LISTE DES FIGURES
Figure 1. Vue de la ville de Douala
|
19
|
Figure 2. Composants d'un SIG
|
29
|
Figure 3. Les 03 dimensions d'un SIG
|
26
|
Figure 4. Latitude et Longitude d'un lieu
|
28
|
Figure 5. Représentation des données Raster
|
29
|
Figure 6. photo aérienne
|
30
|
Figure 7. image optique
|
30
|
Figure 8. Image radar
|
30
|
Figure 9. Carte scannée
|
31
|
Figure 10. Fonctionnement d'un SIG
|
32
|
Figure 11. Architecture d'un serveur cartographique sur
internet
|
33
|
Figure 12. Les 3 segments du système GPS
|
37
|
Figure 13. Acteur UML
|
41
|
Figure 14. Diagramme des cas d'utilisation.
|
41
|
Figure 15. Exemple de Diagramme des séquences fonctionnel
|
43
|
Figure 16. Exemple de Diagramme des séquences
conceptuel
|
45
|
Figure 17. Exemple Diagramme des activités
|
47
|
Figure 18. Exemple de Diagramme de classe
|
48
|
Figure 19. cas d'utilisation Ajouter utilisateur
|
52
|
Figure 20. Diagramme des cas d'utilisation VisioCity
|
52
|
Figure 21. Extrait du Diagramme des séquences VISO CITY
|
53
|
Figure 22. Aperçu du Diagramme des classes de VISIO
CITY
|
54
|
Figure 23. Architecture de VisioCity
|
56
|
Figure 24. Environnement de programmation DreamWeaver 8.
|
59
|
Figure 25. Interface de PhpMyAdmin
|
61
|
Figure 26. Schéma relationnel de la base de
données
|
65
|
Figure 27. Formulaire d'enregistrement des sites géo
|
68
|
Figure 28. Formulaire de contrôle d'accès
|
69
|
Figure 29. Interface public de visiocity
|
69
|
Figure 30. Interface d'administration de visiocity
|
69
|
Figure 31. Interface d'abonnement de VisoCity
|
70
|
Figure 32. GPS GARMIN OREGON 550t
|
71
|
LISTE DES TABLEAUX
Tableau 1. Fiche des formations sanitaires publiques
recensées................................... 20
Tableau 2. Description des Scénarios Uml
......................................................................... 46
Tableau 3. Dictionnaire des entités du modèle des
données..................................................... 61
Tableau 4. Tableau des données
obtenues........................................................................
70
ACRONYMES
SIG
|
Système d'Information
Géographique
|
API
|
Application
Programming Interface
|
Ajax
|
Asynchrones
JavaScript And Xml
|
PHP
|
Pre-HyperTexte-Processor
|
GPS
|
Global Positioning
System.
|
SGBD
|
Système de Gestion
de Bases de Données
|
CGI
|
Common Gateway
Interface
|
OGC
|
OpenGis
Consortium
|
XML
|
EXtensible Markup
Language
|
HTML
|
HyperText
Markup Language
|
SRS
|
Système de
References Spatiaux
|
UML
|
Unified Modeling
Language
|
AUF
|
Agence Universitaire de
la Francophonie
|
CNRS
|
Centre National de la
Recherche Scientifique
|
IRD
|
Institut de Recherche pour
le Développement
|
IGN
|
Institut
Géographique National
|
UPEML
|
Université de
Paris Est Marne La
Vallée
|
ESRI
|
Environmental
Systems Research Institute
|
UP
|
Unified Process
|
RAD
|
Rapid Application
Development
|
RADAR
|
RAdio Detection
And Ranging
|
DBF
|
Data Base
File
|
HR
|
Hôpital de
Reférence
|
HD
|
Hôpital de District
|
CMA
|
Centre Medical
d'Arrondissement
|
MINESUP
|
Ministère de
l'Enseignement Supérieur
|
CSI
|
Centre de Santé
Intégré
|
POS
|
Plan d'Occupation des
Sols
|
INTRODUCTION GENERALE
Avec la démocratisation du numérique, il devient
évident pour tous que le succès du management de chaque secteur
d'activité est étroitement lié à sa modernisation
par les moyens qu'offrent les technologies de l'information et de la
communication notamment internet. La gestion urbaine n'est pas exempte de cette
réalité.
En effet, l'évolution sans cesse croissante de
l'informatique appliquée aux systèmes d'informations
géographiques, a favorisé le développement de plusieurs
outils technologiques d'observation de la terre via des applications
informatiques. Ces opportunités du numérique viennent rendre
pertinente la problématique de la gestion numérique et dynamique
des villes comme levier de l'observation urbaine et du tourisme. Cette
réflexion nous a conduit à nous poser la question de savoir
comment mettre en oeuvre une application informatique qui permettra à
tout observateur urbain selon son centre d'intérêt, d'obtenir via
internet toutes les informations géo localisées sur une carte
à jour de la ville quelque soit sa position
géographique ? C'est pour cette raison que nous avons
été motivé de travailler autour du thème
intitulé « Intégration d'un observatoire
urbain sur Google Maps : Cas des infrastructures de santé de la
ville de Douala-Cameroun».
Tenant compte de l'existence d'outils libres de cartographie
en ligne, nous avons choisi de nous appuyer sur les possibilités
qu'offre le serveur Google Maps.
Il sera question pour nous d'une part de travailler sur des
scripts de connexion à Google maps, question d'y puiser des portions de
cartes à la demande d'un client de notre application. D'autre part, une
étude géolocalisée par GPS1(*) des différents secteurs important de
l'observation d'une ville sera menée sur la ville de Douala Cameroun
avec pour finalité d'enrichir la base de données de notre serveur
de l'ensemble des informations géographiques et attributaires de notre
secteur cible que constituent les infrastructures de santé.
Notre application après réception d'une
requête d'un client se connectera sur Google Maps et affichera la carte
correspondante, qu'elle prendra soin d'y coupler avec les informations
attributaires du secteur concerné
Nous nous proposons dans la suite de présenter de
façon détaillée comment nous avons mis en oeuvre notre
solution. La Première partie porte sur la présentation des
structures ayant servies de cadre à notre projet, nous suivrons par la
deuxième partie qui sera consacrée à la
présentation de l'état de l'art du webmapping, la
troisième partie est quant à elle réservée à
la description de notre démarche méthodologique. Nous terminons
à la quatrième partie par la mise au point de la solution ainsi
que la présentation des principales fonctionnalités de
celle-ci.
CHAPITRE 1. CONTEXTE ET
PROBLEMATIQUE DU PROJET
I.1. CONTEXTE DU PROJET
Le Master II IASIG est une formation visant à mettre
à la disposition des industries de spécialistes compétents
en Ingénierie de la connaissance, immédiatement
opérationnels pour le traitement informatique des problèmes
géoscientifiques. En plus de la validation des unités
d'enseignement(UE) inscrites au programme, la formation prévoit un
stage en entreprise suivi de la rédaction et soutenance d'un
mémoire de fin. C'est dans ce cadre que nous avons effectué les
présents travaux.
Comme nous l'avons déjà mentionné un peu
plus haut, Il n'existe pas actuellement dans nos villes de plateforme
technologique (système d'information descriptive et géographique)
fiables sur le secteur urbain, les décideurs et les utilisateurs se
contentent des extrapolations à partir de données anciennes et
obsolètes. Ceci contribue à freiner l'efficacité de la
gestion urbaine, à rendre difficile la programmation des investissements
et à empêcher l'acquisition des connaissances permettant de faire
des villes des moteurs de croissance. L'utilisation d'un outil de
géolocalisation couplé à ces données permettrait un
meilleur suivi des indicateurs liés.
Notre projet de mémoire en vue de l'obtention du Master
II en Informatique Appliquée au SIG répond à ce besoin en
se proposant de développer un serveur cartographique en ligne
intégré à l'outil libre Google Maps pour l'observation
urbain.
Il s'agit pour nous de réaliser une plateforme
accessible par internet qui prenne en compte les besoins actuels en termes
d'outils d'observation, de tourisme et d'étude d'une ville. Cette
plateforme se donne pour objectifs de faciliter l'accès au plus grand
nombre d'utilisateurs à un maximum de fonctionnalités de
webmapping en fonction de leurs centres d'intérêt.
Le projet vise à terme les couches cartographiques
stratégiques que sont :
- Les infrastructures de santé
- Les infrastructures scolaires et universitaires
- Les sites touristiques (hôtels, restaurants,
parcs...)
- Les infrastructures sportives
- Les institutions administratives
Par ailleurs un autre objectif peut être
distingué. Il s'agit de pouvoir visualiser le cadastre d'une zone
découpée en parcelles. Ce qui permettra bien sûr de pouvoir
localiser les champs dans un village, connaitre le propriétaire, la
surface et d'autres descriptions importantes.
Nous avons opté dans le cadre de ce travail
académique, nous limiter à la ville de Douala avec les
infrastructures de santé comme couche géographique de base,
l'étude géostratégique des épidémies comme
le cholera pouvant plus tard sous tendre le résultat.
1.2 ZONE ET DONNEES DE L'ETUDE
1.2.1. Ville de Douala2(*)
Douala, ville côtière, est la capitale
économique du Cameroun et principale centre d'affaires du pays. C'est le
chef-lieu de la région du Littoral et du département du Wouri.
Située en bordure de l'océan Atlantique, à l'embouchure du
fleuve Wouri, c'est le plus grand port de la sous région CEMAC. La
cité s'étend sur les deux rives du fleuve Wouri.
Douala est une cité cosmopolite comptant environ
2 500 000 habitants pour une densité de 9 523,8 hab.
/km2 (selon les chiffres issus du dernier recensement
général) sur une superficie de plus de 4000 hectares en
perpétuelle croissance au même rythme que sa population. On y
retrouve d'une part un brassage de toutes les cultures des ethnies peuplant le
Cameroun, et d'autre part les ressortissants originaires de plusieurs
nationalités africaines et mondiales dans diverses activités
socio professionnelles.
Administrativement, Douala se compose de cinq (5) communes
appelées Communes Urbaines d'Arrondissement (CUA). Elles sont
regroupées avec la commune insulaire de Manoka au sein d'une
entité dénommée Communauté Urbaine de Douala (CUD)
depuis 1987. Son climat est tropical et humide avec une moyenne thermique
annuelle de 26.8° C et une pluviométrie qui présente un pic
au mois d'aout avec plus de 750mm sur un total annuel d'environ 4000mm2.
L'air y est presque constamment saturé d'humidité
99 % d'humidité relative en saison des pluies, mais 80 % en
saison sèche, relative, d'octobre à mai.
Vu l'importance démographique de Douala et ses nombreux
atouts touristiques, une plateforme de communication géographique
devient un moteur de développement de l'observatoire urbain.
Figure 1. Vue de la ville de Douala3(*)
1.2.2. Infrastructure et structure des formations
sanitaires de la ville de Douala
Le système national de santé publique au
Cameroun est organisé autour du Ministère de la Santé
publique qui est chargé de la conception et de la mise en oeuvre de la
politique de santé. La mise en oeuvre incombe au secteur public et
privé. Cette organisation repose sur un organigramme comportant des
services centraux et des services extérieurs regroupés autour de
la notion de district et d'aire de santé à l'intérieur des
délégations régionales.
Dans le cas de la ville de Douala, les formations sanitaires
publiques sont classées suivant l'organigramme du ministère comme
suit :
- Un Hôpital général
- Un hôpital central : Laquintinie
- Des hôpitaux de district (HD),
- Des centres médicaux d'arrondissement (CMA)
- les Centres de santé Intégrés(CSI).
Ces formations sanitaires sont chargées de
l'exécution des programmes et projets relevant du domaine de la
santé publique.
Le secteur privé joue un rôle important au sein
du système à travers des formations sanitaires reparties dans
toute la ville de Douala.
Le tableau ci-dessous présente la fiche des formations
sanitaires publique recensées.
Formations sanitaires
|
Cat.
|
PMS
|
ZONE
|
Laquintinie
|
HR
|
|
AKWA
|
Général
|
HR
|
|
Bédi
|
Hôpital de District Deido
|
HD
|
|
DEIDO
|
Hôpital de District New Bell
|
HD
|
|
New Bell
|
Hôpital de District Nylon
|
HD
|
|
Nylon
|
Hôpital de District Bonassama
|
HD
|
|
Bonassama
|
Hôpital de District de Logbaba
|
HD
|
|
LogBaba
|
CMA de Bepanda
|
CMA
|
|
Deido
|
CMA de cité des palmiers
|
CMA
|
|
Cité palmiers
|
CMA de Soboum
|
CMA
|
|
Nylon
|
CMA de Bonamoussadi
|
CMA
|
|
Deido
|
Centre de santé intégré de Japoma
|
CSI
|
|
Japoma
|
Centre de santé intégré de Nylon
|
CSI
|
|
Nylon
|
Centre de santé de Ndogpassi zone de recasement
|
CSI
|
|
NdogPassi
|
Centre de santé intégré d'Oyack
|
CSI
|
|
Oyack
|
Centre de santé intégré de Bonadiwoto
|
CSI
|
|
.....
|
Centre de santé intégré de Diboum II
|
CSI
|
|
....
|
Tableau 1 : Fiche des formations sanitaires publiques
recensées.
1.2.3. L'ENTREPRISE VECTOR INTERNATIONAL
CORPORATE
Vector International Corporate est un cabinet d'étude
informatique spécialisé dans les projets SIG. Cette entreprise a
été fondée et dirigée par le regretté
Ferdinand KENGMEZA par ailleurs tuteurs au Master 2 IASIG. Il nous a accueilli
en stage et nous a proposé de travailler ce sur ce thème qui
selon lui correspond à une grande problématique dans le secteur
du Webmapping camerounais d'une part et plus particulièrement dans
l'observation urbaine. Menacé par la maladie, M KENGMEZA n'aura eu le
temps que de nous poser le problème, la mort l'ayant
empêché de pousser ce projet au point où il avait
souhaité. Nous espérons que la graine semée par ce travail
portera des fruits en mémoire de ce cerveau du monde des SIG que nous
avons perdu.
CHAPITRE 2. ASPECTS
THEORIQUES DU WEPMAPPING
Attention : Ce chapitre est une réadaptation
inspirée de plusieurs sources que nous avons citées en
bibliographie.
2.1 GENERALITES SUR QUELQUES CONCEPTS CLES
2.1.1. Observatoire urbain
Un Observatoire est un système d'observation (du
territoire pour ce qui nous intéresse) mis en oeuvre pour suivre
l'évolution d'un phénomène, d'un domaine ou d'une portion
de territoire dans le temps et dans l'espace. La plupart des Observatoires se
présentent sous la forme d'applications informatiques dans lesquelles
des données sont agrégées et restituées sous la
forme synthétique de tableaux, cartes, ou indicateurs statistiques.
Les progrès de l'informatique ont mis à
l'évidence le fait que le Système d'Information
Géographique (SIG) soit devenu l'outil indiqué pour constituer un
véritable observatoire urbain efficace et convivial d'utilisation. En
effet, le SIG permet bien au-delà du simple stockage des informations
géographiques de base, la création et la gestion d'indicateurs
nouveaux par croisement d'informations pertinentes et disponibles,
intégrant par là même des possibilités de simulation
de l'évolution des zones urbaines. Un indicateur peut être
quantitatif ou qualitatif en fonction du phénomène
étudié et des données liées.
L'observation des zones urbaines, pour être
complète, doit comporter aussi bien des données globales (telles
que le réseau routier) permettant d'appréhender l'ensemble de la
zone urbanisée, que des données très localisées,
permettant de comprendre des phénomènes ponctuels
étudiés. A chaque catégorie de données correspond
une catégorie d'utilisation, souvent liée à la prise de
décision.
2.1.2. Cartographie
La cartographie est l'étude et la
réalisation des cartes géographiques. Le but principal de la
cartographie vise à représenter les données sur un support
matériel ou numérique représentant un espace
géographique réel. L'objectif de la carte, est donc la
représentation de façon simplifiée et précise des
phénomènes géographiques complexes dans le but de
faciliter leur compréhension à un public plus large.
Tout projet cartographique doit passer nécessairement
par les étapes suivantes :
- Analyse des besoins
- Conception du modèle
- Acquisition des données géographiques de
base
- Géolocalisation des données à
représenter (Par GPS)
- Implémentation qui consiste à 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, couleur).
- Test et validation
2.1.3. Géomatique
La géomatique est un domaine qui fait appel aux
sciences, aux technologies de mesure de la terre ainsi qu'aux technologies de
l'information pour faciliter l'acquisition, le traitement et la gestion des
données sur le territoire (aussi appelées "données
spatiales " ou " données géographiques"). On
peut dire enfin que la géomatique n'est rien d'autre que de
l'informatique appliquée au système d'information
géographique.
2.1.4. SIG
Un SIG ou Système d'Information Géographique est
un
système
d'information capable d'organiser et de présenter des données
alphanumériques spatialement référencées, ainsi que
de produire des plans et des cartes. Ses usages couvrent les activités
géomatiques
de traitement et diffusion de l'information géographique. On peut
enfin définir un SIG comme étant un système
informatisé capable de représenter sous forme numérique un
territoire ou une partie d'un territoire.
4(*)La
société française de photogrammétrie et
télédétection a proposé une définition
synthétique qui conçoit le SIG comme « un
système informatique permettant, à partir de diverses sources, de
rassembler et d'organiser, de gérer, d'analyser et de combiner,
d'élaborer et de présenter des informations localisées
géographiquement, contribuant notamment à la gestion de
l'espace ».
Cette définition s'applique à plusieurs
domaines, notamment : (i) la planification urbaine (cadastre, POS, voirie,
réseaux assainissement) ; (ii) la gestion des forêts
(cartographie pour aménagement, gestion des coupes et
sylviculture) ; (iii) le transport (planification des transports urbains,
optimisation d'itinéraires) ; (iv) le tourisme (gestion des
infrastructures, itinéraires touristiques) ; (v) la protection
civile (gestion et prévention des catastrophes) ; (vi) le marketing
(localisation des clients, analyse du site) ; (vii) les
télécommunications (implantation d'antennes pour les
téléphones mobiles) ; et (viii) la biologie (études
du déplacement des populations animales).
Un S.I.G ainsi défini a pour principale mission, de
mettre à la disposition des utilisateurs les informations sur les
éléments d'un territoire (sites ou phénomènes
physiques, objet statique ou mobile etc....) ou sur le territoire
lui-même, le paramètre essentiel étant la
géolocalisation.
2.1.5. Historique des SIGs
Tout commence en 1854 lorsque le Dr John Snow mène une
étude géolocalisée de l'épidémie de
choléra dans le quartier Soho de Londres en Angleterre. D'après
le résultat spectaculaire de cette étude l'épidémie
serait partit d'un puits pour contaminer les populations environnantes. Ce fut
là la toute première application de l'analyse spatiale des
phénomènes.
Ensuite vers les années 1960, alors qu'il fallait
créer de nouvelles plantations forestières en Afrique de l'Est,
il s'est avéré que les nombreuses cartes de l'Afrique existantes
à l'époque n'ont pas pu permettre de gérer
géographiquement la situation d'où l'idée d'utiliser
l'outil informatique pour traiter les données cartographiques.
Les progrès des technologies informatiques depuis 1970
jusqu'à nos jours ont contribué à mettre en oeuvre les
applications des systèmes d'information géographique dans
plusieurs domaines scientifiques et surtout dans les domaines liés
à l'aménagement et àl'observation du territoire.
En accord avec les études menées par Maguire
et al. (1991) on distingue désormais quatre périodes
principales dans l'évolution des SIG :
· 1950 -1970 : premières applications de
l'informatique à la cartographie
· 1970- 1980 : les outils SIG font leur
entrée dans les organismes étatiques (armée, cadastre,
services topographiques, ...) ;
· 1980 -Années 1990 : Développement de
plusieurs applications informatiques dédiées aux SIG. Et mise en
réseaux des outils SIG.
· fin des années 1990 jusqu'à nos
jours : Développement du webmapping avec plusieurs services
cartographiques offerts sur internet et apparition de plusieurs outils libres
ainsi que l'usage des technologies GPS.
2.1.6. Composant d'un SIG
Un SIG est constitué de cinq (05) composantes majeures
qui sont Les logiciels, les données, les matériels, les
utilisateurs et les méthodes.
Figure 2. Composants d'un SIG
a. Le matériel
Il s'agit d'une composante indispensable à un S.I.G et
l'élément fondamental de cette composante reste l'ordinateur. Les
S.I.G fonctionnent grâce aux ordinateurs et périphériques
connectés entre eux ou non et permettant aux utilisateurs d'avoir toutes
les fonctionnalités des SIG regroupées autour des 5A
(abstraction, analyse, acquisition, affichage, archivage). Etant donné
la forte taille des données stockées dans un SIG, les supports de
stockage occupent une place de choix dans le matériel des SIG. Des
systèmes client-serveur en intranet, extranet voire via Internet
facilitent ensuite, et de plus en plus, la diffusion des résultats. Ces
solutions de diffusion appelées web-mapping ou web-SIG utilisent un
serveur cartographique
b. Le logiciel
Les logiciels de SIG offrent les outils et les fonctions pour
stocker, analyser et afficher toutes les informations. Ce sont des outils pour
saisir et manipuler les informations géographiques, pour stocker les
bases de données (SGBD), pour des requêtes, analyse et
visualisation via des interfaces graphiques utilisateurs pour une utilisation
facile. Bref les logiciels permettent de rendre cohérents les trois
dimensions d'un SIG illustrées par la figure ci-dessous tirée du
cours de Master par M. Lætitia Perrier Bruslé
de l'université de Nancy (France).
Figure 3. Les 03 dimensions d'un SIG
c. Les données
Les données représentent le contenu même
des SIG. Elles peuvent être des cartes géographiques et/ ou des
informations relatives à ces objets. C'est la composante la plus
importante d'un SIG. Les données géographiques peuvent
être, soit importées à partir de fichiers, soit saisies par
un opérateur. Nous verrons un plus en détail dans le paragraphe
2.1.7.
d. Les utilisateurs
Un SIG est avant tout un système et ce sont ses
utilisateurs (le personnel qui entretient et gère le système) qui
lui permettent de fonctionner pour livrer tout son potentiel au besoin de
l'homme.
Les utilisateurs et potentiels utilisateurs d'un SIG sont
principalement :
- les techniciens et ingénieurs chargés de la
conception, de l'entretien et de la gestion du SIG,
- les techniciens et personnels qualifiés à
l'utilisation quotidienne du SIG dans leur travail,
- les décideurs utilisant le SIG comme moyen d'aide
à la prise des décisions.
|
e. Les méthodes
Pour que les éléments cités plus haut
soient opérationnels, il est nécessaire de fédérer
des connaissances techniques diverses autour de ceux-ci. Un SIG fait appel
à divers savoir-faires et donc diverses méthodes qui proviennent
généralement des compétences multidisciplinaires. On
retiendra notamment la nécessité d'avoir des compétences
en géodésie (connaissance des concepts de système de
référence et de système de projection), en
photogrammétrie (ensemble des techniques et des matériels
utilisés pour aboutir à la représentation d'un territoire
étendu, à partir des clichés des prises de vues
aériennes.),en analyse des données, des processus, de la
modélisation et de la programmation informatique, en traitement
statistique, en sémiologie graphique et cartographique, en traitement
graphique.
2.1.7. Typologie des Données SIG
Les données SIG sont classées en deux grands
types à savoir les données géographiques et les
données attributaires.
a. Les données géographiques
Une donnée est dite géographique si on peut la
localiser soit directement par ses coordonnées géographiques ou
indirectement par son adresse postale ou par son identifiant cadastral. Les
données géographiques peuvent être présentées
par trois subdivisions à savoir les données
géométriques, les données graphiques et les
métadonnées.
· les données
géométriques : Elles renvoient à la forme et
à la localisation des objets ou phénomènes ;
Toute représentation cartographique passe par la
traduction des éléments réels que l'on observe
(infrastructure de santé, route, limite administrative,) en objets
géométriques qui sont de trois types :
1. le point (x, y) : par exemple, les lieux de
résidence des sujets atteints de la pathologie étudiée
(cas) géoréférencés et représentés
sur une carte ou encore les sites industriels, les hôpitaux, etc. ;
2. la ligne ((x1, y1), ..., (xn, yn)) : les routes, les
cours d'eau, les lignes à haute tension, tout élément d'un
réseau, etc. ;
3. le polygone ou surfacique : Exemples les limites
administratives, les sites industriels étendus, les nappes d'eau
souterraines, etc.
Remarque : X et y représentent
les coordonnées géographiques du point. Il s'agit ici des
coordonnées terrestres qui considèrent la terre comme une
sphère, mais une sphère imparfaite soit un ellipsoïde.
L'ellipsoïde est la surface mathématique qui permet de calculer les
coordonnées géographiques d'un lieu en Longitude et en latitude
Voir figure
· les données graphiques :
Elles caractérisent la présentation apparente de l'objet.
· les métadonnées :
Ce sont les informations sur l'origine et le propriétaire d'une
donnée géographique.
b. Les données attributaires
Elles représentent les
caractéristiques ou propriétés propres à un objet
ou à un phénomène en dehors de sa forme ou de sa
localisation. Il peut s'agir par exemple des informations portant sur l'adresse
postale d'un site géographique.
Figure 4. Latitude et Longitude d'un lieu5(*)
2.1.7. Représentation des Données
SIG
Il existe deux modes de représentation des
données géographiques : le mode vecteur et le mode
raster.
a. Représentation en mode vectoriel
En mode vectoriel, le point avec ses coordonnées est le
porteur de l'information géométrique. Les lignes et les surfaces
se comprennent comme une suite définie de points
caractéristiques. Les données vectorielles sont la plupart du
temps le résultat de la numérisation manuelle ou
semi-automatique. De façon générale, dans les
données vectorielles on distingue les points, les lignes et les surfaces
qui sont toujours représentés en couches différentes.
b. Représentation en mode raster
Les données raster ont comme élément
essentiel le pixel (Picture element). Les pixels sont répartis dans un
raster de façon régulière en lignes et colonnes comme
indique la figue 5 ci dessous. Les lignes et les surfaces ne peuvent être
représentées que par l'enchaînement de pixel unique. Un
objet ne peut donc être représenté que de façon
approximative; c'est ainsi que la taille du pixel-raster (résolution
spatiale) conditionne l'exactitude de la représentation.
Figure 5. Représentation des données
Raster
(Source : Cahier méthodologique sur la mise en
oeuvre d'un SIG IAAT 2003 p8)
Remarque : La donnée raster ou
maillée donne une information en chaque point du territoire.
Les données raster sont issues essentiellement de la
photographie aérienne, des images satellitales, ou d'un plan
scanné affichés dans le SIG en tant qu'image.
- photo aérienne
La photo aérienne est la principale source de
nombreuses données géographiques. Elle s'obtient à partir
d'appareils photo ou cameras aéroportés qui fournissent des
détails importants sur la surface de la terre.
La photo aérienne peut être scannée,
corrigée par des méthodes de photogrammétrie des
déformations d'échelles pour en obtenir une
orthophotographie ; elle peut être aussi numérique
c'est-à-dire directement exploitable par un SIG. Dans tous ce cas, la
précision de la photo aérienne dépend de la dimension du
plus petit détail visible on parle alors de la notion de
résolution.
Figure 6. photo aérienne
(Source : Cahier méthodologique sur la mise en
oeuvre d'un SIG IAAT 2003 p8)
- Image satellitale
C'est une image issue des prises de vue des capteurs des
satellites d'observation de la terre. Lorsque l'image est obtenue par le reflet
du rayonnement solaire dans le domaine du visible par les objets situés
au sol, on parle d'image optique (En référence à la
télédétection optique).Dans ce cas l'mage doit passer par
plusieurs traitements radiométriques et géométriques avant
d'être exploitable par un SIG.
Figure 7. image optique
(Source : Cahier méthodologique sur la mise en
oeuvre d'un SIG IAAT 2003 )
Si par contre l'image est obtenue par d'un objet au sol
à une onde envoyée par le satellite, on parlera plutôt
d'image radar en référence à la
télédétection RADAR.
Figure 8. images Radar
(Source : Cahier méthodologique sur la mise en
oeuvre d'un SIG IAAT 2003 p8)
- Plan scanné ou carte
scannée
Un plan scanné est une image issue de la
numérisation d'un plan ou carte sur support papier déjà
traité et exploité.
Figure 9. Carte scannée
(Source : Cahier méthodologique sur la mise en
oeuvre d'un SIG IAAT 2003 p8)
2.2 Fonctionnalités d'un SIG
Les systèmes d'information géographiques
possèdent des fonctionnalités regroupées en cinq famille
connue sous les 5A pour :
- Acquisition : C'est l'opération qui
permet d'intégrer des données géographiques dans le
système.
- Archivage : structuration et stockage de
l'information géographique sous forme numérique.
- Abstraction : C'est l'opération qui
permet de représenter une situation géographique du monde
réel et complexe par un système simple et suffisamment
précis et compréhensif.
- Analyse : C'est l'opération qui
permet d'effectuer des traitements ou des interprétations liées
à la géométrie des objets (exemple calcul
d'itinéraire, croisement des données thématique en
couches.)
- Affichage : représentation et mise
en forme, notamment sous forme cartographique avec la notion d'ergonomie et de
convivialité.
2.3 Fonctionnement d'un SIG
Les cinq fonctionnalités de base du SIG lui permettent
de créer une plateforme virtuelle des informations du monde réel
sous forme de couches thématiques superposables au moyen des cartes
géographiques. Cette technologie à la fois et simple et puissant
(à la base du fonctionnement de toute application SIG digne de ce nom) a
démontré sa puissance de résolution des problèmes
complexe du monde réel. Il est illustré par la figure
ci-dessous :
Figure 10. Fonctionnement d'un SIG
(Source :
http://georezo.net/forum/viewtopic.php?id=53501
Le portail francophone de la géomatique)
2.4 LE WEBMAPPING OU DIFFUSION DE CARTE EN LIGNE
2.4 1. Généralités
Le Web mapping n'est autre chose que la publication des
serveurs cartographiques (SIG) sur internet.
Un serveur cartographique SIG sur internet est un serveur
Internet doté des fonctionnalités d'un véritable
système d'information géographique.
Un tel serveur se présente sous forme d'un logiciel
installé sur une machine serveur web classique et permettant de
répondre aux requêtes de type géographiques.
2.4 2. Fonctionnement du Web mapping
Comme vous pouvez remarquer sur la figure ci-dessous, un
serveur SIG possède les principales fonctions suivantes : le
stockage, le traitement et la diffusions des cartes et informations
géographiques via le réseau internet.
Figure 11. Architecture d'un serveur cartographique sur
internet
(Source : Notes de cours Serveur Cartographique et SIG
interactifs en ligne M2 IASIG 2010)
a- le stockage,
Pour assurer sa fonction de stockage, le serveur SIG
possède deux couches :
- Une couche dédiée aux données
supportées par un SGBD géographique à l'instar de
PostGresql avec son extension Post Gis, ou Oracle avec Oracle spatial
etc....
- Des images géo référencées comme
des cartes géographiques.
b- Le traitement
Pour le traitement, Un SIG Web est doté d'un serveur
web, et d'un serveur de scripts (PHP, ASP, ou JSP) qui le rendent capable
d'assurer les services de base d'un véritable moteur
SIG, au delà du stockage des données, c'est
à dire la possibilité d'effectuer des requêtes à
composante spatiale :
1) inclusion / juxtaposition / croisement
2) calculs de longueurs et superficies
3) mesure de distances, zones tampons
4) mise à jour des données graphiques et
attributaires
5) assemblage et habillage graphiques des couches
d'information pour obtenir une carte.
c- La diffusion
Le serveur SIG va donc ajouter aux fonctions habituelles d'un
serveur Internet des fonctions en relation avec la gestion et le traitement de
données graphiques géo référencées. Cette
fonction permettra aux utilisateurs indépendamment de leur situation
géographique d'obtenir des informations géographiques sur un
secteur de son choix. Enfin le serveur SIG devra de ce fait être capable
de retourner l'information sous une forme adaptée à l'interface
Internet, c'est à dire au site affiché dans le navigateur de la
machine cliente. Cela suppose en particulier la capacité de transformer
les données graphiques et alphanumériques issues d'une
requête dans le SGDB dans un format compatible avec les navigateurs :
GIF, jpeg ou png pour les bitmaps et svg, swf (flash), pour les vecteurs
(plugin nécessaire).
2.4 3. Le datamining
Le data-mining est l'ensemble de techniques d'extraction
d'informations d'ordre prévisionnel à partir de grandes bases de
données. C'est un domaine connexe de l'analyse géospatiale qui
est encore assez peu passé dans l'usage courant des utilisateurs de SIG.
Les outils de classification, de segmentation et de visualisation sont pourtant
directement utiles pour un utilisateur des systèmes d'information
géographique. Les SIG de par leur grande capacité à
fédérer des masses importantes et diversifiées
d'informations thématiques autour d'une carte géographique
représentent une plateforme de développement du datamining.
2.5 PANORAMA DE QUELQUES APIs SIG WEB EN
LIGNE
Depuis 2005, de nombreuses entreprises leader sur Internet
comme Yahoo, Microsoft et Google se sont lancées dans le
développement des services cartographiques en ligne accompagnés
des API pouvant permettre aux développeurs d'intégrer dans leurs
application SIG en ligne des fonds de carte provenant de leur source. Ces
géants d'internet ont été joints dans leur initiative par
certains organismes étatiques comme l'IGN en France et L'Ordonnance
Survey au Royaumes Unis.
De plus en plus les services offerts par ces organismes
permettent aux développeurs de représenter leurs propres
données au dessus des fonds de cartes servies et d'utiliser les
nombreuses fonctions d'interactivités avec la carte mises à leur
disposition. Ces fonctions couvrent la totalité des besoins de l'analyse
spatiale (Zoom, réaction au click, calcul de distance, classification
des phénomènes spatiaux etc...).
L'avantage de ces solutions, réside dans le fait qu'il
n'ya plus nécessite d'installer un serveur de cartographie
supplémentaire. C'est le navigateur qui exécute les fonctions
d'affichage et d'interactivités cartographique grâce au JavaScript
téléchargé depuis le serveur de ces organismes. Du coup le
gain en temps d'affichage est remarquable par rapport aux serveurs de
cartographie classiques.
Google API se démarque parmi tous ces géants des
services cartographiques libres en ligne du fait de sa grande base de
données spatiale réutilisable et de ses facilités offertes
aux développeurs.
2.6 PRESENTATION DE GOOGLE MAPS API
GoogleMaps est un serveur cartographique disponible sur le web
à l'adresse
http://maps.google.fr. Il couvre l'ensemble
des données cartographiques mondiales GoogleMaps utilise comme
système le WGS84 (World
Geodetic System 84)
basé sur le GPS.
Les utilisateurs du web peuvent interroger GoogleMaps comme
tout autre service de renseignement pour obtenir des informations
géolocalisée sur une entreprise, un site touristique, une
école etc..., Bref pour rechercher des lieux préalablement
indexés sur la carte Google. L'efficacité de GoogleMaps
réside dans le fait que Google exploite sa technique de moteur de
recherche classique avec Ajax pour rendre rapide et conviviaux l'affichage et
les rafraichissements des cartes sur le web.
Google API comme nous l'avons vu au paragraphe
précédent, offre une multitude de fonctions aux
développeurs leurs permettant d'intégrer son fond de carte dans
leur application et surtout d'interagir sur ces carte avec leur propres base de
données attributaires.
L'affichage d'une carte est déclenché par
l'appel d'une fonction JavaScript portant les paramètres sur les
dimensions du cadre d'affichage, le niveau de zoom, le point central. Les
données attributaires du client peuvent être également
ajoutées à la carte sous forme de couche géographique par
appel des fonctions JavaScript appropriés comme nous le verrons dans
notre travail.
2.7 LE GPS ET LA GEOLOCALISATION
Le système GPS (Global Positioning System) est un
system basé sur une constellation de 24 satellite d'observation da la
terre émettant en permanence des signaux datés vers le globe et
sur un réseau de stations de surveillance de ces satellites au sol. Le
GPS a pour rôle de fournir via un récepteur approprié des
données spatio temporelle (latitude, longitude,
élévation,..) de navigation quelque soit la position
géographique sur le globe terrestres. La localisation est possible si au
moins quatre satellites sont visibles avec la possibilité de
déterminer quatre inconnues : les trois coordonnées
spatiales, ainsi que le temps.
Le GPS peut, en plus de son exploitation pour la navigation,
répondre à des besoins géodésiques. Il permet de
connaître les différences de coordonnées entre points
terrestres avec une précision meilleure que le centimètre, sur
des distances de plusieurs dizaines ou centaines de kilomètres. Le
système de localisation par satellites GPS ayant pour but de fournir la
position de l'utilisateur à chaque instant, on a défini une
référence globale qui répond aux objectifs d'un
système mondial de navigation. Cette référence s'appelle
WGS84 (World Geodetic
System 84).
Le système GPS peut être divisé en trois
segments:
- le segment espace,
- le segment utilisateur,
- le segment de contrôle,
Les fonctions et interactions sont présentées dans
la figure suivante:
Figure 12. Les 3 segments du système
GPS
(Source : Pierre-Yves Gilliéron, GPS :
Principes et mesures de code, Lausanne, octobre 2004)
CHAPITRE 3. APPROCHE
METHODOLOGIQUE
La mise en oeuvre d'un Systèmes d'Information
Géographique dans une démarche d'analyse spatiale au même
titre qu'un système d'information classique requiert la clarification
et la définition des objectifs à atteindre ainsi qu'une analyse
objective du domaine du besoin à solutionner.
La mise en oeuvre d'une méthodologie formelle
(Méthode) permet de formaliser clairement les étapes
préliminaires du développement d'un système afin de rendre
le résultat plus fidèle aux besoins du demandeurPour y arriver,
tout part d'une expression des besoins brute de la part de l'utilisateur
(demandeur) ensuite ces besoins bruts sont complétés par les
recherches d'information par des techniques de recueil d'information
(interviews, observations, études des documents) ainsi que de l'analyse
de l'existant éventuel (c'est-à-dire comment les acteurs et le
système se comportent actuellement). Nous partirons des
généralités sur les méthodes d'analyse, en passant
par la classification des principales méthodes existante, pour
présenter sommairement la méthode retenue : l'approche UML
(Unified Modelling Langage) qui propose de nombreux modèles permettant
d'identifier les structures statiques et dynamiques des systèmes
informatiques. Après avoir présenté globalement cette
approche, nous étudierons son application aux SIG et nous terminerons
par la présentation des étapes de notre projet.
3.1 GENERALITES SUR LES METHODES D'ANALYSE
3.1.1) Définition des concepts
Une méthodologie d'analyse propose au concepteur des
modèles, des méthodes et des
outils.
· Un modèle, est un ensemble
de concepts et de lois (de
complétude, de cohérence, de transformation ...) unissant ces
concepts, qui permettent de décrire "intelligemment" une
réalité. A titre subsidiaire, un modèle comporte des
formalismes, qu'il ne faut pas croire limités aux seuls
schémas graphiques ou diagrammes dont, à l'instar de
tout concepteur, les informaticiens sont friands.
· Une méthode propose des
démarches et des règles de
bon usage. Idéalement, elle se fonde sur des
modèles éprouvés et vise à en exploiter les
potentialités en vue de fabriquer des objets répondant à
certains critères de qualité.
· AGL (Atelier de génie logiciel) Depuis la
fin de la décennie 1980-90 sont apparus sur le marché des
outils logiciels d'aide à l'analyse. Ces outils ont
reçu le nom de "CASE tools" ("Computer Aided Software Engineering")
ou, en français, d'ateliers de génie logiciel. Ces
outils facilitent les tâches au niveau des éléments ci
après :
- support (enregistrement et restitution) des
formalismes, particulièrement des dessins;
- application (vérification) des
règles de syntaxe, de cohérence, de
complétude ...;
- exploitation des lois de transformation
spécifiques des modèles, se basant sur les
propriétés des objets déjà définis pour
définir de nouveaux objets
3.1.2) Importance d'une méthode
d'analyse
Pour mener à bon port un projet informatique, une
méthode est nécessaire pour :
ü pour maîtriser la complexité du
problème informationnel à résoudre;
ü Pour sortir la construction des systèmes
d'information de l'empirisme individuel et la fonder sur une coopération
efficace entre informaticiens et utilisateurs;
ü pour permettre la communication entre les membres de
l'équipe de conception;
ü pour permettre d'évaluer le système
à tout moment de son cycle, tant sur le plan de son efficacité
technique que sur celui de sa pertinence par rapport aux besoins des
gestionnaires;
ü pour améliorer les coûts, les
délais et la productivité des activités de
développement.
3.1.3) Cycle de vie d'un projet
informatique
Comme le mentionne le Dr Nkenlifack dans ses notes de cours et
confirmé par notre expérience sur le terrain, quelque soit
l'approche méthodologique, Le cycle de vie d'un projet SI comprend
généralement au minimum les activités suivantes :
- La définition des objectifs visés,
- L'analyse des besoins et étude de faisabilité
- L'analyse fonctionnelle ou étude
détaillée
- La Conception générale.
- La Conception détaillée,
- L'implémentation
- Les Tests et intégration
- La documentation et la formation des utilisateurs
- La mise en production
- La maintenance
3.2 CLASSIFICATION DES APPROCHES
MATHODOLOGIQUES
En général on divise les
méthodes d'analyse et de conception en trois grandes
familles (approches):
3.2.1. Approche fonctionnelle ou
cartésienne
Cette approche est basée sur le principe de la
décomposition hiérarchique des processus et des flux de
données afin de mettre en oeuvre le système d'information. Le
système étudié est ainsi abordé par les fonctions
qu'il doit assurer plutôt que par les données qu'il doit
gérer. Les méthodes de conception de première
génération (SADT, SA-SD) sont basées sur cette approche,
qui préconise un développement linéaire.
3.2.2. Approche systémique
L'approche systémique consiste à élaborer
des modèles capables de décrire ou de simuler globalement ou
partiellement le comportement des systèmes étudiés. En se
basant sur le modèle entité relation. L'approche
cartésienne n'étant pas efficace pour des systèmes
complexes comme l'entreprise, les méthodes d'analyse de seconde
génération sont nées et basée essentiellement sur
l'approche systémique des systèmes. Un objet complexe se
caractérise par un nombre important de relations entre les
éléments qui le constituent, alors qu'un objet compliqué
est caractérisé par un nombre important d'éléments.
D'où la pertinence de cette approche qui a vu naître les Les
méthodes d'analyse comme Merise, REMORA etc..
basées sur une représentation de tous les faits pertinents qui
surviennent dans une organisation en matérialisant les relations entre
les entités de l'organisation
3.2.3. Approche objet
Dès lors qu'un système d'information est
appelé à évoluer dans le temps, l'approche fonction se
trouve butée à la complexité de la maintenance et de
l'évolution d'où la pertinence d'une nouvelle approche
basée sur les objets. Cette approche permet d'appréhender un
système en centrant l'analyse sur les données et les traitements
à la fois par le concept d'objet et leurs fonctions (appelées ici
méthodes). Les stratégies orientées objet
considèrent que le système étudié est un ensemble
d'objet coopérant pour réaliser les objectifs des utilisateurs.
La plus value qu'offre l'approche objet est qu'elle est fondée sur la
modularité, la flexibilité et surtout la
réutilisabilité qui favorisent la maintenance et
l'évolution des applications informatique.
Entre 1970 et 1990, plusieurs méthodes objet ont vu le
jour parmi les quelles trois ont marqués les esprits :
- La méthode OMT de Rumbaugh
- La méthode BOOCH'93 de Booch
- La méthode OOSE de Jacobson
Ce n'est que vers la fin des années 90 que les trois
méthodes ont fusionné pour donner naissance à UML (Unified
Modeling language) que nous avons retenu dans le cadre de notre travail.
3.3 MODELISATION UML
La modélisation étant un moyen efficace de bien
définir et analyser les besoins pour espérer aboutir au
résultat escompté, nous avons jugé important de
présenter le langage de modélisation que nous avons choisis UML.
Nous commencerons par sa définition, ensuite par ses différentes
vues d'abstraction du monde réel.
3.3.1. Définition et principe
d'UML
UML, Unified Modeling Language, langage de modélisation
objet unifié est une démarche orientée objet. Elle est
née comme nous l'avons dit de la fusion de trois méthodes
orientées objet Booch, OMT Object Modeling Technique et OOSE Object
Oriented Software Engineering, conçues respectivement par Grady Booch,
James Rumbaugh et Ivar Jacobson.
Les 3 experts ont focalisé leur attention sur les deux
aspects : modélisation et formalisation afin de
concevoir un langage de modélisation standard et universel
utilisé notamment pour le développement informatique en langage
objet.
La modélisation et la formalisation à l'aide
d'un vocabulaire standardisé et de surcroît orienté objet
conferent à la méthode tout son intérêt. La
formalisation et la modélisation facilitent en effet la
définition du problème à traiter et la
compréhension par l'ensemble des principales parties prenantes, sous
réserve que chaque partie maitrise son formalisme.
Une fois le modèle bien défini, il est plus
aisé de s'y référer lors du développement afin de
s'assurer de la conformité de ce dernier. Un outil précieux qui
explique à lui seul l'essor de la démarche UML.
3.3.2. Le formalisme UML
Les spécifications d'UML son disponibles sur le site de
Rational Software (RATIONAL 1999).
UML est un langage de modélisation de données
orienté objet basé sur l'utilisation de neuf types de diagrammes
: les diagrammes de classes, les diagrammes d'objets, les diagrammes de
composants, les diagrammes de déploiement, les diagrammes de cas
d'utilisation, les diagrammes de collaboration, les diagrammes de
séquence, les diagrammes d'états-transitions et les diagrammes
d'activités.
Les parties statiques d'un système sont décrites
à l'aide des quatre premiers diagrammes, tandis que les cinq autres
servent à détailler les aspects dynamiques du même
système.
Au sein des diagrammes statiques, on distingue ceux
décrivant les aspects conceptuels d'un système, et ceux
décrivant les aspects physiques ou d'implémentation. Nous nous
limiterons ici à la présentation du formalisme des 04 diagrammes
suivant : Cas d'utilisation, Séquences, Classes et
déploiements qui à notre avis suffisent pour modéliser un
système de l'ensemble des points de vue.
a) Diagrammes des cas d'utilisation
Il représente les fonctions du système du point
de vue de l'utilisateur et décrit sous la forme d'actions et de
réactions, le comportement d'un système. Il sert enfin à
structurer les besoins des utilisateurs et les objectifs correspondants du
système. Il faudra ici distinguer les acteurs, les cas d'utilisation et
enfin le diagramme des cas d'utilisation proprement dit.
- Les acteurs
UML parle d'acteur et non d'utilisateur pour décrire
les entités externes qui interagissent avec le système en
envoyant des événement comme par exemple « saisir les
coordonnées géographiques d'un site »,
« cliquer sur le bouton Ok » ou encore envoyer un Fichier
KML. Les acteurs reçoivent aussi des informations de la part du
système comme par exemple « affichage d'une carte
géographique ». Bref un acteur représente un rôle
que les utilisateurs du futur système auront à jouer.
L'inventaire objectif de tous les potentiels acteurs d'un système est
capital pour le succès de l'interface et donc du système
à produire.
Un acteur sera représenté par le bonhomme
suivant dont l'étiquette devra porter son nom :
Figure 13. Un acteur
- Les cas d'utilisation
Les cas d'utilisation représentent les actions possibles
entre un ou plusieurs acteurs avec le système. Le cas
d'utilisation est représenté par une ellipse, portant en
contenu un texte le décrivant. Un exemple est matérialisé
par la figure ci-dessous :
- Les diagrammes des cas d'utilisation
Lorsque tous les acteurs et tous les cas d'utilisation ont
été inventoriés ainsi que les différentes types de
relations entre eux l'ensemble dans un package forme le diagramme des cas
d'utilisation matérialisé comme indique l'exemple ci-dessous.
Figure 14. Diagramme des cas d'utilisation.
b) Diagramme des séquences
Il se concentre sur la séquence temporelle des
interactions entre les objets. Avec les objets « acteur » et «
système », il permet de représenter le déroulement
des scénarios (instances des cas d'utilisation).
Les diagrammes de séquences permettent de
représenter des collaborations entre objets selon un point de vue
temporel, on y met l'accent sur la chronologie des envois de messages. Ils
peuvent servir à illustrer un cas d'utilisation. L'ordre d'envoi d'un
message est déterminé par sa position sur l'axe vertical du
diagramme ; le temps s'écoule "de haut en bas" de cet axe.
Dans un souci de simplification, on représente l'acteur
principal à gauche du diagramme, et les acteurs secondaires
éventuels à droite du système. Le but étant de
décrire comment se déroulent les actions entre les acteurs ou
objets.
Remarque : Le diagramme des
séquences peut être représenté en considérant
le système comme une espèce de boite noire lors de la phase
d'analyse. Mais lorsqu'il faudra passer à la conception, il sera
nécessaire d'éclater cette boite noire par des objets
logiciels.
Figure 15. Exemple de Diagramme des séquences
avec le système vu comme une boite noire
Figure 16. Exemple de Diagramme des séquences du
point de vue conception
c) Diagramme des activités
Les diagrammes d'activité sont utilisés pour
documenter le déroulement des opérations dans un système,
du niveau stratégique au niveau opérationnel. L'usage
général des diagrammes d'activité permet de faire
apparaître les flots de traitements induits par les processus internes
par rapport aux évènements externes.
Processus
|
Description
|
Symbole représentatif
|
Etat d'activité
|
l'état d'activité marque une action
faite par un objet. Il est représenté par
un rectangle arrondi.
|
|
Transition
|
quand un état d'activité est accompli,
le traitement passe à un autre état
d'activité. Les transitions sont utilisées
pour marquer ce passage. Les
transitions sont modélisées par des
flèches
|
|
Couloir
(Swimlane)
|
Dans un diagramme d'activité, on peut placer les
activités dans des couloirs (Swimlanes) qui représentent
des systèmes.
Les objets sont énumérés au dessus de la
colonne, et les barres verticales séparent les colonnes pour former les
swimlanes.
|
|
Etat initial
|
l'état initial marque le point d'entrée la
première activité. Il est représenté, comme dans le
diagramme d'état, par un cercle plein. Il ne peut y avoir qu'un seul
état initial sur un diagramme.
|
|
Etat final
|
L'état final marque la fin du déroulement des
opérations modélisées. Il peut y avoir des états
finaux multiples sur un diagramme. Ils sont
représentés par un cercle plein entouré d'un autre
cercle.
|
|
Barre de
Synchronisation
|
Souvent, certaines activités peuvent être faites
en parallèle. Pour dédoubler le traitement "Fork", ou le
reprendre quand des activités multiples ont été accomplies
("join"), des barres de synchronisation sont utilisées. Celles ci
sont modélisées par des rectangles pleins, avec des
transitions multiples
entrantes ou sortantes.
|
|
Tableau 2 : Description des Scénarios
Uml
Figure 17. Exemple Diagramme des
activités
d) Diagramme des classes
Les diagrammes de classes permettent de représenter la
structure statique d'un système, en termes de classes et de relations
entre ces classes. Une classe étant un ensemble d'objets (attributs et
comportement), tandis qu'une relation ou association permet de faire
apparaître des liens entre ces objets. Il est l'équivalent du
modèle conceptuel des données (MCD) en Merise.
Figure 18. Exemple de Diagramme de classe
3.4 DEROULEMENT DU PROJET
UML ne propose pas de méthode de réalisation.
UML est totalement indépendant des langages objet de
développement. Une fois la problématique modélisée,
une méthode de conduite de projet axée sur la qualité est
généralement suffisante pour mener à bien le projet. Les
méthodes dites AGILES sont indiquées pour les projets
informatiques comme le notre.
Les méthodes agiles sont axées sur les
éléments suivants qui privilégient le dialogue entre tous
les acteurs du projet à savoir :
- Possibilités de modifier les plans en cours de
réalisation
- Priorité au relationnel et non au contractuel
- Communication accentuée sur tous les processus de
mise en oeuvre
- Fonctionnalités essentielles et moins d'accents sur
une documentation accrue
CONCLUSION
Les grands principes de la modélisation terminés
nous croyons légitime de les appliquer à notre cas. Le chapitre
suivant traite justement de l'analyse et de la conception de notre plate-forme
nommée « VisioCity ».
CHAPITRE 4. ANALYSE ET
CONCEPTION DE LA SOLUTION
Dans ce chapitre, Il sera question de présenter
l'analyse UML que nous avons effectuée pour la mise en place de notre
système. Il s'agit d'évaluer l'ensemble des besoins fonctionnels
en vue de dégager l'ensemble des spécifications des
fonctionnalités attendues tout en demeurant dans l'esprit des
méthode agiles qui consacrent moins de temps à la documentation
du projet et privilégient la rapidité de mise en oeuvre ainsi que
le dialogue permanent avec les utilisateurs.
Nous présenterons d'abord l'ensemble des acteurs qui
devront éventuellement interagir avec notre système, ensuite nous
décrirons en détail les interactions des acteurs et notre
système. Nous enchainerons par la suite par la présentation des
comportements de ces interactions par le digramme des séquences. Nous
terminerons par le diagramme des classes devant être traduit en
schéma des données de notre application.
4.1 LES ACTEURS DU SYSTEME
Il ressort de notre analyse des besoins les acteurs
suivant : Administrateur, Décideur, Visiteur, Abonné, on
peut ajout un cinquième acteur qui représente le serveur Google
Maps.
4.1.1 L'administrateur
L'administrateur est le super utilisateur ayant accès
à toutes les fonctionnalités de la plateforme.
4.1.2 Le décideur
Il est celui qui valide le contenu et les mises à jour
proposés par les abonnées ou par lui-même. Il peut ajouter
de nouveau sites Géo.
4.1.3 Le visiteur
Il représente les utilisateurs anonymes qui consultent
les informations de la plate forme mais
4.1.4 L'abonné
C'est un utilisateur enregistré dans la base de
données, pouvant faire des propositions d'ajout ou de mise à jour
des données.
4.1.5 Serveur Google Maps
Il est chargé de fournir la carte correspondant
à la demande de la plate forme.
4.2 LES PRINCIPAUX CAS D'UTILISATION
4.2.1 Accéder à l'espace
publique
C'est ce cas d'utilisation qui permet d'effectuer toutes les
actions ouvertes sur internet. Il faut noter que tous les acteurs peuvent
effectuer ce cas d'utilisation. Il s'agit de :
- Afficher une carte
- changer de type carte (plan, satellite ou relief),
- Afficher les infos bulle d'un site géographique
donné.
- Zoom (+/-) : Permet d'agrandir/réduire les
dimensions de la carte ou du plan sur la zone cliquée.
- Afficher les markers selon les catégories
de sites.
- Accéder à une couche : Permet de
changer de thématique
4.2.2 Accéder à l'espace
privé
L'espace privé est réservé aux
utilisateurs autorisés, qui doivent d'abord s'authentifier. Une fois
accédés, ils peuvent proposer des ajouts sur la couche
correspondant à leur profile
4.2.3 S'abonner
Permet aux visiteurs de solliciter un abonnement à la
plateforme. Après un click, un formulaire d'enregistrement s'ouvre pour
permettre aux visiteurs de fournir les informations requises pour l'abonnement.
Sous réserve que l'administrateur valide l'abonnement.
4.2.4 Authentification
Lorsqu'on veut accéder à l'espace privé,
un formulaire s'ouvre, demande un login et un mot de passe et vous dirige vers
la page correspondant à votre profile.
4.2.5 Ajouter un site/Modifier/Supprimer
Seuls l'administrateur ou le décideur peuvent
accéder à cette fonctionnalités pour ajouter /
Modifier/Supprimer des éléments à une couche. Par exemple
ajouter une formation sanitaire à la couche Santé.
4.2.6 Ajouter un utilisateur/
Modifier/Supprimer
Seuls l'administrateur peut accéder à cette
fonctionnalité pour ajouter/ Modifier/Supprimer un utilisateur.
Figure 19. cas d'utilisation Ajouter
utilisateur
4.2.7 Ajouter une couche/
Modifier/Supprimer
Seuls l'administrateur peut accéder à cette
fonctionnalités pour ajouter / Modifier/Supprimer une couche. Par
exemple ajouter la couche Sport.
4.2.8 Ajouter une zone géographique/
Modifier/Supprimer
Seuls l'administrateur peut accéder à cette
fonctionnalités pour ajouter / Modifier/Supprimer une couche. Par
exemple ajouter la couche Sport.
4.2.9 Diagramme des cas d'utilisation
La figure ci-dessous représente les différentes
interactions entre les acteurs et le système VISIO CITY
Figure 20. Diagramme des cas d'utilisation
VisioCity
4.3 LE DIAGRAMME DES SEQUENCES
Figure 21. Extrait du Diagramme des séquences
VISO CITY
4.4 Le diagramme des classes
Pour notre système, nous avons identifié 5
principales classes
- Zone_Géo pour représenter les
circonscriptions administratives (arrondissement)
- Couche_Géo, Pour représenter
l'ensemble des informations d'un même secteur thématique comme par
exemple la Santé pour les infrastructures de santé
- Site_Geo : Représentant un site
du secteur thématique d'une couche donnée. Exemple, un site
sanitaire qui peut être un hôpital.
- Carto : représentant la classe
de manipulation des cartes géographiques des sites géo
- Utilisateurs : représentant la
classe des utilisateurs du domaine privé
Figure 22. Aperçu du Diagramme des classes de
VISIO CITY
Remarque :
Comme règles de gestion, nous pouvons en citer ici les
principales :
- Une couche comprend un ou plusieurs sites Geo
- Une zone géo contient o ou plusieurs sites
géo.
- Un utilisateur appartient à une ou plusieurs couches
géo
- Une couche géo peut avoir un ou plusieurs
utilisateurs
- Une carte comprend un ou plusieurs site_geo.
CONCLUSION
A ce stade du projet où tout est quasiment prêt ,
et fidèle à l'esprit des méthodes agiles que nous avons
choisies, nous estimons qu'il est bien de passer à
l'implémentation. Le chapitre suivant nous présentera de
façon synthétique les grandes étapes de réalisation
de notre plateforme.
CHAPITRE 5 IMPLEMENTATION
DE LA SOLUTION
5.1. OUTILS ET TECHNOLOGIES UTILISES
5.1.1. Architecture du système
Nous présentons dans ce paragraphe de manière
schématique le mécanisme de fonctionnement de notre
plateforme.
Echanges par Internet
Client
Serveur Web
Serveur GoogleMaps
JavaScripts
MySQL
Http
JavaScripts PHP ava, SQL ,ja..
Figure 23. Architecture de VisioCity
Lorsqu'un client web se connecte à la plateforme via le
protocole http, il peut solliciter l'affichage d'une carte géographique
correspondant à un site géographique précis. Dans ce cas
notre plate forme récupère les données liées
à sa requête depuis la base de données MySQL, puis renvoie
la requête vers le serveur Google Maps en passant par Internet qui
renvoie aussitôt la carte correspondante vers le client. Le Client peut
alors effectuer une interactivité sur la carte grâce aux fonctions
JavaScripts coté client.
Pour mettre en oeuvre cette architecture, nous avons eu besoin
des outils suivants : Le serveur des données (SGBD) MySQL, Le
serveur Web Apache, le serveur de script PHP tout ceci contenu dans un seul
package XAMPP serveur. Pour le développement des interfaces nous avons
utilisé l'environnement de développement
MacromédiaDreamWeaver8.
5.1.2. Les serveurs de données
(SGBD)
Pour des raisons que nous avons déjà
évoquées à l'introduction, fidèle à notre
politique open source, parmi plusieurs SGBD existant, nous avons porté
notre choix sur deux à savoir MYSQL et PostGreSql qui l'un comme
l'autre peut bien faire le travail. Nous avons finalement choisi MySQL pour la
seule raison du temps imparti pour la mise en oeuvre avant soutenance. Mais
nous continuons à travailler pour que la future version soit
directement compatible Posgresql/PostGis afin de pouvoir
bénéficier de sa cartouche spatiale qui nous permettra facilement
de développer en local un serveur alternatif de cartographie
basé sur Mapserver.
A titre de rappel, un SGBD dans une application a pour
rôle de gérer (consulter, mettre à jour, organiser) une
base de donnée. MySQL comme PostGresql est un SGBD qui offre plusieurs
fonctionnalités allant du gestionnaire évolué des
données pour le web au véritable gestionnaire des données
de gestion d'entreprise.
MySQL comme PostGresql présente les
caractéristiques suivantes :
- Libre et gratuit
- Gestion d'importantes masses de données
- Gestion des accès multiples et concurrents
- Portabilité sur différents systèmes
d'exploitation.
- Gestion de la sécurité des données.
- Existence de puissants outils d'administration graphique
(phpmyadmin par exemple)
- Gestion des exports et imports de données vers plusieurs
types de fichiers.
- Gestion des données relationnelles avec contraintes
d'intégrité
- Existence d'une couche spatiale MYGIS
- Installation facile (Package xampp)
Figure 24. Environnement de programmation DreamWeaver
8.
5.1.3. Les serveurs web
Il s'agit des serveurs permettant à des clients web
d'accéder à l'application à partir de tout navigateur
(exemple internet explorer). Installé sur leur poste connecté
à internet/intranet distant du serveur. Un serveur web a donc pour
rôle d'interpréter les requêtes http arrivant sur le port
associé par défaut le port 80 et de fournir une réponse
par le même protocole.
Il existe plusieurs serveurs web sur le marché, parmi
lesquels nous avons choisi pour son caractère libre et
multiplateforme Apache (
www.apache.org). Apache est le serveur le
plus répandu sur Internet. Son package d'installation est
téléchargeable librement sur internet
Outre le serveur Web Xampp permet d'installer le serveur des
applications PHP. Ainsi que l'outil d'administration PhpMyAdmin.
Figure 25. Interface de PhpMyAdmin
5.1.4. Le serveur Google Maps
Google Maps (
www.maps.google.fr) est un serveur
gratuit de cartes géographiques et de plans en ligne fondé en
2005 aux USA. Il utilise des images satellites et des photographies
aériennes de haute altitude pour une meilleure précision couvrant
la totalité de la surface terrestre. Google Maps par ailleurs propose
une API qui permet aux développeurs web par une bibliothèque de
fonctions JavaScript et au format de fichier KML d'intégrer des cartes
et de pouvoir créer des cartes personnalisées pour leurs
applications. C'est cette opportunité que nous avons saisie pour
intégrer à notre plateforme la cartographie basée sur
Google Maps. La contrainte c'est que notre plateforme doit être
connectée à Internet pour bénéficier de ces
facilités.
5.1.5. les langages informatiques utilisés
Pour le développement des interfaces nous avons
utilisé les langages informatiques suivants :
Coté
clients
Notre plateforme étant basée sur la technologie
web, nous avons utilisé :
- Le Html pour la présentation des pages web
- Le CSS (cascadind style sheet) pour le design des interfaces
web
- Le JavaScript pour le contrôle et la navigation sur
les éléments des pages clients
- KML (Keyole Markup Language) pour le marquage et la mise en
forme des polygones de notre cartographie.
Coté
serveur
- Le PHP pour l'interaction entre les clients et le serveur
d'une part, et entre le serveur et la base de donnée et surtout pour les
échanges entre notre plateforme et Google Maps. Via la classe de
manipulation des fonctions JavaScript.
- Le SQL pour l'interrogation et la manipulation des
données avec le SGBD.
- Ajax (Asynchronous JavaScript and XML) qui est un
mélange de technologie est également intervenu aussi bien entre
le serveur et les clients qu'entre le serveur et Google Maps.
5.2. IMPLEMENTATION DE LA SOLUTION
5.2.1. Environnement de
développement
Nous avons travaillé avec l'environnement
matériel suivant :
- Un ordinateur de marque HP dx2300 core duo 1.80Gz, 2Go Ram
Windows Xp SP2
- Package Xampp installé (apache, php5, MySQL,
phpmyadmin)
- Macromédia Dreamweaver 8
- Internet explorer 8
5.2.2. Création de la base de
données
Notre schéma physique se présente comme
suit :
Figure 26. Schéma relationnel de la base de
données
Remarque :
Comme vous pouvez le constater, il existe deux tables
indépendantes site_tempon et abonne, en effet ces deux tables ne sont
que des duplicata des tables site_geo et utilisateur qui servirons à
stocker les informations en attente de validation.
N°
|
Table
|
Explication
|
1
|
Abonne
|
Permet de stocker les informations des abonnés à
la plateforme
|
2
|
couche_geo
|
Stocke les informations des couches géographiques
|
3
|
journal
|
Permet d'assurer la traçabilité des transactions
dans la base de données
|
4
|
site_sanitaire
|
Permet de stocker les informations des sites
géographiques à la plateforme
|
5
|
site_tempon
|
Permet de stocker temporairement les propositions informations
des sites géographiques.
|
6
|
utilisateur`
|
Permet de stocker les informations des utilisateurs de la
plateforme
|
7
|
zone_geo`
|
Permet de stocker les informations des zones
géographiques notamment le fichier kml à la plateforme
|
Tableau 3 : Dictionnaire des entités du
modèle des données
L'ensemble des scripts de création de la base de
données est donné en annexe.
5.2.3. Création des interfaces
hommes/machine
A l'aide de L'API Macromédia Dreamweaver 8 nous avons
pu écrire des scripts PHP, JavaScript et kml nécessaires à
notre application. C'est un environnement convivial de programmation. Nous vous
présentons ici les principaux scripts ecrits:
- Le module de traitements avec la base de
données (ModuelBd.php)
Ce fichier contient tous les codes sources d'accès
à la base de données pour insertion, modification et suppression
des données.
Exemple pour la table site_geo on a le code
suivant :
function AjoutSiteGeo($Lib_Site, $Longitude,
$Latitude, $Categorie,
$Nb_Medecin,$Nb_Lits,$Zone_Geo,$Couche_Geo,$Contact)
{ $Zone_Geo=GetZoneCode($Zone_Geo);
$Couche_Geo=GetCoucheCode($Couche_Geo);
$Contact=formatData($Contact);
$Lib_Site=formatData($Lib_Site);
$Categorie=formatData($Categorie);
$requete="INSERT INTO `site_sanitaire`
(`Libelle_Site`, `Longitude` , `Latitude` , `Categorie`, `Nbre_Medecin`,
`Nbre_Lits`,`Zone_Geo`,`Couche_Geo`,`Contact`)
VALUES ('$Lib_Site','$Longitude'
,'$Latitude','$Categorie','$Nb_Medecin','$Nb_Lits','$Zone_Geo','$Couche_Geo','$Contact');";
if (!($rep=mysql_query($requete)))
{ $mes=mysql_error();
$message="Enregistrement non
effectuée".$mes;
return $message;}
else
{$message="Enregistrement effectué avec
succès";
return $message;
}
}
Cette fonction permet d'insérer dans la base de
données les informations d'un objet de type Site_Geo.
Pour les modifications on a :
function ModSiteGeo($Lib_Site, $Longitude, $Latitude,
$Categorie,
$Nb_Medecin,$Nb_Lits,$Zone_Geo,$Couche_Geo,$Contact,$Code)
{
$Zone_Geo=GetZoneCode($Zone_Geo);
$Couche_Geo=GetCoucheCode($Couche_Geo);
$Lib_Site=formatData($Lib_Site);
$Categorie=formatData($Categorie);
$requete="UPDATE `site_sanitaire` SET
`Libelle_Site`='$Lib_Site' , `Longitude`='$Longitude' , `Latitude`='$Latitude',
`Categorie`='$Categorie',`Nbre_Medecin`='$Nb_Medecin',`Nbre_Lits`='$Nb_Lits',`Zone_Geo`='$Zone_Geo',`Couche_Geo`='$Couche_Geo',`Contact`='$Contact'
WHERE `Code_Site`='$Code' ";
if (!($rep=mysql_query($requete)))
{ $mes=mysql_error();
$message="Il ya eu un problème lors de la mise
à jour ".$mes;
return $message;}
else
{$message="Mise à jour effectuée avec
succès";
return $message;
}
}
Pour supprimer un site
geo
function SupSite($Code)
{
$sql = "DELETE FROM site_sanitaire WHERE Code_Site=
'$Code';";
if ($rep=mysql_query($sql))
{
$message = "Suppression effectué avec
succès!";
return $message;
}
else
{
$mes=mysql_error();
$message = "Un problème est survenu lors de
la suppression! ".$mes;
return $message;
}
}
Nous avons développé
comme ça pour toutes les tables
- Les fonctions de mise en forme et de
contrôle
Ces fonction écrites en PHP, JavaScripts sont
situées dans les fichiers fonction.php et fonction.js, elles permettent
d'effectuer des contrôle spécifiques comme par exemple les alertes
ou le formatage de la date défini par :
En php. Côté serveur
function FormatDate($date)
{
list($jour, $mois, $annee)=explode("/", $date);
if($annee>2000)
$annee=substr($annee, 2, 2); // ramene l'annee en
deux chiffres
return
$jour."/".$mois."/".$annee;
}
En javascript. Coté client.
function Sup()
{
if(!confirm("Attention voulez vous vraiment
supprimer cet element de votre base de donnée?"))
{ return false;
}
return true;
}
- Les scripts d'interfaçage
Interface d'enregistrement
des sites géographiques
Figure 27. Formulaire d'enregistrement des sites
géo
Le code source des traitements se présente comme
suit :
if(isset($_POST["Valid_Site"]))
{ require_once('ModuleBD.php');
//récupération des données en
provenance du formulaire client
$Lib_Site=$_POST['Lib_Site'];
$Categorie=$_POST['Categorie'];
$Latitude=$_POST['Latitude'];
$Longitude=$_POST['Longitude'];
$Couche=$_POST['Couche'];
$Zone=$_POST['Zone'];
$Nb_Lits=$_POST['Nb_Lits'];
$Nb_Medecin=$_POST['Nb_Medecin'];
$Contact=$_POST['Contact'];
$mess=AjoutSiteGeo($Lib_Site, $Longitude, $Latitude,
$Categorie, $Nb_Medecin,$Nb_Lits,$Zone,$Couche,$Contact);
$Action="Création du site
geo".$Lib_Site;
$m=Journal ($LOGIN,
$Action,$COUCHE);
}
if(isset($_POST["Mod_Site"]))
{
require_once('ModuleBD.php');
//recuperation des données en provenance du
formulaire lié
$Lib_Site=$_POST['Lib_Site'];
$Categorie=$_POST['Categorie'];
$Latitude=$_POST['Latitude'];
$Longitude=$_POST['Longitude'];
$Couche=$_POST['Couche'];
$Zone=$_POST['Zone'];
$Nb_Lits=$_POST['Nb_Lits'];
$Nb_Medecin=$_POST['Nb_Medecin'];
$Contact=$_POST['Contact'];
$Code=$_POST['Code_Site'];
$mess=ModSiteGeo($Lib_Site, $Longitude, $Latitude,
$Categorie, $Nb_Medecin,$Nb_Lits,$Zone,$Couche,$Contact,
$Code);
$Action="Modif du site
geo".$Lib_Site;
$m=Journal ($LOGIN,
$Action,$COUCHE);
}
Ce code permet de récupérer les infos issues du
formulaire afin de les insérer dans la base de données ou de
modifier la base de données
5.2.4. Classe PHP de connexion à Google
Maps
Comme nous l'avons vu un peu plus haut, Google Api a mis
à la disposition des développeurs une bibliothèque de
fonction JavaScript permettant de personnaliser les cartes et les afficher dans
leurs applications. Nous avons exploité en personnalisant une classe php
appelé GoogleMapAPI basée sur les fonctions
JavaScript de l'API Google Maps . Nous présentons ici cette classe et
ses principales fonctions
- Le constructeur $map=new
GoogleMapAPI()
- La fonction qui definit le centre de la carte par adresse
$gmap->setCenter('Deido
Cameroun');
- La fonction qui définit la taille de la carte en
pixels
$gmap->setSize('690px','650px');
- La fonction qui définit le niveau du zoom par
défaut
$gmap->setZoom(11);
- La fonction qui défini la langue d'affichage de la
carte
$gmap->setLang('fr');
- La fonction qui construit un tableau de marqueurs par
coordonnées sur la carte en provenance de la base des données.
$coordtab
[]=array($Longitude,$Latitude,$Lib_Site,'<strong>'.$Lib_Site.'<br><h5>Cat:'.$Categorie.'<br>Nbre
Medecin:'.$Nb_Medecin.'<br>Nbre
Lits:'.$Nb_Lits.'<br>Contact:'.$Contact .'
Douala</h5></strong>');
$gmap->addArrayMarkerByCoords($coordtab,
$Categorie);
- La fonction qui génère la carte
$gmap->generate();
- La fonction qui affiche finalement la carte
echo $gmap->getGoogleMap();
Le code complet est présenté à l'annexe
2
5.3. RESULTAT OBTENU
Nous avons réussi à mettre au point une
application de webmapping client serveur web basée sur JavaScript, PHP,
MySQL et Google Maps API Nommée VisioCity 1.0. Nous présentons
dans ce paragraphe les principales fonctionnalités de cette
application.
5.3.1. Sécurité
d'accès
Pour assurer la sécurité des informations
privées de la plateforme, nous avons mise en oeuvre les 03 facteurs de
sécurité informatique suivants :
- Authentification
Tout utilisateur de l'espace privé doit être
authentifié par login et par mot de passe crypté.
- Traçabilité
Tous les traitements effectués dans la base de
données gardent les traces sur l'heure, l'utilisateur, la date et le
traitement effectué dans un mouchard assuré par la fonction
automatique « Journal() ».
- Intégrité
Les utilisateurs n'ont droit qu'aux informations
correspondantes à leur profile. Ainsi, l'administrateur à droit
à tout, le décideur ne peut créer ni supprimer un
utilisateur. Tandis que qu'un abonné ne peut que proposer un site
géographique.
Figure 28. Formulaire de contrôle
d'accès
5.3.2. Espace public
Cet espace est accessible par tous les
visiteurs, Il présente la carte et tous les outils de navigation sur
celle-ci. Il est organisé comme suit :
- L'entête portant les informations générales
- La colonne de gauche portant les outils de navigation suivant
les thèmes choisis
- La colonne principale celle du milieu contenant la carte de la
ville et les outils de manipulation de cette carte.
- La colonne de droite présente en texte l'ensemble des
informations issues de la base de données sur les sites
géographiques enregistrés.
L'image ci après représente la capture
d'écran de cet espace.
Figure 29. Interface publique de visiocity
5.3.3. Administration
C'est dans cette interface que toutes les tâches
administratives sont effectuées notamment, la création, la
modification ou la suppression des éléments comme les couches
géographiques, les zones et sites géographiques. C'est aussi ici
que les utilisateurs de l'espace privé sont créés ou
validés. Le décideur a droit à la seule
fonctionnalité de créer de nouveaux sites géographiques,
le reste étant réservé uniquement à
l'administrateur de Visio City. La capture de l'écran suivante
présente un aperçu de cette interface.
Figure 30. Interface d'administration de
visiocity
5.3.4. Accès membres
Les membres ou abonnés sont des personnes
enregistrées ayant un login et un mot de passe qui leur permettent de
proposer des sites géographiques pour visioCity qui ne seront valides
que s'ils sont acceptés par l'administrateur ou par le décideur.
Pour devenir membres, les visiteurs s'abonnent via un formulaire
d'enregistrement. Une fois enregistrés, ils devront attendre la
validation par l'administrateur ou par le décideur. Ce n'est
qu'après validation de l'abonnement que le visiteur devient membre et
par conséquent commence à bénéficier de toutes les
prérogatives de membre.
Figure 31. Interface d'abonnement de
VisoCity
5.4. ACQUISITION DES DONNEES
5.4.1. Récepteur GPS utilisé
Pour les données test nous nous sommes
équipés d'un récepteur GPS de marque GARMIN notamment le
GPS Garmin Oregon 550T, Pour recueillir sur le
terrain la géolocalisation des sites qui alimentent notre base de
données.
En effet, grâce à son récepteur GPS haute
sensibilité et d'un système de prévision par satellite
HotFix, Oregon 550t calcule rapidement et avec une grande précision de
l'ordre de quelques mètres (5à 6m pour notre cas) les positions
géographiques en longitude et latitude. L'avantage de ce
récepteur GPS est qu'il fournit les résultats sur tous les
formats désirés dont directement exploitable par VISIOCITY et
Google Maps. L'image ci-dessous est celle de notre récepteur.
Figure 32. GPS GARMIN OREGON 550t
5.4.2. Résultats
Pour cette phase de travail, nous nous sommes limités
aux données purement géographiques, les autres informations
pouvant être complétées par les utilisateurs.
Formations sanitaires
|
Cat
|
Med
|
ZONE
|
Lat. (N)
|
Long(E)
|
Laquintinie
|
HR
|
|
AKWA
|
4.048829
|
9.703520
|
Général
|
HR
|
|
Bedie
|
4.063590
|
9.758435
|
Hôpital de District Deido
|
HD
|
|
DEIDO
|
4.065470
|
9.711436
|
Hôpital de District New Bell
|
HD
|
|
New Bell
|
4.029011
|
9.711520
|
Hôpital de District Nylon
|
HD
|
|
Nylon
|
4.030400
|
9.731850
|
Hôpital de District Bonassama
|
HD
|
|
Bonassama
|
4.071320
|
9.687600
|
Hôpital de District de Logbaba
|
HD
|
|
LogBaba
|
4.042360
|
9.761930
|
CMA de Bepanda
|
CMA
|
|
Deido
|
|
|
CMA de cité des palmiers
|
CMA
|
|
Cité palmiers
|
4.05225
|
9.76193
|
CMA de Soboum (30lits)
|
CMA
|
03
|
Nylon
|
4.019500
|
9.732283
|
CMA de Bonamoussadi
|
CMA
|
|
Deido
|
|
|
Tableau 5 : Tableau des données
obtenues
5.5. BILAN DU STAGE
Lorsqu'on nous a confié ce thème portant sur le
webmapping, au début il était vague et difficile à
comprendre les possibilités de mise en oeuvre. Nous avons
commencé par bien analyser la problématique posée, puis
nous nous sommes engagés dans des recherches bibliographiques sur
internet (resté notre principale source de documentation).
Nos recherches nous ont placées devant toute une
panoplie de solutions technologiques pouvant prétendre satisfaire au
problème posé. Très tôt nous avons compris les
limites de la plupart de ces solutions, et les avantages qu'il y avait
à mettre en place une plateforme de webmapping qui communique
parfaitement avec googlemaps pour répondre à la
problématique.
En effet, avec la riche expérience de GoogleMaps et sa
base de cartographie riche en informations de base triplée à son
sens de professionnalisme, un observatoire urbain qui y puise le fond de sa
cartographie bénéficie des richesses du patrimoine cartographique
de ce géant technologique.
En plus, nous avons pris connaissance des possibilités
que Google offre aux développeurs, de pouvoir programmer des
applications qui communiquent avec sa base cartographique. Cette
expérience nous a permis de nous former aux nouveaux outils de
développement du webmapping. Par ailleurs pour l'acquisition des
données par GPS, à cause du temps nous n'avons pas pu effectuer
le tour complet de tous les sites de santé. Nous nous sommes
limités à une dizaine de sites pour expérimenter notre
plateforme. Qu'à cela ne tienne, le plus dur du travail ayant
été effectué, la base de données peut être
renseignée à tout moment.
CONCLUSION GENERALE
Nos travaux nous ont conduit à mettre en oeuvre une
plateforme d'intégration de la cartographie basée sur Google maps
dans un SIG web dédié à l'observatoire urbain de la ville
de Douala notamment le secteur des infrastructures de santé.
Durant notre stage, nous avons exploité les
possibilités offertes par le monde des technologies libres. En effet,
comme serveur de base de données, nous avons utilisé MySQL pour
deux raisons : son caractère libre et ouvert sur internet par la
plupart des fournisseurs d'accès et pour sa facilité de migration
vers PostGreSql/Postgis pour bénéficier plus tard de la couche
spatiale de ce dernier. Comme serveur cartographique, nous avons
exploité les possibilités offertes par Google API aux
développeurs pour intégrer les données cartographiques de
Google maps dans notre application grâce aux langages informatiques
JavaScript, KML et PHP. Enfin nous avons utilisé Apache comme serveur
web.
A la fin, nous avons produit une première version
d'application de webmapping dédiée à l'observatoire
urbain de la ville de Douala limitée dans un premier temps au secteur
des infrastructures de la santé, mais extensible vers d'autres secteurs
d'activités.
Nous avons aussi prévu l'option qui permettra à
la plateforme de récupérer des nouvelles données au moyen
d'interface utilisateur pouvant accueillir des données et fichiers kml
de nouveaux sites.
Malgré les perturbations que nous avons connus à
cause de la maladie et la mort de notre regretté encadreur Mr KENGMEZA
que nous saluons encore la mémoire, nous avons pu grâce à
la motivation qui nous animait et surtout grâce à l'appui du Dr
MVOGO continuer, même si beaucoup reste à faire pour
compléter ce travail et le hisser au niveau de l'utilité
publique.
Au delà de tout, nous ne prétendons pas avoir
fait du coup d'essai un coup de maître au sens absolu du terme. C'est
pourquoi nous sommes ouvert à toute remarque ou critique allant dans le
sens d'améliorer notre travail.
BIBLIOGRAPHIE
(I) M. Issa BALDE DIC INFO 2008 Université Chek
Anta Diop Dakar (thème : Etude de solutions libres de
webmapping, et mise en place d'une plateforme de cartographie
dynamique)
(II) Christine Félicité MOUDIKI EBOLE ELESSA
Mémoire M2 IASIG 2010 (thème : Conception et
réalisation d'un géoportail à la Communauté urbaine
de DOUALA) promotion 2010.
(III) Lætitia Perrier Bruslé Notes de cours
Master Université Nancy : Construction d'un SIG et champs
d'application
(IV) Pascal Roques UML 2 par la pratique 5eme
Edition (EYROLLES)
(V) Eric Daspet, Cyril Pierre de Geyer PHP 5 avancé
4eme Edition (EYROLLES)
(VI) IAA 2003, Cahier méthodologique sur la mise en
oeuvre d'un SIG
(VII) Gael TCHIOFFO KODJO Mémoire de Master pro
2008 : Conception et réalisation d'une application de webmapping
d'analyse territoriale sur des SIG et bases de données open source : cas
du territoire camerounais.
(VIII) André CLARINVAL H.E.M.E.S. 2002
Méthodes d'Analyse
(IX) Dr NKenlifack Marcellin, Support de cours du
Système et Ingénierie logiciel M2 IASIG
(X) Pierre-Yves Gilliéron, GPS : Principes et mesures
de code, Lausanne, octobre 2004
(XI) Bertrand LIAUDET ; Conception des Systèmes
d'information UML Epitech3 Automne 3 2007
(XII) Laurent JEGOU, UTM Janvier 2011, Introduction à
la réalisation des cartes interactives en utilisant l'API Google
Maps.
(XIII) Cahier méthodologique sur la mise en oeuvre d'un
SIG IAAT 2003
WEBOGRAPHIE (Juin à
Novembre 2011)
1 http://maps.google.fr/.
2
http://www.bmreunion.com/SIG/spip.php?rubrique1
3
http://www.cartographie.ird.fr/refugies/methodes-SIG.html#
4 http://SIG.net.free.fr/cours/intro.htm#Les composants d'un
S.I.G
5 Observatoire :
http://www.ieti.fr/xoops/modules/xoopsfaq/index.php?cat_id=3
6
http://www.erasme.org/Google-Maps,478
7
http://blog.jchristophe.fr/post/Gestion_d_une_Google_Map_avec_PHP
8
http://fardeen.biz/index.php/tutoriel-application-google-map-avec-php/comment-page-5/#comment-92339
9
http://www.chef-de-projet.org/methode/uml.htm
10
http://fr.wikipedia.org/wiki/Unified_Modeling_Language#Le_formalisme_d.27UML:
11
http://www.lomag-man.org/informatique/conception_logiciels/uml_modeling/uml9.pdf
12
http://support.objecteering.com/objecteering6.1/help/fr/objecteering_uml_modeler/diagrams/sequence_diagrams.htm
13
http://tvaira.free.fr/dev/fiches/fiche-a7-diagramme_sequence_systeme.pdf
14
http://www.geobretagne.com/google-maps/presentation.html
15
http://cleyo.free.fr/satellite/reperage.php
16 http://fr.wikipedia.org/wiki/Douala
ANNEXES
1. Extrait du diagramme des activités de
visioCity
2. Script de création de la base de
données
-- Structure de la table `abonne`
CREATE TABLE IF NOT EXISTS `abonne` (
`Code_User` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Nom_User` varchar(50) NOT NULL,
`Login` varchar(50) NOT NULL,
`Password` varchar(50) NOT NULL,
`Profile` varchar(50) NOT NULL DEFAULT '',
`Couche_geo` int(11) NOT NULL,
PRIMARY KEY (`Code_User`),
UNIQUE KEY `Code_User` (`Code_User`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
-- Structure de la table `couche_geo`
CREATE TABLE IF NOT EXISTS `couche_geo` (
`Code_Couche` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Lib_Couche` varchar(80) NOT NULL,
PRIMARY KEY (`Code_Couche`),
UNIQUE KEY `Code_Couche` (`Code_Couche`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
-- Structure de la table `journal`
CREATE TABLE IF NOT EXISTS `journal` (
`Code_Journal` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Action` varchar(225) NOT NULL,
`Login` varchar(50) NOT NULL,
`Couche` int(11) NOT NULL,
`Heure` varchar(20) NOT NULL,
`Date` varchar(25) NOT NULL,
`NumDate` int(11) NOT NULL,
`Mois` varchar(50) NOT NULL,
PRIMARY KEY (`Code_Journal`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=123 ;
-- Structure de la table `site_sanitaire`
CREATE TABLE IF NOT EXISTS `site_sanitaire` (
`Code_Site` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Libelle_Site` varchar(255) NOT NULL,
`Longitude` float NOT NULL,
`Latitude` float NOT NULL,
`Categorie` varchar(50) NOT NULL,
`Nbre_Medecin` int(11) NOT NULL,
`Nbre_Lits` int(11) NOT NULL,
`Zone_Geo` int(11) NOT NULL,
`Couche_Geo` int(11) NOT NULL,
`Contact` varchar(80) NOT NULL,
PRIMARY KEY (`Code_Site`),
UNIQUE KEY `Code_Site` (`Code_Site`),
UNIQUE KEY `Libelle_Site` (`Libelle_Site`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
-- Structure de la table `site_tempon`
CREATE TABLE IF NOT EXISTS `site_tempon` (
`Code_Site` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Libelle_Site` varchar(255) NOT NULL,
`Longitude` float NOT NULL,
`Latitude` float NOT NULL,
`Categorie` varchar(50) NOT NULL,
`Nbre_Medecin` int(11) NOT NULL,
`Nbre_Lits` int(11) NOT NULL,
`Zone_Geo` int(11) NOT NULL,
`Couche_Geo` int(11) NOT NULL,
`Contact` varchar(80) NOT NULL,
PRIMARY KEY (`Code_Site`),
UNIQUE KEY `Code_Site` (`Code_Site`),
UNIQUE KEY `Libelle_Site` (`Libelle_Site`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
-- Structure de la table `utilisateur`
CREATE TABLE IF NOT EXISTS `utilisateur` (
`Code_User` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Nom_User` varchar(50) NOT NULL,
`Login` varchar(50) NOT NULL,
`Password` varchar(50) NOT NULL,
`Profile` varchar(50) NOT NULL DEFAULT '',
`Couche_geo` int(11) NOT NULL,
PRIMARY KEY (`Code_User`),
UNIQUE KEY `Code_User` (`Code_User`),
UNIQUE KEY `Login` (`Login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
-- Structure de la table `zone_geo`
CREATE TABLE IF NOT EXISTS `zone_geo` (
`Code_Zone` bigint(20) unSIGned NOT NULL AUTO_INCREMENT,
`Lib_Zone` varchar(50) NOT NULL,
`FichierKml` varchar(80) NOT NULL,
PRIMARY KEY (`Code_Zone`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
3. Script de connexion à la base de
données
if (!($connexion = mysql_connect('localhost','$User','$Pwd')))
{echo"Probleme de connexion au serveur";
echo mysql_error($connexion); exit; }
if (!$test=mysql_select_db('VisioCity',$connexion))
{echo "Probleme de connexion à la bd";
echo mysql_error($connexion); exit;};
4. Script php de la connexion à Google
Maps
<div id="map"
onClick="document.getElementById('lat').value=getCurrentLat();document.getElementById('lng').value=getCurrentLng();">
<?php
$connect = TRUE;
$name_internet = 'Connexion Web'; // Nom à donner
au test de connexion internet
$ip_internet = 'www.google.fr'; // adresse (ip) ou
URL du serveur à utiliser pour la vérification de la
connexion
$port_internet = 80; // port de
vérification de la connexion
// Verification de la connexion internet
if ( !$sock = @fsockopen($ip_internet, $port_internet, $num,
$error, 5))
{
echo "<div align='center' class='Style28'>Attention
Votre machine n'est pas connectée à internet !
</div><br><img src='Douala.jpg'/>";
}
else
{
$k=0;
require('GoogleMapAPIv3.class.php');
$gmap = new GoogleMapAPI();
$gmap->setDivId('test1');
$gmap->setDirectionDivId('route');
$gmap->setCenter('Deido
Cameroun');
$gmap->setEnableWindowZoom(true);
$gmap->setEnableAutomaticCenterZoom(true);
$gmap->setDisplayDirectionFields(true);
// $gmap->setClusterer(true);
$gmap->setSize('690px','650px');
$gmap->setZoom(11);
$gmap->setLang('fr');
$gmap->setDefaultHideMarker(false);
$Cat=array(); pour stocker les categorie de sites
//POUR cONTRUIRE LES SITES SUR GOOGLE MAPS
require_once('ModuleBD.php');
$CO=GetCoucheCode($COUCHE);
$reqd="SELECT DISTINCT Categorie FROM site_sanitaire
WHERE Couche_geo='$CO';";
if($Resultd=mysql_query($reqd))
while($lign=mysql_fetch_row($Resultd))
{
$Cat[$k]=$lign[0];
$k=$k+1;
}
for($i=0; $i<$k; $i++)
{ $coordtab = array();
$reqd="SELECT Libelle_Site
,Categorie,Longitude,Latitude,Couche_Geo,Zone_Geo,Nbre_Lits,Nbre_Medecin,Contact
FROM site_sanitaire WHERE Couche_geo='$CO' AND Categorie='$Cat[$i]' ;";
if($Resultd=mysql_query($reqd))
while($lign=mysql_fetch_row($Resultd))
{ $a=$lign[0];
$Lib_Site=$lign[0];
$Categorie=$lign[1];
$Longitude=$lign[2];
$Latitude=$lign[3];
$Couche=$lign[4];
$Couche=GetCoucheLib($Couche);
$Zone=$lign[5];
$Zone=GetZoneLib($Zone);
$Nb_Lits=$lign[6];;
$Nb_Medecin=$lign[7];
$Contact=$lign[8];
$Lib_Site=Recup($Lib_Site);
$coordtab []=
array($Longitude,$Latitude,$Lib_Site,'<strong>'.$Lib_Site.'<br><h5>Cat:'.$Categorie.'<br>Nbre
Medecin:'.$Nb_Medecin.'<br>Nbre
Lits:'.$Nb_Lits.'<br>Contact:'.$Contact .'
Douala</h5></strong>');
}
$gmap->addArrayMarkerByCoords($coordtab,
$Categorie);
}
$gmap->generate();
echo $gmap->getGoogleMap();
}
?>
</div>
* 1 Global Positioning System
* 2 Ce paragraphe s'inspire de
plusieurs sources cité en bibliographie
* 3 Image issue de Google
maps
* 4 Blog ICT4D,
Ibrahima SYLLA
* 5
http://cleyo.free.fr/satellite/reperage.php
|