diff --git a/app/services/wordpress.rb b/app/services/wordpress.rb
index 0276618f24f2748c47cb5089a57ddcaba2fd8293..019d7a9623712b16936a31844a71a329553b32a3 100644
--- a/app/services/wordpress.rb
+++ b/app/services/wordpress.rb
@@ -9,6 +9,7 @@ class Wordpress
   # https://github.com/rgrove/sanitize
   def self.clean(html)
     Sanitize.fragment html, Sanitize::Config::RELAXED
+    # html
   end
 
   def initialize(domain)
diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb
index 5c2c4d2007cd50abc8b47f6c928d00eb45419a98..b1517851106720608dddb8c6d6834e4d8168df8a 100644
--- a/app/views/devise/confirmations/new.html.erb
+++ b/app/views/devise/confirmations/new.html.erb
@@ -1,19 +1,20 @@
-<h2><%= t(".resend_confirmation_instructions") %></h2>
+<h2 class="mb-4"><%= t(".resend_confirmation_instructions") %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
   <%= f.error_notification %>
   <%= f.full_error :confirmation_token %>
-
-  <div class="form-inputs">
-    <%= f.input :email,
-                required: true,
-                autofocus: true,
-                value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email),
-                input_html: { autocomplete: "email" } %>
-  </div>
-
-  <div class="form-actions text-end mt-3">
-    <%= f.button :submit, t(".resend_confirmation_instructions"), class: 'btn btn-primary' %>
-    <%= render "devise/shared/links" %>
+  <div class="row">
+    <div class="col-md-6">
+      <%= f.input :email,
+                  required: true,
+                  autofocus: true,
+                  value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email),
+                  input_html: { autocomplete: "email" } %>
+    </div>
+    <div class="col-md-6">
+      <label class="form-label">&nbsp;</label><br>
+      <%= f.button :submit, t(".resend_confirmation_instructions"), class: 'btn btn-primary' %>
+      <%= render "devise/shared/links" %>
+    </div>
   </div>
 <% end %>
diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb
index 7ade5e68a35d655c07ce77d9ae9293e96c7a50d6..f9f48cfc05fb79764acdb5762afbff0ba3d37a09 100644
--- a/app/views/devise/passwords/edit.html.erb
+++ b/app/views/devise/passwords/edit.html.erb
@@ -1,4 +1,4 @@
-<h2><%= t(".change_your_password") %></h2>
+<h2 class="mb-4"><%= t(".change_your_password") %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
   <%= f.error_notification %>
@@ -30,9 +30,8 @@
                 input_html: { autocomplete: "new-password" } %>
   </div>
 
-  <div class="form-actions text-end mt-3">
+  <div class="form-actions">
     <%= f.button :submit, t(".change_my_password"), class: 'btn btn-primary' %>
+    <%= render "devise/shared/links" %>
   </div>
 <% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb
index 7afaf75300aff3ac3389bc4292b1990c2fb514b9..a708f5e6a11ee3e82a439aafe8bc67538db4f6ec 100644
--- a/app/views/devise/passwords/new.html.erb
+++ b/app/views/devise/passwords/new.html.erb
@@ -1,18 +1,19 @@
-<h2><%= t(".forgot_your_password") %></h2>
+<h2 class="mb-4"><%= t(".forgot_your_password") %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
   <%= f.error_notification %>
 
-  <div class="form-inputs">
-    <%= f.input :email,
-                required: true,
-                autofocus: true,
-                input_html: { autocomplete: "email" } %>
-  </div>
-
-  <div class="form-actions text-center mt-3">
-    <%= f.button :submit, t(".send_me_reset_password_instructions"), class: 'btn btn-primary' %>
+  <div class="row">
+    <div class="col-md-6">
+      <%= f.input :email,
+                  required: true,
+                  autofocus: true,
+                  input_html: { autocomplete: "email" } %>
+    </div>
+    <div class="col-md-6">
+      <label class="form-label">&nbsp;</label><br>
+      <%= f.button :submit, t(".send_me_reset_password_instructions"), class: 'btn btn-primary' %>
+      <%= render "devise/shared/links" %>
+    </div>
   </div>
 <% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb
index 4e2901a44b3950296f68f84a169378135cd1ee52..5b67d1b9c9c772da28062a3282c583ceac3b90bb 100644
--- a/app/views/devise/registrations/edit.html.erb
+++ b/app/views/devise/registrations/edit.html.erb
@@ -1,46 +1,43 @@
-<h2><%= t(".title", resource: resource.model_name.human) %></h2>
+<h2 class="mb-4"><%= t(".title", resource: resource.model_name.human) %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
   <%= f.error_notification %>
 
