diff --git a/assets/sass/_theme/_configuration.sass b/assets/sass/_theme/_configuration.sass
index c2de79afa48d602f57939b8eea35ce24f4724136..e3412d69c452db508dc3c48dae2cdc9c97f075ba 100644
--- a/assets/sass/_theme/_configuration.sass
+++ b/assets/sass/_theme/_configuration.sass
@@ -86,6 +86,7 @@ $zindex-header: 52 !default
 $zindex-body-overlay: 51 !default
 $zindex-toc: 60 !default
 $zindex-toc-cta: 49 !default
+$zindex-aside: 48 !default
 
 // Header
 $header-color: $main-color !default
diff --git a/assets/sass/_theme/blocks/video.sass b/assets/sass/_theme/blocks/video.sass
index c0fb2e22c114b1fab8851235d00a71af879bf8f3..c80c1da28ddf32dd3889dde64f53efa1ed4421c7 100644
--- a/assets/sass/_theme/blocks/video.sass
+++ b/assets/sass/_theme/blocks/video.sass
@@ -2,7 +2,7 @@
 
 .block-video
     .video
-        @include aspect-ratio(16, 9, 'iframe')
+        @include aspect-ratio(16/9, 'iframe')
 
     // @include media-breakpoint-up(md)
     //     @include in-page-without-sidebar
diff --git a/assets/sass/_theme/design-system/layout.sass b/assets/sass/_theme/design-system/layout.sass
index 015a009c8b5e235d56c2cbef456bb2d7c705be41..078490946227649994c6a8675def899f304c43b8 100644
--- a/assets/sass/_theme/design-system/layout.sass
+++ b/assets/sass/_theme/design-system/layout.sass
@@ -46,22 +46,22 @@ main
 ul
     padding-left: px2rem(15)
 
-.blocks
+.document-content
+    > * + *
+        margin-top: $spacing3
     // > *
     //     margin-top: $spacing3
     //     padding-bottom: $spacing3
     //     &:last-child
     //         padding-bottom: $spacing4
-    > * + *
-        margin-top: $spacing3
-    > *:not(:last-child)
-        padding-bottom: $spacing3
-    > *:last-child
-        padding-bottom: $spacing4
-    section
-        * + p
-            margin-bottom: 0 // TODO : vérifier les cas particuliers
-            margin-top: $spacing1
+    // > *:not(:last-child)
+    //     padding-bottom: $spacing3
+    // > *:last-child
+    //     padding-bottom: $spacing4
+    // section
+    //     * + p
+    //         margin-bottom: 0 // TODO : vérifier les cas particuliers
+    //         margin-top: $spacing1
 
 
 details
diff --git a/assets/sass/_theme/sections/organizations.sass b/assets/sass/_theme/sections/organizations.sass
index ee312a127f1beb1a14bf6e42f30cd6c2d260d0b1..b2f0d68f8c935df2e3067f395926b39cb9533aae 100644
--- a/assets/sass/_theme/sections/organizations.sass
+++ b/assets/sass/_theme/sections/organizations.sass
@@ -1,5 +1,7 @@
 .organization
     @include article
+    h1
+        @extend .h4
     .media
         aspect-ratio: 1/1
         img
diff --git a/assets/sass/_theme/sections/posts.sass b/assets/sass/_theme/sections/posts.sass
index fd77174ca44bd7c40d962a37feb45ff7fb9c8352..9d6de9c28e9d40d6a548ddbc0ac387934b6df1d0 100644
--- a/assets/sass/_theme/sections/posts.sass
+++ b/assets/sass/_theme/sections/posts.sass
@@ -65,7 +65,14 @@
 
 .posts__page
     aside
-        @include container
+        @include container-margin-left
+        top: 0
+        left: 0
+        height: 100%
+        position: absolute
+        width: col-outside-container(4)
+        .table-infos
+            @include sticky($spacing1)
 
 .post-categories
     @include list-reset
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index adf4751ce5d9c69336b51ce35cfd17f96727df74..55fb1319fcf5b5505660fc11fdf3eb29f0ef935e 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -5,7 +5,7 @@
           "image" .Params.image
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     <div class="pages">
       {{ range .Paginator.Pages }}
         <div>
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index efbf0567800c49b75606f3cb2757e21414ef3716..507a8e8716a89c2c8aa8be20f14527315e09ba9c 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -5,7 +5,7 @@
           "image" .Params.image
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     {{ partial "PrepareHTML" .Content }}
   </div>
 {{ end }}
diff --git a/layouts/administrators/list.html b/layouts/administrators/list.html
index 5a3eb13252786570c1503a04a7c7596761503c65..3a3d9f118f298956e4b1d5a9041d3d89cb45e2e4 100644
--- a/layouts/administrators/list.html
+++ b/layouts/administrators/list.html
@@ -2,14 +2,16 @@
 
   {{ partial "persons/hero.html" . }}
 
