diff --git a/app/controllers/extranet/academic_years_controller.rb b/app/controllers/extranet/academic_years_controller.rb
new file mode 100644
index 0000000000000000000000000000000000000000..c1d759ee055dc4e68b4db9a745c47382829147d7
--- /dev/null
+++ b/app/controllers/extranet/academic_years_controller.rb
@@ -0,0 +1,12 @@
+class Extranet::AcademicYearsController < ApplicationController
+  load_and_authorize_resource class: Education::AcademicYear,
+                              through: :current_university,
+                              through_association: :academic_years
+
+  def index
+    @academic_years = @academic_years.ordered.page(params[:page])
+  end
+
+  def show
+  end
+end
diff --git a/app/controllers/university/organizations_controller.rb b/app/controllers/extranet/organizations_controller.rb
similarity index 81%
rename from app/controllers/university/organizations_controller.rb
rename to app/controllers/extranet/organizations_controller.rb
index f3340418978c0486416128b57e3e6faf0dcdd96e..33633e234f5e3d55e9d239ae0d44aae1eb4a33e3 100644
--- a/app/controllers/university/organizations_controller.rb
+++ b/app/controllers/extranet/organizations_controller.rb
@@ -1,4 +1,4 @@
-class University::OrganizationsController < ApplicationController
+class Extranet::OrganizationsController < ApplicationController
   load_and_authorize_resource class: University::Organization,
                               through: :current_university,
                               through_association: :organizations
diff --git a/app/models/administration/qualiopi/indicator.rb b/app/models/administration/qualiopi/indicator.rb
index 300286f22c2b5b35c92568f4cde1b0c4b2bd6691..6e06a027333a734dbc6b5b039d18b1b21626969a 100644
--- a/app/models/administration/qualiopi/indicator.rb
+++ b/app/models/administration/qualiopi/indicator.rb
@@ -20,7 +20,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_31f1a0a2c9  (criterion_id => administration_qualiopi_criterions.id)
+#  fk_rails_eed87f7acf  (criterion_id => administration_qualiopi_criterions.id)
 #
 class Administration::Qualiopi::Indicator < ApplicationRecord
   include Sanitizable
diff --git a/app/models/communication/website.rb b/app/models/communication/website.rb
index 5d96aa34c6bb028927cea9148eaa5f09b873f644..f235303488e854edb39273990f23fab9251a1208 100644
--- a/app/models/communication/website.rb
+++ b/app/models/communication/website.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_94b0abd85b  (university_id => universities.id)
+#  fk_rails_bb6a496c08  (university_id => universities.id)
 #
 class Communication::Website < ApplicationRecord
   include WithUniversity
diff --git a/app/models/communication/website/configs/base_url.rb b/app/models/communication/website/configs/base_url.rb
index a712220143d13d8a738a26397046788eaa4154fc..a2510c716f8662e46e01f66222730e6c680e3505 100644
--- a/app/models/communication/website/configs/base_url.rb
+++ b/app/models/communication/website/configs/base_url.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_94b0abd85b  (university_id => universities.id)
+#  fk_rails_bb6a496c08  (university_id => universities.id)
 #
 class Communication::Website::Configs::BaseUrl < Communication::Website
 
diff --git a/app/models/communication/website/configs/permalinks.rb b/app/models/communication/website/configs/permalinks.rb
index 387417dae992281b04074f4b723cace9a2c19b2a..04a9cc323c8d694bff15d5cfa331c933edde9025 100644
--- a/app/models/communication/website/configs/permalinks.rb
+++ b/app/models/communication/website/configs/permalinks.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_94b0abd85b  (university_id => universities.id)
+#  fk_rails_bb6a496c08  (university_id => universities.id)
 #
 class Communication::Website::Configs::Permalinks < Communication::Website
 
