Académique Documents
Professionnel Documents
Culture Documents
Par
Par
Siwar
A mes chers parents qui ont cru en moi et m’ont toujours soutenu dans les périodes les plus
difficiles de ma vie, pour leurs dévouements et leurs amours inconditionné pour faire de moi la
personne que je suis aujourd’hui.
A ma sœur et mon frère qui n’ont cessé de croire en moi et de me soutenir. A toutes les personnes
qui ont croisé mon chemin.
A mes chers amis qui me procurent beaucoup de joie et de sympathie, je tiens à leur dédier cet
humble travail, le fruit de mes efforts et de mes sacrices pendant toutes ces années d’études..
Enfin, merci à tous ceux qui, de près ou de loin, m’ont épaulée durant ma jeunesse et mes études,
aucun mot n’exprimera ma profonde gratitude pour tout l’amour, Le soutien, les sacrifices et la
confiance qu’ils me font.
Ikram
A mes parents, qui m’ont élevée, qui m’ont toujours dirigée vers le chemin de la réussite.
A ma sœur qui m’a soutenue dans toutes mes aventures, qui me donne l’énergie d’avancer dans la
bonne direction. Je ne la remercierai jamais assez pour tous ses efforts quotidiens, que Dieu lui
procure santé et longue vie.
A mes amis et mes collègues Pour leur encouragement et pour tous les bons moments qu’on a
vécus ensemble, j’espère qu’ils puissent trouver dans ce modeste travail un témoignage d’amour et
d’affection envers eux.
i
Remerciements
C’est avec un grand plaisir que nous réservons ces lignes en signe de gratitude et de reconnaissance
à tous ceux qui ont contribué de prés ou de loin à l’élaboration de ce travail.
Nos gratitudes et nos reconnaissances s’adressent à notre encadrant académique Monsieur Riadh
Zaafrani pour son encadrement, son dévouement, son soutien, sa disponibilité et ses conseils qui
nous ont guidés tout au long de ce stage.
Nos remerciements s’adressent également à notre tuteur de stage Monsieur Ali Tababi pour
tout le temps qu’il nous a consacré, ses directives précieuses et pour la qualité de son suivi durant
la période de notre stage.
Enfin une pensée particulière à tous nos enseignants de l’ISI et à tous ceux qui ont participé
à notre formation. Qu’ils trouvent ici l’expression de notre gratitude et de notre profond respect.
ii
Table des matières
Introduction générale 1
iii
3.3 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.2 Architecture technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.3 Architecture applicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1 Système d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.2 Outil de conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.3 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.4 Editeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.5 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.6 Installation et paramétrage général de l’environnement de
développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques 51
5.1 Backlog Sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
iv
5.2 Spécication fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 Diagramme du cas d’utilisation du deuxième sprint . . . . . . . . . . . . . . . 53
5.2.2 raffinement du sous cas d’utilisation «gérer des nomenclatures» . . . . . . . . 54
5.2.3 Description du sous cas d’utilisation « ajouter type nomenclature» . . . . . . 54
5.2.4 Description du sous cas d’utilisation « consulter historique des réservations» . 56
5.2.5 Description textuelle du cas d’utilisation «consulter des statistiques» . . . . . 56
5.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.2 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Conclusion générale 84
Bibliographie 85
Annexes 86
v
Table des figures
vi
Table des figures
vii
6.7 Interface recherche en cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.8 Interface résultat recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.9 Interface information agence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.10 Interface choisir horraire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.11 Interface choisir horraire 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.12 Interface de Ticket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.13 Interface de profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.14 Géolocaliser agence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
viii
Liste des tableaux
ix
Liste des tableaux
x
Liste des abréviations
— BD = Base de Données
— PO = Product Owner
xi
Introduction générale
Nous sommes dans un monde de plus en plus connecté, de plus en plus relié aux outils
informatiques. A vrai dire ces outils sont devenus incontournables voir obligatoires dans
certains domaines. Etant donné la forte croissance du marché des applications web et mobiles,
on assiste à un intérêt croissant de la part des utilisateurs à ce genre d’applications et à leur
diversification couvrant tout type de service et tout type de besoin.
C’est dans ce cadre que s’inscrit notre projet au sein de Services for Fixe and Mobile
Télécommunications SFM qui consiste en la conception et l’implémentation d’un outil de gestion
des files d’attente permettant de décharger les administrations de longues files d’attente et de faire
gagner du temps aux usagers .
Ce présent rapport décrit le travail réalisé, il comporte six chapitres structurés comme suit :
le premier chapitre est un chapitre introductif illustrant le contexte général de notre projet :
description du cadre de notre projet, présentation de l’organisme d’accueil, énonciation de la problématique,
le contexte métier de notre projet, une étude de l’existant accompagnée d’une critique pour aboutir
à la définition de la solution proposée.
Dans le deuxième chapitre, nous commençons par la capture des besoins, nous présentons
ensuite la méthodologie Scrum que nous avons adopté, puis nous décrivons le backlog du produit et le
diagramme du cas d’utilisation global de notre futur système, et nous finissons par une planification
des sprints.
Les trois derniers chapitres se focalisent sur l’étude et la réalisation des sprints de notre
projet. Dans chaque sprint, nous commençons par le « Backlog du Sprint »qui décrit les tâches
1
Introduction générale
à faire, ensuite nous présentons le diagramme de classes et les diagrammes de séquences tout en
illustrant l’exécution de notre application par des captures d’écran.
Nous clôturons ce rapport par une conclusion générale dans laquelle nous reviendrons sur
les atouts majeurs de notre application tout en évoquant les perspectives qui peuvent étendre notre
projet.
2
Chapitre 1
Plan
1 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . 4
2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 solution envisagée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapitre 1. Planification et spécification des besoins
Introduction
Dans ce chapitre introductif, nous allons présenter l’organisme d’accueil SFM dans lequel nous
avons effectué notre stage de projet de fin d’études. Ensuite, on introduira le sujet et on abordera
la problématique ainsi que la solution proposée. On finira par la présentation de la méthodologie de
travail adoptée lors de la réalisation du projet tout en argumentant notre choix.
Nous allons commencer par une présentation de la société d’accueil et de ses secteurs
d’activités
SFM Telecom [1] (Services for Fixe and Mobile Télécommunications Network and System),
membre de I’ITU-D (SFM TECHNOLOGIES, SFM INTERNATIONAL, SFM TELECOM et SFM
CAMEROUN), est un cabinet d’ingénierie et d’expertise en réseaux de télécommunications et
technologies de l’information. Il a été créé en 1995 par un groupe d’ingénieurs, consultants et
spécialistes opérant en Afrique, Asie, Europe, État Unis et Océanie. Ses principaux clients sont le
ministère des télécommunications, les opérateurs des réseaux, les régulateurs des télécommunications
et les agences de fréquences.
SFM Télécom [1] a une organisation hiérarchique simple et claire. Son Organigramme se
présente comme le montre la figure 1.1 ci-dessous
4
Chapitre 1. Planification et spécification des besoins
5
Chapitre 1. Planification et spécification des besoins
SFM apporte et transfère son expertise aux régulateurs, autorités et opérateurs de télécommunications
sous plusieurs formes :
• Audit et Benchmark de qualité de service des réseaux mobiles.
• Planification, Dimensionnement, et Optimisation des réseaux Mobiles.
• Expertise et Ingénierie relative à la Fibre Optique.
• Analyse du trafic.
• Gestion et contrôle du spectre.
• Tarification des services.
B. Conseil Stratégique :
SFM réalise des études stratégiques pour les comptes des Ministères, les Directions Générales
d’Opérateurs et aussi pour les Présidences d’Autorités de Régulation dans le cadre d’actions de
restructuration, de réglementation du secteur, de tarification des ressources rares, de migration vers
des nouvelles architectures ou technologies (2G/ 3G/ 3G+/ LTE, WiMax, NGN, etc.), de vente de
licences, d’ouverture de capital, de prise de participation, etc.
C. Recherche et Développement :
SFM, par son équipe qui intègre des chercheurs universitaires, a engagé des projets, de recherche et
de développement, qui lui permettent de rester à la pointe des nouvelles technologies.
C’est ainsi que les modèles de propagation, les modèles d’interconnexion, les outils d’analyse du
trafic, les techniques d’analyse de la QoS, les outils de mesure terrain de la QoS, sont autant de
domaines faisant l’objet des travaux en partenariat avec l’université et dont bénéficient les clients
de SFM que ce soit pendant les formations ou au cours des missions.
SFM a développé des outils dans le cadre de son laboratoire SFM Lab, dédié à la recherche et au
développement de nouvelles solutions, dont l’objet est de répondre aux besoins évolutifs des clients.
6
Chapitre 1. Planification et spécification des besoins
D. formation :
SFM propose des formations sur mesure à très forte valeur ajoutée. Dans ses locaux, sur le terrain ou
chez ses clients, elle organise périodiquement des missions de formation sur les techniques de mesure
de la QoS.
1.2 Problématique
L’attente avant d’être servi dans un guichet pour obtenir un service ou un document, constitue
un réel problème récurrent aussi bien pour les administrations que pour les bénéficiaires des services.
Génératrice d’une insatisfaction forte, elle focalise la perception des clients sur l’organisation. À
terme, elle induit également un fort risque commercial face à une clientèle de moins en moins
réceptive, obligée de se mettre dans d’interminables rangées dans des locaux pas forcément aménagés
par un grand nombre de personnes C’est ainsi que la gestion des files d’attentes au sein des administrations
répondrait à un vrai besoin des usagers ,en leur offrant la possibilité d’effectuer une réservation a
distance et de géolocaliser les différentes administrations offrant le service se situant à proximité de
l’emplacement du client.
Afin d’atteindre les objectifs du projet, l’étude du système existant et des différents moyens
qui seront mis à notre disposition est une étape importante pour le bon déroulement du projet. En
effet elle permet d’abord de décortiquer les fonctionnalités existantes et surtout de mettre en relief
leurs limites. Ensuite, nous pouvons dégager les solutions envisageables qui peuvent faire face aux
problèmes recensés. De ce fait, nous allons présenter dans cette section le système sur lequel porte
le travail réalisé, dégager les faiblesses et les limites qui ont motivé le lancement de ce projet afin et
présenter la solution retenue. Par ailleurs, Il existe pour cela d’innombrables applications capables de
gérer les files d’attentes. La figure 1.4 ci-dessous montre une comparaison de la qualité des services
proposés par quelques-unes de ces applications :
7
Chapitre 1. Planification et spécification des besoins
Afin de fournir une bonne qualité de service et être à la hauteur des attentes de nos clients,
nous proposons de rajouter d’autres fonctionnalités, telles que la possibilité de saisir des réclamations
et des suggestions, la capacité de Géolocaliser les agences à proximité. Nous avons aussi pensé à
fournir des informations sur toutes les agences et effectuer une recherche multicritères.
Après avoir fait l’analyse des différents outils de gestion des files d’attente dans le marché
à savoir les applications mobiles et les applications web , et afin de remédier aux problèmes déjà
mentionnés ,nous avons opté pour la conception et le développement d’ une solution de gestion de
la file d’attente permettant :
• D’autre part, faciliter la gestion du temps aux usagers qui pourront faire d’autres choses pendant
les heures d’attente.
La solution se compose :
8
Chapitre 1. Planification et spécification des besoins
B) D’une plateforme Web de gestion des agences et de visualisation des statistiques sur un Dashboard.
Une méthodologie est un cadre utilisé pour le contrôle et la planification d’un projet afin
d’obtenir un produit final de bonne qualité. Pour notre projet, nous avons choisi de travailler avec la
méthode Scrum, qui est une méthode de développement agile orientée projet informatique dont les
ressources sont régulièrement actualisées. Scrum [2] vise à satisfaire au mieux les besoins du client
tout en maximisant les probabilités de réussite du projet. Scrum suppose que le développement d’un
logiciel n’est pas prévisible et ne peut donc pas suivre de processus défini. Le résultat du projet
dépend des réorientations que lui donne le client en cours de route. Le projet est composé d’une
suite d’itérations courtes de l’ordre de 3 à 6 semaines appelées sprints et il peut être réorienté par le
client à la fin de chaque sprint. La méthode Scrum définit 3 rôles : le «propriétaire du produit» porte
la vision du produit, le «directeur de produit» est le garant de la méthodologie Scrum et l’équipe de
développement du produit..
Le principe de base de Scrum est de dégager dans un premier lieu le maximum des fonctionnalités
à réaliser pour former le backlog du produit. En second lieu , définir les priorités des fonctionnalités
et choisir lesquelles seront réalisées dans chaque itération. Par la suite, focaliser l’équipe de façon
itérative sur l’ensemble des fonctionnalités à réaliser, dans des itérations appelées Sprints.Un Sprint
aboutit toujours sur la livraison d’un produit partiel fonctionnel appelé incrément .La figure 1.6
ci-dessous présente un résumé du processus de la méthodologie Scrum.
9
Chapitre 1. Planification et spécification des besoins
Le choix de Scrum comme méthodologie de pilotage pour notre projet s’est basé sur les atouts
de ce dernier. Ils se résument comme suit :
• Une architecture souple laisse place à la créativité. En plaçant le cahier des charges en arrière plan,
Scrum évite de frustrer les membres de l’équipe avec un plan et des tâches précises. Etre agile, c’est
être souple et laisser grandir le projet au fil des sprints.
conclusion
Au cours de ce premier chapitre, nous avons présenté le cadre du projet à savoir l’organisme
d’accueil et ses services. De même, nous avons donné un aperçu sur les applications existantes. Nous
avons aussi dévoilé la méthodologie de travail qui sera utilisée dans les prochains chapitres de ce
rapport.
10
Chapitre 2
Plan
1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Introduction
Pour préparer les besoins fonctionnels et non fonctionnels de notre application , nous procédons
ici à l’identification des acteurs de notre système tout en détaillant le rôle de chacun .Un acteur est
une entité externe au système, il présente une personne ou un autre système informatique qui attend
un ou plusieurs services offerts par une interface d’accès qui interagit avec le système par envoi ou
par réception des messages. En se basant sur cette définition, nous avons dégagé la liste des acteurs
de notre système présentée dans le tableau 2.1 ci-dessous :
Acteur Rôle
12
Chapitre 2. Analyse et Spécification des besoins
L’analyse du sujet et l’étude des outils existants nous a permis de dégager les fonctionnalités
qui seront offertes par notre application. Les contraintes auxquelles est soumis le système pour sa
réalisation et son bon fonctionnement seront décrites par la suite comme étant des besoins non
fonctionnels.
Les besoins fonctionnels doivent répondre aux exigences du système en termes de fonctionnalités.
Ils constituent une sorte de contrat par rapport au comportement du système. Notre application doit
donc permettre de :
• S’authentifier par un login et un mot de passe pour accéder aux différentes fonctionnalités.
• Gérer les utilisateurs et les groupes d’utilisateurs de l’application tout en leur affectant des
privilèges et des rôles.
• Gérer les bureaux et les agences de l’entreprise à savoir la position géographique, les types de
services fournis, les prérequis des services . . . .
• Annuler la réservation
13
Chapitre 2. Analyse et Spécification des besoins
Afin d’être conforme aux normes et aux standards des outils informatiques, l’application doit
vérifier quelques propriétés et doit tenir compte de certaines contraintes et exigences :
• Disponibilité : L’application doit être disponible 24h/24h et 7j/7j. Chaque utilisateur peut
consulter l’application à tout moment.
• Modularité : la solution doit être modulaire et bien structurée pour garantir sa souplesse et son
évolutivité.
• La sécurité : la sécurité permet de définir les niveaux d’accès possibles .Un utilisateur non
authentifié ne possède pas le droit d’accès à l’application.
• Réutilisabilité : possibilité de réutiliser des composants du projet en les intégrant dans d’autres
logiciels à développer. On pourra réutiliser la conception et l’architecture adoptée.
2.3 Conception
La phase de conception s’avère indispensable afin d’obtenir, d’une manière formelle une vue
globale sur les exigences de notre application. Cette partie présente une modélisation des besoins en
faisant recours aux concepts fondamentaux d’UML, à savoir le diagramme de cas d’utilisation et le
diagramme de classes global.
14
Chapitre 2. Analyse et Spécification des besoins
Scrum est considéré comme un cadre ou « Framework » de gestion de projet. Ce cadre est
constitué d’une défnition des rôles, il s’articule autour des trois rôles qui sont principalement les
suivants :
• Propriétaire du produit (Product Owner) : Il représente à la fois le client et les utilisateurs. C’est
donc lui qui définit les attentes et les besoins du projet. Ainsi, il définit les tâches permettant de
15
Chapitre 2. Analyse et Spécification des besoins
• Scrum Master : Le Scrum Master assure globalement le bon déroulement des programmes et
protège l’équipe de tout problème extérieur. Il assure également l’organisation des réunions et la
bonne application de la méthode agile.
• Equipe ou Team Members : Ce sont les personnes chargées de la réalisation du Sprint. Elle
est composée des professionnels et elle est caractérisée par une forte coopération et une haute
communication entre les différents membres.
• Equipe ou Team Members : dans le cadre de notre projet de fin d’étude, l’équipe est composée de
Tlili Siwar et Yahmadi Ikram.
Vu le recours à la méthode agile, nous n’avions pas une documentation faite au début du
projet, qui décrit en détail toutes les spécifications fonctionnelles. Les fonctions essentielles sont
collectées progressivement. Le backlog du produit constitue donc l’ensemble du travail connu sur le
projet à un instant donné. Il est régulièrement remis à jour et les besoins qui le constituent sont
aussi régulièrement définis avec leurs priorités.
Nous présentons le tableau 2.1 qui résume le Backlog du produit relatif à notre application contenant
les champs suivants :
• User Story : C’est une description courte de la tâche à réaliser et qui se dénit de la manière suivante :
En tant que <rôle>, nous souhaitons <faire quelque chose> afin de <obtenir de la valeur>
• Priorité : C’est l’importance attribuée par le Product Owner à cette tâche .La méthode MoSCow
est très pratique et très simple à mettre en œuvre pour fixer les priorités
16
Chapitre 2. Analyse et Spécification des besoins
1) M - Must have : Il s’agit des points critiques, ils doivent être traités en priorité. Dans le cas
contraire, le succès du projet en souffrira et mènera à son échec. Ces exigences sont non négociables.
2) S - Should have : Ces points apportent une vraie valeur ajoutée, ce sont les tâches du projet
qui doivent être faites mais dans la mesure du possible, elles sont importantes mais pas vitales. Ces
tâches seront développées une fois que les tâches de la catégorie Must auront été livrées et s’ il reste
assez de temps disponible.
3) C - Could have : C’est bien de les avoir. Généralement, ils font partie des "petits plus" qui
contribuent à la satisfaction client pour un coût très modéré.
4) W - Won ‘t have : Ils sont exclus du projet, mais font partie des points valables pour un traitement
ou une intégration ultérieure.
17
Chapitre 2. Analyse et Spécification des besoins
18
Chapitre 2. Analyse et Spécification des besoins
La réunion de planification des sprints est l’événement le plus important dans Scrum. Le but
de cette réunion est de préparer le planning de travail et d’identifier le Backlog des sprints. L’un des
produits de cette réunion est le choix de la durée des sprints et qui diffère selon la complexité du
projet et la taille de l’équipe.
conclusion
Durant ce chapitre, nous avons d’abord spécifié nos besoins ce qui nous a aidé à avoir une
vision plus claire et une compréhension plus profonde du sujet. Ensuite, nous avons détaillé la
première étape de la méthodologie adoptée à savoir le pilotage du projet avec Scrum et l’élaboration
du Backlog du Produit. Enfin, nous avons planifié nos sprints. Dans le chapitre suivant, nous
traiterons le premier Sprint.
19
Chapitre 3
Plan
1 Langage de modélisation UML . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Diagramme de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Introduction
Pour entamer la conception, nous avons utilisé UML[3], un langage graphique de modélisation
des données et des traitements. Il est adapté à un processus de développement dirigé par les cas
d’utilisation, itératif et incrémental. C’est un formalisme graphique, permettant via la notion de
diagrammes, de représenter le système logiciel à concevoir durant toutes les phases du processus de
développement. UML permet d’exprimer les besoins du système à concevoir, d’analyser, de concevoir,
d’initier la phase de codage et donc aussi de générer une documentation complète de la solution
logicielle finale
• Il a été normalisé par l’Object Management Group, qui est une organisation internationale se
chargeant de la standardisation des technologies objets. Il s’agit donc d’un langage standard
compréhensible par tout le monde.
• UML permet d’utiliser les principes et les concepts objet pour enrichir la phase de la conception
des systèmes.
• Nombre de processeurs :
• UML est indépendant du domaine d’application et des langages d’implémentation. Nous avons
utilisé pour ce fait "StarUML" vu qu’il permet de modéliser des systèmes complexes sous un
format graphique et textuel simplié et normalisé.
21
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Notre travail a été réalisé avec deux ordinateurs portables qui présentent les caractéristiques
suivantes :
•Mémoire : 4 GO, 16 GO
22
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Il s’agit d’une application web /mobile qui se connecte à un serveur de base de données
distant, via internet, afin de récupérer les données, ce qui nécessite l’intégration d’un serveur web
entre l’application client et le serveur de base de données. D’où l’architecture de notre application
qui est partagée entre :
• Le serveur web : vu que les données seront communiquées entre deux environnements hétérogènes.
Le rôle principal de serveur web est de gérer la communication entre le client mobile (Android/ios)
et le serveur de base de données.
Architecture MVC : Le patron d’architecture MVC [4] est un modèle destiné à répondre
aux besoins des applications interactives en séparant les problématiques liées aux différents composants
au sein de leur architecture respective
• Le modèle : cette partie encapsule la logique métier ainsi que l’accès aux données. Il peut s’agir
d’un ensemble de fonctions (Modèle procédural) ou de classes (Modèle orienté objet).
• La vue : Elle s’occupe des interactions avec l’utilisateur : présentation, saisie et validation des
données.
23
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
• Le contrôleur : La partie Contrôleur gère la dynamique de l’application. Elle fait le lien entre
l’utilisateur et le reste de l’application.
La figure 3.3 résume les relations entre les composants d’une architecture MVC La demande de
l’utilisateur (exemple : requête HTTP) est reçue et interprétée par le Contrôleur. Celui-ci utilise les
services du Modèle an de préparer les données à afficher. Ensuite, le Contrôleur fournit ces données
à la Vue, qui les présente à l’utilisateur (par exemple sous la forme d’une page HTML).
Web Service : Il s’agit d’une technologie permettant à des applications de dialoguer à distance
via Internet, et ceci indépendamment des plateformes et des langages sur lesquelles elles reposent.
Pour ce faire, les services Web s’appuient sur un ensemble de protocoles Internet très répandus
(XML, HTTP) afin de communiquer. Cette communication est basée sur le principe de demandes
et réponses
L’architecture REST : REST [5] est une API qui utilise les méthodes http [3] pour accéder à des
ressources distantes sur le web. Elle supporte plusieurs formats de données comme JSON7, XML8,
YML9 . Les ressources sont accessibles à travers un nombre limité de requêtes, PUT pour modier
une ressource, GET pour avoir une ressource, POST pour créer une ressource et DELETE pour la
supprimer.
24
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Au cours de cette section, nous présentons les outils et logiciels utilisés tout au long de notre
projet
StarUML [6] : Il s’agit d’une plateforme OpenSource Utilisée dans le développement logiciel
et dans la conception orientée objet. Grâce à ce logiciel, il vous sera possible de concevoir des classes,
des objets et des acteurs et d’y définir nombre d’attributs. Vous pourrez également créer et ajouter
vos propres plugins, les langages de programmation C++, C et Delphi sont pris en charge.
PhpStorm [7] : Ce logiciel est un IDE commercial pour PHP très puissant. Il s’intègre
avec les gestionnaires de versions comme Subversion, Git, Mercurial, il supporte le terminal SSH
pour des besoins plus particuliers. Il permet aussi de visualiser l’architecture de bases de données de
différentes sources (MySQL, SQLite, ...).
VisualStudio Code : : Visual Studio Code [8] est un éditeur de code développé par Microsoft pour
linux, OS X et Windows. Il est rapide et performant. Il supporte plusieurs langages et framework
Angular, il comporte ainsi un terminal intégré qui permet de lancer le serveur à partir du logiciel.
VsCode intègre plusieurs outils facilitant la saisie de code par les développeurs comme la coloration
syntaxique ou encore le système d’auto-complétion IntelliSense. En outre, cet outil permet aux
développeurs de corriger leur code et de gérer les différentes versions de leurs fichiers de travail.
WampServer : WampServer [9] propose aux développeurs Web un outil de déploiement local ou
en ligne pour le développement des sites Internet dynamiques. Au sein de l’application, on retrouve
Apache HTTP Server en tant que serveur HTTP, PHP pour le langage de script, MySQL pour le
système de gestion des bases de données (SGBD) ainsi que l’application Web phpMyAdmin pour la
gestion des SGBD MySQL. Pour faciliter la création et le déploiement de sites, WampServer intègre
également des outils, tels que XDebug, XDC, SQLBuddy ou encore webGrind. Le logiciel se loge
discrètement dans la zone de notification de Windows et informe l’utilisateur de la mise hors ligne
25
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
ou en ligne du site.
Postman : Postman [10] est une application permettant avec un navigateur Web de lancer des
appels d’API et de les tester. Postman permet d’envoyer des requêtes vers l’API de site en lui
ajoutant des en-têtes clés / valeurs puis il permet de formater le résultat sur plusieurs formats tels
que JSON, XML, HTML et autres.
3.4.4 Editeur
Avant d’entamer l’implémentation de notre application, une étude technologique a été tout
d’abord réalisée. Nous présentons, dans cette partie, les technologies globales avec lesquelles nous
réalisons notre projet tout en argumentant notre choix
• Choix technologique pour la partie Web :
Symfony : Le Framework que nous avons retenu est Symfony [11] dans sa version 3.4 qui est la
version la plus stable. Symfony est un framework Web PHP open-source. Il fournit une architecture,
des composants et des outils aux développeurs, qui permet de réaliser rapidement des applications
web complexes. Parmi les fonctionnalités phares de ce framework. A noter que Symfony est compatible
avec les ORM (Object-relational mappings) Prope et Doctrine. L’architecture de Symfony se compose
de :
• Twig : C’est le moteur de templates utilisé par default dans Symfony. Twig dispose d’une syntaxe
concise et claire, il supporte de nombreuses fonctionnalités utiles, telles que la notion d’héritage,
et il sécurise automatiquement les variables.
• Contrôleur : son rôle est de générer la réponse à la requête HTTP demandée par notre visiteur.
Il est la couche qui se charge d’analyser et de traiter la requête de l’utilisateur.
26
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
27
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Nous avons commencé par executer la commande comme l’indique la figure ci-dessous :
Ensuite nous avons déplacé le fichier symfony téléchargé dans un dossier indiqué dans la
variable d’environnement PATH .
Une fois que nous avons installé Symfony sur notre système local, nous avons crée notre projet
Symfony avec la commande indiquée ci- dessous :
Avant d’installer Ionic et Cordova, nous allons installer Node.js[17] pour gérer l’installation
de package NPM.
28
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Maintenant que Node.js est installé, nous allons installer Ionic en lançant la commande
d’installation de package via NPM.
Création du projet
Nous avons exécuté la commande suivante dans notre terminal afin de créer notre projet ionic et
nous avons obtenu les retours suivants :
29
Chapitre 3. Sprint 0 : Mise en place de l’environnement matériel et logiciel
Conclusion
Dans ce chapitre, nous avons présenté l’environnement matériel et logiciel que nous avons
choisi pour développer notre application. Dans le chapitre suivant, nous entamons le premier sprint.
30
Chapitre 4
Sprint 1 : Authentification,
création et modification des comptes
et gestion des utilisateurs et des
groupes d’utilisateurs
Plan
1 Backlog Sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 Spécification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Introduction
Dans la méthodologie Scrum, tous les sprints ont une durée constante et ne se chevauchent
jamais, c’est-à-dire qu’un sprint ne peut pas démarrer tant que le précédent n’est pas encore termié.
né. Avant de se lancer dans un sprint, l’équipe Scrum doit obligatoirement définir le but de ce
dernier. Ce but doit être défini en termes métiers et non pas en termes techniques pour qu’il
soit compréhensible par les membres en dehors de l’équipe. Il s’agit de répondre à une question
fondamentale « pourquoi faisons-nous ce sprint ? ». Une fois que le but de notre sprint soit défini, on
choisit les histoires qui seront incluses dans le backlog du sprint. Le Tableau 4.1 résume le backlog
de notre premier sprint :
32
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Passons maintenant au vif de notre sujet : les activités et le cycle de développement. Dans
un sprint, nous pouvons dégager quatre activités principales qui sont la spécification fonctionnelle,
la conception, la réalisation et le test. Tout au long de ce sprint, nous respectons ces activités pour
construire le plan de notre travail.
4.2 Spécification
La spécification dans notre cas se traduit par le raffinement du diagramme des cas d’utilisation
et d’une description détaillée du premier sprint.
33
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
titre s’authentifier
Acteurs Utilisateur
34
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Acteurs Utilisateur
Pré condition Le nouveau compte sera sauvegardé dans la base de données avec tous les
détails
35
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Acteurs Utilisateur/administrateur
36
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Acteurs Utilisateur/administrateur
37
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Acteurs administrateur
Tableau 4.6: Description textuelle du cas d’utilisation «Ajouter des utilisateurs et des groupes »
Acteurs administrateur
Tableau 4.7: Description textuelle du cas d’utilisation «Supprimer des utilisateurs et des groupes
»
38
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Acteurs administrateur
Tableau 4.8: Description textuelle du cas d’utilisation «Modifier des utilisateurs et des groupes »
39
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
4.3 Conception
Le diagramme d’activité permet de mettre l’accent sur les traitements. Il permet ainsi de
représenter graphiquement le comportement d’une méthode ou le déroulement d’un cas d’utilisation.
Le diagramme dans la gure 4.6, montre le processus du premier sprint de notre application .
L’authentification est une tâche primordiale en vue de limiter l’accès et sécuriser notre
application, la figure 4.2 présente le diagramme de séquence système qui permet aux utilisateurs
de se connecter. L’utilisateur doit saisir son login et son mot de passe d’une façon correcte.
40
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Une fois authentifié, l’utilisateur peut modier son compte, le scénario de modication du
compte est décrit dans le diagramme de séquence de la Figure 4.4 :
41
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Une fois authentifié, l’utilisateur peut modier son compte, le scénario de désactivation du
compte est décrit dans le diagramme de séquence de la Figure 4.4 :
42
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
4.4 Réalisation
Après avoir achevé l’étape de la conception, en tenant compte des besoins fixés et des choix
conceptuels effectués précédemment, nous consacrons le reste de ce chapitre à la description du
travail réalisé en exposant quelques scénarios d’exécution à travers des captures d’écran.
cette figure présente l’interface d’authentication.
L’utilisateur doit impérativement remplir les champs correspondants à son login et son mot de passe
comme le montre la figure ci dessous Si les données entrés sont valides, l’utilisateur sera autorisé à
accéder à l’application, sinon un message d’erreur apparaît .
Partie Web :
43
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Une fois authentifié, l’utilisateur peut visualiser les interfaces de la modification d’un compte.
Il a la possibilité de modifier son mot de passe et sa photo de profil comme le montrent les figures
ci-dessous
44
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
45
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
46
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Partie Mobile
A l’ouverture de l’aplication l’utilisateur est dirigé vers une page d’accueil puis la page d’authentification
47
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Pour créer un nouveau compte, l’utilisateur clique sur le bouton "créer un compte" pour pouvoir
saisir les informations liées à l’inscription comme le montre la figure 4.15
48
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
4.5 Tests
La phase de tests est une étape incontournable de tout développement informatique ayant
pour objectif de vérifier que le livrable répond bien aux besoins exprimés par l’utilisateur.
Parmi les nombreuses solutions pour interroger ou testerles Web services : Postman propose
de nombreuses fonctionnalités, une prise en main rapide et une interface graphique agréable. Il
s’agit d’un client REST proposé par Google. Il est disponible sous la forme d’une extension Chrome
ou bien d’une application stand-alone La gure 4.21 illustre le cas de succès de la fonctionnalité
d’authentification d’un utilisateur.
Tests fonctionnels : Les tests fonctionnels vérifient que le produit assure les fonctionnalités
déjà spécifiées. Ainsi avant la fin de chaque Sprint, nous avons testé les fonctionnalités du module.
Ensuite, nous avons validé toutes les fonctionnalités avec le Product Owner.
Le tableau 4.8 ci-dessous, montre un ensemble de cas de scénarios des tests fonctionnels relatifs au
Sprint 1. Tableau 4.8 : Tableau des scénarios des tests fonctionnels relatifs au Sprint 1
49
Chapitre 4. Sprint 1 : Authentification, création et modification des comptes et gestion des
utilisateurs et des groupes d’utilisateurs
Créer un nouveau Introduire les informations relatives Création d’un nouveau conforme
compte au compte compte
Tableau 4.9: Tableau des scénarios des tests fonctionnels relatifs au Sprint 1
Conclusion
Tout au long de ce chapitre, nous avons présenté le premier sprint relatif à l’authentification, la
création et la modification des comptes et gestion des utilisateurs et des groupes d’utilisateurs. Pour
ce faire, nous avons commencé par la spécification puis la conception, la réalisation et finalement les
tests. Dans le chapitre suivant nous entamons le deuxième sprint relatif à la gestion des informations
des agences, Consultation des historiques des réservations et des agences et visualisation des statistiques
50
Chapitre 5
Plan
1 Backlog Sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2 Spécication fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Introduction
Après avoir terminé le premier sprint de notre application, nous allons maintenant nous lancer
dans les travaux nécessaires pour produire le second sprint. Tout au long de chapitre ,nous allons
présenter la réalisation de ce sprint réparti en quatre parties à savoir la spécification, la conception,
le codage et les tests .
52
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
53
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Une nomenclature désigne une instance de classification (code, tableau, liste...). A chaque
type de nomenclature on associe une date et une ou plusieurs valeurs
Acteurs Administrateur
54
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Acteurs Administrateur
Acteurs Administrateur
55
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Acteurs Administrateur
L’administrateur peut consulter des graphes explicatifs qui incluent des statistiques sur les
réservations effectuées pendant une durée bien déterminée.
56
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Acteurs Administrateur
5.3 Conception
Dans cette partie, nous allons présenter le diagramme de classes global de notre projet ainsi
que les diagrammes de séquence pour ce sprint.
Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et
les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie
de la partie statique d’UML car il fait abstraction des aspects temporels et dynamiques.
57
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
La classe Groupe : c’est une classe qui est constituée des utilisateurs et des administrateurs de
l’application
La classe Administrateur : l’administrateur peut gérer les utilisateurs et leur affecter des rôles,
chaque administrateur est associé à un groupe bien spécifié
La classe TypeNomenclature : C’est une classe qui définit le type de classification des agences
La classe ValeurNomenclature : C’est une classe qui définit la valeur du type nomenclature
choisi, chaque type de nomenclature est associé à une seule valeur
La classe Agence : C’est une classe qui dénit l’emplacement de l’agence choisie ainsi que ses
caractéristiques (disponibilité le samedi ou pas..), elle est associée à une classe Adresse qui permet
à son tour d’accéder à la municipalité et au gouvernorat de l’agence
La classe Réservation : C’est une classe qui définit l’état d’une réservation
La classe HistoriqueAgence :C’est une classe qui définit l’historique de toutes les réservations
relatives à cette agence ainsi que le nombre de tickets réservés quotidiennement
58
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
5.4 Réalisation
Dans cette partie, nous allons exposer quelques scénarios d’exécution à travers des captures
d’écran.
Génération du bundle Nomenclature Un Bundle est un répertoire dans un projet Symfony qui
intègre une structure bien définie.Ce répertoire permet d’implémenter plusieurs fonctionnalités qui
peuvent être utilisées dans d’autres projets Symfony. Ce framework propose des milliers de Bundles
réutilisables quasiment dans tous les projets Symfony qu’on peut avoir. Pour la création du bundle
Nomenclature nous avons executé la commande illustrée dans la figure 5.5 ci-dessous
59
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
60
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Dans notre projet, nous avons retenu deux valeurs et deux types de nomenclatures qui sont
Horaire et Type agence. Chaque type nomenclature nomenclature possède plusieurs valeurs.
L’administrateur peut gérer les informations relatives à chaque agence. Parmi ces informations
on distingue l’adresse de cette dernière, la figure 5. 10 représente l’interface graphique de la gestion
des adresses :
61
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
L’administrateur a également la possibilité de visualiser des statistiques sur l’état des réservations
effectuées pendant une période donnée comme le montre le graphe de la figure 5.11 ci-dessous :
62
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
5.5 Tests
Le tableau 5.7 ci-dessous montre un ensemble de scénarios de tests fonctionnels que nous
avons effectué et qui sont relatifs au deuxième sprint
63
Chapitre 5. Sprint2 : Gestion des informations des agences, Consultation des historiques des
réservations et des agences et visualisation des statistiques
Conclusion
Au cours de ce chapitre, nous avons présenté le deuxième sprint relatif à la gestion des
informations des agences, consultation des historiques des réservations et des agences et la visualisation
des statistiques . Nous sommes passés par la spécification, la conception, le codage et les tests. Dans
le chapitre suivant nous entamerons le dernier sprint relatif à la Mise en place de la partie mobile .
64
Chapitre 6
Plan
1 Backlog sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2 Spécification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4 Realisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Introduction
Après la réalisation du deuxième sprint, nous entamons le troisième sprint qui se focalisera
sur la partie web et suivra le même plan que le chapitre précédent.
Dans cette partie, nous allons élaborer le backlog du troisième sprint. Le but de ce dernier
est d’effectuer des réservations, géolocaliser l’ agence choisie ,consulter des notifications et saisir des
réclamations et des suggestions. Les estimations des histoires utilisateur sont définies en nombre de
jours. Le tableau 6.1 montre le backlog de notre troisième sprint.
66
Chapitre 6. «sprint3 » Mise en place de la partie mobile
6.2 Spécification
Dans cette section nous allons élaborer le raffinement des cas d’utilisation avec une description
détaillée.
67
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Acteurs Utilisateur
Tableau 6.2: Description textuelle du cas d’utilisation « Effectuer une recherche des agences »
Acteurs Utilisateur
68
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Acteurs Utilisateur
Acteurs Utilisateur
69
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Acteurs Utilisateur
Acteurs Utilisateur
70
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Acteurs Utilisateur
71
Chapitre 6. «sprint3 » Mise en place de la partie mobile
6.3 Conception
Nous allons maintenant présenter les interactions de ce sprint sous la forme de diagramme
de séquence
72
Chapitre 6. «sprint3 » Mise en place de la partie mobile
73
Chapitre 6. «sprint3 » Mise en place de la partie mobile
6.4 Realisation
Dans cette partie, nous allons exposer quelques scénarios d’exécution à travers des captures
d’écran.
• Aprés l’authentification, l’utilisateur se dirige vers la page d’accueil pour choisir l’option
qu’il souhaite.
74
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Figure 6.5: Interface charger liste agence Figure 6.6: Interface consulter liste agence
75
Chapitre 6. «sprint3 » Mise en place de la partie mobile
• L’utilisateur a la possibilité de chercher une agence par son nom. Pour cela, il suffit de saisir
un nom (on a tester avec le nom Mourouj ) et le système affiche la liste des agences correspondantes.
La figure 6.4 ci-dessous montre l’interface relative à la recherche des agences :
Figure 6.7: Interface recherche en cours Figure 6.8: Interface résultat recherche
76
Chapitre 6. «sprint3 » Mise en place de la partie mobile
• Une fois que l’utilisateur choisit une agence, il va avoir des informations sur cette dernière
comme l’indique la figure 6.5
77
Chapitre 6. «sprint3 » Mise en place de la partie mobile
• Une fois l’utilisateur a selectionné l’agence à laquelle il va accèder, il peut choisir dans
combien de temps il veut passer
Figure 6.10: Interface choisir horraire Figure 6.11: Interface choisir horraire 2
78
Chapitre 6. «sprint3 » Mise en place de la partie mobile
• Aprés la reservation , l’utilisateur peut suivre l’etat de la file et connaitre le temps restant
pour son ticket ainsi il a la possiblité de l’annuler ou la reporter.
79
Chapitre 6. «sprint3 » Mise en place de la partie mobile
80
Chapitre 6. «sprint3 » Mise en place de la partie mobile
• La localisation des agences sur la carte est disponible en deux modes : terrain et satellite.
6.5 Tests
Nous avons élaboré dans ce tableau un ensemble des scénarios de tests fonctionnels relatifs
au troisième sprint
81
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Tableau 6.9: Tableau des scénarios des tests fonctionnels relatifs au Sprint 3
82
Chapitre 6. «sprint3 » Mise en place de la partie mobile
Conclusion
A ce stade, notre projet d’études a atteint sa fin. Tout au long de ce chapitre, nous avons
traité le troisième et dernier sprint relatif à la mise en place de la partie mobile , nous sommes passés
par la spécification, la conception, le réalisation et les tests
83
Conclusion générale
Pour y parvenir, il nous a fallu, dans un premier temps, analyser et comprendre les besoins
fonctionnels et non fonctionnels et les traduire en scénarios applicables dans le contexte des technologies
du monde de développement web et mobile. Nous sommes passés par plusieurs étapes d’analyse, de
recherche, de conception, de réalisation et de tests an de répondre aux exigences du client.
Par ailleurs, plusieurs technologies ont été exploitées durant la période du stage, an d’atteindre
le résultat souhaité. Nous citons par exemple Symfony, ionic..
Ce travail a été très instructif, puisqu’il nous a permis de découvrir des nouvelles technologies ainsi
que de fréquenter le monde professionnel étant entouré par des compétences de SFM Technologies .
Finalement, notre travail dans le projet de gestion de la file d’attente ne s’arrête pas à ce niveau.
En effet, plusieurs perspectives s’offrent à ce projet. Parmi les fonctionnalités que nous pouvons
ajouter, nous citons en particulier le paiement du service à effectuer en ligne,on pourra ainsi intégrer
d’autres technologies comme l’intelligence artificielle et la "machine learning" pour mieux gérer les
files d’attentes.
84
Bibliographie
[1] (2005). A propos de SFM télecom. [Accès le 28-janvier-2019], SFM telecom, adresse : https:
//www.sfmtechnologies.com/.
[2] (2005). A propos de Scrum. [Accès le 28-janvier-2019], scrum, adresse : : https : / / www .
piloter.org/projet/methode/scrum.%20html.
[3] (2007). A propos de UML. [Accès le 27-janvier-2019], uml, adresse : : http : / / www . math -
info.univ-paris5.fr/~bouzy/Doc/%20UML-NotesCours.pdf.
[6] (2016). staruml. [Accès le 05-janvier-2019], staruml, adresse : https : / / www . clubic . com /
telecharger-fiche384048-staruml.html.
[13] (2013). [Accès le 10-avril-2018], mysql, adresse : https : / / www . 01net . com / telecharger /
windows/Bureautique/base_de_donne/fiches/3129.html.
85
Annexes
Dans cet annexe, notre objectif est de mettre en valeur l’installation et le paramétrage de
l’environnement de travail, à savoir php Storm, Visual Studio Code et WampServer
86
Annexes
87
Annexes
88
Annexes
89
Annexes
90
PÌl
¤ Ty®³ S QAOt Ty®³ ¨ TyqybWt EA³ ¨ TynVw AhJ Yl wOl m` @¡ @yfn
@¡ dh ¤ SFM Télécom TrJ §Cdt @¡ q d ISI Ty®² ¨A` dh`m ¨ Ayrb
.CA\t³ Tm¶A C ³ wmm Ah ¤
rt³ TkbJ ¨l ybW ºAK w¡ ¤rKm
Anyb d w C ³ MYSQL ¤ Ionic , Framework Symfony 3 AndtF
MYSQL ,ionic ,Framework Symfony 3, SFM télécom ,ISI : yAf Aml
Résumé
Ce travail a été réalisé pour l’obtention de licence appliqué en systéme informatique et logiciel à
l’Institut Supérieur d’Informatique (ISI).ce stage a été realisé au sein de la société SFM télécom ,
l’objectif de ce projet est la mise en place d’une application web et mobile permettant la gestion
des files d’ attente . nous avons utilisé le framework Symfony 3 , ionic et MYSQL pour la gestion
des bases de données.
Abstract
This work was done for the obtaining of a license applied in computer system and software at
the Higher Institute of Informatics (ISI). This internship was realized within the company SFM
telecom, the objective of this project is the implementation of a web and mobile application
allowing the management of waiting queues. we used the framework Symfony 3, ionic and MYSQL
for the management of database
isi@isim.rnu.tn : ¨¤rtk¯ d§rb 71 706 698 : HAf 71 706 164 : Ah TA§C 2080 ¨¤CAb A§r w h 2
2, Abou Raihane Bayrouni 2080 l’Ariana Tél : 71 706 164 Fax : 71 706 698 Email : isi@isim.rnu.tn