Thèse : Développement Android et systèmes embarqués – Analyse et conception

Page 1 sur 33Lecteur de document UniversityLib

Thèse : Développement Android et systèmes embarqués – Analyse et conception

Programming, Embedded Systems, Android Development · textbook

Table des matières

Cadre du stage

1 Introduction générale

2 Etude théorique

2.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Línformatique embarquée . . . . . . . . . . . . . . . . . . . . . . . .

2.2.1 Définition dún PDA . . . . . . . . . . . . . . . . . . . . . . .

2.2.2 Applications dún PDA . . . . . . . . . . . . . . . . . . . . .

2.2.3 Mode de fonctionnement . . . . . . . . . . . . . . . . . . . . .

2.2.4 Exemples de PDA . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.2 Caractéristiques

. . . . . . . . . . . . . . . . . . . . . . . . .

2.3.3 Fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.4 La messagerie sous Android . . . . . . . . . . . . . . . . . . .

2.3.5 La géolocalisation sous Android . . . . . . . . . . . . . . . . .

2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Spécification et analyse préliminaire

3.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2 Présentation générale du problème . . . . . . . . . . . . . . . . . . .

3.2.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . .

Solution proposée et objectifs . . . . . . . . . . . . . . . . . .

3.2.2

3.2.3 Contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

3.4.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . .

3.4.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . .

3.5 Présentation des cas dútilisation . . . . . . . . . . . . . . . . . . . .

3.5.1 Propriétaire dún Android . . . . . . . . . . . . . . . . . . . .

3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3

3.4 Spécification des besoins

4 Conception

4.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 Architecture globale du système . . . . . . . . . . . . . . . . . . . . .

4.3 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3.1 Conception des couches

. . . . . . . . . . . . . . . . . . . . .

4.3.2 Diagramme dáctivités . . . . . . . . . . . . . . . . . . . . . .

4.3.3 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . .

4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

6

8

8

8

8

8

9

9

10

10

10

11

12

12

13

14

14

14

14

14

15

15

15

15

15

15

15

16

17

17

17

18

18

18

19

21

ENSI Stage dímmersion en entreprise

Cynapsys

TABLE DES MATIÈRES

5 Réalisation

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1

5.2 Environnement de développement . . . . . . . . . . . . . . . . . . . .

5.2.1 Environnement matériel

. . . . . . . . . . . . . . . . . . . . .

5.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . .

5.3 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3.1

Installation de lápplication Android . . . . . . . . . . . . . .

5.3.2 Travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Conclusion & perspectives

2

22

22

22

22

22

23

23

24

25

26

27

ENSI Stage dímmersion en entreprise

Cynapsys

Table des figures

2.1 Applications des PDA . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Exemples de PDA . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Ecran d’un Android . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4 Architecture d’Android . . . . . . . . . . . . . . . . . . . . . . . . .

2.5 Fonctionnalités dÁndroid . . . . . . . . . . . . . . . . . . . . . . . .

2.6 La messagerie dans un Android . . . . . . . . . . . . . . . . . . . . .

2.7 La géolocalisation dans un Android . . . . . . . . . . . . . . . . . . .

9

10

10

11

11

12

12

3.1 Diagramme de cas dútilisation . . . . . . . . . . . . . . . . . . . . .

16

4.1 Architecture de lápplication . . . . . . . . . . . . . . . . . . . . . .

4.2 Diagramme de séquence dáctivités . . . . . . . . . . . . . . . . . . .

4.3 Diagramme de séquence dáuthentification . . . . . . . . . . . . . .

4.4 Diagramme de séquence de désactivation du mode silencieux . . . .

4.5 Diagramme de séquence dídentification des coordonnées GPS . . .

Icône de lápplication . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1

Interface dáuthentification . . . . . . . . . . . . . . . . . . . . . . .

5.2

Interface de configuration . . . . . . . . . . . . . . . . . . . . . . . .

5.3

Interface dénregistrement . . . . . . . . . . . . . . . . . . . . . . . .

5.4

5.5 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

2

3

4

5

Connexion Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Commande sms-telnet . . . . . . . . . . . . . . . . . . . . . . . . . .

Désactivation du mode silencieux . . . . . . . . . . . . . . . . . . . .

