diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js
index 33b86bd606c23d65feaa51d4806485fa74459f73..4aa11843668581fcf726642ee320d12236367eac 100644
--- a/app/assets/config/manifest.js
+++ b/app/assets/config/manifest.js
@@ -1,4 +1,5 @@
 //= link_tree ../images
+//= link_tree ../fonts
 //= link_directory ../stylesheets .css
 //= link_directory ../javascripts .js
 //= link vue.js
diff --git a/app/assets/fonts/Basier-Square/basiersquare-bold.woff b/app/assets/fonts/Basier-Square/basiersquare-bold.woff
new file mode 100644
index 0000000000000000000000000000000000000000..4d192b38cb67448c8e1e9e1decbb0c1c1ce344f8
Binary files /dev/null and b/app/assets/fonts/Basier-Square/basiersquare-bold.woff differ
diff --git a/app/assets/fonts/Basier-Square/basiersquare-bold.woff2 b/app/assets/fonts/Basier-Square/basiersquare-bold.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..c0d1fc3d9abfaef6374ad4d73b8276842cdac63e
Binary files /dev/null and b/app/assets/fonts/Basier-Square/basiersquare-bold.woff2 differ
diff --git a/app/assets/fonts/Basier-Square/basiersquare-regular.woff b/app/assets/fonts/Basier-Square/basiersquare-regular.woff
new file mode 100644
index 0000000000000000000000000000000000000000..fd64c52466dddb0b64327362c6e3358b21d04434
Binary files /dev/null and b/app/assets/fonts/Basier-Square/basiersquare-regular.woff differ
diff --git a/app/assets/fonts/Basier-Square/basiersquare-regular.woff2 b/app/assets/fonts/Basier-Square/basiersquare-regular.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..98233594f49dfd3e9e6b38caf329b6972e7861d7
Binary files /dev/null and b/app/assets/fonts/Basier-Square/basiersquare-regular.woff2 differ
diff --git a/app/assets/stylesheets/application/layout.sass b/app/assets/stylesheets/application/layout.sass
index cd015c4d187b46d793493288a6565b52805ad526..3858c3f7d518c648dde9e9035171ed5b9b06aed8 100644
--- a/app/assets/stylesheets/application/layout.sass
+++ b/app/assets/stylesheets/application/layout.sass
@@ -3,26 +3,10 @@
     &-danger
         color: #82322F
 
-.extranet
-    .navbar
-        margin-bottom: 100px
-        .navbar-brand
-            img
-                max-width: 100px
-    header
-        border-bottom: 1px solid
-        border-top: 1px solid
-        min-height: 160px
-        h1, p
-            padding-top: 3rem
-    footer
-        margin-top: 100px
-        .logo
-            width: 100px
-
 .breadcrumb
     font-size: 14px
     padding-bottom: 50px
+
 .card
     background: black
     border: none
