Mini-Projet : Gestion de Bibliothèque en
Java avec JDBC
Contexte Général
Ce projet a pour objectif de concevoir une application pour gérer une bibliothèque.
L’application doit permettre la gestion des livres, des adhérents, et des emprunts,
en mettant en œuvre les concepts avancés de la programmation orientée objet et en
assurant la persistance des données via une base de données MySQL.
L’application doit permettre d’effectuer des opérations telles que la création, la modi-
fication, la suppression et la recherche sur ces entités tout en respectant les règles métier.
Objectifs de l’Application
1. Gestion des Livres
Les livres constituent le catalogue de la bibliothèque. Chaque livre doit inclure les infor-
mations suivantes :
• ISBN : Un identifiant unique pour chaque livre.
• Titre : Le nom du livre.
• Auteur : La personne ayant écrit le livre.
• Catégorie : Une classification parmi les catégories prédéfinies (ROMAN, SCIENCE,
HISTOIRE, TECHNIQUE), représentée par une énumération.
• Disponibilité : Un statut indiquant si le livre peut être emprunté.
Les fonctionnalités nécessaires incluent :
a) Ajouter un livre avec toutes ses informations.
b) Modifier les informations d’un livre existant.
c) Supprimer un livre du catalogue.
d) Rechercher un livre par son titre, auteur, ou ISBN.
e) Afficher tous les livres en distinguant ceux qui sont disponibles de ceux qui sont
empruntés.
1
2. Gestion des Adhérents
Les adhérents représentent les utilisateurs de la bibliothèque. Deux types d’adhérents
doivent être pris en charge :
• AdhérentStandard : Peut emprunter jusqu’à 3 livres simultanément.
• AdhérentPremium : Dispose d’une limite étendue à 5 livres.
Chaque adhérent est caractérisé par :
• Numéro de téléphone : Identifiant unique pour chaque adhérent.
• Nom et Prénom.
• Age.
L’application doit regrouper les attributs communs dans une classe de base Personne,
et créer des sous-classes pour gérer les comportements spécifiques des adhérents Standard
et Premium.
Les fonctionnalités incluent :
a) Ajouter un nouvel adhérent.
b) Modifier ou supprimer les informations d’un adhérent.
c) Rechercher un adhérent par son nom, prénom, ou numéro de téléphone.
d) Afficher la liste des adhérents avec leurs informations.
3. Gestion des Emprunts
La gestion des emprunts permet de suivre l’activité des livres et des adhérents. Les règles
incluent :
• Un livre peut être emprunté uniquement s’il est disponible.
• Un adhérent ne peut pas dépasser sa limite d’emprunts simultanés.
• Lorsqu’un livre est emprunté, son statut passe à indisponible.
• Lorsqu’un livre est retourné, il redevient disponible.
Chaque emprunt doit inclure :
• L’ISBN du livre emprunté.
• Le numéro de téléphone de l’adhérent.
• La date d’emprunt.
• La date prévue de retour.
Les fonctionnalités nécessaires incluent :
a) Enregistrer un emprunt pour un adhérent.
b) Enregistrer le retour d’un livre.
c) Afficher la liste des emprunts en cours avec les détails des adhérents et des livres
concernés.
2
4. Gestion des Fichiers Texte
Pour permettre une flexibilité dans la gestion des données, des fichiers texte doivent être
utilisés :
• Importation : Charger des livres ou des adhérents à partir d’un fichier texte
structuré.
• Exportation : Sauvegarder les informations des livres ou des adhérents dans des
fichiers texte pour archivage ou transfert.
5. Gestion des Exceptions
Des exceptions personnalisées doivent être utilisées pour gérer les erreurs spécifiques, par
exemple :
• LivreIndisponibleException : Levée lorsqu’un utilisateur tente d’emprunter un
livre déjà emprunté.
• QuotaDepasseException : Levée lorsqu’un adhérent dépasse sa limite d’emprunts.
6. Intégration avec une Base de Données MySQL via JDBC
Toutes les données relatives aux livres, adhérents, et emprunts doivent être sauvegardées
dans une base de données MySQL. Les tables suivantes doivent être créées :
• Table des livres :
– ISBN (clé primaire)
– Titre
– Auteur
– Catégorie
– Disponibilité
• Table des adhérents :
– Numéro de téléphone (clé primaire)
– Nom
– Prénom
– Age
– Type d’adhérent (Standard ou Premium)
• Table des emprunts :
– ID (clé primaire)
– ISBN du livre (clé étrangère vers la table des livres)
– Numéro de téléphone de l’adhérent (clé étrangère vers la table des adhérents)
– Date d’emprunt
– Date prévue de retour
L’intégration avec MySQL permettra d’assurer la persistance des données et leur
gestion via des requêtes SQL.
3
Critères d’Évaluation
1. Fonctionnalités implémentées :
• Gestion complète des livres, adhérents, et emprunts.
• Import/export des données via des fichiers texte.
• Gestion des exceptions personnalisées.
2. Conception et structuration du code :
• Bonne utilisation des concepts POO comme l’héritage et le polymorphisme.
• Organisation claire des classes et des méthodes.
3. Intégration avec MySQL via JDBC :
• Configuration correcte des tables et des relations.
• Implémentation des opérations CRUD (Create, Read, Update, Delete).
4. Fonction principale (main) :
• Le programme doit inclure un point d’entrée clair (main) permettant de tester
toutes les fonctionnalités implémentées.
• Le menu doit être interactif et proposer des options pour naviguer entre les
différentes fonctionnalités (gestion des livres, adhérents, emprunts, etc.).
• Une gestion correcte des erreurs dans le main est attendue, en capturant et
affichant les messages des exceptions personnalisées.