Vous êtes sur la page 1sur 47

Rsum

Ce mmoire traite une problmatique majeure dans notre pays qui se rsume en un seul
mot : la golocalisation des enfants et des personnes ges. En effet notre recherche nous a guid
proposer des solutions relativement efficaces vue sa mobilit et son usage trs adapt ces
catgories de tranche dges. Le dveloppement dune application Android de golocalisation
offre lergonomie dutilisation et rpond aux besoins pratiques lors de ce projet. Diffrents outils
et techniques ont t exploits pour permettre aboutir des rsultats plus adquats.

Mots-cls : golocalisation, application Android, GPS, suivi dun enfant, GSM.

i
Abstract
This report addresses a major problem in our country which is the geolocation of children
and elder people using smart phones. Actually, our research led us to propose a relatively
effective solution regarding to its mobility and very suitable use for these categories of ages.
The development of a location-based Android application offers the ergonomics of use and
meets the practical needs fixed in the beginning of this project. Various tools and techniques
have been exploited to achieve more adequate results.

Keywords : geolocation, child tracking, GPS, GSM, Android application.

ii
Table des matires
Rsum ......................................................................................................................................... i

Abstract ....................................................................................................................................... ii

Table des matires...................................................................................................................... iii

Liste des tableaux ........................................................................................................................ v

Liste des figures ......................................................................................................................... vi

Liste des sigles .......................................................................................................................... vii

Ddicaces ................................................................................................................................. viii

Remerciements ........................................................................................................................... ix

Introduction gnrale .................................................................................................................. 1

Chapitre 1 : Dveloppements dapplications sous Android ........................................................ 3

Introduction ............................................................................................................................. 3
Plateforme Android ................................................................................................................. 3
Architecture de la plateforme Android ................................................................................... 3
Dveloppement sous Android ................................................................................................. 4
Lenvironnement de dveloppement sous Android ............................................................ 4
Structure dun projet ............................................................................................................... 7
Composantes dune application Android ............................................................................ 9
Exploitation des fonctionnalits d'Android........................................................................... 10
Les capteurs ....................................................................................................................... 10
Conclusion ............................................................................................................................ 12
Chapitre 2 : Le rseau 3G et la golocalisation par GPS .......................................................... 13

Introduction ........................................................................................................................... 13
Le rseau 3G ......................................................................................................................... 13
Architecture du rseau 3G ................................................................................................ 14
Dfinition de la golocalisation ............................................................................................ 15
Les techniques de golocalisation ..................................................................................... 16

iii
Le systme de golocalisation par GPS ............................................................................ 16
Principe de fonctionnement : la trilatration ..................................................................... 20
Conclusion ............................................................................................................................ 21
Chapitre 3 : Mise en application de la golocalisation ............................................................. 22

Introduction ........................................................................................................................... 22
Mthodologie et conception .................................................................................................. 22
Le langage de modlisation .............................................................................................. 22
Les diagrammes de modlisation ...................................................................................... 23
Description des classes ..................................................................................................... 24
Le diagramme d'activit .................................................................................................... 27
Le diagramme de squence ............................................................................................... 27
Schma synoptique de la solution de la golocalisation ....................................................... 28
Technologies utilises ........................................................................................................... 28
Les logiciels utiliss : ........................................................................................................ 29
La Notion MVC ................................................................................................................ 30
Description fonctionnelle de la solution propose ................................................................ 30
Partie I : Linscription de la personne localiser ............................................................. 31
Partie II : Envoi des coordonnes GPS la base de donnes ........................................... 31
Partie : Rcuprations des coordonnes GPS de la base de donnes ........................... 32
Partie IV : Reprsentation des coordonnes sur Google Maps ......................................... 33
Conclusion gnrale .................................................................................................................. 37

Bibliographie................................................................................................................................ i

iv
Liste des tableaux
Tableau 1: Les capteurs embarqus. ........................................................................................ 11
Tableau 2: Les cas dutilisation du systme ............................................................................ 23
Tableau 3: La description de la classe USER .................................................................... 25
Tableau 4: La description de la classe INVITATION ....................................................... 26
Tableau 5: La description de la classe INVITATION_RESPONSE ................................. 26

v
Liste des figures
Figure 1: Larchitecture de la plateforme Android. ................................................................... 4
Figure 2: Le SDK Android. ....................................................................................................... 6
Figure 3: Larborescence d'un projet. ........................................................................................ 7
Figure 4: Le repre associ aux capteurs. ................................................................................ 11
Figure 5: Architecture du rseau 3G. ....................................................................................... 14
Figure 6: Les coordonnes gographiques............................................................................... 15
Figure 7: La constitution du systme GPS............................................................................... 17
Figure 8: Le segment spatial .................................................................................................... 18
Figure 9: Rpartition des stations du segment de contrle. ..................................................... 19
Figure 10: La position donne par 1 satellite. .......................................................................... 20
Figure 11: La position donne par 2 satellites. ........................................................................ 20
Figure 12: La position donne par 3 satellites. ........................................................................ 21
Figure 13: Diagramme de cas d'utilisation .............................................................................. 24
Figure 14: Diagramme d'activit du cas : Afficher la position dune personne ...................... 27
Figure 15: Schma synoptique de la solution de la golocalisation ........................................ 28
Figure 16: Architecture gnrale de l'application .................................................................... 29
Figure 17: Schma synoptique dinteraction entre activits et services et API et Base de donnes
................................................................................................................................................... 31
Figure 18: SDK Manager......................................................................................................... 33
Figure 19: Boite de dialogue pour crer un projet ................................................................... 34
Figure 20: Les diffrents API existants ................................................................................... 34
Figure 21: Cl API SHA-1 Fingerprint............................................................................... 35

vi
Liste des sigles
API: Application Programming Interface
PHP: PHP Hypertext Preprocessor
GPS: Global Positionning System
GSM: Global System for Mobile communications
3G: 3rd Generation
IDE: Integrated Development Environment
SDK: Software Development Kit
JDK: Java Development Kit
MVC: Modelviewcontroller
JSON: JavaScript Object Notation
XML: Extensible Markup Language

vii
Ddicaces

Le tout puissant, mon crateur


A mon pre,
En signe damour, de reconnaissance et de gratitude pour tous
Les soutiens et les sacrifices dont il a fait preuve mon gard

A ma mre,
Ma raison dtre, ma raison de vivre, la lanterne qui claire
Mon chemin et millumine de douceur et damour

A mes frres et mes surs

A mes amis, et tous mes proches

viii
Remerciements
Cest parce que nous avons beaucoup estim tous ceux qui nous ont couts, conseills,
critiqus et encadrs que nous tenons leur faire part de toute notre gratitude, et
particulirement, nous tenons remercier travers ces courtes lignes :

Notre encadrant professionnel Monsieur HACHEMI Rabie qui nous a encadr et qui
nous a fait lhonneur de nous diriger tout au long de sa ralisation. Sa modestie et sa gentillesse
nont dgales que ses grandes qualits professionnelles. Quil soit assur de lexpression de
notre profonde gratitude.

Monsieur CHAIB Yusuf qui nous a suggr le sujet de ce projet et qui nous a aid
normment en nous donnant des conseils sur comment parler en public et pour son soutien
aussi bien moral que technique.

Monsieur TAHRAOUI Samir qui nous a beaucoup aid dans nos recherches et
ralisation.

Nos Familles dont nous ne nous permettrons pas doublier de les remercier, pour leur
soutien la fois moral et matriel durant toute notre carrire et surtout durant les moments
difficiles.

Notre dernier mot sadresse tous les membres du jury pour lhonneur quils nous font
de participer lexamen de notre projet. Sans oublier tous nos professeurs lINTTIC pour la
formation de qualit quils nous ont prodigue tout au long de notre cursus universitaire.

ix
1
Introduction gnrale

Introduction gnrale
Dans la dernire dcennie, les applications de la golocalisation, tant individuelles que
professionnelles, ont connu un succs sans prcdent. Initialement limit au domaine militaire,
lusage de ces techniques sest rvl au grand public grce, en partie, au dveloppement des
rseaux satellitaires.
Cette gnralisation de la golocalisation est galement due au dveloppement de
diffrentes technologies telles que les rseaux mobiles, les systmes de navigation (GPS), le
rseau Wi-Fi, ladressage IP. Chacune de ces technologies permet de rcuprer les coordonnes
gographiques dun objet (smartphone, une tablette, une automobile, une station de base dun
rseau mobile, un ordinateur connect Internet, etc.) avec une certaine prcision1.
En raison de ses nombreuses retombes, diffrent secteurs professionnels ont eu recours
la golocalistion dans le but doptimiser les cots ou daccrotre la scurit. Ainsi, la
golocalisation est utilise pour lutter contre les vols, automatiser les systmes de guidage,
surveiller les employs pendant les heures de travail, etc. Quant aux applications
individuelles, la golocalisation est notamment utilise pour le suivi et la scurit des personnes
ou des biens personnels.
Dans le domaine du web, la golocalisation est galement trs rpondue. Certains sites
web, tels que les sites dachat en ligne ou les rseaux sociaux, utilisent la position gographique
du visiteur afin de fournir des rsultats plus adquats, ou de proposer des publicits ayant une
relation avec la zone gographique cible.
Dans le cadre de notre projet de fin dtudes, on sest propos de raliser une application
permettant lutilisateur de golocaliser des personnes ayant besoin dtre suivies tels que les
enfants et les personnes ges de sa famille. Pour cela on va crer une base de donnes avec
MySQL, et dvelopper une API avec le langage PHP permettant de faire un lien entre cette base
de donnes et notre application, afin denregistrer la position gographique dun membre de la
famille.

1
La golocalisation par adresse IP qui nutilise pas lapproximation ou la prcision.
2
Introduction gnrale

Notre mmoire sera rpartit sur 3 chapitres. Le chapitre 1 donne une description sur la
plateforme Android. Ensuite le chapitre 2 donne une vue gnrale sur les techniques utilises de
golocalisation. Le troisime chapitre est consacr pour notre application Android. Et enfin on
va terminer par une conclusion gnrale.
3
Chapitre 1 : Dveloppements dapplications sous Android

Chapitre 1 : Dveloppements dapplications sous Android

Introduction
Le Smartphone est un compagnon de tous les instants et un vritable ordinateur de poche
pour grer le quotidien, s'informer, se divertir. Il comporte aussi un ensemble de capteurs
embarqus ou connects. Le Smartphone a donc une place part dans la galaxie des appareils.
Pourtant, les utilisateurs savent trs peu de choses sur ce qui se passe l'intrieur de ces botes
noires. Ainsi, dans ce chapitre nous allons essayer de voir les concepts de base des Smartphone
en nous intressant plus prcisment la plateforme de Google Inc. Android.

Plateforme Android
Android est un systme d'exploitation pour Smartphones, tablettes tactiles, PDA et
terminaux mobiles. C'est un systme open source, utilisant le noyau Linux, conu par Android,
une startup rachete par Google, et annonc officiellement le 5 novembre 2007. D'autres types
d'appareils possdant ce systme d'exploitation existent, par exemple des tlviseurs, des
montres, des autoradios et mme des voitures. [1]

Android est gratuit, pour les constructeurs dappareils souhaitant lutiliser, et


partiellement open-source. Concrtement, ce systme dexploitation sappuie sur un noyau
Linux optimis pour un usage mobile, et sur une machine virtuelle Java assez fortement
modifie. Le dveloppement se fait donc en Java, mais sur cette JVM spcifique Android.

Il est possible dutiliser divers IDE pour dvelopper et compiler une application Android,
mais Google fournit un IDE cest Android Studio.

Architecture de la plateforme Android


Larchitecture de la plateforme Android se dcline, selon une dmarche bottom up, en
quatre principaux niveaux que sont :

