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...