diff --git a/ui/src/components/charts/DetailModalCard.vue b/ui/src/components/charts/DetailModalCard.vue
index 535a2cd87b68a7b7f55cdee6df64c723b96cf2d9..be2f248b2de1b5e53288c838bd41e15c08f5d4db 100644
--- a/ui/src/components/charts/DetailModalCard.vue
+++ b/ui/src/components/charts/DetailModalCard.vue
@@ -21,11 +21,11 @@
               v-show="key !== 'minmax' && key !== 'ranges'"
               style="margin: 0; cursor: auto"
             >
-              <p class="card-header-title column is-1" style="margin-left: 10px" v-if="key!==''">
+              <p class="card-header-title column is-1" style="margin-left: 10px" v-if="key !== ''">
                 {{ key }}
               </p>
               <p class="card-header-title column is-1" style="margin-left: 10px" v-else>
-                 {{ $t("validation.modal-synthesis-variable-default") }}
+                {{ $t("validation.modal-synthesis-variable-default") }}
               </p>
               <availiblity-chart
                 class="column is-10"
@@ -41,7 +41,8 @@
                 v-if="Object.values(option).length > 4"
                 style="text-align: center"
               >
-                <b-icon class="btnCard" :icon="props.open ? 'chevron-down' : 'chevron-up'"> </b-icon>
+                <b-icon class="btnCard" :icon="props.open ? 'chevron-down' : 'chevron-up'">
+                </b-icon>
               </a>
             </div>
           </template>
