RAPPORT DE STAGE - IUT Dijon
RAPPORT DE STAGE - IUT Dijon
RAPPORT DE STAGE - IUT Dijon
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