Interface Android trouvé . . . . . . . . . . . . . . . . . . . . . . . . .

Commande GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

19

20

20

21

23

24

25

25

26

Publicité

29

30

30

31

31

ENSI Stage dímmersion en entreprise

Cynapsys

Cadre du stage

1 Introduction

Ce stage dímmersion en entreprise sínscrit dans le cadre de notre formation

díngénieur en informatique à lÉcole Nationale des Sciences de lÍnformatique

(ENSI). Le présent travail se déroule au sein de léntreprise Cynapsys. Nous présentons

dans ce chapitre lénvironnement du stage à travers une présentation de la société

et une description des objectifs.

2 Présentation de l’organisme d’accueil

2.1 Le groupe Cynapsys

CYNAPSYS est une entreprise de technologie innovante et intégratrice de systèmes.

Elle fournit des services de développement de logiciels, de conseil et de formation

pour les sociétés dans plusieurs secteurs dáctivité. Elle collabore avec ses clients

pour les aider à faire des améliorations substantielles et durables de leurs perfor-

mances en leur donnant des compétences hautement qualifiés pour développer des

systèmes innovants.

2.2 Activités

Cynapsys est une société tunisienne Offshore spécialisée dans le développement

Java/J2EE, Microsoft.Net, le logiciel embarqué et des solutions de mobilité. Elle

est spécialisée aussi dans le développement de systèmes embarqués et PC Tools.

Cynapsys développe également des logiciels et des solutions basées sur la technologie

OMA SyncML DM dans le domaine de la mise à jour de logiciels et de dispositifs

de diagnostic à distance par le biais de línterface radio (GSM / GPRS / UMTS).

Ses clients sont des sociétés désignées à la présence internationale, par exemple :

Siemens, Orascom Telecom, DiGi télécommunications, Tunisie Telecom, etc.

3 Présentation du sujet

Conception et développement dúne application de recherche de mobile sous

Android.

3.1 Travail demandé

Notre projet consiste à la conception, développement dúne application sous

Android permettant de :

– Désactiver le mode silencieux et faire sonner le mobile pendant un temps

configurable lors de la réception dún SMS contenant un mot clé configuré.

ENSI Stage dímmersion en entreprise

Cynapsys

TABLE DES FIGURES

5

– Envoi dún SMS à léxpéditeur contenant les coordonnées GPS du mobile et

ceci lors de la réception dún SMS contenant un mot clé configuré.

3.2 Résultats attendus

Les résultats attendus du stage consiste à développer une application qui per-

mettra de retrouver un mobile en cas de perte. Celle-ci est a la fois facile a utiliser

et utile pour les utilisateurs des téléphones. Lénvoi des SMS peut se faire entre

deux Android ou bien un Android et un mobile simple.

4 Conclusion

Ce chapitre nous a permis de faire une présentation générale du cadre du stage.

Nous avons commencé par présenter lórganisme dáccueil puis le cadre du stage

et enfin terminé par donner un aperçu sur le sujet et les objectifs à atteindre.

ENSI Stage dímmersion en entreprise

Cynapsys

Chapitre 1

Introduction générale

L´histoire de la communication est aussi ancienne que l´histoire de l´humanité.

Depuis les origines, l´homme a eu besoin de communiquer. Pour cela il a mit au

point des codes, des alphabets et des langages (Parole, gestes de la main, signaux

de fumée, document écrit... ) tout était bon pour véhiculer le message. Les premiers

réseaux de télécommunications remontent a lÁntiquité. En Grece, quatre siècles

avant notre ère, des brasiers allumés au sommet de tours permettaient la transmis-

sion de signaux lumineux et donnèrent naissance aux phares côtiers. Pendant les

croisades, les Turcs et les Arabes utilisaient les pigeons voyageurs pour transmettre

des messages, ce qui leur rendait bien des services aux dépens des Croisés. La portée

de ces moyens de communication primitifs reste cependant limitée. Transmettre un

message sur de longues distances nécessite le déploiement dúne infrastructure de

relais. Lábsence de codification évoluée limite la complexité des messages transmis.

Cependant le téléphone dont la première commercialisation a été effectué par

Alexandre Graham Bell en 1876, parut réduire a néant le temps nécessaire a ce que

