SlideShare une entreprise Scribd logo
1  sur  83
Télécharger pour lire hors ligne
Organisme d'accueil
Galactech Studio
Encadré par
ESEN Mme Ismahene Chahbi
Société M. Maher Sghaier
Année Universitaire : 2016-2017
Code : 377
Université de la Manouba
École Supérieure d’Économie Numérique
Rapport
de projet de fin d'études
Sujet
Conception et Développement d’une
application de Générateur de QR Code
Élaboré par:
Khadija shili
Présenté en vue de l'obtention du diplôme de
Licence Appliquée en Technologies et Systèmes d’informations
Dédicace« Personne ne peut atteindre le succès sans savoir l’aide des autres. Le sage et confiant
reconnaissent cette aide avec gratitude. » (Alfred North Whitehead)
Avec tous mes profonds respects, Reconnaissance, gratitudes et amour permettez-moi de
dédier le fruit de ce travail :
À ma chère mère
Aucune dédicace ne serait suffisante pour exprimer mon sincère respect et amour et ma
reconnaissance pour tous vous sacrifices.
Vous n’avez jamais cessé de me soutenir et de m’encourager durant tous ma vie
éducative. Vous prière et bénédiction m’ont guidé pour mener à bien mes études.
À mon cher père
Ce dédicace se trouve insuffisant pour exprimer ma gratitude et reconnaissance.
Je vous remercie pour votre patience, votre soutien, vos conseils et vos prières et j’espère que
j’étais et que je resterai à la hauteur de vous espérances.
À ma sœur et mon frère
Ma chère sœur qui est comme une mère pour moi, les mots ne suffisent guère pour exprimer
l’attachement et l’amour que je porte à toi.
Mon cher frère qui est un ami et m’ont toujours épaulé et soutenu.
Mes meilleurs vœux et mes sincères prières pour une vie pleine de bonheur et de réussite.
À tous mes chers enseignants qui mon guider et supporter tous au long de mes années
d’étude et j'espère que je porte de la fierté à tous mes enseignants qui m’ont fait confiance.
À ma chère Mlle Kim Jeong Suk
Vous êtes plus qu’une enseignante. Vous me manque beaucoup. Vous m’avez toujours
supporté, guidé et toujours là pour m’aider. Merci bien pour les bonheurs que j’ai avec vous
et tous mes collègues et pour tous vos conseils.
À ma chère amie Chaima Taboubi
Merci d’être toujours là pour me supporter et m’encourager même-ci ça ne fait pas
longtemps que je te connais. Je te remercie chaleureusement et que Dieu t’offre de la chance
et du bonheur.
À tous mes amis et ceux qui ont cru on moi et m’ont soutenu mes meilleurs vœux et prières
de bonheur et de réussite.
Remerciement
Ce projet est le fruit du concours de plusieurs personnes à qui je me permet de prendre
cette occasion pour adresser mes sincères remerciements et reconnaissances à toute
personne ayant contribué à la réalisation de ce travail.
Je voudrais tout d’abord exprimer mes gratitudes et mes remerciements à mon
encadrante pédagogique Mme Ismehene Chahbi pour sa patience et disponibilité et
son aide précieux.
Mesplussincèresremerciementsàtousl’équipedeGalactechStudioetsurtout Monencadrant
technique M. Maher Sghaier pour m’avoir accueilli et me donner l’occasion de faire ce stage.
Son aide et ses remarques et ses judicieux conseils qui ont contribué à alimenter ma réflexion.
Mes profondes gratitudes s’adressent aux membres de jurys, pour l’honneur qu’ils
m’ont fait en acceptant de juger mon modeste travail.
Table des matières
Introduction................................................................................................................. 1
Chapitre I : Cadre de Projet........................................................................................ 3
Introduction ............................................................................................................. 3
1. Présentation de l’organisme d’accueil ........................................................... 3
2. Étude de l’existant ......................................................................................... 3
a. Analyse de générateur QR Code « Unitag ».............................................. 3
b. Analyse de générateur QR Code « Generator Pro.code-qr »..................... 4
c. Critique de l’existant................................................................................... 4
3. Contexte du Projet......................................................................................... 5
4. Objectif .......................................................................................................... 5
5. Méthodologie et Modèle de Conception utiliser............................................. 6
a. Le Processus unifié.................................................................................... 6
Caractéristiques du Processus unifié :.............................................................. 6
b. Le Modèle de Conception .......................................................................... 7
Conclusion .............................................................................................................. 8
Chapitre II : Incubation................................................................................................ 9
Introduction ............................................................................................................. 9
1. Analyse des Besoins ..................................................................................... 9
1.1.Besoins fonctionnels................................................................................ 9
1.2.Besoins non fonctionnels......................................................................... 9
2. Spécification des Besoins............................................................................ 10
2.1.Identification des acteurs....................................................................... 10
2.2.Le diagramme de cas d’utilisation initial ................................................ 10
2.3.Affectation des priorités ......................................................................... 11
2.4.Raffinement des cas d’Utilisation Prioritaires ........................................ 12
2.4.1.Raffinement du cas d’utilisation « s’authentifier »............................... 12
2.4.2.Raffinement du cas d’utilisation « s’inscrire »..................................... 13
2.4.3.Raffinement du cas d’utilisation « Créer QrCode »............................. 14
3. Analyse........................................................................................................ 14
3.1.Analyse de cas d’utilisation « S’authentifier »........................................ 14
3.2.Analyse de cas d’utilisation « S’inscrire ».............................................. 17
3.3.Analyse de cas d’utilisation « Créer QR Code ».................................... 19
Conclusion ............................................................................................................ 20
Chapitre III : Élaboration........................................................................................... 21
Introduction ........................................................................................................... 21
1. Raffinement des Cas d’Utilisation Secondaires........................................... 21
1.1.Raffinement du cas d’utilisation « Gérer QR Code »............................. 21
2. Analyse des cas d’utilisation Secondaire..................................................... 24
2.1.Analyse du cas d’utilisation « Gérer QR Code ».................................... 24
3. Conception des cas d’utilisation prioritaires................................................. 34
Conclusion ............................................................................................................ 39
Chapitre IV : Construction......................................................................................... 40
Introduction ........................................................................................................... 40
1. Conception des cas d’utilisation secondaire................................................ 40
2. Conception de la base de données ............................................................. 47
2.1.Description des classes des entités....................................................... 48
2.2.Diagramme de classes .......................................................................... 53
2.3.Script de création de la base de données ............................................. 53
Conclusion ............................................................................................................ 56
Chapitre VI : Transition............................................................................................. 57
Introduction ........................................................................................................... 57
1. Environnement de travail............................................................................. 57
1.1.Environnement matériel......................................................................... 57
1.2.Environnement Logiciels ....................................................................... 58
2. Architecture ................................................................................................. 60
2.1.Architecture Physique............................................................................ 60
2.2.Architecture Technique.......................................................................... 61
3. Interfaces de l’application ............................................................................ 61
Conclusion ............................................................................................................ 70
Conclusion et Perspective ........................................................................................ 71
Bibliographie............................................................................................................. 72
Webographie ............................................................................................................ 73
Liste des tableaux
Tableau 1:Analyse de générateur QR Code "Unitag"................................................. 4
Tableau 2: Analyse de générateur QR Code "GeneratorPro.Code-qr........................ 4
Tableau 3:Identification des acteurs ......................................................................... 10
Tableau 4:Affectation de priorité............................................................................... 12
Tableau 5:Description Textuelle du cas d'utilisation "sauthentifier" .......................... 13
Tableau 6:Description Textuelle du cas d'utilisation "s'inscrire"................................ 14
Tableau 7:Description textuelle du cas d'utilisation "créer QR Code"....................... 14
Tableau 8:Raffinement du cas d’utilisation « Gérer QR Code : Modifier »................ 22
Tableau 9: Description textuelle du cas d’utilisation « Archiver QR Code » ............. 23
Tableau 10: Description textuelle du cas d’utilisation « Télécharger QR Code » ..... 23
Tableau 11:Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste
Statistique ».............................................................................................................. 24
Tableau 11 : les attributs de la table « users » ......................................................... 48
Tableau 12 : les attributs de la table « qrcodes » ..................................................... 49
Tableau 13 : les attributs de la table « apps » .......................................................... 49
Tableau 14 : les attributs de la table « facebookpages ».......................................... 50
Tableau 15 : les attributs de la table « files »............................................................ 50
Tableau 22 : Environnement Matérielle .................................................................... 57
Tableau 22 : Outils de Conception ........................................................................... 58
Tableau 23 : Outils de développement ..................................................................... 58
Tableau 24 : Langage de programmation................................................................. 59
Tableau 25 : Framework........................................................................................... 60
Liste des figures
Figure 1: La Structure logique du Processus Unifé .................................................... 6
Figure 2: Diagramme de cas d'utilisation Global....................................................... 11
Figure 3:Raffinement de Cas d"utilisation "S'authentifier" ........................................ 12
Figure 4: Raffine de cas d'utilisation "s'inscrire" ....................................................... 13
Figure 5: Raffinement de cas d'utilisation "créer QR Code"...................................... 14
Figure 6:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'tilisation "S'authentifier".......................................................................................... 15
Figure 7:Diagramme de Calsse d'analyse du cas d'utilisation"s'authentifier" ........... 15
Figure 8:: Diagramme de collaboration du cas d’utilisation « S’authentifier »........... 16
Figure 9:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « s’inscrire »........................................................................................... 17
Figure 10: Diagramme de classe d'analyse du cas d'utilisation « s’inscrire »........... 17
Figure 11: Diagramme de collaboration du cas d’utilisation « S’inscrire »................ 18
Figure 12:: Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du
cas d'utilisation « Créer QR Code ».......................................................................... 19
Figure 13: Diagramme de classe d'analyse du cas d'utilisation « Créer QR Code ... 19
Figure 14: Diagramme de Collaboration « Créer QR Code » ................................... 20
Figure 15: Raffinement de cas d’utilisation « Gérer QR Code »............................... 22
Tableau 9: Description textuelle du cas d’utilisation « Archiver QR.......................... 23
Figure 16 : Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse... 25
Figure 18 : Diagramme de collaboration du cas d’utilisation « Modifier »................. 26
Figure 19 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du
cas d'utilisation « Archiver QR Code » ..................................................................... 27
Figure 20 : Diagramme de classe d’analyse du cas d’utilisation « Archiver »........... 28
Figure 21 : Diagramme de collaboration du cas d’utilisation « Archiver » ................ 28
Figure 22 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du
cas d'utilisation « Télécharger QR Code » ............................................................... 29
Figure 23 : Diagramme de Classe d’analyse du cas d’utilisation « télécharger »..... 30
Figure 24 : Diagramme de collaboration du cas d’utilisation « télécharger »............ 31
Figure 25 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du
cas d'utilisation « consulter statistique de scan de QR Code » ................................ 32
Figure 26 : Diagramme de classe d’analyse du cas d’utilisation « Consulter Statique
de scan de QR Code » ............................................................................................. 33
Figure 28 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « S’authentifier » ...................................................... 34
Figure 29 : Diagramme de classe de conception « S’authentifier ».......................... 35
Figure 30 : Diagramme Séquence détaillé du cas d’utilisation « S’authentifier »...... 35
Figure 31 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « S’inscrire » ............................................................ 36
Figure 32 : Diagramme de classe de conception « S’inscrire »................................ 36
Figure 33 : Diagramme Séquence détaillé du cas d’utilisation « S’inscrire »............ 37
Figure 34 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « Créer QR Code » .................................................. 38
Figure 35 : Diagramme de classe de conception « Créer QR Code »...................... 38
Figure 36 : Diagramme Séquence détaillé du cas d’utilisation ................................. 39
« Créer QR Code »................................................................................................... 39
Figure 37 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « Modifier QR Code » .............................................. 40
Figure 38 : Diagramme de classe de conception « Modifier QR Code » .................. 41
Figure 39 : Diagramme Séquence détaillé du cas d’utilisation ................................. 41
« Modifier QR Code »............................................................................................... 41
Figure 40 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « Archiver QR Code » .............................................. 42
Figure 41 : Diagramme de classe de conception « Archiver QR Code ».................. 42
Figure 42 : Diagramme Séquence détaillé du cas d’utilisation ................................. 43
« Archiver QR Code »............................................................................................... 43
Figure 43 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « Télécharger QR Code » ........................................ 44
Figure 44 : Diagramme de classe de conception « Télécharger QR Code »............ 44
Figure 45 : Diagramme Séquence détaillé du cas d’utilisation ................................. 45
« Télécharger QR Code »......................................................................................... 45
Figure 46 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de
conception du cas d’utilisation « Consulter Statistique de scan du QR Code »........ 46
Figure 467: Diagramme de classe de conception « Consulter Statistique de scan du
QR Code »................................................................................................................ 46
Figure 48 : Diagramme Séquence détaillé du cas d’utilisation ................................. 47
« Consulter Statistique de scan du QR Code » ........................................................ 47
Tableau 17 : les attributs de la table « multilinks » ................................................... 50
Tableau 18 : les attributs de la table « qrcodeemail » .............................................. 50
Tableau 19 : les attributs de la table « qrcodesms » ................................................ 51
Tableau 20 : les attributs de la table « scan » .......................................................... 51
Tableau 21 : les attributs de la table « qrcodetext » ................................................. 51
Tableau 22 : les attributs de la table « vcard » ......................................................... 52
Figure 49 : Diagramme de classe............................................................................. 53
Figure 50 : Les différentes couches de l’architecture 3-tiers..................................... 60
Figure 51 : Interface d’inscription.............................................................................. 62
Figure 52 : Interface d’authentification...................................................................... 62
Figure 53 : Interface d’authentification...................................................................... 63
Figure 54 : Interface profil......................................................................................... 63
Figure 55 : Interface reset password ........................................................................ 64
Figure 56 : Interface boite email de l’abonné............................................................ 64
Figure 57 : Interface « Changer Mot de passe » ...................................................... 65
Figure 58 : Interface créer QR Code ........................................................................ 65
Figure 59 : Interface Vcard ....................................................................................... 66
Figure 60 : Interface Vcard : personnalisation de design.......................................... 67
Figure 61 : Interface Mange...................................................................................... 68
Figure 62 : Interface Mange...................................................................................... 69
Figure 63 : Interface Mange...................................................................................... 69
Figure 64 : Interface Archive..................................................................................... 70
1
Introduction
Attirer et influencer les consommateurs est le souci majeur de toute entreprise qui veut
augmenter sa part du marché ainsi que sa position.
C’est pour cela les méthodes de marketing et de commercialisation des produits se
développent continuellement en parallèle avec les nouvelles technologies qui les
rendent faciles et plus efficaces.
Plusieurs méthodes de marketing sont apparues pour cette fin, tels que les
représentants, les affiches, les spots publicitaires, ou les bannes publicitaires qui se
trouvent, même sa bonne qualité des messages diffuser au consommateur, un peu
gênante. Ces méthodes peuvent se manifester comme une source de perte des clients.
C’est pour cela, plusieurs entreprises ont fait recours à une nouvelle technologie dans
le domaine de marketing, c’est les QR Codes.
Les QR Codes (Quick Response Code) sont des code-barres à deux dimensions, crée
en 1994 par l'entreprise japonaise Denso-Wave pour le contrôle des pièces des
voitures Toyota, ils sont rapides à décoder à l’aide d’un lecteur de QR code ou QR
code scanner installé sur un smart phone.
La société Galactec Studio, comme plusieurs entreprises, a décidé de créer un
Générateur de QR Code personnalisé permettant aux entreprise et personne physique
de générer et personnaliser ses QR Code d’une Manière dynamique.
Cette application consiste à mettre en place un espace en ligne pour la génération des
QR Codes personnalisés en termes de design et des informations.
Le présent Rapport est composé de cinq chapitres :
Le premier chapitre est consacré à la présentation du cadre du projet et les autres
chapitres représentent les différentes phases de processus unifié.
Dans le deuxième chapitre « Incubation », nous définissons la portée du système et
nous étudions sa faisabilité.
2
Dans le troisième chapitre « Élaboration », nous clarifions le modèle initial des cas
d’utilisation pour la mise en place d’une architecture saine.
Le quatrième chapitre décrit l’implémentation et le développement de l’application.
Dans le chapitre « Transition », nous allons finaliser le produit, présenter les interfaces
de l’application ainsi que les scénarios d’exécution.
3
Chapitre I : Cadre de Projet
Introduction
Ce chapitre est consacré à la présentation de l’organisme d’accueil, du contexte de
projet et la description des objectifs du projet ainsi que la méthodologie et le modèle
de conception adopté.
1. Présentation de l’organisme d’accueil
GalacTech Studio est une Startup de développement des jeux vidéo, des solutions de
réalité augmentée et le développement des applications web et mobiles. Elle a été
fondée en 2016 avec un effectif de 7 employés. L’entreprise est située au co-working
space « StartupHaus » à jean Jaurès.
2. Étude de l’existant
L’étude de l’existant permet de déterminer la valeur ajoutée du produit à fournir
aux utilisateurs par rapport aux solutions existantes. Dans cette partie, nous
allons présenter une analyse de quelques solutions.
a. Analyse de générateur QR Code « Unitag »
Type de QR Code Personnalisation possible
Web & réseaux sociaux : permets de
saisir un Url d’un site ou d’un réseau
social.
Autres Types : Type de QR Code à
générer comme Carte visite, Texte,
Téléphone, SMS, Mail, Géolocalisation,
Calendrier et Réseaux Wi-fi.
Templates : Permets de personnaliser
un QR Code en choisissant un
Template disponible dans la liste de
Templates.
Colors : possibilité de la
personnalisation de couleur du QR
Code soit par la modification de sa
couleur (single color, shaded colors) ou
en plaçant une image au lieu du QR
code.
Look : Permets la modification des
modules ainsi que les yeux du QR Code
Logo : Possibilité d’insertion d’un logo
(ex : logo d’entreprise).
Eyes : Permets de modifier la couleur
des yeux du QR Code.
4
Options : permet la modification de la
couleur de l’arrière-plan du QR Code, la
création d’ombre ou la valeur de
redondance du QR Code (low, medium,
Quality, Strong).
Tableau 1:Analyse de générateur QR Code "Unitag"
Il est possible de créer des QR Code dynamique, dont nous pouvons modifier le
contenu ou le design d’un QR Code déjà crée, ou statique dont est impossible de
faire des modifications après création.
b. Analyse de générateur QR Code « Generator Pro.code-qr »
Type de QR Code Type D’image à télécharger
Mp3, App stores, Photos, Multi-URL,
PDF, etc.
Un Type d’image standard
Il est possible de spécifier la taille
d’image
Il impossible de changer le design
Tableau 2: Analyse de générateur QR Code "GeneratorPro.Code-qr
La plateforme permet de tester le QR Code par un scan.
Les qr codes créer sont statiques. Il est impossible de les modifier et il ne permet
plus de modifier le design lors de création.
c. Critique de l’existant
Les deux solutions proposent presque les mêmes services, mais le problème est dans
le type d’image de QR Code généré.
Unitag : génère des QR Code dynamiques. Ils la modification de design avec
l’intégration des logos au milieu de QR Code ou la modification des modules de QR
Code (eyse), mais il ne permet plus le téléchargement d’une image de QR Code
vectoriel (eps, svg).
Generator Pro.code-qr : génère des QR Codes statique sans design et la modification
du contenu est impossible
Les deux solutions manquent des fonctionnalités qui rendent une application de
générateur de QR Code plus performante.
Il n’existe plus une solution qui regroupe les fonctionnalités proposées par les deux
solutions.
5
3. Contexte du Projet
Dans le cadre d’un projet de fin d’études, au sein de Galactec, qui est une
société tunisienne de développement des applications, sites web et des jeux
vidéo, etc., nous souhaitons développer une application web de générateur QR
Code.
Cette application doit assurer les fonctionnalités suivantes :
 Création des types de services QR Code (vCard, App, Websites, multiUrl,
etc.).
 Générer des QR Codes personnalisés.
 Préparation des statistiques
 Gestion des QR Codes (modification des informations, modification de
design, archivage).
4. Objectif
Les objectifs poursuivis par l’application consistent à mettre en place un espace
en ligne pour générer des QR Codes personnalisés en termes de design et
d’informations. Plus précisément, ces objectifs sont les suivants :
 Création des types de services QR Code :
✓ vCard : Ce type permet la création d’un service QR Code pour les
cartes Visites.
✓ App : permet la création d’un service QR Code pour les applications.
✓ Web Sites : permet la création d’un service QR code pour les sites Web
✓ MultiUrl : permet la création d’un service QR code de plusieurs URL.
 Générer des QR Codes personnalisés c.-à-d. la personnalisation de design
des QR Codes.
 Préparation de statistiques de scan des QR Code.
 Gestion des QR Code :
✓ Modification de design
✓ Modification des informations
✓ Consultation de Statistiques
6
✓ Archivage
5. Méthodologie et Modèle de Conception utiliser
a. Le Processus unifié
Le processus unifié (UP, Ou Unified process) est un processus de développement
logiciel regroupant les activités à mener pour transformer les besoins d’un utilisateur
en système logiciel. C’est un Framework de processus générique pouvant être adapté
à une large classe de systèmes logiciels, à différents domaines d’application, à
différents types d’entreprises, à différents niveaux de compétence et à différentes
tailles de projets. [1]
Figure 1: La Structure logique du Processus Unifé
Caractéristiques du Processus unifié :
Le processus unifié est « itératif et incrémental, centré sur l’architecture, conduit par
les cas d’utilisation et piloté par les risques » :
➢ Itératif Incrémental :
Le projet se découpe en plusieurs itérations à courte durée qui aident à mieux suivre
l’avancement global. À la fin, cette itération produit un livrable qui présente une partie
du système final de façon incrémentale. [1]
➢ Piloté par les cas d’utilisation :
7
✓ Le projet est mené en tenant compte des besoins et des exigences des
utilisateurs qui se traduisent en des cas d’utilisations identifiées, décrits
avec précision et priorisés. [1]
✓ Les Cas d’utilisation ne sont pas un simple outil de spécification des
besoins du système. Ils en guident la conception, l’implémentation et les
tests, c.-à-d. qu’ils guident le processus de développement. [1]
✓ Il est vrai que, les cas d’utilisation guident le processus, mais ils ne sont
pas sélectionnés de façon indépendante, ils doivent absolument être
développés tandems avec l’architecture du système. [1]
➢ Centré sur l’architecture :
✓ Tout système complexe doit être décomposé en parties modulaires afin
de garantir une maintenance et une évolution facilitée. Cette architecture
(fonctionnelle, logique, matérielle, etc.) doit être modélisée en UML et
pas seulement documentée en texte. [1]
✓ L’architecture propose une vue d’ensemble de la conception faisant
ressortir les caractéristiques essentielles en laissant de côté les détails
secondaires. [1]
➢ Piloté par les risques :
✓ Les risques majeurs du projet doivent être identifiés aux plus tôt, mais
surtout, levées le plus rapidement possible les mesures à prendre dans
ce cadre déterminent l’ordre des itérations. [1]
b. Le Modèle de Conception
UML (Unified Modeling Language) se définit comme un langage de
modélisation graphique et textuelle destiné à comprendre et décrire les besoins,
spécifier et documenter des systèmes, esquisser des architectures logicielles,
concevoir des solutions et communiquer des points de vue. [2]
UML unifie à la fois les notations et les concepts orientés objet. Il ne s’agit pas
d’une simple notation graphique, car les concepts transmis par un diagramme
ont une sémantique précise et sont porteurs de sens au même titre que les mots
d’un langage. [2]
8
UML unifie également les notations aux différentes activités d’un processus de
développement et offre, par ce biais, le moyen d’établir le suivi des décisions
prises, depuis l’expression des besoins jusqu’au codage. [2]
UML modélise les exigences des utilisateurs en un modèle de conception
facilitant le codage. [2]
Conclusion
Dans ce chapitre, nous avons présenté le cadre du projet. Nous avons
commencé par une présentation de l’organisme d’accueil ; ensuite nous avons
présenté le contexte et l’objectif du futur système et nous avons fini par une
présentation de la méthodologie et le modèle de conception adopté.
9
Chapitre II : Incubation
Introduction
Dans ce chapitre nous allons présenter la phase d’incubation pour définir les besoins
fonctionnels et non fonctionnels du système et définir les acteurs, leurs rôles et leurs
interactions avec le système.
1. Analyse des Besoins
Dans cette phase nous sommes appelés à analyser les besoins et les
exigences de l’entreprise.
1.1.Besoins fonctionnels
L’application à développer sera constituée d’une partie visible par les abonnées
qui constitue le Front Office. Elle offre les fonctionnalités suivantes :
❖ Création d’un QR Code
✓ Se connecter à la plateforme ou créer un nouveau compte (en cas
d’un nouvel abonné).
✓ Choisir un type de services QR Code
✓ Remplir un formulaire et valider.
✓ L’application génère un QR Code selon les informations saisies.
❖ Consulter les statistiques de scan de QR Code
❖ Gérer les QR Codes de l’abonné :
✓ L’abonné peut effectuer des opérations sur ses QR Codes
générés tels que la modification des informations ou de design,
l’archivage et la suppression totale des QR Codes archivés.
1.2.Besoins non fonctionnels
L’application que nous allons développer doit assurer les besoins suivants :
10
Besoins de performance : l’application doit assurer une bonne performance
en termes de temps de réponse et de chargement des pages.
Besoin de sécurité : l’application doit assurer une gestion des rôles et des
droits d’accès aux informations.
Besoins d’ergonomie : au cours du développement de l’application, nous
devons prendre en considération de son ergonomie (les couleurs, la densité
d’éléments sur les écrans, l’interface utilisateur, etc.).
Besoins de maintenabilité : le système doit permettre d’effectuer la
maintenance là où il est demandé (bug, amélioration de code).
2. Spécification des Besoins
Dans cette partie, nous allons définir les acteurs, ses rôles et ses interactions
avec le système ainsi les cas d’utilisation.
2.1.Identification des acteurs
Acteurs Description
Abonné C’est un internaute qui a un
abonnement qui lui permet de créer des
QR Code selon ses besoins, les gérer et
consulter ses statistiques.
Tableau 3:Identification des acteurs
2.2.Le diagramme de cas d’utilisation initial
Le diagramme de cas d’utilisation (user case) est un ensemble de
processus métier qui permet de mettre en évidence les relations entre
les acteurs et le système étudié. Dans ce diagramme, nous allons
présenter les interactions réalisées par les différents acteurs.
11
Figure 2: Diagramme de cas d'utilisation Global
2.3.Affectation des priorités
Nom cas
d’utilisation
Global
Cas
d’utilisation
Priorité Acteurs
S’authentifier 1 Personne physique ou
morale ayant un
abonnement
S’inscrire 1 Internaute
Créer QR Code 1 Personne physique ou
morale ayant un
abonnement
Modifier
2
Archiver 2
<Include>
<Include>
Abonné
Créer desQR Code
Gérer lesQR Codes
s'inscrire
S'authentifier
12
Gérer QR Code Consulter
Statistique de
scan
2 Personne physique ou
morale ayant un
abonnement
Télécharger 2
Tableau 4:Affectation de priorité
2.4.Raffinement des cas d’Utilisation Prioritaires
Dans cette partie, nous présentons les cas d’utilisations prioritaires
suivants :
 S’authentifier
 S’inscrire
 Créer QR Code
2.4.1.Raffinement du cas d’utilisation « s’authentifier »
Chaque utilisateur de l’application doit s’authentifier pour qu’ils puissent
utiliser l’application.
Figure 3:Raffinement de Cas d"utilisation "S'authentifier"
Cas d’utilisation S’authentifier
Acteur Personne physique ou morale ayant un
abonnement
Objectif Les abonnés peuvent accéder à leurs
propres interfaces.
<Include>
<Include>
Abonné S'authentifier
Introduire login
Introduire Mot de passe
13
Pré-Condition Ayant un compte contenant ses
informations personnelles
Post Condition Accès à sa page d’accueil
Description de Scénario nominal 1. Choisir la commande « Login »
2. L’abonné saisit ces identifiants
(login/mots de passe)
3. Le système vérifiait les
informations saisies.
4. Le système autorise l’accès et
affiche sa propre interface.
Alternative 2.a. Identifiant incorrect
Tableau 5:Description Textuelle du cas d'utilisation "sauthentifier"
2.4.2.Raffinement du cas d’utilisation « s’inscrire »
Chaque Internaute doit s’inscrire pour qu’il bénéficie des services de
l’application.
Figure 4: Raffine de cas d'utilisation "s'inscrire"
Cas d’utilisation S’inscrire
Acteur Internaute
Objectif Avoir un abonnement pour accéder et
bénéficier des services de l’application
selon le type d’abonnement.
Pré-Condition Non-inscrit
Post Condition Un nouveau compte est ajouté et
l’utilisateur accède à sa propre interface.
Description de Scénario nominal 1. Choisir la commande
« Register »
2. Introduire ces informations
personnelles.
3. Le système vérifie les
informations saisies
4. Le système confirme
l’abonnement et envoie un mail
de validation.
5. Le nouvel abonné consule sa
boite email et valide son compte.
6. Le système vérifie le lien de
validation et affiche la page
d’accueil de l’abonné.
Alternative 3.a.1. Compte déjà existe.
<Include>
Abonné
S'inscrire Introduire cesinformationspersonnelles
14
3.a.2. Adresse mail déjà utilisée.
3.a.3. Champ erroné.
6.a. erreur de validation du compte.
Tableau 6:Description Textuelle du cas d'utilisation "s'inscrire"
2.4.3.Raffinement du cas d’utilisation « Créer QrCode »
Un abonné peut créer un ou plusieurs QR Code de même ou de différents
types.
Figure 5: Raffinement de cas d'utilisation "créer QR Code"
Cas d’utilisation Créer QR Code
Acteur Personne physique ou morale ayant un
abonnement.
Objectif Générer des QR Code personnalisés en
termes de design et des informations
saisies
Pré-Condition Ayant un abonnement
Post Condition Un QR Code crée
Description de scénario nominal 1. Choisir la rubrique « Créer »
2. Choisir type de QR Code à créer
(vCard, Social Media, Link, SMS,
mail, texte, app, file).
3. Remplir un formulaire et valider
4. Le système vérifie les
informations saisies et valide.
Alternative 4.a. Les informations saisies erronées.
Tableau 7:Description textuelle du cas d'utilisation "créer QR Code"
3. Analyse
La phase d’analyse permet de définir l’architecture du système ainsi qu’analyser les
cas d’utilisation. Nous allons, dans ce qui suit, présenter la traçabilité entre le modèle
de cas d’utilisation et le modèle d’analyse, nous allons aussi présenter le diagramme
de classes d’analyse et le diagramme de collaboration pour chaque cas d’utilisation.
3.1.Analyse de cas d’utilisation « S’authentifier »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Abonné
Créer QR Code S'authentifier
15
Figure 6:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'tilisation "S'authentifier"
Diagramme de Classe d’Analyse :
Figure 7:Diagramme de Calsse d'analyse du cas d'utilisation"s'authentifier"
S'authentifier
s'authentifier
Interface S'authentifier Gestionnaire s'authentifier users
<participate><participante>
<Participante>
<<Trace>>
Interface s'authentifier Gestionnaire s'authentifier users
Abonné
16
Diagramme de collaboration
Figure 8:: Diagramme de collaboration du cas d’utilisation « S’authentifier »
Description du Diagramme de collaboration
 L’abonné introduit son identifiant et son mot de passe (1).
 Le système envoie les données saisies (2)
 Le système vérifie la validité des données saisie en consultant l’entité users (3).
 Le Système valide et autorise l’accès à l’interface personnelle de l’internaute (4).
Interface s'inscrire Gestionnaire s'inscrire
users
1: Saisie (identifiant, mot de passe) 2: envoyer les informations saisies
3: vérifier les identifiants saisies
4:affichage de l'interface personnelle
Abonné
17
3.2.Analyse de cas d’utilisation « S’inscrire »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Figure 9:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « s’inscrire »
Diagramme de Classe d’Analyse :
Figure 10: Diagramme de classe d'analyse du cas d'utilisation « s’inscrire »
S'inscrire
s'inscrire
Interface S'inscrire
Gestionnaire s'inscrire users
<participate><participate>
<Participate>
<<Trace>>
Interface s'inscrire
Gestionnaire s'inscrire users
Internaute
18
Diagramme de collaboration
Figure 11: Diagramme de collaboration du cas d’utilisation « S’inscrire »
Description du diagramme de collaboration
 L’internaute remplit le formulaire d’inscription (1).
 Le système envoie les informations saisies (2).
 Le système vérifie la validité des données saisie et envoie un mail de
confirmation d’abonnement au nouvel abonné (3).
 Le système demande la validation du compte (4)
 Le nouvel abonné consulte sa boite email et valide son inscription (5).
 Le système envoie la demande de confirmation d’abonnement, valide
l’inscription (6,7).
 Le système affiche l’interface personnelle du nouvel abonné (8).
Interface s'inscrire Gestionnaire s'inscrire
users
1: Remplir les champs du formulaire
2: envoyer les informations saisies
3: vérifier les données saisies
et envoie d'email de
validation
4:demande de validation du compte
5: consulte sa boite email et valide son
inscription
6: Envoie de la demande de validation
7: validation d'inscription
8:affichage de l'interface personnelle
internaute
19
3.3.Analyse de cas d’utilisation « Créer QR Code »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Figure 12:: Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « Créer QR Code »
Diagramme de Classe d’Analyse :
Figure 13: Diagramme de classe d'analyse du cas d'utilisation « Créer QR Code »
Créer QR Code
Créer QR Code
Interface Créer QR Code
Gestionnaire Créer QR Code
<participate>
<Participate>
<<Trace>>
qrcode
<participate>
Interface Créer QR Code Gestionnaire Créer QR Code
Abonné
qrcode
20
Diagramme de collaboration
Figure 14: Diagramme de Collaboration « Créer QR Code »
Description du Diagramme de Collaboration
 L’abonné choisit le type de QR Code dans la rebique « Create QR Code » (1,2).
 L’abonné remplit le formulaire affiché (3)
 Le système vérifie les données saisies et valides (4,5)
 Le système affiche la liste des QR Code. (6)
