diff --git a/doc/Makefile b/doc/Makefile
index 6ccc572f2c3ff5e176dbb627e6f4d81ac93d29f6..84fe24e0c2ff208fe926a35671c85013a3d3411b 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -13,13 +13,13 @@ all: diagrams logbook.md rapport.md rapport.pdf
 logbook.md: logbook.gpp.md markdown.gpp gitlab-markdown.gpp $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
 	$(GPP) -DGITLAB_MARKDOWN -DSTANDALONE_LOGBOOK $< | ./trimstart.py > $@
 
-rapport.md: rapport.gpp.md logbook.gpp.md markdown.gpp gitlab-markdown.gpp $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
+rapport.md: rapport.gpp.md logbook.gpp.md markdown.gpp gitlab-markdown.gpp csv2barchart.py $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
 	$(GPP) -DGITLAB_MARKDOWN $< | ./trimstart.py > $@
 
-rapport.tex: rapport.gpp.md diagrams markdown.gpp pandoc-pdf-markdown.gpp logbook.gpp.md $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
+rapport.tex: rapport.gpp.md diagrams markdown.gpp pandoc-pdf-markdown.gpp logbook.gpp.md csv2barchart.py $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
 	$(GPP) -DPANDOC_PDF $< | ./trimstart.py | pandoc --standalone --pdf-engine=xelatex -o $@
 
-rapport.pdf: rapport.gpp.md markdown.gpp pandoc-pdf-markdown.gpp logbook.gpp.md $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
+rapport.pdf: rapport.gpp.md markdown.gpp pandoc-pdf-markdown.gpp logbook.gpp.md csv2barchart.py $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
 	$(GPP) -DPANDOC_PDF $< | ./trimstart.py | pandoc --pdf-engine=xelatex -o $@
 
 diagrams: $(PLANTUML_DIAGRAMS_SVG) $(PLANTUML_DIAGRAMS_PNG)
diff --git a/doc/charts/chart_protocols.png b/doc/charts/chart_protocols.png
index d108de15820ea1103558812f7142244a981e754c..faa58d48a275b232c4b9ff05154efb1513f21fcc 100644
--- a/doc/charts/chart_protocols.png
+++ b/doc/charts/chart_protocols.png
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6562672f98e6fa7ce49b2c3bddc6109e26de7ce653b87143d5b92363cd402446
-size 6780
+oid sha256:4f82714654270eab161f52c3b4db660ee479ad6b10d89f40f3403237ed8a3462
+size 13057
diff --git a/doc/charts/chart_protocols.svg b/doc/charts/chart_protocols.svg
index 602f1856d090de25ed0bf86e2c3a1bedb78aba55..60f35fb9f3e261e1156f8b5ab0124c13e12c0de6 100644
--- a/doc/charts/chart_protocols.svg
+++ b/doc/charts/chart_protocols.svg
@@ -26,28 +26,473 @@ L 57.6 41.472
 z
 " style="fill:#ffffff;"/>
    </g>
-   <g id="matplotlib.axis_1"/>
-   <g id="matplotlib.axis_2">
-    <g id="ytick_1">
+   <g id="patch_3">
+    <path clip-path="url(#p856b1a0351)" d="M 73.832727 307.584 
+L 118.612665 307.584 
+L 118.612665 239.654482 
+L 73.832727 239.654482 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="patch_4">
+    <path clip-path="url(#p856b1a0351)" d="M 129.807649 307.584 
+L 174.587586 307.584 
+L 174.587586 239.619557 
+L 129.807649 239.619557 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="patch_5">
+    <path clip-path="url(#p856b1a0351)" d="M 185.782571 307.584 
+L 230.562508 307.584 
+L 230.562508 239.460802 
+L 185.782571 239.460802 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="patch_6">
+    <path clip-path="url(#p856b1a0351)" d="M 241.757492 307.584 
+L 286.537429 307.584 
+L 286.537429 239.309986 
+L 241.757492 239.309986 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="patch_7">
+    <path clip-path="url(#p856b1a0351)" d="M 297.732414 307.584 
+L 342.512351 307.584 
+L 342.512351 238.092113 
+L 297.732414 238.092113 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="patch_8">
+    <path clip-path="url(#p856b1a0351)" d="M 353.707335 307.584 
+L 398.487273 307.584 
+L 398.487273 54.144 
+L 353.707335 54.144 
+z
+" style="fill:#1f77b4;"/>
+   </g>
+   <g id="matplotlib.axis_1">
+    <g id="xtick_1">
      <g id="line2d_1">
       <defs>
        <path d="M 0 0 
-L -3.5 0 
-" id="mbf7378a3ce" style="stroke:#000000;stroke-width:0.8;"/>
+L 0 3.5 
+" id="md5103334fd" style="stroke:#000000;stroke-width:0.8;"/>
       </defs>
       <g>
-       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbf7378a3ce" y="271.296"/>
+       <use style="stroke:#000000;stroke-width:0.8;" x="96.222696" xlink:href="#md5103334fd" y="307.584"/>
       </g>
      </g>
      <g id="text_1">
-      <!-- −0.04 -->
+      <!-- SCP -->
       <defs>
-       <path d="M 10.59375 35.5 
-L 73.1875 35.5 
-L 73.1875 27.203125 
-L 10.59375 27.203125 
+       <path d="M 53.515625 70.515625 
+L 53.515625 60.890625 
+Q 47.90625 63.578125 42.921875 64.890625 
+Q 37.9375 66.21875 33.296875 66.21875 
+Q 25.25 66.21875 20.875 63.09375 
+Q 16.5 59.96875 16.5 54.203125 
+Q 16.5 49.359375 19.40625 46.890625 
+Q 22.3125 44.4375 30.421875 42.921875 
+L 36.375 41.703125 
+Q 47.40625 39.59375 52.65625 34.296875 
+Q 57.90625 29 57.90625 20.125 
+Q 57.90625 9.515625 50.796875 4.046875 
+Q 43.703125 -1.421875 29.984375 -1.421875 
+Q 24.8125 -1.421875 18.96875 -0.25 
+Q 13.140625 0.921875 6.890625 3.21875 
+L 6.890625 13.375 
+Q 12.890625 10.015625 18.65625 8.296875 
+Q 24.421875 6.59375 29.984375 6.59375 
+Q 38.421875 6.59375 43.015625 9.90625 
+Q 47.609375 13.234375 47.609375 19.390625 
+Q 47.609375 24.75 44.3125 27.78125 
+Q 41.015625 30.8125 33.5 32.328125 
+L 27.484375 33.5 
+Q 16.453125 35.6875 11.515625 40.375 
+Q 6.59375 45.0625 6.59375 53.421875 
+Q 6.59375 63.09375 13.40625 68.65625 
+Q 20.21875 74.21875 32.171875 74.21875 
+Q 37.3125 74.21875 42.625 73.28125 
+Q 47.953125 72.359375 53.515625 70.515625 
 z
-" id="DejaVuSans-8722"/>
+" id="DejaVuSans-83"/>
+       <path d="M 64.40625 67.28125 
+L 64.40625 56.890625 
+Q 59.421875 61.53125 53.78125 63.8125 
+Q 48.140625 66.109375 41.796875 66.109375 
+Q 29.296875 66.109375 22.65625 58.46875 
+Q 16.015625 50.828125 16.015625 36.375 
+Q 16.015625 21.96875 22.65625 14.328125 
+Q 29.296875 6.6875 41.796875 6.6875 
+Q 48.140625 6.6875 53.78125 8.984375 
+Q 59.421875 11.28125 64.40625 15.921875 
+L 64.40625 5.609375 
+Q 59.234375 2.09375 53.4375 0.328125 
+Q 47.65625 -1.421875 41.21875 -1.421875 
+Q 24.65625 -1.421875 15.125 8.703125 
+Q 5.609375 18.84375 5.609375 36.375 
+Q 5.609375 53.953125 15.125 64.078125 
+Q 24.65625 74.21875 41.21875 74.21875 
+Q 47.75 74.21875 53.53125 72.484375 
+Q 59.328125 70.75 64.40625 67.28125 
+z
+" id="DejaVuSans-67"/>
+       <path d="M 19.671875 64.796875 
+L 19.671875 37.40625 
+L 32.078125 37.40625 
+Q 38.96875 37.40625 42.71875 40.96875 
+Q 46.484375 44.53125 46.484375 51.125 
+Q 46.484375 57.671875 42.71875 61.234375 
+Q 38.96875 64.796875 32.078125 64.796875 
+z
+M 9.8125 72.90625 
+L 32.078125 72.90625 
+Q 44.34375 72.90625 50.609375 67.359375 
+Q 56.890625 61.8125 56.890625 51.125 
+Q 56.890625 40.328125 50.609375 34.8125 
+Q 44.34375 29.296875 32.078125 29.296875 
+L 19.671875 29.296875 
+L 19.671875 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-80"/>
+      </defs>
+      <g transform="translate(86.542227 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-83"/>
+       <use x="63.476562" xlink:href="#DejaVuSans-67"/>
+       <use x="133.300781" xlink:href="#DejaVuSans-80"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_2">
+     <g id="line2d_2">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="152.197618" xlink:href="#md5103334fd" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_2">
+      <!-- HTTP -->
+      <defs>
+       <path d="M 9.8125 72.90625 
+L 19.671875 72.90625 
+L 19.671875 43.015625 
+L 55.515625 43.015625 
+L 55.515625 72.90625 
+L 65.375 72.90625 
+L 65.375 0 
+L 55.515625 0 
+L 55.515625 34.71875 
+L 19.671875 34.71875 
+L 19.671875 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-72"/>
+       <path d="M -0.296875 72.90625 
+L 61.375 72.90625 
+L 61.375 64.59375 
+L 35.5 64.59375 
+L 35.5 0 
+L 25.59375 0 
+L 25.59375 64.59375 
+L -0.296875 64.59375 
+z
+" id="DejaVuSans-84"/>
+      </defs>
+      <g transform="translate(139.402305 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-72"/>
+       <use x="75.195312" xlink:href="#DejaVuSans-84"/>
+       <use x="134.529297" xlink:href="#DejaVuSans-84"/>
+       <use x="195.613281" xlink:href="#DejaVuSans-80"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_3">
+     <g id="line2d_3">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="208.172539" xlink:href="#md5103334fd" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_3">
+      <!-- FTP -->
+      <defs>
+       <path d="M 9.8125 72.90625 
+L 51.703125 72.90625 
+L 51.703125 64.59375 
+L 19.671875 64.59375 
+L 19.671875 43.109375 
+L 48.578125 43.109375 
+L 48.578125 34.8125 
+L 19.671875 34.8125 
+L 19.671875 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-70"/>
+      </defs>
+      <g transform="translate(199.315508 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-70"/>
+       <use x="55.769531" xlink:href="#DejaVuSans-84"/>
+       <use x="116.853516" xlink:href="#DejaVuSans-80"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_4">
+     <g id="line2d_4">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="264.147461" xlink:href="#md5103334fd" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_4">
+      <!-- NFS -->
+      <defs>
+       <path d="M 9.8125 72.90625 
+L 23.09375 72.90625 
+L 55.421875 11.921875 
+L 55.421875 72.90625 
+L 64.984375 72.90625 
+L 64.984375 0 
+L 51.703125 0 
+L 19.390625 60.984375 
+L 19.390625 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-78"/>
+      </defs>
+      <g transform="translate(254.444336 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-78"/>
+       <use x="74.804688" xlink:href="#DejaVuSans-70"/>
+       <use x="130.574219" xlink:href="#DejaVuSans-83"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_5">
+     <g id="line2d_5">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="320.122382" xlink:href="#md5103334fd" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_5">
+      <!-- SMB -->
+      <defs>
+       <path d="M 9.8125 72.90625 
+L 24.515625 72.90625 
+L 43.109375 23.296875 
+L 61.8125 72.90625 
+L 76.515625 72.90625 
+L 76.515625 0 
+L 66.890625 0 
+L 66.890625 64.015625 
+L 48.09375 14.015625 
+L 38.1875 14.015625 
+L 19.390625 64.015625 
+L 19.390625 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-77"/>
+       <path d="M 19.671875 34.8125 
+L 19.671875 8.109375 
+L 35.5 8.109375 
+Q 43.453125 8.109375 47.28125 11.40625 
+Q 51.125 14.703125 51.125 21.484375 
+Q 51.125 28.328125 47.28125 31.5625 
+Q 43.453125 34.8125 35.5 34.8125 
+z
+M 19.671875 64.796875 
+L 19.671875 42.828125 
+L 34.28125 42.828125 
+Q 41.5 42.828125 45.03125 45.53125 
+Q 48.578125 48.25 48.578125 53.8125 
+Q 48.578125 59.328125 45.03125 62.0625 
+Q 41.5 64.796875 34.28125 64.796875 
+z
+M 9.8125 72.90625 
+L 35.015625 72.90625 
+Q 46.296875 72.90625 52.390625 68.21875 
+Q 58.5 63.53125 58.5 54.890625 
+Q 58.5 48.1875 55.375 44.234375 
+Q 52.25 40.28125 46.1875 39.3125 
+Q 53.46875 37.75 57.5 32.78125 
+Q 61.53125 27.828125 61.53125 20.40625 
+Q 61.53125 10.640625 54.890625 5.3125 
+Q 48.25 0 35.984375 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-66"/>
+      </defs>
+      <g transform="translate(309.203632 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-83"/>
+       <use x="63.476562" xlink:href="#DejaVuSans-77"/>
+       <use x="149.755859" xlink:href="#DejaVuSans-66"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_6">
+     <g id="line2d_6">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="376.097304" xlink:href="#md5103334fd" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_6">
+      <!-- IPFS -->
+      <defs>
+       <path d="M 9.8125 72.90625 
+L 19.671875 72.90625 
+L 19.671875 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-73"/>
+      </defs>
+      <g transform="translate(365.64496 322.182437)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-73"/>
+       <use x="29.492188" xlink:href="#DejaVuSans-80"/>
+       <use x="89.794922" xlink:href="#DejaVuSans-70"/>
+       <use x="145.564453" xlink:href="#DejaVuSans-83"/>
+      </g>
+     </g>
+    </g>
+    <g id="text_7">
+     <!-- Protocole -->
+     <defs>
+      <path d="M 41.109375 46.296875 
+Q 39.59375 47.171875 37.8125 47.578125 
+Q 36.03125 48 33.890625 48 
+Q 26.265625 48 22.1875 43.046875 
+Q 18.109375 38.09375 18.109375 28.8125 
+L 18.109375 0 
+L 9.078125 0 
+L 9.078125 54.6875 
+L 18.109375 54.6875 
+L 18.109375 46.1875 
+Q 20.953125 51.171875 25.484375 53.578125 
+Q 30.03125 56 36.53125 56 
+Q 37.453125 56 38.578125 55.875 
+Q 39.703125 55.765625 41.0625 55.515625 
+z
+" id="DejaVuSans-114"/>
+      <path d="M 30.609375 48.390625 
+Q 23.390625 48.390625 19.1875 42.75 
+Q 14.984375 37.109375 14.984375 27.296875 
+Q 14.984375 17.484375 19.15625 11.84375 
+Q 23.34375 6.203125 30.609375 6.203125 
+Q 37.796875 6.203125 41.984375 11.859375 
+Q 46.1875 17.53125 46.1875 27.296875 
+Q 46.1875 37.015625 41.984375 42.703125 
+Q 37.796875 48.390625 30.609375 48.390625 
+z
+M 30.609375 56 
+Q 42.328125 56 49.015625 48.375 
+Q 55.71875 40.765625 55.71875 27.296875 
+Q 55.71875 13.875 49.015625 6.21875 
+Q 42.328125 -1.421875 30.609375 -1.421875 
+Q 18.84375 -1.421875 12.171875 6.21875 
+Q 5.515625 13.875 5.515625 27.296875 
+Q 5.515625 40.765625 12.171875 48.375 
+Q 18.84375 56 30.609375 56 
+z
+" id="DejaVuSans-111"/>
+      <path d="M 18.3125 70.21875 
+L 18.3125 54.6875 
+L 36.8125 54.6875 
+L 36.8125 47.703125 
+L 18.3125 47.703125 
+L 18.3125 18.015625 
+Q 18.3125 11.328125 20.140625 9.421875 
+Q 21.96875 7.515625 27.59375 7.515625 
+L 36.8125 7.515625 
+L 36.8125 0 
+L 27.59375 0 
+Q 17.1875 0 13.234375 3.875 
+Q 9.28125 7.765625 9.28125 18.015625 
+L 9.28125 47.703125 
+L 2.6875 47.703125 
+L 2.6875 54.6875 
+L 9.28125 54.6875 
+L 9.28125 70.21875 
+z
+" id="DejaVuSans-116"/>
+      <path d="M 48.78125 52.59375 
+L 48.78125 44.1875 
+Q 44.96875 46.296875 41.140625 47.34375 
+Q 37.3125 48.390625 33.40625 48.390625 
+Q 24.65625 48.390625 19.8125 42.84375 
+Q 14.984375 37.3125 14.984375 27.296875 
+Q 14.984375 17.28125 19.8125 11.734375 
+Q 24.65625 6.203125 33.40625 6.203125 
+Q 37.3125 6.203125 41.140625 7.25 
+Q 44.96875 8.296875 48.78125 10.40625 
+L 48.78125 2.09375 
+Q 45.015625 0.34375 40.984375 -0.53125 
+Q 36.96875 -1.421875 32.421875 -1.421875 
+Q 20.0625 -1.421875 12.78125 6.34375 
+Q 5.515625 14.109375 5.515625 27.296875 
+Q 5.515625 40.671875 12.859375 48.328125 
+Q 20.21875 56 33.015625 56 
+Q 37.15625 56 41.109375 55.140625 
+Q 45.0625 54.296875 48.78125 52.59375 
+z
+" id="DejaVuSans-99"/>
+      <path d="M 9.421875 75.984375 
+L 18.40625 75.984375 
+L 18.40625 0 
+L 9.421875 0 
+z
+" id="DejaVuSans-108"/>
+      <path d="M 56.203125 29.59375 
+L 56.203125 25.203125 
+L 14.890625 25.203125 
+Q 15.484375 15.921875 20.484375 11.0625 
+Q 25.484375 6.203125 34.421875 6.203125 
+Q 39.59375 6.203125 44.453125 7.46875 
+Q 49.3125 8.734375 54.109375 11.28125 
+L 54.109375 2.78125 
+Q 49.265625 0.734375 44.1875 -0.34375 
+Q 39.109375 -1.421875 33.890625 -1.421875 
+Q 20.796875 -1.421875 13.15625 6.1875 
+Q 5.515625 13.8125 5.515625 26.8125 
+Q 5.515625 40.234375 12.765625 48.109375 
+Q 20.015625 56 32.328125 56 
+Q 43.359375 56 49.78125 48.890625 
+Q 56.203125 41.796875 56.203125 29.59375 
+z
+M 47.21875 32.234375 
+Q 47.125 39.59375 43.09375 43.984375 
+Q 39.0625 48.390625 32.421875 48.390625 
+Q 24.90625 48.390625 20.390625 44.140625 
+Q 15.875 39.890625 15.1875 32.171875 
+z
+" id="DejaVuSans-101"/>
+     </defs>
+     <g transform="translate(212.936562 335.860562)scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-80"/>
+      <use x="58.552734" xlink:href="#DejaVuSans-114"/>
+      <use x="97.416016" xlink:href="#DejaVuSans-111"/>
+      <use x="158.597656" xlink:href="#DejaVuSans-116"/>
+      <use x="197.806641" xlink:href="#DejaVuSans-111"/>
+      <use x="258.988281" xlink:href="#DejaVuSans-99"/>
+      <use x="313.96875" xlink:href="#DejaVuSans-111"/>
+      <use x="375.150391" xlink:href="#DejaVuSans-108"/>
+      <use x="402.933594" xlink:href="#DejaVuSans-101"/>
+     </g>
+    </g>
+   </g>
+   <g id="matplotlib.axis_2">
+    <g id="ytick_1">
+     <g id="line2d_7">
+      <defs>
+       <path d="M 0 0 
+L -3.5 0 
+" id="m55064f1dc7" style="stroke:#000000;stroke-width:0.8;"/>
+      </defs>
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m55064f1dc7" y="307.584"/>
+      </g>
+     </g>
+     <g id="text_8">
+      <!-- 0 -->
+      <defs>
        <path d="M 31.78125 66.40625 
 Q 24.171875 66.40625 20.328125 58.90625 
 Q 16.5 51.421875 16.5 36.375 
