From f6f1b3d1adf3001ec1e29887e7d305726158832d Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Mon, 25 Apr 2022 15:01:46 +0200
Subject: [PATCH 01/10] =?UTF-8?q?mise=20en=20page=20de=20la=20cr=C3=A9atio?=
 =?UTF-8?q?n=20d'application?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ui/src/locales/en.json                         |  3 ++-
 ui/src/locales/fr.json                         |  3 ++-
 .../application/ApplicationCreationView.vue    | 18 ++++++++++++------
 3 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json
index a9422e403..c17ab109b 100644
--- a/ui/src/locales/en.json
+++ b/ui/src/locales/en.json
@@ -91,7 +91,8 @@
         "trierRecent":"Recent date",
         "filter":"Filter by",
         "change": "Edit app",
-        "version" : "The current version of the application <b class=\"has-text-primary\">{applicationName}</b> is <b class=\"has-text-primary\">{version}.</b>"
+        "version" : "The current version of the application <b class=\"has-text-primary\">{applicationName}</b> is <b class=\"has-text-primary\">{version}.</b>",
+        "help_config" : "Help PDF configuration"
     },
     "errors": {
         "authorizationScopeVariableComponentKeyMissingVariable": "You must indicate the variable in which to collect the spatial information to which to attach the data for the management of the rights dataset <code> {dataType} </code> for the authorization <code> {authorizationName} </code>. Possible values ​​<code> {variables} </code> ",
diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json
index 8def8733f..17f13cccf 100644
--- a/ui/src/locales/fr.json
+++ b/ui/src/locales/fr.json
@@ -91,7 +91,8 @@
 	    "trierRecent": "Date récente",
 	    "filter": "Filtrer",
         "change": "Modifier l'application",
-        "version" : "La version actuelle de l'application <b class=\"has-text-primary\">{applicationName}</b> est la version <b class=\"has-text-primary\">{version}.</b>"
+        "version" : "La version actuelle de l'application <b class=\"has-text-primary\">{applicationName}</b> est la version <b class=\"has-text-primary\">{version}.</b>",
+        "help_config" : "PDF aide configuration"
     },
     "errors": {
         "authorizationScopeVariableComponentKeyMissingVariable": "Il faut indiquer la variable dans laquelle on recueille les informations spatiales à laquelle rattacher la donnée pour le gestion des droits jeu de données <code>{dataType}</code> pour l'autorisation <code>{authorizationName}</code>. Valeurs possibles <code>{variables}</code>",
diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index 03e910b93..67882a8a6 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -28,11 +28,20 @@
                   {{ applicationConfig.file.name }}
                 </span>
                 </b-upload>
+                <sup>
+                  <b-tooltip :label="$t('applications.help_config')" position="is-right">
+                    <a @click="showHelp" style="color: #006464FF;margin-left: 10px"><b-icon icon="question-circle"> </b-icon></a>
+                  </b-tooltip>
+                </sup>
               </b-field>
             </ValidationProvider>
             <div style="margin: 5px" class="column is-1">
-              <b-button size="is-small" type="is-primary" @click="showHelp" icon-left="question" outlined rounded/>
+              <b-button type="is-light" @click="handleSubmit(testApplication)" icon-left="vial">
+                {{ $t("applications.test") }}
+              </b-button>
             </div>
+          </div>
+          <div class="columns">
             <ValidationProvider
                 class="column"
                 rules="required|validApplicationName|validApplicationNameLength"
@@ -68,9 +77,6 @@
             </b-field>
           </div>
           <div class="buttons">
-            <b-button type="is-light" @click="handleSubmit(testApplication)" icon-left="vial">
-              {{ $t("applications.test") }}
-            </b-button>
             <b-button type="is-warning" @click="handleSubmit(changeConfiguration)" icon-left="edit">
               {{ $t("applications.change") }}
             </b-button>
@@ -141,8 +147,8 @@ export default class ApplicationCreationView extends Vue {
     }
   }
   showHelp(){
-    //window.open(this.$router.push("/help"));
-    this.$router.push("/help");
+    let routeData = this.$router.resolve("/help");
+    window.open(routeData.href, '_blank');
   }
 
   async testApplication() {
-- 
GitLab


From 08aa388824638da8a699038a4ce29aa766d80023 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Mon, 25 Apr 2022 16:05:58 +0200
Subject: [PATCH 02/10] =?UTF-8?q?r=C3=A9cup=C3=A9ration=20des=20infos=20da?=
 =?UTF-8?q?ns=20le=20fichier=20de=20configuration?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ui/src/views/application/ApplicationCreationView.vue | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index 67882a8a6..c6a817bdc 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -40,11 +40,14 @@
                 {{ $t("applications.test") }}
               </b-button>
             </div>
+            <div class="column is-1">
+              <b-tag  v-if="applicationConfig.version" type="is-warning">Version actuelle de l'application : {{ applicationConfig.version }}</b-tag>
+            </div>
           </div>
           <div class="columns">
             <ValidationProvider
+                v-if="applicationConfig.name"
                 class="column"
-                rules="required|validApplicationName|validApplicationNameLength"
                 name="applicationsName"
                 v-slot="{ errors, valid }"
                 vid="applicationsName"
@@ -156,6 +159,8 @@ export default class ApplicationCreationView extends Vue {
     try {
       let response = await this.applicationService.validateConfiguration(this.applicationConfig);
       if (response.valid === true) {
+        this.applicationConfig.name = response.result.application.name.toLowerCase();
+        this.applicationConfig.version = response.result.application.version;
         this.alertService.toastSuccess(this.$t("alert.application-validate-success"));
       } else {
         this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
-- 
GitLab


From efdb20f20e6a089e4ae6f893e87c6320897d8a3b Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Mon, 25 Apr 2022 16:30:45 +0200
Subject: [PATCH 03/10] =?UTF-8?q?ajout=20des=20conditions=20de=20visibilit?=
 =?UTF-8?q?=C3=A9=20des=20champs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../application/ApplicationCreationView.vue   | 20 +++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index c6a817bdc..4cd459ce2 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -21,12 +21,12 @@
               >
                 <b-upload v-model="applicationConfig.file" class="file-label" accept=".yaml, .zip">
                   <span class="file-cta">
-                  <b-icon class="file-icon" icon="upload"></b-icon>
-                  <span class="file-label">{{ $t("applications.chose-config") }}</span>
-                </span>
+                    <b-icon class="file-icon" icon="upload"></b-icon>
+                    <span class="file-label">{{ $t("applications.chose-config") }}</span>
+                  </span>
                   <span class="file-name" v-if="applicationConfig.file">
-                  {{ applicationConfig.file.name }}
-                </span>
+                    {{ applicationConfig.file.name }}
+                  </span>
                 </b-upload>
                 <sup>
                   <b-tooltip :label="$t('applications.help_config')" position="is-right">
@@ -41,7 +41,7 @@
               </b-button>
             </div>
             <div class="column is-1">
-              <b-tag  v-if="applicationConfig.version" type="is-warning">Version actuelle de l'application : {{ applicationConfig.version }}</b-tag>
+              <b-tag  v-if="applicationConfig.version" type="is-warning" size="is-large" style="margin: 5px;">Version actuelle de l'application : {{ applicationConfig.version }}</b-tag>
             </div>
           </div>
           <div class="columns">
@@ -80,10 +80,10 @@
             </b-field>
           </div>
           <div class="buttons">
-            <b-button type="is-warning" @click="handleSubmit(changeConfiguration)" icon-left="edit">
+            <b-button v-if="btnUpdateConfig" type="is-warning" @click="handleSubmit(changeConfiguration)" icon-left="edit">
               {{ $t("applications.change") }}
             </b-button>
-            <b-button type="is-primary" @click="handleSubmit(createApplication)" icon-left="plus">
+            <b-button v-if="applicationConfig.name !==''" type="is-primary" @click="handleSubmit(createApplication)" icon-left="plus">
               {{ $t("applications.create") }}
             </b-button>
           </div>
@@ -125,6 +125,7 @@ export default class ApplicationCreationView extends Vue {
   alertService = AlertService.INSTANCE;
 
   applicationConfig = new ApplicationConfig();
+  btnUpdateConfig = false;
   errorsMessages = [];
   comment = "";
 
@@ -161,6 +162,9 @@ export default class ApplicationCreationView extends Vue {
       if (response.valid === true) {
         this.applicationConfig.name = response.result.application.name.toLowerCase();
         this.applicationConfig.version = response.result.application.version;
+        if(this.applicationConfig.version !==1) {
+          this.btnUpdateConfig = true;
+        }
         this.alertService.toastSuccess(this.$t("alert.application-validate-success"));
       } else {
         this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
-- 
GitLab


From 0a71ae147b317f2ccc19e50e0e7e79c5828f5443 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Mon, 25 Apr 2022 22:22:41 +0200
Subject: [PATCH 04/10] finalisation

---
 ui/src/locales/en.json                        |  3 +-
 ui/src/locales/fr.json                        |  3 +-
 ui/src/services/AlertService.js               |  4 +-
 ui/src/services/ErrorsService.js              |  2 +-
 ui/src/services/Fetcher.js                    | 12 +--
 ui/src/services/rest/DataService.js           | 12 ++-
 ui/src/services/rest/ReferenceService.js      |  2 +-
 .../application/ApplicationCreationView.vue   | 85 ++++++++++++-------
 .../datatype/DataTypesManagementView.vue      | 55 ++++++------
 ui/src/views/documentation/HelpView.vue       | 10 +--
 .../references/ReferencesManagementView.vue   | 42 ++++-----
 11 files changed, 125 insertions(+), 105 deletions(-)

diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json
index 3a9843786..8d82b2044 100644
--- a/ui/src/locales/en.json
+++ b/ui/src/locales/en.json
@@ -93,7 +93,8 @@
         "filter":"Filter by",
         "change": "Edit app",
         "version" : "The current version of the application <b class=\"has-text-primary\">{applicationName}</b> is <b class=\"has-text-primary\">{version}.</b>",
-        "help_config" : "Help PDF configuration"
+        "help_config" : "Help PDF configuration",
+        "app_version": "Current app version :"
     },
     "errors": {
         "authorizationScopeVariableComponentKeyMissingVariable": "You must indicate the variable in which to collect the spatial information to which to attach the data for the management of the rights dataset <code> {dataType} </code> for the authorization <code> {authorizationName} </code>. Possible values ​​<code> {variables} </code> ",
diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json
index 06924a4af..0daaec098 100644
--- a/ui/src/locales/fr.json
+++ b/ui/src/locales/fr.json
@@ -93,7 +93,8 @@
 	    "filter": "Filtrer",
         "change": "Modifier l'application",
         "version" : "La version actuelle de l'application <b class=\"has-text-primary\">{applicationName}</b> est la version <b class=\"has-text-primary\">{version}.</b>",
-        "help_config" : "PDF aide configuration"
+        "help_config" : "PDF aide configuration",
+        "app_version": "Version actuelle de l'application :"
     },
     "errors": {
         "authorizationScopeVariableComponentKeyMissingVariable": "Il faut indiquer la variable dans laquelle on recueille les informations spatiales à laquelle rattacher la donnée pour le gestion des droits jeu de données <code>{dataType}</code> pour l'autorisation <code>{authorizationName}</code>. Valeurs possibles <code>{variables}</code>",
diff --git a/ui/src/services/AlertService.js b/ui/src/services/AlertService.js
index bcfe66bf8..a06472de4 100644
--- a/ui/src/services/AlertService.js
+++ b/ui/src/services/AlertService.js
@@ -43,9 +43,7 @@ export class AlertService {
 
   toastServerError(error) {
     if (error.content != null) {
-      error.content.then(
-        value => this.toastError(value.message, error)
-      );
+      error.content.then((value) => this.toastError(value.message, error));
     } else {
       this.toastError(i18n.t("alert.server-error"), error);
     }
diff --git a/ui/src/services/ErrorsService.js b/ui/src/services/ErrorsService.js
index af60cfebd..500f022ba 100644
--- a/ui/src/services/ErrorsService.js
+++ b/ui/src/services/ErrorsService.js
@@ -132,7 +132,7 @@ export class ErrorsService {
   }
 
   getCsvErrorsMessages(csvErrors) {
-    console.log("coucou : ",csvErrors);
+    console.log("coucou : ", csvErrors);
     return csvErrors.map((csvError) => {
       const func = ERRORS[csvError.validationCheckResult.message];
       if (!func) {
diff --git a/ui/src/services/Fetcher.js b/ui/src/services/Fetcher.js
index 077a9ac6a..e0cf7fda2 100644
--- a/ui/src/services/Fetcher.js
+++ b/ui/src/services/Fetcher.js
@@ -93,7 +93,7 @@ export class Fetcher {
 
   async _handleResponse(response, isText) {
     try {
-      const text = await isText?response.text():response.json();
+      const text = (await isText) ? response.text() : response.json();
       if (response.ok && response.status !== HttpStatusCodes.NO_CONTENT) {
         return Promise.resolve(text);
       }
@@ -114,11 +114,11 @@ export class Fetcher {
 
   async downloadFile(urlPath) {
     const url = new URL(`${config.API_URL}${urlPath}`);
-    console.log(url)
+    console.log(url);
     const link = document.createElement("a");
-    link.href=url;
-    link.type='application/octet-stream'
-    link.download = "export.csv"
+    link.href = url;
+    link.type = "application/octet-stream";
+    link.download = "export.csv";
     link.click();
   }
 
@@ -146,4 +146,4 @@ export class Fetcher {
       Locales.FRENCH
     );
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/services/rest/DataService.js b/ui/src/services/rest/DataService.js
index fac3f365b..f9a35dc63 100644
--- a/ui/src/services/rest/DataService.js
+++ b/ui/src/services/rest/DataService.js
@@ -14,9 +14,13 @@ export class DataService extends Fetcher {
   }
 
   async getDataTypesCsv(applicationName, dataTypeId, params) {
-    return this.get(`applications/${applicationName}/data/${dataTypeId}/csv`, {
-      downloadDatasetQuery: JSON.stringify(params),
-    }, true);
+    return this.get(
+      `applications/${applicationName}/data/${dataTypeId}/csv`,
+      {
+        downloadDatasetQuery: JSON.stringify(params),
+      },
+      true
+    );
   }
 
   async addData(applicationName, dataTypeId, dataTypeFile, params) {
@@ -25,4 +29,4 @@ export class DataService extends Fetcher {
       params: JSON.stringify(params),
     });
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/services/rest/ReferenceService.js b/ui/src/services/rest/ReferenceService.js
index 5958ab24a..957365878 100644
--- a/ui/src/services/rest/ReferenceService.js
+++ b/ui/src/services/rest/ReferenceService.js
@@ -24,4 +24,4 @@ export class ReferenceService extends Fetcher {
       file: refFile,
     });
   }
-}
\ No newline at end of file
+}
diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index 4cd459ce2..a02550f47 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -6,18 +6,18 @@
         <ValidationObserver ref="observer" v-slot="{ handleSubmit }">
           <div class="columns">
             <ValidationProvider
-                class="column is-3"
-                rules="required"
-                name="applicationCreation"
-                v-slot="{ errors, valid }"
-                vid="applicationCreation"
+              class="column is-3"
+              rules="required"
+              name="applicationCreation"
+              v-slot="{ errors, valid }"
+              vid="applicationCreation"
             >
               <b-field
-                  class="file is-primary"
-                  :type="{
-                'is-danger': errors && errors.length > 0,
-                'is-success': valid,
-              }"
+                class="file is-primary"
+                :type="{
+                  'is-danger': errors && errors.length > 0,
+                  'is-success': valid,
+                }"
               >
                 <b-upload v-model="applicationConfig.file" class="file-label" accept=".yaml, .zip">
                   <span class="file-cta">
@@ -30,7 +30,9 @@
                 </b-upload>
                 <sup>
                   <b-tooltip :label="$t('applications.help_config')" position="is-right">
-                    <a @click="showHelp" style="color: #006464FF;margin-left: 10px"><b-icon icon="question-circle"> </b-icon></a>
+                    <a @click="showHelp" style="color: #006464ff; margin-left: 10px"
+                      ><b-icon icon="question-circle"> </b-icon
+                    ></a>
                   </b-tooltip>
                 </sup>
               </b-field>
@@ -41,34 +43,41 @@
               </b-button>
             </div>
             <div class="column is-1">
-              <b-tag  v-if="applicationConfig.version" type="is-warning" size="is-large" style="margin: 5px;">Version actuelle de l'application : {{ applicationConfig.version }}</b-tag>
+              <b-tag
+                v-if="applicationConfig.version"
+                type="is-warning"
+                size="is-large"
+                style="margin: 5px"
+              >
+                {{ $t("applications.app_version") }}{{ applicationConfig.version }}
+              </b-tag>
             </div>
           </div>
           <div class="columns">
             <ValidationProvider
-                v-if="applicationConfig.name"
-                class="column"
-                name="applicationsName"
-                v-slot="{ errors, valid }"
-                vid="applicationsName"
+              v-if="applicationConfig.name"
+              class="column"
+              name="applicationsName"
+              v-slot="{ errors, valid }"
+              vid="applicationsName"
             >
               <b-field
-                  class="input-field"
-                  :type="{
-                'is-danger': errors && errors.length > 0,
-                'is-success': valid,
-              }"
-                  :message="errors[0]"
+                class="input-field"
+                :type="{
+                  'is-danger': errors && errors.length > 0,
+                  'is-success': valid,
+                }"
+                :message="errors[0]"
               >
                 <template slot="label">
                   {{ $t("applications.name") }}
                   <span class="mandatory">
-                  {{ $t("validation.obligatoire") }}
-                </span>
+                    {{ $t("validation.obligatoire") }}
+                  </span>
                 </template>
                 <b-input
-                    v-model="applicationConfig.name"
-                    :placeholder="$t('applications.name-placeholder')"
+                  v-model="applicationConfig.name"
+                  :placeholder="$t('applications.name-placeholder')"
                 >
                 </b-input>
               </b-field>
@@ -80,10 +89,20 @@
             </b-field>
           </div>
           <div class="buttons">
-            <b-button v-if="btnUpdateConfig" type="is-warning" @click="handleSubmit(changeConfiguration)" icon-left="edit">
+            <b-button
+              v-if="btnUpdateConfig"
+              type="is-warning"
+              @click="handleSubmit(changeConfiguration)"
+              icon-left="edit"
+            >
               {{ $t("applications.change") }}
             </b-button>
-            <b-button v-if="applicationConfig.name !==''" type="is-primary" @click="handleSubmit(createApplication)" icon-left="plus">
+            <b-button
+              v-if="applicationConfig.name !== ''"
+              type="is-primary"
+              @click="handleSubmit(createApplication)"
+              icon-left="plus"
+            >
               {{ $t("applications.create") }}
             </b-button>
           </div>
@@ -150,9 +169,9 @@ export default class ApplicationCreationView extends Vue {
       this.checkMessageErrors(error);
     }
   }
-  showHelp(){
+  showHelp() {
     let routeData = this.$router.resolve("/help");
-    window.open(routeData.href, '_blank');
+    window.open(routeData.href, "_blank");
   }
 
   async testApplication() {
@@ -162,7 +181,7 @@ export default class ApplicationCreationView extends Vue {
       if (response.valid === true) {
         this.applicationConfig.name = response.result.application.name.toLowerCase();
         this.applicationConfig.version = response.result.application.version;
-        if(this.applicationConfig.version !==1) {
+        if (this.applicationConfig.version !== 1) {
           this.btnUpdateConfig = true;
         }
         this.alertService.toastSuccess(this.$t("alert.application-validate-success"));
@@ -184,4 +203,4 @@ export default class ApplicationCreationView extends Vue {
     }
   }
 }
-</script>
\ No newline at end of file
+</script>
diff --git a/ui/src/views/datatype/DataTypesManagementView.vue b/ui/src/views/datatype/DataTypesManagementView.vue
index 3c1817d79..3f6cd7795 100644
--- a/ui/src/views/datatype/DataTypesManagementView.vue
+++ b/ui/src/views/datatype/DataTypesManagementView.vue
@@ -18,11 +18,11 @@
     <div v-if="errorsMessages.length" style="margin: 10px">
       <div v-for="msg in errorsMessages" v-bind:key="msg">
         <b-message
-            :title="$t('message.data-type-config-error')"
-            type="is-danger"
-            has-icon
-            :aria-close-label="$t('message.close')"
-            class="mt-4 DataTypesManagementView-message"
+          :title="$t('message.data-type-config-error')"
+          type="is-danger"
+          has-icon
+          :aria-close-label="$t('message.close')"
+          class="mt-4 DataTypesManagementView-message"
         >
           <span v-html="msg" />
         </b-message>
@@ -31,8 +31,8 @@
     <div>
       <CollapsibleTree
         class="liste"
-        v-for="(data,i) in dataTypes"
-        :id="i+1"
+        v-for="(data, i) in dataTypes"
+        :id="i + 1"
         :key="data.id"
         :option="{
           ...data,
@@ -88,7 +88,7 @@ import { InternationalisationService } from "@/services/InternationalisationServ
 import DataTypeDetailsPanel from "@/components/datatype/DataTypeDetailsPanel.vue";
 import AvailablityChart from "@/components/charts/AvailiblityChart.vue";
 import DetailModalCard from "@/components/charts/DetailModalCard";
-import {DownloadDatasetQuery} from "@/model/application/DownloadDatasetQuery";
+import { DownloadDatasetQuery } from "@/model/application/DownloadDatasetQuery";
 
 @Component({
   components: {
@@ -267,17 +267,14 @@ export default class DataTypesManagementView extends Vue {
   }
 
   async downloadDataType(event) {
-    let param = new DownloadDatasetQuery(this.application, this.applicationName, event)
-    console.log('download',new DownloadDatasetQuery(),  event)
-    let csv = await this.dataService.getDataTypesCsv(
-        this.applicationName,
-        event,
-        param);
-    var hiddenElement = document.createElement('a');
-    hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
+    let param = new DownloadDatasetQuery(this.application, this.applicationName, event);
+    console.log("download", new DownloadDatasetQuery(), event);
+    let csv = await this.dataService.getDataTypesCsv(this.applicationName, event, param);
+    var hiddenElement = document.createElement("a");
+    hiddenElement.href = "data:text/csv;charset=utf-8," + encodeURI(csv);
 
     //provide the name for the CSV file to be downloaded
-    hiddenElement.download = 'export.csv';
+    hiddenElement.download = "export.csv";
     hiddenElement.click();
     return false;
   }
@@ -286,19 +283,17 @@ export default class DataTypesManagementView extends Vue {
     if (error.httpResponseCode === HttpStatusCodes.BAD_REQUEST) {
       if (error.content != null) {
         this.errorsList = [];
-        error.content.then(
-          value => {
-            for (let i =0 ; i<value.length; i++) {
-              console.log(value[i]);
-              this.errorsList[i] = value[i];
-            }
-            if (this.errorsList.length !== 0) {
-              this.errorsMessages = this.errorsService.getCsvErrorsMessages(this.errorsList);
-            } else {
-              this.errorsMessages = this.errorsService.getErrorsMessages(error);
-            }
+        error.content.then((value) => {
+          for (let i = 0; i < value.length; i++) {
+            console.log(value[i]);
+            this.errorsList[i] = value[i];
           }
-        );
+          if (this.errorsList.length !== 0) {
+            this.errorsMessages = this.errorsService.getCsvErrorsMessages(this.errorsList);
+          } else {
+            this.errorsMessages = this.errorsService.getErrorsMessages(error);
+          }
+        });
       }
     } else {
       this.alertService.toastServerError(error);
@@ -322,4 +317,4 @@ export default class DataTypesManagementView extends Vue {
   margin-bottom: 10px;
   border: 1px solid white;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/ui/src/views/documentation/HelpView.vue b/ui/src/views/documentation/HelpView.vue
index 739217be9..9db19966b 100644
--- a/ui/src/views/documentation/HelpView.vue
+++ b/ui/src/views/documentation/HelpView.vue
@@ -1,9 +1,10 @@
-><template>
+>
+<template>
   <PageView>
     <h1 class="title main-title">{{ $t("titles.aide") }}</h1>
 
     <div class="columns columnPrincipale">
-      <embed  class="column" src="files/aide.pdf" width=800 height=500 type='application/pdf'/>
+      <embed class="column" src="files/aide.pdf" width="800" height="500" type="application/pdf" />
     </div>
   </PageView>
 </template>
@@ -15,8 +16,7 @@ import PageView from "@/views/common/PageView.vue";
 @Component({
   components: { PageView },
 })
-export default class HelpView extends Vue {
-}
+export default class HelpView extends Vue {}
 </script>
 
 <style lang="scss" scoped>
@@ -80,4 +80,4 @@ export default class HelpView extends Vue {
   top: 5px;
   left: 5px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/ui/src/views/references/ReferencesManagementView.vue b/ui/src/views/references/ReferencesManagementView.vue
index 97e8cec5a..22a507e20 100644
--- a/ui/src/views/references/ReferencesManagementView.vue
+++ b/ui/src/views/references/ReferencesManagementView.vue
@@ -12,11 +12,11 @@
     <div v-if="errorsMessages.length" style="margin: 10px">
       <div v-for="msg in errorsMessages" v-bind:key="msg">
         <b-message
-            :title="$t('message.data-type-config-error')"
-            type="is-danger"
-            has-icon
-            :aria-close-label="$t('message.close')"
-            class="mt-4"
+          :title="$t('message.data-type-config-error')"
+          type="is-danger"
+          has-icon
+          :aria-close-label="$t('message.close')"
+          class="mt-4"
         >
           <span v-html="msg" />
         </b-message>
@@ -61,8 +61,8 @@ import { ApplicationResult } from "@/model/ApplicationResult";
 import SubMenu, { SubMenuPath } from "@/components/common/SubMenu.vue";
 import { AlertService } from "@/services/AlertService";
 import { Button } from "@/model/Button";
-import {HttpStatusCodes} from "@/utils/HttpUtils";
-import {ErrorsService} from "@/services/ErrorsService";
+import { HttpStatusCodes } from "@/utils/HttpUtils";
+import { ErrorsService } from "@/services/ErrorsService";
 
 @Component({
   components: { CollapsibleTree, ReferencesDetailsPanel, PageView, SubMenu },
@@ -187,7 +187,11 @@ export default class ReferencesManagementView extends Vue {
     this.errorsMessages = [];
     const reference = this.findReferenceByLabel(label);
     try {
-      let response = await this.referenceService.createReference(this.applicationName, reference.id, refFile);
+      let response = await this.referenceService.createReference(
+        this.applicationName,
+        reference.id,
+        refFile
+      );
       if (response.valid === true) {
         this.alertService.toastSuccess(this.$t("alert.reference-updated"));
       } else {
@@ -200,18 +204,16 @@ export default class ReferencesManagementView extends Vue {
 
   async checkMessageErrors(errors) {
     if (errors.httpResponseCode === HttpStatusCodes.BAD_REQUEST) {
-      errors.content.then(
-          value => {
-            for (let i =0 ; i<value.length; i++) {
-              this.errorsList[i] = value[i];
-            }
-            if (this.errorsList.length !== 0) {
-              this.errorsMessages = this.errorsService.getCsvErrorsMessages(this.errorsList);
-            } else {
-              this.errorsMessages = this.errorsService.getErrorsMessages(errors);
-            }
-          }
-      );
+      errors.content.then((value) => {
+        for (let i = 0; i < value.length; i++) {
+          this.errorsList[i] = value[i];
+        }
+        if (this.errorsList.length !== 0) {
+          this.errorsMessages = this.errorsService.getCsvErrorsMessages(this.errorsList);
+        } else {
+          this.errorsMessages = this.errorsService.getErrorsMessages(errors);
+        }
+      });
     } else {
       this.alertService.toastError(this.$t("alert.reference-csv-upload-error"), errors);
     }
-- 
GitLab


From 09cb7e92f18c44c61efc64f03b79cd965553413f Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Tue, 26 Apr 2022 11:53:59 +0200
Subject: [PATCH 05/10] correctif reference

---
 ui/src/services/Fetcher.js                           | 2 +-
 ui/src/views/references/ReferencesManagementView.vue | 8 ++------
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/ui/src/services/Fetcher.js b/ui/src/services/Fetcher.js
index e0cf7fda2..0c7157173 100644
--- a/ui/src/services/Fetcher.js
+++ b/ui/src/services/Fetcher.js
@@ -93,7 +93,7 @@ export class Fetcher {
 
   async _handleResponse(response, isText) {
     try {
-      const text = (await isText) ? response.text() : response.json();
+      const text = isText ? response.text() : response.json();
       if (response.ok && response.status !== HttpStatusCodes.NO_CONTENT) {
         return Promise.resolve(text);
       }
diff --git a/ui/src/views/references/ReferencesManagementView.vue b/ui/src/views/references/ReferencesManagementView.vue
index 22a507e20..9f5aeed48 100644
--- a/ui/src/views/references/ReferencesManagementView.vue
+++ b/ui/src/views/references/ReferencesManagementView.vue
@@ -187,16 +187,12 @@ export default class ReferencesManagementView extends Vue {
     this.errorsMessages = [];
     const reference = this.findReferenceByLabel(label);
     try {
-      let response = await this.referenceService.createReference(
+      await this.referenceService.createReference(
         this.applicationName,
         reference.id,
         refFile
       );
-      if (response.valid === true) {
-        this.alertService.toastSuccess(this.$t("alert.reference-updated"));
-      } else {
-        this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
-      }
+      this.alertService.toastSuccess(this.$t("alert.reference-updated"));
     } catch (errors) {
       await this.checkMessageErrors(errors);
     }
-- 
GitLab


From 0a410d5ad23c1f85336b555c0be3403efc70ec24 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Wed, 27 Apr 2022 11:26:01 +0200
Subject: [PATCH 06/10] affichage des exceptions dans l'interface

---
 .../rest/ApplicationConfigurationService.java |  3 +-
 ui/src/locales/en.json                        |  5 ++--
 ui/src/locales/fr.json                        |  5 ++--
 ui/src/services/ErrorsService.js              | 10 +++----
 ui/src/services/Fetcher.js                    |  8 ++----
 .../application/ApplicationCreationView.vue   | 28 +++++++++++++------
 6 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/src/main/java/fr/inra/oresing/rest/ApplicationConfigurationService.java b/src/main/java/fr/inra/oresing/rest/ApplicationConfigurationService.java
index a7ccf4053..2a1697b4e 100644
--- a/src/main/java/fr/inra/oresing/rest/ApplicationConfigurationService.java
+++ b/src/main/java/fr/inra/oresing/rest/ApplicationConfigurationService.java
@@ -96,7 +96,6 @@ public class ApplicationConfigurationService {
         ImmutableSet.Builder<String> requiredAuthorizationsAttributesBuilder = ImmutableSet.builder();
         for (Map.Entry<String, Configuration.CompositeReferenceDescription> compositeReferenceEntry : configuration.getCompositeReferences().entrySet()) {
             verifyCompositeReferenceReferenceExists(configuration, builder, compositeReferenceEntry);
-            verifyCompositeReferenceParentColumnExists(configuration, builder, compositeReferenceEntry);
             verifyCompositeReferenceParentRecursiveColumnExists(configuration, builder, compositeReferenceEntry);
         }
 
@@ -197,6 +196,8 @@ public class ApplicationConfigurationService {
         ImmutableSet<String> unknownReferences = Sets.difference(expectingReferences, existingReferences).immutableCopy();
         if (!unknownReferences.isEmpty()) {
             builder.unknownReferenceInCompositeReference(compositeReferenceName, unknownReferences, existingReferences);
+        } else {
+            verifyCompositeReferenceParentColumnExists(configuration, builder, compositeReferenceEntry);
         }
     }
 
diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json
index 8d82b2044..89125b1bf 100644
--- a/ui/src/locales/en.json
+++ b/ui/src/locales/en.json
@@ -79,7 +79,7 @@
         "create":"Create application",
         "comment": "Comment : ",
         "no-comment": "No comment",
-        "test":"Test",
+        "test":"Configuration validation",
         "name":"Application name",
         "name-placeholder":"Ex : olac",
         "creation-date":"Creation date",
@@ -211,7 +211,8 @@
         "unknownVariablesInDataGroup": "Data group <code>{dataGroup}</code> has undeclared data : <code>{unknownVariables}</code>. <br>Known data : <code>{variables}</code>",
         "unrecognizedProperty": "Error in line <code>{lineNumber}</code> (column : <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, is not a known property. <br>Known properties : <code>{knownProperties}</code>",
         "unsupportedVersion": "YAML files with version <code>{actualVersion}</code> aren't currently managed, expected version : <code>{expectedVersion}</code>",
-        "variableInMultipleDataGroup": "Variable <code>{variable}</code> is declared in several data groups, it needs to be only in one"
+        "variableInMultipleDataGroup": "Variable <code>{variable}</code> is declared in several data groups, it needs to be only in one",
+        "expetion": "The translation string is missing for your error contact the administrators: "
     },
     "referencesManagement":{
         "actions":"Actions",
diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json
index 0daaec098..f6014a3c9 100644
--- a/ui/src/locales/fr.json
+++ b/ui/src/locales/fr.json
@@ -79,7 +79,7 @@
         "create": "Créer l'application",
         "comment": "Commentaire : ",
         "no-comment": "Pas de commentaire",
-        "test": "Tester",
+        "test": "Validation configuration",
         "name": "Nom de l'application",
         "name-placeholder": "Ex : olac",
         "creation-date": "Date de création",
@@ -211,7 +211,8 @@
         "unknownVariablesInDataGroup": "le groupe de données <code>{dataGroup}</code> contient des données qui ne sont pas déclarées <code>{unknownVariables}</code>. Données connues <code>{variables}</code>",
         "unrecognizedProperty": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, c’est pas une propriété reconnue. Les propriétés reconnues sont <code>{knownProperties}</code>",
         "unsupportedVersion": "Les fichiers YAML de version <code>{actualVersion}</code> ne sont pas gérés, version attendue <code>{expectedVersion}</code>",
-        "variableInMultipleDataGroup": "La variable <code>{variable}</code> est déclarée dans plusieurs groupes de données, elle ne doit être présente que dans un groupe"
+        "variableInMultipleDataGroup": "La variable <code>{variable}</code> est déclarée dans plusieurs groupes de données, elle ne doit être présente que dans un groupe",
+        "expetion": "Il manque la chaine de traduction pour l'erreur suivante. Merci de vérifiez que ce n'est pas un problème d'indantation  avant de contacter les administrateurs. "
     },
     "referencesManagement": {
         "actions": "Actions",
diff --git a/ui/src/services/ErrorsService.js b/ui/src/services/ErrorsService.js
index 500f022ba..833a21bce 100644
--- a/ui/src/services/ErrorsService.js
+++ b/ui/src/services/ErrorsService.js
@@ -125,21 +125,19 @@ export class ErrorsService {
     return errors.map((error) => {
       const func = ERRORS[error.message];
       if (!func) {
-        throw new Error("Il manque la chaine de traduction pour l'erreur : " + error.message);
+        //throw new Error("Il manque la chaine de traduction pour l'erreur : " + error.message);
+        return i18n.t("errors.expetion");
       }
       return func(error.messageParams);
     });
   }
 
   getCsvErrorsMessages(csvErrors) {
-    console.log("coucou : ", csvErrors);
     return csvErrors.map((csvError) => {
       const func = ERRORS[csvError.validationCheckResult.message];
       if (!func) {
-        throw new Error(
-          "Il manque la chaine de traduction pour l'erreur : " +
-            csvError.validationCheckResult.message
-        );
+        //throw new Error("Il manque la chaine de traduction pour l'erreur : " + csvError.validationCheckResult.message);
+        return Error(i18n.t("errors.expetion") + csvError.validationCheckResult.message);
       }
       const params = {
         lineNumber: csvError.lineNumber,
diff --git a/ui/src/services/Fetcher.js b/ui/src/services/Fetcher.js
index 0c7157173..296f1c9fd 100644
--- a/ui/src/services/Fetcher.js
+++ b/ui/src/services/Fetcher.js
@@ -97,14 +97,11 @@ export class Fetcher {
       if (response.ok && response.status !== HttpStatusCodes.NO_CONTENT) {
         return Promise.resolve(text);
       }
-      return Promise.reject({ httpResponseCode: response.status, content: text });
+      return Promise.reject({ httpResponseCode: response.status, content: Promise.resolve(text) });
     } catch (error) {
       console.error(error);
+      return Promise.reject({ httpResponseCode: response.status });
     }
-    if (response.ok) {
-      return Promise.resolve();
-    }
-    return Promise.reject({ httpResponseCode: response.status });
   }
 
   async showFile(urlPath) {
@@ -114,7 +111,6 @@ export class Fetcher {
 
   async downloadFile(urlPath) {
     const url = new URL(`${config.API_URL}${urlPath}`);
-    console.log(url);
     const link = document.createElement("a");
     link.href = url;
     link.type = "application/octet-stream";
diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index a02550f47..196ebbbb2 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -6,7 +6,7 @@
         <ValidationObserver ref="observer" v-slot="{ handleSubmit }">
           <div class="columns">
             <ValidationProvider
-              class="column is-3"
+              class="column is-4"
               rules="required"
               name="applicationCreation"
               v-slot="{ errors, valid }"
@@ -37,14 +37,14 @@
                 </sup>
               </b-field>
             </ValidationProvider>
-            <div style="margin: 5px" class="column is-1">
+            <div style="margin: 5px" class="column is-4">
               <b-button type="is-light" @click="handleSubmit(testApplication)" icon-left="vial">
                 {{ $t("applications.test") }}
               </b-button>
             </div>
-            <div class="column is-1">
+            <div class="column is-4">
               <b-tag
-                v-if="applicationConfig.version"
+                v-if="btnUpdateConfig"
                 type="is-warning"
                 size="is-large"
                 style="margin: 5px"
@@ -98,7 +98,7 @@
               {{ $t("applications.change") }}
             </b-button>
             <b-button
-              v-if="applicationConfig.name !== ''"
+              v-if="applicationConfig.name !== '' && !btnUpdateConfig"
               type="is-primary"
               @click="handleSubmit(createApplication)"
               icon-left="plus"
@@ -116,7 +116,9 @@
               :aria-close-label="$t('message.close')"
               class="mt-4"
             >
-              <span v-html="msg" />
+              <span v-if="msg.mess" v-html="msg.mess" class="columns" style="margin: 10px; font-weight: bold"/>
+              <span v-if="msg.param" class="columns" style="margin: 0">{{ msg.param }}</span>
+              <span v-else v-html="msg" />
             </b-message>
           </div>
         </div>
@@ -146,6 +148,7 @@ export default class ApplicationCreationView extends Vue {
   applicationConfig = new ApplicationConfig();
   btnUpdateConfig = false;
   errorsMessages = [];
+  error = [];
   comment = "";
 
   async createApplication() {
@@ -181,12 +184,21 @@ export default class ApplicationCreationView extends Vue {
       if (response.valid === true) {
         this.applicationConfig.name = response.result.application.name.toLowerCase();
         this.applicationConfig.version = response.result.application.version;
-        if (this.applicationConfig.version !== 1) {
+        if (response.result.application.version !== 1) {
           this.btnUpdateConfig = true;
         }
         this.alertService.toastSuccess(this.$t("alert.application-validate-success"));
       } else {
-        this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
+        for(let i =0; i<response.validationCheckResults.length; i++) {
+          if (this.errorsService.getErrorsMessages(response.validationCheckResults)[i] === this.$t("errors.expetion")) {
+            this.error[i] = {...this.error[i],
+              mess: this.errorsService.getErrorsMessages(response.validationCheckResults)[i],
+              param: response.validationCheckResults[i].message};
+            this.errorsMessages.push(this.error[i]);
+          } else {
+            this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
+          }
+        }
       }
     } catch (error) {
       this.checkMessageErrors(error);
-- 
GitLab


From 8c53a2cfc3fa79d4178c018c557f4ffa02442523 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Fri, 29 Apr 2022 12:15:36 +0200
Subject: [PATCH 07/10] gestion affichage btn ref et data page application

---
 ui/src/views/application/ApplicationsView.vue | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ui/src/views/application/ApplicationsView.vue b/ui/src/views/application/ApplicationsView.vue
index a28d7b41e..f94e5187a 100644
--- a/ui/src/views/application/ApplicationsView.vue
+++ b/ui/src/views/application/ApplicationsView.vue
@@ -175,6 +175,7 @@
                 <div class="card-footer">
                   <div class="card-footer-item">
                     <b-button
+                      v-if="application.referenceType.length !== 0"
                       icon-left="drafting-compass"
                       @click="displayReferencesManagement(application)"
                     >
@@ -182,7 +183,11 @@
                     </b-button>
                   </div>
                   <div class="card-footer-item">
-                    <b-button icon-left="poll" @click="displayDataSetManagement(application)">
+                    <b-button
+                      v-if="application.dataType.length !== 0"
+                      icon-left="poll"
+                      @click="displayDataSetManagement(application)"
+                    >
                       {{ $t("applications.dataset") }}
                     </b-button>
                   </div>
-- 
GitLab


From 84e66367e0ef6f98a55cb6e09a714c9a5792ff52 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Fri, 29 Apr 2022 12:15:57 +0200
Subject: [PATCH 08/10] traduction message lors d'une expetion

---
 ui/src/locales/en.json | 2 +-
 ui/src/locales/fr.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json
index 89125b1bf..7cad9f0b9 100644
--- a/ui/src/locales/en.json
+++ b/ui/src/locales/en.json
@@ -212,7 +212,7 @@
         "unrecognizedProperty": "Error in line <code>{lineNumber}</code> (column : <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, is not a known property. <br>Known properties : <code>{knownProperties}</code>",
         "unsupportedVersion": "YAML files with version <code>{actualVersion}</code> aren't currently managed, expected version : <code>{expectedVersion}</code>",
         "variableInMultipleDataGroup": "Variable <code>{variable}</code> is declared in several data groups, it needs to be only in one",
-        "expetion": "The translation string is missing for your error contact the administrators: "
+        "expetion": "The translation string for the following error is missing. Please verify that this is not an indentation problem before contacting the administrators. "
     },
     "referencesManagement":{
         "actions":"Actions",
diff --git a/ui/src/locales/fr.json b/ui/src/locales/fr.json
index f6014a3c9..29a2aa01e 100644
--- a/ui/src/locales/fr.json
+++ b/ui/src/locales/fr.json
@@ -212,7 +212,7 @@
         "unrecognizedProperty": "Erreur à la ligne <code>{lineNumber}</code> (colonne <code>{columnNumber}</code>) : <code>{unknownPropertyName}</code>, c’est pas une propriété reconnue. Les propriétés reconnues sont <code>{knownProperties}</code>",
         "unsupportedVersion": "Les fichiers YAML de version <code>{actualVersion}</code> ne sont pas gérés, version attendue <code>{expectedVersion}</code>",
         "variableInMultipleDataGroup": "La variable <code>{variable}</code> est déclarée dans plusieurs groupes de données, elle ne doit être présente que dans un groupe",
-        "expetion": "Il manque la chaine de traduction pour l'erreur suivante. Merci de vérifiez que ce n'est pas un problème d'indantation  avant de contacter les administrateurs. "
+        "expetion": "Il manque la chaine de traduction pour l'erreur suivante. Merci de vérifiez que ce n'est pas un problème d'indantation avant de contacter les administrateurs. "
     },
     "referencesManagement": {
         "actions": "Actions",
-- 
GitLab


From b183757974b51ea719dc0b5362902fe97e08df86 Mon Sep 17 00:00:00 2001
From: lucile varloteaux <lucile.varloteaux@inrae.fr>
Date: Fri, 29 Apr 2022 12:16:18 +0200
Subject: [PATCH 09/10] affichage message lors d'une exception

---
 ui/src/views/application/ApplicationCreationView.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ui/src/views/application/ApplicationCreationView.vue b/ui/src/views/application/ApplicationCreationView.vue
index 196ebbbb2..cebd2fc1d 100644
--- a/ui/src/views/application/ApplicationCreationView.vue
+++ b/ui/src/views/application/ApplicationCreationView.vue
@@ -117,7 +117,7 @@
               class="mt-4"
             >
               <span v-if="msg.mess" v-html="msg.mess" class="columns" style="margin: 10px; font-weight: bold"/>
-              <span v-if="msg.param" class="columns" style="margin: 0">{{ msg.param }}</span>
+              <span v-if="msg.param" class="columns" style="margin: 0;"><p style=" width: 1650px">{{ msg.param }}</p></span>
               <span v-else v-html="msg" />
             </b-message>
           </div>
@@ -193,7 +193,7 @@ export default class ApplicationCreationView extends Vue {
           if (this.errorsService.getErrorsMessages(response.validationCheckResults)[i] === this.$t("errors.expetion")) {
             this.error[i] = {...this.error[i],
               mess: this.errorsService.getErrorsMessages(response.validationCheckResults)[i],
-              param: response.validationCheckResults[i].message};
+              param: response.validationCheckResults[i].message.toString().split()};
             this.errorsMessages.push(this.error[i]);
           } else {
             this.errorsMessages = this.errorsService.getErrorsMessages(response.validationCheckResults);
-- 
GitLab


From 41f872f00fc36069ff34ea54bcb946785b491d98 Mon Sep 17 00:00:00 2001
From: TCHERNIATINSKY <philippe.tcherniatinsky@inrae.fr>
Date: Wed, 4 May 2022 11:35:54 +0200
Subject: [PATCH 10/10] Correction de tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Correction createApplication
- Ajout d'un test sur le dépôt de fichiers invalides
---
 .../ApplicationConfigurationServiceTest.java  | 164 +++++++++++-------
 .../fixtures/applications/errors/errors.json  |   1 +
 .../integration/createApplication_spec.js     |  58 ++++++-
 ui/cypress/integration/errors_test.js         |  48 +++++
 4 files changed, 204 insertions(+), 67 deletions(-)
 create mode 100644 ui/cypress/fixtures/applications/errors/errors.json
 create mode 100644 ui/cypress/integration/errors_test.js

diff --git a/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java b/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java
index b31314b5f..dc5437bf4 100644
--- a/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java
+++ b/src/test/java/fr/inra/oresing/rest/ApplicationConfigurationServiceTest.java
@@ -1,11 +1,13 @@
 package fr.inra.oresing.rest;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import fr.inra.oresing.OreSiNg;
 import fr.inra.oresing.OreSiTechnicalException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
+import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -21,10 +23,11 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.context.support.DirtiesContextTestExecutionListener;
 
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
 import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -44,6 +47,50 @@ public class ApplicationConfigurationServiceTest {
     @Autowired
     private ApplicationConfigurationService service;
 
+    public static final Map<String, BadApplicationConfigurationException> configurationParsingResults = new HashMap<>();
+
+    @AfterClass
+    public static void registerErrors() throws IOException {
+        final Map<String, ConfigurationParsingResult> collect = configurationParsingResults.entrySet()
+                .stream().filter(e -> !e.getValue().getConfigurationParsingResult().isValid())
+                .collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue().getConfigurationParsingResult()));
+        final String errorsAsString = new ObjectMapper().writeValueAsString(collect);
+        File errorsFile = new File("ui/cypress/fixtures/applications/errors/errors.json");
+        log.debug(errorsFile.getAbsolutePath());
+        BufferedWriter writer = new BufferedWriter(new FileWriter(errorsFile));
+        writer.write(errorsAsString);
+        writer.close();
+    }
+
+    private ConfigurationParsingResult getConfigurationParsingResult(String methodName, byte[] bytes) {
+        final ConfigurationParsingResult configurationParsingResult = service.parseConfigurationBytes(bytes);
+        try {
+            BadApplicationConfigurationException.check(configurationParsingResult);
+        } catch (BadApplicationConfigurationException e) {
+            configurationParsingResults.put(methodName, e);
+        }
+        return configurationParsingResult;
+
+    }
+
+    private ConfigurationParsingResult parseYaml(String methodName, String toReplace, String by) {
+        ConfigurationParsingResult configurationParsingResult;
+        try (InputStream configurationFile = getClass().getResourceAsStream(fixtures.getValidationApplicationConfigurationResourceName())) {
+            String yaml = IOUtils.toString(configurationFile, StandardCharsets.UTF_8);
+            String wrongYaml = yaml.replace(toReplace, by);
+            byte[] bytes = wrongYaml.getBytes(StandardCharsets.UTF_8);
+            configurationParsingResult = service.parseConfigurationBytes(bytes);
+            try {
+                BadApplicationConfigurationException.check(configurationParsingResult);
+            } catch (BadApplicationConfigurationException e) {
+                configurationParsingResults.put(methodName, e);
+            }
+            return configurationParsingResult;
+        } catch (IOException e) {
+            throw new OreSiTechnicalException("impossible de lire le fichier de test", e);
+        }
+    }
+
     @Test
     public void parseConfigurationFile() {
         ImmutableSet.of(
@@ -74,23 +121,10 @@ public class ApplicationConfigurationServiceTest {
         }
     }
 
-    private ConfigurationParsingResult parseYaml(String toReplace, String by) {
-        ConfigurationParsingResult configurationParsingResult;
-        try (InputStream configurationFile = getClass().getResourceAsStream(fixtures.getValidationApplicationConfigurationResourceName())) {
-            String yaml = IOUtils.toString(configurationFile, StandardCharsets.UTF_8);
-            String wrongYaml = yaml.replace(toReplace, by);
-            byte[] bytes = wrongYaml.getBytes(StandardCharsets.UTF_8);
-            configurationParsingResult = service.parseConfigurationBytes(bytes);
-            return configurationParsingResult;
-        } catch (IOException e) {
-            throw new OreSiTechnicalException("impossible de lire le fichier de test", e);
-        }
-    }
-
     @Test
     public void testEmptyFile() {
         byte[] bytes = "".getBytes(StandardCharsets.UTF_8);
-        ConfigurationParsingResult configurationParsingResult = service.parseConfigurationBytes(bytes);
+        ConfigurationParsingResult configurationParsingResult = getConfigurationParsingResult("testEmptyFile", bytes);
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -99,7 +133,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingReferenceForChecker() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("refType: sites", "");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingReferenceForChecker", "refType: sites", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         List<ValidationCheckResult> validationCheckResults = configurationParsingResult.getValidationCheckResults();
         ValidationCheckResult missingReferenceForChecker = Iterables.find(validationCheckResults, vcr -> "missingReferenceForChecker".equals(vcr.getMessage()));
@@ -111,7 +145,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingVariableComponentForUniqueness() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml(
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingVariableComponentForUniqueness",
                 "- variable: date\n" +
                         "        component: day",
                 "- variable: date\n" +
@@ -128,7 +162,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingInternationalizedColumn() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("internationalizedColumns:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingInternationalizedColumn", "internationalizedColumns:\n" +
                 "      nom du projet_key:", "internationalizedColumns:\n" +
                 "      nom du projet_unknown:");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -139,7 +173,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnknownReferenceForChecker() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("refType: sites", "refType: sitee");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnknownReferenceForChecker", "refType: sites", "refType: sitee");
         Assert.assertFalse(configurationParsingResult.isValid());
         List<ValidationCheckResult> validationCheckResults = configurationParsingResult.getValidationCheckResults();
         ValidationCheckResult unknownReferenceForChecker = Iterables.find(validationCheckResults, vcr -> "unknownReferenceForChecker".equals(vcr.getMessage()));
@@ -151,7 +185,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnsupportedVersion() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("version: 1", "version: -1");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnsupportedVersion", "version: 1", "version: -1");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -160,7 +194,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnknownReferenceInCompositeReference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("- reference: typeSites", "- reference: typeDeSites");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnknownReferenceInCompositeReference", "- reference: typeSites", "- reference: typeDeSites");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -169,7 +203,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingReferenceInCompositereference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("- reference: typeSites", "- reference: ");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingReferenceInCompositereference", "- reference: typeSites", "- reference: ");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -178,7 +212,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testRequiredReferenceInCompositeReferenceForParentKeyColumn() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("- reference: typeSites", "");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testRequiredReferenceInCompositeReferenceForParentKeyColumn", "- reference: typeSites", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -187,7 +221,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testRequiredParentKeyColumnInCompositeReferenceForReference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("parentKeyColumn: \"nom du type de site\"\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testRequiredParentKeyColumnInCompositeReferenceForReference", "parentKeyColumn: \"nom du type de site\"\n" +
                 "        ", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
@@ -197,7 +231,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingParentColumnForReferenceInCompositeReference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("- parentKeyColumn: \"nom du site\"", "");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingParentColumnForReferenceInCompositeReference", "- parentKeyColumn: \"nom du site\"", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         boolean hasError = configurationParsingResult.getValidationCheckResults()
                 .stream()
@@ -207,7 +241,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingParentRecursiveKeyColumnForReferenceInCompositeReference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("parentKeyColumn: \"nom du site\"\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingParentRecursiveKeyColumnForReferenceInCompositeReference", "parentKeyColumn: \"nom du site\"\n" +
                 "        ", "parentKeyColumn: \"nom du site\"\n" +
                 "        parentRecursiveKey: \"nom du parent\"\n" +
                 "        ");
@@ -219,7 +253,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUndeclaredDataGroupForVariable() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("data:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUndeclaredDataGroupForVariable", "data:\n" +
                 "            - localization", "data:\n" +
                 "            - localizations");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -233,7 +267,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testVariableInMultipleDataGroup() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("data:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testVariableInMultipleDataGroup", "data:\n" +
                 "            - Couleur des individus", "data:\n" +
                 "            - localization\n" +
                 "            - Couleur des individus");
@@ -245,7 +279,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testRecordInvalidKeyColumns() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("columns:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testRecordInvalidKeyColumns", "columns:\n" +
                 "      nom du projet_key:", "columns:\n" +
                 "      nom du Projet_key:");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -263,7 +297,7 @@ public class ApplicationConfigurationServiceTest {
      *  on peut omettre le timescope
      */
     public void testMissingTimeScopeVariableComponentKey() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("component: site\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingTimeScopeVariableComponentKey", "component: site\n" +
                 "      timeScope:\n" +
                 "        variable: date\n" +
                 "        component: day", "component: site\n");
@@ -275,7 +309,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeScopeVariableComponentKeyMissingVariable() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("timeScope:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeScopeVariableComponentKeyMissingVariable", "timeScope:\n" +
                 "        variable: date\n" +
                 "        component: day", "timeScope:\n" +
                 "        component: day");
@@ -287,7 +321,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeScopeVariableComponentKeyUnknownVariable() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("timeScope:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeScopeVariableComponentKeyUnknownVariable", "timeScope:\n" +
                 "        variable: date\n" +
                 "        component: day", "timeScope:\n" +
                 "        variable: dates\n" +
@@ -300,7 +334,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeVariableComponentKeyMissingComponent() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("timeScope:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeVariableComponentKeyMissingComponent", "timeScope:\n" +
                 "        variable: date\n" +
                 "        component: day", "timeScope:\n" +
                 "        variable: date\n" +
@@ -313,7 +347,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeVariableComponentKeyUnknownComponent() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("timeScope:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeVariableComponentKeyUnknownComponent", "timeScope:\n" +
                 "        variable: date\n" +
                 "        component: day", "timeScope:\n" +
                 "        variable: date\n" +
@@ -326,7 +360,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeScopeVariableComponentWrongChecker() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("checker:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeScopeVariableComponentWrongChecker", "checker:\n" +
                 "              name: Date", "checker:\n" +
                 "              name: Dates");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -355,7 +389,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testTimeScopeVariableComponentPatternUnknown() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("params:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testTimeScopeVariableComponentPatternUnknown", "params:\n" +
                 "                pattern: dd/MM/yyyy", "params:\n" +
                 "                pattern: dd/MM");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -366,7 +400,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnrecognizedProperty() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("compositeReferences", "compositReference");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnrecognizedProperty", "compositeReferences", "compositReference");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -378,7 +412,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testInvalidFormat() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("firstRowLine: 3", "firstRowLine: pas_un_chiffre");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testInvalidFormat", "firstRowLine: 3", "firstRowLine: pas_un_chiffre");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -387,7 +421,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingRequiredExpression() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("\"true\"", "");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingRequiredExpression", "\"true\"", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -396,7 +430,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testIllegalGroovyExpression() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("\"true\"", "if(}");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testIllegalGroovyExpression", "\"true\"", "if(}");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -405,7 +439,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnknownCheckerName() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("name: GroovyExpression", "name: GroovyExpressions");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnknownCheckerName", "name: GroovyExpression", "name: GroovyExpressions");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -414,7 +448,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testCsvBoundToUnknownVariable() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("header: \"typeSite\"\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testCsvBoundToUnknownVariable", "header: \"typeSite\"\n" +
                 "          boundTo:\n" +
                 "            variable: localization", "header: \"typeSite\"\n" +
                 "          boundTo:\n" +
@@ -427,7 +461,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testCsvBoundToUnknownVariableComponent() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("components:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testCsvBoundToUnknownVariableComponent", "components:\n" +
                 "          site:", "components:\n" +
                 "          sites:");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -441,7 +475,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testInvalidKeyColumns() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("keyColumns: [nom du projet_key]", "keyColumns: [nom du projet_clé]");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testInvalidKeyColumns", "keyColumns: [nom du projet_key]", "keyColumns: [nom du projet_clé]");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -450,7 +484,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingColumnInInternationalizationDisplayPattern() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("'{nom du site_fr}'", "'{nom du site}'");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingColumnInInternationalizationDisplayPattern", "'{nom du site_fr}'", "'{nom du site}'");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -461,7 +495,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUnknownReferenceInInternationalizationDisplayPatternInDatatype() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("internationalizationDisplays:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUnknownReferenceInInternationalizationDisplayPatternInDatatype", "internationalizationDisplays:\n" +
                 "      sites:", "internationalizationDisplays:\n" +
                 "      plateforme:");
         Assert.assertFalse(configurationParsingResult.isValid());
@@ -472,7 +506,7 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testMissingColumnInInternationalizationDisplayPatternInDatatype() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("'{nom du site_fr}'", "'{nom du site}'");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingColumnInInternationalizationDisplayPatternInDatatype", "'{nom du site_fr}'", "'{nom du site}'");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -483,19 +517,19 @@ public class ApplicationConfigurationServiceTest {
 
     @Test
     public void testUndeclaredValueForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("value: \"value\"", "value: null");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testUndeclaredValueForChart", "value: \"value\"", "value: null");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
         Assert.assertEquals("unDeclaredValueForChart", onlyError.getMessage());
         Assert.assertTrue((onlyError.getMessageParams().get("variable")).equals("Nombre d'individus"));
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("components")).equals(Set.of("value","unit","standardDeviation")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("components")).equals(Set.of("value", "unit", "standardDeviation")));
     }
 
     @Test
     public void testMissingValueComponentForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("value: \"value\"", "value: \"nonvalue\"");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingValueComponentForChart", "value: \"value\"", "value: \"nonvalue\"");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -503,12 +537,12 @@ public class ApplicationConfigurationServiceTest {
         Assert.assertTrue((onlyError.getMessageParams().get("variable")).equals("Nombre d'individus"));
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
         Assert.assertTrue((onlyError.getMessageParams().get("valueComponent")).equals("nonvalue"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("components")).equals(Set.of("value","unit","standardDeviation")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("components")).equals(Set.of("value", "unit", "standardDeviation")));
     }
 
     @Test
     public void testMissingAggregationVariableForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("aggregation:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingAggregationVariableForChart", "aggregation:\n" +
                 "            variable: Couleur des individus\n" +
                 "            component: value", "aggregation:\n" +
                 "            variable: pasdevariable\n" +
@@ -521,12 +555,12 @@ public class ApplicationConfigurationServiceTest {
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
         Assert.assertTrue((onlyError.getMessageParams().get("aggregationVariable")).equals("pasdevariable"));
         Assert.assertTrue((onlyError.getMessageParams().get("aggregationComponent")).equals("value"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("variables")).equals(Set.of("date","localization","Couleur des individus","Nombre d'individus")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("variables")).equals(Set.of("date", "localization", "Couleur des individus", "Nombre d'individus")));
     }
 
     @Test
     public void testMissingAggregationComponentForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("aggregation:\n" +
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingAggregationComponentForChart", "aggregation:\n" +
                 "            variable: Couleur des individus\n" +
                 "            component: value", "aggregation:\n" +
                 "            variable: Couleur des individus\n" +
@@ -539,12 +573,12 @@ public class ApplicationConfigurationServiceTest {
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
         Assert.assertTrue((onlyError.getMessageParams().get("aggregationVariable")).equals("Couleur des individus"));
         Assert.assertTrue((onlyError.getMessageParams().get("aggregationComponent")).equals("pasdevalue"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("components")).equals(Set.of("value","unit","standardDeviation")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("components")).equals(Set.of("value", "unit", "standardDeviation")));
     }
 
     @Test
     public void testMissingStandardDeviationComponentForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("standardDeviation: \"standardDeviation\"", "standardDeviation: \"badstandardDeviation\"");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingStandardDeviationComponentForChart", "standardDeviation: \"standardDeviation\"", "standardDeviation: \"badstandardDeviation\"");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -552,12 +586,12 @@ public class ApplicationConfigurationServiceTest {
         Assert.assertTrue((onlyError.getMessageParams().get("variable")).equals("Nombre d'individus"));
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
         Assert.assertTrue((onlyError.getMessageParams().get("standardDeviation")).equals("badstandardDeviation"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("components")).equals(Set.of("value","unit","standardDeviation")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("components")).equals(Set.of("value", "unit", "standardDeviation")));
     }
 
     @Test
     public void testMissingUnitComponentForChart() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("unit: \"unit\"", "unit: \"badunit\"");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingUnitComponentForChart", "unit: \"unit\"", "unit: \"badunit\"");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -565,18 +599,18 @@ public class ApplicationConfigurationServiceTest {
         Assert.assertTrue((onlyError.getMessageParams().get("variable")).equals("Nombre d'individus"));
         Assert.assertTrue((onlyError.getMessageParams().get("dataType")).equals("site"));
         Assert.assertTrue((onlyError.getMessageParams().get("unit")).equals("badunit"));
-        Assert.assertTrue(((Set)onlyError.getMessageParams().get("components")).equals(Set.of("value","unit","standardDeviation")));
+        Assert.assertTrue(((Set) onlyError.getMessageParams().get("components")).equals(Set.of("value", "unit", "standardDeviation")));
     }
 
     @Test
-    public void testvalid(){
-        ConfigurationParsingResult configurationParsingResult = parseYaml("","");
+    public void testvalid() {
+        ConfigurationParsingResult configurationParsingResult = parseYaml("", "", "");
         Assert.assertTrue(configurationParsingResult.isValid());
     }
 
     @Test
     public void testMissingKeyColumnsForReference() {
-        ConfigurationParsingResult configurationParsingResult = parseYaml("keyColumns: [nom du projet_key]", "");
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testMissingKeyColumnsForReference", "keyColumns: [nom du projet_key]", "");
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -595,7 +629,7 @@ public class ApplicationConfigurationServiceTest {
                 "              params:\n" +
                 "                pattern: dd/MM/yyyy\n" +
                 "                refType: peu_importe_refType_n_a_pas_de_sens";
-        ConfigurationParsingResult configurationParsingResult = parseYaml(toReplace, replacement);
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testIllegalCheckerConfigurationParameterForVariableComponentChecker", toReplace, replacement);
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
@@ -614,7 +648,7 @@ public class ApplicationConfigurationServiceTest {
                 "              params:\n" +
                 "                refType: sites";
         String replacement = "";
-        ConfigurationParsingResult configurationParsingResult = parseYaml(toReplace, replacement);
+        ConfigurationParsingResult configurationParsingResult = parseYaml("testauthorizationScopeMissingReferenceCheckerForAuthorizationScope", toReplace, replacement);
         Assert.assertFalse(configurationParsingResult.isValid());
         ValidationCheckResult onlyError = Iterables.getOnlyElement(configurationParsingResult.getValidationCheckResults());
         log.debug(onlyError.getMessage());
diff --git a/ui/cypress/fixtures/applications/errors/errors.json b/ui/cypress/fixtures/applications/errors/errors.json
new file mode 100644
index 000000000..292290b2e
--- /dev/null
+++ b/ui/cypress/fixtures/applications/errors/errors.json
@@ -0,0 +1 @@
+{"testMissingValueComponentForChart":{"validationCheckResults":[{"level":"ERROR","message":"missingValueComponentForChart","messageParams":{"variable":"Nombre d'individus","valueComponent":"nonvalue","dataType":"site","components":["value","unit","standardDeviation"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"nonvalue","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testCsvBoundToUnknownVariableComponent":{"validationCheckResults":[{"level":"ERROR","message":"unknownUsedAsVariableComponentUniqueness","messageParams":{"dataType":"site","unknownUsedAsVariableComponentUniqueness":["localization_site"],"availableVariableComponents":["Nombre d'individus_value","date_time","Nombre d'individus_unit","Nombre d'individus_standardDeviation","localization_typeSite","date_day","localization_sites","Couleur des individus_value"]},"error":true,"success":false},{"level":"ERROR","message":"authorizationVariableComponentKeyUnknownComponent","messageParams":{"variable":"localization","component":"site","knownComponents":["sites","typeSite"]},"error":true,"success":false},{"level":"ERROR","message":"csvBoundToUnknownVariableComponent","messageParams":{"header":"site","variable":"localization","component":"site","components":["sites","typeSite"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"sites":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeScopeVariableComponentWrongChecker":{"validationCheckResults":[{"level":"ERROR","message":"unknownCheckerNameForVariableComponent","messageParams":{"datatype":"site","variable":"date","component":"day","checkerName":"Dates","knownCheckerNames":["Date","Float","Integer","RegularExpression","Reference"]},"error":true,"success":false},{"level":"ERROR","message":"unknownCheckerNameForVariableComponent","messageParams":{"datatype":"site","variable":"date","component":"time","checkerName":"Dates","knownCheckerNames":["Date","Float","Integer","RegularExpression","Reference"]},"error":true,"success":false},{"level":"ERROR","message":"timeScopeVariableComponentWrongChecker","messageParams":{"variable":"date","component":"day","expectedChecker":"Date"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Dates","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Dates","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnknownReferenceInInternationalizationDisplayPatternInDatatype":{"validationCheckResults":[{"level":"ERROR","message":"unknownReferenceInDatatypeReferenceDisplay","messageParams":{"dataType":"site","reference":"plateforme","references":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"plateforme":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"plateforme":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testRequiredReferenceInCompositeReferenceForParentKeyColumn":{"validationCheckResults":[{"level":"ERROR","message":"requiredReferenceInCompositeReferenceForParentKeyColumn","messageParams":{"compositeReference":"localizations","parentKeyColumn":"nom du type de site"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeScopeVariableComponentKeyMissingVariable":{"validationCheckResults":[{"level":"ERROR","message":"timeScopeVariableComponentKeyMissingVariable","messageParams":{"dataType":"site","variables":["date","localization","Couleur des individus","Nombre d'individus"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":null,"component":"day","id":"null_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testCsvBoundToUnknownVariable":{"validationCheckResults":[{"level":"ERROR","message":"csvBoundToUnknownVariable","messageParams":{"header":"typeSite","variable":"localizations","variables":["date","localization","Couleur des individus","Nombre d'individus"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localizations","component":"typeSite","id":"localizations_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingReferenceForChecker":{"validationCheckResults":[{"level":"ERROR","message":"missingReferenceForChecker","messageParams":{"dataType":"site","datum":"localization","component":"site","references":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false},{"level":"ERROR","message":"authorizationScopeVariableComponentReftypeNull","messageParams":{"variable":"localization","component":"site","knownPatterns":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":null},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnknownReferenceInCompositeReference":{"validationCheckResults":[{"level":"ERROR","message":"unknownReferenceInCompositeReference","messageParams":{"compositeReference":"localizations","unknownReferences":["typeDeSites"],"references":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeDeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeScopeVariableComponentPatternUnknown":{"validationCheckResults":[{"level":"ERROR","message":"timeScopeVariableComponentPatternUnknown","messageParams":{"variable":"date","component":"day","pattern":"dd/MM","knownPatterns":["MM/yyyy","yyyy","dd/MM/yyyy","dd/MM/yyyy HH:mm:ss"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testRequiredParentKeyColumnInCompositeReferenceForReference":{"validationCheckResults":[{"level":"ERROR","message":"requiredParentKeyColumnInCompositeReferenceForReference","messageParams":{"compositeReference":"localizations","reference":"sites","referenceTo":"typeSites"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeVariableComponentKeyMissingComponent":{"validationCheckResults":[{"level":"ERROR","message":"timeVariableComponentKeyMissingComponent","messageParams":{"dataType":"site","variable":"date","knownComponents":["day","time"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":null,"id":"date_null","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeScopeVariableComponentKeyUnknownVariable":{"validationCheckResults":[{"level":"ERROR","message":"timeScopeVariableComponentKeyUnknownVariable","messageParams":{"variable":"dates","knownVariables":["date","localization","Couleur des individus","Nombre d'individus"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"dates","component":"day","id":"dates_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testIllegalGroovyExpression":{"validationCheckResults":[{"level":"ERROR","message":"illegalGroovyExpressionForValidationRuleInDataType","messageParams":{"lineValidationRuleKey":"exempledeDeRegleDeValidation","dataType":"site","expression":"if(}","compilationError":{"lineNumber":-1,"columnNumber":-1,"message":"startup failed:\nScript7.groovy: 1: unexpected token: } @ line 1, column 4.\n   if(}\n      ^\n\n1 error\n"}},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"if(}","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testVariableInMultipleDataGroup":{"validationCheckResults":[{"level":"ERROR","message":"variableInMultipleDataGroup","messageParams":{"variable":"localization"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["localization","Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingParentRecursiveKeyColumnForReferenceInCompositeReference":{"validationCheckResults":[{"level":"ERROR","message":"missingParentRecursiveKeyColumnForReferenceInCompositeReference","messageParams":{"compositeReference":"localizations","reference":"plateformes","parentRecursiveKey":"nom du parent"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":"nom du parent"}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingVariableComponentForUniqueness":{"validationCheckResults":[{"level":"ERROR","message":"unknownUsedAsVariableComponentUniqueness","messageParams":{"dataType":"site","unknownUsedAsVariableComponentUniqueness":["date_jour"],"availableVariableComponents":["Nombre d'individus_value","date_time","localization_site","Nombre d'individus_unit","Nombre d'individus_standardDeviation","localization_typeSite","date_day","Couleur des individus_value"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"jour","id":"date_jour","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingAggregationVariableForChart":{"validationCheckResults":[{"level":"ERROR","message":"missingAggregationVariableForChart","messageParams":{"variable":"Nombre d'individus","aggregationVariable":"pasdevariable","aggregationComponent":"value","dataType":"site","variables":["date","localization","Couleur des individus","Nombre d'individus"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"pasdevariable","component":"value","id":"pasdevariable_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnknownCheckerName":{"validationCheckResults":[{"level":"ERROR","message":"unknownCheckerNameForValidationRuleInDataType","messageParams":{"lineValidationRuleKey":"exempledeDeRegleDeValidation","dataType":"site","allCheckerNames":["Date","Float","Integer","RegularExpression","Reference","GroovyExpression"],"checkerName":"GroovyExpressions"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpressions","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testTimeVariableComponentKeyUnknownComponent":{"validationCheckResults":[{"level":"ERROR","message":"timeVariableComponentKeyUnknownComponent","messageParams":{"variable":"date","component":"days","knownComponents":["day","time"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"days","id":"date_days","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingUnitComponentForChart":{"validationCheckResults":[{"level":"ERROR","message":"missingUnitComponentForChart","messageParams":{"variable":"Nombre d'individus","unit":"badunit","dataType":"site","components":["value","unit","standardDeviation"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"badunit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testauthorizationScopeMissingReferenceCheckerForAuthorizationScope":{"validationCheckResults":[{"level":"ERROR","message":"authorizationScopeMissingReferenceCheckerForAuthorizationScope","messageParams":{"authorizationScopeName":"localization","variable":"localization","component":"site","dataType":"site"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":null,"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingInternationalizedColumn":{"validationCheckResults":[{"level":"ERROR","message":"invalidInternationalizedColumns","messageParams":{"reference":"projets","unknownUsedAsInternationalizedColumns":["nom du projet_unknown"],"knownColumns":["nom du projet_key","nom du projet_fr","nom du projet_en","description du projet_fr","description du projet_en"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_unknown":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_unknown":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingKeyColumnsForReference":{"validationCheckResults":[{"level":"ERROR","message":"missingKeyColumnsForReference","messageParams":{"reference":"projets"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":[],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUndeclaredDataGroupForVariable":{"validationCheckResults":[{"level":"ERROR","message":"unknownVariablesInDataGroup","messageParams":{"dataGroup":"referentiel","unknownVariables":["localizations"],"variables":["date","localization","Couleur des individus","Nombre d'individus"]},"error":true,"success":false},{"level":"ERROR","message":"undeclaredDataGroupForVariable","messageParams":{"variable":"localization"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["date","localizations"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testRecordInvalidKeyColumns":{"validationCheckResults":[{"level":"ERROR","message":"invalidKeyColumns","messageParams":{"reference":"projets","unknownUsedAsKeyElementColumns":["nom du projet_key"],"knownColumns":["nom du Projet_key","nom du projet_fr","nom du projet_en","description du projet_fr","description du projet_en"]},"error":true,"success":false},{"level":"ERROR","message":"invalidInternationalizedColumns","messageParams":{"reference":"projets","unknownUsedAsInternationalizedColumns":["nom du projet_key"],"knownColumns":["nom du Projet_key","nom du projet_fr","nom du projet_en","description du projet_fr","description du projet_en"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du Projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnsupportedVersion":{"validationCheckResults":[{"level":"ERROR","message":"unsupportedVersion","messageParams":{"actualVersion":-1,"expectedVersion":1},"error":true,"success":false}],"result":null,"valid":false},"testMissingColumnInInternationalizationDisplayPatternInDatatype":{"validationCheckResults":[{"level":"ERROR","message":"invalidInternationalizedColumns","messageParams":{"reference":"sites","unknownUsedAsInternationalizedColumns":["nom du site"],"knownColumns":["nom du type de site","nom du site_key","nom du site_fr","nom du site_en","description du site_fr","description du site_en","code sandre du Plan d'eau","code sandre de la Masse d'eau plan d'eau"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUndeclaredValueForChart":{"validationCheckResults":[{"level":"ERROR","message":"unDeclaredValueForChart","messageParams":{"variable":"Nombre d'individus","dataType":"site","components":["value","unit","standardDeviation"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":null,"aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnknownReferenceForChecker":{"validationCheckResults":[{"level":"ERROR","message":"unknownReferenceForChecker","messageParams":{"dataType":"site","datum":"localization","refType":"sitee","component":"site","references":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false},{"level":"ERROR","message":"authorizationScopeVariableComponentReftypeUnknown","messageParams":{"variable":"localization","component":"site","refType":"sitee","knownPatterns":["units","sites","typeSites","plateformes","projets"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sitee","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testInvalidFormat":{"validationCheckResults":[{"level":"ERROR","message":"invalidFormat","messageParams":{"lineNumber":190,"columnNumber":21,"value":"pas_un_chiffre","targetTypeName":"int"},"error":true,"success":false}],"result":null,"valid":false},"testInvalidKeyColumns":{"validationCheckResults":[{"level":"ERROR","message":"invalidKeyColumns","messageParams":{"reference":"projets","unknownUsedAsKeyElementColumns":["nom du projet_clé"],"knownColumns":["nom du projet_key","nom du projet_fr","nom du projet_en","description du projet_fr","description du projet_en"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_clé"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testIllegalCheckerConfigurationParameterForVariableComponentChecker":{"validationCheckResults":[{"level":"ERROR","message":"illegalCheckerConfigurationParameterForVariableComponentChecker","messageParams":{"dataType":"site","datum":"date","component":"day","checkerName":"Date","parameterName":"refType"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":"peu_importe_refType_n_a_pas_de_sens","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingColumnInInternationalizationDisplayPattern":{"validationCheckResults":[{"level":"ERROR","message":"invalidInternationalizedColumns","messageParams":{"reference":"sites","unknownUsedAsInternationalizedColumns":["nom du site"],"knownColumns":["nom du type de site","nom du site_key","nom du site_fr","nom du site_en","description du site_fr","description du site_en","code sandre du Plan d'eau","code sandre de la Masse d'eau plan d'eau"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testEmptyFile":{"validationCheckResults":[{"level":"ERROR","message":"emptyFile","messageParams":{},"error":true,"success":false}],"result":null,"valid":false},"testMissingStandardDeviationComponentForChart":{"validationCheckResults":[{"level":"ERROR","message":"missingStandardDeviationComponentForChart","messageParams":{"variable":"Nombre d'individus","standardDeviation":"badstandardDeviation","dataType":"site","components":["value","unit","standardDeviation"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"badstandardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testUnrecognizedProperty":{"validationCheckResults":[{"level":"ERROR","message":"unrecognizedProperty","messageParams":{"lineNumber":9,"columnNumber":3,"unknownPropertyName":"compositReference","knownProperties":["requiredAuthorizationsAttributes","internationalization","version","comment","application","references","compositeReferences","dataTypes"]},"error":true,"success":false}],"result":null,"valid":false},"testMissingRequiredExpression":{"validationCheckResults":[{"level":"ERROR","message":"missingRequiredExpressionForValidationRuleInDataType","messageParams":{"lineValidationRuleKey":"exempledeDeRegleDeValidation","dataType":"site"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":null,"references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingParentColumnForReferenceInCompositeReference":{"validationCheckResults":[{"level":"ERROR","message":"missingParentColumnForReferenceInCompositeReference","messageParams":{"compositeReference":"localizations","reference":"plateformes","parentKeyColumn":"nom du type de site"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du type de site","parentRecursiveKey":null}]},"default_0":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":null,"parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingReferenceInCompositereference":{"validationCheckResults":[{"level":"ERROR","message":"missingReferenceInCompositereference","messageParams":{"compositeReference":"localizations"},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":null,"parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false},"testMissingAggregationComponentForChart":{"validationCheckResults":[{"level":"ERROR","message":"missingAggregationComponentForChart","messageParams":{"variable":"Nombre d'individus","aggregationVariable":"Couleur des individus","aggregationComponent":"pasdevalue","dataType":"site","components":["value","unit","standardDeviation"]},"error":true,"success":false}],"result":{"requiredAuthorizationsAttributes":["localization"],"version":1,"internationalization":{"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}},"references":{"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"internationalizedValidations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizedDynamicColumns":{},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"internationalizedValidations":{}},"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizedDynamicColumns":{},"internationalizationDisplay":null,"internationalizedValidations":{}}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"authorization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}},"internationalizationDisplay":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"internationalizedValidations":{"exempledeDeRegleDeValidation":{"fr":"Juste un exemple"}}}}},"comment":null,"application":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"},"internationalizedColumns":null,"name":"Sites","version":1,"defaultLanguage":null,"internationalization":{"internationalizationName":{"fr":"Fausse application","en":"Fake application"}}},"references":{"units":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":";","keyColumns":["name"],"columns":{"name":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"sites":{"internationalizationName":{"fr":"Site","en":"Site"},"internationalizedColumns":{"nom du site_key":{"fr":"nom du site_fr","en":"nom du site_en"},"description du site_fr":{"fr":"description du site_fr","en":"description du site_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du site_fr}","en":"{nom du site_en}"}},"separator":"\u0000","keyColumns":["nom du site_key"],"columns":{"nom du type de site":null,"nom du site_key":null,"nom du site_fr":null,"nom du site_en":null,"description du site_fr":null,"description du site_en":null,"code sandre du Plan d'eau":null,"code sandre de la Masse d'eau plan d'eau":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"typeSites":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom_key"],"columns":{"nom_key":null,"nom_fr":null,"nom_en":null,"description_fr":null,"description_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"plateformes":{"internationalizationName":null,"internationalizedColumns":null,"internationalizationDisplay":null,"separator":"\u0000","keyColumns":["nom de la plateforme_key"],"columns":{"nom de la plateforme_key":null,"nom du site":null,"nom de la plateforme_fr":null,"nom de la plateforme_en":null,"latitude":null,"longitude":null,"altitude":null,"nom du type de plateforme":null,"code sandre":null,"code sandre du contexte":null},"computedColumns":{},"dynamicColumns":{},"validations":{}},"projets":{"internationalizationName":{"fr":"projet","en":"Project"},"internationalizedColumns":{"nom du projet_key":{"fr":"nom du projet_fr","en":"nom du projet_en"}},"internationalizationDisplay":{"pattern":{"fr":"{nom du projet_fr}","en":"{nom du projet_en}"}},"separator":"\u0000","keyColumns":["nom du projet_key"],"columns":{"nom du projet_key":null,"nom du projet_fr":null,"nom du projet_en":null,"description du projet_fr":null,"description du projet_en":null},"computedColumns":{},"dynamicColumns":{},"validations":{}}},"compositeReferences":{"localizations":{"internationalizationName":null,"internationalizedColumns":null,"components":[{"internationalizationName":null,"internationalizedColumns":null,"reference":"typeSites","parentKeyColumn":null,"parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"sites","parentKeyColumn":"nom du type de site","parentRecursiveKey":null},{"internationalizationName":null,"internationalizedColumns":null,"reference":"plateformes","parentKeyColumn":"nom du site","parentRecursiveKey":null}]}},"dataTypes":{"site":{"internationalizationName":{"fr":"Le site","en":"the good place"},"internationalizedColumns":null,"internationalizationDisplays":{"sites":{"pattern":{"fr":"le nom du site {nom du site_fr}","en":"the very good place {nom du site_en}"}}},"format":{"headerLine":2,"firstRowLine":3,"separator":";","columns":[{"header":"typeSite","boundTo":{"variable":"localization","component":"typeSite","id":"localization_typeSite","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"site","boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"date","boundTo":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"heure","boundTo":{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Couleur des individus","boundTo":{"variable":"Couleur des individus","component":"value","id":"Couleur des individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus valeur","boundTo":{"variable":"Nombre d'individus","component":"value","id":"Nombre d'individus_value","type":"PARAM_VARIABLE_COMPONENT_KEY"}},{"header":"Nombre d'individus ecart type","boundTo":{"variable":"Nombre d'individus","component":"standardDeviation","id":"Nombre d'individus_standardDeviation","type":"PARAM_VARIABLE_COMPONENT_KEY"}}],"repeatedColumns":[],"constants":[{"rowNumber":1,"columnNumber":2,"headerName":null,"boundTo":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"},"exportHeader":"Site"}]},"data":{"date":{"chartDescription":null,"components":{"day":{"checker":{"name":"Date","params":{"pattern":"dd/MM/yyyy","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"time":{"checker":{"name":"Date","params":{"pattern":"hh:mm:ss","refType":null,"groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"localization":{"chartDescription":null,"components":{"site":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"sites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"typeSite":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"typeSites","groovy":null,"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null}},"computedComponents":{}},"Couleur des individus":{"chartDescription":null,"components":{"value":null},"computedComponents":{}},"Nombre d'individus":{"chartDescription":{"value":"value","aggregation":{"variable":"Couleur des individus","component":"pasdevalue","id":"Couleur des individus_pasdevalue","type":"PARAM_VARIABLE_COMPONENT_KEY"},"unit":"unit","gap":null,"standardDeviation":"standardDeviation"},"components":{"value":null,"unit":{"checker":{"name":"Reference","params":{"pattern":null,"refType":"units","groovy":null,"duration":null,"transformation":{"codify":true,"groovy":null},"required":true,"multiplicity":"ONE"}},"defaultValue":null},"standardDeviation":null},"computedComponents":{}}},"validations":{"exempledeDeRegleDeValidation":{"internationalizationName":{"fr":"Juste un exemple"},"internationalizedColumns":null,"checker":{"name":"GroovyExpression","params":{"pattern":null,"refType":null,"groovy":{"expression":"true","references":[],"datatypes":[]},"duration":null,"transformation":{"codify":false,"groovy":null},"required":true,"multiplicity":"ONE"}},"variableComponents":null}},"uniqueness":[{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"date","component":"time","id":"date_time","type":"PARAM_VARIABLE_COMPONENT_KEY"},{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}],"migrations":{},"authorization":{"timeScope":{"variable":"date","component":"day","id":"date_day","type":"PARAM_VARIABLE_COMPONENT_KEY"},"authorizationScopes":{"localization":{"internationalizationName":null,"internationalizedColumns":null,"variable":"localization","component":"site","variableComponentKey":{"variable":"localization","component":"site","id":"localization_site","type":"PARAM_VARIABLE_COMPONENT_KEY"}}},"dataGroups":{"referentiel":{"internationalizationName":null,"internationalizedColumns":null,"label":"Référentiel","data":["localization","date"]},"qualitatif":{"internationalizationName":null,"internationalizedColumns":null,"label":"Données qualitatives","data":["Nombre d'individus","Couleur des individus"]}},"internationalization":{"dataGroups":{"referentiel":{"internationalizationName":null},"qualitatif":{"internationalizationName":null}},"authorizationScopes":{"localization":{"internationalizationName":null}}}},"repository":null}}},"valid":false}}
\ No newline at end of file
diff --git a/ui/cypress/integration/createApplication_spec.js b/ui/cypress/integration/createApplication_spec.js
index ccff7103e..5ffe5dfb7 100644
--- a/ui/cypress/integration/createApplication_spec.js
+++ b/ui/cypress/integration/createApplication_spec.js
@@ -17,8 +17,8 @@ describe('test create application', () => {
         cy.get('.card-header-title.createApplication').first().contains(" Créer l\'application ").click()
 
         cy.visit(Cypress.env('applicationCreation_url'))
-        cy.get('input[type = text]').first().type(nameApplication)
-            //cy.intercept('POST', 'http://localhost:8081/api/v1/applications/' + nameApplication, { fixture: testYaml }).as('btnTestYaml')
+        //cy.get('input[type = text]').first().type(nameApplication)
+        //cy.intercept('POST', 'http://localhost:8081/api/v1/applications/' + nameApplication, { fixture: testYaml }).as('btnTestYaml')
 
         cy.fixture(yamlSite).then(fileContent => {
             cy.get('input[type = "file"]').attachFile({
@@ -27,5 +27,59 @@ describe('test create application', () => {
                 mimeType: 'text/yaml'
             })
         })
+        cy.intercept(
+            'POST',
+            'http://localhost:8081/api/v1/validate-configuration', {
+                statusCode: 200,
+                body: {
+                    "validationCheckResults": [],
+                    "result": {
+                        "requiredAuthorizationsAttributes": [],
+                        "version": 1,
+                        "internationalization": {
+                            "application": {
+                                "internationalizationName": {
+                                    "fr": "application test",
+                                    "en": "test application",
+                                    "es": "el superba application"
+                                }
+                            }, "references": {}, "dataTypes": {}
+                        },
+                        "comment": null,
+                        "application": {
+                            "internationalizationName": {
+                                "fr": "application test",
+                                "en": "test application",
+                                "es": "el superba application"
+                            },
+                            "internationalizedColumns": null,
+                            "name": "applicationtest",
+                            "version": 1,
+                            "defaultLanguage": null,
+                            "internationalization": {
+                                "internationalizationName": {
+                                    "fr": "application test",
+                                    "en": "test application",
+                                    "es": "el superba application"
+                                }
+                            }
+                        },
+                        "references": {},
+                        "compositeReferences": {},
+                        "dataTypes": {}
+                    },
+                    "valid": true
+                },
+            }).as('validateResponse')
+        cy.get('.button > :nth-child(2)').first().click();
+        cy.get('.textarea').first().type("un commentaire")
+        cy.intercept(
+            'POST',
+            'http://localhost:8081/api/v1/applications/applicationtest', {
+                statusCode: 200,
+                body: {"id":"49ff0469-c277-4525-a99e-6e404fd99954"}
+            }).as('getApplicationResponse')
+        cy.get('.buttons > .button > :nth-child(2)').first().click();
+        cy.get('.columns').children().its('length').should('be.gt', 0)
     })
 })
\ No newline at end of file
diff --git a/ui/cypress/integration/errors_test.js b/ui/cypress/integration/errors_test.js
new file mode 100644
index 000000000..e9392bed1
--- /dev/null
+++ b/ui/cypress/integration/errors_test.js
@@ -0,0 +1,48 @@
+/// <reference types="Cypress" />
+
+let errors = require('../fixtures/applications/errors/errors.json');
+describe('test create application', () => {
+    beforeEach(() => {
+        cy.setLocale('fr');
+    });
+
+    it('Test creation site', () => {
+        cy.login("admin", ['applications/ore/ore_application_description.json'])
+
+        cy.get('.card-header-title.createApplication').first().contains(' Créer l\'application ').click()
+        const testYaml = 'applications/fake/fakeYaml_testCreateAplication.json'
+        const yamlSite = 'applications/sites/site.yaml'
+        const nameApplication = 'site'
+
+        cy.visit(Cypress.env('applications_url'))
+        cy.get('.card-header-title.createApplication').first().contains(" Créer l\'application ").click()
+
+        cy.visit(Cypress.env('applicationCreation_url'))
+        //cy.get('input[type = text]').first().type(nameApplication)
+        //cy.intercept('POST', 'http://localhost:8081/api/v1/applications/' + nameApplication, { fixture: testYaml }).as('btnTestYaml')
+
+        cy.fixture(yamlSite).then(fileContent => {
+            cy.get('input[type = "file"]').attachFile({
+                fileContent: fileContent.toString(),
+                fileName: yamlSite,
+                mimeType: 'text/yaml'
+            })
+        })
+        let returnErrors = {};
+        for (const methodName in errors) {
+            cy.intercept(
+                'POST',
+                'http://localhost:8081/api/v1/validate-configuration', {
+                    statusCode: 200,
+                    body: {validationCheckResults: errors[methodName].validationCheckResults}
+                }).as('validateResponse')
+            cy.get('.button > :nth-child(2)').first().click();
+            cy.get('.media-content')
+                .invoke('text')
+                .then(function(error){
+                    returnErrors[methodName]=error
+                console.log("Message d'erreur pour l'erreur " + methodName, error)
+            });
+        }
+    })
+})
\ No newline at end of file
-- 
GitLab