Conclusion
Dans ce chapitre, nous avons présenté les différents besoins (fonctionnels et non
fonctionnels) et déterminé les utilisateurs de notre futur système. Nous avons aussi
réalisé une analyse complète et détaillée des cas d’utilisations prioritaires. Cette étude
nous a permis d’avoir une idée générale sur les fonctionnalités offertes par notre
système.
Interface Créer QR Code Gestionnaire Créer QR Code
1:Choisir créer qr code
4: envoyer les informations
2: choisir un type de qr code
3: Remplir le formulaire afficher
5:Ajout de qrCode
6:Affichage de liste de
qr code
Abonné
qrcode
21
Chapitre III : Élaboration
Introduction
Cette phase est la phase la plus importante dans le cycle de développements conçu
pour notre application.
Durant cette phase, nous allons commencer par dégager et analyser les cas
d’utilisations secondaires. Ensuite, nous allons présenter un modèle de conception
pour les cas d’utilisation prioritaires.
1. Raffinement des Cas d’Utilisation Secondaires
Dans cette section, nous allons raffiner les cas d’utilisations suivants :
Gérer QR Code :
• Modifier
• Archiver
• Télécharger
• Consulter Statistique
1.1.Raffinement du cas d’utilisation « Gérer QR Code »
Un abonné peut gérer sa liste de QR Code (modification, archivage,
téléchargement ou consultation des statistiques de scan.
22
Figure 15: Raffinement de cas d’utilisation « Gérer QR Code »
Raffinement du cas d’utilisation « Gérer QR Code : Modifier »
Cas d’utilisation Modifier contenu
Acteur Personne physique ou morale ayant un
abonnement.
Objectif Modifier le contenu du QR Code.
Pré-Condition Un ou plusieurs QR code est enregistré
dans la liste de QR Code de l’abonné
Post Condition Un QR Code est modifié
Description Scénario Nominal 1. Choisir le menu « Manage »
2. Le système affiche la liste des
QR Code de l’abonné
3. Choisir un QR code à modifier
4. Choisir la sous-commande
« edit » ou « design » pour
modifier le design.
5. Effectuer les modifications
souhaitées.
6. Valider les modifications.
7. Le système vérifie la validité des
informations saisies.
Alternative 2.a. Liste de QR Code vide
7.a. Les informations saisies non valides
Tableau 8:Raffinement du cas d’utilisation « Gérer QR Code : Modifier »
Raffinement du cas d’utilisation « Gérer QR Code : Archiver »
Abonné
Gérer les QR Code
Modifier
Archiver
Consulter Statistique
Télécharer
23
Cas d’utilisation Archiver QR Code
Acteur Personne physique ou morale ayant un
abonnement.
Objectif Modifier le contenu ou le design du QR
Code.
Pré-Condition Un ou plusieurs QR code est enregistré
dans la liste de QR Code de l’abonné
Post Condition Un QR Code est archivé
Description Scénario Nominal 1. Choisir la rubrique « manage »
2. Sélectionner un QR Code
3. Le système affiche la liste des
QR Code de l’abonné
4. Choisir la sous-commande
Archiver.
5. Valider l’opération d’archivage
6. Le système recharge la liste des
QR Codes en supprimant le QR
Code archivé.
Alternative 3.a. Liste de QR Code vide
Tableau 9: Description textuelle du cas d’utilisation « Archiver QR Code »
Raffinement du cas d’utilisation « Gérer QR Code : télécharger »
Cas d’utilisation Télécharger
Acteur Personne physique ou morale ayant un
abonnement.
Objectif Téléchargement d’un QR Code.
Pré-Condition Un ou plusieurs QR code est enregistré
dans la liste de QR Code de l’abonné
Post Condition Un QR Code est téléchargé
Description Scénario Nominal 1. Choisir le menu « Manage »
2. Le système affiche la liste des QR
Code de l’abonné
3. Choisir la commande
« Download ».
4. Le système affiche un pop-up
contenant un formulaire.
5. Choisir le type et la taille d’image et
le niveau de correction du QR
Code.
6. Le système autorise le
téléchargement du fichier.
Alternative 2.1. Liste de QR Code vide
6.a. Fichier volumineux ne peut pas être
téléchargé.
6.b. Échec de téléchargement.
Tableau 10: Description textuelle du cas d’utilisation « Télécharger QR Code »
24
Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste Statistique
»
Cas d’utilisation Consulter statistique de scan
Acteur Personne physique ou morale ayant un
abonnement.
Objectif Consulter statistique de scan d’un QR
Code.
Pré-Condition Un ou plusieurs QR code est enregistré
dans la liste de QR Code de l’abonné
Post Condition La consultation des statistiques de scan est
effectuée.
Description Scénario Nominal 1. Choisir le menu « Manage »
2. Le système affiche la liste des QR Code
de l’abonné
3. Choisir la sous-commande «statistics».
4. Le système affiche le nombre de scan
ainsi que le nombre des appareils qui
ont scanné le QR Code.
Alternative 2.a. Liste des QR Codes vides
Tableau 11:Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste Statistique »
2. Analyse des cas d’utilisation Secondaire
Nous allons établir une analyse détaillée des cas d’utilisation non prioritaires pour mieux
les comprendre et concourir à une architecture plus stable en présentant la traçabilité entre
le modèle de cas d’utilisation et le modèle d’analyse, les diagrammes de classes d’analyse
et les diagrammes de collaboration.
2.1.Analyse du cas d’utilisation « Gérer QR Code »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
25
Figure 16 : Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse
Modifier QR Code
Modifier QR Code
Interface Gérer QR Code
Gestionnaire Gérer QR Code
<participate>
<Participate>
<<Trace>>
qrcode
<participate>
26
Diagramme de classe d’Analyse :
Figure 17:Diagramme de classe d'analyse « Modifier"
Diagramme de Collaboration
Figure 18 : Diagramme de collaboration du cas d’utilisation « Modifier »
Interface Gérer QR Code Gestionnaire Gérer QR Code
Abonné
qrcode
Interface Gérer QR Code Gestionnaire Gérer QR Code
1:Choisir Gérer qr code
4: envoyer la demande
2: choisir un qr code
8: Remplir le formulaire afficher
5:vérifie le qr code à
charger
7:Affichage du Formulaire de
modification
3: choisir edit ou design
6: recharge le QR Code
souhaiter
9: envoie des informations
saisies
10: vérifie des données
saisies et valide
11: affichage
de liste des
QR Codes
Abonné
qrcode
27
Description de diagramme de collaboration
 L’abonné choisie un QR Code et sélectionne édit (modifier contenu) ou design
(modifier design) (1,2,3).
 Le système reçoit la demande et affiche un formulaire de modification (4,5,6,7).
 L’abonné modifie les données et valide (8).
 Le système envoie les données, les vérifier et valide (9,10).
 Le système affiche la liste de QR Code (11).
Analyse du cas d’utilisation « Archiver »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Figure 19 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « Archiver QR Code »
Archiver QR Code
Archiver QR Code
Interface Gérer QR Code
Gestionnaire Gérer QR Code
<participate>
<Participate>
<<Trace>>
qrcode
<participate>
28
Diagramme de classe d’Analyse :
Figure 20 : Diagramme de classe d’analyse du cas d’utilisation « Archiver »
Diagramme de collaboration
Figure 21 : Diagramme de collaboration du cas d’utilisation « Archiver »
Interface Gérer QR Code Gestionnaire Gérer QR Code
Abonné
qrcode
Interface Gérer QR Code Gestionnaire Gérer QR Code
1:Choisir Gérer qr code
4: envoyer la demande
2: choisir un qr code
5:archiver qr code
6:Affichage de la listedes QR codes
3: choisir 'Archive'
Abonné
qrcode
29
Description du diagramme de collaboration
 L’abonné choisit un QR Code dans la liste et sélectionne le sous menu « archive »
(1,2,3).
 Le système envoie la demande et sauvegarde le QR code dans l’archive (4,5).
 Le système affiche la liste de QR code (6).
Analyse du cas d’utilisation « télécharger »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Figure 22 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « Télécharger QR Code »
Télécharger QR Code
Télécharger QR Code
Interface Gérer QR Code
Gestionnaire Gérer QR Code
<participate>
<Participate>
<<Trace>>
qrcode
<participate>
30
Diagramme de classe d’Analyse
Figure 23 : Diagramme de Classe d’analyse du cas d’utilisation « télécharger »
Interface Gérer QR Code Gestionnaire Gérer QR Code
Abonné
qrcode
31
Diagramme de collaboration
Figure 24 : Diagramme de collaboration du cas d’utilisation « télécharger »
Description De diagramme de collaboration
 L’abonné choisit un QR Code dans la liste et sélectionne « Download »
(1,2,3).
 Le système envoie la demande et vérifie l’id du Qr Code à télécharger (4,5).
 Le système affiche un formulaire dans un pop-up (6)
 L’abonné spécifie de format, taille d'image et le niveau de correction d'erreur
du QR Code (7).
 Le système envoie la demande et télécharge le QR Code (8,9).
Analyse du cas d’utilisation « statistique de scan »
Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
Interface Gérer QR Code Gestionnaire Gérer QR Code
1:Choisir Gérer qr code
4: envoyer la demande
2: choisir un qr code
5:Vérification de l'id
du QR Code
6:Affichage d'un formulaire
3: choisir 'Download'
7: remplir le formulaire
8: envoyer demande
9: télécharger QR Code
Abonné
qrcode
32
Figure 25 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas
d'utilisation « consulter statistique de scan de QR Code »
Consulter statistique de scan
Consulter statistique de scan
Interface Gérer QR Code
Gestionnaire Gérer QR Code
<participate>
<Participate>
<<Trace>>
qrcode
<participate>
scans
<participate>
33
de classe d’Analyse
Figure 26 : Diagramme de classe d’analyse du cas d’utilisation « Consulter Statique de scan
de QR Code »
Diagramme de collaboration
Figure 27 : Diagramme de collaboration du cas d’utilisation « consulter
statistique de Scan »
Interface Gérer QR Code Gestionnaire Gérer QR Code
Abonné
qrcodeScan
Interface Gérer QR Code
Gestionnaire Gérer QR Code
1:Choisir Gérer qr code
4: envoyer la demande
2: choisir un qr code
7:Affichage de nombre de scan et
nombre d'apareil
3: choisir 'statiscs'
6: Rechager les données
Abonné
qrcode
5:vérifier la requete
scans
34
Description de diagramme de collaboration :
 L’abonné choisit un QR Code dans la liste et sélectionne « statistics » (1,2,3).
 Le système envoie la demande et vérifie la requête dans les entités Scans et
qrcode (4,5)
 Le système affiche le nombre de scan et le nombre d’appareil qui ont scanné le
QR code (7).
3. Conception des cas d’utilisation prioritaires
Dans cette partie, nous allons illustrer la traçabilité entre le modèle d’analyse et le modèle
de conception, le diagramme de classes du modèle de conception ainsi que le diagramme
de séquence du modèle de conception.
Modèle de conception du cas d’utilisation « S’authentifier »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 28 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « S’authentifier »
<<boundary>>
Interface S'authentifier <<entity>>
users
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire s'authentifier
Interface S'authentifier Gestonnaire s'authentifier users
35
Diagramme de classe de Conception
Figure 29 : Diagramme de classe de conception « S’authentifier »
Diagramme de Séquence détaillé du cas d’utilisation « S’authentifier »
Figure 30 : Diagramme Séquence détaillé du cas d’utilisation « S’authentifier »
<<boundary>>
Interface S'authentifier <<entity>>
users
<<control>>
Gestionnaire s'authentifier
S'authentifier
Envoie de Requete
Envoie desdonnées
Resaisir sesidentifiants
Affichage de la page d'accueil
Saisie Incorrecte
Réponse
Vérification desdonnées
Envoie de Requete
Envoie desdonnées
Saisir sesidentifiants
Abonné :Interface S'authentifier :Gestionnaire S'authentifier :users
[Non Valide]
[Valide]
alt
36
Modèle de conception du cas d’utilisation « S’inscrire »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 31 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « S’inscrire »
Diagramme de classe de Conception
Figure 32 : Diagramme de classe de conception « S’inscrire »
<<boundary>>
Interface s'inscrire
<<entity>>
users
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire s'inscrire
Interface s'inscrire Gestionnaire s'inscrire users
<<boundary>>
Interface S'inscrire <<entity>>
users
<<control>>
Gestionnaire s'inscrire
37
Diagramme de Séquence détaillé du cas d’utilisation « s’inscrire »
Figure 33 : Diagramme Séquence détaillé du cas d’utilisation « S’inscrire »
S'inscrire
envoie des données
reponse
vérification
confirmation non effectuer
remplir le formulaire
affichage du formulaire d'inscription
remplir le formulaire
confirme l'inscription et affiche la page d'accueil
envoie de requete
envoie de la demande
vérification du mail et confirmation d'inscription
Vérification des données
champs erroné
Envoie de Requete
Vérification de validité des champs
validation d'inscription et deamande de confirmation du compte envoyer par mail
Envoie de Requete
Saisie Incorrecte
Réponse
Envoie des données
choisir le Menu "Register"
Envoyer la demande
Internaute :Interface S'inscrire :Gestionnaire S'inscrire :users
[Non Valide]
[Valide]
alt
[Non Valide]
[valide]
alt
[ok]
[Nok]
alt
38
Modèle de conception du cas d’utilisation « Créer QR Code »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 34 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « Créer QR Code »
Diagramme de classe de Conception
Figure 35 : Diagramme de classe de conception « Créer QR Code »
<<boundary>>
Interface Créer QR Code
<<entity>>
qrcode
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire créer QR Code
Interface créer QR Code Gestionnaire créer QR Code qrcode
<<entity>>
users
<<Trace>>
users
<<boundary>>
InterfaceCréerQRCode
<<entity>>
qrcode
<<control>>
GestionnairecréerQRCode
<<entity>>
users
39
Diagramme de séquence détaillé du cas d’utilisation « Créer QR Code »
Figure 36 : Diagramme Séquence détaillé du cas d’utilisation
« Créer QR Code »
Conclusion
Dans ce chapitre, nous avons réussi à dégager et analyser les besoins fonctionnels
restants. Nous avons réalisé aussi la conception des cas d’utilisations prioritaires.
Créer QR Code
QR Code généré et affichage de liste de QR Code de l'abonné
Envoie de Requete
QR Code n'est pasEnregistré
Envoie desdonnées
Remplir le formulaire
Réponse
Vérification desdonnées
Champserroné
Envoie de requete
Vérification de validité deschamps
Envoie de données
Remplire le formulaire
Affichage du formulaire selon type choisie
Choisir un type de QR Code
Choisir le Menu "Create QR Code
Envoie de Demande
Abonné :Interface Créer QR Code :Gestionnaire QR Code qrcode
ref
S'authentifier()
[Non Valide]
[Valide]
alt
40
Chapitre IV : Construction
Introduction
La phase de construction est la quatrième phase du processus unifié. Elle vise à
Transformer l’architecture de référence en produit complet. Durant cette phase, nous
allons continuer à présenter le modèle de conception des cas d’utilisation secondaire
ainsi que la Conception de la base de données.
1. Conception des cas d’utilisation secondaire
Modèle de conception du cas d’utilisation « Gérer QR Code »
Modèle de conception du cas d’utilisation « Modifier QR Code »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 37 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « Modifier QR Code »
<<boundary>>
Interface Gérer QR Code
<<entity>>
qrcode
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire Gérer QR Code
Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode
41
Diagramme de classe de Conception
Figure 38 : Diagramme de classe de conception « Modifier QR Code »
Diagramme de séquence détaillé du cas d’utilisation « Modifier QR Code
»
Figure 39 : Diagramme Séquence détaillé du cas d’utilisation
« Modifier QR Code »
<<boundary>>
Interface Gérer QR Code
<<entity>>
qrcode
<<control>>
Gestionnaire Gérer QR Code
Modifier
Ecrasé et remplir leschampsà modifier
Envoie de Demande
Choisir le Menu "Manage"
Affichage de liste des Qr Codes
Choisir un QR Code
Affichage d'un formulaire rempli
choisir le sousmenu "Design"
Envoie de données
Vérification de validité deschamps
Envoie de requete
Champserroné
Vérification desdonnées
Réponse
Remplir le formulaire
Envoie desdonnées
Modification n'est pasenregister
Envoie de Requete
QR Code modifier et affichage de liste de QR Code de l'abonné
Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode
ref
S'authentifier()
[Non Valide]
[Valide]
alt
42
Modèle de conception du cas d’utilisation « Archiver QR Code »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 40 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « Archiver QR Code »
Diagramme de classe de Conception
Figure 41 : Diagramme de classe de conception « Archiver QR Code »
<<boundary>>
Interface Gérer QR Code
<<entity>>
qrcode
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire Gérer QR Code
Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode
<<boundary>>
Interface GérerQRCode
<<entity>>
qrcode
<<control>>
Gestionnaire Gérer QRCode
43
Diagramme de séquence détaillé du cas d’utilisation « Archiver QR Code
»
Figure 42 : Diagramme Séquence détaillé du cas d’utilisation
« Archiver QR Code »
Archiver
Affichage de liste de QR Code
QR Code archivé et recharge la liste de QR Code
Envoie de requete
envoie desdonnées
Annuler Archivage
Envoie de requete
Envoie de données
Confirme l'archivage
choisir le sousmenu "archive"
demande de spécification d'emplacement d'enregistrement
Choisir un QR Code
Affichage de liste des Qr Codes
Choisir le Menu "Manage"
Envoie de Demande
Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode
ref
S'authentifier()
[OK]
[NOK]
alt
44
Modèle de conception du cas d’utilisation « Télécharger QR Code »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 43 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « Télécharger QR Code »
Diagramme de classe de Conception
Figure 44 : Diagramme de classe de conception « Télécharger QR Code »
<<boundary>>
Interface Gérer QR Code
<<entity>>
qrcode
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire Gérer QR Code
Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode
<<boundary>>
Interface GérerQR Code
<<entity>>
qrcode
<<control>>
Gestionnaire Gérer QR Code
45
Diagramme de séquence détaillé du cas d’utilisation « télécharger QR
Code »
Figure 45 : Diagramme Séquence détaillé du cas d’utilisation
« Télécharger QR Code »
Télécharger
Réponse
Vérification
Affiche liste de Qr code
Envoie de Demande
Choisir le Menu "Manage"
Affichage de liste des Qr Codes
Choisir un QR Code
Affiche un formulaire dans un pop-up
choisir le sous menu "download"
Remplir le formulaire
Envoie de données
Envoie de requete
Annule le téléchargement
envoie des données
Envoie de requete
téléchargement du QR code
Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode
ref
S'authentifier()
[OK]
[NOK]
alt
46
Modèle de conception du cas d’utilisation « Consulter Statistique de
scan de QR Code »
Traçabilité entre le modèle d’analyse et le modèle de conception
Figure 46 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du
cas d’utilisation « Consulter Statistique de scan du QR Code »
Diagramme de classe de Conception
Figure 467: Diagramme de classe de conception « Consulter Statistique de scan du QR
Code »
Diagramme de séquence détaillé du cas d’utilisation « consulter
statistique de scan de QR Code »
<<boundary>>
Interface GérerQRCode
<<entity>>
qrcode
<<Trace>>
<<Trace>><<trace>>
<<control>>
Gestionnaire Gérer QRCode
Interface GérerQRCode Gestionnaire GérerQRCode qrcode
<<entity>>
scans
<<Trace>>
scans
<<boundary>>
Interface GérerQRCode
<<entity>>
qrcode
<<control>>
Gestionnaire Gérer QRCode
<<entity>>
scans
47
Figure 48 : Diagramme Séquence détaillé du cas d’utilisation
« Consulter Statistique de scan du QR Code »
2. Conception de la base de données
Dans cette section, nous allons partir d’une description des classes entités des objets
dégagés puis nous allons présenter le diagramme de classes et nous finirons par la
présentation de script de la création de la base de données.
Consulter Statistique de Scan
Envoie de requete
Envoie de requete
Envoie de demande
Affichage de nombre de scan du QR Code ainsi le nombre d'appareil qui ont scanné le QR Code
choisir le sousmenu "Statistics"
Choisir un QR Code
Affichage de liste des Qr Codes
Choisir le Menu "Manage"
Envoie de Demande
Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code Scansqrcode
ref
S'authentifier()
48
2.1.Description des classes des entités
Dans cette partie, nous allons décrire les classes des entités qui sont déterminées à
partir de la conception des cas d’utilisation.
 Description de la classe entités « users »
users
Attribut Libellé Type
User_id Identifiant de l’utilisateur Entier
firstname Nom de l’utilisateur Chaine de caractère
Lastname Prénom de l’utilisateur Chaine de caractère
Email Email de l’utilisateur Chaine de caractère
Password Mot de passe de
l’utilisateur
Chaine de caractère
Phone Numéro de téléphone Chaine de caractère
Gouverment Gouvernorat de résidence
de l’utilisateur
Chaine de caractère
street Rue de résidence de
l’utilisateur
Chaine de caractère
City Cité de résidence de
l’utilisateur
Chaine de caractère
zipCode Code postal Chaine de caractère
Role Fonction de l’utilisateur Chaine de caractère
Avatar_dir Chemin de l’image
Avatar Photo de profil Chaine de caractère
enabled Statut du compte de
l’utilisateur
Chaine de caractère
Email_verified Vérification de l’email Booléen
Tableau 12 : les attributs de la table « users »
 Description de la classe entités « qrcode »
Qrcode
Attribut Libellé Type
Id Id de QR code Entier
shortUrl Forme réduite de l’url Chaine de caractère
codeColor Code du couleur Chaine de caractère
backgroundColor Couleur de background Chaine de caractère
Name Nom de QR code Chaine de caractère
Geolocation Géolocalisation de qrcode Booléen
Dynamic Défini un QR code
dynamique
Booléen
type Défini type de QR code
(app, vcard, etc.)
Chaine de caractère
Created Détermine la date de
création d’un QR code
Date
49
Modified Détermine la date de
modification d’un QR
code
Date
archived Détermine la date
d’archivage d’un QR code
Date
Draft Booléen
ScanCounter Compte le nombre de
scan
Entier
uniqueScanCounter Compte le nombre
d’appareils qui ont
effectué un scan
Entier
Tableau 13 : les attributs de la table « qrcodes »
 Description de la classe entités « apps »
Apps
Attribut Libellé Type
Qrcode_id Id du qr code Entier
logo Logo de l’application Chaine de caractère
Name Nom de l’application Chaine de caractère
Description Description de l’application Chaine de caractère
Fallback Lien de l’application Chaine de caractère
Ioslink Lien de l’application pour
téléchargement depuis un ios
Chaine de caractère
Androidlink Lien de l’application pour
téléchargement depuis un os
android
Chaine de caractère
Windowslink Lien de l’application pour
téléchargement depuis un os
windows
Chaine de caractère
blackberrylink Lien de l’application pour
téléchargement depuis un os
blackberry
Chaine de caractère
Tableau 14 : les attributs de la table « apps »
50
 Description de la classe entités « facebookpages »
facebookpages
Attribut Libellé Type
Qrcode_id Identifiant du qr code Entier
Name Nom du qr code Chaine de caractère
Type Chaine de caractère
pagelink Lien de la page facebook Chaine de caractère
Tableau 15 : les attributs de la table « facebookpages »
 Description de la classe entités « files »
files
Attribut Libellé Type
Qrcode_id Identifiant du qrcode Entier
Name Nom du fichier Chaine de caractère
File_src Chemin du Fichier image Chaine de caractère
Type Type fichier Chaine de caractère
size Taille du fichier Entier
Tableau 16 : les attributs de la table « files »
 Description de la classe entités « multilinks »
multilinks
Attribut Libellé Type
Qrcode_id Identifiant du QR code Entier
link Entier
Tableau 17 : les attributs de la table « multilinks »
 Description de la classe entités « qrcodeemail »
qrcodeemail
Attribut Libellé Type
qrcode_id Identifiant du QR code Entier
sender Indique l’émetteur d’un
email
Chaine de caractère
Reciver Indique le récepteur d’un
email
Chaine de caractère
Subject Indique l’objet d’un email Chaine de caractère
Header Indique l’entête d’un email Chaine de caractère
Body Indique le corps d’un email Chaine de caractère
Tableau 18 : les attributs de la table « qrcodeemail »
51
 Description de la classe entités « qrcodesms »
qrcodesms
Attribut Libellé Type
qrcode_id Identifiant du QR code Entier
Phone Numéro de téléphone Chaine de caractère
Message Message à envoyer Chaine de caractère
Tableau 19 : les attributs de la table « qrcodesms »
 Description de la classe entités « Scans »
scans
Attribut Libellé Type
id Identifiant du scan Entier
ipAdress Indique l’adresse ip de
l’appareil qui a effectué le
scan
Chaine de caractère
browser Indique le navigateur
utiliser
Chaine de caractère
counter Indique l’objet d’un email Entier
uniqueUserId Indique l’id d’internaute Chaine de caractère
Qrcode_id Identifiant du qr code Entier
Tableau 20 : les attributs de la table « scan »
 Description de la classe entités « qrcodetext »
qrcodetext
Attribut Libellé Type
qrcode_id Identifiant du QR code Entier
body Le corps du texte Chaine de caractère
Tableau 21 : les attributs de la table « qrcodetext »
 Description de la classe entités « vcard »
vcard
Attribut Libellé Type
qrcode_id Identifiant du QR code Entier
headerColor Couleur de l’émulateur de vcard Chaine de caractère
headerImage Image de l’émulateur de vcard Chaine de caractère
buttonColor Couleur de l’émulateur de vcard Chaine de caractère
avatarImage Image de l’émulateur de vcard Chaine de caractère
firstname Nom à enregistrer dans la carte
visite
Chaine de caractère
lastname Prénom à enregistrer dans la carte
visite
Chaine de caractère
Company Société à enregistrer dans la carte
visite
Chaine de caractère
52
Job Occupation à enregistrer dans la
carte visite
Chaine de caractère
Email Email à enregistrer dans la carte
visite
Chaine de caractère
Mobile Numéro de téléphone portable à
enregistrer dans la carte visite
Chaine de caractère
Phone Numéro de téléphone à enregistrer
dans la carte visite
Chaine de caractère
Fax Numéro de fax à enregistrer dans la
carte visite
Chaine de caractère
street Rue de résidence à enregistrer dans
la carte visite
Chaine de caractère
City Cité de résidence à enregistrer dans
la carte visite
Chaine de caractère
Zip Code postal à enregistrer dans la
carte visite
Chaine de caractère
Country Pays à enregistrer dans la carte
visite
Chaine de caractère
Website Site web à enregistrer dans la carte
visite
Chaine de caractère
About Description de l’entreprise ou la
personne qui crée un vcard
Chaine de caractère
Tableau 22 : les attributs de la table « vcard »
53
2.2.Diagramme de classes
Figure 49 : Diagramme de classe
2.3.Script de création de la base de données
CREATE TABLE `users` (`user_id` int(11) NOT NULL, `firstname` varchar(255)
NOT NULL, `lastname` varchar(255) NOT NULL,`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL, `phone` int(11) DEFAULT NULL,
`gouverment` varchar(255) DEFAULT NULL,`street` varchar(255) DEFAULT NULL,
`city` varchar(255) DEFAULT NULL, `zipCode` int(11) DEFAULT NULL,
`avatar_dir` varchar(255) DEFAULT NULL, `avatar` varchar(255) DEFAULT NULL,
`enabled` tinyint(1) DEFAULT '1', `email_verified` tinyint(1) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
Gérer
1..n
1
Créer
1 1..n
QrCode
-
-
-
-
-
-
-
-
-
-
-
id
shortURL
codeColor
Geolocalisation
dynamic
created
modified
archived
backgroundColor
name
type
: int
: char
: char
: boolean
: boolean
: Date
: Date
: Date
: char
: char
: char
+
+
Créer QrCode ()
Gérer QrCode ()
...
: void
: void
QrCodeSocialMedia
-
-
-
-
QrCode_id
PageName
Type
Link
: int
: char
: char
: URL
QrCodeEmail
-
-
-
QrCode_id
Header
Body
: int
: char
: char
QrCodevCard
-
-
-
-
-
-
-
-
-
-
-
-
QrCode_id
FirstName
LastName
CurrentPosition
email
Phone
Fax
Street
City
Country
Website
About
: int
: char
: char
: char
: char
: int
: int
: char
: char
: char
: char
: char
QrCodeLink
-
-
QrCode_id
Link
: int
: char
QrCodeSMS
-
-
-
QrCode_id
phone
msg
: int
: int
: char
QrCodeText
-
-
QrCode_id
BodyText
: int
: char
QrCodeApp
-
-
-
-
-
-
-
-
-
QrCode_id
Logo
Name
Description
IOSLink
AndroidLink
BlackBerryLink
Windows
fallback
: int
: IMG
: IMG
: char
: URL
: URL
: URL
: URL
: URL
QrCodeFile
-
-
-
-
-
QrCode_id
name
file_src
type
size
: int
: char
: char
: int
: char
vLink
-
-
-
-
-
QrCode_id
CoverColor
Logo
Description
AutoRedirect
: int
: char
: IMG
: char
: Boolean
vText
-
-
-
-
QrCode_id
HeaderColor
HeaderText
BodyColor
: int
: char
: char
: char
vCard
-
-
-
-
-
-
-
-
QrCode_id
CoverIMG
ProfilIMG
fbLink
tweetter
Google
Instagram
LinkedIn
: int
: IMG
: IMG
: URL
: URL
: URL
: URL
: URl
User
-
-
-
-
-
-
-
-
-
-
Person_id
firstname
lastname
password
phone
gouverment
street
city
zipcode
avatar
: int
: char
: char
: char
: char
: char
: char
: char
: char
: IMG
+
+
s'inscrire ()
S'authentifier ()
...
: void
: void
54
CREATE TABLE `qrcodes` (`id` int(11) NOT NULL,`shortUrl` varchar(20) NOT NULL,
`codeColor` varchar(7) DEFAULT '#000000',
`backgroundColor` varchar(7) DEFAULT '#ffffff', `name` varchar(25) DEFAULT NULL,
`geolocation` tinyint(1) NOT NULL DEFAULT '0',
`dynamic` tinyint(1) NOT NULL DEFAULT '0', `type` varchar(20) DEFAULT NULL,
`created` timestamp NOT NULL, `modified` timestamp NOT NULL,
`archived` tinyint(1) NOT NULL DEFAULT '0',`draft` tinyint(1) NOT NULL DEFAULT
'1',
`scanCounter` int(11) NOT NULL DEFAULT '0', `uniqueScanCounter` int(11) NOT
NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `apps` (`qrcode_id` int(11) NOT NULL,
`logo` varchar(255) DEFAULT NULL, `name` varchar(50) NOT NULL,
`description` varchar(255) DEFAULT NULL, `fallback` varchar(255) NOT NULL,
`ioslink` varchar(255) DEFAULT NULL, `androidlink` varchar(255) DEFAULT NULL,
`windowslink` varchar(255) DEFAULT NULL,`blackberrylink` varchar(255) DEFAULT
NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `facebookpages` ( `qrcode_id` int(11) NOT NULL,
`name` varchar(25) DEFAULT NULL, `type` varchar(15) DEFAULT NULL,
`pagelink` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `files` ( `qrcode_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL, `file_src` varchar(255) NOT NULL,
`type` varchar(50) NOT NULL, `size` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `multilinks` (
`qrcode_id` int(11) NOT NULL,
55
`link` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `qrcodeemail` (`qrcode_id` int(11) NOT NULL,
`sender` varchar(150) NOT NULL,`reciver` varchar(150) NOT NULL,
`subject` varchar(150) NOT NULL, `header` varchar(150) NOT NULL,
`body` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `qrcodesms` (`qrcode_id` int(11) NOT NULL,
`phone` varchar(15) NOT NULL,`message` varchar(160) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `qrcodetext` (`qrcode_id` int(11) NOT NULL, `body` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `vcards` ( `qrcode_id` int(11) NOT NULL,
`headerColor` varchar(7) DEFAULT NULL, `headerImage` varchar(255) DEFAULT
NULL, `buttonColor` varchar(7) DEFAULT NULL,
`avatarImage` varchar(255) DEFAULT NULL, `firstname` varchar(20) DEFAULT
NULL, `lastname` varchar(20) DEFAULT NULL,
`company` varchar(20) DEFAULT NULL, `job` varchar(30) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,`mobile` varchar(20) DEFAULT NULL,
`phone` varchar(25) DEFAULT NULL, `fax` varchar(25) DEFAULT NULL,
`street` varchar(255) DEFAULT NULL, `city` varchar(25) DEFAULT NULL,
`zip` int(5) DEFAULT NULL,`country` varchar(30) DEFAULT NULL,
`website` varchar(150) DEFAULT NULL,`about` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `websites` (`qrcode_id` int(11) NOT NULL,
`name` varchar(30) DEFAULT NULL,`link` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
56
CREATE TABLE `scans` (`id` bigint(20) NOT NULL,
`os` varchar(20) DEFAULT NULL,`browser` varchar(20) DEFAULT NULL,
`ipAdress` varchar(45) NOT NULL, `uniqueUserId` varchar(255) NOT NULL,
`counter` int(11) NOT NULL DEFAULT '0', `qrcode_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Conclusion
Dans ce chapitre, nous avons réussi à réaliser une conception complète et détaillée
des cas d’utilisation non prioritaire, du diagramme de classes qui nous a permis de
générer et présenter le script de base de données.
Dans ce qui suit, nous allons présenter la dernière phase du processus unifié qui
consiste à connaitre l’environnement matériel et logiciel, ainsi que l’architecture
adoptée contribuant à la réalisation du projet.
57
Chapitre VI : Transition
Introduction
Après avoir achevé la phase de construction, nous allons entamer dans la partie
transition dans laquelle on doit s’assurer que l’application soit prête à être livrée et
utiliser.
On se préoccupera ainsi, de l’exploitation de l’environnement logiciel de l’application,
par la suite nous allons faire une démonstration de quelques interfaces.
1. Environnement de travail
Pour mettre en œuvre une application complète et prête à être exploité par les
utilisateurs finaux, il existe de nombreuses technologies et solution techniques. Voici
quelques-unes que nous avons utilisées pour cette fin.
1.1.Environnement matériel
HP Pavillon G6
➢ Processeur : i3-2370M 2.40 GHz
➢ Disque Dur : 500 GO
➢ RAM : 4 GO
➢ Système d’exploitation : Windows10
Tableau 23 : Environnement Matérielle
58
1.2.Environnement Logiciels
Outils de Conception
PowerAMC
PowerAMC est un logiciel de modélisation. Il
permet de modéliser les traitements
informatiques et leurs bases de données
associées. Créé par SDP sous le nom
AMC*Designor, racheté par Powersoft, ce logiciel
est produit par Sybase depuis le rachat par cet
éditeur en 1995. [3]
PowerAMC permet de réaliser tous les types de
modèles informatiques. [3]
Tableau 23 : Outils de Conception
Outils de développement
Outils de Développement
PHP Storm : est un environnement de développement
(IDE pour integrated development environment) conçu
pour PHP, développé par la société JetBrains s.r.o.
depuis 2009. Écrit en Java, il permet d'éditer du code
en PHP, en HTML et en JavaScript. [4]
MySQL est un système de gestion de base de données
relationnelle (SGBDR) open source basé sur SQL
(Structured Query Language). [5]
MySQL fonctionne sur presque toutes les
plateformes et tout type d’application. Il s’agit d’un
SGBDR le plus connu et utilisés. [5]
Tableau 24 : Outils de développement
59
Langage de programmation
PHP
PHP est un langage interprété qui a été conçu dès son
origine pour le Web. Il est aujourd’hui devenu le leadeur
incontesté dans ce domaine. Plus de 9 millions de sites
l’ont aujourd’hui choisi comme plateforme de
développement web.[6]
Tableau 25 : Langage de programmation
Framework
CaKePhp
CakePhp est un Framework de développement
rapide pour PHP, gratuit, et open source. C’est
un ensemble de briques élémentaires pour les
programmeurs qui créent des applications
web. Notre objectif principal est de vous
permettre de travailler de manière rapide et
structurée, sans toutefois perdre en flexibilité.
[7]
AngularJs est une plateforme de développement
pour créer des applications en utilisant les standards
du web modernes. Angular comprend une foule de
caractéristiques essentielles telle que les gestures
mobiles, les animations, le filtrage, le routage, la
liaison de données, la sécurité, l'internationalisation,
et de beaux composants d'interface utilisateur. Il est
extrêmement modulaire, léger et facile à apprendre.
[8]
60
Bootstrap, c'est d'abord un Framework CSS
proposé par Twitter sous la licence apache.
C'est-à-dire que vous pouvez l'utiliser comme
vous le souhaitez, que ce soit commercial ou
non. [9]
Tableau 26 : Framework
2. Architecture
2.1.Architecture Physique
Nous avons utilisé dans notre application l’architecture 3 tiers. Dans cette
architecture, le client est constitué d’un simple navigateur internet et
communique avec le serveur. Elle est composée de trois éléments ou trois
couches. La couche présentation ou affichage est le client « léger » dans la
mesure où il ne fait aucun traitement. [10]
La couche fonctionnelle ou métier est en général un serveur Web. Et enfin, la
couche de données est liée au serveur de base de données(SGBD). [10]
Figure 50 : Les différentes couches de l’architecture 3-tiers
La couche présentation (de premier niveau) souvent appelée IHM (Interface
Homme Machine) correspond à la partie visible et interactive. Cette partie est
réalisée pour le web en HTML en général avec JavaScript, Flash… [10]
61
La couche métier (de second niveau) correspondant à la partie fonctionnelle
de l’application. Les opérations à réaliser, les fonctions d’accès aux données et
les traitements sont mis à la disposition des utilisateurs et invoqués par leurs
requêtes. Pour fournir ces services, elle s’appuie parfois sur la couche accès
aux données et en retour renvoie à la couche présentation les résultats qu’elle
a calculés. [10]
La dernière couche (de troisième niveau) gère l’accès aux données du
système. Ces données peuvent être stockées sur le même système (fichiers,
fichiers XML, Base de données, images… ou sur d’autres systèmes. L’accès
aux données est transparent pour la couche métier et correspond uniquement
à la préoccupation de la couche accès aux données. [10]
2.2.Architecture Technique
Pour l’élaboration de cette application, nous avons utilisé l’architecture MVC
(Model Vue Controller). [11]
L’architecture MVC proposée par SUN est une architecture permettant de
séparer la partie présentation dans une application web. [11]
Dans l’architecture MVC :
Le Model en MVC : représente essentiellement les données ou les informations.
Il représente également le logique métier qui est appliqué pour accéder et
modifier la base des données. [12]
Le View représente la IHM (Interface Homme Machine). Il communique avec
Controller pour envoyer les « user gestures », qui est une communication basée
sur l’évènement. La communication se produit lorsque l’utilisation clique sur un
"bouton" ou frappe une touche "retour". [12]
Controller : fournit le comportement de l’application. Il contrôle le traitement
des actions utilisateur, un évènement se déclenche chaque fois qu’une action
est réalisée. [12]
3. Interfaces de l’application
Dans cette partie, nous présentons quelques interfaces de notre application.
62
Figure 51 : Interface d’inscription
Cette figure présente l’interface d’inscription :
Chaque internaute veut s’inscrire doit remplir les champs du formulaire et valide.
Figure 52 : Interface d’authentification
Après l’inscription l’interface d’authentification s’affiche et message demandant la
vérification du mail apparaitre pour confirmer l’inscription.
63
Figure 53 : Interface d’authentification
Cette figure présente l’interface d’authentification :
Chaque Abonné introduit son login et mot de passe et valide pour accéder à son
espace personnel.
Figure 54 : Interface profil
Cette interface présente toutes les informations personnelles d’un abonné. Il est
possible de les modifier en changeant les valeurs des champs et cliquer sur « save ».
Il est aussi possible de modifier la photo de profil avec un simple clic sur la photo et la
modification du mot de passe en suivant le lien « change password ».
64
Figure 55 : Interface reset password
Au cas où l’abonné ne peut plus s’accéder à son espace personnel lors
d’authentification, il peut suivre le lien « forgot password »
Cette figure présente l’interface reset password où l’utilisateur peut introduire son
mail et valide.
Le système envoie un mail à l’email introduit pour changer le mot de passe
Figure 56 : Interface boite email de l’abonné
Cette interface est une démonstration d’un email de demande de modification du mot
de passe.
65
Figure 57 : Interface « Changer Mot de passe »
Dans cette interface l’abonné peut introduire son nouveau mot de passe et valide
Figure 58 : Interface créer QR Code
Pour générer son QR Code L’abonné choisie le type de QR Code à générer dans une
première étape.
Les données se diffèrent selon le type du QR Code disponible (vCard, App, Website,
etc.).
66
Figure 59 : Interface Vcard
Cette interface présente la deuxième étape de création de création de création du QR
Code. Dans cette étape, l’abonné remplit les champs du formulaire par les informations
à stocker dans le QR Code et les valides en cliquant sur « suivant ».
67
Figure 60 : Interface Vcard : personnalisation de design
Pour finir la création ou la génération du QR Code l’abonné peut définir la couleur du
background du QR Code ainsi que sa couleur. Il peut aussi ajouter un label.
68
Figure 61 : Interface Mange
Cette figure présente l’ensemble des QR Codes créer par l’abonné.
69
Figure 62 : Interface Mange
L’abonné peut voir le nombre de scan, modifier le continu ou design, télécharger ou
archiver un ou plusieurs QR Code
Figure 63 : Interface Mange
Dans cette interface les QR Code sont présentés sous forme d’une liste.
70
Figure 64 : Interface Archive
Cette figure présente l’interface Archive dans laquelle tous les QR Codes non utilisés
sont archivés.
L’abonné peut les réutiliser ou les supprimer définitivement.
Conclusion
Dans ce dernier chapitre, nous avons présenté, tout d’abord, l’environnement de travail
utiliser pour la réalisation de projet. Ensuite, nous avons illustré et testé quelques
interfaces de notre application.
71
Conclusion et Perspective
Ce rapport est le fruit d’un travail réaliser durant un stage au sein de la société
Galactech Studio pour un projet de fin d’études qui a pour objectif la génération des
QR codes et la permission de sa personnalisation d’une manière dynamique.
En élaborant ce projet, nous avons présenté, en premier lieu, le cadre du projet, ainsi
que les différents besoins, les acteurs et les risques de future application tout en
mettant on œuvre la méthodologie et le modèle de conception utilisée. Par la suite,
nous sommes penchés sur une analyse approfondie des besoins dégager dans une
première phase pour qu’on puisse réaliser une conception fiable. Cette analyse nous
a permis de comprendre le système et d’enchainer la réalisation.
Au terme de ce projet, nous avons réalisé les fonctionnalités de base utiles à chaque
abonné. D’autre fonctionnalités peuvent être ajoutées afin d’optimiser l’application,
notamment, la personnalisation des modules des QR Codes (Ajout du logo,
personnalisation de la forme des modules du QR Code, etc.) et la gestion
d’abonnement (payement électronique), l’ajout de scan en ligne, la création d’une
application Android de générateur de QR Code .
Ce projet est une opportunité pour découvrir et s’intégrer dans le monde de
professionnelle et d’améliorer les compétences en programmation web. La réalisation
de ce projet présente une formidable expérience humaine, grâce au contact avec
l’équipe de l’entreprise qui nous ont prodigué leurs conseils et nous font bénéficier de
leurs expériences.
72
Bibliographie
[1] I.Jacobson, G.Booch and J.Rumbaugh. « Le processus unifié de développement
logiciel ». Édition Eyrolles,23 juin 2000.
[2] Pascal Roques. « UML 2 Modéliser une application web ». 3e édition Eyrolles.
[10] Jérôme Lafosse. « Java EE Guide de développement d’application web en java ».
Éditions ENI, Février 2009.
[11] Benjamin Aumaille. « J2EE Développement d’applications Web ». Édition ENI,
Mars 2002.
[12] B.V.Kumar, S.Sangeetha and S.V.Subrahmanya. « J2EE Architecture an
illustrative gateway to entreprise solutions: Concepts to Application Design and
Deployment». Édition Tata McGraw-Hill publishing Company 2007.
73
Webographie
[3] http://www.techno-science.net/?onglet=glossaire&definition=764 Consulter le
11/05/2017.
[4] https://www.video2brain.com/fr/phpstorm .Consulter le 11/05/2017
[5] http://searchenterpriselinux.techtarget.com/definition/MySQL. Consulter
le 11/05/2017.
[6]https://books.google.tn/books?id=QSNCPOn3hDgC&pg=PA22&dq=php+gratuit&hl
=fr&sa=X&ved=0ahUKEwiv39zH9J3TAhXF6xQKHWtCBckQ6AEIFzAA#v=onepage&
q=php%20gratuit&f=false. Consulter le 11/05/2017.
[7] https://book.cakephp.org/1.3/fr/The-Manual/Beginning-With-CakePHP/What-is-
CakePHP-Why-Use-it.html . Consulter le 13/05/2017.
[8] https://devlopez.blogspot.com/2015/09/angularjs-definition-et-utilisation.html .
Consulter le 13/05/2017
[9] http://www.mathieurobin.com/2011/10/twitter-bootstrap-framework-css-js/
Consulter le 11/05/2017.

Contenu connexe

Tendances

RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
Lina Meddeb
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 

Tendances (20)

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
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
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 Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
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
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilel
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 

Similaire à Développement et conception d'une application de générateur des QR Code Dynamique:

Compejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
CompejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgjCompejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
Compejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
AMINEBOUGUENNOUR
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Mohammed LAAZIZLI
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
Bader Nassiri
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
ElAzzabAbdeSsamad
 

Similaire à Développement et conception d'une application de générateur des QR Code Dynamique: (20)

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 Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
 
rapport fin d'etude
rapport fin d'etuderapport fin d'etude
rapport fin d'etude
 
Guide de production des cours en ligne
Guide de production des cours en ligneGuide de production des cours en ligne
Guide de production des cours en ligne
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Compejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
CompejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgjCompejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
Compejkjiuhbgjhgjgjhkgjgjhjgjjjjghgjgjgj
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
 
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
Rapport de PFE du Diplôme de Mastère pro en Modélisation, Bases de Données et...
 
Rapport final
Rapport finalRapport final
Rapport final
 
Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)Rapport de PFE - Houssem SAKLI (ISIMM)
Rapport de PFE - Houssem SAKLI (ISIMM)
 
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRACremerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC
remerciement mémoire 6 exemples word télécharger www.bit.ly/3eZWRAC
 
Backup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmBackup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 Farm
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
 
Mise en place d'une stratégie de marketing digital
Mise en place d'une stratégie de marketing digital Mise en place d'une stratégie de marketing digital
Mise en place d'une stratégie de marketing digital
 
Rapport de stage PFE
Rapport de stage PFERapport de stage PFE
Rapport de stage PFE
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Visualisation graphique des preuves Électroniques (complet)
Visualisation graphique des preuves Électroniques (complet)Visualisation graphique des preuves Électroniques (complet)
Visualisation graphique des preuves Électroniques (complet)
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
 

Dernier

Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Dernier (20)

Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 

Développement et conception d'une application de générateur des QR Code Dynamique:

  • 1. Organisme d'accueil Galactech Studio Encadré par ESEN Mme Ismahene Chahbi Société M. Maher Sghaier Année Universitaire : 2016-2017 Code : 377 Université de la Manouba École Supérieure d’Économie Numérique Rapport de projet de fin d'études Sujet Conception et Développement d’une application de Générateur de QR Code Élaboré par: Khadija shili Présenté en vue de l'obtention du diplôme de Licence Appliquée en Technologies et Systèmes d’informations
  • 2. Dédicace« Personne ne peut atteindre le succès sans savoir l’aide des autres. Le sage et confiant reconnaissent cette aide avec gratitude. » (Alfred North Whitehead) Avec tous mes profonds respects, Reconnaissance, gratitudes et amour permettez-moi de dédier le fruit de ce travail : À ma chère mère Aucune dédicace ne serait suffisante pour exprimer mon sincère respect et amour et ma reconnaissance pour tous vous sacrifices. Vous n’avez jamais cessé de me soutenir et de m’encourager durant tous ma vie éducative. Vous prière et bénédiction m’ont guidé pour mener à bien mes études. À mon cher père Ce dédicace se trouve insuffisant pour exprimer ma gratitude et reconnaissance. Je vous remercie pour votre patience, votre soutien, vos conseils et vos prières et j’espère que j’étais et que je resterai à la hauteur de vous espérances. À ma sœur et mon frère Ma chère sœur qui est comme une mère pour moi, les mots ne suffisent guère pour exprimer l’attachement et l’amour que je porte à toi. Mon cher frère qui est un ami et m’ont toujours épaulé et soutenu. Mes meilleurs vœux et mes sincères prières pour une vie pleine de bonheur et de réussite. À tous mes chers enseignants qui mon guider et supporter tous au long de mes années d’étude et j'espère que je porte de la fierté à tous mes enseignants qui m’ont fait confiance.
  • 3. À ma chère Mlle Kim Jeong Suk Vous êtes plus qu’une enseignante. Vous me manque beaucoup. Vous m’avez toujours supporté, guidé et toujours là pour m’aider. Merci bien pour les bonheurs que j’ai avec vous et tous mes collègues et pour tous vos conseils. À ma chère amie Chaima Taboubi Merci d’être toujours là pour me supporter et m’encourager même-ci ça ne fait pas longtemps que je te connais. Je te remercie chaleureusement et que Dieu t’offre de la chance et du bonheur. À tous mes amis et ceux qui ont cru on moi et m’ont soutenu mes meilleurs vœux et prières de bonheur et de réussite.
  • 4. Remerciement Ce projet est le fruit du concours de plusieurs personnes à qui je me permet de prendre cette occasion pour adresser mes sincères remerciements et reconnaissances à toute personne ayant contribué à la réalisation de ce travail. Je voudrais tout d’abord exprimer mes gratitudes et mes remerciements à mon encadrante pédagogique Mme Ismehene Chahbi pour sa patience et disponibilité et son aide précieux. Mesplussincèresremerciementsàtousl’équipedeGalactechStudioetsurtout Monencadrant technique M. Maher Sghaier pour m’avoir accueilli et me donner l’occasion de faire ce stage. Son aide et ses remarques et ses judicieux conseils qui ont contribué à alimenter ma réflexion. Mes profondes gratitudes s’adressent aux membres de jurys, pour l’honneur qu’ils m’ont fait en acceptant de juger mon modeste travail.
  • 5. Table des matières Introduction................................................................................................................. 1 Chapitre I : Cadre de Projet........................................................................................ 3 Introduction ............................................................................................................. 3 1. Présentation de l’organisme d’accueil ........................................................... 3 2. Étude de l’existant ......................................................................................... 3 a. Analyse de générateur QR Code « Unitag ».............................................. 3 b. Analyse de générateur QR Code « Generator Pro.code-qr »..................... 4 c. Critique de l’existant................................................................................... 4 3. Contexte du Projet......................................................................................... 5 4. Objectif .......................................................................................................... 5 5. Méthodologie et Modèle de Conception utiliser............................................. 6 a. Le Processus unifié.................................................................................... 6 Caractéristiques du Processus unifié :.............................................................. 6 b. Le Modèle de Conception .......................................................................... 7 Conclusion .............................................................................................................. 8 Chapitre II : Incubation................................................................................................ 9 Introduction ............................................................................................................. 9 1. Analyse des Besoins ..................................................................................... 9 1.1.Besoins fonctionnels................................................................................ 9 1.2.Besoins non fonctionnels......................................................................... 9 2. Spécification des Besoins............................................................................ 10 2.1.Identification des acteurs....................................................................... 10 2.2.Le diagramme de cas d’utilisation initial ................................................ 10 2.3.Affectation des priorités ......................................................................... 11 2.4.Raffinement des cas d’Utilisation Prioritaires ........................................ 12 2.4.1.Raffinement du cas d’utilisation « s’authentifier »............................... 12 2.4.2.Raffinement du cas d’utilisation « s’inscrire »..................................... 13 2.4.3.Raffinement du cas d’utilisation « Créer QrCode »............................. 14 3. Analyse........................................................................................................ 14 3.1.Analyse de cas d’utilisation « S’authentifier »........................................ 14
  • 6. 3.2.Analyse de cas d’utilisation « S’inscrire ».............................................. 17 3.3.Analyse de cas d’utilisation « Créer QR Code ».................................... 19 Conclusion ............................................................................................................ 20 Chapitre III : Élaboration........................................................................................... 21 Introduction ........................................................................................................... 21 1. Raffinement des Cas d’Utilisation Secondaires........................................... 21 1.1.Raffinement du cas d’utilisation « Gérer QR Code »............................. 21 2. Analyse des cas d’utilisation Secondaire..................................................... 24 2.1.Analyse du cas d’utilisation « Gérer QR Code ».................................... 24 3. Conception des cas d’utilisation prioritaires................................................. 34 Conclusion ............................................................................................................ 39 Chapitre IV : Construction......................................................................................... 40 Introduction ........................................................................................................... 40 1. Conception des cas d’utilisation secondaire................................................ 40 2. Conception de la base de données ............................................................. 47 2.1.Description des classes des entités....................................................... 48 2.2.Diagramme de classes .......................................................................... 53 2.3.Script de création de la base de données ............................................. 53 Conclusion ............................................................................................................ 56 Chapitre VI : Transition............................................................................................. 57 Introduction ........................................................................................................... 57 1. Environnement de travail............................................................................. 57 1.1.Environnement matériel......................................................................... 57 1.2.Environnement Logiciels ....................................................................... 58 2. Architecture ................................................................................................. 60 2.1.Architecture Physique............................................................................ 60 2.2.Architecture Technique.......................................................................... 61 3. Interfaces de l’application ............................................................................ 61 Conclusion ............................................................................................................ 70 Conclusion et Perspective ........................................................................................ 71 Bibliographie............................................................................................................. 72 Webographie ............................................................................................................ 73
  • 7. Liste des tableaux Tableau 1:Analyse de générateur QR Code "Unitag"................................................. 4 Tableau 2: Analyse de générateur QR Code "GeneratorPro.Code-qr........................ 4 Tableau 3:Identification des acteurs ......................................................................... 10 Tableau 4:Affectation de priorité............................................................................... 12 Tableau 5:Description Textuelle du cas d'utilisation "sauthentifier" .......................... 13 Tableau 6:Description Textuelle du cas d'utilisation "s'inscrire"................................ 14 Tableau 7:Description textuelle du cas d'utilisation "créer QR Code"....................... 14 Tableau 8:Raffinement du cas d’utilisation « Gérer QR Code : Modifier »................ 22 Tableau 9: Description textuelle du cas d’utilisation « Archiver QR Code » ............. 23 Tableau 10: Description textuelle du cas d’utilisation « Télécharger QR Code » ..... 23 Tableau 11:Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste Statistique ».............................................................................................................. 24 Tableau 11 : les attributs de la table « users » ......................................................... 48 Tableau 12 : les attributs de la table « qrcodes » ..................................................... 49 Tableau 13 : les attributs de la table « apps » .......................................................... 49 Tableau 14 : les attributs de la table « facebookpages ».......................................... 50 Tableau 15 : les attributs de la table « files »............................................................ 50 Tableau 22 : Environnement Matérielle .................................................................... 57 Tableau 22 : Outils de Conception ........................................................................... 58 Tableau 23 : Outils de développement ..................................................................... 58 Tableau 24 : Langage de programmation................................................................. 59 Tableau 25 : Framework........................................................................................... 60
  • 8. Liste des figures Figure 1: La Structure logique du Processus Unifé .................................................... 6 Figure 2: Diagramme de cas d'utilisation Global....................................................... 11 Figure 3:Raffinement de Cas d"utilisation "S'authentifier" ........................................ 12 Figure 4: Raffine de cas d'utilisation "s'inscrire" ....................................................... 13 Figure 5: Raffinement de cas d'utilisation "créer QR Code"...................................... 14 Figure 6:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'tilisation "S'authentifier".......................................................................................... 15 Figure 7:Diagramme de Calsse d'analyse du cas d'utilisation"s'authentifier" ........... 15 Figure 8:: Diagramme de collaboration du cas d’utilisation « S’authentifier »........... 16 Figure 9:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « s’inscrire »........................................................................................... 17 Figure 10: Diagramme de classe d'analyse du cas d'utilisation « s’inscrire »........... 17 Figure 11: Diagramme de collaboration du cas d’utilisation « S’inscrire »................ 18 Figure 12:: Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Créer QR Code ».......................................................................... 19 Figure 13: Diagramme de classe d'analyse du cas d'utilisation « Créer QR Code ... 19 Figure 14: Diagramme de Collaboration « Créer QR Code » ................................... 20 Figure 15: Raffinement de cas d’utilisation « Gérer QR Code »............................... 22 Tableau 9: Description textuelle du cas d’utilisation « Archiver QR.......................... 23 Figure 16 : Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse... 25 Figure 18 : Diagramme de collaboration du cas d’utilisation « Modifier »................. 26 Figure 19 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Archiver QR Code » ..................................................................... 27 Figure 20 : Diagramme de classe d’analyse du cas d’utilisation « Archiver »........... 28 Figure 21 : Diagramme de collaboration du cas d’utilisation « Archiver » ................ 28 Figure 22 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Télécharger QR Code » ............................................................... 29 Figure 23 : Diagramme de Classe d’analyse du cas d’utilisation « télécharger »..... 30 Figure 24 : Diagramme de collaboration du cas d’utilisation « télécharger »............ 31 Figure 25 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « consulter statistique de scan de QR Code » ................................ 32
  • 9. Figure 26 : Diagramme de classe d’analyse du cas d’utilisation « Consulter Statique de scan de QR Code » ............................................................................................. 33 Figure 28 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « S’authentifier » ...................................................... 34 Figure 29 : Diagramme de classe de conception « S’authentifier ».......................... 35 Figure 30 : Diagramme Séquence détaillé du cas d’utilisation « S’authentifier »...... 35 Figure 31 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « S’inscrire » ............................................................ 36 Figure 32 : Diagramme de classe de conception « S’inscrire »................................ 36 Figure 33 : Diagramme Séquence détaillé du cas d’utilisation « S’inscrire »............ 37 Figure 34 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Créer QR Code » .................................................. 38 Figure 35 : Diagramme de classe de conception « Créer QR Code »...................... 38 Figure 36 : Diagramme Séquence détaillé du cas d’utilisation ................................. 39 « Créer QR Code »................................................................................................... 39 Figure 37 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Modifier QR Code » .............................................. 40 Figure 38 : Diagramme de classe de conception « Modifier QR Code » .................. 41 Figure 39 : Diagramme Séquence détaillé du cas d’utilisation ................................. 41 « Modifier QR Code »............................................................................................... 41 Figure 40 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Archiver QR Code » .............................................. 42 Figure 41 : Diagramme de classe de conception « Archiver QR Code ».................. 42 Figure 42 : Diagramme Séquence détaillé du cas d’utilisation ................................. 43 « Archiver QR Code »............................................................................................... 43 Figure 43 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Télécharger QR Code » ........................................ 44 Figure 44 : Diagramme de classe de conception « Télécharger QR Code »............ 44 Figure 45 : Diagramme Séquence détaillé du cas d’utilisation ................................. 45 « Télécharger QR Code »......................................................................................... 45 Figure 46 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Consulter Statistique de scan du QR Code »........ 46 Figure 467: Diagramme de classe de conception « Consulter Statistique de scan du QR Code »................................................................................................................ 46
  • 10. Figure 48 : Diagramme Séquence détaillé du cas d’utilisation ................................. 47 « Consulter Statistique de scan du QR Code » ........................................................ 47 Tableau 17 : les attributs de la table « multilinks » ................................................... 50 Tableau 18 : les attributs de la table « qrcodeemail » .............................................. 50 Tableau 19 : les attributs de la table « qrcodesms » ................................................ 51 Tableau 20 : les attributs de la table « scan » .......................................................... 51 Tableau 21 : les attributs de la table « qrcodetext » ................................................. 51 Tableau 22 : les attributs de la table « vcard » ......................................................... 52 Figure 49 : Diagramme de classe............................................................................. 53 Figure 50 : Les différentes couches de l’architecture 3-tiers..................................... 60 Figure 51 : Interface d’inscription.............................................................................. 62 Figure 52 : Interface d’authentification...................................................................... 62 Figure 53 : Interface d’authentification...................................................................... 63 Figure 54 : Interface profil......................................................................................... 63 Figure 55 : Interface reset password ........................................................................ 64 Figure 56 : Interface boite email de l’abonné............................................................ 64 Figure 57 : Interface « Changer Mot de passe » ...................................................... 65 Figure 58 : Interface créer QR Code ........................................................................ 65 Figure 59 : Interface Vcard ....................................................................................... 66 Figure 60 : Interface Vcard : personnalisation de design.......................................... 67 Figure 61 : Interface Mange...................................................................................... 68 Figure 62 : Interface Mange...................................................................................... 69 Figure 63 : Interface Mange...................................................................................... 69 Figure 64 : Interface Archive..................................................................................... 70
  • 11. 1 Introduction Attirer et influencer les consommateurs est le souci majeur de toute entreprise qui veut augmenter sa part du marché ainsi que sa position. C’est pour cela les méthodes de marketing et de commercialisation des produits se développent continuellement en parallèle avec les nouvelles technologies qui les rendent faciles et plus efficaces. Plusieurs méthodes de marketing sont apparues pour cette fin, tels que les représentants, les affiches, les spots publicitaires, ou les bannes publicitaires qui se trouvent, même sa bonne qualité des messages diffuser au consommateur, un peu gênante. Ces méthodes peuvent se manifester comme une source de perte des clients. C’est pour cela, plusieurs entreprises ont fait recours à une nouvelle technologie dans le domaine de marketing, c’est les QR Codes. Les QR Codes (Quick Response Code) sont des code-barres à deux dimensions, crée en 1994 par l'entreprise japonaise Denso-Wave pour le contrôle des pièces des voitures Toyota, ils sont rapides à décoder à l’aide d’un lecteur de QR code ou QR code scanner installé sur un smart phone. La société Galactec Studio, comme plusieurs entreprises, a décidé de créer un Générateur de QR Code personnalisé permettant aux entreprise et personne physique de générer et personnaliser ses QR Code d’une Manière dynamique. Cette application consiste à mettre en place un espace en ligne pour la génération des QR Codes personnalisés en termes de design et des informations. Le présent Rapport est composé de cinq chapitres : Le premier chapitre est consacré à la présentation du cadre du projet et les autres chapitres représentent les différentes phases de processus unifié. Dans le deuxième chapitre « Incubation », nous définissons la portée du système et nous étudions sa faisabilité.
  • 12. 2 Dans le troisième chapitre « Élaboration », nous clarifions le modèle initial des cas d’utilisation pour la mise en place d’une architecture saine. Le quatrième chapitre décrit l’implémentation et le développement de l’application. Dans le chapitre « Transition », nous allons finaliser le produit, présenter les interfaces de l’application ainsi que les scénarios d’exécution.
  • 13. 3 Chapitre I : Cadre de Projet Introduction Ce chapitre est consacré à la présentation de l’organisme d’accueil, du contexte de projet et la description des objectifs du projet ainsi que la méthodologie et le modèle de conception adopté. 1. Présentation de l’organisme d’accueil GalacTech Studio est une Startup de développement des jeux vidéo, des solutions de réalité augmentée et le développement des applications web et mobiles. Elle a été fondée en 2016 avec un effectif de 7 employés. L’entreprise est située au co-working space « StartupHaus » à jean Jaurès. 2. Étude de l’existant L’étude de l’existant permet de déterminer la valeur ajoutée du produit à fournir aux utilisateurs par rapport aux solutions existantes. Dans cette partie, nous allons présenter une analyse de quelques solutions. a. Analyse de générateur QR Code « Unitag » Type de QR Code Personnalisation possible Web & réseaux sociaux : permets de saisir un Url d’un site ou d’un réseau social. Autres Types : Type de QR Code à générer comme Carte visite, Texte, Téléphone, SMS, Mail, Géolocalisation, Calendrier et Réseaux Wi-fi. Templates : Permets de personnaliser un QR Code en choisissant un Template disponible dans la liste de Templates. Colors : possibilité de la personnalisation de couleur du QR Code soit par la modification de sa couleur (single color, shaded colors) ou en plaçant une image au lieu du QR code. Look : Permets la modification des modules ainsi que les yeux du QR Code Logo : Possibilité d’insertion d’un logo (ex : logo d’entreprise). Eyes : Permets de modifier la couleur des yeux du QR Code.
  • 14. 4 Options : permet la modification de la couleur de l’arrière-plan du QR Code, la création d’ombre ou la valeur de redondance du QR Code (low, medium, Quality, Strong). Tableau 1:Analyse de générateur QR Code "Unitag" Il est possible de créer des QR Code dynamique, dont nous pouvons modifier le contenu ou le design d’un QR Code déjà crée, ou statique dont est impossible de faire des modifications après création. b. Analyse de générateur QR Code « Generator Pro.code-qr » Type de QR Code Type D’image à télécharger Mp3, App stores, Photos, Multi-URL, PDF, etc. Un Type d’image standard Il est possible de spécifier la taille d’image Il impossible de changer le design Tableau 2: Analyse de générateur QR Code "GeneratorPro.Code-qr La plateforme permet de tester le QR Code par un scan. Les qr codes créer sont statiques. Il est impossible de les modifier et il ne permet plus de modifier le design lors de création. c. Critique de l’existant Les deux solutions proposent presque les mêmes services, mais le problème est dans le type d’image de QR Code généré. Unitag : génère des QR Code dynamiques. Ils la modification de design avec l’intégration des logos au milieu de QR Code ou la modification des modules de QR Code (eyse), mais il ne permet plus le téléchargement d’une image de QR Code vectoriel (eps, svg). Generator Pro.code-qr : génère des QR Codes statique sans design et la modification du contenu est impossible Les deux solutions manquent des fonctionnalités qui rendent une application de générateur de QR Code plus performante. Il n’existe plus une solution qui regroupe les fonctionnalités proposées par les deux solutions.
  • 15. 5 3. Contexte du Projet Dans le cadre d’un projet de fin d’études, au sein de Galactec, qui est une société tunisienne de développement des applications, sites web et des jeux vidéo, etc., nous souhaitons développer une application web de générateur QR Code. Cette application doit assurer les fonctionnalités suivantes :  Création des types de services QR Code (vCard, App, Websites, multiUrl, etc.).  Générer des QR Codes personnalisés.  Préparation des statistiques  Gestion des QR Codes (modification des informations, modification de design, archivage). 4. Objectif Les objectifs poursuivis par l’application consistent à mettre en place un espace en ligne pour générer des QR Codes personnalisés en termes de design et d’informations. Plus précisément, ces objectifs sont les suivants :  Création des types de services QR Code : ✓ vCard : Ce type permet la création d’un service QR Code pour les cartes Visites. ✓ App : permet la création d’un service QR Code pour les applications. ✓ Web Sites : permet la création d’un service QR code pour les sites Web ✓ MultiUrl : permet la création d’un service QR code de plusieurs URL.  Générer des QR Codes personnalisés c.-à-d. la personnalisation de design des QR Codes.  Préparation de statistiques de scan des QR Code.  Gestion des QR Code : ✓ Modification de design ✓ Modification des informations ✓ Consultation de Statistiques
  • 16. 6 ✓ Archivage 5. Méthodologie et Modèle de Conception utiliser a. Le Processus unifié Le processus unifié (UP, Ou Unified process) est un processus de développement logiciel regroupant les activités à mener pour transformer les besoins d’un utilisateur en système logiciel. C’est un Framework de processus générique pouvant être adapté à une large classe de systèmes logiciels, à différents domaines d’application, à différents types d’entreprises, à différents niveaux de compétence et à différentes tailles de projets. [1] Figure 1: La Structure logique du Processus Unifé Caractéristiques du Processus unifié : Le processus unifié est « itératif et incrémental, centré sur l’architecture, conduit par les cas d’utilisation et piloté par les risques » : ➢ Itératif Incrémental : Le projet se découpe en plusieurs itérations à courte durée qui aident à mieux suivre l’avancement global. À la fin, cette itération produit un livrable qui présente une partie du système final de façon incrémentale. [1] ➢ Piloté par les cas d’utilisation :
  • 17. 7 ✓ Le projet est mené en tenant compte des besoins et des exigences des utilisateurs qui se traduisent en des cas d’utilisations identifiées, décrits avec précision et priorisés. [1] ✓ Les Cas d’utilisation ne sont pas un simple outil de spécification des besoins du système. Ils en guident la conception, l’implémentation et les tests, c.-à-d. qu’ils guident le processus de développement. [1] ✓ Il est vrai que, les cas d’utilisation guident le processus, mais ils ne sont pas sélectionnés de façon indépendante, ils doivent absolument être développés tandems avec l’architecture du système. [1] ➢ Centré sur l’architecture : ✓ Tout système complexe doit être décomposé en parties modulaires afin de garantir une maintenance et une évolution facilitée. Cette architecture (fonctionnelle, logique, matérielle, etc.) doit être modélisée en UML et pas seulement documentée en texte. [1] ✓ L’architecture propose une vue d’ensemble de la conception faisant ressortir les caractéristiques essentielles en laissant de côté les détails secondaires. [1] ➢ Piloté par les risques : ✓ Les risques majeurs du projet doivent être identifiés aux plus tôt, mais surtout, levées le plus rapidement possible les mesures à prendre dans ce cadre déterminent l’ordre des itérations. [1] b. Le Modèle de Conception UML (Unified Modeling Language) se définit comme un langage de modélisation graphique et textuelle destiné à comprendre et décrire les besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue. [2] UML unifie à la fois les notations et les concepts orientés objet. Il ne s’agit pas d’une simple notation graphique, car les concepts transmis par un diagramme ont une sémantique précise et sont porteurs de sens au même titre que les mots d’un langage. [2]
  • 18. 8 UML unifie également les notations aux différentes activités d’un processus de développement et offre, par ce biais, le moyen d’établir le suivi des décisions prises, depuis l’expression des besoins jusqu’au codage. [2] UML modélise les exigences des utilisateurs en un modèle de conception facilitant le codage. [2] Conclusion Dans ce chapitre, nous avons présenté le cadre du projet. Nous avons commencé par une présentation de l’organisme d’accueil ; ensuite nous avons présenté le contexte et l’objectif du futur système et nous avons fini par une présentation de la méthodologie et le modèle de conception adopté.
  • 19. 9 Chapitre II : Incubation Introduction Dans ce chapitre nous allons présenter la phase d’incubation pour définir les besoins fonctionnels et non fonctionnels du système et définir les acteurs, leurs rôles et leurs interactions avec le système. 1. Analyse des Besoins Dans cette phase nous sommes appelés à analyser les besoins et les exigences de l’entreprise. 1.1.Besoins fonctionnels L’application à développer sera constituée d’une partie visible par les abonnées qui constitue le Front Office. Elle offre les fonctionnalités suivantes : ❖ Création d’un QR Code ✓ Se connecter à la plateforme ou créer un nouveau compte (en cas d’un nouvel abonné). ✓ Choisir un type de services QR Code ✓ Remplir un formulaire et valider. ✓ L’application génère un QR Code selon les informations saisies. ❖ Consulter les statistiques de scan de QR Code ❖ Gérer les QR Codes de l’abonné : ✓ L’abonné peut effectuer des opérations sur ses QR Codes générés tels que la modification des informations ou de design, l’archivage et la suppression totale des QR Codes archivés. 1.2.Besoins non fonctionnels L’application que nous allons développer doit assurer les besoins suivants :
  • 20. 10 Besoins de performance : l’application doit assurer une bonne performance en termes de temps de réponse et de chargement des pages. Besoin de sécurité : l’application doit assurer une gestion des rôles et des droits d’accès aux informations. Besoins d’ergonomie : au cours du développement de l’application, nous devons prendre en considération de son ergonomie (les couleurs, la densité d’éléments sur les écrans, l’interface utilisateur, etc.). Besoins de maintenabilité : le système doit permettre d’effectuer la maintenance là où il est demandé (bug, amélioration de code). 2. Spécification des Besoins Dans cette partie, nous allons définir les acteurs, ses rôles et ses interactions avec le système ainsi les cas d’utilisation. 2.1.Identification des acteurs Acteurs Description Abonné C’est un internaute qui a un abonnement qui lui permet de créer des QR Code selon ses besoins, les gérer et consulter ses statistiques. Tableau 3:Identification des acteurs 2.2.Le diagramme de cas d’utilisation initial Le diagramme de cas d’utilisation (user case) est un ensemble de processus métier qui permet de mettre en évidence les relations entre les acteurs et le système étudié. Dans ce diagramme, nous allons présenter les interactions réalisées par les différents acteurs.
  • 21. 11 Figure 2: Diagramme de cas d'utilisation Global 2.3.Affectation des priorités Nom cas d’utilisation Global Cas d’utilisation Priorité Acteurs S’authentifier 1 Personne physique ou morale ayant un abonnement S’inscrire 1 Internaute Créer QR Code 1 Personne physique ou morale ayant un abonnement Modifier 2 Archiver 2 <Include> <Include> Abonné Créer desQR Code Gérer lesQR Codes s'inscrire S'authentifier
  • 22. 12 Gérer QR Code Consulter Statistique de scan 2 Personne physique ou morale ayant un abonnement Télécharger 2 Tableau 4:Affectation de priorité 2.4.Raffinement des cas d’Utilisation Prioritaires Dans cette partie, nous présentons les cas d’utilisations prioritaires suivants :  S’authentifier  S’inscrire  Créer QR Code 2.4.1.Raffinement du cas d’utilisation « s’authentifier » Chaque utilisateur de l’application doit s’authentifier pour qu’ils puissent utiliser l’application. Figure 3:Raffinement de Cas d"utilisation "S'authentifier" Cas d’utilisation S’authentifier Acteur Personne physique ou morale ayant un abonnement Objectif Les abonnés peuvent accéder à leurs propres interfaces. <Include> <Include> Abonné S'authentifier Introduire login Introduire Mot de passe
  • 23. 13 Pré-Condition Ayant un compte contenant ses informations personnelles Post Condition Accès à sa page d’accueil Description de Scénario nominal 1. Choisir la commande « Login » 2. L’abonné saisit ces identifiants (login/mots de passe) 3. Le système vérifiait les informations saisies. 4. Le système autorise l’accès et affiche sa propre interface. Alternative 2.a. Identifiant incorrect Tableau 5:Description Textuelle du cas d'utilisation "sauthentifier" 2.4.2.Raffinement du cas d’utilisation « s’inscrire » Chaque Internaute doit s’inscrire pour qu’il bénéficie des services de l’application. Figure 4: Raffine de cas d'utilisation "s'inscrire" Cas d’utilisation S’inscrire Acteur Internaute Objectif Avoir un abonnement pour accéder et bénéficier des services de l’application selon le type d’abonnement. Pré-Condition Non-inscrit Post Condition Un nouveau compte est ajouté et l’utilisateur accède à sa propre interface. Description de Scénario nominal 1. Choisir la commande « Register » 2. Introduire ces informations personnelles. 3. Le système vérifie les informations saisies 4. Le système confirme l’abonnement et envoie un mail de validation. 5. Le nouvel abonné consule sa boite email et valide son compte. 6. Le système vérifie le lien de validation et affiche la page d’accueil de l’abonné. Alternative 3.a.1. Compte déjà existe. <Include> Abonné S'inscrire Introduire cesinformationspersonnelles
  • 24. 14 3.a.2. Adresse mail déjà utilisée. 3.a.3. Champ erroné. 6.a. erreur de validation du compte. Tableau 6:Description Textuelle du cas d'utilisation "s'inscrire" 2.4.3.Raffinement du cas d’utilisation « Créer QrCode » Un abonné peut créer un ou plusieurs QR Code de même ou de différents types. Figure 5: Raffinement de cas d'utilisation "créer QR Code" Cas d’utilisation Créer QR Code Acteur Personne physique ou morale ayant un abonnement. Objectif Générer des QR Code personnalisés en termes de design et des informations saisies Pré-Condition Ayant un abonnement Post Condition Un QR Code crée Description de scénario nominal 1. Choisir la rubrique « Créer » 2. Choisir type de QR Code à créer (vCard, Social Media, Link, SMS, mail, texte, app, file). 3. Remplir un formulaire et valider 4. Le système vérifie les informations saisies et valide. Alternative 4.a. Les informations saisies erronées. Tableau 7:Description textuelle du cas d'utilisation "créer QR Code" 3. Analyse La phase d’analyse permet de définir l’architecture du système ainsi qu’analyser les cas d’utilisation. Nous allons, dans ce qui suit, présenter la traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse, nous allons aussi présenter le diagramme de classes d’analyse et le diagramme de collaboration pour chaque cas d’utilisation. 3.1.Analyse de cas d’utilisation « S’authentifier » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Abonné Créer QR Code S'authentifier
  • 25. 15 Figure 6:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'tilisation "S'authentifier" Diagramme de Classe d’Analyse : Figure 7:Diagramme de Calsse d'analyse du cas d'utilisation"s'authentifier" S'authentifier s'authentifier Interface S'authentifier Gestionnaire s'authentifier users <participate><participante> <Participante> <<Trace>> Interface s'authentifier Gestionnaire s'authentifier users Abonné
  • 26. 16 Diagramme de collaboration Figure 8:: Diagramme de collaboration du cas d’utilisation « S’authentifier » Description du Diagramme de collaboration  L’abonné introduit son identifiant et son mot de passe (1).  Le système envoie les données saisies (2)  Le système vérifie la validité des données saisie en consultant l’entité users (3).  Le Système valide et autorise l’accès à l’interface personnelle de l’internaute (4). Interface s'inscrire Gestionnaire s'inscrire users 1: Saisie (identifiant, mot de passe) 2: envoyer les informations saisies 3: vérifier les identifiants saisies 4:affichage de l'interface personnelle Abonné
  • 27. 17 3.2.Analyse de cas d’utilisation « S’inscrire » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Figure 9:Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « s’inscrire » Diagramme de Classe d’Analyse : Figure 10: Diagramme de classe d'analyse du cas d'utilisation « s’inscrire » S'inscrire s'inscrire Interface S'inscrire Gestionnaire s'inscrire users <participate><participate> <Participate> <<Trace>> Interface s'inscrire Gestionnaire s'inscrire users Internaute
  • 28. 18 Diagramme de collaboration Figure 11: Diagramme de collaboration du cas d’utilisation « S’inscrire » Description du diagramme de collaboration  L’internaute remplit le formulaire d’inscription (1).  Le système envoie les informations saisies (2).  Le système vérifie la validité des données saisie et envoie un mail de confirmation d’abonnement au nouvel abonné (3).  Le système demande la validation du compte (4)  Le nouvel abonné consulte sa boite email et valide son inscription (5).  Le système envoie la demande de confirmation d’abonnement, valide l’inscription (6,7).  Le système affiche l’interface personnelle du nouvel abonné (8). Interface s'inscrire Gestionnaire s'inscrire users 1: Remplir les champs du formulaire 2: envoyer les informations saisies 3: vérifier les données saisies et envoie d'email de validation 4:demande de validation du compte 5: consulte sa boite email et valide son inscription 6: Envoie de la demande de validation 7: validation d'inscription 8:affichage de l'interface personnelle internaute
  • 29. 19 3.3.Analyse de cas d’utilisation « Créer QR Code » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Figure 12:: Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Créer QR Code » Diagramme de Classe d’Analyse : Figure 13: Diagramme de classe d'analyse du cas d'utilisation « Créer QR Code » Créer QR Code Créer QR Code Interface Créer QR Code Gestionnaire Créer QR Code <participate> <Participate> <<Trace>> qrcode <participate> Interface Créer QR Code Gestionnaire Créer QR Code Abonné qrcode
  • 30. 20 Diagramme de collaboration Figure 14: Diagramme de Collaboration « Créer QR Code » Description du Diagramme de Collaboration  L’abonné choisit le type de QR Code dans la rebique « Create QR Code » (1,2).  L’abonné remplit le formulaire affiché (3)  Le système vérifie les données saisies et valides (4,5)  Le système affiche la liste des QR Code. (6) Conclusion Dans ce chapitre, nous avons présenté les différents besoins (fonctionnels et non fonctionnels) et déterminé les utilisateurs de notre futur système. Nous avons aussi réalisé une analyse complète et détaillée des cas d’utilisations prioritaires. Cette étude nous a permis d’avoir une idée générale sur les fonctionnalités offertes par notre système. Interface Créer QR Code Gestionnaire Créer QR Code 1:Choisir créer qr code 4: envoyer les informations 2: choisir un type de qr code 3: Remplir le formulaire afficher 5:Ajout de qrCode 6:Affichage de liste de qr code Abonné qrcode
  • 31. 21 Chapitre III : Élaboration Introduction Cette phase est la phase la plus importante dans le cycle de développements conçu pour notre application. Durant cette phase, nous allons commencer par dégager et analyser les cas d’utilisations secondaires. Ensuite, nous allons présenter un modèle de conception pour les cas d’utilisation prioritaires. 1. Raffinement des Cas d’Utilisation Secondaires Dans cette section, nous allons raffiner les cas d’utilisations suivants : Gérer QR Code : • Modifier • Archiver • Télécharger • Consulter Statistique 1.1.Raffinement du cas d’utilisation « Gérer QR Code » Un abonné peut gérer sa liste de QR Code (modification, archivage, téléchargement ou consultation des statistiques de scan.
  • 32. 22 Figure 15: Raffinement de cas d’utilisation « Gérer QR Code » Raffinement du cas d’utilisation « Gérer QR Code : Modifier » Cas d’utilisation Modifier contenu Acteur Personne physique ou morale ayant un abonnement. Objectif Modifier le contenu du QR Code. Pré-Condition Un ou plusieurs QR code est enregistré dans la liste de QR Code de l’abonné Post Condition Un QR Code est modifié Description Scénario Nominal 1. Choisir le menu « Manage » 2. Le système affiche la liste des QR Code de l’abonné 3. Choisir un QR code à modifier 4. Choisir la sous-commande « edit » ou « design » pour modifier le design. 5. Effectuer les modifications souhaitées. 6. Valider les modifications. 7. Le système vérifie la validité des informations saisies. Alternative 2.a. Liste de QR Code vide 7.a. Les informations saisies non valides Tableau 8:Raffinement du cas d’utilisation « Gérer QR Code : Modifier » Raffinement du cas d’utilisation « Gérer QR Code : Archiver » Abonné Gérer les QR Code Modifier Archiver Consulter Statistique Télécharer
  • 33. 23 Cas d’utilisation Archiver QR Code Acteur Personne physique ou morale ayant un abonnement. Objectif Modifier le contenu ou le design du QR Code. Pré-Condition Un ou plusieurs QR code est enregistré dans la liste de QR Code de l’abonné Post Condition Un QR Code est archivé Description Scénario Nominal 1. Choisir la rubrique « manage » 2. Sélectionner un QR Code 3. Le système affiche la liste des QR Code de l’abonné 4. Choisir la sous-commande Archiver. 5. Valider l’opération d’archivage 6. Le système recharge la liste des QR Codes en supprimant le QR Code archivé. Alternative 3.a. Liste de QR Code vide Tableau 9: Description textuelle du cas d’utilisation « Archiver QR Code » Raffinement du cas d’utilisation « Gérer QR Code : télécharger » Cas d’utilisation Télécharger Acteur Personne physique ou morale ayant un abonnement. Objectif Téléchargement d’un QR Code. Pré-Condition Un ou plusieurs QR code est enregistré dans la liste de QR Code de l’abonné Post Condition Un QR Code est téléchargé Description Scénario Nominal 1. Choisir le menu « Manage » 2. Le système affiche la liste des QR Code de l’abonné 3. Choisir la commande « Download ». 4. Le système affiche un pop-up contenant un formulaire. 5. Choisir le type et la taille d’image et le niveau de correction du QR Code. 6. Le système autorise le téléchargement du fichier. Alternative 2.1. Liste de QR Code vide 6.a. Fichier volumineux ne peut pas être téléchargé. 6.b. Échec de téléchargement. Tableau 10: Description textuelle du cas d’utilisation « Télécharger QR Code »
  • 34. 24 Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste Statistique » Cas d’utilisation Consulter statistique de scan Acteur Personne physique ou morale ayant un abonnement. Objectif Consulter statistique de scan d’un QR Code. Pré-Condition Un ou plusieurs QR code est enregistré dans la liste de QR Code de l’abonné Post Condition La consultation des statistiques de scan est effectuée. Description Scénario Nominal 1. Choisir le menu « Manage » 2. Le système affiche la liste des QR Code de l’abonné 3. Choisir la sous-commande «statistics». 4. Le système affiche le nombre de scan ainsi que le nombre des appareils qui ont scanné le QR Code. Alternative 2.a. Liste des QR Codes vides Tableau 11:Raffinement du cas d’utilisation « Gérer QR Code : Consulter liste Statistique » 2. Analyse des cas d’utilisation Secondaire Nous allons établir une analyse détaillée des cas d’utilisation non prioritaires pour mieux les comprendre et concourir à une architecture plus stable en présentant la traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse, les diagrammes de classes d’analyse et les diagrammes de collaboration. 2.1.Analyse du cas d’utilisation « Gérer QR Code » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse :
  • 35. 25 Figure 16 : Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse Modifier QR Code Modifier QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code <participate> <Participate> <<Trace>> qrcode <participate>
  • 36. 26 Diagramme de classe d’Analyse : Figure 17:Diagramme de classe d'analyse « Modifier" Diagramme de Collaboration Figure 18 : Diagramme de collaboration du cas d’utilisation « Modifier » Interface Gérer QR Code Gestionnaire Gérer QR Code Abonné qrcode Interface Gérer QR Code Gestionnaire Gérer QR Code 1:Choisir Gérer qr code 4: envoyer la demande 2: choisir un qr code 8: Remplir le formulaire afficher 5:vérifie le qr code à charger 7:Affichage du Formulaire de modification 3: choisir edit ou design 6: recharge le QR Code souhaiter 9: envoie des informations saisies 10: vérifie des données saisies et valide 11: affichage de liste des QR Codes Abonné qrcode
  • 37. 27 Description de diagramme de collaboration  L’abonné choisie un QR Code et sélectionne édit (modifier contenu) ou design (modifier design) (1,2,3).  Le système reçoit la demande et affiche un formulaire de modification (4,5,6,7).  L’abonné modifie les données et valide (8).  Le système envoie les données, les vérifier et valide (9,10).  Le système affiche la liste de QR Code (11). Analyse du cas d’utilisation « Archiver » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Figure 19 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Archiver QR Code » Archiver QR Code Archiver QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code <participate> <Participate> <<Trace>> qrcode <participate>
  • 38. 28 Diagramme de classe d’Analyse : Figure 20 : Diagramme de classe d’analyse du cas d’utilisation « Archiver » Diagramme de collaboration Figure 21 : Diagramme de collaboration du cas d’utilisation « Archiver » Interface Gérer QR Code Gestionnaire Gérer QR Code Abonné qrcode Interface Gérer QR Code Gestionnaire Gérer QR Code 1:Choisir Gérer qr code 4: envoyer la demande 2: choisir un qr code 5:archiver qr code 6:Affichage de la listedes QR codes 3: choisir 'Archive' Abonné qrcode
  • 39. 29 Description du diagramme de collaboration  L’abonné choisit un QR Code dans la liste et sélectionne le sous menu « archive » (1,2,3).  Le système envoie la demande et sauvegarde le QR code dans l’archive (4,5).  Le système affiche la liste de QR code (6). Analyse du cas d’utilisation « télécharger » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Figure 22 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « Télécharger QR Code » Télécharger QR Code Télécharger QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code <participate> <Participate> <<Trace>> qrcode <participate>
  • 40. 30 Diagramme de classe d’Analyse Figure 23 : Diagramme de Classe d’analyse du cas d’utilisation « télécharger » Interface Gérer QR Code Gestionnaire Gérer QR Code Abonné qrcode
  • 41. 31 Diagramme de collaboration Figure 24 : Diagramme de collaboration du cas d’utilisation « télécharger » Description De diagramme de collaboration  L’abonné choisit un QR Code dans la liste et sélectionne « Download » (1,2,3).  Le système envoie la demande et vérifie l’id du Qr Code à télécharger (4,5).  Le système affiche un formulaire dans un pop-up (6)  L’abonné spécifie de format, taille d'image et le niveau de correction d'erreur du QR Code (7).  Le système envoie la demande et télécharge le QR Code (8,9). Analyse du cas d’utilisation « statistique de scan » Traçabilité entre le modèle de cas d’utilisation et le modèle d’analyse : Interface Gérer QR Code Gestionnaire Gérer QR Code 1:Choisir Gérer qr code 4: envoyer la demande 2: choisir un qr code 5:Vérification de l'id du QR Code 6:Affichage d'un formulaire 3: choisir 'Download' 7: remplir le formulaire 8: envoyer demande 9: télécharger QR Code Abonné qrcode
  • 42. 32 Figure 25 : Traçabilité entre le modèle du cas d'utilisation et le modèle d'analyse du cas d'utilisation « consulter statistique de scan de QR Code » Consulter statistique de scan Consulter statistique de scan Interface Gérer QR Code Gestionnaire Gérer QR Code <participate> <Participate> <<Trace>> qrcode <participate> scans <participate>
  • 43. 33 de classe d’Analyse Figure 26 : Diagramme de classe d’analyse du cas d’utilisation « Consulter Statique de scan de QR Code » Diagramme de collaboration Figure 27 : Diagramme de collaboration du cas d’utilisation « consulter statistique de Scan » Interface Gérer QR Code Gestionnaire Gérer QR Code Abonné qrcodeScan Interface Gérer QR Code Gestionnaire Gérer QR Code 1:Choisir Gérer qr code 4: envoyer la demande 2: choisir un qr code 7:Affichage de nombre de scan et nombre d'apareil 3: choisir 'statiscs' 6: Rechager les données Abonné qrcode 5:vérifier la requete scans
  • 44. 34 Description de diagramme de collaboration :  L’abonné choisit un QR Code dans la liste et sélectionne « statistics » (1,2,3).  Le système envoie la demande et vérifie la requête dans les entités Scans et qrcode (4,5)  Le système affiche le nombre de scan et le nombre d’appareil qui ont scanné le QR code (7). 3. Conception des cas d’utilisation prioritaires Dans cette partie, nous allons illustrer la traçabilité entre le modèle d’analyse et le modèle de conception, le diagramme de classes du modèle de conception ainsi que le diagramme de séquence du modèle de conception. Modèle de conception du cas d’utilisation « S’authentifier » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 28 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « S’authentifier » <<boundary>> Interface S'authentifier <<entity>> users <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire s'authentifier Interface S'authentifier Gestonnaire s'authentifier users
  • 45. 35 Diagramme de classe de Conception Figure 29 : Diagramme de classe de conception « S’authentifier » Diagramme de Séquence détaillé du cas d’utilisation « S’authentifier » Figure 30 : Diagramme Séquence détaillé du cas d’utilisation « S’authentifier » <<boundary>> Interface S'authentifier <<entity>> users <<control>> Gestionnaire s'authentifier S'authentifier Envoie de Requete Envoie desdonnées Resaisir sesidentifiants Affichage de la page d'accueil Saisie Incorrecte Réponse Vérification desdonnées Envoie de Requete Envoie desdonnées Saisir sesidentifiants Abonné :Interface S'authentifier :Gestionnaire S'authentifier :users [Non Valide] [Valide] alt
  • 46. 36 Modèle de conception du cas d’utilisation « S’inscrire » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 31 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « S’inscrire » Diagramme de classe de Conception Figure 32 : Diagramme de classe de conception « S’inscrire » <<boundary>> Interface s'inscrire <<entity>> users <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire s'inscrire Interface s'inscrire Gestionnaire s'inscrire users <<boundary>> Interface S'inscrire <<entity>> users <<control>> Gestionnaire s'inscrire
  • 47. 37 Diagramme de Séquence détaillé du cas d’utilisation « s’inscrire » Figure 33 : Diagramme Séquence détaillé du cas d’utilisation « S’inscrire » S'inscrire envoie des données reponse vérification confirmation non effectuer remplir le formulaire affichage du formulaire d'inscription remplir le formulaire confirme l'inscription et affiche la page d'accueil envoie de requete envoie de la demande vérification du mail et confirmation d'inscription Vérification des données champs erroné Envoie de Requete Vérification de validité des champs validation d'inscription et deamande de confirmation du compte envoyer par mail Envoie de Requete Saisie Incorrecte Réponse Envoie des données choisir le Menu "Register" Envoyer la demande Internaute :Interface S'inscrire :Gestionnaire S'inscrire :users [Non Valide] [Valide] alt [Non Valide] [valide] alt [ok] [Nok] alt
  • 48. 38 Modèle de conception du cas d’utilisation « Créer QR Code » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 34 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Créer QR Code » Diagramme de classe de Conception Figure 35 : Diagramme de classe de conception « Créer QR Code » <<boundary>> Interface Créer QR Code <<entity>> qrcode <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire créer QR Code Interface créer QR Code Gestionnaire créer QR Code qrcode <<entity>> users <<Trace>> users <<boundary>> InterfaceCréerQRCode <<entity>> qrcode <<control>> GestionnairecréerQRCode <<entity>> users
  • 49. 39 Diagramme de séquence détaillé du cas d’utilisation « Créer QR Code » Figure 36 : Diagramme Séquence détaillé du cas d’utilisation « Créer QR Code » Conclusion Dans ce chapitre, nous avons réussi à dégager et analyser les besoins fonctionnels restants. Nous avons réalisé aussi la conception des cas d’utilisations prioritaires. Créer QR Code QR Code généré et affichage de liste de QR Code de l'abonné Envoie de Requete QR Code n'est pasEnregistré Envoie desdonnées Remplir le formulaire Réponse Vérification desdonnées Champserroné Envoie de requete Vérification de validité deschamps Envoie de données Remplire le formulaire Affichage du formulaire selon type choisie Choisir un type de QR Code Choisir le Menu "Create QR Code Envoie de Demande Abonné :Interface Créer QR Code :Gestionnaire QR Code qrcode ref S'authentifier() [Non Valide] [Valide] alt
  • 50. 40 Chapitre IV : Construction Introduction La phase de construction est la quatrième phase du processus unifié. Elle vise à Transformer l’architecture de référence en produit complet. Durant cette phase, nous allons continuer à présenter le modèle de conception des cas d’utilisation secondaire ainsi que la Conception de la base de données. 1. Conception des cas d’utilisation secondaire Modèle de conception du cas d’utilisation « Gérer QR Code » Modèle de conception du cas d’utilisation « Modifier QR Code » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 37 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Modifier QR Code » <<boundary>> Interface Gérer QR Code <<entity>> qrcode <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire Gérer QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode
  • 51. 41 Diagramme de classe de Conception Figure 38 : Diagramme de classe de conception « Modifier QR Code » Diagramme de séquence détaillé du cas d’utilisation « Modifier QR Code » Figure 39 : Diagramme Séquence détaillé du cas d’utilisation « Modifier QR Code » <<boundary>> Interface Gérer QR Code <<entity>> qrcode <<control>> Gestionnaire Gérer QR Code Modifier Ecrasé et remplir leschampsà modifier Envoie de Demande Choisir le Menu "Manage" Affichage de liste des Qr Codes Choisir un QR Code Affichage d'un formulaire rempli choisir le sousmenu "Design" Envoie de données Vérification de validité deschamps Envoie de requete Champserroné Vérification desdonnées Réponse Remplir le formulaire Envoie desdonnées Modification n'est pasenregister Envoie de Requete QR Code modifier et affichage de liste de QR Code de l'abonné Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode ref S'authentifier() [Non Valide] [Valide] alt
  • 52. 42 Modèle de conception du cas d’utilisation « Archiver QR Code » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 40 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Archiver QR Code » Diagramme de classe de Conception Figure 41 : Diagramme de classe de conception « Archiver QR Code » <<boundary>> Interface Gérer QR Code <<entity>> qrcode <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire Gérer QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode <<boundary>> Interface GérerQRCode <<entity>> qrcode <<control>> Gestionnaire Gérer QRCode
  • 53. 43 Diagramme de séquence détaillé du cas d’utilisation « Archiver QR Code » Figure 42 : Diagramme Séquence détaillé du cas d’utilisation « Archiver QR Code » Archiver Affichage de liste de QR Code QR Code archivé et recharge la liste de QR Code Envoie de requete envoie desdonnées Annuler Archivage Envoie de requete Envoie de données Confirme l'archivage choisir le sousmenu "archive" demande de spécification d'emplacement d'enregistrement Choisir un QR Code Affichage de liste des Qr Codes Choisir le Menu "Manage" Envoie de Demande Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode ref S'authentifier() [OK] [NOK] alt
  • 54. 44 Modèle de conception du cas d’utilisation « Télécharger QR Code » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 43 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Télécharger QR Code » Diagramme de classe de Conception Figure 44 : Diagramme de classe de conception « Télécharger QR Code » <<boundary>> Interface Gérer QR Code <<entity>> qrcode <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire Gérer QR Code Interface Gérer QR Code Gestionnaire Gérer QR Code qrcode <<boundary>> Interface GérerQR Code <<entity>> qrcode <<control>> Gestionnaire Gérer QR Code
  • 55. 45 Diagramme de séquence détaillé du cas d’utilisation « télécharger QR Code » Figure 45 : Diagramme Séquence détaillé du cas d’utilisation « Télécharger QR Code » Télécharger Réponse Vérification Affiche liste de Qr code Envoie de Demande Choisir le Menu "Manage" Affichage de liste des Qr Codes Choisir un QR Code Affiche un formulaire dans un pop-up choisir le sous menu "download" Remplir le formulaire Envoie de données Envoie de requete Annule le téléchargement envoie des données Envoie de requete téléchargement du QR code Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code qrcode ref S'authentifier() [OK] [NOK] alt
  • 56. 46 Modèle de conception du cas d’utilisation « Consulter Statistique de scan de QR Code » Traçabilité entre le modèle d’analyse et le modèle de conception Figure 46 : Diagramme Traçabilité entre le modèle d’analyse et le modèle de conception du cas d’utilisation « Consulter Statistique de scan du QR Code » Diagramme de classe de Conception Figure 467: Diagramme de classe de conception « Consulter Statistique de scan du QR Code » Diagramme de séquence détaillé du cas d’utilisation « consulter statistique de scan de QR Code » <<boundary>> Interface GérerQRCode <<entity>> qrcode <<Trace>> <<Trace>><<trace>> <<control>> Gestionnaire Gérer QRCode Interface GérerQRCode Gestionnaire GérerQRCode qrcode <<entity>> scans <<Trace>> scans <<boundary>> Interface GérerQRCode <<entity>> qrcode <<control>> Gestionnaire Gérer QRCode <<entity>> scans
  • 57. 47 Figure 48 : Diagramme Séquence détaillé du cas d’utilisation « Consulter Statistique de scan du QR Code » 2. Conception de la base de données Dans cette section, nous allons partir d’une description des classes entités des objets dégagés puis nous allons présenter le diagramme de classes et nous finirons par la présentation de script de la création de la base de données. Consulter Statistique de Scan Envoie de requete Envoie de requete Envoie de demande Affichage de nombre de scan du QR Code ainsi le nombre d'appareil qui ont scanné le QR Code choisir le sousmenu "Statistics" Choisir un QR Code Affichage de liste des Qr Codes Choisir le Menu "Manage" Envoie de Demande Abonné :Interface Gérer QR Code :Gestionnaire Gérer QR Code Scansqrcode ref S'authentifier()
  • 58. 48 2.1.Description des classes des entités Dans cette partie, nous allons décrire les classes des entités qui sont déterminées à partir de la conception des cas d’utilisation.  Description de la classe entités « users » users Attribut Libellé Type User_id Identifiant de l’utilisateur Entier firstname Nom de l’utilisateur Chaine de caractère Lastname Prénom de l’utilisateur Chaine de caractère Email Email de l’utilisateur Chaine de caractère Password Mot de passe de l’utilisateur Chaine de caractère Phone Numéro de téléphone Chaine de caractère Gouverment Gouvernorat de résidence de l’utilisateur Chaine de caractère street Rue de résidence de l’utilisateur Chaine de caractère City Cité de résidence de l’utilisateur Chaine de caractère zipCode Code postal Chaine de caractère Role Fonction de l’utilisateur Chaine de caractère Avatar_dir Chemin de l’image Avatar Photo de profil Chaine de caractère enabled Statut du compte de l’utilisateur Chaine de caractère Email_verified Vérification de l’email Booléen Tableau 12 : les attributs de la table « users »  Description de la classe entités « qrcode » Qrcode Attribut Libellé Type Id Id de QR code Entier shortUrl Forme réduite de l’url Chaine de caractère codeColor Code du couleur Chaine de caractère backgroundColor Couleur de background Chaine de caractère Name Nom de QR code Chaine de caractère Geolocation Géolocalisation de qrcode Booléen Dynamic Défini un QR code dynamique Booléen type Défini type de QR code (app, vcard, etc.) Chaine de caractère Created Détermine la date de création d’un QR code Date
  • 59. 49 Modified Détermine la date de modification d’un QR code Date archived Détermine la date d’archivage d’un QR code Date Draft Booléen ScanCounter Compte le nombre de scan Entier uniqueScanCounter Compte le nombre d’appareils qui ont effectué un scan Entier Tableau 13 : les attributs de la table « qrcodes »  Description de la classe entités « apps » Apps Attribut Libellé Type Qrcode_id Id du qr code Entier logo Logo de l’application Chaine de caractère Name Nom de l’application Chaine de caractère Description Description de l’application Chaine de caractère Fallback Lien de l’application Chaine de caractère Ioslink Lien de l’application pour téléchargement depuis un ios Chaine de caractère Androidlink Lien de l’application pour téléchargement depuis un os android Chaine de caractère Windowslink Lien de l’application pour téléchargement depuis un os windows Chaine de caractère blackberrylink Lien de l’application pour téléchargement depuis un os blackberry Chaine de caractère Tableau 14 : les attributs de la table « apps »
  • 60. 50  Description de la classe entités « facebookpages » facebookpages Attribut Libellé Type Qrcode_id Identifiant du qr code Entier Name Nom du qr code Chaine de caractère Type Chaine de caractère pagelink Lien de la page facebook Chaine de caractère Tableau 15 : les attributs de la table « facebookpages »  Description de la classe entités « files » files Attribut Libellé Type Qrcode_id Identifiant du qrcode Entier Name Nom du fichier Chaine de caractère File_src Chemin du Fichier image Chaine de caractère Type Type fichier Chaine de caractère size Taille du fichier Entier Tableau 16 : les attributs de la table « files »  Description de la classe entités « multilinks » multilinks Attribut Libellé Type Qrcode_id Identifiant du QR code Entier link Entier Tableau 17 : les attributs de la table « multilinks »  Description de la classe entités « qrcodeemail » qrcodeemail Attribut Libellé Type qrcode_id Identifiant du QR code Entier sender Indique l’émetteur d’un email Chaine de caractère Reciver Indique le récepteur d’un email Chaine de caractère Subject Indique l’objet d’un email Chaine de caractère Header Indique l’entête d’un email Chaine de caractère Body Indique le corps d’un email Chaine de caractère Tableau 18 : les attributs de la table « qrcodeemail »
  • 61. 51  Description de la classe entités « qrcodesms » qrcodesms Attribut Libellé Type qrcode_id Identifiant du QR code Entier Phone Numéro de téléphone Chaine de caractère Message Message à envoyer Chaine de caractère Tableau 19 : les attributs de la table « qrcodesms »  Description de la classe entités « Scans » scans Attribut Libellé Type id Identifiant du scan Entier ipAdress Indique l’adresse ip de l’appareil qui a effectué le scan Chaine de caractère browser Indique le navigateur utiliser Chaine de caractère counter Indique l’objet d’un email Entier uniqueUserId Indique l’id d’internaute Chaine de caractère Qrcode_id Identifiant du qr code Entier Tableau 20 : les attributs de la table « scan »  Description de la classe entités « qrcodetext » qrcodetext Attribut Libellé Type qrcode_id Identifiant du QR code Entier body Le corps du texte Chaine de caractère Tableau 21 : les attributs de la table « qrcodetext »  Description de la classe entités « vcard » vcard Attribut Libellé Type qrcode_id Identifiant du QR code Entier headerColor Couleur de l’émulateur de vcard Chaine de caractère headerImage Image de l’émulateur de vcard Chaine de caractère buttonColor Couleur de l’émulateur de vcard Chaine de caractère avatarImage Image de l’émulateur de vcard Chaine de caractère firstname Nom à enregistrer dans la carte visite Chaine de caractère lastname Prénom à enregistrer dans la carte visite Chaine de caractère Company Société à enregistrer dans la carte visite Chaine de caractère
  • 62. 52 Job Occupation à enregistrer dans la carte visite Chaine de caractère Email Email à enregistrer dans la carte visite Chaine de caractère Mobile Numéro de téléphone portable à enregistrer dans la carte visite Chaine de caractère Phone Numéro de téléphone à enregistrer dans la carte visite Chaine de caractère Fax Numéro de fax à enregistrer dans la carte visite Chaine de caractère street Rue de résidence à enregistrer dans la carte visite Chaine de caractère City Cité de résidence à enregistrer dans la carte visite Chaine de caractère Zip Code postal à enregistrer dans la carte visite Chaine de caractère Country Pays à enregistrer dans la carte visite Chaine de caractère Website Site web à enregistrer dans la carte visite Chaine de caractère About Description de l’entreprise ou la personne qui crée un vcard Chaine de caractère Tableau 22 : les attributs de la table « vcard »
  • 63. 53 2.2.Diagramme de classes Figure 49 : Diagramme de classe 2.3.Script de création de la base de données CREATE TABLE `users` (`user_id` int(11) NOT NULL, `firstname` varchar(255) NOT NULL, `lastname` varchar(255) NOT NULL,`email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `phone` int(11) DEFAULT NULL, `gouverment` varchar(255) DEFAULT NULL,`street` varchar(255) DEFAULT NULL, `city` varchar(255) DEFAULT NULL, `zipCode` int(11) DEFAULT NULL, `avatar_dir` varchar(255) DEFAULT NULL, `avatar` varchar(255) DEFAULT NULL, `enabled` tinyint(1) DEFAULT '1', `email_verified` tinyint(1) NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; Gérer 1..n 1 Créer 1 1..n QrCode - - - - - - - - - - - id shortURL codeColor Geolocalisation dynamic created modified archived backgroundColor name type : int : char : char : boolean : boolean : Date : Date : Date : char : char : char + + Créer QrCode () Gérer QrCode () ... : void : void QrCodeSocialMedia - - - - QrCode_id PageName Type Link : int : char : char : URL QrCodeEmail - - - QrCode_id Header Body : int : char : char QrCodevCard - - - - - - - - - - - - QrCode_id FirstName LastName CurrentPosition email Phone Fax Street City Country Website About : int : char : char : char : char : int : int : char : char : char : char : char QrCodeLink - - QrCode_id Link : int : char QrCodeSMS - - - QrCode_id phone msg : int : int : char QrCodeText - - QrCode_id BodyText : int : char QrCodeApp - - - - - - - - - QrCode_id Logo Name Description IOSLink AndroidLink BlackBerryLink Windows fallback : int : IMG : IMG : char : URL : URL : URL : URL : URL QrCodeFile - - - - - QrCode_id name file_src type size : int : char : char : int : char vLink - - - - - QrCode_id CoverColor Logo Description AutoRedirect : int : char : IMG : char : Boolean vText - - - - QrCode_id HeaderColor HeaderText BodyColor : int : char : char : char vCard - - - - - - - - QrCode_id CoverIMG ProfilIMG fbLink tweetter Google Instagram LinkedIn : int : IMG : IMG : URL : URL : URL : URL : URl User - - - - - - - - - - Person_id firstname lastname password phone gouverment street city zipcode avatar : int : char : char : char : char : char : char : char : char : IMG + + s'inscrire () S'authentifier () ... : void : void
  • 64. 54 CREATE TABLE `qrcodes` (`id` int(11) NOT NULL,`shortUrl` varchar(20) NOT NULL, `codeColor` varchar(7) DEFAULT '#000000', `backgroundColor` varchar(7) DEFAULT '#ffffff', `name` varchar(25) DEFAULT NULL, `geolocation` tinyint(1) NOT NULL DEFAULT '0', `dynamic` tinyint(1) NOT NULL DEFAULT '0', `type` varchar(20) DEFAULT NULL, `created` timestamp NOT NULL, `modified` timestamp NOT NULL, `archived` tinyint(1) NOT NULL DEFAULT '0',`draft` tinyint(1) NOT NULL DEFAULT '1', `scanCounter` int(11) NOT NULL DEFAULT '0', `uniqueScanCounter` int(11) NOT NULL DEFAULT '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `apps` (`qrcode_id` int(11) NOT NULL, `logo` varchar(255) DEFAULT NULL, `name` varchar(50) NOT NULL, `description` varchar(255) DEFAULT NULL, `fallback` varchar(255) NOT NULL, `ioslink` varchar(255) DEFAULT NULL, `androidlink` varchar(255) DEFAULT NULL, `windowslink` varchar(255) DEFAULT NULL,`blackberrylink` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `facebookpages` ( `qrcode_id` int(11) NOT NULL, `name` varchar(25) DEFAULT NULL, `type` varchar(15) DEFAULT NULL, `pagelink` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `files` ( `qrcode_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `file_src` varchar(255) NOT NULL, `type` varchar(50) NOT NULL, `size` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `multilinks` ( `qrcode_id` int(11) NOT NULL,
  • 65. 55 `link` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `qrcodeemail` (`qrcode_id` int(11) NOT NULL, `sender` varchar(150) NOT NULL,`reciver` varchar(150) NOT NULL, `subject` varchar(150) NOT NULL, `header` varchar(150) NOT NULL, `body` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `qrcodesms` (`qrcode_id` int(11) NOT NULL, `phone` varchar(15) NOT NULL,`message` varchar(160) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `qrcodetext` (`qrcode_id` int(11) NOT NULL, `body` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `vcards` ( `qrcode_id` int(11) NOT NULL, `headerColor` varchar(7) DEFAULT NULL, `headerImage` varchar(255) DEFAULT NULL, `buttonColor` varchar(7) DEFAULT NULL, `avatarImage` varchar(255) DEFAULT NULL, `firstname` varchar(20) DEFAULT NULL, `lastname` varchar(20) DEFAULT NULL, `company` varchar(20) DEFAULT NULL, `job` varchar(30) DEFAULT NULL, `email` varchar(150) DEFAULT NULL,`mobile` varchar(20) DEFAULT NULL, `phone` varchar(25) DEFAULT NULL, `fax` varchar(25) DEFAULT NULL, `street` varchar(255) DEFAULT NULL, `city` varchar(25) DEFAULT NULL, `zip` int(5) DEFAULT NULL,`country` varchar(30) DEFAULT NULL, `website` varchar(150) DEFAULT NULL,`about` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `websites` (`qrcode_id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL,`link` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
  • 66. 56 CREATE TABLE `scans` (`id` bigint(20) NOT NULL, `os` varchar(20) DEFAULT NULL,`browser` varchar(20) DEFAULT NULL, `ipAdress` varchar(45) NOT NULL, `uniqueUserId` varchar(255) NOT NULL, `counter` int(11) NOT NULL DEFAULT '0', `qrcode_id` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; Conclusion Dans ce chapitre, nous avons réussi à réaliser une conception complète et détaillée des cas d’utilisation non prioritaire, du diagramme de classes qui nous a permis de générer et présenter le script de base de données. Dans ce qui suit, nous allons présenter la dernière phase du processus unifié qui consiste à connaitre l’environnement matériel et logiciel, ainsi que l’architecture adoptée contribuant à la réalisation du projet.
  • 67. 57 Chapitre VI : Transition Introduction Après avoir achevé la phase de construction, nous allons entamer dans la partie transition dans laquelle on doit s’assurer que l’application soit prête à être livrée et utiliser. On se préoccupera ainsi, de l’exploitation de l’environnement logiciel de l’application, par la suite nous allons faire une démonstration de quelques interfaces. 1. Environnement de travail Pour mettre en œuvre une application complète et prête à être exploité par les utilisateurs finaux, il existe de nombreuses technologies et solution techniques. Voici quelques-unes que nous avons utilisées pour cette fin. 1.1.Environnement matériel HP Pavillon G6 ➢ Processeur : i3-2370M 2.40 GHz ➢ Disque Dur : 500 GO ➢ RAM : 4 GO ➢ Système d’exploitation : Windows10 Tableau 23 : Environnement Matérielle
  • 68. 58 1.2.Environnement Logiciels Outils de Conception PowerAMC PowerAMC est un logiciel de modélisation. Il permet de modéliser les traitements informatiques et leurs bases de données associées. Créé par SDP sous le nom AMC*Designor, racheté par Powersoft, ce logiciel est produit par Sybase depuis le rachat par cet éditeur en 1995. [3] PowerAMC permet de réaliser tous les types de modèles informatiques. [3] Tableau 23 : Outils de Conception Outils de développement Outils de Développement PHP Storm : est un environnement de développement (IDE pour integrated development environment) conçu pour PHP, développé par la société JetBrains s.r.o. depuis 2009. Écrit en Java, il permet d'éditer du code en PHP, en HTML et en JavaScript. [4] MySQL est un système de gestion de base de données relationnelle (SGBDR) open source basé sur SQL (Structured Query Language). [5] MySQL fonctionne sur presque toutes les plateformes et tout type d’application. Il s’agit d’un SGBDR le plus connu et utilisés. [5] Tableau 24 : Outils de développement
  • 69. 59 Langage de programmation PHP PHP est un langage interprété qui a été conçu dès son origine pour le Web. Il est aujourd’hui devenu le leadeur incontesté dans ce domaine. Plus de 9 millions de sites l’ont aujourd’hui choisi comme plateforme de développement web.[6] Tableau 25 : Langage de programmation Framework CaKePhp CakePhp est un Framework de développement rapide pour PHP, gratuit, et open source. C’est un ensemble de briques élémentaires pour les programmeurs qui créent des applications web. Notre objectif principal est de vous permettre de travailler de manière rapide et structurée, sans toutefois perdre en flexibilité. [7] AngularJs est une plateforme de développement pour créer des applications en utilisant les standards du web modernes. Angular comprend une foule de caractéristiques essentielles telle que les gestures mobiles, les animations, le filtrage, le routage, la liaison de données, la sécurité, l'internationalisation, et de beaux composants d'interface utilisateur. Il est extrêmement modulaire, léger et facile à apprendre. [8]
  • 70. 60 Bootstrap, c'est d'abord un Framework CSS proposé par Twitter sous la licence apache. C'est-à-dire que vous pouvez l'utiliser comme vous le souhaitez, que ce soit commercial ou non. [9] Tableau 26 : Framework 2. Architecture 2.1.Architecture Physique Nous avons utilisé dans notre application l’architecture 3 tiers. Dans cette architecture, le client est constitué d’un simple navigateur internet et communique avec le serveur. Elle est composée de trois éléments ou trois couches. La couche présentation ou affichage est le client « léger » dans la mesure où il ne fait aucun traitement. [10] La couche fonctionnelle ou métier est en général un serveur Web. Et enfin, la couche de données est liée au serveur de base de données(SGBD). [10] Figure 50 : Les différentes couches de l’architecture 3-tiers La couche présentation (de premier niveau) souvent appelée IHM (Interface Homme Machine) correspond à la partie visible et interactive. Cette partie est réalisée pour le web en HTML en général avec JavaScript, Flash… [10]
  • 71. 61 La couche métier (de second niveau) correspondant à la partie fonctionnelle de l’application. Les opérations à réaliser, les fonctions d’accès aux données et les traitements sont mis à la disposition des utilisateurs et invoqués par leurs requêtes. Pour fournir ces services, elle s’appuie parfois sur la couche accès aux données et en retour renvoie à la couche présentation les résultats qu’elle a calculés. [10] La dernière couche (de troisième niveau) gère l’accès aux données du système. Ces données peuvent être stockées sur le même système (fichiers, fichiers XML, Base de données, images… ou sur d’autres systèmes. L’accès aux données est transparent pour la couche métier et correspond uniquement à la préoccupation de la couche accès aux données. [10] 2.2.Architecture Technique Pour l’élaboration de cette application, nous avons utilisé l’architecture MVC (Model Vue Controller). [11] L’architecture MVC proposée par SUN est une architecture permettant de séparer la partie présentation dans une application web. [11] Dans l’architecture MVC : Le Model en MVC : représente essentiellement les données ou les informations. Il représente également le logique métier qui est appliqué pour accéder et modifier la base des données. [12] Le View représente la IHM (Interface Homme Machine). Il communique avec Controller pour envoyer les « user gestures », qui est une communication basée sur l’évènement. La communication se produit lorsque l’utilisation clique sur un "bouton" ou frappe une touche "retour". [12] Controller : fournit le comportement de l’application. Il contrôle le traitement des actions utilisateur, un évènement se déclenche chaque fois qu’une action est réalisée. [12] 3. Interfaces de l’application Dans cette partie, nous présentons quelques interfaces de notre application.
  • 72. 62 Figure 51 : Interface d’inscription Cette figure présente l’interface d’inscription : Chaque internaute veut s’inscrire doit remplir les champs du formulaire et valide. Figure 52 : Interface d’authentification Après l’inscription l’interface d’authentification s’affiche et message demandant la vérification du mail apparaitre pour confirmer l’inscription.
  • 73. 63 Figure 53 : Interface d’authentification Cette figure présente l’interface d’authentification : Chaque Abonné introduit son login et mot de passe et valide pour accéder à son espace personnel. Figure 54 : Interface profil Cette interface présente toutes les informations personnelles d’un abonné. Il est possible de les modifier en changeant les valeurs des champs et cliquer sur « save ». Il est aussi possible de modifier la photo de profil avec un simple clic sur la photo et la modification du mot de passe en suivant le lien « change password ».
  • 74. 64 Figure 55 : Interface reset password Au cas où l’abonné ne peut plus s’accéder à son espace personnel lors d’authentification, il peut suivre le lien « forgot password » Cette figure présente l’interface reset password où l’utilisateur peut introduire son mail et valide. Le système envoie un mail à l’email introduit pour changer le mot de passe Figure 56 : Interface boite email de l’abonné Cette interface est une démonstration d’un email de demande de modification du mot de passe.
  • 75. 65 Figure 57 : Interface « Changer Mot de passe » Dans cette interface l’abonné peut introduire son nouveau mot de passe et valide Figure 58 : Interface créer QR Code Pour générer son QR Code L’abonné choisie le type de QR Code à générer dans une première étape. Les données se diffèrent selon le type du QR Code disponible (vCard, App, Website, etc.).
  • 76. 66 Figure 59 : Interface Vcard Cette interface présente la deuxième étape de création de création de création du QR Code. Dans cette étape, l’abonné remplit les champs du formulaire par les informations à stocker dans le QR Code et les valides en cliquant sur « suivant ».
  • 77. 67 Figure 60 : Interface Vcard : personnalisation de design Pour finir la création ou la génération du QR Code l’abonné peut définir la couleur du background du QR Code ainsi que sa couleur. Il peut aussi ajouter un label.
  • 78. 68 Figure 61 : Interface Mange Cette figure présente l’ensemble des QR Codes créer par l’abonné.
  • 79. 69 Figure 62 : Interface Mange L’abonné peut voir le nombre de scan, modifier le continu ou design, télécharger ou archiver un ou plusieurs QR Code Figure 63 : Interface Mange Dans cette interface les QR Code sont présentés sous forme d’une liste.
  • 80. 70 Figure 64 : Interface Archive Cette figure présente l’interface Archive dans laquelle tous les QR Codes non utilisés sont archivés. L’abonné peut les réutiliser ou les supprimer définitivement. Conclusion Dans ce dernier chapitre, nous avons présenté, tout d’abord, l’environnement de travail utiliser pour la réalisation de projet. Ensuite, nous avons illustré et testé quelques interfaces de notre application.
  • 81. 71 Conclusion et Perspective Ce rapport est le fruit d’un travail réaliser durant un stage au sein de la société Galactech Studio pour un projet de fin d’études qui a pour objectif la génération des QR codes et la permission de sa personnalisation d’une manière dynamique. En élaborant ce projet, nous avons présenté, en premier lieu, le cadre du projet, ainsi que les différents besoins, les acteurs et les risques de future application tout en mettant on œuvre la méthodologie et le modèle de conception utilisée. Par la suite, nous sommes penchés sur une analyse approfondie des besoins dégager dans une première phase pour qu’on puisse réaliser une conception fiable. Cette analyse nous a permis de comprendre le système et d’enchainer la réalisation. Au terme de ce projet, nous avons réalisé les fonctionnalités de base utiles à chaque abonné. D’autre fonctionnalités peuvent être ajoutées afin d’optimiser l’application, notamment, la personnalisation des modules des QR Codes (Ajout du logo, personnalisation de la forme des modules du QR Code, etc.) et la gestion d’abonnement (payement électronique), l’ajout de scan en ligne, la création d’une application Android de générateur de QR Code . Ce projet est une opportunité pour découvrir et s’intégrer dans le monde de professionnelle et d’améliorer les compétences en programmation web. La réalisation de ce projet présente une formidable expérience humaine, grâce au contact avec l’équipe de l’entreprise qui nous ont prodigué leurs conseils et nous font bénéficier de leurs expériences.
  • 82. 72 Bibliographie [1] I.Jacobson, G.Booch and J.Rumbaugh. « Le processus unifié de développement logiciel ». Édition Eyrolles,23 juin 2000. [2] Pascal Roques. « UML 2 Modéliser une application web ». 3e édition Eyrolles. [10] Jérôme Lafosse. « Java EE Guide de développement d’application web en java ». Éditions ENI, Février 2009. [11] Benjamin Aumaille. « J2EE Développement d’applications Web ». Édition ENI, Mars 2002. [12] B.V.Kumar, S.Sangeetha and S.V.Subrahmanya. « J2EE Architecture an illustrative gateway to entreprise solutions: Concepts to Application Design and Deployment». Édition Tata McGraw-Hill publishing Company 2007.
  • 83. 73 Webographie [3] http://www.techno-science.net/?onglet=glossaire&definition=764 Consulter le 11/05/2017. [4] https://www.video2brain.com/fr/phpstorm .Consulter le 11/05/2017 [5] http://searchenterpriselinux.techtarget.com/definition/MySQL. Consulter le 11/05/2017. [6]https://books.google.tn/books?id=QSNCPOn3hDgC&pg=PA22&dq=php+gratuit&hl =fr&sa=X&ved=0ahUKEwiv39zH9J3TAhXF6xQKHWtCBckQ6AEIFzAA#v=onepage& q=php%20gratuit&f=false. Consulter le 11/05/2017. [7] https://book.cakephp.org/1.3/fr/The-Manual/Beginning-With-CakePHP/What-is- CakePHP-Why-Use-it.html . Consulter le 13/05/2017. [8] https://devlopez.blogspot.com/2015/09/angularjs-definition-et-utilisation.html . Consulter le 13/05/2017 [9] http://www.mathieurobin.com/2011/10/twitter-bootstrap-framework-css-js/ Consulter le 11/05/2017.