diff --git a/__manifest__.py b/__manifest__.py
index d1630d05677ed558fb318e3e0f379fa45c5a9aa0..2522b7527e464f2a4db9c5b6052a35574c7de8e7 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -16,8 +16,9 @@
         "templates/blog_templates.xml",
         "templates/portal_layout.xml",
         # views
-        "views/scop_portal_blog.xml",
         "views/scop_portal_blog_category.xml",
+        "views/scop_portal_blog_page.xml",
+        "views/scop_portal_blog_site.xml",
         # menus
         "views/menus.xml",
     ],
diff --git a/controllers/portal.py b/controllers/portal.py
index 2a5060f4984d50d925885f3a2d4c9892b85c63c7..bf42efa33fc762342368f19e75944b2e985eaa8b 100644
--- a/controllers/portal.py
+++ b/controllers/portal.py
@@ -7,8 +7,8 @@ from odoo.addons.scopext_portal.controllers.portal import Extranet
 
 
 class ExtranetBlog(Extranet):
-    def _prepare_portal_ur_home_values(self):
-        parent_values = super()._prepare_portal_values()
+    def _prepare_portal_blog_home_values(self):
+        parent_values = super()._prepare_portal_values(ensure_coop=True)
         values = {
             "title": "Extranet CGScop - Mon Union Régionale",
         }
@@ -18,14 +18,16 @@ class ExtranetBlog(Extranet):
     # Routes
     # ------------------------------------------------------
     @route(
-        ["/ur", "/ur/<model('scop.portal.blog'):blog_page>"],
+        ["/ur", "/ur/<model('scop.portal.blog.page'):blog_page>"],
         type="http",
         auth="user",
         methods=["GET"],
         website=True,
     )
     def coop_ur_blog(self, blog_page=False):
-        ur_id = request.env.user.partner_id.ur_id
+        selected_coop = request.env.user._get_selected_coop()
+
+        ur_id = selected_coop.ur_id
         if not ur_id:
             return request.render("http_routing.404")
 
@@ -33,12 +35,14 @@ class ExtranetBlog(Extranet):
             "scop.portal.blog.category"
         ].get_portal_blog_categories(ur_id)
 
-        values = self._prepare_portal_ressource_home_values()
-        values["category_ids"] = category_ids
         if not category_ids:
             return request.render("http_routing.404")
+
+        values = self._prepare_portal_blog_home_values()
+
         if blog_page:
             values["page_id"] = blog_page
             return request.render("scopext_portal_blog.blog_page", values)
 
+        values["category_ids"] = category_ids
         return request.render("scopext_portal_blog.blog_home", values)
diff --git a/models/__init__.py b/models/__init__.py
index 120206024450108080ffd9770984ca3776247365..bc9bef94dc5af7d486d9578596a5f931ac209539 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,2 +1,3 @@
-from . import scop_portal_blog
 from . import scop_portal_blog_category
+from . import scop_portal_blog_page
+from . import scop_portal_blog_site
diff --git a/models/scop_portal_blog_category.py b/models/scop_portal_blog_category.py
index a641888196357d34beec881b58176593186da8c4..ee0214ce96f1678dd5d6344c0c145ea4a2377396 100644
--- a/models/scop_portal_blog_category.py
+++ b/models/scop_portal_blog_category.py
@@ -16,14 +16,17 @@ class ScopPortalBlogCategory(models.Model):
     active = fields.Boolean("Actif", default=True)
     sequence = fields.Integer(default=10)
     color = fields.Char("Couleur")
-    logo = fields.Image()
+    logo = fields.Image("Logo")
     page_ids = fields.One2many(
-        comodel_name="scop.portal.blog", inverse_name="category_id", string="Catégorie"
+        comodel_name="scop.portal.blog.page",
+        inverse_name="category_id",
+        string="Catégorie",
     )
     # TODO: Ajouter la valeur par défaut
     ur_id = fields.Many2one(
         comodel_name="union.regionale",
         string="Union Régionale",
+        required=True,
     )
 
     # ------------------------------------------------------
diff --git a/models/scop_portal_blog.py b/models/scop_portal_blog_page.py
similarity index 90%
rename from models/scop_portal_blog.py
rename to models/scop_portal_blog_page.py
index 57f5fbb10d26b65619a3244df2716c1af7b0eb55..57a8bdedc3666b501f9f20c4e6afff70d28887ca 100644
--- a/models/scop_portal_blog.py
+++ b/models/scop_portal_blog_page.py
@@ -4,8 +4,8 @@
 from odoo import fields, models
 
 
