Skip to content

nkstat23/GESTION-HOTEL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application Django - Système de Réservation d'Hôtel

Application Django complète pour la gestion de réservations d'hôtels avec base de données MariaDB.

Structure du Projet

hotel_booking/
├── hotel_booking/          # Configuration du projet Django
│   ├── settings.py         # Configuration (base de données, apps, etc.)
│   ├── urls.py            # URLs principales
│   └── wsgi.py            # Configuration WSGI
├── bookings/               # Application principale
│   ├── models.py          # Modèles (User, Hotel, Accommodation, Review, Booking)
│   ├── admin.py           # Interface d'administration
│   ├── views.py           # Vues de l'application
│   └── urls.py            # URLs de l'application
├── templates/             # Templates HTML
│   ├── base.html
│   └── bookings/
│       ├── hotel_list.html
│       ├── hotel_detail.html
│       ├── my_bookings.html
│       └── my_hotels.html
└── manage.py              # Script de gestion Django

Installation

1. Prérequis

  • Python 3.8+
  • MariaDB/MySQL installé et configuré
  • pip (gestionnaire de paquets Python)

2. Installation des dépendances

pip install -r requirements.txt

Note pour Windows : Si l'installation de mysqlclient échoue, vous pouvez utiliser pymysql à la place :

pip install pymysql

Puis ajoutez dans hotel_booking/settings.py au début du fichier :

import pymysql
pymysql.install_as_MySQLdb()

3. Configuration de la base de données

  1. Créez une base de données MariaDB :
CREATE DATABASE hotel_booking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Modifiez les paramètres de connexion dans hotel_booking/settings.py :
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'hotel_booking',
        'USER': 'votre_utilisateur',
        'PASSWORD': 'votre_mot_de_passe',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

4. Création des migrations et application

cd hotel_booking
python manage.py makemigrations
python manage.py migrate

5. Création d'un superutilisateur

python manage.py createsuperuser

Suivez les instructions pour créer un compte administrateur.

6. Lancement du serveur de développement

python manage.py runserver

L'application sera accessible à l'adresse : http://127.0.0.1:8000/

Fonctionnalités

Modèles

  • User : Utilisateurs avec rôles (client, owner, admin)
  • Hotel : Informations sur les hôtels
  • Accommodation : Types de chambres/hébergements
  • Review : Avis clients sur les hôtels
  • Booking : Réservations

Pages disponibles

  • / : Liste des hôtels avec recherche par localisation
  • /hotel/<id>/ : Détails d'un hôtel (hébergements, avis)
  • /my-bookings/ : Réservations de l'utilisateur connecté
  • /my-hotels/ : Hôtels du propriétaire connecté
  • /admin/ : Interface d'administration Django

Interface d'administration

L'interface d'administration Django permet de :

  • Gérer les utilisateurs et leurs rôles
  • Créer et modifier les hôtels
  • Gérer les hébergements
  • Voir et gérer les réservations
  • Modérer les avis

Utilisation

  1. Créer des utilisateurs : Via l'interface admin (/admin/)

    • Créez des utilisateurs avec le rôle "owner" pour les propriétaires d'hôtels
    • Créez des utilisateurs avec le rôle "client" pour les clients
  2. Créer des hôtels :

    • Connectez-vous en tant que propriétaire
    • Allez dans /admin/bookings/hotel/add/ ou utilisez "Mes Hôtels"
  3. Ajouter des hébergements : Via l'interface admin pour chaque hôtel

  4. Créer des réservations : Via l'interface admin ou développez un formulaire personnalisé

  5. Ajouter des avis : Via l'interface admin ou développez un formulaire personnalisé

Développement futur

Idées d'améliorations possibles :

  • Formulaire de réservation en ligne
  • Système de paiement
  • Upload de photos pour les hôtels
  • Recherche avancée (prix, note, services)
  • Système de notifications
  • API REST avec Django REST Framework

Notes

  • Le modèle User étend AbstractUser de Django, donc toutes les fonctionnalités d'authentification Django sont disponibles
  • Les photos sont stockées en JSON (tableau de chaînes)
  • Les dates sont gérées avec le timezone UTC par défaut

About

Système de réservation des hôtels

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors