diff --git a/app/scodoc/sco_dept.py b/app/scodoc/sco_dept.py
index 9f861de8201681341a1f2f0222d1cc5dea22ff59..1f980c14691980277d66a01bd3fcf86863415c2e 100644
--- a/app/scodoc/sco_dept.py
+++ b/app/scodoc/sco_dept.py
@@ -223,9 +223,9 @@ def _sem_table_gt(formsemestres: Query, showcodes=False, fmt="html") -> GenTable
     columns_ids = (
         "lockimg",
         "published",
+        "dash_mois_fin",
         "semestre_id_n",
         "modalite",
-        "dash_mois_fin",
         "titre_resp",
         "nb_inscrits",
         "formation",
@@ -275,16 +275,8 @@ def _style_sems(sems: list[dict], fmt="html") -> list[dict]:
     """ajoute quelques attributs de présentation pour la table"""
     is_h = fmt == "html"
     if is_h:
-        icon_published = scu.icontag(
-            "eye_img",
-            border="0",
-            title="Bulletins publiés sur la passerelle étudiants",
-        )
-        icon_hidden = scu.icontag(
-            "hide_img",
-            border="0",
-            title="Bulletins NON publiés sur la passerelle étudiants",
-        )
+        icon_published = scu.ICON_PUBLISHED
+        icon_hidden = scu.ICON_HIDDEN
     else:
         icon_published = "publié"
         icon_hidden = "non publié"
diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py
index 55c8d8ae4698cd4724d7ae349b7fa338a69a19d3..51d8a5d434f28584d0bb120c9c7a03ed0ed245cc 100644
--- a/app/scodoc/sco_utils.py
+++ b/app/scodoc/sco_utils.py
@@ -1444,6 +1444,15 @@ def icontag(name, file_format="png", no_size=False, **attrs):
 ICON_PDF = icontag("pdficon16x20_img", title="Version PDF")
 ICON_XLS = icontag("xlsicon_img", title="Export tableur (xlsx)")
 
+ICON_PUBLISHED = """<img src="/ScoDoc/static/icons/eye_visible_green.svg"
+    width="24" height="19" border="0"
+    title="Bulletins publiés sur la passerelle étudiants"
+    alt="Bulletins publiés sur la passerelle étudiants" />"""
+ICON_HIDDEN = """<img src="/ScoDoc/static/icons/eye_hidden.svg"
+    width="24" height="19" border="0"
+    title="Bulletins NON publiés sur la passerelle étudiants"
+    alt="Bulletins NON publiés sur la passerelle étudiants" />"""
+
 # HTML emojis
 EMO_WARNING = "&#9888;&#65039;"  # warning /!\
 EMO_RED_TRIANGLE_DOWN = "&#128315;"  # red triangle pointed down
diff --git a/app/static/css/scodoc.css b/app/static/css/scodoc.css
index eb6793e54660b2cd90c630fb2f5a45c4b3a3eba4..31ceab22cfafe0381f39eddab70b475e9d0286b1 100644
--- a/app/static/css/scodoc.css
+++ b/app/static/css/scodoc.css
@@ -603,31 +603,6 @@ h2.listesems {
   margin-bottom: 0px;
 }
 
-/* table.semlist tr.gt_firstrow th {} */
-
-table.semlist tr td {
-  border: none;
-}
-
-table.semlist tbody tr a.stdlink,
-table.semlist tbody tr a.stdlink:visited {
-  color: navy;
-  text-decoration: none;
-}
-
-table.semlist tr a.stdlink:hover {
-  color: red;
-  text-decoration: underline;
-}
-
-table.semlist tr td.semestre_id {
-  text-align: right;
-}
-
-table.semlist tbody tr td.modalite {
-  text-align: left;
-  padding-right: 1em;
-}
 
 /***************************/
 /* Statut des cellules     */
@@ -682,36 +657,6 @@ table.semlist tbody tr td.modalite {
   }
 }
 
