diff --git a/README.md b/README.md
index ecbc6d1c30ef522ca2ea375fe0dd3c28d24667f6..290a942de200a49abc88d122bdb47ce5c7f296f5 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,75 @@
 BLC program
 ===========
 
-Copyright : [ETIS](http://www.etis.ensea.fr/neurocyber) - ENSEA, University of Cergy-Pontoise, CNRS (2011-2016)  
-Author    : [Arnaud Blanchard](http://arnaudblanchard.thoughtsheet.com)  
-Licence   : [CeCILL v2.1](http://www.cecill.info/licences/Licence_CeCILL_V2-en.html)  
+Library providing command line program facilities
 
-### Library providing command line program facilities
 - Parsing arguments
-- Interacting with the user
+- Interacting with the user in a terminal
+
+BLC program
+============
+
+Exemple based on  **t_parse_arguments**
+------------------------------------------------
+
+code
+```c++
+#include "blc_program.h"
+int main( int argc, char **argv){
+    char const *text_option, *first_parameter, *optional_parameter, *flag;
+    //The text that appear when help is called.
+    blc_program_set_description("Program to show how to parse arguments.");
+    //Define the options to be parsed with 'blc_program_option_interpret'.
+    blc_program_add_option(&flag, 'f', "flag", NULL, "Show how to read a flag", NULL);
+    blc_program_add_option(&text_option, 's', "simple", "string", "Simple text as option", "Default text");
+    //Require one argument.
+    blc_program_add_parameter(&first_parameter, "string", 1,  "Required parameter ", NULL);
+    //Accept a second optional argument.
+    blc_program_add_parameter(&optional_parameter, "string", 0,  "Show how to accept simple text as option", NULL);
+    //Interprets the arguments, associates variables and print program name as title.
+    blc_program_option_interpret_and_print_title(&argc, &argv);
+    //We display on stderr. It is a good habit to use for interaction with the user
+    fprintf(stderr, "Display help:\n");
+     //Display all the possible options / arguments
+    blc_program_option_display_help();
+     //After interpret options, we can use the variable **blc_program_name**
+    fprintf(stderr, "Parsed arguments:\n");
+    //We present the parsed variables
+    fprintf(stderr, "- The simple option text is: '%s'\n", text_option);
+    if (flag) fprintf(stderr, "- The flag is activated, its content (usually useless) is : '%s'\n", flag);
+    else fprintf(stderr, "- The flag is not activated.\n");
+    fprintf(stderr, "- The first argument is: '%s'\n", first_parameter);
+    if (optional_parameter) fprintf(stderr, "- The optional argument is: '%s'\n", optional_parameter);
+    else fprintf(stderr, "- No optional argument\n");
+    return 0;
+}
+```
+
+Execute: `../run.sh t_parse_arguments arg1 arg2`
+
+Result
+```
+Display help:
+
+usage: t_parse_args [-f] [-s string] string [string]
+
+Program to show how to parse arguments.
+
+positional arguments:
+  string                  Required parameter   string                  Show how to accept simple text as option
+optional arguments:
+ -f, --flag              Show how to read a flag
+ -s, --simple string     Simple text as option (default: Default text)
+
+Parsed arguments:
+- The simple option text is: 'Default text'
+- The flag is not activated.
+- The first argument is: 'arg1'
+- The optional argument is: 'arg2'
+```
+
+
+
 
-### [Online documentation](https://framagit.org/blaar/blc_program/wikis/home)