-  <div class="container">
-    {{ partial "persons/image.html" .Params.image }}
-    {{ partial "persons/chapo.html" .Params.description_short }}
-  </div>
-
-  {{ partial "blocks/list.html" . }}
-
-  <div class="container">
-    {{ partial "persons/list-specific.html" . }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "persons/image.html" .Params.image }}
+      {{ partial "persons/chapo.html" .Params.description_short }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
+  
+    <div class="container">
+      {{ partial "persons/list-specific.html" . }}
+    </div>
   </div>
 {{ end }}
diff --git a/layouts/administrators/term.html b/layouts/administrators/term.html
index 83e72081c7d258e301282b729e9e859965a46775..8c677945fc60235d5c509557e83dedbbd4dd4355 100644
--- a/layouts/administrators/term.html
+++ b/layouts/administrators/term.html
@@ -4,7 +4,7 @@
           "title" .Title
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     {{ partial "pages/pages.html" . }}
     {{ partial "commons/pagination.html" . }}
   </div>
diff --git a/layouts/authors/list.html b/layouts/authors/list.html
index 5a3eb13252786570c1503a04a7c7596761503c65..47427e7d359cd9816b7389bcaecdb0064e80e1a2 100644
--- a/layouts/authors/list.html
+++ b/layouts/authors/list.html
@@ -2,14 +2,16 @@
 
   {{ partial "persons/hero.html" . }}
 
-  <div class="container">
-    {{ partial "persons/image.html" .Params.image }}
-    {{ partial "persons/chapo.html" .Params.description_short }}
-  </div>
+  <div class="document-content">
+    <div class="container">
+      {{ partial "persons/image.html" .Params.image }}
+      {{ partial "persons/chapo.html" .Params.description_short }}
+    </div>
 
-  {{ partial "blocks/list.html" . }}
+    {{ partial "blocks/list.html" . }}
 
-  <div class="container">
-    {{ partial "persons/list-specific.html" . }}
+    <div class="container">
+      {{ partial "persons/list-specific.html" . }}
+    </div>
   </div>
 {{ end }}
diff --git a/layouts/authors/term.html b/layouts/authors/term.html
index c16b6a37e9b94a9272e7f37ddf42899c9b8d8a73..5e4fdd894ae69121f000ae092dc4a8f437a847e7 100644
--- a/layouts/authors/term.html
+++ b/layouts/authors/term.html
@@ -4,7 +4,7 @@
           "title" .Title
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     {{ partial "posts/posts.html" . }}
     {{ partial "commons/pagination.html" . }}
   </div>
diff --git a/layouts/categories/list.html b/layouts/categories/list.html
index d5bddb1e2d0a4bc479fccc1ce5bb9581528b16ed..391cccf5d98f7e4fd61e397b64b304557966e676 100644
--- a/layouts/categories/list.html
+++ b/layouts/categories/list.html
@@ -1,7 +1,7 @@
 {{ define "main" }}
   {{ partial "categories/hero-list.html" . }}
 
-  <div class="container">
+  <div class="document-content container">
     {{ partial "categories/categories.html" . }}
     {{ partial "commons/pagination.html" . }}
   </div>
diff --git a/layouts/categories/term.html b/layouts/categories/term.html
index c97b7782accf93c79e2bea15143053aa57e52efc..e62d2c22d8caa70187a33aa8926597440ce887cf 100644
--- a/layouts/categories/term.html
+++ b/layouts/categories/term.html
@@ -1,7 +1,7 @@
 {{ define "main" }}
   {{ partial "categories/hero-term.html" . }}
 
-  <div class="container">
+  <div class=" document-content container">
     {{ partial "categories/chapo.html" .Params.description_short }}
     {{ partial "posts/posts.html" . }}
     {{ partial "commons/pagination.html" . }}
diff --git a/layouts/diplomas/list.html b/layouts/diplomas/list.html
index 1a864029279a1c9c1ced2b51cfaf035b411765ea..10585d3e3d481588aeb31099b44b52a51d6f2eff 100644
--- a/layouts/diplomas/list.html
+++ b/layouts/diplomas/list.html
@@ -1,15 +1,17 @@
 {{ define "main" }}
   {{ partial "diplomas/hero-list.html" . }}
 
-  <div class="container">
-    {{ partial "diplomas/image.html" .Params.image }}
-    {{ partial "diplomas/chapo.html" .Params.description_short }}
-  </div>
-  {{ partial "blocks/list.html" . }}
-  <div class="container">
-    {{ .Scratch.Set "show_programs" true }}
-    {{ partial "diplomas/diplomas.html" . }}
-    {{ .Scratch.Delete "show_programs" }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "diplomas/image.html" .Params.image }}
+      {{ partial "diplomas/chapo.html" .Params.description_short }}
+    </div>
+    {{ partial "blocks/list.html" . }}
+    <div class="container">
+      {{ .Scratch.Set "show_programs" true }}
+      {{ partial "diplomas/diplomas.html" . }}
+      {{ .Scratch.Delete "show_programs" }}
+    </div>
   </div>
 
 {{ end }}
