diff --git a/app/controllers/admin/communication/websites/menus/items_controller.rb b/app/controllers/admin/communication/websites/menus/items_controller.rb
index 632b330c34ba6fe0b0de793d03c1eb5a157965c2..3de0a5a0e20dfbdfdaa29404ce328e88a4d2cc27 100644
--- a/app/controllers/admin/communication/websites/menus/items_controller.rb
+++ b/app/controllers/admin/communication/websites/menus/items_controller.rb
@@ -53,7 +53,8 @@ class Admin::Communication::Websites::Menus::ItemsController < Admin::Communicat
     @item.menu = @menu
     @item.website = @website
     if @item.save
-      redirect_to admin_communication_website_menu_item_path(@item, menu_id: @menu.id), notice: t('admin.successfully_created_html', model: @item.to_s)
+      redirect_to admin_communication_website_menu_path(@menu),
+                  notice: t('admin.successfully_created_html', model: @item.to_s)
     else
       breadcrumb
       render :new, status: :unprocessable_entity
@@ -62,7 +63,8 @@ class Admin::Communication::Websites::Menus::ItemsController < Admin::Communicat
 
   def update
     if @item.update(item_params)
-      redirect_to admin_communication_website_menu_item_path(@item, menu_id: @menu.id), notice: t('admin.successfully_updated_html', model: @item.to_s)
+      redirect_to admin_communication_website_menu_path(@menu),
+                  notice: t('admin.successfully_updated_html', model: @item.to_s)
     else
       breadcrumb
       add_breadcrumb t('edit')
@@ -72,7 +74,8 @@ class Admin::Communication::Websites::Menus::ItemsController < Admin::Communicat
 
   def destroy
     @item.destroy
-    redirect_to admin_communication_website_menu_path(@menu), notice: t('admin.successfully_destroyed_html', model: @item.to_s)
+    redirect_to admin_communication_website_menu_path(@menu),
+                notice: t('admin.successfully_destroyed_html', model: @item.to_s)
   end
 
   protected
diff --git a/app/models/communication/website/menu/item.rb b/app/models/communication/website/menu/item.rb
index 9a26ebcec55adaf93fe35d5911fe6e1e4d4d1e1b..b0d4cb9b45e61023e8ccf62bef9ad14f1f6ea7a4 100644
--- a/app/models/communication/website/menu/item.rb
+++ b/app/models/communication/website/menu/item.rb
@@ -56,6 +56,7 @@ class Communication::Website::Menu::Item < ApplicationRecord
     programs: 30,
     program: 31,
     diplomas: 32,
+    diploma: 33,
     news: 40,
     news_category: 41,
     news_article: 42,
@@ -78,27 +79,28 @@ class Communication::Website::Menu::Item < ApplicationRecord
 
   def self.icon_for(kind)
     icons = {
-      'administrators' => 'fas fa-user',
-      'authors' => 'fas fa-user',
-      'blank' => 'fas fa-font',
-      'diplomas' => 'fas fa-award',
-      'news' => 'fas fa-newspaper',
-      'news_article' => 'fas fa-newspaper',
-      'news_category' => 'fas fa-newspaper',
-      'page' => 'fas fa-file',
-      'program' => 'fas fa-graduation-cap',
-      'programs' => 'fas fa-graduation-cap',
-      'research_article' => 'fas fa-flask',
-      'research_articles' => 'fas fa-flask',
-      'research_volumes' => 'fas fa-flask',
-      'research_volume' => 'fas fa-flask',
-      'researchers' => 'fas fa-user',
-      'organizations' => 'fas fa-building',
-      'staff' => 'fas fa-user',
-      'teachers' => 'fas fa-user',
-      'url' => 'fas fa-globe',
+      'administrators' => 'user',
+      'authors' => 'user',
+      'blank' => 'font',
+      'diploma' => Icon::EDUCATION_DIPLOMA,
+      'diplomas' => Icon::EDUCATION_DIPLOMA,
+      'news' => 'newspaper',
+      'news_article' => 'newspaper',
+      'news_category' => 'newspaper',
+      'page' => 'file',
+      'program' => Icon::EDUCATION_PROGRAM,
+      'programs' => Icon::EDUCATION_PROGRAM,
+      'research_article' => Icon::RESEARCH_LABORATORY,
+      'research_articles' => Icon::RESEARCH_LABORATORY,
+      'research_volumes' => Icon::RESEARCH_LABORATORY,
+      'research_volume' => Icon::RESEARCH_LABORATORY,
+      'researchers' => Icon::RESEARCH_RESEARCHER,
+      'organizations' => Icon::UNIVERSITY_ORGANIZATION,
+      'staff' => 'user',
+      'teachers' => Icon::EDUCATION_TEACHER,
+      'url' => 'globe',
     }
