diff --git a/README.md b/README.md
index c5471e9648af626cafe1a8cdca994b76fc908c77..6edf225b0f80f341c52923eb2907cfe9e8922ba2 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 duniter-parameters-parser convertit le format brut des paramètres du bloc 0 d'une monnaie basée sur Duniter en un objet où chaque paramètre est associé à ce à quoi il correspond.
+[Référentiel de conversion](https://git.duniter.org/nodes/typescript/duniter/blob/1.6/doc/Protocol.md#protocol-parameters)
 
 ## Usage:
 ```javascript
diff --git a/main.js b/main.js
index 0e9636706549c3305c18e1348511d90465402315..28034acc193319f5a05cdabbbb622f8c6bc18d8e 100644
--- a/main.js
+++ b/main.js
@@ -1,6 +1,36 @@
+const parametersOrder = [
+  "c",
+  "dt",
+//  "dtReeval",
+  "ud0",
+//  "udTime0",
+//  "udReevalTime0",
+  "sigPeriod",
+  "msPeriod",
+  "sigStock",
+  "sigWindow",
+  "sigValidity",
+  "sigQty",
+  "idtyWindow",
+  "msWindow",
+  "xpercent",
+  "msValidity",
+  "stepMax",
+  "medianTimeBlock",
+  "savgGenTime",
+  "dtDiffEval",
+  "percentRot",
+  "txWindow"
+];
+
 module.exports = function(data){
-  return{
-    c:parseFloat(data[0]),
-    dt:parseFloat(data[1])
+  const resultat = {};
+  for(let i in parametersOrder) {
+    const parameter = parametersOrder[i];
+    resultat[parameter] = parseFloat(data[i]);
   }
+  //TODO: doc.fr et doc.en
+  //TODO: humanReadable
+  //TODO: longName.fr .en
+  return resultat;
 }
diff --git a/main.test.js b/main.test.js
index d1250836c5063d53ea01273e97568f133ad09d97..53826df66a79ee1b059d36c624f9edb5e50e5f77 100644
--- a/main.test.js
+++ b/main.test.js
@@ -8,3 +8,15 @@ test('app parse c', () => {
 test('app parse dt', () => {
   expect(app(data).dt).toBe(86400);
 });
+test('app parse ud0', () => {
+  expect(app(data).ud0).toBe(1000);
+});
+test('app parse sigPeriod', () => {
+  expect(app(data).sigPeriod).toBe(432000);
+});
+test('app parse percentRot', () => {
+  expect(app(data).percentRot).toBe(15778800);
+});
+test('app parse txWindow', () => {
+  expect(app(data).txWindow).toBe("???");
+});