diff --git a/layouts/diplomas/term.html b/layouts/diplomas/term.html
index c36411a1827a86351e738903c16f82eada324875..6177d2adff356116507525de4d69234db449a200 100644
--- a/layouts/diplomas/term.html
+++ b/layouts/diplomas/term.html
@@ -1,8 +1,10 @@
 {{ define "main" }}
   {{ partial "diplomas/hero-single.html" . }}
 
-  {{ partial "blocks/list.html" . }}
-  <div class="container">
-    {{ partial "programs/programs-list.html" .Pages }}
+  <div class="document-content">
+    {{ partial "blocks/list.html" . }}
+    <div class="container">
+      {{ partial "programs/programs-list.html" .Pages }}
+    </div>
   </div>
 {{ end }}
diff --git a/layouts/index.html b/layouts/index.html
index 442b07f9a26c1c4da1ef73273ceec853ba77556e..06c83700254995fb8ba5488dcd528b31ff19efa5 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -1,36 +1,38 @@
 {{ define "main" }}
   {{ partial "home/hero.html" . }}
 
-  {{- if .Params.blocks }}
-
-    {{- partial "blocks/list.html" . -}}
-
-  {{ else }}
-
-    <div class="container">
-      {{ if (partial "GetTextFromHTML" .Content) }}
-      <section>
-        {{- partial "PrepareHTML" .Content -}}
-      </section>
-      {{ end }}
-
-      {{- range site.Data.menus.primary -}}
+  <div class="document-content">
+    {{- if .Params.blocks }}
+  
+      {{- partial "blocks/list.html" . -}}
+  
+    {{ else }}
+  
+      <div class="container">
+        {{ if (partial "GetTextFromHTML" .Content) }}
         <section>
-          {{ partial "home/top.html" . }}
-
-          {{ if eq .kind "news" }}
-            {{ partial "home/posts.html" . }}
-          {{ else }}
-            {{ if .children }}
-              {{ partial "home/pages.html" . }}
-            {{ end }}
-          {{ end }}
+          {{- partial "PrepareHTML" .Content -}}
         </section>
-      {{ end }}
-
-      {{ partial "home/volumes.html" . }}
-    </div>
-
-  {{ end -}}
+        {{ end }}
+  
+        {{- range site.Data.menus.primary -}}
+          <section>
+            {{ partial "home/top.html" . }}
+  
+            {{ if eq .kind "news" }}
+              {{ partial "home/posts.html" . }}
+            {{ else }}
+              {{ if .children }}
+                {{ partial "home/pages.html" . }}
+              {{ end }}
+            {{ end }}
+          </section>
+        {{ end }}
+  
+        {{ partial "home/volumes.html" . }}
+      </div>
+  
+    {{ end -}}
+  </div>
 
 {{ end }}
diff --git a/layouts/organizations/list.html b/layouts/organizations/list.html
index 03c9914c1e83ec18e4892ac17f7c7b014074fedd..c56beb57d6fc1612f5b7a06b0ca41d38dc8e618d 100644
--- a/layouts/organizations/list.html
+++ b/layouts/organizations/list.html
@@ -1,10 +1,12 @@
 {{ define "main" }}
   {{ partial "organizations/hero.html" . }}
 
