SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
Développement d’une application
mobile multiplateformes pour la
gestion des opérations bancaires

Réalisé par : M. ELKECHA Brahim
Et : M. OUARRICH Said

Membres de Jury :
M. IBNELHAJ Elhassane (INPT)
M. BENSAID Hicham (INPT)
Mme. MARGHOUBI Rabia (INPT)

Juin 2013
i
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
ii
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
« S’il n’y avait pas d’hiver, le printemps ne serait
pas si agréable : Si nous ne goûtions pas à
l’adversité, la réussite ne serait pas tant appréciée
»

Anne Bradstreet

iii
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
Dédicace
A

la mémoire de mes grands parents
Puisse Dieu les accueillir dans son infinie Miséricorde

A celui qui a toujours garni mes chemins avec force et lumière…mon très cher père
A la plus belle perle du monde…ma tendre mère
A mes sœurs
Je leur souhaitant tout le succès…tout le bonheur

A
A
A

toute ma famille pour l’amour et le respect qu’ils m’ont toujours accordé
mon binôme pour le frère agréable qu’il était et qu’il restera pour moi

tous mes amis
Pour une sincérité si merveilleuse…jamais oubliable, en leur souhaitant tout le
succès…tout le bonheur

A

toute personne
Qui m'a aidé à franchir un horizon dans ma vie…

Aimablement…
ELKECHA Brahim

Je dédie ce modeste travail…

iv
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
À ma mère et mon père
en témoignage de leur affection,
leurs sacrifices et de leurs précieux conseils qui m’ont conduit à
la réussite dans tous ce que je fais ;
À mes sœurs et mes frères
en leur souhaitant la réussite dans leur vie,
À mon cher binôme
Pour tout ce qu’il a fait pour la réussite de ce stage
À tous mes proches
À tous ceux qui m’ont aidé afin de réaliser ce travail,
Et à tous ceux que j’aime et qui m’aiment.

Aimablement…
OUARRICH Said

Je dédie ce modeste travail…
v
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
Remerciements
Premièrement nous remercions Dieu source de toute connaissance.
Au terme de ce travail, nous adressons nos remerciements les plus sincères à notre encadrants M.
Elhassane IBN ELHAJ & M. Hicham BENSAID, deux enseignants chercheurs

à

L’institut

national des postes et télécommunications, pour nous avoir permis de bénéficier de leur grand
savoir dans différents sujets tout au long de notre formation à l’INPT, pour leur pédagogie, leurs
compétences, leur modestie et leur aide précieuse tout au long de ce projet même pendant les
moments les plus difficiles. Vraiment merci pour une qualité d’encadrement si sérieuse et si
consistante …

Un immense merci à M. Rachid et M. Mohamed Amine Larouji méritants tout le respect pour leurs
encouragements, et de nous avoir accueillis dans la société INFOSAT et également pour leur aide
qu’ils nous ont offerte tout au long du stage.

Nos remerciements les plus cordiaux s’adressent à notre encadreur Sakher TALIBI, ingénieur
développeur à INFOSAT, pour sa disponibilité, son aide, ses conseils précieux, ses critiques
constructives, ses explications et suggestions pertinentes ainsi que pour ses qualités humaines et
morales que nous avons toujours appréciées.

Nous ne manquerons pas l’occasion de remercier chaleureusement Mr Amine KOTNI pour son
incontestable contribution à l’accomplissement de notre projet, son caractère accueillant qui nous a
offert une ambiance très motivante et encourageante au travail, ainsi que pour sa disponibilité
extraordinaire qui nous a permis de surmonter les difficultés et autres problèmes rencontrés. Que
dieu préserve votre optimisme et votre enthousiasme.

vi
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
Nous remercions

toutes les personnes qui nous ont soutenus, d'une façon ou d'une autre, nous

éprouvons incessamment leur estime et amabilité, nous saluons réellement cette très haute
bienveillance que vous portez à notre égard et qui restera pour toujours une vraie image de marque
en nous.

Nous terminerons

ces remerciements en saluant vivement les membres du jury pour l’honneur

qu’ils nous ont fait en acceptant de juger notre travail.

Brahim & Said.

vii
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
Résumé:
Le présent document est le fruit de notre travail dans le cadre du stage de fin d'étude, pour
l’obtention du diplôme d’ingénieur d’état en télécommunications et technologies de l’information,
qui a été réalisé au sein de l'entreprise INFOSAT communications. Notre travail Consiste à étudier
les différents Framework de développement mobile hybride « multi plateformes » existants et
choisir le meilleur, et à réaliser un projet mobile E-banking permettant la gestion des opérations
bancaires.
Afin de suivre l'évolution des technologies de l'information et l’émergence du monde
mobile, notre application est conçue pour les différentes plateformes mobiles à savoir: Androïde,
IOS, BlackBerry, Windows phone, Web OS, Symbian ...
Nous avons commencé par l’élaboration d’une

étude fonctionnelle qu’on a fini par

l’élaboration d’une conception du projet, puis nous avons dressé une étude comparative des deux
meilleures solutions de développement mobile multiplateformes: Titanium et PhoneGap. Cette
étude nous a permis de déduire que phone Gap répond mieux à notre besoin. Ensuite nous avons
procédé à la réalisation de l’application.
Les principales fonctionnalités de l’ « e-Banking» sont l’authentification des membres, la
consultation des comptes et des mouvements, le virement bancaire, la demande de chéquier, la
demande de recharge, la géolocalisation, la consultation des effets, des crédits et des listes
impayées. Grâce à ces fonctionnalités l’abonné reste en contact avec son compte bancaire à
n’importe quel endroit où il se trouve et à n’importe quel instant.

viii
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
Abstract:
This document is the result of our work in the end study’s internship, in order to obtain
engineering degree in telecommunications and information technology, which has been done
within the company INFOSAT communications. Our mission is to study the different existing
mobile development framework hybrid "multi-platform" Existing and choose the most appropriate
one to realize our mobile project e-banking.

To follow the evolution of information technology and the emergence of the mobile world,
our application is designed for different mobile platforms namely android, iOS, BlackBerry,
Windows Phone, Web OS, Symbian...

We started with a comparative analysis between the two largely usedcross-platform mobile
development frameworks: Titanium and Phone Gap. Then we decide to use Phone Gap because it
is the most appropriate.

The main features of the "e-banking" are: authentication of members, consulting bank
accounts and movements, bank transfer, check book request, demand of charge, geolocation,
effect’s consultation, credits and unpaid list. With these features the subscriber remains in contact
with his bank account at any place where and at any time.

ix
Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
‫ملخص:‬

‫هذا الكتاب عبارة عن ثمرة لمجهوداتنا التي بذلناها إلنجاز مشروع نهاية تكويننا‬
‫كطلبة مهندسين ،و ذلك بغية الحصول على رتبة مهندس دولة في تخصص تقنيات‬
‫المواصالت السلكية والالسلكية وتقنيات المعلومات، المهمة المطلوبة منا من طرف‬
‫شركة :”‪ “INFOSAT Communications‬كانت دراسة وتحليل وإنشاء برنامج‬
‫"البنك المحمول" وهو عبارة عن برنامج يخول لمستعمله االتصال بحسابه البنكي،‬
‫ومراقبة حسابه، وتحويل األموال، وغير ذلك من الخدمات التي يوفرها البنك العادي.‬

‫بدأنا بدراسة وتحليل المشروع، كما قمنا بمقارنة دقيقة بين تكنولوجيات البرمجة‬
‫المعلوماتية التي تستهدف جميع أنظمة االشتغال التي تستخدمها الهواتف المحمولة،‬
‫لنختار بعد ذلك ”‪ ”Phone Gap‬إلنجاز مشروعنا.‬

‫التطبيق الذي قمنا بتطويره، يمكن تثبيته على مختلف انواع الهواتف الذكية،‬
‫وبالخصوص التي تستعمل انظمة االشتغال مثل، ‪ Android‬و ‪ IOS‬و‬
‫‪BlackBerry‬و ‪ Web OS‬و ‪ Symbian‬الخ.‬

‫‪x‬‬
‫3102/2102 ‪Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said‬‬
Table des matières
Liste Des Figures............................................................................................................................................ 1
Liste Des Tableaux ........................................................................................................................................ 3
Acronymes Et Abréviations ......................................................................................................................... 4
Introduction : ................................................................................................................................................... 5
1.

Contexte Général du Projet :.................................................................................................................. 6

1.1. Présentation de l’organisme d’accueil : ................................................................................................. 7
1.1.1.

Présentation d’INFOSAT Communications : .......................................................................... 7

1.1.2.

Domaines d’intervention d’INFOSAT Communications : ...................................................... 7

1.2. Cadre général du projet :...................................................................................................................... 10
1.2.1.
1.2.2.

Objectifs du projet: ................................................................................................................... 10

1.2.3.

Fonctionnalités à mettre en place:............................................................................................ 11

1.2.4.

2.

Problématique et analyse du besoin :....................................................................................... 10

Planification du projet: ............................................................................................................. 12

Etude Fonctionnelle et Technique: ...................................................................................................... 14

2.1. Etude fonctionnelle:............................................................................................................................... 15
2.1.1.

Capture des besoins fonctionnels : ........................................................................................... 15

2.1.2.

Analyse fonctionnelle : .............................................................................................................. 15

2.1.2.1.

Diagramme des Use Cases: ............................................................................................... 15

2.1.2.2.

Descriptions des Use cases: ............................................................................................... 16

2.1.2.3.

Diagrammes de classes: ..................................................................................................... 19

2.2. Etude technique: .................................................................................................................................... 21
2.2.1.

Spécifications techniques : ........................................................................................................ 21

2.2.2.

Architecture: .............................................................................................................................. 21

2.2.2.1.

Architecture mobile:.......................................................................................................... 21

2.2.2.2.

Architecture serveur: ........................................................................................................ 21

2.2.3.

3.

Choix de technologie « Services Web » : ................................................................................. 22

Choix de Framework de développement mobile: ............................................................................... 25

3.1. Développement Hybride Vs Natif: ...................................................................................................... 26
3.1.1.

introduction: .............................................................................................................................. 26

3.1.2.

Quelle est la meilleure approche : ............................................................................................ 26

3.2.1.

Phone Gap: ................................................................................................................................. 28
3.2.2.

Titanium: .................................................................................................................................... 29

3.3. Comparaison : Titanium VS Phone Gap: ........................................................................................... 31
3.3.1.

Comparaison des plateformes supportées: .............................................................................. 31

3.3.2.

Comparaison des richesses des deux plates-formes: ............................................................. 32

3.3.2.1.

4.

Synthèse : ............................................................................................................................ 33

Mise en Œuvre du projet ...................................................................................................................... 34

4.1. Choix technologiques : .......................................................................................................................... 35
4.1.1.

Coté serveur: .............................................................................................................................. 35

4.1.2.

Coté mobile: ............................................................................................................................... 37

4.2. Architecture globale du projet : ........................................................................................................... 37
4.3. Implémentation : ................................................................................................................................... 39
4.3.1.

Authentification : ....................................................................................................................... 39

4.3.2.

Consultation des comptes : ....................................................................................................... 41

4.3.3.

Demande de recharge:............................................................................................................... 42

4.3.4.

Simulateur de crédit : ................................................................................................................ 43

4.3.5.

Effectuer un virement : ............................................................................................................. 44

4.3.6.

Demander un chéquier :............................................................................................................ 47

4.3.7.

Transférer de l’argent : ............................................................................................................. 49

4.3.8.

Les Tâches : ................................................................................................................................ 50

4.3.9.

Liste des comptes titres: ............................................................................................................ 51

4.3.10.

Consultation des effets : ............................................................................................................ 52

4.3.11.

Situation des crédits : ................................................................................................................ 56

4.3.12.

Liste des impayés : ..................................................................................................................... 57

4.3.13.

Géolocalisation :......................................................................................................................... 57

4.4. Déploiement: .......................................................................................................................................... 58
4.4.1.

Les dangers du reverse engineering:........................................................................................ 58

4.4.2.

Déploiement sur mobile: ........................................................................................................... 58

Conclusion :.................................................................................................................................................... 62
Glossaire: ........................................................................................................................................................ 63
Bibliographie : ............................................................................................................................................... 65
Webographie:................................................................................................................................................. 66
Annexe: ........................................................................................................................................................... 67
Liste Des Figures
Figure 1: Diagramme de Gantt du projet ........................................................................................................ 13
Figure 2:Diagramme des uses cases ................................................................................................................ 16
Figure 3:Diagramme de classes ....................................................................................................................... 20
Figure 4: shémat expliquant l'architecture MVC ............................................................................................. 22
Figure 5: architecture phone Gap.................................................................................................................... 29
Figure 6: Architecture titanium. ...................................................................................................................... 30
Figure 7: Architecture Grails ............................................................................................................................ 36
Figure 8: Schéma directeur du projet .............................................................................................................. 38
Figure 9: Schéma simplifié du fonctionnement de Spring Security ................................................................ 39
Figure 10: Page d’authentification .................................................................................................................. 40
Figure 11: Menu principal de l’application ...................................................................................................... 40
Figure 12: Situation des comptes d’un abonné ............................................................................................... 41
Figure 14: Demande de recharge. ................................................................................................................... 42
Figure 15: bloc de signature de la demande de recharge. .............................................................................. 43
Figure 16: Simulateur de crédit. ...................................................................................................................... 43
Figure 17: Choix du type de virement. ............................................................................................................ 44
Figure 18: Saisie d’un virement de compte à compte ..................................................................................... 44
Figure 19: Récapitulatif du virement de compte à compte. ........................................................................... 45
Figure 20: Page de succès d’un virement de compte à compte...................................................................... 45
Figure 21: Saisie d’un virement vers bénéficiaire ........................................................................................... 46
Figure 22: Récapitulatif d’un virement vers bénéficiaire ................................................................................ 46
Figure 23: Ecran de succès d’un virement vers bénéficiaire. .......................................................................... 47
Figure 24: Demande de chéquier. ................................................................................................................... 48
Figure 25: Demande de chéquier(2). ............................................................................................................... 48
Figure 26: Demande de chéquier avec succès. ............................................................................................... 49
Figure 27: Saisie d’un transfert d’argent. ........................................................................................................ 50
Figure 28: Récapitulatif d’un transfert d’argent.............................................................................................. 50
Figure 29: Liste des tâches............................................................................................................................... 51
Figure 30: Situation des comptes titre. ........................................................................................................... 51
Figure 31: Transaction titre et portefeuille titre. ............................................................................................ 52
Figure 32: Choix de type d’effet. ..................................................................................................................... 52
Figure 33: Les comptes tirés. ........................................................................................................................... 53
Figure 34: La liste des effets à payer. .............................................................................................................. 53
Figure 35: Les comptes tireurs. ....................................................................................................................... 54
Figure 36: Les effets à encaisser par compte. ................................................................................................. 54
Figure 37: Les effets à encaisser par dates d’échéance. ................................................................................. 55
Figure 38: Les effets à encaisser par compte. ................................................................................................. 55
Figure 39: Liste des dossiers. ........................................................................................................................... 56
Figure 40: Contenu d’un dossier avec liste des impayés. ................................................................................ 56
Figure 41: La liste des impayés. ....................................................................................................................... 57
Figure 42: géolocalisation. ............................................................................................................................... 58
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

1
Figure 43: processus du service phoneGap Build. ........................................................................................... 59
Figure 44: L'IDE Adobe Dream weaver ............................................................................................................ 59
Figure 45: fenêtre de phonegap build ............................................................................................................. 59
Figure 46: démarrage du service phonegap build. .......................................................................................... 60
Figure 47: connexion au service phonegap build ............................................................................................ 60
Figure 48: génération des fichiers exécutables. .............................................................................................. 61

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

2
Liste Des Tableaux
Tableau 1: Spécification techniques du projet ................................................................................................ 21
Tableau 2: Comparatif des protocoles de communication ............................................................................. 24
Tableau 3: Récapitulatif DM Natif Vs hybride ............................................................................................... 27
Tableau 5: comparaison des plateformes suportées. ..................................................................................... 32
Tableau 6: : Les APIs supportées par chaque plateformes. ............................................................................ 32

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

3
Acronymes Et Abréviations
A
AIR: Adobe Integrated Runtime
API : Application Programming Interface
App: Application

J
JS : Java Script
JSON: JavaScript Object Notation
JVM : Java Virtual Machine

B
BPM : Business Process Management
BSD: Berkeley software distribution

M

C

R

CSS:

D
DHTMLX: dynamic Hypertext Markup
Language

MVC : Model-View-Control

REST : REpresentational State Transfer

S

EAI : Enterprise Application Integration

SE: système d’exploitation
SOAP: Simple Object Access Protocol
SDK : Software Development Kit
SQL : Structured Query Language
SVG: Scalable Vector Graphics

G

U

E

GPS : Global Positioning System

UI: user interface
UML : Unified Modeling Language
URL: Uniform Resource Locator

H
HTML: Hypertext Markup Language
HTTP : HyperText Transfer Protocol
HTTPS : HTTP Secure

I
IDE : Integrated Development
Environment
IOS: Iphone operating system
IRC: Internet Relay Chat
IHM : Interface Homme Machine

W
WS: Web Service
W3C: The World Wide Web Consortium

X
XML : eXtensible Markup Langage

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

4
Introduction

Introduction :
Le mobile Banking est l'utilisation du téléphone portable pour fournir des services financiers
qui peuvent être des transactions d’argent ou des échanges d'informations entre le client et les
institutions financières. Il est basé sur l'idée d'utiliser en micro-finance un outil de communication,
téléphone portable, qui s'est très fortement répandu ces dernières années, et ceci afin de diversifier
et d'améliorer l'offre de services auprès de la clientèle actuelle.
Toutefois, le développement d’une telle application doit cibler plusieurs plateformes, quitte
à faire face au problème de la fragmentation concernant les applications mobiles et par la suite faire
limiter le nombre d'utilisateurs de l'application. C'est pour cela que le développement mobile
multiplateforme apparait.
C'est dans ce contexte qu’INFOSAT nous a confié, dans la cadre de notre projet de fin
d'étude, la mise en place d'une solution de mobile banking qui permettra d’exécuter des
fonctionnalités financières accessibles à partir du mobile.
Le présent rapport est une synthèse du travail réalisé le long de la période de notre stage. Il
est structuré selon quatre chapitres couvrants l'ensemble des axes de notre travail. Le premier
chapitre décrit l'organisme d'accueil INFOSAT, montre la problématique et l'analyse des besoins,
cite les objectifs et les fonctionnalités à mettre en place et montre la planification du projet.
Le deuxième chapitre définit l'architecture, l’étude fonctionnelle, la conception générale du
projet et la démarche que nous avons suivie.
Le troisième chapitre établit une étude comparative de deux frameworks de développement
mobile multiplateforme "TITANIUM et PHONE GAP" en termes de l'apport, la productivité, les
richesses des plateformes supportées et la gestion de déploiement. A la fin de ce chapitre nous
donnons une comparaison entre le développement hybride et le développement natif.

Au dernier chapitre nous mettons en œuvre le projet. En effet nous justifions les choix
technologiques, puis nous présentons les écrans des différentes fonctionnalités implémentées.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

5
Chapitre 1

1.Contexte Général du Projet :
Dans ce chapitre, nous présenterons le contexte général du projet qui sera
décliné en deux parties : la première présentera la société d’accueil, et la
seconde décrira le contexte, la problématique, l’objectif attendu du projet ainsi
que les fonctionnalités à mettre en place et la planification du projet .

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

6
Chapitre 1

1.1. Présentation de l’organisme d’accueil :