@@ -69,47 +514,50 @@ Q 6.59375 54.828125 13.0625 64.515625
 Q 19.53125 74.21875 31.78125 74.21875 
 z
 " id="DejaVuSans-48"/>
-       <path d="M 10.6875 12.40625 
-L 21 12.40625 
-L 21 0 
-L 10.6875 0 
-z
-" id="DejaVuSans-46"/>
-       <path d="M 37.796875 64.3125 
-L 12.890625 25.390625 
-L 37.796875 25.390625 
-z
-M 35.203125 72.90625 
-L 47.609375 72.90625 
-L 47.609375 25.390625 
-L 58.015625 25.390625 
-L 58.015625 17.1875 
-L 47.609375 17.1875 
-L 47.609375 0 
-L 37.796875 0 
-L 37.796875 17.1875 
-L 4.890625 17.1875 
-L 4.890625 26.703125 
-z
-" id="DejaVuSans-52"/>
       </defs>
-      <g transform="translate(19.954687 275.095219)scale(0.1 -0.1)">
-       <use xlink:href="#DejaVuSans-8722"/>
-       <use x="83.789062" xlink:href="#DejaVuSans-48"/>
-       <use x="147.412109" xlink:href="#DejaVuSans-46"/>
-       <use x="179.199219" xlink:href="#DejaVuSans-48"/>
-       <use x="242.822266" xlink:href="#DejaVuSans-52"/>
+      <g transform="translate(44.2375 311.383219)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
     <g id="ytick_2">
-     <g id="line2d_2">
+     <g id="line2d_8">
       <g>
-       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbf7378a3ce" y="222.912"/>
+       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m55064f1dc7" y="250.886013"/>
       </g>
      </g>