-class ScopPortalBlog(models.Model):
-    _name = "scop.portal.blog"
+class ScopPortalBlogPage(models.Model):
+    _name = "scop.portal.blog.page"
     _inherit = ["mail.thread"]
     _description = "Portal Blog Page"
     _order = "sequence, name"
@@ -18,7 +18,7 @@ class ScopPortalBlog(models.Model):
         required=True,
         tracking=1,
     )
-    sequence = fields.Integer()
+    sequence = fields.Integer(default=10)
     active = fields.Boolean("Actif", tracking=1, default=True)
     category_id = fields.Many2one(
         comodel_name="scop.portal.blog.category",
@@ -32,6 +32,7 @@ class ScopPortalBlog(models.Model):
         comodel_name="union.regionale",
         string="Union Régionale",
         tracking=1,
+        required=True,
     )
     is_published = fields.Boolean("Publié", tracking=1, default=False)
     content = fields.Html("Contenu")
diff --git a/models/scop_portal_blog_site.py b/models/scop_portal_blog_site.py
new file mode 100644
index 0000000000000000000000000000000000000000..00ad5fda696fe0a9fb8e4b362f08405fc20107c6
--- /dev/null
+++ b/models/scop_portal_blog_site.py
@@ -0,0 +1,39 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class ScopPortalBlogSite(models.Model):
+    _name = "scop.portal.blog.site"
+    _inherit = ["mail.thread"]
+    _description = "Portal Blog Site"
+
+    # ------------------------------------------------------
+    # Fields declaration
+    # ------------------------------------------------------
+    name = fields.Char(
+        "Titre",
+        required=True,
+        tracking=1,
+    )
+    # TODO: Ajouter la valeur par défaut
+    ur_id = fields.Many2one(
+        comodel_name="union.regionale",
+        string="Union Régionale",
+        tracking=1,
+        required=True,
+    )
+    image = fields.Image("Image d'accueil")
+    content = fields.Html("Contenu de la page d'accueil")
+
+    # ------------------------------------------------------
+    # Action
+    # ------------------------------------------------------
+    def action_publish(self):
+        for blog in self:
+            blog.is_published = True
+
+    def action_unpublish(self):
+        for blog in self:
+            blog.is_published = False
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 5efc72d47203905459503897c303231610c4f911..de404e8c854406088be9c399eb1a81d15bf7bed7 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,5 +1,7 @@
 id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
-access_scop_portal_blog_group_portal,access_scop_portal_blog_group_portal,model_scop_portal_blog,base.group_portal,1,0,0,0
-access_scop_portal_blog_group_editor,access_scop_portal_blog_group_editor,model_scop_portal_blog,group_portal_blog_editor,1,1,1,1
 access_scop_portal_blog_category_group_portal,access_scop_portal_blog_category_group_portal,model_scop_portal_blog_category,base.group_portal,1,0,0,0
 access_scop_portal_blog_category_group_editor,access_scop_portal_blog_category_group_editor,model_scop_portal_blog_category,group_portal_blog_editor,1,1,1,1
+access_scop_portal_blog_page_group_portal,access_scop_portal_blog_page_group_portal,model_scop_portal_blog_page,base.group_portal,1,0,0,0
+access_scop_portal_blog_page_group_editor,access_scop_portal_blog_page_group_editor,model_scop_portal_blog_page,group_portal_blog_editor,1,1,1,1
+access_scop_portal_blog_site_group_portal,access_scop_portal_blog_site_group_portal,model_scop_portal_blog_site,base.group_portal,1,0,0,0
+access_scop_portal_blog_site_group_editor,access_scop_portal_blog_site_group_editor,model_scop_portal_blog_site,group_portal_blog_editor,1,1,1,1
diff --git a/security/security_rules.xml b/security/security_rules.xml
index 472c6596ad637fe90602b50b95f24e029e1e7cf4..011336061c038e4ca4df9540ba3f8dc609329fac 100644
--- a/security/security_rules.xml
+++ b/security/security_rules.xml
@@ -53,8 +53,8 @@
 
     <!-- Admin -->
     <record id="scop_portal_blog_admin_ur_rule" model="ir.rule">