línformation circule, une information qui návait jamais circulé aussi vite et aussi

loin. La téléphonie conserve un rôle principal dans la communication entre les gens

en procurant sûreté et facilité d´échange de données sous forme de parole.

Dans les années 50, línformatique entame la phase moderne de son histoire

et avec lárrivée des téléphones mobiles, la vie quotidienne de tout chacun a été

bouleversée. Depuis lors, utiliser un téléphone portable, communément appelé GSM

(Global System for Mobile Communications) est devenu une seconde nature chez

la plupart des gens. En effet, ce petit bout dáppareil pas plus gros quún paquet

de cigarette a changé le quotidien des hommes, que ce soit dans les pays riches ou

dans les pays pauvres, en donnant acces a la communication téléphonique sans fil à

son utilisateur.

Apres des années de développement, notamment en matiere de miniaturisa-

tion, les téléphones mobiles de deuxième génération (2G) arrivaient sur le marché.

La course à la miniaturisation battant son plein dans les années 90, tout appareil

électronique grand public devenaient ainsi une véritable vitrine de technologie pour

les constructeurs. Les efforts dámélioration continuaient sur les appareils mais aussi

sur le réseau et avec lávenement dÍnternet, les derniers modeles de téléphones por-

tables 2G arrivaient même à exploiter des fonctionnalités avancées comme le General

Packet Radio System (GPRS), pour naviguer sur le web ou récupérer des messages

électroniques. Nous arrivons maintenant a la troisieme génération des téléphones

portables appelés familièrement 3G. On peut dire de cette génération quélle a

bénéficié de toutes les dernieres innovations en matiere de technologie, ainsi que des

ENSI Stage dímmersion en entreprise

Cynapsys

Introduction générale

7

capacités de plus en plus étendues du réseau téléphonique sans fil. En effet, cer-

taines téléphones 3G, appelés PDA, sont actuellement capables de remplacer votre

ordinateur puisque ceux-ci sont équipés de système déxploitation et équipés de

plusieurs fonctionnalités. Il ne serait donc pas correct de qualifier le téléphone mo-

bile de phénomène de mode, vu la place plus que prépondérante quíl prend dans

notre vie de tous les jours. Mieux, il est devenu un outil économique avec toutes

les facilités et les libertés quíl offre aux hommes dáffaires. Toutes ces évolutions

des besoins des hommes en matiere de communication créent un devoir imminent a

vouloir développer de nouvelles applications à la fois utiles et efficaces, et ceci dans

lóbjectif de garantir aisance et fiabilité pour les utilisateurs.

Et cést dans ce cadre que se situe notre stage dímmersion en entreprise qui vise

à concevoir et implémenter une application sous Android permettant de trouver un

téléphone Android en cas de perte ou en cas de vol. Ce présent rapport synthétise

tout le travail que nous avons réalisé au cours de ce projet. Il est structuré en quatre

chapitres dont les centres díntérêts sont les suivants :

Dans le premier chapitre intitulé (cid:28) étude théorique (cid:29) nous présenterons quelques

notions fondamentales en rapport avec notre projet. Le deuxième chapitre intitulé

(cid:28) Spécification et analyse préliminaire (cid:29) portera sur la problématique de notre sujet

et spécifiera les besoins fonctionnels et non fonctionnels de notre application. Le cha-

pitre suivant, (cid:28) Conception (cid:29), sera dédié à léxposition de notre approche concep-

tuelle pour le développement de lápplication. Le dernier chapitre (cid:28) Réalisation

(cid:29) traitera tous les détails de la réalisation : le langage, lénvironnement et lóutil de

modélisation et présentera quelques captures d´écran de línterface de lápplication.

Ce chapitre est clos par un chronogramme représentant les différentes tâches du tra-

vail tout au long de la période du projet. Finalement, ce rapport est achevé par une

conclusion générale qui présentera le bilan de ce projet, les apports de point de vue

savoir faire ainsi que d´éventuelles perspectives.

ENSI Stage dímmersion en entreprise

Cynapsys

Chapitre 2

Etude théorique

2.1

Introduction

A l´heure de láutomatisation, línformatique embarquée regroupe un ensemble

de métiers tres hétérogenes. Elle inclut les terminaux mobiles (PDA, smartphones,

tabletPC, lecteur de cartes magnétiques), les boˆıtiers intégrant du logiciel (passe-

relles, point daccès, routeurs, proxy), les machines (robots industriels, distributeur

automatique de billets) et les applications spécifiques à un métier (automobile,

aéronautique, aérospatiale). Ainsi, ses machines sont amenées de plus en plus à

communiquer entre elles ou avec lútilisateur par le biais de protocoles déchanges

standards. Dans la première section de ce chapitre, nous présentons les différentes

évolutions qui ont touchées línformatique embarquée. Dans la deuxième section

nous exposons la plateforme Android et son mode de fonctionnement.

2.2 Línformatique embarquée

Nous définissons dans ce paragraphe la notion de PDA ainsi que ses différentes

applications. Nous explicitons par la suite le mode de communication entre deux

PDA ainsi que les évolutions subies.

2.2.1 Définition dún PDA

Un PDA (Personal Digital Assistant) est un ordinateur de poche composé dun

processeur, de mémoire vive, dun écran tactile et de fonctionnalités réseau dans

un boˆıtier compact déxtrêmement petite taille. Son usage est prévu originalement

dans un but dórganisation.

2.2.2 Applications dún PDA

Les avancées technologiques ont permis à un PDA de combiner les principales

fonctions de la bureautique, du multimédia, de línternet, de la géolocalisation et de

la téléphonie. Assez vite, les utilisateurs ont pu synchroniser leurs données avec des

ordinateurs personnels via des câbles. Puis les capacités sans fil, au début limitées

a línfrarouge, ont été étendues pour accéder a différents types de réseaux via les

technologies sans fil ou la téléphonie mobile numérique. Comme pour les autres

ordinateurs, toutes ses applications sáppuient sur un système déxploitation qui

permet la standardisation de leur fonctionnement et de leur développement.

ENSI Stage dímmersion en entreprise

Cynapsys

Etude théorique

9

Figure 2.1 – Applications des PDA

2.2.3 Mode de fonctionnement

Publicité

Le PDA sútilise avant tout par son écran, qui est un périphérique regroupant

les fonctionnalités dáffichage et celles dún dispositif de pointage comme la souris

dún ordinateur. L´écran tactile utilise la technologie capacitive. Une couche qui

accumule les charges est placée sur la plaque de verre du moniteur. Lorsque l´écran

reçoit une pression par le doigt ou le stylet, certaines de ces charges sont transférées

à cette plaque. Les charges qui quittent la plaque capacitive créent un manque qui

est mesurable. Un capteur dans chacun des coins de la plaque détermine les co-

ordonnées du point touché. Le protocole GUI (Graphic User Interface) analyse si

les coordonnées fournies par lútilisateur correspondent à la base de données. Les

actions sont appliquées et transmises pour traitements, à moins que les coordonnées

ne correspondent pas a la base (lútilisateur a appuyé a côté). Au niveau du pro-

cesseur, grâce aux adresses, lúnité centrale va chercher en mémoire les instructions

stockées sous forme de programme, puis communique la commande à accomplir.

LÚAL exécute línstruction et transmet le résultat à lÚC qui la stockera en

mémoire. Ses opérations se multiplient sans cesse plusieurs millions de fois par se-

conde. Un programme appelé API (Application Programming Interface) permet

de gérer le fonctionnement architectural du PDA et dássurer une interface avec

dáutres programmes disponibles sur la machine. LÁPI a aussi une fonction de

simplification et de normalisation des travaux des développeurs qui créent des logi-

ciels pour des applications diverses ou pour le système déxploitation. Les mémoires

principales ROM et RAM servent de stockage et de sauvegarde des informations.

2.2.4 Exemples de PDA

Lórdinateur de poche peut fonctionner sur différents systèmes déxploitation.

En effet, il existe des PDA fonctionnant sous Microsoft Windows Mobile ou Palm

OS (édité par la société PalmSource) ou Symbian OS. Et plus récemment sont

apparus Linus et Qtopia, iPhone OS et Android.

ENSI Stage dímmersion en entreprise

Cynapsys

Etude théorique

10