-div#gtrcontent table.semlist tbody tr.css_S-1 td {
-  background-color: rgb(211, 213, 255);
-}
-
-div#gtrcontent table.semlist tbody tr.css_S1 td {
-  background-color:#e9efef;
-}
-
-div#gtrcontent table.semlist tbody tr.css_S2 td {
-  background-color: #d4ebd7;
-}
-
-div#gtrcontent table.semlist tbody tr.css_S3 td {
-  background-color: #bedebe;
-}
-
-div#gtrcontent table.semlist tbody tr.css_S4 td {
-  background-color:  #afd7ad;
-}
-div#gtrcontent table.semlist tbody tr.css_S5 td {
-  background-color: #a0cd9a;
-}
-div#gtrcontent table.semlist tbody tr.css_S6 td {
-  background-color: #7dcf78;
-}
-
-div#gtrcontent table.semlist tbody tr.css_MEXT td {
-  color: #fefcdf;
-}
-
 /* ----- Liste des news ----- */
 
 div.scobox.news {
@@ -1682,8 +1627,7 @@ h2.formsemestre,
 .formsemestre_page_title .eye,
 formsemestre_page_title .eye img {
   display: inline-block;
-  vertical-align: middle;
-  margin-bottom: 2px;
+  margin-left: 12px;
 }
 
 .formsemestre_page_title .infos span.lock,
diff --git a/app/static/icons/eye_hidden.svg b/app/static/icons/eye_hidden.svg
new file mode 100644
index 0000000000000000000000000000000000000000..17c45dbf5387bdf6b5acbea5c80b830fb250717b
--- /dev/null
+++ b/app/static/icons/eye_hidden.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Capa_1"
+   enable-background="new 0 0 511.985 511.985"
+   height="349.46161"
+   viewBox="0 0 511.985 349.45137"
+   width="512"
+   version="1.1"
+   sodipodi:docname="eye_hidden.svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs4" />
+  <g
+     id="g4"
+     transform="translate(5e-4,-81.266625)">
+    <g
+       id="g3">
+      <g
+         id="Layer_2_00000011005494452173574160000003459929325544675728_">
+        <g
+           id="hide_00000049195420225258176850000009593604245528296082_">
+          <path
+             d="m 255.992,406.518 c -110.53,0 -208.51,-87.52 -245.5,-125.15 -13.99,-14.024 -13.99,-36.726 0,-50.75 37,-37.63 135,-125.16 245.5,-125.16 110.5,0 208.51,87.53 245.5,125.16 13.99,14.024 13.99,36.726 0,50.75 -37,37.63 -134.98,125.15 -245.5,125.15 z m 0,-271.06 c -99.18,0 -189.76,81.26 -224.11,116.19 -2.397,2.352 -2.434,6.201 -0.082,8.598 0.027,0.028 0.054,0.055 0.082,0.082 34.34,34.94 124.92,116.19 224.11,116.19 99.19,0 189.75,-81.25 224.1,-116.19 2.397,-2.352 2.434,-6.201 0.082,-8.598 -0.027,-0.028 -0.054,-0.055 -0.082,-0.082 -34.35,-34.93 -124.93,-116.19 -224.1,-116.19 z"
+             style="fill:red;"
+             id="path1" />
+          <path
+             d="m 255.992,346.268 c -49.871,0.006 -90.304,-40.419 -90.31,-90.29 -0.006,-49.871 40.419,-90.304 90.29,-90.31 49.871,-0.006 90.304,40.419 90.31,90.29 v 0.01 c -0.055,49.845 -40.445,90.239 -90.29,90.3 z m 0,-150.59 c -33.303,-0.006 -60.304,26.987 -60.31,60.29 -0.006,33.303 26.987,60.304 60.29,60.31 33.303,0.006 60.304,-26.987 60.31,-60.29 0,-0.007 0,-0.013 0,-0.02 -0.05,-33.273 -27.017,-60.231 -60.29,-60.27 z"
+             style="fill:red;"
+             id="path2" />
+          <path
+             d="m 96.262,430.718 c -8.284,0.004 -15.003,-6.709 -15.007,-14.993 -0.002,-3.982 1.58,-7.802 4.397,-10.617 l 319.45,-319.45 c 5.86,-5.857 15.358,-5.855 21.215,0.005 5.857,5.86 5.855,15.358 -0.005,21.215 l -319.45,319.44 c -2.806,2.819 -6.621,4.403 -10.6,4.4 z"
+             style="fill:red;"
+             id="path3" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/app/static/icons/eye_img.png b/app/static/icons/eye_img.png
deleted file mode 100644
index 8d68bac0f17cfcdfd6340c9e931ed117e263bab4..0000000000000000000000000000000000000000
Binary files a/app/static/icons/eye_img.png and /dev/null differ
diff --git a/app/static/icons/eye_visible.svg b/app/static/icons/eye_visible.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fa56655d35a83c8fae31de4db545fb87f986e26
--- /dev/null
+++ b/app/static/icons/eye_visible.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Layer_1"
+   enable-background="new 0 0 512 512"
+   height="318.62299"
+   viewBox="0 0 474.22501 318.62299"
+   width="474.22501"
+   version="1.1"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs1" />
+  <path
+     clip-rule="evenodd"
+     d="m 441.578,168.115 c -41.315,74.193 -119.667,120.282 -204.438,120.282 -84.826,0 -163.177,-46.089 -204.493,-120.282 -3.182,-5.761 -3.182,-11.851 0,-17.607 C 73.963,76.316 152.314,30.232 237.14,30.232 c 84.771,0 163.122,46.084 204.438,120.276 3.238,5.756 3.238,11.846 0,17.607 z M 467.97,135.798 C 421.332,52.031 332.885,0 237.14,0 141.34,0 52.893,52.031 6.255,135.798 c -8.34,14.946 -8.34,32.081 0,47.016 46.638,83.767 135.085,135.809 230.885,135.809 95.745,0 184.192,-52.042 230.83,-135.809 8.34,-14.934 8.34,-32.07 0,-47.016 z m -230.83,85.528 c 34.183,0 62.001,-27.818 62.001,-62.017 0,-34.199 -27.818,-62.017 -62.001,-62.017 -34.238,0 -62.056,27.818 -62.056,62.017 0,34.199 27.819,62.017 62.056,62.017 z m 0,-154.266 c -50.918,0 -92.288,41.387 -92.288,92.25 0,50.874 41.371,92.244 92.288,92.244 50.863,0 92.233,-41.371 92.233,-92.244 0,-50.863 -41.37,-92.25 -92.233,-92.25 z"
+     fill-rule="evenodd"
+     id="path1" />
+</svg>
diff --git a/app/static/icons/eye_visible_green.svg b/app/static/icons/eye_visible_green.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b23e22f8b0a1625b2b0b951321de11ea54814122
--- /dev/null
+++ b/app/static/icons/eye_visible_green.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Layer_1"
+   enable-background="new 0 0 512 512"
+   height="318.62299"
+   viewBox="0 0 474.22501 318.62299"
+   width="474.22501"
+   version="1.1"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <defs
+     id="defs1" />
+  <path
+     clip-rule="evenodd"
+     d="m 441.578,168.115 c -41.315,74.193 -119.667,120.282 -204.438,120.282 -84.826,0 -163.177,-46.089 -204.493,-120.282 -3.182,-5.761 -3.182,-11.851 0,-17.607 C 73.963,76.316 152.314,30.232 237.14,30.232 c 84.771,0 163.122,46.084 204.438,120.276 3.238,5.756 3.238,11.846 0,17.607 z M 467.97,135.798 C 421.332,52.031 332.885,0 237.14,0 141.34,0 52.893,52.031 6.255,135.798 c -8.34,14.946 -8.34,32.081 0,47.016 46.638,83.767 135.085,135.809 230.885,135.809 95.745,0 184.192,-52.042 230.83,-135.809 8.34,-14.934 8.34,-32.07 0,-47.016 z m -230.83,85.528 c 34.183,0 62.001,-27.818 62.001,-62.017 0,-34.199 -27.818,-62.017 -62.001,-62.017 -34.238,0 -62.056,27.818 -62.056,62.017 0,34.199 27.819,62.017 62.056,62.017 z m 0,-154.266 c -50.918,0 -92.288,41.387 -92.288,92.25 0,50.874 41.371,92.244 92.288,92.244 50.863,0 92.233,-41.371 92.233,-92.244 0,-50.863 -41.37,-92.25 -92.233,-92.25 z"
+     fill-rule="evenodd"
+     style="fill: rgb(29, 124, 39);"
+     id="path1" />
+</svg>
diff --git a/app/templates/formsemestre_header.j2 b/app/templates/formsemestre_header.j2
index e8c1656076a3e0495855faffc77c16912420941a..dad4565a79b9e012a55249dca1a053775e6b0797 100644
--- a/app/templates/formsemestre_header.j2
+++ b/app/templates/formsemestre_header.j2
@@ -28,9 +28,9 @@
             <a href="{{url_for('notes.formsemestre_change_publication_bul', scodoc_dept=g.scodoc_dept,
                 formsemestre_id=sco.sem.id)}}">
                 {% if sco.sem.bul_hide_xml %}