diff --git a/app/models/education/academic_year.rb b/app/models/education/academic_year.rb
new file mode 100644
index 0000000000000000000000000000000000000000..efbe632f93af0eabcf3ade9506b4addb7b16c988
--- /dev/null
+++ b/app/models/education/academic_year.rb
@@ -0,0 +1,27 @@
+# == Schema Information
+#
+# Table name: education_academic_years
+#
+#  id            :uuid             not null, primary key
+#  year          :integer
+#  created_at    :datetime         not null
+#  updated_at    :datetime         not null
+#  university_id :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_education_academic_years_on_university_id  (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_7d376afe35  (university_id => universities.id)
+#
+class Education::AcademicYear < ApplicationRecord
+  include WithUniversity
+
+  scope :ordered, -> { order(year: :desc) } 
+
+  def to_s
+    "#{year}"
+  end
+end
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index a88582d9d6912e44045e221613087f2b5dc28326..360d5ba5f7ddf67fe2e8f92e2b5115037db5dd4e 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -39,7 +39,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_6e16107511  (university_id => universities.id)
+#  fk_rails_08b351087c  (university_id => universities.id)
 #  fk_rails_ec1f16f607  (parent_id => education_programs.id)
 #
 class Education::Program < ApplicationRecord
diff --git a/app/models/university/person/alumnus.rb b/app/models/university/person/alumnus.rb
new file mode 100644
index 0000000000000000000000000000000000000000..242788896e2aa638bb149c5f111697c9dce165c4
--- /dev/null
+++ b/app/models/university/person/alumnus.rb
@@ -0,0 +1,48 @@
+# == Schema Information
+#
+# Table name: university_people
+#
+#  id                :uuid             not null, primary key
+#  biography         :text
+#  description       :text
+#  email             :string
+#  first_name        :string
+#  habilitation      :boolean          default(FALSE)
+#  is_administration :boolean
+#  is_researcher     :boolean
+#  is_teacher        :boolean
+#  last_name         :string
+#  linkedin          :string
+#  phone             :string
+#  slug              :string
+#  tenure            :boolean          default(FALSE)
+#  twitter           :string
+#  url               :string
+#  created_at        :datetime         not null
+#  updated_at        :datetime         not null
+#  university_id     :uuid             not null, indexed
+#  user_id           :uuid             indexed
+#
+# Indexes
+#
+#  index_university_people_on_university_id  (university_id)
+#  index_university_people_on_user_id        (user_id)
+#
+# Foreign Keys
+#
+#  fk_rails_b47a769440  (user_id => users.id)
+#  fk_rails_da35e70d61  (university_id => universities.id)
+#
+class University::Person::Alumnus < University::Person
+  def self.polymorphic_name
+    'University::Person::Alumnus'
+  end
+
+  def git_path(website)
+    # TODO
+  end
+
+  def for_website?(website)
+    # TODO
+  end
+end
diff --git a/app/models/university/with_education.rb b/app/models/university/with_education.rb
index 5acddc90f4055bb204487797d97d6994c82a189e..c7448f3d3f092ef36ae9490130ca656f069663cf 100644
--- a/app/models/university/with_education.rb
+++ b/app/models/university/with_education.rb
@@ -4,5 +4,6 @@ module University::WithEducation
   included do
     has_many :education_programs, class_name: 'Education::Program', dependent: :destroy
     has_many :education_schools, class_name: 'Education::School', dependent: :destroy
+    has_many :academic_years, class_name: 'Education::AcademicYear', dependent: :destroy
   end
 end
diff --git a/app/views/extranet/academic_years/index.html.erb b/app/views/extranet/academic_years/index.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..6bb47711d1cc0040225ab2eddda52fe7784401f6
--- /dev/null
+++ b/app/views/extranet/academic_years/index.html.erb
@@ -0,0 +1,19 @@
+<% content_for :title, Education::AcademicYear.model_name.human(count: 2) %>
+
+<table class="<%= table_classes %>">
+  <thead>
+    <tr>
+      <th>Year</th>
+      <th></th>
+    </tr>
+  </thead>
+
+  <tbody>
+    <% @academic_years.each do |year| %>
+      <tr>
+        <td><%= year.year %></td>
+        <td></td>
+      </tr>
+    <% end %>
+  </tbody>
+</table>
diff --git a/app/views/extranet/academic_years/show.html.erb b/app/views/extranet/academic_years/show.html.erb
new file mode 100644
index 0000000000000000000000000000000000000000..4c9b91dbfb52a216446f1c04b1897bfe42c9fd1c
--- /dev/null
+++ b/app/views/extranet/academic_years/show.html.erb
@@ -0,0 +1,14 @@
+<p id="notice"><%= notice %></p>
+
+<p>
+  <strong>University:</strong>
+  <%= @education_academic_year.university_id %>
+</p>
+
+<p>
+  <strong>Year:</strong>
+  <%= @education_academic_year.year %>
+</p>
+
+<%= link_to 'Edit', edit_education_academic_year_path(@education_academic_year) %> |
+<%= link_to 'Back', education_academic_years_path %>
diff --git a/app/views/university/organizations/index.html.erb b/app/views/extranet/organizations/index.html.erb
similarity index 100%
rename from app/views/university/organizations/index.html.erb
rename to app/views/extranet/organizations/index.html.erb
diff --git a/app/views/university/organizations/show.html.erb b/app/views/extranet/organizations/show.html.erb
similarity index 56%
rename from app/views/university/organizations/show.html.erb
rename to app/views/extranet/organizations/show.html.erb
index 1a8858a8183c77fbb221e456277a8e24e78b282f..39b24130fa4451934fc800724765ad58ded63dc4 100644
--- a/app/views/university/organizations/show.html.erb
+++ b/app/views/extranet/organizations/show.html.erb
@@ -1 +1,3 @@
 <% content_for :title, @organization %>
