Rapport Bailal Hassine
Rapport Bailal Hassine
4ème année
Ingénierie Informatique et Réseaux
Sous le thème
Réalisé par :
OUMAIMA ELMZABI
YASSMINE TALBAOUI
Encadré par :
Mr Mehdi Belasla
Dédicaces
Aux personnes qui nous ont soutenus tout au long de ce voyage académique, À nos
parents, pour leur amour infini et leur soutien indéfectible, À nos amis, pour leurs
encouragements et leurs précieux conseils, À nos professeurs en général, pour leur
patience, leur expertise et leur inspiration sans faille, Et à notre encadrant Mr Mehdi
Belasla pour son soutien précieux et ses conseils éclairés, Ce projet est dédié à vous
tous. Votre soutien nous a permis de surmonter les défis et d'atteindre ce jalon important
dans notre vie académique.
Merci du fond du cœur.
i
Remerciement
Remerciement
Nous tenons à exprimer notre profonde gratitude à toutes les personnes qui ont
contribué à la réalisation de ce Projet . À notre encadrant Mr Mehdi Belasla , pour son
soutien constant, ses conseils avisés et sa disponibilité tout au long de ce projet. Votre
expertise et votre encouragement ont été essentiels pour nous guider vers la réussite.
Nous souhaitons également adresser nos remerciements les plus sincères à toute l'équipe
pédagogique et administrative de l'École Marocaine des Sciences De L'Ingénieur pour
avoir instauré un environnement propice à l'apprentissage et à la créativité. Votre
soutien logistique et académique a grandement facilité notre travail. Enfin, un immense
merci à nos familles, nos amis et tous ceux qui nous ont soutenus de près ou de loin.
Votre encouragement et votre compréhension ont été d'une valeur inestimable. La
réalisation de ce projet dépend de la collaboration et du dévouement de chacun d'entre
vous. Nous vous en sommes profondément reconnaissants.
ii
Résumé
Résumé
iii
Abstract
Abstract
The objective of this project was to develop a comprehensive and efficient hotel management
application. This application offers an intuitive interface and advanced features for managing
reservations, rooms, clients, and services. The system design was created using UML, with
Apache as the main server, SQL Server as the database, and Swing for the graphical user
interface development. The application aims to provide an interactive platform that enables
hotel managers to optimize their operations and enhance the customer experience.
Keywords: UML, Apache, SQL Server, Swing, Hotel Management.
iv
Table des matières
v
Liste des figures
vi
Liste des tableaux
vii
Introduction Générale
Ce projet a pour objectif de résoudre les défis liés à la gestion hôtelière, en simplifiant
les processus et en réduisant les inefficacités. Nous développons une application de
gestion d'hôtel basée sur des technologies robustes, conçue pour automatiser la gestion
des réservations, des chambres, des clients et des services, tout en garantissant une
organisation claire et efficace des données.
Le rapport couvrira toutes les étapes du projet, de l’analyse des besoins à la
documentation, en passant par la conception, le développement et l’implémentation de
l’application. Cette solution intuitive sera adaptée aux besoins des gestionnaires, du
personnel et des administrateurs, en améliorant l'efficacité des opérations et la
satisfaction des clients.
Chapitre 1 : Contexte générale
Introduction
Dans un contexte où les technologies de l'information redéfinissent constamment les pratiques de
gestion, notre projet s'inscrit au cœur de la transition vers une gestion hôtelière plus automatisée et
performante. Face à la demande croissante d'une gestion optimisée des réservations, des chambres et des
services, nous avons mené une étude approfondie des tendances du secteur, en analysant les forces et
limites des solutions existantes telles que les logiciels de gestion hôtelière traditionnels.
Forts de cette analyse, nous avons conçu une solution innovante et personnalisée, pensée pour répondre
aux besoins des hôteliers modernes. Notre application repose sur des technologies robustes, avec
Apache comme serveur principal et SQL Server comme base de données. Elle intègre des
fonctionnalités avancées telles que la gestion des réservations, des chambres, des clients, des services,
ainsi que la génération de rapports analytiques pour une vision claire et structurée de l’activité hôtelière.
Cette plateforme conviviale vise à simplifier les opérations quotidiennes des hôtels en offrant des outils
adaptés, permettant une meilleure organisation et des prises de décision éclairées. En s’appuyant sur une
expérience utilisateur fluide, notre projet ambitionne de devenir un acteur clé dans la transformation
numérique du secteur hôtelier, alliant innovation technologique et efficacité opérationnelle.
En somme, notre solution est conçue pour soutenir les aspirations stratégiques et opérationnelles des
hôteliers, les aidant à optimiser leur gestion et à relever les défis de demain avec succès.
Périmètre du projet :
Développer un système de gestion d'hôtel permettant de suivre et de gérer efficacement les
réservations, les chambres, les clients, les services (comme le restaurant, le spa, etc.), et les
paiements. Le système devra offrir une vue d’ensemble en temps réel de l'occupation des chambres, des
services utilisés, des réservations à venir et des revenus. Il permettra d’optimiser les processus de
gestion des chambres, des services, de la facturation et des relations avec les clients, tout en
facilitant la prise de décisions stratégiques à partir des données collectées. Ce système vise
également à améliorer l’expérience client et à augmenter la rentabilité de l'hôtel.
1.1.but de projet :
Aspects essentiels de la gestion de l’application d’hôtel :
Gestion des chambres
Gestion de réservations
Gestion des clients
Gestion des paiements
- L’étude technique.
- L’étude fonctionnelle.
- La rédaction du cahier de charges.
- La conception.
- La réalisation.
1.3. Livrables :
Tableau de sprint :
Sprint Titre Taches Priorité État Date Date de fin Avanc Not
de e ment es
début
Sprin Création
t 01 Analyse et des Terminé 17/11/2024 22/11/2024 0%
planification maquettes High
Terminé
Rédaction du 24/12/202 04/12/2024 65%
cahier de charges Normal 4
Terminé
Sprin Conception Diagramme use High 02/12/2024 10/12/2024 35%
t 02 case
Diagramme de Normal Terminé 02/12/2024 10/12/2024 0%
classes
Diagramme de High Terminé 02/12/2024 10/12/2024 0%
séquence
Rédaction Terminé 10/12/2024 13/12/2024 0%
du dossier High
de
conception
Terminé
Sprin Développemen Gestion High 10/12/2024 13/12/2024 0%
t 03 t des des
fonctionnalités chambres
de la base,
tests
Gestion des Terminé
réservations High 13/12/2024 16/12/2024 0%
Gestion Terminé
des High 13/12/2024 16/12/2024 0%
clients
Gestion Terminé
des High 16/12/2024 20/12/2024 0%
paiements
Terminé
Sprin Développemen Notifications et Normal 16/01/2025 20/12/2024 0%
t 04 t des communications
fonctionnalités
avancées, tests
Gestion Normal Terminé 20/12/2024 22/12/2024 0%
des
retours et
annulations
Terminé
Suivi des Normal 16/12/2024 20/12/2024 0%
statistiques et
rapports
1.4. contraintes :
1
3
Chapitre 1 : Contexte Générale
Délais : Le projet doit être livré dans un délai de 1 mois.
Budget : Autorisation CML.
Langage de programmation : Utilisation du langage Java OU C#.
Accessibilité : Le logiciel doit être intuitif et simple d'utilisation pour les employés non-techniques.
2/ Etude de l’existant :
2.1.concept métier :
Développer une solution simple mais robuste pour gérer efficacement un hôtel de taille moyenne. Le système
doit permettre de gérer les réservations, les clients, la gestion des chambres et des services, tout en optimisant
les processus administratifs et opérationnels.
2.2. références :
Inspiré de logiciels existants comme Hôtel Management System (HMS) et des fonctionnalités de plateformes
comme Cloudbeds, avec un focus particulier sur la facilité d'utilisation et la gestion des petites et moyennes
structures hôtelières.
1
4
Conclusion
En conclusion de ce chapitre, nous avons exploré le contexte global dans lequel s’inscrit notre projet
de gestion hôtelière, en mettant en lumière les défis actuels et les besoins croissants des hôteliers en
matière d’optimisation des opérations et de l’expérience client. Ce chapitre avait pour objectif de
définir clairement la problématique à laquelle nous apportons une solution, tout en précisant les
objectifs que nous souhaitons atteindre.
Grâce au développement d’une application de gestion hôtelière fiable et intuitive, nous visons à
simplifier la gestion des réservations, des chambres, des clients et des services, tout en améliorant
l’organisation et la fluidité des processus. Notre projet ambitionne de fournir aux gestionnaires
d’hôtels un outil performant et adapté à leurs besoins quotidiens, contribuant ainsi à l’efficacité
opérationnelle et à la satisfaction des clients, tout en renforçant la compétitivité des établissements
hôteliers.
Chapitre 2 : Analyse & Conception
Introduction
L'analyse et la conception sont des étapes essentielles dans le développement de tout projet
informatique, permettant de définir précisément les besoins du système à créer et de concevoir une
solution efficace et adaptée. Ce chapitre détaille ces processus cruciaux en présentant une vue
d'ensemble des besoins fonctionnels et non fonctionnels identifiés pour notre projet de gestion hôtelière.
Nous y aborderons les exigences spécifiques des utilisateurs, ainsi que les caractéristiques techniques et
opérationnelles nécessaires pour développer une application performante, répondant aux attentes des
gestionnaires, du personnel et des clients. Cette phase de conception vise à garantir que la solution
proposée soit à la fois fonctionnelle, intuitive et adaptée aux défis du secteur hôtelier.
Étude Fonctionnelle :
Utilisateur client :
En tant qu’un utilisateur client, je veux consulter la disponibilité des chambres en temps réel pour
planifier ma réservation facilement.
En tant qu’un utilisateur client, je veux filtrer les chambres selon mes besoins (type, prix,
équipements) pour trouver l’option qui me convient le mieux.
En tant qu’un utilisateur client, je veux réserver une chambre en ligne de manière rapide et sécurisée
pour garantir mon séjour.
En tant qu’un utilisateur client, je veux annuler ou modifier ma réservation en cas d’imprévu pour
avoir de la flexibilité dans mes plans.
En tant qu’administrateur, je veux gérer les chambres (Ajout, Modification, Suppression) pour
maintenir une base de données actualisée.
En tant qu’administrateur, je veux surveiller les réservations pour assurer un bon fonctionnement
des opérations.
Vendeur (personnel hôtelier) :
En tant que vendeur, je veux recevoir des notifications des nouvelles réservations pour préparer
les chambres à temps.
En tant que vendeur, je veux mettre à jour le statut des chambres (occupée, libre, en nettoyage)
pour refléter leur disponibilité actuelle.
Fonctionnalités :
Visiteur :
Abonné :
Réservation en ligne sécurisée avec confirmation immédiate.
Annulation ou modification des réservations via l’espace client.
Admin :
Interface dédiée pour gérer les chambres (création, modification, suppression).
Suivi des réservations en temps réel.
Vendeur :
Notification des nouvelles réservations pour organiser la préparation.
Mise à jour du statut des chambres en temps réel.
Règles de gestion :
Réf. Description
Utilisateur client :
En tant qu’utilisateur client, je veux réserver une chambre en ligne de manière rapide et sécurisée
pour garantir ma place.
En tant qu’utilisateur client, je veux recevoir une confirmation de réservation par email ou SMS
pour être sûr que ma réservation est validée.
En tant qu’utilisateur client, je veux consulter l’historique de mes réservations pour suivre mes
réservations passées et futures.
En tant qu’utilisateur client, je veux annuler ou modifier une réservation en cas d’imprévu pour
ajuster mes plans.
Super utilisateur (Admin) :
En tant que super utilisateur, je veux gérer les réservations (ajouter, modifier, annuler) pour
répondre aux besoins des clients et assurer un bon fonctionnement.
En tant que super utilisateur, je veux consulter toutes les réservations pour suivre
l’occupation des chambres.
En tant que vendeur, je veux recevoir des notifications des nouvelles réservations pour préparer les
chambres en conséquence.
En tant que vendeur, je veux mettre à jour l’état d’une réservation (confirmée, en cours, annulée)
pour refléter l’état actuel.
Fonctionnalités :
Visiteur :
Règles de gestion :
Réf Description
Une réservation doit inclure les dates d’arrivée et de départ, le type de chambre, et les
RG 01 coordonnées du client.
Les réservations doivent être confirmées par un email ou un SMS contenant un numéro de
RG 02 confirmation unique.
Un client peut annuler ou modifier une réservation jusqu’à une certaine date limite définie
RG 03 par l’hôtel.
Le statut des réservations doit être mis à jour en temps réel (confirmée, en cours, annulée).
RG 04
Les réservations annulées ou expirées doivent être archivées pour des raisons de traçabilité.
RG 05
RG 06 Un email de rappel doit être envoyé au client avant la date d’arrivée prévue.
3.2.3 Bloc fonctionnel : Gestion des Clients.
User stories :
Utilisateur client :
En tant qu’utilisateur client, je veux créer un compte client rapidement pour accéder aux
fonctionnalités et gérer mes réservations.
En tant qu’utilisateur client, je veux consulter l’historique de mes réservations pour suivre mes séjours
passés et futurs.
En tant qu’utilisateur client, je veux mettre à jour mes informations personnelles (nom, email,
téléphone) pour qu’elles restent correctes.
En tant qu’utilisateur client, je veux supprimer mon compte client si je ne souhaite plus utiliser le
service.
Super utilisateur
(Admin) :
• En tant que super utilisateur, je veux gérer les comptes clients (création, activation, suspension,
suppression) pour assurer la qualité et la sécurité du service.
• En tant que super utilisateur, je veux consulter les informations et l’historique des clients pour
mieux gérer les demandes et réservations.
Fonctionnalités :
Visiteur :
✓ Création rapide d’un compte client avec email ou numéro de téléphone.
Abonné :
✓ Consultation de l’historique des réservations via l’espace utilisateur.
Règles de gestion :
Réf Description
RG 01 Chaque client doit avoir un identifiant unique (adresse email ou numéro de téléphone).
Les informations du client (nom, email, téléphone) doivent être modifiables depuis son
RG 02 profil.
RG 04 L’historique des réservations doit être conservé même si le compte client est supprimé.
Utilisateur client :
En tant qu’utilisateur client, je veux payer ma réservation en ligne de manière sécurisée pour
confirmer mon séjour rapidement.
En tant qu’utilisateur client, je veux recevoir une confirmation de paiement par email ou SMS pour
être sûr que le paiement a été pris en compte.
En tant qu’utilisateur client, je veux consulter l’historique de mes paiements pour garder une trace de
mes transactions.
En tant qu’utilisateur client, je veux annuler un paiement si ma réservation est annulée pour obtenir
un remboursement selon les conditions de l’hôtel.
Super utilisateur
(Admin) :
En tant que super utilisateur, je veux gérer et suivre les paiements des clients pour assurer la
transparence financière.
En tant que super utilisateur, je veux traiter les demandes de remboursement en cas d’annulation de
réservation.
• En tant que vendeur, je veux consulter l’état des paiements pour confirmer qu’une réservation a été réglée
avant l’arrivée du client.
Fonctionnalités :
Visiteur :
Réf Description
RG 03 Les paiements doivent être sécurisés via des protocoles de sécurité (SSL/TLS).
RG 04
En cas d’annulation dans les délais, un remboursement partiel ou total peut être
effectué selon la politique de l’hôtel..
L’historique des paiements doit être conservé et accessible dans l’espace client
RG 05 pour des raisons de traçabilité.
Une confirmation de paiement doit être envoyée au client par email ou SMS
RG 06 immédiatement après validation.
Une confirmation de paiement doit être envoyée au client par email ou SMS
RG 07 immédiatement après validation.
9
Chapitre 2 : Analyse & conception
Gestion des
chambres Permettre aux administrateurs de créer,
modifier, supprimer et consulter les
chambres disponibles dans le système.
Gestion des
réservations Permettre aux administrateurs de gérer les
réservations des clients : ajout,
modification, suppression et consultation
des réservations
Ergonomie
Offrir une interface utilisateur conviviale,
intuitive et facile à utiliser, avec une
navigation fluide, même pour des utilisateurs
non techniques.
Performance
Garantir une application rapide et réactive,
capable de gérer un grand nombre
d’utilisateurs simultanés sans dégrader les
performances de l'application, même avec
des volumes importants de données.
Sécurité
Assurer un haut niveau de sécurité pour
protéger les données sensibles des
utilisateurs, telles que les informations
personnelles, les transactions, ainsi que les
10
Chapitre 2 : Analyse & conception
données financières.
Accessibilité
L’application doit être accessible depuis
différents dispositifs (ordinateurs, tablettes,
smartphones) et navigateurs, garantissant
une utilisation optimale dans divers
environnements.
11
Chapitre 2 : Analyse & conception
12
Chapitre 2 : Analyse & conception
2. Modélisation UML
Les diagrammes UML sont utilisés pour visualiser, spécifier, construire un système
logiciel Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types
de vues :
13
Chapitre 2 : Analyse & conception
Figure 5: cette photo montre le logo UMLqu’est un langage de modélisation standard utilisé pour
visualiser, spécifier, construire et documenter les artefacts d'un système logiciel.
14
Chapitre 2 : Analyse & conception
15
Chapitre 2 : Analyse & conception
1. Diagramme de séquence
Le diagrammes de séquence ces tous les interactions qui sont représentées par des flèches indiquant les
messages échangés entre les objets et les acteurs, avec des barres d'activation pour indiquer quand un
objet est actif.
16
Chapitre 2 : Analyse & conception
1.2 Diagramme de séquence de gestion des catégories:
17
Chapitre 2 : Analyse & conception
1.3 Diagramme de séquence de gestion des Commandes:
18
Chapitre 2 : Analyse & conception
1.4 Diagramme de séquence de gestion des Clients:
19
Chapitre 2 : Analyse & conception
Conclusion
La compréhension approfondie des processus d'analyse et de conception est essentielle pour assurer le
succès du projet de gestion de stock. Ce chapitre vise à fournir un cadre méthodologique structuré,
permettant de définir précisément les besoins du système et de concevoir des solutions efficaces et
adaptées. En explorant ces étapes clés, nous nous assurons que le projet répond aux attentes des
utilisateurs et atteint ses objectifs de manière optimale.
L'analyse des besoins permet d'identifier les fonctionnalités essentielles du système, telles que la
gestion des produits, des catégories, des commandes et des clients, tandis que la conception garantit la
mise en place d'une architecture technique robuste et évolutive. Ces étapes sont cruciales pour assurer
la fluidité de l'intégration des différents modules du système et leur interopérabilité.
Ces efforts méthodiques sont indispensables pour garantir non seulement le bon fonctionnement du
système de gestion de stock, mais également pour maximiser la satisfaction des utilisateurs finaux, en
leur offrant une interface intuitive, une gestion efficace des stocks et des performances optimales.
20
Chapitre 3 : Interfaces de l’application
Chapitre 3 : Interface de l’application
Introduction :
Dans ce chapitre, nous mettons en exergue les résultats obtenus lors de la programmation et du
développement de la solution pour le système de gestion de stock. Nous présentons les différentes
interfaces de l’application, spécifiquement dédiées à l’administrateur.
L’interface principale est conçue pour offrir à l'administrateur un accès complet aux fonctionnalités de
gestion des produits, des catégories, des clients et des commandes. Chaque fenêtre de l'application
permet à l'administrateur d'accomplir des actions essentielles, telles que l'ajout, la modification et la
suppression des produits, ainsi que le suivi des commandes et des clients.
Par exemple, l'interface de gestion des produits permet à l'administrateur d'ajouter de nouveaux
produits, de modifier les informations existantes et de supprimer des produits obsolètes. De même,
l'interface de gestion des commandes permet de suivre le statut des commandes et d'effectuer les
actions nécessaires, comme l'approbation ou l'annulation.
Chaque fenêtre de l’application a été conçue pour être simple à utiliser, avec des options claires et une
interface intuitive. L’objectif principal est de garantir une gestion fluide et efficace du stock tout en
assurant une expérience utilisateur optimale pour l’administrateur.
1. Interfaces
19
Chapitre 3 : Interface de l’application
20
Chapitre 3 : Interface de l’application
22
Chapitre 3 : Interface de l’application
Conclusion
Dans ce chapitre, nous avons exploré les différentes interfaces et fenêtres utilisées dans le système de
gestion de stock. L'application est conçue pour être utilisée par l'administrateur, qui dispose d'un accès
complet aux fonctionnalités nécessaires pour gérer efficacement le stock.
Les interfaces principales de l’application comprennent la gestion des produits, la gestion des
catégories, la gestion des clients et la gestion des commandes. Chaque fenêtre a été conçue pour
permettre à l'administrateur de réaliser des actions telles que l’ajout, la modification ou la suppression
de produits, la gestion des informations des clients et la consultation des commandes.
L’interface de gestion des produits permet à l'administrateur de maintenir le catalogue à jour en
ajoutant de nouveaux produits, en modifiant les informations existantes ou en supprimant les produits
obsolètes. De plus, l'interface de gestion des commandes permet à l'administrateur de suivre et de gérer
les commandes des clients, en consultant leur statut et en prenant les mesures nécessaires.
Toutes ces fonctionnalités sont accessibles via une interface simple et ergonomique, permettant une
gestion fluide du système de gestion de stock.
23
Chapitre 3 : Interface de l’application
Perspectives :
24
Conclusion Générale
25
Ce projet de fin d'année a permis de développer une plateforme de gestion de stock moderne et
performante, offrant une solution efficace pour l'administration des produits, des commandes et des
clients. Grâce à l'utilisation de SQL Server pour la gestion des bases de données et Java pour le
développement backend, nous avons pu concevoir une application robuste et flexible, répondant aux
besoins spécifiques de gestion des stocks et des opérations d'approvisionnement. L'application permet
à l'administrateur de gérer facilement les produits, les catégories, les clients, et les commandes, tout en
garantissant la sécurité des données grâce à des mécanismes d'authentification. Ce projet a également
été une excellente occasion de découvrir et de travailler avec des outils et des technologies de
développement, renforçant ainsi notre compréhension de la gestion des systèmes d'information et de
leur mise en œuvre dans un environnement réel.
26
Bibliographie
27