> For the complete documentation index, see [llms.txt](https://cleyrop.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cleyrop.gitbook.io/docs/projet-data-and-ia/datasets/gerer-les-datasets.md).

# Gérer les Datasets

Un dataset correspond à une table de données structurées que vous pouvez exploiter pour vos analyses, transformations et visualisations.

Cleyrop vous permet de créer des datasets de plusieurs manières : en important des fichiers locaux, en vous connectant à des sources de données externes, ou en exploitant les résultats de vos Dataflows.

Une fois créés, vos datasets peuvent être **rafraîchis** pour maintenir vos données à jour, **publiés au catalogue** pour les partager avec d'autres utilisateurs, ou **exposés via API** pour alimenter vos applications métier.

***

## Créer un Dataset <a href="#creer-un-dataset-depuis-un-import-local" id="creer-un-dataset-depuis-un-import-local"></a>

### Créer un Dataset depuis une Datasource <a href="#creer-un-dataset-depuis-un-import-local" id="creer-un-dataset-depuis-un-import-local"></a>

**Ajouter une Datasource au projet**

{% hint style="info" %}
Cette étape n'est pas nécessaire pour créer un dataset depuis un **import local** : cette source ne nécessite pas de Datasource ni de demande d'accès préalable.
{% endhint %}

Pour pouvoir utiliser une Datasource comme origine d'un dataset au sein d'un projet, il faut préalablement obtenir l'autorisation de pouvoir l'utiliser dans le projet.

* Depuis la bibliothèque, allez dans l'onglet `Datasources`
* Cliquez sur le bouton `Ajouter une Datasource`. Vous pouvez rechercher une Datasource dans la liste en renseignant un ou plusieurs mots-clés dans la barre de recherche ou en filtrant par sensibilité ou type de connecteur
* Cliquez sur `Demander l'accès` puis expliquez votre demande dans le champ `Commentaire` et cliquez sur `Envoyer`.

Une demande d'accès est envoyée aux Platform Managers.

Vous recevrez une notification suite au traitement de la demande pour confirmer ou non, l'accès.

**Créer le Dataset**

{% stepper %}
{% step %}
**Choisir la Datasource dans la liste des Datasources autorisées du projet**
{% endstep %}

{% step %}
**Définissez les paramètres de collecte en fonction du type de source**

{% tabs %}
{% tab title="Import Local" %}
Choisissez vos fichiers :

* soit glisser-déposer vos fichiers dans la zone prévue à cet effet
* soit cliquer sur Parcourir pour sélectionner vos fichiers

Définissez les paramètres de collecte :

* **Schéma du dataset** : il sera basé sur le schéma inféré du premier fichier. Si vous avez plusieurs fichiers vous pouvez choisir le fichier sur lequel s'appuyer pour le schéma de référence. Vous pouvez choisir d'ignorer les types, toutes les colonnes seront en string.

{% hint style="warning" %}
**Si vous importez plusieurs fichiers en même temps, la politique de schéma appliquée est la&#x20;*****fusion de schémas*****. Concrètement :**

* **Correspondance des colonnes existantes :**\
  Les colonnes portant le *même nom* que celles du schéma de référence doivent également avoir le *même type* ➝ *Si le type ne correspond pas, le fichier est rejeté.*

* **Colonnes supplémentaires ou manquantes :**\
  Des colonnes en plus ou en moins sont autorisées ➝ *Les colonnes manquantes seront simplement renseignées avec des valeurs vides.*
  {% endhint %}

* **Séparateur** : le caractère qui sépare les colonnes de votre fichier. Par défaut, le séparateur est un point virgule. *\[Cas fichiers texte avec séparateur]*&#x20;

* **En-tête** : si votre fichier contient une ligne d'en-tête, cochez cette case pour que les noms de colonnes soient automatiquement détectés *\[Cas fichiers texte avec séparateur et excel]*&#x20;

* **Chemin des éléments - Cas fichiers json**
  * Démarrer par “$” et utiliser le séparateur “.” Exemple : *$.item\[\*]*
  * Vous pouvez utiliser l'aide à la navigation pour naviguer entre niveaux et obtenir le bon chemin&#x20;

    <figure><img src="/files/btJDH3YkqFBbEI91yHOO" alt=""><figcaption></figcaption></figure>

* **Chemin des éléments - Cas fichiers xml***.* Utiliser le séparateur : “/”. Exemple : *dataset/record*

* **Feuille** : la feuille de votre fichier Excel à importer - Par défaut, la première feuille est sélectionnée *\[Cas fichiers excel]*

Définissez une configuration avancée

* **Encodage.** Par défaut, l'encodage est UTF-8
* **Compression** : si votre fichier est compressé, choisissez le type de compression - Par défaut, le fichier n'est pas compressé *\[Cas fichiers hors excel]*
* Nombre de lignes ou colonnes à ignorer *\[Cas fichiers excel]*
* Transposer le dataset *\[Cas fichiers excel]*
* **Ajouter une colonne** : avec le nom du fichier ou avec la date d'import
* Ignorer les **lignes vides**
* Ignorer les types du schema : toutes les colonnes seront au **type string** (configuration utile lorsque la cohérence entre les données et le type reconnu n'est pas assuré)

{% hint style="info" %}
Les formats texte supportés sont : `.csv`, `.txt`, `.tsv`, `.tab`, `.dsv` et `.psv`. Définissez le séparateur correspondant à votre fichier.
{% endhint %}

Vous pouvez à tout moment visualiser sur votre fichier de référence l'impact du choix des paramètres

<figure><img src="/files/54Pxg2fKsDIgdCRZvTrd" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="SQL/Snowflake" %}

* Sélectionnez les tables ou vues
* Vous pouvez prévisualiser les données (une requête select \* ... limit 50 sera envoyé à la datasource)
* **Filtrage SQL personnalisé** : à l'étape de Traitement, vous pouvez saisir une requête SQL pour n'importer qu'un sous-ensemble de données. Si le champ est vide, la table entière est importée.

{% hint style="warning" %}
**Règles de syntaxe acceptées** : Seules les requêtes simples sont prises en charge : `SELECT [colonnes] FROM [table] WHERE [condition] GROUP BY [col] ORDER BY [col] LIMIT [n]`. Les jointures et les sous-requêtes ne sont pas autorisées. La table indiquée dans le `FROM` doit correspondre à la table sélectionnée dans le formulaire.
{% endhint %}

<figure><img src="/files/s6OKBNJ8jxIAFhcv79xC" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="SFTP / Dépôt" %}

