diff --git a/ui/src/lib/components/WorkGradesSteps.svelte b/ui/src/lib/components/WorkGradesSteps.svelte
new file mode 100644
index 0000000..3ed37b6
--- /dev/null
+++ b/ui/src/lib/components/WorkGradesSteps.svelte
@@ -0,0 +1,206 @@
+
+
+
+
+ Réussite des étapes
+
+
+
+
+
+
+{#each stats as stage, istage}
+
+ {#each Object.keys(gradationStatus) as gsi}
+ {#await gradationStatus[gsi] then gs}
+ {#if gs.stages[view_step.istage] && gs.stages[view_step.istage].steps[view_step.istep] && gs.stages[view_step.istage].steps[view_step.istep].status == view_step.status}
+
+
+
+
+ {#each gs.stages[view_step.istage].steps as step}
+ -
+ {step.number}. {step.name}
+
+ {/each}
+
+
+
+
+ {/if}
+ {/await}
+ {/each}
+
+{/if}
diff --git a/ui/src/routes/works/[wid]/+page.svelte b/ui/src/routes/works/[wid]/+page.svelte
index e4c8bee..50e4774 100644
--- a/ui/src/routes/works/[wid]/+page.svelte
+++ b/ui/src/routes/works/[wid]/+page.svelte
@@ -8,6 +8,7 @@
import TraceStatus from '$lib/components/TraceStatus.svelte';
import WorkAdmin from '$lib/components/WorkAdmin.svelte';
import WorkGrades from '$lib/components/WorkGrades.svelte';
+ import WorkGradesSteps from '$lib/components/WorkGradesSteps.svelte';
import WorkHeader from '$lib/components/WorkHeader.svelte';
import WorkRepository from '$lib/components/WorkRepository.svelte';
import { getScore } from '$lib/users';
@@ -51,7 +52,10 @@