Projet réservation

Eval 02

Objectif du projet

Créer un outil de réservation de places de concerts.

Cahier des charges

  • Nous disposons d’une liste (donnees.csv) de concerts avec les données suivantes:
IdentifiantDateArtisteVilleGenrePrix
  • Il faudra créer 2 interfaces (interface_client.py et interface_gestion.py):
Interface client
  • Elle contiendra 3 menus déroulants (combobox):

    • genre
    • artiste
    • date
  • En choisissant un genre, la liste des artistes se mettra à jour

  • Puis en choisissant un artiste, la liste de ses dates de concerts seront mises à jour.

  • Il faudra ensuite des champs pour enregistrer nom, prénom, adresse mail du client, ainsi que le nombre de places réservées.

  • L’interface contiendra enfin un bouton Réserver: appuyer sur ce bouton enregistrera les informations personnelles du client, le nombre de places et l’identifiant du concert, dans un fichier reservations.csv

Interface gestion
  • Elle contiendra un menu déroulant (combobox) qui contiendra les noms et prénoms des clients.
  • Choisir un client affichera toutes ses réservations et le prix total à payer.
  • Un même client (même nom, prénom, mail) peut avoir fait plusieurs réservations.

Contraintes

Il faudra:

  • utiliser la bibliothèque Python tkinter pour construire les interfaces.

  • utiliser le paradigme objet pour représenter les différentes composantes du problème:

    • Client
    • Reservation
    • Groupe
    • Concert

Étapes

Modélisation
  • Réaliser un schéma pour chaque interface.
  • Modéliser les objets du problème et leurs interactions à l’aide d’un schéma. Les objets devront être utilisables indifféremment avec l’interface client et gestion.
  • Réfléchir aux structures de données à utiliser.
Préparation
  • Tester la bibliothèque tkinter en réalisant une interface simple. Il faudra utiliser cette bibliothèque en appliquant le paradigme objet.
  • Tester l’import de données depuis un fichier csv.
  • Tester l’écriture dans un fichier csv. Attention les données devront être ajoutées à la fin du fichier, sans effacer les réservations déjà effectuées.
Implémentation
  • Se répartir les tâches dans le groupe. Chaque membre devra être capable d’expliquer ses réflexions et son code.