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

( Télécharger le fichier original )
par Renal Paul TATSO
Univsersité de Douala/Université de Paris-Est Marne La Valléé - Master II IASIG 2011
  

précédent sommaire suivant

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

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 :

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

Code_Couche Lib_Couche

Site_Tem pon

Code_Site Categorie Latitude Longitude Nb_Lits Nb_Medecin Zone_Geo Couche_Geo Contact

Abonne

Code_User Nom_User Login

Profile PassWord Couche_Geo AbonneColl

Couche_geol

Site_Sanitaire

Code_Site Categorie Latitude Longitude Nb_Lits Nb_Medecin Zone_Geo Couche_Geo Contact

Zone_geo

Code_Zone Lib_Zone

Utilisateur

Code_User Nom_User Login

Profile PassWord Couche_Geo AbonneColl

Journal

Code_Journal Action

Login Heure Date

Couche Mois

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

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

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;

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

}

}

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',`C ouche_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

{

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

$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

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

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);

}

Paul TATSO Mémoire de Master II IASIG Université Douala/AUF Novembre 2011

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

précédent sommaire suivant






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








"Le don sans la technique n'est qu'une maladie"