-     <g id="text_2">
-      <!-- −0.02 -->
+     <g id="text_9">
+      <!-- 100 -->
+      <defs>
+       <path d="M 12.40625 8.296875 
+L 28.515625 8.296875 
+L 28.515625 63.921875 
+L 10.984375 60.40625 
+L 10.984375 69.390625 
+L 28.421875 72.90625 
+L 38.28125 72.90625 
+L 38.28125 8.296875 
+L 54.390625 8.296875 
+L 54.390625 0 
+L 12.40625 0 
+z
+" id="DejaVuSans-49"/>
+      </defs>
+      <g transform="translate(31.5125 254.685232)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-49"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
+       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_3">
+     <g id="line2d_9">
+      <g>
+       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m55064f1dc7" y="194.188027"/>
+      </g>
+     </g>
+     <g id="text_10">
+      <!-- 200 -->
       <defs>
        <path d="M 19.1875 8.296875 
 L 53.609375 8.296875 
@@ -136,84 +584,314 @@ Q 31.109375 20.453125 19.1875 8.296875
 z
 " id="DejaVuSans-50"/>
       </defs>
-      <g transform="translate(19.954687 226.711219)scale(0.1 -0.1)">
-       <use xlink:href="#DejaVuSans-8722"/>
-       <use x="83.789062" xlink:href="#DejaVuSans-48"/>
-       <use x="147.412109" xlink:href="#DejaVuSans-46"/>
-       <use x="179.199219" xlink:href="#DejaVuSans-48"/>
-       <use x="242.822266" xlink:href="#DejaVuSans-50"/>
-      </g>
-     </g>
-    </g>
-    <g id="ytick_3">
-     <g id="line2d_3">
-      <g>
-       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbf7378a3ce" y="174.528"/>
-      </g>
-     </g>
-     <g id="text_3">
-      <!-- 0.00 -->
-      <g transform="translate(28.334375 178.327219)scale(0.1 -0.1)">
-       <use xlink:href="#DejaVuSans-48"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-46"/>
-       <use x="95.410156" xlink:href="#DejaVuSans-48"/>
-       <use x="159.033203" xlink:href="#DejaVuSans-48"/>
+      <g transform="translate(31.5125 197.987246)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-50"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
+       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
     <g id="ytick_4">
-     <g id="line2d_4">
+     <g id="line2d_10">
       <g>
-       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbf7378a3ce" y="126.144"/>
+       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m55064f1dc7" y="137.49004"/>
       </g>
      </g>
-     <g id="text_4">
-      <!-- 0.02 -->
-      <g transform="translate(28.334375 129.943219)scale(0.1 -0.1)">
-       <use xlink:href="#DejaVuSans-48"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-46"/>
-       <use x="95.410156" xlink:href="#DejaVuSans-48"/>
-       <use x="159.033203" xlink:href="#DejaVuSans-50"/>
+     <g id="text_11">
+      <!-- 300 -->
+      <defs>
+       <path d="M 40.578125 39.3125 
+Q 47.65625 37.796875 51.625 33 
+Q 55.609375 28.21875 55.609375 21.1875 
+Q 55.609375 10.40625 48.1875 4.484375 
+Q 40.765625 -1.421875 27.09375 -1.421875 
+Q 22.515625 -1.421875 17.65625 -0.515625 
+Q 12.796875 0.390625 7.625 2.203125 
+L 7.625 11.71875 
+Q 11.71875 9.328125 16.59375 8.109375 
+Q 21.484375 6.890625 26.8125 6.890625 
+Q 36.078125 6.890625 40.9375 10.546875 
+Q 45.796875 14.203125 45.796875 21.1875 
+Q 45.796875 27.640625 41.28125 31.265625 
+Q 36.765625 34.90625 28.71875 34.90625 
+L 20.21875 34.90625 
+L 20.21875 43.015625 
+L 29.109375 43.015625 
+Q 36.375 43.015625 40.234375 45.921875 
+Q 44.09375 48.828125 44.09375 54.296875 
+Q 44.09375 59.90625 40.109375 62.90625 
+Q 36.140625 65.921875 28.71875 65.921875 
+Q 24.65625 65.921875 20.015625 65.03125 
+Q 15.375 64.15625 9.8125 62.3125 
+L 9.8125 71.09375 
+Q 15.4375 72.65625 20.34375 73.4375 
+Q 25.25 74.21875 29.59375 74.21875 
+Q 40.828125 74.21875 47.359375 69.109375 
+Q 53.90625 64.015625 53.90625 55.328125 
+Q 53.90625 49.265625 50.4375 45.09375 
+Q 46.96875 40.921875 40.578125 39.3125 
+z
+" id="DejaVuSans-51"/>
+      </defs>
+      <g transform="translate(31.5125 141.289259)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-51"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
+       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
     <g id="ytick_5">
-     <g id="line2d_5">
+     <g id="line2d_11">
       <g>
-       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#mbf7378a3ce" y="77.76"/>
+       <use style="stroke:#000000;stroke-width:0.8;" x="57.6" xlink:href="#m55064f1dc7" y="80.792054"/>
       </g>
      </g>
