public Boolean ReserverArticle(String ISBN, String membreLogin, Date dateReservation){
        
        // Trouver le membre et l'article
        BiArticles article = this.GetArticleByID(ISBN);
        BiMembres membre = this.GetMembreByUsername(membreLogin);
        
        BiReservationsId resId = new BiReservationsId(membre.getNoMembre(),article.getIsbn(),dateReservation);
        
        BiReservations reservation = new BiReservations();
        reservation.setBiArticles(article);
        reservation.setBiMembres(membre);
        reservation.setId(resId);
        reservation.setEstActif(true);
        
        // Chercher toutes les copies d'articles pour trouver une copie à réserver
        BiCopiesarticles copieAReserver = this.FindCopieAReserver(ISBN);
        
        BiEtatarticle sdf = new BiEtatarticle();
        sdf.setId(3);
        if(copieAReserver != null ){
            copieAReserver.setBiEtatarticle(sdf);
        }
        
        Transaction tx = null;
        try{
            tx = session.beginTransaction();
            session.save(reservation);
            tx.commit();
        }
        catch(Exception e){
            tx.rollback();
            return false;
        }
        tx = null;
        try{
            tx = session.beginTransaction();
            session.update(copieAReserver);
            tx.commit();
        }catch(Exception e){
            tx.rollback();
            return false;
        }
        
        return true;
    }