Projet Transversal TPWR107 — EPSI SN1 — Concevoir et exploiter une base de données dans un environnement web
Ce projet a pour objectif de concevoir un site web fictif pour un hôtel dans le cadre d’un projet transversal à l’EPSI. Le site comprend un panneau d’administration permettant la gestion des factures, des utilisateurs, des chambres et des réservations. Une vitrine intégrée est également présente pour présenter l’hôtel et ses services.
Ce projet a été initialement développé dans le cadre d’un projet étudiant à l’EPSI, et continue d’être maintenu activement. Je le développe seul avec pour objectif d’aboutir à une solution complète, utilisable en conditions réelles par des établissements hôteliers.
Page d’accueil avec présentation de l’hôtel et ses services Page de recherche de chambres disponibles
Recherche de chambres disponibles selon dates et critères Réservation en ligne avec sélection de chambre Suivi des réservations (historique, statut, annulation)
Création, modification et suppression des chambres Gestion des caractéristiques des chambres (prix, capacité, équipements) Ajout de photos pour chaque chambre
Inscription et connexion des clients Récupération de mot de passe Gestion des profils clients (adresses de facturations, informations personnelles) Rôles et permissions (admin, client)
Génération automatique des factures après réservation Historique et suivi des paiements
Dashboard avec statistiques (taux d’occupation, revenus, réservations)
- Php
- Composer
- Twig
- PhpDotEnv
- PHPMailer
- Symphony ErrorHandler
- Docker
Avant d'installer le projet, assurez-vous d'avoir :
- PHP 8.x ou supérieur
- Composer
- Docker (optionnel mais recommandé)
- Une base de données MySQL ou MariaDB
-
Commencez par cloner le dépôt:
git clone https://github.com/kaelianbaudelet/neptune.git
-
Naviguez jusqu'au répertoire du projet :
cd filesphere
-
Installer les dépendances :
-
Commencer par installer les dépendances du projet avec :
composer prepare-dev
-
-
Configurer votre environnement de travail pour développé
Vous avez plusieurs possibilité :
-
Recommandé : Environnement de travail avec Docker :
-
Installez Docker et Docker Compose.
-
Après l'installation de Docker et Docker Compose, configurez votre environnement en copiant le fichier
.env.exemple
, en le renommant en.env
, et en le configurant avec les valeurs nécessaires. -
Enfin, créez l'environnement de travail avec :
docker compose --profile dev up -d
L'environnement de travail pour le développement contient : - Une base de données MariaDB. - Un serveur Adminer pour administrer votre base de données. (Accesible via
localhost:9999
) - L'application web configurée avec Apache2. (Accesible vialocalhost:9999
)
-
-
Sans environnement de travail :
-
Copier le fichier
.env.exemple
, renommer-le en.env
, et configurer celui ci avec les valeurs souhaitées. -
Démarrer un serveur php de développement avec:
composer start
-
-
-
Migrer la base de données :
Important
Après avoir installer l'application, vous devez impérativement migrer la base de données.
Migrée la base de données avec la commande suivante :
php migration.php
Création d'un utilisateur administrateur :
Important
Par défaut, l'application ne contient aucun utilisateur et l'application n'autorise pas l'inscription d'un utilisateur administrateur par défaut. vous devez donc activer le mode d'inscription d'utilisateur.
Pour activer le mode d'inscription d'utilisateurs vous devez modifier le fichier .env
et définir la variable TEMP_REGISTER
à true
.
Accèder à localhost:80/register pour créer un utilisateur.
Caution
Pour des raisons évidentes de sécurité, une fois l'utilisateur créé, vous devez désactiver le mode d'inscription d'utilisateur en définissant la variable TEMP_REGISTER
à false
dans le fichier .env
.
Pour mettre en production l'application, assurez-vous d'utiliser proxy inversé tel que Apache2, Nginx, Caddy ou encore Traefik.
Tip
La solution recommandée est d’utiliser Docker et de déployer l’application derrière un proxy inversé comme Traefik.
Pour plus de détails, consultez la documentation officielle de Traefik afin d’apprendre à configurer et déployer une application avec ce proxy.
- Ouvrer votre navigateur et naviguer vers
http://localhost:80
.
Ce projet est sous licence MIT.
- Kaëlian BAUDELET