-     <g id="text_5">
-      <!-- 0.04 -->
-      <g transform="translate(28.334375 81.559219)scale(0.1 -0.1)">
-       <use xlink:href="#DejaVuSans-48"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-46"/>
-       <use x="95.410156" xlink:href="#DejaVuSans-48"/>
-       <use x="159.033203" xlink:href="#DejaVuSans-52"/>
+     <g id="text_12">
+      <!-- 400 -->
+      <defs>
+       <path d="M 37.796875 64.3125 
+L 12.890625 25.390625 
+L 37.796875 25.390625 
+z
+M 35.203125 72.90625 
+L 47.609375 72.90625 
+L 47.609375 25.390625 
+L 58.015625 25.390625 
+L 58.015625 17.1875 
+L 47.609375 17.1875 
+L 47.609375 0 
+L 37.796875 0 
+L 37.796875 17.1875 
+L 4.890625 17.1875 
+L 4.890625 26.703125 
+z
+" id="DejaVuSans-52"/>
+      </defs>
+      <g transform="translate(31.5125 84.591272)scale(0.1 -0.1)">
+       <use xlink:href="#DejaVuSans-52"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
+       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
+    <g id="text_13">
+     <!-- Durée (secondes) -->
+     <defs>
+      <path d="M 19.671875 64.796875 
+L 19.671875 8.109375 
+L 31.59375 8.109375 
+Q 46.6875 8.109375 53.6875 14.9375 
+Q 60.6875 21.78125 60.6875 36.53125 
+Q 60.6875 51.171875 53.6875 57.984375 
+Q 46.6875 64.796875 31.59375 64.796875 
+z
+M 9.8125 72.90625 
+L 30.078125 72.90625 
+Q 51.265625 72.90625 61.171875 64.09375 
+Q 71.09375 55.28125 71.09375 36.53125 
+Q 71.09375 17.671875 61.125 8.828125 
+Q 51.171875 0 30.078125 0 
+L 9.8125 0 
+z
+" id="DejaVuSans-68"/>
+      <path d="M 8.5 21.578125 
+L 8.5 54.6875 
+L 17.484375 54.6875 
+L 17.484375 21.921875 
+Q 17.484375 14.15625 20.5 10.265625 
+Q 23.53125 6.390625 29.59375 6.390625 
+Q 36.859375 6.390625 41.078125 11.03125 
+Q 45.3125 15.671875 45.3125 23.6875 
+L 45.3125 54.6875 
+L 54.296875 54.6875 
+L 54.296875 0 
+L 45.3125 0 
+L 45.3125 8.40625 
+Q 42.046875 3.421875 37.71875 1 
+Q 33.40625 -1.421875 27.6875 -1.421875 
+Q 18.265625 -1.421875 13.375 4.4375 
+Q 8.5 10.296875 8.5 21.578125 
+z
+M 31.109375 56 
+z
+" id="DejaVuSans-117"/>
+      <path d="M 56.203125 29.59375 
+L 56.203125 25.203125 
+L 14.890625 25.203125 
+Q 15.484375 15.921875 20.484375 11.0625 
+Q 25.484375 6.203125 34.421875 6.203125 
+Q 39.59375 6.203125 44.453125 7.46875 
+Q 49.3125 8.734375 54.109375 11.28125 
+L 54.109375 2.78125 
+Q 49.265625 0.734375 44.1875 -0.34375 
+Q 39.109375 -1.421875 33.890625 -1.421875 
+Q 20.796875 -1.421875 13.15625 6.1875 
+Q 5.515625 13.8125 5.515625 26.8125 
+Q 5.515625 40.234375 12.765625 48.109375 
+Q 20.015625 56 32.328125 56 
+Q 43.359375 56 49.78125 48.890625 
+Q 56.203125 41.796875 56.203125 29.59375 
+z
+M 47.21875 32.234375 
+Q 47.125 39.59375 43.09375 43.984375 
+Q 39.0625 48.390625 32.421875 48.390625 
+Q 24.90625 48.390625 20.390625 44.140625 
+Q 15.875 39.890625 15.1875 32.171875 
+z
+M 38.578125 79.984375 
+L 48.296875 79.984375 
+L 32.375 61.625 
+L 24.90625 61.625 
+z
+" id="DejaVuSans-233"/>
+      <path id="DejaVuSans-32"/>
+      <path d="M 31 75.875 
+Q 24.46875 64.65625 21.28125 53.65625 
+Q 18.109375 42.671875 18.109375 31.390625 
+Q 18.109375 20.125 21.3125 9.0625 
+Q 24.515625 -2 31 -13.1875 
+L 23.1875 -13.1875 
+Q 15.875 -1.703125 12.234375 9.375 
+Q 8.59375 20.453125 8.59375 31.390625 
+Q 8.59375 42.28125 12.203125 53.3125 
+Q 15.828125 64.359375 23.1875 75.875 
+z
+" id="DejaVuSans-40"/>
+      <path d="M 44.28125 53.078125 
+L 44.28125 44.578125 
+Q 40.484375 46.53125 36.375 47.5 
+Q 32.28125 48.484375 27.875 48.484375 
+Q 21.1875 48.484375 17.84375 46.4375 
+Q 14.5 44.390625 14.5 40.28125 
+Q 14.5 37.15625 16.890625 35.375 
+Q 19.28125 33.59375 26.515625 31.984375 
+L 29.59375 31.296875 
+Q 39.15625 29.25 43.1875 25.515625 
+Q 47.21875 21.78125 47.21875 15.09375 
+Q 47.21875 7.46875 41.1875 3.015625 
+Q 35.15625 -1.421875 24.609375 -1.421875 
+Q 20.21875 -1.421875 15.453125 -0.5625 
+Q 10.6875 0.296875 5.421875 2 
+L 5.421875 11.28125 
+Q 10.40625 8.6875 15.234375 7.390625 
+Q 20.0625 6.109375 24.8125 6.109375 
+Q 31.15625 6.109375 34.5625 8.28125 
+Q 37.984375 10.453125 37.984375 14.40625 
+Q 37.984375 18.0625 35.515625 20.015625 
+Q 33.0625 21.96875 24.703125 23.78125 
+L 21.578125 24.515625 
+Q 13.234375 26.265625 9.515625 29.90625 
+Q 5.8125 33.546875 5.8125 39.890625 
+Q 5.8125 47.609375 11.28125 51.796875 
+Q 16.75 56 26.8125 56 
+Q 31.78125 56 36.171875 55.265625 
+Q 40.578125 54.546875 44.28125 53.078125 
+z
+" id="DejaVuSans-115"/>
+      <path d="M 54.890625 33.015625 
+L 54.890625 0 
+L 45.90625 0 
+L 45.90625 32.71875 
+Q 45.90625 40.484375 42.875 44.328125 
+Q 39.84375 48.1875 33.796875 48.1875 
+Q 26.515625 48.1875 22.3125 43.546875 
+Q 18.109375 38.921875 18.109375 30.90625 
+L 18.109375 0 
+L 9.078125 0 
+L 9.078125 54.6875 
+L 18.109375 54.6875 
+L 18.109375 46.1875 
+Q 21.34375 51.125 25.703125 53.5625 
+Q 30.078125 56 35.796875 56 
+Q 45.21875 56 50.046875 50.171875 
+Q 54.890625 44.34375 54.890625 33.015625 
+z
+" id="DejaVuSans-110"/>
+      <path d="M 45.40625 46.390625 
+L 45.40625 75.984375 
+L 54.390625 75.984375 
+L 54.390625 0 
+L 45.40625 0 
+L 45.40625 8.203125 
+Q 42.578125 3.328125 38.25 0.953125 
+Q 33.9375 -1.421875 27.875 -1.421875 
+Q 17.96875 -1.421875 11.734375 6.484375 
+Q 5.515625 14.40625 5.515625 27.296875 
+Q 5.515625 40.1875 11.734375 48.09375 
+Q 17.96875 56 27.875 56 
+Q 33.9375 56 38.25 53.625 
+Q 42.578125 51.265625 45.40625 46.390625 
+z
+M 14.796875 27.296875 
+Q 14.796875 17.390625 18.875 11.75 
+Q 22.953125 6.109375 30.078125 6.109375 
+Q 37.203125 6.109375 41.296875 11.75 
+Q 45.40625 17.390625 45.40625 27.296875 
+Q 45.40625 37.203125 41.296875 42.84375 
+Q 37.203125 48.484375 30.078125 48.484375 
+Q 22.953125 48.484375 18.875 42.84375 
+Q 14.796875 37.203125 14.796875 27.296875 
+z
+" id="DejaVuSans-100"/>
+      <path d="M 8.015625 75.875 
+L 15.828125 75.875 
+Q 23.140625 64.359375 26.78125 53.3125 
+Q 30.421875 42.28125 30.421875 31.390625 
+Q 30.421875 20.453125 26.78125 9.375 
+Q 23.140625 -1.703125 15.828125 -13.1875 
+L 8.015625 -13.1875 
+Q 14.5 -2 17.703125 9.0625 
+Q 20.90625 20.125 20.90625 31.390625 
+Q 20.90625 42.671875 17.703125 53.65625 
+Q 14.5 64.65625 8.015625 75.875 
+z
+" id="DejaVuSans-41"/>
+     </defs>
+     <g transform="translate(25.432812 218.647531)rotate(-90)scale(0.1 -0.1)">
+      <use xlink:href="#DejaVuSans-68"/>
+      <use x="77.001953" xlink:href="#DejaVuSans-117"/>
+      <use x="140.380859" xlink:href="#DejaVuSans-114"/>
+      <use x="179.244141" xlink:href="#DejaVuSans-233"/>
+      <use x="240.767578" xlink:href="#DejaVuSans-101"/>
+      <use x="302.291016" xlink:href="#DejaVuSans-32"/>
+      <use x="334.078125" xlink:href="#DejaVuSans-40"/>
+      <use x="373.091797" xlink:href="#DejaVuSans-115"/>
+      <use x="425.191406" xlink:href="#DejaVuSans-101"/>
+      <use x="486.714844" xlink:href="#DejaVuSans-99"/>
+      <use x="541.695312" xlink:href="#DejaVuSans-111"/>
+      <use x="602.876953" xlink:href="#DejaVuSans-110"/>
+      <use x="666.255859" xlink:href="#DejaVuSans-100"/>
+      <use x="729.732422" xlink:href="#DejaVuSans-101"/>
+      <use x="791.255859" xlink:href="#DejaVuSans-115"/>
+      <use x="843.355469" xlink:href="#DejaVuSans-41"/>
+     </g>
+    </g>
    </g>