Figure 2.2 – Exemples de PDA

2.3 Android

Nous présentons dans cette section la plateforme Android. Dans une première

partie nous exposons son architecture ainsi que ses différentes fonctionnalités. Dans

une deuxième partie nous définissons les services de messagerie et de géolocalisation

dans la plateforme Android.

2.3.1 Définition

Android est un système déxploitation Open Source pour Smartphones, PDA et

terminaux mobiles. Android est basé sur le noyau Linux. Les librairies ”middleware”

qui le compose sont écrite en C/C++. Le Framework est quant à lui écrit en java.

Figure 2.3 – Ecran d’un Android

2.3.2 Caractéristiques

Le systeme déxploitation Android possede les caractéristiques suivantes :

– Machine virtuelle Dalvik : Machine virtuelle spécialement développée pour

Android.

– Cette machine virtuelle permet déxécuter les applications java développées

avec le Framework.

ENSI Stage dímmersion en entreprise

Cynapsys

Etude théorique

11

– Graphique : Librarie graphique 2D, librarie graphique 3D basé sur OpenGL

ES 1.0. Accélération matériel possible.

– Stockage : Base de données SQL : SQLite est utilisé pour le stockage des

données

– Média : Android supporte les formats audio/video/image suivants : MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG, GIF

– Connectivité : gsm, edge, 3G, bluetooth, wifi

– Support matériel : Android est capable dútiliser Camera, GPS, accéléromètre

– Environnement de développement : Android possède un environnement de

développement complet contenant : un émulateur, un débuggeur, un analyseur

de mémoires et de performances et un plugin Eclipse.

Figure 2.4 – Architecture d’Android

2.3.3 Fonctionnalités

Les services quÁndroid peut fournir sont les suivants :

– Telephony Service : permet dáccéder aux interfaces ”téléphonique” (gsm, 3G,

etc.)

– Location Service : permet d’accéder au GPS.

– WiFi Service : permet d’accéder à l’interface Wifi.

– USB Service : permet d’accéder aux interfaces USB.

– Sensor Service : permet d’accéder aux détecteurs (détecteurs de luminosité,

etc.)

Figure 2.5 – Fonctionnalités dÁndroid

ENSI Stage dímmersion en entreprise

Cynapsys

Etude théorique

12

2.3.4 La messagerie sous Android

Pour certaines applications, il peut être intéressant daccéder aux SMS 1 enre-

gistrés sur le téléphone. Le SDK ne permet pas dánalyser le contenu des SMS dès

leur réception. Ceci se fait grâce à lapplication Messaging qui permet la gestion des

SMS et MMS et qui est développée par lutilisateur. En effet, celle-ci possède un

content provider qui lui permet daccéder a la liste des SMS. Lacces aux provider

SMS demande une permission a ajouter a la liste des permissions.

Figure 2.6 – La messagerie dans un Android

2.3.5 La géolocalisation sous Android

Le système déxploitation Android permet la navigation GPS 2. En effet, il four-

nit un guidage dynamique, des cartes détaillées des rues, des instructions vocales à

chaque manuvre et navigation 3D. De plus, grâce à des applications que lútilisateur

peut développer, il devient facile de détecter les coordonnées GPS de son propre

Android.

Figure 2.7 – La géolocalisation dans un Android

1. Short Message Service

2. Global Positioning System

ENSI Stage dímmersion en entreprise

Cynapsys

Etude théorique

13

2.4 Conclusion

Dans ce chapitre, nous venons de faire une étude théorique des concepts liés à

lápplication de recherche dún Android en cas de perte. La deuxième section de ce

chapitre nous a permis de présenter le système dexploitation mobile Android ainsi

quétudier son architecture et ses différentes fonctionnalités. En outre, nous avons

fait un survol sur la relation qui existe entre la géolocalisation, la messagerie et un

Android. Le chapitre suivant sera consacré à lánalyse et la spécification des besoins

de notre application.

ENSI Stage dímmersion en entreprise

Cynapsys

Chapitre 3

Spécification et analyse

préliminaire

3.1

Introduction

Lápplication de recherche dún Android en cas de perte est simple et efficace

à la fois. Dans le chapitre précédent, nous avons présenté les outils nécessaires

