diff --git a/src/post_treatments/aevol_post_extract.cpp b/src/post_treatments/aevol_post_extract.cpp
index a5d3286368a3365ade7a7f766409ec48e0e16aa1..402e41cd80c5581fb6bd6ef418afb1b7f07ebb6f 100644
--- a/src/post_treatments/aevol_post_extract.cpp
+++ b/src/post_treatments/aevol_post_extract.cpp
@@ -332,46 +332,48 @@ void print_help(char* prog_path) {
 
 
     printf("\n\
-This program extracts some data about the individuals and write\n\
-them into text files easy to parse with e.g. matlab.\n\
+This program extracts some data about the individuals at a given generation\n\
+and write them into text files that are easy to parse with e.g. matlab.\n\
 \n\
-Two kinds of data can be extracted :\n\
+Two kinds of data can be extracted:\n\
 \n\
- * data about the phenotype (option -t) : write information about\n\
-   the proteins in a text file. A space delimits two proteins, a\n\
-   new line delimits two individuals. For each protein, the output\n\
-   is \"m_h_w_c_r_s_f_l_z_g\" where :\n\
-       * m, h, w and c are the mean, height, width and concentration of the protein\n\
-       * r is an identifier of the rna it belongs (useful to\n\
-           know if several proteins are on the same rna)\n\
-       * s indicates the strand (LEADING/LAGGING)\n\
-       * f and l are the first and last translated base\n\
-       * z indicates the feature (at the center of the protein)\n\
+ * data about the phenotype (option -T or --triangles):\n\
+   write information about the proteins in a text file.\n\
+   A space delimits two proteins, a new line delimits two individuals.\n\
+   For each protein, the output is \"m_h_w_c_r_s_f_l_z_g\" where:\n\
+     * m, h, w and c are the mean, height, width and concentration of the protein\n\
+     * r is an identifier of the rna it belongs (useful to\n\
+         know if several proteins are on the same rna)\n\
+     * s indicates the strand (LEADING/LAGGING)\n\
+     * f and l are the first and last translated bases\n\
+     * z indicates the feature (at the center of the protein)\n\
 \n\
- * sequences of the individuals (option -s) : write the sequences\n\
+ * sequences of the individuals (option -S or --sequence): write the sequences\n\
    in a text file. A new line delimits two individuals. In case\n\
-   there are several GU, they are separated by whitespaces.\n\
+   there are several genetic units (GUs), they are separated by whitespaces.\n\
 \n\
-With option -b, only the best individual is treated.\n\
+By default, only the best individual is treated. You may use one of the\n\
+following options to modify this behaviour:
+  * With option -a, all the individuals in the population are treated.\n\
+  * With option -i, only the individual with the provided ID is treated.\n\
+  * With options -x and -y, only the individual at the provided position on\n\
+    the grid is treated.\n\
 \n\
-The input can be either a generation number, in which case we\n\
-will attempt to load a full backup tree, or a population file,\n\
-in which case features of the proteins won't be outputed as we\n\
-need to know the environment to infer them.\n\
+Use option -t (or --timestep) to specify timestep of the individual(s) of\n\
+interest. A full backup tree must exist for the provided timestep.\n\
 \n\
 Examples :\n\
 \n\
-For generation 20000, write infos about the phenotypes of all the\n\
+For generation 20000, write info about the phenotypes of all the\n\
 individuals in phe_020000 and the sequences of all the\n\
 individuals in seq_020000 :\n\
 \n\
-   extract -r 20000 -t phe_020000 -s seq_020000\n\
+   extract --timestep 20000 --all --triangles phe_020000 --sequence seq_020000\n\
 \n\
 For generation 20000, write the best individual's sequence in\n\
 seq_020000_best :\n\
 \n\
-   extract -b -r 20000 -s seq_020000_best\n\
-or extract -b -p populations/pop_020000.ae -s seq_020000_best\n");
+   extract --timestep 20000 --sequence seq_020000_best\n");
 }
 
 void interpret_cmd_line_options(int argc, char* argv[]) {