+
+<h1><%= @organization %></h1>
diff --git a/config/routes.rb b/config/routes.rb
index 7bf2ee0b0c0d5c65699cb0a2059c705454874c5b..45bd12e82b6fe14b93709110a5231924c2b8f66c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,4 +1,5 @@
 Rails.application.routes.draw do
+  resources :university_person_alumnus_imports
   authenticated :user, -> user { user.server_admin? } do
     match "/delayed_job" => DelayedJobWeb, :anchor => false, :via => [:get, :post]
   end
diff --git a/config/routes/admin/communication.rb b/config/routes/admin/communication.rb
index 7b07d35b56ea04d6dd3a83c853adea8dca3a1a1b..8b65d9c852c44bf5d5576cea3d8d52e28d18df98 100644
--- a/config/routes/admin/communication.rb
+++ b/config/routes/admin/communication.rb
@@ -57,4 +57,9 @@ namespace :communication do
     end
   end
   resources :extranets, controller: 'extranets'
+  resources :alumni do
+    collection do
+      resources :imports, only: [:index, :show, :new, :create]
+    end
+  end
 end
diff --git a/config/routes/extranet.rb b/config/routes/extranet.rb
index 186b49d3851de3c596de301297fb06865336f7a7..e23246ed59008752fd1068fbcec6e73485d696d5 100644
--- a/config/routes/extranet.rb
+++ b/config/routes/extranet.rb
@@ -1,6 +1,4 @@
-namespace :university do
-  resources :organizations, only: [:index, :show]
-end
-
-get 'organizations' => 'university/organizations#index', as: :organizations
-get 'organization/:id' => 'university/organizations#show', as: :organization
+get 'organizations'     => 'extranet/organizations#index', as: :organizations
+get 'organization/:id'  => 'extranet/organizations#show', as: :university_organization
+get 'years'             => 'extranet/academic_years#index', as: :academic_years
+get 'years/:id'         => 'extranet/academic_years#show', as: :academic_year
diff --git a/db/migrate/20220316144230_create_education_academic_years.rb b/db/migrate/20220316144230_create_education_academic_years.rb
new file mode 100644
index 0000000000000000000000000000000000000000..25b594c36bf3d5573f9617668ff52f80da0ac92b
--- /dev/null
+++ b/db/migrate/20220316144230_create_education_academic_years.rb
@@ -0,0 +1,10 @@
+class CreateEducationAcademicYears < ActiveRecord::Migration[6.1]
+  def change
+    create_table :education_academic_years, id: :uuid do |t|
+      t.references :university, null: false, foreign_key: true, type: :uuid
+      t.integer :year
+
+      t.timestamps
+    end
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index e30fc9ba96bc7f892b2ca439a92f51f3c383a209..67016a4c70bbe516bc96db755e68b019cb504445 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 2022_03_08_114213) do
+ActiveRecord::Schema.define(version: 2022_03_16_151533) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
@@ -384,6 +384,14 @@ ActiveRecord::Schema.define(version: 2022_03_08_114213) do
     t.index ["priority", "run_at"], name: "delayed_jobs_priority"
   end
 
+  create_table "education_academic_years", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
+    t.uuid "university_id", null: false
+    t.integer "year"
+    t.datetime "created_at", precision: 6, null: false
+    t.datetime "updated_at", precision: 6, null: false
+    t.index ["university_id"], name: "index_education_academic_years_on_university_id"
+  end
+
   create_table "education_programs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
     t.uuid "university_id", null: false
     t.string "name"
