Derniere mise a jour : 9 fevrier 2026

Systeme de Reservation

2024 Web Fullstack

Presentation

Objectif principal : Un systeme de reservation de salles pour l'ecole. Voir les disponibilites, reserver un creneau, recevoir une confirmation. Les admins peuvent gerer les salles et valider les demandes.

Technologies utilisees : Laravel pour le backend (c'etait l'occasion d'apprendre), MySQL pour les donnees, FullCalendar.js pour l'affichage calendrier, envoi d'emails avec Mailtrap.

Fonctionnalites cles : Vue calendrier avec creneaux libres/occupes, reservation en quelques clics, confirmation par email, annulation, interface admin pour valider/refuser.

Livrables attendus : Application deployee sur le serveur de l'ecole. Import des salles existantes. Formation pour les admins (la vie scolaire).

Calendrier previsionnel : Un mois. Laravel c'etait nouveau pour moi donc courbe d'apprentissage. Plus les tests avec la vie scolaire.

Parties prenantes & criteres de succes : Demande de l'administration. Avant c'etait sur papier et y'avait des conflits. Le critere c'est zero double-reservation.

Le Defi

Les conflits de reservation. Deux personnes qui reservent le meme creneau en meme temps. C'est un probleme classique de concurrence. Et la gestion des fuseaux horaires pour les reservations recurrentes.

La Solution

Transaction SQL avec verrou optimiste. Avant de creer la reservation, je verifie qu'il n'y en a pas deja une qui chevauche, le tout dans une transaction. Si conflit, rollback et message d'erreur. Pour les dates, tout est stocke en UTC.

Architecture Technique

Laravel avec architecture MVC. Models : Room, Booking, User. Controllers pour les CRUD et la validation. Middleware d'auth et de role (admin vs user). FullCalendar en frontend qui fetch les bookings via API JSON. Queue Laravel pour l'envoi d'emails asynchrone.

Points Cles

  • Zero conflits grace aux transactions
  • Vue calendrier intuitive
  • Notifications email automatiques

Apercu

Resultats & Apprentissages

Le systeme est en production depuis 6 mois, zero probleme. La vie scolaire est contente, plus de conflits. J'ai appris Laravel qui est vraiment bien fait, et aussi a gerer un projet avec des vrais utilisateurs non-techniques.

Evolutions Futures

Reservations recurrentes (tous les lundis). Integration avec Google Calendar. Statistiques d'utilisation des salles. QR code a l'entree des salles pour voir/modifier les reservations.

Retour aux projets Me contacter