-  <div class="container">
-    {{ partial "organizations/organizations.html" . }}
-    {{ partial "commons/pagination.html" . }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "organizations/organizations.html" . }}
+      {{ partial "commons/pagination.html" . }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
   </div>
-
-  {{ partial "blocks/list.html" . }}
 {{ end }}
diff --git a/layouts/organizations/single.html b/layouts/organizations/single.html
index fbc63a3b5d2bb0adb6567722f73260f9c0e053d7..9037b15d18f6db1d86e3b97955a2f07e2aaa7e3c 100644
--- a/layouts/organizations/single.html
+++ b/layouts/organizations/single.html
@@ -1,7 +1,7 @@
 {{ define "main" }}
   {{ partial "organizations/hero.html" . }}
 
-  <div class="container">
+  <div class="document-content container">
     <div class="content">
       <div>
         {{ partial "organizations/logo.html" . }}
diff --git a/layouts/pages/list.html b/layouts/pages/list.html
index b13f326dfece46baa586f64daad1cfbc8b465e6a..22f293f8af8cb22093aa35e9a3303e94e9e80243 100644
--- a/layouts/pages/list.html
+++ b/layouts/pages/list.html
@@ -1,28 +1,30 @@
 {{ define "main" }}
   {{ partial "pages/hero.html" . }}
 
-  {{- $category := site.GetPage (printf "/categories%s" .Params.category) -}}
-  {{- if .Params.blocks }}
-    {{ $need_aside := false }}
-    {{ range .Params.blocks }}
-      {{ if .title }}
-        {{ $need_aside = true }}
+  <div class="document-content">
+    {{- $category := site.GetPage (printf "/categories%s" .Params.category) -}}
+    {{- if .Params.blocks }}
+      {{ $need_aside := false }}
+      {{ range .Params.blocks }}
+        {{ if .title }}
+          {{ $need_aside = true }}
+        {{ end }}
       {{ end }}
+  
+      <div class="content-blocks">
+        {{ partial "toc/container.html"
+            (dict
+                "category" $category
+                "toc" "pages/toc.html"
+                "context" .
+            )
+        }}
+        {{ partial "blocks/list.html" . }}
+      </div>
+    {{ else }}
+      {{ partial "pages/image.html" .Params.image }}
+      {{ partial "pages/children.html" .Params.children }}
     {{ end }}
-
-    <div class="content-blocks">
-      {{ partial "toc/container.html"
-          (dict
-              "category" $category
-              "toc" "pages/toc.html"
-              "context" .
-          )
-      }}
-      {{ partial "blocks/list.html" . }}
-    </div>
-  {{ else }}
-    {{ partial "pages/image.html" .Params.image }}
-    {{ partial "pages/children.html" .Params.children }}
-  {{ end }}
+  </div>
 
 {{ end }}
diff --git a/layouts/papers/list.html b/layouts/papers/list.html
index 033ee638e29a6beb5284e3fb7f53c9113206acee..741e7745853824fd91f1c1f435ece82c60f2898c 100644
--- a/layouts/papers/list.html
+++ b/layouts/papers/list.html
@@ -5,10 +5,12 @@
           "image" .Params.image
           "context" .
         ) -}}
