KR VF
KR VF
KR VF
1
Chapitre 1 : Présentation du cadre général du projet
Introduction
Ce chapitre de début vise à situer le présent projet dans son contexte général, à travers la
présentation du sujet, la problématique et l’étude de la concurrence. Ensuit nous allons
mentionner la solution proposée et ses avantages, suivie de la méthodologie choisie pour
pouvoir la mettre en œuvre.
1. Présentation du projet
Au fil du temps et avec l’avancement des technologies nous nous trouvons face à une
utilisation massive du téléphone intelligent où il est devenu indispensable chez certains. Cette
nécessité est expliquée par le fait qu’une personne peut se trouver à un moment donné en train
d’utiliser, pour une raison ou une autre, une de ses applications mobiles, déjà installée, afin de
répondre à un besoin spécifique.
En parlant de cela, et concernant le tourisme en Tunisie et spécifiquement la Médina, ou
la Médiane Tunisienne, nous avons pu repérer un besoin qui peut être définie comme suit ;
beaucoup de personnes qui se soient, tunisiens ou étrangers désirent profiter parfois d’une
visite par eux-mêmes, sans être sous l’obligation de suivre un guide ou une agence.
Cependant, ça reste dans l’ambigüité surtout pour ceux qui ne savent pas d’où commencer
ou comment se déplacer dans ses rues complexes pour trouver les références touristiques dont
ils s’intéressent.
Notre projet donc, consiste à concevoir une application mobile, qui aidera ces personnes
afin de pouvoir s’orienter dans la Medina, en proposant des plans guidés, et des adresses
clairement définies des restaurants, cafés et des monuments touristiques avec des vidéos,
photos explicatives qui serviront comme guide dans ce patrimoine architectural.
2
Chapitre 1 Présentation du cadre général du projet
1.3 Problématique
La Médina de Tunis, étant la destination préférée et le centre d’intérêt non seulement des
Etrangers mais aussi de Tunisiens, ceux-ci cherchent, la majorité du temps, à comment pouvoir
circuler dans ses différentes parties, ou de trouver simplement les bons endroits et d’en profiter
à moindre coût sans perdre beaucoup de temps. Plusieurs sont les difficultés qui se présentent
à un visiteur, nous avons pu repérer quelques-unes lors de notre recherche :
La complexité des trajets, rues, destinations, et des adresses ;
Le payement d’un guide privé peut coûter très cher ;
La disponibilité ou la non disponibilité des restaurants, cafés qui peuvent changer
d’adresse ;
La possibilité de visiter des différents endroits (Les souks, les palais, les mosquées…) ;
L’indépendance, et l’envie de profiter d’une expérience seul sans accompagnement ;
La différence des préférences des personnes.
Notre mission consiste à créer une application mobile dont lequel nous allons citer les
différents services disponibles aux visiteurs de la Médina de Tunis, tels que les services de
restauration, ou d’hôtellerie, ou les espaces historiques (Les palais, les mosquées…), les Souks
ainsi que les services qui peuvent être utiles tel que les banques, les boites de changes ; tout en
mettant l’accent sur la personnalisation des choix... Toutefois, et avant de s'engager dans la
résolution de cette problématique, il est crucial de commencer par une étude des solutions
existantes sur le marché.
3
Chapitre 1 Présentation du cadre général du projet
2. Benchmarking
L’analyse de la concurrence est une phase essentielle, elle permet d’avoir une vision
globale sur les acteurs présents et qui concurrencent notre offre. Nous pouvons alors identifier
leurs forces et faiblesses et d’une maniéré générale comprendre leur stratégie. Par conséquent,
nous allons pouvoir mesurer la viabilité de notre projet et comprendre comment nous pouvons
se différencier d’eux.
Nous avons pu repérer quelques solutions existantes similaires à la nôtre :
4
Chapitre 1 Présentation du cadre général du projet
• Le site ‘Guide voyage Tunisie‘ est le site internet de l’agence de voyages « Depart
Travel Services », qui offre la possibilité de mieux préparer ses vacances et profiter au
maximum de son séjour. C’est un site informationnel.
• L’application mobile « Tunis médina guide » permet de naviguer pour découvrir les
lieux et monuments de la Médina, les adresses de restaurants, cafés, maisons d’hôtes,
artisans et concept stores ainsi que plein d’autres fonctionnalités intéressantes.
5
Chapitre 1 Présentation du cadre général du projet
• « Get your guide » est un site en premier lieu, et aussi une application mobile qui
permettent d’organiser des voyages ou de chercher, trouver et réserver des excursions
selon sa destination.
Il est indispensable de critiquer les cas similaires afin de proposer la meilleure solution. Il
s'agit principalement de recenser les points forts et les points faibles de chaque solution trouvée
mentionnée au-dessus. Le tableau ci-dessous contiendra une analyse comparative entre les
différentes applications, sites retenus :
6
Chapitre 1 Présentation du cadre général du projet
7
Chapitre 1 Présentation du cadre général du projet
- L’offre d’un espace pour les consommateurs afin de recommander des avis à d’autres ;
- L’offre d’un espace d’échange entre les utilisateurs de l’application.
4. Analyse SOAR
Comme pour tout projet, et afin de garantir son organisation et sa cohérence il est crucial
de bien choisir une méthodologie avec laquelle nous allons travailler durant cette période.
8
Chapitre 1 Présentation du cadre général du projet
Celle-ci est nécessaire pour s’assurer du niveau de qualité du travail, son bon déroulement et
éviter tout débordement au niveau des délais.
Selon notre cas, et pour pouvoir sélectionner la meilleure, il faut mentionner d’abord
l’existence de 3 principaux types de méthodologies pour structurer un projet :
Méthodologie prédictive ;
Méthodologie adaptative ;
Méthodologie hybride.
9
Chapitre 1 Présentation du cadre général du projet
Aujourd’hui est avec les évolution technologiques récurrentes les méthodes traditionnelles
paraissent très rigides et lourde en termes d’exécution. De ce fait nous parlons maintenant plus
des méthodes adaptatives. C’est une approche moderne de gestion de projet où la satisfaction
du client et ses besoins sont mis en avance, plutôt que l’importance du process et les termes
contractuels. La coordination entre le client et l'équipe fait donc avancer bien le projet. Elle
regroupe trois principales méthodologies :
La méthodologie itérative ;
La méthodologie incrémentielle ou incrémentale ;
La méthodologie agile.
Afin de mieux comprendre, nous avons effectué une comparaison selon les exigences, la
livraison et l’objectif de chaque méthode, illustrée dans le tableau ci-dessous :
Caractéristiques
Méthodologie itérative Méthodologie incrémentielle Méthodologie agile
• Le périmètre d'un • Les exigences pour • Parfaite pour les
projet déterminé au cette méthode sont projets dont la
début du cycle du dynamiques ; prédiction de leur
travail ;
• Chaque activité est avenir est difficile ;
• Les exigences sont
dynamiques ;
exécutée une fois pour • Plus réactive et
un incrément donné ; permet une
• L’activité est répétée
• Permet de fournir de meilleure
jusqu’à être
petites livraisons adaptation aux
correcte ;
fréquentes ; imprévus liés au
• Elle fournit une
• Son principal objectif projet ;
solution unique ;
est d’être rapide. • Son objectif majeur
• Le but est d’offrir
est de Créer de la
une solution correcte.
valeur pour le
client.
L’approche hybride, est une approche qui repose sur une complémentarité étroite entre les
méthodes traditionnelles et agiles. Les projets sont planifiés à l’aide de l’approche en cascade,
ce qui permet une mieux compréhension des tâches impliqués et la portée globale du projet.
Ensuite, ils sont exécutés à l’aide de la méthode Agile afin de réévaluer la charge de travail en
utilisant les sprints de courte durée.
❖ Suite à cette étude comparative des différentes méthodologies, et afin de bien choisir
celle qui va le mieux avec notre projet, nous avons établi cette liste :
10
Chapitre 1 Présentation du cadre général du projet
Agile est une méthodologie de gestion où le projet est fragmenté en plusieurs sous-parties
par les équipes de développement, en ajustant si nécessaire les objectifs pour répondre le plus
possible aux attentes du client.
Elle permet non seulement de renforcer les relations entre les membres d’une équipe, mais
aussi entre l’équipe et le client ainsi que la priorité est accordée à la satisfaction de ce dernier
plutôt d’aux termes du contrat. La flexibilité et la souplesse sont ses deux piliers forts.
C’est pour cette raison qu’elle est la plus adapté à nos besoins et nous avons opté pour la
méthode Scrum faisant partie des approches agiles. En effet, le terme « Scrum » signifie mêlée
et vient du monde du rugby, au moment où toute l’équipe doit se souder et avancer vers un but
(avancer vers le ballon). Cette méthode repose sur des « sprints » de courte durée, utilisée pour
former un cycle de projet. Tout projet développé avec Scrum doit répondre à certains principes :
11
Chapitre 1 Présentation du cadre général du projet
❖ L’équipe du Scrum
Acteur Rôles
✓ C’est le propriétaire du produit.
✓ Celui qui va partager la vision du produit à réaliser avec l’équipe ;
Product ✓ Il ajuste et règle les fonctionnalités du produit.
Owner ✓ Il est le responsable de l’exécution du projet d’une façon optimale
et donne l’approbation ou le refus du résultat présenté.
❖ Evènements du Scrum
Les revues de Sprint : C’est une réunion qui se tient à la fin de chaque Sprint et dure au
maximum 1h par semaine de sprint. Elle permet de montrer ce que l’équipe du développement
a fait durant cette période au Product Owner, afin de passer à la prochaine tâche
Rétrospective de sprint : Organisée suite à la fin de chaque sprint après la revue du sprint, et
en interne c’est-à-dire entre les membres de l’équipe et animé par le Scrum Master afin
d’améliorer le processus du développement et le rendement du sprint suivant.
12
Chapitre 1 Présentation du cadre général du projet
Daily Scrum : Un point de contrôle qui due maximum 15 minutes et permet à l’équipe Scrum
de synchroniser et ajuster leur travail pour les prochaines 24 heures.
❖ Les artefacts
Le carnet du produit (Product backlog) : c’est une forme de liste des fonctionnalités du
produit proposées par le client, ordonnées selon la priorité, elle évolue constamment au cours
de la vie du produit.
Carnet de sprint (Sprint backlog) : Afin d’atteindre l’objectif du chaque sprint, l’équipe du
développement liste les tâches à accomplir durant ce sprint, elles correspondent à la réalisation
d’un élément du carnet de produit.
Le graphique d’avancement (Le burndown Chart) : Un graphique qui permet de visualiser
la progression de l’équipe, il est généré au débit de chaque sprint. C’est un indicateur de
rendement pour le Product Owner.
Conclusion
Dans ce chapitre, qui a été dédié à la présentation du cadre générale de travail, nous avons
décrit l’idée du projet en déterminant après la problématique, suivi d’une analyse et critique des
solutions déjà existantes sur le marché pour proposer ensuit une solution qui pourra être plus
adéquate. Nous avons aussi choisi notre méthodologie de travail. Le prochain chapitre, sera
consacré à la présentation des acteurs du système, et à l’analyse des besoins.
13
Chapitre 2 : Spécification des besoins et Backlog produit
Introduction
Dans le chapitre précèdent, nous avons choisi Scrum comme méthodologie à adopter pour
le développement de notre projet. Par conséquence et avant d’entamer le premier sprint, nous
avons besoins de construire les bonnes bases du projet ainsi que notre environnement de
développement. C’est la phase de spécifications des besoins et de planification de l’architecture.
Dans ce chapitre, nous présentons cette phase qui débutera par la partie d’identification des
acteurs, des besoins fonctionnels et non fonctionnels suivies des outils techniques utilisées. La
partie suivante, concerne la planification du backlog produit et le modèle BMC de notre projet.
Cette étape va tracer le périmètre du projet, elle est donc cruciale pour réussir une
application de qualité. Pour cela il faut déterminer les différents besoins attendus par le système.
Avant d’énumérer les fonctions, l’identification des acteurs intégrés dans le système
demeure une étape importante, nous pouvons trouver deux types d’acteurs : physique (une
personne) ou abstrait (un système) qui interagissent directement avec le système pour répondre
à un besoin. En UML, un acteur est une entité qui définit le rôle joué par un utilisateur ou par
un système qui interagit avec le système modélisé. [2]
Les acteurs de nos applications sont :
Client : Toute personne qui s’inscrit dans l’application et l’utilise soit pour s’informer,
ou pour avoir un plan guidé selon ses envies.
L’administrateur du système : Tout administrateur qui peut manipuler les fonctions
suivantes :
• Gestion des comptes des utilisateurs ;
• Gestion des informations publiées sur l’application (en relation avec les
restaurants, les cafés, les places touristiques…) ;
• Gestion des droits d’accès.
14
Chapitre 2 Spécification des besoins et Backlog produit
Les besoins fonctionnels représentent les fonctionnalités de bases attendues d’un système.
Ce qu’une application peut offrir à ses acteurs. Ils nous permettent alors de définir le
comportement de chaque utilisateur en manipulant notre application. Cependant ils diffèrent
d’un acteur à un autre, pour cela nous avons décrit pour chaque acteur les fonctionnalités qui
lui sont associées.
❖ Pour l’administrateur
- La gestion des droits d’accès : L’administrateur seul qui pourra approuver ou refuser les
utilisateurs inscris après vérification de leurs identités.
- La gestion des comptes : Cette fonctionnalité permet à l’administrateur d’ajouter ou
supprimer un compte.
- La gestion des plans : Cette fonctionnalité permet l’administrateur de proposer des plans
selon les contraintes de l’utilisateur.
- La gestion des mises à jour : L’administrateur est le seul qui possède l’accès aux
informations publiés sur l’application, il pouvait ainsi les mettre à jour ou les modifier.
- La saisi des paramètres : Il peut configurer les paramètres de l’application (changer le
langues).
15
Chapitre 2 Spécification des besoins et Backlog produit
- Consulter les plans proposés : l’utilisateur peut selon ses contraintes, consulter des plans
que l’application lui propose avec personnalisation.
- Donner un avis : L’utilisateur peut évaluer son expérience en laissant un commentaire, ou en
attribuant une note au service (café, restaurant…).
- Envoyer un message : cette fonctionnalité, permet à l’utilisateur de communiquer avec chat
bot s’il avait besoin d’informations supplémentaires.
Les besoins non fonctionnels décrivent les contraintes auxquelles sera soumise notre
application pour son bon fonctionnement. Plus précisément ce sont des indicateurs de qualité
et performance pour l’exécution des besoins fonctionnels. Pour plusieurs cas, une exigence
fonctionnelle est alignée avec une exigence non fonctionnelle.
Notre application exige certaines règles à respecter que nous pouvons les résumer dans les
points suivants :
- L’ergonomie des interfaces : Les interfaces de notre application doivent être
ergonomiques, conviviales et logiques.
- L’utilisabilité : l’application doit être accessible, facile à l’exploiter et compréhensible.
- La fiabilité : Les résultats apportés par notre application en termes de plans doivent être
fiables et reflètent effectivement les désirs du client.
- Le rendement : Notre application doit réduire le temps de réponse pour le chargement
de pages, et l’affichage des résultats et d’informations.
- La portabilité : L’application doit être facile à installer.
- La maintenabilité : L’application doit être facile à modifier (en cas de mise à jour des
informations).
2. Spécification technique
Les besoins techniques donne une vision globale sur l'architecture générale de notre projet,
pour cela nous allons identifier les différentes technologies dont nous avons servis lors de notre
travail.
Dans le tableau ci-dessous nous allons présenter les différents outils ou technologies
utilisés en cours de notre projet :
16
Chapitre 2 Spécification des besoins et Backlog produit
Outils Utilité
Pour le logo et la charte graphique
Adobe Illustrator C’est un logiciel de création graphique
vectorielle. Nous l’avons utilisé pour
créer notre logo et sa charte graphique
correspondante.
Pour la conception
StarUML C’est un logiciel de modélisation UML
open source que nous l’avons choisi pour
la conception de l’architecture de notre
application.
Pour le maquettage
Figma C’est est un éditeur de graphiques
vectoriels et un outil de prototypage.
Nous l’avons utilisé pour créer les
interfaces de notre application.
Nous avons choisi d’utiliser l’architecture MVC afin de concevoir l’architecture de notre
application. Comme spécificités, ce model permet une meilleure organisation du code et la
possibilité de sa réutilisation ainsi qu’il diminue la complexité lors de la conception.
Le modèle MVC, signifiant Model-View-Controller, et un modèle architectural il permet
une séparation logique des interfaces de présentation en trois composants distincts :
17
Chapitre 2 Spécification des besoins et Backlog produit
• Un modèle : Contient les données utilisées par un programme. Il peut s’agir d’une
base de données dans laquelle les informations ‘brutes’ sont organisés pour qu'elles
puissent ensuite être traitées par le contrôleur.
• Vue : utilisée pour présenter et afficher les données du modèle sur l’interface
utilisateur.
• Contrôleur : Contient les fonctionnalités nécessaires pour gérer et contrôler la
couche intermédiaire entre la vue et le modèle. Plus largement, pour traiter toutes
les requêtes entrantes, manipuler les données à l’aide du composant Modèle et
interagir avec les Vues pour rendre le résultat final.
La figure7, ci-dessous illustre la logique de cette architecture.
Une fois que nous avons spécifiés tous les besoins fonctionnels et non-fonctionnelles, nous
pouvons alors passer à la spécification des exigences de notre projet. Nous allons donc proposer
le diagramme de classe de notre application ainsi que le diagramme des cas d’utilisation
d’UML. Ce dernier servira en suite à la classification et la planification du backlog produit.
Un diagramme de classe est l’un des types les plus populaire en langage UML. C’est un
type de diagramme de structure car il décrit ce que doit être présent dans le système. Ce
diagramme permet de modéliser les objets du système, d’afficher les relations entre eux et
d’illustre également les attributs de chaque objet et ce qu’il fait : ses opérations. C’est un plan
du système donc il permet de mieux comprendre l’aperçu général de notre application.
18
Chapitre 2 Spécification des besoins et Backlog produit
La figure ci-dessus monte les différentes classes constituant notre application. Nous allons
détaillés plus clairement les classes principales :
- Classe Personne : C’est la classe qui contient toutes les caractéristiques d’une personne
se trouvant dans le système ainsi que les opérations qu’elle peut fait, une personne peut
être un utilisateur, ou un administrateur ;
- Classe Compte : C’est la classe qui contient les informations en relation avec les
comptes de ceux qui utilisent l’application ;
- Classe plan : Cette classe contient les informations caractérisant les plans proposés par
l’application suite à la demande de l’utilisateur ;
- Classe contrainte : C’est la classe contenant les différentes contraintes proposées par
l’utilisateur ;
- Classe espace publique : Cette classe contient les caractéristiques des différents espaces
publics de la Médina de Tunis ;
- Classe réservation : C’est la classe contenant les informations relatives aux réservations
qu’un utilisateurs pourra effectuées.
- Classe multimédia : Cette classe contient les caractéristiques des images, vidéos ou
vocales utilisés pour décrire un espace public.
19
Chapitre 2 Spécification des besoins et Backlog produit
Un diagramme de cas d’utilisation est un diagramme UML, qui est utilisé pour modéliser
le comportement fonctionnel d’un système et permet de capturer ses exigences. Cette
représentation décrit les fonctions générales d’un système et également identifie les interactions
entre ce dernier et ses acteurs. La figure ci-dessous illustre le diagramme de cas d’utilisation
de notre système.
20
Chapitre 2 Spécification des besoins et Backlog produit
4.1 Définition
Le backlog produit est le point central de tout projet Scrum, il permet de représenter une
liste de l’ensemble de fonctionnalités que doivent contenir le produit. En effet, c’est une liste
des User stories ou histoires utilisateurs, ordonnées en priorité selon les exigences du client.
Puisqu’ il y’avait des besoins et des fonctionnalités plus prioritaires que d’autres et leur
réalisation semble être primordiale pour le bon fonctionnement et la clarté de l’application il
est crucial donc d’établir un ordre de travail logique afin de coordonner l’enchaînement de la
réalisation des tâches.
Pour le backlog de notre application, nous avons défini les fonctionnalités qui seront
implémentées et la description des user stories avec un ordre de priorité que nous avons choisi
comme suit ; élevée, moyenne et faible tout en se basant sur la relation entre les différentes
fonctions à fin faciliter le travail. Cela est décrit par le tableau ci-dessous.
21
Chapitre 2 Spécification des besoins et Backlog produit
22
Chapitre 2 Spécification des besoins et Backlog produit
Comme nous avons défini dans la section de la méthodologie adoptée du premier chapitre,
la méthode Scrum est basée sur trois rôles principaux, ce tableau illustre ces rôles en se référant
à notre projet.
La réunion de planification des sprints est aussi une étape importante dans la méthodologie
Scrum, lors de laquelle nous assurons la structuration et le découpage du projet, pour cela nous
devrons planifier les sprints de notre travail. Par définition, les sprints sont des itérations de
courtes durées qui décomposent un processus de développement, et le sprint planning est
considérée comme la première étape à effectuer dans chaque sprint, il s’agit de l’organisation
du cycle de développement ainsi que l’exposition des objectifs à atteindre d’une manière claire.
La planification des sprints doit répondre aux questions suivantes :
✓ Lors de ce sprint, qu’elles sont les tâches que peuvent être achevées ?
✓ Le travail choisi, comment doit-il être effectué ?
Une release correspond à l’ensemble des sprints qui se sont terminés et constituent le
produit tout en assurant suffisamment de valeurs à l’utilisateur. Suivant notre cas, nous avons
choisi de découper notre projet sur une seule release.
La présentation ci-dessous décrit le plan de release de l’ensemble de fonctionnalités du
backlog produit qui doivent être développées sur l’ensemble des sprints que nous avons
déterminées dans une période définie. Nous avons décidé de découper notre travail en 4 sprints,
pour pouvoir à la fin livrer un produit de valeur à notre client.
23
Chapitre 2 Spécification des besoins et Backlog produit
Release
• Inscription
• Authentification
• Gestion du profil de l’utilisateur
Sprint 1 • Consultation des espaces publics
• Consultation des espace publics
Le business model d’une entreprise permet de décrire avec une manière claire, la logique
de l’entreprise et de son business, ou plus la façon dont elle crée de la valeur afin d’assurer sa
pérennité. Le business model CANVAS est une méthode qui permet de définir facilement le
modèle économique d’une entreprise ou d’un service, en intégrant toutes les composantes
importantes de coût ou de gain, comme la structure de coût, les partenaires, la proposition de
valeur ou encore les canaux de communication.
Le Business model CANVAS de notre projet est illustré par la figure ci-dessous.
24
Chapitre 2 Spécification des besoins et Backlog produit
Conclusion
Dans ce chapitre, nous avons capturé les différentes fonctionnalités attendues de notre
application, présenté les spécifications techniques, le pattern architectural que nous prévoyons
l’utiliser, le diagramme de classe, et le diagramme de cas d’utilisation du Médina Explorer.
Nous avons aussi préparé l’organisation des sprints de notre travail, et fini par et notre Business
Model Canvas. Pour le chapitre suivant, nous allons commencer par faire l’étude conceptuelle
du premier et deuxième sprint.
25
Chapitre 3 : Sprints 1&2
Introduction
Dans le chapitre précédent, nous avons procédé à l’analyse des besoins, l’étude technique
et la spécification des exigences pour pouvoir à la fin établir le planning des différentes tâches
du projet. La release dont nous avons parlé précédemment, est constituée d’une suite
d’itérations (sprint) qui se terminent lorsque les incréments de ces derniers représentent un
produit qui contient suffisamment de valeur pour satisfaire les besoins du client et durant une
période définie par le Product Owner avec son équipe Scrum. Notre release est composée de
quatre sprintes.
Dans ce chapitre, nous nous intéressons au traitement des User stories du premier et
deuxième sprint pour pouvoir à la fin de chaque sprint produire un incrément potentiellement
livrable.
Afin de garder l’esprit Scrum, il est important de savoir que tous les sprints d’une release
ont une durée constante et ne se chevauchent jamais, signifiant qu’un sprint ne peut démarrer
que si le précédent est terminé.
Pour cela et avant se lancer dans le sprint, l’équipe Scrum doit impérativement définir le
but de ce dernier, c’est-à-dire d'indiquer ce ‘il va produire comme incrément de valeur. Il s’agit
de répondre à cette question « Pourquoi faisons-nous ce sprint ? ». Suie à une discussion avec
le Product Owner nous avons décidé le but de notre premier sprint, « Terminer la phase
d’inscription, d’authentification, de gestion ue profil utilisateur et de la consultation des
espaces publics ».
Une fois, nous avons défini le but de notre sprint, nous devrons décider quelles histoires de
notre backlog du produit doivent être inclues dans le backlog du sprint (1) ensuite le diagramme
de cas d’utilisation relative à ce sprint.
Le tableau ci-dessous regroupe l’ensemble des fonctionnalités qui seront développées lors
de ce sprint.
26
Chapitre 3 Sprints 1&2
27
Chapitre 3 Sprints 1&2
Dans la Figure suivante nous illustrons le diagramme de cas d’utilisation pour ce premier
sprint.
Le diagramme de cas d’utilisation du premier sprint que nous avons décrit précédemment
présente les différentes fonctions que le système exécute. Cependant, de point de vue des
acteurs donc afin de rendre l’enchainement des actions plus compréhensible pour la conception,
il est évident de proposer une description textuelle du comportement du système, en décrivant
les scénarios qui peuvent se dérouler pour chaque cas d’utilisation.
Ensuite, pour chaque cas d’utilisation nous allons présenter le diagramme de séquence
système relative en se référant à leurs descriptions textuelles.
Et nous terminerons, avec la rétrospective du sprint et la réalisation de cette dernière.
Pour cette partie, nous présenterons les différents cas d'utilisation de ce sprint, ainsi que
leurs descriptions textuelles et leurs diagrammes de séquence système.
28
Chapitre 3 Sprints 1&2
Dans cette partie, nous allons commencer par la présentation de l'analyse textuelle et la
conception du cas d'utilisation « S'inscrire ».
Le tableau ci-dessous présente la description textuelle des scénarios liée au cas d’utilisation
« S’inscrire ».
29
Chapitre 3 Sprints 1&2
Le tableau ci-dessous présente la description textuelle des scénarios liée au cas d’utilisation
« s’authentifier ».
30
Chapitre 3 Sprints 1&2
Selon la figure ci-dessus, nous remarquons qu’en cliquant sur le bouton « Log In »,
l’utilisateur se trouvera dans la page d’authentification afin d’accéder à son compte.
31
Chapitre 3 Sprints 1&2
Il saisit ses données personnelles, et le système de son tour va vérifier les différents champs
et l’existence du compte. En cas d’erreur le système notifie l’utilisateur et lui demande de
ressaisir ses informations, si ces coordonnées sont valides alors il sera dirigé vers la page
d’accueil. L’administrateur aura le même process que celui de l’utilisateur sauf il aura d’autre
accès dont l’utilisateur n’en possède pas.
Pour cette partie nous nous intéressons à l’analyse textuelle et la conception du cas
d’utilisation « Gestion du profil utilisateur ».
Le tableau ci-dessous présente la description textuelle des scénarios liée au cas d’utilisation
« Gestion du profil utilisateur ».
32
Chapitre 3 Sprints 1&2
Figure 15: Diagramme de séquence système du cas d’utilisation " Gestion du profil
utilisateur"
2.4.1 Description textuelle des scénarios du cas d'utilisation « Consultation des espaces
publics »
Nous présentons dans le tableau ci- dessous la description textuelle des scénarios du cas
d’utilisation « Gestion du profil utilisateur ».
33
Chapitre 3 Sprints 1&2
Figure 16: Diagramme de séquence système du cas d’utilisation " Consultation des espaces
publics"
34
Chapitre 3 Sprints 1&2
Dans la phase de la réalisation, nous allons présenter l’ensemble des prototypes relatives
au premier sprint. Ces prototypes représentent les interfaces de différents Use Cases que nous
avons traité lors de ce sprint. Ces interfaces ont été réalisées avec l’outil Figma, dont nous
avons parlé au deuxième chapitre dans la rubrique « outils utilisés ».
Nous allons présenter les différents interface réalisées et relatives aux cas d’utilisation du
sprint (1).
Interface « S’inscrire »
Interface « S’authentifier »
35
Chapitre 3 Sprints 1&2
36
Chapitre 3 Sprints 1&2
Pour cette partie, nous allons suivre le même principe du sprint précédent. Donc suit à une
conversation entre l’équipe Scrum et le Product Owner nous avons défini le but de ce deuxième
sprint comme suit : « Réaliser le cas d’utilisation consulter les plans proposés, ainsi que la
gestion des avis et l’envoi d’un message avec des résultats satisfaisants ».
Nous avons présenté alors, dans un premier lieu le tableau ci-dessous des histoires
utilisateurs qui doivent être inclues dans le backlog du sprint (2) suivi du diagramme de cas
d’utilisation relative à ce sprint.
37
Chapitre 3 Sprints 1&2
En cette partie, nous nous intéresserons aux différents cas d’utilisation du deuxième sprint,
en présentant leurs descriptions textuelles et leurs diagrammes de séquence système.
Pour cette partie nous nous allons présenter l’analyse textuelle ainsi que la conception du
cas d’utilisation « Consultation des plans guidés ».
2.1.1 Description textuelle des scénarios du cas d'utilisation « Consultation des plans
guidés »
Le tableau ci- dessous décrit la description textuelle des scénarios du cas d’utilisation
« Consultation des plans guidés ».
38
Chapitre 3 Sprints 1&2
Figure 18:Diagramme de séquence système du cas d’utilisation " Consultation des plans
guidés"
39
Chapitre 3 Sprints 1&2
Cette section est relative au cas d’utilisation « Donner un avis », où nous allons présenter
la description textuelle des scénarios de ce dernier ainsi que sa conception.
Les différents scénarios du cas d’utilisation « Donner un avis » qui peuvent se dérouler,
sont présentés dans le tableau ci-dessous.
40
Chapitre 3 Sprints 1&2
41
Chapitre 3 Sprints 1&2
Pour la réalisation du sprint 2, nous avons préparé les interfaces relatives au cas
d’utilisations, « Consultation des plans proposés », « Donner un avis » et « Envoyer un
message », avec l’outil Figma et elles sont présentées ci-dessous.
42
Chapitre 3 Sprints 1&2
43
Chapitre 3 Sprints 1&2
Comme nous avons déjà définie auparavant, la réunion de la rétrospective est une des
étapes importantes lors du Scrum. Durant cette réunion, avec le Product Owner et le Scrum
Master nous avons décidé comme amélioration pour le prochain sprint, de respecter plus les
dates limites afin d’être à temps pour plus de vérification. Le principe de Scrum a été respecté
et le travail est accomplis selon les préférences du Product Owner.
Conclusion
Dans le deuxième chapitre, nous avons réalisé les fonctionnalités des deux premiers
sprints, que nous avons pré-décrit en proposant les scénarios qui pourraient se produire, et en
présentant les diagrammes de séquence système des différentes user stories. Nous avons
également créé des interfaces pour les deux sprints et les avons présentées au Product Owner.
Nous avons donc réussi à construire deux incréments de valeur pour notre client.
Dans le chapitre suivant nous décrirons les cas d’utilisations du 3éme sprint qui résume les
fonctionnalités prévues pour l’administrateur et le 4éme et dernier sprint où nous allons parler
de déploiement de l’Intelligence Artificielle pour prédire des plans guidés pour les utilisateurs.
44
Chapitre 4 : Sprints 3&4
Introduction
Dans le chapitre précèdent, nous nous sommes focalisés sur l’étude conceptuelle du
premier et deuxième sprint. Dans ce chapitre, nous nous intéresserons à l’étude conceptuelle du
troisième et quatrième sprint.
45
Chapitre 4 Sprint 3&4
2
En tant qu’un 6 Jours Élevée
administrateur de
l’application Medina
Explorer, je veux assurer
les mises à jour des
descriptions relative aux
espaces publics afin
d’assurer sa fiabilité.
3 Gestion des En tant qu’un 6 Jours Élevée
paramètres de administrateur de
l’application l’application Medina
Explorer, je veux gérer
les paramètres de
l’application afin
d’assurer sa
transparence.
Tableau 16: Backlog du sprint (3)
Le diagramme de cas d’utilisation relative au 3éme sprint est illustré par la figure ci-dessus.
Ce diagramme décrira les différentes fonctionnalités que l’administrateur pourra utiliser ou bien
modifier dans l’application.
d’utilisation « Supprimer le compte d’un utilisateur » et « Gestion des mises à jour du contenu
de l’application ».
Les scénarios que nous envisageons pour le cas d’utilisation « Supprimer le compte
d’utilisateur » sont présentés dans le tableau ci-dessous.
47
Chapitre 4 Sprint 3&4
Figure 22: Diagramme de séquence système du cas d’utilisation "Supprimer le compte d'un
utilisateur"
Pour le cas d’utilisation « Gestion des mises à jour du contenu de l’application » elle se
divise en deux fonctionnalités ; « Ajouter un espace public » et « Gérer les mises à jour
des descriptions ». Nous allons donc, décrire les scénarios qui se déroulent pour chaque
fonctionnalité ainsi que proposer deux diagrammes de séquence système pour chaque unes.
2.2.1 Description textuelle des scenarios du cas d’utilisation « Gestion des mises à jour
de l’application »
48
Chapitre 4 Sprint 3&4
49
Chapitre 4 Sprint 3&4
2.2.2. Diagrammes de séquence système du cas d’utilisation « Gestion des mises à jour
de l’application »
50
Chapitre 4 Sprint 3&4
Figure 24:Diagramme de séquence système du cas d’utilisation "Gestion des mises à jour des
descriptions"
Pour la réalisation du sprint (3) nous avons prévu de préparer les interfaces décrivant les
fonctionnalités nécessaires afin de pouvoir livrer un incrément de valeur et satisfaire la demande
de notre client.
Pour la réunion de rétrospective de ce sprint, nous avons valider les tâches que nous avons
prévu les faire durant la réunion de planification du sprint tout en respectant le processus du
Scurm et les améliorations que nous avons parlé dans le sprint déjà passé.
Nous allons présenter dans le reste du chapitre 4, le dernier sprint qui fera l’objet de la
partie suivante.
51
Chapitre 4 Sprint 3&4
Comme tous sprint, ce sprint nécessite la fixation d’un objectif. Durant la réunion de la
planification nous avons décidé l’objectif suivant : « Terminer les fonctionnalités suivantes ;
la proposition des plans pour l’utilisateur selon les contraintes, et la prédiction des plans ».
Une fois, le sprint Goal est défini, il est temps de décider quelles histoires de notre backlog
du produit doivent être inclues dans le backlog du sprint (4) ensuite la présentation du
diagramme de cas d’utilisation relative à ce sprint.
Dans cette partie nous allons se focaliser spécifiquement sur l’intervention de
« l’Intelligence Artificielle » dans notre projet, dont l’idée est de laisser une expérience
utilisateur intéressante et impliquante.
Le tableau suivant écrit le backlog du sprint.
52
Chapitre 4 Sprint 3&4
Nous allons présenter par la figure ci-dessous le diagramme de cas d’utilisation relative au
sprint 4.
La proposition des plans, est une fonctionnalité faite par le système lui-même le processus
est décrit comme suit.
En effet, l’utilisateur va pouvoir sélectionner les contraintes qui lui semblent nécessaire
pour avoir un plan qu’il peut suivre lors de sa visite du Médina du Tunis ; parmi ces contraintes
nous pouvons citer ; Un espace non-fumeur, un espace avec terrasse, un espace ouvert… Le
système de sa part se base sur les données enregistrées dans la base de données de l’application,
spécifiquement les caractéristiques concernant les espaces de la Médina de Tunis, pour pouvoir
générer d’une façon automatique les plans qui paraissent les plus adéquats pour l’utilisateur.
Le plan ou les plans générés seront par suite affichés pour ce dernier et il pourra les consultés
pour trouver plus de détails.
53
Chapitre 4 Sprint 3&4
Dans ce deuxième cas d’utilisation, nous allons aborder les notions et les termes que
nous allons ajouter et liés à notre projet en se basant sur des mots clés tel que
l’intelligence artificielle, l’apprentissage automatique, l’analyse sentimentale du texte,
où nous allons les évoqués pour produire un avantage aux utilisateurs de notre application,
ils peuvent maintenant avoir des plans guidés sans la nécessité de sélectionner les
contraintes.
Nous allons décrire dans cette partie le fonctionnement du système intelligent, dont le
rôle est de prédire des plans guidés en se basant sur des caractéristiques ; dont les plus
fortes sont les avis des autres utilisateurs, et la nationalité ou pays d’origine de l’utilisateur
lui-même.
L’intelligence artificielle représente les machines ou les systèmes qui reproduisent les
comportements des humains, ou plus imitent l’intelligence humaines tel que le raisonnement
logique. Son but est de permettre à des ordinateurs de penser et d'agir comme des êtres humains.
L’analyse des sentiments qui proviennent d’un texte, est l’interprétation et l’analyse des
émotions (positives, négatives) éprouvées par des données textuelles en utilisant des techniques
ou algorithmes de traitements de texte spécifiques.
L’analyse de sentiment se concentre sur la polarité (positives, négative, neutre), et émotion
(colère, joie, tristesse) et même sur les intentions (intéressé, non intéressé). [3]
Dans notre cas nous allons analyser les commentaires, ou les avis rédigés par l’utilisateur
lorsqu’il visite les espaces publics proposés par notre application. De plus nous nous
concentrons sur la polarité (positive, négative) spécifiquement car cela servira ensuite comme
une base sur laquelle le système va s’appuyer pour prédire des plans les plus adéquat à
l’utilisateur en identifiant son opinion à l’égard des espaces visités.
2.2.3 Traitement des sentiments des avis des utilisateurs par l’apprentissage
automatique
Comme nous avons parlé dans la section précédente, l’analyse de sentiment utilise
plusieurs algorithmes et méthode de NLP (Natural Language Processing).
54
Chapitre 4 Sprint 3&4
Nous pouvons regrouper ces méthodes en trois catégories de système, pouvant être basés
sur : [3]
- Un ensemble de règles élaborées manuellement ;
- Des techniques d’apprentissage automatique (Machine Learning) ;
- Les deux système précédents (hybride).
Le premier système, se base sur les règles élaborées par l’Homme afin d’aider le système
à identifier la polarité (positive, négative) d’un avis. Pour notre cas, nous avons choisi le
traitement avec des techniques d’apprentissage automatiques (Machine Learning) à partir des
données de la base de données de notre application.
Définition du Machine Learning : C’est une sous-catégorie de l’intelligence
artificielle. Elle fonctionne à partir des algorithmes. Ces derniers sont alimentés par
les données de manière à apprendre à s’améliorer automatiquement, à partir de
l’expérience.
Selon notre cas, ces algorithmes vont apprendre de manière autonome à analyser les
sentiments d’un texte pour que nous puissions après utiliser cette analyse à la prédiction des
plans
Le traitement d’analyse de sentiment peut être effectuer par la classification des termes
du texte en des catégories. Elle est assurée par les modèles. Plus largement le modèle va
apprendre à associer un commentaire ou un avis d’utilisateur à une catégories : positive,
négative, dont nous aurons besoin dans l’étape de prédiction.
55
Chapitre 4 Sprint 3&4
Algorithmes Fonctionnement
Méthode des K plus Cet algorithme est également connu sous le nom de
proches voisins KNN ou k-NN, est un discriminant d'apprentissage
supervisé non paramétrique, qui utilise la proximité
pour effectuer des classifications ou des prédictions
sur le regroupement d'un point de données
individuel.
Classification naïve C’est un algorithme d’apprentissage supervisé, qui
bayésiennes se base sur le théorème de Bayes. Ce dernier est un
classique de la théorie des probabilités. Ce théorème
est fondé sur les probabilités conditionnelles.
Arbre de décision C’est un algorithme d’apprentissage qui permet de
faire un classement ou une prédiction. Plus
spécifiquement, c’est un schéma sous la forme d’un
arbre qui présente les Data possibles d’une série de
choix interconnectés.
Séparateurs à vastes Les machines à vecteurs de support ou séparateur à
marges (SVM) vaste marge représentent un ensemble de techniques
d’apprentissage supervisé. Il ont pour but d’assurer
la séparation des données en classes à l’aide d’une
frontière simple. Cette frontière permet de séparer
les différents groupes de données de façon que la
distance entre eux soit la plus maximale.
Foret aléatoires Le random forest est composé de plusieurs arbres de
décision, entrainés de manière indépendante sur des
sous-ensembles du data set d'apprentissage (méthode de
bagging). Chacun produit une estimation, et c'est la
combinaison des résultats qui va donner la prédiction
finale qui se traduit par une variance réduite. [6]
Tableau 21: Algorithmes de classification
56
Chapitre 4 Sprint 3&4
Dans notre cas, nous avons choisi les séparateurs à vastes marges (SVM), principalement
pour leur grande flexibilité et simplicité d’utilisation mais nous pouvons citer aussi que nous
parlons d’ un modèle de machine Learning très puissant et polyvalent, capable d’effectuer une
classification linéaire ou non linéaire.
Au niveau de cette étape, nous allons assurer la collecte de la base de données. Cette
dernière est composée des diverses données tel que ; les informations personnelles des
utilisateurs, les contraintes collectées pour chaque utilisateur ayant demandé en avant une
proposition de plan en choisissant des contraintes qui lui conviennent et les catégories
(positives, négatives) extraites du traitement des commentaires ou des avis de chaque
utilisateur.
Comme la base de données est formée d’une combinaison de plusieurs sources de données,
il est évident que les données peuvent êtres dupliquées ou incorrectes. De ce fait, nous parlons
alors du nettoyage des données.
En effet, c’est un processus de correction ou de suppression des données erronées, en
double ou incomplètes dans un jeu de données. Dans le cas de données incorrectes, les résultats
des algorithmes ne seront pas fiables et nous ne pouvons pas les utilisés. Pour cela il est crucial
de passer par le processus de nettoyage de données afin d’avoir des résultats de qualité.
Ce processus est constitué de plusieurs étapes, à compter :
57
Chapitre 4 Sprint 3&4
En effet, la prédiction des plans qui peuvent intéresser nos utilisateurs fait référence aux
résultats issu de l’algorithme que nous devrons avoir préformé en utilisant un ensemble de
données historiques, principalement les données personnelles des utilisateurs et le résultat du
traitement de son avis ( le traitement sentimentale : négatif, positif).
Cette prédiction, permettra de prévoir le résultat d’un nouvel ensemble de données.
L’algorithme généré des valeurs probables qui seront dans notre cas les plans, au plus
spécifiquement les contraintes sélectionnées précédemment pas d’autres utilisateurs pour des
variables inconnues qui sont les nouveaux utilisateurs de l’application.
Elle permet également au système de notre application de faire des supposition précises,
ou de prédire l’attrition des clients à un espace publics ou une activité spécifique.
Conclusion
Ce dernier chapitre est composé de deux parties, la première partie est spécifique au 3éme
sprint où nous avons proposé les scénarios qui pourraient se produire pour chaque cas
d’utilisation, et présenté également les diagrammes de séquence système relatives à ces-
derniers. La deuxième partie du chapitre, a été consacrée au 4éme et dernier sprint issue de
notre backlog product. Dans ce sprint nous avons, décris les différents cas d’utilisation du
sprint backlog, notamment l’intégration de l’Intelligence Artificielle pour le cas d’utilisation
« Prédiction des plans ».
58
Conclusion Générale
Le présent rapport nous a permis de tracer les différentes parties de ce projet, au cours
duquel nous avons ressuis à atteindre notre objectif principal ; la conception d’une application
mobile de guide touristique au Médina de Tunis afin de faciliter les visites des touristes en
proposant des plans guidés.
Déterminées de trouver la meilleure solution, nous avons commencé en premier lieu avec
une étude préalable et la compréhension du contexte générale du projet pour pouvoir identifier
après les différentes exigences de notre application. Nous avons préparé par suite les outils et
l’architecture nécessaires pour le bon déroulement du projet ainsi que la planification de travail
tout en respectant les priorités des besoins issues de la discussion entre l’équipe du
développement et le directeur du produit. Cette démarche que nous avons réalisée nous a permis
au bout de notre travail d’atteindre parfaitement notre objectif principal.
Malgré toutes les difficultés rencontrées au niveau du processus du travail, ce projet été
une expérience supplémentaire qui nous a permis d’exploiter nos connaissances ainsi que de
d’acquérir d’autres notamment le pouvoir de gérer plus le temps, l’adaptation aux contraintes
auxquelles nous sommes confrontés ainsi que la bonne gestion des projets en suivant la culture
Agile. Nous avons également utilisé des différents logiciels tel que Star UML pour la
conception, Adobe Illustrator pour la réalisation du logo et Figma pour la présentation des
interfaces graphiques de l’application.
Notre travail ne s’arrête pas à ce niveau, en effet, nous pouvons terminer le développement
de l’application de guide touristique à la Médina de Tunis et assurer son déploiement, aussi
d’autres fonctionnalités peuvent être intégrées tel que la réalité augmentée que nous n’avons
pas pu terminer par faute de temps, ou plus l’ajout d’une partie pour les propriétaires des
espaces publics où ils peuvent proposer plus de leurs offres et envoyer des messages aux
utilisateurs en cas de promotions ou des évènements marquants.
Finalement nous n’avons qu’à exprimer notre satisfaction envers cette expérience
enrichissante qui sera le chemin pour réussir notre projet de fin d’étude.
59
Webographie
[1] : https://blog.hubspot.fr/marketing/benchmarking
[2] : https://fr.wikipedia.org/wiki/Acteur_(UML)#:~:text=En%20g%C3%A9ni
[3] : https://www.headmind.com/fr/text-mining-analyse-de-sentiments/
[4] : https://www.headmind.com/fr/text-mining-classification-automatique-de-
textes/#:~:text=Le%20processus%20de%20classification%20d,Machine%20Learning%20%2
F%20Deep%20Learning
[5] : https://www.talend.com/fr/resources/what-is-machine-
learning/#:~:text=Un%20algorithme%20est%20une%20s%C3%A9quence,'ex%C3%A9cutio
n%20d'une%20op%C3%A9ration
[6] : https://www.journaldunet.fr/web-tech/guide-de-l-intelligence-artificielle/1501905-
random-forest-ou-foret-aleatoire/
60
Annexe
Annexe A : Charte graphique du logo
2. Présentation du logo
Il existe trois modèles de présentation du logo : Comme nous avons présenté, respectivement,
centrer, aligné à gauche, et une ligne.
61
4. Couleurs officielles du logo
5. Construction du logo
62
6. Versions du logo
7. Zone de protection
63