1.1.1. Présentation d’INFOSAT Communications :
INFOSAT est une société de services orientés vers les nouvelles technologies qui
s’intéressent aux services des systèmes d’information, télécommunications et sécurité. Ceci
comprend des domaines aussi variés que la mise en place des solutions client/serveur,
l’administration de bases de données, le développement de logiciels et la mise en place des réseaux
informatiques et téléphoniques.
Les missions d’INFOSAT sont multiples. D’abord, INFOSAT Offre à ses clients, quelle
que soit leur localisation, des produits et des services dans le domaine des technologies de
l'information qui soient d'avant-garde et d'une juste mesure en fonction de leurs besoins et de leurs
moyens financiers. INFOSAT est venu pour être un fournisseur d'informatique reconnu comme un
leader pour la qualité de ses produits et de ses services et pour le professionnalisme de ses
ressources.
Nous citons aussi parmi les missions d’INFOSAT, la réalisation des interventions grâce à
des professionnels hautement motivés offrant une disponibilité totale envers les clients, tout en
démontrant un grand souci de la perfection et beaucoup de créativité dans les solutions qu'ils
proposent.
INFOSAT reflète une organisation où l’équipe travaille dans un climat serein et un
environnement agréable qui lui permet de s'épanouir et de jouir de toute l'autonomie souhaitable
afin de réussir et de se dépasser. INFOSAT participe à l'économie locale et régionale en étant un
groupe de professionnels présents dans les activités d'affaires, culturelles, sociales et
environnemental.

1.1.2. Domaines d’intervention d’INFOSAT Communications :
 Développement informatique :
-

Logiciels, Etudes, conception et intégration de solutions informatiques standards,
spécifiques et Open source sous les environnements Linux et Windows.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

7
Chapitre 1
- Développement d’applications Web.
- Edition des logiciels notamment dans les métiers de la banque et des assurances,
- Développements spécifiques autour des technologies Web, Mobile et SMS,
INFOSAT ambitionne de se positionner comme un partenaire de référence auprès des
établissements financiers souhaitant procéder au développement et à l’intégration de progiciels
spécialisés. Leur objectif est de générer de la valeur ajoutée pour nos clients en respectant leurs
spécificités, contraintes, et exigences aussi bien sur le plan de la qualité que celui du coût.


Compétences de développement:

- Langages de programmation : Windev, VB, Delphi, Java (J2EE), C++
- Bases de données : PostgreSQL, SQL Server, Interbase/Firbird, MySQL…
- Développement mobile : iphone , Androide ,Titanium ,Phongap …
- Méthodes d'analyse et modélisation : Merise, UML.

Les prestations de service sont axées principalement autour de leurs produits, et couvrent les
volets suivants :
-

Accompagnement pour la définition et le cadrage des besoins et intégration de leurs
solutions,
Prise en charges des développements spécifiques,
Formation et conduite de changement,
Hébergement (en option) en mode SaaS de notre solution,
Maintenance et assistance post-production,

 Réseaux informatiques :

-

Etude et conception d’architectures et solutions réseaux (LAN- INTRANET-WIFI….)
Installation de serveurs LINUX /Windows Server (contrôleur de domaine, serveur de
fichiers, messagerie, site web, impression…)
Etablissement de stratégies de sécurité réseau (Proxy, Firewall, sauvegardes, antivirus…)
Travaux de câblage Ethernet (CAT5, CAT6, Fibre optique), armoires informatiques,
Antennes et Points d'accès WIFI….

 RÉSEAUX TELEPHONIQUES :

-

Travaux de câblage téléphonique (prises, moulure et accessoires…)
Equipement, configuration et installation de standards téléphoniques ainsi que la Téléphonie
IP.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

8
Chapitre 1

 MAINTENANCE ET REPARATION :

-

SAV et Contrats de maintenance sur tous les produits (matériels et logiciels) fournis par
INFOSAT.
Maintenance et réparation soft et hard informatique, téléphonique et électronique.

 VENTE :

-

SYSTÈMES DE POINTAGE (Pointeuses, cartes de proximité, badges, logiciel de gestion
de présence),
LOGICIELS (LGP Gestion de pointage, antivirus, gestion pharmacie, gestion commerciale,
gestion paie),
MATERIEL ET ACCESSOIRES INFORMATIQUE (Micro-ordinateurs, Imprimantes,
Traceur, Onduleur…) ,
EQUIPEMENTS DE TELECOMUNICATION (routeurs, switchs, modems, équipements
WIFI, standards et appareils téléphoniques),
SOLUTIONS DE TÉLÉSURVEILLANCE (caméras de surveillance, caméras IP, cartes
DVR….).

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

9
Chapitre 1

1.2. Cadre général du projet :
1.2.1. Problématique et analyse du besoin :
Au fil des années, les concepts de temps et de distance ont perdu de leur significativité à
cause des nouvelles technologies et plus spécifiquement l’Internet et les Smartphones, qui ont
acquis une grande importance dans notre quotidien. L’un des secteurs économiques le plus touché
par ce phénomène est le secteur bancaire, en effet aujourd’hui la banque propose un nombre
croissant de services délivrés en ligne : de la simple consultation des soldes bancaires ou la
création de virements électroniques, on peut dorénavant bien gérer nos opérations boursières,
solliciter un crédit, voir même ouvrir un nouveau compte sans devoir se présenter au guichet d’une
banque. Certaines de ces activités étaient impossibles il y a quelques années.

Agissant avec lucidité et consciente des évolutions que connait son domaine, la banque X (le nom réel de la banque a été omis pour des raisons de confidentialité)- a fait appel à la société
INFOSAT Communications afin de lui développer une application de gestion des opérations
bancaires. Cette banque se veut être crédible et ne tient en aucun cas à perdre sa confiance auprès
de ses clients. L’application était déjà dotée de quelques fonctionnalités en back office sur le web
et avait besoin d’être améliorée et mise en place sur mobile, et c’est justement le but de notre
projet. L’idée sur laquelle nous nous sommes basés était d’utiliser un moyen de communication
sécurisé pour fournir des services financiers qui peuvent être des transactions financières et des
échanges d’informations entre le client et l’institution financière.

1.2.2. Objectifs du projet:
Le concept de la performance occupe une place centrale dans le processus de gestion de
toute entreprise et précisément la société « INFOSAT Communications », puisque l’objectif
principal de cette dernière est d’obtenir des résultats compatibles avec sa mission et sa
planification stratégique et opérationnelle. L’évaluation de la performance est donc une activité
omniprésente et s’avère encore plus qu’une nécessité avec tout changement technologique ou
commercial opérant au sein de la banque.
Notre application en tant que moyen de bonne gestion, doit être à la hauteur des attentes, et
de la banque, et des clients bien évidemment. Les dimensions de la performance commerciale
exigées par la banque dans le cahier des charges étaient :

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

10
Chapitre 1
1. L’amélioration de la qualité des services : La temporalisation de la prestation de service
permise par divers équipements et systèmes d’informations, la délocalisation, le gain de
temps, la ré-négociabilité, la flexibilité, la sécurité des transactions ainsi que l’interaction en
temps réel sont les principales améliorations de la qualité des services de la banque.
2. La réduction des coûts


Coût de traitement par le client



Coût de transaction



Coût d’administration

3. La variété de la gamme d’offres : L’adoption des nouveaux canaux de l’E-Banking ouvre de
nouvelles potentialités à la banque pour élargir sa gamme de produits et services offerts aux
clients (signature électronique, paiement en ligne,..)
4. La conquête de nouveaux marchés : Les nouveaux canaux de distribution permettent de
desservir des consommateurs à travers des zones géographiques de plus en plus éloignés.
Plus la banque adopte les canaux électroniques de distribution et de communication, plus
elle aura la possibilité de contourner les barrières géographiques, et ainsi conquérir, gérer et
fidéliser de nouveaux clients.
5. Le renforcement de la relation avec les clients : cette relation a tendance à se renforcer avec
l’utilisation de ces nouveaux canaux multiples, intégrés et disponibles en tout temps.
Pour satisfaire ces besoins et assurer les nouvelles fonctionnalités que veut s’attribuer la
banque X, un site web classique paraît une solution inévitable, mais qui doit être étendue avec
l'utilisation d'une application web mobile.

1.2.3. Fonctionnalités à mettre en place:
Les différentes fonctionnalités à mettre en place dans l’application sont :
 L’accès sécurisé aux comptes bancaires et consultation de leurs soldes.
 La réalisation des transactions et la visualisation de leurs détails.
 La réalisation de virements :
Virement de compte à compte.
Virement vers un bénéficiaire.
 Le Transfert d’argent.
 La demande de chéquier(s).
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

11
Chapitre 1
 La visualisation des tâches non accomplies par le client (Système de notification).
 La simulation d’un crédit.
 Le contact avec la banque et ses agences.
 Un système de géolocalisation.

1.2.4. Planification du projet:
Dans le cadre de la conduite du projet, la réalisation d’un planning à suivre tout au long du
stage de fin d’études s’impose. Ainsi, le stage a débuté le mardi 4 février 2013. Du coup, une
réunion a été tenue afin de définir le calendrier du projet.
Le planning sur lequel on s’est mis d'accord est subdivisé en cinq grandes étapes:
 La première est l’étape de documentation et d’expression des besoins.
 La seconde est l’étape des spécifications fonctionnelles et techniques.
 La troisième étape, quant à elle, traite de la conception.
 La quatrième étape définit le contexte technique.
 La dernière étape est consacrée à l’implémentation, le jeu de tests et le déploiement sur
mobile.
Le planning des étapes de déroulement du projet est présenté à la figure 1 qui représente le
diagramme de GANTT qui permet de rendre plus simple le suivi de l’avancement du projet.
Conclusion:
Après une présentation de l'organisme d'accueil. Nous avons décrit le contexte, la
problématique, les objectifs du projet, ainsi que la mission à accomplir dans notre stage. Dans la
prochaine partie nous établirons une étude comparative des framework de développement mobile.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

12
Chapitre 1

Figure 1: Diagramme de Gantt du projet

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

13
Chapitre 2
2.Etude Fonctionnelle et Technique:
Ce chapitre sera consacré à la définition de l'architecture et la conception
générale de la solution. Il décrira aussi la démarche à suivre, et mettra en œuvre
une étude fonctionnelle du projet ainsi qu'une autre technique.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

14
Chapitre 2

2.1. Etude fonctionnelle:
2.1.1. Capture des besoins fonctionnels :
L’application à réaliser est une application de gestion d’opérations bancaires, elle permet à
un abonné de réaliser toutes sortes d’opérations liées à son compte bancaire, il peut visualiser le
solde de son ou ses comptes et revoir les dernières opérations effectuées sur ces derniers. Il peut
également effectuer des virements, faire des demandes de chéquiers, ainsi que transférer de
l’argent à un particulier…, en s’étant bien évidemment authentifié pour pouvoir accéder à ces
fonctionnalités.
En plus, un abonné a la possibilité de localiser les agences les plus proches, chercher les
agences par ville et pays et connaitre la distance qui sépare son emplacement de l’agence choisie,
ainsi que tracer un itinéraire vers cette destination.
Enfin, il peut faire une simulation de crédit en choisissant le montant d’emprunt, pour ainsi
connaitre la durée de l’emprunt ou le montant mensuel à payer selon le choix.

2.1.2. Analyse fonctionnelle :
2.1.2.1. Diagramme des Use Cases:
Les cas d'utilisation permettent de recueillir, d'analyser et d'organiser les besoins, et de
recenser les grandes fonctionnalités d'un système. Il s'agit donc de la première étape UML
d'analyse d'un système. Dans cette section nous allons présenter les cas d’utilisation concernant le
module de :
 Gestion des opérations bancaires.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

15
Chapitre 2

Figure 2:Diagramme des uses cases

2.1.2.2.

Descriptions des Use cases:

 Consulter un compte :
Acteur :
Abonné
Description :
L’abonné a la possibilité de consulter le solde de chacun de ses comptes, et de voir les
mouvements concernant chaque compte. Chaque mouvement est constitué des informations
suivantes :





Identifiant du mouvement
Intitulé du mouvement
Date d’exécution
Montant du mouvement

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

16
Chapitre 2

Effectuer un virement :
Acteur :
Abonné
Description :
Dans ce cas d’utilisation l’abonné peut effectuer un virement de compte à compte, c’est un
virement qui se fait entre les comptes du même abonné. Pour cela, il doit saisir toutes les
informations qui concernent ce type de virement, ce dernier caractérisé par :







Identifiant de ce virement
Compte à créditer
Compte à débiter
Montant du virement
Motif du virement
Date d’exécution du virement

L’abonné peut éventuellement effectuer un virement vers un bénéficiaire. Ce virement ne
concerne pas un seul abonné, mais se fait entre un abonné et un autre existant parmi les
bénéficiaires de cet abonné. Pour cela, il doit également saisir toutes les informations qui
concernent ce type de virement, qui se voit caractérisé par :







Identifiant de ce virement
Bénéficiaire
Compte à créditer
Montant du virement
Motif du virement
Date d’exécution du virement

Exceptions :
L’identifiant du virement est une valeur unique. Si cette donnée existe déjà dans le système,
une exception doit être levée.
Le montant du virement ne doit pas dépasser le plafond quotidien spécifié dans le contrat et
qui représente la somme totale de tous les montants des opérations pouvant être effectuées par les
abonnées liée à ce contrat.
La date d’exécution ne doit pas être antérieure à la date système, sinon une exception est
levée.
Dans un virement de compte à compte (même abonné), le compte à créditer doit être
différent du compte à débiter.
 Effectuer un transfert d’argent :
Acteur :
Abonné
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

17
Chapitre 2
Description :
L’abonné peut effectuer des transferts d’argent vers un bénéficiaire, même n’étant pas client
de la banque. Pour cela, il doit saisir toutes les informations qui concernent ce transfert, qui se voit
caractérisé par des informations concernant le compte à débiter:
 Compte à débiter
 Montant du transfert
 Motif du transfert
Ainsi que des informations sur le récepteur du transfert :








Nom et prénom du bénéficiaire
Type de la pièce d’identité (Carte national, passeport, permis, carte séjour ...)
Numéro pièce d’identité
Adresse
Ville
Pays
Téléphone principal

 Demander un chéquier :
Acteur :
Abonné
Description :
L’abonné a aussi la possibilité de faire une demande d’un carnet de chèques, soit pour luimême ou pour un autre bénéficiaire, et cela en spécifiant les informations suivantes :





Compte à débiter
Nombre de chéquiers
Type de chéquier
Moyen de remise du/des chéquier(s)

Ainsi que des informations citées précédemment sur le bénéficiaire.

 Simuler un crédit :
Acteur :
Abonné
Description :
Si l’abonné veut connaitre les détails d’une prise de crédit de cette banque, il a la
possibilité de faire une simulation de crédit. Pour cela, il fournit le montant total du prêt, ainsi que
l’une des informations suivantes :


Le montant mensuel qu’il a l’intention de payer

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

18
Chapitre 2


La durée au bout de laquelle il compte rembourser le prêt

Et en fonction de l’information saisie, l’autre information est calculée.

 Localiser les agences de la banque :
Acteur :
Abonné
Description :
Dans ce cas d’utilisation, l’abonné peut connaitre sa position via GPS et ainsi déterminer les
agences qui sont à proximité de lui, ou bien les rechercher par ville et par nom d’agence, ces
derniers qui sont transformés en coordonnées sur la map, pour enfin connaitre la distance qui le
sépare d’une agence.

2.1.2.3.

Diagramme de classes:

Ce diagramme regroupe les différentes classes du projet à savoir : «Compte», «
VirementVersBenificiares », «VirementCompteAcompte », «TransfertArgent », « PaysAgence »,
« Virement », « Benificiare », « Contrat », « Agent », « Demande de chequier » …, contribuant à
effectuer toutes les opérations bancaires exigées par le cahier des charges.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

19
Chapitre 2

Figure 3:Diagramme de classes

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

20
Chapitre 2

2.2. Etude technique:
2.2.1. Spécifications techniques :
L’outil doit être en mesure de répondre à un certain nombre d’exigences techniques. Cellesci se résument dans les objectifs présentés dans le tableau suivant :
Objectif

Description

Multiplateformes

L’application doit pouvoir être accessible
depuis les deux plateformes iOS et Android.

Fluidité du déploiement

L’application doit marcher sans problèmes
dans toutes les versions antérieures du SE.

Confidentialité

Les utilisateurs du système sont identifiés par
leurs noms et leurs mots de passe.

Optimisation du temps de réponse

Aucune donnée ne doit être stockée
localement.

Sécurité des transactions

Toutes les transactions du client vers le
serveur doivent être sécurisées.

Tableau 1: Spécification techniques du projet

2.2.2. Architecture:
2.2.2.1. Architecture mobile:
Deux approches possibles lorsque l’on débute un projet d’application mobile ciblant
plusieurs plateformes :
 L’approche native: consiste à développer l’application pour chacune des plateformes.
 L’approche hybride: qui consiste à développer une Application réalisée via un site Web
optimisé pour mobile (Web Apps).
La comparaison détaillée de ces deux approches sera dans le troisième chapitre.

2.2.2.2.

Architecture serveur:

Pour la séparation des données, des traitements et de la présentation, On adopte
l’architecture MVC. Programmer en utilisant MVC sépare l’application en 3 parties principales : Le
Modèle - La Vue - Le Contrôleur:
1. Le modèle: Il représente les données et les règles métiers. C’est dans ce composant que
s’effectuent les traitements liés au cœur du métier. Les données peuvent être liées à une base
de données, des services web, etc.
2.

La vue : correspond à l’IHM. Elle présente les données et interagit avec l’utilisateur.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

21
Chapitre 2
3. Le contrôleur : se charge d’intercepter les requêtes de l’utilisateur, d’appeler le modèle puis
de les rediriger vers la vue adéquate. Il ne doit faire aucun traitement. Il ne fait que de
l’interception et de la redirection.

Figure 4: shémat expliquant l'architecture MVC

2.2.3. Choix de technologie « Services Web » :
 Services Web :

Définition :
Un " Service Web" est une application logicielle à laquelle on peut accéder à distance à
partir de différents langages basés sur XML.
Un " Service Web" est identifié par un URL, comme n'importe quel site Web. Il s'exécute
sur un "Serveur d'Applications". Peu importe l'ordinateur, le système d'exploitation ou le langage
utilisés par le client. Plus simplement, C'est le fait de mettre des ressources à disposition sur Internet,
via un protocole d'échanges standardisé, pour des programmes écrits dans des langages

quelconques. Cela nécessite :


un encodage (toujours XML) ;



un transport (souvent HTTP) ;



une organisation des requêtes et des réponses.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

22
Chapitre 2
La procédure de fonctionnement d'un service Web en bref est la suivante :
1. le service Web définit un format pour les requêtes et les réponses.
2. un ordinateur demandeur effectue une requête.
3. le service Web effectue une action, et renvoie la réponse à l'ordinateur demandeur.
 Argumentation du choix :
Les Services Web permettent de :


Faciliter le travail du développeur dans la mesure où le modèle d’interaction par appel de
méthodes métiers est le même que celui de l’application, et donc les services Web
permettent de faire appel aux méthodes métiers par plusieurs interfaces sans avoir à refaire
le code pour chaque interface.



Améliorer un aspect de l’interopérabilité en spécifiant le format dans lequel les informations
doivent être encodées.



Optimiser le temps d’appel au serveur puisque aucune donnée ne sera stockée localement
lors des appels distants.
 REST ou SOAP, lequel choisir ?
Après le choix des web services comme moyen de communication entre le client et le

serveur, vient le choix du protocole de communication. Lors de nos recherches, nous avons trouvé
deux protocoles qui ont suscité notre curiosité : REST et SOAP, ce qui nous a mené à faire une
étude comparative afin de faire le bon choix.
REST et SOAP sont des styles architecturaux qui permettent la transmission d’objets
distants. Ce sont eux qui autorisent les objets à invoquer des méthodes d’objets situées sur un autre
serveur.

SOAP
Vision et but de

Utiliser le web pour échanger des

l’application

objets

Type

SOAP utilise des requêtes cachées

REST
Ouvrir le web aux applications
REST utilise des requêtes HTTP et

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

23
Chapitre 2
d’administration

dans des fichiers XML ainsi son

donc son administration est comme

administration comme celle d’un