-  <div class="container">
-    {{ partial "papers/papers.html" . }}
-    {{ partial "commons/pagination.html" . }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "papers/papers.html" . }}
+      {{ partial "commons/pagination.html" . }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
   </div>
-
-  {{ partial "blocks/list.html" . }}
 {{ end }}
diff --git a/layouts/papers/single.html b/layouts/papers/single.html
index 52c462c26f55241884742150ed7ac29b6b9861d9..de90ce80f355895079568a129f8893cf0fc77f59 100644
--- a/layouts/papers/single.html
+++ b/layouts/papers/single.html
@@ -19,7 +19,6 @@
       {{ partial "papers/aside.html" . }}
     </div>
   </div>
-
 </div>
 
 {{ end }}
diff --git a/layouts/partials/IsTocNeeded b/layouts/partials/IsTocNeeded
new file mode 100644
index 0000000000000000000000000000000000000000..70c307fe9bfc4a1915fc79455ef32bf29587311b
--- /dev/null
+++ b/layouts/partials/IsTocNeeded
@@ -0,0 +1,11 @@
+{{ $isNeeded := false }}
+
+{{ if eq .context.Kind "programs" }}
+  {{ $isNeeded = true }}
+{{ end }}
+
+{{ if gt (len .context.Params.blocks) 1 }}
+  {{ $isNeeded = true }}
+{{ end }}
+
+{{ return $isNeeded }}
\ No newline at end of file
diff --git a/layouts/partials/posts/aside.html b/layouts/partials/posts/aside.html
new file mode 100644
index 0000000000000000000000000000000000000000..064fdac849a2fb0f1b3aa1a6ebb54d1c632ab9b2
--- /dev/null
+++ b/layouts/partials/posts/aside.html
@@ -0,0 +1,3 @@
+<aside>
+  {{- partial "posts/post-infos.html" . -}}
+</aside>
diff --git a/layouts/partials/posts/document-nav.html b/layouts/partials/posts/document-nav.html
deleted file mode 100644
index 33479a0c7bf2322de1651410d07ebb6497cc1cb6..0000000000000000000000000000000000000000
--- a/layouts/partials/posts/document-nav.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="document-nav">
-  <div>
-    {{- partial "posts/post-infos.html" . -}}
-  </div>
-</div>
diff --git a/layouts/partials/posts/post-infos.html b/layouts/partials/posts/post-infos.html
index 0de8dc6cefc2ea0285dc1abaec26dffb5645aa21..7ea7ac722a5d1a818c3f00ea17d4481c92baa495 100644
--- a/layouts/partials/posts/post-infos.html
+++ b/layouts/partials/posts/post-infos.html
@@ -1,43 +1,41 @@
-<div>
-  <table class="table-infos">
-    <caption>{{ i18n "posts.informations" }}</caption>
-    <tbody>
+<table class="table-infos">
+  <caption>{{ i18n "posts.informations" }}</caption>
+  <tbody>
+    <tr>
+      <th scope="row">{{ i18n "posts.date" }}</th>
+      <td>
+        <time datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time>
+      </td>
+    </tr>
+    {{ range .GetTerms "authors" }}
       <tr>
-        <th scope="row">{{ i18n "posts.date" }}</th>
-        <td>
-          <time datetime="{{ .Date.Format "2006-01-02T15:04" }}">{{ .Date | time.Format ":date_long" }}</time>
+        <th scope="row">{{ i18n "posts.author" }}</th>
+        <td itemscope itemtype="https://schema.org/Person" itemprop="author">
+          <a href="{{ .Permalink }}" itemprop="url">
+            <span itemprop="name">{{ safeHTML .Params.person }}</span>
+          </a>
         </td>
       </tr>
-      {{ range .GetTerms "authors" }}
-        <tr>
-          <th scope="row">{{ i18n "posts.author" }}</th>
-          <td itemscope itemtype="https://schema.org/Person" itemprop="author">
-            <a href="{{ .Permalink }}" itemprop="url">
-              <span itemprop="name">{{ safeHTML .Params.person }}</span>
-            </a>
-          </td>
-        </tr>
-      {{ end }}
-      {{ if .Params.Categories }}
-        <tr>
-          <th scope="row">
-            {{- if gt (len .Params.Categories) 1 -}}
-              {{ i18n "posts.categories" }}
-            {{- else -}}
-              {{ i18n "posts.category" }}
-            {{- end -}}
-          </th>
-          <td itemprop="articleSection">
-            {{ partial "posts/categories.html" . }}
-          </td>
-        </tr>
-      {{ end }}
+    {{ end }}
+    {{ if .Params.Categories }}
       <tr>
-        <th scope="row">{{ i18n "posts.share" }}</th>
-        <td>
-          {{ partial "commons/share.html" }}
+        <th scope="row">
+          {{- if gt (len .Params.Categories) 1 -}}
+            {{ i18n "posts.categories" }}
+          {{- else -}}
+            {{ i18n "posts.category" }}
+          {{- end -}}
+        </th>
+        <td itemprop="articleSection">
+          {{ partial "posts/categories.html" . }}
         </td>
       </tr>
-    </tbody>
-  </table>
-</div>
+    {{ end }}
+    <tr>
+      <th scope="row">{{ i18n "posts.share" }}</th>
+      <td>
+        {{ partial "commons/share.html" }}
+      </td>
+    </tr>
+  </tbody>
+</table>
diff --git a/layouts/partials/programs/document-nav.html b/layouts/partials/programs/document-nav.html
deleted file mode 100644
index 135c46665c5c15bc4238b73a0fd05b134cf16632..0000000000000000000000000000000000000000
--- a/layouts/partials/programs/document-nav.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="document-nav">
-  <div>
-    {{- partial "programs/toc.html" . -}}
-  </div>
-</div>
diff --git a/layouts/partials/programs/index.html b/layouts/partials/programs/index.html
deleted file mode 100644
index c431afc0217581749afe979d5625149ec109cfec..0000000000000000000000000000000000000000
--- a/layouts/partials/programs/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<div class="container">
-  {{ partial "programs/image.html" .Params.image }}
-  {{ partial "programs/chapo.html" .Params.description_short }}
-</div>
-{{ partial "blocks/list.html" . }}
-<div class="container">
-  {{ partial "diplomas/diplomas-select.html" . }}
-  {{ $programs := where .Site.Pages "Section" "programs" }}
-  {{ $programs = where $programs "Permalink" "!=" .FirstSection.Permalink }}
-  {{ partial "programs/programs-list.html" $programs }}
-</div>
diff --git a/layouts/partials/programs/list.html b/layouts/partials/programs/list.html
new file mode 100644
index 0000000000000000000000000000000000000000..c45261d76a422d0c54fa1858265e887dc1a63b25
--- /dev/null
+++ b/layouts/partials/programs/list.html
@@ -0,0 +1,13 @@
+<div class="document-content">
+  <div class="container">
+    {{ partial "programs/image.html" .Params.image }}
+    {{ partial "programs/chapo.html" .Params.description_short }}
+  </div>
+  {{ partial "blocks/list.html" . }}
+  <div class="container">
+    {{ partial "diplomas/diplomas-select.html" . }}
+    {{ $programs := where .Site.Pages "Section" "programs" }}
+    {{ $programs = where $programs "Permalink" "!=" .FirstSection.Permalink }}
+    {{ partial "programs/programs-list.html" $programs }}
+  </div>
+</div>
diff --git a/layouts/partials/programs/single.html b/layouts/partials/programs/single.html
index 027cc43f8de005a786abc4bc361ea6f8c303f06f..fcc508c923ab7d91e57dbab153b8b069eb09337f 100644
--- a/layouts/partials/programs/single.html
+++ b/layouts/partials/programs/single.html
@@ -1,10 +1,10 @@
-{{ partial "toc/container.html"
-    (dict
-        "toc" "programs/toc.html"
-        "context" .
-    )
-}}
 <div class="document-content" itemscope itemtype="https://schema.org/EducationalOccupationalCredential">
+  {{ partial "toc/container.html"
+      (dict
+          "toc" "programs/toc.html"
+          "context" .
+      )
+  }}
   <meta itemprop="name" content="{{ partial "PrepareHTML" .Title }}">
   <meta itemprop="url" content="{{ .Permalink }}">
   {{- if .Params.image -}}
diff --git a/layouts/partials/toc/container.html b/layouts/partials/toc/container.html
index 7aecfb9430750272bbce014363e08ca71786f99b..55a9448f20eac910764f05d8185775a8c6d4473c 100644
--- a/layouts/partials/toc/container.html
+++ b/layouts/partials/toc/container.html
@@ -1,10 +1,14 @@
-{{- partial "toc/cta" -}}
+{{- $isTocNeeded := partial "IsTocNeeded" . -}}
 
-<div class="toc-container" aria-hidden="true">
-  <div class="toc-content">
-    {{/* TODO : quelle balise pour le titre du toc ? */}}
-    <div id="toc-title" class="toc-title">{{ i18n "commons.toc" }}</div>
-    {{- partial (printf .toc) . -}}
-    <button name="{{ i18n "commons.close" }}">{{ i18n "commons.close" }}</button>
+{{- if $isTocNeeded -}}
+  {{- partial "toc/cta" -}}
+
+  <div class="toc-container" aria-hidden="true">
+    <div class="toc-content">
+      {{/* TODO : quelle balise pour le titre du toc ? */}}
+      <div id="toc-title" class="toc-title">{{ i18n "commons.toc" }}</div>
+      {{- partial (printf .toc) . -}}
+      <button name="{{ i18n "commons.close" }}">{{ i18n "commons.close" }}</button>
+    </div>
   </div>
-</div>
\ No newline at end of file
+{{- end -}}
\ No newline at end of file
diff --git a/layouts/persons/list.html b/layouts/persons/list.html
index 543a5047c0fe86b027196818b1934f549eddc772..12aa359fd865fe79987a4a72d379be0db85a7137 100644
--- a/layouts/persons/list.html
+++ b/layouts/persons/list.html
@@ -9,15 +9,17 @@
 
   {{ partial "persons/hero.html" . }}
 
-  <div class="container">
-    {{ partial "persons/image.html" .Params.image }}
-    {{ partial "persons/chapo.html" .Params.description_short }}
-    {{- if not $is_organigram_present -}}
-      {{ partial "persons/taxonomies.html" . }}
-      {{ partial "persons/list.html" . }}
-    {{- end -}}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "persons/image.html" .Params.image }}
+      {{ partial "persons/chapo.html" .Params.description_short }}
+      {{- if not $is_organigram_present -}}
+        {{ partial "persons/taxonomies.html" . }}
+        {{ partial "persons/list.html" . }}
+      {{- end -}}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
   </div>
 