le noyau linux
les librairies et lenvironnement dexcution,
4
Chapitre 1 : Dveloppements dapplications sous Android

le module de dveloppement dapplications


les diffrentes applications. [1]

Figure 1: Larchitecture de la plateforme Android.

Dveloppement sous Android

Lenvironnement de dveloppement sous Android


Afin de dvelopper des applications sous Android, un ensemble doutils est ncessaire.
Vue que les procdures dinstallation de ces outils sont assez longues et fastidieuses, alors les
dcrire, pas pas, risquerai de prendre normment de place et ainsi beaucoup de pages. Alors,
on se contentera juste dvoquer les outils et leur intrt.

Le JDK (Java Developpment Kit)

Les applications dveloppes pour Android tant essentiellement crites en langage java.
Un langage de programmation orient objet qui a la particularit d'tre trs portable. Cela
5
Chapitre 1 : Dveloppements dapplications sous Android

signifie qu'un programme Java, fonctionnant sur Windows (par exemple), pourra facilement
tourner sur Mac ou GNU/Linux. Cette petite prouesse vient du fait que Java s'appuie sur une
machine virtuelle pour s'excuter (appele la JVM). Pour avoir une JVM sur votre ordinateur, il
vous faut tlcharger le JRE.

La JVM ne lit pas directement le code Java. Elle lit un code compil (le bytecode). Pour
passer du code Java, que le dveloppeur crit, au code compil, lu par la JVM, des outils
spciaux sont ncessaires. Ces outils sont inclus dans le JDK. De plus, le JDK contient le JRE
(et donc la machine virtuelle), ce qui est bien pratique. Pour rsumer, on dira que :

Pour un simple utilisateur de Java : il doit avoir le JRE ;


Pour un dveloppeur : il aura besoin des outils du JDK [2];

Le SDK (Software Development Kit) Android


6
Chapitre 1 : Dveloppements dapplications sous Android

Un SDK, c'est--dire un kit de dveloppement logiciel, est un ensemble d'outils que met
disposition un diteur afin de permettre de dvelopper des applications pour un environnement
prcis. Le SDK Android permet, donc, de dvelopper des applications pour Android et
uniquement pour Android. Au premier lancement du SDK, un cran semblable la figure
suivante s'affichera :

Figure 2: Le SDK Android.


7
Chapitre 1 : Dveloppements dapplications sous Android

L'IDE Android Studio

Android Studio est un environnement de dveloppement pour dvelopper des applications


Android. Il est bas sur IntelliJ IDEA.

Android Studio est annonc le 15 mai 2013 lors du Google I/O et une version "Early Access
Preview" est disponible le jour mme1.

Le 8 dcembre 2014, Android Studio passe de version bta version stable 1.0.
L'environnement devient alors conseill par Google, et Eclipse est dlaiss.

Android Studio permet principalement d'diter les fichiers Java et les fichiers de
configuration d'une application Android.

Il propose entre autres des outils pour grer le dveloppement d'applications multilingues et
permet de visualiser la mise en page des crans sur des crans de rsolutions varies simultanment.

Structure dun projet


Le systme de construction dun programme Android est organis sous la forme dune
arborescence de rpertoires spcifiques un projet, exactement comme nimporte quel projet
Java. Les dtails, cependant, sont spcifiques Android. Voici un rapide tour dhorizon de la
structure dun projet :

Figure 3: Larborescence d'un projet.


8
Chapitre 1 : Dveloppements dapplications sous Android

Tout comme bon nombre de technologies actuelles, les sources dune application
Android possdent une structure bien dfinie qui doit tre respecte. Ces arborescences
permettent non seulement de rendre les projets plus lisibles et organiss, mais aussi de simplifier
le dveloppement.

Lors de la cration dun nouveau projet, voici larborescence qui est automatiquement
gnre :

src : rpertoire contenant lensemble des sources du projet. Il contient les classes, de type
activit, qui grent entre autres le cycle de vie, mais aussi les classes permettant de piloter
les diffrentes fonctions de lapplication ;

gen : rpertoire contenant lensemble des fichiers gnrs par le plugin correspondant
lenvironnement de dveloppement. Ne doit pas tre modifi.

androidManifest.xml : fichier XML dcrivant lapplication et ses composants, tels que les
activits, les services, etc. Lors de la cration dune activit, une erreur courante pour un
premier projet Android est doublier de la dclarer dans le fichier Manifest. Cest une tape
indispensable pour le fonctionnement de lapplication. Le Manifest est, en quelque sorte, la
carte didentit de lapplication, et permet dautoriser lexcution des activits et autres
actions de lapplication.

res : rpertoire contenant toutes les ressources telles que les images, les vues de linterface
graphique, etc., ncessaires lapplication. Ce rpertoire est structur par dfaut de la
manire suivante :

res/drawable : contient les ressources de type image ;


res/layout : contient les descriptions des interfaces graphiques au format XML (les vues) ;

res/xml : contient les fichiers XML supplmentaires (non prsents par dfaut) ;
res/menu : contient la description des menus, composants trs courants dune vue ;

res/values : contient diverses ressources, telles que les textes, qui sont empaquetes sans
aucun traitement.
9
Chapitre 1 : Dveloppements dapplications sous Android

Au moment de la compilation du projet, lapplication finale est gnre au format APK,


dans le rpertoire bin de larborescence. Cest ce fichier quil faut ensuite dployer sur les
quipements, afin de pouvoir faire tourner lapplication.

Composantes dune application Android


Une application Android se compose de plusieurs lments. Dans ce qui suit, nous allons
essayer de dcouvrir les plus importants :

Les Activits

Une activit est la composante principale pour une application Android. Elle reprsente
limplmentation et les interactions des interfaces.

Plusieurs choix se proposent pour mettre en place l'interface visuelle :

Utiliser un fichier XML pour dcrire linterface ;


Crer les lments de l'interface l'intrieur du code java ;

Les Services

Un Service est, en fait, un programme tournant en tche de fond et nayant pas