celle du Web

EAI
Un service SOAP se met en place
Type de
développement

comme le déploiement d'un objet.
Cela ouvre la porte à l'utilisation de
langages de programmation à
typage statique

Interopérabilité
et plateformes

Un service REST se met en place
comme une page Web. Cela ouvre
la porte à des développements
rapides, aux tests possibles avec un
simple navigateur et à l'utilisation
de langage de scripts

SOAP utilise beaucoup de normes

REST n’a besoin que d’une pile

et versions de chaque normes ce qui

HTTP pour n’importe quelle

diminue son interopérabilité

plateforme

*

Tableau 2: Comparatif des protocoles de communication

 Argumentation du choix :
REST a été la meilleure solution comme protocole de communication du fait que :
- Il est simple à mettre en place.
- Il est plus sécurisé que son concurrent lors des appels distants.
- Le choix de la solution mobile que nous avons appréhendé était plus compatible avec ce
protocole.
Conclusion:
Les parties traitées dans ce chapitre sont les plus cruciales pour tout développement. Il s'agit
de la capture des besoins fonctionnels et la phase d'analyse et de la conception, en se basant sur le
diagramme de cas d'utilisation et le diagramme de classes. On a traité aussi l'architecture et les
spécifications techniques. Les résultats de cette partie représentent la base de la réalisation
technique du projet, qu’on commencera par une étude comparative des framework de
développements existants.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

24
Chapitre 3
3.Choix de Framework de développement mobile:
Cette partie dresse une étude comparative entre deux framework de
développement mobile multiplateforme à savoir phone Gap et Titanium. Elle
traite également la comparaison entre les développements natif et hybride.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

25
Chapitre 3

3.1. Développement Hybride Vs Natif:
3.1.1. introduction:
Les applications natives sont des applications construites et installées sur des plates-formes
spécifiques, comme iOS ou Android, en utilisant un SDK spécifique à chacune. Par exemple, pour
l'iPhone et l’iPad d'Apple, les applications sont conçus et développées sur iOS : écrits dans Xcode
en utilisant l’Objective-C. Quand-à Android a sa propre version de Java et Windows utilise C #, et
ainsi de suite.
Parmi les inconvénients des applications natives, c’est qu’elles sont écrites pour une plateforme et ne peuvent pas être déployées sur une autre. Aussi, les développeurs ont toujours besoin
de ressources supplémentaires pour développer et maintenir chaque plate-forme, qui est toujours
coûteux, d’où le développement mobile hybride apparait.

3.1.2. Quelle est la meilleure approche :
Le meilleur choix dépend du type d'application qu’on souhaite développer. Par exemple, les
applications telles que des jeux vidéo et les applications qui contiennent des animations
favoriseraient le développement natif, alors que les applications hybrides peuvent être mieux
adaptées pour les applications d'entreprise mobiles, car ils sont multiplateformes, d’où la cible est
un marché vaste. Ci-après quelques critères qu’on a pris en considération lors du choix de notre
solution de développement.
 Complexité: Quelle est le niveau de complexité de l'application? Est-ce-que c’est
une application rapide qui accède à un service de base de données ou sur le Web pour
certaines données à afficher?
– dans notre cas une application Web mobile peut suffire. .
 Performance: Quel type de rendement est exigé par l'application, par exemple, pour
regarder en temps réel des données à partir du réseau, la performance de l’application
mobile dépend de la latence du réseau et des capacités du serveur.
-- Les deux : hybrides et natif offrent des bonnes performances.
 La connectivité et la disponibilité: Quel est le type de connectivité exigé? Est-ce
que l'application exige d’être connecter en permanence afin de récupérer les données
récentes?
- Les applications natives et hybrides peuvent être construites pour fonctionner en
ligne et même hors ligne.
 multi-plate-forme Exigences: Ce critère fait la grande différence, et seules les
applications hybrides qui supportent le développement multi-plate-formes.
 Appareil-Services d'accès: Les applications natives ou hybrides permettent
d'accéder aux services périphériques locaux, tels que la caméra, app contacts,
accéléromètre, etc.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

26
Chapitre 3
 Ressources: Pour le développement natif, Le nombre de développeurs consacrer à la
construction et au développement de l’application mobile, leur niveau de
compétence aussi l’environnement de travail « ici un système d'exploitation de
chaque plate-forme, de langage de programmation bien spécifie, et des devices pour
les tests » rend le travail couteux, et si on souhaite ajouter une autre plate-forme,
donc un autre langage, une autre SDK, de nouveaux compétences.
-- Pour ce critère les applications hybrides sont les plus rentables, mais il peut y
avoir des petites différences de performances.



Autre critères:

Native

Hybrid

Graphiques

Native APIs

HTML, Canvas, SVG

Performance

Rapide

moyenne

Distribution

Appstore

Appstore

Camera

oui

oui

Notifications

oui

oui

Contacts

oui

oui

Stockage hors ligne

Secure file storage

Fichiers de système sécurisés.

Géolocalisation

oui

oui

connectivité

Online et offline

Online et offline

Development skills

ObjectiveC, Java

HTML5, CSS, Javascript

App Features

Device Access

Tableau 3: Récapitulatif DM Natif Vs hybride

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

27
Chapitre 3
D’après cette étude on constate que le développement hybride est globalement plus
productif. C’est une solution pour les personnes souhaitant effectuer un investissement sérieux
dans le mobile. Mais sans oublier qu’ils ne vont jamais remplacer d’une manière entière le natif.

3.2. Développement mobile multiplateformes:
Il existe plusieurs Framework de développement mobile hybride basés sur JavaScript et qui
permettent d’améliorer la productivité, on cite : PhoneGap(Apache Cordova), Appcelerator
Titanium, jQuery Mobile, Sencha Touch, DHTMLX Touch, Limes JS, JQTouch, …
Ces Framework partagent quelques caractéristiques à savoir :
 Optimisés pour les appareils tactiles : la saisie de données n’est plus restreinte à la souris
ou au clavier mais devient aussi faisable par les doigts ce qui représente un ensemble de
challenges pour le design des IU. Les plateformes de développement mobile fournissent
des éléments standards pour les interfaces graphiques et une gestion des événements en
particulier pour le développement mobile.
 Une variété de plateforme : ils supportent des appareils avec différents systèmes
d’exploitation tels que Ios et Android ce qui permet de fournir l’application à plusieurs
utilisateurs.
 Lightweight : à cause des limitations da la bande passante, ces Framework se concentrent
très fortement sur la réduction des tailles des fichiers.
 Utilisation des Standards de HTML5/CSS 3 : la plupart des équipements mobile se dote
d’un navigateur qui supporte HTML5 et CSS3, ainsi les Framework de développement
web mobile profitent des fonctionnalités disponibles dans ces spécifications de W3C.

Dans notre projet nous avons effectué une comparaison entre Appcelerator Titanium, Phone
Gap. A partir de cette étude nous avons pu établir les avantages et les inconvénients de chacune
d’elles, ce qui nous a permis choisir la plateforme qui convient pour la réalisation du projet.

3.2.1. Phone Gap:
C’est un framework open source (acheter ne par adobe le 3 octobre 2011. Ceci confirme
l’intérêt que l’on peut avoir envers cette solution. Ce Framework permet de convertir des
applications développées par le langage Java script, HTML et CSS en application native à l’aide
du service
Pour développer des applications PhoneGap, on crée des documents HTML, CSS et des
fichiers JavaScript dans un répertoire local, tout comme l'élaboration d'un site Web. Ce qui nous
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

28
Chapitre 3
permet de profiter de quelques outils précisément le navigateur web du bureau, sans avoir besoin
de l'ensemble des outils natifs de chaque éditeur.
La compilation et la génération des fichiers exécutables sur chacune des plateformes
ciblées : IOS, Android, Windows phone 7, BlackBerry…, se fait à l’aide de l’outil Phone Gap
Build. C’est un service qui permet la compilation du projet dans le Cloud et la génération des
APK.

Figure 5: architecture phone Gap

On peut toujours tester l’application développée soit avec l’émulateur soit avec le device,
mais bien sur après avoir téléchargé le fichier exécutable convenable, généré par le service Phone
Gap Build.
 Les avantages :







petite bibliothèque.
Accès à de nombreuses ressources matérielles.
Extensibilité.
Communauté active.
Compilation à partir du cloud.

 Les inconvénients :

 conception avec callback parfois difficile à accorder avec d'autres librairies
JavaScript.

3.2.2. Titanium:

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

29
Chapitre 3
C’est un Framework open source développé par Appcelerator qui vend des supports et des
formations sur Titanium. Cette solution permet de développer des applications hybrides en
utilisant JavaScript, HTML et CSS.

Titanium est basée sur deux aspects de développement mobile:



Un noyau d'APIs pour créer des applications mobile qui peuvent être installées sur
différentes plateformes.
Parfois Ils existent des APIs spécifiques pour chaque plate-forme, par exemple des
conventions pour l’interface graphique, et des fonctionnalités que les développeurs devraient
prendre en considération lors de l’élaboration d’une application.

Pour ces raisons, Titanium ne peut pas être considéré comme une solution pour coder une
seule fois, exécuter partout’ comme Phone Gap.
 Fonctionnement du Framework :

Généralement, lors de l’exécution, l’application consiste en trois éléments qui sont :

Le code source JavaScript.

La mise en œuvre des APIs Titanium dans la plate-forme spécifique.

L’interpréteur de JavaScript qui est utilisé pour évaluer le code à l’exécution.

Les composants de l’UI peuvent être organisés hiérarchiquement pour créer
des interfaces utilisateurs complexes. Les objets proxy qui représentent une interface pour
les APIs non visuelles (comme système de fichiers I / O ou accès de base de données)
s’exécutent dans le code natif, et de façon synchrone pour renvoyer un résultat JavaScript.

Figure 6: Architecture titanium.

Pour développer une application avec Titanium, le développeur doit nécessairement installer
les SDK de la plateforme ciblée par exemple Ios et Android. Cependant, même après l’installation
de ces outils, l’utilisateur interagit souvent avec l’interface de Scripting de SDK de Titanium

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

30
Chapitre 3
(Aujourd’hui basée sur Pyhton). Ceci peut être réalisé soit avec les commandes Titanium ou très
souvent avec Titanium Studio qui est un IDE basé sur eclipse.
En utilisant l’ensemble des outils de Titanium, le développeur peut générer un répertoire
pour le projet, qui contient la configuration et la localisation des fichiers et un répertoire qui
contient les images, ainsi que le code source JavaScript utile pour donner plus d’importance à
l’application. Le développeur n’aura pas à utiliser les fichiers HTML et CSS que s’il a l’intention
de développer une application hybride qui est à la fois native et basée sur une interface graphique
HTML. Les applications de Titanium peuvent utiliser une interface graphique hybride (web et
native) comme l’application native Facebook par exemple. L’exécution d’une application de
Titanium se fait via l’émulateur de la plate-forme ciblée.
 Les avantages :
 Application native : aspect natif & performances.
 Accès aux ressources matérielles.
 Vitesse de développement.
 Extensibilité.



Les inconvénients :
 Mauvaise documentation, manque de ressources d’apprentissage.
 IDE réclamant une connexion Internet permanente.
 Parfois de nombreuses fuites de mémoire apparaissent.
 Les SDK de chaque plateforme est nécessaire.

3.3. Comparaison : Titanium VS Phone Gap:
3.3.1. Comparaison des plateformes supportées:
On commence par la comparaison des plateformes supportées par chacun des deux FrameWorks. En pratique, les applications développées par PhoneGap peuvent être installées et
exécutées sur sept plateformes différentes « voir tableau numéro 5 ».
Concernant Titanium, le support de BlackBerry et Windows phone sont encore récents et
disponible uniquement sous Windows. A cause de l’écrasante domination de l’iPhone,
d’Android et de BlackBerry), on ciblera généralement ces 3 plateformes uniquement. Mais
quelques entreprises ciblent également les plateformes Web OS, Symbian, Bada …, Donc Phone
Gap devient une solution incontournable. Ci-après un tableau qui illustre les différentes
plateformes supportées par chacun des Framework.

Phone Gap
1234-

MAC IOS
Android
BLACKBERRY
WINDOWS PHONE

Titanium
1234-

MAC IOS
ANDROID
BLACK BERRY10.
WINDOWS PHONE.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

31
Chapitre 3
5- BADA
6- SYMBIAN
7- WEB OS
Tableau 4: comparaison des plateformes suportées.

3.3.2. Comparaison des richesses des deux plates-formes:
En général il y’a pas de grande différence entre ces deux plateformes en termes des APIs
supportées. Pourtant, il y a quelques une en ce qui concerne l’aspect général de chacune.
Titanium est fonctionnellement riche et fournira une apparence plus proche du natif, ce qui
est en général l’objectif des concepteurs d’applications.
PhoneGap est généralement limité en termes de fonctionnalités, car à chaque fois on doit
concevoir les écrans comme des pages Web et non des écrans natifs. .
Ci-après un tableau récapitulatif des APIs et plugins supportés par les deux Framework :
APIs

PhoneGap

Titanium

Accéléromètre

Oui

Oui

Caméra

Oui

Oui

Media

Oui

Oui

Map

Oui

Oui

Géolocation

Oui

Oui

Facebook

Oui

Oui

Database

Oui

Oui

FileSystem

Oui

Oui

Cloud

Oui

Oui

Contacts

Oui

Oui

Notification

Oui

Oui

Network

Oui

Oui

UI

Non

Oui

Tableau 5: : Les APIs supportées par chaque plateformes.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

32
Chapitre 3

3.3.2.1.

Synthèse :

L’utilisation de JavaScript devient de plus en plus large, donc il est nécessaire, pour
développer ce type d’applications, de se former profondément à JavaScript et de connaître les
design patterns et la structuration /modularisation du code de ce langage. De manière
globale, l’environnement de développement de Phonegap est mieux intégré, plus documenté ainsi
qu’il est facile à apprendre.

Conclusion:
Cette partie a apporté une vision claire sur le développement mobile multiplateforme et a
permis de faire sortir les avantages et les inconvénients des deux framework et a distingué entre le
développement hybride et les développements natifs. Cette étude est une étape préliminaire vers
l'étude technique du projet qui fera, en plus de l'étude fonctionnelle, l'objet de la prochaine partie

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

33
Chapitre 4

4.Mise en Œuvre du projet
Dans ce chapitre on présentera la réalisation technique des différentes
fonctionnalités du projet.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

34
Chapitre 4

4.1. Choix technologiques :
Nous avons opté pour l’utilisation des technologies suivantes pour plusieurs
notamment pour bénéficier de l’expérience du cadre professionnel présent à
Communications par rapport à la partie serveur, mais également pour la simplicité
utilisation. Pour la partie mobile, nous avons effectué une étude comparative pour
déterminer l’outil que nous avons utilisé.

raisons,
Infosat
de leur
pouvoir

4.1.1. Coté serveur:

 Groovy :

Groovy est un langage de programmation orienté objet destiné à la plate-forme Java. Il
constitue une alternative au langage Java pour cette plate-forme et est inspiré de Python, Ruby et
Smalltalk. Il utilise une syntaxe très proche de Java, avec des accolades, et est directement compilé,
soit à la volée dynamiquement, soit classiquement avec un compilateur en bytecode.

 Grails :

Grails est un framework open source de développement agile d'applications web basé sur
le langage Groovy et sur le patron de conception Modèle-Vue-Contrôleur. Grails est basé sur cinq
principes fondamentaux :





Ne pas se répéter : les éléments de l'application ne doivent être qu'à un seul endroit.
L'architecture MVC et la méta programmation en Groovy rendent cela possible.
Convention plutôt que configuration : il est inutile de préciser des détails lorsqu'ils
respectent des conventions établies. Grails exploite cela en proposant des comportements
par défaut pour la plupart de ses fonctionnalités.
Architecture orientée modèle : le point d'entrée et la pierre angulaire d'un développement
Grails est la description formelle des classes représentant le domaine métier (Modèle
conceptuel de données) ainsi que de leurs dépendances. Les couches techniques sousjacentes sont générées.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

35
Chapitre 4




Prototypage : Les mécanismes de scaffolding offerts par le Framework permettent de
générer automatiquement un prototype d'application "présentable" aux utilisateurs dès la
formalisation des classes de domaine.
Exploiter la puissance de la JVM : les scripts Groovy étant compilés en bytecode Java,
Grails exploite totalement la richesse et la puissance du monde Java.

 Architecture Grails :

Figure 7: Architecture Grails

 PostgreSQL :

PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO).
Il supporte une grande partie du standard SQL tout en offrant de nombreuses fonctionnalités
modernes :






requêtes complexes,
clés étrangères, triggers,
vues,
intégrité transactionnelle,
contrôle des versions concurrentes (MVCC ou multi version concurrency control).

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

36
Chapitre 4

 SpringSource Tool Suite :

Basée sur Eclipse, SpringSource Tool Suite est conçue pour développer des applications
Java reposant sur Spring.

4.1.2. Coté mobile:
Critères de choix : Etude comparative PhoneGap vs Titanium , déjà présentée dans le
troisième chapitre :

VS

4.2. Architecture globale du projet :

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

37
Chapitre 4

Figure 8: Schéma directeur du projet

La figure donne une idée générale sur le fonctionnement du projet, et qui est la suivante :
Le client envoie une requête sécurisée HTTPS via le protocole REST au serveur web, et
plus précisément au contrôleur où sont injectés les Web Services. Grâce à ses interactions avec les
sévices il consulte les méthodes métiers, ainsi qu’avec le domaine (qui remplace la couche modèle
dans l’architecture Grails), renvoie le résultat de la requête sous format JSON au client, celle-ci
permet de compléter les vues développées par Phone Gap.
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

38
Chapitre 4

4.3. Implémentation :
4.3.1. Authentification :
Une étape incontournable de la création d’application consiste en l’authentification. Afin
d’accéder aux fonctionnalités de l’application, un écran d’authentification s’offre à l’utilisateur
dès l’exécution de cette dernière. Dans cette partie, nous avons adopté le module Spring
Security. Spring Security permet de gérer l'accès aux ressources d'une application Java qui
peuvent être des pages web, mais aussi des objets de services métier. Toute ressource sollicitée
par un appelant est rendue accessible si :
- d'une part, l'appelant s'est identifié,
- d'autre part, il possède les droits nécessaires (des rôles dans le vocabulaire Spring Security)
Principe de fonctionnement de Spring Security :
Afin d’utiliser Spring Security dans Grails, on doit installer ce plugin via la console Grails,
ce dernier qui va nous aider à installer une gestion des utilisateurs, avec gestion des rôles et
filtres URL/Rôles. Les requêtes HTTP envoyées par l’utilisateur sont interceptées par un filtre de
servlet qui délègue à un Bean Spring les traitements de vérification d'accès aux pages web.

Figure 9: Schéma simplifié du fonctionnement de Spring Security

Dans notre cas, les requêtes HTTP envoyées doivent être sécurisées du fait de la
confidentialité des données lors de leur envoi par client vers le serveur et donc on utilise le
protocole de transmission HTTPS plutôt que le HTTP classique. Afin d’implémenter cette
fonctionnalité dans Grails, on doit le forcer à utiliser le protocole sécurisé HTTPS.
Ainsi, les données provenant des formulaires sont envoyées via HTTPS, donc cryptées, et
acheminées vers le serveur grâce à Spring Security qui encode les mots de passe lors de la
transmission et utilise des annotations pour sécuriser l’accès aux méthodes métiers.
L’abonné est appelé à s’authentifier en tapant son nom d’utilisation et son mot de passe, s’il
est déjà enregistré et les deux sont validés alors l’authentification sera réalisée sans aucun
problème sinon elle sera refusée.
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

39
Chapitre 4

Figure 10: Page d’authentification

Une fois l’abonné authentifié, il peut accéder aux quatorze fonctionnalités de l’application.

Figure 11: Menu principal de l’application

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

40
Chapitre 4