pour le fonctionnement dúne telle application. Dans ce chapitre, nous traitons

essentiellement de la spécification de lápplication quon se propose dímplémenter,

en termes de fonctions, de données, dácteurs et nous identifions les différents cas

dutilisation à travers les diagrammes de cas dútilisation.

3.2 Présentation générale du problème

3.2.1 Problématique

Le domaine de línformatique embarquée est complexe et en évolution perma-

nente. Suite à cette évolution, plusieurs moyens de communication sont apparus

pour assurer plus de fiabilité et de sureté. Parmi ces moyens, on peut citer Android

la nouvelle plateforme embarquée rachetée par Google en novembre 2007. Suite à

cela, plusieurs applications originales et efficaces ont été développées. Néanmoins,

on peut remarquer que indépendamment du PDA il existe un choix multiple des

applications fournies. Mais il reste par ailleurs le problème de retrouver son mo-

bile dans le cas dúne perte. Ce probleme a été rencontré des lápparition dún

téléphone portable mais ná pas pu être résolu puisque ce dernier nést pas équipé

dún système déxploitation.

3.2.2 Solution proposée et objectifs

La solution qui permettra de remédier a ce probleme est de concevoir et

implémenter une application permettant de désactiver le mode silencieux ou vi-

breur. En effet, lápplication est munie dúne interface dáuthentification permet-

tant lácces a la page de configuration de lápplication. Lútilisateur choisit un mot

spécial pour désactiver le mode silencieux et un autre mot pour obtenir les coor-

données GPS de lÁndroid. En cas de perte du PDA, lútilisateur peut envoyer à

partir de nímporte quel autre téléphone un SMS contenant le mot choisi afin de

désactiver le mode silencieux ou recevoir un SMS contenant les coordonnées GPS

de lÁndroid.

ENSI Stage dímmersion en entreprise

Cynapsys

Spécification et analyse préliminaire

15

3.2.3 Contraintes

Les contraintes que nous avons pu relever concernent le cas du vol de lÁndroid.

En effet, en cas de changement de la puce, lútilisateur ne pourra plus envoyer de

SMS à son PDA pour obtenir sa localisation.

3.3

Identification des acteurs

Notre application sádresse essentiellement aux propriétaires dÁndroid.

3.4 Spécification des besoins

Dans cette étape déterminante pour le développement de notre application, nous

allons mettre láccent sur lídentification des services que le système doit fournir

et la définition des contraintes de réalisation.

3.4.1 Besoins fonctionnels

Ces exigences répondent a la question a quoi sert notre système.

– Lútilisateur aura le droit de changer le mot de passe et le nom dútilisateur

lui permettant dáccéder à lápplication.

– Lútilisateur pourra choisir le mot spécial pour désactiver le mode silencieux

en cas de réception dún SMS contenant ce mot.

– Lútilisateur pourra choisir le mot spécial pour recevoir les coordonnées GPS

dès lénvoi dun SMS contenant ce mot.

– Lápplication permettra à lútilisateur de choisir la durée de la sonnerie.

Publicité

3.4.2 Besoins non fonctionnels

Ce sont des exigences qui ne concernent pas spécifiquement le comportement

du systeme mais plutôt identifient des contraintes internes et externes du systeme.

Les principaux besoins non fonctionnels de notre application se résument dans les

points suivants :

– Le code doit être clair pour permettre de futures évolutions ou améliorations.

– Il est important de soigner lérgonomie de línterface de configuration pour

faciliter lútilisation de lápplication.

3.5 Présentation des cas dútilisation

Les (cid:28) use cases (cid:29) 1permettent de structurer les besoins des utilisateurs et les

objectifs correspondants dún système. Ils centrent léxpression des exigences du

système sur ses utilisateurs partant du principe que les objectifs sont tous motivés.

Nous présentons dans cette partie les interactions de lácteur avec notre application.

3.5.1 Propriétaire dún Android

Le cas dútilisation suivant présente les diverses fonctionnalités dont jouit un

utilisateur dÁndroid.

1. Cas dútilisation : permet de mettre en évidence les relations fonctionnelles entre les acteurs

et le système étudié.

ENSI Stage dímmersion en entreprise

Cynapsys