-  <div class="form-inputs">
-    <%= f.input :first_name,
-                required: true,
-                autofocus: true,
-                input_html: { autocomplete: "first_name" } %>
-    <%= f.input :last_name,
-                required: true,
-                input_html: { autocomplete: "last_name" } %>
-    <%= f.input :email, required: true %>
-
-    <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
-      <p><%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %></p>
-    <% end %>
-
-    <%= f.input :mobile_phone %>
-    <%= f.association :language,
-                      include_blank: false,
-                      label_method: lambda { |l| t("languages.#{l.iso_code.to_s}") } %>
-
-    <%= f.input :picture,
-                as: :single_deletable_file,
-                input_html: { accept: '.png,.jpg' },
-                preview: '200x200' %>
-
-    <%= f.input :password,
-                hint: t(".leave_blank_if_you_don_t_want_to_change_it"),
-                required: false,
-                input_html: { autocomplete: "new-password" } %>
-
-
-  </div>
-
-  <div class="form-actions">
-    <%= f.button :submit, t(".update"), class: 'btn btn-primary' %>
+  <div class="row">
+    <div class="col-md-4">
+      <%= f.input :email, required: true %>
+      <%= f.input :first_name,
+                  required: true,
+                  autofocus: true,
+                  input_html: { autocomplete: "first_name" } %>
+      <%= f.input :last_name,
+                  required: true,
+                  input_html: { autocomplete: "last_name" } %>
+    </div>
+    <div class="col-md-4">
+      <%= f.association :language,
+                        include_blank: false,
+                        label_method: lambda { |l| t("languages.#{l.iso_code.to_s}") } %>
+      <%= f.input :mobile_phone %>
+    </div>
+    <div class="col-md-4">
+      <%= f.input :password,
+                  hint: t(".leave_blank_if_you_don_t_want_to_change_it"),
+                  required: false,
+                  input_html: { autocomplete: "new-password" } %>
+      <%= f.input :picture,
+                  as: :single_deletable_file,
+                  input_html: { accept: '.jpg,.jpeg,.png' },
+                  preview: '200x200' %>
+      <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
+        <p><%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %></p>
+      <% end %>
+    </div>
   </div>
+  <%= f.button :submit, t(".update"), class: 'btn btn-primary' %>
 <% end %>
 
-<h3><%= t(".cancel_my_account") %></h3>
+<h3 class="mt-5 mb-4"><%= t(".cancel_my_account") %></h3>
 
 <p><%= t(".unhappy") %> <%= link_to t(".cancel_my_account"), registration_path(resource_name), data: { confirm: t(".are_you_sure") }, method: :delete %></p>
 
diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb
index a64bb4f9267bd37b3fd3c65f1e9907be8664a49e..1e79c849000b4a56943a12830b27b743bb484f73 100644
--- a/app/views/devise/registrations/new.html.erb
+++ b/app/views/devise/registrations/new.html.erb
@@ -1,49 +1,50 @@
-<h2><%= t(".sign_up") %></h2>
+<h2 class="mb-4"><%= t(".sign_up") %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
   <%= f.error_notification %>
 