-        <field name="name">Scop Portal: Admin Rule</field>
-        <field name="model_id" ref="model_scop_portal_blog" />
+        <field name="name">Scop Portal Page: Admin Rule</field>
+        <field name="model_id" ref="model_scop_portal_blog_page" />
         <field name="domain_force">[(1, '=', 1)]</field>
         <field
             name="groups"
@@ -78,4 +78,17 @@
         <field name="perm_create" eval="True" />
         <field name="perm_unlink" eval="True" />
     </record>
+    <record id="scop_portal_blog_admin_ur_rule" model="ir.rule">
+        <field name="name">Scop Portal Site: Admin Rule</field>
+        <field name="model_id" ref="model_scop_portal_blog_site" />
+        <field name="domain_force">[(1, '=', 1)]</field>
+        <field
+            name="groups"
+            eval="[(6, 0, [ref('scopext_portal_blog.group_portal_blog_admin')])]"
+        />
+        <field name="perm_read" eval="True" />
+        <field name="perm_write" eval="True" />
+        <field name="perm_create" eval="True" />
+        <field name="perm_unlink" eval="True" />
+    </record>
 </odoo>
diff --git a/templates/portal_layout.xml b/templates/portal_layout.xml
index 16e13bd0f1c6422b46acf90e59ac2f96c1e77e40..dbadd9f46a0eec485df839955577204179a78985 100644
--- a/templates/portal_layout.xml
+++ b/templates/portal_layout.xml
@@ -8,8 +8,7 @@
         name="blog_scop_nav_lvl1"
     >
         <xpath expr="//nav/t[@id='coop']" position="after">
-          <t t-set="ur_id" t-value="request.env.user.partner_id.ur_id" />
-          <t t-if="ur_id and request.env['scop.portal.blog.category'].get_portal_blog_categories(ur_id)">
+          <t t-if="coop.ur_id and request.env['scop.portal.blog.category'].get_portal_blog_categories(coop.ur_id)">
             <t id="home" t-call="scopext_portal.nav_lvl1_item">
               <t t-set="link" t-value="'/ur'" />
               <t t-set="name" t-value="'ur'" />
diff --git a/views/menus.xml b/views/menus.xml
index 9edf9fa8f4ac5d9b4081bfa465fd2f79b33445d0..fd1d367491517709334322c8efcf27ec0b5c6f30 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -12,7 +12,7 @@
     <menuitem
         id="menu_scop_portal_blog_page"
         name="Pages"
-        action="scop_portal_blog_action"
+        action="scop_portal_blog_page_action"
         parent="menu_scop_portal_blog_root"
         sequence="10"
     />
@@ -23,4 +23,11 @@
         parent="menu_scop_portal_blog_root"
         sequence="20"
     />
+    <menuitem
+        id="menu_scop_portal_blog_site"
+        name="Sites"
+        action="scop_portal_blog_site_action"
+        parent="menu_scop_portal_blog_root"
+        sequence="30"
+    />
 </odoo>
diff --git a/views/scop_portal_blog.xml b/views/scop_portal_blog_page.xml
similarity index 79%
rename from views/scop_portal_blog.xml
rename to views/scop_portal_blog_page.xml
index 3319b63328b02a511e4ae83ad355fb96153dec95..4c1c32be30ef19786fd0fca469b8c008f72b0bd8 100644
--- a/views/scop_portal_blog.xml
+++ b/views/scop_portal_blog_page.xml
@@ -3,9 +3,9 @@
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
     <!-- Form -->
-    <record id="scop_portal_blog_form" model="ir.ui.view">
-        <field name="name">scop.portal.blog.form</field>
-        <field name="model">scop.portal.blog</field>
+    <record id="scop_portal_blog_page_form" model="ir.ui.view">
+        <field name="name">scop.portal.blog.page.form</field>
+        <field name="model">scop.portal.blog.page</field>
         <field name="arch" type="xml">
             <form>
                 <sheet>
@@ -42,9 +42,9 @@
     </record>
 
     <!-- List -->
-    <record id="scop_portal_blog_list" model="ir.ui.view">
-        <field name="name">scop.portal.blog.list</field>
-        <field name="model">scop.portal.blog</field>
+    <record id="scop_portal_blog_page_list" model="ir.ui.view">
+        <field name="name">scop.portal.blog.page.list</field>
+        <field name="model">scop.portal.blog.page</field>
         <field name="arch" type="xml">
             <list>
                 <field name="sequence" widget="handle" />