Spécification et analyse préliminaire

16

Figure 3.1 – Diagramme de cas dútilisation

Les différents cas dútilisation qui modélisent les services offerts par notre ap-

plication sont :

1. Après s´être authentifié, lútilisateur peut configurer lápplication et ceci en

choisissant un mot spécial pour désactiver le mode silencieux et un autre mot

pour obtenir les coordonnées GPS de lÁndroid.

2. Dès la réception dún SMS contenant le mot spécial GPS, lútilisateur reçoit

un SMS contenant les coordonnées GPS de lÁndroid.

3.6 Conclusion

Durant ce chapitre, nous avons tout dábord présenté la problématique et les

objectifs de notre travail. En effet, notre projet consiste à la mise en place dúne

application rassemblant à la fois le service de messagerie et de géolocalisation dans

un Android. Pour mieux comprendre le rôle, les actions et les droits de lútilisateur

de lápplication, nous avons présenté les exigences et les besoins du protagoniste

ainsi que ses interactions à travers les cas dútilisation. Ainsi, nous sommes posi-

tionnés dans le contexte de notre projet. Le chapitre suivant va permettre de mettre

en évidence ces besoins a travers une conception détaillée de lóutil a réaliser.

ENSI Stage dímmersion en entreprise

Cynapsys

Chapitre 4

Conception

4.1

Introduction

Ayant fini et analysé le cas dútilisation de notre projet dans le chapitre précédent,

nous nous focalisons dans ce chapitre à concevoir une structuration adéquate pour

lápplication. Cette étape est primordiale dans le déroulement du projet et a pour

but de détailler les tâches à entreprendre et de préparer le terrain pour l´étape

de réalisation. Dans ce chapitre et dans une première partie, nous présentons une

conception globale de notre système. Ensuite, dans la seconde partie, nous entamons

l´étude en détail de celui-ci.

4.2 Architecture globale du système

Le but de notre système est de retrouver un téléphone Android en cas de perte ou

vol. Avant toute chose, lútilisateur doit configurer lápplication en choisissant les

phrases spéciales des SMS. Le téléphone Android, des quíl reçoit un SMS, a láide

dún systeme lié a lápplication, ouvre le message reçu et lánalyse. Si ce message

correspond à la phrase spéciale configuré par lútilisateur, alors on a comme résultat

soit le mode silencieux désactivé et déclenchement de la sonnerie, soit lénvoi dún

SMS au numéro du message dórigine contenant les coordonnées GPS de lAndroid.

La figure ci-dessous présente lárchitecture globale de notre système.

Figure 4.1 – Architecture de lápplication

ENSI Stage dímmersion en entreprise

Cynapsys

Conception

18

Lárchitecture globale de lápplication à établir repose sur le principe dánalyse

de messagerie et la géolocalisation. Grâce à son SDK, Android met en place un

moyen permettant lánalyse des SMS reçus. En effet, dès la réception dún SMS,

lápplication extrait le numéro de léxpéditeur ainsi que le texte du message ; ensuite

vient la comparaison de ce texte avec lúne des phrases choisies par lútilisateur lors

de la configuration. Si le texte est compatible avec la phrase SMS, la procédure de

désactivation du mode silencieux est déclenchée. Si, par contre, le texte est compa-

tible avec la phrase GPS, alors la procédure de géolocalisation est déclenchée et un

SMS contenant les coordonnées GPS de lÁndroid est envoyé à léxpéditeur. Nous

présentons, dans lánnexe A, une description détaillée des concepts de géolocalisation

et dánalyse de messagerie.

4.3 Conception détaillée

Dans cette partie, nous allons détailler la partie conception de notre application.

En effet, cette partie comporte les différents diagrammes concernant la conception

de notre projet.

4.3.1 Conception des couches

Notre application, étant répartie sur plusieurs couches indépendantes, nous pro-

posons dans ce qui suit de les énumérer, de détailler la présentation de chaque

couche et de spécifier son apport pour notre application.

– Couche présentation : Cette couche permet de générer le squelette en mettant

a disposition une approche MVC 1 assez facile a suivre en Android.

– Couche contrôle : cést la couche qui prend en charge la sélection des écrans

qui sont présentés a lútilisateur qui gerent les erreurs et la sauvegarde des

