static void reserverLivre(StringTokenizer tokenizer) throws BibliothequeException {
        try {
            bibliothequeCreateur.beginTransaction();
            // Juste pour éviter deux dates de réservation strictement identiques
            Thread.sleep(1);
            final String idMembre = readString(tokenizer);
            final MembreDTO membreDTO = bibliothequeCreateur.getMembreFacade().getMembre(bibliothequeCreateur.getSession(),
                idMembre);
            if(membreDTO == null) {
                throw new MissingDTOException("Le membre "
                    + idMembre
                    + " n'existe pas");
            }
            final String idLivre = readString(tokenizer);
            final LivreDTO livreDTO = bibliothequeCreateur.getLivreFacade().getLivre(bibliothequeCreateur.getSession(),
                idLivre);
            if(livreDTO == null) {
                throw new MissingDTOException("Le livre "
                    + idLivre
                    + " n'existe pas");
            }
            final ReservationDTO reservationDTO = new ReservationDTO();
            reservationDTO.setLivreDTO(livreDTO);
            reservationDTO.setMembreDTO(membreDTO);
            bibliothequeCreateur.getReservationFacade().placer(bibliothequeCreateur.getSession(),
                reservationDTO);
            bibliothequeCreateur.commitTransaction();
        } catch(
            InterruptedException
            | InvalidHibernateSessionException
            | FacadeException
            | MissingDTOException
            | InvalidDTOException
            | InvalidCriterionException
            | InvalidCriterionValueException
            | InvalidSortByPropertyException exception) {
            throw new BibliothequeException(exception.getMessage());
        }
    }