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.
N°
|
Table
|
Explication
|
1
|
Abonne
|
Permet de stocker les informations des abonnés à la
plateforme
|
2
|
couche_geo
|
Stocke les informations des couches géographiques
|
3
|
journal
|
Permet d'assurer la traçabilité des transactions
dans la base de données
|
4
|
site_sanitaire
|
Permet de stocker les informations des sites géographiques
à la plateforme
|
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
|