dinterface graphique. Lexemple commun illustrant cette notion, est celui du lecteur mp3. Un
lecteur mp3 ne ncessite pas, pour la plupart du temps, dinterface graphique et doit tourner en
tche de fond, laissant la possibilit aux autres applications de sexcuter librement. Un service
peut tre lanc diffrents moments :

Au dmarrage du tlphone ;
Au moment dun vnement (arrive dun appel, SMS, mail, etc.) ;
Lancement de lapplication ;
Action particulire dans application.

Les BroadcastReceivers

Un BroadcastReceiver, comme son nom lindique, permet dcouter ce qui se passe sur
le systme ou sur votre application et de dclencher une action que vous aurez prdfinie. Cest
souvent par ce mcanisme que les services sont lancs.
10
Chapitre 1 : Dveloppements dapplications sous Android

Les Content providers

Les ContentProvider sont, comme lexprime leur nom, des gestionnaires de donnes.
Ils permettent de partager linformation entre applications.

Les Intents

Les Intents sont des objets permettant de faire passer des messages contenant de
linformation entre composants principaux. La notion dIntent peut tre vue comme une
demande de dmarrage dun autre composant, dune action effectuer.

Exploitation des fonctionnalits d'Android

Les capteurs

La majorit des appareils modernes sont bien plus que de simples outils pour
communiquer ou naviguer sur internet. Ils possdent des capacits sensorielles, matrialises
par leurs capteurs. Ces derniers peuvent tre diviss en trois principales catgories :

Les capteurs de mouvements

En mesurant les forces d'acclration et de rotation sur les trois axes, ces capteurs sont
capables de dterminer dans quelle direction se dirige l'appareil. On y trouve l'acclromtre,
les capteurs de gravit, les gyroscopes et les capteurs de vecteurs de rotation.

Les capteurs environnementaux

Ce sont trois capteurs (baromtre, photomtre et thermomtre) qui mesurent la


temprature ambiante, la pression atmosphrique, l'illumination et l'humidit.

Les capteurs de position

videmment, ils dterminent la position de l'appareil. On trouve ainsi les capteurs


dorientation et le magntomtre.

La figure suivante donne le repre associ aux capteurs trois dimensions :


11
Chapitre 1 : Dveloppements dapplications sous Android

Figure 4: Le repre associ aux capteurs.

Le tableau suivant recense la majorit de capteurs embarqus par un Smartphone :

Capteur Type Description Utilisation typique


Mesure la force d'acclration Dtecter les mouvements.
applique au terminal sur les trois
Acclromtre Matriel axes (x, y et z).
Mesure le taux de rotation sur chacun Dtecter l'orientation de l'appareil.
Gyroscope Matriel des trois axes en radian par seconde
(rad/s).
Mesure le niveau de lumire ambiante Dtecter la luminosit pour adapter
en lux (lx). celle de l'cran de l'appareil.
Photomtre Matriel
Mesure le champ gomagntique sur
Magntomtre Matriel les trois axes en micro tesla (T) Crer un compas.
Mesure le degr de rotation que Dterminer la position de
l'appareil effectue sur les trois axes. l'appareil.
Orientation Logiciel
Mesure la pression ambiante en Surveiller les changements de
Baromtre Matriel hectopascal (hPa) ou millibar (mbar). pression de l'air ambiant.
Dtecter si l'utilisateur porte le
Capteur de Matriel Mesure la proximit d'un objet en tlphone son oreille pendant un
proximit
Thermomtre Matriel Mesure la centimtres
temprature(cm).
de l'appareil en Surveillerappel.
la temprature.
degrs Celsius (C).

Tableau 1: Les capteurs embarqus.


12
Chapitre 1 : Dveloppements dapplications sous Android

Conclusion

Dans ce chapitre nous avons essay de lever le voile sur cette nouvelle race de terminaux
en nous basant sur la plateforme Android. Lapproche faite durant cette tude tait beaucoup
plus logicielle. Dans ce qui suit, nous allons essayer de comprendre les concepts fondamentaux
de deux rseaux largement utiliss dans les applications pour Smartphone en loccurrence : Le
3G et le GPS.
13
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Introduction
Dans ce troisime chapitre, et aprs avoir vu lessentiel sur tout ce qui entoure le
dveloppement dapplications pour la plateforme Android, nous allons nous intresser au rseau
mobile 3G et la golocalisation par le systme GPS en tachant dinsister sur lessentiel.

Le rseau 3G
La 3G dsigne la troisime gnration du rseau de tlphonie mobile qui a succd au
rseau GSM (Global System for Mobile Communication). Elle est base sur l'UMTS (Universal
Mobile Telecommunications Systems) qui exploite une bande de frquence plus large et un
systme de transfert des donnes par paquets. Grce un dbit descendant nettement suprieur
(entre 144 et 2.000 kilobits par seconde (kb/s) selon les conditions dutilisation) au GSM (9,6
kb/s), la 3G a ouvert la voie de nouvelles applications telles que la visiophonie, la TV mobile
et les messageries instantanes. [3]
14
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Architecture du rseau 3G

Figure 5: Architecture du rseau 3G.


15
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Dfinition de la golocalisation
La golocalisation peut tre dfinie comme tant un procd permettant de positionner
un objet (une personne, un vhicule, etc.) sur un plan ou une carte l'aide de ses coordonnes
gographiques.

Figure 6: Les coordonnes gographiques.

Les coordonnes gographiques d'un point M de la surface de la terre sont


essentiellement :

La longitude : angle orient entre le plan mridien origine et le plan mridien contenant le
point M. Le mridien dorigine est celui de Greenwich ;

La latitude : angle orient entre le plan de l'quateur et la normale l'ellipsode passant par
le point M ;

La hauteur : distance algbrique entre le point M et l'ellipsode. [4]


16
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Les techniques de golocalisation

De nos jours, il existe plusieurs techniques de localisation. La plus connue est