-    icons[kind] if icons.has_key? kind
+    "fas fa-#{icons[kind]}" if icons.has_key? kind
   end
 
   def to_s
@@ -140,6 +142,7 @@ class Communication::Website::Menu::Item < ApplicationRecord
 
   def has_about?
     kind_page? ||
+    kind_diploma? ||
     kind_program? ||
     kind_news_category? ||
     kind_news_article? ||
@@ -152,7 +155,10 @@ class Communication::Website::Menu::Item < ApplicationRecord
   end
 
   def siblings
-    self.class.unscoped.where(parent: parent, university: university, website: website).where.not(id: id)
+    self.class
+        .unscoped
+        .where(parent: parent, university: university, website: website)
+        .where.not(id: id)
   end
 
   protected
diff --git a/app/models/communication/website/menu/item/with_targets.rb b/app/models/communication/website/menu/item/with_targets.rb
index 815a3887f8241c40801634244ac95d3a4b3fd541..12ee6deaec240964acbdf791a006cb51c92f3202 100644
--- a/app/models/communication/website/menu/item/with_targets.rb
+++ b/app/models/communication/website/menu/item/with_targets.rb
@@ -23,6 +23,10 @@ module Communication::Website::Menu::Item::WithTargets
     Static.clean_path "#{website.special_page(:education_programs).path}#{about.path}"
   end
 
+  def target_for_diploma
+    Static.clean_path "#{website.special_page(:education_diplomas).path}#{about.slug}"
+  end
+
   def target_for_diplomas
     Static.clean_path website.special_page(:education_diplomas).path
   end
diff --git a/app/models/communication/website/with_dependencies.rb b/app/models/communication/website/with_dependencies.rb
index 7abcbf7b76b77acf01702e28231d1164948b378e..0303b6685b9b6902d0aa4cb7ea1d877b87937c1c 100644
--- a/app/models/communication/website/with_dependencies.rb
+++ b/app/models/communication/website/with_dependencies.rb
@@ -37,6 +37,10 @@ module Communication::Website::WithDependencies
     blocks_dependencies ||= blocks.collect(&:git_dependencies).flatten.compact.uniq
   end
 
+  def education_diplomas
+    has_education_diplomas? ? about.diplomas : Education::Program.none
+  end
+
   def education_programs
     has_education_programs? ? about.published_programs : Education::Program.none
   end
@@ -154,6 +158,10 @@ module Communication::Website::WithDependencies
     about && about.has_teachers?
   end
 
+  def has_education_diplomas?
+    about && about.has_education_diplomas?
+  end
+
   def has_education_programs?
     about && about.has_education_programs?
   end
diff --git a/app/models/communication/website/with_menu_items.rb b/app/models/communication/website/with_menu_items.rb
index 3872452026f4c589a13f2d1fab6a2ba0d04cf257..46ec529d15dbf5986ae5f7c45c4b3189b2e5a199 100644
--- a/app/models/communication/website/with_menu_items.rb
+++ b/app/models/communication/website/with_menu_items.rb
@@ -28,6 +28,10 @@ module Communication::Website::WithMenuItems
     has_education_programs?
   end
 
+  def menu_item_kind_diploma?
+    has_education_diplomas?
+  end
+
   def menu_item_kind_diplomas?
     has_education_diplomas?
   end
