@Override
	void toHtml() throws IOException {
		writeHtmlHeader();
		htmlCoreReport.toHtml();
		writeHtmlFooter();
	}
@Test
	public void testCounter() throws IOException {
		// counter avec 3 requêtes
		setProperty(Parameter.WARNING_THRESHOLD_MILLIS, "500");
		setProperty(Parameter.SEVERE_THRESHOLD_MILLIS, "1500");
		setProperty(Parameter.ANALYTICS_ID, "123456789");
		counter.addRequest("test1", 0, 0, 0, false, 1000);
		counter.addRequest("test2", 1000, 500, 500, false, 1000);
		counter.addRequest("test3", 100000, 50000, 50000, true, 10000);
		// requête pour businessFacadeCounter
		servicesCounter.addRequest("testServices", 100, 50, 50, false, -1);
		final StringBuilder sb = new StringBuilder();
		for (int i = 0; i < 5010; i++) {
			// HtmlCounterReport.MAX_REQUEST_LENGTH = 5000
			sb.append(i % 10);
		}
		final String longRequestName = sb.toString();
		counter.addRequest(longRequestName, 0, 0, 0, false, 5000);
		collector.collectWithoutErrors(javaInformationsList);

		final HtmlReport htmlReport = new HtmlReport(collector, null, javaInformationsList,
				Period.TOUT, writer);
		htmlReport.toHtml("message 2", null);
		assertNotEmptyAndClear(writer);

		setProperty(Parameter.NO_DATABASE, Boolean.TRUE.toString());
		collector.collectWithoutErrors(javaInformationsList);
		htmlReport.toHtml("message 2", null);
		assertNotEmptyAndClear(writer);
		setProperty(Parameter.NO_DATABASE, Boolean.FALSE.toString());

		setProperty(Parameter.WARNING_THRESHOLD_MILLIS, "-1");
		try {
			htmlReport.toHtml("message 2", null);
		} catch (final IllegalStateException e) {
			assertNotNull("ok", e);
		}
		setProperty(Parameter.WARNING_THRESHOLD_MILLIS, null);

		// cas counterReportsByCounterName.size() == 1
		collector = new Collector("test", List.of(counter));
		final HtmlReport htmlReport2 = new HtmlReport(collector, null, javaInformationsList,
				Period.TOUT, writer);
		htmlReport2.toHtml(null, null);
	}