lutilisation des rcepteurs GPS. La prcision de 10 20 mtres quoffre le GPS, dans les milieux
dgags, a permis un large dploiement des services de localisation en extrieur. Cependant,
lextension de ces services en intrieur reste limite. Afin de se librer des limitations du GPS
dans les environnements urbains denses ou intrieurs, des solutions reposant sur des capteurs ou
des rseaux sans fils ont fait leur apparition.

La golocalisation par satellite

Elle repose sur lutilisation des ondes mises par une constellation de satellites (GPS,
GLONASS, GALILEO), prvue cet effet, pour le calcul de la position actuelle sur la face
terrestre dun terminal quip dune puce compatible. Cette position est alors traduite en termes
de latitude, longitude et parfois altitude (ex : 43 5494 N - 1 48472 E) et peut alors tre
reprsente physiquement sur une carte.

La golocalisation par GSM

Cette technique permet le positionnement d'un terminal GSM en se basant sur certaines
informations relatives aux antennes GSM auxquelles le terminal est connect. La prcision de
cette technique peut aller de 200 mtres plusieurs kilomtres, selon que le terminal se trouve
en milieu urbain (o la densit d'antennes est suprieure), ou en milieu rural. Aujourd'hui, la
mthode GSM la plus utilise est celle du Cell ID (identification de la cellule radio). Cette
mthode consiste rcuprer les identifiants des antennes GSM auxquelles le terminal est
connect.

Le systme de golocalisation par GPS


GPS (Global Positioning System) est le systme de localisation par satellite le plus
utilis. Dvelopp et entretenu par le dpartement de la dfense des Etats-Unis (DoD), dans le
but de suivre la position de ses troupes et celle des troupes ennemies. Le GPS est galement
utilis pour des applications civiles : aide la navigation, gestion du trafic, localisation des
tlphones portables dans des milieux dgags, etc. Une autre application intressante, mais
17
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

moins connue de ce systme, est la synchronisation en temps grce aux horloges atomiques de
grande prcision embarques dans les satellites.

Lorsque lon parle du GPS, on pense aussitt au rcepteur GPS. Pourtant, il nest quune
partie de ce systme. Le GPS sarticule autour de trois principaux segments :

Le segment spatial ;
Le segment de contrle ;
Le segment utilisateur ; [5]

Figure 7: La constitution du systme GPS.

Le segment spatial

Le segment spatial est constitu dune constellation de 24 satellites NAVSTAR


(Navigation Satellite Timing And Ranging) au minimum. Ces satellites sont rgulirement
rpartis sur six orbites circulaires, dphases de 60, inclines 55. Ils gravitent sur une orbite
polaire quasi circulaire une altitude de 20200 km environ qu'ils bouclent en 11 heures 58
minutes. Ce segment possde des petits propulseurs pour corriger au besoin sa trajectoire. [5]
18
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Figure 8: Le segment spatial

Le segment de contrle

Le segment de contrle est constitu de tout lquipement terrestre qui assure le suivi et
lentretien des satellites en orbite. La station principale est situe au Colorado (Falcon Air Force
Base). Elle est relaye par 4 stations secondaires rparties sur des petites les contrles par les
USA (Hawaii, Ascension, Diego Garcia et Kwajalein).

Il sagit de sassurer que tous les satellites fonctionnent bien, de corriger les trajectoires
pour que les informations de position soient les plus correctes possibles et de synchroniser toutes
les horloges des satellites, tant entre elles quavec lheure de la terre. [6]
19
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Figure 9: Rpartition des stations du segment de contrle.

Si un satellite ne fonctionne pas correctement, le segment de contrle au sol peut le


dclarer hors d'tat de marche et adopter les mesures ncessaires pour corriger le problme.
Dans un tel cas, le satellite ne doit pas servir au positionnement avant d'tre nouveau dclar
fonctionnel.

Le segment utilisateur

Constitu par lensemble des rcepteurs susceptibles de dcoder les signaux mis par la
constellation de satellites et den dduire, par calcul, les solutions de position et de temps. Un
rcepteur doit tre capable de slectionner plusieurs satellites parmi ceux qui couvrent sa zone
et dacqurir les signaux GPS correspondants. [6]
20
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Principe de fonctionnement : la trilatration

La trilatration permet, grce trois satellites fixes qui connaissent leur position exacte,
de dterminer la position dun point prcis sur Terre. Chaque satellite du rseau GPS possde
une horloge atomique dune grande prcision. [5]

Pour ce qui est du principe, nous pouvons le dcrire comme suit : un instant t, un
satellite met son signal vers le rcepteur GPS qui le reoit un instant t1. Le rcepteur GPS
calcule ensuite, grce une opration simple, le temps T qua mis le signal pour arriver. En
multipliant le temps T par la vitesse de la lumire on arrive dterminer la distance d qui spare
le satellite et le rcepteur.

Donc le rcepteur se trouve sur la priphrie de la sphre de rayon d et de centre le


satellite en question.

Figure 10: La position donne par 1 satellite.

Figure 11: La position donne par 2 satellites.

En renouvelant ce mcanisme avec un deuxime satellite, qui dtermine une deuxime


sphre qui coupe la 1re en un plan sur lequel est situ le rcepteur.
21
Chapitre 2 : Le rseau 3G et la golocalisation par GPS

Pour terminer la trilatration, un troisime satellite est ncessaire afin de trouver sa


position exacte sur ce plan. En effet lorsque la troisime sphre coupe le plan elle donne deux
points.

Figure 12: La position donne par 3 satellites.

Dans le cas o lutilisateur se situe la surface de la terre, seul un des 2 points est
cohrent. Ainsi, on peut dduire sa position exacte en liminant le point donnant un rsultat
incohrent.

Comme le rcepteur na pas lheure, alors lingniosit des crateurs du systme GPS a
t dutiliser un quatrime satellite pour synchroniser lhorloge de notre rcepteur GPS. On est
donc, quatre satellites, capables de retrouver les quatre inconnues (x, y, z et t) en rsolvant le
systme compos de quatre quations, qui ne peuvent tre que les signaux mis par les quatre
satellites.

Dans la pratique, le rcepteur utilise entre 4 et 12 satellites pour calculer sa position. Plus
le nombre de satellites est important plus la prcision est meilleure.

Conclusion
Dans ce troisime chapitre nous avons vu lessentiel sur deux rseaux diffrentes
chelles, lun pour la transmission sans fils des coordonnes de la position de la personne voulu
et lautre pour la golocalisation du dernier en cas durgence. Dans le chapitre suivant nous
allons dtailler notre ralisation.
22
Chapitre 3 : Mise en application de la golocalisation

Chapitre 3 : Mise en application de la golocalisation

Introduction
Dans ce chapitre, on entame la ralisation concrte du projet, aprs avoir explor la partie
thorique, ensuite la dfinition des spcifications des exigences.

On a commenc par la prsentation de la problmatique, ensuite on a propos une


solution pour cette problmatique, avec le dtail de ces diffrents outils utiliser, et pour ce
chapitre on entame tous ce qui est en relation avec le dveloppement de notre application
Android.

Mthodologie et conception
L'analyse et la conception d'un projet informatique ncessitent l'utilisation d'un langage
de modlisation et d'une mthode ou dmarche de dveloppement approprie. Ce sont des outils
d'aide la conception qui permettent la description du systme logiciel par les diagrammes, pour
une meilleure comprhension de celui-ci par les acteurs travers les cas d'utilisation, les
diagrammes de squences mais surtout une participation et une collaboration active entre
informaticiens et acteurs du systme travers le recueil d'information. L'ensemble des rgles de
modlisation peut tre appuy par un processus dont le rle est d'assurer l'harmonie au sein d'un
ensemble d'lments coopratifs, et d'expliquer comment il convient de se servir du langage de
modlisation.

Le langage de modlisation
Pour programmer une application, il ne convient pas de mettre l'accent que sur l'criture
du code. Il faut d'abord organiser ses ides, les documenter, puis organiser la ralisation en
dfinissant les modules et tapes de la ralisation. C'est cette dmarche antrieure l'criture
que l'on appelle modlisation, son produit est un modle.
Cette modlisation ncessite l'utilisation d'un langage permettant la description du
systme logiciel ainsi que sa comprhension par ses futurs utilisateurs. Pour ce faire, nous
23
Chapitre 3 : Mise en application de la golocalisation

choisissons UML (Unified Modeling Langage) comme langage de modlisation de notre


systme, car il comble une lacune importante des technologies objets et parce que nous sommes
trs familiers ce langage. Il permet d'exprimer et d'laborer des modles objet,
indpendamment de tout langage de programmation. De plus, grce sa notation graphique, il
permet d'exprimer visuellement une solution objet, ce qui facilite la comparaison et l'valuation
de solutions. Enfin, l'aspect formel de sa notation limite les ambiguts et les incomprhensions.

Les diagrammes de modlisation

Le diagramme de cas d'utilisation

Le diagramme de cas d'utilisation reprsente la structure des grandes fonctionnalits


ncessaires aux utilisateurs du systme. C'est le premier diagramme du modle UML, celui o
s'assure une relation entre l'utilisateur et les objets que le systme met en uvre. Il reprsente la
structure des fonctionnalits ncessaires aux utilisateurs du systme. Pour ce qui est de notre
projet, nous l'utilisons lors des tapes de capture des besoins fonctionnels et techniques dans
notre processus de dveloppement. Cette procdure est efficace car elle permet de cerner tous
les besoins de l'utilisateur avant la ralisation du projet.
N Cas dutilisation

Crer un compte
1
Ouvrir le compte
2
Envoyer une invitation
3
Accepter une invitation
4
Lister les personnes localiser
5
Choisir la personne localiser
6
Afficher la position sur Google Maps
7

Tableau 2: Les cas dutilisation du systme


24
Chapitre 3 : Mise en application de la golocalisation

Figure 13: Diagramme de cas d'utilisation

Le diagramme de classe

Le diagramme de classes dfinit la structure statique du systme en montrant les objets


dans le systme, les relations entre les objets, les attributs et les oprations qui caractrisent
chaque classe d'objet. Il intervient au niveau de la branche fonctionnelle de notre processus. Il a
servi dans le cadre de notre projet reprsenter la structure des entits manipules par
l'utilisateur.

Description des classes

Description de la classe USER

Le tableau suivant prsente la description de la classe USER .


CLASS : USER

Cette classe permet de stocker les informations sur un utilisateur dsirant avoir un compte
qui va lui servir communiquer avec les autres utilisateurs.

Attributs
25
Chapitre 3 : Mise en application de la golocalisation

Nom Type Signification

Id Integer Cl primaire et identifiant


de la classe.

Username Varchar Pseudo de l'utilisateur

Password Varchar Mot de passe du compte

Firstname Varchar Prnom de lutilisateur

Lastname Varchar Nom de famille de


lutilisateur

Sex Varchar Sexe de lutilisateur

Latitude Double Coordonne de position

Longitude Double Coordonne de position

Acltitude Double Coordonne de position

Accuracy Double Coordonne de position

Associated_with Varchar Noms des autres utilisateurs


permirent de les positionnes

Tableau 3: La description de la classe USER

Description de la classe INVITATION

Le tableau suivant prsente la description de la classe INVITATION .


CLASS : INVITATION

Cette classe permet denvoyer les informations pour un utilisateur qui a un compte. Qui
va lui servir communiquer avec les autres utilisateurs.

Attributs
26
Chapitre 3 : Mise en application de la golocalisation

Nom Type Signification

Id Integer Cl primaire et identifiant


de la classe

From Integer Lid de lutilisateur qui


envoi linvitation

To Integer Lid de lutilisateur qui


reoit linvitation

Tableau 4: La description de la classe INVITATION

Description de la classe INVITATION_Response

Le tableau suivant prsente la description de la classe INVITATION .


CLASS : INVITATION_RESPONSE

Cette classe permet denvoyer les informations pour un utilisateur qui a un compte. Qui
va lui servir communiquer avec les autres utilisateurs.

Attributs

Nom Type Signification

Id Integer Identifiant de la classe


invitation_response

Invitation_id Integer Identifiant de la classe


invitation

Accepted Integer Rponse accept / non

Response_viewed Integer Si la rponse vue / non

Tableau 5: La description de la classe INVITATION_RESPONSE


27
Chapitre 3 : Mise en application de la golocalisation

Le diagramme d'activit

Le diagramme d'activit n'est autre que la transcription dans UML de la reprsentation


du processus telle qu'elle a t labore lors du travail qui a prpar la modlisation : il montre
l'enchanement des activits qui concourent au processus. Il intervient dans la branche gauche
de notre processus de dveloppement dans la phase d'analyse.

Figure 14: Diagramme d'activit du cas : Afficher la position dune personne


Le diagramme de squence

Le diagramme de squence permet de reprsenter la succession chronologique des


oprations ralises par un acteur. Il indique les objets qui seront manipuls par l'acteur et les
oprations. Il reprsente les messages changs entre les objets dans un ordre chronologique. Il
donne une notion temporelle aux messages. Nous l'utilisons au niveau de la branche
fonctionnelle de notre processus pour reprsenter l'opration de positionner un utilisateur de
notre application la personne positionn sur Google Maps.
28
Chapitre 3 : Mise en application de la golocalisation

Schma synoptique de la solution de la golocalisation


La figure suivante montre le schma synoptique de la solution de la golocalisation qui
vise, surtout, illustrer le principe de fonctionnement dans ses grandes lignes.

Une localisation distance pour aider une personne mieux grer le positionnement de
leurs membres de famille.

Figure 15: Schma synoptique de la solution de la golocalisation

Technologies utilises
Pour assurer la communication entre la base de donnes et l'application nous avons
utilis la technique la plus rpandue qui est la suivante :
L'application envoie des donnes aux scripts PHP sous forme de requte vers le serveur
MySQL grce au protocole http, le serveur son tour analyse la requte et renvoie la rponse
sous forme de fichiers JSON l'application qui fait la lecture de ces fichiers. Le client ici est la
plateforme Android, le serveur Web est PHP et le serveur de base de donnes est MySQL.
29
Chapitre 3 : Mise en application de la golocalisation

Dans la partie suivante, nous aborderons la prsentation des outils qui ont servi la
ralisation de ce projet en prsentant l'environnement logiciel et par la suite l'environnement de
travail.

Figure 16: Architecture gnrale de l'application

Serveur de base de donnes MYSQL


Notre choix s'est port sur le serveur de base de donnes MYSQL pour de nombreuses
raisons :
C'est un SGBD gratuit et disponible sur de nombreuses plateformes (Unix, Linux,
Windows, MacOs X, etc.). Il s'intgre au sein de nombreux serveurs web (Apache, etc.) et est
beaucoup plus adapt des petites bases de donnes.
MySQL est un serveur de base de donnes trs utilis dans le monde. Il est rapide,
robuste, facile utiliser et administrer et dispose d'une documentation complte
PHP
Le langage PHP est le langage utilis pour dvelopper notre API.