-  <div class="form-inputs">
-    <%= f.input :first_name,
-                required: true,
-                autofocus: true,
-                input_html: { autocomplete: "first_name" } %>
-    <%= f.input :last_name,
-                required: true,
-                input_html: { autocomplete: "last_name" } %>
-    <%= f.input :email,
-                required: true,
-                input_html: { autocomplete: "email" } %>
-    <%= f.input :password,
-                as: :password_with_hints,
-                required: true,
-                allow_password_uncloaking: true,
-                validators: {
-                  length: Devise.password_length.first,
-                  uppercase_char: true,
-                  lowercase_char: true,
-                  numeric_char: true,
-                  special_char: Rails.application.config.allowed_special_chars
-                },
-                input_html: { autocomplete: "new-password" } %>
-    <%= f.input :password_confirmation,
-                as: :password_with_sync,
-                required: true,
-                allow_password_uncloaking: true,
-                compare_with_field: :password,
-                input_html: { autocomplete: "new-password" } %>
-    <%= f.association :language,
-                      required: true,
-                      label_method: lambda { |l| t("languages.#{l.iso_code.to_s}") },
-                      include_blank: 'Sélectionnez une langue' %>
-    <%= f.input :picture,
-                      as: :single_deletable_file,
-                      input_html: { accept: '.png' } %>
-  </div>
-
-  <div class="form-actions text-center mt-3">
-    <%= f.button :submit, t(".sign_up"), class: 'btn btn-primary' %>
+  <div class="row">
+    <div class="col-md-6">
+      <%= f.input :email,
+                  required: true,
+                  input_html: { autocomplete: "email" } %>
+      <%= f.input :first_name,
+                  required: true,
+                  autofocus: true,
+                  input_html: { autocomplete: "first_name" } %>
+      <%= f.input :last_name,
+                  required: true,
+                  input_html: { autocomplete: "last_name" } %>
+      <%= f.association :language,
+                        required: true,
+                        label_method: lambda { |l| t("languages.#{l.iso_code.to_s}") },
+                        include_blank: 'Sélectionnez une langue' %>
+    </div>
+    <div class="col-md-6">
+      <%= f.input :password,
+                  as: :password_with_hints,
+                  required: true,
+                  allow_password_uncloaking: true,
+                  validators: {
+                    length: Devise.password_length.first,
+                    uppercase_char: true,
+                    lowercase_char: true,
+                    numeric_char: true,
+                    special_char: Rails.application.config.allowed_special_chars
+                  },
+                  input_html: { autocomplete: "new-password" } %>
+      <%= f.input :password_confirmation,
+                  as: :password_with_sync,
+                  required: true,
+                  allow_password_uncloaking: true,
+                  compare_with_field: :password,
+                  input_html: { autocomplete: "new-password" } %>
+      <%= f.input :picture,
+                        as: :single_deletable_file,
+                        input_html: { accept: '.png' } %>
+    </div>
   </div>
+  <%= f.button :submit, t(".sign_up"), class: 'btn btn-primary' %>
 <% end %>
 
 <%= render "devise/shared/links" %>
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb
index abd775049e0c68f9348567946a205c41ac9f4230..9e9222d0766e18e7c47337c748fb98a73387e9a6 100644
--- a/app/views/devise/sessions/new.html.erb
+++ b/app/views/devise/sessions/new.html.erb
@@ -1,36 +1,39 @@
-<h2><%= t('login.not_registered_yet') %></h2>
-<p class="float-start"><%= t('login.not_registered_yet_details') %></p>
-<div class="form-actions text-end">
-  <%= link_to t("devise.registrations.new.sign_up"),
-              new_registration_path(resource_name),
-              class: 'btn btn-primary' %>
-</div>
-
-<hr class="my-5">
-
-<h2 class="mb-4"><%= t('login.already_registered') %></h2>
-<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
-  <div class="form-inputs">
-    <%= f.input :email,
-                required: false,
-                autofocus: true,
-                input_html: { autocomplete: "email" } %>
-    <div class="mb-3 password optional user_password">
-      <%= f.input :password,
-                  as: :password_with_hints,
-                  allow_password_uncloaking: true,
-                  required: false,
-                  wrapper: false,
-                  input_html: { autocomplete: "current-password" } %>
-      <small>
-        <%= link_to t("devise.passwords.new.forgot_your_password"), new_password_path(resource_name) %>
-      </small>
+<div class="row">
+  <div class="col-md-6">
+    <h2 class="mb-4"><%= t('login.not_registered_yet') %></h2>
+    <p><%= t('login.not_registered_yet_details') %></p>
+    <div class="form-actions">
+      <%= link_to t("devise.registrations.new.sign_up"),
+                  new_registration_path(resource_name),
+                  class: 'btn btn-primary' %>
     </div>
-    <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
   </div>
+  <div class="col-md-6">
+    <h2 class="mb-4"><%= t('login.already_registered') %></h2>
+    <%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
+      <div class="form-inputs">
+        <%= f.input :email,
+                    required: false,
+                    autofocus: true,
+                    input_html: { autocomplete: "email" } %>
+        <div class="mb-3 password optional user_password">
+          <%= f.input :password,
+                      as: :password_with_hints,
+                      allow_password_uncloaking: true,
+                      required: false,
+                      wrapper: false,
+                      input_html: { autocomplete: "current-password" } %>
+          <small>
+            <%= link_to t("devise.passwords.new.forgot_your_password"), new_password_path(resource_name) %>
+          </small>
+        </div>
+        <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
+      </div>
 
