Académique Documents
Professionnel Documents
Culture Documents
Fin dEtude
Conception et ralisation dune
application mobile (Android)
Rapport de Projet de
Fin dEtude
Conception et ralisation dune
application mobile (Android)
Ddicace
_________________________________________________
Page | 4
Remerciements
_________________________________________________
Pour finir, je tiens remercier les membres du jury, pour avoir accept de
juger ce travail.
Page | 5
Rsum
_________________________________________________
Le document que vous avez entre les mains est une synthse de mon
projet de fin dtudes, effectu dans le cadre dun stage de quatre mois au sein
de la socit Sofrecom Service Maroc.
Page | 6
Abstract
_________________________________________________
First of all, I had to understand and familiarize with the existing web
application before I started working on the project. This document will go
through all the details of each of the development phase the project went
through, and it will contain the three following chapters:
Page | 7
Page | 8
47
48
49
63
Page | 9
ADT
ANRT
CPU
DB
HTML
HTTP
IDE
IHM
JavaEE
JDN
JSON
MSE
OS
PHP
R&D
RAD
RAM
REST
SDK
SGBDR
SGBDRO
SIG
SOAP
SSM
TMA
UP
URI
XML
XP
Page | 10
Ddicace .................................................................................................................... 4
Remerciements ..........................................................................................................5
Rsum ...................................................................................................................... 6
Abstract .....................................................................................................................7
Liste des figures ........................................................................................................ 8
Liste des tableaux ...................................................................................................... 9
Liste des abrviations .............................................................................................. 10
Table des matires .................................................................................................... 11
Introduction ............................................................................................................. 13
Chapitre 1 : Cadre gnral du projet ....................................................................... 15
I - Prsentation de lorganisme daccueil ...................................................... 15
1 - Le groupe Sofrecom ............................................................................... 16
2 - Sofrecom Service Maroc ........................................................................ 18
3 - Organisation de Sofrecom Service Maroc ............................................ 18
II Contexte gnral du projet .................................................................... 20
1 La problmatique.................................................................................. 20
2 Cahier des charges simplifi ................................................................. 22
Chapitre 2 : Conduite du projet ............................................................................. 26
I Mthodologie de dveloppement ........................................................... 26
1 Mthode agile RAD ............................................................................... 27
2 Les phases du projet ............................................................................ 29
3 La planification du projet .....................................................................30
II Conception du projet .............................................................................. 32
1 Lacteur ................................................................................................... 32
2 Diagramme de packages ....................................................................... 32
3 Diagrammes de cas dutilisation .......................................................... 33
Page | 11
Page | 12
Introduction
_________________________________________________
Lexistant.
Device-DB est une des diverses parties de lapplication web Zoltar,
successeur de loutil DGCT du groupe Orange, lanc en 2007.
Zoltar est un outil qui rfrencie et regroupe toutes les informations
concernant les devices1 commercialiss par Orange. Il est utilis par plus de 500
clients dans 23 pays du monde, et contient les informations les plus prcises sur
plus de 2 000 devices diffrents.
Device-DB web sert plus prcisment recenser, consulter et modifier ces
devices, ainsi qu{ ajouter des commentaires de bugs qui pourraient tre
exploits par la suite.
Dans notre contexte, un device est tout quipement tlcom (tlphone, fax, radio ou autre)
commercialis par le groupe Orange.
Page | 13
Lavenir.
Dans loptique de raliser un premier prototype mobile de Device-DB,
seules quelques fonctionnalits parmi les fonctionnalits de bases seraient
reproduites dans un premier temps.
Device-DB Mobile est une application mobile destine rendre les
fonctionnalits de recherche et visualisation des devices deux fonctionnalits
disponibles dans lapplication web dorigine- plus portables et accessibles via des
terminaux mobiles Android.
Si approuv, le prototype donnerait naissance une application part
entire, complte, et ralise pour convenir plusieurs plateformes mobiles
(iOS, Windows Phone etc), cependant, avant den arriver l{, le choix sest
port sur le systme Android, tant lOS mobile le plus populaire du monde.
Page | 14
Chapitre 1 :
Cadre gnral du projet
Introduction : Ce premier chapitre dcrit le cadre gnral du projet. Dans un premier
temps, je vais prsenter lorganisme daccueil qui est Sofrecom Service Maroc, avant de
procder { la prsentation du cadre dont lequel sinscrit le projet.
Page | 15
Pilotage de projet
Architecture
Expertise
fonctionnelle &
technique
Dveloppement
Maintenance
corrective et
volutive
Page | 17
Page | 18
Direction Gnrale
A. BOUZOUBAA
Direction Commerciale
L. MHAMMEDI
Charge daffaires
N. AROUS
Direction Financire
A. El GHALI
M. BACHIRI
Achats &
Moyens Gnraux
Comptabilit
K. BIDARA
Administration du Personnel
Contrle de Gestion
A. MELLAK
SSM Consulting
& Engineering
SSM I T
UP Web
Source
H. RAHMAT
UP Rseaux
& SIG
UP MSE
L. DESCOUTURES
Architecture fonctionnelle
S. BENDALI
A.
BAGLIETTO
Architecture technique
G. MORIZE
UP Portail,
Self Services
et R&D
S. FARHAT
UP Gaa &
Technologies
Oracle
I. SEMAAN
Service
Avancs
Telecom&Media
R. JEBARI
Architecture logicielle
Infrastructure technique
F. PICARD
Rseaux &
Services
S. KADIRI
Direction Technique
N. BENTAHAR
Page | 22
Les fonctionnalits :
Authentification.
Etant donn la confidentialit des lments { visualiser, lutilisateur
devrait dans un premier temps sauthentifier avant de pouvoir accder {
lapplication mobile. Une premire vue o il peut insrer ses identifiants
apparat et ce nest quaprs vrification de ces informations que lutilisateur
peut parvenir aux autres vues. Lauthentification reprsente donc un premier
pas ncessaire de scurit.
Recherche :
Sur cette vue, lutilisateur peut effectuer une recherche des devices
prsents sur la base de donnes. Il a la possibilit de le faire en se basant sur les
critres de recherche suivants :
Recherche par supplier, ou manufacturer : o lutilisateur effectue sa
recherche en se basant sur le fournisseur et/ou constructeur du device.
(Exemples : Apple, Samsung, etc). Cette liste est sous forme dune liste
droulante.
Recherche par Name : lutilisateur peut rechercher un device par son nom
complet, ou un mot cl appartenant { son nom, quil peut saisir dans un
champ texte.
Visualisation :
Une fois la recherche effectue et le rsultat trouv, lutilisateur pourrait
slectionner le device en question et ainsi accder ses diverses informations.
La vue rsultante sera sous formes donglets o les diverses caractristiques de
chaque matriel seront lists, selon des catgories (General, Design, Features,
etc)
SDK Android :
Le SDK Android reprsente loutillage indispensable au dveloppeur
Android. Ce kit contient tous les outils ncessaires pour programmer avec
Android, excuter les programmes et les tester.
Android Studio :
Android Studio reprsente la plateforme officielle, soutenue par Google,
pour le dveloppement dapplications Android. Il repose sur IntelliJ 5 et devrait
permettre aux dveloppeurs dtre plus rapides et plus productifs. Avant la
sortie de la premire version stable dAndroid Studio, Google recommandait aux
dveloppeurs Android dutiliser linfrastructure Eclipse, combine au plugin
ADT6, une infrastructure qui reste une rfrence connue en matire de
dveloppement Java.
Page | 24
Contraintes budgtaires :
Le projet qui reprsente un premier prototype ne ncessite pas de
ressources financires. Il ne ncessite pas de dplacement ou de matriel
particulier puisquil se concentre sur le dveloppement dapplication mobile
Android en utilisant loutil offert par Google qui est Android Studio.
Conclusion : Aprs avoir prsent le contexte gnral du projet, ainsi que lorganisme
daccueil au sein duquel sest droul ce stage dans ce premier chapitre, je procderai {
dtailler la conduite du projet dans le chapitre suivant.
Page | 25
Chapitre 2 :
Conduite du projet
Introduction : La premire partie de ce chapitre va porter sur la planification et la
mthode suivie pour mener bien le travail, tandis que sa seconde partie se focalisera
sur la conception.
Page | 26
I Mthodologie de dveloppement
1 Mthode agile RAD
Si vous achetez une maison sur plans, sans jamais visiter le chantier,
vous risquez davoir des surprises au moment dy emmnager, nest-ce pas ?
Cest pourtant une approche similaire qui guide la gestion traditionnelle de
projets de dveloppement logiciel. , extrait de larticle Pourquoi choisir la
gestion de projet Agile ? du site LesAffaires.Com. Cette question rsume, sans
dtailler, les raisons qui poussent chaque projet adopter une mthode agile
pour son dveloppement.
Les mthodes de dveloppement traditionnelles se basent sur un
enchanement des activits et des phases, depuis la phase spcification et
jusqu{ la mise en place du systme, selon un planning prcis et qui sert plus {
prdire la manire dont les choses devraient se passer. Cette vision est hlas loin
de la ralit, car les activits dun projet informatique ne peuvent, presque
jamais, se succder dune manire stricte, sans quaucun changement ne vienne
dranger ce planning prtablit.
Page | 28
Phase 2 Cadrage.
La phase de cadrage consistait dfinir le paramtre et les fonctions
principales que ce premier prototype devait reprendre, en se basant sur une
tude de la documentation existante de lapplication web initiale et dj{
existante. Prenant en considration le besoin principale de lapplication mobile
qui est, et je le rappelle, de rendre les informations de Device-DB disponibles
tre consults tout moment, les premires fonctionnalits ont t limites les
fonctions de recherches et de visualisations. Durant cette phase, jai pu rdiger
un cahier des charges simplifi question de cerner le mieux possible ce qui tait
demand de faire. Elle reprsente environ 10 % du projet.
Phase 3 Design.
Une fois les vues ncessaires prcises, la phase design pouvait
commencer. Elle reprsente environ 25 % du projet, et jai utilis loutil Balsamiq
et sa version dessai pour la ralisation des mockups dinterfaces.
Phase 4 Construction.
Cette phase est constitue de deux sous-phases qui salternaient au fur et
mesure : la conception, et le dveloppement. Cette phase reprsente environ
50% du projet.
Page | 29
Phase 5 Finalisation.
Cette phase reprsente environ 10% du projet. Cest ltape finale et
consiste { dployer lapplication.
En prenant en considration toutes ces donnes, le cycle de vie de ce
projet pourrait tre schmatis de la manire suivante :
3 La planification du projet
La planification du projet est parmi les phases avant-projet, elle consiste
ordonnancer les actions et le chemin de leur droulement tout au long des
phases constituantes du projet.
Page | 30
Page | 31
II Conception du projet
Ce prototype aura comme source la base de donnes dj tablie pour
lapplication web existante, et gre par ses administrateurs. Vu la taille de cette
structure et sa confidentialit, le diagramme de classe reprsentera que les
tables ncessaires pour la ralisation de ce premier prototype. Les diagrammes
ont t raliss avec loutil PowerAMC.
Certains des diagrammes seront des diagrammes globaux et
reprsenteront, non seulement le prototype, mais galement une application
future en prenant en considration les perspectives et les ajouts potentiels qui
pourront tre inclus par la suite, tandis que dautres seront plus spcifiques et
dtailleront principalement les fonctionnalits de Device-DB Mobile dans sa
premire version.
1 Lacteur
Pour le prototype mobile, lacteur principal sera le client (utilisateur) qui
aura les droits daccs et de lecture sur les informations contenus dans la base
de donnes.
2 Diagramme de packages
Le diagramme de packages montre la dcomposition du systme en deux
principale catgorie : le package de la gestion des devices, et cest la catgorie
Page | 32
Page | 33
Page | 34
4 Diagrammes de squences
Ce diagramme permet de dcrire les diffrents scnarios dutilisation des
cas dutilisation Recherche et Visualisation .
Recherche :
Page | 35
Visualisation :
5 Diagrammes de classes
Ce diagramme reprsente les entits (des informations) manipules par
les utilisateurs.
Page | 36
6 Schma logiciel
Lapplication dans son intgralit (cest--dire le premier prototype ainsi que
toutes les fonctionnalits qui peuvent lui tre ajoutes) peut tre schmatise de la
manire suivante :
Page | 38
Conclusion : Dans ce chapitre, jai prsent la planification initiale suivie pour raliser le projet
ainsi que sa conception en prsentant ses diagrammes package, cas dutilisation, squence. Jai
conclu en prsentant un schma logiciel global dune future application plus complte et dtaille.
Page | 39
Chapitre 3 :
Ralisation
Introduction : Je vais prsenter dans la premire partie lapproche thorique que a t
adopte pour la ralisation du projet, ensuite je parlerai brivement de larchitecture 3tiers avant de passer aux tests effectus sur les web services, et finalement prsenter les
diffrentes IHM de lapplication.
Page | 40
I Approche thorique
Comme lapplication web dorigine, Device-DB Mobile devrait communiquer
avec une base de donnes Oracle qui contient les diverses informations qui
seraient rcupres et utilises.
Base de Donnes
Externe
(Oracle DB)
Comment tablir
la liaison entre
les deux ?
Application Mobile
Android
Lavantage de cette approche est que lespace de stockage des donnes, avec
une base de donnes externe, peut tre immense, contrairement une base de
donnes stocke directement sur le Smartphone. Cependant, le temps de rponse
et retour des requtes avec une base de donnes externe peut tre largement
suprieur au temps de rponse dune base de donnes interne.
Page | 41
Base de Donnes
Externe
WEBSERVICES
(REST)
(Oracle DB)
Application Mobile
Android
Pour arriver choisir le type de service Web qui convient le plus, entre
SOAP et REST, il faudrait prendre en considration plusieurs facteurs en se basant
sur les fonctions que permet chaque type de service Web. Si les documentations
officielles des deux types ont tendance valoriser et survendre le mrite de chacun
des deux, des sources plus neutres comme le JDN8 ou LeMagIT soccupent de
dresser une liste de fonctions beaucoup plus objective et qui ma permis de faire un
choix : un service web type REST.
8
JDN : Le JournalDuNet.
Page | 42
Lutilisation dun service web REST est la mthode la plus efficace et la plus
utilise pour tablir un lien entre la base de donnes et lapplication mobile, tant
donn que le langage Android ne communique pas directement avec une base de
donnes autre quune base SQLite.
REST peut tre dfinit comme tant un style darchitecture qui repose sur le
protocole HTTP : On accde une ressource (par son URI unique) pour procder
diverses oprations (GET lecture / POST criture / PUT modification / DELETE
suppression), oprations supportes nativement par HTTP.
II Architecture 3-tiers
Larchitecture dune application mobile utilisant une base de donnes distante
pourrait se schmatiser comme suivant :
Page | 43
Page | 44
Page | 45
Oracle Database :
Oracle Database est un systme de gestion de base de donnes relationnel
(SGBDR) qui depuis l'introduction du support du modle objet dans sa version 8
peut tre aussi qualifi de systme de gestion de base de donnes relationnel-objet
(SGBDRO). Pour les premiers tests, cest la version Express 11g qui a t utilise.
Android Studio :
Depuis le 8 Dcembre 2014, Android Studio est devenu lIDE officiel du
dveloppement Android, propos par Google. Entre 2011 et 2014, Eclipse tait
utilis { la place, combin { un plugin et contenant le SDK dAndroid.
Bien que certains utilisent toujours Eclipse et ADT, le choix, pour ce projet,
cest pos sur Android Studio car depuis la sortie de sa premire version stable en
Avril 2015, Google a entirement dlaiss Eclipse qui ne verra plus de mise jour
ou de ralisation de nouvelles versions partir de maintenant. De plus, Android
Studio est bas sur lIDE IntelliJ IDEA qui est, selon les professionnels du domaine,
un environnement de dveloppement beaucoup plus complet, beaucoup plus
performant, quEclipse.
Les diffrences entre Android Studio et Eclipse sont majeures, et ont toutes
motiv ce choix.
Page | 46
Android Studio
Android Studio utilise le
systme build Gradle.
Cest un systme qui se
base sur les concepts
dApache
Ant
et
dApache Maven.
Le design des interfaces
sous Android Studio se
fait plus rapidement et
propose plus doptions
sans avoir passer en
mode XML.
Build
UID9
Eclipse
Eclipse utilise Apache
Ant comme son systme
build principal.
Certains
lments
graphiques ne peuvent
tre insrer que via le
mode XML, et le temps
de
rponse
au
changement
de
linterface est plus lent.
Page | 47
rsultats avec de multiples formats (JASON, XML, etc) tandis que SOAP ne
communique quavec du XML !
Son majeur inconvnient reste cependant est quil est difficile dimplmenter
les protocoles de scurits avec REST, tandis quavec SOAP des protocoles scurit
font partie de ce style par dfaut.
Avantages
Inconvnients
Formats de rponse
Quand utiliser
Exemples populaires
REST
- Relativement simple
implmenter
et
maintenir.
- Linformation peut tre
enregistre par le client
pour viter des appels
rpts.
Fonctionne
uniquement avec les
bases du protocole http.
Y
ajouter
des
protocoles de scurits
peut
tre
plus
compliqu, sauf SSL quil
supporte par dfaut.
- Multiples et varis.
SOAP
Des
protocoles
scurits y sont intgrs
de base : WS-Security12.
- Est dcrit de faon
simple et lisible sous
forme dun document
WSDL.
- Difficile a implmenter
et peu populaire pour le
dveloppement web ou
mobile.
- Ncessite une bande
passante
importante
pour faire circuler les
donnes.
- Un format unique :
XML.
- Pour les applications - Pour des applications
orientes web ou mobile. qui ncessitent une trs
forte scurit.
- Twitter API, LinkedIn - PayPal SOAP API, etc
API, etc
Tableau 2 : REST vs. SOAP
WS-Security : protocole qui permet dappliquer de la scurit aux web service SOAP.
Page | 48
Avantages
JSON
La
vitesse
de
traitement.
- La simplicit de mise
en uvre.
- Syntaxe simple parser
et gnrer par la
machine.
XML
- Largement utilis et
reconnu par tous les
langages
de
programmation.
- Il est plus facile lire et
convient mieux pour les
fichiers destins aux non
programmeurs.
JSON, associ REST, est plus utilis et prfr pour les applications mobiles
que le format XML vu que ces dernires ncessitent rarement de rcuprer des
donnes fortement structures. JSON est rapide, lger et efficace.
Page | 49
NetBeans :
NetBeans est un environnement de dveloppement open-source. Il a t
choisi pour la ralisation des web services REST pour sa facilit dutilisation, sa
riche documentation et le fait quil est rapide et ergonomique.
Page | 50
Sur cette figure, vous pouvez galement constater que le format dchang
spcifi est JSON.
Le premier type de test effectu tait le test unitaire. Les tests unitaires sont
les tests de blocs de code, que je testais au fur et mesure de la cration des web
services. Jai galement test le rsultat donn via lURI du service.
Page | 51
Le deuxime type de test tait le test dintgration qui sexcute aussi bien en
bote noire quen bote blanche. Ces tests servent { vrifier que les services
sintgrent bien avec dautres composants, ou systmes. Pour ce test, jai intgr les
web services dans une application JavaEE basique.
1 Authentification (Authetication) :
Page | 53
2 Recherche (Search) :
Page | 54
13
Xamarin et AndroidJetPack proposent des solutions payantes pour complter les lments
graphiques dAndroid avec des lments plus performants et plus personnalis. Les prix de
llment DataGrid par exemple peut varier entre 400$ pour une utilisation dans un seul projet, et
1000$ pour une utilisation dans un nombre illimit de projets.
Page | 55
Cette vue donne tous les dtails possibles sur le device. Ces attributs sont
regroups dans cinq diffrents onglets :
Longlet General : contient les informations gnrales sur le device.
Longlet Design : contient les informations caractre graphique sur le
device, comme la largeur et la hauteur de son cran (si cest un Smartphone
par exemple).
Longlet Features : prcise les caractristiques supplmentaires du
device, par exemple sil a une camra ou non.
Longlet Accessories : contient les informations sur les accessoires quun
device peut avoir.
Longlet Additional Information : contient des informations
complmentaire sur un device sil y en a.
Page | 56
Conclusion : Le chapitre ralisation a port sur lapproche thorique suivie pour raliser le
projet, larchitecture adopte qui est naturellement larchitecture 3-tiers pour une application
mobile, puis le chapitre a inclus une brve dmonstration sur les tests effectus sur les web
services et finalement il a prsent les IHMs de lapplication.
Page | 57
Conclusion
_________________________________________________
Les difficults que jai rencontres durant mon stage taient de natures
varies mais, pour ne citer que les principales je dirais que la difficult majeure
Page | 58
tait pour moi de respecter au mieux les plannings tablit, et aussi, essayer de
passer outre les difficults techniques (aussi bien physiques que logiques) que jai
rencontr tout au long du projet.
Page | 59
Bibliographie
_________________________________________________
document
des
spcifications
Ouvrages :
ANDROID, de Florent GARIN. Dunod, dition 2, Octobre 2012, 231 pages.
LArt du dveloppement Android, de Mark MURPHY. Pearson, dition 4,
Dcembre 2012, 626 pages.
RAPID Application Development, de James MARTIN. Macmillan Coll Div,
Mai 1991, 736 pages.
Sites Web :
Android :
http://android.developpez.com/cours/
https://developer.android.com/guide/
http://openclassrooms.com/courses/creez-des-applications-pourandroid
Mthodologie Agile :
Page | 60
http://www.commentcamarche.net/contents/477-methodes-agilesrad-xp
http://www.piloter.org/projet/methode/rad.htm
Autre :
http://www.infoq.com/articles/rest-soap-when-to-use-each
http://www.journaldunet.com/
http://www.lemagit.fr/
http://www.lesaffaires.com/
http://www.uml.org/
Page | 61
Tches :
Nom
Dure
Date de fin
5
5
16
7
15
1
23
2
Date de
dbut
09/03/15
09/03/15
16/03/15
16/03/15
16/03/15
06/04/15
07/04/15
07/04/15
Phase 1 - Initialisation
tude du contexte gnrale
Phase 2 - Cadrage
Documentation initiale
Rdaction du CDC
Validation du CDC
Phase 3 - Design
Documentation sur les outils de
maquettage
Cration des mockups des
vues/interfaces
Validation des mockups
Phase 4 - Construction
Conception
Dveloppement des services REST
Test des services REST
20
09/04/15
06/05/15
1
49
44
14
2
07/05/15
08/05/15
08/05/15
08/05/15
28/05/15
07/05/15
15/07/15
08/07/15
27/05/15
29/05/15
13/03/15
13/03/15
06/04/15
24/03/15
03/04/15
06/04/15
07/05/15
08/04/15
Page | 62
Dveloppement mobile
Test de l'application mobile
Phase 5 - Finalisation
Dploiement
30
3
7
7
01/06/15
13/07/15
16/07/15
16/07/15
10/07/15
15/07/15
24/07/15
24/07/15
Diagramme de Gantt
Page | 63