-                {{ scu.icontag("hide_img", border="0", title="Bulletins NON publiés sur la passerelle étudiants")|safe}}
+                {{ scu.ICON_HIDDEN|safe}}
                 {% else %}
-                {{ scu.icontag("eye_img", border="0", title="Bulletins publiés sur la passerelle étudiants")|safe }}
+                {{ scu.ICON_PUBLISHED|safe }}
                 {% endif %}
                 {% endif %}
         </span>
diff --git a/app/templates/formsemestre_page_title.j2 b/app/templates/formsemestre_page_title.j2
index 5674dc32b7f3b965d5e3e1f6b2ada26ecbf328c8..d90cde886d1940257ddd2fe865762b30c5237582 100644
--- a/app/templates/formsemestre_page_title.j2
+++ b/app/templates/formsemestre_page_title.j2
@@ -31,9 +31,9 @@
             scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre.id )
         }}">{%-
                 if formsemestre.bul_hide_xml -%}
-                {{scu.icontag("hide_img", border="0", title="Bulletins NON publiés sur la passerelle étudiants")|safe}}
+                {{scu.ICON_HIDDEN|safe}}
                 {%- else -%}
-                {{scu.icontag("eye_img", border="0", title="Bulletins publiés sur la passerelle étudiants")|safe}}
+                {{scu.ICON_PUBLISHED|safe}}
                 {%- endif -%}
             </a></span>
     </div>
