Vous êtes sur la page 1sur 2

MP2+PC2

L'objectif de ce problme est de crer une application python permettant la gestion d'une bibliotheque
universitaire. Cette application doit permettre de stocker, modifier et consulter les informations sur les
livres disponibles pour tre emprunt , les tudiants et les fiche demprunt des livres, la liste des
livres en tat demprunt, la liste de ceux qui ont dpass leurs dlai demprunt etc. afin d'aboutir a la
realisation de cette application on propose de crer de construire une application orint objet utilisant
une base de donnes de type sqlite3.
Le schema relationel de notre base comporte trois table T_Livre,T_etudiant,T_emprunt.

I. crire les requtes sql permettant de :


1. Crer une table T_Livre (id chaine, titre chaine, auteur chaine , tat booleen) :
2. Crer une table T_etudiant(cin entier,nom chaine ,prenom chaine, classe chaine)
3. Crer une table T_emprunts (id chaine,cin entier ,titre chaine , date_location date
,dure entier)
II. Crer la classe etudiant comportant les mthodes suivantes :
1. une mthode __init__ qui reoit comme paramtre un entier C reprsentant le cin, un nom
N, un prnom P, et le nom de la classe CL. Cette mthode doit vrifier l'existence de
ltudiant dans la base. En cas d'inexistence l'objet doit tre rajout dans la base.
2. une mthode getcin qui retourne le cin de letudiant.

III. Crer la classe Livre comportant les mthodes suivante :


1. une mthode __init__ qui reoit comme paramtre un titre T, un nom d auteur A. Cette
mthode doit vrifier l'existence du livre dans la table T_Livre. En cas d'inexistence l'objet
doit tre rajout dans la base Bibiotheque.
* Lattribut etat=1 si le livre est disponible et 0 sinon.
* Lattribut etat sera dduit partir de la base si linstance livre existe dj dans la table
T_Livre.
* Chaque nouvelle livre (nouvel objet cre) doit tre ajout dans la base avec un etat =1 si
il nest pas enregistr dans la table T_Livre.
2. une mthode setetat qui modifie letat du livre.

IV. Crer la classe Gestion comportant les mthodes suivantes :


1. une mthode __init__ qui ne reoit pas de paramtre et qui permet de crer une base
donne intitul Bibliotheque comportant les tables T_Livre, T_etudiant et T_emprunt.
2. une mthode ajoutLivres(nomfichier) qui reoit un fichier contenant la description des
Livres rcemment achetes et non encore enregistrs dans la base de donnes(chaque ligne
est compos du id titre auteur dun livre, . Cette mthode va faire le parcourt de ce fichier
et rajoutera tous les livres dans la table T_Livre en utilisant la classe Livre.
3. une mthode Nouveau(nCIN) permettant de retourner 1 si ltudiant ayant le numro
nCIN na jamais emprunt un livre et 0 sinon.
4. Une mthode Dispo(t) qui retourne une liste contenant les id des livres ayants le titre t et
disponibles dans la bibliothque.
5. Une methode id_livre(idL) qui retourne un objet livre correspondent au livre dont
lidentifiant est idL dans la table T_Livre.
6. Une mthode Eprunt () permettant de saisir les informations ncessaire a lemprunt dun
livre puis de rajouter lopration dans la base.
Si ltudiant est un nouvel emprunteur il doit tre ajout dans la table T_etudiant.
Le premier livre disponible sera emprunt et son tat passera zro dans la table T_Livre.
7. une mthode etat_emprunt() permettant de retourner un fichier texte contenant les livres
encore en tat demprunt.

IPEIB 2016/2017
MP2+PC2
8. une mthode historique_emprunt() permettant de parcourir les tables pour retourner un
dictionnaire contenant les livres emprunts , chaque livre sera associs a tous ses anciens
emprunteurs.

IPEIB 2016/2017

Vous aimerez peut-être aussi