-  <div class="form-actions text-end">
-    <%= f.button :submit, t(".sign_in"), class: 'btn btn-primary align-end' %>
-    <%= render "devise/shared/links" %>
+      <div class="form-actions">
+        <%= f.button :submit, t(".sign_in"), class: 'btn btn-primary' %>
+        <%= render "devise/shared/links" %>
+      </div>
+    <% end %>
   </div>
-<% end %>
+</div>
diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb
index 1a7b8928ec100dca55452d32894b003be3c62dcc..e5086ff9421df6b32dba624a286429f0cc878c70 100644
--- a/app/views/devise/unlocks/new.html.erb
+++ b/app/views/devise/unlocks/new.html.erb
@@ -1,19 +1,19 @@
-<h2><%= t(".resend_unlock_instructions") %></h2>
+<h2 class="mb-4"><%= t(".resend_unlock_instructions") %></h2>
 
 <%= simple_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
   <%= f.error_notification %>
   <%= f.full_error :unlock_token %>
-
-  <div class="form-inputs">
-    <%= f.input :email,
-                required: true,
-                autofocus: true,
-                input_html: { autocomplete: "email" } %>
-  </div>
-
-  <div class="form-actions text-center mt-3">
-    <%= f.button :submit, t(".resend_unlock_instructions"), class: 'btn btn-primary' %>
+  <div class="row">
+    <div class="col-md-6">
+      <%= f.input :email,
+                  required: true,
+                  autofocus: true,
+                  input_html: { autocomplete: "email" } %>
+    </div>
+    <div class="col-md-6">
+      <label class="form-label">&nbsp;</label><br>
+      <%= f.button :submit, t(".resend_unlock_instructions"), class: 'btn btn-primary' %>
+      <%= render "devise/shared/links" %>
+    </div>
   </div>
 <% end %>
-
-<%= render "devise/shared/links" %>
diff --git a/app/views/layouts/devise.html.erb b/app/views/layouts/devise.html.erb
index 83e694682bacf3cddd1e19358dc67a508e3ce2e0..4680876320b28a49e7e7132b51e66a00393d6901 100644
--- a/app/views/layouts/devise.html.erb
+++ b/app/views/layouts/devise.html.erb
@@ -13,13 +13,10 @@
   <body>
     <div class="container">
       <div class="row">
-        <div class="col-sm-10 col-md-8 col-lg-6 mx-auto">
+        <div class="col-sm-10 mx-auto">
           <h1 class="my-5 py-5 text-center"><%= current_university %></h1>
           <div class="card">
             <div class="card-body text-start">
-              <p class="lead mb-5">
-                <%= t('login.subtitle') %>
-              </p>
               <% unless notice.blank? %>
                 <div class="alert alert-success mt-2" role="alert"><%= notice.html_safe %></div>
               <% end %>
diff --git a/test/models/wordpress_test.rb b/test/models/wordpress_test.rb
index e175c55006d15dc2bcbff5c7549e518a6fef5523..d134c97f4f69668db4a516f5e7068a4e3b26709a 100644
--- a/test/models/wordpress_test.rb
+++ b/test/models/wordpress_test.rb
@@ -1,8 +1,19 @@
 require "test_helper"
 
 class WordpressTest < ActiveSupport::TestCase
-  test "the truth" do
-    assert_equal Wordpress.clean('test'),
-                 'test'
+  test "convert apostroph" do
+    assert_equal Wordpress.clean('Ouverture du CRM pendant les vacances d&#8217;Avril'), 'Ouverture du CRM pendant les vacances d’Avril'
+  end
+
+  test "convert 3 dots" do
+    assert_equal Wordpress.clean('Le CRM fait le tri dans ses collections &#8230; et vous propose une vente de livres'), 'Le CRM fait le tri dans ses collections … et vous propose une vente de livres'
+  end
+
+  test "convert double quotation marks" do
+    assert_equal Wordpress.clean('Conférence Joëlle Zask : &#8220;Ecologie de la participation&#8221;'), 'Conférence Joëlle Zask : “Ecologie de la participation”'
+  end
+
+  test "convert " do
+    assert_equal Wordpress.clean('TRAVAILLER DEMAIN, Débat &#8211; le 10 mai à 18h30'), 'TRAVAILLER DEMAIN, Débat – le 10 mai à 18h30'
   end
 end