diff --git a/app/scodoc/sco_page_etud.py b/app/scodoc/sco_page_etud.py
index 26b4ccbf6d502938d21aa0ace8ff733068b19e0a..41025c8064d0ee4aa0a8ba15bae708cb1fd3fd7e 100644
--- a/app/scodoc/sco_page_etud.py
+++ b/app/scodoc/sco_page_etud.py
@@ -44,6 +44,7 @@ from app.models import (
     Identite,
     ScoDocSiteConfig,
     ValidationDUT120,
+    ModuleImpl
 )
 from app.scodoc import (
     codes_cursus,
@@ -61,6 +62,7 @@ from app.scodoc.sco_bulletins import etud_descr_situation_semestre
 from app.scodoc.sco_exceptions import ScoValueError
 from app.scodoc.sco_formsemestre_validation import formsemestre_recap_parcours_table
 from app.scodoc.sco_permissions import Permission
+
 import app.scodoc.sco_utils as scu
 
 
@@ -425,10 +427,13 @@ def fiche_etud(etudid=None):
     info["module_html"] = f"""
     <div id=ressources  class="ui-accordion ui-widget ui-helper-reset"
     data-etudid="{info['etudid']}">
-    <span class="modules ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-accordion-icons">  Ressources: </span>
+    <span class="modules ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-accordion-icons">  Modules: </span>
     <div> <form>
     <ul class="listressources">
-    rien mdr
+    {get_ressources(etud)}
+    </ul>
+
+    <ul class="listressources">
     </ul>
     </form> </div>
     </div>
@@ -669,6 +674,73 @@ def fiche_etud(etudid=None):
         ],
     )
 
+def get_ressources(etud: Identite) -> str:
+    """Liste des ressources associées à un étudiant"""
+    res = ""
+    etudFormsemstres = list[FormSemestre](etud.get_formsemestres())
+    if not etudFormsemstres:
+        return res
+    for formsemestre  in etudFormsemstres:
+        """Ajouter un div pour chaque semestre"""
+        res += f"""
+        <div class="semestre">
+            S{formsemestre.semestre_id}</a>
+            <div>
+        """
+        """Ajouter un div pour chaque ressource"""
+
+        ues = formsemestre.get_ues()
+        """Ranger les UE selon leurs types (code venant de formsemestres.py)"""
+        m_list = {
+        scu.ModuleType.RESSOURCE: [],
+        scu.ModuleType.SAE: [],
+        scu.ModuleType.STANDARD: [],
+        scu.ModuleType.MALUS: [],
+        }
+        for modimpl in formsemestre.modimpls_sorted:
+            d = modimpl.to_dict(convert_objects=True)
+            m_list[modimpl.module.module_type].append(d)
+
+
+        if m_list[scu.ModuleType.RESSOURCE]:
+
+            res += f"""<section>
+                <div>
+                    <h2> Ressources </h2>
+                    """
+            for ressource in m_list[scu.ModuleType.RESSOURCE]:
+                res += f"""
+                    <div class="module">
+                            <h3> <a href="" target="_blank"> {ressource["module"]["code"]}</a> {ressource["module"]["titre"]} </h3>
+                    </div>
+                    <div class="ressource_desc">
+                    </div>
+                """
+
+            res += f"""</div> </section>"""
+
+        
+        if m_list[scu.ModuleType.SAE]:
+            res += f"""<section>
+                <div>
+                    <h2> SAE </h2>
+                    """
+            for sae in m_list[scu.ModuleType.SAE]:
+                res += f"""
+                <div class="module">
+                            <h3> <a href="" target="_blank"> {sae["module"]["code"]}</a> {sae["module"]["titre"]} </h3>
+                    </div>
+                    <div class="ressource_desc">
+                    </div>
+                """
+
+            res += f"""</div> </section>"""
+
+        res += f"""
+            </div>
+        </div>
+        """
+    return res
 
 def _format_adresse(adresse: Adresse | None) -> dict:
     """{ "telephonestr" : ..., "telephonemobilestr" : ... } (formats html)"""