-   <g id="patch_3">
+   <g id="patch_9">
     <path d="M 57.6 307.584 
 L 57.6 41.472 
 " style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/>
    </g>
-   <g id="patch_4">
+   <g id="patch_10">
     <path d="M 414.72 307.584 
 L 414.72 41.472 
 " style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/>
    </g>
-   <g id="patch_5">
+   <g id="patch_11">
     <path d="M 57.6 307.584 
 L 414.72 307.584 
 " style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/>
    </g>
-   <g id="patch_6">
+   <g id="patch_12">
     <path d="M 57.6 41.472 
 L 414.72 41.472 
 " style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/>
    </g>
   </g>
  </g>
+ <defs>
+  <clipPath id="p856b1a0351">
+   <rect height="266.112" width="357.12" x="57.6" y="41.472"/>
+  </clipPath>
+ </defs>
 </svg>
diff --git a/doc/csv2barchart.py b/doc/csv2barchart.py
index 43a2db3f8c4347243df51bf2ba12a0a2e2d855f0..0f63824fd34fa1fdcd6bf91498b3ffa2061cdf00 100755
--- a/doc/csv2barchart.py
+++ b/doc/csv2barchart.py
@@ -1,25 +1,40 @@
 #!/usr/bin/env python3
 import csv
+import re
 from sys import stdin, argv
 from typing import TextIO
 
 import matplotlib.pyplot as plt
 
 
+def format_value(value):
+    return re.sub(r'\.0$', '', str(value))
+
 def csv_to_barchart(file: TextIO) -> plt.Figure:
-    next(file) # skip header
-    csv_reader = csv.reader(file, delimiter=';', quoting=csv.QUOTE_NONNUMERIC)
+    titles_csv_reader = csv.reader(file, delimiter=';', quoting=csv.QUOTE_ALL)
+    (xlabel, ylabel, *other_labels) = next(titles_csv_reader)
+    print(f'|{xlabel}|{ylabel}|{"".join([f"{label}|" for label in other_labels])}')
+    print(f'|--|--|{"--|" * len(other_labels)}')
+
+    data_csv_reader = csv.reader(file, delimiter=';', quoting=csv.QUOTE_NONNUMERIC)
     xs=[]
     xticks=[]
+    yticks=[]
     ys=[]
-    for (x, (xtick, y)) in enumerate(csv_reader):
+    for (x, (xtick, y, *other_values)) in enumerate(data_csv_reader):
+        ytick = format_value(y)
+        print(f'|{xtick}|{ytick}|{"".join([f"{format_value(value)}|" for value in other_values])}')
         xs.append(x)
         xticks.append(xtick)
+        yticks.append(ytick)
         ys.append(y)
 
     fig = plt.figure()
     plt.bar(xs, ys)
     plt.xticks(xs, xticks)
+    #plt.yticks(ys, yticks)
+    plt.xlabel(xlabel)
+    plt.ylabel(ylabel)
 
     return fig
 
diff --git a/doc/gitlab-markdown.gpp b/doc/gitlab-markdown.gpp
index dbe433393e27417e0f58f9682b5b4756abde84ac..5dc6a3c40738c04b838633c87bddf1a098d0c22b 100644
--- a/doc/gitlab-markdown.gpp
+++ b/doc/gitlab-markdown.gpp
@@ -41,4 +41,8 @@
 ```math
 !!content
 ```
+}
+
+!!define{!!tableheader{ref_id}{description}}{
+!!description: <a name="!!ref_id"/>
 }
\ No newline at end of file
diff --git a/doc/logbook.gpp.md b/doc/logbook.gpp.md
index 42223ab695a359f487e146e2ee8c0267b532efb5..49b8879b1aa46bed3c79206a3af5ae3f27c372b2 100644
--- a/doc/logbook.gpp.md
+++ b/doc/logbook.gpp.md
@@ -1764,11 +1764,9 @@ It looks like the bottleneck is effectively the network.
 If 13743592907 bytes were transferred in 120 seconds, we are close to the theorical
  bitrate of $1 [Gbps]$, because:
 
-```math 
-\frac{13743592907 [b]}{120 [s]} = 114529940.892 [bps] = 0.916239528 [Gbps]
-```
+!!displaymath{\frac{13743592907 [b]}{120 [s]} = 114529940.892 [bps] = 0.916239528 [Gbps]}
 
-In practice, the bottleneck will be the network interface of the 
+In practice, the bottleneck will be the network interface of the
 server.
 
 
diff --git a/doc/logbook.md b/doc/logbook.md
index 19b93b3cb3ee44e48fe7d71300110afa81c5ffc7..f5aced0cea70dd94260d1b685a4e911811d6332f 100644
--- a/doc/logbook.md
+++ b/doc/logbook.md
@@ -1762,11 +1762,13 @@ It looks like the bottleneck is effectively the network.
 If 13743592907 bytes were transferred in 120 seconds, we are close to the theorical
  bitrate of $1 [Gbps]$, because:
 
