07.12.2012 Views

RAPPORT DE STAGE - IUT Dijon

RAPPORT DE STAGE - IUT Dijon

RAPPORT DE STAGE - IUT Dijon

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>RAPPORT</strong> <strong>DE</strong> <strong>STAGE</strong><br />

Développement avec l’API Google Maps<br />

Stage effectué du : 29 Mars au 18 Juin 2010<br />

Maîtres de Stage: Tuteur : Réalisé par :<br />

Mr. MILLOT Stéphane Mr. BUSVELLE Eric PERROT Valentin<br />

Mr. CHOKEIR Wasim


SOMMAIRE<br />

Remerciements …………………………………………………………………………………………………….3<br />

Introduction .…………………………………………………………………………………………………………4<br />

Présentation de l’entreprise ..………………………………………………………………………………5<br />

Besoin de l’entreprise ……………………………………………………………………………………………6<br />

Présentation de l’API Google Maps ………………………………………………………………………7<br />

Présentation du logiciel TALK ..…….……………………………………………………………………….7<br />

Objectifs du stage …………………………………………………………………………………………………8<br />

Réalisation ..………………………………………………………………………………………………………10<br />

a)Géolocalisation ….…………………………………………………………………………………10<br />

b) Affichage d’un destinataire ….………………………………………………………………12<br />

c)Placer une destinataire .………………………………………………………………………..14<br />

d) Affichage d’une tournée théorique ….……………………………………………………19<br />

e) Android ………………………………………………………………………………………………..24<br />

Conclusion ………………………………………………………………………………………………………….25<br />

2


Remerciements<br />

Je tiens à remercier l’entreprise UPSILON pour m’avoir permis d’effectuer ce stage au sein du<br />

service informatique.<br />

Je remercie aussi toutes les personnes de l’entreprise pour leur accueil chaleureux.<br />

Je remercie particulièrement :<br />

-Mr. Stéphane MILLOT pour sa disponibilité, pour son management, et pour les<br />

différentes notions qu’il a pu m’apporter pendant ce stage.<br />

-Mr. Wasim CHOKEIR, mon maître de stage, tout aussi présent, qui m’a aidé sur<br />

l’environnement Microsoft Visual Fox Pro et a su donner des explications sur le<br />

fonctionnement de l’entreprise.<br />

3


Introduction<br />

Dans le cadre de ma formation DUT Réseaux et Télécommunications, nous avons la chance<br />

d’effectuer un stage de 3 mois qui doit permettre de mettre en pratique les connaissances acquises<br />

durant ces deux années dans le domaine professionnel.<br />

Après avoir été mis en relation avec Upsilon, lors d’un entretien, le sujet sur l’API Google<br />

Maps a retenu mon attention.<br />

Le sujet de ce stage était de permettre à l’entreprise de pouvoir géolocaliser, afficher, placer<br />

un destinataire et d’afficher l’itinéraire à suivre pour plusieurs destinataires depuis leur logiciel Talk<br />

en utilisant l’API Google Maps, les langages PHP, xhtml et JavaScript.<br />

Je présenterais dans ce rapport ce que j’ai mis en place dans l’entreprise, de l’étude à la<br />

conception ainsi que les problèmes qui y sont liés.<br />

4


Présentation de l’entreprise<br />

Upsilon est une entreprise de transport et logistique au capital de 150000 € situé à<br />

Monéteau.<br />

Elle a été créée en 1995 par Monsieur René Monin.<br />

Elle compte environ 80 salariés. Les différentes fonctions au sein de l’entreprise sont le<br />

secrétariat, le service de comptabilité, la DRH (Direction des Ressources Humaines), le directeur<br />

commercial, le responsable des achats, le service de transport, le service de logistique, les<br />

manutentionnaires et l’équipe informatique.<br />

Elle est composée de deux bâtiments :<br />

-L’un créé en 2008 où est situé la logistique, c’est un entrepôt de 6400 m² où l’on<br />

peut stocker 2000 m² de masse sur 8000 palettes rackées.<br />

