Vous êtes sur la page 1sur 39

Faculté des Sciences et

Technique - Settat

Mémoire de projet de fin d’étude


Présenté par

OUMESLAKHT Tarik
KANANE Yassine
En vue de l’obtention du diplôme
License Universitaire Professionnelle
Java JEE

Thème

« Gestion De Location De voiture »

Année universitaire : 2019/2020


Remerciement
Nous tenons à remercier tous ceux qui m’ont
apporté leur soutien durant toute la période de
notre formation au sein de la CIGMA-FST SETTAT,
notamment notre encadrant Mr. Saou Rachid.

Cette formation nous a permis de consolider nos


connaissances et de confirmer notre passion pour
ce domaine. Nous tenions alors à vous remercier
pour votre contribution enrichissante dans le
début de notre parcours professionnel.

Désormais. Nous vous remercions également


pour l’accueil particulièrement chaleureux qui
nous a été accordé, mais aussi pour vos conseils,
votre patience et votre professionnalisme. Cette
expérience fut très enrichissante et va
nécessairement nous aider à exceller tout au long
de notre carrière.
SOMMAIRE
I. Introduction ..............................................................................................................................4
- Location de voitures : .......................................................................................................4
- ANALYSE DU PROBLEME :..............................................................................................5
- Solutions proposés : ..........................................................................................................5
– L’objectif du projet : ..........................................................................................................7
II. Conception Merise ..........................................................................................................8
- Règles de gestion :.............................................................................................................8
- Modèle Conceptuel de données (MCD) : ...................................................................9
- Modèle Logique de données (MLD) :......................................................................... 10
- Dictionnaire de données : ............................................................................................. 11
III. Conception UML ............................................................................................................ 14
- Diagramme de Use Case : ............................................................................................. 14
IV. LES SOLUTIONS LOGICIELLES ............................................................................... 17
- Les technologies : ............................................................................................................ 17
✓ CSS : ................................................................................................................................ 17
✓ HTML : ............................................................................................................................ 18
✓ JAVASCRIPT : ............................................................................................................... 19
✓ JQUERRY : ..................................................................................................................... 20
✓ JAVA : ............................................................................................................................. 21
✓ JAVAJEE : ...................................................................................................................... 23
✓ MYSQL : ......................................................................................................................... 24
✓ BOOTSTRAP : ................................................................................................................ 25
✓ Spring Boot : .................................................................................................................... 26
✓ Hibernate : ....................................................................................................................... 27
V. Guide Utilisateur............................................................................................................ 28
- Présentation graphique : ............................................................................................... 28
VI. Conclusion ....................................................................................................................... 39
I. Introduction
- Location de voitures :
La location de véhicule est un service offert par des
professionnels détenteurs d'automobiles de tourisme
ou de véhicules utilitaires. Ce service consiste pour le
client (professionnel ou particulier) à réserver et à jouir
d'un véhicule pour une période donnée allant de
quelques heures à plusieurs mois.
Concernant la location d'utilitaire, il existe des services
de location de véhicule en aller simple. C'est-à-dire que
l'on prend le véhicule à une agence de location et on le
rend dans une autre agence de location.
Il existe également, chez certains fournisseurs, des
services de location de véhicule en aller simple pour les
véhicules de tourismes ou les utilitaires.
Le marché de la location se partage entre :

• La location courte durée, d'une journée à plusieurs


jours
• la location longue durée, pour un an et plus
• la location très courte durée, ou auto partage, de
moins d'une heure à quelques heures
- ANALYSE DU PROBLEME :

La gestion traditionnelle d'une agence de location de


voiture nécessite un grand effort de la part du
personnelles , il faut utiliser des formulaire en papier
pour client, pour les contrat , des archive pour stocké
tout ancienne opération ou transaction , ce qui rend le
travail désagréable , la nouvelle technologie
informatique présente une solution a ses problèmes
avec l'utilisation de la base de donné relationnelle ,cet
solution consiste à automatiser et informatiser la
gestion à travers l'utilisation de différent logiciel, le
logiciel qu'on va utiliser dans cet application est
MySQL, ce logiciel permet de créer des table ,pour
stocké les informations souhaiter ,des formulaires pour
saisir ses informations facilement et des requêtes pour
chercher est modifier des donnée .
- Solutions proposés :

Ceci une solution complète de location de Voitures en ligne


qui offre les fonctions standard de fonctionnement d’une
Société de Location de Voitures à savoir chercher une
Voiture, réserver une voiture, rendre une voiture, connaître
sa facture.
Ce site dispose d’une interface graphique Web, et il existe
deux profils de personnes qui peuvent utiliser cette Société
de Location en Ligne :

