diff --git a/app/models/university/organization/category.rb b/app/models/university/organization/category.rb
index cd1d492f675ff381dbdd0fbb047970081129e1ed..7feb2e668bdd0800368650fa0007de9c5e66bcc0 100644
--- a/app/models/university/organization/category.rb
+++ b/app/models/university/organization/category.rb
@@ -17,4 +17,12 @@
 #  fk_rails_f610c7eb13  (university_id => universities.id)
 #
 class University::Organization::Category < ApplicationRecord
+  include WithUniversity
+
+  scope :ordered, -> { order(:name) }
+
+  def to_s
+    "#{name}"
+  end
+
 end
diff --git a/app/models/university/person/category.rb b/app/models/university/person/category.rb
index 7f56735dcbabc9203d3bbb8583fcfc32cc01e8c7..11bcaecfb20932e88872ad682ff79243842918b3 100644
--- a/app/models/university/person/category.rb
+++ b/app/models/university/person/category.rb
@@ -17,4 +17,12 @@
 #  fk_rails_134ac9c0b6  (university_id => universities.id)
 #
 class University::Person::Category < ApplicationRecord
+  include WithUniversity
+
+  scope :ordered, -> { order(:name) }
+
+  def to_s
+    "#{name}"
+  end
+
 end
diff --git a/app/models/university/with_people_and_organizations.rb b/app/models/university/with_people_and_organizations.rb
index 13f708c2d2aa65a92aca10aa177703603da58744..95f04c2c252def0ecf626aa102d63770227bc3af 100644
--- a/app/models/university/with_people_and_organizations.rb
+++ b/app/models/university/with_people_and_organizations.rb
@@ -7,11 +7,21 @@ module University::WithPeopleAndOrganizations
               dependent: :destroy
     alias_attribute :people, :university_people
 
+    has_many  :university_people_categories,
+              class_name: 'University::Person::Category',
+              dependent: :destroy
+    alias_attribute :people_categories, :university_people_categories
+
     has_many  :university_organizations,
               class_name: 'University::Organization',
               dependent: :destroy
     alias_attribute :organizations, :university_organizations
 
+    has_many  :university_organizations_categories,
+              class_name: 'University::Organization::Category',
+              dependent: :destroy
+    alias_attribute :organizations_categories, :university_organizations_categories
+
     has_many  :person_experiences,
               class_name: 'University::Person::Experience',
               dependent: :destroy
diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml
index b681492b3a478c70796c3d221a13bda8e9935c7d..d5e6415ae1c7b1483657dea46c82c6a68626bd98 100644
--- a/config/locales/university/en.yml
+++ b/config/locales/university/en.yml
@@ -72,6 +72,8 @@ en:
         url: Website
         user: User
         zipcode: Zipcode
+      university/person/category:
+        name: Name
       university/person/experience:
         description: Description
         edit: Edit experience
@@ -109,6 +111,8 @@ en:
         twitter: Twitter
         url: Website
         zipcode: Zipcode
+      university/organization/category:
+        name: Name
       university/role:
         description: Description
         people: People
@@ -125,6 +129,9 @@ en:
       university/person:
         one: Person
         other: People
+      university/person/category:
+        one: Category
+        other: Categories
       university/person/involvement:
         one: Involvement
         other: Involvements
@@ -137,6 +144,9 @@ en:
       university/organization:
         one: Organization
         other: Organizations
+      university/organization/category:
+        one: Category
+        other: Categories
       university/role:
         one: Role
         other: Roles
diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml
index 2adbfaf37179e61069498280868d3204bf736a14..45ef1c7ddc506806493ad216e50410aaa31e267d 100644
--- a/config/locales/university/fr.yml
+++ b/config/locales/university/fr.yml
@@ -72,6 +72,8 @@ fr:
         url: Site web
         user: Utilisateur
         zipcode: Code postal
+      university/person/category:
+        name: Nom
       university/person/experience:
         description: Description
         edit: Modifier l'expérience
@@ -109,6 +111,8 @@ fr:
         twitter: Twitter
         url: Site Web
         zipcode: Code postal
+      university/organization/category:
+        name: Nom
       university/role:
         description: Description
         people: Personnes
@@ -125,6 +129,9 @@ fr:
       university/person:
         one: Personne
         other: Personnes
+      university/person/category:
+        one: Catégorie
+        other: Catégories
       university/person/involvement:
         one: Implication
         other: Implications
@@ -137,6 +144,9 @@ fr:
       university/organization:
         one: Organisation
         other: Organisations
+      university/organization/category:
+        one: Catégorie
+        other: Catégories
       university/role:
         one: Rôle
         other: Rôles
diff --git a/config/routes/admin/university.rb b/config/routes/admin/university.rb
index 8a573a0a173b23a2f24c546b7bd5582f2a936e1e..7e9810dde7cabacae1790c7fdb2c88c295397b4b 100644
--- a/config/routes/admin/university.rb
+++ b/config/routes/admin/university.rb
@@ -15,6 +15,9 @@ namespace :university do
     end
   end
   resources :people do
+    collection do
+      resources :categories, controller: 'people/categories', as: 'person_categories'
+    end
     member do
       get :static
       get "/translations/:lang" => "people#in_language", as: :show_in_language
@@ -28,6 +31,9 @@ namespace :university do
     end
   end
   resources :organizations do
+    collection do
+      resources :categories, controller: 'organizations/categories', as: 'organization_categories'
+    end
     member do
       get :static
     end