* Vous devrez définir les règles d'accès aux fichiers : chemin d'accès et règles de sélection sur le nom des fichiers.
* Suivre les mêmes étapes de configuration que [Créer un dataset depuis un import local](#creer-un-dataset-depuis-un-import-local-1)
* Lors d'un rafraîchissement du Dataset, ces paramètres seront réutilisés pour accéder aux fichiers
  {% endtab %}

{% tab title="API" %}
À l'étape **Ingestion**, vous pouvez surcharger certains paramètres définis dans la datasource :

* **Fin de l'URL (endpoint)** : précisez ou surchargez l'endpoint à appeler (ex : `/users`, `/posts`)
* **Paramètres** : ajoutez ou surchargez des paramètres de requête (ex : `limit: 100`)
* **En-têtes** : ajoutez ou surchargez des en-têtes HTTP

Vous pouvez également configurer la pagination si votre API est paginée, ainsi que la réponse JSON retournée par votre API.

<details>

<summary>Configurer la pagination</summary>

Si votre API est paginée, activez la **Pagination** et choisissez son **type** : Page based, Offset based, Cursor based, Link based, Header link based, ou OData.

Exemple Page based :

* **Nom du paramètre** : nom du paramètre de requête indiquant le numéro de page (ex : `page`)
* **Première page** : numéro de la première page (souvent `1` ou `0`)
* **Format** : définit comment l'API signale la fin de la pagination :

  * **Scroll infini** : un booléen indiquant s'il reste des éléments à récupérer est renvoyé dans la réponse
  * **Nombre de page** : le nombre total de pages est renvoyé dans la réponse (ex : `$.total_pages`)

  Dans les deux cas, renseignez le **Chemin de l'élément** correspondant : le chemin JSON Path vers cette valeur
* **Limit** (optionnel) : nom et valeur du paramètre de taille de page (ex : `limit` = `50`)

{% hint style="info" %}
Le **Chemin des éléments** (section Sortie) doit pointer vers le tableau de données, et non vers l'information de pagination (ex : `$.results`).
{% endhint %}

<figure><img src="/files/qtiOGeM1NKQXSNFUMTpE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/XOFz7dRRGPB6GjfStL8e" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Configurer la réponse JSON</summary>

Configurer la réponse JSON : vous pouvez définir comment les données JSON retournées par l'API seront interprétées :

* **Chemin des éléments (JSON Path) :** définit le point d'entrée dans la structure JSON. Il utilise la syntaxe JSON Path :
  * `$` : racine de la réponse (par défaut)
  * `$[*]` : tous les éléments d'un tableau à la racine
  * `$[*].sous_objet` : le sous-objet de chaque élément
* **Récupérer le schéma automatiquement :** cliquez sur **Récupérer le schéma** pour interroger l'API et détecter automatiquement la structure de la réponse. Le panneau Aide JSON Path affiche alors les colonnes disponibles avec leur type :
  * `#` : numérique
  * `T` : texte
  * `{}` : object JSON imbriqué
* **Naviguer dans les objets imbriqués :** lorsque votre réponse JSON contient des objets imbriqués (type `{}`), cliquez sur l'icône à droite de l'objet pour naviguer dans ses sous-champs. Le Chemin des éléments est mis à jour automatiquement.

<div><figure><img src="/files/6Ib86lw42axX3cvxsxVP" alt=""><figcaption></figcaption></figure> <figure><img src="/files/SxMB2hvwMOdzMH6BTfwE" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/SxMB2hvwMOdzMH6BTfwE" alt=""><figcaption></figcaption></figure>

</details>
{% endtab %}

{% tab title="Business Central" %}
**Étape Ingestion**

* **Société** : sélectionnez la société Business Central à interroger
* **Entité** : sélectionnez l'entité (table) à importer parmi la liste proposée

**Étape Traitement**

* **Colonnes à importer** : sélectionnez les colonnes à conserver parmi celles détectées automatiquement
* **Configuration avancée** :
  * **Filtre** : filtre au format OData (ex : `type eq 'Inventory' and blocked eq false`)
  * **Limite** : nombre maximum de lignes importées à chaque rafraîchissement (0 = pas de limite)
  * **Tri des résultats** : utile uniquement si une limite est définie, pour déterminer quelles lignes sont conservées

Vous pouvez **prévisualiser** vos données à tout moment pour vérifier l'impact de vos réglages.

<figure><img src="/files/SZydJNXjvmcAV1KTj95E" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="SalesForce" %}
**Entité** : sélectionnez l'entité (objet Salesforce) à importer parmi la liste proposée