-  {{ partial "blocks/list.html" . }}
-
 {{ end }}
diff --git a/layouts/persons/single.html b/layouts/persons/single.html
index 8c0b89cdeb768cc8c56bd064f03cd0cb6209f193..68ab530e26a5ffc48ec8974b486695b069c806ae 100644
--- a/layouts/persons/single.html
+++ b/layouts/persons/single.html
@@ -16,8 +16,8 @@
 
   {{ partial "persons/hero-single.html" . }}
 
-  <div class="container">
-    <div class="document-content" itemscope itemtype="https://schema.org/Person">
+  <div class="document-content container">
+    <div itemscope itemtype="https://schema.org/Person">
       <meta itemprop="name" content="{{ partial "PrepareHTML" .Title }}">
       <meta itemprop="url" content="{{ .Permalink }}">
       {{- if .Params.image -}}
@@ -68,6 +68,5 @@
     {{ if $papersForResearcher }}
       {{ partial "persons/papers.html" (dict "papers" $papersForResearcher "slug" $slug) }}
     {{ end }}
-
   </div>
 {{ end }}
diff --git a/layouts/posts/list.html b/layouts/posts/list.html
index 428fa21c7c5aa11c69124891f6bca98634a26fa5..7faea74d78e996644b8fd8e11c2d9c19c5d48977 100644
--- a/layouts/posts/list.html
+++ b/layouts/posts/list.html
@@ -1,17 +1,19 @@
 {{ define "main" }}
   {{ partial "posts/hero-list.html" . }}
