diff --git a/app/assets/stylesheets/admin/preview.sass b/app/assets/stylesheets/admin/preview.sass
new file mode 100644
index 0000000000000000000000000000000000000000..8452c3f1dbc14bfd268210c56006baa3c85acada
--- /dev/null
+++ b/app/assets/stylesheets/admin/preview.sass
@@ -0,0 +1,3 @@
+.preview
+    img
+        max-width: 100%
diff --git a/app/views/admin/communication/website/posts/show.html.erb b/app/views/admin/communication/website/posts/show.html.erb
index 3c35f16929f368958dcd1a6a8114738ce646b702..f26b141b904555ce0ec29ac1b26913c83806e16c 100644
--- a/app/views/admin/communication/website/posts/show.html.erb
+++ b/app/views/admin/communication/website/posts/show.html.erb
@@ -62,6 +62,17 @@
   </div>
 <% end %>
 
+<div class="offcanvas offcanvas-start preview" tabindex="-1" id="preview" aria-labelledby="offcanvasRightLabel" aria-modal="true" role="dialog">
+  <div class="offcanvas-header">
+    <h5 id="offcanvasRightLabel"><%= t 'preview.title' %></h5>
+    <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
+  </div>
+  <div class="offcanvas-body">
+    <%= @post.text.to_s %>
+  </div>
+</div>
+
 <% content_for :action_bar_right do %>
+  <button class="btn btn-primary my-1" type="button" data-bs-toggle="offcanvas" data-bs-target="#preview" aria-controls="preview"><%= t 'preview.button' %></button>
   <%= edit_link @post %>
 <% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e535a3d133575b6ec0d4b52886dd78a7689a5088..a3954fe7ee15480a9b7a2bbe51beb470b59b7d67 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -116,6 +116,9 @@ en:
   metadata: Metadata
   please_confirm: Are you sure?
   please_confirm_with_children: "WARNING: deleting this element will also remove every child. Are you sure?"
+  preview:
+    button: Preview
+    title: Mobile preview
   privacy_policy: Privacy policy
   privacy_policy_url: https://osuny.org/politique-de-confidentialite
   quit: Quit
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index f16346f8df5c30959b017b8be3cd7321791864fd..c680a814fd1b80df01e7fc3d5608af014d2f758c 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -116,6 +116,9 @@ fr:
   metadata: Informations
   please_confirm: Est-ce que vous confirmez ?
   please_confirm_with_children: "ATTENTION : effacer cet élément supprimera aussi tous ses enfants. Est-ce que vous confirmez ?"
+  preview:
+    button: Prévisualiser
+    title: Prévisualisation mobile
   privacy_policy: Politique de confidentialité
   privacy_policy_url: https://osuny.org/politique-de-confidentialite
   quit: Quitter