diff --git a/frontend/src/pages/admin/AdminCategoriesPage.vue b/frontend/src/pages/admin/AdminCategoriesPage.vue
index d3aa16e..860cf90 100644
--- a/frontend/src/pages/admin/AdminCategoriesPage.vue
+++ b/frontend/src/pages/admin/AdminCategoriesPage.vue
@@ -60,10 +60,22 @@ async function destroy(c: Category) {
-
-
+
+
+
+ Nouvelle catégorie
+
+
-
+
+
+
+
diff --git a/frontend/src/pages/admin/AdminCategoryNewPage.vue b/frontend/src/pages/admin/AdminCategoryNewPage.vue
new file mode 100644
index 0000000..0289158
--- /dev/null
+++ b/frontend/src/pages/admin/AdminCategoryNewPage.vue
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+ Retour aux catégories
+
+
+
+
+
+
+
+
{{ form.name || '(sans nom)' }}
+
{{ form.description }}
+
+
+ 0 projet
+
+
+ {{ DIMENSION_OPTIONS.find(d => d.value === form.dimension)?.label }}
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts
index 268430b..ccaf362 100644
--- a/frontend/src/router/index.ts
+++ b/frontend/src/router/index.ts
@@ -40,6 +40,7 @@ const routes: RouteRecordRaw[] = [
{ path: 'admin/members', name: 'admin-members', component: () => import('@/pages/admin/AdminMembersPage.vue'), beforeEnter: requireAdmin },
{ path: 'admin/members/:slug/edit', name: 'admin-member-edit', component: () => import('@/pages/admin/AdminMemberEditPage.vue'), props: true, beforeEnter: requireAdmin },
{ path: 'admin/categories', name: 'admin-categories', component: () => import('@/pages/admin/AdminCategoriesPage.vue'), beforeEnter: requireAdmin },
+ { path: 'admin/categories/new', name: 'admin-category-new', component: () => import('@/pages/admin/AdminCategoryNewPage.vue'), beforeEnter: requireAdmin },
{ path: 'admin/categories/:slug/edit', name: 'admin-category-edit', component: () => import('@/pages/admin/AdminCategoryEditPage.vue'), props: true, beforeEnter: requireAdmin },
{ path: 'admin/login', name: 'admin-login', component: () => import('@/pages/AdminLoginPage.vue'), meta: { hideForAuthed: true } },