Les logiciels utiliss :


A ce niveau nous allons vous prsenter les logiciels qui ont t utiliss pour le
dveloppement de l'application.
Android Studio
Android Studio est l'environnement de dveloppement que Google propose ses
dveloppeurs pour crer des applications Android.

Genymotion
30
Chapitre 3 : Mise en application de la golocalisation

Genymotion est l'un des meilleurs mulateurs Android disponibles gratuitement au


tlchargement. Le logiciel, la fois performant et simple d'utilisation, conviendra aux curieux
comme aux dveloppeurs Android.

La Notion MVC
Le dveloppement des applications sous Android est associ la notion de modle-vue-
contrleur (MVC).
L'approche MVC vise dcomposer un programme en trois parties :
Le Modle est la reprsentation code du comportement d'un bouton par exemple.
La Vue constitue la couche graphique, intgrant les boutons, les zones de textes, les images
Le Contrleur agit comme une liaison entre la vue et le modle.
Ce dcoupage permet de simplifier le dveloppement en isolant le code mtier (le
modle) de l'interface graphique (vue) et de leurs interactions (contrleur). Ainsi la modification
de l'un n'impose pas la rcriture des autres, optimisant ainsi la ralisation et la maintenance des
projets. [7]
Il permet de distinguer la notion d'interface graphique, qui peut tre par exemple
dlgue un graphiste, des interactions (appui sur un bouton etc.) et des actions lies aprs
intervention de l'utilisateur.

