Remerciements
IL m’est plaisant, avant d’entamer l’exposition de ce travail, d’exprimer toute ma gratitude envers
les personnes qui ont, de prés ou de loin, contribué à la réalisation de ce projet.
J’adresse tout d’abord mes sincères remerciements aux intervenants professionnels respon-
sables à ma formation au sein de l’équipe de la société Instance-IT, pour leurs soutiens, leurs
encadrements de qualité et leurs conseils judicieux tout au long de mon stage.
Mes vifs remerciements vont également aux membres du jury pour m’avoir accordé leur at-
tention.
Je tiens finalement à exprimer mon adoration et mon respect profond envers mes chers col-
lègues de l’ENSI.
Table des matiŁres
Introduction générale
1 Présentation du cadre du projet
1.1 Cadre général du sujet de stage
. . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Présentation de l’organisme d’accueil
. . . . . . . . . . . . . . . . . . . . . .
1.3 Méthodologie suivie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
2 Etat de l’art
2.1 L’informatique Ubiquiste . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
2.1.1
Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 L’informatique mobile . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.1
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.2
Les Smartphones
. . . . . . . . . . . . . . . . . . . . . . .
2.2 Le système d’exploitation Android
. . . . . . . . . . . . . . . . . . . . . .
2.2.1 Définition
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
2.2.2 Caractéristiques
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Architecture .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Applications proposées . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Les outils et techniques de géo-localisation et d’orientation sous Android.
. .
.
2.3.1 Google Maps API
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
10
10
10
11
13
13
13
14
14
14
16
16
16
17
18
19
19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ENSI
2.3.2 Le GPS .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
2.3.3 Android Radar
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 Android Compass
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Etude de l’existant
3.1 Applications de géolocalisation de voiture . . . . . . . . . . . . . . . . . . . .
3.2 Critique de l’existant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Solution proposée
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
4 Analyse et spécification des besoins
4.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
4.1.1 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Les besoins non fonctionnels
. . . . . . . . . . . . . . . . . . . . . .
4.2 Analyse des besoins .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
4.2.1
Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Langage de modélisation . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3 Diagrammes des cas d’utilisation . . . . . . . . . . . . . . . . . . .
.
.
5 Conception
5.1 Conception générale
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
5.1.1 Les composants d’une application Android . . . . . . . . . . . . . . .
5.1.2 Conception architecturale
. . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.4 Approche Orientée Objet . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Conception détaillée
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
5.2.1 Diagramme de classes
. . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Réalisation
6.1 Environnement de travail
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
Rapport de Stage d’Immersion en Entreprise | 2010
19
20
20
21
21
22
22
24
24
24
25
26
26
26
26
28
28
28
30
30
32
32
32
33
37
37
iii
ENSI
TABLE DES MATIERES
6.1.1 Environnement matériel
. . . . . . . . . . . . . . . . . . . . . . . . .
6.1.2 Environnement logiciel
. . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Les technologiques utilisées
. . . . . . . . . . . . . . . . . . . . . . . . . .
.
6.2.1 Eclipse .
. .
Publicité
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Le plugin ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3
Software Development Kit (SDK) . . . . . . . . . . . . . . . . . . . .
6.2.4 Les langages de programmation . . . . . . . . . . . . . . . . . . . . .
6.2.4.1
JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.4.2 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3
Interface Homme/Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Chronogramme du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
Conclusion générale
Bibliographie
Netographie
Annexe
Glossaire
.
.
.
.
.
.
.
.
.
.
.
37
37
38
38
38
38
38
38
39
39
45
48
49
50
51
55
Rapport de Stage d’Immersion en Entreprise | 2010
iv
Table des (cid:28)gures
1.1 Cycle de vie d’un projet XP . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Les applications d’un Smartphone . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Les ventes des Smartphones par système d’exploitation . . . . . . . . . . . .
.
2.3 Architecture d’Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Diagramme des cas d’utilisation de notre système . . . . . . . . . . . . . . . .
5.1 Composition d’une application Android . . . . . . . . . . . . . . . . . . . . .
5.2 Architecture MVC .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Diagramme de classes du système . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Diagramme de séquences associé au mode On-Line . . . . . . . . . . . . . . .
5.5 Diagramme de séquences associé au mode Off-Line . . . . . . . . . . . . . . .
5.6 Diagramme de séquences associé à l’envoie d’SMS . . . . . . . . . . . . . . .
6.1 Fenêtre d’acceuil
6.2 La section about .
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
6.3 Connexion du PC à l’émulateur
. . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Envoie des coordonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5 Marquage de la voiture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6 Affichage des positions sur la carte . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
15
15
18
27
30
31
33
34
35
36
40
41
41
42
42
43
ENSI
TABLE DES FIGURES
6.7 Simulation de l’envoie d’SMS . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8 Affichage de la cible en mode Off-Line
. . . . . . . . . . . . . . . . . . . .
6.9 Chronogramme du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
6.10 Le cycle de vie d’une activité Android . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
44
45
46
53
Rapport de Stage d’Immersion en Entreprise | 2010
vi
Liste des tableaux
2.1 Les Caractéristiques du système d’exploitation Android . . . . . . . . . . . . .
3.1 Comparaison des applications de géolocalisation de voiture . . . . . . . . . . .
6.1 Arborescence d’un projet Android . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
17
22
52
Introduction générale
"L es mobiles sont aussi différents de l’internet que la télé l’a été de la radio", a annoncé
Tomi Ahonen, meilleur auteur technologique et médiatique à succès, consultant de
stratégie et orateur motivationnel.
Les téléphones portables sont devenus les premiers médias de masse dans le monde (on
compte 4 milliards d’abonnés au téléphone mobile). Il n’est pas un PC plus bête, mais un té-
léphone portable est considéré comme un autre support à générer des formes médiatiques.
Il a subit une évolution à une vitesse surprenante, passant du premier téléphone portable inventé
par Dr Martin Cooper -un directeur général de Motorola- en 1973 qui a été la première personne à
faire un appel depuis son téléphone portable, aux ordiphones, PDA et Smartphones qui disposent
d’un système d’exploitation adoptant des applications tierces qui leur sont dédiées.
L’invention du premier PDA au monde, Le PenPad conçu par Apple, était dans le but de
pouvoir prendre des notes, gérer son agenda, ses adresses, effectuer des calculs, etc, sans avoir à
s’encombrer d’un ordinateur portable ou d’un bloc notes.
Aujourd’hui ces périphériques ont atteint une puissance de calcul, une taille mémoire ainsi
qu’un débit nécessaire pour faire tourner des applications aussi diverses que variées qui vont de
l’Outlook mobile jusqu’aux applications de navigation GPS.
Les plates-formes de distribution de ces applications sont en plein essor, Windows Phone 7 à son
magasin d’applications, l’iPhone à l’App Store, Android à son Market, etc.
Ce qui ne cesse d’inciter beaucoup de développeurs à l’élaboration des petits logiciels très
ENSI
INTRODUCTION GENERALE
prisés en profitant des multiples apports des plateformes présentes sur le marché et des diverses
innovations technologiques (Wifi, GPS, GPRS, etc.).
En effet, la géolocalisation du GPS des « téléphones intelligents » est très utile aux applications
comme les annuaires, portails et autres outils permettant de trouver ce que l’on cherche autour
d’un lieu, répondant par la fin aux besoins quotidiens de la communauté.
C’est dans ce cadre que s’inscrit notre projet de stage d’été, intitulé « Locate My Car » dont
l’objectif est de concevoir une application dédiée au téléphone mobile, doté de la plateforme
Android, permettant à son propriétaire la géolocalisation de sa voiture en cas d’oubli ou de perte,
grâce aux outils et techniques de géolocalisation et d’orientation offerts par cette plateforme.
Pour ce faire, nous procédons par une étude théorique afin de mieux cerner le contexte de
notre travail. Cette étude fait partie des objectifs de notre rapport qui est subdivisé en six cha-
pitres : Le premier chapitre est consacré à la mise en relief du cadre de développement de notre
application. Le second chapitre se focalise sur la base théorique et les technologies utilisées pour
réaliser le travail requis. Dans le troisième chapitre nous effectuons une étude de l’existant afin
d’étudier d’une manière critique quelques applications présentes au marché traitant la probléma-
tique de notre projet, et présenter la solution retenue. Dans le chapitre qui suit, baptisé« Analyse et
spécification des besoins », nous identifions les besoins fonctionnels et non fonctionnels auxquels
doit répondre notre application, en les modélisant à travers le diagramme des cas d’utilisation.
Quant au cinquième chapitre, il porte une démonstration de la conception adoptée pour répondre
aux besoins précédemment cités. Enfin, nous finissons par faire une illustration des détails de la
réalisation de notre travail.
Rapport de Stage d’Immersion en Entreprise | 2010
9
1
Présentation du cadre du projet
NOUS commençons dans ce premier chapitre par une mise en contexte de notre projet, en
spécifiant le cadre de son élaboration, présentant l’organisme d’accueil au sein duquel nous avons
effectué le stage relatif au présent projet ainsi qu’un survol sur la méthodologie suivie pour réaliser
ce travail.
1.1 Cadre général du sujet de stage
Notre projet intitulé « Locate My Car » a été proposé dans le cadre de l’élaboration d’un
stage d’Immersion en Entreprise, inclus dans la formation d’ingénieur informaticien de l’ENSI.
Ce stage a été effectué au sein de l’organisme Instance-IT.
1.2 Présentation de l’organisme d’accueil
Instance-IT est une société de développement informatique qui s’ingénie à l’intégration des
progiciels Open Source en Tunisie, et qui offre des solutions et des services totalement person-
Publicité
nalisables et moins couteux. Ces solutions sont fruits des projets réalisés en interne ou offshores
dans divers domaines de compétence grâce à une équipe expérimentée dotée d’une parfaite mai-
trise des dernières technologies et normes de qualités.
Instance-IT propose des services de :
ENSI
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
– Desktop Application : développement et maintenance de logiciels, assistance et conversion
des logiciels.
– Web Application : conception et maintenance de sites internet, relooking de sites web exis-
tant.
– SEO(Search Engine Optimisation) :inscription dans les moteurs de recherche et position-
nement,reporting de l’impact des méthodes implémentées.
Ainsi que des solutions de :
– Création de sites web.
– Stratégie web.
– Référencement et positionnement de sites web.
– Commerce électronique
1.3 Méthodologie suivie
Le développement de notre application mènera la méthodologie eXtreme Programming (XP).
Cette méthodologie s’appuie sur quatre valeurs clés :
– La communication : La communication est omniprésente entre tous les intervenants.
– La simplicité : Pour éviter une complication du système qui pourrait n’avoir jamais l’uti-
lité, il est préférable d’aller au plus simple et de rajouter des fonctionnalités à une étape
prochaine.
– Le Feedback : Il est indispensable pour que le projet puisse accueillir le changement.
– Le Courage : Il concerne aussi bien les développeurs que le client.
En outre, le cycle de vie d’un projet XP repose sur quatre étapes représentées comme suit :
– une phase d’exploration pour déterminer les scénarios clients qui seront fournis pendant
cette itération.
– L’équipe transforme les scénarios en tâches à réaliser et en tests fonctionnels.
– Chaque développeur s’attribue des tâches et les réalise avec un binôme.
– Lorsque tous les tests fonctionnels passent, le produit est livré.
Rapport de Stage d’Immersion en Entreprise | 2010
11
ENSI
CHAPITRE 1. PRÉSENTATION DU CADRE DU PROJET
Ce cycle se répète tant que le client peut fournir des scénarios à livrer, comme l’explique la figure
1.1.
FIGURE 1.1 – Cycle de vie d’un projet XP
Conclusion
Dans ce chapitre, nous avons exposé le contexte du sujet de notre projet et présenté l’entreprise
au sein de laquelle notre stage a été effectué, finissant par énumérer les étapes suivies pour rédiger
ce présent rapport.
Rapport de Stage d’Immersion en Entreprise | 2010
12
2
Etat de l’art
CE chapitre portera sur une étude théorique sur les technologies de base adoptées pour réaliser
notre projet.
Nous allons commencer par introduire l’informatique ubiquiste pervasive pour aboutir à la
définition de l’informatique mobile et ses dispositifs appropriés.
Nous définirons par la suite le système d’exploitation Android et ses techniques de géolocali-
sation et d’orientation élues nécessaires pour la réalisation de notre travail.
2.1 L’informatique Ubiquiste
2.1.1 Introduction
Nous appellons informatique ubiquiste ou pervasive (Pervasive Computing) la tendance à l’in-
formatisation et la miniaturisation des dispositifs électroniques en les intégrant dans tout objet du
quotidien.
Cette informatique s’est rapidement développée grâce au progrès technique des systèmes de
communication (réseaux sans fil) et de la microélectronique.
Assurant plus de liberté, l’informatique ubiquitaire permet à l’utilisateur d’affranchir les contraintes
actuelles d’utilisation d’un ordinateur en rendant accessible toutes sortes de services indépendam-
ment de la localisation.
ENSI
CHAPITRE 2. ETAT DE L’ART
De ce fait, la mobilité et la liberté du déplacement semblent être le premier avantage tiré de
l’ubiquité.
2.1.2 L’informatique mobile
2.1.2.1 Présentation
L’informatique mobile s’inscrit sous l’approche globale de l’informatique ubiquitaire.
Historiquement, elle a été autour depuis 1992. Depuis lors, elle constitue un outil de commu-
nications très puissant pour les entreprises et les utilisations personnelles.
Les supports qui lui ont étés développé ont repris l’industrie sans fil. Il s’agissait des entités
mobiles communicantes et parfois de très petites tailles permettant de se connecter aux différents
types de réseaux tant qu’ils disposent des périphériques appropriés. Les Smartphones en font
partie.
2.1.2.2 Les Smartphones
Un Smartphone est un téléphone « intelligent », appelé aussi ordiphone.
C’est un appareil dédié aux communications mobiles, disposant d’un système d’exploitation ou-
vert et adoptant des applications tierces développées par le fabricant, par l’opérateur ou par un
éditeur de logiciel.
Ce téléphone fournit un module de radiocommunication (pour la voix et l’échange de don-
nées), des fonctionnalités bureautiques (agenda, calendrier, navigation web, email, messagerie
instantanée, GPS, etc.) ainsi que des fonctionnalités multimédia (photo, musique, vidéo et jeux)
comme l’explique la figure 2.1.
Rapport de Stage d’Immersion en Entreprise | 2010
14
ENSI
CHAPITRE 2. ETAT DE L’ART
FIGURE 2.1 – Les applications d’un Smartphone
En effet, les smartphones sont dotés d’un système d’exploitation qui gère leurs fonctionnalités.
En Mai 2010, les systèmes d’exploitation les plus répandus sont : Symbian (racheté par Nokia),
Windows Mobile (développé par Microsoft), OS X développé par Apple sur l’iPhone, Android
(racheté par Google), Black Berry développé par RIM et Linux. Ils sont illustrés sur la figure 2.2.
FIGURE 2.2 – Les ventes des Smartphones par système d’exploitation
Rapport de Stage d’Immersion en Entreprise | 2010
15
ENSI
CHAPITRE 2. ETAT DE L’ART
2.2 Le système d’exploitation Android
2.2.1 Définition
L’histoire de la naissance d’Android a commencé en aout 2005, lorsque Google a acquis An-
droid INC, une startup qui développait des applications pour téléphones mobiles.
Depuis lors, Andy Rubin, étant un ancien d’Android INC, a entamé son travail sur un système
d’exploitation basé sur un noyau linux dédié aux appareils mobiles.
En 2007, le 5 novembre, l’Open Handset Alliance fut officiellement annoncée. C’est un consor-
tium qui réunit un ensemble de sociétés, ayant pour but de développer des standards open source
pour terminaux mobiles. Le 15 novembre, le premier standard a été annoncé. Il s’agissait d’An-
droid, une plateforme pour appareils mobiles.
En effet, Android représente un système d’exploitation open source dédié pour Smartphones,
PDA et terminaux mobiles. Il est basé essentiellement sur la simplicité d’utilisation et surtout sur
une capacité de customisation importante présentant un argument commercial de poids.
Pour promouvoir ce système d’exploitation open source, Google lui a conféré des alliés puis-
sants réunis au sein de l’Open Handset Alliance tel que Samsung, Motorola, Sony Ericsson et
LG.
Les principaux concurrents d’Android sont Apple avec iPhone OS qui équipe l’iPhone, Re-
search In Motion avec BlackBerry OS, Palm avec Nova ou webOS, Microsoft et son Windows
Mobile, etc.
2.2.2 Caractéristiques
Le système d’exploitation Android est doté d’un ensemble de caractéristiques intrinsèques
faisant de lui un terrain d’application lucratif. Les principales caractéristiques sont résumées dans
le tableau 2.1.
Rapport de Stage d’Immersion en Entreprise | 2010
16
ENSI
CHAPITRE 2. ETAT DE L’ART
TABLE 2.1 – Les Caractéristiques du système d’exploitation Android
2.2.3 Architecture
Android bénéficie d’une architecture en couche complète faisant de lui une plateforme riche,
dédiée aux appareils mobiles.
Il est à base de noyau linux profitant des services système de base tels que la sécurité, la
gestion mémoire, gestion de processus, etc.
À un niveau supérieur se trouvent un ensemble de librairies écrites en C/C++ jouant le rôle
d’un middleware (on en cite le système de bibliothèque C, les médiathèques, le SGL, etc.). C’est
sur cette couche que se greffe l’Android Runtime, comprenant la machine virtuelle java et ses
bibliothèques.
Vient ensuite la plateforme logicielle, nommée aussi Framework de développement, écrite en
java et permettant de mutualiser les ressources entre applications Java. Elle offre aux développeurs
la possibilité de produire des applications diverses et innovantes à travers un ensemble d’API.
Enfin, et à un niveau plus supérieur se situe un ensemble d’applications sous forme de paquets
.apk.
Rapport de Stage d’Immersion en Entreprise | 2010
17
ENSI
CHAPITRE 2. ETAT DE L’ART
Les applications fournies par Android sont telles qu’un navigateur web, un client mail, un calen-
drier, un gestionnaire de contacts, etc.
Cette architecture est synthétisée sur la figure 2.3.
FIGURE 2.3 – Architecture d’Android
2.2.4 Applications proposées
Etant conçu par Google, l’intégration des applications existantes de Google dans la plate-
forme Android était la première cible, comme Gmail, Google Maps, Google Calendar, Google
Talk, etc. En addition, Android accueille les applications développées par d’autres développeurs
que Google, ce qui offre à ce dernier un apport commercial important. Il s’agit des applications in-
novantes dans des divers domaines tel que : le multimédia, la navigation GPS, la météo, la finance,
etc. Ces applications peuvent être gratuites comme payantes. Elle sont accessibles depuis les télé-
phones Android. Les propriétaires de ces téléphones profitent d’une boutique de téléchargement
d’application en ligne appelée Android Market.
Rapport de Stage d’Immersion en Entreprise | 2010
18
ENSI
CHAPITRE 2. ETAT DE L’ART
2.3 Les outils et techniques de géo-localisation et d’orientation
sous Android.
2.3.1 Google Maps API
L’API Google Maps est l’une des applications de cartographie les plus utilisées au monde.
C’est une application de service de géolocalisation gratuite en ligne. Il s’agit d’un géoportail lancé
il y a quelques années aux Etats-Unis puis à l’Europe.
Elle offre une vue de carte sur quatre plans à savoir un plan classique, un plan en image satel-
lite, un plan mixte et un plan relief de la région.
Pour intégrer ces cartes interactives Google Maps à son propre application et bénéficier des
données associées, l’utilisateur doit disposer d’une clé (Google Map API Key) propre à son do-
maine d’utilisation [N5].
2.3.2 Le GPS
C’est un système de positionnement par satellite connu sous le nom du « Global Positioning
System », conçu à l’origine par le département de la Défense des Etats-Unis. Il repose sur 24
satellites qui transmettent les positions en orbite ainsi que des signaux horaires.
Couplé avec un logiciel de navigation, le GPS permet à l’utilisateur de connaître sa position,
planifier son itinéraire, estimer son temps du trajet, connaitre la localisation des radars, etc. Il
renvoie même la vitesse de son déplacement à chaque instant. En outre, le positionnement par
satellite est entièrement gratuit, mais pour s’en servir il faut disposer d’un équipement GPS qui
est à acheter.
Profitant de cette technologie, Google a créé Google Maps Navigation. Il s’agit d’un service
de guidage par GPS ou encore un système de navigation GPS, gratuit disponible sur les téléphones
Android.
Rapport de Stage d’Immersion en Entreprise | 2010
19
ENSI
CHAPITRE 2. ETAT DE L’ART
2.3.3 Android Radar
En exploitant le Framework ouvert offert par Android, plusieurs applications sont disponibles
chez Android Market, dont le radar d’Android. Ce logiciel de géolocalisation se sert du GPS pour
déterminer selon la position actuelle de son utilisateur celle de sa cible en plus de la distance qui
les sépare.
2.3.4 Android Compass
Pour s’orienter dans l’espace, certains téléphones Android embarquent une boussole numé-
Publicité
rique avec l’accéléromètre (pour calculer la vitesse) et les capteurs de position. Parmi les appli-
cations qui tirent avantage de cette boussole on cite Google Maps qui s’en servit ainsi que de
l’accéléromètre pour offrir une Street View de la carte.
Conclusion
Tout au long de ce chapitre, nous avons introduit l’informatique mobile dans son contexte ainsi
que donné des définitions précises du support et de la plateforme adoptés. Nous avons ensuite énu-
méré les technologies utilisées pour réaliser ce projet, pour garantir une meilleure compréhension
du sujet du stage et des fonctionnalités du système.
Rapport de Stage d’Immersion en Entreprise | 2010
20
3
Etude de l’existant
APRÉS avoir fait une étude approfondie sur les notions et les techniques de base du dévelop-
pement de notre application, nous passerons à une étude critique et comparative des applications
existantes afin d’introduire notre solution proposée.
3.1 Applications de géolocalisation de voiture
En bénéficiant de la plateforme Android, les développeurs ne cessent de se conquérir pour
satisfaire les besoins de la communauté en offrant des solutions aux divers problèmes quotidiens,
dont la géolocalisation de voiture en cas de perte ou oubli de son endroit.
Quoique leur but soit le même, les applications disponibles pour les téléphone Android trai-
tant ce problème sont assez nombreuses et variées. Elles se diffèrent en termes de technologies et
outils employés.
Pour notre étude, nous en avons sélectionné quelques unes dans un tableau récapitulatif pré-
senté par le tableau 3.1.
ENSI
CHAPITRE 3. ETUDE DE L’EXISTANT
TABLE 3.1 – Comparaison des applications de géolocalisation de voiture
3.2 Critique de l’existant
Certes les applications présentes dans le tableau précédant répondent toutes à la même pro-
blématique, mais elles se diffèrent de point de vue outils utilisés.
D’une part, elles se basent toutes sur la cartographie (Google Map API) et le service GPS
offerts par Google aux appareils Android. Mais d’autre part, elles ne présentent pas toujours un
logiciel complet et fonctionnel à toutes les circonstances (rupture de connexion internet, perte de
direction, etc.). Par ailleurs, celles qui peuvent remplir les contraintes précédemment citées ne
sont pas forcément gratuites et disponibles à tous les utilisateurs Android. C’est dans ce but que
nous avons développé notre application afin de mettre à la disposition de l’utilisateur une solution
gratuite qui sera valable et fonctionnelle en permanence.
3.3 Solution proposée
Après une étude approfondie de l’existant, plusieurs limites des logiciels de géolocalisation
de voiture pour téléphones Android présents sur scène ont surgi. Il manque ainsi une application
gratuite et complète qui s’affronte aux circonstances qui peuvent entourer l’utilisateur.
Rapport de Stage d’Immersion en Entreprise | 2010
22
ENSI
CHAPITRE 3. ETUDE DE L’EXISTANT
De ce fait, nous proposons la conception et le développement d’une application de géolocali-
sation de voiture qui offre au propriétaire du téléphone Android une solution libre permettant la
récupération facile de sa voiture tout en profitant d’un maximum d’outils disponibles au dévelop-
pement Android (Compass, Radar, recourir à un ami, etc.) qui seront certes utiles et bénéfiques
pour répondre à la problématique citée précédemment .
Conclusion
Une étude des applications existantes concurentes s’est avérée indisponsable pour notre étude
théorique du sujet.
Lors de cette étude nous avons recouru à une comparaison entre quelques applications de
géolocalisation de voiture présentes sur le marché en identifiant leurs limites et les objectifs de
notre application et ses apports.
Rapport de Stage d’Immersion en Entreprise | 2010
23
4
Analyse et spécification des besoins
L’ANALYSE et la spécification des besoins représentent la première phase du cycle de déve-
loppement d’un logiciel. Elle sert à identifier les acteurs réactifs du système et leur associer chacun
l’ensemble d’actions avec lesquelles il intervient dans l’objectif de donner un résultat optimal et
satisfaisant au client.
Ainsi, dans ce chapitre, nous commençons en premier lieu par une spécification des besoins
auxquels doit répondre l’application, passant ensuite à l’analyse de ces besoins à travers l’intro-
duction des acteurs et les diagrammes de cas d’utilisation relatifs à ces acteurs.
4.1 Spécification des besoins
4.1.1 Les besoins fonctionnels
Les services proposés par notre application se résument en quatre actions majeures :
B1. Choix du mode de navigation
Le système doit donner à l’utilisateur la possibilité de choisir le mode de sa navigation : On-
Line s’il dispose d’une connexion internet, étant dans une zone couverte par le réseau, Off-Line
dans le cas contraire.
ENSI
CHAPITRE 4. ANALYSE ET SPÉCIFICATION DES BESOINS
B2. Marquage et enregistrement de la position de la voiture
Le système, grâce au module GPS, doit permettre à l’utilisateur d’enregistrer les coordonnées
de la position de sa voiture que ça soit en mode On ou Off-Line.
B3. Consultation de la position actuelle par rapport à celle enregistrée
Le système doit permettre l’utilisateur, en seconde phase, de se localiser via le GPS soit sur
une carte géographique (en choisissant le mode d’affichage) soit sur une vue de Radar afin de
déterminer sa position actuelle par rapport à celle de sa voiture en termes de distance, en indiquant
la direction suggérée pour la récupérer.
B4. Envoie de la localisation de la voiture à un autre téléphone
Le système doit autoriser l’utilisateur à recourir à envoyer les coordonnées GPS retenues de sa
voiture à un numéro pouvant figurer dans sa liste de contacts.
B5. Réservation d’une section de présentation de l’application
Le système doit offrir une section d’introduction de l’application et son mode de fonctionne-
ment à l’utilisateur.
4.1.2 Les besoins non fonctionnels
Les besoins non fonctionnels décrivent toutes les contraintes auxquelles est soumis le système
pour sa réalisation et son bon fonctionnement.
B1. Ergonomie et souplesse
L’application doit offrir une interface conviviale et ergonomique exploitable par l’utilisateur en
envisageant toutes les interactions possibles à l’écran du support tenu.
B2. Rapidité
L’application doit optimiser les traitements pour avoir un temps de génération de schéma rai-
sonnable.
Rapport de Stage d’Immersion en Entreprise | 2010
25
ENSI
CHAPITRE 4. ANALYSE ET SPÉCIFICATION DES BESOINS
B3. Efficacité
L’application doit être fonctionnelle indépendamment de toutes circonstances pouvant entourer
l’utilisateur.
B4. Maintenabilité et scalabilité
Le code de l’application doit être lisible et compréhensible afin d’assurer son état évolutif et
extensible par rapport aux besoins du marché.
4.2 Analyse des besoins
4.2.1
Identification des acteurs
Notre application est dédiée uniquement aux propriétaires des téléphones Android.
4.2.2 Langage de modélisation
Pour la modélisation objet, nous avons choisi le langage commun UML « Unified Modeling
Language » [1].
En effet, UML est un langage de modélisation formel et normalisé, né de la fusion de plusieurs
méthodes existantes. Il permet de modéliser informatiquement un ensemble d’éléments d’une par-
tie du monde réel en un ensemble d’entités informatiques. Ces entités informatiques sont appelées
objets. Ces objets sont décris par des vues statiques et dynamiques, incluant un ensemble de dia-
grammes, qui collaborent pour représenter diverses projections d’une même représentation d’un
système d’objets.
4.2.3 Diagrammes des cas d’utilisation
Le système assure pour l’utilisateur diverses fonctions mises en valeur à travers le diagramme
de cas d’utilisation illustré par la figure 4.1.
Rapport de Stage d’Immersion en Entreprise | 2010
26
ENSI
CHAPITRE 4. ANALYSE ET SPÉCIFICATION DES BESOINS
FIGURE 4.1 – Diagramme des cas d’utilisation de notre système
Conclusion
Ce chapitre nous a permis de couvrir les différents besoins fonctionnels et non fonctionnels
des acteurs de notre système. Nous avons fourni une analyse plus détaillée de ces besoins grâce
à un diagramme de cas d’utilisation relatif à l’acteur unique réagissant avec le système qui est
le propriétaire du téléphone Android. Nous essayerons dans le chapitre qui suit de concevoir
clairement l’architecture de notre systeme.
Rapport de Stage d’Immersion en Entreprise | 2010
27
5
Conception
NOUS passons, à travers ce chapitre, à décrire la conception élue pour réaliser convenable-
ment le travail demandé.
Pour ce faire, nous choisissons de donner en premier lieu une idée sur les composants d’une
application Android afin de comprendre sa structuration et par la suite choisir le modèle d’archi-
tecture adéquat pour sa réalisation.
Après avoir parlé de la conception générale, nous détaillons dans un second lieu la conception
de notre application au moyen des diagrammes de classes et de séquences.
5.1 Conception générale
5.1.1 Les composants d’une application Android
Une application Android consiste en un assemblage de composants liés via un fichier de confi-
guration, qui présentent en quelque sorte les briques sur lesquelles se repose l’application. Ces
concepts fondamentaux à préciser sont :
– Les vues
Les Views sont les composants basiques de l’interface graphique. Ce sont les éléments de l’in-
terface que l’utilisateur voit et sur lesquels il agit. C’est de la classe View qu’héritent les widgets
(exemple de composants graphiques tel que les boutons), les layouts(le plan sur lequel on organise
ENSI
CHAPITRE 5. CONCEPTION
et on place les composants graphiques) et tous les composants graphiques servant à la création
d’une interface graphique interactive.
– Les contrôles
C’est bien la classe des composants graphiques cités dessus. Les contrôles sont tels que les bou-
tons, les champs de saisie de texte, les cases à cocher, etc.
– Les activités
Une Activity représente la fenêtre qui sera affichée à l’utilisateur. C’est un ensemble de vues et
de contrôles composant une interface logique. Elle permet également de gérer des fonctionnalités
telles que l’appui sur une touche, l’affichage de messages, etc. Ce concept repose essentiellement
sur l’interaction de l’utilisateur avec l’écran.
– Les ressources
Chaque application Android a ses propres fichiers ressources. C’est dans ces fichiers que seront
puisés les textes, les images, les couleurs, etc.
– Le fichier de configuration
C’est fichier auto généré par l’application, qui lui est indispensable. C’est un fichier XML appelé «
AndroidManifest» qui décrit le point d’entrée de l’application (le code à exécuter), les composants
du projet ainsi que les permissions nécessaires pour l’exécution du programme.
Une illustration explicative de ces concepts est représentée par le schéma de la figure 5.1.
Rapport de Stage d’Immersion en Entreprise | 2010
29
ENSI
CHAPITRE 5. CONCEPTION
FIGURE 5.1 – Composition d’une application Android
5.1.2 Conception architecturale
Il est primordiale à la conception de tout système informatique de choisir le modèle d’archi-
tecture qui lui sera adéquat pouvant assurer un bon fonctionnement, des meilleurs performances
ainsi que la réutilisation et l’interconnexion fiable de ce système avec d’autres.
C’est à cet effet que nous optons pour le modèle MVC qui sera également très pratique pour
gérer l’interaction entre les différents composants de notre application Android.
Nous décrivons cette architecture dans la section suivante.
5.1.3 Architecture MVC
L’architecture MVC (modèle, vue et contrôleur) est une architecture à trois couches utilisée
pour la programmation client/serveur et d’interface graphique.
C’est un modèle architectural très puissant qui intervient dans la réalisation d’une applica-
Rapport de Stage d’Immersion en Entreprise | 2010
30
ENSI
CHAPITRE 5. CONCEPTION
Publicité
tion. Il tire sa puissance de son concept de base qui est la séparation des d