4.3.2. Consultation des comptes :
L’abonné peut consulter le solde de son ou ses compte(s), ainsi que les mouvements
effectués pour chaque compte.

Figure 12: Situation des comptes d’un abonné

Consultation des mouvements :
Cette fonctionnalité permet à l’abonné de consulter plusieurs informations qui concernent
la liste des mouvements effectués dans chacun de ses comptes. Parmi ces informations : l’intitulé
du mouvement, sa date de création ainsi que le montant. On a organisé l’affichage par une
pagination qui ne permet que d’afficher les mouvements dix par dix. Et chaque page correspond à
une requête HTTPS pour ne pas trop ralentir l’appel des web services.

Figure 13: Affichage des mouvements sur un compte

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

41
Chapitre 4

4.3.3. Demande de recharge:
L’utilisateur remplit le formulaire de demande de recharge :
-Le compte à débiter.
-Le numéro de la carte.
-Le nom du bénéficiaire.
-Le montant de recharge.
-Le motif.
-Le type de recharge : Ponctuel ou permanent.
Si le client a choisi le type de recharge permanent, alors un autre bloque s’affiche et contient les
informations suivantes :
- La périodicité.
- La date de début.
- La date de fin.

Figure 14: Demande de recharge.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

42
Chapitre 4

Après avoir rempli tous les champs, l’utilisateur reçoit le bloc de récapitulation où il est
demandé de signer et confirmer la demande.

Figure 15: bloc de signature de la demande de recharge.

4.3.4. Simulateur de crédit :
L’abonné a accès au simulateur de crédit pour avoir une idée sur l’échéance ou le montant
mensuel à payer en cas d’une demande de prêt. Ces derniers sont calculés selon le taux d’intérêt
fourni, grâce à des formules connu dans le milieu bancaire..

Figure 16: Simulateur de crédit.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

43
Chapitre 4

4.3.5. Effectuer un virement :
L’abonné a éventuellement la possibilité d’effectuer des virements, soit de l’un de ses
comptes à un autre, soit vers le compte d’un bénéficiaire inscrits dans le contrat.

Figure 17: Choix du type de virement.

Virement compte à compte :
L’abonné commence par le remplissage d’un formulaire contenant les informations sur le
compte à débiter, celui à créditer, le montant, le motif et la date d’exécution du virement. A noter
que la date d’exécution du virement peut être différente de la date système, mais strictement
supérieure à cette dernière bien entendu.

Figure 18: Saisie d’un virement de compte à compte

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

44
Chapitre 4
En cliquant sur le bouton valider, le client reçoit ensuite un récapitulatif du virement
effectué et un bouton signer pour confirmer le virement, après avoir entré son mot de passe.

Figure 19: Récapitulatif du virement de compte à compte.

Après la signature du virement, le client reçoit la confirmation de la réalisation du virement
avec succès auprès du serveur.

Figure 20: Page de succès d’un virement de compte à compte.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

45
Chapitre 4
Virement vers bénéficiaire :
Tout comme le virement de compte à compte, l’abonné commence par le remplissage d’un
formulaire contenant tous les informations sur le virement, la différence qui existe est que le
compte à créditer appartient à l’un de ses bénéficiaires

Figure 21: Saisie d’un virement vers bénéficiaire

Il reçoit ensuite un récapitulatif du virement effectué afin de signer pour confirmer le virement.

Figure 22: Récapitulatif d’un virement vers bénéficiaire

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

46
Chapitre 4

Après avoir
virement.

signé le virement, un écran de succès s’affiche pour annoncer la fin du

Figure 23: Ecran de succès d’un virement vers bénéficiaire.

4.3.6. Demander un chéquier :
L’abonné rempli le formulaire de la demande :





Le Compte à débiter
Le nombre de chéquier(s)
Le type des chéquier(s)
Le moyen de remise du/des chéquier(s)

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

47
Chapitre 4

Figure 24: Demande de chéquier.

Après le remplissage du formulaire, l’abonné envoie les informations saisies au serveur en
cliquant sur le boutant « envoyer », puis une requête de réponse sera renvoyée par le serveur vers
le mobile pour afficher à l’utilisateur les informations déjà saisie, et lui donner la possibilité de
rectifier avant de signer et confirmer.

Figure 25: Demande de chéquier(2).

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

48
Chapitre 4

Figure 26: Demande de chéquier avec succès.

4.3.7. Transférer de l’argent :
L’abonné saisit le compte à débiter parmi ses comptes, le montant et le motif du transfert
ainsi que les informations concernant le bénéficiaire :
 Nom et prénom
 Type de la pièce d’identité
 Numéro de la pièce d’identité
 Adresse
 Ville et pays
 Téléphone

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

49
Chapitre 4

Figure 27: Saisie d’un transfert d’argent.

Après avoir rempli les champs et validé le formulaire le client reçoit un récapitulatif de cette
demande de transfert.

Figure 28: Récapitulatif d’un transfert d’argent.

4.3.8. Les Tâches :
L’abonné peut consulter à chaque instant les différentes tâches qu’il désire effectuer, pour
les valider en les signant, par exemple on voit dans l’imprimé d’écran suivant quelques tâches à
savoir :
« Demande de virement vers bénéficiaire », « demande d’opposition sur chèque »,
« demande de recharge d’une carte », … qui sont déjà remplis dans les champs appropriés.
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

50
Chapitre 4

Figure 29: Liste des tâches.

4.3.9. Liste des comptes titres:
L’abonné peu consulter la situation et toutes les informations sur son compte à savoir :
Numéro du compte, l’agence, numéro de la clé, la date d’ouverture le solde et le totale. Et d’autres
informations supplémentaires.

Figure 30: Situation des comptes titre.

La suite de la Situation des comptes :

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

51
Chapitre 4

Figure 31: Transaction titre et portefeuille titre.

4.3.10. Consultation des effets :
L’utilisateur ou l’abonné commence d’abord par le choix de type de l’effet à consulter.
Quatre catégories d’effets sont offertes :
-Les effets à payer.
-Les effets à encaisser par compte.
-Les effets à encaisser par date d’échéance.
-Les remises d’effets à encaisser.

Figure 32: Choix de type d’effet.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

52
Chapitre 4
-Les effets à payer :
Cette fonctionnalité permet à l’abonné de recevoir une liste dans laquelle figure les comptes
tirés, le montant total et le nombre des effets.

Figure 33: Les comptes tirés.

Quand l’utilisateur clique sur un compte, le serveur lui renvoie la liste des effets à payer.
Chaque sous liste contient des informations sur le compte tiré, la date d’échéance, le nom du tireur
et le montant tiré.

Figure 34: La liste des effets à payer.

-Les effets à encaisser :
C’est le cas où le porteur de l’effet garde ce dernier dans son portefeuille jusqu'à
l’échéance puis il le présente soit à sa banque pour encaissement (effet domicilié) ou au tiré ou
bien au souscripteur pour l’encaissement.
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

53
Chapitre 4
Ce type d’effets regroupe deux sous catégories : les effets à encaisser par compte et les
effets à encaisser par date d’échéance.
-Les effets à encaisser par compte :
Le serveur renvoie au client dans ce cas une liste contenant des informations sur les comptes
tireurs, le montant total et le nombre des effets.

Figure 35: Les comptes tireurs.

Quand l’utilisateur clique sur un compte, le serveur lui renvoie la liste des effets à
encaisser. Chaque sous liste contient des informations sur le compte tiré, la date d’échéance, le
nom du tireur et le montant tiré.

Figure 36: Les effets à encaisser par compte.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

54
Chapitre 4

-Les effets à encaisser par date d’échéance :
Au lieu que le serveur renvoie les compte tireurs comme le cas précèdent, il renvoie cette
fois les dates d’échéance, les montants totaux et les nombres des effets.

Figure 37: Les effets à encaisser par dates d’échéance.

De la même façon que pour le cas précédent, le serveur renvoie, la liste des effets à
encaisser qui ont la même date d’échéance. Les sous listes contiennent les mêmes informations.
-Les remises d’effets à encaisser :
Si l’abonné choisit cette option, il verra une liste contenant des informations sur le
numéro de remise, le nombre des effets et le montant total.

Figure 38: Les effets à encaisser par compte.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

55
Chapitre 4

Dans ce cas le serveur renvoie, la liste des effets à encaisser qui ont la même date
d’échéance. Les sous listes contiennent les mêmes informations que pour le cas précédent.

4.3.11. Situation des crédits :
Pour chaque dossier de crédit, l’abonné peut consulter plusieurs informations à savoir : nom
du dossier, nom de celui qui remboursera le crédit, le statut s’il est réglé ou bien en cours, date
blocage ou date de dernier échéance ….

Figure 39: Liste des dossiers.

Figure 40: Contenu d’un dossier avec liste des impayés.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

56
Chapitre 4

4.3.12. Liste des impayés :
Le client peut aussi consulter la liste de ses impayés. Ainsi, le serveur renvoie la liste des
informations suivante pour chaque lise des impayées.






La date d’échéance.
Le montant impayé.
Le montant frais impayé.
Le montant d’échéance.
Le statut.

Figure 41: La liste des impayés.

4.3.13. Géolocalisation :
La géolocalisation ou géo-référencement est un procédé permettant de positionner une
personne ou un objet (guichet dans notre cas) sur une carte à l'aide de ses coordonnées
géographiques. Ici on a utilisé les deux coordonnées la longitude et l’altitude récupérées à partir du
GPS. On a mis en œuvre la carte mappy, car la carte de Google Map touche l’union de notre cher
pays.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

57
Chapitre 4

Figure 42: géolocalisation.

4.4. Déploiement:
4.4.1. Les dangers du reverse engineering:
Le reverse engineering est une technique permettant de reconstituer le code source d'une
application à partir de sa forme compilée. La possession du code source permet de connaître le
fonctionnement précis d'une application. Face aux risques liés au reverse engineering, nous nous
sommes vu contraint de choisir une technique qui permettrait de cacher le code source de
l’application, puisqu’il est facile de décoder le fichier exécutable.
Il en existe quatre :





l'obfuscation transforme le code source avant compilation de manière à le rendre illisible
pour l'être humain. (voir annexe)
le chiffrement assure la confidentialité totale du code source tant que l'algorithme de
chiffrement n'a pas été cassé et que la clé n'a pu être trouvée par force brute
l'exécution de code distant permet de ne livrer aux clients qu'une partie de l'application, les
portions sensibles sont conservées sur un serveur distant protégé sur lequel elles s'exécutent
le code natif protégé est un code compilé pour une architecture matérielle très spécifique,
rendant difficile l'utilisation d'un décompilateur adapté

4.4.2. Déploiement sur mobile:
Après avoir réalisé l’application sous forme d’un site web, il vient le tour du Framework
PhoneGap qui va s’occuper d’empaqueter le code source à l’aide de son service PhoneGap Build,
intégré dans l’outil Adobe Dreamweaver (voir l’Annexe), et ainsi de générer les fichiers
permettant le déploiement de l’application sur différentes plateformes. Le schéma de ce processus
est représenté ci-dessous.
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

58
Chapitre 4

Figure 43: processus du service phoneGap Build.

Les figures suivantes montrent dans l’ordre la réalisation de ce processus de manière
pratique.

Figure 44: L'IDE Adobe Dream weaver

Figure 45: fenêtre de phonegap build

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

59
Chapitre 4

Figure 46: démarrage du service phonegap build.

Figure 47: connexion au service phonegap build

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

60
Chapitre 4

Figure 48: génération des fichiers exécutables.

Conclusion:
Ce chapitre avait pour but de décrire l’environnement technique et les différentes étapes de
la réalisation du projet. En effets nous avons choisi les technologiques pour l'implémentation de
l'application et finalement nous avons présenté quelques écran décrivant les fonctionnalités de
notre application.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

61
Conclusion :
En guise de conclusion, nous pouvons affirmer que le développement multiplateforme
mobile est un domaine enrichissant au niveau expérimental et qu’il est en évolution constante.

Ce stage a été pour nous l’occasion de faire le lien entre nos connaissances académiques et
le monde professionnel. Il nous a permis de développer nos compétences techniques,
d’approfondir nos connaissances théoriques et les mettre en pratique. Cette expérience a aiguisé
nos capacités d’analyse et de synthèse, et nous a permis de renforcer nos connaissances concernant
le développement mobile ainsi que le développement hybride.

Après la réalisation technique du projet avec le framework Phone Gap, nous constatons
que toutes les fonctionnalités réalisées sont fonctionnelles sur le mobile. Ce projet était une
occasion pour mieux comprendre et apprendre des notions ayant une relation avec le domaine
bancaire considéré comme l'un des domaines sensibles. Cette dernière considération nous a
excités de traiter le sujet avec précaution en termes de sécurité.

Enfin, ce stage fut une expérience très enrichissante pour nous sur les deux plans
personnels et professionnels. En effet, il a été l’occasion de découvrir le dynamisme et
l’enthousiasme qui caractérisent l’équipe d'INFOSAT. Les réunions régulières effectuées avec les
encadrants à INFOSAT nous ont permis de mettre en œuvre les concepts de gestion de projets
acquis à l'INPT.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

62
Glossaire:
 A
App Store :
Plateforme de téléchargement d’applications.
Aptana :
Aptana Studio est un environnement de développement intégré orienté web, multiplate-forme et
open-source.
 D
Debugger :
Est un logiciel qui aide un développeur à analyser les bugs d'un programme.
 G
Google Play :
Plateforme de téléchargement d’applications.
 I
IBM :
International Business Machines Corporation, connue sous l’abréviation IBM, est une société
multinationale américaine présente dans les domaines du matériel informatique, du logiciel et des
services informatiques.
 L
Lotus Domino :
Lotus Domino est un produit IBM qui fournit une plateforme de gestion électronique des
documents développée en mode open source, qui inclut une messagerie électronique et des
applications de travail collaboratif.
 M
Microsoft Exchange :
Microsoft Exchange Server est un Groupware (logiciel de groupe de travail) pour serveur de
messagerie électronique créé par Microsoft, pour concurrencer Lotus Domino d'IBM.
Mobile information device profile :
Désigné par l'acronyme MIDP, est un profil J2ME utilisé par certains téléphones.
 P
Pattern :
Le mot anglais « pattern » est souvent utilisé pour désigner un modèle, une structure, un motif, un
type, etc.
Ruby On Rails:
Ruby on Rails, également appelé RoR ou Rails est un framework web libre écrit en Ruby
 S
Système multitâche :
Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

63
Un système d'exploitation est multitâche en anglais: multi-task s’il permet d’exécuter, de façon
apparemment simultanée, plusieurs programmes informatiques. On parle également de
multiprogrammation.
 T
Tag :
Langage de balisage HTML.
 W
Widgets :
Widget est une contraction des mots window et gadget. En informatique, le mot widget recouvre
deux notions distinctes en relation avec les interfaces graphiques. Il peut alors être considéré
comme étant la contraction des termes window (fenêtre) et gadget.
 X
XCode :
Est un environnement de développement pour Mac OS X.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

64
Bibliographie :
David Powers. Adobe Dreamweaver CS5.5 Studio Techniques: Designing and Developing for Mobile
with jQuery, HTML5, and CSS3.
JQuery Community Experts. JQuery Cookbook : Solutions & Examples for jQuery developpers.

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

65
Webographie:
PhoneGap Google Group, Getting Started Guide:
http://docs.phonegap.com/en/2.0.0/guide_getting-started_index.md.html.
Appcelerator, Titanium Studio: http://www.appcelerator.com/platform/titanium-studio
Appcelerator, Titanium Documentation: http://docs.appcelerator.com/titanium/2.1/index.html
Comparing Titanium and PhoneGap: http://developer.appcelerator.com/blog/2012/05/comparingtitanium-and-phonegap.html

GitHub, Appcelerator: http://github.com/appcelerator
GitHub, PhoneGap: http://github.com/phonegap
La rédaction journal du Net, Les outils de développement multiplateforme mobiles :
http://www.journaldunet.com/developpeur/outils/les-outils-de-developpement-multi-plateformemobile/ [publié le 03/11/2011]
http://www.wikipedia.com

KONLAMBIGUE Tyab. PhoneGap vs Appcelerator: http://fr.slideshare.net/kcresus/phonegap-vsappcelerator

PETITIT François. Applications mobiles multiplateformes: les approches PhoneGap et Titanium
Mobile : http://blog.octo.com/applications-mobiles-multi-plateformes-les-approches-phonegap-ettitanium-mobile/ [publié le 17/10/2012]
Ekito, Application mobile : web ou natif : http://www.ekito.fr/portail/application-mobile-web-ounatif

Tout JavaScript: http://www.toutjavascript.com/reference/reference.php?ref=String
http://www.w3schools.com/

jQuery Mobile: http://mobile.jquery-fr.com/index.html
Introducing JSON: http://www.json.org/
jQuery: http://www.jquery.com/

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

66
Annexe:
Adobe Dreamweaver:
Dreamweaver est un éditeur de site web WYSIWYG pour Microsoft Windows, et Mac
OS X créé en 1997, commercialisé par Macromedia puis Adobe Systems sous licence utilisateur
final. Dreamweaver fut l'un des premiers éditeurs HTML de type « tel affichage, tel résultat »,
mais également l'un des premiers à intégrer un gestionnaire de site (CyberStudio GoLive étant le
premier). Ces innovations l'imposèrent rapidement comme l'un des principaux éditeurs de
site web, aussi bien utilisable par le néophyte que par le professionnel.
Depuis le rachat de Nitobi Software (développeur d’Apache Cordova) par Adobe Systems
le 4 Octobre 2011, ce dernier est désormais le propriétaire de Phonegap. Suite à ça, Adobe a
intégré phoneGap dans l’outil Adobe Dreamweaver (depuis la version cs5.5).

HTML 5:

HTML5 (HyperText Markup Language 5) est la prochaine révision majeure
d'HTML (format de données conçu pour représenter les pages web). Cette version est en
développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes
de DOM : HTML5et XHTML5. Le langage comprend également une couche application avec de
nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non
conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG
(Web Hypertext Application Technology Working Group). Les deux organisations travaillent en
parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C
vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification
en 2014, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.
HTML5 présente plusieurs changements par rapport HTML 4.X et XHTML 1.X
concernant les spécifications, le Doctype et l’encodage. De plus HTML5 a apporté de nouveaux
éléments et de nouveaux attributs.



Spécifications :
Les spécifications sont publiées par leW3C http://www.w3.org/TR/html5/.
Doctype :
Tout comme les pages HTML ou XHTML, les documents HTML5
nécessitent une déclaration Doctype indiquant la méthode standard de rendu par
le navigateur. Toutefois, pour les documents XML cette déclaration est
facultative, le navigateur l'interprétant en mode standard par défaut. Pour utiliser
la structure XML il faut préciser dans le header : « Content-Type:
application/xhtml+xml ».

Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013

67
rapport de stage
rapport de stage
rapport de stage
rapport de stage

Weitere ähnliche Inhalte

Was ist angesagt?

Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFENadir Haouari
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Anouar Kacem
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étudeDonia Hammami
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSFaissoilMkavavo
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique MehdiOuqas
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 

Was ist angesagt? (20)

Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Rapport pfe licence
Rapport pfe licenceRapport pfe licence
Rapport pfe licence
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 

Ähnlich wie rapport de stage

SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...Borel NZOGANG
 
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Aymane HAMMIOUI ☁️
 
CONCEPTION ET RÉALISATION D’UNE PLATEFORME D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...
CONCEPTION ET RÉALISATION D’UNE PLATEFORME  D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...CONCEPTION ET RÉALISATION D’UNE PLATEFORME  D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...
CONCEPTION ET RÉALISATION D’UNE PLATEFORME D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...BerengerBENAM
 
Rapport_deStage
Rapport_deStageRapport_deStage
Rapport_deStageOmar TRAI
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...Symphorien Niyonzima
 
OURIREM-SALAH.pdf
OURIREM-SALAH.pdfOURIREM-SALAH.pdf
OURIREM-SALAH.pdfGhezza
 