**Étape Traitement**

* **Colonnes à importer** : sélectionnez les colonnes à conserver parmi celles détectées automatiquement
* **Configuration avancée** :
  * **Filtre** : filtre au format SOQL (ex : `Status = 'Open' AND Priority = 'High'`)
  * **Limite** : nombre maximum de lignes importées à chaque rafraîchissement (0 = pas de limite)
  * **Tri des résultats** : utile uniquement si une limite est définie, pour déterminer quelles lignes sont conservées

Vous pouvez **prévisualiser** vos données à tout moment pour vérifier l'impact de vos réglages.

<figure><img src="/files/FiEJcvV3EuKrCHQol5Nh" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Définir les paramètres de Rafraîchissement**&#x20;

* **Mode de rafraîchissement** : Ajout des nouvelles données aux données existantes ou Remplacement des données existantes par les nouvelles données
* **Fréquence de rafraîchissement** : pour automatiser selon une récurrence définie
* Si un filtrage SQL personnalisé a été configuré à la création, il est réappliqué à chaque rafraîchissement. La requête SQL utilisée est visible depuis la fiche de Rafraichissement du dataset.

{% hint style="warning" %}
**Lors d'un rafraichissement, la politique de schéma appliquée est la&#x20;*****fusion de schémas*****&#x20;:**