diff --git a/app/templates/scolar/index.j2 b/app/templates/scolar/index.j2
index 773e093bc08d7173b9fab5c2733c593d262d88f0..c5c243f2b19d801745102af72cc61eb38723555b 100644
--- a/app/templates/scolar/index.j2
+++ b/app/templates/scolar/index.j2
@@ -17,8 +17,8 @@ table.listesems tr td.titresem {
     font-size: 110%;
 }
 table.semlist tr td.datesem {
-  font-size: 80%;
   text-align: center;
+  white-space: nowrap;
 }
 
 table.semlist tr td.semestre_id_n {
@@ -28,6 +28,57 @@ table.semlist tr td.nb_inscrits {
     text-align: center;
 }
 
+
+div#gtrcontent table.semlist tbody tr.css_S-1 td {
+  background-color:rgb(176, 214, 226);
+}
+
+div#gtrcontent table.semlist tbody tr.css_S1 td {
+  background-color:#e9efef;
+}
+
+div#gtrcontent table.semlist tbody tr.css_S2 td {
+  background-color: #d4ebd7;
+}
+
+div#gtrcontent table.semlist tbody tr.css_S3 td {
+  background-color: #bedebe;
+}
+
+div#gtrcontent table.semlist tbody tr.css_S4 td {
+  background-color:  #afd7ad;
+}
+div#gtrcontent table.semlist tbody tr.css_S5 td {
+  background-color: #a0cd9a;
+}
+div#gtrcontent table.semlist tbody tr.css_S6 td {
+  background-color: #7dcf78;
+}
+
+div#gtrcontent table.semlist tbody tr.css_MEXT td {
+  color: #fefcdf;
+}
+
+table.semlist tr td {
+  border: none;
+}
+
+table.semlist tbody tr a.stdlink,
+table.semlist tbody tr a.stdlink:visited {
+  color: navy;
+  text-decoration: none;
+}
+
+div#gtrcontent table.semlist tr a.stdlink:hover {
+  color: red;
+  text-decoration: underline;
+}
+
+table.semlist tbody tr td.modalite {
+  text-align: left;
+  padding-right: 1em;
+}
+
 </style>
 
 {# News #}
diff --git a/sco_version.py b/sco_version.py
index 3c2ec6c4998f260e65bc935899aa1591f9990658..144fe706edf81b9c50884e12adeaf5867febc4fd 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -1,7 +1,7 @@
 # -*- mode: python -*-
 # -*- coding: utf-8 -*-
 
-SCOVERSION = "9.6.953"
+SCOVERSION = "9.6.954"
 
 SCONAME = "ScoDoc"