diff --git a/data/input/fishLight.xml b/data/input/fishLight.xml
index 91a7ebdc11b4e63212f4ab4ddff43d880336499a..25e9eb02104963d3fb27bf1b52d29754f071cca8 100644
--- a/data/input/fishLight.xml
+++ b/data/input/fishLight.xml
@@ -40,9 +40,10 @@
 					<basicMovingRate>2</basicMovingRate>
 				</pikelake.pikes.PikeMovement>
 				
-				<!--pikelake.pikes.PikeTrackLocation>
-				
-				</pikelake.pikes.PikeTrackLocation-->
+				<pikelake.pikes.PikeTrackLocation>
+					<!-- initialNumberOfPikes>10</initialNumberOfPikes>
+					<simDuration>8760</simDuration-->
+				</pikelake.pikes.PikeTrackLocation>
 
 				<fr.cemagref.simaqualife.kernel.processes.FireAquaNismsChangesToObservers />
 			</processesEachStep>
diff --git a/src/main/java/pikelake/pikes/Pike.java b/src/main/java/pikelake/pikes/Pike.java
index 954770e1927e789f9703e75e849bb0a002b396d7..bddb315b26dbcc73aa840dcb365693dfcaa64bf6 100644
--- a/src/main/java/pikelake/pikes/Pike.java
+++ b/src/main/java/pikelake/pikes/Pike.java
@@ -9,7 +9,7 @@ public class Pike extends Individual {
 	private double ingestedFood=0.;
 	
 	public static int cptIndividu = 1;
-	protected int idIndividu = 0;
+	public int idIndividu = 0;
 	
     public Pike(Pilot pilot, Cell cell) {
     	//TODO fix weight according to the weightAtAgeThreshold
diff --git a/src/main/java/pikelake/pikes/PikeTrackLocation.java b/src/main/java/pikelake/pikes/PikeTrackLocation.java
index 0cf057ff88fc40850f1fe3cc04424bdf8da0d1ea..70a321413e21a9e6d51289c14b8237a7c7237cee 100644
--- a/src/main/java/pikelake/pikes/PikeTrackLocation.java
+++ b/src/main/java/pikelake/pikes/PikeTrackLocation.java
@@ -3,38 +3,59 @@ package pikelake.pikes;
 import java.io.File;
 import java.io.FileWriter;
 
+import pikelake.environment.Time;
 import fr.cemagref.simaqualife.kernel.processes.AquaNismsGroupProcess;
 
 public class PikeTrackLocation extends AquaNismsGroupProcess<Pike, PikesGroup> {
 
+	//private static int initialNumberOfPikes = 10;
+	//private static int simDuration = 8760;
+	
+	public static int trackLocation[][] = new int [11][8760];
+	public static int cpt = 0;
+	
 	public void doProcess(PikesGroup group) {
+		for (Pike pike : group.getAquaNismsList())
+			trackLocation[pike.idIndividu][cpt] = pike.getPosition().getIndex(); 	
+		cpt++;
+		System.out.println(trackLocation.length + "  " + trackLocation[1].length + "  " + trackLocation.length);
+	}
+
 
+	public void doEnd (PikesGroup group) {
+		
 		final String chemin = "data/output/Positions.txt";
 		final File fichier = new File(chemin);
-
-		// System.out.println(pike.getIdIndividu() + "		" +
-		// pike.getPosition().getIndex());
+		String ligne = null;
 
 		try {
 			// Creation du fichier
 			fichier.createNewFile();
 			// creation d'un writer (un écrivain)
-			final FileWriter writer = new FileWriter(fichier, true);
+			final FileWriter writer = new FileWriter(fichier);
 			try {
-				for (Pike pike : group.getAquaNismsList())
-					writer.write(pike.getIdIndividu() + "		"
-							+ pike.getPosition().getIndex() + "\n");
-					//writer.
+				// Creation de la ligne d'en-tete du fichier
+				ligne = "Pas de temps \t Date(yyyy/mm/jj/hh) \t";
+				for (int i=1; i!=Pike.cptIndividu; i++) {
+					ligne = ligne + "Individu " + i + " \t";
+				}
+				writer.write(ligne + "\n\r");
+				
+				for (int compteur = 1; compteur < trackLocation[1].length; compteur++) {
+					// Recuperation pas de la simulation + de la date			 	
+					ligne = String.valueOf(group.getPilot().getCurrentTime()) + "\t";
+					ligne = ligne + Time.annee + "/" + Time.mois + "/" + Time.jourMois + "/" + Time.heure + "\t";
+					// enregistrement des positions
+					for (int i=1; i<trackLocation.length; i++) {
+						ligne = ligne + trackLocation[i][compteur] + "\t";;
+					}
+					writer.write(ligne + "\n\r");
+				}	
 			} finally {
 				writer.close();
-
 			}
 		} catch (Exception e) {
 			System.out.println("Impossible de creer le fichier d'enregistrement des positions.");
 		}
-
 	}
-
 }
-
-/* id individu		id maille		date (yyyy/mm/jj/hh)		n° pas de tps*/
\ No newline at end of file