diff --git a/Cargo.lock b/Cargo.lock
index 5360a187b3f8bcab195d163ed2192766f3b47c9a..2f206036e2066e05a2217c791c792e9d48063fd9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -11,7 +11,7 @@ name = "ansi_term"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -27,9 +27,9 @@ name = "atty"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -39,9 +39,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)",
  "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -49,8 +49,8 @@ name = "backtrace-sys"
 version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -60,7 +60,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "base64"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -69,7 +69,7 @@ dependencies = [
 
 [[package]]
 name = "bincode"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -102,7 +102,7 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.15"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -112,11 +112,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "chrono"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
- "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -130,7 +130,7 @@ dependencies = [
  "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -152,7 +152,7 @@ dependencies = [
  "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
  "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -183,14 +183,14 @@ dependencies = [
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
  "duniter-wotb 0.8.0-a0.7",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "pbr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
  "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -203,8 +203,8 @@ dependencies = [
  "duniter-module 0.1.0-a0.1",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -218,14 +218,14 @@ dependencies = [
  "duniter-message 0.1.0-a0.1",
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
  "simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -236,10 +236,10 @@ name = "duniter-crypto"
 version = "0.2.0-a0.1"
 dependencies = [
  "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -251,15 +251,15 @@ dependencies = [
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
  "duniter-wotb 0.8.0-a0.7",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -267,14 +267,14 @@ name = "duniter-documents"
 version = "0.8.0-a0.1"
 dependencies = [
  "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "duniter-crypto 0.2.0-a0.1",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -287,7 +287,8 @@ dependencies = [
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -297,8 +298,8 @@ dependencies = [
  "duniter-crypto 0.2.0-a0.1",
  "duniter-documents 0.8.0-a0.1",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -308,12 +309,12 @@ dependencies = [
  "duniter-crypto 0.2.0-a0.1",
  "duniter-documents 0.8.0-a0.1",
  "duniter-module 0.1.0-a0.1",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -327,8 +328,10 @@ dependencies = [
  "duniter-message 0.1.0-a0.1",
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
  "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -336,11 +339,11 @@ dependencies = [
 name = "duniter-wotb"
 version = "0.8.0-a0.7"
 dependencies = [
- "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -355,14 +358,14 @@ dependencies = [
  "duniter-module 0.1.0-a0.1",
  "duniter-network 0.1.0-a0.1",
  "duniter-wotb 0.8.0-a0.7",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
  "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "ws 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -434,7 +437,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "httparse"
-version = "1.2.4"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -452,7 +455,7 @@ name = "iovec"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -472,7 +475,7 @@ dependencies = [
 
 [[package]]
 name = "lazy_static"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -482,7 +485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "libc"
-version = "0.2.40"
+version = "0.2.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -490,10 +493,10 @@ name = "libz-sys"
 version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -503,7 +506,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "log"
-version = "0.4.1"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -519,7 +522,7 @@ name = "memchr"
 version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -537,8 +540,8 @@ dependencies = [
  "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
  "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -562,8 +565,8 @@ version = "0.2.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -573,15 +576,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "num-integer"
-version = "0.1.38"
+version = "0.1.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -589,7 +592,7 @@ name = "num_cpus"
 version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -599,8 +602,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -609,10 +612,10 @@ name = "openssl-sys"
 version = "0.9.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -621,7 +624,7 @@ version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -639,7 +642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "proc-macro2"
-version = "0.3.8"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -652,10 +655,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "quote"
-version = "0.5.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -664,7 +667,7 @@ version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -674,8 +677,8 @@ version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -693,15 +696,15 @@ version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -709,7 +712,7 @@ name = "redox_termios"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -726,12 +729,12 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -746,7 +749,7 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -758,7 +761,7 @@ version = "0.2.36"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -769,8 +772,8 @@ name = "rustbreak"
 version = "2.0.0-rc2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -802,17 +805,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.57"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.13.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -830,8 +833,8 @@ name = "simplelog"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "chrono 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -850,7 +853,7 @@ name = "sqlite"
 version = "0.23.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "sqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -859,7 +862,7 @@ name = "sqlite3-src"
 version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
  "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -868,7 +871,7 @@ name = "sqlite3-sys"
 version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "sqlite3-src 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -889,11 +892,11 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "0.13.10"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -920,7 +923,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -928,8 +931,8 @@ name = "termion"
 version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
  "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -938,7 +941,7 @@ name = "textwrap"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -946,7 +949,7 @@ name = "thread_local"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -963,9 +966,9 @@ name = "time"
 version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
+ "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -988,7 +991,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -1026,7 +1029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "vcpkg"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -1046,7 +1049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "winapi"
-version = "0.3.4"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1075,10 +1078,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)",
+ "httparse 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
  "libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
  "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1109,15 +1112,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbdd17cd962b570302f5297aea8648d5923e22e555c2ed2d8b2e34eca646bf6d"
 "checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e"
 "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"
-"checksum base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9263aa6a38da271eec5c91a83ce1e800f093c8535788d403d626d8d5c3f8f007"
-"checksum bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bda13183df33055cbb84b847becce220d392df502ebe7a4a78d7021771ed94d0"
+"checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9"
+"checksum bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9f2fb9e29e72fd6bc12071533d5dc7664cb01480c59406f656d7ac25c7bd8ff7"
 "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
 "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789"
 "checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9"
 "checksum bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd32989a66957d3f0cba6588f15d4281a733f4e9ffc43fcd2385f57d3bf99ff"
-"checksum cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0ebb87d1116151416c0cf66a0e3fb6430cccd120fd6300794b4dfaa050ac40ba"
+"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d"
 "checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18"
-"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6"
+"checksum chrono 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a81892f0d5a53f46fc05ef0b917305a81c13f1f13bb59ac91ff595817f0764b1"
 "checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536"
 "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
 "checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
@@ -1131,17 +1134,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
 "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
 "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb"
-"checksum httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f407128745b78abc95c0ffbe4e5d37427fdc0d45470710cfef8c44522a2e37"
+"checksum httparse 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "422d5a93b40dbfbd8c8c24d1b4b5ef455973ef3afffc172487429fecd05bde42"
 "checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d"
 "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
 "checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682"
 "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-"checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d"
+"checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739"
 "checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef"
-"checksum libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)" = "6fd41f331ac7c5b8ac259b8bf82c75c0fb2e469bbf37d2becbba9a6a2221965b"
+"checksum libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1"
 "checksum libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "87f737ad6cc6fd6eefe3d9dc5412f1573865bded441300904d2f42269e140f16"
 "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
-"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2"
+"checksum log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6fddaa003a65722a7fb9e26b0ce95921fe4ba590542ced664d8ce2fa26f9f3ac"
 "checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
 "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d"
 "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
@@ -1149,27 +1152,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
 "checksum net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)" = "9044faf1413a1057267be51b5afba8eb1090bd2231c693664aa1db716fe1eae0"
 "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
-"checksum num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45"
-"checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28"
+"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
+"checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe"
 "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
 "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985"
 "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc"
 "checksum pbr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "deb73390ab68d81992bd994d145f697451bb0b54fd39738e72eef32458ad6907"
 "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
 "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f"
-"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7"
+"checksum proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "effdb53b25cdad54f8f48843d67398f7ef2e14f12c1b4cb4effc549a6462a4d6"
 "checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
-"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8"
+"checksum quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035"
 "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1"
 "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"
 "checksum rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80e811e76f1dbf68abf87a759083d34600017fc4e10b6bd5ad84a700f9dba4b1"
 "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8"
-"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd"
+"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
 "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
 "checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384"
-"checksum regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75ecf88252dce580404a22444fc7d626c01815debba56a7f4f536772a5ff19d3"
+"checksum regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13c93d55961981ba9226a213b385216f83ab43bd6ac53ab16b2eeb47e337cf4e"
 "checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7"
-"checksum regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1ac0f60d675cc6cf13a20ec076568254472551051ad5dd050364d70671bf6b"
+"checksum regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05b06a75f5217880fc5e905952a42750bf44787e56a6c6d6852ed0992f5e1d54"
 "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
 "checksum rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)" = "676cb04876f4391d5d2f2c9029d10cfe5fe28ad625ad8460531bed1191477083"
 "checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649"
@@ -1177,8 +1180,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f"
 "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
 "checksum serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)" = "e9a2d9a9ac5120e0f768801ca2b58ad6eec929dc9d1d616c162f208869c2ce95"
-"checksum serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)" = "1bdba9c305f1aeff7e83e2ff0685a141780de943cee66bdd89b63913b2b69c86"
-"checksum serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "fc97cccc2959f39984524026d760c08ef0dd5f0f5948c8d31797dbfae458c875"
+"checksum serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)" = "0a90213fa7e0f5eac3f7afe2d5ff6b088af515052cc7303bd68c7e3b91a3fb79"
+"checksum serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "eb40600c756f02d7ea34943626cefa85732fdae5f95b90b31f9797b3c526d1e6"
 "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 "checksum simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9cc12b39fdf4c9a07f88bffac2d628f0118ed5ac077a4b0feece61fadf1429e5"
 "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
@@ -1188,7 +1191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum sqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71fec807a1534bd13eeaaec396175d67c79bdc68df55e18a452726ec62a8fb08"
 "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 "checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
-"checksum syn 0.13.10 (registry+https://github.com/rust-lang/crates.io-index)" = "77961dcdac942fa8bc033c16f3a790b311c8a27d00811b878ebd8cf9b7ba39d5"
+"checksum syn 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c67da57e61ebc7b7b6fff56bb34440ca3a83db037320b0507af4c10368deda7d"
 "checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
 "checksum synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd"
 "checksum term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561"
@@ -1200,17 +1203,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d"
 "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
 "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
-"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f"
+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
 "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
 "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
 "checksum url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f808aadd8cfec6ef90e4a14eb46f24511824d1ac596b9682703c87056c8678b7"
 "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
-"checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380"
+"checksum vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe533e138811704c0e3cbde65a818b35d3240409b4346256c5ede403e082474"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
 "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3"
+"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd"
 "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/blockchain/Cargo.toml b/blockchain/Cargo.toml
index 59f9cfe500323bf2ca160a2c91404bb8fbdb50ce..dd30659f14e06409c5d9c924e5e5261617c24661 100644
--- a/blockchain/Cargo.toml
+++ b/blockchain/Cargo.toml
@@ -17,13 +17,13 @@ duniter-message =  { path = "../message" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
 duniter-wotb = { path = "../wotb" }
-log = "0.4.1"
-num_cpus = "1.8.0"
-pbr = "1.0.1"
-rand = "0.4.2"
+log = "0.4.*"
+num_cpus = "1.8.*"
+pbr = "1.0.*"
+rand = "0.4.*"
 rustbreak = {version = "2.0.0-rc2", features = ["bin_enc"]}
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
-sqlite = "0.23.9"
-threadpool = "1.7.1"
\ No newline at end of file
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
+sqlite = "0.23.*"
+threadpool = "1.7.*"
\ No newline at end of file
diff --git a/conf/Cargo.toml b/conf/Cargo.toml
index 9a39060460e515d069c698e5704394c7fdfd8eb8..f5482419e05aa1d4356cfea52f9d4754611ccbbc 100644
--- a/conf/Cargo.toml
+++ b/conf/Cargo.toml
@@ -9,10 +9,10 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-rand = "0.4.2"
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
+rand = "0.4.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
 duniter-crypto = { path = "../crypto" }
 duniter-module = { path = "../module" }
 
diff --git a/core/Cargo.toml b/core/Cargo.toml
index 7a8e598b9545e3ef86ede1f87ec3adf971a3d3ed..6d04e23d8443ca8b8ce8133cc15506db32d677b6 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -16,17 +16,17 @@ duniter-crypto = { path = "../crypto" }
 duniter-message =  { path = "../message" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
-lazy_static = "1.0.0"
-log = "0.4.1"
-rand = "0.4.2"
-regex = "1.0.0"
-rust-crypto = "0.2.36"
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
-simplelog = "0.5.2"
-sqlite = "0.23.9"
-threadpool = "1.7.1"
+lazy_static = "1.0.*"
+log = "0.4.*"
+rand = "0.4.*"
+regex = "1.0.*"
+rust-crypto = "0.2.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
+simplelog = "0.5.*"
+sqlite = "0.23.*"
+threadpool = "1.7.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/core/lib.rs b/core/lib.rs
index 32777c664a29254d8a65d0c92cb1a8b1b9209874..23c96924e9b29ae7fd0d69e5306300e473a3554b 100644
--- a/core/lib.rs
+++ b/core/lib.rs
@@ -313,17 +313,26 @@ impl DuniterCore<DuRsConf> {
             self.plug::<NM>();
         } else if let UserCommand::Sync(ref sync_endpoint) = self.user_command {
             self.network_modules_count += 1;
-            // Load module conf and keys
-            let (module_conf, required_keys) = self.load_module_conf_and_keys::<NM>();
             // Start module in a new thread
             let rooter_sender = self.rooter_sender.clone();
             let soft_meta_datas = self.soft_meta_datas.clone();
+            let module_conf_json = self
+                .soft_meta_datas
+                .conf
+                .clone()
+                .modules()
+                .get(&NM::id().to_string().as_str())
+                .cloned();
+            let keypairs = self.keypairs;
             let sync_endpoint = sync_endpoint.clone();
             self.thread_pool.execute(move || {
+                // Load module conf and keys
+                let (module_conf, required_keys) =
+                    load_module_conf_and_keys::<NM>(module_conf_json, keypairs);
                 NM::sync(
                     &soft_meta_datas,
                     required_keys,
-                    &module_conf,
+                    module_conf,
                     rooter_sender,
                     sync_endpoint,
                 ).unwrap_or_else(|_| {
@@ -337,39 +346,28 @@ impl DuniterCore<DuRsConf> {
             info!("Success to load {} module.", NM::id().to_string());
         }
     }
-    /// Load module conf and keys
-    pub fn load_module_conf_and_keys<M: DuniterModule<DuRsConf, DuniterMessage>>(
-        &self,
-    ) -> (serde_json::value::Value, RequiredKeysContent) {
-        let module_conf = if let Some(module_conf_) = self
-            .soft_meta_datas
-            .conf
-            .clone()
-            .modules()
-            .get(&M::id().to_string().as_str())
-        {
-            module_conf_.clone()
-        } else {
-            M::default_conf()
-        };
-        let required_keys =
-            DuniterKeyPairs::get_required_keys_content(M::ask_required_keys(), self.keypairs);
-
-        (module_conf, required_keys)
-    }
     /// Plug a module
     pub fn plug<M: DuniterModule<DuRsConf, DuniterMessage>>(&mut self) {
         if let UserCommand::Start() = self.user_command {
-            // Load module conf and keys
-            let (module_conf, required_keys) = self.load_module_conf_and_keys::<M>();
             // Start module in a new thread
             let rooter_sender_clone = self.rooter_sender.clone();
             let soft_meta_datas = self.soft_meta_datas.clone();
+            let module_conf_json = self
+                .soft_meta_datas
+                .conf
+                .clone()
+                .modules()
+                .get(&M::id().to_string().as_str())
+                .cloned();
+            let keypairs = self.keypairs;
             self.thread_pool.execute(move || {
+                // Load module conf and keys
+                let (module_conf, required_keys) =
+                    load_module_conf_and_keys::<M>(module_conf_json, keypairs);
                 M::start(
                     &soft_meta_datas,
                     required_keys,
-                    &module_conf,
+                    module_conf,
                     rooter_sender_clone,
                     false,
                 ).unwrap_or_else(|_| {
@@ -385,6 +383,23 @@ impl DuniterCore<DuRsConf> {
     }
 }
 
+/// Load module conf and keys
+pub fn load_module_conf_and_keys<M: DuniterModule<DuRsConf, DuniterMessage>>(
+    module_conf_json: Option<serde_json::Value>,
+    keypairs: DuniterKeyPairs,
+) -> (M::ModuleConf, RequiredKeysContent) {
+    let module_conf = if let Some(module_conf_json) = module_conf_json {
+        serde_json::from_str(module_conf_json.to_string().as_str())
+            .unwrap_or_else(|_| panic!("Fail to parse conf of module {}", M::id().to_string()))
+    } else {
+        M::ModuleConf::default()
+    };
+    let required_keys =
+        DuniterKeyPairs::get_required_keys_content(M::ask_required_keys(), keypairs);
+
+    (module_conf, required_keys)
+}
+
 /// Match cli option --profile
 pub fn match_profile(cli_args: &ArgMatches) -> String {
     String::from(cli_args.value_of("profile").unwrap_or("default"))
diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml
index 9723b75e99c1233528c30d0f0b6cb7fcb68fdc9c..e072a9f08521d02b65111df6bdf4e7351b92d923 100644
--- a/crypto/Cargo.toml
+++ b/crypto/Cargo.toml
@@ -12,11 +12,11 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-base58 = "0.1.0"
-base64 = "0.9.1"
-rust-crypto = "0.2.36"
-serde = "1.0.57"
-serde_derive = "1.0.57"
+base58 = "0.1.*"
+base64 = "0.9.*"
+rust-crypto = "0.2.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/dal/Cargo.toml b/dal/Cargo.toml
index a4def26bec0e754802a359f96e4e4b4ffe559630..fd9d280d275e4d1f2dd793cd2068127a4cf56ab8 100644
--- a/dal/Cargo.toml
+++ b/dal/Cargo.toml
@@ -14,15 +14,15 @@ duniter-documents = { path = "../documents" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
 duniter-wotb = { path = "../wotb" }
-lazy_static = "1.0.0"
-log = "0.4.1"
-rand = "0.4.2"
+lazy_static = "1.0.*"
+log = "0.4.*"
+rand = "0.4.*"
 rustbreak = {version = "2.0.0-rc2", features = ["bin_enc"]}
-rust-crypto = "0.2.36"
-regex = "1.0.0"
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
+rust-crypto = "0.2.*"
+regex = "1.0.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
 
 [features]
 exp = []
diff --git a/documents/Cargo.toml b/documents/Cargo.toml
index 74c7b8d5c0fb6bf919db58a836de0af67a3f5d4d..4c541dcb0bbaacf5f805952a63a81cd377e02389 100644
--- a/documents/Cargo.toml
+++ b/documents/Cargo.toml
@@ -12,15 +12,15 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-base58 = "0.1.0"
-base64 = "0.9.1"
+base58 = "0.1.*"
+base64 = "0.9.*"
 duniter-crypto = { path = "../crypto" }
-lazy_static = "1.0.0"
-linked-hash-map = "0.5.1"
-regex = "1.0.0"
-rust-crypto = "0.2.36"
-serde = "1.0.57"
-serde_derive = "1.0.57"
+lazy_static = "1.0.*"
+linked-hash-map = "0.5.*"
+regex = "1.0.*"
+rust-crypto = "0.2.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/message/Cargo.toml b/message/Cargo.toml
index 59254a6a78df74561cdf930469ea98f03b0e8663..625bfd375466d13c790d041c990494a73c33e0b4 100644
--- a/message/Cargo.toml
+++ b/message/Cargo.toml
@@ -14,8 +14,9 @@ duniter-dal = { path = "../dal" }
 duniter-documents = { path = "../documents" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
-serde = "1.0.57"
-serde_derive = "1.0.57"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/message/lib.rs b/message/lib.rs
index 92c657143783a32cdea26a080e08a032b08814e5..1b89f4dc38a45067b16333d1e5b4ace3e468a11f 100644
--- a/message/lib.rs
+++ b/message/lib.rs
@@ -29,6 +29,7 @@ extern crate duniter_documents;
 extern crate duniter_module;
 extern crate duniter_network;
 extern crate serde;
+extern crate serde_json;
 
 use std::sync::mpsc;
 
@@ -37,7 +38,7 @@ use duniter_dal::dal_event::DALEvent;
 use duniter_dal::dal_requests::{DALRequest, DALResponse};
 use duniter_documents::blockchain::BlockchainProtocol;
 use duniter_documents::{BlockId, Hash};
-use duniter_module::ModuleMessage;
+use duniter_module::{ModuleId, ModuleMessage};
 use duniter_network::{NetworkEvent, NetworkRequest};
 
 #[derive(Debug, Clone)]
@@ -47,6 +48,8 @@ pub enum DuniterMessage {
     Text(String),
     /// Brut binary message
     Binary(Vec<u8>),
+    /// New configuration of a module to save
+    SaveNewModuleConf(ModuleId, serde_json::Value),
     /// Subscriptions to the module feed
     Followers(Vec<mpsc::Sender<DuniterMessage>>),
     /// Blockchain datas request
diff --git a/module/Cargo.toml b/module/Cargo.toml
index 9c21549e332254d6aebd5e2b4bb79cbe88b9cb3a..37f5d5afb9f318f097c5a50404ed2961a1c68bef 100644
--- a/module/Cargo.toml
+++ b/module/Cargo.toml
@@ -11,9 +11,9 @@ path = "lib.rs"
 [dependencies]
 duniter-crypto = { path = "../crypto" }
 duniter-documents = { path = "../documents" }
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/module/lib.rs b/module/lib.rs
index 1bc026b423fd9d7c0b948d341044ac065bd1c932..a24fa718f76d46a14462a492ca177938fbabca54 100644
--- a/module/lib.rs
+++ b/module/lib.rs
@@ -206,19 +206,20 @@ pub enum ModulePriority {
 
 /// All Duniter-rs modules must implement this trait.
 pub trait DuniterModule<DC: DuniterConf, M: ModuleMessage> {
+    /// Module configuration
+    type ModuleConf: Clone + Debug + Default + DeserializeOwned + Send + Serialize + Sync;
+
     /// Returns the module identifier
     fn id() -> ModuleId;
     /// Returns the module priority
     fn priority() -> ModulePriority;
     /// Indicates which keys the module needs
     fn ask_required_keys() -> RequiredKeys;
-    /// Provides the default module configuration
-    fn default_conf() -> serde_json::Value;
     /// Launch the module
     fn start(
         soft_meta_datas: &SoftwareMetaDatas<DC>,
         keys: RequiredKeysContent,
-        module_conf: &serde_json::Value,
+        module_conf: Self::ModuleConf,
         main_sender: mpsc::Sender<RooterThreadMessage<M>>,
         load_conf_only: bool,
     ) -> Result<(), ModuleInitError>;
diff --git a/network/Cargo.toml b/network/Cargo.toml
index 6ad4c44ab3d34d317938b80fcb7463afeba84fa4..0a7a6e99dba9b53f3ab4cb6acb446b12ac4093be 100644
--- a/network/Cargo.toml
+++ b/network/Cargo.toml
@@ -12,12 +12,12 @@ path = "lib.rs"
 duniter-crypto = { path = "../crypto" }
 duniter-documents = { path = "../documents" }
 duniter-module = { path = "../module" }
-lazy_static = "1.0.0"
-regex = "1.0.0"
-rust-crypto = "0.2.36"
-serde = "1.0.57"
-serde_derive = "1.0.57"
-serde_json = "1.0.20"
+lazy_static = "1.0.*"
+regex = "1.0.*"
+rust-crypto = "0.2.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/network/lib.rs b/network/lib.rs
index a25307910c632fc655b52004d6b610258933e2e2..466f4476365ee92bba234d180f80240d51359130 100644
--- a/network/lib.rs
+++ b/network/lib.rs
@@ -24,6 +24,8 @@
 
 #[macro_use]
 extern crate lazy_static;
+#[macro_use]
+extern crate serde_derive;
 
 extern crate crypto;
 extern crate duniter_crypto;
@@ -58,7 +60,7 @@ pub trait NetworkModule<DC: DuniterConf, M: ModuleMessage>: DuniterModule<DC, M>
     fn sync(
         soft_meta_datas: &SoftwareMetaDatas<DC>,
         keys: RequiredKeysContent,
-        module_conf: &serde_json::Value,
+        module_conf: <Self as DuniterModule<DC, M>>::ModuleConf,
         main_sender: mpsc::Sender<RooterThreadMessage<M>>,
         sync_endpoint: SyncEndpoint,
     ) -> Result<(), ModuleInitError>;
@@ -77,7 +79,7 @@ pub struct SyncEndpoint {
     pub tls: bool,
 }
 
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// Random identifier with which several Duniter nodes with the same network keypair can be differentiated
 pub struct NodeUUID(pub u32);
 
diff --git a/network/network_endpoint.rs b/network/network_endpoint.rs
index 9098f4c69fbd9d28e738f867bf258f4f12c97e1b..6e5ccc23701123ba3ff570ba11a4dfafc2811d00 100644
--- a/network/network_endpoint.rs
+++ b/network/network_endpoint.rs
@@ -35,11 +35,11 @@ lazy_static! {
     ).unwrap();
 }
 
-#[derive(Debug, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// Identifies the API of an endpoint
 pub struct NetworkEndpointApi(pub String);
 
-#[derive(Debug, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// Endpoint v1
 pub struct NetworkEndpointV1 {
     /// API version
@@ -66,7 +66,7 @@ pub struct NetworkEndpointV1 {
     pub last_check: u64,
 }
 
-#[derive(Debug, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// Endpoint
 pub enum NetworkEndpoint {
     /// Endpoint v1
@@ -173,7 +173,7 @@ impl NetworkEndpoint {
             _ => panic!("Endpoint version is not supported !"),
         }
     }
-    /// Parse Endpoint from rax format
+    /// Parse Endpoint from raw format
     pub fn parse_from_raw(
         raw_endpoint: &str,
         issuer: PubKey,
diff --git a/tui/Cargo.toml b/tui/Cargo.toml
index 6db7e07cd0a4c383f029526b996e39f791ab7448..3e7c9c00f52d8fac2bfa0437175a75f03c07df5b 100644
--- a/tui/Cargo.toml
+++ b/tui/Cargo.toml
@@ -16,9 +16,11 @@ duniter-documents = { path = "../documents" }
 duniter-message =  { path = "../message" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
-log = "0.4.1"
-serde_json = "1.0.20"
-termion = "1.5.1"
+log = "0.4.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
+termion = "1.5.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/tui/lib.rs b/tui/lib.rs
index 022a796f1dd0b13e7ebc1a9c13131b6a086024b0..3c3c763e2098f2e5b7d16c7e7af2c007c7b29fba 100644
--- a/tui/lib.rs
+++ b/tui/lib.rs
@@ -25,6 +25,8 @@
 
 #[macro_use]
 extern crate log;
+#[macro_use]
+extern crate serde_derive;
 
 extern crate duniter_conf;
 extern crate duniter_crypto;
@@ -33,7 +35,7 @@ extern crate duniter_documents;
 extern crate duniter_message;
 extern crate duniter_module;
 extern crate duniter_network;
-extern crate serde_json;
+extern crate serde;
 extern crate termion;
 
 use duniter_conf::DuRsConf;
@@ -53,10 +55,16 @@ use termion::input::{MouseTerminal, TermRead};
 use termion::raw::{IntoRawMode, RawTerminal};
 use termion::{clear, color, cursor, style};
 
-#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// Tui Module Configuration (For future use)
 pub struct TuiConf {}
 
+impl Default for TuiConf {
+    fn default() -> Self {
+        TuiConf {}
+    }
+}
+
 #[derive(Debug, Clone)]
 /// Format of messages received by the tui module
 pub enum TuiMess {
@@ -97,10 +105,6 @@ pub struct TuiModuleDatas {
 }
 
 impl TuiModuleDatas {
-    /// Parse tui configuration
-    fn parse_tui_conf(_json_conf: &serde_json::Value) -> TuiConf {
-        TuiConf {}
-    }
     /// Draw terminal
     fn draw_term<W: Write>(
         &self,
@@ -140,8 +144,9 @@ impl TuiModuleDatas {
         // Prepare HEADs screen
         let mut heads = heads_cache.values().collect::<Vec<&NetworkHead>>();
         heads.sort_unstable_by(|a, b| b.cmp(a));
-        let heads_index_max = if heads.len() > (h - 14) as usize {
-            heads.len() - (h - 14) as usize
+        let heads_window_size = h as isize - 8 - out_established_conns.len() as isize;
+        let heads_index_max = if heads_window_size > 0 && heads.len() > heads_window_size as usize {
+            heads.len() - heads_window_size as usize
         } else {
             0
         };
@@ -349,6 +354,8 @@ impl Default for TuiModule {
 }
 
 impl DuniterModule<DuRsConf, DuniterMessage> for TuiModule {
+    type ModuleConf = TuiConf;
+
     fn id() -> ModuleId {
         ModuleId(String::from("tui"))
     }
@@ -358,20 +365,16 @@ impl DuniterModule<DuRsConf, DuniterMessage> for TuiModule {
     fn ask_required_keys() -> RequiredKeys {
         RequiredKeys::None()
     }
-    fn default_conf() -> serde_json::Value {
-        serde_json::Value::default()
-    }
     fn start(
         _soft_meta_datas: &SoftwareMetaDatas<DuRsConf>,
         _keys: RequiredKeysContent,
-        module_conf: &serde_json::Value,
+        _conf: Self::ModuleConf,
         main_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>,
         load_conf_only: bool,
     ) -> Result<(), ModuleInitError> {
         let start_time = SystemTime::now(); //: DateTime<Utc> = Utc::now();
 
         // load conf
-        let _conf = TuiModuleDatas::parse_tui_conf(module_conf);
         if load_conf_only {
             return Ok(());
         }
diff --git a/wotb/Cargo.toml b/wotb/Cargo.toml
index fe022f517985202212d77a70f8bc9b998c32ac43..803afed1bb96dd5000fcaee3b3fe221e137c8333 100644
--- a/wotb/Cargo.toml
+++ b/wotb/Cargo.toml
@@ -12,11 +12,11 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-serde = "1.0.57"
-serde_derive = "1.0.57"
-bincode = "1.0.0"
-byteorder = "1.2.3"
-rayon = "1.0.1"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+bincode = "1.0.*"
+byteorder = "1.2.*"
+rayon = "1.0.*"
 
 [features]
 # Treat warnings as a build error.
diff --git a/ws2p/Cargo.toml b/ws2p/Cargo.toml
index e31b8194566eee57aa4bb8b8090e6b83ccd0f661..861528b1d45ffa546c45fc43a60f0909faec9afa 100644
--- a/ws2p/Cargo.toml
+++ b/ws2p/Cargo.toml
@@ -17,16 +17,16 @@ duniter-message =  { path = "../message" }
 duniter-module = { path = "../module" }
 duniter-network = { path = "../network" }
 duniter-wotb = { path = "../wotb" }
-lazy_static = "1.0.0"
-log = "0.4.1"
-rand = "0.4.2"
-regex = "0.2.6"
-rust-crypto = "0.2.36"
-sqlite = "0.23.9"
-serde = "1.0.24"
-serde_derive = "1.0.24"
-serde_json = "1.0.20"
-ws = { version = "0.7.6", features = ["permessage-deflate"] }
+lazy_static = "1.0.*"
+log = "0.4.*"
+rand = "0.4.*"
+regex = "0.2.*"
+rust-crypto = "0.2.*"
+sqlite = "0.23.*"
+serde = "1.0.*"
+serde_derive = "1.0.*"
+serde_json = "1.0.*"
+ws = { version = "0.7.*", features = ["permessage-deflate"] }
 
 [features]
 ssl = ["ws/ssl"]
diff --git a/ws2p/datas.rs b/ws2p/datas.rs
index 96aea97a0e128690ea7f4e4ebfc9ce6e7876d627..26a7855e67d71606e27026b387496edd4e6ab63a 100644
--- a/ws2p/datas.rs
+++ b/ws2p/datas.rs
@@ -21,6 +21,7 @@ use duniter_message::DuniterMessage;
 use duniter_network::network_endpoint::*;
 use duniter_network::network_head::*;
 use duniter_network::*;
+use std::collections::HashSet;
 use std::sync::mpsc;
 use *;
 
@@ -29,7 +30,8 @@ pub struct WS2PModuleDatas {
     pub followers: Vec<mpsc::Sender<DuniterMessage>>,
     pub currency: Option<String>,
     pub key_pair: Option<KeyPairEnum>,
-    pub conf: Option<WS2PConf>,
+    pub conf: WS2PConf,
+    pub node_id: NodeUUID,
     pub main_thread_channel: (
         mpsc::Sender<WS2PThreadSignal>,
         mpsc::Receiver<WS2PThreadSignal>,
@@ -56,7 +58,7 @@ impl WS2PModuleDatas {
         }
         Ok(conn)
     }
-    pub fn parse_ws2p_conf(
+    /*pub fn parse_ws2p_conf(
         duniter_conf: &DuRsConf,
         ws2p_json_conf: &serde_json::Value,
     ) -> WS2PConf {
@@ -115,10 +117,9 @@ impl WS2PModuleDatas {
         };
         WS2PConf {
             outcoming_quota: *WS2P_DEFAULT_OUTCOMING_QUOTA,
-            node_id: NodeUUID(duniter_conf.my_node_id()),
             sync_endpoints,
         }
-    }
+    }*/
     pub fn send_dal_request(&self, req: &DALRequest) {
         for follower in &self.followers {
             if follower
@@ -191,22 +192,29 @@ impl WS2PModuleDatas {
     pub fn connect_to_know_endpoints(&mut self) -> () {
         info!("WS2P: connect to know endpoints...");
         let mut count_established_connections = 0;
+        let mut pubkeys = HashSet::new();
         let mut reachable_endpoints = Vec::new();
         let mut unreachable_endpoints = Vec::new();
         for (_ws2p_full_id, (ep, state)) in self.ws2p_endpoints.clone() {
-            match state {
-                WS2PConnectionState::Established => count_established_connections += 1,
-                WS2PConnectionState::NeverTry
-                | WS2PConnectionState::Close
-                | WS2PConnectionState::Denial => reachable_endpoints.push(ep),
-                _ => unreachable_endpoints.push(ep),
+            if ep.pubkey() == self.key_pair.unwrap().public_key() || !pubkeys.contains(&ep.pubkey())
+            {
+                match state {
+                    WS2PConnectionState::Established => count_established_connections += 1,
+                    WS2PConnectionState::NeverTry
+                    | WS2PConnectionState::Close
+                    | WS2PConnectionState::Denial => {
+                        pubkeys.insert(ep.pubkey());
+                        reachable_endpoints.push(ep);
+                    }
+                    _ => {
+                        pubkeys.insert(ep.pubkey());
+                        unreachable_endpoints.push(ep);
+                    }
+                }
             }
         }
-        let mut free_outcoming_rooms = self
-            .conf
-            .clone()
-            .expect("WS2P: Fail to get conf !")
-            .outcoming_quota - count_established_connections;
+        let mut free_outcoming_rooms =
+            self.conf.clone().outcoming_quota - count_established_connections;
         while free_outcoming_rooms > 0 {
             let ep = if !reachable_endpoints.is_empty() {
                 reachable_endpoints
@@ -251,12 +259,7 @@ impl WS2PModuleDatas {
                 );
             }
         };
-        if self
-            .conf
-            .clone()
-            .expect("WS2P: Fail to get conf !")
-            .outcoming_quota > self.count_established_connections()
-        {
+        if self.conf.clone().outcoming_quota > self.count_established_connections() {
             self.connect_to_without_checking_quotas(&endpoint);
         }
     }
diff --git a/ws2p/heads.rs b/ws2p/heads.rs
index 1ed46725874a89d572587b7aa101e0072a3a05a7..5528e630d4b596cd2eb6f003cc0c853fb49db2bd 100644
--- a/ws2p/heads.rs
+++ b/ws2p/heads.rs
@@ -19,7 +19,7 @@ use *;
 
 pub fn generate_my_head(
     network_keypair: &KeyPairEnum,
-    conf: &WS2PConf,
+    node_id: NodeUUID,
     soft_name: &str,
     soft_version: &str,
     my_current_blockstamp: &Blockstamp,
@@ -30,7 +30,7 @@ pub fn generate_my_head(
         version: 1,
         pubkey: network_keypair.public_key(),
         blockstamp: *my_current_blockstamp,
-        node_uuid: conf.node_id,
+        node_uuid: node_id,
         software: String::from(soft_name),
         soft_version: String::from(soft_version),
         prefix: 1,
@@ -42,7 +42,7 @@ pub fn generate_my_head(
         version: 2,
         pubkey: network_keypair.public_key(),
         blockstamp: *my_current_blockstamp,
-        node_uuid: conf.node_id,
+        node_uuid: node_id,
         software: String::from(soft_name),
         soft_version: String::from(soft_version),
         prefix: 1,
diff --git a/ws2p/lib.rs b/ws2p/lib.rs
index 277934e848a7c82fa127f2a7b3ee8ba110a6e9c4..a959e8501f890ff630f85adb8e6944d94d528b75 100644
--- a/ws2p/lib.rs
+++ b/ws2p/lib.rs
@@ -25,10 +25,10 @@
 
 #[macro_use]
 extern crate lazy_static;
-
 #[macro_use]
 extern crate log;
-
+#[macro_use]
+extern crate serde_derive;
 #[macro_use]
 extern crate serde_json;
 
@@ -81,17 +81,45 @@ use ws::Message;
 use ws2p_connection::*;
 use ws2p_requests::network_request_to_json;
 
-#[derive(Debug, Clone, PartialEq, Eq, Hash)]
+#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
 /// WS2P Configuration
 pub struct WS2PConf {
-    /// Node unique identifier
-    pub node_id: NodeUUID,
     /// Limit of outcoming connections
     pub outcoming_quota: usize,
     /// Default WS2P endpoints provides by configuration file
     pub sync_endpoints: Vec<NetworkEndpoint>,
 }
 
+impl Default for WS2PConf {
+    fn default() -> Self {
+        WS2PConf {
+            outcoming_quota: *WS2P_DEFAULT_OUTCOMING_QUOTA,
+            sync_endpoints: vec![
+                NetworkEndpoint::parse_from_raw(
+                    "WS2P c1c39a0a g1-monit.librelois.fr 443 /ws2p",
+                    PubKey::Ed25519(
+                        ed25519::PublicKey::from_base58(
+                            "D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx",
+                        ).unwrap(),
+                    ),
+                    0,
+                    0,
+                ).unwrap(),
+                NetworkEndpoint::parse_from_raw(
+                    "WS2P b48824f0 g1.monnaielibreoccitanie.org 443 /ws2p",
+                    PubKey::Ed25519(
+                        ed25519::PublicKey::from_base58(
+                            "7v2J4badvfWQ6qwRdCwhhJfAsmKwoxRUNpJHiJHj7zef",
+                        ).unwrap(),
+                    ),
+                    0,
+                    0,
+                ).unwrap(),
+            ],
+        }
+    }
+}
+
 #[derive(Debug)]
 /// Store a Signal receive from network (after message treatment)
 pub enum WS2PSignal {
@@ -151,7 +179,7 @@ impl NetworkModule<DuRsConf, DuniterMessage> for WS2PModule {
     fn sync(
         _soft_meta_datas: &SoftwareMetaDatas<DuRsConf>,
         _keys: RequiredKeysContent,
-        _module_conf: &serde_json::Value,
+        _conf: WS2PConf,
         _main_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>,
         _sync_endpoint: SyncEndpoint,
     ) -> Result<(), ModuleInitError> {
@@ -162,6 +190,8 @@ impl NetworkModule<DuRsConf, DuniterMessage> for WS2PModule {
 }
 
 impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
+    type ModuleConf = WS2PConf;
+
     fn id() -> ModuleId {
         ModuleId(String::from("ws2p"))
     }
@@ -171,7 +201,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
     fn ask_required_keys() -> RequiredKeys {
         RequiredKeys::NetworkKeyPair()
     }
-    fn default_conf() -> serde_json::Value {
+    /*fn default_conf() -> serde_json::Value {
         json!({
             "sync_peers": [{
                 "pubkey": "D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx",
@@ -181,11 +211,11 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
                 "ws2p_endpoints": ["WS2P b48824f0 g1.monnaielibreoccitanie.org 80 /ws2p"]
             }]
         })
-    }
+    }*/
     fn start(
         soft_meta_datas: &SoftwareMetaDatas<DuRsConf>,
         keys: RequiredKeysContent,
-        module_conf: &serde_json::Value,
+        conf: WS2PConf,
         rooter_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>,
         load_conf_only: bool,
     ) -> Result<(), ModuleInitError> {
@@ -194,7 +224,8 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
             followers: Vec::new(),
             key_pair: None,
             currency: None,
-            conf: None,
+            conf,
+            node_id: NodeUUID(soft_meta_datas.conf.my_node_id()),
             main_thread_channel: mpsc::channel(),
             ws2p_endpoints: HashMap::new(),
             websockets: HashMap::new(),
@@ -209,9 +240,8 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
             RequiredKeysContent::NetworkKeyPair(key_pair) => key_pair,
             _ => panic!("WS2PModule fatal error at load_conf() : keys != NetworkKeyPair"),
         };
-        let conf = WS2PModuleDatas::parse_ws2p_conf(&soft_meta_datas.conf, module_conf);
         let mut ws2p_endpoints = HashMap::new();
-        for ep in conf.sync_endpoints.clone() {
+        for ep in ws2p_module.conf.sync_endpoints.clone() {
             ws2p_endpoints.insert(
                 ep.node_full_id()
                     .expect("Fail to get endpoint node_full_id"),
@@ -221,7 +251,6 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
         }
         ws2p_module.key_pair = Some(key_pair);
         ws2p_module.currency = Some(soft_meta_datas.conf.currency().to_string());
-        ws2p_module.conf = Some(conf.clone());
         ws2p_module.ws2p_endpoints = ws2p_endpoints;
 
         // Create ws2p main thread channel
@@ -326,7 +355,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
                                         if ws2p_module.my_head.is_none() {
                                             ws2p_module.my_head = Some(heads::generate_my_head(
                                                 &key_pair,
-                                                &conf.clone(),
+                                                NodeUUID(soft_meta_datas.conf.my_node_id()),
                                                 soft_meta_datas.soft_name,
                                                 soft_meta_datas.soft_version,
                                                 &current_blockstamp,
@@ -412,7 +441,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
                                     );
                                     ws2p_module.my_head = Some(heads::generate_my_head(
                                         &key_pair,
-                                        &conf.clone(),
+                                        NodeUUID(soft_meta_datas.conf.my_node_id()),
                                         soft_meta_datas.soft_name,
                                         soft_meta_datas.soft_version,
                                         &current_blockstamp,
@@ -465,7 +494,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
                                                 ws2p_module.my_head =
                                                     Some(heads::generate_my_head(
                                                         &key_pair,
-                                                        &conf.clone(),
+                                                        NodeUUID(soft_meta_datas.conf.my_node_id()),
                                                         soft_meta_datas.soft_name,
                                                         soft_meta_datas.soft_version,
                                                         &current_blockstamp,
@@ -788,7 +817,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule {
                     current_blockstamp
                 );
                 // New WS2P connection wave
-                if connected_nodes.len() < ws2p_module.conf.clone().unwrap().outcoming_quota
+                if connected_nodes.len() < ws2p_module.conf.clone().outcoming_quota
                     && (SystemTime::now()
                         .duration_since(last_ws2p_connecting_wave)
                         .unwrap()