diff --git a/assets/sass/_theme/sections/diplomas.sass b/assets/sass/_theme/sections/diplomas.sass
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..956e6c7be15c75dd707f617701bc81231be87f8b 100644
--- a/assets/sass/_theme/sections/diplomas.sass
+++ b/assets/sass/_theme/sections/diplomas.sass
@@ -0,0 +1,17 @@
+ul.diplomas
+    @include list-reset
+    > li
+        margin-bottom: $spacing3
+        > a
+            @extend .h3
+        .programs
+            li
+                display: block
+        .program
+            div
+                @include media-breakpoint-up(md)
+                    display: flex
+                    > p
+                        width: col(6)
+            .title
+                @extend .h4
diff --git a/assets/sass/_theme/sections/programs.sass b/assets/sass/_theme/sections/programs.sass
index d05453f79aad5c1c8d9455cff33411f141c6b68d..a0d8dbc943cd647754fdf644faf0ef383caaef7c 100644
--- a/assets/sass/_theme/sections/programs.sass
+++ b/assets/sass/_theme/sections/programs.sass
@@ -1,4 +1,4 @@
-// .programs__section
+//.programs__section
 //     .page-with-blocks
 //         .hero
 //             margin-bottom: 3rem
@@ -46,6 +46,34 @@
 //             margin-top: -2rem
 //             @include grid(2, lg)
 
+
+.program
+    @include widget
+
+section.programs
+    @include grid(2, md)
+    @include grid(3, xl)
+
+ol.programs
+    @include list-reset
+    > li
+        border-bottom: 1px solid $main-border-color
+        padding-bottom: $spacing1
+        padding-top: $spacing1
+        > .title
+            @extend .h3
+
+        @include media-breakpoint-up(md)
+            align-items: baseline
+            display: flex
+            > a,
+            > p
+                width: col(6)
+            > .title
+                & + a
+                    text-align: right
+
+
 .programs__section
     .lead
         padding-top: $spacing4
diff --git a/layouts/diplomas/list.html b/layouts/diplomas/list.html
index 8115cfd492f384ea915e37e8cd0d9ca7bc8e6aba..66ab3db671ce993d6e583b4c30694070c6ef3b65 100644
--- a/layouts/diplomas/list.html
+++ b/layouts/diplomas/list.html
@@ -2,12 +2,14 @@
   {{ partial "diplomas/hero-list.html" . }}
 
   <div class="container">
-    {{ partial "programs/image.html" .Params.image }}
+    {{ partial "diplomas/image.html" .Params.image }}
     {{ partial "diplomas/chapo.html" .Params.description_short }}
   </div>
   {{ partial "blocks/list.html" .Params.blocks }}
   <div class="container">
+    {{ .Scratch.Set "show_programs" true }}
     {{ partial "diplomas/diplomas.html" . }}
+    {{ .Scratch.Delete "show_programs" }}
   </div>
 
 {{ end }}
diff --git a/layouts/diplomas/term.html b/layouts/diplomas/term.html
index 46ca90d8007d6365b6759a2c5b06c3b1d43dab4f..8d248e7cdd1744f4c900373280bab72d0e4dd5f0 100644
--- a/layouts/diplomas/term.html
+++ b/layouts/diplomas/term.html
@@ -3,6 +3,6 @@
 
   {{ partial "blocks/list.html" .Params.blocks }}
   <div class="container">
-    {{ partial "programs/programs.html" .Pages }}
+    {{ partial "programs/programs-list.html" .Pages }}
   </div>
 {{ end }}
diff --git a/layouts/partials/diplomas/diplomas.html b/layouts/partials/diplomas/diplomas.html
index 274aebe097b5816fe0db1bd56fa0e7e5559bc12f..e4f78898b2ad0b8a5d52a33fd0909f3fff1c1ae3 100644
--- a/layouts/partials/diplomas/diplomas.html
+++ b/layouts/partials/diplomas/diplomas.html
@@ -1,3 +1,7 @@
+{{ $show_programs := false }}
+{{- if .Scratch.Get "show_programs" }}
+  {{ $show_programs = true }}
+{{ end -}}
 <ul class="diplomas">
   {{ range .Paginator.Pages }}
     <li>
@@ -7,6 +11,15 @@
           ({{ partial "PrepareHTML" . }})
         {{ end }}
       </a>
+      {{- if $show_programs }}
+        <ol class="programs">
+          {{- range .Pages -}}
+            <li>
+              {{ partial "programs/program.html" . }}
+            </li>
+          {{- end -}}
+        </ol>
+      {{ end -}}
     </li>
   {{ end }}
 </ul>
diff --git a/layouts/partials/programs/index.html b/layouts/partials/programs/index.html
index 2f20bd90f1d114d7055c8dd78793fb4267e97147..fa6ae8245e9aee8040d04c427dfd97d0067e9267 100644
--- a/layouts/partials/programs/index.html
+++ b/layouts/partials/programs/index.html
@@ -2,24 +2,10 @@
   {{ partial "programs/image.html" .Params.image }}
   {{ partial "programs/chapo.html" .Params.description_short }}
 </div>
-
 {{ partial "blocks/list.html" .Params.blocks }}
-
-{{ $len := (len .Pages) }}
-{{ range $index, $programs := sort .Pages ".Params.position" }}
-  <div class="container">
-    <div class="programs">
-      <div class="highlighted">
-        {{ partial "programs/program.html" . }}
-      </div>
-      {{ range sort .Pages ".Params.position"  }}
-      <div>
-        {{ .Scratch.Set "with_image" true }}
-        {{ partial "programs/program.html" . }}
-        {{ .Scratch.Delete "with_image" }}
-      </div>
-      {{ end }}
-    </div>
-    {{ if ne (add $index 1) $len }}<hr>{{ end }}
-  </div>
-{{ end }}
+<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/program.html b/layouts/partials/programs/program.html
index 7a469d393fc9b5797c833864b850c436a56c1e33..dc14770fbd51c86d7c2d7c50d6fe5a619a575198 100644
--- a/layouts/partials/programs/program.html
+++ b/layouts/partials/programs/program.html
@@ -11,7 +11,7 @@
       </a>
     </p>
     {{ if (partial "GetTextFromHTML" .Params.presentation) }}
-      {{- partial "PrepareHTML" .Params.presentation -}}
+      <p>{{- partial "PrepareHTML" .Params.presentation -}}</p>
     {{ end }}
   </div>
   {{- if $with_image }}
diff --git a/layouts/partials/programs/programs-list.html b/layouts/partials/programs/programs-list.html
index 478142e49e9ebbcdc51947fb21e001e11da3c897..c718510e869aa23f7dc024bf08221b110ac2db63 100644
--- a/layouts/partials/programs/programs-list.html
+++ b/layouts/partials/programs/programs-list.html
@@ -3,7 +3,7 @@
   {{- range . -}}
     <li>
       {{- $title := partial "PrepareHTML" .Title -}}
-      <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}">
+      <a href="{{ .Permalink }}" class="title" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}">
         {{- $title -}}
       </a>
       {{- with .Params.diplomas -}}