diff --git a/app/assets/stylesheets/extranet.sass b/app/assets/stylesheets/extranet.sass
new file mode 100644
index 0000000000000000000000000000000000000000..ff1fddbfdcac3a74b31707a70829e4624781fb85
--- /dev/null
+++ b/app/assets/stylesheets/extranet.sass
@@ -0,0 +1,15 @@
+@import 'extranet/_default/abstracts/*'
+
+// IJBA Theme
+@import 'extranet/themes/IJBA/variables'
+
+// Vendors
+@import 'bootstrap'
+@import 'simple_form_password_with_hints'
+@import 'simple_form_bs5_file_input'
+@import 'gdpr/cookie_consent'
+
+// Default
+@import 'extranet/_default/base/*'
+@import 'extranet/_default/layouts/*'
+@import 'extranet/_default/components/*'
diff --git a/app/assets/stylesheets/extranet/_default/abstracts/_functions.sass b/app/assets/stylesheets/extranet/_default/abstracts/_functions.sass
new file mode 100644
index 0000000000000000000000000000000000000000..dfad930d62f5dea9a4275ca321f9d0f6b3beb6c6
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/abstracts/_functions.sass
@@ -0,0 +1,7 @@
+@function px2rem($size)
+    $remSize: $size / 16
+    @return #{$remSize}rem
+
+@function pxr2rem($size)
+    $remSize: $size / 16 / 2
+    @return #{$remSize}rem
diff --git a/app/assets/stylesheets/extranet/_default/abstracts/_variables.sass b/app/assets/stylesheets/extranet/_default/abstracts/_variables.sass
new file mode 100644
index 0000000000000000000000000000000000000000..a2badb9f66cc5b3d57521c0c5f4c599826d7b1dd
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/abstracts/_variables.sass
@@ -0,0 +1,25 @@
+// Colors
+$primary: black
+
+// Fonts
+$font-family-sans-serif: "Basier Square", sans-serif
+$font-size-root: 1rem
+$font-size-base: 1.125rem
+
+$h1-font-size: px2rem(40)
+$h2-font-size: px2rem(18)
+$h3-font-size: px2rem(20)
+$headings-font-weight: 700
+$headings-margin-bottom: px2rem(24)
+$small-font-size: px2rem(14)
+
+// Links
+$link-color: $primary
+$link-decoration: none
+
+// Breadcrumb
+$breadcrumb-font-size: px2rem(14)
+$breadcrumb-active-color: black
+$breadcrumb-divider-color: black
+$breadcrumb-margin-bottom: 45px
+
diff --git a/app/assets/stylesheets/extranet/_default/base/_fonts.sass b/app/assets/stylesheets/extranet/_default/base/_fonts.sass
new file mode 100644
index 0000000000000000000000000000000000000000..1ae9991f29db0e9c8d3afa131687a3f471b456a9
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/base/_fonts.sass
@@ -0,0 +1,14 @@
+@font-face
+    font-display: swap
+    font-family: 'Basier Square'
+    font-style: normal
+    font-weight: 400
+    src: asset-url("Basier-Square/basiersquare-regular.woff2") format("woff2"), url("Basier-Square/basiersquare-regular.woff") format("woff")
+
+@font-face
+    font-display: swap
+    font-family: 'Basier Square'
+    font-style: normal
+    font-weight: 700
+    src: asset-url("Basier-Square/basiersquare-bold.woff2") format("woff2"), url("Basier-Square/basiersquare-bold.woff") format("woff")
+
diff --git a/app/assets/stylesheets/extranet/_default/base/_typography.sass b/app/assets/stylesheets/extranet/_default/base/_typography.sass
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/app/assets/stylesheets/extranet/_default/components/_breadcrumb.sass b/app/assets/stylesheets/extranet/_default/components/_breadcrumb.sass
new file mode 100644
index 0000000000000000000000000000000000000000..23391a0c8943e73eb29847249e016c0d0c4f81fb
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/components/_breadcrumb.sass
@@ -0,0 +1,2 @@
+.breadcrumb
+    margin-bottom: $breadcrumb-margin-bottom !important
\ No newline at end of file
diff --git a/app/assets/stylesheets/extranet/_default/layouts/_footer.sass b/app/assets/stylesheets/extranet/_default/layouts/_footer.sass
new file mode 100644
index 0000000000000000000000000000000000000000..fcffb8885a5276f267b1805d87b56e747f88203f
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/layouts/_footer.sass
@@ -0,0 +1,4 @@
+footer
+    margin-top: 100px
+    .logo
+        width: 100px
\ No newline at end of file
diff --git a/app/assets/stylesheets/extranet/_default/layouts/_header.sass b/app/assets/stylesheets/extranet/_default/layouts/_header.sass
new file mode 100644
index 0000000000000000000000000000000000000000..da3706b863bf484763cb1c3ca6a02ad549261545
--- /dev/null
+++ b/app/assets/stylesheets/extranet/_default/layouts/_header.sass
@@ -0,0 +1,12 @@
+.navbar
+    margin-bottom: 100px
+    .navbar-brand
+        img
+            max-width: 100px
+
+header
+    border-bottom: 1px solid
+    border-top: 1px solid
+    min-height: 160px
+    h1, p
+        padding-top: 3rem
\ No newline at end of file
diff --git a/app/assets/stylesheets/extranet/themes/IJBA/_variables.sass b/app/assets/stylesheets/extranet/themes/IJBA/_variables.sass
new file mode 100644
index 0000000000000000000000000000000000000000..71b7e5289b6b7ddebe1187850cf33c36f0a12a60
--- /dev/null
+++ b/app/assets/stylesheets/extranet/themes/IJBA/_variables.sass
@@ -0,0 +1,5 @@
+$ijba-red: #E40130
+
+$nav-tabs-link-active-color: $ijba-red
+
+$breadcrumb-active-color: $ijba-red
diff --git a/app/assets/stylesheets/extranet/themes/IJBA/ijba.sass b/app/assets/stylesheets/extranet/themes/IJBA/ijba.sass
new file mode 100644
index 0000000000000000000000000000000000000000..13396b00fb1dd7ddf4ae91101d0e87d41088aa23
--- /dev/null
+++ b/app/assets/stylesheets/extranet/themes/IJBA/ijba.sass
@@ -0,0 +1,17 @@
+// TODO : Add one compiled CSS per theme ?
+
+// @import 'extranet/abstracts/*'
+
+// // IJBA Theme
+// @import 'variables'
+
+// // Vendors
+// @import 'bootstrap'
+// @import 'simple_form_password_with_hints'
+// @import 'simple_form_bs5_file_input'
+// @import 'gdpr/cookie_consent'
+
+// // Default
+// @import 'extranet/_default/base/*'
+// @import 'extranet/_default/layouts/*'
+// @import 'extranet/_default/components/*'
diff --git a/app/models/university/person/alumnus/import.rb b/app/models/university/person/alumnus/import.rb
index f8a05b767bb3d6168450dff2c1e1dbc205ba63c5..77cd24df890817447f22fbf4d0408a7924a0ef61 100644
--- a/app/models/university/person/alumnus/import.rb
+++ b/app/models/university/person/alumnus/import.rb
@@ -34,11 +34,17 @@ class University::Person::Alumnus::Import < ApplicationRecord
       if Rails.env.development?
         # substitute local data for testing
         substitutes = {
-          'c6b78fac-0a5f-4c44-ad22-4ee68ed382bb' => '23279cab-8bc1-4c75-bcd8-1fccaa03ad55', # DUT MMI
-          'ae3e067a-63b4-4c3f-ba9c-468ade0e4182' => '863b8c9c-1ed1-4af7-b92c-7264dfb6b4da', # MASTER IJBA
-          'f4d4a92f-8b8f-4778-a127-9293684666be' => '8dfaee2a-c876-4b1c-8e4e-8380d720c71f', # DU_BILINGUE
-          '6df53074-195c-4299-8b49-bbc9d7cad41a' => 'be3cb0b2-7f66-4c5f-b8d7-6a39a0480c46', # DU_JRI
-          '0d81d3a2-a12c-4326-a395-fd0df4a3ea4f' => '56a50383-3ef7-43f6-8e98-daf279e86802' # DUT_JOURNALISME
+          # 'c6b78fac-0a5f-4c44-ad22-4ee68ed382bb' => '23279cab-8bc1-4c75-bcd8-1fccaa03ad55', # DUT MMI
+          # 'ae3e067a-63b4-4c3f-ba9c-468ade0e4182' => '863b8c9c-1ed1-4af7-b92c-7264dfb6b4da', # MASTER IJBA
+          # 'f4d4a92f-8b8f-4778-a127-9293684666be' => '8dfaee2a-c876-4b1c-8e4e-8380d720c71f', # DU_BILINGUE
+          # '6df53074-195c-4299-8b49-bbc9d7cad41a' => 'be3cb0b2-7f66-4c5f-b8d7-6a39a0480c46', # DU_JRI
+          # '0d81d3a2-a12c-4326-a395-fd0df4a3ea4f' => '56a50383-3ef7-43f6-8e98-daf279e86802' # DUT_JOURNALISME
+
+          'c6b78fac-0a5f-4c44-ad22-4ee68ed382bb' => '02e6f703-d15b-4841-ac95-3c47d88e21b5', # DUT MMI
+          'ae3e067a-63b4-4c3f-ba9c-468ade0e4182' => '8fdfafb7-11fd-456c-9f47-7fd76dddb373', # MASTER IJBA
+          'f4d4a92f-8b8f-4778-a127-9293684666be' => 'fab9b86c-8872-4df5-9a97-0e30b104a837', # DU_BILINGUE
+          '6df53074-195c-4299-8b49-bbc9d7cad41a' => 'cb1a26b9-fe5c-4ad1-9715-71cec4642910', # DU_JRI
+          '0d81d3a2-a12c-4326-a395-fd0df4a3ea4f' => '91c44fd2-f0a4-4189-a3f5-311322b7b472' # DUT_JOURNALISME
         }
         program_id = substitutes[program_id] if substitutes.has_key? program_id
       end