- Client
- Administrateur du Site

Rôle du Client

- Chercher une voiture à louer et vérifier sa disponibilité


- Afficher une Voiture en partant de son matricule
- Afficher ses factures
- Annuler les locations qui n’ont pas pris cours
- Consulter ses locations

Rôle de l’administrateur

- S’authentifie dans le système


- Faire un inventaire complet de toutes Voitures
- Supprimer une voiture
- Poster un message pour afficher une promotion a tous les
clients
- Consulter les statistiques des voitures par année
– L’objectif du projet :

L’objective de notre projet c’est créer une


application web de location de voiture en ligne
pour les utilisateurs.
Cette application permet de réaliser les taches
suivantes :

Gérer les réservations et les voitures.


Tous les clients qui souhaitent louer une voiture
doivent passer par le site web, choisir une voiture
Disponible, remplir le formulaire et valider la
Réservation.
II. Conception Merise
- Méthodologie de conception :

Merise se positionne comme une méthode de conception de SI


organisationnel, plus tournée vers la compréhension et la
formalisation des besoins du métier que vers la réalisation de logiciel.
En sens, Merise se réclame plus de l'ingénierie du SI métier que du
génie logiciel.
Jamais Merise ne s'est voulu une méthode de développement de
logiciel ni de programmation.

- Règles de gestion :

- Une voiture peut être loué par un seul client à la fois

- Un Client peut Louer une ou plusieurs voitures

- Un retour de voiture doit correspondre à une seule location

- Un retour de voiture peut générer une pénalisation (Date limite


dépassé)

- Une révision de voiture peut générer une pénalisation (Voiture


endommagé)
- Modèle Conceptuel de données
(MCD) :

Le MCD (modèle conceptuel de données) est la représentation


la plus abstraite que l'on réalise de la structure des données
d'un système d'information. Il est constitué d'entités qui
représentent des ensembles de données de même nature et
d'associations entre entités.
- Modèle Logique de données
(MLD) :

Le MLD (modèle logique de données) est une représentation


qui prend en compte le choix technologique de la réalisation de
la future base de données.
- Dictionnaire de données :

C'est une étape intermédiaire qui peut avoir son importance,


surtout si vous êtes plusieurs à travailler sur une même base de
données, d'un volume important.

Le dictionnaire des données est un document qui regroupe toutes


les données que vous aurez à conserver dans votre base (et qui
figureront donc dans le MCD). Pour chaque donnée, il indique :

• le code mnémonique : il s'agit d'un libellé désignant une


donnée;
• la désignation : il s'agit d'une mention décrivant ce à quoi
la donnée correspond;
• le type de donnée :
o A ou Alphabétique : lorsque la donnée est
uniquement composée de caractères alphabétiques
(de 'A' à 'Z' et de 'a' à 'z'),
o N ou Numérique : lorsque la donnée est composée
uniquement de nombres (entiers ou réels),
o AN ou Alphanumérique : lorsque la donnée peut
être composée à la fois de caractères alphabétiques et
numériques,
o Date : lorsque la donnée est une date (au format
AAAA-MM-JJ),
o Booléen : Vrai ou Faux ;
• la taille : elle s'exprime en nombre de caractères ou de
chiffres. Dans le cas d'une date au format AAAA-JJ-MM, on
compte également le nombre de caractères, soit 10
caractères. Pour ce qui est du type booléen, nul besoin de
préciser la taille (ceci dépend de l'implémentation du
SGBDR) ;
• et parfois
des remarques ou observations complémentaires (par
exemple si une donnée est strictement supérieure à 0, etc.).

• Administrateur :

Code mnémonique Désignation Type Taille Remarque


Id Identifiant numérique N
d'un administrateur
Username Nom d’un administrateur A 30

Password Mot de passe d’un A 30


administrateur

• Voiture :

Code mnémonique Désignation Type Taille Remarque


Id_voit Identifiant numérique N
d'une voiture
Name Nom de la voiture A 30

Picture Image de la voiture A 100

Carburant Carburant du voiture A 20

Passager Nombre de passage N

Porte Nombre de porte N

Valise Nombre de valise N

Transmission Type de transmission A 50


dans la voiture
Climatisation Si la climatisation se Booléan
trouve dans la voiture
ou non
Price Prix de la voiture N

Solde Montant soldée du prix N


de la voiture

• Client :

Code mnémonique Désignation Type Taille Remarque


Cin Identifiant d’un client A 10
Nom Nom du client A 30