Backup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmBackup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmYoussef El Idrissi
 
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’Audit
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’AuditMISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’Audit
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’AuditOussama ANDALOUSSI
 
Rapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfRapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfsaraachkaou
 
Mise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationMise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationCléa Aurianne Leencé BAWE
 
Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Jihene Zahouna
 
CS_rapport_final_fr_v3_1
CS_rapport_final_fr_v3_1CS_rapport_final_fr_v3_1
CS_rapport_final_fr_v3_1Solin TEM
 
Plaquette 2012 - HETIC
Plaquette 2012 - HETICPlaquette 2012 - HETIC
Plaquette 2012 - HETICHETIC
 
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesRapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesAyoub Ayyoub
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 ayoub damir
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odooayoub damir
 
LAY_Leangsros_brouillions_finale
LAY_Leangsros_brouillions_finaleLAY_Leangsros_brouillions_finale
LAY_Leangsros_brouillions_finaleLAY Leangsros
 
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi zied
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi ziedProjet de fin d'etude 2015 (le web to store) élaborer par Debbichi zied
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi ziedZied Debbichi
 

Ähnlich wie rapport de stage (20)

PFE MASTER ENSET-2023
PFE MASTER ENSET-2023PFE MASTER ENSET-2023
PFE MASTER ENSET-2023
 
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
SITE WEB DE E-COMMERCE AVEC HAUTE DISPONIBILITÉ ET PAIEMENT EN LIGNE AVEC EXP...
 
GEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technologyGEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technology
 
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
 
CONCEPTION ET RÉALISATION D’UNE PLATEFORME D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...
CONCEPTION ET RÉALISATION D’UNE PLATEFORME  D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...CONCEPTION ET RÉALISATION D’UNE PLATEFORME  D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...
CONCEPTION ET RÉALISATION D’UNE PLATEFORME D’ENSEIGNEMENT HYBRIDE D’UNE UNIV...
 
Rapport_deStage
Rapport_deStageRapport_deStage
Rapport_deStage
 
Conception et mise en place d'un site web dynamique de gestion de passation ...
Conception et mise en place d'un site web  dynamique de gestion de passation ...Conception et mise en place d'un site web  dynamique de gestion de passation ...
Conception et mise en place d'un site web dynamique de gestion de passation ...
 
OURIREM-SALAH.pdf
OURIREM-SALAH.pdfOURIREM-SALAH.pdf
OURIREM-SALAH.pdf
 
Backup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmBackup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 Farm
 
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’Audit
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’AuditMISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’Audit
MISE EN PLACE D’UNE Progressive Web App Pour la Gestion des Rapports d’Audit
 
Rapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfRapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdf
 
Mise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisationMise en place d’une application mobile de géolocalisation
Mise en place d’une application mobile de géolocalisation
 
Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010
 
CS_rapport_final_fr_v3_1
CS_rapport_final_fr_v3_1CS_rapport_final_fr_v3_1
CS_rapport_final_fr_v3_1
 
Plaquette 2012 - HETIC
Plaquette 2012 - HETICPlaquette 2012 - HETIC
Plaquette 2012 - HETIC
 
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humainesRapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8
 
Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odoo
 
LAY_Leangsros_brouillions_finale
LAY_Leangsros_brouillions_finaleLAY_Leangsros_brouillions_finale
LAY_Leangsros_brouillions_finale
 
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi zied
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi ziedProjet de fin d'etude 2015 (le web to store) élaborer par Debbichi zied
Projet de fin d'etude 2015 (le web to store) élaborer par Debbichi zied
 