* **Correspondance des colonnes existantes :** Les colonnes portant le *même nom* que celles du schéma du Dataset doivent également avoir le *même type*. ➝ *Si le type ne correspond pas, le fichier est rejeté.*
* **Colonnes supplémentaires ou manquantes :** Des colonnes en plus ou en moins sont autorisées ➝ *Les colonnes manquantes seront simplement renseignées avec des valeurs vides.*
  {% endhint %}
  {% endstep %}

{% step %}
**Qualifier votre Dataset**

* **Nom** : le nom d'affichage

{% hint style="info" %}
L'ID unique du dataset est généré à partir du Nom et ne pourra plus être modifié par la suite
{% endhint %}

* **Description** : donner plus d'informations pour que les autres utilisateurs puissent comprendre le contenu du dataset
* **Responsable** : Data Owner
* **Sensibilité** :&#x20;
  * Pour un import local : vous pouvez choisir sa sensibilité. Les datasets restreints et sensibles sont visibles au catalogue mais soumis à autorisation pour être utilisés dans les projets.
  * Sinon : la sensibilité sera héritée de la sensibilité de la Datasource.
* **Classification** : la classification permet d'identifier le niveau de traitement des données et leurs usage de prédilection : bronze - brutes, silver - traitées ou gold - de référence / prêtes au usages métiers
* **Labels** : vous pouvez choisir un label dans la liste de ceux existant ou en rejouter un en l'écrivant. Vous pouvez gérer les labels en cliquant sur les ... à côté du nom d'un label

<figure><img src="/files/XKIdxSotEW1LPpEFjX8b" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### **Créer un Dataset depuis un Dataflow**

Un dataset peut être créé directement depuis un Dataflow configuré pour produire des données transformées. Vous pouvez choisir quels datasets de sortie vous souhaitez rendre disponible dans la bibliothèque de votre projet.

**Pour créer un dataset depuis un Dataflow** :

1. [Créez un Dataflow](/docs/projet-data-and-ia/dataflow/creer-un-dataflow.md) et ajoutez une transformation avec un Dataset de Sortie avec un dataset de sortie
2. Configurez votre [Dataset de sortie](/docs/projet-data-and-ia/dataflow/creer-un-dataflow/configurer-un-dataset-de-sortie.md)
3. Exécutez le Dataflow pour générer les premières données
4. Cliquez sur **Référencer** (au dessus du dataset de sortie ou depuis la fiche Détails) pour rendre le dataset de sortie disponible dans la bibliothèque du projet.
5. Après la mise en production de votre Dataflow, le dataset marqué pour référencement apparaît dans votre bibliothèque pour être utilisé dans le projet

<figure><img src="/files/EhOfGzhW4YdsOTJI1tIj" alt="" width="563"><figcaption></figcaption></figure>

Le dataset sera alimenté à chaque exécution du Dataflow. Pour en savoir plus sur l'[exécution et l'automatisation](/docs/projet-data-and-ia/dataflow/executer-deployer-et-automatiser.md) de votre Dataflow.

### Types de colonnes supportés

Chaque colonne d'un dataset possède un type, détecté automatiquement à l'import ou configurable selon la source. Les types suivants sont supportés :