Prenom Prénom du client A 30

Age Age du client N

Email Email du client A 50

Tel Numéro téléphone du A 10


client
Adresse Adresse du client A 150

• Location :

Code mnémonique Désignation Type Taille Remarque


Code Identifiant numérique N
d'une location
Date-location Date location de la Date 10 Au format JJ/MM/AAAA
voiture
Date-debut Date début d’utilisation Date 10 Au format JJ/MM/AAAA
du voiture
Matricule Identifiant numérique N
d'une voiture
Cin Identifiant d’un client A 10

Date-fin Date fin d’utilisation du Date 10 Au format JJ/MM/AAAA


voiture
Ville-depart Ville départ du location A 50

Ville-retour Ville retour du location A 50

Montant Montant du location N


III. Conception UML

- Diagramme de Use Case :


Chaque usage que les acteurs font du système est représenté
par un cas d’utilisation.
Chaque cas d’utilisation représente une fonctionnalité qui leur été
offerte afin de produire le résultat attendu.
Ainsi, « le diagramme de cas d’utilisation décrit l’interaction entre le
système et l’acteur en déterminant les besoins de l’utilisateur et tout
ce que doit faire le système pour l’acteur ».
IV. ENVIRONNEMENT MATERIEL
Dans ce chapitre, nous présentons l'architecture sur laquelle nous
avons développé nos
applications, les différents outils utilisés ainsi que les composantes
applicatives réalisées.

- Architecture du matériel :
Notre solution web et mobile sont deux applications qui se connectent
à un serveur de base de données distant, via Internet, afin de
récupérer les données, ce qui nécessite aussi l’intégration d’un serveur
web entre l’application client et le serveur de base de données.
D’où l’architecture de notre application est à 3 niveaux (architecture
3-tiers), elle est partagée entre:

- Le client Web : Conteneur d’application et demandeur de


ressources,
- Le serveur Web : Vue que les données seront
communiquées entre deux environnements hétérogènes,
le rôle principal du serveur web est de gérer la
communication entre le client Web/Mobile et le serveur de
base de données,
- Le serveur de base de données fournit les données au
serveur web.
V. LES SOLUTIONS LOGICIELLES

- Les technologies :

✓CSS :

Généralement appelées CSS de


l'anglais Cascading Style Sheets,
forment un langage informatique qui
décrit la présentation des documents
HTML et XML. Les standards
définissant CSS sont publiés par le World Wide
Web Consortium (W3C).

Introduit au milieu des années 1990, CSS devient


couramment utilisé dans la conception de sites web
et bien pris en charge par les navigateurs web dans
les années 2000
✓ HTML :

Le HyperText Markup
Language généralement abrégé
HTML ou dans sa dernière
version HTML5, est le langage
de balisage conçu pour
représenter les pages web. C’est
un langage permettant d’écrire
de l’hypertexte, d’où son nom.
HTML permet également de
structurer sémantiquement la page, de mettre en forme
le contenu, de créer des formulaires de saisie, d’inclure
des ressources multimédias dont des images, des vidéos,
et des programmes informatiques. Il permet de créer des
documents interopérables avec des équipements très
variés de manière conforme aux exigences de
l’accessibilité du web. Il est souvent utilisé
conjointement avec le langage de programmation
JavaScript et des feuilles de style en cascade (CSS).
HTML est inspiré du Standard Generalized Markup
Language (SGML). Il s'agit d'un format ouvert.
✓JAVASCRIPT :

JavaScript est un langage de


programmation de scripts
principalement employé dans les
pages web interactives mais aussi
pour les serveurs2 avec l'utilisation
(par exemple) de Node.js3. C'est
un langage orienté objet à
prototype, c'est-à-dire que les
bases du langage et ses principales interfaces sont
fournies par des objets qui ne sont pas des instances de
classes, mais qui sont chacun équipés de constructeurs
permettant de créer leurs propriétés, et notamment une
propriété de prototypage qui permet de créer des objets
héritiers personnalisés. En outre, les fonctions sont des
objets de première classe. Le langage supporte le
paradigme objet, impératif et fonctionnel. JavaScript est
le langage possédant le plus large écosystème grâce à
son gestionnaire de dépendances npm, avec environ 500
000 paquets en août 20174.
✓ JQUERRY :

JQuery est une bibliothèque


JavaScript libre et multiplateforme
créée pour faciliter l'écriture de
scripts côté client dans le code
HTML des pages web2. La
première version est lancée en
janvier 2006 par John Resig.

Le but de la bibliothèque étant le parcours et la


