WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Intégration d'un observatoire urbain sur Google maps : cas des infrastructures de la santé de la ville de Douala

( Télécharger le fichier original )
par Rénal Paul TATSO
Université de Douala - Master II en informatique appliquée aux systèmes d'informations géographiques 2010
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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.

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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera