diff --git a/client/src/app/admin/instance/components/instance-form.component.html b/client/src/app/admin/instance/components/instance-form.component.html
index bf91dd5ec5f0cc62246a2fd6bfef47576144fd7d..50d0b6e9d9355f18eec554dddbd1834556a47d14 100644
--- a/client/src/app/admin/instance/components/instance-form.component.html
+++ b/client/src/app/admin/instance/components/instance-form.component.html
@@ -1,130 +1,140 @@
 <form [formGroup]="form" (ngSubmit)="submit()" novalidate>
-    <div class="form-group">
-        <label for="name">Name</label>
-        <input type="text" class="form-control" id="name" name="name" formControlName="name">
-    </div>
-    <div class="form-group">
-        <label for="label">Label</label>
-        <input type="text" class="form-control" id="label" name="label" formControlName="label">
-    </div>
-    <div class="form-group">
-        <label for="description">Description</label>
-        <textarea class="form-control" rows="5" id="description" name="description" formControlName="description"></textarea>
-    </div>
-    <div class="form-group">
-        <label for="display">Display</label>
-        <input type="number" class="form-control" id="display" name="display" formControlName="display">
-    </div>
-    <app-data-path-form-control
-        [form]="form"
-        [rootDirectory]="rootDirectory"
-        [rootDirectoryIsLoading]="rootDirectoryIsLoading"
-        [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
-        (loadRootDirectory)="loadRootDirectory.emit($event)">
-    </app-data-path-form-control>
-    <app-file-select-form-control
-        [form]="form"
-        [disabled]="isDataPathEmpty()"
-        [controlName]="'portal_logo'"
-        [controlLabel]="'Portal logo'"
-        [rootDirectory]="rootDirectory"
-        [rootDirectoryIsLoading]="rootDirectoryIsLoading"
-        [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
-        (loadRootDirectory)="loadRootDirectory.emit($event)">
-    </app-file-select-form-control>
-    <div class="form-row">
-        <div class="form-group col-md-6">
-            <label for="design_color_picker">Instance color (picker)</label>
-            <input class="form-control" type="color" id="design_color_picker" [value]="form.value.design_color" formControlName="design_color">
-        </div>
-        <div class="form-group col-md-6">
-            <label for="design_color_input">Instance color (value)</label>
-            <input type="text" class="form-control" id="design_color_input" [value]="form.value.design_color" formControlName="design_color">
-        </div>
-    </div>
-    <div class="form-row">
-        <div class="form-group col-md-6">
-            <label for="design_background_color_picker">Instance background color (picker)</label>
-            <input class="form-control" type="color" id="design_background_color_picker" [value]="form.value.design_background_color" formControlName="design_background_color">
-        </div>
-        <div class="form-group col-md-6">
-            <label for="design_background_color_input">Instance background color (value)</label>
-            <input type="text" class="form-control" id="design_background_color_input" [value]="form.value.design_background_color" formControlName="design_background_color">
-        </div>
-    </div>
-    <app-file-select-form-control
-        [form]="form"
-        [disabled]="isDataPathEmpty()"
-        [controlName]="'design_logo'"
-        [controlLabel]="'Logo'"
-        [rootDirectory]="rootDirectory"
-        [rootDirectoryIsLoading]="rootDirectoryIsLoading"
-        [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
-        (loadRootDirectory)="loadRootDirectory.emit($event)">
-    </app-file-select-form-control>
-    <app-file-select-form-control
-        [form]="form"
-        [disabled]="isDataPathEmpty()"
-        [controlName]="'design_favicon'"
-        [controlLabel]="'Favicon'"
-        [rootDirectory]="rootDirectory"
-        [rootDirectoryIsLoading]="rootDirectoryIsLoading"
-        [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
-        (loadRootDirectory)="loadRootDirectory.emit($event)">
-    </app-file-select-form-control>
-    <div class="form-group">
-        <label for="home_component">Component</label>
-        <select class="form-control" name="home_component" formControlName="home_component">
-            <option value="WelcomeComponent">WelcomeComponent</option>
-        </select>
-    </div>
-    <div formGroupName="home_component_config">
-        <div class="form-group">
-            <label for="home_component_text">Text</label>
-            <textarea class="form-control" id="home_component_text" formControlName="home_component_text" rows="3"></textarea>
-        </div>
-        <app-file-select-form-control
-            [form]="getHomeConfigFormGroup()"
-            [controlName]="'home_component_logo'"
-            [controlLabel]="'Logo'"
-            [rootDirectory]="rootDirectory"
-            [rootDirectoryIsLoading]="rootDirectoryIsLoading"
-            [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
-            (loadRootDirectory)="loadRootDirectory.emit($event)">
-        </app-file-select-form-control>
-    </div>
-    <div class="custom-control custom-switch mb-2">
-        <input class="custom-control-input" type="checkbox" id="search_by_criteria_allowed" name="search_by_criteria_allowed" formControlName="search_by_criteria_allowed" (change)="checkDisableSearchByCriteriaAllowed()">
-        <label class="custom-control-label" for="search_by_criteria_allowed">Classic search allowed</label>
-    </div>
-    <div class="form-group">
-        <label for="search_by_criteria_label">Label</label>
-        <input type="text" class="form-control" id="search_by_criteria_label" formControlName="search_by_criteria_label">
-    </div>
-    <div class="custom-control custom-switch mb-2">
-        <input class="custom-control-input" type="checkbox" id="search_multiple_allowed" name="search_multiple_allowed" formControlName="search_multiple_allowed" (change)="checkDisableAllDatasetsSelected()">
-        <label class="custom-control-label" for="search_multiple_allowed">Search multiple allowed</label>
-    </div>
-    <div class="form-group">
-        <label for="search_multiple_label">Label</label>
-        <input type="text" class="form-control" id="search_multiple_label" formControlName="search_multiple_label">
-    </div>
-    <div class="custom-control custom-switch">
-        <input class="custom-control-input"
-            type="checkbox"
-            id="search_multiple_all_datasets_selected"
-            name="search_multiple_all_datasets_selected"
-            formControlName="search_multiple_all_datasets_selected">
-        <label class="custom-control-label" for="search_multiple_all_datasets_selected">All datasets with cone search enabled selected by default</label>
-    </div>
-    <div class="custom-control custom-switch mb-2">
-        <input class="custom-control-input" type="checkbox" id="documentation_allowed" name="documentation_allowed" formControlName="documentation_allowed" (change)="checkDisableDocumentationAllowed()">
-        <label class="custom-control-label" for="documentation_allowed">Documentation allowed</label>
-    </div>
-    <div class="form-group">
-        <label for="documentation_label">Label</label>
-        <input type="text" class="form-control" id="documentation_label" formControlName="documentation_label">
-    </div>
+    <accordion [isAnimated]="true">
+        <accordion-group heading="General information" [isOpen]="true">
+            <div class="form-group">
+                <label for="name">Name</label>
+                <input type="text" class="form-control" id="name" name="name" formControlName="name">
+            </div>
+            <div class="form-group">
+                <label for="label">Label</label>
+                <input type="text" class="form-control" id="label" name="label" formControlName="label">
+            </div>
+            <div class="form-group">
+                <label for="description">Description</label>
+                <textarea class="form-control" rows="5" id="description" name="description" formControlName="description"></textarea>
+            </div>
+            <div class="form-group">
+                <label for="display">Display</label>
+                <input type="number" class="form-control" id="display" name="display" formControlName="display">
+            </div>
+            <app-data-path-form-control
+                [form]="form"
+                [rootDirectory]="rootDirectory"
+                [rootDirectoryIsLoading]="rootDirectoryIsLoading"
+                [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
+                (loadRootDirectory)="loadRootDirectory.emit($event)">
+            </app-data-path-form-control>
+        </accordion-group>
+        <accordion-group heading="Design" [isOpen]="true">
+            <app-file-select-form-control
+                [form]="form"
+                [disabled]="isDataPathEmpty()"
+                [controlName]="'portal_logo'"
+                [controlLabel]="'Portal logo'"
+                [rootDirectory]="rootDirectory"
+                [rootDirectoryIsLoading]="rootDirectoryIsLoading"
+                [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
+                (loadRootDirectory)="loadRootDirectory.emit($event)">
+            </app-file-select-form-control>
+            <div class="form-row">
+                <div class="form-group col-md-6">
+                    <label for="design_color_picker">Instance color (picker)</label>
+                    <input class="form-control" type="color" id="design_color_picker" [value]="form.value.design_color" formControlName="design_color">
+                </div>
+                <div class="form-group col-md-6">
+                    <label for="design_color_input">Instance color (value)</label>
+                    <input type="text" class="form-control" id="design_color_input" [value]="form.value.design_color" formControlName="design_color">
+                </div>
+            </div>
+            <div class="form-row">
+                <div class="form-group col-md-6">
+                    <label for="design_background_color_picker">Instance background color (picker)</label>
+                    <input class="form-control" type="color" id="design_background_color_picker" [value]="form.value.design_background_color" formControlName="design_background_color">
+                </div>
+                <div class="form-group col-md-6">
+                    <label for="design_background_color_input">Instance background color (value)</label>
+                    <input type="text" class="form-control" id="design_background_color_input" [value]="form.value.design_background_color" formControlName="design_background_color">
+                </div>
+            </div>
+            <app-file-select-form-control
+                [form]="form"
+                [disabled]="isDataPathEmpty()"
+                [controlName]="'design_logo'"
+                [controlLabel]="'Logo'"
+                [rootDirectory]="rootDirectory"
+                [rootDirectoryIsLoading]="rootDirectoryIsLoading"
+                [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
+                (loadRootDirectory)="loadRootDirectory.emit($event)">
+            </app-file-select-form-control>
+            <app-file-select-form-control
+                [form]="form"
+                [disabled]="isDataPathEmpty()"
+                [controlName]="'design_favicon'"
+                [controlLabel]="'Favicon'"
+                [rootDirectory]="rootDirectory"
+                [rootDirectoryIsLoading]="rootDirectoryIsLoading"
+                [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
+                (loadRootDirectory)="loadRootDirectory.emit($event)">
+            </app-file-select-form-control>
+        </accordion-group>
+        <accordion-group heading="Home page" [isOpen]="true">
+            <div class="form-group">
+                <label for="home_component">Component</label>
+                <select class="form-control" name="home_component" formControlName="home_component">
+                    <option value="WelcomeComponent">WelcomeComponent</option>
+                </select>
+            </div>
+            <div formGroupName="home_component_config">
+                <div class="form-group">
+                    <label for="home_component_text">Text</label>
+                    <textarea class="form-control" id="home_component_text" formControlName="home_component_text" rows="3"></textarea>
+                </div>
+                <app-file-select-form-control
+                    [form]="getHomeConfigFormGroup()"
+                    [controlName]="'home_component_logo'"
+                    [controlLabel]="'Logo'"
+                    [rootDirectory]="rootDirectory"
+                    [rootDirectoryIsLoading]="rootDirectoryIsLoading"
+                    [rootDirectoryIsLoaded]="rootDirectoryIsLoaded"
+                    (loadRootDirectory)="loadRootDirectory.emit($event)">
+                </app-file-select-form-control>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Functionalities" [isOpen]="true">
+            <div class="custom-control custom-switch mb-2">
+                <input class="custom-control-input" type="checkbox" id="search_by_criteria_allowed" name="search_by_criteria_allowed" formControlName="search_by_criteria_allowed" (change)="checkDisableSearchByCriteriaAllowed()">
+                <label class="custom-control-label" for="search_by_criteria_allowed">Classic search allowed</label>
+            </div>
+            <div class="form-group">
+                <label for="search_by_criteria_label">Label</label>
+                <input type="text" class="form-control" id="search_by_criteria_label" formControlName="search_by_criteria_label">
+            </div>
+            <div class="custom-control custom-switch mb-2">
+                <input class="custom-control-input" type="checkbox" id="search_multiple_allowed" name="search_multiple_allowed" formControlName="search_multiple_allowed" (change)="checkDisableAllDatasetsSelected()">
+                <label class="custom-control-label" for="search_multiple_allowed">Search multiple allowed</label>
+            </div>
+            <div class="form-group">
+                <label for="search_multiple_label">Label</label>
+                <input type="text" class="form-control" id="search_multiple_label" formControlName="search_multiple_label">
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input"
+                    type="checkbox"
+                    id="search_multiple_all_datasets_selected"
+                    name="search_multiple_all_datasets_selected"
+                    formControlName="search_multiple_all_datasets_selected">
+                <label class="custom-control-label" for="search_multiple_all_datasets_selected">All datasets with cone search enabled selected by default</label>
+            </div>
+            <div class="custom-control custom-switch mb-2">
+                <input class="custom-control-input" type="checkbox" id="documentation_allowed" name="documentation_allowed" formControlName="documentation_allowed" (change)="checkDisableDocumentationAllowed()">
+                <label class="custom-control-label" for="documentation_allowed">Documentation allowed</label>
+            </div>
+            <div class="form-group">
+                <label for="documentation_label">Label</label>
+                <input type="text" class="form-control" id="documentation_label" formControlName="documentation_label">
+            </div>
+        </accordion-group>
+    </accordion>
     <div class="form-group pt-4">
         <ng-content></ng-content>
     </div>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.html
deleted file mode 100644
index 7ebd53202c8605964eaaff1fdf77b5d82541fe0b..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Cone-search panel" [isDisabled]="isDisabled">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="cone_search_enabled" name="cone_search_enabled" formControlName="cone_search_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="cone_search_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="cone_search_opened" name="cone_search_opened" formControlName="cone_search_opened">
-            <label class="custom-control-label" for="cone_search_opened">Opened</label>
-        </div>
-        <div class="form-group">
-            <div class="form-row">
-                <div class="col-md-6">
-                    <label for="cone_search_column_ra">Column RA</label>
-                    <select class="form-control" id="cone_search_column_ra" name="cone_search_column_ra" formControlName="cone_search_column_ra">
-                        <option *ngFor="let attribute of attributeList" [ngValue]="attribute.id">{{ attribute.form_label }}</option>
-                    </select>
-                </div>
-                <div class="col-md-6">
-                    <label for="cone_search_column_dec">Column DEC</label>
-                    <select class="form-control" id="cone_search_column_dec" name="cone_search_column_dec" formControlName="cone_search_column_dec">
-                        <option *ngFor="let attribute of attributeList" [ngValue]="attribute.id">{{ attribute.form_label }}</option>
-                    </select>
-                </div>
-            </div>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="cone_search_plot_enabled" name="cone_search_plot_enabled" formControlName="cone_search_plot_enabled">
-            <label class="custom-control-label" for="cone_search_plot_enabled">Activate plot</label>
-        </div>
-        <div *ngIf="form.controls.cone_search_plot_enabled.value" class="mt-2 table-responsive">
-            <table class="table" aria-describedby="cone-search configuration">
-                <thead>
-                    <tr>
-                        <th scope="col">Name</th>
-                        <th scope="col">Enabled</th>
-                        <th scope="col">Display</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr>
-                        <td class="align-middle">SDSS (DR16)</td>
-                        <td class="align-middle">
-                            <div class="custom-control custom-switch">
-                                <input class="custom-control-input" type="checkbox" id="cone_search_sdss_enabled" name="cone_search_sdss_enabled" formControlName="cone_search_sdss_enabled">
-                                <label class="custom-control-label" for="cone_search_sdss_enabled"></label>
-                            </div>
-                        </td>
-                        <td class="align-middle">
-                            <input type="number" class="form-control" value="10" id="cone_search_sdss_display" name="cone_search_sdss_display" formControlName="cone_search_sdss_display">
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.ts
deleted file mode 100644
index 8aed004ad34ca78dafbcda1db241ff9cb4a63945..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/cone-search-form-group.component.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-import { Attribute } from 'src/app/metamodel/models';
-
-@Component({
-    selector: 'app-cone-search-form-group',
-    templateUrl: 'cone-search-form-group.component.html'
-})
-export class ConeSearchFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-    @Input() isDisabled: boolean;
-    @Input() attributeList: Attribute[];
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.cone_search_enabled.value) {
-            this.form.controls.cone_search_opened.enable();
-            this.form.controls.cone_search_column_ra.enable();
-            this.form.controls.cone_search_column_dec.enable();
-            this.form.controls.cone_search_plot_enabled.enable();
-            this.form.controls.cone_search_sdss_enabled.enable();
-            this.form.controls.cone_search_sdss_display.enable();
-        } else {
-            this.form.controls.cone_search_opened.setValue(false);
-            this.form.controls.cone_search_opened.disable();
-            this.form.controls.cone_search_column_ra.disable();
-            this.form.controls.cone_search_column_dec.disable();
-            this.form.controls.cone_search_plot_enabled.setValue(false);
-            this.form.controls.cone_search_plot_enabled.disable();
-        }
-    }
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
index 4a268c6c8e51818d91bb71844c0461d7963da9a0..082327aefe17b4715ba7a6ef6b040380f4017631 100644
--- a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
+++ b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.html
@@ -60,14 +60,112 @@
                 <label class="custom-control-label" for="private"><span class="fas fa-lock"></span> Private</label>
             </div>
         </accordion-group>
-        <app-info-survey-form-group [form]="infoSurveyFormGroup"></app-info-survey-form-group>
-        <app-image-form-group [form]="imageFormGroup" [isDisabled]="isNewDataset"></app-image-form-group>
-        <app-cone-search-form-group [form]="coneSearchFormGroup" [isDisabled]="isNewDataset" [attributeList]="attributeList"></app-cone-search-form-group>
-        <app-download-form-group [form]="downloadFormGroup"></app-download-form-group>
-        <app-summary-form-group [form]="summaryFormGroup"></app-summary-form-group>
-        <app-server-link-form-group [form]="serverlinkFormGroup"></app-server-link-form-group>
-        <app-samp-form-group [form]="sampFormGroup"></app-samp-form-group>
-        <app-datatable-form-group [form]="datatableFormGroup"></app-datatable-form-group>
+        <accordion-group heading="Info survey" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="info_survey_enabled" name="info_survey_enabled" formControlName="info_survey_enabled" (change)="checkInfoSurveyDisableOpened()">
+                <label class="custom-control-label" for="info_survey_enabled">Enabled</label>
+            </div>
+            <div class="form-group">
+                <label for="info_survey_label">Label</label>
+                <input type="text" class="form-control" id="info_survey_label" name="info_survey_label" formControlName="info_survey_label">
+            </div>
+        </accordion-group>
+        <accordion-group heading="Cone-search" [isOpen]="!isNewDataset" [isDisabled]="isNewDataset">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="cone_search_enabled" name="cone_search_enabled" formControlName="cone_search_enabled" (change)="checkConeSearchDisableOpened()">
+                <label class="custom-control-label" for="cone_search_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="cone_search_opened" name="cone_search_opened" formControlName="cone_search_opened">
+                <label class="custom-control-label" for="cone_search_opened">Opened</label>
+            </div>
+            <div class="form-group">
+                <div class="form-row">
+                    <div class="col-md-6">
+                        <label for="cone_search_column_ra">Column RA</label>
+                        <select class="form-control" id="cone_search_column_ra" name="cone_search_column_ra" formControlName="cone_search_column_ra">
+                            <option *ngFor="let attribute of attributeList" [ngValue]="attribute.id">{{ attribute.form_label }}</option>
+                        </select>
+                    </div>
+                    <div class="col-md-6">
+                        <label for="cone_search_column_dec">Column DEC</label>
+                        <select class="form-control" id="cone_search_column_dec" name="cone_search_column_dec" formControlName="cone_search_column_dec">
+                            <option *ngFor="let attribute of attributeList" [ngValue]="attribute.id">{{ attribute.form_label }}</option>
+                        </select>
+                    </div>
+                </div>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Download" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_enabled" name="download_enabled" formControlName="download_enabled" (change)="checkDownloadDisableOpened()">
+                <label class="custom-control-label" for="download_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_opened" name="download_opened" formControlName="download_opened">
+                <label class="custom-control-label" for="download_opened">Opened</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_csv" name="download_csv" formControlName="download_csv">
+                <label class="custom-control-label" for="download_csv">Display download results button in CSV format</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_ascii" name="download_ascii" formControlName="download_ascii">
+                <label class="custom-control-label" for="download_ascii">Display download results button in ASCII format</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_vo" name="download_vo" formControlName="download_vo">
+                <label class="custom-control-label" for="download_vo">Display download results button in VO format</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="download_archive" name="download_archive" formControlName="download_archive">
+                <label class="custom-control-label" for="download_archive">Display download results archive button</label>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Summary" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="summary_enabled" name="summary_enabled" formControlName="summary_enabled" (change)="checkSummaryDisableOpened()">
+                <label class="custom-control-label" for="summary_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="summary_opened" name="summary_opened" formControlName="summary_opened">
+                <label class="custom-control-label" for="summary_opened">Opened</label>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Server link" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="server_link_enabled" name="server_link_enabled" formControlName="server_link_enabled" (change)="checkServerLinkDisableOpened()">
+                <label class="custom-control-label" for="server_link_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="server_link_opened" name="server_link_opened" formControlName="server_link_opened">
+                <label class="custom-control-label" for="server_link_opened">Opened</label>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Samp" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="samp_enabled" name="samp_enabled" formControlName="samp_enabled" (change)="checkSampDisablOpened()">
+                <label class="custom-control-label" for="samp_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="samp_opened" name="samp_opened" formControlName="samp_opened">
+                <label class="custom-control-label" for="samp_opened">Opened</label>
+            </div>
+        </accordion-group>
+        <accordion-group heading="Datatable" [isOpen]="true">
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="datatable_enabled" name="datatable_enabled" formControlName="datatable_enabled" (change)="checkDatatableDisablOpened()">
+                <label class="custom-control-label" for="datatable_enabled">Enabled</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="datatable_opened" name="datatable_opened" formControlName="datatable_opened">
+                <label class="custom-control-label" for="datatable_opened">Open the results datatable accordion</label>
+            </div>
+            <div class="custom-control custom-switch">
+                <input class="custom-control-input" type="checkbox" id="datatable_selectable_rows" name="datatable_selectable_rows" formControlName="datatable_selectable_rows">
+                <label class="custom-control-label" for="datatable_selectable_rows">Datatable rows selectable</label>
+            </div>
+        </accordion-group>
     </accordion>
     <div class="form-group mt-3">
         <ng-content></ng-content>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
index de141e1f8e93845a2cfe37e1f8540632c2bf4722..9961700eab83f6a43acc909d137890905fe4f67f 100644
--- a/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
+++ b/client/src/app/admin/instance/dataset/components/dataset/dataset-form.component.ts
@@ -35,75 +35,37 @@ export class DatasetFormComponent implements OnInit, OnChanges {
 
     public isNewDataset = true;
 
-    public infoSurveyFormGroup = new FormGroup({
-        survey_enabled: new FormControl(false),
-        survey_label: new FormControl('More about this survey', [Validators.required])
-    });
-
-    public imageFormGroup = new FormGroup({
-
-    });
-
-    public coneSearchFormGroup = new FormGroup({
+    public form = new FormGroup({
+        name: new FormControl('', [Validators.required]),
+        label: new FormControl('', [Validators.required]),
+        survey_name: new FormControl('', [Validators.required]),
+        table_ref: new FormControl('', [Validators.required]),
+        id_dataset_family: new FormControl('', [Validators.required]),
+        description: new FormControl('', [Validators.required]),
+        data_path: new FormControl(''),
+        display: new FormControl('', [Validators.required]),
+        info_survey_enabled: new FormControl(false),
+        info_survey_label: new FormControl('More about this survey', [Validators.required]),
         cone_search_enabled: new FormControl(false),
         cone_search_opened: new FormControl({value: false, disabled: true}),
         cone_search_column_ra: new FormControl({value: false, disabled: true}),
         cone_search_column_dec: new FormControl({value: false, disabled: true}),
-        cone_search_plot_enabled: new FormControl({value: false, disabled: true}),
-        cone_search_sdss_enabled: new FormControl({value: false, disabled: true}),
-        cone_search_sdss_display: new FormControl({value: false, disabled: true}),
-        cone_search_background: new FormControl({value: [], disabled: true})
-    });
-
-    public downloadFormGroup = new FormGroup({
         download_enabled: new FormControl(true),
         download_opened: new FormControl(false),
         download_csv: new FormControl(true),
         download_ascii: new FormControl(true),
         download_vo: new FormControl(false),
-        download_archive: new FormControl(false)
-    });
-
-    public summaryFormGroup = new FormGroup({
+        download_archive: new FormControl(false),
         summary_enabled: new FormControl(false),
-        summary_opened: new FormControl({value: false, disabled: true})
-    });
-
-    public serverlinkFormGroup = new FormGroup({
+        summary_opened: new FormControl({value: false, disabled: true}),
         server_link_enabled: new FormControl(false),
-        server_link_opened: new FormControl({value: false, disabled: true})
-    });
-
-    public sampFormGroup = new FormGroup({
+        server_link_opened: new FormControl({value: false, disabled: true}),
         samp_enabled: new FormControl(false),
-        samp_opened: new FormControl({value: false, disabled: true})
-    });
-
-    public datatableFormGroup = new FormGroup({
+        samp_opened: new FormControl({value: false, disabled: true}),
         datatable_enabled: new FormControl(true),
         datatable_opened: new FormControl(true),
-        datatable_selectable_rows: new FormControl(false)
-    });
-
-    public form = new FormGroup({
-        name: new FormControl('', [Validators.required]),
-        label: new FormControl('', [Validators.required]),
-        survey_name: new FormControl('', [Validators.required]),
-        table_ref: new FormControl('', [Validators.required]),
-        id_dataset_family: new FormControl('', [Validators.required]),
-        description: new FormControl('', [Validators.required]),
-        data_path: new FormControl(''),
-        display: new FormControl('', [Validators.required]),
-        public: new FormControl('', [Validators.required]),
-        config: new FormGroup({
-            survey: this.infoSurveyFormGroup,
-            cone_search: this.coneSearchFormGroup,
-            download: this.downloadFormGroup,
-            summary: this.summaryFormGroup,
-            server_link: this.serverlinkFormGroup,
-            samp: this.sampFormGroup,
-            datatable: this.datatableFormGroup
-        })
+        datatable_selectable_rows: new FormControl(false),
+        public: new FormControl('', [Validators.required])
     });
 
     ngOnInit() {
@@ -115,6 +77,14 @@ export class DatasetFormComponent implements OnInit, OnChanges {
         if (this.idDatasetFamily) {
             this.form.controls.id_dataset_family.setValue(this.idDatasetFamily);
         }
+
+        this.checkInfoSurveyDisableOpened();
+        this.checkConeSearchDisableOpened();
+        this.checkDownloadDisableOpened();
+        this.checkSummaryDisableOpened();
+        this.checkServerLinkDisableOpened();
+        this.checkSampDisablOpened();
+        this.checkDatatableDisablOpened();
     }
 
     ngOnChanges(changes: SimpleChanges) {
@@ -148,4 +118,86 @@ export class DatasetFormComponent implements OnInit, OnChanges {
     onChangeDataPath(path: string) {
         this.loadRootDirectory.emit(`${this.instance.data_path}${path}`);
     }
+
+    checkInfoSurveyDisableOpened() {
+        if (this.form.controls.info_survey_enabled.value) {
+            this.form.controls.info_survey_label.enable();
+        } else {
+            this.form.controls.info_survey_enabled.setValue(false);
+            this.form.controls.info_survey_label.disable();
+        }
+    }
+
+    checkConeSearchDisableOpened() {
+        if (this.form.controls.cone_search_enabled.value) {
+            this.form.controls.cone_search_opened.enable();
+            this.form.controls.cone_search_column_ra.enable();
+            this.form.controls.cone_search_column_dec.enable();
+        } else {
+            this.form.controls.cone_search_opened.setValue(false);
+            this.form.controls.cone_search_opened.disable();
+            this.form.controls.cone_search_column_ra.disable();
+            this.form.controls.cone_search_column_dec.disable();
+        }
+    }
+
+    checkDownloadDisableOpened() {
+        if (this.form.controls.download_enabled.value) {
+            this.form.controls.download_opened.enable();
+            this.form.controls.download_csv.enable();
+            this.form.controls.download_ascii.enable();
+            this.form.controls.download_vo.enable();
+            this.form.controls.download_archive.enable();
+        } else {
+            this.form.controls.download_opened.setValue(false);
+            this.form.controls.download_opened.disable();
+            this.form.controls.download_csv.setValue(false);
+            this.form.controls.download_csv.disable();
+            this.form.controls.download_ascii.setValue(false);
+            this.form.controls.download_ascii.disable();
+            this.form.controls.download_vo.setValue(false);
+            this.form.controls.download_vo.disable();
+            this.form.controls.download_archive.setValue(false);
+            this.form.controls.download_archive.disable();
+        }
+    }
+
+    checkSummaryDisableOpened() {
+        if (this.form.controls.summary_enabled.value) {
+            this.form.controls.summary_opened.enable();
+        } else {
+            this.form.controls.summary_opened.setValue(false);
+            this.form.controls.summary_opened.disable();
+        }
+    }
+
+    checkServerLinkDisableOpened() {
+        if (this.form.controls.server_link_enabled.value) {
+            this.form.controls.server_link_opened.enable();
+        } else {
+            this.form.controls.server_link_opened.setValue(false);
+            this.form.controls.server_link_opened.disable();
+        }
+    }
+
+    checkSampDisablOpened() {
+        if (this.form.controls.samp_enabled.value) {
+            this.form.controls.samp_opened.enable();
+        } else {
+            this.form.controls.samp_opened.setValue(false);
+            this.form.controls.samp_opened.disable();
+        }
+    }
+
+    checkDatatableDisablOpened() {
+        if (this.form.controls.datatable_enabled.value) {
+            this.form.controls.datatable_opened.enable();
+            this.form.controls.datatable_selectable_rows.enable();
+        } else {
+            this.form.controls.datatable_opened.setValue(false);
+            this.form.controls.datatable_opened.disable();
+            this.form.controls.datatable_selectable_rows.setValue(false);
+            this.form.controls.datatable_selectable_rows.disable();
+        }
+    }
 }
diff --git a/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.html
deleted file mode 100644
index 8b2e1b6ff1ab97faab73736f981eb01222ce6a39..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Datatable panel">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="datatable_enabled" name="datatable_enabled" formControlName="datatable_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="datatable_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="datatable_opened" name="datatable_opened" formControlName="datatable_opened">
-            <label class="custom-control-label" for="datatable_opened">Open the results datatable accordion</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="datatable_selectable_rows" name="datatable_selectable_rows" formControlName="datatable_selectable_rows">
-            <label class="custom-control-label" for="datatable_selectable_rows">Datatable rows selectable</label>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.ts
deleted file mode 100644
index 7edf8c2f6fd70c9cf46355fee4b10cb1564be5ef..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/datatable-form-group.component.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-datatable-form-group',
-    templateUrl: 'datatable-form-group.component.html'
-})
-export class DatatableFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.datatable_enabled.value) {
-            this.form.controls.datatable_opened.enable();
-            this.form.controls.datatable_selectable_rows.enable();
-        } else {
-            this.form.controls.datatable_opened.setValue(false);
-            this.form.controls.datatable_opened.disable();
-            this.form.controls.datatable_selectable_rows.setValue(false);
-            this.form.controls.datatable_selectable_rows.disable();
-        }
-    }
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.html
deleted file mode 100644
index 39d3b05c84d32af50cb8fac62aa4b501ff52a58d..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Download panel">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_enabled" name="download_enabled" formControlName="download_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="download_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_opened" name="download_opened" formControlName="download_opened">
-            <label class="custom-control-label" for="download_opened">Opened</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_csv" name="download_csv" formControlName="download_csv">
-            <label class="custom-control-label" for="download_csv">Display download results button in CSV format</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_ascii" name="download_ascii" formControlName="download_ascii">
-            <label class="custom-control-label" for="download_ascii">Display download results button in ASCII format</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_vo" name="download_vo" formControlName="download_vo">
-            <label class="custom-control-label" for="download_vo">Display download results button in VO format</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="download_archive" name="download_archive" formControlName="download_archive">
-            <label class="custom-control-label" for="download_archive">Display download results archive button</label>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.ts
deleted file mode 100644
index 315de5ad814861ea2666a6433fc71c1b685a0631..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/download-form-group.component.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-download-form-group',
-    templateUrl: 'download-form-group.component.html'
-})
-export class DownloadFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.download_enabled.value) {
-            this.form.controls.download_opened.enable();
-            this.form.controls.download_csv.enable();
-            this.form.controls.download_ascii.enable();
-            this.form.controls.download_vo.enable();
-            this.form.controls.download_archive.enable();
-        } else {
-            this.form.controls.download_opened.setValue(false);
-            this.form.controls.download_opened.disable();
-            this.form.controls.download_csv.setValue(false);
-            this.form.controls.download_csv.disable();
-            this.form.controls.download_ascii.setValue(false);
-            this.form.controls.download_ascii.disable();
-            this.form.controls.download_vo.setValue(false);
-            this.form.controls.download_vo.disable();
-            this.form.controls.download_archive.setValue(false);
-            this.form.controls.download_archive.disable();
-        }
-    }
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.html
deleted file mode 100644
index 1903dda8376e6623293a4f1ab08bc9e2cd5ae86a..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group [isDisabled]="isDisabled" heading="Images configuration">
-    </accordion-group>
-</form>
\ No newline at end of file
diff --git a/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.ts
deleted file mode 100644
index ec22a4cf408afffa7e07f132b4ad9f333ab1efa2..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/image-form-group.component.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * 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, Input } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-image-form-group',
-    templateUrl: 'image-form-group.component.html'
-})
-export class ImageFormGroupComponent {
-    @Input() form: FormGroup;
-    @Input() isDisabled: boolean;
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/index.ts b/client/src/app/admin/instance/dataset/components/dataset/index.ts
index aad69881885c74aa8e385059e914a4ab6d0ed481..a877b8c27cb11ed63985324f9f7b29072ec38463 100644
--- a/client/src/app/admin/instance/dataset/components/dataset/index.ts
+++ b/client/src/app/admin/instance/dataset/components/dataset/index.ts
@@ -9,24 +9,8 @@
 
 import { DatasetCardComponent } from './dataset-card.component';
 import { DatasetFormComponent } from './dataset-form.component';
-import { InfoSurveyFormGroupComponent } from './info-survey-form-group.component';
-import { ImageFormGroupComponent } from './image-form-group.component';
-import { ConeSearchFormGroupComponent } from './cone-search-form-group.component';
-import { DownloadFormGroupComponent } from './download-form-group.component';
-import { SummaryFormGroupComponent } from './summary-form-group.component';
-import { ServerLinkFormGroupComponent } from './server-link-form-group.component';
-import { SampFormGroupComponent } from './samp-form-group.component';
-import { DatatableFormGroupComponent } from './datatable-form-group.component';
 
 export const datasetComponents = [
     DatasetCardComponent,
-    DatasetFormComponent,
-    InfoSurveyFormGroupComponent,
-    ImageFormGroupComponent,
-    ConeSearchFormGroupComponent,
-    DownloadFormGroupComponent,
-    SummaryFormGroupComponent,
-    ServerLinkFormGroupComponent,
-    SampFormGroupComponent,
-    DatatableFormGroupComponent
+    DatasetFormComponent
 ];
diff --git a/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.html
deleted file mode 100644
index df4f4f612c48f2d84f72299ed58d689b96c60b64..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Info survey">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="survey_enabled" name="survey_enabled" formControlName="survey_enabled">
-            <label class="custom-control-label" for="survey_enabled">Enabled</label>
-        </div>
-        <div class="form-group">
-            <label for="survey_label">Label</label>
-            <input type="text" class="form-control" id="survey_label" name="survey_label" formControlName="survey_label">
-        </div>
-    </accordion-group>
-</form>
\ No newline at end of file
diff --git a/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.ts
deleted file mode 100644
index 9e2ae468b15fcca7274e0c5d3791610f7f3d584c..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/info-survey-form-group.component.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * 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, Input } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-info-survey-form-group',
-    templateUrl: 'info-survey-form-group.component.html'
-})
-export class InfoSurveyFormGroupComponent {
-    @Input() form: FormGroup;
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.html
deleted file mode 100644
index 04b446c67595a47df1e10095d12b9688da448ffe..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="SAMP panel">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="samp_enabled" name="samp_enabled" formControlName="samp_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="samp_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="samp_opened" name="samp_opened" formControlName="samp_opened">
-            <label class="custom-control-label" for="samp_opened">Opened</label>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.ts
deleted file mode 100644
index b24dc96789b8c5c99d132eaf9675007d8bead2bd..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/samp-form-group.component.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-samp-form-group',
-    templateUrl: 'samp-form-group.component.html'
-})
-export class SampFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.samp_enabled.value) {
-            this.form.controls.samp_opened.enable();
-        } else {
-            this.form.controls.samp_opened.setValue(false);
-            this.form.controls.samp_opened.disable();
-        }
-    }
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.html
deleted file mode 100644
index ea4fad1920eafef46b4770bce616b4ac60dde401..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Server link panel">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="server_link_enabled" name="server_link_enabled" formControlName="server_link_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="server_link_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="server_link_opened" name="server_link_opened" formControlName="server_link_opened">
-            <label class="custom-control-label" for="server_link_opened">Opened</label>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.ts
deleted file mode 100644
index d20d9f17109065156d64653f8423115f3035c658..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/server-link-form-group.component.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-server-link-form-group',
-    templateUrl: 'server-link-form-group.component.html'
-})
-export class ServerLinkFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.server_link_enabled.value) {
-            this.form.controls.server_link_opened.enable();
-        } else {
-            this.form.controls.server_link_opened.setValue(false);
-            this.form.controls.server_link_opened.disable();
-        }
-    }
-}
diff --git a/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.html b/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.html
deleted file mode 100644
index 0161b382d8eb7f07c87b35f448e3066911fa85fc..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<form [formGroup]="form" novalidate>
-    <accordion-group heading="Summary panel">
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="summary_enabled" name="summary_enabled" formControlName="summary_enabled" (change)="checkDisablOpened()">
-            <label class="custom-control-label" for="summary_enabled">Enabled</label>
-        </div>
-        <div class="custom-control custom-switch">
-            <input class="custom-control-input" type="checkbox" id="summary_opened" name="summary_opened" formControlName="summary_opened">
-            <label class="custom-control-label" for="summary_opened">Opened</label>
-        </div>
-    </accordion-group>
-</form>
diff --git a/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.ts b/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.ts
deleted file mode 100644
index cd43f4dc8dfd684c93f1370bb2c2d3f8ef46d5e6..0000000000000000000000000000000000000000
--- a/client/src/app/admin/instance/dataset/components/dataset/summary-form-group.component.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * 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, Input, OnInit } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-
-@Component({
-    selector: 'app-summary-form-group',
-    templateUrl: 'summary-form-group.component.html'
-})
-export class SummaryFormGroupComponent implements OnInit {
-    @Input() form: FormGroup;
-
-    ngOnInit() {
-        this.checkDisablOpened();
-    }
-
-    checkDisablOpened() {
-        if (this.form.controls.summary_enabled.value) {
-            this.form.controls.summary_opened.enable();
-        } else {
-            this.form.controls.summary_opened.setValue(false);
-            this.form.controls.summary_opened.disable();
-        }
-    }
-}
diff --git a/client/src/app/instance/search/components/dataset/dataset-card.component.html b/client/src/app/instance/search/components/dataset/dataset-card.component.html
index 07daf796a9f9c039bfa6c6f3594d250604c57646..91e9561b367369306b527ea0e9cc12b38656c911 100644
--- a/client/src/app/instance/search/components/dataset/dataset-card.component.html
+++ b/client/src/app/instance/search/components/dataset/dataset-card.component.html
@@ -10,7 +10,7 @@
                 <div class="row">
                     <p class="my-3">{{ dataset.description }}</p>
                 </div>