diff --git a/app/views/extranet/layouts/application.html.erb b/app/views/extranet/layouts/application.html.erb
index 74bf7b45c19e463fb5e223fc27223bc4536c7a61..9415ecf20b80fbb782dee51b3b0ca25d654eebac 100644
--- a/app/views/extranet/layouts/application.html.erb
+++ b/app/views/extranet/layouts/application.html.erb
@@ -6,7 +6,7 @@
     <title><%= yield :title %></title>
     <%= csrf_meta_tags %>
     <%= csp_meta_tag %>
-    <%= stylesheet_link_tag 'application', media: 'all' %>
+    <%= stylesheet_link_tag 'extranet', media: 'all' %>
     <%= javascript_include_tag 'application' %>
     <%= favicon_link_tag 'favicon.png' %>
   </head>
diff --git a/db/schema.rb b/db/schema.rb
index bf0583b11350e281eb844e4e6968bde0c0af469d..e035c15feac95f145bc6f62a2a6c113c174b457f 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -488,23 +488,6 @@ ActiveRecord::Schema.define(version: 2022_04_25_152944) do
     t.index ["university_id"], name: "index_education_schools_on_university_id"
   end
 
-  create_table "external_organizations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
-    t.string "title"
-    t.text "description"
-    t.string "address"
-    t.string "zipcode"
-    t.string "city"
-    t.string "country"
-    t.string "website"
-    t.string "phone"
-    t.string "mail"
-    t.boolean "active"
-    t.string "sirene"
-    t.integer "kind"
-    t.datetime "created_at", precision: 6, null: false
-    t.datetime "updated_at", precision: 6, null: false
-  end
-
   create_table "languages", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
     t.string "name"
     t.string "iso_code"
@@ -688,8 +671,8 @@ ActiveRecord::Schema.define(version: 2022_04_25_152944) do
     t.string "linkedin"
     t.boolean "is_alumnus", default: false
     t.text "description_short"
-    t.string "name"
     t.boolean "is_author"
+    t.string "name"
     t.index ["university_id"], name: "index_university_people_on_university_id"
     t.index ["user_id"], name: "index_university_people_on_user_id"
   end
diff --git a/docs/extranet/readme.md b/docs/extranet/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..1b6ee19a04935e2d58295e4c7fa14ed1f562fc9f
--- /dev/null
+++ b/docs/extranet/readme.md
@@ -0,0 +1,4 @@
+# Osuny Extranet
+
+## Alumni
+