Académique Documents
Professionnel Documents
Culture Documents
Techniques - Settat
DÉDICACE
Nous dédions ce modeste travail à :
En premier lieu ceux que personne ne peut compenser les sacrifices qu’ils ont
consentis pour notre éducation et notre bien-être à nos parents qui se sont
sacrifiés pour nous prendre en charge tout au long de notre formation et qui
sont l’origine de notre réussite que dieu les garde et les protèges.
A notre famille et nos chers amis qui nous ont accordé leur soutien dans les
instants les plus difficiles.
Tous nos formateurs et toute l’équipe pédagogique et administrative de CIGMA
pour l’aide qu’ils ont toujours porté aux étudiants.
Toute personne qui de près ou de loin a participé à notre formation.
1
Faculté des Sciences et
Techniques - Settat
REMERCIEMENT
C’est un plaisir et un moment très agréable de rendre hommage et de
formuler des remerciements aux personnes qui, d’une manière ou d’une autre,
ont apporté leur soutien et contribué à finaliser ce travail.
2
Faculté des Sciences et
Techniques - Settat
SOMMAIRE
DÉDICACE...................................................................................................................................................... 1
REMERCIEMENT............................................................................................................................................ 2
SOMMAIRE.................................................................................................................................................... 3
TABLE DE FIGURES......................................................................................................................................... 5
INTRODUCTION GENERALE............................................................................................................................ 7
INTRODUCTION............................................................................................................................................. 8
CONCLUSION............................................................................................................................................... 17
INTRODUCTION........................................................................................................................................... 18
CONCLUSION............................................................................................................................................... 24
INTRODUCTION........................................................................................................................................... 25
3
Faculté des Sciences et
Techniques - Settat
1. Diagramme d’activités de cas d’utilisation « s’identifier »..................................................................28
2. Diagramme d’activités de cas d’utilisation « créer un compte »..........................................................29
3. Diagramme d’activités de cas d’utilisation « lister carte de visite par catégorie »..............................30
III. DIAGRAMME DE CLASSES..........................................................................................................................31
CONCLUSION............................................................................................................................................... 31
CHAPITRE-5 : IMPLEMENTATION.................................................................................................................. 32
INTRODUCTION........................................................................................................................................... 32
I. ENVIRONNEMENT MATERIEL..................................................................................................................33
1. Architecture du matériel......................................................................................................................33
2. Matériels utilisés...................................................................................................................................34
II. TECHNOLOGIES.......................................................................................................................................35
1. Développement mobile.........................................................................................................................35
a. Présentation de la plateforme Android...........................................................................................................35
b. Architecture d’Android....................................................................................................................................35
c. L’API Zxing.......................................................................................................................................................36
2. Développement Web............................................................................................................................37
a. La plateforme J2EE..........................................................................................................................................37
b. Méthodologie de développement : la démarche MVC....................................................................................37
c. La plateforme de présentation Strusts............................................................................................................39
d. La plateforme de mapping Objet/Relationnel HIBERNAT................................................................................40
e. La technologie Ajax.........................................................................................................................................40
3. QR-Code.................................................................................................................................................40
III. OUTILS DE DÉVELOPPEMENT...........................................................................................................................41
1. Environnement de développement Intégré : Eclipse............................................................................41
2. Le serveur d’application Appache Tomcat............................................................................................41
3. Le serveur de base de données MySQL.................................................................................................41
4. Entreprise Architect...............................................................................................................................42
5. Le gestionnaire de version SVN.............................................................................................................42
a. Le serveur de version VisualSVN......................................................................................................................42
b. Le client TurtoiseSVN.......................................................................................................................................42
IV. ECRANS......................................................................................................................................................43
1. Réalisation Web.....................................................................................................................................43
2. Réalisation Mobile.................................................................................................................................47
CONCLUSION............................................................................................................................................... 54
CONCLUSION GENERALE.............................................................................................................................. 55
BIBLIOGRAPHIE............................................................................................................................................ 56
4
Faculté des Sciences et
Techniques - Settat
TABLE DE FIGURES
FIGURE 1 : MODÈLE DU CYCLE DE VIE EN CASCADE............................................................................................................13
FIGURE 2 : MODÈLE DU CYCLE DE VIE EN V....................................................................................................................14
FIGURE 3 : PLANING DU PROJET..................................................................................................................................15
FIGURE 4 : METHODOLOGIES DE CONCEPTION ADOPTEE...................................................................................................16
FIGURE 5 : DIAGRAMME DE CAS D’UTILISATION GÉRER OBJET (COMPTE, CARTE VISITE, CATÉGORIE ETC.)..................................22
FIGURE 6 : DIAGRAMME DE CAS D’UTILISATION GLOBAL DE L’APPLICATION WEB...................................................................23
FIGURE 7 : DIAGRAMME DE CAS D’UTILISATION GLOBAL DE L’APPLICATION MOBILE...............................................................24
FIGURE 8 : DIAGRAMME DE CAS D’UTILISATION« S’IDENTIFIER »........................................................................................26
FIGURE 9 : DIAGRAMME D’ACTIVITÉS DE CAS D’UTILISATION « S’IDENTIFIER »......................................................................28
FIGURE 10 : DIAGRAMME D’ACTIVITÉS DE CAS D’UTILISATION CRÉER COMPTE......................................................................29
FIGURE 11 : DIAGRAMME D’ACTIVITÉS DE CAS D’UTILISATION LISTER CARTE DE VISITE PAR CATÉGORIE.......................................30
FIGURE 12 : DIAGRAMME DE CLASSE GÉNÉRAL...............................................................................................................31
FIGURE 13 : ARCHITECTURE MATÉRIEL DU SYSTÈME.........................................................................................................33
FIGURE 14 : COMMUNICATION AVEC MYSQL DEPUIS LE MOBILE........................................................................................34
FIGURE 15 : ARCHITECTURE DU SYSTÈME D’EXPLOITATION ANDROID..................................................................................35
FIGURE 16 : L'ARCHITECTURE MVC.............................................................................................................................38
FIGURE 17 : SCHÉMA DU FRAMEWORK STRUTS 2...........................................................................................................39
FIGURE 18 : SCHÉMA DU FRAMEWORK HIBERNAT........................................................................................................40
FIGURE 19 : PAGE DE RECHERCHE(LES RÉSULTATS CE FORME DE CARTE DE VISITE).................................................................43
FIGURE 20 : CODE À BARRE A DEUX DIMENSIONS DU LAFARGE (APRÈS LA CLIQUE SUR UNE CARTE)........................................44
FIGURE 21 : DÉTAIL D'UNE CARTE DE VISITE...................................................................................................................45
FIGURE 22 : FORMULAIRE D'INSCRIPTION AU SITE WEB....................................................................................................45
FIGURE 23 : FORMULAIRE D'AUTENTIFICATION...............................................................................................................46
FIGURE 24 : FORMULAIRE DE CRÉATION D'UNE CARTE DE VISITE........................................................................................46
FIGURE 25 : ACTIVITÉ D'ACCUEIL.................................................................................................................................47
FIGURE 26 : ACTIVITÉ DE RECHERCHE CATÉGORIES & CARTES DE VISITE(ONGLET CÉTGORIES)..................................................47
FIGURE 27 : ACTIVITÉ DE RECHERCHE CATÉGORIES & CARTES DE VISITE (ONGLET CARTES DE VISITE)........................................48
FIGURE 28 : MENU CONTEXTUEL DU CATÉGORIE "DÉVELOPPEURS MOBILE"........................................................................48
FIGURE 29 : LISTE DES CARTES DE VISITE (APRÈS LA CLIQUE SUR LISTE DES CARTES DE VISITE)..................................................49
FIGURE 30 : MENU CONTEXTUEL DU CONTACT "MOBILE APPLICATION"..............................................................................49
FIGURE 31 : ACTIVITÉ DÉTAILS CARTE DE VISITE DU CONTACT "MOBILE APPLICATION"...........................................................50
FIGURE 32 : LA LISTE DÉROULANTE DE CATEGORIES.........................................................................................................51
FIGURE 33 : MENU DE L'ACTIVITÉ DÉTAILS CARTES DE VISITES............................................................................................52
FIGURE 34 : ACTIVITÉ D'APPEL APRÈS LA CLIQUE SUR L'ICÔNE D'APPEL................................................................................53
FIGURE 35 : MENU CONTEXTUEL DES DIFFÉRENTS APPLICATIONS........................................................................................53
FIGURE 36 : MENU CONTEXTUEL DE PARTAGE AVEC LA LISTE DES DIFFÉRENTS.......................................................................54
5
Faculté des Sciences et
Techniques - Settat
6
Faculté des Sciences et
Techniques - Settat
INTRODUCTION GENERALE
Dans cette perspective, et dans le cadre de notre projet de fin d’étude, nous avons
réalisé une solution que nous souhaiterons qu’elle soit un Startup. La solution
SmartBusinessCard a pour but de régler la problématique de recherche des professionnels
et la gestion des cartes visite.
Chapitre4 : Implémentation
Dans le dernier chapitre intitulé « Implémentation », nous présentons l’environnement
matériel et logiciel, le passage vers le schéma relationnel et quelques composantes
applicatives réalisées, et les différentes chartes graphiques de chaque technologie.
7
Faculté des Sciences et
Techniques - Settat
INTRODUCTION
Dans ce chapitre on va présenter les différentes fonctionnalités de notre
solution à savoir la partie web et la partie mobile.
Et nous concluons enfin par la démarche de conception adoptée.
8
Faculté des Sciences et
Techniques - Settat
9
Faculté des Sciences et
Techniques - Settat
Générer un code à barre à deux dimensions (QRcode) qui peut être téléchargé
et imprimé dans leurs factures, cartes visites, affiches publicitaires pour
pouvoir représenter leurs activités.
10
Faculté des Sciences et
Techniques - Settat
L’origine de ce découpage provient du constat que les erreurs ont un coût d’autant
plus élevé qu’elles sont détectées tardivement dans le processus de réalisation. Le cycle de
vie permet de détecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les
délais de sa réalisation et les coûts associés.
Cette étape consiste à définir la finalité du projet et son inscription dans une stratégie
globale.
Conception détaillée:
Tests unitaires:
11
Faculté des Sciences et
Techniques - Settat
Intégration :
L’objectif est de s’assurer de l’interfaçage des différents éléments (modules) du logiciel. Elle
fait l’objet de tests d’intégration consignés dans un document.
Documentation :
Elle vise à produire les informations nécessaires pour l’utilisation du logiciel et pour des
développements ultérieurs.
Mise en production :
Maintenance :
La séquence et la présence de chacune de ces activités dans le cycle de vie dépend du choix
d’un modèle de cycle de vie entre le client et l’équipe de développement. Le cycle de vie
permet de prendre en compte, en plus des aspects techniques, l’organisation et les aspects
humains.
Ils existent plusieurs modèles de cycles de vie d’un logiciel tels que : Modèle en cascade, en
V, en spiral, par incrément, etc.
12
Faculté des Sciences et
Techniques - Settat
Dans ce modèle le principe est très simple : chaque phase se termine à une date précise par
la production de certains documents ou logiciels. Les résultats sont définis sur la base des
interactions entre étapes, ils sont soumis à une revue approfondie et on ne passe à la phase
suivante que s’ils sont jugés satisfaisants.
13
Faculté des Sciences et
Techniques - Settat
14
Faculté des Sciences et
Techniques - Settat
3. Planning
4. Méthodologie de conception
a. Etude comparative entre MERISE et UML
MERISE (Méthode d’Etude et de Réalisation Informatique pour les Systèmes
d’Entreprise) est une méthode d'analyse et de réalisation des systèmes d'information qui est
élaborée en plusieurs étapes: schéma directeur, étude préalable, étude détaillée et la
réalisation.
Alors que UML (Unified Modeling Langage), est un langage de modélisation des systèmes
standard, qui utilise des diagrammes pour représenter chaque aspect d'un système ie:
statique, dynamique,....en s'appuyant sur la notion d'orienté objet qui est un véritable atout
pour ce langage.
Merise ou UML ?
Les "méthodologues" disent qu'une méthode, pour être opérationnelle, doit avoir 3
composantes:
Une démarche (les étapes, phases et tâches de mise en œuvre),
Des formalismes (les modélisations et les techniques de transformation),
Une organisation et des moyens de mise en œuvre.
UML, de par son origine (la programmation objet) s'affirme comme un ensemble de
formalismes pour la conception de logiciel à base de langage objet.
15
Faculté des Sciences et
Techniques - Settat
Merise est encore tout à fait valable pour:
La modélisation des données en vue de la construction d'une base de données
relationnelle,
La modélisation des processus métiers d'un SI automatisé en partie par du logiciel.
La formalisation des besoins utilisateur dans le cadre de cahier des charges
utilisateur, en vue de la conception d'un logiciel adapté.
2. La démarche adoptée :
Après cette étude comparative, il est certes que nous adoptons UML comme langage
de modélisation puisque nous allons utiliser le concept de l’orienter objet, à travers le SDK
Android qui est basé sur JAVA, pour développer la solution BusinessSmarteCard.
Notre outil de conception UML est Entreprise Architect de SPARX SYSTEM. C’est une
référence pour la modélisation UML. Nous allons l’utiliser pour réaliser tous les diagrammes
UML.
16
Faculté des Sciences et
Techniques - Settat
CONCLUSION
Après avoir présenté le cadre général du projet, une étude préalable s’impose afin
d’étudier le domaine de plus près et de repérer la procédure de fonctionnement actuelle.
17
Faculté des Sciences et
Techniques - Settat
CHAPITRE-2 : CAPTURE
DES BESOINS
INTRODUCTION
le présent chapitre nous permet d’identifier toutes les fonctionnalités de
notre futur système pour chaque type d’utilisateur, et ceci en recensant les
besoins fonctionnels et d’appréhender la liste des exigences traduites par les
besoins non fonctionnels.
Ceci se fera par l’identification des acteurs et la définition de tous les
besoins qui seront modélisés par des diagrammes de cas d’utilisation
générales.
18
Faculté des Sciences et
Techniques - Settat
App. Web :
uc App. We... ac-web.utilisateurAnonyme : c’est un acteur du site web qui peut
chercher des cartes visites, scanner le qrCode s’il porte un mobile occupé
de notre application mobile.
Utilisateur
Anonyme
uc App. W... ac-web.client c’est un client qui peut s’inscrire gratuitement dans notre
application afin de créer sa propre carte visite, il a les mêmes droits du l’
ac-web. utilisateurAnonyme.
Client
uc Primary U... ac-web.client : c’est un client comme le client précédent mais il a des
avantages comme la gestion de ces contacts et services, la gestion de ces
produits avec des images etc.
il y’a des droits de l’ac-web. client mais l’inscription dans notre
application est payée et elle dépend de certains critères.
ClientAv ance
App. Mobile :
uc App. Mobile ac-mobile.clientMobile : c’est un acteur qui a déjà installé notre
application dans son smartphone, pour le stock de ces propres cartes
visite et scanner à partir de notre site web, une affiche publicitaire, ou
bien une facture, etc.
ClientMobile
19
Faculté des Sciences et
Techniques - Settat
Mobile
Gérer ses cartes visite,
Gérer ses catégories,
Appeler Contact,
Envoyer SMS, e-mail,
Partager carte visite sur les différents réseaux sociaux
etc…
20
Faculté des Sciences et
Techniques - Settat
21
Faculté des Sciences et
Techniques - Settat
uc GererObj et
Chercher obj et
Modifier obj et
«extend»
«extend»
Supprimer obj et
Gérer Obj ets «extend»
Actor «include»
S'authentifier
«include»
Aj outer obj et
Figure 5 : Diagramme de cas d’utilisation Gérer Objet (Compte, carte visite, Catégorie etc.)
22
Faculté des Sciences et
Techniques - Settat
uc App. Web
Modifier Télécharger
Scanner QRcode apartir de QRcode
l'ecran d'un ordinateur
«include»
«include» S'authentifier
Client
S'inscrir
«include»
Gérer images
«include»
Gérer produits «extend»
GénererDev is
PayPal
Paiement
Versement
23
Faculté des Sciences et
Techniques - Settat
uc App. Mobile
«include»
Scanner un QRcode
«include»
Enregistrer une carte
de v isite
«extend»
ClientMobile
«include»
«extend» «extend»
CONCLUSION
Ce chapitre nous a permis de faire un découpage fonctionnel de notre futur système
par le biais du diagramme de cas d’utilisation et d’anticiper les interfaces qui seront
développées ultérieurement.
Dans le chapitre suivant, nous présentons une analyse détaillée pour les cas
d’utilisation de notre système.
24
Faculté des Sciences et
Techniques - Settat
INTRODUCTION
Dans ce présent chapitre, nous proposons l’analyse des différents cas
d’utilisation que nous venons de repérer à travers l’activité de capture des
besoins afin de déterminer les différentes classes intervenant dans chacun des
cas et de repérer le séquencement des flux pour chaque scénario de
réalisation.
Il s’agit donc là d’une activité importante, qui sert de base pour le
passage à l’activité de conception.
25
Faculté des Sciences et
Techniques - Settat
Authentification
Actor
SOMMAIRE D’IDENTIFICATION
Titre : S’identifier
But : Authentification et autorisation d’accès.
Résumé : Le client Web/Mobile introduit son login et mot de passe pour accéder
au système.
Acteurs : ac.clientPotentiel,ac.clientMobile
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
Le client doit avoir un compte sur la BD Accès à son espace privé.
SCENARIO NOMINAL
1. Le client demande l’accès au système,
2. Le système affiche le formulaire d’authentification,
3. L’acteur saisit son login et son mot de passe,
4. Le système vérifie les champs (champs obligatoires,..),
5. Le système vérifie l’existence de l’utilisateur,
6. Si le client est identifié, le système affiche l’interface adéquate.
26
Faculté des Sciences et
Techniques - Settat
SOMMAIRE D’IDENTIFICATION
Titre : créer compte
But : Créer un compte dans app. Web/Mobile
Résumé : Le client Web/Mobile doit remplir un formulaire d’inscription puis
valide son action. Le système effectue une vérification puis une mise à
jour de la base de données
Acteurs : ac.clientPotentiel,ac.clientMobile
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
L’utilisateur doit accéder au système. Client inscrit
SCENARIO NOMINAL
1. Le client demande la création d’un nouveau compte,
2. Le système affiche le formulaire d’inscription,
3. Le client remplit le formulaire puis valide,
4. Le système vérifie puis crée un nouveau compte avec les informations fournies,
5. Le client accède à des interfaces privées.
27
Faculté des Sciences et
Techniques - Settat
2. DIAGRAMMES D’ACTIVITES
Un diagramme d'activités permet de modéliser un processus interactif, global ou
partiel pour un système donné (logiciel, système d'information). Il est recommandable pour
exprimer une dimension temporelle sur une partie du modèle, à partir de diagrammes de
classes ou de cas d'utilisation, par exemple.
Le diagramme d'activités est une représentation proche de l'organigramme ; la
description d'un cas d'utilisation par un diagramme d'activités correspond à sa traduction
algorithmique.
Une activité est l'exécution d'une partie du cas d'utilisation, elle est représentée par un
rectangle aux bords arrondis.
Dans ce qui suit, nous présentons les diagrammes d’activités pour quelques cas d’utilisation
dans notre système.
[ Action = retour ]
[ Champs vide ]
[ Action = retour ] Alert champs v ide
Verifier si l'utilisateur
existe dans la bas
Afficher l'interface de
l'acceuil
28
Faculté des Sciences et
Techniques - Settat
2. Diagramme d’activités de cas d’utilisation « créer un compte »
act Creer compte
Demande le formulaire de
la création d'un nouv eau
compte
Afficher la formulaire de la
création d'un nouv eau
compte
Remplir la formulaire
[Action = retour]
[Action = retour]
Verifier si le compte
existe dans la BD
[ Compte existe ]
Alerte le compte existe
déj à dans la BD
[ Compte n'existe pas]
29
Faculté des Sciences et
Techniques - Settat
Afficher le details de la
carte v isite
Figure 11 : Diagramme d’activités de cas d’utilisation lister carte de visite par catégorie
30
Faculté des Sciences et
Techniques - Settat
3. DIAGRAMME DE CLASSES
Un diagramme de classes dans le langage de modélisation unifié (UML) est un type de
diagramme de structure statique qui décrit la structure d'un système en montrant le
système de classes, leurs attributs, et les relations entre les classes.
Ci-dessouss, le diagramme de classes de notre système :
class System
Utilisateur
Role enumDroitAccee
- droit: droitAccee
- designation: char
- email: char «enum»
- login: char 1 + administrateur: char
0..*
- passe: char + anonyme: char
+ client: char
+ clientAvance: char
+ clientMobile: char
Client ClienMobile
ClientAv ance
- tailleMemoireInterne: char
- nbCarteVisite: int - versionOS: char
1
1 1
0..1 1..*
1..*
Contact
Image
- email: char
- nom: char
- fonction: char
- type: int
- nom: char
- numGSM: char
CONCLUSION
Comme nous pouvons le constater, l’activité de la conception a facilité la
compréhension de notre système qui ébauche vers l’activité d’implémentation.
31
Faculté des Sciences et
Techniques - Settat
CHAPITRE-5 :
IMPLEMENTATION
INTRODUCTION
Dans ce chapitre, nous présentons l'architecture sur laquelle nous avons développé
nos applications, les différents outils utilisés ainsi que les composantes applicatives réalisées.
32
Faculté des Sciences et
Techniques - Settat
I. ENVIRONNEMENT MATERIEL
1. Architecture du matériel
Notre solution web et mobile sont deux applications qui se connectent à un serveur
de base de données distant, via Internet, afin de récupérer les données, ce qui
nécessite aussi l’intégration d’un serveur web entre l’application client et le serveur
de base de données.
D’où l’architecture de notre application est à 3 niveaux (architecture 3-tiers),
elle est partagée entre:
Le client Web/Mobile : Conteneur d’application et demandeur de ressources,
Le serveur Web : Vue que les données seront communiquées entre deux
environnements hétérogènes, le rôle principal du serveur web est de gérer la
communication entre le client Web/Mobile et le serveur de base de données,
Le serveur de base de données fournit les données au serveur web.
Requête Requête
Réponse Réponse
33
Faculté des Sciences et
Techniques - Settat
Pour le client mobile la communication avec la base de données se déroule on respectant le shama
suivant :
L‘API permet :
- d’accepter une requête par les méthodes
GET/POST
- d’interagir avec les classes PHP pour
récupérer les données.
- Ensuite les données seront encodées au
format JSON et envoyées à l’app. Android
2. Matériels utilisés
Pour la réalisation du projet, nous avons utilisé :
PC2 :
- Processeur Intel Core 2 Duo 2.2 GHz,
- 3 Go de mémoire vive,
- Disque dur de capacité 500 Go,
- Système d’exploitation Microsoft Windows 7 Edition Intégrale.
34
Faculté des Sciences et
Techniques - Settat
2. TECHNOLOGIES
1. Développement mobile
a. Présentation de la plateforme Android
Android est un système d'exploitation open source utilisant le noyau
Linux, pour smartphones, tablettes tactiles, PDA et terminaux mobiles
conçu par Android, une startup rachetée par Google, et annoncé
officiellement le 5 novembre 20074. D'autres types d'appareils possédant
ce système d'exploitation existent, par exemple des téléviseurs et des
tablettes.
2. Architecture d’Android
Pour bien comprendre la plateforme Android, nous détaillons par la suite
l’architecture du système Android. Le portail des développeurs Android nous présente
l’architecture du système avec le schéma ci-contre
Linux Kernel : Android s’appuie sur le noyau Linux 2.6 pour les services système de base tels
que la sécurité, la gestion de la mémoire et des processus, le réseau et la gestion des drivers.
Le noyau sert de couche d’abstraction entre le matériel et le reste de la pile logicielle.
Android Runtime : Android inclut un ensemble de librairies fournissant la plupart des
fonctionnalités des librairies standard de Java. Chaque application Android s’exécute dans un
processus, avec sa propre instance de la machine virtuelle Java, appelée Dalvik. Dalvik a été
écrit pour optimiser l’exécution d’une multitude d’instances de la machine virtuelle, avec
35
Faculté des Sciences et
Techniques - Settat
une empreinte mémoire réduite. Dalvik s’appuie sur le noyau Linux pour les fonctionnalités
bas-niveau tels que les threads ou la gestion de la mémoire.
Librairies: Android fournit un ensemble de librairies C/C++ utilisées par différents
composants du système. Ces fonctionnalités sont rendues disponibles aux développeurs au
travers du framework d’application d’Android. On trouve parmi ces librairies: librairie C
standard, moteurs d’affichage 2D et 3D, SQLite, rendu des polices de caractères etc.
Application Framework : Le framework d’application est la couche qui nous intéresse tout
particulièrement. C’est elle qui fait le lien, grâce à un ensemble d’APIs Java, entre le système
et l’application. Étant un système ouvert, Android permet aux développeurs de concevoir
des applications très riches et de tirer partie d’un maximum de fonctionnalités. Les
développeurs ont donc accès aux mêmes fonctionnalités que celles utilisées par les
applications fournies avec Android. Toute application Android repose sur un ensemble de
services et systèmes parmi lesquels :
Un ensemble de «Views» permettant de construire l’interface graphique de
l’application : listes, grilles, champs textes, images, et même intégration d’un navigateur web
ou d’une vue Google Maps.
Des «Content Providers» qui permettent aux applications d’accéder à des données
d’autres applications ou de partager ses propres données,
Un «Ressource Manager» pour accéder à des éléments autres que du code :
données textuelles traduites, images, descriptions XML d’interfaces graphiques etc.
Un «Activity Manager» pour gérer le cycle de vie de l’application.
3. L’API Zxing
ZXing (prononcé "zebra crossing") est un open-source, multi-
format de bibliothèque 1D/2D de traitement d'image code à barres
implémenté en Java, avec les ports vers d'autres langues. Notre objectif
est d'utiliser la caméra intégrée sur les téléphones mobiles pour lire et
décoder des codes à barres sur l'appareil, sans communiquer avec un
serveur. Cependant, le projet peut être utilisé pour coder et décoder
des codes à barres sur les ordinateurs de bureau et serveurs ainsi. Nous supportons
actuellement les formats suivants:
36
Faculté des Sciences et
Techniques - Settat
4. Développement Web
a. La plateforme J2EE
L’application Web J2EE est développée entièrement en
Java et utilise plusieurs Framework, bibliothèques Open-source
dans les différentes parties du projet. Les Framework facilitent la
programmation dans le sens où la standardisation des processus
de programmation rend le code plus lisible et facilement
interprétable lors d’´éventuelles modifications. Toutes les évolutions du projet Déchèterie
ont été réalisées sous l’environnement de développement Eclipse. Ensuite divers Framework
tels que AppFuse 2, St ruts 2, Spring et Hibernante ont Base de données Microsoft SQL
Server 2005. Une présentation des différents outils est Faite ci-après.
Les couches métier et dao sont normalement utilisées via des interfaces Java. Ainsi la
couche métier ne connaît de la couche dao que son ou ses interfaces et ne connaît pas les
classes les implémentant. C'est ce qui assure l'indépendance des couches entre-elles :
changer l'implémentation de la couche dao n'a aucune incidence sur la couche métier tant
qu'on ne touche pas à la définition de l'interface de la couche dao. Il en est de même entre
les couches interface utilisateur et métier.
L'architecture MVC prend place dans la couche interface utilisateur lorsque celle-ci est une
interface web.
37
Faculté des Sciences et
Techniques - Settat
Le traitement d'une demande d'un client se déroule selon les étapes suivantes :
1. Le client fait une demande au contrôleur. Celui-ci voit passer toutes les demandes
des clients. C'est la porte d'entrée de l'application. C'est le C de MVC.
2. Le contrôleur C traite cette demande. Pour ce faire, il peut avoir besoin de l'aide de la
couche métier. Une fois la demande du client traitée, celle-ci peut appeler diverses
réponses. Un exemple classique est :
une page d'erreurs si la demande n'a pu être traitée correctement
une page de confirmation.
38
Faculté des Sciences et
Techniques - Settat
3. La plateforme de présentation Strusts
Apache Struts 2 est un élégant et extensible Framework pour la création
d’applications web Java. Le Framework a été conçu pour rationaliser le cycle complet de
développement d’une application : de la construction puis du déploiement jusqu'à la
maintenance. Pour atteindre cet objectif, Struts 2 fournit différentes caractéristiques pour
réduire la configuration XML, utiliser des annotations et des conventions sur la
configuration.
Les actions doivent implémenter l’interface Action. Elles héritent ainsi de méthodes
permettant l’accès aux propriétés et méthodes du modèle pour retourner des chaînes de
caractères (String). Ces « String » sont liées avec les noms « résult définies dans le fichier de
configuration struts.xml. Les actions ont typiquement une seule méthode
« execute() » permettant d’effectuer les traitements sur la vue. Struts 2 utilise aussi
39
Faculté des Sciences et
Techniques - Settat
Les intercepteurs pour intercepter les traitements de requêtes et de réponses des pages
Web. Les intercepteurs ressemblent `a des filtres de servlet à l’exception que l’on peut
communiquer directement avec les actions.
5. La technologie Ajax
Cette technologie, basée essentiellement sur le JavaScript, permet
d’accéder de manière asynchrone avec les actions de l’utilisateur à la
base de données et c’en utilisant en plus du JavaScript, une classe
XMLHTTPREQUEST, qui comporte des méthodes permettant de
communiquer avec le serveur, offrant ainsi à l’utilisateur une réponse
rapide et instantanée.
6. QR-Code
Le QRCode est un code barre à 2 dimensions sous licence libre qui permet de stocker des
informations numériques (textes, adresses de site web, etc.). Il peut-être déchiffré à partir
d'un téléphone mobile équipé d'un appareil photo et du lecteur approprié. Imprimé sur un
support ou placé dans l'environnement urbain, il permet de relier l'espace physique et
l'espace numérique.
40
Faculté des Sciences et
Techniques - Settat
3. OUTILS DE DÉVELOPPEMENT
1. Environnement de développement Intégré : Eclipse
Eclipse est un projet de la Fondation Eclipse visant à développer tout un
environnement de développement libre, extensible, universel et polyvalent.
Son objectif est de produire et fournir divers outils gravitant autour
de la réalisation de logiciel, englobant les activités de codage logiciel
proprement dites (avec notamment un environnement de
développement intégré) mais aussi de modélisation, de conception,
de test, de reporting, etc. Son environnement de
développement notamment vise à la généricité pour lui permettre de
supporter n'importe quel langage de programmation.
Le projet Eclipse est pour cela organisé en un ensemble cohérent de
projets logiciels distincts, sa spécificité tenant à son architecture totalement développée
autour de la notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités
de l'atelier logiciel doivent être développées en tant queplug-in bâti autour de l'IDE Eclipse
Platform.
Eclipse recouvre donc notamment également à cet effet tout un Framework de
développement logiciel fournissant des briques logicielles à partir desquelles développer
tous ces outils. C'est la raison pour laquelle Eclipse est présenté dans la littérature tout
autant comme un EDI ou comme un Framework.
41
Faculté des Sciences et
Techniques - Settat
4. Entreprise Architect
Sparx Systems Enterprise Architect est un outil de
modélisation visuelle et de conception basée sur l'UML OMG. La
plate-forme prend en charge: la conception et la construction de
systèmes logiciels, les processus opérationnels de modélisation,
et de l'industrie de modélisation basée sur des domaines. Il est
utilisé par les entreprises et les organisations de ne pas le
modèle que l'architecture de leurs systèmes, mais de traiter la
mise en œuvre de ces modèles à travers le développement d'applications cycle de vie
complet.
2. Le client TurtoiseSVN
TortoiseSVN est un des logiciels client de SVN les plus populaires1.
C'est un logiciel libre distribué selon les termes de la licence GNU GPL.
En s'intégrant dans l'explorateur de Windows, il offre aux utilisateurs
de Windows une interface graphique permettant de réaliser la plupart
des tâches qu'offre SVN en ligne de commande.
L'explorateur Windows s'enrichit des fonctionnalités suivantes :
42
Faculté des Sciences et
Techniques - Settat
4. ECRANS
1. Réalisation Web
43
Faculté des Sciences et
Techniques - Settat
Figure 20 : Code à barre a deux dimensions du LAFARGE (Après la clique sur une carte).
44
Faculté des Sciences et
Techniques - Settat
45
Faculté des Sciences et
Techniques - Settat
46
Faculté des Sciences et
Techniques - Settat
2. Réalisation Mobile
47
Faculté des Sciences et
Techniques - Settat
Figure 27 : Activité de recherche Catégories & Cartes de visite (onglet Cartes de visite)
48
Faculté des Sciences et
Techniques - Settat
Figure 29 : Liste des cartes de visite (après la clique sur Liste des Cartes de visite)
49
Faculté des Sciences et
Techniques - Settat
50
Faculté des Sciences et
Techniques - Settat
51
Faculté des Sciences et
Techniques - Settat
52
Faculté des Sciences et
Techniques - Settat
53
Faculté des Sciences et
Techniques - Settat
CONCLUSION
L’activité d’implémentation était la plus délicate dans le développement de notre
système. Enfin, nous nous intéressons à tester l’application en réseau.
54
Faculté des Sciences et
Techniques - Settat
CONCLUSION GENERALE
Ce projet avait pour objectif la réalisation d’une application
SmartBusinessCard permettant de rechercher et de gérer plus facilement nos
contacts professionnels.
55
Faculté des Sciences et
Techniques - Settat
BIBLIOGRAPHIE
Ouvrages :
Formations Interactive :
Références Netographiques :
56