-L’autre créé en 2003 où est situé le transport, c’est un entrepôt de 2400m² de<br />

transit et de 600 m² de bureau. Dans ce bâtiment on traite plus de 30000 commandes par mois.<br />

sont :<br />

Les maitres de stages qui occupent un poste de responsable informatique dans l’entreprise<br />

Mr. MILLOT Stéphane<br />

Mr. CHOKEIR Wasim<br />

5


Besoin de l’entreprise<br />

Le premier but était de pouvoir afficher la position d’un destinataire par un simple clic depuis<br />

leur logiciel. En effet à mon arrivée, lorsqu’un chauffeur ne connaissait pas la destination, une<br />

secrétaire allait sur le site des pages jaunes pour accéder aux plans et l’imprimer pour le chauffeur.<br />

Le deuxième but était de pouvoir aider les chauffeurs remplaçants. En effet Upsilon livre tous<br />

les jours 800 récépissés de transports dans l’Yonne découpés en une vingtaine de tournée. Chaque<br />

tournée étant plus ou moins récurrente, le chauffeur titulaire connaît parfaitement les lieux de<br />

livraisons. Le remplacement par un néophyte de la tournée est souvent difficile. Lors de la mise en<br />

tournée dans le logiciel Talk un bouton permet d’afficher sur une carte l’itinéraire à suivre. Ceci<br />

permet d’améliorer le temps de conduite du chauffeur sans qu’il n’ait le besoin de chercher la route<br />

à emprunter pour effectuer les livraisons.<br />

Pour atteindre ces deux objectifs il a fallu d’abord identifier et géolocaliser chaque<br />

destinataire. Les destinataires sont identifiés dans Talk avec une reconnaissance orthographique du<br />

nom et de l’adresse. Sachant que les adresses proviennent de l’EDI, elles sont saisies par de multiples<br />

partenaires d’Upsilon sans normalisation. Ainsi un même destinataire comme Leclerc Auxerre peut<br />

être intégré avec : Leclerc, Auxerdis, Centre Leclerc, C. Leclerc, …<br />

6


Présentation de l’API Google Maps<br />

Cette API permet d'insérer dans une page web une carte Google Maps avec du javascript en<br />

bénéficiant d'une grande quantité de paramètres pour l'utilisation de ces cartes. L'ajout de contenu<br />

avec une grande variété de services offre la possibilité de créer des cartes personnalisées.<br />

Elle évolue chaque jour et propose de nombreuses nouveautés. Actuellement, la version<br />

utilisée est la 3.<br />

Voici un exemple de ce qu’on peut faire :<br />

Présentation de TALK<br />

TALK est le logiciel utilisé par Upsilon qui a été lui-même créé par le service informatique en<br />

utilisant Microsoft Visual fox pro. Il permet de gérer l’activité transport (messagerie arrivage,<br />

messagerie départ, affrètement, lot) et l’activité logistique (gestion des stocks et préparation de<br />

commandes).<br />

7


Objectifs<br />

Web Service pour échange XML Google :<br />

Avec la collaboration de Thomas, nous devons mettre en place un Web service permettant<br />

d’échanger des données entre leur logiciel Talk et le serveur de base de donnée locale avec le<br />

serveur Internet hébergé chez Amen. Ces données seront utile pour utilisé l’Api Google Maps V3.<br />

Géolocalisation d’une adresse par Web Service :<br />

La géolocalisation permettra de géocoder les adresses de destinataire qui n’ont toujours pas<br />

de coordonnées GPS dans la base de données. Ainsi cela facilitera les taches futures présentées dans<br />

les parties suivantes.<br />

Logiciels<br />

Talk<br />

Schéma :<br />

Géocodage<br />

Envoi des<br />

adresses à géocoder<br />

Retourne les<br />

adresses<br />

géocodées<br />

8<br />

Utilisation de l’API Google Maps


Affichage d’une adresse à partir d’un XY (coordonnées GPS en x et y) :<br />

Il faudra à partir d’une coordonnée GPS envoyé par le logiciel Talk, lancer un<br />

navigateur et afficher la position que l’on veut afficher.<br />

D’une fiche livraison il faut pouvoir appeler Google Maps via un navigateur avec la<br />

carte centrée à l’échelle définie dans la fiche société avec un résumé de la position. Afficher<br />

la carte Google en deux parties avec en haut la carte et en bas Street View s’il est disponible.<br />

Affichage d’une adresse à partir d’une adresse mise en conformité :<br />

Il faudra à partir d’une adresse conforme envoyé par le logiciel Talk, lancer un<br />

navigateur et afficher la position que l’on veut afficher.<br />

Possibilité de replacer le XY avec un bouton de validation qui renvoi le XY<br />

par web service :<br />

Il faudra si l’adresse n’est pas conforme, placer manuellement le point sur la carte<br />

Google. Le but étant de renvoyé les coordonnées GPS par Web Service et de créer une<br />

interface utilisateur permettant de placer ce point.<br />

Affichage d’une tournée (ensemble de XY) :<br />

Il faudra pour aider les nouveaux chauffeurs, afficher l’itinéraire qu’il doit emprunter<br />

pour livrer ou prendre la marchandise. Le logiciel Talk enverra plusieurs données GPS et<br />

plusieurs noms. Il suffira grâce à l’API Google d’afficher l’itinéraire avec les différents points<br />

et le nombre de KM à effectuer.<br />

D’une tournée il faut pouvoir appeler Google Maps via un navigateur avec la carte<br />

centrée à l’échelle définie dans la fiche société avec un point sur chaque destinataire.<br />

Afficher la carte Google en deux parties avec en haut la carte et en bas Street View s’il est<br />

disponible.<br />

Android et la Google API :<br />

Grâce au système d’exploitation Android implanté sur les terminaux mobiles, il<br />

faudra pour faciliter les routiers créer des applications simples pour se situer sur une carte ou<br />

afficher une tournée en utilisant l’Api Google.<br />

9


Réalisation<br />

a)Géolocalisation :<br />

La géolocalisation étant difficile à mettre en place car il y a eu beaucoup de problèmes<br />

comme la version du navigateur Internet Explorer utilisé sous TALK qui est la 5.0, le JavaScript qui<br />

s’exécute coté client alors que PHP côté serveur,…<br />

Donc on a préférer utiliser le Web-Service de Google qui renvoi directement les coordonnées en<br />

format XML.<br />

On appelle le Web-Service avec ce lien :<br />

http://maps.google.com/maps/api/geocode/xml?address=Auxerre&sensor=true<br />

On peut changer deux paramètres :<br />

-address : on met l’adresse que l’on veut géocoder dans ce format : [Numéro de voie]<br />

[voie] [nom de voie], [code postal], [ville].<br />

-sensor : on peut mettre le paramètre sensor à true ou à false<br />

On indique que l’application utilise un capteur ou non pour déterminer la localisation de<br />

l’utilisateur.<br />

On peut aussi prendre comme format de sortie le JSON en utilisant le lien suivant :<br />

http://maps.google.com/maps/api/geocode/json?address=Auxerre&sensor=true<br />

Voici un exemple de l’adresse géocodé retourné en XML :<br />

10


Les balises les plus importantes que l’on récupère sont :<br />

- où l’on retrouve les coordonnées GPS avec la latitude (balise ) et la<br />

longitude (balise ).<br />

- où l’on retrouve le degré de précision obtenu qui se définit comme ceci :<br />

-"ROOFTOP" indique que le résultat retourné est un géocodage précis.<br />

-"RANGE_INTERPOLATED" indique que le résultat retourné reflète une approximation<br />

usuelle sur la route d’une interpolation entre deux points précis.<br />

- "GEOMETRIC_CENTER" indique que le résultat retourné est le centre géométrique<br />

d’une rue où d’une ville par exemple.<br />

-"APPROXIMATE" indique que le résultat retourné est approximatif.<br />

Le logiciel TALK récupère les valeurs et les enregistre dans la base de donné dans la<br />

table Livraisonbis présenté à la page 26 dans l’annexe.<br />

11


) Affichage d’une adresse :<br />

En utilisant l’API Google Maps, j’ai réalisé une page PHP qui permet d’afficher un destinataire<br />

en envoyant une requête http avec des paramètres GET (x,y,z) indiquant les coordonnées GPS du<br />

lieu et le zoom de la carte.<br />

Lien à envoyer :<br />

http://www.upsilon89.com/pgme/googlemap/affichage.php?x=0.556&y=10&z=10<br />

Avec x (latitude) et y (longitude) coordonnée GPS d’un point, et z le niveau de zoom.<br />

Ce programme interagit sous Talk lorsque l’on souhaite afficher la fiche d’un destinataire ou<br />

permettre de vérifier un point géocoder.<br />

12<br />

Fiche d’un<br />

destinataire<br />

sous Talk<br />

Permet<br />

d’afficher en<br />

plein écran la<br />

carte<br />

Page Web<br />

permettant<br />

d’afficher un<br />

destinataire


Code :<br />

13


c)Placement d’un destinataire :<br />

Pour identifier un dentinaire, nous avons effectué un travail en équipe avec le service<br />

informatique, Thomas et moi. Nous avons put mettre en place un diagramme permettant d’identifier<br />

le destinataire de façon géographique alors que nous pouvions seulement l’identifier<br />

orthographiquement. Le diagramme ci-dessous représente le travail de chacun qui a été interagis.<br />

-Créer par Stéphane Millot et Wasim Chokeir.<br />

-Créer par moi.<br />

-Créer par Thomas.<br />

Si on reprend le diagramme, le géocodage permet de trouver où se trouve les coordonnées GPS de<br />

l’adresse reçue en EDI avec son niveau de précision. Lorsque la distance entre un destinataire déjà<br />

identifié et d’une adresse reçue en EDI qui ont des ressemblances soit sur le nom ou soit sur l’adresse<br />

est trop élevé, on obtient sous Talk l’écran suivant qui permet de valider si c’est le bon destinataire :<br />

14


Position de<br />

l’entreprise<br />

déjà<br />

identifié<br />

Dans le diagramme, le positionnement manuel est effectué par mon programme qui permet<br />

d’afficher un destinataire que l’on désire repositionner. Voici l’interaction de mon programme avec<br />

Talk :<br />

Bouton<br />

permettant<br />

d’enregistrer<br />

la position<br />

Adresse de l’entreprise<br />

déjà identifié<br />

Page Web créé<br />

Choix du type de la<br />

carte<br />

Adresse dépolluer<br />

et utiliser pour le<br />

géocodage<br />

On affecte l’adresse reçue en EDI au destinataire déjà identifié<br />

15<br />

Adresse de<br />

l’entreprise<br />

reçue en EDI<br />

Distante entre<br />

l’adresse déjà<br />

identifié et l’adresse<br />

reçue en EDI<br />

Niveau de précision<br />

du géocodage<br />

Position de<br />

l’adresse corrigée<br />

reçue en EDI


Explication du programme :<br />

Les coordonnées sont envoyées en GET. Il suffit de déplacer le marqueur sur la carte pour<br />

repositionner l’endroit précis ou doit être le destinataire. Puis d’appuyer sur un bouton enregistrer<br />

pour enregistrer les coordonnées dans un fichier texte qui est ensuite renvoyé au logiciel talk par un<br />

web service que thomas a créé.<br />

Lien à envoyer :<br />

http://www.upsilon89.com/pgme/googlemap/placer.php?x=0.556&y=10&z=nomfichier&map=1<br />

On peut changer 4 paramètres :<br />

-x : coordonnée en x<br />

-y : coordonnée en y<br />

-z : on indique le nom du fichier où l’on veut enregistrer les coordonnées du point placé.<br />

-map : on choisit l’affichage de la map � 1 correspond à 2/3 map ,1/3 Street View.<br />

2 correspond à 1/3 map,2/3 Street View.<br />

3 correspond à 1/2 map, ½ Street View.<br />