modification du DOM (y compris le support des
sélecteurs CSS 1 à 3 et un support basique de XPath),
elle contient de nombreuses fonctionnalités ; notamment
des animations, la manipulation des feuilles de style en
cascade (accessibilité des classes et attributs), la gestion
des évènements, etc. L'utilisation d'Ajax est facilitée et
de nombreux plugins sont présents

Depuis sa création en 2006 et notamment à cause de la


complexification croissante des interfaces Web, jQuery
a connu un large succès auprès des développeurs Web et
son apprentissage est aujourd'hui un des fondamentaux
de la formation aux technologies du Web. Il est à l'heure
actuelle la bibliothèque front-end la plus utilisée au
monde (plus de la moitié des sites Internet en ligne
intègrent jQuery).

✓JAVA :

Java est une technique informatique


développée initialement par Sun
Microsystems puis acquise par
Oracle suite au rachat de l'entreprise.
Défini à l'origine comme un langage
de programmation, Java a évolué
pour devenir un ensemble cohérent
d'éléments techniques et non techniques. Ainsi, la
technologie Java regroupe :

Des standards (la plate-forme Java) définis sous forme


de spécification par le Java Community Process (JCP),
en trois éditions :
- Java SE (standard edition),
- Java EE (enterprise edition), s'appuyant sur Java SE,
- Java ME (micro edition), indépendante des deux
précédentes ;
Des logiciels (langages informatiques, bibliothèques,
Framework, serveurs d'application, outils d'aide au
développement), dont :
- Des implémentations (concurrentes) de ces
spécifications,
- Un écosystème d'autres logiciels s'appuyant sur tout
ou partie de ces standards, voire leur faisant
concurrence ;
Des communautés d'entreprises, organisations à but non
lucratif (fondations, Java User Groups, universités) et
indépendants, membres ou non du JCP, possédant tout
ou partie des marques, brevets, parts de marché liés à la
technologie Java
Java est un des termes les plus connus du monde de
l'informatique et de l'Internet. Sa notoriété est telle que
Sun, avant d'être acheté par Oracle Corporation, a
décidé de l'utiliser pour son symbole boursier au
Nasdaq, symbole qui était SUNW à l'origine, et est
devenu JAVA1.

Java est utilisé dans une grande variété de plates-formes


depuis les systèmes embarqués et les téléphones
mobiles, les ordinateurs individuels, les serveurs, les
applications d’entreprise, les superordinateurs, etc
✓JAVAJEE :

Jakarta EE (anciennement Java 2


Platform, Enterprise Edition, ou
J2EE /ʒi.dø.ø.ø/1, puis Java
Platform, Enterprise Edition ou
Java EE), est une spécification
pour la plate-forme Java d'Oracle,
destinée aux applications
d'entreprise2.
La plate-forme étend Java
Platform, Standard Edition (Java
SE) en fournissant une API de mapping objet-
relationnel, des architectures distribuées et multitiers, et
des services web3. La plate-forme se fonde
principalement sur des composants modulaires exécutés
sur un serveur d'applications.
Pour ce faire, Java EE définit les éléments suivants :
- Une plate-forme (Java EE Platform), pour héberger et
exécuter les applications, incluant outre Java SE des
bibliothèques logicielles additionnelles du Java
Development Kit (JDK) ;
- Une suite de tests (Java EE Compatibility Test Suite)
pour vérifier la compatibilité ;
- Une réalisation de référence (Java EE Reference
Implementation) dénommée GlassFish ;
- un catalogue de bonnes pratiques (Java EE
BluePrints) ;
- Un code script.

✓MYSQL :

MySQL est un système de


gestion de bases de données
relationnelles (SGBDR). Il est
distribué sous une double
licence GPL et propriétaire. Il
fait partie des logiciels de
gestion de base de données les
plus utilisés au monde4, autant
par le grand public
(applications web principalement) que par des
professionnels, en concurrence avec Oracle,
PostgreSQL et Microsoft SQL Server.

Son nom vient du prénom de la fille du cocréateur


Michael Widenius, My (sv) (prononcer [my]). SQL fait
référence au Structured JQuery Language, le langage de
requête utilisé.

MySQL AB a été acheté le 16 janvier 2008 par Sun


Microsystems pour un milliard de dollars américains5.
En 2009, Sun Microsystems a été acquis par Oracle
Corporation, mettant entre les mains d'une même société
les deux produits concurrents que sont Oracle Database
et MySQL. Ce rachat a été autorisé par la Commission
européenne le 21 janvier 20106,7.

Depuis mai 2009, son créateur Michael Widenius a créé