Description fonctionnelle de la solution propose


Comme nous pouvons le voir sur le schma synoptique prcdent, du point de vue
fonctionnel, la solution propose pour la golocalisation dun membre ou plusieurs membres de
la famille peut tre subdivise en quatre principales parties : une pour linscription de la
personne localiser et une autre pour la rcupration des coordonnes du GPS et pour lenvoi
de ces derniers une base de donnes , pour la troisime partie cest la rcupration des
31
Chapitre 3 : Mise en application de la golocalisation

coordonnes de la base de donnes & quatrimement cest laffichage des coordonnes sur
Google Map.

Cette Figure est un schma synoptique pour avoir une ide du fonctionnement de notre
application et linteraction entre activits et service avec lAPI et Base de donnes.

Figure 17: Schma synoptique dinteraction entre activits et services et API et Base de donnes

Partie I : Linscription de la personne localiser

Une fois lutilisateur est inscrit et connect dans lapplication, une mise jour de
localisation se fera priodiquement et envoy notre API sous forme POST. LAPI ensuite va
connecter notre base de donnes, pour faire la mise jour ncessaire des coordonnes
gographiques de cet utilisateur, afin de permettre aux personnes autorises de rcuprer sa
dernire position gographique.

Partie II : Envoi des coordonnes GPS la base de donnes


Pour ce faire, du point de vue programmation, lune de nos Activits doit implmenter
linterface LocationListener. Nous utiliserons ensuite lobjet LocationManager pour grer notre
abonnement aux mises jour des coordonnes GPS du tlphone.

