Application Java de Gestion de
Bibliothèque :
Effectuer par Yahya SADIKI, Youness BASLAM :
Encadré par:
4IIR 10 G2
09 – 01 - 2024
Diagram de class:
Classes:
package Class;
public class utilisateur {
private static int id = 0;
private String nom;
private int age;
private String role;
private int nbrEmpruntsParutilisateur;
public utilisateur(String nom, int age, String role) {
id++;
id = id;
[Link] = nom;
[Link] = age;
[Link] = role;
[Link] = 0;
}
public void modifiertilisateur(utilisateur utilisateur, String nom, int age, String role) {
id = id;
[Link] = nom;
[Link] = age;
[Link] = role;
}
public void supprimerutilisateur(utilisateur utilisateur) {
id = 0;
[Link] = null;
[Link] = 0;
[Link] = null;
[Link] = 0;
}
public void afficherutilisateur() {
[Link](this);
}
public void incrementerNbrEmpruntsParutilisateur() {
nbrEmpruntsParutilisateur++;
}
public int id() {
return id;
}
public void setId(int id) {
[Link] = id;
}
public String getnom() {
return nom;
}
public void setNom(String nom) {
[Link] = nom;
}
public int age() {
return age;
}
public void setAge(int age) {
[Link] = age;
}
public String role() {
return role;
}
public void setRole(String role) {
[Link] = role;
}
public int getNbrEmpruntsParutilisateur() {
return nbrEmpruntsParutilisateur;
}
@Override
public String toString() {
return "Utilisateur{" +
"id=" + id +
", nom='" + nom + '\'' +
", age='" + age + '\'' +
", role=" + role +
", nombre d'emprunts par user =" + nbrEmpruntsParutilisateur +
'}';
}
}
package Class;
public class livre {
private String titre;
private String auteur;
private int anneeDePublication;
private String genre;
private int nbrEmprunts;
public livre(String titre, String auteur, int anneeDePublication, String genre) {
[Link] = titre;
[Link] = auteur;
[Link] = anneeDePublication;
[Link] = genre;
}
public void incrementerNbrEmprunts() {
nbrEmprunts++;
}
@Override
public String toString() {
return "[Link]{" +
"titre='" + titre + '\'' +
", auteur='" + auteur + '\'' +
", anneeDePublication=" + anneeDePublication +
", genre='" + genre + '\'' +
", nbrEmprunts=" + nbrEmprunts +
'}';
}
public void afficherLivre() {
[Link](this);
}
public String titre() {
return titre;
}
public void setTitre(String titre) {
[Link] = titre;
}
public String auteur() {
return auteur;
}
public void setAuteur(String auteur) {
[Link] = auteur;
}
public int anneeDePublication() {
return anneeDePublication;
}
public void setAnneeDePublication(int anneeDePublication) {
[Link] = anneeDePublication;
}
public String genre() {
return genre;
}
public void setGenre(String genre) {
[Link] = genre;
}
public int getnbrEmprunts() {
return nbrEmprunts;
}
package Class;
import [Link];
import [Link];
public class emprunts {
private static int id = 0;
private final utilisateur Utilisateur;
private final livre livresEmpruntes;
private final Date dateEmprunt;
private Date dateRetourPrevue;
private Date dateRetourEffective;
public emprunts(utilisateur Utilisateur, livre livresEmpruntes, Date dateEmprunt, Date
dateRetourPrevue) {
id++;
[Link] = Utilisateur;
[Link] = livresEmpruntes;
[Link] = dateEmprunt;
[Link] = dateRetourPrevue;
[Link]();
[Link]();
}
public void prolongerEmprunt(int joursAjouter) {
Calendar calendar = [Link]();
[Link](dateRetourPrevue);
[Link](Calendar.DAY_OF_MONTH, joursAjouter);
dateRetourPrevue = [Link]();
}
public int rendreLivre(Date dateRetour) {
Calendar dRetour = [Link]();
[Link](dateRetour);
int a = [Link](Calendar.DAY_OF_MONTH) - [Link]();
[Link] = dateRetour;
if (a > 0) {
return a;
} else {
return 0;
}
@Override
public String toString() {
return "Emprunts{" +
"id=" + id +
", Utilisateur=" + Utilisateur +
", livresEmpruntes=" + livresEmpruntes +
", dateEmprunt=" + dateEmprunt +
", dateRetourPrevue=" + dateRetourPrevue +
", dateRetourEffective=" + dateRetourEffective +
'}';
}
public void afficherEmprunts() {
[Link](this);
}
public int getId() {
return id;
}
public utilisateur getUtilisateur() {
return Utilisateur;
}
public String getNomUtilisateur() {
return [Link]();
}
public String getNomLivre() {
return [Link]();
}
public livre getLivresEmpruntes() {
return livresEmpruntes;
}
public Date getDateEmprunt() {
return dateEmprunt;
}
public Date getDateRetourPrevue() {
return dateRetourPrevue;
}
public Date getDateRetourEffective() {
return dateRetourEffective;
}
public String getDateEmpruntDDMMYYYY() {
int year = [Link]() + 1900;
return [Link]() + "-" + [Link]() + "-" + year;
}
public String getDateRetourPrevueDDMMYYYY() {
int year = [Link]() + 1900;
return [Link]() + "-" + [Link]() + "-" + year;
}
public static void setId(int id) {
[Link] = id;
}
public void setDateRetourPrevue(Date dateRetourPrevue) {
[Link] = dateRetourPrevue;
}
public void setDateRetourEffective(Date dateRetourEffective) {
[Link] = dateRetourEffective;
}
}
package Class;
import [Link];
public class bibliotheque {
private final ArrayList<livre> livres;
private final ArrayList<utilisateur> emprunteurs;
private final ArrayList<emprunts> emprunts;
private final String nom;
private final String adresse;
public bibliotheque(String nom, String adresse) {
[Link] = nom;
[Link] = adresse;
livres = new ArrayList<livre>();
emprunteurs = new ArrayList<utilisateur>();
emprunts = new ArrayList<emprunts>();
}
public ArrayList<utilisateur> getAdmins() {
ArrayList<utilisateur> admins = new ArrayList<>();
for (utilisateur utilisateur : emprunteurs) {
if ([Link]().equals("admin")) {
[Link](utilisateur);
}
}
return admins;
}
public ArrayList<utilisateur> getAdherents() {
ArrayList<utilisateur> adherents = new ArrayList<>();
for (utilisateur utilisateur : emprunteurs) {
if ([Link]().equals("adherent")) {
[Link](utilisateur);
}
}
return adherents;
}
public ArrayList<utilisateur> getBibliothecaires() {
ArrayList<utilisateur> bibliothecaires = new ArrayList<>();
for (utilisateur utilisateur : emprunteurs) {
if ([Link]().equals("bibliothecaire")) {
[Link](utilisateur);
}
}
return bibliothecaires;
}
public void setEmprunts(ArrayList<emprunts> emprunts) {
[Link]();
[Link](emprunts);
}
public void ajouterEmprunteur(utilisateur utilisateur) {
[Link](utilisateur);
}
public void ajouterLivre(livre livre) {
[Link](livre);
}
public void supprimerLivre(livre livre) {
[Link](livre);
}
public void supprimerEmprunteur(utilisateur utilisateur) {
[Link](utilisateur);
}
public void ajouterEmprunt(emprunts emprunt) {
[Link](emprunt);
}
public void supprimerEmprunt(emprunts emprunt) {
[Link](emprunt);
}
public void modifierLivre(livre livre, String titre, String auteur, int anneeDePublication, String genre) {
[Link](titre);
[Link](auteur);
[Link](anneeDePublication);
[Link](genre);
}
//return emprunt arraylist where isStatutEmprunt = false
public ArrayList<emprunts> getEmpruntsEnCours() {
ArrayList<emprunts> empruntsEnCours = new ArrayList<>();
for (emprunts emprunt : emprunts) {
[Link](emprunt);
}
return empruntsEnCours;
}
public livre getLivreMaxEmprunts() {
livre livreMaxEmprunts = [Link](0);
for (livre livre : livres) {
if ([Link]() > [Link]()) {
livreMaxEmprunts = livre;
}
}
return livreMaxEmprunts;
}
public utilisateur getEmprunteurMaxEmprunts() {
utilisateur emprunteurMaxEmprunts = [Link](0);
for (utilisateur utilisateur : emprunteurs) {
if ([Link]() >
[Link]()) {
emprunteurMaxEmprunts = utilisateur;
}
}
return emprunteurMaxEmprunts;
}
public emprunts getEmpruntById(int id) {
for (emprunts emprunt : emprunts) {
if ([Link]() == id) {
return emprunt;
}
}
return null;
}
public void afficherLivres() {
for (livre livre : livres) {
[Link](livre);
}
}
public void afficherEmprunts() {
for (emprunts emprunt : emprunts) {
[Link](emprunt);
}
}
public void setLivres(ArrayList<livre> livres) {
[Link]();
[Link](livres);
}
public ArrayList<livre> getLivres() {
return livres;
}
public ArrayList<utilisateur> getEmprunteurs() {
return emprunteurs;
}
public ArrayList<emprunts> getEmprunts() {
return emprunts;
}
public void bibliotequestats() {
[Link]("Nombre de livres : " + [Link]());
if (![Link]()) {
[Link]("Livres les plus empruntés : " + [Link](0).getLivresEmpruntes().titre());
} else {
[Link]("Aucun livre emprunté pour le moment.");
}
}
}
package swing;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
public class mainTest {
public static ArrayList<livre> livres = new ArrayList<>();
public static ArrayList<emprunts> emprunts = new ArrayList<>();
public static ArrayList<emprunts> empruntsHistorique = new ArrayList<>();
public static bibliotheque b1 = new bibliotheque("Bibliotheque de l'Universite de Paris", "Paris");
public static void main(String[] args) {
try {
[Link](new FlatDarkLaf());
} catch (Exception e) {
[Link]("Error setting native LAF: " + e);
}
[Link](new livre("Livre 1", "Auteur 1", 1990, "policier"));
[Link](new livre("Livre 2", "Auteur 2", 1991, "BD"));
[Link](new utilisateur("Utilisateur 1", 81, "adherent"));
[Link](new utilisateur("Utilisateur 2", 82, "adherent"));
[Link](new utilisateur("yahya", 83, "admin"));
Login login = new Login();
[Link](true);
}
}
Interfaces:
1. Main:
Apres l’authentification, on affiche le menu d’application
2. Gestion des livres:
3. Gestion des emprunts:
4. Gestion des utilisateur:
5. Statistique bibliotheque: