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:
Identifiant | Date | Artiste | Ville | Genre | Prix |
---|
- 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.