Académique Documents
Professionnel Documents
Culture Documents
Ministère de l’Enseignement
Supérieur et de la
Recherche Scientifique
Elaboré Par
Eya ourteni
Feriel Rabah
Hiba Chebbi
Superviseur
Mme. Yosra Kassis
2
Conclusion .....................................................................................................................37
Chapitre 4 : Sprint 2 .......................................................................................................38
1. Spécification fonctionnelle ........................................................................................38
1.1 Backlog sprint ...................................................................................................38
1.2 Diagramme de cas d’utilisation ...........................................................................40
2. La conception ..........................................................................................................45
2.1 Diagramme de classes........................................................................................45
2.2 Diagrammes de séquences .................................................................................45
3. La réalisation ...........................................................................................................49
3.1 Interfaces liées au client .....................................................................................49
3.2 Interfaces liées à l’administrateur .......................................................................50
3.3 Interfaces liées au gestionnaire ...........................................................................52
Conclusion .....................................................................................................................53
Chapitre 5 : Sprint 3 .......................................................................................................54
1. Spécification fonctionnelle ........................................................................................54
1.1 Backlog sprint ...................................................................................................54
1.2 Diagramme de cas d’utilisation ...........................................................................55
2. La conception ..........................................................................................................57
2.1 Diagramme de classes........................................................................................57
2.2 Diagrammes de séquences .................................................................................57
3. La réalisation ...........................................................................................................58
Conclusion .....................................................................................................................59
Conclusion et perspective ............................................................................................60
Nétographie ...................................................................................................................61
3
Liste des tableaux
4
Liste des figures
Figure 1 : Cycle de vie de SCRUM 12
Figure 2 : Diagramme de cas d’utilisation général 16
Figure 3 : Architecture MVC 21
Figure 4 : Diagramme de cas d’utilisation de sprint 1 24
Figure 5 : Maquette d’inscription 26
Figure 6 : Maquette d’authentification 27
Figure 7 : Maquette d’ajout d’une voiture 28
Figure 8 : Diagramme de classe du sprint 1 29
Figure 9 : Diagramme de séquence « authentification admin » 29
Figure 10 : Diagramme de séquence « authentification manager » 30
Figure 11 : DIAGRAMME de séquence « authentification client » 30
Figure 12 : Diagramme de séquence « ajout voiture » 31
Figure 13 : Diagramme de séquence « consulter voitures » 31
Figure 14 : Interface d’inscription client 32
Figure 15 : Interface d'authentification client 33
Figure 16 : Page d'accueil 34
Figure 17 : Interface de test d'authentification 35
Figure 18 : Interface d'authentification de l'administrateur 35
Figure 19 : Test d'authentification administrateur 36
Figure 20 : Interface d'ajout voiture 36
Figure 21 : Diagramme de cas d'utilisation du sprint 2 40
Figure 22 : Maquette consulter administrateur ou gestionnaire 42
Figure 23 : Maquette de modification administrateur ou gestionnaire 43
Figure 24 : Maquette consulter voiture 43
Figure 25 : Maquette modifier voiture 44
Figure 26 : Maquette réservation voiture 44
Figure 27 : Diagramme de classes du sprint 2 45
Figure 28 : Diagramme de séquence de consulter la liste des administrateurs 45
Figure 29 : Diagramme de séquence de modification d’un administrateur 46
Figure 30 : Diagramme de séquence de suppression d’un administrateur 46
Figure 31 : Diagramme de séquence de consulter la liste des voitures 47
Figure 32 : Diagramme de séquence de modification d’une voiture 47
Figure 33 : Diagramme de séquence de suppression d’une voiture 48
Figure 34 : Diagramme de séquence de réserver voiture 48
Figure 35 : Interface de détails d'une voiture 49
Figure 36 : Formulaire de réservation 49
Figure 37 : Interface du contrat 50
Figure 38 : Message affiché en cas ou la voiture est déjà réserver 50
Figure 39 : Liste des administrateurs 51
Figure 40 : Listes des gestionnaires 51
Figure 41 : Interface de modification d'un administrateur 52
5
Figure 42 : INTERFACE DE MODIFICATION D'UN gestionnaire 52
Figure 43 : Listes des voitures 53
Figure 44 : Interface de modification d'une voiture 53
Figure 45 : Diagramme de cas d'utilisation du sprint 3 55
Figure 46 : Maquette de gestion des réservations et contrats 56
Figure 47 : Diagramme de classe du sprint 3 57
Figure 48 : Diagramme de séquence de consulter liste des réservations et des contrats. 57
Figure 49 : Diagramme de séquence de suppression d’une réservation et son contrat 58
Figure 50 : Diagramme de séquence de générer PDF 58
Figure 51 : Interface de la liste des réservations et des contrats 59
Figure 52 : Rapport généré 59
6
Introduction générale
7
• Sprint 2
• Sprint 3
Pour mettre des mots sur notre projet, nous aimerions le présenter dans le
premier chapitre. Passez ensuite au chapitre 2, intitulé « Planification du projet
et spécification des besoins » dont nous allons discuter les exigences
fonctionnelles et non fonctionnelles du système, backlog produit, architecture
système et diagrammes de cas d’utilisation courants. Les 3 derniers chapitres de
ce travail sont « Sprint 1 », « Sprint 2 » et « Sprint 3 » qui contiennent leurs sprint
backlog, leurs maquettes, leurs conceptions, leurs interfaces réalisés.
8
Chapitre 1 : Cadre du projet
Dans ce chapitre nous présenterons une étude préalable qui est une étape
essentielle afin d'analyser, d'évaluer et de critiquer des applications similaires
pour proposer une solution adaptée, ainsi que nous présenterons la
méthοdοlοgie adaptée pour effectuer cette application.
1. Etude de l’existant
L’étude de l’existant est une phase primordiale pour la réalisation d’un projet.
En effet elle consiste à observer et à analyser les solutions existantes puis à
déterminer leurs points faibles et leurs points forts afin de les prendre en
considération lors de la réalisation de l’application en question. Elle comporte
trois parties : description de l’existant, critique de l’existant et la solution
envisagée.
1.1 Description de l’existant
Il existe plusieurs solutions pour location de voitures en lignes. Nous citons
quelques applications parmi eux :
Nom Description
AVIS est une société internationale de location de voitures qui
opère dans de nombreuses régions du monde et propose des
services de location aux touristes et aux clients locaux.
Acteur majeur du secteur mondial de la location de voitures,
HERTZ se distingue par sa longue histoire d'innovation et son
service fiable. Connue pour sa présence mondiale, HERTZ propose
à ses clients une variété de choix de véhicules, allant des options
abordables aux véhicules de luxe, pour répondre à un large
éventail de besoins de voyage.
SIXT, société de location de voitures internationale renommée, se
caractérise par son engagement en faveur de l'innovation, de
l'élégance et de la flexibilité. Connu pour ses locations de véhicules
haut de gamme, SIXT offre à ses clients une expérience de
conduite supérieure dans une variété de véhicules allant des
berlines de luxe aux SUV élégants.
TABLEAU 1 : APPLICATIONS SIMILAIRES
9
1.2 Critique de l’existant
Plusieurs applications fournissent des fonctionnalités et des solutions pour une
bonne gestion de location de voitures, mais malgré la présence évidente des
avantages pour ces différentes solutions, les inconvénients ne disparaissent pas.
• Hertz :
Interface complexe : certains utilisateurs signalent que l'interface du site Web
de Hertz peut parfois être complexe, rendant la navigation et les réservations
difficiles à utiliser.
Problèmes de réservation en ligne : des retours occasionnels font état de
difficultés à finaliser des réservations en ligne, avec des erreurs techniques ou
des interruptions.
• Sixt :
Manque de transparence des coûts : certains utilisateurs ont remarqué que les
informations sur le coût total, y compris les frais supplémentaires, ne sont pas
toujours clairement affichées lors de la réservation en ligne
• Avis :
Interface peu intuitive : certains clients ont exprimé des inquiétudes quant au
fait que l'interface du site Web d'Avis pourrait ne pas être intuitive et que la
navigation pourrait ne pas être fluide.
1.3 Solution envisagée
Face aux défis identifiés dans les solutions existantes de location de voitures en
ligne, la solution envisagée vise à introduire une plateforme novatrice avec une
interface utilisateur intuitive et transparente. Notre objectif est de simplifier le
processus de réservation en ligne en éliminant les interfaces complexes, de
garantir une transparence totale sur les coûts, et d'offrir une expérience
utilisateur fluide et agréable. En intégrant des fonctionnalités innovantes, telles
qu'une navigation simplifiée et des processus de réservation rationalisés, notre
solution ambitionne de répondre aux préoccupations des utilisateurs actuels
tout en offrant une alternative moderne et efficace dans le domaine de la
location de voitures en ligne.
10
2. Méthodologie de travail
Au cours du développement des projets informatiques, il est indispensable de
respecter une démarche bien déterminée pour assurer un bon rendement de
développement en termes de qualité et de productivité. C’est pour cela que le
choix de la méthodologie en informatique est primordial. Les méthodologies de
développement suivent une séquence d’étapes ordonnées qui permet d’obtenir
un système informatique performant qui répond aux différents besoins des
utilisateurs dans des intervalles de temps.
2.2 Présentation de SCRUM
SCRUM est l’une des méthodes les plus utilisées pour la gestion des projets
informatiques. Son objectif est d’offrir plus de souplesse à l’équipe. Un projet
qui suit « SCRUM » comporte un « Product backlog » qui représente une liste
ordonnée des fonctionnalités à développer pour atteindre un objectif bien
déterminé. De son tour le « Product backlog » est divisé en un « sprint backlog »
qui est basé sur la division des flux de travail en « Sprint » qui est un intervalle
de temps généralement entre deux et quatre semaines. À la fin de chaque sprint
il y aura un livrable qui présente de son tour les fonctionnalités accomplies.
2.2 Les rôles SCRUM
Scrum à trois rôles :
11
FIGURE 1 : CYCLE DE VIE DE SCRUM
Conclusion
Dans ce premier chapitre, nous avons défini l’étude de l’existant afin de préciser
notre objectif à atteindre vers la fin accompagnée d’une solution proposée et le
choix de la méthodologie appliquée. Dans le chapitre qui suit, nous présenterons
l’analyse et la spécification des besoins.
12
Chapitre 2 : Analyse et spécifications des besoins
Nous consacrons ce deuxième chapitre à la phase de spécification et d’analyse
des besoins.
1. Spécification des besoins
Dans cette partie, nous présentons l’ensemble des besoins auxquels doit
répondre notre système.
1.1 Besoins fonctionnels
Les besoins fonctionnels sont les fonctionnalités et les options que l’application
fournira à l’utilisateur.
Notre application fournira les fonctionnalités suivantes :
13
• Fiabilité : L’application doit toujours répondre à l’exigence afin de
fonctionner sans aucune erreur ou défaillance.
• La disponibilité : L’application doit être disponible à tout instant pour être
utilisée par n’importe quel utilisateur, elle doit être accessible facilement
via n’importe quel navigateur.
• Performance : Afin d’offrir un service de qualité, l’application doit être
performante au niveau de temps de réponse.
• Ergonomie : Les interfaces doivent être simple et conviviale.
• La sécurité : Les informations ne doivent pas être accessibles par tout le
monde.
2. Backlog produit
Avant de lancer le premier sprint, il est essentiel d’avoir un backlog du produit, c’est-à-
dire une liste hiérarchisée des fonctionnalités orientées vers les besoins du client. Le
backlog du produit est un élément permanent tout au long de la durée de vie du produit
et sert de feuille de route pour le développement du produit.
Pendant toute la durée du projet, le backlog du produit rassemble de manière
centralisée la liste de « tout ce qui peut être réalisé par l’équipe, classé par ordre de
priorité. » Il n’existe qu’un seul backlog du produit pour un produit donné.
Pour évaluer la complexité de nos histoires d’utilisateur, nous avons utilisé les échelles
suivantes :
• 2 : Facile
• 3 : Simple
• 5 et 8 : Modéré
• 13 : Difficile
• 21 : Très difficile
Le backlog du produit sert de référence pour la planification des sprints et la prise de
décisions concernant les fonctionnalités à développer en priorité. Il permet de garder
une vision d’ensemble du développement du produit tout au long de son cycle de vie.
14
2 En tant Haute 21
qu’utilisateur je
veux m’authentifier
3 En tant que Haute 5
gestionnaire je
Sprint 1 veux ajouter des
nouvelles voitures
4 En tant que client Haute 3
je veux consulter
les voitures
disponibles
5 En tant Moyenne 8
qu’administrateur,
je veux gérer les
comptes
utilisateurs
6 Sprint 2 En tant que client Moyenne 21
je veux réserver
une voiture
7 En tant que Moyenne 8
gestionnaire je
veux
supprimer/modifier
des voitures
8 En tant Faible 3
qu’utilisateur, je
veux me
déconnecter
9 En tant que Haute 21
gestionnaire je
veux gérer les
Sprint 3 réservations/les
contrats.
10 En tant que Moyenne 13
gestionnaire, je
veux générer des
rapports pour les
contrats.
TABLEAU 2 : BACKLOG PRODUIT
15
3. Diagramme de cas d’utilisation général
3.1 Identification des acteurs
Un acteur définit un role jouet par une personne externe qui interagit avec le
système. Il peut être parmi les utilisateurs du système et parmi les
responsables de sa configuration.
Cette application est composée de 3 acteurs :
16
4. Environnement et outils de développement
• HTML [1]
Le terme CSS est l’acronyme anglais de Cascading Style Sheets qui peut se
traduire par « feuilles de style en cascade ». Le CSS est un langage
informatique utilisé sur l’internet pour mettre en forme les
fichiers HTML ou XML. Ainsi, les feuilles de style, aussi appelé les fichiers
CSS, comprennent du code qui permet de gérer le design d’une page
en HTML.
• JavaScript [3]
17
• JAVA [4]
• XAMPP [5]
18
• Thymeleaf [7]
• Trello [8]
• StarUML
19
mise en réseau fiable avec d’autres systèmes. Dans ce contexte, notre choix se
porte sur le modèle MVC (Modèle-Vue-Contrôleur).
5.1 Architecture MVC
Le modèle MVC est un modèle architectural couramment utilisé dans le
développement de logiciels pour concevoir et organiser des systèmes
informatiques. Cette approche divise l’application en trois composants
principaux, chacun avec des responsabilités différentes.
• Modèle
Le modèle représente les données de l’application ainsi que la logique métier
associée. Il gère l’accès aux données, effectue les opérations de manipulation
des données, et notifie la vue des changements éventuels. En d’autres termes,
le modèle est responsable de la gestion des données et de la logique métier de
l’application.
• Vue
La vue est chargée de l’interface utilisateur et de l’affichage des données au
travers du modèle. Elle n’effectue aucune logique métier, se contentant de
présenter les informations au format approprié pour les utilisateurs. Lorsque le
modèle est mis à jour, la vue est notifiée et se met à jour en conséquence.
• Contrôleur
Le contrôleur fait office d’intermédiaire entre la vue et le modèle. Il reçoit les
entrées de l’utilisateur de la vue, interprète ces entrées, puis effectue les
opérations nécessaires sur le modèle. En retour, il peut également recevoir des
notifications du modèle et mettre à jour la vue en conséquence. Le contrôleur
gère la logique de flux de l’application.
20
FIGURE 3 : ARCHITECTURE MVC
Conclusion
Dans ce chapitre, nous avons détaillé les exigences fonctionnelles et non
fonctionnelles du produit à réaliser, ainsi que nous avons parlé des différents
outils et technologies utilisées tout au long du projet. Ensuite, nous avons
terminés présenter l’architecture.
21
Chapitre 3 : Sprint 1
22
d’inscription et l’authentification des
d’authentification utilisateurs.
• Intégrer les
formulaires HTML.
23
FIGURE 4 : DIAGRAMME DE CAS D’UTILISATION DE SPRINT 1
24
5-le système va afficher en boucle la
page d’authentification et revient au
point 2 du scénario normal jusqu’à ce
que l’utilisateur réussisse
l’authentification.
TABLEAU 4 : DESCRIPTION DE USE CASE « AUTHENTIFIER »
25
1.3 Les maquettes
• Maquette d’inscription
- En cas d’échec :
26
• Maquette d’authentification
27
• Maquette d’ajout d’une voiture
28
FIGURE 8 : DIAGRAMME DE CLASSE DU SPRINT 1
29
• Diagramme de séquence « authentification manager »
30
• Diagramme de séquence « ajout voiture »
31
3. La réalisation
3.1 Interfaces liées au client
La figure 14 représente l’interface d’inscription dans laquelle le client doit saisir
ses informations dans les champs correspondant pour créer son compte. Une
fois qu’il a cliqué sur le bouton « SIGN UP », le système vérifie les données
entrées. En cas d’échec, il affiche un message d’erreur si le username est déjà
existant ou si le mot de passe n’est pas alphanumérique contenant 6 caractères
au moins avec un caractère spécial. Après avoir saisi les coordonnées
correctement le client obtient la page d’authentification (figure 15).
32
La figure 15 représente l’interface d’authentification dans laquelle le client doit
saisir son username et le mot de passe dans les champs correspondant pour
accéder à l’accueil. Une fois qu’il a cliqué sur le bouton « SIGN IN », le système
vérifie les données entrées. En cas d’échec, il affiche un message d’erreur. Si le
username et le mot de passe sont acceptables, le système passe à la page
d’accueil. Après avoir saisi les coordonnées correctement le client obtient la
page d’accueil ou il trouvera une section qui présente les voitures louer. (Figure
16)
33
FIGURE 16 : PAGE D'ACCUEIL
34
La figure ci-dessous montre le message d’erreur en cas ou les données sont
erronées.
35
En cas d’échec, un message d’erreur va être afficher.
36
Conclusion
Tοut au lοng de ce chapitre, nous avons présenté les différentes user stοries du
sprint 1, la cοnceptiοn, les maquettes et les interfaces. Dans le chapitre suivant,
nous présentons les mêmes étapes pour le sprint 2.
37
Chapitre 4 : Sprint 2
38
voitures par le modification des
gestionnaire voitures dans le
backend.
Frontend Mise à jour de la • Vérifier et ajuster 3 jours
page la configuration
d'administration frontend existante.
des comptes • Mettre à jour les
utilisateurs pages Thymeleaf.
• Mettre en place
les contrôleurs
frontend pour
interagir avec les
services backend.
• Afficher la liste
des utilisateurs et
permettre la
modification et
suppression
d'utilisateurs.
39
1.2 Diagramme de cas d’utilisation
La figure ci-dessous représente le diagramme de cas d’utilisation du sprint 2.
40
Description textuelle du cas d’utilisation « Réserver voiture » :
41
2.1- dans le cas où il choisit la liste des
voitures il peut modifier ou supprimer une
voiture.
2.2-s’il choisit d’ajouter une voiture il va
remplir le formulaire d’une voiture.
3-chaque changement au niveau des
annonces va être enregistrer dans la base.
42
FIGURE 23 : MAQUETTE DE MODIFICATION ADMINISTRATEUR OU GESTIONNAIRE
43
FIGURE 25 : MAQUETTE MODIFIER VOITURE
44
2. La conception
Nous allons présenter dans cette section le diagramme de classe du sprint 2, ainsi
que les diagrammes de séquences.
2.1 Diagramme de classes
La figure ci-dessous représente le diagramme de classes du sprint 2.
2.2Diagrammes de séquences
• Diagramme de séquence de consulter la liste des administrateurs
45
• Diagramme de séquence de modification d’un administrateur
46
• Diagramme de séquence de consulter la liste des voitures
47
• Diagramme de séquence de suppression d’une voiture
48
3. La réalisation
3.1 Interfaces liées au client
Lorsque le client clique sur le bouton "VIEW DETAILS" qui se trouve dans la carte
de présentation d’une voiture dans la page d’accueil (Figure 16), il va être diriger
vers cette interface qui affiche les détails de la voiture sélectionnées.
En cas ou le client veut réserver cette voiture, il clique sur le bouton "Book" pour
qu’il soit dirigé vers un formulaire de réservation en précisant la date de début
de réservation et la date de fin comme le montre la figure ci-dessous.
49
Une fois le client a confirmé sa réservation en cliquant sur le bouton "Add
rental", le système génèrera un contrat et affichera ces détails. (Figure 36)
En cas ou la voiture est déjà réserver dans les dates sélectionnées par le client,
le système affichera une page contenant ce message. (Figure 37)
50
FIGURE 39 : LISTE DES ADMINISTRATEURS
En cliquant sur l’icône "PEN" qui se trouve dans la colonne "actions" du tableau,
l’administrateur va être dirigé vers la page de modification des données d’un
administrateur sélectionné ou d’un gestionnaire. (Les anciennes données vont
être récupérées)
51
FIGURE 41 : INTERFACE DE MODIFICATION D'UN ADMINISTRATEUR
52
FIGURE 43 : LISTES DES VOITURES
En cliquant sur l’icône "PEN" qui se trouve dans la colonne "actions" du tableau,
le gestionnaire va être dirigé vers la page de modification des données d’une
voiture sélectionné. (Les anciennes données vont être récupérées)
Conclusion
Tοut au long de ce chapitre, nous avons présenté les différentes user stοries du
sprint 2, la conception, les maquettes et les interfaces. Dans le chapitre suivant,
nous présentons les mêmes étapes pour le sprint 3.
53
Chapitre 5 : Sprint 3
54
pertinentes des
contrats.
55
• Description textuelle du cas d’utilisation supprimer une réservation et
générer PDF
Cas d’utilisation Gestion des réservations et des contrats
Acteurs Gestionnaire
Pré condition Le gestionnaire doit s’authentifier
Post condition Réservation/contrat modifiés ou
supprimés
Scénario nominal : 1-le système affiche le Dashboard de
manager.
2-le gestionnaire choisit la section
"rentals".
3-Le système affichera la liste des
réservations.
3.1- dans le cas où il clique sur l’icône
"TRASH", une réservation est supprimée
ainsi que son contrat.
3.2-dans le cas où il veut générer un
fichier PDF du contrat, il clique sur l’icône
"PDF".
4-chaque changement au niveau des
annonces va être enregistrer dans la base.
TABLEAU 12 : DESCRIPTION TEXTUELLE DU CAS D’UTILISATION SUPPRIMER UNE RESERVATION
ET GENERER PDF
56
2. La conception
Nous allons présenter dans cette section le diagramme de classe du sprint 3, ainsi
que les diagrammes de séquences.
2.1 Diagramme de classes
2.2Diagrammes de séquences
• Diagramme de séquence de consulter liste des réservations et des
contrats
57
• Diagramme de séquence de suppression d’une réservation et son contrat
3. La réalisation
Le gestionnaire peut notamment consulter la liste des réservations. Cette liste
contiendra aussi le numéro de contrat.
En cas de suppression d’une réservation, son contrat associé va être supprimer
automatiquement.
58
FIGURE 51 : INTERFACE DE LA LISTE DES RESERVATIONS ET DES CONTRATS
Pour générer un fichier PDF contenant toutes les informations nécessaires d’une
réservation, le gestionnaire doit juste cliquer sur l’icône "PDF " . Le navigateur va
lui ouvrir le fichier directement.
Conclusion
Tοut au long de ce chapitre, nous avons présenté les différentes user stοries du
sprint 4, la conception, les maquettes et les interfaces de ces user stοries.
59
Conclusion et perspective
Au cours de ce projet, nous avons étudier un secteur d’activité très intéressant,
c’est celui du service de location des voitures en ligne. L’objectif escompté par
ce présent travail est de concevoir, de développer un site web pour une agence
de location des voitures en ligne.
En achevant ce rapport, il est indispensable de signaler les aspects bénéfiques
de ce projet :
60
Nétographie
[1] http://glossaire.infowebmaster.fr/html/
[2] http://glossaire.infowebmaster.fr/css/
[3]https://developer.mozilla.org/fr/docs/Learn/Getting_started_with_the_
web/JavaScript_basics
[4] https://appmaster.io/fr/blog/quest-ce-que-java-definition-signification-
caracteristiques
[5] https://www.apachefriends.org/fr/index.html
[6] https://easypartner.fr/blog/quest-ce-que-java-spring-boot/
[7] https://gayerie.dev/docs/spring/spring/thymeleaf.html
[8] https://www.blogdumoderateur.com/tools/trello/
61