public GenKTR(Simulation simulation){
		
		//Récupération de variables nécessaires à l'élaboration du fichier de sortie
		int hyperperiode = simulation.getHyperperiode();

		//Ouverture d'un flux d'écriture String
		StringBuilder result = new StringBuilder();
		
		//Définition de la précision
		result.append(KIWI_INSTRUCTIONS.PRECISION.getMeaning() + SPACE + "0" + END_LINE);
		result.append(KIWI_INSTRUCTIONS.DURATION.getMeaning() + SPACE + hyperperiode + END_LINE);
		
		List<Tache> taches = simulation.getTaches();
		for (Tache tache : taches) {
			result.append(KIWI_INSTRUCTIONS.LINE_NAME + SPACE + tache.getId() + SPACE + "\"" + tache.getKtrName() + "\"" + END_LINE);
		}
		
		result.append(KIWI_INSTRUCTIONS.PALETTE.getMeaning() + SPACE + "Rainbow" + END_LINE);
		result.append(KIWI_INSTRUCTIONS.ZOOM_X.getMeaning() + TAB + "4"+ END_LINE);
		result.append(KIWI_INSTRUCTIONS.ZOOM_Y.getMeaning() + TAB + "16" + END_LINE);
		result.append(END_LINE);
		
		//On affiche le contenu du collecteur de log :
		List<Event> events = simulation.getEvents();
		Collections.sort(events);
		
		for(Event event : events) {
			result.append(event.toString());
		}
		//On réserve le pire pour la fin : écriture dans le fichier

		Date date = new Date();
		try{
			PrintWriter fichier = new PrintWriter (
				new FileWriter(simulation.getOutputDir() + SEPARATOR + "RepresentationGraphique"+ simulation.getTypeSimulation() + "-" + date.toString().replace(" ", "").replace(":", "") +".ktr")
			);
			fichier.println(result.toString());
			fichier.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();

		}
	}