4 correspond à la map afficher en grand et que si on<br />

utilise le Street View il est superposé sur la map.<br />

Dans ce programme on garde le même principe que le programme qui permet d’afficher un<br />

destinataire sauf qu’ on ajoute un marqueur qui se déplace, un formulaire qui permet l’envoie des<br />

coordonnées et on ajoute un Street View avec un affichage différent de la carte.<br />

Pour le marqueur déplaçable on ajoute dans le code :<br />

16


Le formulaire est composé comme ceci :<br />

Pour le Street View :<br />

Dans la fonction initialize() :<br />

- On définit les options du Street View.<br />

- On définit les options de la carte.<br />

- On crée le Street View.<br />

17


Dans le body on définit l’affichage de la carte envoyé en paramètre :<br />

Pour enregistrer les coordonnées dans un fichier txt il suffit de déplacer le marqueur et<br />

d’appuyer sur le bouton .<br />

Enregistrer.php :<br />

C’est un programme qui permet de récupérer les coordonnées et l’enregistrer dans un<br />

fichier texte. Il est appelé depuis le programme placer.php grâce à un formulaire. Elle est<br />

transparente à l’œil de l’utilisateur .<br />

Code :<br />

Pour reprendre les données du fichier il suffit d’appeler la fonction renvoyerPOS () de geo.wsdl.<br />

18


d) Tournée :<br />

Après avoir identifié un destinataire, nous pouvons depuis le logiciel Talk affiché une tournée<br />

théorique d’un chauffeur. En utilisant le web service de Thomas nous pouvons échanger des données<br />

entre Talk et serveur hébergé chez Amen. Ce qui, lors d’un clic depuis Talk, nous pouvons affiché sur<br />

une carte une tournée théorique avec son itinéraire. Nous pouvons aussi enregistrer le nombre de<br />

km et le temps qu’un chauffeur devrait mettre pour effectuer une tournée théorique.<br />

Ainsi nous pouvons accéder directement à la tournée théorique depuis Talk dans la fenêtre suivante :<br />

19


Lors du clic sur le bouton tourné théorique, nous obtenons sur un navigateur Web ceci :<br />

Donnée que l’on peut enregistrer<br />

20<br />

Tournée théorique<br />

du chauffeur<br />

Itinéraire


Explication technique :<br />

Ce programme est le plus conséquent il est composé d’environ 1000 lignes. C’est pour cela que nous<br />

n’expliquerons que l’essentiel du programme dans cette partie.<br />

Il faut d’abord appeler la fonction creaCSV() et RempliCSV() de geo.wsdl(web service) pour créer le<br />

fichier CSV et le remplir.<br />

Dans la fonction RempliCSV on doit mettre les paramètres : numéro d’ordre, coordonnée x,<br />

coordonnée y, adresse, Nom d’entreprise.<br />

Ensuite on appel la page PHP :<br />

http://www.upsilon89.com/pgme/googlemap/tournee.php?id=501.csv&rec=1&time=100<br />

On peut définir 3 paramètres GET qui sont :<br />

- id : le nom du fichier qui a été créé grâce à RempliCSV().<br />

- rec : indique si l’on veut ou non enregistrer le nombre de km et le temps.<br />

- time : le temps de livraison, chargement et déchargement nécessaire au routier en plus<br />

du temps de conduite. Il sera rajouté au temps théorique de conduite calculé par Google.<br />

On crée un objet DirectionsRenderer avec des options sur le marqueur qui permet de mettre un<br />

marqueur simple .<br />

On ajoute cet objet à la map.<br />

21


Ensuite on récupère les données du fichier CSV :<br />

On stocke les coordonnées dans une requête avec le format ci-dessous :<br />

- origin : on spécifie le point de départ de l’itinéraire<br />

- destination : on spécifie la fin de l’itinéraire<br />

- waypoints : on spécifie les endroits par lequel on souhaite passer pour arriver<br />

- optimizeWaypoints : on spécifie si l’on veut le chemin le plus court entre les différents<br />