-```math 
+
+```math
 \frac{13743592907 [b]}{120 [s]} = 114529940.892 [bps] = 0.916239528 [Gbps]
 ```
 
-In practice, the bottleneck will be the network interface of the 
+
+In practice, the bottleneck will be the network interface of the
 server.
 
 
diff --git a/doc/markdown.gpp b/doc/markdown.gpp
index 1807d5f94ef02b9418f3a1ed5a15d24348acb11a..8ebb8cca4af40b1917addd2b5e61b8752aebe2d6 100644
--- a/doc/markdown.gpp
+++ b/doc/markdown.gpp
@@ -23,8 +23,11 @@ EOF-DEFACRONYM-GPP-MACRO
 
 !!define{!!comment}{}
 
-!!define{!!barchart{ref_id}{description}{chartdata}}{!!exec{>/dev/null ./csv2barchart.py "charts/!!ref_id.png" "charts/!!ref_id.svg" << 'EOF_BARCHART_MACRO'
-!!chart_data
-EOF_BARCHART_MACRO}!!svgref{!!ref_id}{!!description}{charts/!!ref_id}}
+!!define{!!barchart{chart_ref_id}{table_ref_id}{description}{chart_data}}{
+!!tableheader{!!table_ref_id}{Table des !!description}
+!!exec{./csv2barchart.py "charts/!!chart_ref_id.png" "charts/!!chart_ref_id.svg" << 'EOF_BARCHART_MACRO'!!chart_data
+EOF_BARCHART_MACRO}
+
+!!svgref{!!chart_ref_id}{Graphique des !!description}{charts/!!chart_ref_id}}
 
 !!endif
\ No newline at end of file
diff --git a/doc/pandoc-pdf-markdown.gpp b/doc/pandoc-pdf-markdown.gpp
index b1786b1d38b2efbea419a47182ec850a12b54804..36ae9a782090fc0a4c4b81047e2f381d6c4528e5 100644
--- a/doc/pandoc-pdf-markdown.gpp
+++ b/doc/pandoc-pdf-markdown.gpp
@@ -28,4 +28,8 @@
 
 !!define{!!inlinemath{content}}{$!!content$}
 
-!!define{!!displaymath{content}}{$$ !!content $$}
\ No newline at end of file
+!!define{!!displaymath{content}}{$$ !!content $$}
+
+!!define{!!tableheader{ref_id}{description}}{
+Table: !!description \label{!!ref_id}
+}
diff --git a/doc/rapport.gpp.md b/doc/rapport.gpp.md
index 4ff8c524f6211d30f566396e66ee1ebaf0a099bb..9690c86cbde84f5095301277f44c0adbd794ce37 100644
--- a/doc/rapport.gpp.md
+++ b/doc/rapport.gpp.md
@@ -19,8 +19,10 @@ date: |
 geometry: margin=2.5cm,includefoot,includehead
 papersize: a4
 numbersections: true
+fontsize: 12pt
 mainfont: lmroman12-regular.otf
 monofont: lmmono12-regular.otf
+monofontoptions: Scale=0.75
 output: pdf_document
 linkcolor: cyan
 header-includes: |
@@ -30,7 +32,7 @@ header-includes: |
     \usepackage{float}
     \usepackage{lastpage}
     \usepackage{fvextra}
-    \DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,commandchars=\\\{\}}
+    \DefineVerbatimEnvironment{Highlighting}{Verbatim}{frame=single,breaklines,commandchars=\\\{\}}
 
     \pagestyle{fancy}
     \setlength{\headheight}{14pt}
@@ -639,7 +641,7 @@ ssh-copy-id debian1.home
 
 Finalement, le benchmark de la copie a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d scp debian1.home:/home/debian/win10.tar.gz /home/debian/win10.tar.gz
 win10.tar.gz                                                                       100%   13GB 109.6MB/s   01:59    
 win10.tar.gz                                                                       100%   13GB 109.6MB/s   01:59    
@@ -678,7 +680,7 @@ cp win10.tar.gz /var/www/html/
 Finalement, le benchmark du téléchargement du fichier avec la commande
 `wget` a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d wget http://debian1.home/win10.tar.gz
 --2020-05-20 09:53:53--  http://debian1.home/win10.tar.gz
 Resolving debian1.home (debian1.home)... 2a02:120b:c3e2:cab0:e6b9:7aff:feed:e0cd, 192.168.1.29
@@ -765,7 +767,7 @@ le fichier à `win10.tar.gz` est déjà présent dans le dossier
 `/home/debian`. La commande suivante est lancée pour mesurer le temps de
 transfert:
 
-```console
+```bash
 $ perf stat -r 4 -d lftp -u debian,debian -e "get -e win10.tar.gz;quit" debian1.home
 13743592907 bytes transferred in 120 seconds (109.61 MiB/s)             
 13743592907 bytes transferred in 120 seconds (109.11 MiB/s)             
@@ -816,7 +818,7 @@ exit
 
 Finalement, le benchmark de la copie a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d cp -f /nfsroot/win10.tar.gz ~/win10.tar.gz
 
  Performance counter stats for 'cp -f /nfsroot/win10.tar.gz /home/debian/win10.tar.gz' (4 runs):
@@ -861,7 +863,7 @@ apt install samba-client
 
 Finalement, le benchmark de la copie est lancé sur `debian2`:
 
-```command
+```bash
 $ perf stat -r 4 -d smbclient -U debian%debian //debian1.home/debian -c 'get win10.tar.gz'
 Unable to initialize messaging context
 getting file \win10.tar.gz of size 13743592907 as win10.tar.gz (109684.9 KiloBytes/sec) (average 109684.9 KiloBytes/sec)
@@ -941,15 +943,19 @@ Ensuite, il faut récupérer l'identifiant unique `PeerID` de `debian1`
 pour pouvoir le configurer comme un noeud d'amorçage dans `debian2`. La
 commande suivante est lancée sur `debian1`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs config show | grep "PeerID"
     "PeerID": "QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei"
 ```
 
 L'identitfiant unique `PeerID` de `debian1` retourné par la commande
-est: `QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei`. On peut
-maintenant le rajouter dans la configuration des noeuds d'amorçage des
-deux machines en lançant la commande suivante sur chacune d'entre elle:
+est:
+
+`QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei`
+
+On peutmaintenant le rajouter dans la configuration des noeuds
+d'amorçage des deux machines en lançant la commande suivante sur chacune
+d'entre elle:
 
 ```bash
 IPFS_PATH=~/.ipfs ipfs bootstrap add /dnsaddr/debian1.home/p2p/QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei
@@ -972,10 +978,10 @@ avec une unité systemd.
 Maintenant on peut partager l'image sur le réseau avec la commande
 suivante sur `debian1`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs add win10.tar.gz 
 added QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv win10.tar.gz
- 12.80 GiB / 12.80 GiB [====================================================================================] 100.00%
+ 12.80 GiB / 12.80 GiB [==============================================================================] 100.00%
 ```
 
 Le temps d'ajout de l'image a pris plus de trois minutes. À la fin, la
@@ -984,7 +990,7 @@ est affichée: `QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv`.
 
 On peut maintenant tenter de récupérer le fichier depuis `debian2`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs get QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv
 Saving file(s) to QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv
  12.80 GiB / 12.80 GiB [==============================================================================] 100.00% 7m27s
@@ -994,22 +1000,29 @@ Le transfert a pris !!inlinemath{7m27s = 447s}. C'est beaucoup trop long
 pour nos besoins. Le benchmark avec `perf` n'a même pas été effectué au
 vu de ce résultat.
 
-### Comparaison des résultats des tests de protocoles de transfert de fichiers
-
-!!barchart{chart_protocols}{Graphique comparant la durée de la copie d'un fichier avec différents protocoles}{  
-"Protocole";"Durée (secondes)"
-"FTP";123
-"HTTP";456
-"tutu";123
-}
-
-### Protocole choisi pour le transfert d'image
-
- **TODO: expliquer, détailler et
-comparer (tableaux, diagrammes) les différentes mesures qui ont conduit
-à garder NFS pour le transfert des images. Aussi expliquer les limites
-probables de NFS avec beaucoup de postes simultanés et donner des pistes
-d'amélioration (multicast, bittorrent+http, optimisations NFS).**
+### Choix du protocole de transfert de fichiers
+
+La table !!ref{table_protocols} ainsi que la figure
+!!ref{chart_protocols} récapitulent les résultats mesurés pour chacun
+des protocoles testés. On peut remarquer que pour tous les protocoles,
+sauf !!acronym{IPFS}, les résultats sont proches de 120 secondes. Cette
+durée montre que pour ces protocoles, on est proches de la limite
+théorique de gigabit ethernet:
+
+!!displaymath{\frac{13743592907 [B]}{120 [s]} = \frac{109948743256 [b]}{120 [s]} \approx 916239527 [b/s] \approx 0.916 [Gb/s] \approx 1 [Gb/s]}
+
+On peut donc conclure que le choix du protocole !!acronym{NFS} est
+approprié car les autres protocole n'accélèrent pas considérablement la
+vitesse de transfert d'une image.
+
+!!barchart{chart_protocols}{table_protocols}{mesures de la durée de la copie d'un fichier avec différents protocoles}{
+"Protocole";"Durée (secondes)";"Écart entre les mesures (± secondes)";"Nombre de mesures"
+"SCP";119.8094;0.0182;4
+"HTTP";119.871;0.235;4
+"FTP";120.151;0.213;4
+"NFS";120.417;0.119;4
+"SMB";122.565;0.215;4
+"IPFS";447;0;1}
 
 ## Réduction de la taille des images
 
diff --git a/doc/rapport.md b/doc/rapport.md
index ce82cd2b5c3a13df63d4f1ac45efa11cde2ed65f..264b9bc17d8f95bcbb68f3803733773ab5e7935f 100644
--- a/doc/rapport.md
+++ b/doc/rapport.md
@@ -629,7 +629,7 @@ ssh-copy-id debian1.home
 
 Finalement, le benchmark de la copie a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d scp debian1.home:/home/debian/win10.tar.gz /home/debian/win10.tar.gz
 win10.tar.gz                                                                       100%   13GB 109.6MB/s   01:59    
 win10.tar.gz                                                                       100%   13GB 109.6MB/s   01:59    
@@ -668,7 +668,7 @@ cp win10.tar.gz /var/www/html/
 Finalement, le benchmark du téléchargement du fichier avec la commande
 `wget` a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d wget http://debian1.home/win10.tar.gz
 --2020-05-20 09:53:53--  http://debian1.home/win10.tar.gz
 Resolving debian1.home (debian1.home)... 2a02:120b:c3e2:cab0:e6b9:7aff:feed:e0cd, 192.168.1.29
@@ -755,7 +755,7 @@ le fichier à `win10.tar.gz` est déjà présent dans le dossier
 `/home/debian`. La commande suivante est lancée pour mesurer le temps de
 transfert:
 
-```console
+```bash
 $ perf stat -r 4 -d lftp -u debian,debian -e "get -e win10.tar.gz;quit" debian1.home
 13743592907 bytes transferred in 120 seconds (109.61 MiB/s)             
 13743592907 bytes transferred in 120 seconds (109.11 MiB/s)             
@@ -806,7 +806,7 @@ exit
 
 Finalement, le benchmark de la copie a été lancé sur `debian2`:
 
-```console
+```bash
 $ perf stat -r 4 -d cp -f /nfsroot/win10.tar.gz ~/win10.tar.gz
 
  Performance counter stats for 'cp -f /nfsroot/win10.tar.gz /home/debian/win10.tar.gz' (4 runs):
@@ -851,7 +851,7 @@ apt install samba-client
 
 Finalement, le benchmark de la copie est lancé sur `debian2`:
 
-```command
+```bash
 $ perf stat -r 4 -d smbclient -U debian%debian //debian1.home/debian -c 'get win10.tar.gz'
 Unable to initialize messaging context
 getting file \win10.tar.gz of size 13743592907 as win10.tar.gz (109684.9 KiloBytes/sec) (average 109684.9 KiloBytes/sec)
@@ -931,15 +931,19 @@ Ensuite, il faut récupérer l'identifiant unique `PeerID` de `debian1`
 pour pouvoir le configurer comme un noeud d'amorçage dans `debian2`. La
 commande suivante est lancée sur `debian1`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs config show | grep "PeerID"
     "PeerID": "QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei"
 ```
 
 L'identitfiant unique `PeerID` de `debian1` retourné par la commande
-est: `QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei`. On peut
-maintenant le rajouter dans la configuration des noeuds d'amorçage des
-deux machines en lançant la commande suivante sur chacune d'entre elle:
+est:
+
+`QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei`
+
+On peutmaintenant le rajouter dans la configuration des noeuds
+d'amorçage des deux machines en lançant la commande suivante sur chacune
+d'entre elle:
 
 ```bash
 IPFS_PATH=~/.ipfs ipfs bootstrap add /dnsaddr/debian1.home/p2p/QmX9MYUQhjKxua6HQMtpzaZd9ui4gGT75FJgAxeQJC47Ei
@@ -962,10 +966,10 @@ avec une unité systemd.
 Maintenant on peut partager l'image sur le réseau avec la commande
 suivante sur `debian1`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs add win10.tar.gz 
 added QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv win10.tar.gz
- 12.80 GiB / 12.80 GiB [====================================================================================] 100.00%
+ 12.80 GiB / 12.80 GiB [==============================================================================] 100.00%
 ```
 
 Le temps d'ajout de l'image a pris plus de trois minutes. À la fin, la
@@ -974,7 +978,7 @@ est affichée: `QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv`.
 
 On peut maintenant tenter de récupérer le fichier depuis `debian2`:
 
-```console
+```bash
 $ IPFS_PATH=~/.ipfs ipfs get QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv
 Saving file(s) to QmRm8As8ECuQoLq3UWowsxJ8mh89txLvpUh7A2mgw5pMhv
  12.80 GiB / 12.80 GiB [==============================================================================] 100.00% 7m27s
@@ -984,24 +988,47 @@ Le transfert a pris $`7m27s = 447s`$. C'est beaucoup trop long
 pour nos besoins. Le benchmark avec `perf` n'a même pas été effectué au
 vu de ce résultat.
 
-### Comparaison des résultats des tests de protocoles de transfert de fichiers
+### Choix du protocole de transfert de fichiers
+
+La table ![ci-dessous](#table_protocols) ainsi que la figure
+![ci-dessous](#chart_protocols) récapitulent les résultats mesurés pour chacun
+des protocoles testés. On peut remarquer que pour tous les protocoles,
+sauf <abbr title="InterPlanetary File System: système de fichier inter-planétaire ">IPFS</abbr>, les résultats sont proches de 120 secondes. Cette
+durée montre que pour ces protocoles, on est proches de la limite
+théorique de gigabit ethernet:
+
+
+```math
+\frac{13743592907 [B]}{120 [s]} = \frac{109948743256 [b]}{120 [s]} \approx 916239527 [b/s] \approx 0.916 [Gb/s] \approx 1 [Gb/s]
+```
+
+
+On peut donc conclure que le choix du protocole <abbr title="Network File System: système de fichiers en réseau ">NFS</abbr> est
+approprié car les autres protocole n'accélèrent pas considérablement la
+vitesse de transfert d'une image.
+
+
+
+Table des mesures de la durée de la copie d'un fichier avec différents protocoles: <a name="table_protocols"/>
+
+|Protocole|Durée (secondes)|Écart entre les mesures (± secondes)|Nombre de mesures|
+|--|--|--|--|
+|SCP|119.8094|0.0182|4|
+|HTTP|119.871|0.235|4|
+|FTP|120.151|0.213|4|
+|NFS|120.417|0.119|4|
+|SMB|122.565|0.215|4|
+|IPFS|447|0|1|
+
 
 
 <figure>
 <a name="chart_protocols"/>
-![Graphique comparant la durée de la copie d'un fichier avec différents protocoles](charts/chart_protocols.png)
-<figcaption>Graphique comparant la durée de la copie d'un fichier avec différents protocoles</figcaption>
+![Graphique des mesures de la durée de la copie d'un fichier avec différents protocoles](charts/chart_protocols.png)
+<figcaption>Graphique des mesures de la durée de la copie d'un fichier avec différents protocoles</figcaption>
 </figure>
 
 
-### Protocole choisi pour le transfert d'image
-
- **TODO: expliquer, détailler et
-comparer (tableaux, diagrammes) les différentes mesures qui ont conduit
-à garder NFS pour le transfert des images. Aussi expliquer les limites
-probables de NFS avec beaucoup de postes simultanés et donner des pistes
-d'amélioration (multicast, bittorrent+http, optimisations NFS).**
-
 ## Réduction de la taille des images
 
 **TODO: expliquer, détailler et comparer (tableaux, diagrammes) les
@@ -2892,11 +2919,13 @@ It looks like the bottleneck is effectively the network.
 If 13743592907 bytes were transferred in 120 seconds, we are close to the theorical
  bitrate of $1 [Gbps]$, because:
 
-```math 
+
+```math
 \frac{13743592907 [b]}{120 [s]} = 114529940.892 [bps] = 0.916239528 [Gbps]
 ```
 
-In practice, the bottleneck will be the network interface of the 
+
+In practice, the bottleneck will be the network interface of the
 server.
 
 
diff --git a/doc/rapport.pdf b/doc/rapport.pdf
index 0f0b1fb38f0345bdfe13c95c2567fe5f3dcf0ccd..9431ca33af83ecfd7f5c5a98672887ef049f62d4 100644
Binary files a/doc/rapport.pdf and b/doc/rapport.pdf differ