0% ont trouvé ce document utile (0 vote)
14 vues4 pages

M107 - Revision 1

Le document décrit le développement d'une application web pour la gestion d'un hôtel en ligne, incluant la création d'une base de données et de tables pour les chambres, réservations et agents. Il détaille les étapes de connexion à la base de données, d'authentification des utilisateurs, de gestion des réservations, ainsi que des fonctionnalités supplémentaires comme la recherche et la pagination. Enfin, il aborde la confirmation et l'annulation des réservations, ainsi que la déconnexion des agents.

Transféré par

Bel Oumaima
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues4 pages

M107 - Revision 1

Le document décrit le développement d'une application web pour la gestion d'un hôtel en ligne, incluant la création d'une base de données et de tables pour les chambres, réservations et agents. Il détaille les étapes de connexion à la base de données, d'authentification des utilisateurs, de gestion des réservations, ainsi que des fonctionnalités supplémentaires comme la recherche et la pagination. Enfin, il aborde la confirmation et l'annulation des réservations, ainsi que la déconnexion des agents.

Transféré par

Bel Oumaima
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Office de la Formation Professionnelle

et de la Promotion du Travail

M107_Exercice de révision
Vous développez une application web pour gérer un hôtel en ligne. L'application permettra de gérer les
chambres, les réservations et les clients.
I. Etape 1 : Création de la base de données et des tables
 Base de données: hotel
 Tables:

o Chambre(idChambre,type,prix,disponible) disponible(boolean)
o Reservation(idReservation, #idChambre, nomClient, prenomClient, photoCin, dateDebut,
dateFin, dateReservation,confirmee) (confirmee default false)
o Agent(email,motpass,nom,prenom) //déjà remplis dans la base de donnees manuellement

Les clés primaires sont soulignées, tandis que les clés étrangères sont précédées par "#".
Pour créer ces tables, vous pouvez utiliser PhpMyAdmin pour vous connecter à votre base de données
MySQL et exécuter le script nommé "[Link]".

II. ETAPE 2 : Connexion entre l'Application et la Base de Données


Écrivez un script PHP pour établir une connexion à la base de données MySQL nommée "hotel". Le script
doit être capable de gérer les erreurs de connexion et d'afficher un message confirmant que la connexion a été
établie avec succès en cas de réussite.

III. ETAPE 3 : page Authentification

Créez une page PHP nommée « [Link] » pour l'authentification des utilisateurs (agent au comptoir).

 Vérifiez des champs : si les champs email et mot de passe sont vides. Si oui, l'utilisateur est redirigé
vers [Link] avec un message d'erreur.
 Validez les identifiants (email et mot de passe) à partir d'une table Agent dans la base de données.
 Créez une session pour email.

Figure 1: [Link]

IV. ETAPE 4 : Mon compte

La page [Link] est dédiée à la gestion des réservations de l'hôtel par les agents de comptoir.
Cette page a un accès limité.

V1 Page 1 sur 4
Office de la Formation Professionnelle
et de la Promotion du Travail

Figure 2: page "[Link]"

Écrivez un script PHP qui vérifie l'accès à " [Link]" en exigeant une authentification préalable via
"[Link]", affiche un message de salutation dynamique (Bonjour ou Bonsoir) incluant le nom et prénom
d’agent connecté en fonction de l'heure actuelle, et présente une liste de réservations dans un tableau HTML :

 La durée du séjour en jours sera calculée à partir de la date de début et de la date de fin de la
réservation.
 Le prix total sera calculé en fonction du prix de la chambre et de la durée du séjour en jours.
 Si la réservation est confirmée, affichez le statut comme "Confirmée". Sinon, affichez-le comme "En
attente"

V. ETAPE 5 : Nouvelle réservation

Pour insérer une nouvelle réservation, l'agent au comptoir d'hôtel connecté peut cliquer sur le lien « Nouvelle
Réservation », ce qui le dirigera vers la page « [Link] »

V1 Page 2 sur 4
Office de la Formation Professionnelle
et de la Promotion du Travail

Figure 3: page "[Link]"

Rédigez un script PHP qui :

1. Transfère la photo de la CIN du client vers un dossier dans la racine du projet (par exemple : images).
2. Insère les données de la réservation dans la base de données:

a) Vérifier que l'identifiant de la réservation est correctement formaté : une sous chaine
"RES2024_" suivie de 2chiffres (par exemple : RES2024_01). Afficher « Format invalide ! » en
cas de non-conformité.
b) Remplir la liste déroulante avec les numéros de chambre disponibles. (les chambres déjà
réservées ne seront pas affichées)
c) Empêcher l'ajout de la réservation si une réservation avec le même identifiant existe déjà, et
afficher le message « l’ID de réservation existe déjà !».
d) Vérifier que la date de début n'est pas une date passée et n’est pas supérieur à la date de fin.
Sinon, afficher le message « Date invalide ».
e) Après l'insertion de la réservation, assurez-vous de modifier la disponibilité de la chambre en la
mettant à "false

c. Redirige l'agent vers son compte.

VI. ETAPE 6: Confirmer une réservation

Lorsqu'un agent au comptoir clique sur le lien "Confirmer", la valeur de la colonne "confirmee" dans la base
de données passe de false à true. Si la réservation est déjà confirmée, un message indique que la réservation a
déjà été confirmée. De plus, chaque réservation est automatiquement confirmée un mois après sa date de
réservation.

VII. ETAPE 7: Annuler une réservation

Lorsqu'un agent au comptoir clique sur le lien "Annuler" d'une réservation non confirmée, cette réservation
doit être supprimée de la base de données. Si la réservation est déjà confirmée, un message indiquant
"Impossible d'annuler une réservation déjà confirmée !" sera affiché à l'agent

VIII. ETAPE 8: Se déconnecter

Lorsque l'agent clique sur le lien « Se déconnecter », la session actuelle est détruite et l'agent est redirigé
automatiquement vers la page de connexion ([Link])

V1 Page 3 sur 4
Office de la Formation Professionnelle
et de la Promotion du Travail

IX. Autre fonctionnalités :

Liste des réservations avec pagination

Permet d’afficher les réservations en plusieurs pages, limitant le nombre d’éléments affichés simultanément
pour une meilleure lisibilité et performance.

Recherche de réservations

Ajouter un formulaire de recherche dans [Link] :

 Rechercher par :
o Nom du client.
o Date de début / fin.
o Statut (confirmée ou non).
 Afficher les résultats dans le même tableau.

Input pou saisir ------ select les options ----input :submit chercher

Filtrer les chambres par type et prix

Sur la page [Link] :

 Ajouter un formulaire permettant de filtrer :


o par type de chambre (single, double, suite…)
o par intervalle de prix (ex : 300 à 600 MAD)
o par la disponibilité de la chambre
 Afficher uniquement les chambres correspondantes.

Statistiques générales

Créer une page [Link] accessible aux agents :

 Afficher :
o Nombre total de réservations
o Nombre de réservations non confirmées
o Nombre de réservations confirmées
o Nombre de chambres disponibles
o Nombre de chambres non disponibles
o Moyenne des nuits réservées par client
 Possibilité de filtrer par mois ou année BONUS

Archive des réservations terminées

Après la date de fin d’une réservation, déplacer les données dans une table d’archive (ReservationArchive)
et les supprimer de la table active.

V1 Page 4 sur 4

Vous aimerez peut-être aussi