Comme notre Activit implmente linterface LocationListener, quatre mthodes sont


surcharger :

onProviderEnabled() : cette mthode est appele lorsquune source de localisation est


32
Chapitre 3 : Mise en application de la golocalisation

active ;
onProviderDisabled() : cette mthode est appele lorsquune source de localisation
est dsactive ;
onStatusChanged() : cette mthode est appele lorsque le statut dune source change
;
onLocationChanged() : cette mthode est appele lorsque les coordonnes GPS du
tlphone changent.

Pour ne pas consommer trop de data et conomiser de la batterie, il convient de sabonner


la localisation GPS de lutilisateur uniquement quand cest ncessaire.

A noter quil est galement possible de faire une golocalisation approximative grce
aux rseaux (Wifi, GSM, etc.).

Il convient dajouter une autorisation, nous permettant de rcuprer les coordonnes GPS
de lutilisateur. Pour ce faire, nous devons ajouter la ligne suivante au fichier Manifest :

<uses-permission android : name= android.permission.ACCESS_FINE_LOCATION"/>

Partie : Rcuprations des coordonnes GPS de la base de donnes


Pour cette partie on va expliquer comment la rcupration des coordonnes gographique
va se faire.

Lapplication envoie les informations ncessaires dun utilisateur localiser sous forme
POST notre API.

Les fonctions/classes utilises pour envoyer les donnes sont :

La classe HttpUrlConnection pour connecter notre API.


BufferedWriter pour remplir les donnes envoyer.
Les classes utilises au niveau de lAPI sont :

La classe PDO pour connecter la base de donnes et rcuprer


lenregistrement concern sous forme dun objet.
La fonction json_encode() pour formatter lobjet obtenue sous forme JSON.
Les classes/mthodes utilises pour la rponse la requte :
La classe BufferedReader pour la lire le rsultat de la rponse obtenue
La classe JSONObject pour lire le format JSON partir dune chane de
33
Chapitre 3 : Mise en application de la golocalisation

caractre.
Les classes/mthodes utilises pour mettre la position gographique dans Map de
Google :

La classe GoogleMap pour attribuer diffrentes options sur le Map de google.


La mthode addMarker() pour mettre la position dans le Map.

Partie IV : Reprsentation des coordonnes sur Google Maps

Dans ce qui suit, on va essayer de dcrire grossirement les diffrentes tapes pour
parvenir utiliser les cartes Google Maps. Il faut tout dabord installer et configurer Google
Play Services, disponible dans le SDK Manager.

Figure 18: SDK Manager

Puis, on connecte avec un compte Google afin de rcuprer une cl API ladresse suivante :
https://console.developers.google.com/, puis on active lAPI Google Maps Android
API .Nous crons un projet laide du bouton Create :
34
Chapitre 3 : Mise en application de la golocalisation

Figure 19: Boite de dialogue pour crer un projet

Figure 20: Les diffrents API existants


35
Chapitre 3 : Mise en application de la golocalisation

On clique sur le bouton API Access situ sur la barre de navigation :

Figure 21: Cl API SHA-1 Fingerprint

<meta-data
android:name="com.google.android.maps.v2.API
_KEY" android:value="API_KEY" />

Nous rajoutons aussi les lignes suivantes, afin de dclarer une permission ncessaire
lutilisation de Google Map :

<permission
android:name="com.google.android.gmapv2.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission
android:name=" com.google.android.gmapv2.permission.MAPS_RECEIVE" />
36
Chapitre 3 : Mise en application de la golocalisation

Ainsi que les permissions (commentes) suivantes :

<!-- Permission pour utiliser la connexion internet -->


<uses-permission android:name="android.permission.INTERNET" />
<!-- Permission permettant de vrifier l'tat de la connexion -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Permission pour stocker des donnes en cache de la map -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICE
Afin de pouvoir utiliser Google Map V2 sur un appareil, celui-ci ncessite la prsence de la
librairie OpenGL ES Version 2. Les lignes suivantes permettent de rendre lapplication
indisponible aux appareils qui ne possdent pas cette version dOpenGL.

<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
37
Conclusion gnrale

Conclusion gnrale
Dans le cadre de notre projet de fin dtude on a trait le sujet intitul Dveloppement
dune application Android de golocalisation via GPS ou rseaux mobiles .

Dans le premier chapitre on a focalis sur la description de la plateforme Android, tels


que les diffrentes couches du systme Android, les composants dune application, les
fonctionnalits qui permettent dexploiter les capteurs embarqu dun smartphone.

Dans le deuxime chapitre on a vu deux diffrentes technologies permettant la


localisation et ce sont : GPS qui est une technologie qui repose sur lutilisation des satellites,
GSM qui est une technologie qui repose sur lutilisation des stations de base.

Dans le troisime chapitre on a introduit les diffrents outils ayant une relation avec le
dveloppement de notre application Android, on a utilis un API permettant de faire un lien
entre notre base de donnes et notre application afin de modifier, rcuprer, insrer ou met
jour les enregistrements.

Pour la suite de notre projet on va essayer damliorer lapplication, de telle sorte quelle
soit plus adaptative par rapport lhistorique des rsultats obtenus prcdemment.

.
Bibliographie

[1] F. Espiau, Crez des applications pour Android, Le livre du zero, 2012.
[2] H. Cerille, Apprenez prengrammer en java, Le livre du zero, 2011.
[3] [En ligne]. Available: www.futura-sciences.com/magazines/high-
tech/infos/dico/d/smartphone-3g-2008/.
[4] P. Correia, Guide pratique du GPS, Eyrolles, 2012.
[5] J.-L. Cosandier, Principes gnraux de la localisation par satellites, Snastro, 2003.
[6] A. El-Rabbany, Introduction to GPS: The Global Positioning System, Amazon, 2002.
[7] B. SidiAliMebarek, Queue Management System using SMS, Oran, 2015.

Vous aimerez peut-être aussi