-                <div *ngIf="dataset.config.survey.survey_enabled" class="row">
+                <div *ngIf="dataset.info_survey_enabled" class="row">
                     <button class="btn btn-link p-0" 
                         popover="{{ survey.description }}" 
                         popoverTitle="{{ survey.label }}"
@@ -18,7 +18,7 @@
                         [outsideClick]="true" 
                         triggers="mouseenter:mouseleave">
                         <small>
-                            {{ dataset.config.survey.survey_label }} <span class="fas fa-question-circle"></span>
+                            {{ dataset.info_survey_label }} <span class="fas fa-question-circle"></span>
                         </small>
                     </button>
                 </div>
diff --git a/client/src/app/instance/search/components/result/datatable-actions.component.html b/client/src/app/instance/search/components/result/datatable-actions.component.html
index 38e119dfcc5fcf3f7a52e8252ea369de276b1cfe..a9a9a6e3e0832fd10dcd5ca89b56f1ee32797a87 100644
--- a/client/src/app/instance/search/components/result/datatable-actions.component.html
+++ b/client/src/app/instance/search/components/result/datatable-actions.component.html
@@ -1,4 +1,4 @@
-<div *ngIf="getDataset().config.datatable.datatable_selectable_rows" class="btn-group mb-2" dropdown [isDisabled]="selectedData.length < 1">
+<div *ngIf="getDataset().datatable_selectable_rows" class="btn-group mb-2" dropdown [isDisabled]="selectedData.length < 1">
     <button id="button-basic" dropdownToggle type="button" class="btn btn-primary dropdown-toggle" aria-controls="dropdown-basic">
         Actions <span class="caret"></span>
     </button>