<table data-search="false"><thead><tr><th>Type</th><th>Description</th><th>Exemple</th><th>Pandas</th><th>Spark SQL</th><th>Polars</th></tr></thead><tbody><tr><td><strong>Texte (String)</strong></td><td>Chaîne de caractères</td><td><code>Bonjour</code></td><td><code>object</code> / <code>string</code></td><td><code>string</code></td><td><code>Utf8</code></td></tr><tr><td><strong>Entier (Integer)</strong></td><td>Nombre entier (32 bits)</td><td><code>42</code></td><td><code>int32</code> / <code>Int32</code></td><td><code>int</code></td><td><code>Int32</code></td></tr><tr><td><strong>Entier long (Long)</strong></td><td>Nombre entier (64 bits)</td><td><code>9999999999</code></td><td><code>int64</code> / <code>Int64</code></td><td><code>bigint</code></td><td><code>Int64</code></td></tr><tr><td><strong>Décimal (Float)</strong></td><td>Virgule flottante simple précision</td><td><code>3.14</code></td><td><code>float32</code></td><td><code>float</code></td><td><code>Float32</code></td></tr><tr><td><strong>Décimal (Double)</strong></td><td>Virgule flottante double précision</td><td><code>1.5e200</code></td><td><code>float64</code></td><td><code>double</code></td><td><code>Float64</code></td></tr><tr><td><strong>Décimal exact (Decimal)</strong></td><td>Précision exacte (19 chiffres au total, 2 maximum après la virgule)</td><td><code>123456789012345.67</code></td><td><code>object</code> (Decimal)</td><td><code>decimal(19,2)</code></td><td><code>Decimal(38,s)</code></td></tr><tr><td><strong>Booléen</strong></td><td>Vrai ou faux</td><td><code>true</code> / <code>false</code></td><td><code>bool</code></td><td><code>boolean</code></td><td><code>Boolean</code></td></tr><tr><td><strong>Date</strong></td><td>Date seule, sans heure</td><td><code>2024-01-15</code></td><td><code>datetime64[ns]</code></td><td><code>date</code></td><td><code>Date</code></td></tr><tr><td><strong>Timestamp</strong></td><td>Date et heure</td><td><code>2024-01-15 10:30:00</code></td><td><code>datetime64[ns]</code></td><td><code>timestamp_ntz</code></td><td><code>Datetime("us", None)</code></td></tr><tr><td><strong>Timestamp avec fuseau horaire</strong></td><td>Date et heure avec fuseau horaire</td><td><code>2024-01-15T10:30:00Z</code></td><td><code>datetime64[ns, tz]</code></td><td><code>timestamp</code></td><td><code>Datetime("us", "UTC")</code></td></tr><tr><td><strong>Binaire (Binary)</strong></td><td>Données binaires (fichiers inline, hashes, blobs)</td><td><code>SGVsbG8=</code></td><td><code>bytes</code> / <code>object</code></td><td><code>binary</code></td><td><code>Binary</code></td></tr><tr><td><strong>Tableau (Array)</strong></td><td>Liste de valeurs typées</td><td><code>[1, 2, 3]</code></td><td><code>object</code> (list)</td><td><code>array&#x3C;...></code></td><td><code>List(inner)</code></td></tr><tr><td><strong>Structure (Struct)</strong></td><td>Données imbriquées à clés fixes</td><td><code>{"name": "Ada", "age": 36}</code></td><td><code>object</code> (dict)</td><td><code>struct&#x3C;...></code></td><td><code>Struct({...})</code></td></tr><tr><td><strong>Clés/valeurs (Map)</strong></td><td>Données imbriquées à clés dynamiques</td><td><code>{"a": 1, "b": 2}</code></td><td><code>object</code> (dict)</td><td><code>map&#x3C;k,v></code></td><td><code>List(Struct)</code> (pas de type Map natif)</td></tr></tbody></table>

{% hint style="info" %}
Le type **Binaire** n'est pas détecté automatiquement à l'import : sélectionnez-le manuellement sur la colonne concernée si nécessaire.
{% endhint %}

## Ajouter des descriptions aux colonnes

Chaque colonne d'un dataset peut être documentée avec une description textuelle pour expliquer sa signification métier, sa logique de transformation ou ses contraintes particulières.

{% hint style="info" %}
Pour les responsables du Dataset
{% endhint %}

Pour ajouter ou modifier une description:

1. Accédez à l'onglet **Schéma** de la fiche d'un dataset
2. Cliquez sur le bouton <i class="fa-pen">:pen:</i> Editer
3. Cliquez sur la colonne concernée et saisissez votre texte dans le champ **Description**.

Les descriptions sont persistantes et accessibles via l'interface et l'API. La modification d'une description n'impacte ni les données ni les pipelines.

💡 **Bon à savoir** : Pour les datasets issus de Dataflow, les descriptions peuvent être éditées en mode Brouillon. Une fois le Dataflow en production, elles ne peuvent être modifiées que depuis la fiche dataset après le merge en production, et non dans les branches de développement.

