first commit

This commit is contained in:
Vincent Guillet
2025-04-28 17:34:15 +02:00
commit 7334089f81
2 changed files with 176 additions and 0 deletions

121
.gitignore vendored Normal file
View File

@@ -0,0 +1,121 @@
# ---> Custom
# macOS system files
.DS_Store
.AppleDouble
.LSOverride
# Windows system files
Thumbs.db
# Unix/Linux system files
*.swp
*.swo
*~
# Logs and temporary files
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Dependency directories
node_modules/
.bower_components/
# Build directories
dist/
build/
coverage/
out/
# Environment and secrets
.env
.env.local
.env.*.local
# Generated files
*.lock
*.tmp
*.cache
*.pid
# Compiled files
*.class
*.o
*.so
*.exe
# Crash reports
*.stackdump
*.dmp
*.mdmp
# External version control systems
.svn/
.hg/
.git/
.cvsignore
# Backup and leftover files
*.bak
*.old
*.orig
# Extended macOS system files
.Spotlight-V100
.Trashes
._*
# Node.js
npm-debug.log
yarn-error.log
.pnpm-debug.log
# JetBrains IDEs (IntelliJ IDEA, PhpStorm, WebStorm, etc.)
.idea/
*.iml
*.ipr
*.iws
# Editor temporary files
.vscode/
*.code-workspace
*.sublime-workspace
# Archives
*.zip
*.tar.gz
*.rar
# Framework-specific files (Symfony, React, Angular, etc.)
var/
vendor/
public/uploads/
storage/
# Testing and linting tools
eslintcache/
.jest/
.jest-cache/
.jest-output/
# Docker
docker-compose.override.yml
.env.docker.local
# Miscellaneous
*.log.*
*.log~
# Python
#All python cache files and folders
*.py[cod]
*.pyo
*.pyd
*.pdb
*.egg-info/
*.egg
*.whl
$__pycache__/
*.pyc

55
README.md Normal file
View File

@@ -0,0 +1,55 @@
# EXO-JAVA-Collections
## Contexte
Vous devez développer une application de gestion de bibliothèque permettant de gérer un catalogue de livres et leurs emprunts.
## Objectifs
1. Créer une classe `Livre` représentant un livre avec ses caractéristiques
2. Implémenter une classe `Bibliotheque` utilisant les collections Java
3. Gérer les emprunts de livres à l'aide d'une Map
4. Tester toutes les fonctionnalités
## Spécifications techniques
### Classe Livre
- Attributs :
- ISBN (String) : identifiant unique du livre
- Titre (String)
- Auteur (String)
- Année de publication (int)
- Disponibilité (boolean)
- Méthodes :
- Constructeurs
- Getters/Setters
- equals() et hashCode() basés sur l'ISBN
- toString() pour l'affichage
### Classe Bibliotheque
- Utiliser une List pour stocker tous les livres
- Utiliser une Map pour gérer les emprunts (ISBN → Date d'emprunt)
- Méthodes à implémenter :
- ajouterLivre(Livre livre)
- supprimerLivre(String isbn)
- rechercherLivre(String isbn)
- emprunterLivre(String isbn)
- rendreLivre(String isbn)
- getLivresDisponibles()
- getLivresEmpruntes()
## Contraintes
- Utiliser les génériques Java
- Gérer les cas d'erreur (livre non trouvé, déjà emprunté, etc.)
- Documenter le code avec des commentaires JavaDoc
- Écrire des tests unitaires complets
## Livrables
1. Code source complet
2. Documentation JavaDoc
3. Exemple d'utilisation dans une classe Main ou App
- Respect des bonnes pratiques Java