MariaDB (Maria est le prénom de sa deuxième fille)
pour continuer son développement en tant que projet
Open Source.

✓BOOTSTRAP :

Bootstrap est une


collection d'outils utiles à
la création du design
(graphisme, animation et
interactions avec la page
dans le navigateur, etc.)
de sites et d'applications
web. C'est un ensemble
qui contient des codes HTML et CSS, des formulaires,
boutons, outils de navigation et autres éléments
interactifs, ainsi que des extensions JavaScript en
option. C'est l'un des projets les plus populaires sur la
plate-forme de gestion de développement GitHub.

Bootstrap est compatible avec les dernières versions des


navigateurs majeurs, mais peut fonctionner de manière
dégradée sur des navigateurs plus anciens.
Depuis la version 2, le framework adopte la conception
de sites web adaptatifs11, permettant aux projets
utilisant Bootstrap de s'adapter dynamiquement au
format des supports depuis lesquels on accède (PC,
tablette, smartphone).

✓Spring Boot :

Spring Boot est un


nouveau framework
créé par l'équipe de
chez Pivotal, conçu
pour simplifier le démarrage et le développement de
nouvelles applications Spring. Le framework propose
une approche dogmatique de la configuration, qui
permet d'éviter aux développeurs de redéfinir la même
configuration à plusieurs endroits du code. Dans ce
sens, Boot se veut d'être un acteur majeur dans le
secteur croissant du développement d'applications
rapide.

La plateforme Spring IO a vivement été critiquée au fil


des années à cause de la configuration XML
volumineuse et d'une gestion des dépendances
complexe. Durant la conférence SpringOne 2GX de
l'année dernière, le CTO de Pivotal, Adrian Colyer, a
reconnu ces critiques et a insisté sur le fait que l'objectif
de la plate-forme était d'offrir une expérience de
développement ne nécessitant aucune configuration
XML. Boot relève le défi à l'extrême, ne se contentant
pas uniquement de décharger les développeurs de
l'utilisation de XML, mais aussi, dans certains cas, de
leur permettre de se soulager de certains imports
fastidieux. Dans les jours qui ont suivi sa publication en
version bêta, Boot a acquis une popularité virale en
démontrant la simplicité du framework avec un exemple
d'application web exécutable qui tient sur 140
caractères, partagé dans un tweet.

✓Hibernate :

Hibernate est un framework open


source gérant la persistance des
objets en base de données
relationnelle.

Hibernate est adaptable en termes d'architecture, il peut


donc être utilisé aussi bien dans un développement
client lourd, que dans un environnement web léger de
type Apache Tomcat ou dans un environnement Java EE
complet : WebSphere, JBoss Application Server et
Oracle WebLogic Server.

Hibernate apporte une solution aux problèmes


d'adaptation entre le paradigme objet et les SGBD en
remplaçant les accès à la base de données par des appels
à des méthodes objet de haut niveau.
VI. Guide Utilisateur

- Présentation graphique :

Accueil
- Le page d’accueil du site web
Liste des Voitures

- Les voitures disponibles seront affichées comme ceci,


il peut choisir la voiture idéale pour la louer
Information du voiture
- Le client peut voir chaque voiture et ses informations
Enregistrer une réservation

- Page d’enregistrement du réservation


Formulaire du client

- Pour effectuer et finaliser la réservation le client doit


remplir le formulaire de réservation
Contactez-nous
- Cette page pour recevoir vos messages
Connexion (Admin)
- L’administrateur doit se connecter pour avoir accès à
l'interface de gestion avec son Login et son mot de
passe :
Menu Administrateur
- Après avoir été correctement connecté,
l'administrateur sera redirigé vers la page d'accueil ou il
peut gérer le site :
Modifier/Supprimer une voiture (Admin)

- Cette page permet d’éditer les voitures


Les réservations des Clients (Admin)
- Cette page permette l’admin de savoir les réservations du client
Ajouter une voiture (Admin)
- L’administrateur peut ajouter les véhicules, en entrant les
informations nécessaires
VII. Conclusion
Ce projet avait pour but de nous apporter
nous les étudiants une expérience
professionnelle. Je dois avouer que
rétrospectivement je suis satisfaite d’avoir
réalisé ce projet.

D’un point de vue personnel, ce projet


m’aura permis de découvrir une toute
nouvelle méthode de travail utiles pour ma
carrière future. Je me suis immergé
totalement dans la réalisation de ce projet,
j’ai été surprise par ce qu’on peut faire
lorsqu’on s’y mis de tout cœur.

Vous aimerez peut-être aussi