## **Rafraîchir un Dataset**

Le rafraîchissement permet de mettre à jour les données d'un dataset.

### **Rafraîchir un dataset issus de sources de données**

{% hint style="success" %}
Le rafraîchissement réapplique automatiquement la **configuration d'import** (transformations, séparateurs...).
{% endhint %}

#### **Rafraîchissement manuel**

1. Ouvrez la fiche du dataset
2. Cliquez sur l'icône <i class="fa-arrows-rotate-reverse">:arrows-rotate-reverse:</i> Rafraîchir sur la page d'accueil ou en haut à droite (visible uniquement si vous disposez des droits nécessaires)
3. Le rafraîchissement démarre immédiatement

<figure><img src="/files/oBb0H5CHD9wJGVhWlHtf" alt=""><figcaption></figcaption></figure>

#### **Rafraîchissement automatique**

Vous pouvez définir une fréquence de rafraîchissement des données à la création ou à la modification d'un dataset en cliquant sur Editer depuis la fiche Dataset (visible uniquement si vous avez les autorisations)

1. Accédez aux paramètres du dataset
2. Editer le dataset
3. Configurez la fréquence souhaitée dans la partie "Récurrence"

<figure><img src="/files/dpVhz05jLqeBvF6x4b0e" alt=""><figcaption></figcaption></figure>

### Rafraîchir un dataset issu d'un import local

Vous pouvez ajouter de nouveaux fichiers à un dataset existant en suivant un processus guidé.

**Import multi-fichiers** :

1. Ouvrez la fiche du dataset
2. Cliquez sur <i class="fa-arrows-rotate-reverse">:arrows-rotate-reverse:</i> "Rafraîchir" (visible uniquement si vous disposez des droits nécessaires)
3. Choisissez le mode de rafraîchissement pour cet import :
   1. **Append** : ajoute les nouvelles lignes aux données existantes
   2. **Replace** : remplace intégralement les données du dataset
4. Sélectionnez 1 à n fichiers à importer

{% hint style="info" %}
Les fichiers ajoutés doivent être du même type que l'import initial.
{% endhint %}

**Validation et gestion des écarts** :

Le système effectue automatiquement les vérifications suivantes pour chaque fichier :

* **Compatibilité du schéma** : vérification des types de données. En cas d'incompatibilité, un message explicite indique la colonne et, si possible, les lignes concernées.
* **Écarts de colonnes** : affichage clair des colonnes supplémentaires (présentes dans le fichier mais absentes du dataset) et des colonnes manquantes (attendues par le dataset mais absentes du fichier), avec rappel de la politique de schéma configurée.

**Aperçu de la configuration** :

Avant de valider, vous pouvez consulter :

* Les transformations qui seront appliquées
* Le séparateur utilisé
* La feuille sélectionnée (pour les fichiers Excel)

<figure><img src="/files/l7HLbCwJDusXhGk0Epe7" alt=""><figcaption></figcaption></figure>

Une fois validé, le rafraîchissement apparaît dans la liste des rafraîchissements avec :

* L'utilisateur ayant déclenché l'opération
* La liste des fichiers importés
* Les informations détaillées (configuration appliquée, statut, logs)

### Rafraîchir un dataset issu de Dataflow

Pour rafraîchir un dataset créé depuis un Dataflow, vous pouvez, si vous avez les autorisations :

* Exécuter manuellement le Dataflow source
* Définir une récurrence d'exécution
* Configurer un trigger événementiel à l'ajout d'un fichier dans les Données de travail

Pour plus d'informations, consultez la page [Exécuter, déployer et automatiser](/docs/projet-data-and-ia/dataflow/executer-deployer-et-automatiser.md).

## Surveiller les rafraîchissements

Chaque rafraîchissement génère une fiche détaillée accessible depuis la fiche du dataset > Onglet Rafraichissement > Clic sur la ligne du Rafraîchissement.

Vous pourrez y retrouver les informations suivantes :