-  {{ partial "commons/list-content.html" . }}
-
-  <div class="container">
-    {{ partial "posts/image.html" .Params.image }}
-    {{ partial "posts/chapo.html" .Params.description_short }}
-  </div>
-
-  {{ partial "blocks/list.html" . }}
-
-  <div class="container">
-    {{ partial "posts/posts.html" . }}
-    {{ partial "commons/pagination.html" . }}
+  <div class="document-content">
+    {{ partial "commons/list-content.html" . }}
+  
+    <div class="container">
+      {{ partial "posts/image.html" .Params.image }}
+      {{ partial "posts/chapo.html" .Params.description_short }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
+  
+    <div class="container">
+      {{ partial "posts/posts.html" . }}
+      {{ partial "commons/pagination.html" . }}
+    </div>
   </div>
 
 {{ end }}
diff --git a/layouts/posts/single.html b/layouts/posts/single.html
index 3766091d3112f6dd2880556a48f72d9fea470126..aa864e4e7ced5f1e5c0e6e2985b668249bf303e0 100644
--- a/layouts/posts/single.html
+++ b/layouts/posts/single.html
@@ -1,7 +1,7 @@
 {{ define "main" }}
   {{ partial "posts/hero-single.html" . }}
 
-  <section itemscope itemtype="https://schema.org/NewsArticle">
+  <div class="document-content" itemscope itemtype="https://schema.org/NewsArticle">
     <meta itemprop="headline" content="{{ partial "PrepareHTML" .Title }}">
     <meta itemprop="url" content="{{ .Permalink }}">
     {{ if .Date }}<meta itemprop="datePublished" content="{{ .Date.Format "2006-01-02T15:04" }}">{{ end }}
@@ -9,7 +9,7 @@
     {{ if .Summary }}<meta itemprop="description" content="{{ partial "PrepareHTML" .Summary }}">{{ end }}
 
     <div class="content-blocks">
-      {{ partial "posts/document-nav.html" . }}
+      {{ partial "posts/aside.html" . }}
       <div class="blocks blocks-chapo">
         <div class="container">
           <div class="block-content">
@@ -28,5 +28,5 @@
         </div>
       </div>
     </div>
-  </section>
+  </div>
 {{ end }}
diff --git a/layouts/programs/list.html b/layouts/programs/list.html
index e511e7449d556887964019bb243d2bb3468548b1..db2c2b6b0d703579d20dd42c49efdc100a215010 100644
--- a/layouts/programs/list.html
+++ b/layouts/programs/list.html
@@ -4,6 +4,6 @@
     {{ partial "programs/single.html" . }}
   {{ else }}
     {{ partial "programs/hero.html" . }}
-    {{ partial "programs/index.html" . }}
+    {{ partial "programs/list.html" . }}
   {{ end }}
 {{ end }}
diff --git a/layouts/researchers/list.html b/layouts/researchers/list.html
index 45063450678088f7672202e389fac4d027b363af..3a3d9f118f298956e4b1d5a9041d3d89cb45e2e4 100644
--- a/layouts/researchers/list.html
+++ b/layouts/researchers/list.html
@@ -2,15 +2,16 @@
 
   {{ partial "persons/hero.html" . }}
 
-  <div class="container">
-    {{ partial "persons/image.html" .Params.image }}
-    {{ partial "persons/chapo.html" .Params.description_short }}
-  </div>
-
-
-  {{ partial "blocks/list.html" . }}
-
-  <div class="container">
-    {{ partial "persons/list-specific.html" . }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "persons/image.html" .Params.image }}
+      {{ partial "persons/chapo.html" .Params.description_short }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
+  
+    <div class="container">
+      {{ partial "persons/list-specific.html" . }}
+    </div>
   </div>
 {{ end }}
diff --git a/layouts/researchers/term.html b/layouts/researchers/term.html
index 9f306a872b56d233b23bc29f5bf207aeb89542b3..cff40c27b912857af449d7d60d9cd9a8a4213f4d 100644
--- a/layouts/researchers/term.html
+++ b/layouts/researchers/term.html
@@ -4,7 +4,7 @@
           "title" .Title
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     {{ partial "papers/papers.html" . }}
     {{ partial "commons/pagination.html" . }}
   </div>
diff --git a/layouts/sitemap/list.html b/layouts/sitemap/list.html
index 0f3afcc0d83575ceb929529ad74eff40916935e4..fe90eda7eef2795dd2920d1820ee7418e98e0c39 100644
--- a/layouts/sitemap/list.html
+++ b/layouts/sitemap/list.html
@@ -5,7 +5,7 @@
           "image" .Params.image
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     <div class="content">
       {{- partial "sitemap/document-nav" . -}}
       <div>
diff --git a/layouts/teachers/list.html b/layouts/teachers/list.html
index 45063450678088f7672202e389fac4d027b363af..3a3d9f118f298956e4b1d5a9041d3d89cb45e2e4 100644
--- a/layouts/teachers/list.html
+++ b/layouts/teachers/list.html
@@ -2,15 +2,16 @@
 
   {{ partial "persons/hero.html" . }}
 
-  <div class="container">
-    {{ partial "persons/image.html" .Params.image }}
-    {{ partial "persons/chapo.html" .Params.description_short }}
-  </div>
-
-
-  {{ partial "blocks/list.html" . }}
-
-  <div class="container">
-    {{ partial "persons/list-specific.html" . }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "persons/image.html" .Params.image }}
+      {{ partial "persons/chapo.html" .Params.description_short }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
+  
+    <div class="container">
+      {{ partial "persons/list-specific.html" . }}
+    </div>
   </div>
 {{ end }}
diff --git a/layouts/teachers/term.html b/layouts/teachers/term.html
index 0f212cd9261f07e50feb52fd1a3f68d223d81bf0..81bbe4706ce9cb6955f6a31b52f67a58ba9dd45e 100644
--- a/layouts/teachers/term.html
+++ b/layouts/teachers/term.html
@@ -4,7 +4,7 @@
           "title" .Title
           "context" .
         ) -}}
