diff --git a/script/src/csv.ml b/script/src/csv.ml
index 46ffe5bc3e9b692ae04d6a9107124911117544f3..884b0992ec78e7ce8f3ca5e163bad415cf4f1dc3 100644
--- a/script/src/csv.ml
+++ b/script/src/csv.ml
@@ -298,7 +298,25 @@ let iter rand_csv col_name f =
         List.iter 
                 (fun a -> f a.(idx))
                 rand_csv.data
+(*
+fold une colonne a partir de la fonction f
+
+fold : csv -> string -> ('a -> string -> 'a) -> 'a -> 'a
+
+Ex :
+let moncsv = 
+col1, col2, col3, col4
+a0  , b0  , c0  , d0
+a1  , b1  , c1  , d1
+a2  , b2  , c2  , d2
+a3  , b3  , c3  , d3
 
+fold moncsv "col1" (fun x elt -> x+1) 0 = 
+4
+*)
+let fold rand_csv col_name f depart = 
+        let idx = trouve_indice rand_csv.column_name col_name in
+        List.fold_left (fun acc elt -> f acc (elt.(idx))) depart rand_csv.data
 
 (*
 Sauvegarde le csv au chemin file_name au format csv. (,) comme séparateur
diff --git a/script/src/graph_export.ml b/script/src/graph_export.ml
index 9183b7896bec41670f76e38c6a1484e23077fc8a..5371d2c1314201acb87fe2db69e0cadbd0ae2ce3 100644
--- a/script/src/graph_export.ml
+++ b/script/src/graph_export.ml
@@ -5,6 +5,13 @@ let create_gexf path node_data edge_data =
         let t = Unix.time () in
         let tm = Unix.localtime t in
         let date = Printf.sprintf "%4d-%02d-%02d" (tm.tm_year+1900) (tm.tm_mon+1) tm.tm_mday in (*yyyy-mm-dd*)
+        let node_col0 = Csv.get_column node_data |> List.hd in
+        let n_node = Csv.fold node_data node_col0 (fun x _ -> x+1) 0 in
+
+        let edge_col0 = Csv.get_column edge_data |> List.hd in
+        let n_edge = Csv.fold edge_data edge_col0 (fun x _ -> x+1) 0 in
+
+
         (*Création de l'HEADER*)
         output_string oc "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
         output_string oc 
@@ -19,17 +26,18 @@ let create_gexf path node_data edge_data =
     </meta>\n");
         (*End_HEADER*)
         (*Start graph*)        
-        output_string oc "  <graph defaultedgetype=\"undirected\">\n";
+        output_string oc "  <graph defaultedgetype=\"undirected\" idtype=\"integer\">\n";
         (*Ajout de la categorie*)
         output_string oc 
         "     <attributes class=\"node\">
                 <attribute id=\"0\" title=\"cat\" type=\"string\">
                   <default>Eleve</default>
+                  <options>[Eleve,Asso]</options>
                 </attribute>
               </attributes>\n"; 
 
         (*start nodes*) 
-        output_string oc "    <nodes>\n";
+        output_string oc (Printf.sprintf "    <nodes count=\"%d\">\n" n_node);
         
         Csv.iter_line node_data 
                 (fun htab ->
@@ -56,7 +64,7 @@ let create_gexf path node_data edge_data =
         (*end nodes*)
         output_string oc "    </nodes>\n";
         (*start edges*)
-        output_string oc "    <edges>\n";
+        output_string oc (Printf.sprintf "    <edges count=\"%d\">\n" n_edge);
         
         Csv.iter_line edge_data 
                 (fun htab ->
@@ -89,19 +97,21 @@ let () = begin
         let edge_data = Csv.open_as_csv "../../res_script/edges_avec_fantome.csv" in
         (*Source,Target,Type,Id,Weight*)
         create_gexf "../../res_script/graphe_assos_actif_frantome.gexf" node_data edge_data;
+        print_endline "Graphe assos actif frantome crée.";
 
         let node_data = Csv.open_as_csv "../../res_script/nodes_sans_fantome.csv" in
         (*Id,Label,Categorie*)
         let edge_data = Csv.open_as_csv "../../res_script/edges_sans_fantome.csv" in
         (*Source,Target,Type,Id,Weight*)
         create_gexf "../../res_script/graphe_assos_actif.gexf" node_data edge_data;
+        print_endline "Graphe assos actif crée";
 
         let node_data = Csv.open_as_csv "../../res_script/nodes_eleve_vs_fantome.csv" in
         (*Id,Label,Categorie*)
         let edge_data = Csv.open_as_csv "../../res_script/edges_eleve_vs_fantome.csv" in
         (*Source,Target,Type,Id,Weight*)
         create_gexf "../../res_script/graphe_eleve_vs_fantome.gexf" node_data edge_data;
-
+        print_endline "Graphe actif vs fantom";
         
         print_endline "Graphes exporté au bon format avec succès"
 end