@@ -642,6 +650,15 @@ ActiveRecord::Schema.define(version: 2022_03_08_114213) do
     t.index ["user_id"], name: "index_university_people_on_user_id"
   end
 
+  create_table "university_person_alumnus_imports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
+    t.uuid "university_id", null: false
+    t.uuid "user_id", null: false
+    t.datetime "created_at", precision: 6, null: false
+    t.datetime "updated_at", precision: 6, null: false
+    t.index ["university_id"], name: "index_university_person_alumnus_imports_on_university_id"
+    t.index ["user_id"], name: "index_university_person_alumnus_imports_on_user_id"
+  end
+
   create_table "university_person_involvements", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
     t.uuid "university_id", null: false
     t.uuid "person_id", null: false
@@ -756,6 +773,7 @@ ActiveRecord::Schema.define(version: 2022_03_08_114213) do
   add_foreign_key "communication_website_posts", "universities"
   add_foreign_key "communication_website_posts", "university_people", column: "author_id"
   add_foreign_key "communication_websites", "universities"
+  add_foreign_key "education_academic_years", "universities"
   add_foreign_key "education_programs", "education_programs", column: "parent_id"
   add_foreign_key "education_programs", "universities"
   add_foreign_key "education_schools", "universities"
@@ -780,6 +798,8 @@ ActiveRecord::Schema.define(version: 2022_03_08_114213) do
   add_foreign_key "university_organizations", "universities"
   add_foreign_key "university_people", "universities"
   add_foreign_key "university_people", "users"
+  add_foreign_key "university_person_alumnus_imports", "universities"
+  add_foreign_key "university_person_alumnus_imports", "users"
   add_foreign_key "university_person_involvements", "universities"
   add_foreign_key "university_person_involvements", "university_people", column: "person_id"
   add_foreign_key "university_roles", "universities"
diff --git a/docs/benchmark.md b/docs/benchmark.md
deleted file mode 100644
index 94e442e846eaf14322f410f57adb57aa473b110d..0000000000000000000000000000000000000000
--- a/docs/benchmark.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Benchmark
-
-## Ecoles
-
-### Excellent websites
-
-- https://www.harvard.edu/
-- https://www.mit.edu/
-
-### Other websites
-
-- https://www.stanford.edu/
-- https://www.brown.edu/
-- https://www.columbia.edu/
-- https://home.dartmouth.edu/
-- https://www.upenn.edu/
-- https://www.princeton.edu/
-- https://www.yale.edu/
-- https://www.ox.ac.uk/
-- https://www.cam.ac.uk/
-- https://www.caltech.edu/
-- https://www.imperial.ac.uk/
-- https://ethz.ch/
-- https://www.ucl.ac.uk/
-- https://psl.eu/
-- https://www.ip-paris.fr/
-- https://www.sorbonne-universite.fr/
-- https://www.hec.edu/fr
-- https://www.essec.edu/fr/
diff --git a/test/controllers/education/academic_years_controller_test.rb b/test/controllers/education/academic_years_controller_test.rb
new file mode 100644
index 0000000000000000000000000000000000000000..3e5bf7bdceceffbac113d450dac8ad2c3dfb1b54
--- /dev/null
+++ b/test/controllers/education/academic_years_controller_test.rb
@@ -0,0 +1,48 @@
+require "test_helper"
+
+class Education::AcademicYearsControllerTest < ActionDispatch::IntegrationTest
+  setup do
+    @education_academic_year = education_academic_years(:one)
+  end
+
+  test "should get index" do
+    get education_academic_years_url
+    assert_response :success
+  end
+
+  test "should get new" do
+    get new_education_academic_year_url
+    assert_response :success
+  end
+
+  test "should create education_academic_year" do
+    assert_difference('Education::AcademicYear.count') do
+      post education_academic_years_url, params: { education_academic_year: { university_id: @education_academic_year.university_id, year: @education_academic_year.year } }
+    end
+
+    assert_redirected_to education_academic_year_url(Education::AcademicYear.last)
+  end
+
+  test "should show education_academic_year" do
+    get education_academic_year_url(@education_academic_year)
+    assert_response :success
+  end
+
+  test "should get edit" do
+    get edit_education_academic_year_url(@education_academic_year)
+    assert_response :success
+  end
+
+  test "should update education_academic_year" do
+    patch education_academic_year_url(@education_academic_year), params: { education_academic_year: { university_id: @education_academic_year.university_id, year: @education_academic_year.year } }
+    assert_redirected_to education_academic_year_url(@education_academic_year)
+  end
+
+  test "should destroy education_academic_year" do
+    assert_difference('Education::AcademicYear.count', -1) do
+      delete education_academic_year_url(@education_academic_year)
+    end
+
+    assert_redirected_to education_academic_years_url
+  end
+end
diff --git a/test/fixtures/communication/websites.yml b/test/fixtures/communication/websites.yml
index 44c31f2ca94a0d3ec0e718052cc4147f24dabf95..aea91b89aedf7bdf88dc35453d5b5aaa4d1d2f25 100644
--- a/test/fixtures/communication/websites.yml
+++ b/test/fixtures/communication/websites.yml
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_94b0abd85b  (university_id => universities.id)
+#  fk_rails_bb6a496c08  (university_id => universities.id)
 #
 website_with_github:
   university: default_university