@@ -88,7 +89,7 @@ export default class DetailModalCard extends Vue {
   @Prop() applicationName;
   collapse = true;
   mounted() {
-    for(let i = 1; i<=document.getElementsByClassName("btnCard").length-1; i++) {
+    for (let i = 1; i <= document.getElementsByClassName("btnCard").length - 1; i++) {
       document.getElementsByClassName("btnCard").item(i).click();
     }
   }
diff --git a/ui/src/components/common/AuthorizationTable.vue b/ui/src/components/common/AuthorizationTable.vue
index 362f4f31a74f28065ef72402c5372cf10189864f..5e11ad108f6c4af7473594874abcc7afb8b2f648 100644
--- a/ui/src/components/common/AuthorizationTable.vue
+++ b/ui/src/components/common/AuthorizationTable.vue
@@ -16,18 +16,18 @@
             <a
               v-if="
                 column.display &&
-                indexColumn == 'label' &&
+                indexColumn === 'label' &&
                 (!scope.isLeaf || remainingOption.length)
               "
               :class="!scope.isLeaf || remainingOption.length ? 'leaf' : 'folder'"
               :field="indexColumn"
-              @click="indexColumn == 'label' && toggle(index)"
+              @click="indexColumn === 'label' && toggle(index)"
               >{{ localName(scope) }}</a
             >
             <p
               v-else-if="
                 column.display &&
-                indexColumn == 'label' &&
+                indexColumn === 'label' &&
                 !(!scope.isLeaf || remainingOption.length)
               "
               :class="!scope.isLeaf || remainingOption.length ? 'leaf' : 'folder'"
@@ -36,7 +36,11 @@
               {{ localName(scope) }}
             </p>
 
-            <b-field v-else-if="column.display && indexColumn != 'extraction'" :field="indexColumn">
+            <b-field
+              v-else-if="column.display && indexColumn !== 'extraction'"
+              :field="indexColumn"
+              class="column"
+            >
               <b-icon
                 :icon="
                   (statesIcons && statesIcons[indexColumn] && statesIcons[indexColumn][index]) ||
@@ -48,91 +52,72 @@
               />
             </b-field>
             <b-field
-              v-else-if="column.display && indexColumn == 'extraction'"
+              v-else-if="column.display && indexColumn === 'extraction'"
               :field="indexColumn"
-              class="row"
+              class="columns "
               style="margin-top: 6px"
             >
-              <div class="columns">
+              <div class="column">
                 <b-icon
                   :icon="
                     (statesIcons && statesIcons[indexColumn] && statesIcons[indexColumn][index]) ||
                     'square'
                   "
-                  class="column"
                   size="is-medium"
                   type="is-primary"
                   @click.native="selectCheckbox($event, index, indexColumn, scope)"
                 />
-                <b-taginput
-                  v-if="
-                    states &&
-                    states[indexColumn] &&
-                    states[indexColumn][index] == 1 &&
-                    localAuthorizationsTree &&
-                    localAuthorizationsTree[indexColumn] &&
-                    localAuthorizationsTree[indexColumn][index]
-                  "
-                  v-model="localAuthorizationsTree[indexColumn][index].dataGroups"
-                  :data="dataGroups"
-                  :open-on-focus="true"
-                  :placeholder="$t('dataTypeAuthorizations.data-groups-placeholder')"
-                  :value="dataGroups.id"
-                  autocomplete
-                  class="column"
-                  field="label"
-                  type="is-primary"
-                  @input.capture="selectCheckbox($event, index, indexColumn, scope)"
-                >
-                </b-taginput>
-                <div
-                  v-if="
-                    states &&
-                    states[indexColumn] &&
-                    states[indexColumn][index] == 1 &&
-                    localAuthorizationsTree &&
-                    localAuthorizationsTree[indexColumn] &&
-                    localAuthorizationsTree[indexColumn][index]
-                  "
-                  class="column"
-                >
-                  <b-datepicker
-                    v-model="localAuthorizationsTree[indexColumn][index].from"
-                    :date-parser="parseDate"
-                    :placeholder="
-                      $t('dataTypesRepository.placeholder-datepicker') +
-                      ' dd-MM-YYYY, dd-MM-YYYY hh, dd-MM-YYYY hh:mm, dd-MM-YYYY hh:mm:ss'
-                    "
-                    editable
-                    icon="calendar"
-                    @remove.capture="() => selectCheckbox($event, index, indexColumn, scope)"
-                    @input.capture="selectCheckbox($event, index, indexColumn, scope, 'from')"
+                <div class="columns"
+                     v-if="
+                      states &&
+                      states[indexColumn] &&
+                      states[indexColumn][index] === 1 &&
+                      localAuthorizationsTree &&
+                      localAuthorizationsTree[indexColumn] &&
+                      localAuthorizationsTree[indexColumn][index]
+                ">
+                  <b-taginput
+                    v-model="localAuthorizationsTree[indexColumn][index].dataGroups"
+                    :data="dataGroups"
+                    :open-on-focus="true"
+                    :placeholder="$t('dataTypeAuthorizations.data-groups-placeholder')"
+                    :value="dataGroups.id"
+                    autocomplete
+                    class="column"
+                    field="label"
+                    type="is-primary"
+                    @input="selectCheckbox($event, index, indexColumn, scope)"
                   >
-                  </b-datepicker>
-                </div>
-                <div
-                  v-if="
-                    states &&
-                    states[indexColumn] &&
-                    states[indexColumn][index] == 1 &&
-                    localAuthorizationsTree &&
-                    localAuthorizationsTree[indexColumn] &&
-                    localAuthorizationsTree[indexColumn][index]
-                  "
-                  class="column"
-                >
-                  <b-datepicker
-                    v-model="localAuthorizationsTree[indexColumn][index].to"
-                    :date-parser="parseDate"
-                    :placeholder="
-                      $t('dataTypesRepository.placeholder-datepicker') +
-                      ' dd-MM-YYYY, dd-MM-YYYY hh, dd-MM-YYYY hh:mm, dd-MM-YYYY hh:mm:ss'
-                    "
-                    editable
-                    icon="calendar"
-                    @input="selectCheckbox($event, index, indexColumn, scope, 'to')"
-                  >
-                  </b-datepicker>
+                  </b-taginput>
+                  <div class="column">
+                    <b-datepicker
+                      v-model="localAuthorizationsTree[indexColumn][index].from"
+                      :date-parser="parseDate"
+                      :placeholder="
+                        $t('dataTypesRepository.placeholder-datepicker') +
+                        ' dd-MM-YYYY, dd-MM-YYYY hh, dd-MM-YYYY hh:mm, dd-MM-YYYY hh:mm:ss'
+                      "
+                      editable
+                      icon="calendar"
+                      @remove.capture="() => selectCheckbox($event, index, indexColumn, scope)"
+                      @input="selectCheckbox($event, index, indexColumn, scope, 'from')"
+                    >
+                    </b-datepicker>
+                  </div>
+                  <div class="column" >
+                    <b-datepicker
+                      v-model="localAuthorizationsTree[indexColumn][index].to"
+                      :date-parser="parseDate"
+                      :placeholder="
+                        $t('dataTypesRepository.placeholder-datepicker') +
+                        ' dd-MM-YYYY, dd-MM-YYYY hh, dd-MM-YYYY hh:mm, dd-MM-YYYY hh:mm:ss'
+                      "
+                      editable
+                      icon="calendar"
+                      @input="selectCheckbox($event, index, indexColumn, scope, 'to')"
+                    >
+                    </b-datepicker>
+                  </div>
                 </div>
               </div>
             </b-field>
@@ -204,7 +189,7 @@ export default class AuthorizationTable extends Vue {
       if (scope) {
         var requiredAuthorizationForIndex = requiredAuthorization[scope] || "";
         requiredAuthorizationForIndex =
-          requiredAuthorizationForIndex + (requiredAuthorizationForIndex == "" ? "" : ".") + index;
+          requiredAuthorizationForIndex + (requiredAuthorizationForIndex === "" ? "" : ".") + index;
         requiredAuthorization[this.authorizationScopes[0].id] = requiredAuthorizationForIndex;
       }
       requiredAuthorizationByIndex[index] = requiredAuthorization;
@@ -222,7 +207,7 @@ export default class AuthorizationTable extends Vue {
     this.initStates();
     this.initOpen();
     this.$children
-      .filter((child) => child.name == "AuthorizationTable")
+      .filter((child) => child.name === "AuthorizationTable")
       .forEach((child) => child.updateAuthorizationTree());
   }
 
@@ -269,7 +254,7 @@ export default class AuthorizationTable extends Vue {
     var states = {};
     var statesIcons = {};
     for (var index in this.columnsVisible) {
-      if ("label" == index) {
+      if ("label" === index) {
         continue;
       }
       states[index] = {};
@@ -315,8 +300,8 @@ export default class AuthorizationTable extends Vue {
     statesIcons[type][reference] = this.STATES[value];
     this.states = states;
     this.statesIcons = statesIcons;
-    if (value == -1) return;
-    if (this.remainingOption.length == 0 && this.authReference[reference].isLeaf) {
+    if (value === -1) return;
+    if (this.remainingOption.length === 0 && this.authReference[reference].isLeaf) {
       return;
     }
     if (updateChildren) {
@@ -332,7 +317,7 @@ export default class AuthorizationTable extends Vue {
   }
 
   getChildAuthorizationTable() {
-    return this.$children.filter((child) => child.name == "AuthorizationTable");
+    return this.$children.filter((child) => child.name === "AuthorizationTable");
   }
 
   parseDate(date) {
@@ -420,7 +405,7 @@ export default class AuthorizationTable extends Vue {
   emitAddAuthorization(event, index) {
     let localAuthorizationsTree = this.localAuthorizationsTree;
     var isEqual = event.isEqual;
-    if (isEqual.state == 1) {
+    if (isEqual.state === 1) {
       localAuthorizationsTree = localAuthorizationsTree || {};
       localAuthorizationsTree[event.indexColumn] = localAuthorizationsTree[event.indexColumn] || {};
       localAuthorizationsTree[event.indexColumn][index] =
@@ -428,7 +413,7 @@ export default class AuthorizationTable extends Vue {
       isEqual.auth.requiredAuthorization = this.requiredAuthorizationByindex[index];
       localAuthorizationsTree[event.indexColumn][index] = isEqual.auth;
       isEqual = this.buildState(event.indexColumn, index);
-    } else if (isEqual.state == -1) {
+    } else if (isEqual.state === -1) {
       localAuthorizationsTree = localAuthorizationsTree || {};
       localAuthorizationsTree[event.indexColumn] = localAuthorizationsTree[event.indexColumn] || {};
       localAuthorizationsTree[event.indexColumn][index] =
@@ -500,7 +485,7 @@ export default class AuthorizationTable extends Vue {
       //cliock sur checkbox
       this.states[indexColumn] || this.initStates();
       var states, state;
-      if (actualState == 1) {
+      if (actualState === 1) {
         //je supprime l'authorization et eventuellement son contenant
         delete localAuthorizationsTree?.[indexColumn]?.[index];
         if (
@@ -530,21 +515,19 @@ export default class AuthorizationTable extends Vue {
       state = event.length ? 1 : 0;
       eventType = event.length ? "add-authorization" : "delete-authorization";
       localAuthorizationsTree[indexColumn][index].dataGroups = event;
-
       // si indeterminate alors je ne supprime les enfants que
     } else if (event instanceof Date) {
       state = event ? 1 : 0;
       eventType = event ? "add-authorization" : "delete-authorization";
       localAuthorizationsTree[indexColumn][index][fromOrTo] = event;
     }
-    if (this.EXTRACTION == indexColumn) {
+    if (this.EXTRACTION === indexColumn) {
       if (event instanceof Array) {
         //c'est un datagroup
         state = event.length ? 1 : 0;
         eventType = event.length ? "add-authorization" : "delete-authorization";
         localAuthorizationsTree[indexColumn][index].dataGroups = event;
-
-        // si indeterminate alors je ne supprime les enfants que
+        // si indeterminate alors je ne supprime que les enfants
       } else if (event instanceof Date) {
         //c'est une date
         state = event ? 1 : 0;
@@ -595,7 +578,7 @@ export default class AuthorizationTable extends Vue {
     var localAuthorizationsTree = { ...this.localAuthorizationsTree };
     if (
       !localAuthorizationsTree[indexColumn] ||
-      Object.keys(localAuthorizationsTree[indexColumn]).length == 0
+      Object.keys(localAuthorizationsTree[indexColumn]).length === 0
     ) {
       isEqual.equal = true;
       isEqual.state = 0;
@@ -609,9 +592,9 @@ export default class AuthorizationTable extends Vue {
         if (isEqual.auth) {
           isEqual.equal =
             auth &&
-            JSON.stringify(isEqual.auth.dataGroups) == JSON.stringify(auth.dataGroups) &&
-            isEqual.auth.from?.toString() == auth.from?.toString() &&
-            isEqual.auth.to?.toString() == auth.to?.toString();
+            JSON.stringify(isEqual.auth.dataGroups) === JSON.stringify(auth.dataGroups) &&
+            isEqual.auth.from?.toString() === auth.from?.toString() &&
+            isEqual.auth.to?.toString() === auth.to?.toString();
         }
       }
     }
@@ -661,7 +644,7 @@ p {
 ::marker {
   color: transparent;
 }
-ul.rows {
-  margin-bottom: 12px;
+.column{
+  padding: 6px;
 }
 </style>
diff --git a/ui/src/components/common/CollapsibleTree.vue b/ui/src/components/common/CollapsibleTree.vue
index 06a8dc97e87374eb20a2d1666c6915654373a486..23ad4c86c5d30608ed337ca80afd3bb2acf245e8 100644
--- a/ui/src/components/common/CollapsibleTree.vue
+++ b/ui/src/components/common/CollapsibleTree.vue
@@ -43,7 +43,7 @@
           <span class="file-name" v-if="refFile">
             {{ refFile.name }}
           </span>
-          <span class="file-name" v-else-if="lineCount>0">
+          <span class="file-name" v-else-if="lineCount > 0">
             {{ $t("validation.count-line") }} {{ lineCount }}
           </span>
           <span v-else-if="!option.synthesisMinMax" class="nodata has-text-danger">
@@ -101,8 +101,12 @@
             @click="repositoryRedirect(option.label)"
             type="is-info"
           >
-            <span class="file-cta" style=" border-color: transparent; background-color: transparent">
-              <b-icon class="file-icon" icon="archive" style="font-size: 0.75rem; color: white"></b-icon>
+            <span class="file-cta" style="border-color: transparent; background-color: transparent">
+              <b-icon
+                class="file-icon"
+                icon="archive"
+                style="font-size: 0.75rem; color: white"
+              ></b-icon>
             </span>
           </b-button>
         </div>
@@ -155,7 +159,7 @@ export default class CollapsibleTree extends Vue {
   @Prop() radioName;
   @Prop() repository;
   @Prop() repositoryRedirect;
-  @Prop( { default: 0 }) lineCount;
+  @Prop({ default: 0 }) lineCount;
   @Prop({ default: null }) applicationTitle;
 
   displayChildren = false;
diff --git a/ui/src/style/_common.scss b/ui/src/style/_common.scss
index bbd81a615ff34206f689920e4c18691ab6b177c0..314c8a55567f3cb636758d8f41d48d039ffebf74 100644
--- a/ui/src/style/_common.scss
+++ b/ui/src/style/_common.scss
@@ -183,6 +183,9 @@ a.dropdown-item.is-active, .dropdown .dropdown-menu .has-link a.is-active, butto
 .textarea:not([rows]) {
   min-height: 4em;
 }
+.icon.has-text-primary.is-medium {
+  width: 32px;
+}
 
 // mise en forme modal card synthèse
 #ranges {
diff --git a/ui/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/ui/src/views/authorizations/DataTypeAuthorizationInfoView.vue
index 211a72fd8a1c3386befffd45bef61e41f2f35454..1f7a40ebfbf0e9b2fad9d81dc1b9518ebb2c0286 100644
--- a/ui/src/views/authorizations/DataTypeAuthorizationInfoView.vue
+++ b/ui/src/views/authorizations/DataTypeAuthorizationInfoView.vue
@@ -16,7 +16,7 @@
     </h1>
 
     <ValidationObserver ref="observer" v-slot="{ handleSubmit }">
-      <ValidationProvider v-slot="{ errors, valid }" name="users" rules="required" vid="users">
+      <ValidationProvider v-slot="{ errors, valid }" name="users" rules="required" vid="users" class="columns">
         <b-field
           :label="$t('dataTypeAuthorizations.users')"
           :message="errors[0]"
@@ -24,7 +24,7 @@
             'is-danger': errors && errors.length > 0,
             'is-success': valid,
           }"
-          class="mb-4"
+          class="column mb-4"
         >
           <b-select
             v-model="usersToAuthorize"
@@ -45,7 +45,7 @@
             'is-danger': errors && errors.length > 0,
             'is-success': valid,
           }"
-          class="mb-4"
+          class="column mb-4"
         >
           <b-input v-model="name" />
         </b-field>
@@ -57,6 +57,7 @@
         :authorizations-tree="authorizationsTree"
         :columnsVisible="columnsVisible"
         :dataGroups="dataGroups"
+        :authorizations-to-save="authorizationsToSave"
         :remaining-option="authReferences.slice && authReferences.slice(1, authReferences.length)"
         :required-authorizations="{}"
         class="rows"
@@ -153,10 +154,10 @@ export default class DataTypeAuthorizationInfoView extends Vue {
   columnsVisible = {
     label: { title: "Label", display: true },
     //dataGroups: {title: this.$t('dataTypeAuthorizations.data-groups'), display: true},
+    extraction: { title: "Extraction", display: true },
     admin: { title: "Admin", display: true },
     depot: { title: "Dépôt", display: true },
     publication: { title: "Publication", display: true },
-    extraction: { title: "Extraction", display: true },
   };
   period = this.periods.FROM_DATE_TO_DATE;
   startDate = null;
@@ -435,7 +436,7 @@ export default class DataTypeAuthorizationInfoView extends Vue {
 
   extractAuthorizations(authorizationTree) {
     var authorizationArray = [];
-    if (!authorizationTree || Object.keys(authorizationTree).length == 0) {
+    if (!authorizationTree || Object.keys(authorizationTree).length === 0) {
       return authorizationArray;
     }
     for (const key in authorizationTree) {
diff --git a/ui/src/views/authorizations/DataTypeAuthorizationsView.vue b/ui/src/views/authorizations/DataTypeAuthorizationsView.vue
index 9001497cd67a4c140b2f9c479fbed3977b9e80d2..1a69cd388d14addb78f865303cf23b85fd827482 100644
--- a/ui/src/views/authorizations/DataTypeAuthorizationsView.vue
+++ b/ui/src/views/authorizations/DataTypeAuthorizationsView.vue
@@ -16,7 +16,7 @@
     <div class="rows">
       <div class="row">
         <div class="columns">
-          <div class="card column is-2">
+          <div class="column is-offset-10 is-2">
             <b-button icon-left="plus" type="is-primary is-right" @click="addAuthorization">
               {{ $t("dataTypeAuthorizations.add-auhtorization") }}
             </b-button>
@@ -25,7 +25,6 @@
       </div>
 
       <b-table
-        v-if="authorizations"
         :data="authorizations"
         :isFocusable="true"
         :isHoverable="true"
@@ -36,16 +35,6 @@
         class="row"
         height="100%"
       >
-        <!--b-table-column
-            v-slot="props"
-            :label="$t('dataTypeAuthorizations.user')"
-            b-table-column
-            field="user"
-            sortable
-        >
-          {{ props.row.user }}
-        </b-table-column-->
-
         <b-table-column
           v-slot="props"
           :label="$t('dataTypeAuthorizations.name')"
@@ -75,12 +64,12 @@
         </b-table-column>
         <b-table-column v-slot="props" :label="$t('dataTypeAuthorizations.actions')" b-table-column>
           <b-button
-            icon-left="trash-alt"
+            icon-left="times-circle"
             size="is-small"
-            type="is-danger"
+            type="is-danger is-light"
             @click="revoke(props.row.id)"
+            style="height: 1.5em; background-color: transparent; font-size: 1.45rem"
           >
-            {{ $t("dataTypeAuthorizations.revoke") }}
           </b-button>
         </b-table-column>
       </b-table>
diff --git a/ui/src/views/datatype/DataTypesManagementView.vue b/ui/src/views/datatype/DataTypesManagementView.vue
index e1ae218e18e6902ce5e838ed961ced4b32a66b59..c1a962dd2d9d43c047101920a1d3abbf510b1b09 100644
--- a/ui/src/views/datatype/DataTypesManagementView.vue
+++ b/ui/src/views/datatype/DataTypesManagementView.vue
@@ -133,10 +133,9 @@ export default class DataTypesManagementView extends Vue {
   created() {
     this.subMenuPaths = [
       new SubMenuPath(
-          this.$t("dataTypesManagement.data-types").toLowerCase(),
-          () => {
-          },
-          () => this.$router.push("/applications")
+        this.$t("dataTypesManagement.data-types").toLowerCase(),
+        () => {},
+        () => this.$router.push("/applications")
       ),
     ];
 
diff --git a/ui/src/views/references/ReferencesManagementView.vue b/ui/src/views/references/ReferencesManagementView.vue
index 3976e60d23d2987ccbb8ebf26c8a9d3422edaf16..b4c0597e2dabb675887989499096741abf116baa 100644
--- a/ui/src/views/references/ReferencesManagementView.vue
+++ b/ui/src/views/references/ReferencesManagementView.vue
@@ -19,7 +19,7 @@
         :onUploadCb="(label, refFile) => uploadReferenceCsv(label, refFile)"
         :buttons="buttons"
         :applicationTitle="$t('titles.references-page')"
-        :lineCount = lineCount(ref)
+        :lineCount="lineCount(ref)"
       >
       </CollapsibleTree>
       <ReferencesDetailsPanel
@@ -119,7 +119,7 @@ export default class ReferencesManagementView extends Vue {
     }
   }
   lineCount(ref) {
-    for (let i=0; i<=this.application.referenceSynthesis.length-1 ; i++) {
+    for (let i = 0; i <= this.application.referenceSynthesis.length - 1; i++) {
       if (this.application.referenceSynthesis[i].referenceType === ref.label) {
         return this.application.referenceSynthesis[i].lineCount;
       }