* Le **Mode de rafraichissement** : Append ou Replace
* Nombre de **lignes** et **colonnes** traitées par étape (ingestion / transformation)
* **Configuration appliquée** : rappel des paramètres utilisés
* **Statut** :
  * ✅ **Succès** : toutes les données ont été traitées
  * ⚠️ **Attention** :
    * au moins un fichier présente un problème, mais certaines données ont été importées
    * toutes les données ont déjà été traitées
  * ❌ **Échec** : l'import n'a pas pu être réalisé
* **Logs** : détails techniques pour investiguer en cas de problème
* Liste des fichiers traités dans le cas d'un source fichier. En cas de problème sur un fichier, vous verrez apparaître <i class="fa-triangle-exclamation">:triangle-exclamation:</i> avec plus d'informations au survol de l'icone :
  * Schéma incompatible : le fichier n'a pas été importé
  * Fichier déjà traité

En cas de statut **Échec** ou **Attention**, vous pouvez afficher les logs de l'étape d'ingestion pour identifier la cause du problème.

{% hint style="info" %}
Les dates de rafraîchissement incluent désormais l'heure en plus de la date, et sont harmonisées sur tous les types de connecteurs (API, Fichier, SQL).
{% endhint %}

{% hint style="info" %}
**Bon à savoir** : Pour des raisons de performance, seule la première erreur détectée est identifiée et loguée. Le fichier complet n'est pas scanné.
{% endhint %}

<figure><img src="/files/ufe9wQVcBGC6618Coi1y" alt=""><figcaption></figcaption></figure>

### S'abonner aux alertes

1. Depuis la liste des Datasets de votre projet ou du Catalogue
2. Cliquez sur <i class="fa-bell">:bell:</i> `S'abonner` et choisir Qualité et/ou Rafraîchissement

![](/files/KVLDiAS5ZvhOqYOTAo7f)

Vous recevrez alors une notification in-app et mail à la remonté d'une alerte ou à l'échec d'un rafraîchissement. Vous pouvez retrouver l'ensemble de vos souscriptions dans l'onglet <i class="fa-gear">:gear:</i> `Gestion des notifications`.

{% hint style="info" %}
Gestion des notifications

* L'option d'abonnement aux échecs de rafraîchissement est proposée automatiquement à la création d'un Dataset
* L'abonnement aux règles de Qualité n'est proposé que si au moins une règle qualité est définie sur le dataset
* À la création d'une règle de Qualité, une invitation à s'abonner est affichée si vous n'êtes pas encore abonné
* Le propriétaire d'un Dataset peut désactiver son abonnement automatique aux règles Qualité depuis la Gestion des notifications
  {% endhint %}

## Ajouter un Dataset à la bibliothèque depuis le catalogue <a href="#ajouter-un-dataset-depuis-le-catalogue" id="ajouter-un-dataset-depuis-le-catalogue"></a>

Pour ajouter un Dataset depuis le catalogue, il faut se rendre dans le menu `Datasets`. Cliquez sur le bouton `Ajouter un Dataset` puis sur `Depuis le catalogue`. Vous pouvez rechercher un Dataset dans le catalogue en renseignant un ou plusieurs mots-clés dans la barre de recherche ou en utilisant les filtres.

* Pour les Datasets de sensibilité **Interne** cliquez sur `Ajouter` pour l'ajouter au projet.
* Pour les Dataset de sensibilité **Sensible** ou **Restreint** cliquez sur `Demander l'accès` pour demander l'accès au Dataset puis expliquez votre demande dans le champ `Commentaire` et cliquez sur `Envoyer`.

Au traitement de votre demande par un platform manager, vous recevrez une notification.

## Exporter un Dataset

Lors de l'export d'un dataset au format CSV, une fenêtre de configuration s'affiche avant le téléchargement. Vous pouvez y choisir le séparateur de colonnes et activer l'encadrement des valeurs texte par des guillemets.

**Options disponibles à l'export**

* **Séparateur** : choisissez le caractère qui séparera les colonnes dans le fichier exporté (virgule par défaut, point-virgule, tabulation, pipe, etc.).
* **Guillemets** : si activé, toutes les valeurs de type texte sont encadrées par des guillemets doubles. Les guillemets présents dans les valeurs sont automatiquement doublés (conformément à la norme RFC 4180).
