diff --git a/app/controllers/admin/communication/websites/pages_controller.rb b/app/controllers/admin/communication/websites/pages_controller.rb
index c2bd3d98542e74dea93eb6178f5110e576cc886c..1bedef391e38b63046b23daeb021dea88ba776a1 100644
--- a/app/controllers/admin/communication/websites/pages_controller.rb
+++ b/app/controllers/admin/communication/websites/pages_controller.rb
@@ -52,7 +52,7 @@ class Admin::Communication::Websites::PagesController < Admin::Communication::We
       # If not found, duplicate the current page (with blocks and all) for given language
       @translation ||= @page.duplicate!(language_id: language.id)
       # Redirect to the translation
-      redirect_to [:admin @translation]
+      redirect_to [:admin, @translation.becomes(@translation.class.base_class)]
     end
   end
 
diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb
index 7e6bf6c4c56a2b464b8c06e72acb7eb7487fcc93..f7bef5b8c5862325ba3936dc819fd06b8130c23b 100644
--- a/app/models/communication/website/page.rb
+++ b/app/models/communication/website/page.rb
@@ -148,13 +148,21 @@ class Communication::Website::Page < ApplicationRecord
       original_id: self.id,
       github_path: nil,
       published: false,
-      published_at: nil,
       **new_attributes
     )
+    duplicate.featured_image.attach(
+      io: URI.open(featured_image.url),
+      filename: featured_image.filename.to_s,
+      content_type: featured_image.content_type
+    ) if featured_image.attached?
     duplicate.save
-    # TODO:
-    # Dupliquer les blocs
-    # Dupliquer le featured image
+
+    blocks.ordered.each do |block|
+      block_duplicate = block.dup
+      block_duplicate.about = duplicate
+      block_duplicate.save
+    end
+    duplicate
   end
 
   protected
diff --git a/app/views/admin/application/i18n/_widget.html.erb b/app/views/admin/application/i18n/_widget.html.erb
index a4223335b2c7b1b06220c9555b684c56327c58a3..9f3419b302bdca3004218c715f3e13bf40f0fd92 100644
--- a/app/views/admin/application/i18n/_widget.html.erb
+++ b/app/views/admin/application/i18n/_widget.html.erb
@@ -12,7 +12,7 @@
       <% about.website.languages.each do |language| %>
         <% next if language.id == about.language_id %>
         <li>
-          <%= link_to t("languages.#{language.iso_code}"), [:translate, :admin, about, iso_code: language.iso_code] %>
+          <%= link_to t("languages.#{language.iso_code}"), [:translate, :admin, about.becomes(about.class.base_class), iso_code: language.iso_code] %>
         </li>
       <% end %>
     </ol>