rapport de stage

  • 1. Développement d’une application mobile multiplateformes pour la gestion des opérations bancaires Réalisé par : M. ELKECHA Brahim Et : M. OUARRICH Said Membres de Jury : M. IBNELHAJ Elhassane (INPT) M. BENSAID Hicham (INPT) Mme. MARGHOUBI Rabia (INPT) Juin 2013 i Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 2. ii Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 3. « S’il n’y avait pas d’hiver, le printemps ne serait pas si agréable : Si nous ne goûtions pas à l’adversité, la réussite ne serait pas tant appréciée » Anne Bradstreet iii Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 4. Dédicace A la mémoire de mes grands parents Puisse Dieu les accueillir dans son infinie Miséricorde A celui qui a toujours garni mes chemins avec force et lumière…mon très cher père A la plus belle perle du monde…ma tendre mère A mes sœurs Je leur souhaitant tout le succès…tout le bonheur A A A toute ma famille pour l’amour et le respect qu’ils m’ont toujours accordé mon binôme pour le frère agréable qu’il était et qu’il restera pour moi tous mes amis Pour une sincérité si merveilleuse…jamais oubliable, en leur souhaitant tout le succès…tout le bonheur A toute personne Qui m'a aidé à franchir un horizon dans ma vie… Aimablement… ELKECHA Brahim Je dédie ce modeste travail… iv Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 5. À ma mère et mon père en témoignage de leur affection, leurs sacrifices et de leurs précieux conseils qui m’ont conduit à la réussite dans tous ce que je fais ; À mes sœurs et mes frères en leur souhaitant la réussite dans leur vie, À mon cher binôme Pour tout ce qu’il a fait pour la réussite de ce stage À tous mes proches À tous ceux qui m’ont aidé afin de réaliser ce travail, Et à tous ceux que j’aime et qui m’aiment. Aimablement… OUARRICH Said Je dédie ce modeste travail… v Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 6. Remerciements Premièrement nous remercions Dieu source de toute connaissance. Au terme de ce travail, nous adressons nos remerciements les plus sincères à notre encadrants M. Elhassane IBN ELHAJ & M. Hicham BENSAID, deux enseignants chercheurs à L’institut national des postes et télécommunications, pour nous avoir permis de bénéficier de leur grand savoir dans différents sujets tout au long de notre formation à l’INPT, pour leur pédagogie, leurs compétences, leur modestie et leur aide précieuse tout au long de ce projet même pendant les moments les plus difficiles. Vraiment merci pour une qualité d’encadrement si sérieuse et si consistante … Un immense merci à M. Rachid et M. Mohamed Amine Larouji méritants tout le respect pour leurs encouragements, et de nous avoir accueillis dans la société INFOSAT et également pour leur aide qu’ils nous ont offerte tout au long du stage. Nos remerciements les plus cordiaux s’adressent à notre encadreur Sakher TALIBI, ingénieur développeur à INFOSAT, pour sa disponibilité, son aide, ses conseils précieux, ses critiques constructives, ses explications et suggestions pertinentes ainsi que pour ses qualités humaines et morales que nous avons toujours appréciées. Nous ne manquerons pas l’occasion de remercier chaleureusement Mr Amine KOTNI pour son incontestable contribution à l’accomplissement de notre projet, son caractère accueillant qui nous a offert une ambiance très motivante et encourageante au travail, ainsi que pour sa disponibilité extraordinaire qui nous a permis de surmonter les difficultés et autres problèmes rencontrés. Que dieu préserve votre optimisme et votre enthousiasme. vi Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 7. Nous remercions toutes les personnes qui nous ont soutenus, d'une façon ou d'une autre, nous éprouvons incessamment leur estime et amabilité, nous saluons réellement cette très haute bienveillance que vous portez à notre égard et qui restera pour toujours une vraie image de marque en nous. Nous terminerons ces remerciements en saluant vivement les membres du jury pour l’honneur qu’ils nous ont fait en acceptant de juger notre travail. Brahim & Said. vii Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 8. Résumé: Le présent document est le fruit de notre travail dans le cadre du stage de fin d'étude, pour l’obtention du diplôme d’ingénieur d’état en télécommunications et technologies de l’information, qui a été réalisé au sein de l'entreprise INFOSAT communications. Notre travail Consiste à étudier les différents Framework de développement mobile hybride « multi plateformes » existants et choisir le meilleur, et à réaliser un projet mobile E-banking permettant la gestion des opérations bancaires. Afin de suivre l'évolution des technologies de l'information et l’émergence du monde mobile, notre application est conçue pour les différentes plateformes mobiles à savoir: Androïde, IOS, BlackBerry, Windows phone, Web OS, Symbian ... Nous avons commencé par l’élaboration d’une étude fonctionnelle qu’on a fini par l’élaboration d’une conception du projet, puis nous avons dressé une étude comparative des deux meilleures solutions de développement mobile multiplateformes: Titanium et PhoneGap. Cette étude nous a permis de déduire que phone Gap répond mieux à notre besoin. Ensuite nous avons procédé à la réalisation de l’application. Les principales fonctionnalités de l’ « e-Banking» sont l’authentification des membres, la consultation des comptes et des mouvements, le virement bancaire, la demande de chéquier, la demande de recharge, la géolocalisation, la consultation des effets, des crédits et des listes impayées. Grâce à ces fonctionnalités l’abonné reste en contact avec son compte bancaire à n’importe quel endroit où il se trouve et à n’importe quel instant. viii Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 9. Abstract: This document is the result of our work in the end study’s internship, in order to obtain engineering degree in telecommunications and information technology, which has been done within the company INFOSAT communications. Our mission is to study the different existing mobile development framework hybrid "multi-platform" Existing and choose the most appropriate one to realize our mobile project e-banking. To follow the evolution of information technology and the emergence of the mobile world, our application is designed for different mobile platforms namely android, iOS, BlackBerry, Windows Phone, Web OS, Symbian... We started with a comparative analysis between the two largely usedcross-platform mobile development frameworks: Titanium and Phone Gap. Then we decide to use Phone Gap because it is the most appropriate. The main features of the "e-banking" are: authentication of members, consulting bank accounts and movements, bank transfer, check book request, demand of charge, geolocation, effect’s consultation, credits and unpaid list. With these features the subscriber remains in contact with his bank account at any place where and at any time. ix Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said 2012/2013
  • 10. ‫ملخص:‬ ‫هذا الكتاب عبارة عن ثمرة لمجهوداتنا التي بذلناها إلنجاز مشروع نهاية تكويننا‬ ‫كطلبة مهندسين ،و ذلك بغية الحصول على رتبة مهندس دولة في تخصص تقنيات‬ ‫المواصالت السلكية والالسلكية وتقنيات المعلومات، المهمة المطلوبة منا من طرف‬ ‫شركة :”‪ “INFOSAT Communications‬كانت دراسة وتحليل وإنشاء برنامج‬ ‫"البنك المحمول" وهو عبارة عن برنامج يخول لمستعمله االتصال بحسابه البنكي،‬ ‫ومراقبة حسابه، وتحويل األموال، وغير ذلك من الخدمات التي يوفرها البنك العادي.‬ ‫بدأنا بدراسة وتحليل المشروع، كما قمنا بمقارنة دقيقة بين تكنولوجيات البرمجة‬ ‫المعلوماتية التي تستهدف جميع أنظمة االشتغال التي تستخدمها الهواتف المحمولة،‬ ‫لنختار بعد ذلك ”‪ ”Phone Gap‬إلنجاز مشروعنا.‬ ‫التطبيق الذي قمنا بتطويره، يمكن تثبيته على مختلف انواع الهواتف الذكية،‬ ‫وبالخصوص التي تستعمل انظمة االشتغال مثل، ‪ Android‬و ‪ IOS‬و‬ ‫‪BlackBerry‬و ‪ Web OS‬و ‪ Symbian‬الخ.‬ ‫‪x‬‬ ‫3102/2102 ‪Projet De Fin d’étude – ELKECHA Brahim & OUARRICH Said‬‬
  • 11. Table des matières Liste Des Figures............................................................................................................................................ 1 Liste Des Tableaux ........................................................................................................................................ 3 Acronymes Et Abréviations ......................................................................................................................... 4 Introduction : ................................................................................................................................................... 5 1. Contexte Général du Projet :.................................................................................................................. 6 1.1. Présentation de l’organisme d’accueil : ................................................................................................. 7 1.1.1. Présentation d’INFOSAT Communications : .......................................................................... 7 1.1.2. Domaines d’intervention d’INFOSAT Communications : ...................................................... 7 1.2. Cadre général du projet :...................................................................................................................... 10 1.2.1. 1.2.2. Objectifs du projet: ................................................................................................................... 10 1.2.3. Fonctionnalités à mettre en place:............................................................................................ 11 1.2.4. 2. Problématique et analyse du besoin :....................................................................................... 10 Planification du projet: ............................................................................................................. 12 Etude Fonctionnelle et Technique: ...................................................................................................... 14 2.1. Etude fonctionnelle:............................................................................................................................... 15 2.1.1. Capture des besoins fonctionnels : ........................................................................................... 15 2.1.2. Analyse fonctionnelle : .............................................................................................................. 15 2.1.2.1. Diagramme des Use Cases: ............................................................................................... 15 2.1.2.2. Descriptions des Use cases: ............................................................................................... 16 2.1.2.3. Diagrammes de classes: ..................................................................................................... 19 2.2. Etude technique: .................................................................................................................................... 21 2.2.1. Spécifications techniques : ........................................................................................................ 21 2.2.2. Architecture: .............................................................................................................................. 21 2.2.2.1. Architecture mobile:.......................................................................................................... 21 2.2.2.2. Architecture serveur: ........................................................................................................ 21 2.2.3. 3. Choix de technologie « Services Web » : ................................................................................. 22 Choix de Framework de développement mobile: ............................................................................... 25 3.1. Développement Hybride Vs Natif: ...................................................................................................... 26 3.1.1. introduction: .............................................................................................................................. 26 3.1.2. Quelle est la meilleure approche : ............................................................................................ 26 3.2.1. Phone Gap: ................................................................................................................................. 28
  • 12. 3.2.2. Titanium: .................................................................................................................................... 29 3.3. Comparaison : Titanium VS Phone Gap: ........................................................................................... 31 3.3.1. Comparaison des plateformes supportées: .............................................................................. 31 3.3.2. Comparaison des richesses des deux plates-formes: ............................................................. 32 3.3.2.1. 4. Synthèse : ............................................................................................................................ 33 Mise en Œuvre du projet ...................................................................................................................... 34 4.1. Choix technologiques : .......................................................................................................................... 35 4.1.1. Coté serveur: .............................................................................................................................. 35 4.1.2. Coté mobile: ............................................................................................................................... 37 4.2. Architecture globale du projet : ........................................................................................................... 37 4.3. Implémentation : ................................................................................................................................... 39 4.3.1. Authentification : ....................................................................................................................... 39 4.3.2. Consultation des comptes : ....................................................................................................... 41 4.3.3. Demande de recharge:............................................................................................................... 42 4.3.4. Simulateur de crédit : ................................................................................................................ 43 4.3.5. Effectuer un virement : ............................................................................................................. 44 4.3.6. Demander un chéquier :............................................................................................................ 47 4.3.7. Transférer de l’argent : ............................................................................................................. 49 4.3.8. Les Tâches : ................................................................................................................................ 50 4.3.9. Liste des comptes titres: ............................................................................................................ 51 4.3.10. Consultation des effets : ............................................................................................................ 52 4.3.11. Situation des crédits : ................................................................................................................ 56 4.3.12. Liste des impayés : ..................................................................................................................... 57 4.3.13. Géolocalisation :......................................................................................................................... 57 4.4. Déploiement: .......................................................................................................................................... 58 4.4.1. Les dangers du reverse engineering:........................................................................................ 58 4.4.2. Déploiement sur mobile: ........................................................................................................... 58 Conclusion :.................................................................................................................................................... 62 Glossaire: ........................................................................................................................................................ 63 Bibliographie : ............................................................................................................................................... 65 Webographie:................................................................................................................................................. 66 Annexe: ........................................................................................................................................................... 67
  • 13. Liste Des Figures Figure 1: Diagramme de Gantt du projet ........................................................................................................ 13 Figure 2:Diagramme des uses cases ................................................................................................................ 16 Figure 3:Diagramme de classes ....................................................................................................................... 20 Figure 4: shémat expliquant l'architecture MVC ............................................................................................. 22 Figure 5: architecture phone Gap.................................................................................................................... 29 Figure 6: Architecture titanium. ...................................................................................................................... 30 Figure 7: Architecture Grails ............................................................................................................................ 36 Figure 8: Schéma directeur du projet .............................................................................................................. 38 Figure 9: Schéma simplifié du fonctionnement de Spring Security ................................................................ 39 Figure 10: Page d’authentification .................................................................................................................. 40 Figure 11: Menu principal de l’application ...................................................................................................... 40 Figure 12: Situation des comptes d’un abonné ............................................................................................... 41 Figure 14: Demande de recharge. ................................................................................................................... 42 Figure 15: bloc de signature de la demande de recharge. .............................................................................. 43 Figure 16: Simulateur de crédit. ...................................................................................................................... 43 Figure 17: Choix du type de virement. ............................................................................................................ 44 Figure 18: Saisie d’un virement de compte à compte ..................................................................................... 44 Figure 19: Récapitulatif du virement de compte à compte. ........................................................................... 45 Figure 20: Page de succès d’un virement de compte à compte...................................................................... 45 Figure 21: Saisie d’un virement vers bénéficiaire ........................................................................................... 46 Figure 22: Récapitulatif d’un virement vers bénéficiaire ................................................................................ 46 Figure 23: Ecran de succès d’un virement vers bénéficiaire. .......................................................................... 47 Figure 24: Demande de chéquier. ................................................................................................................... 48 Figure 25: Demande de chéquier(2). ............................................................................................................... 48 Figure 26: Demande de chéquier avec succès. ............................................................................................... 49 Figure 27: Saisie d’un transfert d’argent. ........................................................................................................ 50 Figure 28: Récapitulatif d’un transfert d’argent.............................................................................................. 50 Figure 29: Liste des tâches............................................................................................................................... 51 Figure 30: Situation des comptes titre. ........................................................................................................... 51 Figure 31: Transaction titre et portefeuille titre. ............................................................................................ 52 Figure 32: Choix de type d’effet. ..................................................................................................................... 52 Figure 33: Les comptes tirés. ........................................................................................................................... 53 Figure 34: La liste des effets à payer. .............................................................................................................. 53 Figure 35: Les comptes tireurs. ....................................................................................................................... 54 Figure 36: Les effets à encaisser par compte. ................................................................................................. 54 Figure 37: Les effets à encaisser par dates d’échéance. ................................................................................. 55 Figure 38: Les effets à encaisser par compte. ................................................................................................. 55 Figure 39: Liste des dossiers. ........................................................................................................................... 56 Figure 40: Contenu d’un dossier avec liste des impayés. ................................................................................ 56 Figure 41: La liste des impayés. ....................................................................................................................... 57 Figure 42: géolocalisation. ............................................................................................................................... 58 Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 1
  • 14. Figure 43: processus du service phoneGap Build. ........................................................................................... 59 Figure 44: L'IDE Adobe Dream weaver ............................................................................................................ 59 Figure 45: fenêtre de phonegap build ............................................................................................................. 59 Figure 46: démarrage du service phonegap build. .......................................................................................... 60 Figure 47: connexion au service phonegap build ............................................................................................ 60 Figure 48: génération des fichiers exécutables. .............................................................................................. 61 Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 2
  • 15. Liste Des Tableaux Tableau 1: Spécification techniques du projet ................................................................................................ 21 Tableau 2: Comparatif des protocoles de communication ............................................................................. 24 Tableau 3: Récapitulatif DM Natif Vs hybride ............................................................................................... 27 Tableau 5: comparaison des plateformes suportées. ..................................................................................... 32 Tableau 6: : Les APIs supportées par chaque plateformes. ............................................................................ 32 Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 3
  • 16. Acronymes Et Abréviations A AIR: Adobe Integrated Runtime API : Application Programming Interface App: Application J JS : Java Script JSON: JavaScript Object Notation JVM : Java Virtual Machine B BPM : Business Process Management BSD: Berkeley software distribution M C R CSS: D DHTMLX: dynamic Hypertext Markup Language MVC : Model-View-Control REST : REpresentational State Transfer S EAI : Enterprise Application Integration SE: système d’exploitation SOAP: Simple Object Access Protocol SDK : Software Development Kit SQL : Structured Query Language SVG: Scalable Vector Graphics G U E GPS : Global Positioning System UI: user interface UML : Unified Modeling Language URL: Uniform Resource Locator H HTML: Hypertext Markup Language HTTP : HyperText Transfer Protocol HTTPS : HTTP Secure I IDE : Integrated Development Environment IOS: Iphone operating system IRC: Internet Relay Chat IHM : Interface Homme Machine W WS: Web Service W3C: The World Wide Web Consortium X XML : eXtensible Markup Langage Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 4
  • 17. Introduction Introduction : Le mobile Banking est l'utilisation du téléphone portable pour fournir des services financiers qui peuvent être des transactions d’argent ou des échanges d'informations entre le client et les institutions financières. Il est basé sur l'idée d'utiliser en micro-finance un outil de communication, téléphone portable, qui s'est très fortement répandu ces dernières années, et ceci afin de diversifier et d'améliorer l'offre de services auprès de la clientèle actuelle. Toutefois, le développement d’une telle application doit cibler plusieurs plateformes, quitte à faire face au problème de la fragmentation concernant les applications mobiles et par la suite faire limiter le nombre d'utilisateurs de l'application. C'est pour cela que le développement mobile multiplateforme apparait. C'est dans ce contexte qu’INFOSAT nous a confié, dans la cadre de notre projet de fin d'étude, la mise en place d'une solution de mobile banking qui permettra d’exécuter des fonctionnalités financières accessibles à partir du mobile. Le présent rapport est une synthèse du travail réalisé le long de la période de notre stage. Il est structuré selon quatre chapitres couvrants l'ensemble des axes de notre travail. Le premier chapitre décrit l'organisme d'accueil INFOSAT, montre la problématique et l'analyse des besoins, cite les objectifs et les fonctionnalités à mettre en place et montre la planification du projet. Le deuxième chapitre définit l'architecture, l’étude fonctionnelle, la conception générale du projet et la démarche que nous avons suivie. Le troisième chapitre établit une étude comparative de deux frameworks de développement mobile multiplateforme "TITANIUM et PHONE GAP" en termes de l'apport, la productivité, les richesses des plateformes supportées et la gestion de déploiement. A la fin de ce chapitre nous donnons une comparaison entre le développement hybride et le développement natif. Au dernier chapitre nous mettons en œuvre le projet. En effet nous justifions les choix technologiques, puis nous présentons les écrans des différentes fonctionnalités implémentées. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 5
  • 18. Chapitre 1 1.Contexte Général du Projet : Dans ce chapitre, nous présenterons le contexte général du projet qui sera décliné en deux parties : la première présentera la société d’accueil, et la seconde décrira le contexte, la problématique, l’objectif attendu du projet ainsi que les fonctionnalités à mettre en place et la planification du projet . Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 6
  • 19. Chapitre 1 1.1. Présentation de l’organisme d’accueil : 1.1.1. Présentation d’INFOSAT Communications : INFOSAT est une société de services orientés vers les nouvelles technologies qui s’intéressent aux services des systèmes d’information, télécommunications et sécurité. Ceci comprend des domaines aussi variés que la mise en place des solutions client/serveur, l’administration de bases de données, le développement de logiciels et la mise en place des réseaux informatiques et téléphoniques. Les missions d’INFOSAT sont multiples. D’abord, INFOSAT Offre à ses clients, quelle que soit leur localisation, des produits et des services dans le domaine des technologies de l'information qui soient d'avant-garde et d'une juste mesure en fonction de leurs besoins et de leurs moyens financiers. INFOSAT est venu pour être un fournisseur d'informatique reconnu comme un leader pour la qualité de ses produits et de ses services et pour le professionnalisme de ses ressources. Nous citons aussi parmi les missions d’INFOSAT, la réalisation des interventions grâce à des professionnels hautement motivés offrant une disponibilité totale envers les clients, tout en démontrant un grand souci de la perfection et beaucoup de créativité dans les solutions qu'ils proposent. INFOSAT reflète une organisation où l’équipe travaille dans un climat serein et un environnement agréable qui lui permet de s'épanouir et de jouir de toute l'autonomie souhaitable afin de réussir et de se dépasser. INFOSAT participe à l'économie locale et régionale en étant un groupe de professionnels présents dans les activités d'affaires, culturelles, sociales et environnemental. 1.1.2. Domaines d’intervention d’INFOSAT Communications :  Développement informatique : - Logiciels, Etudes, conception et intégration de solutions informatiques standards, spécifiques et Open source sous les environnements Linux et Windows. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 7
  • 20. Chapitre 1 - Développement d’applications Web. - Edition des logiciels notamment dans les métiers de la banque et des assurances, - Développements spécifiques autour des technologies Web, Mobile et SMS, INFOSAT ambitionne de se positionner comme un partenaire de référence auprès des établissements financiers souhaitant procéder au développement et à l’intégration de progiciels spécialisés. Leur objectif est de générer de la valeur ajoutée pour nos clients en respectant leurs spécificités, contraintes, et exigences aussi bien sur le plan de la qualité que celui du coût.  Compétences de développement: - Langages de programmation : Windev, VB, Delphi, Java (J2EE), C++ - Bases de données : PostgreSQL, SQL Server, Interbase/Firbird, MySQL… - Développement mobile : iphone , Androide ,Titanium ,Phongap … - Méthodes d'analyse et modélisation : Merise, UML. Les prestations de service sont axées principalement autour de leurs produits, et couvrent les volets suivants : - Accompagnement pour la définition et le cadrage des besoins et intégration de leurs solutions, Prise en charges des développements spécifiques, Formation et conduite de changement, Hébergement (en option) en mode SaaS de notre solution, Maintenance et assistance post-production,  Réseaux informatiques : - Etude et conception d’architectures et solutions réseaux (LAN- INTRANET-WIFI….) Installation de serveurs LINUX /Windows Server (contrôleur de domaine, serveur de fichiers, messagerie, site web, impression…) Etablissement de stratégies de sécurité réseau (Proxy, Firewall, sauvegardes, antivirus…) Travaux de câblage Ethernet (CAT5, CAT6, Fibre optique), armoires informatiques, Antennes et Points d'accès WIFI….  RÉSEAUX TELEPHONIQUES : - Travaux de câblage téléphonique (prises, moulure et accessoires…) Equipement, configuration et installation de standards téléphoniques ainsi que la Téléphonie IP. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 8
  • 21. Chapitre 1  MAINTENANCE ET REPARATION : - SAV et Contrats de maintenance sur tous les produits (matériels et logiciels) fournis par INFOSAT. Maintenance et réparation soft et hard informatique, téléphonique et électronique.  VENTE : - SYSTÈMES DE POINTAGE (Pointeuses, cartes de proximité, badges, logiciel de gestion de présence), LOGICIELS (LGP Gestion de pointage, antivirus, gestion pharmacie, gestion commerciale, gestion paie), MATERIEL ET ACCESSOIRES INFORMATIQUE (Micro-ordinateurs, Imprimantes, Traceur, Onduleur…) , EQUIPEMENTS DE TELECOMUNICATION (routeurs, switchs, modems, équipements WIFI, standards et appareils téléphoniques), SOLUTIONS DE TÉLÉSURVEILLANCE (caméras de surveillance, caméras IP, cartes DVR….). Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 9
  • 22. Chapitre 1 1.2. Cadre général du projet : 1.2.1. Problématique et analyse du besoin : Au fil des années, les concepts de temps et de distance ont perdu de leur significativité à cause des nouvelles technologies et plus spécifiquement l’Internet et les Smartphones, qui ont acquis une grande importance dans notre quotidien. L’un des secteurs économiques le plus touché par ce phénomène est le secteur bancaire, en effet aujourd’hui la banque propose un nombre croissant de services délivrés en ligne : de la simple consultation des soldes bancaires ou la création de virements électroniques, on peut dorénavant bien gérer nos opérations boursières, solliciter un crédit, voir même ouvrir un nouveau compte sans devoir se présenter au guichet d’une banque. Certaines de ces activités étaient impossibles il y a quelques années. Agissant avec lucidité et consciente des évolutions que connait son domaine, la banque X (le nom réel de la banque a été omis pour des raisons de confidentialité)- a fait appel à la société INFOSAT Communications afin de lui développer une application de gestion des opérations bancaires. Cette banque se veut être crédible et ne tient en aucun cas à perdre sa confiance auprès de ses clients. L’application était déjà dotée de quelques fonctionnalités en back office sur le web et avait besoin d’être améliorée et mise en place sur mobile, et c’est justement le but de notre projet. L’idée sur laquelle nous nous sommes basés était d’utiliser un moyen de communication sécurisé pour fournir des services financiers qui peuvent être des transactions financières et des échanges d’informations entre le client et l’institution financière. 1.2.2. Objectifs du projet: Le concept de la performance occupe une place centrale dans le processus de gestion de toute entreprise et précisément la société « INFOSAT Communications », puisque l’objectif principal de cette dernière est d’obtenir des résultats compatibles avec sa mission et sa planification stratégique et opérationnelle. L’évaluation de la performance est donc une activité omniprésente et s’avère encore plus qu’une nécessité avec tout changement technologique ou commercial opérant au sein de la banque. Notre application en tant que moyen de bonne gestion, doit être à la hauteur des attentes, et de la banque, et des clients bien évidemment. Les dimensions de la performance commerciale exigées par la banque dans le cahier des charges étaient : Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 10
  • 23. Chapitre 1 1. L’amélioration de la qualité des services : La temporalisation de la prestation de service permise par divers équipements et systèmes d’informations, la délocalisation, le gain de temps, la ré-négociabilité, la flexibilité, la sécurité des transactions ainsi que l’interaction en temps réel sont les principales améliorations de la qualité des services de la banque. 2. La réduction des coûts  Coût de traitement par le client  Coût de transaction  Coût d’administration 3. La variété de la gamme d’offres : L’adoption des nouveaux canaux de l’E-Banking ouvre de nouvelles potentialités à la banque pour élargir sa gamme de produits et services offerts aux clients (signature électronique, paiement en ligne,..) 4. La conquête de nouveaux marchés : Les nouveaux canaux de distribution permettent de desservir des consommateurs à travers des zones géographiques de plus en plus éloignés. Plus la banque adopte les canaux électroniques de distribution et de communication, plus elle aura la possibilité de contourner les barrières géographiques, et ainsi conquérir, gérer et fidéliser de nouveaux clients. 5. Le renforcement de la relation avec les clients : cette relation a tendance à se renforcer avec l’utilisation de ces nouveaux canaux multiples, intégrés et disponibles en tout temps. Pour satisfaire ces besoins et assurer les nouvelles fonctionnalités que veut s’attribuer la banque X, un site web classique paraît une solution inévitable, mais qui doit être étendue avec l'utilisation d'une application web mobile. 1.2.3. Fonctionnalités à mettre en place: Les différentes fonctionnalités à mettre en place dans l’application sont :  L’accès sécurisé aux comptes bancaires et consultation de leurs soldes.  La réalisation des transactions et la visualisation de leurs détails.  La réalisation de virements : Virement de compte à compte. Virement vers un bénéficiaire.  Le Transfert d’argent.  La demande de chéquier(s). Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 11
  • 24. Chapitre 1  La visualisation des tâches non accomplies par le client (Système de notification).  La simulation d’un crédit.  Le contact avec la banque et ses agences.  Un système de géolocalisation. 1.2.4. Planification du projet: Dans le cadre de la conduite du projet, la réalisation d’un planning à suivre tout au long du stage de fin d’études s’impose. Ainsi, le stage a débuté le mardi 4 février 2013. Du coup, une réunion a été tenue afin de définir le calendrier du projet. Le planning sur lequel on s’est mis d'accord est subdivisé en cinq grandes étapes:  La première est l’étape de documentation et d’expression des besoins.  La seconde est l’étape des spécifications fonctionnelles et techniques.  La troisième étape, quant à elle, traite de la conception.  La quatrième étape définit le contexte technique.  La dernière étape est consacrée à l’implémentation, le jeu de tests et le déploiement sur mobile. Le planning des étapes de déroulement du projet est présenté à la figure 1 qui représente le diagramme de GANTT qui permet de rendre plus simple le suivi de l’avancement du projet. Conclusion: Après une présentation de l'organisme d'accueil. Nous avons décrit le contexte, la problématique, les objectifs du projet, ainsi que la mission à accomplir dans notre stage. Dans la prochaine partie nous établirons une étude comparative des framework de développement mobile. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 12
  • 25. Chapitre 1 Figure 1: Diagramme de Gantt du projet Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 13
  • 26. Chapitre 2 2.Etude Fonctionnelle et Technique: Ce chapitre sera consacré à la définition de l'architecture et la conception générale de la solution. Il décrira aussi la démarche à suivre, et mettra en œuvre une étude fonctionnelle du projet ainsi qu'une autre technique. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 14
  • 27. Chapitre 2 2.1. Etude fonctionnelle: 2.1.1. Capture des besoins fonctionnels : L’application à réaliser est une application de gestion d’opérations bancaires, elle permet à un abonné de réaliser toutes sortes d’opérations liées à son compte bancaire, il peut visualiser le solde de son ou ses comptes et revoir les dernières opérations effectuées sur ces derniers. Il peut également effectuer des virements, faire des demandes de chéquiers, ainsi que transférer de l’argent à un particulier…, en s’étant bien évidemment authentifié pour pouvoir accéder à ces fonctionnalités. En plus, un abonné a la possibilité de localiser les agences les plus proches, chercher les agences par ville et pays et connaitre la distance qui sépare son emplacement de l’agence choisie, ainsi que tracer un itinéraire vers cette destination. Enfin, il peut faire une simulation de crédit en choisissant le montant d’emprunt, pour ainsi connaitre la durée de l’emprunt ou le montant mensuel à payer selon le choix. 2.1.2. Analyse fonctionnelle : 2.1.2.1. Diagramme des Use Cases: Les cas d'utilisation permettent de recueillir, d'analyser et d'organiser les besoins, et de recenser les grandes fonctionnalités d'un système. Il s'agit donc de la première étape UML d'analyse d'un système. Dans cette section nous allons présenter les cas d’utilisation concernant le module de :  Gestion des opérations bancaires. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 15
  • 28. Chapitre 2 Figure 2:Diagramme des uses cases 2.1.2.2. Descriptions des Use cases:  Consulter un compte : Acteur : Abonné Description : L’abonné a la possibilité de consulter le solde de chacun de ses comptes, et de voir les mouvements concernant chaque compte. Chaque mouvement est constitué des informations suivantes :     Identifiant du mouvement Intitulé du mouvement Date d’exécution Montant du mouvement Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 16
  • 29. Chapitre 2 Effectuer un virement : Acteur : Abonné Description : Dans ce cas d’utilisation l’abonné peut effectuer un virement de compte à compte, c’est un virement qui se fait entre les comptes du même abonné. Pour cela, il doit saisir toutes les informations qui concernent ce type de virement, ce dernier caractérisé par :       Identifiant de ce virement Compte à créditer Compte à débiter Montant du virement Motif du virement Date d’exécution du virement L’abonné peut éventuellement effectuer un virement vers un bénéficiaire. Ce virement ne concerne pas un seul abonné, mais se fait entre un abonné et un autre existant parmi les bénéficiaires de cet abonné. Pour cela, il doit également saisir toutes les informations qui concernent ce type de virement, qui se voit caractérisé par :       Identifiant de ce virement Bénéficiaire Compte à créditer Montant du virement Motif du virement Date d’exécution du virement Exceptions : L’identifiant du virement est une valeur unique. Si cette donnée existe déjà dans le système, une exception doit être levée. Le montant du virement ne doit pas dépasser le plafond quotidien spécifié dans le contrat et qui représente la somme totale de tous les montants des opérations pouvant être effectuées par les abonnées liée à ce contrat. La date d’exécution ne doit pas être antérieure à la date système, sinon une exception est levée. Dans un virement de compte à compte (même abonné), le compte à créditer doit être différent du compte à débiter.  Effectuer un transfert d’argent : Acteur : Abonné Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 17
  • 30. Chapitre 2 Description : L’abonné peut effectuer des transferts d’argent vers un bénéficiaire, même n’étant pas client de la banque. Pour cela, il doit saisir toutes les informations qui concernent ce transfert, qui se voit caractérisé par des informations concernant le compte à débiter:  Compte à débiter  Montant du transfert  Motif du transfert Ainsi que des informations sur le récepteur du transfert :        Nom et prénom du bénéficiaire Type de la pièce d’identité (Carte national, passeport, permis, carte séjour ...) Numéro pièce d’identité Adresse Ville Pays Téléphone principal  Demander un chéquier : Acteur : Abonné Description : L’abonné a aussi la possibilité de faire une demande d’un carnet de chèques, soit pour luimême ou pour un autre bénéficiaire, et cela en spécifiant les informations suivantes :     Compte à débiter Nombre de chéquiers Type de chéquier Moyen de remise du/des chéquier(s) Ainsi que des informations citées précédemment sur le bénéficiaire.  Simuler un crédit : Acteur : Abonné Description : Si l’abonné veut connaitre les détails d’une prise de crédit de cette banque, il a la possibilité de faire une simulation de crédit. Pour cela, il fournit le montant total du prêt, ainsi que l’une des informations suivantes :  Le montant mensuel qu’il a l’intention de payer Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 18
  • 31. Chapitre 2  La durée au bout de laquelle il compte rembourser le prêt Et en fonction de l’information saisie, l’autre information est calculée.  Localiser les agences de la banque : Acteur : Abonné Description : Dans ce cas d’utilisation, l’abonné peut connaitre sa position via GPS et ainsi déterminer les agences qui sont à proximité de lui, ou bien les rechercher par ville et par nom d’agence, ces derniers qui sont transformés en coordonnées sur la map, pour enfin connaitre la distance qui le sépare d’une agence. 2.1.2.3. Diagramme de classes: Ce diagramme regroupe les différentes classes du projet à savoir : «Compte», « VirementVersBenificiares », «VirementCompteAcompte », «TransfertArgent », « PaysAgence », « Virement », « Benificiare », « Contrat », « Agent », « Demande de chequier » …, contribuant à effectuer toutes les opérations bancaires exigées par le cahier des charges. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 19
  • 32. Chapitre 2 Figure 3:Diagramme de classes Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 20
  • 33. Chapitre 2 2.2. Etude technique: 2.2.1. Spécifications techniques : L’outil doit être en mesure de répondre à un certain nombre d’exigences techniques. Cellesci se résument dans les objectifs présentés dans le tableau suivant : Objectif Description Multiplateformes L’application doit pouvoir être accessible depuis les deux plateformes iOS et Android. Fluidité du déploiement L’application doit marcher sans problèmes dans toutes les versions antérieures du SE. Confidentialité Les utilisateurs du système sont identifiés par leurs noms et leurs mots de passe. Optimisation du temps de réponse Aucune donnée ne doit être stockée localement. Sécurité des transactions Toutes les transactions du client vers le serveur doivent être sécurisées. Tableau 1: Spécification techniques du projet 2.2.2. Architecture: 2.2.2.1. Architecture mobile: Deux approches possibles lorsque l’on débute un projet d’application mobile ciblant plusieurs plateformes :  L’approche native: consiste à développer l’application pour chacune des plateformes.  L’approche hybride: qui consiste à développer une Application réalisée via un site Web optimisé pour mobile (Web Apps). La comparaison détaillée de ces deux approches sera dans le troisième chapitre. 2.2.2.2. Architecture serveur: Pour la séparation des données, des traitements et de la présentation, On adopte l’architecture MVC. Programmer en utilisant MVC sépare l’application en 3 parties principales : Le Modèle - La Vue - Le Contrôleur: 1. Le modèle: Il représente les données et les règles métiers. C’est dans ce composant que s’effectuent les traitements liés au cœur du métier. Les données peuvent être liées à une base de données, des services web, etc. 2. La vue : correspond à l’IHM. Elle présente les données et interagit avec l’utilisateur. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 21
  • 34. Chapitre 2 3. Le contrôleur : se charge d’intercepter les requêtes de l’utilisateur, d’appeler le modèle puis de les rediriger vers la vue adéquate. Il ne doit faire aucun traitement. Il ne fait que de l’interception et de la redirection. Figure 4: shémat expliquant l'architecture MVC 2.2.3. Choix de technologie « Services Web » :  Services Web : Définition : Un " Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur XML. Un " Service Web" est identifié par un URL, comme n'importe quel site Web. Il s'exécute sur un "Serveur d'Applications". Peu importe l'ordinateur, le système d'exploitation ou le langage utilisés par le client. Plus simplement, C'est le fait de mettre des ressources à disposition sur Internet, via un protocole d'échanges standardisé, pour des programmes écrits dans des langages quelconques. Cela nécessite :  un encodage (toujours XML) ;  un transport (souvent HTTP) ;  une organisation des requêtes et des réponses. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 22
  • 35. Chapitre 2 La procédure de fonctionnement d'un service Web en bref est la suivante : 1. le service Web définit un format pour les requêtes et les réponses. 2. un ordinateur demandeur effectue une requête. 3. le service Web effectue une action, et renvoie la réponse à l'ordinateur demandeur.  Argumentation du choix : Les Services Web permettent de :  Faciliter le travail du développeur dans la mesure où le modèle d’interaction par appel de méthodes métiers est le même que celui de l’application, et donc les services Web permettent de faire appel aux méthodes métiers par plusieurs interfaces sans avoir à refaire le code pour chaque interface.  Améliorer un aspect de l’interopérabilité en spécifiant le format dans lequel les informations doivent être encodées.  Optimiser le temps d’appel au serveur puisque aucune donnée ne sera stockée localement lors des appels distants.  REST ou SOAP, lequel choisir ? Après le choix des web services comme moyen de communication entre le client et le serveur, vient le choix du protocole de communication. Lors de nos recherches, nous avons trouvé deux protocoles qui ont suscité notre curiosité : REST et SOAP, ce qui nous a mené à faire une étude comparative afin de faire le bon choix. REST et SOAP sont des styles architecturaux qui permettent la transmission d’objets distants. Ce sont eux qui autorisent les objets à invoquer des méthodes d’objets situées sur un autre serveur. SOAP Vision et but de Utiliser le web pour échanger des l’application objets Type SOAP utilise des requêtes cachées REST Ouvrir le web aux applications REST utilise des requêtes HTTP et Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 23
  • 36. Chapitre 2 d’administration dans des fichiers XML ainsi son donc son administration est comme administration comme celle d’un celle du Web EAI Un service SOAP se met en place Type de développement comme le déploiement d'un objet. Cela ouvre la porte à l'utilisation de langages de programmation à typage statique Interopérabilité et plateformes Un service REST se met en place comme une page Web. Cela ouvre la porte à des développements rapides, aux tests possibles avec un simple navigateur et à l'utilisation de langage de scripts SOAP utilise beaucoup de normes REST n’a besoin que d’une pile et versions de chaque normes ce qui HTTP pour n’importe quelle diminue son interopérabilité plateforme * Tableau 2: Comparatif des protocoles de communication  Argumentation du choix : REST a été la meilleure solution comme protocole de communication du fait que : - Il est simple à mettre en place. - Il est plus sécurisé que son concurrent lors des appels distants. - Le choix de la solution mobile que nous avons appréhendé était plus compatible avec ce protocole. Conclusion: Les parties traitées dans ce chapitre sont les plus cruciales pour tout développement. Il s'agit de la capture des besoins fonctionnels et la phase d'analyse et de la conception, en se basant sur le diagramme de cas d'utilisation et le diagramme de classes. On a traité aussi l'architecture et les spécifications techniques. Les résultats de cette partie représentent la base de la réalisation technique du projet, qu’on commencera par une étude comparative des framework de développements existants. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 24
  • 37. Chapitre 3 3.Choix de Framework de développement mobile: Cette partie dresse une étude comparative entre deux framework de développement mobile multiplateforme à savoir phone Gap et Titanium. Elle traite également la comparaison entre les développements natif et hybride. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 25
  • 38. Chapitre 3 3.1. Développement Hybride Vs Natif: 3.1.1. introduction: Les applications natives sont des applications construites et installées sur des plates-formes spécifiques, comme iOS ou Android, en utilisant un SDK spécifique à chacune. Par exemple, pour l'iPhone et l’iPad d'Apple, les applications sont conçus et développées sur iOS : écrits dans Xcode en utilisant l’Objective-C. Quand-à Android a sa propre version de Java et Windows utilise C #, et ainsi de suite. Parmi les inconvénients des applications natives, c’est qu’elles sont écrites pour une plateforme et ne peuvent pas être déployées sur une autre. Aussi, les développeurs ont toujours besoin de ressources supplémentaires pour développer et maintenir chaque plate-forme, qui est toujours coûteux, d’où le développement mobile hybride apparait. 3.1.2. Quelle est la meilleure approche : Le meilleur choix dépend du type d'application qu’on souhaite développer. Par exemple, les applications telles que des jeux vidéo et les applications qui contiennent des animations favoriseraient le développement natif, alors que les applications hybrides peuvent être mieux adaptées pour les applications d'entreprise mobiles, car ils sont multiplateformes, d’où la cible est un marché vaste. Ci-après quelques critères qu’on a pris en considération lors du choix de notre solution de développement.  Complexité: Quelle est le niveau de complexité de l'application? Est-ce-que c’est une application rapide qui accède à un service de base de données ou sur le Web pour certaines données à afficher? – dans notre cas une application Web mobile peut suffire. .  Performance: Quel type de rendement est exigé par l'application, par exemple, pour regarder en temps réel des données à partir du réseau, la performance de l’application mobile dépend de la latence du réseau et des capacités du serveur. -- Les deux : hybrides et natif offrent des bonnes performances.  La connectivité et la disponibilité: Quel est le type de connectivité exigé? Est-ce que l'application exige d’être connecter en permanence afin de récupérer les données récentes? - Les applications natives et hybrides peuvent être construites pour fonctionner en ligne et même hors ligne.  multi-plate-forme Exigences: Ce critère fait la grande différence, et seules les applications hybrides qui supportent le développement multi-plate-formes.  Appareil-Services d'accès: Les applications natives ou hybrides permettent d'accéder aux services périphériques locaux, tels que la caméra, app contacts, accéléromètre, etc. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 26
  • 39. Chapitre 3  Ressources: Pour le développement natif, Le nombre de développeurs consacrer à la construction et au développement de l’application mobile, leur niveau de compétence aussi l’environnement de travail « ici un système d'exploitation de chaque plate-forme, de langage de programmation bien spécifie, et des devices pour les tests » rend le travail couteux, et si on souhaite ajouter une autre plate-forme, donc un autre langage, une autre SDK, de nouveaux compétences. -- Pour ce critère les applications hybrides sont les plus rentables, mais il peut y avoir des petites différences de performances.  Autre critères: Native Hybrid Graphiques Native APIs HTML, Canvas, SVG Performance Rapide moyenne Distribution Appstore Appstore Camera oui oui Notifications oui oui Contacts oui oui Stockage hors ligne Secure file storage Fichiers de système sécurisés. Géolocalisation oui oui connectivité Online et offline Online et offline Development skills ObjectiveC, Java HTML5, CSS, Javascript App Features Device Access Tableau 3: Récapitulatif DM Natif Vs hybride Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 27
  • 40. Chapitre 3 D’après cette étude on constate que le développement hybride est globalement plus productif. C’est une solution pour les personnes souhaitant effectuer un investissement sérieux dans le mobile. Mais sans oublier qu’ils ne vont jamais remplacer d’une manière entière le natif. 3.2. Développement mobile multiplateformes: Il existe plusieurs Framework de développement mobile hybride basés sur JavaScript et qui permettent d’améliorer la productivité, on cite : PhoneGap(Apache Cordova), Appcelerator Titanium, jQuery Mobile, Sencha Touch, DHTMLX Touch, Limes JS, JQTouch, … Ces Framework partagent quelques caractéristiques à savoir :  Optimisés pour les appareils tactiles : la saisie de données n’est plus restreinte à la souris ou au clavier mais devient aussi faisable par les doigts ce qui représente un ensemble de challenges pour le design des IU. Les plateformes de développement mobile fournissent des éléments standards pour les interfaces graphiques et une gestion des événements en particulier pour le développement mobile.  Une variété de plateforme : ils supportent des appareils avec différents systèmes d’exploitation tels que Ios et Android ce qui permet de fournir l’application à plusieurs utilisateurs.  Lightweight : à cause des limitations da la bande passante, ces Framework se concentrent très fortement sur la réduction des tailles des fichiers.  Utilisation des Standards de HTML5/CSS 3 : la plupart des équipements mobile se dote d’un navigateur qui supporte HTML5 et CSS3, ainsi les Framework de développement web mobile profitent des fonctionnalités disponibles dans ces spécifications de W3C. Dans notre projet nous avons effectué une comparaison entre Appcelerator Titanium, Phone Gap. A partir de cette étude nous avons pu établir les avantages et les inconvénients de chacune d’elles, ce qui nous a permis choisir la plateforme qui convient pour la réalisation du projet. 3.2.1. Phone Gap: C’est un framework open source (acheter ne par adobe le 3 octobre 2011. Ceci confirme l’intérêt que l’on peut avoir envers cette solution. Ce Framework permet de convertir des applications développées par le langage Java script, HTML et CSS en application native à l’aide du service Pour développer des applications PhoneGap, on crée des documents HTML, CSS et des fichiers JavaScript dans un répertoire local, tout comme l'élaboration d'un site Web. Ce qui nous Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 28
  • 41. Chapitre 3 permet de profiter de quelques outils précisément le navigateur web du bureau, sans avoir besoin de l'ensemble des outils natifs de chaque éditeur. La compilation et la génération des fichiers exécutables sur chacune des plateformes ciblées : IOS, Android, Windows phone 7, BlackBerry…, se fait à l’aide de l’outil Phone Gap Build. C’est un service qui permet la compilation du projet dans le Cloud et la génération des APK. Figure 5: architecture phone Gap On peut toujours tester l’application développée soit avec l’émulateur soit avec le device, mais bien sur après avoir téléchargé le fichier exécutable convenable, généré par le service Phone Gap Build.  Les avantages :      petite bibliothèque. Accès à de nombreuses ressources matérielles. Extensibilité. Communauté active. Compilation à partir du cloud.  Les inconvénients :  conception avec callback parfois difficile à accorder avec d'autres librairies JavaScript. 3.2.2. Titanium: Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 29
  • 42. Chapitre 3 C’est un Framework open source développé par Appcelerator qui vend des supports et des formations sur Titanium. Cette solution permet de développer des applications hybrides en utilisant JavaScript, HTML et CSS. Titanium est basée sur deux aspects de développement mobile:   Un noyau d'APIs pour créer des applications mobile qui peuvent être installées sur différentes plateformes. Parfois Ils existent des APIs spécifiques pour chaque plate-forme, par exemple des conventions pour l’interface graphique, et des fonctionnalités que les développeurs devraient prendre en considération lors de l’élaboration d’une application. Pour ces raisons, Titanium ne peut pas être considéré comme une solution pour coder une seule fois, exécuter partout’ comme Phone Gap.  Fonctionnement du Framework : Généralement, lors de l’exécution, l’application consiste en trois éléments qui sont :  Le code source JavaScript.  La mise en œuvre des APIs Titanium dans la plate-forme spécifique.  L’interpréteur de JavaScript qui est utilisé pour évaluer le code à l’exécution.  Les composants de l’UI peuvent être organisés hiérarchiquement pour créer des interfaces utilisateurs complexes. Les objets proxy qui représentent une interface pour les APIs non visuelles (comme système de fichiers I / O ou accès de base de données) s’exécutent dans le code natif, et de façon synchrone pour renvoyer un résultat JavaScript. Figure 6: Architecture titanium. Pour développer une application avec Titanium, le développeur doit nécessairement installer les SDK de la plateforme ciblée par exemple Ios et Android. Cependant, même après l’installation de ces outils, l’utilisateur interagit souvent avec l’interface de Scripting de SDK de Titanium Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 30
  • 43. Chapitre 3 (Aujourd’hui basée sur Pyhton). Ceci peut être réalisé soit avec les commandes Titanium ou très souvent avec Titanium Studio qui est un IDE basé sur eclipse. En utilisant l’ensemble des outils de Titanium, le développeur peut générer un répertoire pour le projet, qui contient la configuration et la localisation des fichiers et un répertoire qui contient les images, ainsi que le code source JavaScript utile pour donner plus d’importance à l’application. Le développeur n’aura pas à utiliser les fichiers HTML et CSS que s’il a l’intention de développer une application hybride qui est à la fois native et basée sur une interface graphique HTML. Les applications de Titanium peuvent utiliser une interface graphique hybride (web et native) comme l’application native Facebook par exemple. L’exécution d’une application de Titanium se fait via l’émulateur de la plate-forme ciblée.  Les avantages :  Application native : aspect natif & performances.  Accès aux ressources matérielles.  Vitesse de développement.  Extensibilité.  Les inconvénients :  Mauvaise documentation, manque de ressources d’apprentissage.  IDE réclamant une connexion Internet permanente.  Parfois de nombreuses fuites de mémoire apparaissent.  Les SDK de chaque plateforme est nécessaire. 3.3. Comparaison : Titanium VS Phone Gap: 3.3.1. Comparaison des plateformes supportées: On commence par la comparaison des plateformes supportées par chacun des deux FrameWorks. En pratique, les applications développées par PhoneGap peuvent être installées et exécutées sur sept plateformes différentes « voir tableau numéro 5 ». Concernant Titanium, le support de BlackBerry et Windows phone sont encore récents et disponible uniquement sous Windows. A cause de l’écrasante domination de l’iPhone, d’Android et de BlackBerry), on ciblera généralement ces 3 plateformes uniquement. Mais quelques entreprises ciblent également les plateformes Web OS, Symbian, Bada …, Donc Phone Gap devient une solution incontournable. Ci-après un tableau qui illustre les différentes plateformes supportées par chacun des Framework. Phone Gap 1234- MAC IOS Android BLACKBERRY WINDOWS PHONE Titanium 1234- MAC IOS ANDROID BLACK BERRY10. WINDOWS PHONE. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 31
  • 44. Chapitre 3 5- BADA 6- SYMBIAN 7- WEB OS Tableau 4: comparaison des plateformes suportées. 3.3.2. Comparaison des richesses des deux plates-formes: En général il y’a pas de grande différence entre ces deux plateformes en termes des APIs supportées. Pourtant, il y a quelques une en ce qui concerne l’aspect général de chacune. Titanium est fonctionnellement riche et fournira une apparence plus proche du natif, ce qui est en général l’objectif des concepteurs d’applications. PhoneGap est généralement limité en termes de fonctionnalités, car à chaque fois on doit concevoir les écrans comme des pages Web et non des écrans natifs. . Ci-après un tableau récapitulatif des APIs et plugins supportés par les deux Framework : APIs PhoneGap Titanium Accéléromètre Oui Oui Caméra Oui Oui Media Oui Oui Map Oui Oui Géolocation Oui Oui Facebook Oui Oui Database Oui Oui FileSystem Oui Oui Cloud Oui Oui Contacts Oui Oui Notification Oui Oui Network Oui Oui UI Non Oui Tableau 5: : Les APIs supportées par chaque plateformes. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 32
  • 45. Chapitre 3 3.3.2.1. Synthèse : L’utilisation de JavaScript devient de plus en plus large, donc il est nécessaire, pour développer ce type d’applications, de se former profondément à JavaScript et de connaître les design patterns et la structuration /modularisation du code de ce langage. De manière globale, l’environnement de développement de Phonegap est mieux intégré, plus documenté ainsi qu’il est facile à apprendre. Conclusion: Cette partie a apporté une vision claire sur le développement mobile multiplateforme et a permis de faire sortir les avantages et les inconvénients des deux framework et a distingué entre le développement hybride et les développements natifs. Cette étude est une étape préliminaire vers l'étude technique du projet qui fera, en plus de l'étude fonctionnelle, l'objet de la prochaine partie Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 33
  • 46. Chapitre 4 4.Mise en Œuvre du projet Dans ce chapitre on présentera la réalisation technique des différentes fonctionnalités du projet. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 34
  • 47. Chapitre 4 4.1. Choix technologiques : Nous avons opté pour l’utilisation des technologies suivantes pour plusieurs notamment pour bénéficier de l’expérience du cadre professionnel présent à Communications par rapport à la partie serveur, mais également pour la simplicité utilisation. Pour la partie mobile, nous avons effectué une étude comparative pour déterminer l’outil que nous avons utilisé. raisons, Infosat de leur pouvoir 4.1.1. Coté serveur:  Groovy : Groovy est un langage de programmation orienté objet destiné à la plate-forme Java. Il constitue une alternative au langage Java pour cette plate-forme et est inspiré de Python, Ruby et Smalltalk. Il utilise une syntaxe très proche de Java, avec des accolades, et est directement compilé, soit à la volée dynamiquement, soit classiquement avec un compilateur en bytecode.  Grails : Grails est un framework open source de développement agile d'applications web basé sur le langage Groovy et sur le patron de conception Modèle-Vue-Contrôleur. Grails est basé sur cinq principes fondamentaux :    Ne pas se répéter : les éléments de l'application ne doivent être qu'à un seul endroit. L'architecture MVC et la méta programmation en Groovy rendent cela possible. Convention plutôt que configuration : il est inutile de préciser des détails lorsqu'ils respectent des conventions établies. Grails exploite cela en proposant des comportements par défaut pour la plupart de ses fonctionnalités. Architecture orientée modèle : le point d'entrée et la pierre angulaire d'un développement Grails est la description formelle des classes représentant le domaine métier (Modèle conceptuel de données) ainsi que de leurs dépendances. Les couches techniques sousjacentes sont générées. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 35
  • 48. Chapitre 4   Prototypage : Les mécanismes de scaffolding offerts par le Framework permettent de générer automatiquement un prototype d'application "présentable" aux utilisateurs dès la formalisation des classes de domaine. Exploiter la puissance de la JVM : les scripts Groovy étant compilés en bytecode Java, Grails exploite totalement la richesse et la puissance du monde Java.  Architecture Grails : Figure 7: Architecture Grails  PostgreSQL : PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). Il supporte une grande partie du standard SQL tout en offrant de nombreuses fonctionnalités modernes :      requêtes complexes, clés étrangères, triggers, vues, intégrité transactionnelle, contrôle des versions concurrentes (MVCC ou multi version concurrency control). Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 36
  • 49. Chapitre 4  SpringSource Tool Suite : Basée sur Eclipse, SpringSource Tool Suite est conçue pour développer des applications Java reposant sur Spring. 4.1.2. Coté mobile: Critères de choix : Etude comparative PhoneGap vs Titanium , déjà présentée dans le troisième chapitre : VS 4.2. Architecture globale du projet : Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 37
  • 50. Chapitre 4 Figure 8: Schéma directeur du projet La figure donne une idée générale sur le fonctionnement du projet, et qui est la suivante : Le client envoie une requête sécurisée HTTPS via le protocole REST au serveur web, et plus précisément au contrôleur où sont injectés les Web Services. Grâce à ses interactions avec les sévices il consulte les méthodes métiers, ainsi qu’avec le domaine (qui remplace la couche modèle dans l’architecture Grails), renvoie le résultat de la requête sous format JSON au client, celle-ci permet de compléter les vues développées par Phone Gap. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 38
  • 51. Chapitre 4 4.3. Implémentation : 4.3.1. Authentification : Une étape incontournable de la création d’application consiste en l’authentification. Afin d’accéder aux fonctionnalités de l’application, un écran d’authentification s’offre à l’utilisateur dès l’exécution de cette dernière. Dans cette partie, nous avons adopté le module Spring Security. Spring Security permet de gérer l'accès aux ressources d'une application Java qui peuvent être des pages web, mais aussi des objets de services métier. Toute ressource sollicitée par un appelant est rendue accessible si : - d'une part, l'appelant s'est identifié, - d'autre part, il possède les droits nécessaires (des rôles dans le vocabulaire Spring Security) Principe de fonctionnement de Spring Security : Afin d’utiliser Spring Security dans Grails, on doit installer ce plugin via la console Grails, ce dernier qui va nous aider à installer une gestion des utilisateurs, avec gestion des rôles et filtres URL/Rôles. Les requêtes HTTP envoyées par l’utilisateur sont interceptées par un filtre de servlet qui délègue à un Bean Spring les traitements de vérification d'accès aux pages web. Figure 9: Schéma simplifié du fonctionnement de Spring Security Dans notre cas, les requêtes HTTP envoyées doivent être sécurisées du fait de la confidentialité des données lors de leur envoi par client vers le serveur et donc on utilise le protocole de transmission HTTPS plutôt que le HTTP classique. Afin d’implémenter cette fonctionnalité dans Grails, on doit le forcer à utiliser le protocole sécurisé HTTPS. Ainsi, les données provenant des formulaires sont envoyées via HTTPS, donc cryptées, et acheminées vers le serveur grâce à Spring Security qui encode les mots de passe lors de la transmission et utilise des annotations pour sécuriser l’accès aux méthodes métiers. L’abonné est appelé à s’authentifier en tapant son nom d’utilisation et son mot de passe, s’il est déjà enregistré et les deux sont validés alors l’authentification sera réalisée sans aucun problème sinon elle sera refusée. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 39
  • 52. Chapitre 4 Figure 10: Page d’authentification Une fois l’abonné authentifié, il peut accéder aux quatorze fonctionnalités de l’application. Figure 11: Menu principal de l’application Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 40
  • 53. Chapitre 4 4.3.2. Consultation des comptes : L’abonné peut consulter le solde de son ou ses compte(s), ainsi que les mouvements effectués pour chaque compte. Figure 12: Situation des comptes d’un abonné Consultation des mouvements : Cette fonctionnalité permet à l’abonné de consulter plusieurs informations qui concernent la liste des mouvements effectués dans chacun de ses comptes. Parmi ces informations : l’intitulé du mouvement, sa date de création ainsi que le montant. On a organisé l’affichage par une pagination qui ne permet que d’afficher les mouvements dix par dix. Et chaque page correspond à une requête HTTPS pour ne pas trop ralentir l’appel des web services. Figure 13: Affichage des mouvements sur un compte Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 41
  • 54. Chapitre 4 4.3.3. Demande de recharge: L’utilisateur remplit le formulaire de demande de recharge : -Le compte à débiter. -Le numéro de la carte. -Le nom du bénéficiaire. -Le montant de recharge. -Le motif. -Le type de recharge : Ponctuel ou permanent. Si le client a choisi le type de recharge permanent, alors un autre bloque s’affiche et contient les informations suivantes : - La périodicité. - La date de début. - La date de fin. Figure 14: Demande de recharge. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 42
  • 55. Chapitre 4 Après avoir rempli tous les champs, l’utilisateur reçoit le bloc de récapitulation où il est demandé de signer et confirmer la demande. Figure 15: bloc de signature de la demande de recharge. 4.3.4. Simulateur de crédit : L’abonné a accès au simulateur de crédit pour avoir une idée sur l’échéance ou le montant mensuel à payer en cas d’une demande de prêt. Ces derniers sont calculés selon le taux d’intérêt fourni, grâce à des formules connu dans le milieu bancaire.. Figure 16: Simulateur de crédit. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 43
  • 56. Chapitre 4 4.3.5. Effectuer un virement : L’abonné a éventuellement la possibilité d’effectuer des virements, soit de l’un de ses comptes à un autre, soit vers le compte d’un bénéficiaire inscrits dans le contrat. Figure 17: Choix du type de virement. Virement compte à compte : L’abonné commence par le remplissage d’un formulaire contenant les informations sur le compte à débiter, celui à créditer, le montant, le motif et la date d’exécution du virement. A noter que la date d’exécution du virement peut être différente de la date système, mais strictement supérieure à cette dernière bien entendu. Figure 18: Saisie d’un virement de compte à compte Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 44
  • 57. Chapitre 4 En cliquant sur le bouton valider, le client reçoit ensuite un récapitulatif du virement effectué et un bouton signer pour confirmer le virement, après avoir entré son mot de passe. Figure 19: Récapitulatif du virement de compte à compte. Après la signature du virement, le client reçoit la confirmation de la réalisation du virement avec succès auprès du serveur. Figure 20: Page de succès d’un virement de compte à compte. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 45
  • 58. Chapitre 4 Virement vers bénéficiaire : Tout comme le virement de compte à compte, l’abonné commence par le remplissage d’un formulaire contenant tous les informations sur le virement, la différence qui existe est que le compte à créditer appartient à l’un de ses bénéficiaires Figure 21: Saisie d’un virement vers bénéficiaire Il reçoit ensuite un récapitulatif du virement effectué afin de signer pour confirmer le virement. Figure 22: Récapitulatif d’un virement vers bénéficiaire Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 46
  • 59. Chapitre 4 Après avoir virement. signé le virement, un écran de succès s’affiche pour annoncer la fin du Figure 23: Ecran de succès d’un virement vers bénéficiaire. 4.3.6. Demander un chéquier : L’abonné rempli le formulaire de la demande :     Le Compte à débiter Le nombre de chéquier(s) Le type des chéquier(s) Le moyen de remise du/des chéquier(s) Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 47
  • 60. Chapitre 4 Figure 24: Demande de chéquier. Après le remplissage du formulaire, l’abonné envoie les informations saisies au serveur en cliquant sur le boutant « envoyer », puis une requête de réponse sera renvoyée par le serveur vers le mobile pour afficher à l’utilisateur les informations déjà saisie, et lui donner la possibilité de rectifier avant de signer et confirmer. Figure 25: Demande de chéquier(2). Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 48
  • 61. Chapitre 4 Figure 26: Demande de chéquier avec succès. 4.3.7. Transférer de l’argent : L’abonné saisit le compte à débiter parmi ses comptes, le montant et le motif du transfert ainsi que les informations concernant le bénéficiaire :  Nom et prénom  Type de la pièce d’identité  Numéro de la pièce d’identité  Adresse  Ville et pays  Téléphone Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 49
  • 62. Chapitre 4 Figure 27: Saisie d’un transfert d’argent. Après avoir rempli les champs et validé le formulaire le client reçoit un récapitulatif de cette demande de transfert. Figure 28: Récapitulatif d’un transfert d’argent. 4.3.8. Les Tâches : L’abonné peut consulter à chaque instant les différentes tâches qu’il désire effectuer, pour les valider en les signant, par exemple on voit dans l’imprimé d’écran suivant quelques tâches à savoir : « Demande de virement vers bénéficiaire », « demande d’opposition sur chèque », « demande de recharge d’une carte », … qui sont déjà remplis dans les champs appropriés. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 50
  • 63. Chapitre 4 Figure 29: Liste des tâches. 4.3.9. Liste des comptes titres: L’abonné peu consulter la situation et toutes les informations sur son compte à savoir : Numéro du compte, l’agence, numéro de la clé, la date d’ouverture le solde et le totale. Et d’autres informations supplémentaires. Figure 30: Situation des comptes titre. La suite de la Situation des comptes : Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 51
  • 64. Chapitre 4 Figure 31: Transaction titre et portefeuille titre. 4.3.10. Consultation des effets : L’utilisateur ou l’abonné commence d’abord par le choix de type de l’effet à consulter. Quatre catégories d’effets sont offertes : -Les effets à payer. -Les effets à encaisser par compte. -Les effets à encaisser par date d’échéance. -Les remises d’effets à encaisser. Figure 32: Choix de type d’effet. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 52
  • 65. Chapitre 4 -Les effets à payer : Cette fonctionnalité permet à l’abonné de recevoir une liste dans laquelle figure les comptes tirés, le montant total et le nombre des effets. Figure 33: Les comptes tirés. Quand l’utilisateur clique sur un compte, le serveur lui renvoie la liste des effets à payer. Chaque sous liste contient des informations sur le compte tiré, la date d’échéance, le nom du tireur et le montant tiré. Figure 34: La liste des effets à payer. -Les effets à encaisser : C’est le cas où le porteur de l’effet garde ce dernier dans son portefeuille jusqu'à l’échéance puis il le présente soit à sa banque pour encaissement (effet domicilié) ou au tiré ou bien au souscripteur pour l’encaissement. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 53
  • 66. Chapitre 4 Ce type d’effets regroupe deux sous catégories : les effets à encaisser par compte et les effets à encaisser par date d’échéance. -Les effets à encaisser par compte : Le serveur renvoie au client dans ce cas une liste contenant des informations sur les comptes tireurs, le montant total et le nombre des effets. Figure 35: Les comptes tireurs. Quand l’utilisateur clique sur un compte, le serveur lui renvoie la liste des effets à encaisser. Chaque sous liste contient des informations sur le compte tiré, la date d’échéance, le nom du tireur et le montant tiré. Figure 36: Les effets à encaisser par compte. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 54
  • 67. Chapitre 4 -Les effets à encaisser par date d’échéance : Au lieu que le serveur renvoie les compte tireurs comme le cas précèdent, il renvoie cette fois les dates d’échéance, les montants totaux et les nombres des effets. Figure 37: Les effets à encaisser par dates d’échéance. De la même façon que pour le cas précédent, le serveur renvoie, la liste des effets à encaisser qui ont la même date d’échéance. Les sous listes contiennent les mêmes informations. -Les remises d’effets à encaisser : Si l’abonné choisit cette option, il verra une liste contenant des informations sur le numéro de remise, le nombre des effets et le montant total. Figure 38: Les effets à encaisser par compte. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 55
  • 68. Chapitre 4 Dans ce cas le serveur renvoie, la liste des effets à encaisser qui ont la même date d’échéance. Les sous listes contiennent les mêmes informations que pour le cas précédent. 4.3.11. Situation des crédits : Pour chaque dossier de crédit, l’abonné peut consulter plusieurs informations à savoir : nom du dossier, nom de celui qui remboursera le crédit, le statut s’il est réglé ou bien en cours, date blocage ou date de dernier échéance …. Figure 39: Liste des dossiers. Figure 40: Contenu d’un dossier avec liste des impayés. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 56
  • 69. Chapitre 4 4.3.12. Liste des impayés : Le client peut aussi consulter la liste de ses impayés. Ainsi, le serveur renvoie la liste des informations suivante pour chaque lise des impayées.      La date d’échéance. Le montant impayé. Le montant frais impayé. Le montant d’échéance. Le statut. Figure 41: La liste des impayés. 4.3.13. Géolocalisation : La géolocalisation ou géo-référencement est un procédé permettant de positionner une personne ou un objet (guichet dans notre cas) sur une carte à l'aide de ses coordonnées géographiques. Ici on a utilisé les deux coordonnées la longitude et l’altitude récupérées à partir du GPS. On a mis en œuvre la carte mappy, car la carte de Google Map touche l’union de notre cher pays. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 57
  • 70. Chapitre 4 Figure 42: géolocalisation. 4.4. Déploiement: 4.4.1. Les dangers du reverse engineering: Le reverse engineering est une technique permettant de reconstituer le code source d'une application à partir de sa forme compilée. La possession du code source permet de connaître le fonctionnement précis d'une application. Face aux risques liés au reverse engineering, nous nous sommes vu contraint de choisir une technique qui permettrait de cacher le code source de l’application, puisqu’il est facile de décoder le fichier exécutable. Il en existe quatre :     l'obfuscation transforme le code source avant compilation de manière à le rendre illisible pour l'être humain. (voir annexe) le chiffrement assure la confidentialité totale du code source tant que l'algorithme de chiffrement n'a pas été cassé et que la clé n'a pu être trouvée par force brute l'exécution de code distant permet de ne livrer aux clients qu'une partie de l'application, les portions sensibles sont conservées sur un serveur distant protégé sur lequel elles s'exécutent le code natif protégé est un code compilé pour une architecture matérielle très spécifique, rendant difficile l'utilisation d'un décompilateur adapté 4.4.2. Déploiement sur mobile: Après avoir réalisé l’application sous forme d’un site web, il vient le tour du Framework PhoneGap qui va s’occuper d’empaqueter le code source à l’aide de son service PhoneGap Build, intégré dans l’outil Adobe Dreamweaver (voir l’Annexe), et ainsi de générer les fichiers permettant le déploiement de l’application sur différentes plateformes. Le schéma de ce processus est représenté ci-dessous. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 58
  • 71. Chapitre 4 Figure 43: processus du service phoneGap Build. Les figures suivantes montrent dans l’ordre la réalisation de ce processus de manière pratique. Figure 44: L'IDE Adobe Dream weaver Figure 45: fenêtre de phonegap build Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 59
  • 72. Chapitre 4 Figure 46: démarrage du service phonegap build. Figure 47: connexion au service phonegap build Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 60
  • 73. Chapitre 4 Figure 48: génération des fichiers exécutables. Conclusion: Ce chapitre avait pour but de décrire l’environnement technique et les différentes étapes de la réalisation du projet. En effets nous avons choisi les technologiques pour l'implémentation de l'application et finalement nous avons présenté quelques écran décrivant les fonctionnalités de notre application. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 61
  • 74. Conclusion : En guise de conclusion, nous pouvons affirmer que le développement multiplateforme mobile est un domaine enrichissant au niveau expérimental et qu’il est en évolution constante. Ce stage a été pour nous l’occasion de faire le lien entre nos connaissances académiques et le monde professionnel. Il nous a permis de développer nos compétences techniques, d’approfondir nos connaissances théoriques et les mettre en pratique. Cette expérience a aiguisé nos capacités d’analyse et de synthèse, et nous a permis de renforcer nos connaissances concernant le développement mobile ainsi que le développement hybride. Après la réalisation technique du projet avec le framework Phone Gap, nous constatons que toutes les fonctionnalités réalisées sont fonctionnelles sur le mobile. Ce projet était une occasion pour mieux comprendre et apprendre des notions ayant une relation avec le domaine bancaire considéré comme l'un des domaines sensibles. Cette dernière considération nous a excités de traiter le sujet avec précaution en termes de sécurité. Enfin, ce stage fut une expérience très enrichissante pour nous sur les deux plans personnels et professionnels. En effet, il a été l’occasion de découvrir le dynamisme et l’enthousiasme qui caractérisent l’équipe d'INFOSAT. Les réunions régulières effectuées avec les encadrants à INFOSAT nous ont permis de mettre en œuvre les concepts de gestion de projets acquis à l'INPT. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 62
  • 75. Glossaire:  A App Store : Plateforme de téléchargement d’applications. Aptana : Aptana Studio est un environnement de développement intégré orienté web, multiplate-forme et open-source.  D Debugger : Est un logiciel qui aide un développeur à analyser les bugs d'un programme.  G Google Play : Plateforme de téléchargement d’applications.  I IBM : International Business Machines Corporation, connue sous l’abréviation IBM, est une société multinationale américaine présente dans les domaines du matériel informatique, du logiciel et des services informatiques.  L Lotus Domino : Lotus Domino est un produit IBM qui fournit une plateforme de gestion électronique des documents développée en mode open source, qui inclut une messagerie électronique et des applications de travail collaboratif.  M Microsoft Exchange : Microsoft Exchange Server est un Groupware (logiciel de groupe de travail) pour serveur de messagerie électronique créé par Microsoft, pour concurrencer Lotus Domino d'IBM. Mobile information device profile : Désigné par l'acronyme MIDP, est un profil J2ME utilisé par certains téléphones.  P Pattern : Le mot anglais « pattern » est souvent utilisé pour désigner un modèle, une structure, un motif, un type, etc. Ruby On Rails: Ruby on Rails, également appelé RoR ou Rails est un framework web libre écrit en Ruby  S Système multitâche : Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 63
  • 76. Un système d'exploitation est multitâche en anglais: multi-task s’il permet d’exécuter, de façon apparemment simultanée, plusieurs programmes informatiques. On parle également de multiprogrammation.  T Tag : Langage de balisage HTML.  W Widgets : Widget est une contraction des mots window et gadget. En informatique, le mot widget recouvre deux notions distinctes en relation avec les interfaces graphiques. Il peut alors être considéré comme étant la contraction des termes window (fenêtre) et gadget.  X XCode : Est un environnement de développement pour Mac OS X. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 64
  • 77. Bibliographie : David Powers. Adobe Dreamweaver CS5.5 Studio Techniques: Designing and Developing for Mobile with jQuery, HTML5, and CSS3. JQuery Community Experts. JQuery Cookbook : Solutions & Examples for jQuery developpers. Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 65
  • 78. Webographie: PhoneGap Google Group, Getting Started Guide: http://docs.phonegap.com/en/2.0.0/guide_getting-started_index.md.html. Appcelerator, Titanium Studio: http://www.appcelerator.com/platform/titanium-studio Appcelerator, Titanium Documentation: http://docs.appcelerator.com/titanium/2.1/index.html Comparing Titanium and PhoneGap: http://developer.appcelerator.com/blog/2012/05/comparingtitanium-and-phonegap.html GitHub, Appcelerator: http://github.com/appcelerator GitHub, PhoneGap: http://github.com/phonegap La rédaction journal du Net, Les outils de développement multiplateforme mobiles : http://www.journaldunet.com/developpeur/outils/les-outils-de-developpement-multi-plateformemobile/ [publié le 03/11/2011] http://www.wikipedia.com KONLAMBIGUE Tyab. PhoneGap vs Appcelerator: http://fr.slideshare.net/kcresus/phonegap-vsappcelerator PETITIT François. Applications mobiles multiplateformes: les approches PhoneGap et Titanium Mobile : http://blog.octo.com/applications-mobiles-multi-plateformes-les-approches-phonegap-ettitanium-mobile/ [publié le 17/10/2012] Ekito, Application mobile : web ou natif : http://www.ekito.fr/portail/application-mobile-web-ounatif Tout JavaScript: http://www.toutjavascript.com/reference/reference.php?ref=String http://www.w3schools.com/ jQuery Mobile: http://mobile.jquery-fr.com/index.html Introducing JSON: http://www.json.org/ jQuery: http://www.jquery.com/ Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 66
  • 79. Annexe: Adobe Dreamweaver: Dreamweaver est un éditeur de site web WYSIWYG pour Microsoft Windows, et Mac OS X créé en 1997, commercialisé par Macromedia puis Adobe Systems sous licence utilisateur final. Dreamweaver fut l'un des premiers éditeurs HTML de type « tel affichage, tel résultat », mais également l'un des premiers à intégrer un gestionnaire de site (CyberStudio GoLive étant le premier). Ces innovations l'imposèrent rapidement comme l'un des principaux éditeurs de site web, aussi bien utilisable par le néophyte que par le professionnel. Depuis le rachat de Nitobi Software (développeur d’Apache Cordova) par Adobe Systems le 4 Octobre 2011, ce dernier est désormais le propriétaire de Phonegap. Suite à ça, Adobe a intégré phoneGap dans l’outil Adobe Dreamweaver (depuis la version cs5.5). HTML 5: HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG (Web Hypertext Application Technology Working Group). Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 2014, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. HTML5 présente plusieurs changements par rapport HTML 4.X et XHTML 1.X concernant les spécifications, le Doctype et l’encodage. De plus HTML5 a apporté de nouveaux éléments et de nouveaux attributs.   Spécifications : Les spécifications sont publiées par leW3C http://www.w3.org/TR/html5/. Doctype : Tout comme les pages HTML ou XHTML, les documents HTML5 nécessitent une déclaration Doctype indiquant la méthode standard de rendu par le navigateur. Toutefois, pour les documents XML cette déclaration est facultative, le navigateur l'interprétant en mode standard par défaut. Pour utiliser la structure XML il faut préciser dans le header : « Content-Type: application/xhtml+xml ». Projet de fin d’étude – ELKECHA Brahim & OUARRICH Said - 2012/2013 67