enregistrements.

– Couche métier : elle renferme le traitement applicatif du système (module

connexion, module configuration de lápplication).

– Couche de persistance : dans cette couche, nous trouvons un ensemble de

fonctionnalités permettant la connexion avec la base de données.

4.3.2 Diagramme dáctivités

Cette section comporte le diagramme dáctivités qui nous a aidées à construire

la structure de lápplication. Le diagramme de la figure 4.3 illustre les activités qui

collaborent pour aboutir au bon fonctionnement du système.

1. Architecture et méthode de conception Modèle-Vue-Contrôle.

ENSI Stage dímmersion en entreprise

Cynapsys

Conception

19

Figure 4.2 – Diagramme de séquence dáctivités

4.3.3 Diagramme de séquence

Lídée de notre projet consiste à mettre en évidence une application permet-

tant de retrouver un téléphone Android en cas de perte ou de vol. Grâce à cette

application, lútilisateur peut retrouver son téléphone si celui-ci est mis sous mode

silencieux. En effet, à partir de nímporte quel autre téléphone, lútilisateur peut

envoyer un sms à son Android dans lequel il met le résultat quíl veut avoir. Le mes-

sage reçu est analysé et selon le texte trouvé, un résultat sera rendu à lútilisateur.

Scénarios dútilisation

On présente ici les scénarios relatifs à lácteur de notre application. Ces scénarios

décrivent les interactions en des termes proches de lúsager et modélisent ainsi les

aspects dynamiques de notre systeme. Nous proposons alors a ce niveau d´étudier

3 cas dútilisation typiques qui sont :

– Láuthentification de lútilisateur.

– La désactivation du mode silencieux.

– Identification des coordonnées GPS.

1. Scénario dáuthentification : Tout dábord, et pour que lútilisateur puisse

accéder a la partie configuration, il doit sáuthentifier. Le systeme va vérifier si

cet utilisateur possède un compte dans la base de données. Si oui, lútilisateur

peut accéder à línterface de configuration de notre application. Les étapes de

láuthentification sont décrites dans le diagramme de séquences suivant.

ENSI Stage dímmersion en entreprise

Cynapsys

Conception

20

Figure 4.3 – Diagramme de séquence dáuthentification

2. Scénario de désactivation du mode silencieux : Lors de la réception dún SMS,

lápplication extrait ládresse et le texte du message. Après analyse du texte,

le mode silencieux est désactivé et la sonnerie de lÁndroid est déclenchée.

Figure 4.4 – Diagramme de séquence de désactivation du mode silencieux

ENSI Stage dímmersion en entreprise

Cynapsys

Conception

21

3. Scénario dídentification des coordonnées GPS : Après analyse du texte du

message reçu, le GPS se déclenche. Un SMS est donc envoyé à lútilisateur

contenant les coordonnées GPS de lÁndroid.

Figure 4.5 – Diagramme de séquence dídentification des coordonnées GPS

4.4 Conclusion

Dans ce chapitre, nous avons présenté la conception de notre approche en se

basant sur les études présentées dans les deux chapitres précédents. Nous avons

présenté, dans un premier temps, la conception globale de notre système. Ensuite,

nous avons présenté la conception détaillée de lápplication à travers la description

des différentes couches sur les quelles se base lápplication implémentée, le dia-

gramme des activités et un ensemble de diagramme de séquence. Nous passons dans

le chapitre suivant au dernier volet de notre rapport et qui est la partie réalisation.

ENSI Stage dímmersion en entreprise

Cynapsys

Chapitre 5

Réalisation

5.1

Introduction

Dans tout ce qui précède, nous avons essayé de suivre un enchaˆınement logique

qui nous permettra de développer notre application. Ceci étant, la validité de notre

approche ne peut être confirmée que par la présentation des résultats obtenus et

la mise en valeur des gains réalisés. Cést pour cela que nous consacrons ce cha-

pitre à la concrétisation des idées antérieurement développées. Nous consacrerons la

premiere partie a la présentation du contexte matériel et logiciel de développement

de lápplication demandée. Par la suite, nous exposerons quelques interfaces qui

concordent avec les fonctionnalités du système. Enfin, le chapitre est c...