public void askCourse(List<Map<String, Object>> coursesDescription) {
		System.out.println(this.texts.get("borrow_askCourseID"));

		String result = "";

		for (Map<String, Object> currentCourseDescription : coursesDescription) {

			Calendar startDate = (Calendar) currentCourseDescription
					.get("startDate");
			Calendar endDate = (Calendar) currentCourseDescription
					.get("endDate");

			DateFormat ndf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
			String startDateStr = ndf.format(startDate.getTime());
			String endDateStr = ndf.format(endDate.getTime());

			result = result.concat("\t[" + currentCourseDescription.get("id")
					+ "]");
			result = result.concat("\t- "
					+ currentCourseDescription.get("name"));
			result = result.concat("\t(" + startDateStr + " --> " + endDateStr
					+ ")");
		}

		System.out.println(result);

		String rep = "";
		int indexRep = -1;
		boolean error = true;

		while (error) {

			try {
				rep = this.getAnswer();
				indexRep = Integer.parseInt(rep);
				error = !(indexRep > 0 && indexRep < coursesDescription.size() + 1);
				if (!error)
					break;
				System.err.println("Wrong index : out of bounds");
			} catch (NumberFormatException e) {
				System.err.println("Invalid input - Please try again");
			}
		}

		this.controler.notifyCourseSelected((Integer) ((coursesDescription
				.get(indexRep - 1)).get("id")));
	}