@@ -57,9 +57,9 @@
     </record>
 
     <!-- Search -->
-    <record id="scop_portal_blog_search" model="ir.ui.view">
-        <field name="name">scop.portal.blog.search</field>
-        <field name="model">scop.portal.blog</field>
+    <record id="scop_portal_blog_page_search" model="ir.ui.view">
+        <field name="name">scop.portal.blog.page.search</field>
+        <field name="model">scop.portal.blog.page</field>
         <field name="arch" type="xml">
             <search>
                 <field name="name" />
@@ -100,22 +100,22 @@
     </record>
 
     <!-- Actions -->
-    <record model="ir.actions.act_window" id="scop_portal_blog_action">
+    <record model="ir.actions.act_window" id="scop_portal_blog_page_action">
         <field name="name">Page de blog</field>
-        <field name="res_model">scop.portal.blog</field>
-        <field name="path">blog-page</field>
+        <field name="res_model">scop.portal.blog.page</field>
+        <!-- <field name="path">blog-page</field> -->
         <field name="view_mode">list,form</field>
         <field name="help" type="html">
-            <p class="o_view_nocontent_smiling_face">
+          <p class="o_view_nocontent_smiling_face">
             Créer une nouvelle page de blog
           </p>
         </field>
     </record>
 
-    <record model="ir.actions.server" id="action_publish_blog_page">
+    <record id="action_publish_blog_page" model="ir.actions.server">
         <field name="name">Publier</field>
-        <field name="model_id" ref="model_scop_portal_blog" />
-        <field name="binding_model_id" ref="model_scop_portal_blog" />
+        <field name="model_id" ref="model_scop_portal_blog_page" />
+        <field name="binding_model_id" ref="model_scop_portal_blog_page" />
         <field name="state">code</field>
         <field name="binding_view_types">list</field>
         <field name="code">
diff --git a/views/scop_portal_blog_site.xml b/views/scop_portal_blog_site.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7e7cfa8a4d8f5a57d94995ed48606c897834f663
--- /dev/null
+++ b/views/scop_portal_blog_site.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2024- Le Filament (https://le-filament.com)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- Form -->
+    <record id="scop_portal_blog_site_form" model="ir.ui.view">
+        <field name="name">scop.portal.blog.site.form</field>
+        <field name="model">scop.portal.blog.site</field>
+        <field name="arch" type="xml">
+            <form>
+                <sheet>
+                    <div class="oe_title mb-2">
+                        <h1>
+                            <field
+                                name="name"
+                                default_focus="1"
+                                placeholder="Titre du site"
+                            />
+                        </h1>
+                    </div>
+                    <group>
+                        <group>
+                            <field name="ur_id" options="{'no_create': 1}" />
+                        </group>
+                    </group>
+                    <separator string="Contenu" />
+                    <field name="content" />
+                </sheet>
+                <chatter />
+            </form>
+        </field>
+    </record>
+
+    <!-- List -->
+    <record id="scop_portal_blog_list" model="ir.ui.view">
+        <field name="name">scop.portal.blog.site.list</field>
+        <field name="model">scop.portal.blog.site</field>
+        <field name="arch" type="xml">
+            <list>
+                <field name="name" />
+                <field name="ur_id" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Search -->
+    <record id="scop_portal_blog_search" model="ir.ui.view">
+        <field name="name">scop.portal.blog.site.search</field>
+        <field name="model">scop.portal.blog.site</field>
+        <field name="arch" type="xml">
+            <search>
+                <field name="name" />
+                <field name="ur_id" />
+                <separator />
+                <group expand="0" name="group_by" string="Group By">
+                    <filter
+                        name="group_ur_id"
+                        string="UR"
+                        context="{'group_by' : 'ur_id'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
+
+    <!-- Actions -->
+    <record id="scop_portal_blog_site_action" model="ir.actions.act_window">
+        <field name="name">Sites</field>
+        <field name="res_model">scop.portal.blog.site</field>
+        <field name="path">blog-site</field>
+        <field name="view_mode">list,form</field>
+        <field name="help" type="html">
+          <p class="o_view_nocontent_smiling_face">
+            Créer un nouveau site
+          </p>
+        </field>
+    </record>
+</odoo>