endroits auquel passé. Vu que le routier doit faire sa tournée dans l’ordre qu’elle se<br />

présente, on mettra à FALSE.<br />

- travelMode : on spécifie le mode de voyage. Il y a trois modes : en voiture, à pied ou en<br />

vélo. On choisira la voiture.<br />

Voici comme elle se présente :<br />

22


On appelle la méthode route () avec les arguments requête et une fonction qui prend la<br />

réponse et le statut de la requête. Si le statut est bon, on ajoute la réponse de la requête dans le<br />

moteur de rendu de l’objet DirectionRenderer. C'est-à-dire qu’on ajoute l’itinéraire sur la carte<br />

Google. On stocke aussi dans une variable route, toutes les données qui permet de savoir le temps, le<br />

nombre de km,… de l’itinéraire.<br />

Puisque l’on est limité à 10 points dans un itinéraire et que une tournée d’un chauffer peut<br />

avoir jusqu’à une trentaine de destinataire, on est obligé d’effectuer ceci plusieurs fois en fonction<br />

du nombre de ligne de fichier.<br />

J’ai aussi ajouté un tableau en HTML qui permet de retracer l’itinéraire parcourue du<br />

chauffeur comme on le voit sur l’image à la page 20.<br />

23


e)Android :<br />

Après avoir fini les sujets qui nous étaient donnés, Thomas et moi, nous avons put nous<br />

consacrer sur le système d’exploitation Android. Nous avons créé une application qui a pour but de<br />

retracer la tournée réel d’un chauffeur et d’afficher sa position. Thomas c’est consacré sur la partie<br />

interfaçage graphique, moi je me suis occupé de la partie programmation pour afficher un<br />

destinataire ou une tournée réelle.<br />

Pour afficher la tournée réelle j’ai choisi d’utiliser les fichiers kml qui permettent la<br />

modélisation et le stockage de caractéristiques géographiques comme les points, les lignes, les<br />

images, les polygones et les modèles pour l'affichage sur des applications comme GoogleMaps.<br />

J’ai choisi d’utiliser Google Earth pour l’utilisation du fichier kml qui permet d’avoir une<br />

meilleure vue sur une tourné. Voici un exemple de tournée réelle d’un chauffeur lors d’un test de<br />

l’application sous android :<br />

On peut ainsi la comparer avec la tournée théorique de la page 20.<br />

24


Conclusion<br />

Tout au long de ce stage, j’ai pu approfondir mes connaissances et acquérir de l’expérience.<br />

J’ai pu ainsi avoir un aperçu du monde de travail et de toutes ses contraintes. Que ce soit les<br />

contraintes de temps, des problèmes découvert lors de test de l’utilisateur et les mises à jour<br />

d’applications qui doivent être transparentes à l’utilisateur. J’ai pu aussi apprendre en assistant aux<br />

réunions comment on peut débattre sur un sujet ou former des utilisateurs.<br />

Concernant le sujet, j’ai permis à l’entreprise d’améliorer différents points comme<br />

l’affectation d’un destinataire à une seule adresse précise, l’aide aux nouveaux chauffeurs en leur<br />

donnant l’itinéraire à effectuer, et aussi découvrir Google et sa force dans le monde de l’Open Source<br />

comme Android. Grâce à Android, avec la collaboration de Thomas, nous pouvons désormais<br />

comparer une tournée théorique que j’ai mise en place avec une tournée réelle d’un chauffeur. Mais<br />

aussi de pouvoir connaître les positions de tous les chauffeurs à un instant donné lorsque l’entreprise<br />

a besoin de contacter le plus proche chauffeur d’un nouvel enlèvement de colis non transmis d’un<br />

destinataire lors de son départ.<br />

Tout ce que j’ai effectué est déjà mis en place dans leur logiciel et disponible aux utilisateurs.<br />

Il ne reste juste les tournées théoriques qui ne sont toujours pas utilisées puisqu’il faut tout d’abord<br />

géolocaliser tout leurs destinataires.<br />