-  <div class="container">
+  <div class="document-content container">
     {{ partial "programs/programs.html" .Paginator.Pages }}
     {{ partial "commons/pagination.html" . }}
   </div>
diff --git a/layouts/volumes/list.html b/layouts/volumes/list.html
index e896be83b87a570c054cb0d2f9d6a62b60453bc1..bd6792cbe2ba30ba05af3f7c7c44eff9962747c3 100644
--- a/layouts/volumes/list.html
+++ b/layouts/volumes/list.html
@@ -1,9 +1,12 @@
 {{ define "main" }}
   {{ partial "volumes/hero.html" . }}
-  <div class="container">
-    {{ partial "volumes/volumes.html" . }}
-    {{ partial "commons/pagination.html" . }}
-  </div>
 
-  {{ partial "blocks/list.html" . }}
-{{ end }}
+  <div class="document-content">
+    <div class="container">
+      {{ partial "volumes/volumes.html" . }}
+      {{ partial "commons/pagination.html" . }}
+    </div>
+  
+    {{ partial "blocks/list.html" . }}
+  </div>
+  {{ end }}
diff --git a/layouts/volumes/term.html b/layouts/volumes/term.html
index dffffc527934d84a42f56f11a685b12a4ed559df..e81b30167e1288d9ef762a09e6dccb5dada5f5b3 100644
--- a/layouts/volumes/term.html
+++ b/layouts/volumes/term.html
@@ -1,24 +1,23 @@
 {{ define "main" }}
   {{ partial "volumes/hero.html" . }}
 
-<div class="document-content" itemscope itemtype="https://schema.org/PublicationVolume">
-  <meta itemprop="name" content="{{ partial "PrepareHTML" .Title }}">
-  {{- if .Params.image -}}
-    {{- $image := partial "GetMedia" .Params.image.id -}}
-    {{- if $image -}}
-      {{- $url := $image.url -}}
-      <meta itemprop="image" content="{{ $url }}">
+  <div class="document-content" itemscope itemtype="https://schema.org/PublicationVolume">
+    <meta itemprop="name" content="{{ partial "PrepareHTML" .Title }}">
+    {{- if .Params.image -}}
+      {{- $image := partial "GetMedia" .Params.image.id -}}
+      {{- if $image -}}
+        {{- $url := $image.url -}}
+        <meta itemprop="image" content="{{ $url }}">
+      {{- end -}}
     {{- end -}}
-  {{- end -}}
 
-  <div class="container">
-    <div class="content">
-      {{ partial "volumes/image.html" . }}
-      {{ partial "volumes/description.html" . }}
-      {{ partial "volumes/document-aside.html" . }}
-      {{ partial "volumes/table-contents.html" . }}
+    <div class="container">
+      <div class="content">
+        {{ partial "volumes/image.html" . }}
+        {{ partial "volumes/description.html" . }}
+        {{ partial "volumes/document-aside.html" . }}
+        {{ partial "volumes/table-contents.html" . }}
+      </div>
     </div>
   </div>
-</div>
-
 {{ end }}