diff --git a/test/fixtures/education/academic_years.yml b/test/fixtures/education/academic_years.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2a7ea54e6ec792f1e370cda239c158f95f011a32
--- /dev/null
+++ b/test/fixtures/education/academic_years.yml
@@ -0,0 +1,26 @@
+# == Schema Information
+#
+# Table name: education_academic_years
+#
+#  id            :uuid             not null, primary key
+#  year          :integer
+#  created_at    :datetime         not null
+#  updated_at    :datetime         not null
+#  university_id :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_education_academic_years_on_university_id  (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_7d376afe35  (university_id => universities.id)
+#
+
+one:
+  university: one
+  year: 1
+
+two:
+  university: two
+  year: 1
diff --git a/test/models/education/academic_year_test.rb b/test/models/education/academic_year_test.rb
new file mode 100644
index 0000000000000000000000000000000000000000..f5535a748800fef1a826d92880c4969576a154c5
--- /dev/null
+++ b/test/models/education/academic_year_test.rb
@@ -0,0 +1,25 @@
+# == Schema Information
+#
+# Table name: education_academic_years
+#
+#  id            :uuid             not null, primary key
+#  year          :integer
+#  created_at    :datetime         not null
+#  updated_at    :datetime         not null
+#  university_id :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_education_academic_years_on_university_id  (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_7d376afe35  (university_id => universities.id)
+#
+require "test_helper"
+
+class Education::AcademicYearTest < ActiveSupport::TestCase
+  # test "the truth" do
+  #   assert true
+  # end
+end
diff --git a/test/system/education/academic_years_test.rb b/test/system/education/academic_years_test.rb
new file mode 100644
index 0000000000000000000000000000000000000000..68b9d54ab2803acbe86d5c3c79293011e9077836
--- /dev/null
+++ b/test/system/education/academic_years_test.rb
@@ -0,0 +1,45 @@
+require "application_system_test_case"
+
+class Education::AcademicYearsTest < ApplicationSystemTestCase
+  setup do
+    @education_academic_year = education_academic_years(:one)
+  end
+
+  test "visiting the index" do
+    visit education_academic_years_url
+    assert_selector "h1", text: "Education/Academic Years"
+  end
+
+  test "creating a Academic year" do
+    visit education_academic_years_url
+    click_on "New Education/Academic Year"
+
+    fill_in "University", with: @education_academic_year.university_id
+    fill_in "Year", with: @education_academic_year.year
+    click_on "Create Academic year"
+
+    assert_text "Academic year was successfully created"
+    click_on "Back"
+  end
+
+  test "updating a Academic year" do
+    visit education_academic_years_url
+    click_on "Edit", match: :first
+
+    fill_in "University", with: @education_academic_year.university_id
+    fill_in "Year", with: @education_academic_year.year
+    click_on "Update Academic year"
+
+    assert_text "Academic year was successfully updated"
+    click_on "Back"
+  end
+
+  test "destroying a Academic year" do
+    visit education_academic_years_url
+    page.accept_confirm do
+      click_on "Destroy", match: :first
+    end
+
+    assert_text "Academic year was successfully destroyed"
+  end
+end