Grâce au personnel de l’entreprise et leur accueil, j’ai pu effectuer un stage enrichissant et<br />

varié. J’ai pu aussi confirmer que l’informatique constitue un domaine où j’aimerais poursuivre mes<br />

études.<br />

25


ANNEXE<br />

On travaillera sur les tables suivantes pour dépolluer et retrouver les adresses.<br />

Livraison<br />

Cle<br />

Destinataire<br />

Adresse1dest<br />

Adresse2dest<br />

Codepostal<br />

Clecommuneville_liv<br />

Livraisonbis<br />

Cle<br />

clelivraison<br />

Cledestinataire<br />

Gpstype<br />

Gpsposition<br />

gpsprecision<br />

Destinataire<br />

Cle<br />

Nom<br />

Numvoie<br />

Cletypevoie<br />

Nomvoie1<br />

Nomvoie2<br />

Clecommune<br />

Lieudit<br />

Gpsposition<br />

gpsPrecision<br />

26<br />

Destalias<br />

Cle<br />

Cledestinataire<br />

Nom<br />

Typevoie<br />

Cle<br />

Nomvoie<br />

Nomgoogle<br />

Typevoiealias<br />

Cle<br />

Cletypevoie<br />

Nomvoie


Microsoft Visual Fox Pro<br />

Lors de mon stage j’ai eu la chance d’utiliser l’environnent Microsoft Visual Fox Pro. J’ai créé un<br />

programme permettant de dépolluer une adresse et la formaté. Par exemple si on prend une adresse<br />

comme « tel :03.85.72.05.62 , 2 avenue de paris » , le programme va supprimer le<br />

« tel :03.85.72.05.62 » et enregistrer dans le champ numéro de voie : « 2 » , dans le champ type de<br />

voie : « avenue » et dans le champ nom de voie : « de paris ».<br />

Voici l’Algorithme que j’ai créé et mise en place sous Visual Fox Pro<br />

Fonction dépollution{<br />

Adress=adress1dest+adress2 dest;<br />

On met tout en majuscules.<br />

// maintenant on enlève la ponctuation :<br />

Si dans adress il y a des . , ‘, ‘, :, / ou ; suivi d’un espace on supprime la ponctuation.<br />

Si dans adress il y a des . , ‘, ‘, :, / ou ; on le remplace par un espace.<br />

// maintenant on identifie le type de voie :<br />

On compare a travers la table type voie alias le champ nom voie avec l’adresse si on trouve<br />

un nom voie correspondant on récupère clé typevoie et on le remplace par le Nom voie de la table<br />

typevoie .On met le nom voie dans la variable type_voie .<br />

bdd.<br />

Si on ne trouve rien on vérifie par l’homme. Si un nouveau nom de voie on le rajoute dans la<br />

Si rien , on ajoute le point à la main via google map …<br />

Si il y des caractères dans la variable type voie{<br />

On compare a travers la table adresse supprime, si on trouve un nom supprime que<br />

l’on renvoi ensuite dans une variable nom supprime{<br />

Si cela est après type voie {<br />

On supprime tout le reste avec Zi,ZA,….<br />

} Sinn on garde<br />

27


}<br />

}<br />

Si il y a TEL : ,TEL après type voie{<br />

On supprime tout le reste avec tel<br />

Si il y a type_voie on appelle fonction format<br />

Fonction format {<br />

Si chiffre avant type voie et qu’il y a 5 chiffre au maximum suivant un espace on met<br />

numvoie égal au chiffre et on le supprime de adress{<br />

Si il y a un lieu dit{<br />

}Sinon {<br />

}<br />

Si lieu dit avant type voie{<br />

}<br />

Sinon {<br />

On prend le texte entre les deux que l’on met dans lieudit<br />

On met le texte après type_voie dans la variable nomvoie1 ;<br />

On prend le texte entre les deux que l’on met dans nomvoie1<br />

On met le texte après lieudit dans la variable nomvoie1 ;<br />

On met le texte après type_voie dans la variable nomvoie1 ;<br />

}Sinon on supprime tout les chiffres .<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!