code: Counter getYearCounter() throws IOException {
  		final Counter yearCounter = createPeriodCounter("yyyy", currentDayCounter.getStartDate());
  		yearCounter.addRequestsAndErrors(currentDayCounter);
  		final Calendar dayCalendar = Calendar.getInstance();
  		final int currentMonth = dayCalendar.get(Calendar.MONTH);
  		dayCalendar.setTime(currentDayCounter.getStartDate());
  		dayCalendar.add(Calendar.DAY_OF_YEAR, -Period.ANNEE.getDurationDays() + 1);
  		yearCounter.setStartDate(dayCalendar.getTime());
  		for (int i = 1; i < Period.ANNEE.getDurationDays(); i++) {
  			if (dayCalendar.get(Calendar.DAY_OF_MONTH) == 1
  					&& dayCalendar.get(Calendar.MONTH) != currentMonth) {
  				// optimisation : on récupère les statistiques précédemment calculées pour ce mois entier
  				// au lieu de parcourir à chaque fois les statistiques de chaque jour du mois
  				yearCounter.addRequestsAndErrors(getMonthCounterAtDate(dayCalendar.getTime()));
  				final int nbDaysInMonth = dayCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
  				// nbDaysInMonth - 1 puisque l'itération va ajouter 1 à i et à dayCalendar
  				dayCalendar.add(Calendar.DAY_OF_YEAR, nbDaysInMonth - 1);
  				i += nbDaysInMonth - 1;
  			} else {
  				yearCounter.addRequestsAndErrors(getDayCounterAtDate(dayCalendar.getTime()));
  			}
  			dayCalendar.add(Calendar.DAY_OF_YEAR, 1);
  		}
  		return yearCounter;
  	}
docs: compteur des 366 derniers jours