diff --git a/client/src/app/instance/search/components/result/datatable-actions.component.ts b/client/src/app/instance/search/components/result/datatable-actions.component.ts
index 73f55fd897f3a3f896422fe82f8efbe1e17a6d06..8b3b7ef203949153afbbb251fed913f9adf6face 100644
--- a/client/src/app/instance/search/components/result/datatable-actions.component.ts
+++ b/client/src/app/instance/search/components/result/datatable-actions.component.ts
@@ -29,8 +29,7 @@ export class DatatableActionsComponent {
      * @return boolean
      */
     getConfigDownloadResultFormat(format: string): boolean {
-        const dataset = this.getDataset();
-        return dataset.config.download[format];
+        return this.getDataset()[format];
     }
 
     getDataset() {
diff --git a/client/src/app/instance/search/components/result/datatable-tab.component.html b/client/src/app/instance/search/components/result/datatable-tab.component.html
index 3a9773c09cb7445b215159963028ddaeece775f7..c40a535feee38fdfa61fa617af16e4b541004c72 100644
--- a/client/src/app/instance/search/components/result/datatable-tab.component.html
+++ b/client/src/app/instance/search/components/result/datatable-tab.component.html
@@ -1,5 +1,5 @@
-<accordion *ngIf="(datasetList | datasetByName:datasetSelected).config.datatable.datatable_enabled" [isAnimated]="true">
-    <accordion-group #ag [isOpen]="(datasetList | datasetByName:datasetSelected).config.datatable.datatable_opened" [panelClass]="'custom-accordion'" class="my-2">
+<accordion *ngIf="(datasetList | datasetByName:datasetSelected).datatable_enabled" [isAnimated]="true">
+    <accordion-group #ag [isOpen]="(datasetList | datasetByName:datasetSelected).datatable_opened" [panelClass]="'custom-accordion'" class="my-2">
         <button class="btn btn-link btn-block clearfix" accordion-heading>
             <span class="pull-left float-left">
                 Display result details
diff --git a/client/src/app/instance/search/components/result/datatable.component.html b/client/src/app/instance/search/components/result/datatable.component.html
index 587d19ee4cfa75a059af8ca2cd55704eadd3e6cf..6fac9c53b7d4b8ac24f43cf58624523a0ee7cc73 100644
--- a/client/src/app/instance/search/components/result/datatable.component.html
+++ b/client/src/app/instance/search/components/result/datatable.component.html
@@ -4,7 +4,7 @@
     <table class="table table-bordered table-hover" aria-describedby="List of results">
         <thead>
             <tr>
-                <th *ngIf="dataset.config.datatable.datatable_selectable_rows" scope="col">#</th>
+                <th *ngIf="dataset.datatable_selectable_rows" scope="col">#</th>
                 <th *ngFor="let attribute of getOutputList()" scope="col" class="clickable" (click)="sort(attribute.id)">
                     {{ attribute.label }}
                     <span *ngIf="attribute.id === sortedCol" class="pl-2">
@@ -28,7 +28,7 @@
         </thead>
         <tbody>
             <tr *ngFor="let datum of data">
-                <td *ngIf="dataset.config.datatable.datatable_selectable_rows" class="data-selected"
+                <td *ngIf="dataset.datatable_selectable_rows" class="data-selected"
                     (click)="toggleSelection(datum)">
                     <button class="btn btn-block text-left p-0 m-0">
                         <span *ngIf="!isSelected(datum)">
diff --git a/client/src/app/instance/search/components/result/download.component.ts b/client/src/app/instance/search/components/result/download.component.ts
index e9e03f9256c88c0f53ee73a4c59b695d97e9a491..d5a16313c639a946103d4752bddaf6f2993ca21c 100644
--- a/client/src/app/instance/search/components/result/download.component.ts
+++ b/client/src/app/instance/search/components/result/download.component.ts
@@ -38,8 +38,7 @@ export class DownloadComponent {
      * @return boolean
      */
     isDownloadActivated(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.download.download_enabled;
+        return this.datasetList.find(d => d.name === this.datasetSelected).download_enabled;
     }
 
     /**
@@ -48,8 +47,7 @@ export class DownloadComponent {
      * @return boolean
      */
     isDownloadOpened(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.download.download_opened;
+        return this.datasetList.find(d => d.name === this.datasetSelected).download_opened;
     }
 
     /**
@@ -60,8 +58,7 @@ export class DownloadComponent {
      * @return boolean
      */
     getConfigDownloadResultFormat(format: string): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.download[format];
+        return this.datasetList.find(d => d.name === this.datasetSelected)[format];
     }
 
     downloadResult(format: string) {
diff --git a/client/src/app/instance/search/components/result/reminder.component.ts b/client/src/app/instance/search/components/result/reminder.component.ts
index c81115c752ba925ee4d8e70760d6a79bc26730f8..71c94e903e64a2e33d28b4c0bf16f2e7b24b6d30 100644
--- a/client/src/app/instance/search/components/result/reminder.component.ts
+++ b/client/src/app/instance/search/components/result/reminder.component.ts
@@ -38,8 +38,7 @@ export class ReminderComponent {
      * @return boolean
      */
     isSummaryActivated(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.summary.summary_enabled;
+        return this.datasetList.find(d => d.name === this.datasetSelected).summary_enabled;
     }
 
     /**
@@ -48,8 +47,7 @@ export class ReminderComponent {
      * @return boolean
      */
     isSummaryOpened(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.summary.summary_opened;
+        return this.datasetList.find(d => d.name === this.datasetSelected).summary_opened;
     }
 
     /**
diff --git a/client/src/app/instance/search/components/result/samp.component.ts b/client/src/app/instance/search/components/result/samp.component.ts
index 8bc0b1354bfb38841ff16a2f3392bae62ab5040d..be61e1c985d4eff3f07d4019dec2a7cb195d5a98 100644
--- a/client/src/app/instance/search/components/result/samp.component.ts
+++ b/client/src/app/instance/search/components/result/samp.component.ts
@@ -33,8 +33,7 @@ export class SampComponent {
      * @return boolean
      */
     isSampActivated(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.samp.samp_enabled;
+        return this.datasetList.find(d => d.name === this.datasetSelected).samp_enabled;
     }
 
     /**
@@ -43,8 +42,7 @@ export class SampComponent {
      * @return boolean
      */
     isSampOpened(): boolean {
-        const dataset = this.datasetList.find(d => d.name === this.datasetSelected);
-        return dataset.config.samp.samp_opened;
+        return this.datasetList.find(d => d.name === this.datasetSelected).samp_opened;
     }
 
     /**
diff --git a/client/src/app/instance/search/components/result/url-display.component.ts b/client/src/app/instance/search/components/result/url-display.component.ts
index 145a36d0454449a3ed1e636d26b8270408cdd660..ff9cd13c5bda793b49f1a852974b56a042186676 100644
--- a/client/src/app/instance/search/components/result/url-display.component.ts
+++ b/client/src/app/instance/search/components/result/url-display.component.ts
@@ -40,8 +40,7 @@ export class UrlDisplayComponent {
      * @return boolean
      */
     urlDisplayEnabled(): boolean {
-        const config = this.datasetList.find(d => d.name === this.datasetSelected).config;
-        return config.server_link.server_link_enabled;
+        return this.datasetList.find(d => d.name === this.datasetSelected).server_link_enabled;
     }
 
     /**
@@ -50,8 +49,7 @@ export class UrlDisplayComponent {
      * @return boolean
      */
     urlDisplayOpened(): boolean {
-        const config = this.datasetList.find(d => d.name === this.datasetSelected).config;
-        return config.server_link.server_link_opened;
+        return this.datasetList.find(d => d.name === this.datasetSelected).server_link_opened;
     }
 
     /**
diff --git a/client/src/app/metamodel/models/dataset.model.ts b/client/src/app/metamodel/models/dataset.model.ts
index 7c7baa5d11a922ea9bb4353133a9e0c0a883ca92..4b9b5d1d7ac1def744fa412ce2470822df4c5bc4 100644
--- a/client/src/app/metamodel/models/dataset.model.ts
+++ b/client/src/app/metamodel/models/dataset.model.ts
@@ -19,50 +19,29 @@ export interface Dataset {
     description: string;
     display: number;
     data_path: string;
+    public: boolean;
+    info_survey_enabled: boolean;
+    info_survey_label: string;
+    cone_search_enabled: boolean;
+    cone_search_opened: boolean;
+    cone_search_column_ra: number;
+    cone_search_column_dec: number;
+    download_enabled: boolean;
+    download_opened: boolean;
+    download_csv: boolean;
+    download_ascii: boolean;
+    download_vo: boolean;
+    download_archive: boolean;
+    summary_enabled: boolean;
+    summary_opened: boolean;
+    server_link_enabled: boolean;
+    server_link_opened: boolean;
+    samp_enabled: boolean;
+    samp_opened: boolean;
+    datatable_enabled: boolean;
+    datatable_opened: boolean;
+    datatable_selectable_rows: boolean;
     survey_name: string;
     id_dataset_family: number;
-    public: boolean;
     full_data_path: string;
-    config: {
-        images: any[],
-        survey: {
-            survey_enabled: boolean;
-            survey_label: string;
-        },
-        cone_search: {
-            cone_search_enabled: boolean;
-            cone_search_opened: boolean;
-            cone_search_column_ra: number;
-            cone_search_column_dec: number;
-            cone_search_plot_enabled: boolean;
-            cone_search_sdss_enabled: boolean;
-            cone_search_sdss_display: number;
-            cone_search_background: {id: number, enabled: boolean, display: number}[];
-        },
-        download: {
-            download_enabled: boolean;
-            download_opened: boolean;
-            download_csv: boolean;
-            download_ascii: boolean;
-            download_vo: boolean;
-            download_archive: boolean;
-        },
-        summary: {
-            summary_enabled: boolean;
-            summary_opened: boolean;
-        },
-        server_link: {
-            server_link_enabled: boolean;
-            server_link_opened: boolean;
-        },
-        samp: {
-            samp_enabled: boolean;
-            samp_opened: boolean;
-        },
-        datatable: {
-            datatable_enabled: boolean;
-            datatable_opened: boolean;
-            datatable_selectable_rows: boolean;
-        }
-    };
 }
diff --git a/client/src/app/metamodel/selectors/dataset.selector.ts b/client/src/app/metamodel/selectors/dataset.selector.ts
index d456b9e12640f2340cb11dd66d80c6edea60fb35..9ae3b873ab5203096413e516135c5cecf9cf5647 100644
--- a/client/src/app/metamodel/selectors/dataset.selector.ts
+++ b/client/src/app/metamodel/selectors/dataset.selector.ts
@@ -60,5 +60,5 @@ export const selectDatasetNameByRoute = createSelector(
 
 export const selectAllConeSearchDatasets = createSelector(
     selectAllDatasets,
-    datasetList => datasetList.filter(dataset => dataset.config.cone_search.cone_search_enabled)
+    datasetList => datasetList.filter(dataset => dataset.cone_search_enabled)
 );
\ No newline at end of file
diff --git a/conf-dev/create-db.sh b/conf-dev/create-db.sh
index 3c9463a9b13e70046988c075a935dced204652fc..613958328fc2177cfeb043c6d98976d737d25269 100644
--- a/conf-dev/create-db.sh
+++ b/conf-dev/create-db.sh
@@ -73,11 +73,11 @@ curl -d '{"label":"SVOM dataset family","display":20,"opened":true}' --header 'C
 curl -d '{"label":"IRiS dataset family","display":30,"opened":true}' --header 'Content-Type: application/json' -X POST http://localhost/instance/default/dataset-family
 
 # Add datasets
-curl -d '{"name":"vipers_dr2_w1","table_ref":"aspic_vipers_dr2_w1","label":"VIPERS-W1 (DR2)","description":"VIPERS W1 dataset","display":10,"data_path":"\/ASPIC\/VIPERS_DR2","config":{"images":[],"survey":{"survey_enabled":true,"survey_label":"More about this survey"},"cone_search":{"cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"cone_search_sdss_enabled":true,"cone_search_sdss_display":10,"cone_search_background":[]},"download":{"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true},"summary":{"summary_enabled":true,"summary_opened":false},"server_link":{"server_link_enabled":false,"server_link_opened":false},"samp":{"samp_enabled":false,"samp_opened":false},"datatable":{"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false}},"public":true,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
-curl -d '{"name":"sp_cards","table_ref":"sp_cards","label":"SP Metadata","description":"Contains metadata of scientific products (Core Program & General Program)","display":30,"data_path":"","config":{"images":[],"survey":{"survey_enabled":true,"survey_label":"More about this survey"},"cone_search":{"cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"cone_search_sdss_enabled":true,"cone_search_sdss_display":10,"cone_search_background":[]},"download":{"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true},"summary":{"summary_enabled":true,"summary_opened":false},"server_link":{"server_link_enabled":false,"server_link_opened":false},"samp":{"samp_enabled":false,"samp_opened":false},"datatable":{"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false}},"public":true,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
-curl -d '{"name":"observations","table_ref":"v_observation","label":"IRiS obs","description":"IRiS observations","display":10,"data_path":"\/IRIS\/observations","config":{"images":[],"survey":{"survey_enabled":true,"survey_label":"More about this survey"},"cone_search":{"cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"cone_search_sdss_enabled":true,"cone_search_sdss_display":10,"cone_search_background":[]},"download":{"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true},"summary":{"summary_enabled":true,"summary_opened":false},"server_link":{"server_link_enabled":false,"server_link_opened":false},"samp":{"samp_enabled":false,"samp_opened":false},"datatable":{"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false}},"public":true,"survey_name":"iris"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/3/dataset
-curl -d '{"name":"vvds_f02_udeep","table_ref":"aspic_vvds_f02_udeep","label":"VVDS2h Ultra Deep","description":"VVDS2h Ultra Deep","display":20,"data_path":"","config":{"images":[],"survey":{"survey_enabled":true,"survey_label":"More about this survey"},"cone_search":{"cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"cone_search_plot_enabled":false,"cone_search_sdss_enabled":true,"cone_search_sdss_display":10,"cone_search_background":[]},"download":{"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true},"summary":{"summary_enabled":true,"summary_opened":false},"server_link":{"server_link_enabled":false,"server_link_opened":false},"samp":{"samp_enabled":false,"samp_opened":false},"datatable":{"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false}},"public":true,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
-curl -d '{"name":"products","table_ref":"products","label":"Scientific Products","description":"SR3 & SR4 products list","display":20,"data_path":"","config":{"survey":{"survey_enabled":false,"survey_label":"More about this survey"},"cone_search":{"cone_search_enabled":false,"cone_search_opened":false,"cone_search_column_ra":false,"cone_search_column_dec":false,"cone_search_plot_enabled":false,"cone_search_sdss_enabled":false,"cone_search_sdss_display":false,"cone_search_background":[]},"download":{"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":false},"summary":{"summary_enabled":false,"summary_opened":false},"server_link":{"server_link_enabled":false,"server_link_opened":false},"samp":{"samp_enabled":false,"samp_opened":false},"datatable":{"datatable_enabled":true,"datatable_opened":true,"datatable_selectable_rows":false}},"public":true,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
+curl -d '{"name":"vipers_dr2_w1","table_ref":"aspic_vipers_dr2_w1","label":"VIPERS-W1 (DR2)","description":"VIPERS W1 dataset","display":10,"data_path":"\/ASPIC\/VIPERS_DR2","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"samp_enabled":false,"samp_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
+curl -d '{"name":"sp_cards","table_ref":"sp_cards","label":"SP Metadata","description":"Contains metadata of scientific products (Core Program & General Program)","display":30,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"samp_enabled":false,"samp_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
+curl -d '{"name":"observations","table_ref":"v_observation","label":"IRiS obs","description":"IRiS observations","display":10,"data_path":"\/IRIS\/observations","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"samp_enabled":false,"samp_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"iris"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/3/dataset
+curl -d '{"name":"vvds_f02_udeep","table_ref":"aspic_vvds_f02_udeep","label":"VVDS2h Ultra Deep","description":"VVDS2h Ultra Deep","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"samp_enabled":false,"samp_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"anis_survey"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/1/dataset
+curl -d '{"name":"products","table_ref":"products","label":"Scientific Products","description":"SR3 & SR4 products list","display":20,"data_path":"","public":true,"info_survey_enabled":true,"info_survey_label":"More about this survey","cone_search_enabled":false,"cone_search_opened":true,"cone_search_column_ra":null,"cone_search_column_dec":null,"download_enabled":true,"download_opened":false,"download_csv":true,"download_ascii":true,"download_vo":false,"download_archive":true,"summary_enabled":true,"summary_opened":false,"server_link_enabled":false,"server_link_opened":false,"samp_enabled":false,"samp_opened":false,"datatable_enabled":true,"datatable_opened":false,"datatable_selectable_rows":false,"survey_name":"svom"}' --header 'Content-Type: application/json' -X POST http://localhost/dataset-family/2/dataset
 
 # Add vipers_dr2_w1 attributes
 curl -d '{"label":"Default","display":10,"opened":true}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vipers_dr2_w1/criteria-family
diff --git a/server/public/index.php b/server/public/index.php
index d447c9c240fced80c2e737c0d4c4b9a6ece08a79..9219c50bb586c1a8f0e0821f8bae10374c6cf89b 100644
--- a/server/public/index.php
+++ b/server/public/index.php
@@ -41,7 +41,6 @@ if (is_string($ded)) {
 }
 
 $errorHandler = new LogErrorHandler($app->getCallableResolver(), $app->getResponseFactory());
-$errorHandler->forceContentType('application/json');
 $errorHandler->setLogger($container->get('logger'));
 
 // Add Error Handling Middleware (JSON only)
diff --git a/server/src/Action/AdminFileExplorerAction.php b/server/src/Action/AdminFileExplorerAction.php
index 75fb8ee9caf3f6ccf0d262ea5e69e0c00d2458c6..0e734b8be8e46f7860fde0d02f6579e2f6939746 100644
--- a/server/src/Action/AdminFileExplorerAction.php
+++ b/server/src/Action/AdminFileExplorerAction.php
@@ -12,8 +12,8 @@ declare(strict_types=1);
 
 namespace App\Action;
 
-use Psr\Http\Message\ServerRequestInterface as Request;
-use Psr\Http\Message\ResponseInterface as Response;
+use Psr\Http\Message\ServerRequestInterface;
+use Psr\Http\Message\ResponseInterface;
 use Slim\Exception\HttpNotFoundException;
 use Slim\Exception\HttpBadRequestException;
 
@@ -49,8 +49,11 @@ final class AdminFileExplorerAction
      *
      * @return ResponseInterface
      */
-    public function __invoke(Request $request, Response $response, array $args): Response
-    {
+    public function __invoke(
+        ServerRequestInterface $request,
+        ResponseInterface $response,
+        array $args
+    ): ResponseInterface {
         if ($request->getMethod() === OPTIONS) {
             return $response->withHeader('Access-Control-Allow-Methods', 'GET, OPTIONS');
         }
diff --git a/server/src/Action/DatasetAction.php b/server/src/Action/DatasetAction.php
index d6585e1afcc729a0dcf11288234f4214aca1b64b..33cb5f7cc52f5ed6afe8bce17091c2bf8bfedec9 100644
--- a/server/src/Action/DatasetAction.php
+++ b/server/src/Action/DatasetAction.php
@@ -66,7 +66,6 @@ final class DatasetAction extends AbstractAction
                 'description',
                 'display',
                 'data_path',
-                'config',
                 'public',
                 'id_dataset_family'
             );
@@ -118,8 +117,29 @@ final class DatasetAction extends AbstractAction
         $dataset->setDatasetFamily($family);
         $dataset->setDisplay($parsedBody['display']);
         $dataset->setDataPath($parsedBody['data_path']);
-        $dataset->setConfig($parsedBody['config']);
         $dataset->setPublic($parsedBody['public']);
+        $dataset->setInfoSurveyEnabled($parsedBody['info_survey_enabled']);
+        $dataset->setInfoSurveyLabel($parsedBody['info_survey_label']);
+        $dataset->setConeSearchEnabled($parsedBody['cone_search_enabled']);
+        $dataset->setConeSearchOpened($parsedBody['cone_search_opened']);
+        $dataset->setConeSearchColumnRa($parsedBody['cone_search_column_ra']);
+        $dataset->setConeSearchColumnDec($parsedBody['cone_search_column_dec']);
+        $dataset->setDownloadEnabled($parsedBody['download_enabled']);
+        $dataset->setDownloadOpened($parsedBody['download_opened']);
+        $dataset->setDownloadCsv($parsedBody['download_csv']);
+        $dataset->setDownloadAscii($parsedBody['download_ascii']);
+        $dataset->setDownloadVo($parsedBody['download_vo']);
+        $dataset->setDownloadArchive($parsedBody['download_archive']);
+        $dataset->setSummaryEnabled($parsedBody['summary_enabled']);
+        $dataset->setSummaryOpened($parsedBody['summary_opened']);
+        $dataset->setServerLinkEnabled($parsedBody['server_link_enabled']);
+        $dataset->setServerLinkOpened($parsedBody['server_link_opened']);
+        $dataset->setSampEnabled($parsedBody['samp_enabled']);
+        $dataset->setSampOpened($parsedBody['samp_opened']);
+        $dataset->setDatatableEnabled($parsedBody['datatable_enabled']);
+        $dataset->setDatatableOpened($parsedBody['datatable_opened']);
+        $dataset->setDatatableSelectableRows($parsedBody['datatable_selectable_rows']);
+
         $this->em->flush();
     }
 }
diff --git a/server/src/Action/DatasetListAction.php b/server/src/Action/DatasetListAction.php
index 1c828f2ec41c90b03ee57875af435534e6c08c0f..fca5a3418bfed235a2dce349367b9b322d919858 100644
--- a/server/src/Action/DatasetListAction.php
+++ b/server/src/Action/DatasetListAction.php
@@ -12,8 +12,8 @@ declare(strict_types=1);
 
 namespace App\Action;
 
-use Psr\Http\Message\ServerRequestInterface as Request;
-use Psr\Http\Message\ResponseInterface as Response;
+use Psr\Http\Message\ServerRequestInterface;
+use Psr\Http\Message\ResponseInterface;
 use Slim\Exception\HttpBadRequestException;
 use Slim\Exception\HttpNotFoundException;
 use App\Entity\Survey;
@@ -36,8 +36,11 @@ final class DatasetListAction extends AbstractAction
      *
      * @return ResponseInterface
      */
-    public function __invoke(Request $request, Response $response, array $args): Response
-    {
+    public function __invoke(
+        ServerRequestInterface $request,
+        ResponseInterface $response,
+        array $args
+    ): ResponseInterface {
         if ($request->getMethod() === OPTIONS) {
             return $response->withHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
         }
@@ -70,7 +73,6 @@ final class DatasetListAction extends AbstractAction
                 'description',
                 'display',
                 'data_path',
-                'config',
                 'public',
                 'survey_name'
             );
@@ -122,8 +124,28 @@ final class DatasetListAction extends AbstractAction
         $dataset->setDescription($parsedBody['description']);
         $dataset->setDisplay($parsedBody['display']);
         $dataset->setDataPath($parsedBody['data_path']);
-        $dataset->setConfig($parsedBody['config']);
         $dataset->setPublic($parsedBody['public']);
+        $dataset->setInfoSurveyEnabled($parsedBody['info_survey_enabled']);
+        $dataset->setInfoSurveyLabel($parsedBody['info_survey_label']);
+        $dataset->setConeSearchEnabled($parsedBody['cone_search_enabled']);
+        $dataset->setConeSearchOpened($parsedBody['cone_search_opened']);
+        $dataset->setConeSearchColumnRa($parsedBody['cone_search_column_ra']);
+        $dataset->setConeSearchColumnDec($parsedBody['cone_search_column_dec']);
+        $dataset->setDownloadEnabled($parsedBody['download_enabled']);
+        $dataset->setDownloadOpened($parsedBody['download_opened']);
+        $dataset->setDownloadCsv($parsedBody['download_csv']);
+        $dataset->setDownloadAscii($parsedBody['download_ascii']);
+        $dataset->setDownloadVo($parsedBody['download_vo']);
+        $dataset->setDownloadArchive($parsedBody['download_archive']);
+        $dataset->setSummaryEnabled($parsedBody['summary_enabled']);
+        $dataset->setSummaryOpened($parsedBody['summary_opened']);
+        $dataset->setServerLinkEnabled($parsedBody['server_link_enabled']);
+        $dataset->setServerLinkOpened($parsedBody['server_link_opened']);
+        $dataset->setSampEnabled($parsedBody['samp_enabled']);
+        $dataset->setSampOpened($parsedBody['samp_opened']);
+        $dataset->setDatatableEnabled($parsedBody['datatable_enabled']);
+        $dataset->setDatatableOpened($parsedBody['datatable_opened']);
+        $dataset->setDatatableSelectableRows($parsedBody['datatable_selectable_rows']);
         $dataset->setSurvey($survey);
         $dataset->setDatasetFamily($datasetFamily);
 
diff --git a/server/src/Entity/Dataset.php b/server/src/Entity/Dataset.php
index 805deb565669066d6fce082ad7c8c18e837a4258..db0e655ef33efbd405b6aaa01108a94aebfd4c34 100644
--- a/server/src/Entity/Dataset.php
+++ b/server/src/Entity/Dataset.php
@@ -67,18 +67,158 @@ class Dataset implements \JsonSerializable
     protected $dataPath;
 
     /**
-     * @var array
+     * @var bool
      *
-     * @Column(type="json", nullable=true)
+     * @Column(type="boolean", nullable=false)
      */
-    protected $config;
+    protected $public;
 
     /**
      * @var bool
      *
-     * @Column(type="boolean", nullable=false)
+     * @Column(type="boolean", name="info_survey_enabled", nullable=false)
      */
-    protected $public;
+    protected $infoSurveyEnabled;
+
+    /**
+     * @var string
+     *
+     * @Column(type="string", name="info_survey_label", nullable=false)
+     */
+    protected $infoSurveyLabel;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="cone_search_enabled", nullable=false)
+     */
+    protected $coneSearchEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="cone_search_opened", nullable=false)
+     */
+    protected $coneSearchOpened;
+
+    /**
+     * @var string
+     *
+     * @Column(type="string", name="cone_search_column_ra", nullable=true)
+     */
+    protected $coneSearchColumnRa;
+
+    /**
+     * @var string
+     *
+     * @Column(type="string", name="cone_search_column_dec", nullable=true)
+     */
+    protected $coneSearchColumnDec;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_enabled", nullable=false)
+     */
+    protected $downloadEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_opened", nullable=false)
+     */
+    protected $downloadOpened;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_csv", nullable=false)
+     */
+    protected $downloadCsv;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_ascii", nullable=false)
+     */
+    protected $downloadAscii;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_vo", nullable=false)
+     */
+    protected $downloadVo;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="download_archive", nullable=false)
+     */
+    protected $downloadArchive;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="summary_enabled", nullable=false)
+     */
+    protected $summaryEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="summary_opened", nullable=false)
+     */
+    protected $summaryOpened;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="server_link_enabled", nullable=false)
+     */
+    protected $serverLinkEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="server_link_opened", nullable=false)
+     */
+    protected $serverLinkOpened;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="samp_enabled", nullable=false)
+     */
+    protected $sampEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="samp_opened", nullable=false)
+     */
+    protected $sampOpened;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="datatable_enabled", nullable=false)
+     */
+    protected $datatableEnabled;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="datatable_opened", nullable=false)
+     */
+    protected $datatableOpened;
+
+    /**
+     * @var bool
+     *
+     * @Column(type="boolean", name="datatable_selectable_rows", nullable=false)
+     */
+    protected $datatableSelectableRows;
 
     /**
      * @var Survey
@@ -164,16 +304,6 @@ class Dataset implements \JsonSerializable
         $this->dataPath = $dataPath;
     }
 
-    public function getConfig()
-    {
-        return $this->config;
-    }
-
-    public function setConfig($config)
-    {
-        $this->config = $config;
-    }
-
     public function getPublic()
     {
         return $this->public;
@@ -189,6 +319,216 @@ class Dataset implements \JsonSerializable
         return $this->survey;
     }
 
+    public function getInfoSurveyEnabled()
+    {
+        return $this->infoSurveyEnabled;
+    }
+
+    public function setInfoSurveyEnabled($infoSurveyEnabled)
+    {
+        $this->infoSurveyEnabled = $infoSurveyEnabled;
+    }
+
+    public function getInfoSurveyLabel()
+    {
+        return $this->infoSurveyLabel;
+    }
+
+    public function setInfoSurveyLabel($infoSurveyLabel)
+    {
+        $this->infoSurveyLabel = $infoSurveyLabel;
+    }
+
+    public function getConeSearchEnabled()
+    {
+        return $this->coneSearchEnabled;
+    }
+
+    public function setConeSearchEnabled($coneSearchEnabled)
+    {
+        $this->coneSearchEnabled = $coneSearchEnabled;
+    }
+
+    public function getConeSearchOpened()
+    {
+        return $this->coneSearchOpened;
+    }
+
+    public function setConeSearchOpened($coneSearchOpened)
+    {
+        $this->coneSearchOpened = $coneSearchOpened;
+    }
+
+    public function getConeSearchColumnRa()
+    {
+        return $this->coneSearchColumnRa;
+    }
+
+    public function setConeSearchColumnRa($coneSearchColumnRa)
+    {
+        $this->coneSearchColumnRa = $coneSearchColumnRa;
+    }
+
+    public function getConeSearchColumnDec()
+    {
+        return $this->coneSearchColumnDec;
+    }
+
+    public function setConeSearchColumnDec($coneSearchColumnDec)
+    {
+        $this->coneSearchColumnDec = $coneSearchColumnDec;
+    }
+
+    public function getDownloadEnabled()
+    {
+        return $this->downloadEnabled;
+    }
+
+    public function setDownloadEnabled($downloadEnabled)
+    {
+        $this->downloadEnabled = $downloadEnabled;
+    }
+
+    public function getDownloadOpened()
+    {
+        return $this->downloadOpened;
+    }
+
+    public function setDownloadOpened($downloadOpened)
+    {
+        $this->downloadOpened = $downloadOpened;
+    }
+
+    public function getDownloadCsv()
+    {
+        return $this->downloadCsv;
+    }
+
+    public function setDownloadCsv($downloadCsv)
+    {
+        $this->downloadCsv = $downloadCsv;
+    }
+
+    public function getDownloadAscii()
+    {
+        return $this->downloadAscii;
+    }
+
+    public function setDownloadAscii($downloadAscii)
+    {
+        $this->downloadAscii = $downloadAscii;
+    }
+
+    public function getDownloadVo()
+    {
+        return $this->downloadVo;
+    }
+
+    public function setDownloadVo($downloadVo)
+    {
+        $this->downloadVo = $downloadVo;
+    }
+
+    public function getDownloadArchive()
+    {
+        return $this->downloadArchive;
+    }
+
+    public function setDownloadArchive($downloadArchive)
+    {
+        $this->downloadArchive = $downloadArchive;
+    }
+
+    public function getSummaryEnabled()
+    {
+        return $this->summaryEnabled;
+    }
+
+    public function setSummaryEnabled($summaryEnabled)
+    {
+        $this->summaryEnabled = $summaryEnabled;
+    }
+
+    public function getSummaryOpened()
+    {
+        return $this->summaryOpened;
+    }
+
+    public function setSummaryOpened($summaryOpened)
+    {
+        $this->summaryOpened = $summaryOpened;
+    }
+
+    public function getServerLinkEnabled()
+    {
+        return $this->serverLinkEnabled;
+    }
+
+    public function setServerLinkEnabled($serverLinkEnabled)
+    {
+        $this->serverLinkEnabled = $serverLinkEnabled;
+    }
+
+    public function getServerLinkOpened()
+    {
+        return $this->serverLinkOpened;
+    }
+
+    public function setServerLinkOpened($serverLinkOpened)
+    {
+        $this->serverLinkOpened = $serverLinkOpened;
+    }
+
+    public function getSampEnabled()
+    {
+        return $this->sampEnabled;
+    }
+
+    public function setSampEnabled($sampEnabled)
+    {
+        $this->sampEnabled = $sampEnabled;
+    }
+
+    public function getSampOpened()
+    {
+        return $this->sampOpened;
+    }
+
+    public function setSampOpened($sampOpened)
+    {
+        $this->sampOpened = $sampOpened;
+    }
+
+    public function getDatatableEnabled()
+    {
+        return $this->datatableEnabled;
+    }
+
+    public function setDatatableEnabled($datatableEnabled)
+    {
+        $this->datatableEnabled = $datatableEnabled;
+    }
+
+    public function getDatatableOpened()
+    {
+        return $this->datatableOpened;
+    }
+
+    public function setDatatableOpened($datatableOpened)
+    {
+        $this->datatableOpened = $datatableOpened;
+    }
+
+    public function getDatatableSelectableRows()
+    {
+        return $this->datatableSelectableRows;
+    }
+
+    public function setDatatableSelectableRows($datatableSelectableRows)
+    {
+        $this->datatableSelectableRows = $datatableSelectableRows;
+    }
+
     public function setSurvey($survey)
     {
         $this->survey = $survey;
@@ -223,8 +563,28 @@ class Dataset implements \JsonSerializable
             'description' => $this->getDescription(),
             'display' => $this->getDisplay(),
             'data_path' => $this->getDataPath(),
-            'config' => $this->getConfig(),
             'public' => $this->getPublic(),
+            'info_survey_enabled' => $this->getInfoSurveyEnabled(),
+            'info_survey_label' => $this->getInfoSurveyLabel(),
+            'cone_search_enabled' => $this->getConeSearchEnabled(),
+            'cone_search_opened' => $this->getConeSearchOpened(),
+            'cone_search_column_ra' => $this->getConeSearchColumnRa(),
+            'cone_search_column_dec' => $this->getConeSearchColumnDec(),
+            'download_enabled' => $this->getDownloadEnabled(),
+            'download_opened' => $this->getDownloadOpened(),
+            'download_csv' => $this->getDownloadCsv(),
+            'download_ascii' => $this->getDownloadAscii(),
+            'download_vo' => $this->getDownloadVo(),
+            'download_archive' => $this->getDownloadArchive(),
+            'summary_enabled' => $this->getSummaryEnabled(),
+            'summary_opened' => $this->getSummaryOpened(),
+            'server_link_enabled' => $this->getServerLinkEnabled(),
+            'server_link_opened' => $this->getServerLinkOpened(),
+            'samp_enabled' => $this->getSampEnabled(),
+            'samp_opened' => $this->getSampOpened(),
+            'datatable_enabled' => $this->getDatatableEnabled(),
+            'datatable_opened' => $this->getDatatableOpened(),
+            'datatable_selectable_rows' => $this->getDatatableSelectableRows(),
             'survey_name' => $this->getSurvey()->getName(),
             'id_dataset_family' => $this->getDatasetFamily()->getId(),
             'full_data_path' => $this->getFullDataPath()
diff --git a/server/src/Handlers/LogErrorHandler.php b/server/src/Handlers/LogErrorHandler.php
index 4d1d1cdf29908fe1f72ebca310540f5b907f406e..4dfba8880bf439670e11f76a7b362d7650706309 100644
--- a/server/src/Handlers/LogErrorHandler.php
+++ b/server/src/Handlers/LogErrorHandler.php
@@ -47,6 +47,6 @@ class LogErrorHandler extends ErrorHandler
      */
     protected function logError(string $error): void
     {
-        $this->logger->info($error);
+        $this->logger->error($error);
     }
 }