diff --git a/app/services/icon.rb b/app/services/icon.rb
new file mode 100644
index 0000000000000000000000000000000000000000..efd8627464d8e84cec2aae22d97a04b53000ce02
--- /dev/null
+++ b/app/services/icon.rb
@@ -0,0 +1,18 @@
+class Icon
+  COMMUNICATION_EXTRANET = 'project-diagram'
+  COMMUNICATION_WEBSITE = 'sitemap'
+
+  EDUCATION_DIPLOMA = 'graduation-cap'
+  EDUCATION_PROGRAM = 'chalkboard-teacher'
+  EDUCATION_SCHOOL = 'university'
+  EDUCATION_TEACHER = 'user-graduate'
+
+  RESEARCH_JOURNAL = 'newspaper'
+  RESEARCH_LABORATORY = 'flask'
+  RESEARCH_RESEARCHER = 'microscope'
+  RESEARCH_THESE = 'scroll'
+
+  UNIVERSITY_ORGANIZATION = 'building'
+  UNIVERSITY_PERSON = 'users-cog'
+  UNIVERSITY_PERSON_ALUMNUS = 'users'
+end
diff --git a/app/views/admin/communication/websites/menus/items/_form.html.erb b/app/views/admin/communication/websites/menus/items/_form.html.erb
index 847bb6dbd3e5bad709721fc2d38afbd339fe560a..14b8c2991323385d24121e8341dd5e2cb8d3da10 100644
--- a/app/views/admin/communication/websites/menus/items/_form.html.erb
+++ b/app/views/admin/communication/websites/menus/items/_form.html.erb
@@ -22,16 +22,26 @@
               if item.has_about?
                 if item.kind_page?
                   about_collection = collection_tree(@website.pages)
+                elsif item.kind_diploma?
+                  about_collection = @website.education_diplomas
+                                             .ordered
+                                             .map { |e| { label: e.to_s, id: e.id } }
                 elsif item.kind_program?
                   about_collection = collection_tree(@website.education_programs)
                 elsif item.kind_news_category?
                   about_collection = collection_tree(@website.categories)
                 elsif item.kind_news_article?
-                  about_collection = @website.posts.ordered.map { |e| { label: e.to_s, id: e.id } }
+                  about_collection = @website.posts
+                                             .ordered
+                                             .map { |e| { label: e.to_s, id: e.id } }
                 elsif item.kind_research_volume?
-                  about_collection = @website.research_volumes.ordered.map { |e| { label: e.to_s, id: e.id } }
+                  about_collection = @website.research_volumes
+                                             .ordered
+                                             .map { |e| { label: e.to_s, id: e.id } }
                 elsif item.kind_research_article?
-                  about_collection = @website.research_articles.ordered.map { |e| { label: e.to_s, id: e.id } }
+                  about_collection = @website.research_articles
+                                             .ordered
+                                             .map { |e| { label: e.to_s, id: e.id } }
                 end
               else
                 about_collection = []
