Gyrobab est une application de gestion de location de gyropodes dĂ©veloppĂ©e en Java avec une architecture orientĂ©e objet. Elle permet de gĂ©rer une flotte de gyropodes de diffĂ©rents types (monoroue, guidon, plateau), chacun Ă©tant associĂ© Ă un modĂšle et une marque. Les clients peuvent rĂ©server un gyropode pour une pĂ©riode donnĂ©e, en choisissant une date de dĂ©but et de fin. Le systĂšme prend Ă©galement en compte la saison en cours afin dâappliquer une tarification spĂ©cifique selon le type de gyropode. Toute la logique repose sur des classes bien sĂ©parĂ©es (Client, Reservation, Gyropode, Saison, etc.), facilitant lâorganisation et lâĂ©volutivitĂ© du projet. Lâinterface utilisateur permet Ă un gestionnaire de consulter les rĂ©servations, dâajouter des clients et dâinteragir avec les donnĂ©es en mĂ©moire ou en base.
Gestion de la base de données
La base de donnĂ©es relationnelle est au câŒĂŽur du projet JavaGyropode. Elle permet de stocker et relier efficacement toutes les entitĂ©s mĂ©tiers du projet : clients, gyropodes, rĂ©servations, saisons, tarifs, modĂšles et marques. Le modĂšle suit une logique hiĂ©rarchique et normalisĂ©e oé⣠chaque gyropode est rattachĂ© Ă un modĂšle, lui-mĂȘme liĂ© Ă une marque. Lorsquâun client effectue une rĂ©servation, celle-ci est enregistrĂ©e avec les dates, le gyropode choisi, et le client concernĂ©. Un systĂšme de tarification dynamique est aussi prĂ©vu pour moduler les prix selon les saisons. Cela permet Ă l'application de simuler une vraie gestion commerciale, avec un bon niveau de complexitĂ©.
Modélisation des entités
Les classes Java comme Client, Gyropode, Modele, Reservation, ou Tarification ont été créées pour structurer les données. Chacune possÚde ses attributs propres et des liens forts (via des références) avec d'autres entités, comme une réservation qui contient un client, un gyropode et des dates.
Le schéma relationnel montre les tables liées entre elles via des clés étrangÚres, avec un systÚme de tarification saisonniÚre intégré.
Gestion des réservations de gyropodes
Cette fonctionnalitĂ© permet de crĂ©er, vĂ©rifier, et annuler des rĂ©servations de gyropodes pour un client donnĂ©. Lâapplication gĂšre la date et le prix de la rĂ©servation, et lie chaque rĂ©servation Ă un gyropode spĂ©cifique. La crĂ©ation se fait par appel Ă la mĂ©thode ajouterReservation, qui associe le client, le gyropode et la pĂ©riode de location. Une mĂ©thode de vĂ©rification permet de sâassurer quâun gyropode est disponible Ă une date donnĂ©e, amĂ©liorant la fiabilitĂ© du systĂšme. Lâannulation est Ă©galement prĂ©vue via une mĂ©thode dĂ©diĂ©e qui retire la rĂ©servation. Ces opĂ©rations sont actuellement simulĂ©es via la console (System.out.println), mais peuvent facilement ĂȘtre intĂ©grĂ©es Ă une IHM ou Ă une base de donnĂ©es pour persistance.
Construction de la réservation
La classe Reservation propose un constructeur qui initialise une réservation avec une date et un prix. Cela permet de préparer l'objet avant de l'affecter à un client ou à un gyropode.
Le constructeur initialise lâobjet Reservation avec la date et le tarif de la location.
Ajout dâune rĂ©servation
La méthode ajouterReservation permet de créer une nouvelle réservation en liant un client, un gyropode, et une période (date de début et de fin). Elle affiche ensuite une confirmation dans la console.
L'appel à ajouterReservation génÚre une réservation associée à un client et un gyropode précis.
Vérification de la disponibilité
Avant dâeffectuer une rĂ©servation, on peut appeler la mĂ©thode verifierDisponibilite pour savoir si un gyropode est disponible Ă une date donnĂ©e. Cela permet dâĂ©viter les conflits ou doublons de rĂ©servation.
La mĂ©thode affiche dans la console la vĂ©rification de disponibilitĂ© dâun gyropode Ă une date donnĂ©e.
Annulation dâune rĂ©servation
La mĂ©thode annulerReservation simule la suppression dâune rĂ©servation existante. Elle prend en paramĂštre une rĂ©servation et affiche un message dâannulation.
La fonction affiche simplement "Réservation annulée" en console.
Tarification par type de gyropode et saison
Cette fonctionnalitĂ© permet Ă l'application dâappliquer un tarif de location qui varie selon la saison et le type de gyropode utilisĂ©. La classe Saison dĂ©finit les pĂ©riodes saisonniĂšres, chacune ayant une date de dĂ©but, de fin, et un libellĂ© (typeSaison), comme "Haute", "Basse", etc. La classe Tarification permet ensuite dâassocier un tarif Ă chaque combinaison type/saison. Cela permet dâavoir un systĂšme de prix rĂ©aliste, comme en agence de location, avec des hausses tarifaires en haute saison. Ce mĂ©canisme amĂ©liore la flexibilitĂ© commerciale du projet et ajoute une vraie logique mĂ©tier orientĂ©e gestion. MĂȘme si les calculs dynamiques ne sont pas encore codĂ©s, la structure objet et les entitĂ©s sont en place pour intĂ©grer ce comportement.
DĂ©finition dâune saison
La classe Saison contient les attributs dateDebutSaison, dateFinSaison, et typeSaison, permettant de définir une période oé⣠une tarification spécifique est appliquée. Elle est instanciée via un constructeur complet.
Le constructeur de Saison montrant l'initialisation des dates et du type de saison.
DĂ©finition dâun tarif
La classe Tarification permet de dĂ©finir un prix (tarif) Ă appliquer pour un type de gyropode donnĂ© en fonction dâune saison (lien implicite dans le modĂšle relationnel). Le tarif est un simple double accessible via des getters/setters.
La classe Tarification avec son constructeur et ses getters/setters.