diff --git a/client/src/app/admin/instance/dataset/components/instance-buttons.component.html b/client/src/app/admin/instance/dataset/components/instance-buttons.component.html
index 89218e04727878415c9c8a3856bf101097b9e6f0..953804002baeb30ba8408c744808fdaa68550b64 100644
--- a/client/src/app/admin/instance/dataset/components/instance-buttons.component.html
+++ b/client/src/app/admin/instance/dataset/components/instance-buttons.component.html
@@ -1,10 +1,15 @@
 <div class="btn-toolbar mb-3" role="toolbar" aria-label="Toolbar with button groups">
-    <div class="btn-group mr-2" role="group" aria-label="First group">
+    <div class="btn-group mr-2" role="group" aria-label="New Dataset family">
         <button (click)="openModal(template); $event.stopPropagation()" title="Add new dataset family" class="btn btn-outline-success">
             <span class="fas fa-plus"></span> New dataset family
         </button>
     </div>
-    <div class="btn-group mr-2" role="group" aria-label="Second group">
+    <div class="btn-group mr-2" role="group" aria-label="Edit webpages">
+        <button routerLink="/admin/instance/configure-instance/{{ instance.name }}/webpages" title="Edit instances webpages" class="btn btn-outline-primary">
+            <span class="fas fa-file-lines"></span> Edit instance webpages
+        </button>
+    </div>
+    <div class="btn-group mr-2" role="group" aria-label="Handle dataset groups">
         <button routerLink="/admin/instance/configure-instance/{{ instance.name }}/dataset-group" title="Handle groups" class="btn btn-outline-primary">
             <span class="fas fa-users"></span> Handle dataset groups
         </button>
diff --git a/client/src/app/admin/instance/instance-routing.module.ts b/client/src/app/admin/instance/instance-routing.module.ts
index d7f78cc8e9869a9fe8744a108db608bfdb3fca2f..a0ea13dd3852ba503e0247bf2e53a916c713d80e 100644
--- a/client/src/app/admin/instance/instance-routing.module.ts
+++ b/client/src/app/admin/instance/instance-routing.module.ts
@@ -29,7 +29,8 @@ const routes: Routes = [
         [
             { path: '', redirectTo: 'dataset/dataset-list', pathMatch: 'full' },
             { path: 'dataset', loadChildren: () => import('./dataset/dataset.module').then(m => m.DatasetModule) },
-            { path: 'dataset-group', loadChildren: () => import('./dataset-group/dataset-group.module').then(m => m.DatasetGroupModule) }
+            { path: 'dataset-group', loadChildren: () => import('./dataset-group/dataset-group.module').then(m => m.DatasetGroupModule) },
+            { path: 'webpages', loadChildren: () => import('./webpages/webpages.module').then(m => m.WebpagesModule) },
         ]
     },
 ];