diff --git a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
index 7e9bfb420c09e7e814587b4562af3a4d1fed7545..53849db774dc0bf9c205a739c26898e2b0a9f511 100644
--- a/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
+++ b/app/views/admin/communication/websites/menus/items/kind_switch.js.erb
@@ -20,6 +20,15 @@ function hideAbout() {
     end
     %>
     displayAbout('Communication::Website::Page', "<%= j(raw(options.join(''))) %>");
+<% elsif @kind == 'diploma' %>
+    <%
+    options = ['<option value="" label=" "></option>']
+    @website.education_diplomas.ordered.each do |diploma|
+        options << "<option value=\"#{diploma.id}\">#{diploma.to_s}</option>"
+    end
+    %>
+    displayAbout('Education::Diploma', "<%= j(raw(options.join(''))) %>");
+
 <% elsif @kind == 'program' %>
     <%
     options = ['<option value="" label=" "></option>']
diff --git a/app/views/admin/dashboard/index.html.erb b/app/views/admin/dashboard/index.html.erb
index 415c3ce578fdd5e04a454d1fe9862012199cb01e..0513c20e8644c8a34489efb507030905f6604235 100644
--- a/app/views/admin/dashboard/index.html.erb
+++ b/app/views/admin/dashboard/index.html.erb
@@ -43,7 +43,7 @@
         <div class="card flex-fill">
           <div class="card-body">
             <span class="float-end">
-              <i class="fas fa-newspaper fa-2x"></i>
+              <i class="fas fa-<%= Icon::RESEARCH_JOURNAL %> fa-2x"></i>
             </span>
             <h4><%= journal %></h4>
             <p>&nbsp;</p>
@@ -64,7 +64,7 @@
         <div class="card flex-fill">
           <div class="card-body">
             <span class="float-end">
-              <i class="fas fa-sitemap fa-2x"></i>
+              <i class="fas fa-<%= Icon::COMMUNICATION_WEBSITE %> fa-2x"></i>
             </span>
             <h4><%= website %></h4>
             <p class="small"><%= website.url %></p>
@@ -85,7 +85,7 @@
         <div class="card flex-fill">
           <div class="card-body">
             <span class="float-end">
-              <i class="fas fa-project-diagram fa-2x"></i>
+              <i class="fas fa-<%= Icon::COMMUNICATION_EXTRANET %> fa-2x"></i>
             </span>
             <h4><%= extranet %></h4>
             <p class="small"><%= extranet.url %></p>
diff --git a/config/admin_navigation.rb b/config/admin_navigation.rb
index a319d52b18a4f3a237653cba2131d994e6fe39d7..93d2c39705b049c877e776b37f7982d8055e22fb 100644
--- a/config/admin_navigation.rb
+++ b/config/admin_navigation.rb
@@ -7,50 +7,132 @@ SimpleNavigation::Configuration.run do |navigation|
     primary.item :dashboard, t('admin.dashboard'), admin_root_path, { icon: 'tachometer-alt', highlights_on: /admin$/ }
 
     if can?(:read, University::Person) || can?(:read, University::Organization)
-      primary.item :university, University.model_name.human, nil, { kind: :header }
-      primary.item :university, University::Person.model_name.human(count: 2), admin_university_people_path, { icon: 'users-cog' } if can?(:read, University::Person)
-      primary.item :university, University::Organization.model_name.human(count: 2), admin_university_organizations_path, { icon: 'building' } if can?(:read, University::Organization)
-      primary.item :communication_alumni, University::Person::Alumnus.model_name.human(count: 2), admin_university_alumni_path, { icon: 'users' } if can?(:read, University::Person)
+      primary.item :university,
+                    University.model_name.human,
+                    nil,
+                    { kind: :header }
+      primary.item :university,
+                    University::Person.model_name.human(count: 2),
+                    admin_university_people_path,
+                    { icon: Icon::UNIVERSITY_PERSON } if can?(:read, University::Person)
+      primary.item :university,
+                    University::Organization.model_name.human(count: 2),
+                    admin_university_organizations_path,
+                    { icon: Icon::UNIVERSITY_ORGANIZATION } if can?(:read, University::Organization)
+      primary.item :communication_alumni,
+                    University::Person::Alumnus.model_name.human(count: 2),
+                    admin_university_alumni_path,
+                    { icon: Icon::UNIVERSITY_PERSON_ALUMNUS } if can?(:read, University::Person)
     end
 
     if can?(:read, Education::Program)
-      primary.item :education, Education.model_name.human, nil, { kind: :header }
-      primary.item :education_teachers, t('education.teachers', count: 2), admin_education_teachers_path, { icon: 'user-graduate' } if can?(:read, University::Person)
-      primary.item :education_schools, Education::School.model_name.human(count: 2), admin_education_schools_path, { icon: 'university' } if can?(:read, Education::School)
-      primary.item :education_diplomas, Education::Diploma.model_name.human(count: 2), admin_education_diplomas_path, { icon: 'graduation-cap' } if can?(:read, Education::Diploma)
-      primary.item :education_programs, Education::Program.model_name.human(count: 2), admin_education_programs_path, { icon: 'chalkboard-teacher' } if can?(:read, Education::Program)
-      primary.item :education, 'Ressources éducatives', nil, { icon: 'laptop' }
-      primary.item :education, 'Feedbacks', nil, { icon: 'comments' }
+      primary.item :education,
+                    Education.model_name.human,
+                    nil,
+                    { kind: :header }
+      primary.item :education_teachers,
+                    t('education.teachers', count: 2),
+                    admin_education_teachers_path,
+                    { icon: Icon::EDUCATION_TEACHER } if can?(:read, University::Person)
+      primary.item :education_schools,
+                    Education::School.model_name.human(count: 2), admin_education_schools_path,
+                    { icon: Icon::EDUCATION_SCHOOL } if can?(:read, Education::School)
+      primary.item :education_diplomas,
+                    Education::Diploma.model_name.human(count: 2), admin_education_diplomas_path,
+                    { icon: Icon::EDUCATION_DIPLOMA } if can?(:read, Education::Diploma)
+      primary.item :education_programs,
+                    Education::Program.model_name.human(count: 2), admin_education_programs_path,
+                    { icon: Icon::EDUCATION_PROGRAM } if can?(:read, Education::Program)
+      primary.item :education,
+                    'Ressources éducatives',
+                    nil,
+                    { icon: 'laptop' }
+      primary.item :education,
+                    'Feedbacks',
+                    nil,
+                    { icon: 'comments' }
     end
 
     if can?(:read, Research::Journal) || can?(:read, Research::Laboratory)
-      primary.item :research, Research.model_name.human, nil, { kind: :header }
-      primary.item :research_researchers, t('research.researchers', count: 2), admin_research_researchers_path(journal_id: nil), { icon: 'microscope' } if can?(:read, University::Person)
-      primary.item :research_laboratories, Research::Laboratory.model_name.human(count: 2), admin_research_laboratories_path, { icon: 'flask' } if can?(:read, Research::Laboratory)
-      primary.item :research_theses, Research::Thesis.model_name.human(count: 2), admin_research_theses_path, { icon: 'scroll' } if can?(:read, Research::Thesis)
-      primary.item :research_journals, Research::Journal.model_name.human(count: 2), admin_research_journals_path, { icon: 'newspaper' } if can?(:read, Research::Journal)
-      primary.item :research_watch, 'Veille', nil, { icon: 'eye' }
+      primary.item :research,
+                    Research.model_name.human,
+                    nil,
+                    { kind: :header }
+      primary.item :research_researchers,
+                    t('research.researchers', count: 2),
+                    admin_research_researchers_path(journal_id: nil),
+                    { icon: Icon::RESEARCH_RESEARCHER } if can?(:read, University::Person)
+      primary.item :research_laboratories,
+                    Research::Laboratory.model_name.human(count: 2), admin_research_laboratories_path,
+                    { icon: Icon::RESEARCH_LABORATORY } if can?(:read, Research::Laboratory)
+      primary.item :research_theses,
+                    Research::Thesis.model_name.human(count: 2),
+                    admin_research_theses_path,
+                    { icon: Icon::RESEARCH_THESE } if can?(:read, Research::Thesis)
+      primary.item :research_journals,
+                    Research::Journal.model_name.human(count: 2),
+                    admin_research_journals_path,
+                    { icon: Icon::RESEARCH_JOURNAL } if can?(:read, Research::Journal)
+      primary.item :research_watch,
+                    'Veille',
+                    nil,
+                    { icon: 'eye' }
     end
 
     if can?(:read, Communication::Website)
-      primary.item :communication, Communication.model_name.human, nil, { kind: :header }
-      primary.item :communication_websites, Communication::Website.model_name.human(count: 2), admin_communication_websites_path, { icon: 'sitemap' } if can?(:read, Communication::Website)
-      primary.item :communication_extranets, Communication::Extranet.model_name.human(count: 2), admin_communication_extranets_path, { icon: 'project-diagram' } if can?(:read, Communication::Extranet)
-      primary.item :communication_newsletters, 'Lettres d\'information', nil, { icon: 'envelope' }
+      primary.item :communication,
+                    Communication.model_name.human,
+                    nil,
+                    { kind: :header }
+      primary.item :communication_websites,
+                    Communication::Website.model_name.human(count: 2),
+                    admin_communication_websites_path,
+                    { icon: Icon::COMMUNICATION_WEBSITE } if can?(:read, Communication::Website)
+      primary.item :communication_extranets,
+                    Communication::Extranet.model_name.human(count: 2), admin_communication_extranets_path,
+                    { icon: Icon::COMMUNICATION_EXTRANET } if can?(:read, Communication::Extranet)
+      primary.item :communication_newsletters,
+                    'Lettres d\'information',
+                    nil,
+                    { icon: 'envelope' }
     end
 
     if can?(:read, Administration::Qualiopi::Criterion)
-      primary.item :administration, 'Administration', nil, { kind: :header }
-      primary.item :administration_campus, 'Campus', nil, { icon: 'map-marker-alt' }
-      primary.item :administration_admissions, 'Admissions', nil, { icon: 'door-open' }
-      primary.item :administration_internship, 'Stages', nil, { icon: 'hands-helping' }
-      primary.item :administration_statistics, 'Statistiques', nil, { icon: 'chart-bar' }
-      primary.item :administration_qualiopi, 'Qualité', admin_administration_qualiopi_criterions_path, { icon: 'tasks' } if can?(:read, Administration::Qualiopi::Criterion)
+      primary.item :administration,
+                    'Administration',
+                    nil,
+                    { kind: :header }
+      primary.item :administration_campus,
+                    'Campus',
+                    nil,
+                    { icon: 'map-marker-alt' }
+      primary.item :administration_admissions,
+                    'Admissions',
+                    nil,
+                    { icon: 'door-open' }
+      primary.item :administration_internship,
+                    'Stages',
+                    nil,
+                    { icon: 'hands-helping' }
+      primary.item :administration_statistics,
+                    'Statistiques',
+                    nil,
+                    { icon: 'chart-bar' }
+      primary.item :administration_qualiopi,
+                    'Qualité',
+                    admin_administration_qualiopi_criterions_path,
+                    { icon: 'tasks' } if can?(:read, Administration::Qualiopi::Criterion)
     end
 
     if can?(:read, User)
-      primary.item :administration, 'Osuny', nil, { kind: :header }
-      primary.item :administration_users, User.model_name.human(count: 2), admin_users_path, { icon: 'user' } if can?(:read, User)
+      primary.item :administration,
+                    'Osuny',
+                    nil,
+                    { kind: :header }
+      primary.item :administration_users,
+                    User.model_name.human(count: 2),
+                    admin_users_path,
+                    { icon: 'user' } if can?(:read, User)
     end
   end
 end
diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml
index 3cd1b9391ba5910011f9ca1e82fec5e361bf295d..ff37343833bfc9a1a5205221dee0c99744d7e481 100644
--- a/config/locales/communication/en.yml
+++ b/config/locales/communication/en.yml
@@ -323,10 +323,10 @@ en:
             slug: legal-terms
             title: Legal terms
           organizations:
-            admin_description: third parties page
-            description_short: List of third parties
-            slug: third-parties
-            title: Third parties
+            admin_description: organizations page
+            description_short: List of organizations
+            slug: organizations
+            title: Organizations
           persons:
             admin_description: list of members in the team
             description_short: List of members in the team
@@ -394,6 +394,7 @@ en:
               administrators: Administration staff
               authors: Editorial staff
               blank: Title
+              diploma: Specific diploma
               diplomas: Diplomas index
               news: News index
               news_article: Specific news
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index 7c63c15256de5353dd236fa7fe12c5b032656772..61518c6a4da67b012d4333cf5140740d37508cd3 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -326,10 +326,10 @@ fr:
             slug: mentions-legales
             title: Mentions légales
           organizations:
-            admin_description: page des tierces parties
-            description_short: Liste des tierces parties
-            slug: tierces-parties
-            title: Tierces parties
+            admin_description: page des organisations
+            description_short: Liste des organisations
+            slug: organisations
+            title: Organisations
           persons:
             admin_description: liste des membres de l'équipe
             description_short: Liste des membres de l'équipe
@@ -397,6 +397,7 @@ fr:
               administrators: Équipe administrative
               authors: Équipe éditoriale
               blank: Titre intermédiaire
+              diploma: Diplôme spécifique
               diplomas: Liste des diplômes
               news: Liste des actualités
               news_article: Actualité spécifique