diff --git a/tetras_extraction/macao_12/script/templates/activite.rq b/tetras_extraction/macao_12/script/templates/activite.rq
index 9f4ea8bdbbd4f70a09a6079f43929e7fc46bed02..057e09979d31420c68e71e32e0e4413e1e5d721c 100644
--- a/tetras_extraction/macao_12/script/templates/activite.rq
+++ b/tetras_extraction/macao_12/script/templates/activite.rq
@@ -7,7 +7,7 @@ PREFIX owl: <http://www.w3.org/2002/07/owl#>
 # Generic Activity template that creates a Markdown page with Hugo front-matter,
 # and calls other specific templates when necessary
 template {
-    "####### " ?id
+    "####### " st:call-template(mt:path, ?subj)
     #FIXME: debug activity type
     st:nl() st:call-template(mt:debug, ?subj)
     format {
@@ -21,13 +21,13 @@ title = "%s"
         ?title
         ?desc
     }
-    "-------------------------------------------------------------------------"
-    st:call-template(mt:quiz, ?subj)
+    "%%%%%%%"
+    st:call-template(mt:quiz,?subj)
 }
 where {
     ?subj a :Activite .
     ?subj :id ?id .
     ?subj :titre ?title .
-    ?subj :description ?desc 
+    ?subj :description ?desc .
 }
 
diff --git a/tetras_extraction/macao_12/script/templates/path.rq b/tetras_extraction/macao_12/script/templates/path.rq
new file mode 100644
index 0000000000000000000000000000000000000000..9ca19c65415c3166b7ef3d4bb1154b413b054af1
--- /dev/null
+++ b/tetras_extraction/macao_12/script/templates/path.rq
@@ -0,0 +1,14 @@
+PREFIX : <http://www.semanticweb.org/eliott/ontologies/2024/4/macao/>
+PREFIX mt: <http://www.semanticweb.org/eliott/ontologies/2024/4/macao/template/>
+PREFIX st: <http://ns.inria.fr/sparql-template/>
+
+# Generates the path of a MacaoContenu
+template mt:path(?obj) {
+    ?rec "/" ?obj
+} where {
+    ?obj a :MacaoContenu .
+    optional {
+        { ?parent :contientActivite ?obj } union {?parent :contientModule ?obj} union {?parent :contientSousPartie ?obj}.
+        bind(st:call-template(mt:path, ?parent) as ?rec)
+    }
+}
\ No newline at end of file