diff --git a/client/src/app/admin/instance/webpages/components/index.ts b/client/src/app/admin/instance/webpages/components/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..6de339c71a1248ffa8b768bba4995eab4b3ff143
--- /dev/null
+++ b/client/src/app/admin/instance/webpages/components/index.ts
@@ -0,0 +1,11 @@
+/**
+ * This file is part of Anis Client.
+ *
+ * @copyright Laboratoire d'Astrophysique de Marseille / CNRS
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+export const dummiesComponents = [
+];
diff --git a/client/src/app/admin/instance/webpages/containers/webpages-list.component.html b/client/src/app/admin/instance/webpages/containers/webpages-list.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..de41922f96e8acca52965559967ca740ae466389
--- /dev/null
+++ b/client/src/app/admin/instance/webpages/containers/webpages-list.component.html
@@ -0,0 +1,28 @@
+<div class="container-fluid">
+    <nav aria-label="breadcrumb">
+        <ol class="breadcrumb">
+            <li class="breadcrumb-item">
+                <a routerLink="/admin/instance/instance-list">
+                    Instances
+                </a>
+            </li>
+            <li class="breadcrumb-item">
+                <a routerLink="/admin/instance/configure-instance/{{ instanceName | async }}">
+                    Configure instance {{ instanceName | async }}
+                </a>
+            </li>
+            <li class="breadcrumb-item active" aria-current="page">Edit instance webpages</li>
+        </ol>
+    </nav>
+
+    <div class="row">
+        <nav class="col-md-2 col-sm-12 mb-2">
+            <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
+                <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</a>
+            </div>
+        </nav>
+        <div class="col-md-10 col-sm-12">
+            <textarea type="text"  name="txtarea" style="font-family: Arial;font-size: 12pt;width:100%;height:40vw"></textarea>
+        </div>
+    </div>
+</div>
diff --git a/client/src/app/admin/instance/webpages/containers/webpages-list.component.scss b/client/src/app/admin/instance/webpages/containers/webpages-list.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts b/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..6e8843614fe24a1973f9c266dd4ce5370a3fc27a
--- /dev/null
+++ b/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts
@@ -0,0 +1,27 @@
+/**
+ * This file is part of Anis Client.
+ *
+ * @copyright Laboratoire d'Astrophysique de Marseille / CNRS
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import { Component } from '@angular/core';
+import { Observable } from 'rxjs';
+import { Store } from '@ngrx/store';
+
+import * as instanceSelector from 'src/app/metamodel/selectors/instance.selector';
+
+@Component({
+    selector: 'app-webpages-list',
+    templateUrl: 'webpages-list.component.html',
+    styleUrls: [ 'webpages-list.component.scss' ]
+})
+export class WebpagesListComponent {
+    public instanceName: Observable<string>;
+
+    constructor(private store: Store<{ }>) {
+        this.instanceName = this.store.select(instanceSelector.selectInstanceNameByRoute);
+    }
+}
diff --git a/client/src/app/admin/instance/webpages/webpages-routing.module.ts b/client/src/app/admin/instance/webpages/webpages-routing.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5af6138b15939770ed12c33f8d70424a2cc9cfe9
--- /dev/null
+++ b/client/src/app/admin/instance/webpages/webpages-routing.module.ts
@@ -0,0 +1,31 @@
+/**
+ * This file is part of Anis Client.
+ *
+ * @copyright Laboratoire d'Astrophysique de Marseille / CNRS
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { WebpagesListComponent } from './containers/webpages-list.component';
+
+const routes: Routes = [
+    { path: '', component: WebpagesListComponent }
+];
+
+/**
+ * @class
+ * @classdesc Dataset routing module.
+ */
+@NgModule({
+    imports: [RouterModule.forChild(routes)],
+    exports: [RouterModule]
+})
+export class DatasetRoutingModule { }
+
+export const routedComponents = [
+    WebpagesListComponent
+];
diff --git a/client/src/app/admin/instance/webpages/webpages.module.ts b/client/src/app/admin/instance/webpages/webpages.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9222e0418b1048bf802bd0c537d8fd384e6f6466
--- /dev/null
+++ b/client/src/app/admin/instance/webpages/webpages.module.ts
@@ -0,0 +1,33 @@
+/**
+ * This file is part of Anis Client.
+ *
+ * @copyright Laboratoire d'Astrophysique de Marseille / CNRS
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import { NgModule } from '@angular/core';
+
+import { SharedModule } from 'src/app/shared/shared.module';
+import { DatasetRoutingModule, routedComponents } from './webpages-routing.module';
+import { dummiesComponents } from './components';
+
+import { AdminSharedModule } from '../../admin-shared/admin-shared.module';
+
+/**
+ * @class
+ * @classdesc Dataset module.
+ */
+@NgModule({
+    imports: [
+        SharedModule,
+        DatasetRoutingModule,
+        AdminSharedModule
+    ],
+    declarations: [
+        routedComponents,
+        dummiesComponents
+    ]
+})
+export class WebpagesModule { }
diff --git a/client/yarn.lock b/client/yarn.lock
index 6418171403d03c5fd92b58ce44d9bfc89db43592..4a964f04631ee997f26bcff363f389b2819124b5 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -6192,6 +6192,11 @@ makeerror@1.0.x:
   dependencies:
     tmpl "1.0.x"
 
+marked@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e"
+  integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==
+
 media-typer@0.3.0:
   version "0.3.0"
   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@@ -6468,6 +6473,15 @@ ngx-json-viewer@^3.0.2:
   dependencies:
     tslib "^2.0.0"
 
+ngx-md@^12.0.5:
+  version "12.0.5"
+  resolved "https://registry.yarnpkg.com/ngx-md/-/ngx-md-12.0.5.tgz#4b48dabad7a4f8cc3e0f321fea95a066e590bcf9"
+  integrity sha512-sjCfnV665oq2MCgtNPbso9v/OKJridvtlj3ExR75q5f783QUmEWJKAnglS/bZESjjxZm+RZrWpdFsxDVwk/5xw==
+  dependencies:
+    marked "^0.7.0"
+    prismjs "^1.15.0"
+    tslib "^2.0.0"
+
 ngx-toastr@^14.2.1:
   version "14.2.1"
   resolved "https://registry.yarnpkg.com/ngx-toastr/-/ngx-toastr-14.2.1.tgz#2899cc6e69af607aa89a2de807c32b46fdc035f8"
@@ -7252,6 +7266,11 @@ pretty-format@^27.5.1:
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
 
+prismjs@^1.15.0:
+  version "1.28.0"
+  resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6"
+  integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==
+
 process-nextick-args@~2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"