diff --git a/src/app/admin/admin-routing.module.ts b/src/app/admin/admin-routing.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9a945719de25b6a9f248bf6030eea363255e824a
--- /dev/null
+++ b/src/app/admin/admin-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import { PanelComponent } from './components/panel/panel.component';
+
+const routes: Routes = [
+  {
+    path: '',
+    component: PanelComponent,
+  },
+];
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule],
+})
+export class AdminRoutingModule {}
diff --git a/src/app/admin/admin.module.ts b/src/app/admin/admin.module.ts
index e808d3c4971dad47e41c3a81a0fbc01397ba86c5..bf5a0e7a4f1083b35ce42f834efd12e9347ed58b 100644
--- a/src/app/admin/admin.module.ts
+++ b/src/app/admin/admin.module.ts
@@ -4,11 +4,11 @@ import { PanelComponent } from './components/panel/panel.component';
 import { ClaimStructureComponent } from './components/claim-structure/claim-structure.component';
 import { DeleteUserComponent } from './components/delete-user/delete-user.component';
 import { SharedModule } from '../shared/shared.module';
-import { NewsComponent } from '../post/news.component';
 import { NewsletterUsersComponent } from './components/newsletter-users/newsletter-users.component';
+import { AdminRoutingModule } from './admin-routing.module';
 
 @NgModule({
   declarations: [PanelComponent, ClaimStructureComponent, DeleteUserComponent, NewsletterUsersComponent],
-  imports: [CommonModule, SharedModule],
+  imports: [CommonModule, AdminRoutingModule, SharedModule],
 })
 export class AdminModule {}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 8aa4f597443beb38d3227132d61846f7e0747be7..a4aa2711f9a1548296459c52ac0922b55bb55ea1 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -1,14 +1,12 @@
 import { NgModule } from '@angular/core';
 import { Routes, RouterModule } from '@angular/router';
 import { AboutComponent } from './about/about.component';
-import { PanelComponent } from './admin/components/panel/panel.component';
 import { FormComponent } from './form/form.component';
 import { AdminGuard } from './guards/admin.guard';
 import { AuthGuard } from './guards/auth.guard';
 import { DeactivateGuard } from './guards/deactivate.guard';
 import { CartoComponent } from './carto/carto.component';
 import { LegalNoticeComponent } from './legal-notice/legal-notice.component';
-import { ProfileComponent } from './profile/profile.component';
 import { ResetEmailComponent } from './reset-email/reset-email.component';
 import { ResetPasswordComponent } from './reset-password/reset-password.component';
 import { TempUserResolver } from './resolvers/temp-user.resolver';
@@ -59,7 +57,7 @@ const routes: Routes = [
   {
     path: 'profile',
     canActivate: [AuthGuard],
-    component: ProfileComponent,
+    loadChildren: () => import('./profile/profile.module').then((m) => m.ProfileModule),
   },
   {
     path: 'join',
@@ -70,11 +68,6 @@ const routes: Routes = [
     path: 'reset-password',
     component: ResetPasswordComponent,
   },
-  {
-    path: 'admin',
-    canActivate: [AdminGuard],
-    component: PanelComponent,
-  },
   {
     path: 'create-structure',
     component: FormComponent,
@@ -94,6 +87,11 @@ const routes: Routes = [
     path: 'news',
     loadChildren: () => import('./post/post.module').then((m) => m.PostModule),
   },
+  {
+    path: 'admin',
+    canActivate: [AdminGuard],
+    loadChildren: () => import('./admin/admin.module').then((m) => m.AdminModule),
+  },
   {
     path: 'home',
     redirectTo: 'news',
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index eaf45b743245eb5ffd8b5f67941b7460b6b2a422..e709b556c7fbc0d52ce526e5672cf568e11d9955 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -57,7 +57,7 @@ import { NewsletterSubscriptionComponent } from './newsletter-subscription/newsl
     StructureJoinComponent,
     NewsletterSubscriptionComponent,
   ],
-  imports: [BrowserModule, HttpClientModule, AppRoutingModule, SharedModule, MapModule, ProfileModule, AdminModule],
+  imports: [BrowserModule, HttpClientModule, AppRoutingModule, SharedModule, MapModule],
   providers: [
     { provide: LOCALE_ID, useValue: 'fr' },
     { provide: HTTP_INTERCEPTORS, useClass: CustomHttpInterceptor, multi: true },
diff --git a/src/app/profile/profile-routing.module.ts b/src/app/profile/profile-routing.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e6fd6675e3cba53ab5b62ff7e6596ad0146eea0a
--- /dev/null
+++ b/src/app/profile/profile-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import { ProfileComponent } from './profile.component';
+
+const routes: Routes = [
+  {
+    path: '',
+    component: ProfileComponent,
+  },
+];
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule],
+})
+export class ProfileRoutingModule {}
diff --git a/src/app/profile/profile.module.ts b/src/app/profile/profile.module.ts
index a9427003f2507d4092e966617363aa223996b4f5..0de33f82d066e27b7fd729316b019c1179694414 100644
--- a/src/app/profile/profile.module.ts
+++ b/src/app/profile/profile.module.ts
@@ -2,11 +2,10 @@ import { NgModule } from '@angular/core';
 import { ProfileComponent } from './profile.component';
 import { SharedModule } from '../shared/shared.module';
 import { CommonModule } from '@angular/common';
-import { BrowserModule } from '@angular/platform-browser';
+import { ProfileRoutingModule } from './profile-routing.module';
 
 @NgModule({
-  imports: [CommonModule, BrowserModule, SharedModule],
   declarations: [ProfileComponent],
-  exports: [ProfileComponent],
+  imports: [CommonModule, ProfileRoutingModule, SharedModule],
 })
 export class ProfileModule {}