# Accueil

Point d’entrée vers les principales rubriques de la documentation.

### Utilisation de data.gouv.fr

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Créer un compte</strong><br>Publier, commenter, rejoindre une organisation.</td><td><a href="/pages/iRWJG7oFY5CiF98c44qz">/pages/iRWJG7oFY5CiF98c44qz</a></td></tr><tr><td><strong>Suivre vos publications</strong><br>Surveiller l’activité liée à vos contenus.</td><td><a href="/pages/eata2z4ZqWDqOw2renWo">/pages/eata2z4ZqWDqOw2renWo</a></td></tr></tbody></table>

### Organisations

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Rejoindre</strong><br>Se rattacher à une structure.</td><td><a href="/pages/GbgKRfXc9fxkz28zIuNf">/pages/GbgKRfXc9fxkz28zIuNf</a></td></tr><tr><td><strong>Créer</strong><br>Publier au nom d’une organisation.</td><td><a href="/pages/cGj7kCGZImmj7UxJfEVk">/pages/cGj7kCGZImmj7UxJfEVk</a></td></tr><tr><td><strong>Modifier</strong><br>Mettre à jour les infos publiques.</td><td><a href="/pages/8VF15cXwdMhBmNLoBSJ6">/pages/8VF15cXwdMhBmNLoBSJ6</a></td></tr><tr><td><strong>Membres</strong><br>Inviter, gérer les rôles et accès.</td><td><a href="/pages/TSi9ebZhaNjX8CyiKCU4">/pages/TSi9ebZhaNjX8CyiKCU4</a></td></tr><tr><td><strong>Activité</strong><br>Suivre la vie de l’organisation.</td><td><a href="/pages/yIu8K04E3D20C3l0Yerp">/pages/yIu8K04E3D20C3l0Yerp</a></td></tr><tr><td><strong>Certification</strong><br>Renforcer la confiance et la visibilité.</td><td><a href="/pages/egyFaZibPU7VCUuTGqUE">/pages/egyFaZibPU7VCUuTGqUE</a></td></tr></tbody></table>

### Jeux de données

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Publier</strong><br>Manuel, API, ou moissonnage.</td><td><a href="/pages/o1rXraQMcEozRMnXLMIT">/pages/o1rXraQMcEozRMnXLMIT</a></td></tr><tr><td><strong>Modifier</strong><br>Mettre à jour métadonnées et ressources.</td><td><a href="/pages/bturaShcU7pAKQEakGEe">/pages/bturaShcU7pAKQEakGEe</a></td></tr></tbody></table>

### API et réutilisations (catalogue)

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Publier une API</strong><br>Référencer un service de données.</td><td><a href="/pages/NDvuqn9eecYRbi2sSiHz">/pages/NDvuqn9eecYRbi2sSiHz</a></td></tr><tr><td><strong>Modifier une API</strong><br>Faire évoluer votre API.</td><td><a href="/pages/zd7XDr3A2PwEP8AO3IlX">/pages/zd7XDr3A2PwEP8AO3IlX</a></td></tr><tr><td><strong>Publier une réutilisation</strong><br>Mettre en valeur des usages.</td><td><a href="/pages/lqbFKmSP5Rsp9FVHOvRH">/pages/lqbFKmSP5Rsp9FVHOvRH</a></td></tr><tr><td><strong>Modifier une réutilisation</strong><br>Actualiser contenu et liens.</td><td><a href="/pages/lo4fZ5AeoaIVDAxG9CDd">/pages/lo4fZ5AeoaIVDAxG9CDd</a></td></tr></tbody></table>

### API de data.gouv.fr (documentation technique)

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Prise en main</strong><br>Comprendre et démarrer rapidement.</td><td><a href="/pages/F732nLSKN8oFKKR6O2qN">/pages/F732nLSKN8oFKKR6O2qN</a></td></tr><tr><td><strong>Tutoriel</strong><br>Un pas-à-pas pour aller plus loin.</td><td><a href="/pages/ApV0zsAfxOA7wQC6bI9n">/pages/ApV0zsAfxOA7wQC6bI9n</a></td></tr><tr><td><strong>Gérer un jeu de données par l’API</strong><br>Créer, mettre à jour, automatiser.</td><td><a href="/pages/MI7lCVCwGExd3vF0AQQU">/pages/MI7lCVCwGExd3vF0AQQU</a></td></tr><tr><td><strong>Référence</strong><br>Endpoints et modèles.</td><td><a href="/pages/viMH7MHpE16OyiAVcpQA">/pages/viMH7MHpE16OyiAVcpQA</a></td></tr></tbody></table>

### Moissonnage

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Comprendre</strong><br>Concepts, cas d’usage, limites.</td><td><a href="/pages/1KfBh4yjhJ40BGautL7p">/pages/1KfBh4yjhJ40BGautL7p</a></td></tr><tr><td><strong>Mettre en place</strong><br>Configurer un moissonneur.</td><td><a href="/pages/RMMz6RK7I4EaWtY0ppLs">/pages/RMMz6RK7I4EaWtY0ppLs</a></td></tr></tbody></table>

{% hint style="info" %}
Besoin d’une réponse rapide ?

Consultez la [Foire aux questions](/foire-aux-questions).
{% endhint %}


# Foire aux questions

Des questions auxquelles nous ne sommes pas à même de répondre nous sont souvent adressées. Pour essayer de vous aider néanmoins nous listons ici les questions plus fréquentes.

<details>

<summary>Question sur le Répertoire National des Associations (RNA)</summary>

Si vous êtes une association et recherchez votre numéro RNA, vous pouvez consulter le moteur de recherche des associations du [journal officiel](https://www.journal-officiel.gouv.fr/associations/recherche/) (dont nous ne sommes pas responsables). Pour plus d'informations, vous pouvez consulter le site [Service-Public.fr](https://www.service-public.fr/associations).

</details>

<details>

<summary>Question sur le fichier des personnes décédées</summary>

Les fichiers des personnes décédées disponibles sur data.gouv.fr sont recueillis par l'INSEE à partir des informations reçues des communes. Pour faire une recherche dans ces fichiers vous pouvez utilisez le service suivant [Match\_Id](https://deces.matchid.io/search) (dont nous ne sommes pas responsable). Pour plus d'informations, vous pouvez consulter [cette page](https://www.insee.fr/fr/information/4190491).

</details>

<details>

<summary>Question sur un jeu de données en particulier</summary>

Notre équipe n'est pas en charge de la production des données publiées sur la plateforme.\
Adressez vous directement au producteur dans l'espace de discussion en bas de page du jeu de donnée. [Voir un exemple](https://www.data.gouv.fr/fr/datasets/fichier-des-personnes-decedees/#discussion-604e44bcf9fac775bbc0aeca).

</details>

<details>

<summary>Question sur le cadastre</summary>

Si vous avez une question sur le cadastre (rechercher un propriétaire, remonter une erreur dans les données de valeur foncière, s’informer sur la mitoyenneté, etc.), nous vous invitons à consulter [notre « Foire aux questions sur le cadastre »](https://guides.data.gouv.fr/reutiliser-des-donnees/autour-du-cadastre/faq-cadastre).\
\
Pour toute question sur l’utilisation et la manipulation des données du cadastre, vous pouvez consulter [le guide dédié](https://guides.data.gouv.fr/reutiliser-des-donnees/autour-du-cadastre).

</details>

<details>

<summary>Question sur une procédure administrative</summary>

Notre support n'est pas en mesure de vous aider sur ces sujets. Vous pouvez vous référer au site [Service-Public.fr](https://doc.data.gouv.fr/).

</details>

<details>

<summary>Question sur un organisme de formation ou une certification Qualiopi</summary>

Notre équipe n'est pas en mesure de vous aider sur ces questions. Si vous ne trouvez pas réponse à votre question ici vous pouvez contacter [le Ministère du Travail. ](https://travail-emploi.gouv.fr/ministere/article/nous-contacter).

**Vous ne trouvez pas votre organismes de formation dans la liste ?**\
Retrouvez toutes les informations utiles pour déclarer votre organisme ou transmettre votre Bilan Pédagogique et Financier sur le site du Ministère du travail: [les formalités de création et de fonctionnement des organismes de formation ](http://travail-emploi.gouv.fr/formation-professionnelle/organismes-de-formation-fonctionnement/organismes-formation).<br>

**Vous souhaitez modifier certaines informations ?**\
Les informations sont issues des déclarations annuelles effectuées par l'organisme de formation auprès du services régional de contrôle de sa DREETS, mais vous pouvez demander à tout moment la modification de certaines informations en contactant votre DREETS ou en accédant à votre espace personnel sur [l'application Mon Activité Formation](https://www.monactiviteformation.emploi.gouv.fr/).<br>

**Les informations concernant votre certification QUALIOPI vous semblent erronées ?**\
Contactez votre organisme certificateur afin qu'il transmette votre certification. Attention de bien lui fournir votre nouveau NDA si celui-ci a changé récemment.

</details>

<details>

<summary>Question sur la base SIRENE et les données d’entreprises</summary>

Si vous rechercher votre numéro SIRET ou SIREN vous pouvez vous rendre sur le site [Annuaire des Entreprises](https://annuaire-entreprises.data.gouv.fr/).\
Si vous souhaitez rendre privées les données de votre entreprise, vous devez en [faire la demande auprès de l'INSEE ](https://statut-diffusion-sirene.insee.fr/)qui publie ces données dans le répertoire SIRENE.

</details>

<details>

<summary>Question sur la base de demandes de valeurs foncières (DVF)</summary>

Vous pouvez consulter la [foire aux questions dédiée ](https://explore.data.gouv.fr/immobilier?onglet=faq\&filtre=tous\&lat=46.30000\&lng=2.00000\&zoom=4.80).

</details>

<details>

<summary>Question sur la base adresse nationale</summary>

Vous pouvez consulter la [foire aux questions dédiée](https://adresse.data.gouv.fr/nous-contacter).

</details>

<details>

<summary>Question sur l’API découpage administrative</summary>

**Quelles sont les limitations en vigueur sur les APIs ?**

* 10 requêtes par seconde et par IP pour l’API Découpage administratif ;
* 50 requêtes par seconde et par IP pour le géocodage simple via l’API Adresse ;
* 2 requêtes simultanées par IP pour le géocodage de masse (maximum 50 Mo par envoi de fichier pour le géocodage direct, 6 Mo pour le géocodage inversé).

**Est-il possible de faire lever les limites de l’API ?**\
Oui, mais uniquement si vous êtes un service public ou chargé d’une mission de service public. Dans le cas contraire, vous pouvez aussi héberger notre API de géocodage chez vous, en suivant[ ces instructions](https://github.com/BaseAdresseNationale/addok-docker).

</details>

<details>

<summary>Question sur des données relatives au COVID-19</summary>

* Pour toute information sur la COVID-19 vous pouvez consulter le site [gouvernement.fr](https://www.gouvernement.fr/info-coronavirus).
* Pour trouver un rendez vous, vous pouvez consulter [sante.fr](https://www.sante.fr/).
* Pour récupérer votre attestation, vous pouvez consulter votre appli TousAntiCovid ou votre espace [ameli.fr](https://www.ameli.fr/).

</details>

<details>

<summary>Question sur le répertoire national des infrastructures de recharge pour véhicules électriques (IRVE)</summary>

Nous vous invitons à consulter [la documentation dédiée](https://doc.transport.data.gouv.fr/producteurs/infrastructures-de-recharge-de-vehicules-electriques-irve) concernant la création et la publication des données de ces données.<br>

</details>

<details>

<summary>Question relative à des données personnelles</summary>

L'organisme en mesure de vous aider est [la Commission nationale de l'informatique et des libertés (CNIL)](https://www.cnil.fr/).

</details>

<details>

<summary>Question sur un titre de séjour</summary>

Le site data.gouv.fr ne permet pas aux particuliers de remplir des formalités administratives et notre support n'est pas en mesure de vous aider sur ces sujets. Vous pouvez vous référer à l'administration compétente ou consulter les liens suivants :

* [La fiche dédiée sur Service-Public.fr](https://www.service-public.fr/particuliers/vosdroits/N110).
* [Le site refugies.info](https://www.refugies.info/demarche/5dc2da982e9859001680b8a2).
* [Contacter le service compétent du Ministère du l'Intérieur](https://administration-etrangers-en-france.interieur.gouv.fr/particuliers/#/contact).

</details>

<details>

<summary>Vous avez un doute ou avez été victime de fraude ou d'escroquerie</summary>

Notre équipe n'est pas en mesure de vous aider sur ces questions. Vous pouvez vous référez à :

* [La fiche pratique escroquerie de Service-Public.fr](https://www.service-public.fr/particuliers/vosdroits/F1520).
* [La fiche pratique phishing (hameçonnage) sur Service-Public.fr](https://www.service-public.fr/particuliers/vosdroits/F34800).
* [L’outil de diagnostic sur cybermalveillancance.gouv.fr](https://www.cybermalveillance.gouv.fr/diagnostic/accueil).

</details>

<details>

<summary>Question sur le compte professionnel de formation (CPF)</summary>

Notre équipe n'est pas en mesure de vous aider sur ces questions. Vous pouvez vous référez à [la fiche pratique sur Service-Public.fr](https://www.service-public.fr/particuliers/vosdroits/F10705).

</details>


# Créer un compte utilisateur

## Pourquoi créer un compte utilisateur ?

{% hint style="info" %}
Il n’est pas nécessaire de créer un compte pour télécharger des jeux de données sur [data.gouv.fr](https://www.data.gouv.fr).
{% endhint %}

Un compte utilisateur vous permet de :

* Publier des jeux de données ;
* Publier une API ;
* Référencer des réutilisations ;
* Publier des commentaires ;
* Suivre les publications d’autres utilisateurs ;
* Créer ou rejoindre une organisation.

***

## Comment créer un compte utilisateur ?

{% hint style="info" %}
🔐 Pour des raisons de sécurité, il est recommandé d’utiliser un **compte nominatif** (évitez les comptes partagés).
{% endhint %}

1. Dans le menu, cliquez sur <img src="/files/i73jPgmTUrfOs54HGLY1" alt="" data-size="line">en haut à droite
2. Renseignez votre **prénom**, **nom** et **adresse e-mail** ;
3. Choisissez un **mot de passe** et confirmez-le ;
4. Acceptez les **conditions générales d’utilisation** ;
5. Cliquez sur **« S’enregistrer »**.

Vous pouvez également vous créer un compte via [ProConnect](https://www.proconnect.gouv.fr/) <img src="/files/bgNlkoI27LG9WGBHcW8U" alt="" data-size="line"> l'accès pour les pros, validées par l'État qui peut être utilisé par tous les professionnels du public comme du privé.

Une fois ce formulaire rempli :

* Un message à l’écran vous invite à confirmer votre adresse e-mail ;
* Rendez-vous dans votre boîte de réception (vérifiez vos spams si besoin) ;
* Ouvrez l’e-mail envoyé par `no-reply@data.gouv.fr` et cliquez sur **« Confirmer maintenant »**.

Vous serez alors redirigé vers la page d’accueil, connecté à votre compte utilisateur.

Vous pouvez maintenant commencer à publier, commenter ou rejoindre une organisation ! :white\_check\_mark:


# Suivre vos contenus publiés

Sur data.gouv.fr, vous pouvez publier différents types de contenus ouverts à tous :

* **Jeux de données**
* **API**
* **Réutilisations**
* **Ressources communautaires**

Vous pouvez publier ces contenus :

* **En votre nom propre** (compte utilisateur) ;
* **Au nom d’une organisation** (si vous en êtes membre).

{% hint style="success" %}
Rejoindre ou créer une organisation vous permet de centraliser les publications, de collaborer avec d’autres membres et de valoriser votre structure.
{% endhint %}

## Consulter les publications en votre nom

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez **"Mon profil"** ;

Dans le menu latéral de votre tableau de bord d’administration, vous avez accès à plusieurs sections vous permettant de gérer l’ensemble de vos contenus.

{% tabs %}
{% tab title="Jeux de données" %}

### Jeux de données

Vous y retrouvez l’ensemble de vos **jeux de données.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter le jeu de données sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour le modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="API" %}

### API

Vous y retrouvez l’ensemble de vos **API.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter l'API sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="Réutilisations" %}

### Réutilisations

Vous y retrouvez l’ensemble de vos **réutilisations.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter la réutilisation sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="Ressource communautaires" %}

### Ressources communautaire

Vous y retrouvez l’ensemble de vos **ressources communautaires.**

Dans la colonne **"Actions"** du tableau :

* ✏️ Cliquez sur l’icône **crayon** pour les modifier dans l’interface d’administration.
  {% endtab %}
  {% endtabs %}


# Rejoindre une organisation

{% hint style="info" %}
**Qu'est-ce qu'une organisation sur data.gouv.fr ?**

Une organisation est une entité au travers de laquelle plusieurs utilisateurs peuvent collaborer.\
Les contenus publiés au nom de l’organisation peuvent être édités par les membres de l’organisation.\
Elle peut contenir plusieurs utilisateurs et un même utilisateur peut appartenir à plusieurs organisations.
{% endhint %}

## Pourquoi rejoindre une organisation ?

Rejoindre une organisation est utile si vous souhaitez :

* Publier ou modifier des jeux de données, des API, ou des réutilisations pour le compte d’une structure (administration, collectivité, association, entreprise, etc.) ;
* Permettre à plusieurs utilisateurs de publier de publier et modifier des jeux de données sous le même nom, la même bannière.

Si vous pensez que vous devriez figurer dans une organisation, vous pouvez en faire la demande. L’un des administrateurs devra alors accepter votre demande.

***

## Comment rejoindre une organisation existante ?

{% embed url="<https://youtu.be/gu1s-9KsQy0?si=d_GVQqcp_6agfYNX>" %}

1. Rendez-vous sur la [liste des organisations](https://www.data.gouv.fr/fr/organizations/) pour trouver la page de l’organisation souhaitée ;
2. Ouvrez l’**onglet "Informations"** de la page publique de l’organisation ;
3. Cliquez sur le bouton dans la section membres <img src="/files/PojTAZ422jY7Ct5WLdfE" alt="" data-size="line">

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

**L’administrateur de l’organisation recevra votre demande et pourra l’accepter ou la refuser.**

***

### Et si l’organisation n’existe pas ?

Vous pouvez créer une nouvelle organisation si elle n’apparaît pas encore sur la plateforme.


# Créer une organisation

## Pourquoi créer une organisation ?

Créer une organisation vous permet de :

* Publier ou modifier des jeux de données, des API, ou des réutilisations pour le compte d’une structure (administration, collectivité, association, entreprise, etc.) ;
* Permettre à plusieurs utilisateurs de publier de publier et modifier des jeux de données sous le même nom, la même bannière.

***

## Comment créer une organisation ?

{% embed url="<https://youtu.be/vKYP51qQ36k?si=YGeVJ9gUnnwHILWp>" %}

Voici les étapes à suivre pour créer une organisation sur data.gouv.fr

1. Dans le menu, cliquez sur <img src="/files/3UQIlFaA4ukxrrK9wwTx" alt="" data-size="line">.
2. Sélectionnez <img src="/files/mSWJ1KTFEUBqDcK85HQJ" alt="" data-size="line">dans le menu déroulant.
3. Avant de continuer, **vérifiez que l'organisation n’existe pas déjà.**
4. Renseignez les informations suivantes :

<table><thead><tr><th width="170.8046875">Information</th><th>Description</th></tr></thead><tbody><tr><td>Nom (<em>obligatoire</em>)</td><td>Le nom public de votre organisation.</td></tr><tr><td>Acronyme</td><td>L'acronyme de votre organisation, s'il existe.</td></tr><tr><td>Numéro SIRET</td><td>Un numéro SIRET nous permettra d’attribuer un type à votre organisation (administrations, collectivités, entreprises etc.) et facilitera votre certification. Le numéro doit faire 14 chiffres.<br>Veuillez noter que toutes les administrations ont un numéro SIRET.<br>Vous pouvez trouver votre SIRET sur l’<a href="https://annuaire-entreprises.data.gouv.fr/">Annuaire des Entreprises</a>.</td></tr><tr><td>Description (<em>obligatoire</em>)</td><td>Veuillez indiquer ici ce que votre organisation fait et quelle mission elle accomplit. Vous pouvez ajouter les informations qui permettront aux utilisateurs de vous contacter : adresse e-mail, adresse postale, réseaux sociaux, etc.</td></tr><tr><td>Site Internet</td><td>Si votre organisation a un site web, vous pouvez fournir son URL.</td></tr><tr><td>Logo</td><td>Si votre organisation a un logo ou une photo de profil, vous pouvez l'ajouter. Les formats d'image suivants sont acceptés : png, jpg/jpeg.</td></tr></tbody></table>

5. Cliquez sur **« Suivant »** pour finaliser la création de votre organisation.

***

Une fois votre organisation créée, vous pouvez inviter d'autres utilisateurs à la rejoindre. :white\_check\_mark:


# Modifier son organisation

## Modifier son organisation

{% embed url="<https://youtu.be/Q_ERGD2lDGc?si=nk7Cm4j0JeICw5BS>" %}

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Cliquez sur, <img src="/files/n2Od8aVVaM53kVdwMFue" alt="" data-size="line">dans le menu latéral de votre organisation ;
* Vous pouvez mettre à jour les informations relatives à votre organisation.

\
Depuis cette page vous disposez de **trois onglets.**

{% tabs %}
{% tab title="Profil" %}

#### Onglet *Profil* 

Cet onglet vous permet de modifier les informations relatives à votre organisation.
{% endtab %}

{% tab title="Points de contact" %}

#### Onglet *Point de contact*

Cet onglet vous permet de voir et modifier les **points de contact** rattachés à vos jeux de données ou vos API.
{% endtab %}

{% tab title="Activités" %}

#### Onglet *Activités*

Cet onglet vous donne accès à **l’historique des modifications réalisées** sur les informations de votre organisation.
{% endtab %}
{% endtabs %}

## Comment supprimer une organisation

{% hint style="danger" %}
**Lorsqu'une organisation est supprimée, les contenus publiés en son nom restent en ligne**, aux mêmes URL, mais sous forme anonyme, c’est-à-dire sans être rattachés à un producteur de données.

Si vous souhaitez aussi supprimer les contenus publiés par l’organisation que vous êtes sur le point de clôturer, commencez par les supprimer avant de supprimer l’organisation.
{% endhint %}

{% hint style="info" %}
Cette action est réservée aux administrateurs.
{% endhint %}

1. Connectez-vous à votre compte ;
2. Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
3. Cliquez sur, <img src="/files/n2Od8aVVaM53kVdwMFue" alt="" data-size="line">dans le menu latéral de votre organisation ;
4. Descendez en bas de page pour voir le bandeau dédié.


# Gérer les membres de son organisation

{% embed url="<https://youtu.be/oswPuLAPByw?si=qnpnSrqSwF5rqRxW>" %}

## Comprendre les rôles des membres

Une organisation sur data.gouv.fr peut contenir trois types de membres :

* **Administrateurs** : ils ont tous les droits sur l'organisation.
* **Éditeurs** : ils peuvent publier et modifier des contenus, mais ne peuvent pas gérer les membres.
* **Éditeurs partiels** : similaire aux éditeurs, mais ils peuvent modifier seulement certains contenus pour lesquels un administrateur leur a donné les droits explicitement ou qu'ils ont eux-même créés au sein de l'organisation.

Voici un tableau récapitulatif des permissions

| Permissions                                            | Administrateur | Éditeur |                          Éditeur partiel                         |
| ------------------------------------------------------ | :------------: | :-----: | :--------------------------------------------------------------: |
| Publier des jeux de données au nom de l’organisation   |        ✅       |    ✅    |                                 ✅                                |
| Publier des API au nom de l’organisation               |        ✅       |    ✅    |                                 ✅                                |
| Référencer des réutilisations au nom de l’organisation |        ✅       |    ✅    |                                 ✅                                |
| Répondre aux commentaires au nom de l’organisation     |        ✅       |    ✅    |                                 ✅                                |
| Modifier des jeux de données existants                 |        ✅       |    ✅    | uniquement pour les jeux de données sur lesquels il a les droits |
| Supprimer des jeux de données existants                |        ✅       |    ✅    | uniquement pour les jeux de données sur lesquels il a les droits |
| Consulter les demandes d’adhésion                      |        ✅       |    ✅    |                                 ❌                                |
| Ajouter des membres                                    |        ✅       |    ❌    |                                 ❌                                |
| Valider ou refuser des demandes d’adhésion             |        ✅       |    ❌    |                                 ❌                                |
| Retirer un membre                                      |        ✅       |    ❌    |                                 ❌                                |
| Supprimer l’organisation                               |        ✅       |    ❌    |                                 ❌                                |

***

## Ajouter un membre à une organisation

{% hint style="info" %}
Seuls les **administrateurs** peuvent ajouter des membres.\
**Si la personne que vous souhaitez ajouter n'a pas encore de compte sur data.gouv.fr vous ne pourrez pas l'ajouter.**
{% endhint %}

1. Connectez-vous à votre compte ;
2. Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
3. Dans la colonne de gauche, cliquez sur le nom de votre organisation ;
4. Cliquez sur <img src="/files/6zjv84AkCLLcQjVHuxMQ" alt="" data-size="line">, dans le menu latéral de votre organisation ;
5. Cliquez sur le bouton <img src="/files/P0XXYPZbYTgk33XdJhVo" alt="" data-size="line">
6. Cherchez parmi les utilisateurs présent sur data.gouv.fr ;
7. Sélectionnez-le lorsqu’il apparaît dans la liste proposée ;
8. Choisissez le rôle à lui attribuer : **Administrateur,** **Éditeur** ou **Éditeur partiel**;
9. Cliquez sur **"Ajouter à l'organisation"** pour confirmer l’ajout.

***

## Valider une demande d’adhésion

Si un utilisateur a fait une demande pour rejoindre l'organisation :

1. Connectez-vous à votre compte ;
2. Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
3. Dans la colonne de gauche, cliquez sur le nom de votre organisation ;
4. Cliquez sur <img src="/files/6zjv84AkCLLcQjVHuxMQ" alt="" data-size="line">, dans le menu latéral de votre organisation ;
5. Vous verrez apparaitre les demandes d'adhésions

   <figure><img src="/files/Lxgr03lPbpnCKzgjWXcI" alt=""><figcaption><p>Exemple de demande</p></figcaption></figure>
6. Vous pouvez accepter ou refuser la demande. Dans le cas ou refuser la demande vous pouvez motiver votre refus pour l'utilisateur.

***

## Changer le rôle d'un membre ou le retirer de l’organisation

{% hint style="info" %}
Cette action est réservée aux administrateurs.
{% endhint %}

1. Connectez-vous à votre compte ;
2. Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
3. Dans la colonne de gauche, cliquez sur le nom de votre organisation ;
4. Cliquez sur <img src="/files/6zjv84AkCLLcQjVHuxMQ" alt="" data-size="line">, dans le menu latéral de votre organisation ;
5. Dans le tableau de membres cliquez sur le crayon <img src="/files/77etsz2i2YoKrmoVpy56" alt="" data-size="line">dans la colonne **Actions.**
6. Vous pouvez changer son rôle ou retirer le membre de l'organisation. Retirer un utilisateur d’une organisation ne supprime pas le compte de l’utilisateur en question.

***

{% hint style="info" %}
**Pensez à retirer les comptes inactifs ou ceux qui n’ont plus lieu d’être régulièrement, afin de sécuriser la gestion de votre organisation.**
{% endhint %}


# Suivre l'activité de son organisation

## Consulter les publications de son organisation

{% embed url="<https://youtu.be/00uKOhX42y0?si=vxVVG2qCQ9ukPf4r>" %}

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez sur le nom de votre organisation ;

Dans le menu latéral de votre tableau de bord d’administration, vous avez accès à plusieurs sections vous permettant de gérer l’ensemble des contenus de votre organisation.

{% tabs %}
{% tab title="Jeux de données" %}

### Jeux de données

Vous y retrouvez l’ensemble des **jeux de données** publiés par votre organisation.

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter le jeu de données sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour le modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="API" %}

### API

Cette section présente toutes les **API** publiées par votre organisation

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter l'API sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="Réutilisations" %}

### Réutilisations

Vous pouvez consulter ici toutes les **réutilisations publiées par votre organisation.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter la réutilisation sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.
  {% endtab %}

{% tab title="Ressource communautaires" %}

### Ressources communautaire

Vous pouvez consulter ici toutes les **ressources communautaires** publiées par votre organisation.

Dans la colonne **"Actions"** du tableau :

* ✏️ Cliquez sur l’icône **crayon** pour les modifier dans l’interface d’administration.
  {% endtab %}
  {% endtabs %}

***

## Consulter les discussions sur ses publications

Cette section centralise toutes les **discussions** ouvertes sur vos contenus (jeux de données, API, réutilisations).

* 👁️ Cliquez sur l’icône **œil** pour consulter la discussion sur l’interface publique ;
* 💬 Cliquez sur l’icône **bulle de dialogue** pour y répondre dans l’interface d’administration.

***

## Consulter ses moissonneurs

Cette section vous permet de suivre l’activité de vos **moissonneurs** (mécanismes automatisés de récupération de données). Voir le guide moissonneur.

***

## Consulter les statistiques de son organisation

{% embed url="<https://youtu.be/Y7b66_A1U8Q?si=0ow3mbwFFiN_rMgJ>" %}

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez sur le nom de votre organisation ;
* Cliquez sur, <img src="/files/BJBj5N1lU0Ntz348xjCP" alt="" data-size="line">dans le menu latéral de votre organisation ;

\
Le tableau de bord statistique d’une organisation se compose de plusieurs onglets vous permettant de suivre l’activité et l’impact de vos publications.

{% tabs %}
{% tab title="Organisation" %}

#### Onglet *Organisation*

Cet onglet présente les **statistiques globales** de votre organisation, calculées à partir de juin 2024.\
Vous y trouverez :

* Des indicateurs agrégés sur l’ensemble des jeux de données, API et réutilisations ;
* Un bouton **« Télécharger l’export des statistiques agrégées »** vous permettant d’obtenir un suivi **mensuel** de l’évolution de ces indicateurs.

<figure><img src="/files/7HTmxvFIOlWbXo71p1lN" alt=""><figcaption><p>Exemple pour l'organisation data.gouv.fr</p></figcaption></figure>
{% endtab %}

{% tab title="Jeux de données" %}

#### Onglet *Jeux de données*

Cet onglet présente les métriques associées à **chaque jeu de données** publié par votre organisation :

* 💬 Nombre de **discussions** ouvertes ;
* 👁️ Nombre de **vues** ;
* 📥 Nombre de **téléchargements** de ressources ;
* 🔄 Nombre de **réutilisations associées** ;
* 👤 Nombre de **personnes abonnées** au jeu de données.

Fonctionnalités disponibles :

* **Télécharger le catalogue** : vous obtenez une **vue instantanée** de toutes les statistiques et métadonnées des jeux de données ;
* **Télécharger l'évolution par mois** : pour avoir l'évolution par mois pour chaque jeu de données ;
* **Téléchargement par jeu de données** : dans la colonne de droite du tableau, un bouton permet de télécharger un **détail mensuel** spécifique à chaque jeu de données.
  {% endtab %}

{% tab title="API" %}

#### Onglet *API*

Cet onglet regroupe les statistiques de vos **API** publiées :

* 💬 Discussions associées ;
* 👁️ Vues ;
* 👤 Abonnés.

Fonctionnalités disponibles :

* **Télécharger le catalogue** : vue instantanée des API et de leurs métadonnées ;
* **Téléchargement détaillé** : bouton situé à droite du tableau pour suivre l’évolution mensuelle de chaque API.
  {% endtab %}

{% tab title="Réutilisations" %}

#### Onglet *Réutilisations*

Cet onglet présente les statistiques liées aux **réutilisations publiées par votre organisation** (et non celles référencées par d'autres utilisateurs sur vos données) :

* 💬 Discussions ;
* 👁️ Vues ;
* 👤 Abonnés.

Fonctionnalités :

* **Télécharger le catalogue** : vue instantanée des statistiques et métadonnées des réutilisations ;
* **Téléchargement détaillé** : bouton dans la dernière colonne du tableau pour obtenir un suivi mensuel pour chaque réutilisation.

{% hint style="info" %}
Seules les **réutilisations publiées par l’organisation** apparaissent ici, pas celles qui auraient été référencées par d'autres utilisateurs sur vos données.
{% endhint %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}
Pour en savoir plus sur le suivi des usages de vos données, consultez la page dédiée :\
[Connaître et suivre les usages de ses données](https://guides.data.gouv.fr/guide-data.gouv.fr/connaitre-et-suivre-les-usages/)
{% endhint %}


# Obtenir une certification

## Pourquoi demander à certifier son organisation ?

La certification permet d’attribuer à une organisation un **badge “Service public certifié”**, visible publiquement sur sa page.\
Elle atteste que l’organisation exerce effectivement une **mission de service public** et qu’elle a été **vérifiée par l’équipe data.gouv.fr**.

***

## Qui peut demander une certification ?

Seuls les organisations exerçant une mission de service public peuvent demander à être certifiées.

***

## Comment demander une certification ?

Pour demander la certification d’une organisation dont vous êtes administrateur : [**envoyez une demande de certification**](https://support.data.gouv.fr/help/datagouv/certification), en expliquant :

* Pourquoi vous souhaitez certifier votre organisation ;
* Une preuve de votre rôle dans celle-ci ;
* L’URL vers votre organisation.

Notre équipe vous répondra dans un **délai de quelques jours** après vérification.


# Publier un jeu de données

{% hint style="info" %}
En amont de la publication de données sur data.gouv.fr, il est important de bien préparer le jeu de données. Pour ce faire, nous vous invitons à consulter [guide qualité](/guides/guide-qualite).
{% endhint %}

Plusieurs modes de mises en ligne sont possibles sur la plateforme data.gouv.fr :

* **Publication manuelle sur data.gouv.fr**
* **Par API**
* **Par moissonnage**

<details>

<summary>Quelle différence entre API et moissonnage ?</summary>

La publication par l’API vous donne un contrôle total sur le contenu de chaque champ, le moment de la soumission. tandis que le moissonnage, s’il ne nécessite pas de développement spécifique sur votre plateforme, est un fonctionnement fortement contraint.

**Moissonage**

* **Pré-requis** **:** métadonnées dans l’un des formats supportés
* **Déclenchement** **:** contrôlé par data.gouv.fr (quotidien)
* **Champs :** modèle imposé par protocole

**API**

* **Pré-requis :** capacité de développement
* **Déclenchement :** déclenché au besoin
* **Champs :** au choix du développeur

</details>

{% hint style="info" %}
Certains jeux de données font l'objet de spécificités pour leur publication, comme les **Bases Adresses Locales**.\
La procédure de publication d'une Base Adresse Locale est détaillée dans [cette page](/donnees-specifiques/publier-une-base-adresse-locale).
{% endhint %}

{% tabs %}
{% tab title="Directement sur data.gouv.fr" %}

### Mise à disposition directe sur data.gouv.fr <a href="#mise-a-disposition-directe-sur-data-gouv-fr" id="mise-a-disposition-directe-sur-data-gouv-fr"></a>

{% embed url="<https://youtu.be/sPR0FNLqT3Y?si=eFvg9Ba8M9i4iW4A>" %}

Pour mettre à disposition vos données directement sur data.gouv.fr, la procédure à suivre est la suivante :

#### 1. Définir qui publie le jeu de données

Un jeu de données peut être publié sous le nom de votre compte utilisateur ou sous la bannière d’une organisation.

Nous vous conseillons de publier un jeu de données sous le nom de votre compte utilisateur seulement s’il n’a pas été produit dans le cadre des activités d’une organisation à laquelle vous êtes rattaché.

#### 2. Décrire le jeu de données

L'étape de description est cruciale pour que vos jeux de données soient bien référencés et faciliter la réutilisation.

<table><thead><tr><th width="288">Information</th><th>Description de l'information</th></tr></thead><tbody><tr><td>Titre*</td><td>Le titre de votre jeu de données doit être le plus précis et spécifique possible. Il doit également correspondre au vocabulaire employé par les utilisateurs. Ces derniers recherchent les données le plus souvent dans un moteur de recherche.</td></tr><tr><td>Sigle</td><td>Vous avez la possibilité d’apposer un sigle à votre jeu de données. Les lettres qui composent ce sigle n’ont pas besoin d’être séparées par des points.</td></tr><tr><td>Description*</td><td>La description de votre jeu de données permet aux personnes qui le consultent d’obtenir des informations sur le contenu et la structure des ressources publiées, le contexte de production des données, les contacts producteurs etc.</td></tr><tr><td>Licence</td><td>Les licences définissent les règles de réutilisation des jeux de données publiés. En choisissant une licence de réutilisation, vous vous assurez que le jeu de données publié sera réutilisé selon les conditions d’usage que vous avez définies. Afin d’éviter la multiplication des licences, la<a href="https://www.legifrance.gouv.fr/affichTexteArticle.do?cidTexte=JORFTEXT000033202746&#x26;idArticle=JORFARTI000033203004&#x26;categorieLien=cid"> loi pour une République numérique</a> a prévu la création d’une liste de licences qui peuvent être utilisées par les administrations. Le site data.gouv.fr<a href="https://www.data.gouv.fr/fr/licences"> a référencé la liste des licences applicables</a> aux informations publiques (données, documents…).</td></tr><tr><td>Fréquence de mise à jour*</td><td>La fréquence de mise à jour correspond à la fréquence à laquelle vous prévoyez de mettre à jour les données publiées. Cette fréquence de mise à jour reste indicative.</td></tr><tr><td>Mots clés</td><td>Les mots clés caractérisent votre jeu de données. Ils apparaissent sur la page de présentation et apportent un meilleur référencement du jeu de données lors d’une recherche utilisateur.</td></tr><tr><td>Couverture temporelle</td><td>La couverture temporelle indique la portée dans le temps des données publiées.</td></tr><tr><td>Granularité spatiale</td><td>La granularité spatiale indique le niveau de détail géographique le plus fin que peut couvrir vos données.</td></tr><tr><td>Mode brouillon</td><td>L’activation du mode brouillon permet de ne pas mettre en ligne le jeu de données. Cela laisse la possibilité de l’éditer avant sa publication.</td></tr></tbody></table>

*\*Les champs identifiés par un astérisque sont obligatoires.*

#### 3. Ajouter des fichiers

{% hint style="info" %}
Un jeu de données peut contenir plusieurs types de fichiers (données mises à jour, données historisées, documentation, code source, API, lien, etc.).
{% endhint %}

Vous avez la possibilité d’importer vos fichiers sur data.gouv.fr selon différents modes de mise à disposition.

Lors de l’étape **“Ajoutez vos ressources”**, deux options vous sont proposées :

1. Vous pouvez télécharger vos ressources depuis votre ordinateur vers le serveur de data.gouv.fr. Vos ressources seront alors hébergées sur les serveurs de data.gouv.fr.
2. Vous pouvez créer un lien vers une ressource distante existante. Les informations contenues dans le fichier resteront hébergées sur le serveur distant fléché.
   {% endtab %}

{% tab title="Par API" %}

### Mise à disposition par API <a href="#mise-a-disposition-par-api" id="mise-a-disposition-par-api"></a>

{% hint style="info" %}
**Qu’est-ce qu’une API ?**

Une API est une interface, un contrat passé entre deux systèmes informatiques pour leur permettre de communiquer. Cette solution informatique permet d’automatiser des tâches depuis votre ordinateur ou vos serveurs.
{% endhint %}

A partir de l’API de data.gouv.fr, vous pouvez réaliser les mêmes actions que sur la plateforme :

* **Créer un jeu de données au nom de votre compte utilisateur ou au nom de votre organisation** ;
* **Décrire votre jeu de données et les ressources associées** ;
* **Ajouter ou supprimer une ressource ou un jeu de données**.

L’API de data.gouv.fr propose également des fonctionnalité complémentaires à la publication de jeux de données comme la possibilité de récupérer les métadonnées des jeux de données ou de fichiers ou encore d'accéder au contenu des fichiers d’un jeu de données.

{% hint style="info" %}
**Quand utiliser l’API de data.gouv.fr ?**

À la différence du mode de mise à disposition directe des données sur data.gouv.fr, l’utilisation de l’API permet de réaliser des actions de manière automatisée depuis votre ordinateur ou vos serveurs.\
Il est par conséquent conseillé d’utiliser une API lorsque la fréquence de publication d’un jeu de données est régulière.
{% endhint %}

L’utilisation de l’API de data.gouv.fr se fait par le point d’entrée racine de l’API. Afin de pouvoir exécuter des opérations d’écriture, il est nécessaire d’obtenir une clé API. Cette clé est accessible depuis les paramètres de votre profil administrateur.

Les appels à l’API sont soumis aux mêmes permissions que l’interface web. Par exemple, si vous souhaitez publier ou modifier un jeu de données au nom d’une organisation, vous devez appartenir à cette organisation.

**La procédure pour publier des données sur data.gouv.fr par API est détaillée dans cette** [**sous-section**](broken://pages/Q9seeEdFUuGFGyWy4TKX)**.**
{% endtab %}

{% tab title="Par moissonnage" %}

### Publication d'un catalogue de données existant par moissonnage <a href="#publier-un-catalogue-de-donnees-existant-par-moissonnage" id="publier-un-catalogue-de-donnees-existant-par-moissonnage"></a>

{% hint style="info" %}
**Qu’est-ce que le moissonnage ?**

Le moissonnage est un mécanisme permettant de collecter les métadonnées sur un catalogue distant et de les stocker sur une autre plateforme afin de proposer un second point d’accès aux données.
{% endhint %}

Le service de moissonnage mis à votre disposition permet de référencer sur data.gouv.fr les jeux de données publiés sur d’autres catalogues de données en ligne. De cette manière, vous n’avez pas besoin d’importer à la main sur data.gouv.fr les jeux de données que vous avez déjà importés sur votre propre plateforme.

{% hint style="info" %}
**Quand utiliser le service de moissonnage ?**

Si vous mettez en ligne des données publiques sur une plateforme ouverte, dans un format dont les métadonnées correspondent à la syntaxe ODS, CKAN, ou DCAT vous pouvez les référencer automatiquement sur data.gouv.fr en utilisant notre service de moissonnage.
{% endhint %}

Pour utiliser le service de moissonnage, il est possible de demander au moissonneur d’importer l’ensemble des données ou de ne sélectionner que certains jeux de données au moyen de filtres.\
Il n’est pas nécessaire de créer un moissonneur par jeu de données à importer, un seul moissonneur par portail suffit.

Le principe du moissonnage sur data.gouv.fr se décompose en plusieurs étapes :

1. Vous [créez un moissonneur sur data.gouv.fr](/moissonnage/mettre-en-place-un-moissonneur) afin que data.gouv.fr suive l’activité de votre plateforme ;
2. Vous publiez des données sur votre plateforme open data ;
3. Vous demandez la validation de votre moissonneur sur [le support data.gouv.fr](https://support.data.gouv.fr/collectivite-territoriale/referencement/moissonnage#support-tree) ;
4. La configuration du moissonneur est validée par l’équipe en charge de data.gouv.fr ;
5. Le moissonneur de data.gouv.fr vient automatiquement récupérer les données de votre plateforme ;
6. Les données de votre plateforme sont référencées et visibles sur data.gouv.fr. :tada:

**La procédure de moissonnage est détaillée dans** [**cette sous-section**](/moissonnage/comprendre-le-moissonnage)**.**
{% endtab %}
{% endtabs %}


# Ressource communautaire

Vous avez retravaillé un jeu de données ou vous avez fait un croisement de données qui vous semble intéressant de partager ?

Vous avez la possibilité d’associer à un jeu de donnée une *ressource communautaire*.

Ces ressources sont publiées par la communauté et ne sont pas sous la responsabilité du producteur des données.

<figure><img src="/files/XcYBomzxd4lVYQE18Rhv" alt=""><figcaption><p><a href="https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/#/community-resources">Exemple de ressources communautaires publiées sur la base Sirene.</a></p></figcaption></figure>


# Modifier un jeu de données

Une fois votre jeu de données publié, vous pouvez le gérer depuis l'espace d'administration.

## Voir ses jeux de données

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez sur
  * le nom de votre organisation pour voir les contenus de votre organisation ;
  * Ou sur "Mon profil" pour voir les contenus publiés en votre nom ;
* Cliquez sur <img src="/files/rJoGX30uW0PZo8u1FsUc" alt="" data-size="line">

Vous pouvez consulter ici toutes les **jeux de données publiées.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter le jeux de données sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour le modifier dans l’interface d’administration.

{% hint style="info" %}
Vous pouvez aussi accéder à la modification de votre jeu de données directement depuis la page publique de celle-ci en cliquant sur le bouton <img src="/files/glDBNjn3VWxHKHPDCJPv" alt="" data-size="line">.
{% endhint %}

## Modifier ses jeux de données

Le tableau de bord d’un jeu de données se compose de plusieurs onglets :

{% tabs %}
{% tab title="Métadonnées" %}

#### Onglet *Métadonnées*

Cet onglet vous permet de modifier les informations relatives à ce jeu de données.

Vous pouvez également :

#### Modifier la visibilité du jeu de données

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

Un jeu de données publié au nom d’un individu ou d’une organisation peut être transféré vers un autre individu ou une autre organisation.

#### Transferer un jeu de données

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

1. En bas de la page cliquez sur le bouton transférer.
2. Saisissez le nom de l’utilisateur ou de l’organisation vers lequel vous souhaitez transférer le jeu de données, puis cliquez sur son profil quand il apparaît à l’écran ;
3. Indiquez une raison éventuelle pour ce transfert dans la zone "Commentaire" puis cliquez sur "Transférer le jeu de données" pour valider la demande de transfert ;
4. Votre destinataire reçoit alors une notification. Une fois la demande de transfert acceptée par votre destinataire, le jeu de données lui est effectivement transféré.

{% hint style="warning" %}
Attention, cette action ne peut pas être annulée.
{% endhint %}

### Supprimer un jeu de données ou une ressource

Vous pouvez supprimer un jeu de données, ou l’une des ressources qui le compose, si vous êtes l’auteur du jeu de données en question, ou si vous appartenez à l’organisation qui en est à l’origine.

{% hint style="danger" %}
**La suppression d’un jeu de données ou d’une ressource est irréversible**
{% endhint %}

{% hint style="warning" %}
**Conservation des anciennes ressources**

Il est conseillé de supprimer le moins de ressources possibles de la plateforme data.gouv.fr. Même si vos données ne sont plus mises à jour, il est possible que des utilisateurs utilisent tout de même ces données. De plus, la suppression de certaines ressources peut entraîner la maintenance de nombreux services ou produits qui reposent sur l’exploitation des données publiées.
{% endhint %}
{% endtab %}

{% tab title="Fichiers" %}

#### Onglet *Fichiers*

Vous y retrouvez l’ensemble des **fichiers** de ce jeu de données.

Vous pouvez les réordonner, en ajouter ou en retirer.

✏️ Cliquez sur l’icône **crayon** pour modifier un fichier dans l’interface d’administration.
{% endtab %}

{% tab title="Discussions" %}

#### Onglet *Discussions*

Cet onglet présente les **discussions** sur ce jeu de données.

* 👁️ Cliquez sur l’icône **œil** pour consulter la discussion sur l’interface publique ;
* 💬 Cliquez sur l’icône **bulle de dialogue** pour y répondre dans l’interface d’administration.
  {% endtab %}

{% tab title="Activités" %}

#### Onglet *Activités*

Cet onglet vous donne accès à **l’historique des modifications réalisées** sur ce jeu de données.
{% endtab %}
{% endtabs %}


# Publier une API

Au moment de l'ajout d'une API, data.gouv.fr vous aide pas à pas pour chacun des contenus demandés.

🎉 L'ajout des API dans data.gouv.fr est une nouvelle fonctionnalité depuis novembre 2024 ! **Cette fonctionnalité est accessible dans votre espace** [**"⚙️Administration"**](https://www.data.gouv.fr/fr/beta/admin/me/dataservices)**.**

{% hint style="info" %}
*Vous êtes une administration ? une collectivité ? un opérateur d'État ? et vous souhaitez exposer votre API dans le catalogue data.gouv.fr ?*\
\
Le pôle circulation de la donnée de la DINUM est là pour vous accompagner.\
➡️ [**Suivez le guide !**](/autres/outils-pour-les-administrations)
{% endhint %}


# Modifier une API

Une fois votre API publiée, vous pouvez la gérer depuis l'espace d'administration.

## Voir ses API

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez sur
  * le nom de votre organisation pour voir les contenus de votre organisation ;
  * Ou sur "Mon profil" pour voir les contenus publiés en votre nom ;
* Cliquez sur <img src="/files/D960cUyRHYhPCuzgtTZD" alt="" data-size="line">

Vous pouvez consulter ici toutes les **API publiées.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter l'API sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.

{% hint style="info" %}
Vous pouvez aussi accéder à la modification de votre API directement depuis la page publique de celle-ci en cliquant sur le bouton <img src="/files/glDBNjn3VWxHKHPDCJPv" alt="" data-size="line">.
{% endhint %}

## Modifier ses API

Le tableau de bord d’une API se compose de plusieurs onglets :

{% tabs %}
{% tab title="Métadonnées" %}

#### Onglet *Métadonnées*

Cet onglet vous permet de modifier les informations relatives à cette API.

Vous pouvez également :

#### Modifier la visibilité de l'API

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

#### Transférer cette API

Une API publiée au nom d’un individu ou d’une organisation peut être transféré vers un autre individu ou une autre organisation.

<figure><img src="/files/8HFeRi1U1yrbpG4bR2mv" alt=""><figcaption></figcaption></figure>

1. En bas de la page cliquez sur le bouton transférer.
2. Saisissez le nom de l’utilisateur ou de l’organisation vers lequel vous souhaitez transférer l'API, puis cliquez sur son profil quand il apparaît à l’écran ;
3. Indiquez une raison éventuelle pour ce transfert dans la zone "Commentaire" puis cliquez sur "Transférer l'API" pour valider la demande de transfert ;
4. Votre destinataire reçoit alors une notification. Une fois la demande de transfert acceptée par votre destinataire, l'API lui est effectivement transféré.

{% hint style="warning" %}
Attention, cette action ne peut pas être annulée.
{% endhint %}
{% endtab %}

{% tab title="Jeux de données associés" %}

#### Onglet *Jeux de données associés*

Vous y retrouvez l’ensemble des **jeux de données** associés à cette API.

Vous pouvez en ajouter ou en retirer.
{% endtab %}

{% tab title="Discussions" %}

#### Onglet *Discussions*

Cet onglet présente les **discussions** sur cette API.

* 👁️ Cliquez sur l’icône **œil** pour consulter la discussion sur l’interface publique ;
* 💬 Cliquez sur l’icône **bulle de dialogue** pour y répondre dans l’interface d’administration.
  {% endtab %}

{% tab title="Activités" %}

#### Onglet *Activités*

Cet onglet vous donne accès à **l’historique des modifications réalisées** sur cette API.
{% endtab %}
{% endtabs %}


# Publier une réutilisation

Les données mises à disposition sur data.gouv.fr peuvent être réutilisées [selon les termes définis dans la licence qui leur est associée](/guides/guide-juridique/reutilisateurs-de-donnees). Si vous êtes à l’origine d’une réutilisation, vous pouvez la référencer sur la page du jeu de données sur lequel vous vous êtes appuyés.

{% hint style="info" %}
**Pourquoi référencer une réutilisation ?**

Référencer une réutilisation sur la page d’un jeu de données permet notamment de :

* **Donner de la visibilité à la réutilisation** et démontrer son savoir-faire ;
* **Apporter de l’information au public** ;
* **Engager un dialogue avec le producteur du jeu de données** qui sera plus enclin à répondre aux demandes quand il peut constater de l’usage qui est fait des données.
* **Montrer comment le jeu de données peut être réutilisé** et inspirer d’autres réutilisations potentielles ;
* **Faire avancer l’open data** en participant à affirmer l’importance de l’ouverture des données publiques.
  {% endhint %}

La procédure pour publier une réutilisation sur data.gouv.fr est la suivante :

{% embed url="<https://youtu.be/I1NbAwGZVBM?si=I4CUQ7IYdQNu07gT>" %}

### **1. Définir qui publie la réutilisation** <a href="#definir-qui-publie-la-reutilisation" id="definir-qui-publie-la-reutilisation"></a>

Nous vous conseillons de publier une réutilisation sous le nom de votre compte utilisateur que si elle n’a pas été produite dans le cadre des activités d’une organisation à laquelle vous êtes rattaché.

### **2. Décrire la réutilisation** <a href="#decrire-la-reutilisation" id="decrire-la-reutilisation"></a>

Une bonne description est essentielle au bon référencement. Lors de la publication de votre réutilisation, vous aurez ainsi à détailler les champs suivants :

<table><thead><tr><th width="144">Information</th><th>Description de l'information</th></tr></thead><tbody><tr><td>Titre*</td><td>Préférez un titre qui permet de comprendre l’usage qui est fait des données plutôt que le nom du site ou de l’application (« Moteur de recherche des accords d’entreprises » plutôt que « Accords-entreprise.fr » par exemple).</td></tr><tr><td>URL*</td><td>Saisissez le lien de la page sur laquelle la réutilisation est visible.<br>Pointer plutôt vers la réutilisation en elle même que sur une page d'accueil. Assurez-vous que le lien soit stable dans le temps.</td></tr><tr><td>Type*</td><td>Indiquez le type dans lequel ranger la réutilisation (API, application, article de presse, visualisation, etc.).</td></tr><tr><td>Description*</td><td>Vous pouvez renseigner notamment la méthode de création de la réutilisation, ce que la réutilisation permet de faire ou de montrer ou encore en dire plus sur vous et sur le contexte de cette réutilisation.<br>Il est préférable de garder un ton neutre : si la réutilisation ressemble trop à un message promotionnel il est possible que nous la supprimions.</td></tr><tr><td>Mots clés</td><td><p>Les mots clés apparaissent sur la page de présentation et apportent un meilleur référencement lors d’une recherche utilisateur.</p><p>À partir de chaque mot clé, vous pouvez obtenir la liste des réutilisations pour lesquelles le mot clé a également été assigné.</p></td></tr><tr><td>Mode brouillon</td><td>L’activation du mode brouillon permet de ne pas mettre en ligne la réutilisation. Cela laisse la possibilité de l’éditer avant sa publication.</td></tr></tbody></table>

*\*Les champs identifiés par un astérisque sont obligatoires.*

### **3. Associer des jeux de données à la réutilisation**

Par défaut, votre réutilisation sera liée au jeu de données qui vous a servi de point de départ. Mais si votre réutilisation a exploité d’autres jeux de données, vous pouvez les associer à votre réutilisation à cette étape.

Il est important d’associer tous les jeux de données utilisés, car cela permet de comprendre les croisements qui ont été nécessaires et d’améliorer la visibilité de votre réutilisation.

### **4. Insérer une image** <a href="#inserer-une-image" id="inserer-une-image"></a>

Si votre réutilisation prend la forme d’une représentation graphique, vous pouvez en donner un aperçu aux autres utilisateurs au moyen d’une image ou d’une capture d’écran. Cette image figurera dans la partie ***Réutilisations*** de la page du jeu de donnée associé.

Lorsque c’est pertinent, les captures d’écrans permettent de mieux rendre compte de ce qu’est la réutilisation, elles sont donc préférables aux logos ou aux illustrations par exemple.

### 5. Faire connaitre sa réutilisation

Une fois votre réutilisation publiée, nous vous conseillons de la partager sur les réseaux sociaux. N’hésitez pas à mentionner data.gouv.fr sur les réseaux sociaux.\
\
Nous mettons tous les mois en avant nos réutilisations préférées dans [un article](https://www.data.gouv.fr/fr/posts/) ainsi que sur les réseaux sociaux, n’hésitez pas à y faire un tour pour voir si vous y figurez !


# Modifier une réutilisation

Une fois votre réutilisation publiée, vous pouvez la gérer depuis l'espace d'administration.

## Voir ses réutilisations

* Connectez-vous à votre compte ;
* Cliquez sur <img src="/files/HbOup3ueQ95xZh8s2jbW" alt="" data-size="line"> en haut à droite de votre écran ;
* Dans la colonne de gauche, cliquez sur
  * le nom de votre organisation pour voir les contenus de votre organisation ;
  * Ou sur "Mon profil" pour voir les contenus publiés en votre nom ;
* Cliquez sur <img src="/files/NeOI3rReeFLGG62rKoC7" alt="" data-size="line">

Vous pouvez consulter ici toutes les **réutilisations publiées.**

Dans la colonne **"Actions"** du tableau :

* 👁️ Cliquez sur l’icône **œil** pour consulter la réutilisation sur l’interface publique ;
* ✏️ Cliquez sur l’icône **crayon** pour la modifier dans l’interface d’administration.

{% hint style="info" %}
Vous pouvez aussi accéder à la modification de votre réutilisation directement depuis la page publique de celle-ci en cliquant sur le bouton <img src="/files/glDBNjn3VWxHKHPDCJPv" alt="" data-size="line">.
{% endhint %}

## Modifier ses réutilisations

Le tableau de bord d’une réutilisation se compose de plusieurs onglets :

{% tabs %}
{% tab title="Métadonnées" %}

#### Onglet *Métadonnées*

Cet onglet vous permet de modifier les informations relatives à cette réutilisation.

Vous pouvez également :

#### Modifier la visibilité de la réutilisation

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

#### Transférer cette réutilisation

Une réutilisation publiée au nom d’un individu ou d’une organisation peut être transféré vers un autre individu ou une autre organisation.

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

1. En bas de la page cliquez sur le bouton transférer.
2. Saisissez le nom de l’utilisateur ou de l’organisation vers lequel vous souhaitez transférer la réutilisation, puis cliquez sur son profil quand il apparaît à l’écran ;
3. Indiquez une raison éventuelle pour ce transfert dans la zone "Commentaire" puis cliquez sur "Transférer cette réutilisation" pour valider la demande de transfert ;
4. Votre destinataire reçoit alors une notification. Une fois la demande de transfert acceptée par votre destinataire, la réutilisation lui est effectivement transféré.

{% hint style="warning" %}
Attention, cette action ne peut pas être annulée.
{% endhint %}
{% endtab %}

{% tab title="Jeux de données" %}

#### Onglet *Jeux de données*

Vous y retrouvez l’ensemble des **jeux de données** associés à cette réutilisation.

Vous pouvez en ajouter ou en retirer.
{% endtab %}

{% tab title="Discussions" %}

#### Onglet *Discussions*

Cet onglet présente les **discussions** sur cette réutilisation.

* 👁️ Cliquez sur l’icône **œil** pour consulter la discussion sur l’interface publique ;
* 💬 Cliquez sur l’icône **bulle de dialogue** pour y répondre dans l’interface d’administration.
  {% endtab %}

{% tab title="Activités" %}

#### Onglet *Activités*

Cet onglet vous donne accès à **l’historique des modifications réalisées** sur cette réutilisation.
{% endtab %}
{% endtabs %}


# Prise en main

{% hint style="info" %}
**Qu’est-ce qu’une API ?**

Une API est une interface, un contrat passé entre deux systèmes informatiques pour leur permettre de communiquer. Cette solution informatique permet d’automatiser des tâches depuis votre ordinateur ou vos serveurs.
{% endhint %}

A partir de l’API de data.gouv.fr, vous pouvez réaliser les mêmes actions que sur la plateforme :

* **Créer un jeu de données au nom de votre compte utilisateur ou au nom de votre organisation** ;
* **Décrire votre jeu de données et les ressources associées** ;
* **Ajouter ou supprimer une ressource ou un jeu de données**.

L’API de data.gouv.fr propose également des fonctionnalité complémentaires à la publication de jeux de données comme la possibilité de récupérer les métadonnées des jeux de données ou de fichiers ou encore d'accéder au contenu des fichiers d’un jeu de données.

{% hint style="info" %}
**Quand utiliser l’API de data.gouv.fr ?**

À la différence du mode de mise à disposition directe des données sur data.gouv.fr, l’utilisation de l’API permet de réaliser des actions de manière automatisée depuis votre ordinateur ou vos serveurs.\
Il est par conséquent conseillé d’utiliser une API lorsque la fréquence de publication d’un jeu de données est régulière.\
Voir la différence entre [API et moissonnage](broken://pages/THaWx8YnNzHJDxnuPXJp).
{% endhint %}

L’utilisation de l’API de data.gouv.fr se fait par le point d’entrée racine de l’API. Afin de pouvoir exécuter des opérations d’écriture, il est nécessaire d’obtenir une clé API. Cette clé est accessible depuis les paramètres de votre profil administrateur.

Les appels à l’API sont soumis aux mêmes permissions que l’interface web. Par exemple, si vous souhaitez publier ou modifier un jeu de données au nom d’une organisation, vous devez appartenir à cette organisation.

## Racine

Le point d’entrée racine de l’API est <https://www.data.gouv.fr/api/1/>.

Si vous souhaitez faire des tests sur la plateforme [demo.data.gouv.fr](https://demo.data.gouv.fr/), le point d’entrée racine de l’API est <https://demo.data.gouv.fr/api/1/>.

Dans la suite de cette documentation, il y sera fait référence par `$API`.

## Authentification <a href="#authentification" id="authentification"></a>

De façon à pouvoir exécuter des opérations d’écriture, vous devez commencer par obtenir une [clé d’API](https://www.data.gouv.fr/fr/admin/me/#apikey) dans les paramètres de votre profil.

Cette clé doit être fournie dans l’entête HTTP `X-API-KEY` à chaque appel en écriture (`POST`,`PUT`, `PATCH` et `DELETE`).

## Autorisations <a href="#autorisations" id="autorisations"></a>

Les appels d’API sont soumis aux même permissions que l’interface web.

Par exemple, vous devez être membre d’une organisation pour modifier l’un de ses jeux de données.

{% hint style="warning" %}
Par défaut, un jeu de données créé via l’API est public. Afin de créer et maintenir un jeu de données en brouillon, il faut mettre l’attribut `private: true` dans chaque appel à l’API. Sinon, chaque modification d’un jeu de données par l’API va le passer en public.
{% endhint %}

## Formats de données <a href="#formats-de-donnees" id="formats-de-donnees"></a>

### Content-type <a href="#content-type" id="content-type"></a>

Les différents points d’entrée de l’API attendent du JSON (`application/json`) en entrée et renvoient du JSON en sortie. Les seules exceptions sont les points d’entrée qui gèrent l’upload de fichiers : ils acceptent du `multipart/form-data` et renvoient du JSON.

### Identifiants d’URL <a href="#identifiants-durl" id="identifiants-durl"></a>

À chaque fois que vous pouvez utiliser un identifiant d’objet dans une URL de l’API, vous avez les choix suivants :

* l’identifiant technique permanent (**ex:** `5bbb6d6cff66bd4dc17bfd5a`)
* le slug (**ex:** `mon-dataset`)

Par exemple, un dataset `5bbb6d6cff66bd4dc17bfd5a` dont le slug est `mon-dataset`, vous pouvez accéder à l’URL `$API/datasets/<dataset>`, par:

* `$API/datasets/5bbb6d6cff66bd4dc17bfd5a`
* `$API/datasets/mon-dataset`

{% hint style="warning" %}
Le slug d’un objet peut-être amené à changer si le producteur change le nom de l’objet alors que l’identifiant technique lui ne change jamais. Il est donc préférable d’utiliser les identifiants techniques dans les scripts qui doivent être durables et rejouables.
{% endhint %}

### Listes simples <a href="#listes-simples" id="listes-simples"></a>

Les listes simples sont renvoyées sous forme d’une liste JSON.

Par exemple, la liste des types de réutilisations:

```
[
  { "id": "paper", "label": "Papier" },
  { "id": "application", "label": "Application" },
  { "id": "hardware", "label": "Objet connecté" },
  { "id": "api", "label": "API" },
  { "id": "visualization", "label": "Visualisation" },
  { "id": "post", "label": "Article de blog" },
  { "id": "news_article", "label": "Article de presse" },
  { "id": "idea", "label": "Idée" }
]
```

### Pagination <a href="#pagination" id="pagination"></a>

Certaines méthodes sont paginées et suivent le même modèle de pagination. La liste d’objets est encapsulée dans un objet `Page`.

Vous n’avez pas à calculer vous-même les pages précédentes et suivantes puisque les URL sont disponibles dans la réponse dans les attributs `previous_page` et `next_page`. Ils seront définis à `null` si il n’y a pas de page précédente et/ou suivante.

**Exemple:**

```
{
    "data": [{...}, {...}],
    "page": 1,
    "page_size": 20,
    "total": 10,
    "next_page": "https://www.data.gouv.fr/api/endpoint/?page=2",
    "previous_page": null
}
```

### Gestion d’erreurs <a href="#gestion-derreurs" id="gestion-derreurs"></a>

La gestion d’erreur de l’API utilise les codes d’erreur HTTP standards :

* **400** : requête invalide
* **401** : authentification requise
* **403** : permissions insuffisantes
* **500** : erreur indéfinie côté serveur
* **502** : le serveur ne répond pas

Lorsque c’est possible, l’API répondra en JSON avec le format suivant :

```
{
  "message": "un message d’erreur"
}
```

**Erreur 423**

En cas d’activités suspectes ou de spams répétés, l’API pourra retourner l’erreur 423, empêchant ainsi toute nouvelle création d’utilisateur ou de contenu, à l’exception des ressources (hors ressources communautaires).

```
{
  "message": "Due to unusual activities, the creation of new content is currently disabled."
}
```

## **Support**

Si vous n’arrivez pas à comprendre une erreur, que vous avez besoin de support et souhaitez contacter l’équipe de data.gouv.fr, pensez à fournir les éléments suivants :

* la requête HTTP effectuée (avec les entêtes HTTP)
* la réponse éventuelle du serveur (avec ses entêtes)
* la date et l’heure de la requête
* un peu de contexte sur la raison de cette requête, son cadre

Parfois, la réponse en erreur comprend une entête `X-Sentry-ID`. Pensez à fournir cet identifiant, il nous permettra de comprendre précisement ce qui ne va pas et, si c’est un bug, à le corriger.


# Tutoriel

> Si vous souhaitez utiliser `python` pour gérer vos jeux de données, l'équipe de data.gouv.fr maintient un package qui facilite les interactions : [`datagouv-client`](https://github.com/datagouv/datagouv_client) . Son fonctionnement est détaillé dans [la section suivante](/api-de-data.gouv.fr/prise-en-main/gerer-un-jeu-de-donnees-par-lapi#datagouv-client).

Tous les exemples utilisent [httpie](http://httpie.org/) et [jq](http://stedolan.github.io/jq/) pour faciliter la lisibilité. Vous n’êtes pas contraint d’utiliser ces bibliothèques pour votre code, ce sont juste des outils pour mieux comprendre l’API.

### Vérifier que httpie fonctionne <a href="#verifier-que-httpie-fonctionne" id="verifier-que-httpie-fonctionne"></a>

Une fois httpie installé, vous pouvez vérifier qu’il fonctionne comme convenu en tapant cette commande dans votre terminal :

```
$ http 'https://www.data.gouv.fr/api/1/organizations/?page_size=1'
```

Cela doit retourner une réponse de ce style :

```
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
... LOTS OF HEADERS ...

{
    "data": [
        {

            ... LOTS OF DATA ...

            "name": "mairie de toulon",
            "page": "https://www.data.gouv.fr/organizations/mairie-de-toulon/",
            "slug": "mairie-de-toulon",
            "uri": "https://www.data.gouv.fr/api/1/organizations/5ba0b9f5634f4150f31579dd/",
            "url": "https://toulon.fr/"
        }
    ],
    "next_page": "https://www.data.gouv.fr/api/1/organizations/?page=2&page_size=1",
    "page": 1,
    "page_size": 1,
    "previous_page": null,
    "total": "10"
}
```

C’est très verbeux et nous n’avons pas besoin de toute cette information pour l’instant. C’est la raison pour laquelle nous utilisons jq.

### Vérifier que jq fonctionne <a href="#verifier-que-jq-fonctionne" id="verifier-que-jq-fonctionne"></a>

Une fois jq installé, vous pouvez vérifier qu’il fonctionne en tapant cette commande dans votre terminal :

```
$ http 'https://www.data.gouv.fr/api/1/organizations/?page_size=1' | jq '.data[].name'
```

Cela doit retourner une réponse de ce style :

```
"mairie de toulon"
```

C’est bien mieux ! Maintenant que tout fonctionne bien, réduisons un peu la taille de notre ligne de commande :

```
$ export API="https://www.data.gouv.fr/api/1/"
```

La commande précédente est maintenant équivalente à la commande plus lisible (ne pas oublier les apostrophes) :

```
$ http $API'organizations/?page_size=1' | jq '.data[].name'
```

C’est un bon début, maintenant plongeons dans l’API en elle-même. Nous ne le savons pas encore mais nous avons déjà récupéré notre première organisation.

### Parcourir et récupérer des données <a href="#parcourir-et-recuperer-des-donnees" id="parcourir-et-recuperer-des-donnees"></a>

Vous pouvez récupérer une liste d’organisations (filtrée ou non) ou une organisation unitaire. Lorsque vous récupérez un point d’accès, le nombre d’éléments par page par défaut est de 20. Récupérons les 20 premières organisations via l’API :

```
$ http $API'organizations/' | jq '.data[].name'
```

```
"mairie de toulon"
"SMIC DES VOSGES"
"Mairie de Vif"
"Kammoun nassib"
"Communauté urbaine de Caen la mer"
"Reno Inc"
"BEAUTEBOUTIQUE"
"Blue Soft"
"Syndicat de collecte et de traitement des déchets ménagers de l'Aude"
"Et voilà !"
```

C’est une bonne chose d’avoir cette liste mais que se passe-t-il si nous souhaitons parcourir les organisations retournées ? Récupérons les 5 premières URI d’organisations.

```
$ http $API'organizations/?page_size=5' | jq '.data[].uri'
```

```
"https://www.data.gouv.fr/api/1/organizations/5ba0b9f5634f4150f31579dd/"
"https://www.data.gouv.fr/api/1/organizations/5b9fbf32634f4128317ef388/"
"https://www.data.gouv.fr/api/1/organizations/5b9b657a634f412c7f5c939b/"
"https://www.data.gouv.fr/api/1/organizations/5b9ad48e634f413f7e0f3512/"
"https://www.data.gouv.fr/api/1/organizations/5b9a00938b4c41453e8a406b/"
```

Maintenant, nous sommes capables de récupérer une organisation seulement via l’URI retournée.

```
$ http $API'organizations/5ba0b9f5634f4150f31579dd/' | jq '.'
```

Cela fait beaucoup de données à parcourir. Affinons ces données, si nous voulons seulement extraire les métriques :

```
$ http $API'organizations/5ba0b9f5634f4150f31579dd/' | jq '.metrics'
```

```
{
  "datasets": 0,
  "members": 1,
  "views": 1,
  "permitted_reuses": 0,
  "reuses": 0,
  "dataset_views": 0,
  "reuse_views": 0,
  "followers": 0,
  "resource_downloads": 0
}
```

Ou peut-être juste le nom des membres de cette organisation :

```
$ http $API'organizations/5ba0b9f5634f4150f31579dd/' | jq '.members[].user.last_name'
```

```
"VOIRIN"
```

Il est vraiment de votre ressort de récupérer les données pertinentes pour votre projet. N’hésitez pas à consulter le [tutoriel de jq](http://stedolan.github.io/jq/tutorial/) et [son manuel](http://stedolan.github.io/jq/manual/) si vous voulez parcourir l’API via la ligne de commande plus en détail.

### Modifier et supprimer des données <a href="#modifier-et-supprimer-des-donnees" id="modifier-et-supprimer-des-donnees"></a>

Attention, vous entrez dans une zone de danger. Les modifications et suppressions de données via l’API sont définitives et nous ne proposons pas de bac à sable pour faire des tests avant de les exécuter (pour l’instant). Soyez conscient de ces responsabilités avant d’utiliser vos super pouvoirs.

Si vous tentez de modifier une ressource sans le token d’authentification, une erreur 401 sera renvoyée :

```
$ http PUT $API'organizations/organization-uri-x/'
```

```
HTTP/1.1 401 UNAUTHORIZED
... LOTS OF HEADERS ...

{
    "message": "Unauthorized",
    "status": 401
}
```

Vous devez spécifier votre Clé d’API (voir ci-dessus) et utiliser le header HTTP `X-API-KEY`. Si vous tentez de modifier une ressource que vous ne contrôlez pas, une erreur 400 sera retournée :

```
$ http PUT $API'organizations/organization-uri-x/' X-API-KEY:your.api.key.here
```

```
HTTP/1.1 401 UNAUTHORIZED
... LOTS OF HEADERS ...

{
    "message": "Invalid API Key",
    "status": 401
}
```

C’est le message que vous obtiendrez si vous avez spécifié une mauvaise clé d’API. C’est un autre message d’erreur potentiel que vous pouvez rencontrer.

```
HTTP/1.1 403 FORBIDDEN
... LOTS OF HEADERS ...

{
    "message": "You do not have the permission to modify that object.",
    "status": 403
}
```

Cela arrive si vous essayez d’accéder à une ressource que vous ne pouvez éditer avec vos accréditations. Si votre clé est valide vous devriez obtenir quelque chose comme ça:

```
HTTP/1.1 200 OK
... LOTS OF HEADERS ...

{
    ...
}
```

Mais ça ne change pas tout ! C’est parfaitement normal, nous avons oublié de spécifier la bonne donnée à envoyer au serveur.

```
$ http PUT $API'organizations/organization-uri-x/' \
    X-API-KEY:your.api.key.here \
    name="Lorem ipsum" \
    description="The quick brown fox jumps over the lazy dog." \
    | jq '{name: .name, description: .description}'
```

```
{
  "name": "Lorem ipsum",
  "description": "The quick brown fox jumps over the lazy dog."
}
```

La ressource a été modifiée avec vos nouvelles valeurs. Finalement, vous pouvez supprimer une ressource avec le verbe HTTP approprié (attention, aucun retour arrière n’est possible en utilisant l’API pour le moment):

```
$ http DELETE $API'organizations/organization-uri-x/' X-API-KEY:your.api.key.here
```

```
HTTP/1.0 204 NO CONTENT
... LOTS OF HEADERS ...
```

Une fois effectué, vous pouvez vérifier que c’est effectif en envoyant un GET sur l’URL précédente:

```
$ http GET $API'organizations/organization-uri-x/'
```

```
HTTP/1.0 410 GONE
... LOTS OF HEADERS ...

{
    "message": "Organization has been deleted",
    "status": 410
}
```


# Gérer un jeu de données par l'API

Cette page documente les principales interactions que vous pouvez avoir avec un jeu de données par l’API.

Il est recommandé d’avoir lu l'[introduction](broken://pages/Q9seeEdFUuGFGyWy4TKX) et la page [prise en main de l'API](broken://pages/fWVTUwz2ZdQFY6vY4wlL) avant de consulter cette page.

Tous les exemples qui suivent sont réalisés avec un compte :

* qui est actif
* dont la clé d’API est `my-api-key`
* qui est membre d’une organisation dont l’identifiant est `5bbb6d6cff66bd4dc17bfd5a`.

Les exemples portants sur un jeu de données existant utilisent l’identifiant `5bc04b2cff66bd680e499f4a`. Ceux portants sur une ressource existante de ce jeu de données utilisent l’identifiant `54d47250-1daf-483b-965a-3013f8c76617`.

Pour simplifier la lecture de ces exemples, il y sera fait référence par les variables suivantes pour chaque langage:

{% tabs %}
{% tab title="CURL" %}

```bash
# Tous les examples CURL sont executés avec cette convention
# CURL doit être installé
export API = 'https://www.data.gouv.fr/api/1'
export API_KEY = 'my-api-key'
export ORG = '5bbb6d6cff66bd4dc17bfd5a'
export DATASET = '5bc04b2cff66bd680e499f4a'
export RESOURCE = '54d47250-1daf-483b-965a-3013f8c76617'
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
# Tous les examples HTTPie sont executés avec cette convention
# HTTPie doit être installé
export API = 'https://www.data.gouv.fr/api/1'
export API_KEY = 'my-api-key'
export ORG = '5bbb6d6cff66bd4dc17bfd5a'
export DATASET = '5bc04b2cff66bd680e499f4a'
export RESOURCE = '54d47250-1daf-483b-965a-3013f8c76617'
```

{% endtab %}

{% tab title="Python" %}

```python
# Tous les exemples Python sont executés avec cette convention

import requests  # installé avec `pip install requests`

API = 'https://www.data.gouv.fr/api/1'
API_KEY = 'my-api-key'
ORG = '5bbb6d6cff66bd4dc17bfd5a'
DATASET = '5bc04b2cff66bd680e499f4a'
RESOURCE = '54d47250-1daf-483b-965a-3013f8c76617'
HEADERS = {
    'X-API-KEY': API_KEY,
}


def api_url(path):
    return ''.join(API, path)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
# Tous les exemples Python sont executés avec cette convention

from datagouv import Client, Dataset, Resource  # installé avec `pip install datagouv-client`

# vous devez avoir les droits sur les objets que vous souhaitez modifier modifier
ORG = "5bbb6d6cff66bd4dc17bfd5a"
DATASET = "5bc04b2cff66bd680e499f4a"
RESOURCE = "54d47250-1daf-483b-965a-3013f8c76617"
client = Client(
    environment="www",  # pour cibler la plateforme de production, également possible de cibler demo ou dev
    api_key="my-api-key",  # utilisez bien la clé API de la plateforme spécifiée ci-dessus
)
```

{% endtab %}
{% endtabs %}

## Création d’un jeu de données <a href="#creation-dun-jeu-de-donnees" id="creation-dun-jeu-de-donnees"></a>

Pour créer un jeu de données, nous allons utiliser l’API de création de jeu de données.

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Content-Type:application/json" \
     -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     --data '{"title": "my title", "description": "My description", "organization": "$ORG"}' \
     -X POST $API/datasets/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http POST $API/datasets/ \
     X-Api-Key:$API_KEY \
     title="Mon titre" \
     description="Ma description" \
     organization=$ORG
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/')
response = requests.post(url, json={
    'title': 'Mon titre',
    'description': 'Ma description',
    'organization': ORG,
}, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
dataset = client.dataset().create(
    {
        "title": "Mon titre", 
        "description": "Ma description",
        "organization": ORG,
    },
)
```

{% endtab %}
{% endtabs %}

La réponse en JSON contient les métadonnées du jeu de données créé, en particulier l’identifiant et le slug.

La fiche du jeu de données est maintenant créée et il est maintenant possible d’y ajouter des ressources.

{% hint style="warning" %}
Par défaut, un jeu de données créé via l’API est public. Afin de créer et maintenir un jeu de données en brouillon, il faut mettre l’attribut `private: true` dans chaque appel à l’API. Sinon, chaque modification d’un jeu de données par l’API va le passer en public.
{% endhint %}

## Ajout d’une ressource <a href="#ajout-dune-ressource" id="ajout-dune-ressource"></a>

Pour créer une ressource, nous allons utiliser l’API création d’une ressource.

Il existe 2 cas de création de ressource :

* avec envoi d’un fichier, dit ressource locale ;
* avec référencement d’un fichier distant, dit ressource distante.

### **En envoyant un fichier**

Nous allons utiliser l’API d’envoi de ressource pour envoyer le fichier.

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     -F "file=@/chemin/vers/le/fichier" \
     -X POST $API/datasets/$DATASET/upload/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http -f POST $API/datasets/$DATASET/upload/ \
     X-Api-Key:$API_KEY \
     file@/chemin/vers/le/fichier
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/upload/'.format(DATASET))
response = requests.post(url, files={
    'file': open('/chemin/vers/le/fichier', 'rb'),
}, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```
resource = client.resource().create_static(
    file_to_upload="/chemin/vers/le/fichier",
    payload={
        "title": "Nouvelle ressource",
        "type": "main",  # optionnel, "main" par défaut
    },
    dataset_id=DATASET,
)

# ou alternativement au sein du dataset
dataset = client.dataset(DATASET)
resource = dataset.create_static(
    file_to_upload="/chemin/vers/le/fichier",
    payload={
        "title": "Nouvelle ressource",
        "type": "main",  # optionnel, "main" par défaut
    },
)
```

{% endtab %}
{% endtabs %}

La ressource est automatiquement créée et il est possible de modifier *a posteriori* les métadonnées avec l’API de mise à jour de ressource comme décrit [plus bas](#mise-a-jour-des-metadonnees-dune-ressource).

### **En référençant une URL existante**

L’API de création de ressource permet de créer une ressource distante. Dans notre cas, un fichier csv hébergé sur l’URL <https://url.to/ressource.csv>.

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Content-Type:application/json" \
     -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     --data '{"title": "my title", "description": "My description", "type": "main", filetype: "remote", "format": "csv",  "url": "https://url.to/ressource.csv"}' \
     -X POST $API/datasets/$DATASET/resources/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http POST $API/datasets/$DATASET/ressources/ \
     X-Api-Key:$API_KEY \
     title="Mon titre" \
     description="Ma description" \
     url="https://url.to/ressource.csv" \
     type="main" filetype="remote" format="csv"
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/resources/'.format(DATASET))
response = requests.post(url, json={
    'title': 'Mon titre',
    'description': 'Ma description',
    'url': 'https://url.to/ressource.csv',
    'type': 'main',
    'filetype': 'remote',
    'format': 'csv',
}, headers=HEADERS)

```

{% endtab %}

{% tab title="datagouv-client" %}

<pre class="language-python"><code class="lang-python">resource = client.resource().create_remote(
    payload={
        "url": "https://url.to/ressource.csv",
        "title": "Nouvelle ressource distante",
        "type": "main",  # optionnel, "main" par défaut
    },
    dataset_id=DATASET,
)

# ou alternativement au sein du dataset
dataset = client.dataset(DATASET)
<strong>resource = dataset.create_remote(
</strong>    payload={
        "url": "https://url.to/ressource.csv",
        "title": "Nouvelle ressource distante",
        "type": "main",  # optionnel, "main" par défaut
    },
)
</code></pre>

{% endtab %}
{% endtabs %}

## Modification d’un jeu de données <a href="#modification-dun-jeu-de-donnees" id="modification-dun-jeu-de-donnees"></a>

La suite des opérations s’appliquent sur le même jeu de données dont l’identifiant est `5bc04b2cff66bd680e499f4a` sur lequel vous avez les permissions nécéssaires à la modification. Ce jeu de données possède une ressource `54d47250-1daf-483b-965a-3013f8c76617` qui est soit distante soit locale suivant les exemples.

### Mise à jour des metadonnées de la fiche <a href="#mise-a-jour-des-metadonnees-de-la-fiche" id="mise-a-jour-des-metadonnees-de-la-fiche"></a>

Cette requête permet de mettre à jour les métadonnées d’un jeu de données en utilisant l’API de mise à jour de jeu de données

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Content-Type:application/json" \
     -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     --data '{"title": "Nouveau titre", "description": "Nouvelle description"}' \
     -X PUT $API/datasets/$DATASET/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http PUT $API/datasets/$DATASET/ \
     X-Api-Key:$API_KEY \
     title="Nouveau titre" \
     description="Nouvelle description"
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/'.format(DATASET))
response = requests.put(url, json={
    'title': 'Nouveau titre',
    'description': 'Nouvelle description',
}, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
dataset = client.dataset(DATASET)
dataset.update(
    {
        "title": "Nouveau titre",
        "description": "Nouvelle description",
    },
)
```

{% endtab %}
{% endtabs %}

### Mise à jour des métadonnées d’une ressource <a href="#mise-a-jour-des-metadonnees-dune-ressource" id="mise-a-jour-des-metadonnees-dune-ressource"></a>

Cette requête permet de mettre à jour les métadonnées d’une ressource en utilisant l’API de mise à jour de ressource

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Content-Type:application/json" \
     -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     --data '{"title": "Nouveau titre", "description": "Nouvelle description"}' \
     -X PUT $API/datasets/$DATASET/resources/$RESOURCE/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http PUT $API/datasets/$DATASET/resources/$RESOURCE/ \
     X-Api-Key:$API_KEY \
     title="Nouveau titre" \
     description="Nouvelle description"
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/resources/{}/'.format(DATASET, RESOUCE))
response = requests.put(url, json={
    'title': 'Nouveau titre',
    'description': 'Nouvelle description',
}, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
resource = client.resource(
    id=RESOURCE,
    dataset_id=DATASET,  # optionnel, il est récupéré si non renseigné 
)
resource.update(
    {
        "title": "Nouveau titre",
        "description": "Nouvelle description",
    },
)
```

{% endtab %}
{% endtabs %}

### Remplacer un fichier de ressource <a href="#remplacer-un-fichier-de-ressource" id="remplacer-un-fichier-de-ressource"></a>

Dans le cas d’une mise à jour de fichier de ressource locale (correction, ajout de données…),il est possible d’utiliser l’API de mise à jour de fichier. L’ancien fichier sera supprimé.

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     -F "file=@/chemin/vers/le/nouveau/fichier" \
     -X POST $API/datasets/$DATASET/resources/$RESOURCE/upload/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http -f POST $API/datasets/$DATASET/resources/$RESOURCE/upload/ \
     X-Api-Key:$API_KEY \
     file@/chemin/vers/le/nouveau/fichiers
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/resources/{}/upload/'.format(DATASET, RESOURCE))
response = requests.post(url, files={
    'file': open('/chemin/vers/le/nouveau/fichier', 'rb'),
}, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
resource = client.resource(
    id=RESOURCE,
    dataset_id=DATASET,  # optionnel, il est récupéré si non renseigné 
)
resource.update(
    file_to_upload="/chemin/vers/le/nouveau/fichier"
)
```

{% endtab %}
{% endtabs %}

### Signaler une mise à jour de fichier distant <a href="#signaler-une-mise-a-jour-de-fichier-distant" id="signaler-une-mise-a-jour-de-fichier-distant"></a>

Dans le cas d’une ressource distante, lorsque le fichier distant est mis à jour, il est important de le signaler afin que la fiche soit mise à jour et que les usagers le sache.

**🚧 A venir 🚧**

### Suppression d’une ressource <a href="#suppression-dune-ressource" id="suppression-dune-ressource"></a>

l’API de suppression de ressource permet de supprimer une ressource de la fiche d’un jeu de données. Le fichier associé est aussi supprimé.

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     -X DELETE $API/datasets/$DATASET/resources/$RESOURCE
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http DELETE $API/datasets/$DATASET/ressources/$RESOURCE/ X-Api-Key:$API_KEY
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/resources/{}/'.format(DATASET, RESOURCE))
response = requests.delete(url, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
resource = client.resource(
    id=RESOURCE,
    dataset_id=DATASET,  # optionnel, il est récupéré si non renseigné 
)
resource.delete()
```

{% endtab %}
{% endtabs %}

## Suppression d’un jeu de données <a href="#suppression-dun-jeu-de-donnees" id="suppression-dun-jeu-de-donnees"></a>

Pour supprimer un jeu de données, il suffit d’utiliser l’API de suppression de jeu de données:

{% tabs %}
{% tab title="CURL" %}

```bash
curl -H "Accept:application/json" \
     -H "X-Api-Key:$API_KEY" \
     -X DELETE $API/datasets/$DATASET/
```

{% endtab %}

{% tab title="HTTPie" %}

```bash
http DELETE $API/datasets/$DATASET/ X-Api-Key:$API_KEY
```

{% endtab %}

{% tab title="Python" %}

```python
url = api_url('/datasets/{}/'.format(DATASET))
response = requests.delete(url, headers=HEADERS)
```

{% endtab %}

{% tab title="datagouv-client" %}

```python
dataset = client.dataset(DATASET)
dataset.delete()
```

{% endtab %}
{% endtabs %}

Le jeu de données est maintenant **marqué comme supprimé**, il reste visible uniquement par vous et les membres de votre organisation, ainsi que par l’équipe d’administrateur de data.gouv.fr. Il sera purgé (supprimé définitivement de la plateforme), d’ici la fin de la journée.

### Restauration d’un jeu de données supprimé par erreur <a href="#restauration-dun-jeu-de-donnees-supprime-par-erreur" id="restauration-dun-jeu-de-donnees-supprime-par-erreur"></a>

Tant que le jeu de données n’a pas été purgé, vous avez la possibilité de le restaurer:

**🚧 A venir 🚧**


# Référence

Ceci est la documentation de référence de l’API de [data.gouv.fr](https://www.data.gouv.fr/). Elle est auto-générée et reflète exactement ce qui est effectivement en production.

Il est recommandé d’avoir lu l'[introduction](broken://pages/Q9seeEdFUuGFGyWy4TKX) et la page [prise en main de l'API](broken://pages/fWVTUwz2ZdQFY6vY4wlL) avant de consulter cette page.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>/site</td><td></td><td><a href="/pages/aRVbbbmVH5WyYmlfOaRK">/pages/aRVbbbmVH5WyYmlfOaRK</a></td></tr><tr><td></td><td>/datasets</td><td></td><td><a href="/pages/t5X65STIw3bj1gkkodKP">/pages/t5X65STIw3bj1gkkodKP</a></td></tr><tr><td></td><td>/reuses</td><td></td><td><a href="/pages/fyVnyoMDpr0cIe0k4rPf">/pages/fyVnyoMDpr0cIe0k4rPf</a></td></tr><tr><td></td><td>/dataservices</td><td></td><td><a href="/pages/h24Hq9vZemyPNQ0EINXy">/pages/h24Hq9vZemyPNQ0EINXy</a></td></tr><tr><td></td><td>/discussions</td><td></td><td><a href="/pages/JubyIIbmaLRIXRh1bm2o">/pages/JubyIIbmaLRIXRh1bm2o</a></td></tr><tr><td></td><td>/organizations</td><td></td><td><a href="/pages/FC9EbPObSKlUQsxMc9et">/pages/FC9EbPObSKlUQsxMc9et</a></td></tr><tr><td></td><td>/contacts</td><td></td><td><a href="/pages/2ve8Le2pvNw1aFRhMf80">/pages/2ve8Le2pvNw1aFRhMf80</a></td></tr><tr><td></td><td>/users</td><td></td><td><a href="/pages/vDngy2O6q60LqDNHpvf9">/pages/vDngy2O6q60LqDNHpvf9</a></td></tr><tr><td></td><td>/me</td><td></td><td><a href="/pages/OiswaI5pnwjSo88BnCkV">/pages/OiswaI5pnwjSo88BnCkV</a></td></tr><tr><td></td><td>/spatial</td><td></td><td><a href="/pages/HDo0IynFz13pOlXTzLB4">/pages/HDo0IynFz13pOlXTzLB4</a></td></tr><tr><td></td><td>/workers</td><td></td><td><a href="/pages/8blExRotjxfMcWAlICzz">/pages/8blExRotjxfMcWAlICzz</a></td></tr><tr><td></td><td>/tags</td><td></td><td><a href="/pages/stMVMtTtcxE7I6pUfB8o">/pages/stMVMtTtcxE7I6pUfB8o</a></td></tr><tr><td></td><td>/topics</td><td></td><td><a href="/pages/XMWLFISbDBISUF4mWxc7">/pages/XMWLFISbDBISUF4mWxc7</a></td></tr><tr><td></td><td>/posts</td><td></td><td><a href="/pages/sFhTPZpecWZaGruOwfYw">/pages/sFhTPZpecWZaGruOwfYw</a></td></tr><tr><td></td><td>/transfer</td><td></td><td><a href="/pages/MyU8oYZ9TxuZ6IcWJwZv">/pages/MyU8oYZ9TxuZ6IcWJwZv</a></td></tr><tr><td></td><td>/notifications</td><td></td><td><a href="/pages/tjuElEq30gqRb77M6kB6">/pages/tjuElEq30gqRb77M6kB6</a></td></tr><tr><td></td><td>/avatars</td><td></td><td><a href="/pages/OIfeMKbmK93GhHwWYqT8">/pages/OIfeMKbmK93GhHwWYqT8</a></td></tr><tr><td></td><td>/harvest</td><td></td><td><a href="/pages/5Opr5sCvudapcC7sefxg">/pages/5Opr5sCvudapcC7sefxg</a></td></tr></tbody></table>


# site

Site global namespace

## GET /site/

> Site-wide variables

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/":{"get":{"operationId":"get_site","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Site%20%28read%29"}}}}},"summary":"Site-wide variables","tags":["site"]}}},"components":{"schemas":{}}}
```

## Return the RDF catalog in the requested format

> Filtering, sorting and paginating abilities apply to the datasets elements.

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/catalog.{_format}":{"get":{"description":"Filtering, sorting and paginating abilities apply to the datasets elements.","operationId":"get_site_rdf_catalog_format","parameters":[{"schema":{"type":"string"},"description":"The search query","in":"query","name":"q"},{"schema":{"type":"string","enum":["title","created","last_update","reuses","followers","views","-title","-created","-last_update","-reuses","-followers","-views"]},"description":"The field (and direction) on which sorting apply","in":"query","name":"sort"},{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"in":"query","name":"tag"},{"schema":{"type":"string"},"in":"query","name":"license"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on featured datasets only. If set to false, it will exclude featured datasets.","in":"query","name":"featured"},{"schema":{"type":"string"},"in":"query","name":"geozone"},{"schema":{"type":"string"},"in":"query","name":"granularity"},{"schema":{"type":"string"},"in":"query","name":"temporal_coverage"},{"schema":{"type":"string","enum":["open","open_with_account","restricted"]},"in":"query","name":"access_type"},{"schema":{"type":"string"},"in":"query","name":"organization"},{"schema":{"type":"string","enum":["pivotal-data","spd","inspire","hvd","sl","sr"]},"in":"query","name":"badge"},{"schema":{"type":"string","enum":["public-service","certified","association","company","local-authority"]},"in":"query","name":"organization_badge"},{"schema":{"type":"string"},"in":"query","name":"owner"},{"schema":{"type":"string"},"description":"(beta, subject to change/be removed)","in":"query","name":"followed_by"},{"schema":{"type":"string"},"in":"query","name":"format"},{"schema":{"type":"string"},"in":"query","name":"schema"},{"schema":{"type":"string"},"in":"query","name":"schema_version"},{"schema":{"type":"string"},"in":"query","name":"topic"},{"schema":{"type":"string"},"in":"query","name":"credit"},{"schema":{"type":"string"},"in":"query","name":"dataservice"},{"schema":{"type":"string"},"in":"query","name":"reuse"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on archived datasets only. If set to false, it will exclude archived datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"archived"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on deleted datasets only. If set to false, it will exclude deleted datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"deleted"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on private datasets only. If set to false, it will exclude private datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"private"},{"schema":{"type":"integer","default":100,"exclusiveMinimum":0},"description":"The page size","in":"query","name":"page_size"}],"responses":{"200":{"description":"Success"}},"summary":"Return the RDF catalog in the requested format","tags":["site"]}}}}
```

## GET /site/catalog

> Root RDF endpoint with content negociation handling

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/catalog":{"get":{"operationId":"get_site_rdf_catalog","parameters":[{"schema":{"type":"string"},"description":"The search query","in":"query","name":"q"},{"schema":{"type":"string","enum":["title","created","last_update","reuses","followers","views","-title","-created","-last_update","-reuses","-followers","-views"]},"description":"The field (and direction) on which sorting apply","in":"query","name":"sort"},{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"in":"query","name":"tag"},{"schema":{"type":"string"},"in":"query","name":"license"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on featured datasets only. If set to false, it will exclude featured datasets.","in":"query","name":"featured"},{"schema":{"type":"string"},"in":"query","name":"geozone"},{"schema":{"type":"string"},"in":"query","name":"granularity"},{"schema":{"type":"string"},"in":"query","name":"temporal_coverage"},{"schema":{"type":"string","enum":["open","open_with_account","restricted"]},"in":"query","name":"access_type"},{"schema":{"type":"string"},"in":"query","name":"organization"},{"schema":{"type":"string","enum":["pivotal-data","spd","inspire","hvd","sl","sr"]},"in":"query","name":"badge"},{"schema":{"type":"string","enum":["public-service","certified","association","company","local-authority"]},"in":"query","name":"organization_badge"},{"schema":{"type":"string"},"in":"query","name":"owner"},{"schema":{"type":"string"},"description":"(beta, subject to change/be removed)","in":"query","name":"followed_by"},{"schema":{"type":"string"},"in":"query","name":"format"},{"schema":{"type":"string"},"in":"query","name":"schema"},{"schema":{"type":"string"},"in":"query","name":"schema_version"},{"schema":{"type":"string"},"in":"query","name":"topic"},{"schema":{"type":"string"},"in":"query","name":"credit"},{"schema":{"type":"string"},"in":"query","name":"dataservice"},{"schema":{"type":"string"},"in":"query","name":"reuse"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on archived datasets only. If set to false, it will exclude archived datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"archived"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on deleted datasets only. If set to false, it will exclude deleted datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"deleted"},{"schema":{"type":"boolean"},"description":"If set to true, it will filter on private datasets only. If set to false, it will exclude private datasets. User must be authenticated and results are limited to user visibility","in":"query","name":"private"},{"schema":{"type":"integer","default":100,"exclusiveMinimum":0},"description":"The page size","in":"query","name":"page_size"}],"responses":{"200":{"description":"Success"}},"summary":"Root RDF endpoint with content negociation handling","tags":["site"]}}}}
```

## GET /site/datasets.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/datasets.csv":{"get":{"operationId":"get_site_datasets_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```

## GET /site/harvests.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/harvests.csv":{"get":{"operationId":"get_site_harvests_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```

## GET /site/organizations.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/organizations.csv":{"get":{"operationId":"get_site_organizations_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```

## GET /site/resources.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/resources.csv":{"get":{"operationId":"get_site_resources_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```

## GET /site/reuses.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/reuses.csv":{"get":{"operationId":"get_site_reuses_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```

## GET /site/tags.csv

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Site global namespace","name":"site"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/site/tags.csv":{"get":{"operationId":"get_site_tags_csv","responses":{"200":{"description":"Success"}},"tags":["site"]}}}}
```


# datasets

Dataset related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/" method="post" expanded="false" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/badges/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/{community}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/{community}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/{community}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/community\_resources/{community}/upload/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/extensions/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/frequencies/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/licenses/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/r/{id}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/resource\_types/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/schemas/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/suggest/formats/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/suggest/mime/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/badges/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/badges/{badge\_kind}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/featured/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/featured/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/rdf" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/rdf.{format}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/{rid}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/{rid}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/{rid}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/{rid}/check/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/resources/{rid}/upload/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/upload/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{dataset}/upload/community/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{id}/followers/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{id}/followers/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/datasets/{id}/followers/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# reuses

Reuse related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/badges/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/topics/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/types/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{id}/followers/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{id}/followers/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{id}/followers/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/badges/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/badges/{badge\_kind}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/datasets/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/featured/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/featured/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/reuses/{reuse}/image" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# discussions

Discussion related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/{id}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/{id}/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/{id}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/discussions/{id}/comments/{cidx}" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# organizations

Organization related operations

## GET /organizations/

> List or search all organizations

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/":{"get":{"operationId":"list_organizations","parameters":[{"schema":{"type":"string"},"description":"The search query","in":"query","name":"q"},{"schema":{"type":"string","enum":["name","reuses","datasets","followers","views","created","last_modified","-name","-reuses","-datasets","-followers","-views","-created","-last_modified"]},"description":"The field (and direction) on which sorting apply","in":"query","name":"sort"},{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"integer","default":20,"exclusiveMinimum":0},"description":"The page size to fetch","in":"query","name":"page_size"},{"schema":{"type":"string","enum":["public-service","certified","association","company","local-authority"]},"in":"query","name":"badge"},{"schema":{"type":"string"},"in":"query","name":"name"},{"schema":{"type":"string"},"in":"query","name":"business_number_id"},{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationPage"}}}}},"summary":"List or search all organizations","tags":["organizations"]}}},"components":{"schemas":{"OrganizationPage":{"properties":{"data":{"description":"The page data","items":{"$ref":"#/components/schemas/Organization (read)"},"type":"array"},"next_page":{"description":"The next page URL if exists","type":"string"},"page":{"description":"The current page","minimum":1,"type":"integer"},"page_size":{"description":"The page size used for pagination","minimum":0,"type":"integer"},"previous_page":{"description":"The previous page URL if exists","type":"string"},"total":{"description":"The total paginated items","minimum":0,"type":"integer"}},"required":["page","page_size","total"],"type":"object"},"Organization (read)":{"properties":{"acronym":{"maxLength":128,"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"business_number_id":{"maxLength":14,"type":"string"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"deleted":{"format":"date-time","readOnly":true,"type":"string"},"description":{"format":"markdown","type":"string"},"ext":{"readOnly":true,"type":"object"},"extras":{"type":"object"},"id":{"readOnly":true,"type":"string"},"image_url":{"type":"string"},"last_modified":{"format":"date-time","readOnly":true,"type":"string"},"logo":{"description":"URL of the image","readOnly":true,"type":"string"},"logo_thumbnail":{"description":"URL of the cropped and squared image (100x100)","readOnly":true,"type":"string"},"members":{"items":{"allOf":[{"$ref":"#/components/schemas/Member (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"metrics":{"readOnly":true,"type":"object"},"name":{"type":"string"},"page":{"description":"Link to the udata web page for this organization","readOnly":true,"type":"string"},"permissions":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermissions"}],"readOnly":true},"presentation_blocs":{"items":{"type":"object"},"type":"array"},"presentation_blocs_published_at":{"description":"Publication date of the organization presentation blocs. Set it to make the blocs publicly visible; leave it empty to keep them hidden (draft). Organization administrators always see the blocs regardless of this date.","format":"date-time","type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"teams":{"items":{"allOf":[{"$ref":"#/components/schemas/Team (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"uri":{"description":"Link to the API endpoint for this organization","readOnly":true,"type":"string"},"url":{"type":"string"},"zone":{"readOnly":true,"type":"string"}},"required":["created_at","description","id","last_modified","name","slug"],"type":"object"},"Badge (read)":{"properties":{"kind":{"type":"string"}},"required":["kind"],"type":"object"},"Member (read)":{"properties":{"label":{"readOnly":true,"type":"string"},"role":{"enum":["admin","editor","partial_editor"],"type":"string"},"since":{"format":"date-time","readOnly":true,"type":"string"},"user":{"allOf":[{"$ref":"#/components/schemas/UserReferenceWithEmail"}],"readOnly":true}},"required":["since"],"type":"object"},"UserReferenceWithEmail":{"allOf":[{"$ref":"#/components/schemas/UserReference"},{"properties":{"email":{"description":"The user email, obfuscated unless the caller may see it","readOnly":true,"type":"string"},"last_login_at":{"format":"date-time","readOnly":true,"type":"string"}},"type":"object"}]},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"OrganizationPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"harvest":{"type":"boolean"},"members":{"type":"boolean"},"private":{"type":"boolean"}},"type":"object"},"Team (read)":{"properties":{},"type":"object"}}}}
```

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/badges/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/roles/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{id}/followers/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{id}/followers/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{id}/followers/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/badges/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/badges/{badge\_kind}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/catalog" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/catalog.{format}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/datasets/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/discussions/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/membership/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

## GET /organizations/{org}/assignments/

> List assignments for this organization

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/{org}/assignments/":{"get":{"operationId":"list_organization_assignments","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Assignment%20%28read%29"},"type":"array"}}}}},"summary":"List assignments for this organization","tags":["organizations"]}}},"components":{"schemas":{}}}
```

## DELETE /organizations/{org}/member/{user}/

> Delete member from an organization

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/{org}/member/{user}/":{"delete":{"operationId":"delete_organization_member","responses":{"403":{"description":"Not Authorized"}},"summary":"Delete member from an organization","tags":["organizations"]}}}}
```

## Sync assignments for a partial\_editor member

> Replaces all current assignments with the provided list.

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/{org}/member/{user}/assignments/":{"put":{"description":"Replaces all current assignments with the provided list.","operationId":"sync_member_assignments","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Assignment%20%28read%29"},"type":"array"}}}},"403":{"description":"Not Authorized"}},"summary":"Sync assignments for a partial_editor member","tags":["organizations"]}}},"components":{"schemas":{}}}
```

## PUT /organizations/{org}/member/{user}/

> Update member status into a given organization

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/{org}/member/{user}/":{"put":{"operationId":"update_organization_member","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member%20%28read%29"}}}},"403":{"description":"Not Authorized"}},"summary":"Update member status into a given organization","tags":["organizations"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Member%20%28write%29"}}},"required":true}}}},"components":{"schemas":{}}}
```

## POST /organizations/{org}/member/

> Invite a user or email to join the organization

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Organization related operations","name":"organizations"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/organizations/{org}/member/":{"post":{"operationId":"invite_organization_member","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipRequest"}}}},"400":{"description":"Bad Request"},"403":{"description":"Not Authorized"}},"summary":"Invite a user or email to join the organization","tags":["organizations"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipInvite"}}},"required":true}}}},"components":{"schemas":{"MembershipRequest":{"properties":{"assignments":{"description":"Objects to assign on acceptance (for partial_editor invitations)","items":{"$ref":"#/components/schemas/GenericReference"},"type":"array"},"comment":{"description":"A request comment from the user","type":"string"},"created":{"description":"The request creation date","format":"date-time","readOnly":true,"type":"string"},"email":{"description":"Email for non-registered user invitations","type":"string"},"id":{"readOnly":true,"type":"string"},"kind":{"default":"request","description":"The request kind (request or invitation)","enum":["request","invitation"],"type":"string"},"role":{"default":"editor","description":"The role to assign","enum":["admin","editor","partial_editor"],"type":"string"},"status":{"description":"The current request status","enum":["pending","accepted","refused","canceled"],"type":"string"},"user":{"$ref":"#/components/schemas/UserReferenceWithEmail"}},"required":["status"],"type":"object"},"GenericReference":{"properties":{"class":{"type":"string"},"id":{"type":"string"}},"type":"object"},"UserReferenceWithEmail":{"allOf":[{"$ref":"#/components/schemas/UserReference"},{"properties":{"email":{"description":"The user email, obfuscated unless the caller may see it","readOnly":true,"type":"string"},"last_login_at":{"format":"date-time","readOnly":true,"type":"string"}},"type":"object"}]},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"MembershipInvite":{"properties":{"assignments":{"description":"Objects to assign on acceptance (for partial_editor invitations)","items":{"$ref":"#/components/schemas/GenericReference"},"type":"array"},"comment":{"description":"Invitation message","type":"string"},"email":{"description":"Email to invite (if user not registered)","type":"string"},"role":{"default":"editor","description":"The role to assign","enum":["admin","editor","partial_editor"],"type":"string"},"user":{"description":"User ID to invite","type":"string"}},"type":"object"}}}}
```

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/membership/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/membership/{id}/accept/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/membership/{id}/refuse/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/organizations/{org}/reuses/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# spatial

Spatial references

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/coverage/{level}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/granularities/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/levels/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/zone/{id}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/zone/{id}/children/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/zone/{id}/datasets/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/zones/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/spatial/zones/{ids}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# users

User related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/roles/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{id}/followers/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{id}/followers/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{id}/followers/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{user}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{user}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{user}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/users/{user}/avatar" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# me

Connected user related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/apikey" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/apikey" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/avatar" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/datasets/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/metrics/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/org\_community\_resources/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/org\_datasets/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/org\_discussions/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/org\_reuses/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/me/reuses/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# contacts

Contact points related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/contacts/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/contacts/{contact\_point}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/contacts/{contact\_point}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/contacts/{contact\_point}/" method="parameters" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/contacts/{contact\_point}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# workers

Asynchronous workers related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/schedulables" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/{id}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/{id}" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/jobs/{id}" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/workers/tasks/{id}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# tags

Tags related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/tags/suggest/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# topics

Topics related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/topics/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/topics/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/topics/{topic}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/topics/{topic}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/topics/{topic}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# posts

Posts related operations

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/image" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/image" method="put" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/publish" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/posts/{post}/publish" method="delete" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# transfer

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/transfer/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/transfer/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/transfer/{id}/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/transfer/{id}/" method="post" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# notifications

Notifications API

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/notifications/" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# avatars

Avatar

{% openapi src="<https://www.data.gouv.fr/api/1/swagger.json>" path="/avatars/{identifier}/{size}" method="get" %}
<https://www.data.gouv.fr/api/1/swagger.json>
{% endopenapi %}


# harvest

Harvest related operations

## GET /harvest/backends/

> List all available harvest backends

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/backends/":{"get":{"operationId":"harvest_backends","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestBackend"}}}}},"summary":"List all available harvest backends","tags":["harvest"]}}},"components":{"schemas":{"HarvestBackend":{"properties":{"extra_configs":{"description":"The backend extra configuration variables","items":{"$ref":"#/components/schemas/HarvestExtraConfig"},"type":"array"},"features":{"description":"The backend optional features","items":{"$ref":"#/components/schemas/HarvestFeature"},"type":"array"},"filters":{"description":"The backend supported filters","items":{"$ref":"#/components/schemas/HarvestFilter"},"type":"array"},"id":{"description":"The backend identifier","type":"string"},"label":{"description":"The backend display name","type":"string"}},"type":"object"},"HarvestExtraConfig":{"properties":{"default":{"description":"The config default value","type":"string"},"description":{"description":"Some details about the behavior","type":"string"},"key":{"description":"The config key","type":"string"},"label":{"description":"A localized human-readable and descriptive label","type":"string"}},"type":"object"},"HarvestFeature":{"properties":{"default":{"description":"The feature default state (true is enabled)","type":"boolean"},"description":{"description":"Some details about the behavior","type":"string"},"key":{"description":"The feature key","type":"string"},"label":{"description":"A localized human-readable and descriptive label","type":"string"}},"type":"object"},"HarvestFilter":{"properties":{"description":{"description":"The filter details","type":"string"},"key":{"description":"The filter key","type":"string"},"label":{"description":"A localized human-readable label","type":"string"},"type":{"description":"The filter expected type","type":"string"}},"type":"object"}}}}
```

## GET /harvest/sources/

> List all harvest sources

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/sources/":{"get":{"operationId":"list_harvest_sources","parameters":[{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"integer","default":20,"exclusiveMinimum":0},"description":"The page size to fetch","in":"query","name":"page_size"},{"schema":{"type":"string"},"in":"query","name":"q"},{"schema":{"type":"string"},"in":"query","name":"owner"},{"schema":{"type":"string"},"in":"query","name":"organization"},{"schema":{"type":"boolean","default":false},"description":"Include sources flagged as deleted","in":"query","name":"deleted"},{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HarvestSourcePage"},"type":"array"}}}}},"summary":"List all harvest sources","tags":["harvest"]}}},"components":{"schemas":{"HarvestSourcePage":{"properties":{"data":{"description":"The page data","items":{"$ref":"#/components/schemas/HarvestSource (read)"},"type":"array"},"next_page":{"description":"The next page URL if exists","type":"string"},"page":{"description":"The current page","minimum":1,"type":"integer"},"page_size":{"description":"The page size used for pagination","minimum":0,"type":"integer"},"previous_page":{"description":"The previous page URL if exists","type":"string"},"total":{"description":"The total paginated items","minimum":0,"type":"integer"}},"required":["page","page_size","total"],"type":"object"},"HarvestSource (read)":{"properties":{"active":{"description":"Is this source active","type":"boolean"},"autoarchive":{"description":"If enabled, datasets not present on the remote source will be automatically archived","type":"boolean"},"backend":{"description":"The source backend","type":"string"},"config":{"description":"The configuration as key-value pairs","type":"object"},"created_at":{"description":"The source creation date","format":"date-time","readOnly":true,"type":"string"},"deleted":{"description":"The source deletion date","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"The source description","format":"markdown","type":"string"},"id":{"readOnly":true,"type":"string"},"last_job":{"allOf":[{"$ref":"#/components/schemas/HarvestJob (read)"}],"description":"The last job for this source","readOnly":true},"name":{"description":"The source display name","maxLength":255,"type":"string"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"Only present if owner is not set. Can only be set to an organization of the current authenticated user."},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Only present if organization is not set. Can only be set to the current authenticated user."},"permissions":{"allOf":[{"$ref":"#/components/schemas/HarvestSourcePermissions"}],"readOnly":true},"schedule":{"description":"The source schedule (interval or cron expression)","readOnly":true,"type":"string"},"slug":{"description":"The source permalink string","maxLength":255,"readOnly":true,"type":"string"},"url":{"description":"The source base URL","type":"string"},"validation":{"allOf":[{"$ref":"#/components/schemas/HarvestSourceValidation (read)"}],"description":"Has the source been validated","readOnly":true}},"required":["backend","created_at","id","slug","url"],"type":"object"},"HarvestJob (read)":{"properties":{"created":{"description":"The job creation date","format":"date-time","readOnly":true,"type":"string"},"ended":{"description":"The job end date","format":"date-time","readOnly":true,"type":"string"},"errors":{"description":"The job initialization errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The job initialization errors","readOnly":true},"readOnly":true,"type":"array"},"id":{"readOnly":true,"type":"string"},"items":{"description":"Visit this API link to see the list.","readOnly":true,"type":"object"},"source":{"allOf":[{"$ref":"#/components/schemas/HarvestSourceReference"}],"description":"The source owning the job","readOnly":true},"started":{"description":"The job start date","format":"date-time","readOnly":true,"type":"string"},"status":{"description":"The job status","enum":["pending","initializing","initialized","processing","done","done-errors","failed"],"readOnly":true,"type":"string"}},"required":["created","id","status"],"type":"object"},"HarvestError (read)":{"properties":{"created_at":{"description":"The error creation date","format":"date-time","readOnly":true,"type":"string"},"details":{"description":"Optional details (only for super-admins)","readOnly":true,"type":"string"},"message":{"description":"The error short message","type":"string"}},"required":["created_at"],"type":"object"},"HarvestSourceReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"OrganizationReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"acronym":{"maxLength":128,"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"logo":{"description":"URL of the image","readOnly":true,"type":"string"},"logo_thumbnail":{"description":"URL of the cropped and squared image (100x100)","readOnly":true,"type":"string"},"name":{"type":"string"},"page":{"description":"Link to the udata web page for this organization","readOnly":true,"type":"string"},"permissions":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermissions"}],"readOnly":true},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this organization","readOnly":true,"type":"string"}},"required":["name","slug"],"type":"object"}]},"Badge (read)":{"properties":{"kind":{"type":"string"}},"required":["kind"],"type":"object"},"OrganizationPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"harvest":{"type":"boolean"},"members":{"type":"boolean"},"private":{"type":"boolean"}},"type":"object"},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"HarvestSourcePermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"preview":{"type":"boolean"},"run":{"type":"boolean"},"schedule":{"type":"boolean"},"validate":{"type":"boolean"}},"type":"object"},"HarvestSourceValidation (read)":{"properties":{"by":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Who performed the validation","readOnly":true},"comment":{"description":"A comment about the validation. Required on rejection","type":"string"},"on":{"description":"Date on which validation was performed","format":"date-time","readOnly":true,"type":"string"},"state":{"description":"Is it validated or not","enum":["pending","accepted","refused"],"type":"string"}},"required":["state"],"type":"object"}}}}
```

## PUT /harvest/source/{source}/

> Update a harvest source

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/":{"put":{"operationId":"update_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28read%29"}}}}},"summary":"Update a harvest source","tags":["harvest"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28write%29"}}},"required":true}}}},"components":{"schemas":{}}}
```

## GET /harvest/job/{ident}/

> Get a single job given an ID

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/job/{ident}/":{"get":{"operationId":"get_harvest_job","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestJob%20%28read%29"}}}}},"summary":"Get a single job given an ID","tags":["harvest"]}}},"components":{"schemas":{}}}
```

## GET /harvest/source/{source}/

> Get a single source given an ID or a slug

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/":{"get":{"operationId":"get_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28read%29"}}}}},"summary":"Get a single source given an ID or a slug","tags":["harvest"]}}},"components":{"schemas":{}}}
```

## POST /harvest/source/{source}/run/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/run/":{"post":{"operationId":"run_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28read%29"}}}}},"tags":["harvest"]}}},"components":{"schemas":{}}}
```

## POST /harvest/sources/

> Create a new harvest source

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/sources/":{"post":{"operationId":"create_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28read%29"}}}}},"summary":"Create a new harvest source","tags":["harvest"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28write%29"}}},"required":true}}}},"components":{"schemas":{}}}
```

## GET /harvest/source/{source}/jobs/

> List all jobs for a given source

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/jobs/":{"get":{"operationId":"list_harvest_jobs","parameters":[{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"integer","default":20,"exclusiveMinimum":0},"description":"The page size to fetch","in":"query","name":"page_size"},{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestJobPage"}}}}},"summary":"List all jobs for a given source","tags":["harvest"]}}},"components":{"schemas":{"HarvestJobPage":{"properties":{"data":{"description":"The page data","items":{"$ref":"#/components/schemas/HarvestJob (read)"},"type":"array"},"next_page":{"description":"The next page URL if exists","type":"string"},"page":{"description":"The current page","minimum":1,"type":"integer"},"page_size":{"description":"The page size used for pagination","minimum":0,"type":"integer"},"previous_page":{"description":"The previous page URL if exists","type":"string"},"total":{"description":"The total paginated items","minimum":0,"type":"integer"}},"required":["page","page_size","total"],"type":"object"},"HarvestJob (read)":{"properties":{"created":{"description":"The job creation date","format":"date-time","readOnly":true,"type":"string"},"ended":{"description":"The job end date","format":"date-time","readOnly":true,"type":"string"},"errors":{"description":"The job initialization errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The job initialization errors","readOnly":true},"readOnly":true,"type":"array"},"id":{"readOnly":true,"type":"string"},"items":{"description":"Visit this API link to see the list.","readOnly":true,"type":"object"},"source":{"allOf":[{"$ref":"#/components/schemas/HarvestSourceReference"}],"description":"The source owning the job","readOnly":true},"started":{"description":"The job start date","format":"date-time","readOnly":true,"type":"string"},"status":{"description":"The job status","enum":["pending","initializing","initialized","processing","done","done-errors","failed"],"readOnly":true,"type":"string"}},"required":["created","id","status"],"type":"object"},"HarvestError (read)":{"properties":{"created_at":{"description":"The error creation date","format":"date-time","readOnly":true,"type":"string"},"details":{"description":"Optional details (only for super-admins)","readOnly":true,"type":"string"},"message":{"description":"The error short message","type":"string"}},"required":["created_at"],"type":"object"},"HarvestSourceReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"}}}}
```

## POST /harvest/source/preview/

> Preview an harvesting from a source created with the given payload

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/preview/":{"post":{"operationId":"preview_harvest_source_config","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestJobPreview"}}}}},"summary":"Preview an harvesting from a source created with the given payload","tags":["harvest"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28write%29"}}},"required":true}}}},"components":{"schemas":{"HarvestJobPreview":{"properties":{"created":{"description":"The job creation date","format":"date-time","readOnly":true,"type":"string"},"ended":{"description":"The job end date","format":"date-time","readOnly":true,"type":"string"},"errors":{"description":"The job initialization errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The job initialization errors","readOnly":true},"readOnly":true,"type":"array"},"id":{"readOnly":true,"type":"string"},"items":{"description":"The job collected items","items":{"$ref":"#/components/schemas/HarvestItemPreview"},"type":"array"},"source":{"allOf":[{"$ref":"#/components/schemas/HarvestSourceReference"}],"description":"The source owning the job","readOnly":true},"started":{"description":"The job start date","format":"date-time","readOnly":true,"type":"string"},"status":{"description":"The job status","enum":["pending","initializing","initialized","processing","done","done-errors","failed"],"readOnly":true,"type":"string"}},"required":["created","id","status"],"type":"object"},"HarvestError (read)":{"properties":{"created_at":{"description":"The error creation date","format":"date-time","readOnly":true,"type":"string"},"details":{"description":"Optional details (only for super-admins)","readOnly":true,"type":"string"},"message":{"description":"The error short message","type":"string"}},"required":["created_at"],"type":"object"},"HarvestItemPreview":{"properties":{"args":{"description":"The item positional arguments","items":{"description":"The item positional arguments","type":"string"},"type":"array"},"created":{"description":"The item creation date","format":"date-time","readOnly":true,"type":"string"},"dataservice":{"allOf":[{"$ref":"#/components/schemas/DataservicePreview"}],"description":"The processed dataservice"},"dataset":{"allOf":[{"$ref":"#/components/schemas/DatasetPreview"}],"description":"The processed dataset"},"ended":{"description":"The item end date","format":"date-time","type":"string"},"errors":{"description":"The item errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The item errors"},"type":"array"},"kwargs":{"description":"The item keyword arguments","type":"object"},"logs":{"description":"The item logs","items":{"allOf":[{"$ref":"#/components/schemas/HarvestLog (read)"}],"description":"The item logs"},"type":"array"},"remote_id":{"description":"The item remote ID to process","type":"string"},"remote_url":{"description":"The item remote url (if available)","type":"string"},"started":{"description":"The item start date","format":"date-time","type":"string"},"status":{"description":"The item status","enum":["pending","started","done","failed","skipped","archived"],"type":"string"}},"required":["created","status"],"type":"object"},"DataservicePreview":{"properties":{"self_api_url":{"description":"The dataservice API URL (fake)","type":"object"},"self_web_url":{"description":"The dataservice webpage URL (fake)","type":"object"},"title":{"type":"string"}},"required":["title"],"type":"object"},"DatasetPreview":{"properties":{"access_audiences":{"items":{"$ref":"#/components/schemas/AccessAudience (read)"},"type":"array"},"access_type":{"type":"string"},"access_type_reason":{"type":"string"},"access_type_reason_category":{"type":"string"},"acronym":{"description":"An optional dataset acronym","type":"string"},"archived":{"description":"The archival date if archived","format":"date-time","type":"string"},"authorization_request_url":{"type":"string"},"badges":{"description":"The dataset badges","items":{"$ref":"#/components/schemas/Badge (read)"},"readOnly":true,"type":"array"},"community_resources":{"items":{"allOf":[{"$ref":"#/components/schemas/CommunityResource"}],"description":"The dataset community submitted resources"},"type":"array"},"contact_points":{"items":{"allOf":[{"$ref":"#/components/schemas/ContactPoint (read)"}],"description":"The dataset contact points"},"type":"array"},"created_at":{"description":"This date is computed between harvested creation date if any and site's internal creation date","format":"date-time","readOnly":true,"type":"string"},"deleted":{"description":"The deletion date if deleted","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"The dataset description in markdown","format":"markdown","type":"string"},"description_short":{"description":"The dataset short description","type":"string"},"extras":{"description":"Extras attributes as key-value pairs","type":"object"},"featured":{"description":"Is the dataset featured","type":"boolean"},"frequency":{"default":"unknown","description":"The update frequency","enum":["continuous","oneMinute","fiveMinutes","tenMinutes","fifteenMinutes","thirtyMinutes","hourly","bihourly","trihourly","twelveHours","severalTimesADay","threeTimesADay","semidaily","daily","fiveTimesAWeek","threeTimesAWeek","semiweekly","weekly","biweekly","threeTimesAMonth","semimonthly","monthly","bimonthly","quarterly","threeTimesAYear","semiannual","annual","biennial","triennial","quadrennial","quinquennial","decennial","bidecennial","tridecennial","punctual","irregular","never","notPlanned","other","unknown"],"type":"string"},"frequency_date":{"description":"Next expected update date, you will be notified once that date is reached.","format":"date-time","type":"string"},"harvest":{"allOf":[{"$ref":"#/components/schemas/HarvestDatasetMetadata"}],"description":"Dataset harvest metadata attributes","readOnly":true},"id":{"description":"The dataset identifier","readOnly":true,"type":"string"},"internal":{"allOf":[{"$ref":"#/components/schemas/DatasetInternals"}],"description":"Site internal and specific object's data","readOnly":true},"last_modified":{"description":"The dataset last modification date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The resources last modification date","format":"date-time","type":"string"},"license":{"default":"notspecified","description":"The dataset license","type":"string"},"metrics":{"description":"The dataset metrics","type":"object"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"The producer organization"},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"The user information"},"page":{"description":"The dataset page URL (fake)","type":"object"},"permissions":{"$ref":"#/components/schemas/DatasetPermissions"},"private":{"description":"Is the dataset private to the owner or the organization","type":"boolean"},"quality":{"description":"The dataset quality","readOnly":true,"type":"object"},"resources":{"items":{"allOf":[{"$ref":"#/components/schemas/Resource"}],"description":"The dataset resources"},"type":"array"},"schema":{"allOf":[{"$ref":"#/components/schemas/Schema"}],"description":"Reference to the associated schema"},"slug":{"description":"The dataset permalink string","readOnly":true,"type":"string"},"spatial":{"allOf":[{"$ref":"#/components/schemas/SpatialCoverage"}],"description":"The spatial coverage"},"tags":{"items":{"type":"string"},"type":"array"},"temporal_coverage":{"allOf":[{"$ref":"#/components/schemas/TemporalCoverage"}],"description":"The temporal coverage"},"title":{"description":"The dataset title","type":"string"},"uri":{"description":"The dataset API URL (fake)","type":"object"}},"required":["created_at","description","frequency","last_modified","last_update","title"],"type":"object"},"AccessAudience (read)":{"properties":{"condition":{"enum":["yes","no","under_condition"],"type":"string"},"role":{"enum":["local_authority_and_administration","company_and_association","private"],"type":"string"}},"type":"object"},"Badge (read)":{"properties":{"kind":{"type":"string"}},"required":["kind"],"type":"object"},"CommunityResource":{"allOf":[{"$ref":"#/components/schemas/Resource"},{"properties":{"dataset":{"allOf":[{"$ref":"#/components/schemas/DatasetReference"}],"description":"Reference to the associated dataset"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"The producer organization"},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"The user information"},"permissions":{"$ref":"#/components/schemas/DatasetPermissions"}},"type":"object"}]},"Resource":{"properties":{"checksum":{"allOf":[{"$ref":"#/components/schemas/Checksum"}],"description":"A checksum to validate file validity"},"created_at":{"description":"The resource creation date","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"The resource markdown description","format":"markdown","type":"string"},"extras":{"description":"Extra attributes as key-value pairs","type":"object"},"filesize":{"description":"The resource file size in bytes","type":"integer"},"filetype":{"description":"Whether the resource is an uploaded file, a remote file or an API","enum":["file","remote"],"type":"string"},"format":{"description":"The resource format","type":"string"},"harvest":{"allOf":[{"$ref":"#/components/schemas/HarvestResourceMetadata"}],"description":"Harvest attributes metadata information","readOnly":true},"id":{"description":"The resource unique ID","readOnly":true,"type":"string"},"internal":{"allOf":[{"$ref":"#/components/schemas/ResourceInternals"}],"description":"Site internal and specific object's data","readOnly":true},"last_modified":{"description":"The resource last modification date","format":"date-time","readOnly":true,"type":"string"},"latest":{"description":"The permanent URL redirecting to the latest version of the resource. When the resource data is updated, the URL will change, the latest URL won't.","readOnly":true,"type":"string"},"metrics":{"description":"The resource metrics","readOnly":true,"type":"object"},"mime":{"description":"The resource mime type","type":"string"},"preview_url":{"description":"An optional preview URL to be loaded as a standalone page (ie. iframe or new page)","readOnly":true,"type":"string"},"schema":{"allOf":[{"$ref":"#/components/schemas/Schema"}],"description":"Reference to the associated schema"},"title":{"description":"The resource title","type":"string"},"type":{"description":"Resource type (documentation, API...)","enum":["main","documentation","update","api","code","other"],"type":"string"},"url":{"description":"The resource URL","type":"string"}},"required":["filetype","format","title","type","url"],"type":"object"},"Checksum":{"properties":{"type":{"default":"sha1","description":"The hashing algorithm used to compute the checksum","enum":["sha1","sha2","sha256","md5","crc"],"type":"string"},"value":{"description":"The resulting checksum/hash","type":"string"}},"required":["value"],"type":"object"},"HarvestResourceMetadata":{"properties":{"issued_at":{"description":"The resource harvested release date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The resource last harvest date","format":"date-time","readOnly":true,"type":"string"},"modified_at":{"description":"The resource harvest last modification date","format":"date-time","readOnly":true,"type":"string"},"uri":{"description":"The resource harvest uri","type":"string"}},"type":"object"},"ResourceInternals":{"properties":{"created_at_internal":{"description":"The resource's internal creation date on the site","format":"date-time","type":"string"},"last_modified_internal":{"description":"The resource's internal last modification date","format":"date-time","type":"string"}},"required":["created_at_internal","last_modified_internal"],"type":"object"},"Schema":{"properties":{"name":{"type":"string"},"url":{"type":"string"},"version":{"type":"string"}},"type":"object"},"DatasetReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"OrganizationReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"acronym":{"maxLength":128,"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"logo":{"description":"URL of the image","readOnly":true,"type":"string"},"logo_thumbnail":{"description":"URL of the cropped and squared image (100x100)","readOnly":true,"type":"string"},"name":{"type":"string"},"page":{"description":"Link to the udata web page for this organization","readOnly":true,"type":"string"},"permissions":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermissions"}],"readOnly":true},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this organization","readOnly":true,"type":"string"}},"required":["name","slug"],"type":"object"}]},"OrganizationPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"harvest":{"type":"boolean"},"members":{"type":"boolean"},"private":{"type":"boolean"}},"type":"object"},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"DatasetPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"edit_resources":{"type":"boolean"}},"type":"object"},"ContactPoint (read)":{"properties":{"contact_form":{"type":"string"},"email":{"maxLength":255,"type":"string"},"id":{"readOnly":true,"type":"string"},"name":{"maxLength":255,"type":"string"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"Only present if owner is not set. Can only be set to an organization of the current authenticated user."},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Only present if organization is not set. Can only be set to the current authenticated user."},"role":{"enum":["contact","creator","publisher","rightsHolder","custodian","distributor","originator","principalInvestigator","processor","resourceProvider","user"],"type":"string"}},"required":["id","name","role"],"type":"object"},"HarvestDatasetMetadata":{"properties":{"archived":{"description":"The reason the dataset has been archived","type":"string"},"archived_at":{"description":"The archive date","format":"date-time","type":"string"},"backend":{"description":"Harvest backend used","type":"string"},"created_at":{"description":"The dataset harvested creation date","format":"date-time","readOnly":true,"type":"string"},"dct_identifier":{"description":"The dct:identifier property from the harvested dataset","type":"string"},"domain":{"description":"The harvested domain","type":"string"},"issued_at":{"description":"The dataset harvested release date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The dataset last harvest date","format":"date-time","type":"string"},"modified_at":{"description":"The dataset harvest last modification date","format":"date-time","readOnly":true,"type":"string"},"remote_id":{"description":"The dataset remote id on the source portal","type":"string"},"remote_url":{"description":"The dataset remote url","type":"string"},"source_id":{"description":"The harvester id","type":"string"},"uri":{"description":"The dataset harveted uri","type":"string"}},"type":"object"},"DatasetInternals":{"properties":{"created_at_internal":{"description":"The dataset's internal creation date on the site","format":"date-time","type":"string"},"last_modified_internal":{"description":"The dataset's internal last modification date","format":"date-time","type":"string"}},"required":["created_at_internal","last_modified_internal"],"type":"object"},"SpatialCoverage":{"properties":{"geom":{"allOf":[{"$ref":"#/components/schemas/GeoJSON"}],"description":"A multipolygon for the whole coverage"},"granularity":{"default":"other","description":"The spatial/territorial granularity (full Granularity object if `X-Get-Datasets-Full-Objects` is set, ID of the granularity otherwise)","type":"object"},"zones":{"description":"The covered zones identifiers (full GeoZone objects if `X-Get-Datasets-Full-Objects` is set, IDs of the zones otherwise)","type":"object"}},"type":"object"},"GeoJSON":{"properties":{"coordinates":{"description":"The geometry as coordinates lists","items":{"type":"object"},"type":"array"},"type":{"description":"The GeoJSON Type","enum":["Point","LineString","Polygon","MultiPoint","MultiLineString","MultiPolygon"],"type":"string"}},"required":["coordinates","type"],"type":"object"},"TemporalCoverage":{"properties":{"end":{"description":"The temporal coverage end date","format":"date-time","type":"string"},"start":{"description":"The temporal coverage start date","format":"date-time","type":"string"}},"required":["start"],"type":"object"},"HarvestLog (read)":{"properties":{"level":{"type":"string"},"message":{"type":"string"}},"required":["level","message"],"type":"object"},"HarvestSourceReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]}}}}
```

## GET /harvest/source/{source}/preview/

> Preview a single harvest source given an ID or a slug

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/preview/":{"get":{"operationId":"preview_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestJobPreview"}}}}},"summary":"Preview a single harvest source given an ID or a slug","tags":["harvest"]}}},"components":{"schemas":{"HarvestJobPreview":{"properties":{"created":{"description":"The job creation date","format":"date-time","readOnly":true,"type":"string"},"ended":{"description":"The job end date","format":"date-time","readOnly":true,"type":"string"},"errors":{"description":"The job initialization errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The job initialization errors","readOnly":true},"readOnly":true,"type":"array"},"id":{"readOnly":true,"type":"string"},"items":{"description":"The job collected items","items":{"$ref":"#/components/schemas/HarvestItemPreview"},"type":"array"},"source":{"allOf":[{"$ref":"#/components/schemas/HarvestSourceReference"}],"description":"The source owning the job","readOnly":true},"started":{"description":"The job start date","format":"date-time","readOnly":true,"type":"string"},"status":{"description":"The job status","enum":["pending","initializing","initialized","processing","done","done-errors","failed"],"readOnly":true,"type":"string"}},"required":["created","id","status"],"type":"object"},"HarvestError (read)":{"properties":{"created_at":{"description":"The error creation date","format":"date-time","readOnly":true,"type":"string"},"details":{"description":"Optional details (only for super-admins)","readOnly":true,"type":"string"},"message":{"description":"The error short message","type":"string"}},"required":["created_at"],"type":"object"},"HarvestItemPreview":{"properties":{"args":{"description":"The item positional arguments","items":{"description":"The item positional arguments","type":"string"},"type":"array"},"created":{"description":"The item creation date","format":"date-time","readOnly":true,"type":"string"},"dataservice":{"allOf":[{"$ref":"#/components/schemas/DataservicePreview"}],"description":"The processed dataservice"},"dataset":{"allOf":[{"$ref":"#/components/schemas/DatasetPreview"}],"description":"The processed dataset"},"ended":{"description":"The item end date","format":"date-time","type":"string"},"errors":{"description":"The item errors","items":{"allOf":[{"$ref":"#/components/schemas/HarvestError (read)"}],"description":"The item errors"},"type":"array"},"kwargs":{"description":"The item keyword arguments","type":"object"},"logs":{"description":"The item logs","items":{"allOf":[{"$ref":"#/components/schemas/HarvestLog (read)"}],"description":"The item logs"},"type":"array"},"remote_id":{"description":"The item remote ID to process","type":"string"},"remote_url":{"description":"The item remote url (if available)","type":"string"},"started":{"description":"The item start date","format":"date-time","type":"string"},"status":{"description":"The item status","enum":["pending","started","done","failed","skipped","archived"],"type":"string"}},"required":["created","status"],"type":"object"},"DataservicePreview":{"properties":{"self_api_url":{"description":"The dataservice API URL (fake)","type":"object"},"self_web_url":{"description":"The dataservice webpage URL (fake)","type":"object"},"title":{"type":"string"}},"required":["title"],"type":"object"},"DatasetPreview":{"properties":{"access_audiences":{"items":{"$ref":"#/components/schemas/AccessAudience (read)"},"type":"array"},"access_type":{"type":"string"},"access_type_reason":{"type":"string"},"access_type_reason_category":{"type":"string"},"acronym":{"description":"An optional dataset acronym","type":"string"},"archived":{"description":"The archival date if archived","format":"date-time","type":"string"},"authorization_request_url":{"type":"string"},"badges":{"description":"The dataset badges","items":{"$ref":"#/components/schemas/Badge (read)"},"readOnly":true,"type":"array"},"community_resources":{"items":{"allOf":[{"$ref":"#/components/schemas/CommunityResource"}],"description":"The dataset community submitted resources"},"type":"array"},"contact_points":{"items":{"allOf":[{"$ref":"#/components/schemas/ContactPoint (read)"}],"description":"The dataset contact points"},"type":"array"},"created_at":{"description":"This date is computed between harvested creation date if any and site's internal creation date","format":"date-time","readOnly":true,"type":"string"},"deleted":{"description":"The deletion date if deleted","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"The dataset description in markdown","format":"markdown","type":"string"},"description_short":{"description":"The dataset short description","type":"string"},"extras":{"description":"Extras attributes as key-value pairs","type":"object"},"featured":{"description":"Is the dataset featured","type":"boolean"},"frequency":{"default":"unknown","description":"The update frequency","enum":["continuous","oneMinute","fiveMinutes","tenMinutes","fifteenMinutes","thirtyMinutes","hourly","bihourly","trihourly","twelveHours","severalTimesADay","threeTimesADay","semidaily","daily","fiveTimesAWeek","threeTimesAWeek","semiweekly","weekly","biweekly","threeTimesAMonth","semimonthly","monthly","bimonthly","quarterly","threeTimesAYear","semiannual","annual","biennial","triennial","quadrennial","quinquennial","decennial","bidecennial","tridecennial","punctual","irregular","never","notPlanned","other","unknown"],"type":"string"},"frequency_date":{"description":"Next expected update date, you will be notified once that date is reached.","format":"date-time","type":"string"},"harvest":{"allOf":[{"$ref":"#/components/schemas/HarvestDatasetMetadata"}],"description":"Dataset harvest metadata attributes","readOnly":true},"id":{"description":"The dataset identifier","readOnly":true,"type":"string"},"internal":{"allOf":[{"$ref":"#/components/schemas/DatasetInternals"}],"description":"Site internal and specific object's data","readOnly":true},"last_modified":{"description":"The dataset last modification date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The resources last modification date","format":"date-time","type":"string"},"license":{"default":"notspecified","description":"The dataset license","type":"string"},"metrics":{"description":"The dataset metrics","type":"object"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"The producer organization"},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"The user information"},"page":{"description":"The dataset page URL (fake)","type":"object"},"permissions":{"$ref":"#/components/schemas/DatasetPermissions"},"private":{"description":"Is the dataset private to the owner or the organization","type":"boolean"},"quality":{"description":"The dataset quality","readOnly":true,"type":"object"},"resources":{"items":{"allOf":[{"$ref":"#/components/schemas/Resource"}],"description":"The dataset resources"},"type":"array"},"schema":{"allOf":[{"$ref":"#/components/schemas/Schema"}],"description":"Reference to the associated schema"},"slug":{"description":"The dataset permalink string","readOnly":true,"type":"string"},"spatial":{"allOf":[{"$ref":"#/components/schemas/SpatialCoverage"}],"description":"The spatial coverage"},"tags":{"items":{"type":"string"},"type":"array"},"temporal_coverage":{"allOf":[{"$ref":"#/components/schemas/TemporalCoverage"}],"description":"The temporal coverage"},"title":{"description":"The dataset title","type":"string"},"uri":{"description":"The dataset API URL (fake)","type":"object"}},"required":["created_at","description","frequency","last_modified","last_update","title"],"type":"object"},"AccessAudience (read)":{"properties":{"condition":{"enum":["yes","no","under_condition"],"type":"string"},"role":{"enum":["local_authority_and_administration","company_and_association","private"],"type":"string"}},"type":"object"},"Badge (read)":{"properties":{"kind":{"type":"string"}},"required":["kind"],"type":"object"},"CommunityResource":{"allOf":[{"$ref":"#/components/schemas/Resource"},{"properties":{"dataset":{"allOf":[{"$ref":"#/components/schemas/DatasetReference"}],"description":"Reference to the associated dataset"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"The producer organization"},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"The user information"},"permissions":{"$ref":"#/components/schemas/DatasetPermissions"}},"type":"object"}]},"Resource":{"properties":{"checksum":{"allOf":[{"$ref":"#/components/schemas/Checksum"}],"description":"A checksum to validate file validity"},"created_at":{"description":"The resource creation date","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"The resource markdown description","format":"markdown","type":"string"},"extras":{"description":"Extra attributes as key-value pairs","type":"object"},"filesize":{"description":"The resource file size in bytes","type":"integer"},"filetype":{"description":"Whether the resource is an uploaded file, a remote file or an API","enum":["file","remote"],"type":"string"},"format":{"description":"The resource format","type":"string"},"harvest":{"allOf":[{"$ref":"#/components/schemas/HarvestResourceMetadata"}],"description":"Harvest attributes metadata information","readOnly":true},"id":{"description":"The resource unique ID","readOnly":true,"type":"string"},"internal":{"allOf":[{"$ref":"#/components/schemas/ResourceInternals"}],"description":"Site internal and specific object's data","readOnly":true},"last_modified":{"description":"The resource last modification date","format":"date-time","readOnly":true,"type":"string"},"latest":{"description":"The permanent URL redirecting to the latest version of the resource. When the resource data is updated, the URL will change, the latest URL won't.","readOnly":true,"type":"string"},"metrics":{"description":"The resource metrics","readOnly":true,"type":"object"},"mime":{"description":"The resource mime type","type":"string"},"preview_url":{"description":"An optional preview URL to be loaded as a standalone page (ie. iframe or new page)","readOnly":true,"type":"string"},"schema":{"allOf":[{"$ref":"#/components/schemas/Schema"}],"description":"Reference to the associated schema"},"title":{"description":"The resource title","type":"string"},"type":{"description":"Resource type (documentation, API...)","enum":["main","documentation","update","api","code","other"],"type":"string"},"url":{"description":"The resource URL","type":"string"}},"required":["filetype","format","title","type","url"],"type":"object"},"Checksum":{"properties":{"type":{"default":"sha1","description":"The hashing algorithm used to compute the checksum","enum":["sha1","sha2","sha256","md5","crc"],"type":"string"},"value":{"description":"The resulting checksum/hash","type":"string"}},"required":["value"],"type":"object"},"HarvestResourceMetadata":{"properties":{"issued_at":{"description":"The resource harvested release date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The resource last harvest date","format":"date-time","readOnly":true,"type":"string"},"modified_at":{"description":"The resource harvest last modification date","format":"date-time","readOnly":true,"type":"string"},"uri":{"description":"The resource harvest uri","type":"string"}},"type":"object"},"ResourceInternals":{"properties":{"created_at_internal":{"description":"The resource's internal creation date on the site","format":"date-time","type":"string"},"last_modified_internal":{"description":"The resource's internal last modification date","format":"date-time","type":"string"}},"required":["created_at_internal","last_modified_internal"],"type":"object"},"Schema":{"properties":{"name":{"type":"string"},"url":{"type":"string"},"version":{"type":"string"}},"type":"object"},"DatasetReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"OrganizationReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"acronym":{"maxLength":128,"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"logo":{"description":"URL of the image","readOnly":true,"type":"string"},"logo_thumbnail":{"description":"URL of the cropped and squared image (100x100)","readOnly":true,"type":"string"},"name":{"type":"string"},"page":{"description":"Link to the udata web page for this organization","readOnly":true,"type":"string"},"permissions":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermissions"}],"readOnly":true},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this organization","readOnly":true,"type":"string"}},"required":["name","slug"],"type":"object"}]},"OrganizationPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"harvest":{"type":"boolean"},"members":{"type":"boolean"},"private":{"type":"boolean"}},"type":"object"},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"DatasetPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"edit_resources":{"type":"boolean"}},"type":"object"},"ContactPoint (read)":{"properties":{"contact_form":{"type":"string"},"email":{"maxLength":255,"type":"string"},"id":{"readOnly":true,"type":"string"},"name":{"maxLength":255,"type":"string"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"Only present if owner is not set. Can only be set to an organization of the current authenticated user."},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Only present if organization is not set. Can only be set to the current authenticated user."},"role":{"enum":["contact","creator","publisher","rightsHolder","custodian","distributor","originator","principalInvestigator","processor","resourceProvider","user"],"type":"string"}},"required":["id","name","role"],"type":"object"},"HarvestDatasetMetadata":{"properties":{"archived":{"description":"The reason the dataset has been archived","type":"string"},"archived_at":{"description":"The archive date","format":"date-time","type":"string"},"backend":{"description":"Harvest backend used","type":"string"},"created_at":{"description":"The dataset harvested creation date","format":"date-time","readOnly":true,"type":"string"},"dct_identifier":{"description":"The dct:identifier property from the harvested dataset","type":"string"},"domain":{"description":"The harvested domain","type":"string"},"issued_at":{"description":"The dataset harvested release date","format":"date-time","readOnly":true,"type":"string"},"last_update":{"description":"The dataset last harvest date","format":"date-time","type":"string"},"modified_at":{"description":"The dataset harvest last modification date","format":"date-time","readOnly":true,"type":"string"},"remote_id":{"description":"The dataset remote id on the source portal","type":"string"},"remote_url":{"description":"The dataset remote url","type":"string"},"source_id":{"description":"The harvester id","type":"string"},"uri":{"description":"The dataset harveted uri","type":"string"}},"type":"object"},"DatasetInternals":{"properties":{"created_at_internal":{"description":"The dataset's internal creation date on the site","format":"date-time","type":"string"},"last_modified_internal":{"description":"The dataset's internal last modification date","format":"date-time","type":"string"}},"required":["created_at_internal","last_modified_internal"],"type":"object"},"SpatialCoverage":{"properties":{"geom":{"allOf":[{"$ref":"#/components/schemas/GeoJSON"}],"description":"A multipolygon for the whole coverage"},"granularity":{"default":"other","description":"The spatial/territorial granularity (full Granularity object if `X-Get-Datasets-Full-Objects` is set, ID of the granularity otherwise)","type":"object"},"zones":{"description":"The covered zones identifiers (full GeoZone objects if `X-Get-Datasets-Full-Objects` is set, IDs of the zones otherwise)","type":"object"}},"type":"object"},"GeoJSON":{"properties":{"coordinates":{"description":"The geometry as coordinates lists","items":{"type":"object"},"type":"array"},"type":{"description":"The GeoJSON Type","enum":["Point","LineString","Polygon","MultiPoint","MultiLineString","MultiPolygon"],"type":"string"}},"required":["coordinates","type"],"type":"object"},"TemporalCoverage":{"properties":{"end":{"description":"The temporal coverage end date","format":"date-time","type":"string"},"start":{"description":"The temporal coverage start date","format":"date-time","type":"string"}},"required":["start"],"type":"object"},"HarvestLog (read)":{"properties":{"level":{"type":"string"},"message":{"type":"string"}},"required":["level","message"],"type":"object"},"HarvestSourceReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{},"type":"object"}]}}}}
```

## DELETE /harvest/source/{source}/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Harvest related operations","name":"harvest"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/harvest/source/{source}/":{"delete":{"operationId":"delete_harvest_source","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HarvestSource%20%28read%29"}}}}},"tags":["harvest"]}}},"components":{"schemas":{}}}
```


# dataservices

Dataservices related operation (beta)

## GET /dataservices/

> List or search all dataservices

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/":{"get":{"operationId":"list_dataservices","parameters":[{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"integer","default":20,"exclusiveMinimum":0},"description":"The page size to fetch","in":"query","name":"page_size"},{"schema":{"type":"string","enum":["followers","views","title","base_api_url","created","last_modified","-followers","-views","-title","-base_api_url","-created","-last_modified"]},"description":"The field (and direction) on which sorting apply","in":"query","name":"sort"},{"schema":{"type":"string"},"in":"query","name":"q"},{"schema":{"type":"string"},"in":"query","name":"topic"},{"schema":{"type":"string"},"in":"query","name":"reuse"},{"schema":{"type":"string"},"in":"query","name":"owner"},{"schema":{"type":"string"},"in":"query","name":"organization"},{"schema":{"type":"string","format":"my-custom-format"},"in":"query","name":"organization_badge"},{"schema":{"type":"string","enum":["open","open_with_account","restricted"]},"in":"query","name":"access_type"},{"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"in":"query","name":"tag"},{"schema":{"type":"boolean"},"in":"query","name":"featured"},{"schema":{"type":"string"},"in":"query","name":"contact_point"},{"schema":{"type":"string"},"in":"query","name":"dataset"},{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataservicePage"}}}}},"summary":"List or search all dataservices","tags":["dataservices"]}}},"components":{"schemas":{"DataservicePage":{"properties":{"data":{"description":"The page data","items":{"$ref":"#/components/schemas/Dataservice (read)"},"type":"array"},"next_page":{"description":"The next page URL if exists","type":"string"},"page":{"description":"The current page","minimum":1,"type":"integer"},"page_size":{"description":"The page size used for pagination","minimum":0,"type":"integer"},"previous_page":{"description":"The previous page URL if exists","type":"string"},"total":{"description":"The total paginated items","minimum":0,"type":"integer"}},"required":["page","page_size","total"],"type":"object"},"Dataservice (read)":{"properties":{"access_audiences":{"items":{"$ref":"#/components/schemas/AccessAudience (read)"},"type":"array"},"access_type":{"enum":["open","open_with_account","restricted"],"type":"string"},"access_type_reason":{"type":"string"},"access_type_reason_category":{"enum":["confidentiality_of_proceedings_of_public_authorities","international_relations_public_security_or_national_defence","course_of_justice_or_fair_trial","confidentiality_of_commercial_or_industrial_information","intellectual_property_rights","confidentiality_of_personal_data","protection_of_voluntary_information_suppliers","protection_of_environment"],"type":"string"},"acronym":{"maxLength":128,"type":"string"},"archived_at":{"format":"date-time","type":"string"},"authorization_request_url":{"type":"string"},"availability":{"type":"number"},"availability_url":{"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"base_api_url":{"type":"string"},"business_documentation_url":{"type":"string"},"contact_points":{"items":{"$ref":"#/components/schemas/ContactPoint (read)"},"type":"array"},"created_at":{"format":"date-time","readOnly":true,"type":"string"},"datasets":{"description":"Visit this API link to see the list.","type":"object"},"deleted_at":{"format":"date-time","type":"string"},"description":{"format":"markdown","type":"string"},"extras":{"type":"object"},"featured":{"readOnly":true,"type":"boolean"},"format":{"enum":["REST","WMS","WSL"],"type":"string"},"harvest":{"allOf":[{"$ref":"#/components/schemas/HarvestMetadata (read)"}],"readOnly":true},"id":{"readOnly":true,"type":"string"},"license":{"description":"The ID of the license","type":"string"},"machine_documentation_url":{"description":"Swagger link, OpenAPI format, WMS XML…","type":"string"},"metadata_modified_at":{"format":"date-time","readOnly":true,"type":"string"},"metrics":{"readOnly":true,"type":"object"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"Only present if owner is not set. Can only be set to an organization of the current authenticated user."},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Only present if organization is not set. Can only be set to the current authenticated user."},"permissions":{"allOf":[{"$ref":"#/components/schemas/DataservicePermissions"}],"readOnly":true},"private":{"description":"Is the dataservice private to the owner or the organization","type":"boolean"},"rate_limiting":{"type":"string"},"rate_limiting_url":{"type":"string"},"self_api_url":{"description":"Link to the API endpoint for this dataservice","readOnly":true,"type":"string"},"self_web_url":{"description":"Link to the udata web page for this dataservice","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"technical_documentation_url":{"description":"HTML version of a Swagger…","type":"string"},"title":{"type":"string"}},"required":["created_at","id","metadata_modified_at","slug","title"],"type":"object"},"AccessAudience (read)":{"properties":{"condition":{"enum":["yes","no","under_condition"],"type":"string"},"role":{"enum":["local_authority_and_administration","company_and_association","private"],"type":"string"}},"type":"object"},"Badge (read)":{"properties":{"kind":{"type":"string"}},"required":["kind"],"type":"object"},"ContactPoint (read)":{"properties":{"contact_form":{"type":"string"},"email":{"maxLength":255,"type":"string"},"id":{"readOnly":true,"type":"string"},"name":{"maxLength":255,"type":"string"},"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationReference"}],"description":"Only present if owner is not set. Can only be set to an organization of the current authenticated user."},"owner":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"Only present if organization is not set. Can only be set to the current authenticated user."},"role":{"enum":["contact","creator","publisher","rightsHolder","custodian","distributor","originator","principalInvestigator","processor","resourceProvider","user"],"type":"string"}},"required":["id","name","role"],"type":"object"},"OrganizationReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"acronym":{"maxLength":128,"type":"string"},"badges":{"items":{"allOf":[{"$ref":"#/components/schemas/Badge (read)"}],"readOnly":true},"readOnly":true,"type":"array"},"logo":{"description":"URL of the image","readOnly":true,"type":"string"},"logo_thumbnail":{"description":"URL of the cropped and squared image (100x100)","readOnly":true,"type":"string"},"name":{"type":"string"},"page":{"description":"Link to the udata web page for this organization","readOnly":true,"type":"string"},"permissions":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermissions"}],"readOnly":true},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this organization","readOnly":true,"type":"string"}},"required":["name","slug"],"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"},"OrganizationPermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"},"harvest":{"type":"boolean"},"members":{"type":"boolean"},"private":{"type":"boolean"}},"type":"object"},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"HarvestMetadata (read)":{"properties":{"archived_at":{"format":"date-time","type":"string"},"archived_reason":{"type":"string"},"backend":{"type":"string"},"created_at":{"description":"Date of creation as provided by the harvested catalog","format":"date-time","type":"string"},"domain":{"type":"string"},"issued_at":{"description":"Date of release as provided by the harvested catalog","format":"date-time","type":"string"},"last_update":{"description":"Date of the last harvesting","format":"date-time","type":"string"},"modified_at":{"description":"Date of last modification as provided by the harvested catalog","format":"date-time","type":"string"},"remote_id":{"type":"string"},"remote_url":{"type":"string"},"source_id":{"type":"string"},"source_url":{"type":"string"},"uri":{"description":"RDF node ID if it's an `URIRef`. `None` if it's not present or if it's a random auto-generated ID inside the graph.","type":"string"}},"type":"object"},"DataservicePermissions":{"properties":{"delete":{"type":"boolean"},"edit":{"type":"boolean"}},"type":"object"}}}}
```

## POST /dataservices/{dataservice}/datasets/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/datasets/":{"post":{"operationId":"dataservice_datasets_create","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28read%29"}}}},"400":{"description":"Malformed object id(s) in request"},"403":{"description":"Forbidden"},"404":{"description":"Dataservice not found"},"410":{"description":"Dataservice has been deleted"}},"tags":["dataservices"],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DataserviceDatasetsAdd"},"type":"array"}}},"required":true}}}},"components":{"schemas":{"DataserviceDatasetsAdd":{"properties":{"id":{"description":"Id of the dataset to add","type":"string"}},"required":["id"],"type":"object"}}}}
```

## GET /dataservices/{dataservice}/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/":{"get":{"operationId":"get_dataservice","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28read%29"}}}}},"tags":["dataservices"]}}},"components":{"schemas":{}}}
```

## GET /dataservices/{id}/followers/

> List all followers for a given object

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{id}/followers/":{"get":{"operationId":"list_dataservice_followers","parameters":[{"schema":{"type":"integer","default":1,"exclusiveMinimum":0},"description":"The page to fetch","in":"query","name":"page"},{"schema":{"type":"integer","default":20,"exclusiveMinimum":0},"description":"The page size to fetch","in":"query","name":"page_size"},{"schema":{"type":"string"},"description":"Filter follower by user, it allows to check if a user is following the object","in":"query","name":"user"},{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FollowPage"}}}}},"summary":"List all followers for a given object","tags":["dataservices"]}}},"components":{"schemas":{"FollowPage":{"properties":{"data":{"description":"The page data","items":{"$ref":"#/components/schemas/Follow"},"type":"array"},"next_page":{"description":"The next page URL if exists","type":"string"},"page":{"description":"The current page","minimum":1,"type":"integer"},"page_size":{"description":"The page size used for pagination","minimum":0,"type":"integer"},"previous_page":{"description":"The previous page URL if exists","type":"string"},"total":{"description":"The total paginated items","minimum":0,"type":"integer"}},"required":["page","page_size","total"],"type":"object"},"Follow":{"properties":{"follower":{"allOf":[{"$ref":"#/components/schemas/UserReference"}],"description":"The follower","readOnly":true},"id":{"description":"The follow object technical ID","readOnly":true,"type":"string"},"since":{"description":"The date from which the user started following","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"UserReference":{"allOf":[{"$ref":"#/components/schemas/BaseReference"},{"properties":{"avatar":{"description":"URL of the image","readOnly":true,"type":"string"},"avatar_thumbnail":{"description":"URL of the cropped and squared image (500x500)","readOnly":true,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"page":{"description":"Link to the udata web page for this user","readOnly":true,"type":"string"},"slug":{"maxLength":255,"readOnly":true,"type":"string"},"uri":{"description":"Link to the API endpoint for this user","readOnly":true,"type":"string"}},"required":["first_name","last_name","slug"],"type":"object"}]},"BaseReference":{"discriminator":"class","properties":{"class":{"description":"The object class","type":"string"},"id":{"description":"The object unique identifier","type":"string"}},"required":["class","id"],"type":"object"}}}}
```

## POST /dataservices/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/":{"post":{"operationId":"create_dataservice","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28read%29"}}}},"400":{"description":"Validation error"}},"tags":["dataservices"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28write%29"}}},"required":true}}}},"components":{"schemas":{}}}
```

## DELETE /dataservices/{dataservice}/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/":{"delete":{"operationId":"delete_dataservice","parameters":[{"schema":{"type":"boolean","default":false},"description":"Send formal legal notice with appeal information to owner (admin only)","in":"query","name":"send_legal_notice"}],"responses":{"204":{"description":"dataservice deleted"}},"tags":["dataservices"]}}}}
```

## PATCH /dataservices/{dataservice}/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/":{"patch":{"operationId":"update_dataservice","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28read%29"}}}},"400":{"description":"Validation error"}},"tags":["dataservices"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28write%29"}}},"required":true}}}},"components":{"schemas":{}}}
```

## DELETE /dataservices/{dataservice}/datasets/{dataset}/

>

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/datasets/{dataset}/":{"delete":{"operationId":"delete_dataservice_dataset_api_/dataservices/<dataservice:dataservice>/datasets/<dataset:dataset>/","responses":{"404":{"description":"Dataservice not found"}},"tags":["dataservices"]}}}}
```

## Follow an object given its ID

> Returns the number of followers left after the operation

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{id}/followers/":{"post":{"description":"Returns the number of followers left after the operation","operationId":"follow_dataservice","responses":{"200":{"description":"Success"}},"summary":"Follow an object given its ID","tags":["dataservices"]}}}}
```

## DELETE /dataservices/{dataservice}/featured/

> Unmark a dataservice as featured

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{dataservice}/featured/":{"delete":{"operationId":"unfeature_dataservice","parameters":[{"schema":{"type":"string","format":"mask"},"description":"An optional fields mask","in":"header","name":"X-Fields"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataservice%20%28read%29"}}}}},"summary":"Unmark a dataservice as featured","tags":["dataservices"]}}},"components":{"schemas":{}}}
```

## Unfollow an object given its ID

> Returns the number of followers left after the operation

```json
{"openapi":"3.1.1","info":{"title":"uData API","version":"1.0"},"tags":[{"description":"Dataservices related operations (beta)","name":"dataservices"}],"servers":[{"url":"http://www.data.gouv.fr/api/1"}],"paths":{"/dataservices/{id}/followers/":{"delete":{"description":"Returns the number of followers left after the operation","operationId":"unfollow_dataservice","responses":{"200":{"description":"Success"}},"summary":"Unfollow an object given its ID","tags":["dataservices"]}}}}
```


# Télécharger le catalogue de données de data.gouv.fr

L’ensemble des jeux de données publiés sur data.gouv.fr constitue un jeu de données à part entière qui peut être téléchargé lui aussi, sous la forme d’un catalogue.\
Vous y trouverez :

* **La liste des jeux de données publiés sur data.gouv.fr**
* **La liste des ressources publiées sur data.gouv.fr**
* **La liste des réutilisations publiées sur data.gouv.fr**
* **La liste des organisations créées sur data.gouv.fr**
* **La liste des tags créés sur data.gouv.fr**
* **La liste des discussions ouvertes sur data.gouv.fr**
* **La liste des moissonneurs sur data.gouv.fr**

[Voir le jeu de données](https://www.data.gouv.fr/fr/datasets/catalogue-des-donnees-de-data-gouv-fr/).

Les données sont mises à jour de manière hebdomadaire.

### Consulter le catalogue des jeux de données <a href="#consulter-le-catalogue-des-jeux-de-donnees" id="consulter-le-catalogue-des-jeux-de-donnees"></a>

Le catalogue des jeux de données est aussi publié dans plusieurs formats, pour en faciliter la consultation.

Voici la liste des formats proposés avec les MIME type à utiliser ainsi que les URL (liens) correspondantes :

<table><thead><tr><th width="120.33333333333331">Format</th><th>URL</th><th>MIME type</th></tr></thead><tbody><tr><td>RDF/XML</td><td><a href="https://www.data.gouv.fr/catalog.xml">https://www.data.gouv.fr/catalog.xml</a></td><td><strong>application/rdf+xml</strong>, application/xml</td></tr><tr><td>Turtle</td><td><a href="https://www.data.gouv.fr/catalog.ttl">https://www.data.gouv.fr/catalog.ttl</a></td><td><strong>text/turle</strong>, application/x-turtle</td></tr><tr><td>N3</td><td><a href="https://www.data.gouv.fr/catalog.n3">https://www.data.gouv.fr/catalog.n3</a></td><td><strong>text/n3</strong></td></tr><tr><td>JSON-LD</td><td><a href="https://www.data.gouv.fr/catalog.jsonld">https://www.data.gouv.fr/catalog.jsonld</a></td><td><strong>application/ld+json</strong>, application/json</td></tr><tr><td>N-Triples</td><td><a href="https://www.data.gouv.fr/catalog.nt">https://www.data.gouv.fr/catalog.nt</a></td><td><strong>application/n-triples</strong></td></tr><tr><td>TriG</td><td><a href="https://www.data.gouv.fr/catalog.trig">https://www.data.gouv.fr/catalog.trig</a></td><td><strong>application/trig</strong></td></tr></tbody></table>

### Statistiques de fréquentation de data.gouv.fr <a href="#statistiques-de-frequentation-de-datagouvfr" id="statistiques-de-frequentation-de-datagouvfr"></a>

Des statistiques sur la fréquentation de data.gouv.fr sont consultables en ligne sur le site [stats.data.gouv.fr](https://stats.data.gouv.fr/index.php?module=CoreHome\&action=index\&idSite=109\&period=range\&date=previous30#?idSite=1\&period=range\&date=previous30\&category=Dashboard_Dashboard\&subcategory=1).


# Accéder au catalogue via SPARQL

{% hint style="info" %}

### Qu'est-ce qu'une recherche SPARQL ?

SPARQL (SPARQL Protocol and RDF Query Language) est un langage de requête utilisé pour interroger des bases de données RDF (Resource Description Framework). RDF est un modèle standardisé pour représenter les informations sur le web. SPARQL permet d'extraire et de manipuler les données stockées sous ce format, permettant de naviguer efficacement dans les informations interconnectées du web sémantique.
{% endhint %}

## Comment faire une recherche SPARQL ?

Il n’existe actuellement pas de point d’accès SPARQL directement sur [data.gouv.fr](http://data.gouv.fr/). Pour répondre à vos besoins en matière de recherche et d’interrogation des données ouvertes françaises, nous vous recommandons d’utiliser [data.europa.eu](http://data.europa.eu/). Cette plateforme européenne moissonne régulièrement le catalogue de [data.gouv.fr](http://data.gouv.fr/), ce qui vous permet d’accéder aux données françaises et toutes les autres données européennes via leur endpoint SPARQL.

Pour effectuer une recherche SPARQL sur [**data.europa.eu**](http://data.europa.eu/), en particulier sur le catalogue français [**data.gouv.fr**](http://data.gouv.fr/) (appelé **Plateforme ouverte des données publiques françaises** sur [data.europa.eu](http://data.europa.eu/)), suivez ces étapes :

### Étape 1 : Accéder à l'interface de requête SPARQL

* Rendez-vous sur l'interface SPARQL de [**data.europa.eu**](http://data.europa.eu/) à l'adresse suivante : <https://data.europa.eu/data/sparql?locale=fr>.
* Vous accéderez à une interface graphique où vous pouvez saisir vos requêtes SPARQL.

### Étape 2 : Comprendre les éléments de base d'une requête SPARQL

Les principaux éléments d'une requête SPARQL sont :

* **PREFIX** : Déclare les préfixes utilisés pour éviter de répéter les URI complètes dans la requête. Par exemple :

  ```sparql
  PREFIX dcat: <http://www.w3.org/ns/dcat#>

  ```
* **SELECT** : Indique les variables que vous souhaitez récupérer dans les résultats. Par exemple :

  ```sparql
  SELECT ?title ?description

  ```
* **WHERE** : Spécifie les motifs de correspondance pour restreindre les informations à extraire. Par exemple :

  ```sparql
  WHERE {
    ?dataset dcat:title ?title ;
             dcat:description ?description .
  }

  ```
* **LIMIT** : Limite le nombre de résultats retournés. Par exemple :

  ```sparql
  LIMIT 10

  ```

### Étape 3 : Exemple de requête SPARQL pour interroger le catalogue [**data.gouv.fr**](http://data.gouv.fr/)

Pour interroger les jeux de données du catalogue français [**data.gouv.fr**](http://data.gouv.fr/), utilisez la requête suivante :

```sparql
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX fo: <http://www.w3.org/1999/XSL/Format#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT ?dataset ?title ?description ?publisher
WHERE {
  <http://data.europa.eu/88u/catalogue/plateforme-ouverte-des-donnees-publiques-francaises> dcat:dataset ?dataset .
  ?dataset dct:title ?title ;
           dct:description ?description ;
           dct:publisher ?publisher .
  FILTER(lang(?title) = '') .
  FILTER(lang(?description) = '') .
}
LIMIT 10
```

Cette requête sélectionne les jeux de données publiés par la "Plateforme ouverte des données publiques françaises" en récupérant leur titre et leur description.

### Étape 4 : Exécuter la requête

* Collez la requête dans l'éditeur SPARQL sur la page de [data.europa.eu](http://data.europa.eu/).
* Exécuter la requête.
* Les résultats s'afficheront sous forme de tableau, listant les jeux de données avec leurs titres et descriptions.

### Étape 5 : Exporter et utiliser les résultats

Vous pouvez exporter les résultats obtenus dans différents formats (CSV, JSON, XML) pour les analyser ou les intégrer dans d'autres systèmes.

### En savoir plus

Pour en savoir plus vous pouvez vous référer à la [documentation sur data.europa](https://data.europa.eu/en/about/sparql).


# Comprendre le moissonnage

{% hint style="info" %}
**Qu'est-ce que le moissonnage sur data.gouv.fr ?**\
Le moissonnage est un mécanisme permettant de collecter les métadonnées sur un catalogue distant et de les stocker sur une autre plateforme afin de proposer un second point d’accès aux données.
{% endhint %}

Le service de moissonnage mis à votre disposition permet de référencer sur data.gouv.fr les jeux de données publiés sur d’autres catalogues de données en ligne. De cette manière, vous n’avez pas besoin d’importer à la main sur data.gouv.fr les jeux de données que vous avez déjà importés sur votre propre plateforme.

{% hint style="info" %}
**Quand utiliser le service de moissonnage ?**

Si vous mettez en ligne des données publiques sur une plateforme ouverte, dans un format dont les métadonnées correspondent à la syntaxe ODS, CKAN, ou DCAT vous pouvez les référencer automatiquement sur data.gouv.fr en utilisant notre service de moissonnage.\
Voir la différence entre [API et moissonnage](broken://pages/THaWx8YnNzHJDxnuPXJp).
{% endhint %}

Dans cette section, vous apprendrez comment publier un catalogue de données existant par moissonnage.


# Les limites du moissonnage

{% hint style="warning" %}
Le moissonnage n’a aucune connaissance de l’usage que vous faites du modèle de données. Il s’appuie uniquement sur les spécifications de chaque protocole ou plateforme pour récupérer les informations. Il y a donc certaines limitations techniques liées aux spécificités de chaque plateforme. Certaines limitations sont communes et détaillées ci-dessous.
{% endhint %}

## Correspondances des métadonnées <a href="#correspondances-des-metadonnees" id="correspondances-des-metadonnees"></a>

Certains champs du modèle de data.gouv.fr possèdent un équivalent qui peut être sous spécifié dans certains protocoles ou sur certaines plateformes, ou bien alors être spécifié différemment, sur plusieurs champs. Dans ce cas, la valeur du champ est récupérée en “best effort’, c’est-à-dire qu’elle va être devinée en fonction des éléments à disposition. Se référer à la page de chaque moissonneur pour savoir lesquels sont dans ce cas pour chaque implémentation.

## Suppression à la source et archivage <a href="#suppression-a-la-source" id="suppression-a-la-source"></a>

Lors d'une suppression à la source (un ou plusieurs jeux de données qui ne sont plus présents sur la plateforme moissonnée), data.gouv.fr conserve les jeux de données sur sa plateforme. Le but est d'éviter les suppressions en masse par erreur, ce qui entraînerait une perte des statistiques, des discussions et des ressources communautaires de chaque jeu de données.

Au bout d'une période de 2 jours, ils sont marqués comme archivés. L'archivage des jeux de données implique qu'ils ne soient plus indexés ou visibles dans les statistiques des producteurs, mais bien accessibles par lien direct pour les utilisateurs qui souhaiteraient continuer à y accéder.

Dans le cas d’une suppression ponctuelle, nous vous invitons à supprimer manuellement le jeu de données moissonné qui a perdu sa source.

Dans le cas d’une suppression massive de jeu de données, veuillez nous contacter afin de trouver une solution satisfaisante.

## Changement d’identifiant <a href="#changement-didentifiant" id="changement-didentifiant"></a>

Les moissonneurs utilisent les identifiants de jeu de données distants pour retrouver leurs données entre deux moissonnages. Il est donc important de veiller à ce qu’un jeu de données conserve son identifiant au fil du temps et des modification successives. Dans le cas contraire, cela donnera lieu à la création d’un doublon.

Il faut donc aussi veiller à ne pas supprimer puis recréer un jeu de données ou une ressource pour faire sa mise à jour.


# Les différents type de moissonneurs

## Les différents moissonneurs

Aujourd’hui, data.gouv.fr peut moissonner les plateformes ou formats suivants :

* **DCAT** (GeoNetwork, OpenDataSoft, etc.)
* **CKAN**
* **DKAN**, une variante du moissonneur CKAN

{% tabs %}
{% tab title="DCAT" %}

#### DCAT <a href="#dcat" id="dcat"></a>

[DCAT](https://www.w3.org/TR/vocab-dcat/) est un vocabulaire RDF pour décrire des jeux de données. La Commission européenne a publié son extension de DCAT, appelée [DCAT-AP](https://joinup.ec.europa.eu/release/dcat-ap/11).

**Spécificités techniques**

Ce moissonneur attend l’URL d’un **catalogue** DCAT (`dcat:Catalog`).

Plusieurs formats sont supportés et découvrables à travers la négociation de contenu :

* `RDF XML`
* `JSON-LD`
* `Turtle`
* `N3`
* `NT`
* `Trig`

La pagination est supportée via l’ontologie [Hydra](https://www.w3.org/community/hydra/wiki/Pagination) (ainsi que l’ancienne version).

**Correspondance des champs du modèle**

**Jeu de données**

La notion équivalente au jeu de données sur data.gouv.fr (`Dataset`) est un noeud de type `dcat:Dataset` en RDF.

<table><thead><tr><th width="128"></th><th width="148">DATA.GOUV.FR</th><th width="186">RDF</th><th>NOTES</th></tr></thead><tbody><tr><td>Titre</td><td><code>title</code></td><td><code>dct:title</code></td><td></td></tr><tr><td>Acronyme</td><td><code>acronym</code></td><td><code>skos:altLabel</code></td><td></td></tr><tr><td>Description</td><td><code>description</code></td><td><code>dct:description</code> + <code>dct:abstract</code></td><td>Éventuellement HTML transformé en Markdown. <code>dct:description</code> est à privilégier</td></tr><tr><td>Mots-clés</td><td><code>tags</code></td><td><code>dcat:keyword</code> + <code>dcat:theme</code></td><td>Les <code>RdfResource</code> ne sont pas supportées pour le champ <code>dcat:theme</code>. <code>dcat:keyword</code> est à privilégier</td></tr><tr><td>Licence</td><td><code>license</code></td><td><code>dct:license</code> et <code>dct:right</code> depuis <code>dcat:distributions</code></td><td><a href="#detection-des-licences-par-le-moissonnage">Détection des licences</a></td></tr><tr><td>Couverture spatiale</td><td><code>spatial</code></td><td><code>DCT.spatial</code></td><td>Uniquement les couverture géométriques sont supportées pour l'instant. Soit un Polygon en tant que littéral WKT (<a href="https://w3c.github.io/dxwg/dcat/#ex-spatial-coverage-geometry">exemple</a>), soit un GeoJSON directement (datatype <code>application/vnd.geo+json</code>).</td></tr><tr><td>Couverture temporelle</td><td><code>temporal_coverage</code></td><td><code>dct:temporal</code></td><td>Séparé par <code>/</code> dans le cas de dates de début et de fin, ex: 2011-01-01/2011-12-31</td></tr><tr><td>Fréquence de mise à jour</td><td><code>frequency</code></td><td><code>dct:accrualPeriodicity</code></td><td><a href="http://dublincore.org/groups/collections/frequency/">Dublin Core Frequency</a> ou un équivalent au plus proche des <a href="https://publications.europa.eu/en/web/eu-vocabularies/at-dataset/-/resource/dataset/frequency">Fréquences Européennes</a></td></tr></tbody></table>

**Autres métadonnées**

Certaines propriétés additionnelles sont conservées dans l’attribut `harvest` par soucis de traçabilité. Les informations de date sont sauvegardées dans ces métadonnées.

<table><thead><tr><th width="149"></th><th width="243">DATA.GOUV.FR HARVEST</th><th width="127">RDF</th><th>NOTES</th></tr></thead><tbody><tr><td>Identifiant distant</td><td><code>remote_id</code></td><td><code>dct:identifier</code></td><td>Conservé aussi sous <code>dct:identifier</code></td></tr><tr><td>URI</td><td><code>uri</code></td><td>ID du noeud</td><td><code>URIRef</code></td></tr><tr><td>URL de consultation</td><td><code>remote_url</code></td><td><code>dcat:landingPage</code> ou l’identifier RDF s’il s’agit d’une URI</td><td></td></tr><tr><td>Date de création</td><td><code>created_at</code></td><td><code>dct.issued</code></td><td></td></tr><tr><td>Date de modification</td><td><code>modified_at</code></td><td><code>dct.modified</code></td><td></td></tr></tbody></table>

**Ressource**

La notion équivalente à la ressource sur data.gouv.fr (`Resource`) est un noeud de type `dcat:Distribution` en RDF.

<table><thead><tr><th width="140"></th><th>DATA.GOUV.FR</th><th>RDF</th><th>NOTES</th></tr></thead><tbody><tr><td>Titre</td><td><code>title</code></td><td><code>dct:title</code></td><td>Propriété facultative, un nom est généré sinon</td></tr><tr><td>Description</td><td><code>description</code></td><td><code>dct:description</code></td><td>Éventuellement HTML transformé en Markdown</td></tr><tr><td>URL</td><td><code>url</code></td><td><code>dcat:downloadURL</code> et <code>dcat:accessURL</code></td><td>Priorité à <code>dcat:downloadURL</code></td></tr><tr><td>Taille</td><td><code>filesize</code></td><td><code>dcat:byteSize</code></td><td></td></tr><tr><td>Type MIME</td><td><code>mime</code></td><td><code>dcat:mediaType</code></td><td></td></tr><tr><td>Format</td><td><code>format</code></td><td><code>dct:format</code></td><td></td></tr><tr><td>Somme de contrôle</td><td><code>checksum</code></td><td><code>spdx:checksum</code> (<code>spdx:algorithm</code> + <code>spdx:checksumValue</code>)</td><td></td></tr></tbody></table>

**Autres métadonnées**

Certaines propriétés sont conservées dans l’attribut `harvest` par souci de traçabilité :

<table><thead><tr><th width="173"></th><th>DATA.GOUV.FR RESOURCE HARVEST</th><th>RDF</th><th>NOTES</th></tr></thead><tbody><tr><td>Identifiant distant</td><td><code>dct:identifier</code></td><td><code>dct:identifier</code></td><td></td></tr><tr><td>URI</td><td><code>uri</code></td><td><code>dct:identifier</code></td><td>Si <code>dct:identifier</code> est un <code>URIRef</code></td></tr><tr><td>Date de création</td><td><code>created_at</code></td><td><code>dct.issued</code></td><td></td></tr><tr><td>Date de modification</td><td><code>modified_at</code></td><td><code>dct.modified</code></td><td></td></tr></tbody></table>

**Logiciels supportés**

La plupart des logiciels exposant du DCAT (v3 à date) devraient être compatibles *a minima* avec le moissonneur DCAT de data.gouv.fr. Ci-dessous quelques exemples de logiciels supportés.

**GeoNetwork**

Si vous avez une instance de Geonetwork, vous pouvez publier sur data.gouv.fr.

Une documentation détaillée est précisée sur la [page du moissonnage des données géographiques](/moissonnage/comprendre-le-moissonnage/moissonnage-des-plateformes-geographiques#configurer-un-portail-geonetwork).

**OpenDataSoft**

[Opendatasoft](https://www.opendatasoft.com/) est un service en PaaS permettant de mettre en œuvre ce qu’on appelle un datastore et le portail de données associé.

Le moissonneur utilise l'export au format DCAT de chaque portail OpenDataSoft pour récupérer les métadonnées.

**Spécifications techniques** : Ce moissonneur attend l’URL publique d'export DCAT de votre portail Opendatasoft. Ce sera par exemple `https://data.ma-compagnie.com/api/explore/v2.1/catalog/exports/dcat/`. Il est possible (et souvent nécessaire) de renseigner dans l'URL les filtres des jeux de données cibles à moissonner (afin par exemple de moissonner les jeux de données du producteur X avec le mot clé Y). Vous trouverez plus d'information sur la mise en place d'un moissonneur DCAT pour un portail OpenDataSoft sur la [documentation dédiée d'OpenDataSoft](https://user-guide.opendatasoft.com/fr/articles/2032322).

**Attention**: OpenDataSoft utilise le slug (la portion identifiant le jeu de données dans les URLs) comme identifiant technique. L’outil laisse la possibilité de changer ce slug ce qui pose un vrai problème de pérennité des identifiants. Ayez donc à l’esprit que ce changement d’identifiant créera des doublons au moissonnage.

**Isogeo**

Les portails Isogeo exposent du DCAT et sont donc moissonnables par data.gouv.fr.

Cette [documentation officielle](https://help.isogeo.com/admin/fr/features/publish/harvest_datagouv_fr.html) explique en détail la mise en place d’un moissonneur DCAT pour un portail Isogeo.

**Namespaces utilisés**

Par souci de lisibilité, les namespaces suivants sont déclarés :

* `dcat` ⇨ `http://www.w3.org/ns/dcat#`
* `dct` ⇨ `http://purl.org/dc/terms/`
* `foaf` ⇨ `http://xmlns.com/foaf/0.1/`
* `hydra` ⇨ `http://www.w3.org/ns/hydra/core#`
* `rdfs` ⇨ `http://www.w3.org/2000/01/rdf-schema#`
* `scv` ⇨ `http://purl.org/NET/scovo#`
* `skos` ⇨ `http://www.w3.org/2004/02/skos/core#`
* `vcard` ⇨ `http://www.w3.org/2006/vcard/ns#`
* `xsd` ⇨ `http://www.w3.org/2001/XMLSchema#`
* `freq` ⇨ `http://purl.org/cld/freq/`

**Contribuer**

Ce moissonneur fait partie du coeur de `udata`, [son code est disponible sur github](https://github.com/opendatateam/udata/blob/master/udata/harvest/backends/dcat.py). Vous pouvez donc soumettre des améliorations ou signaler des anomalies.
{% endtab %}

{% tab title="CKAN" %}

#### CKAN <a href="#ckan" id="ckan"></a>

[CKAN](https://ckan.org/) est un logiciel libre permettant de mettre en oeuvre des portails de données.

Le moissonneur utilise l’API de CKAN pour récupérer les métadonnées.

**Spécifications techniques**

Ce moissonneur attend l’URL racine de l’instance CKAN et non du portail (dans le cas où CKAN est couplé à Drupal par exemple).

Comme le moissonneur utilise l’API de CKAN, il nécessite que celle-ci soit accessible.

Ce moissonneur n’est pas compatible avec les changements de modèles qui peuvent être effectués par certains plugins. Les champs d’un jeu de données doivent rester les mêmes, et le format de leur contenu aussi.

Les champs additionnels du modèle sont ignorés.

**Correspondance des champs du modèle**

**Jeu de données**

La notion équivalente au jeu de données sur data.gouv.fr (`Dataset`) est le `Package` dans CKAN.

<table><thead><tr><th width="137"></th><th width="161">DATA.GOUV.FR</th><th width="216">CKAN</th><th>NOTES</th></tr></thead><tbody><tr><td>Slug</td><td><code>slug</code></td><td><code>name</code></td><td>Création uniquement, si disponible</td></tr><tr><td>Titre</td><td><code>title</code></td><td><code>title</code></td><td></td></tr><tr><td>Acronyme</td><td><code>acronym</code></td><td>❌</td><td></td></tr><tr><td>Description</td><td><code>description</code></td><td><code>notes</code></td><td></td></tr><tr><td>Mots-clés</td><td><code>tags</code></td><td><code>tags.name</code></td><td></td></tr><tr><td>Date de création</td><td><code>created_at</code></td><td><code>metadata_created</code></td><td></td></tr><tr><td>Date de mise à jour</td><td><code>last_modified</code></td><td><code>metadata_modified</code></td><td></td></tr><tr><td>Licence</td><td><code>license</code></td><td><code>license_id</code> et <code>license_title</code></td><td>deviné</td></tr><tr><td>Couverture spatiale</td><td><code>spatial</code></td><td><code>extras.spatial</code> et <code>extras.spatial-test</code></td><td>deviné</td></tr><tr><td>Couverture temporelle</td><td><code>temporal_coverage</code></td><td><code>extras.temporal_start</code> et <code>extras.temporal_end</code></td><td></td></tr><tr><td>Fréquence de mise à jour</td><td><code>frequency</code></td><td><code>extras.frequency</code></td><td><a href="http://dublincore.org/groups/collections/frequency/">Dublin Core Frequency</a></td></tr></tbody></table>

**Autres métadonnées**

Certaines propriétés additionnelles sont conservées dans l’attribut `harvest` par soucis de traçabilité. Les informations de date sont sauvegardées dans ces métadonnées.

<table><thead><tr><th width="149"></th><th>DATA.GOUV.FR HARVEST</th><th width="105">CKAN</th><th>NOTES</th></tr></thead><tbody><tr><td>Identifiant distant</td><td><code>remote_id</code></td><td><code>id</code></td><td></td></tr><tr><td>Slug</td><td><code>ckan_name</code></td><td><code>name</code></td><td>Car <code>slug</code> peut déjà être pris</td></tr><tr><td>URL de consultation</td><td><code>remote_url</code></td><td><code>url</code></td><td>Conservé dans <code>ckan:source</code> si URL invalide</td></tr></tbody></table>

Tous les attributs `extras` de CKAN qui ne font pas l’objet d’un traitement particulier sont aussi conservés dans l’attribut `extras`.

**Ressource**

La notion équivalente à la ressource sur data.gouv.fr (`Resource`) est aussi la `Resource` dans CKAN.

<table data-full-width="true"><thead><tr><th width="127"></th><th>DATA.GOUV.FR</th><th>CKAN</th><th>NOTES</th></tr></thead><tbody><tr><td>Identifiant</td><td><code>id</code></td><td><code>id</code></td><td>Un UUID valide</td></tr><tr><td>Titre</td><td><code>title</code></td><td><code>name</code></td><td></td></tr><tr><td>Description</td><td><code>description</code></td><td><code>description</code></td><td></td></tr><tr><td>URL</td><td><code>url</code></td><td><code>url</code></td><td></td></tr><tr><td>Type</td><td><code>filetype</code></td><td><code>resource_type</code></td><td><code>api</code> ou <code>remote</code></td></tr><tr><td>Type MIME</td><td><code>mime</code></td><td><code>mimetype</code></td><td></td></tr><tr><td>Format</td><td><code>format</code></td><td><code>format</code></td><td></td></tr><tr><td>Date de création</td><td><code>harvest.created_at</code></td><td><code>created</code></td><td></td></tr><tr><td>Date de mise à jour</td><td><code>harvest.modified_at</code></td><td><code>last_modified</code></td><td></td></tr></tbody></table>

#### Filtrage <a href="#filtrage" id="filtrage"></a>

La filtrage donne la possibilité d’inclure ou d’exclure un sous-ensemble de jeux de données du moissonnage.

Lorsqu’un ou plusieurs filtres sont déclarés, seuls les jeux de données remplissant **toutes** les conditions (**ET**) seront traités.

**Portail multiproducteur : restriction à une organisation**

![Exemple de restriction à une seule organisation](https://doc.data.gouv.fr/img/moissonnage/harvest-filter-include.png)

**Exclusion de mots-clés**

![Exemple d'exclusion de mots-clés](https://doc.data.gouv.fr/img/moissonnage/harvest-filter-exclude.png)

**Combinaisons multiples**

![Exemple de combinaison de filtres](https://doc.data.gouv.fr/img/moissonnage/harvest-filter-combined.png)

**Contribuer**

Le moissonneur CKAN est publié sur github dans le plugin [`udata-ckan`](https://github.com/opendatateam/udata-ckan). Vous pouvez donc soumettre des améliorations ou signaler des anomalies.
{% endtab %}
{% endtabs %}

#### Métadonnées communes <a href="#metadonnees-communes" id="metadonnees-communes"></a>

Les jeux de données moissonnés possèdent les attributs suivants dans leur champ `extras` pour la traçabilité :

| ATTRIBUT              | CONTENU                               |
| --------------------- | ------------------------------------- |
| `harvest:domain`      | Nom de domaine moissonné              |
| `harvest:source_id`   | Identifiant technique du moissonneur  |
| `harvest:remote_id`   | Identifiant distant du jeu de données |
| `harvest:last_update` | Date du dernier moissonnage           |

## Détection des licences par le moissonnage

Lors du moissonnage, la liste de référence de data.gouv.fr, [disponible ici au format json](https://www.data.gouv.fr/api/1/datasets/licenses/), est utilisée pour détecter la licence du jeu de données distant.

Cette détection utilise les attributs suivants :

* `id`
* `title`
* `alternate_titles`
* `url`
* `alternate_urls`

Le meilleur moyen d’assurer une compatibilité parfaite est d’utiliser l’`id` sur le flux distant lorsque c’est possible.


# Moissonnage des plateformes géographiques

Il est possible de faire moissonner les données de sa plateforme géographique par [data.gouv.fr](https://www.data.gouv.fr/).<br>

{% hint style="info" %}
**Qu'est-ce que le moissonnage sur data.gouv.fr ?**\
Le moissonnage est un mécanisme permettant de collecter les métadonnées sur un catalogue distant et de les stocker sur une autre plateforme afin de proposer un second point d’accès aux données.
{% endhint %}

{% hint style="warning" %}
Historiquement, le moissonnage des métadonnées géographiques se faisait via [geo.data.gouv.fr](https://geo.data.gouv.fr/). La plateforme est aujourd'hui éteinte. Vous retrouverez plus d’informations à propos de [l'extinction de geo.data.gouv.fr ici](https://www.data.gouv.fr/fr/posts/extinction-de-geo-data-gouv-fr/).
{% endhint %}

1. La plateforme [data.gouv.fr](https://www.data.gouv.fr/fr/posts/extinction-de-geo-data-gouv-fr/www.data.gouv.fr) a vocation à accueillir l’ensemble des données géographiques en open data.
2. Le moissonnage direct des plateformes géographiques par [data.gouv.fr](https://www.data.gouv.fr/fr/posts/extinction-de-geo-data-gouv-fr/www.data.gouv.fr) est maintenant possible et n’oblige plus à passer par une plateforme intermédiaire.
3. Des travaux sont en cours pour moissonner automatiquement les fiches de métadonnées mises à disposition par [Géo-IDE Catalogue](http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/home) au nom des différentes organisations productrices.
4. Le rôle de la plateforme Geocatalogue gérée par le BRGM (Service Géologique National) est concentré sur le périmètre des données [INSPIRE](https://knowledge-base.inspire.ec.europa.eu/index_en) pour le rapportage au niveau européen.
5. Un double moissonnage est possible pour que les données INSPIRE soient référencées à la fois sur le Geocatalogue et data.gouv.fr. Cela nécessite néanmoins de créer deux points de moissonnage distincts à date.
6. Des moyens sont mis en œuvre de manière continue par les équipe de [data.gouv.fr](https://www.data.gouv.fr/fr/posts/extinction-de-geo-data-gouv-fr/www.data.gouv.fr) et l'équipe Écosphères du MTECT (Ministère de la Transistion Ecologique et de la Cohésion des Territoires) pour tendre vers la complétude du moissonnage des métadonnées des catalogues des plateformes géographiques.

{% hint style="info" %}
Toutes les métadonnées ne sont pas encore correctement transformés par ce convertisseur ISO-19139 vers DCAT. En lien avec les équipes du projet Ecosphères, nous travaillons à augmenter régulièrement le périmètre des métadonnées moissonnées.
{% endhint %}

### Mettre en place un moissonneur géographique

Le moissonnage des plateformes géographiques se fait avec transformation des fiches ISO-19139 en [DCAT](broken://pages/ihb4mJiMK1gaQDBc8gXl#dcat), l'un des vocabulaires de moissonnage supportés par data.gouv.fr.

Les fiches moissonnées étant associées à l'organisation qui a configuré le moissonneur sur [data.gouv.fr](https://www.data.gouv.fr/), il est important de préparer les points de moissonnage pour que les fiches retournées correspondent à celles de l'organisation cible.

Dans le cas d'une plateforme référençant des données de différentes organisations, il est donc nécessaire de créer des CSW virtuels (filtrés par organisation cible).

[Une documentation est disponible sur GeoNetwork](https://geonetwork-opensource.org/manuals/3.12.x/fra/users/administrator-guide/configuring-the-catalog/portal-configuration.html#configuring-a-sub-portal) pour configurer des sous-portails.

Une documentation est disponible sur les étapes générales de configuration d'un point de moissonnage dans [cette page dédiée](broken://pages/st3cZ2tA76CEHg9fxBs6). Il faut choisir le moissonneur `csw-iso-19139` au niveau de l'implémentation.

#### **Configuration**

Lors de la configuration d'un moissonneur `csw-dcat` ou `csw-iso-19139`, il est possible de renseigner un préfixe d'URL distante.

Le champ **préfixe d'URL distante** permet de spécifier un préfixe d'URL à utiliser comme base pour créer l'URL vers **la source originale**. La source originale est affichée à droite sur une page de jeu de données moissonné.

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

{% hint style="info" %}
Par exemple, pour une plateforme geonetwork, il est possible de mettre <https://geo.compiegnois.fr/geonetwork/srv/fre/catalog.search#/metadata/> comme préfixe d'URL distante. Ainsi, pour une fiche moissonnée avec comme identifiant UUID 06c9f6de-4b17-4340-8a6b-86d47877840f, on obtient le lien vers la source originale en concaténant les informations : <https://geo.compiegnois.fr/geonetwork/srv/fre/catalog.search#/metadata/06c9f6de-4b17-4340-8a6b-86d47877840f>.
{% endhint %}

### Configurer un portail GeoNetwork

data.gouv.fr peut moissonner un endpoint CSW avec une sortie ISO-19139 en appliquant par la suite [une transformation en DCAT](https://github.com/SEMICeu/iso-19139-to-dcat-ap). Ce moissonnage est fonctionnel sur les différentes versions de GeoNetwork.

Il peut aussi moissonner directement un endpoint CSW avec une sortie DCAT ou GeoDCAT-AP pour les GeoNetwork qui le supportent (dépendant des versions). Dans ce cas là, la transformation est effectuée directement par GeoNetwork.

Une requête POST est effectuée par le moissonneur sur le endpoint CSW renseigné (ex <https://geosas.fr/geonetwork/srv/fre/csw>) avec le contenu suivant :

```
<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:ogc="http://www.opengis.net/ogc"
                service="CSW" version="2.0.2" outputFormat="application/xml"
                resultType="results" startPosition="1" maxRecords="25"
                outputSchema="{output_schema}">
  <csw:Query typeNames="gmd:MD_Metadata">
    <csw:ElementSetName>full</csw:ElementSetName>
    <csw:Constraint version="1.1.0">
      <ogc:Filter>
        <ogc:Or>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>apiso:type</ogc:PropertyName>
            <ogc:Literal>dataset</ogc:Literal>
          </ogc:PropertyIsEqualTo>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>apiso:type</ogc:PropertyName>
            <ogc:Literal>nonGeographicDataset</ogc:Literal>
          </ogc:PropertyIsEqualTo>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>apiso:type</ogc:PropertyName>
            <ogc:Literal>series</ogc:Literal>
          </ogc:PropertyIsEqualTo>
          <ogc:PropertyIsEqualTo>
            <ogc:PropertyName>apiso:type</ogc:PropertyName>
            <ogc:Literal>service</ogc:Literal>
          </ogc:PropertyIsEqualTo>
        </ogc:Or>
      </ogc:Filter>
    </csw:Constraint>
    <ogc:SortBy>
      <ogc:SortProperty>
        <ogc:PropertyName>apiso:identifier</ogc:PropertyName>
        <ogc:SortOrder>ASC</ogc:SortOrder>
      </ogc:SortProperty>
    </ogc:SortBy>
  </csw:Query>
</csw:GetRecords>
```

`output_schema` peut prendre les valeurs suivantes :

* `http://www.w3.org/ns/dcat#` pour un moissonneur `csw-dcat`
* `http://data.europa.eu/903/` pour un moissonneur `csw-dcat` avec configuration `GeoDCAT-AP` activée
* `http://www.isotc211.org/2005/gmd` pour un moissonneur `csw-iso-19139`

#### Moissonnage historique

{% hint style="warning" %}
Ces solutions de moissonnage ne sont plus recommandées dans le cas général.
{% endhint %}

En version 2 ou 3, il existait un endpoint DCAT alternatif au endpoint CSW habituellement utilisé comme [documenté sur la doc Geonetwork officielle](https://geonetwork-opensource.org/manuals/3.12.x/en/api/rdf-dcat.html).

Ainsi <https://geosas.fr/geonetwork/srv/fre/csw> devenait <https://geosas.fr/geonetwork/srv/fre/rdf.search> par exemple. Le moissonneur utilisé était donc l'implémentation `dcat` simple.

En version 4, il est possible de récupérer le contenu [CSW avec format DCAT en sortie](https://github.com/geonetwork/core-geonetwork/wiki/DCAT-enhancements). Selon les versions, la conversion des fiches par GeoNetwork peut cependant être moins satisfaisante que par récupération du contenu en ISO-19139 et conversion à posteriori.


# Mettre en place un moissonneur

## Comment mettre en place un moissonneur ?

Le principe du moissonnage sur data.gouv.fr se décompose en plusieurs étapes :

1. Vous créez un moissonneur sur data.gouv.fr afin que data.gouv.fr suive l’activité de votre plateforme ;
2. Vous publiez des données sur votre plateforme open data ;
3. Vous demandez la validation de votre moissonneur sur [le support data.gouv.fr](https://support.data.gouv.fr/help/datagouv/moissonnage) ;
4. La configuration du moissonneur est validée par l’équipe en charge de data.gouv.fr ;
5. Le moissonneur de data.gouv.fr vient automatiquement récupérer les données de votre plateforme ;
6. Les données de votre plateforme sont référencées et visibles sur data.gouv.fr. :tada:

{% hint style="info" %}
Si vous souhaitez tester la mise en place d'un moissonneur et observer le résultat du moissonnage avant une mise en production sur [data.gouv.fr](https://www.data.gouv.fr/), vous pouvez le créer sur la plateforme de démo [https://demo.data.gouv.fr/](https://demo.data.gouv.fr/fr/) pour effectuer vos tests dans un premier temps. L'ensemble des étapes sont les mêmes que celles décrites sur cette page.
{% endhint %}

## Créer un moissonneur <a href="#creer-un-moissonneur" id="creer-un-moissonneur"></a>

La création d’un moissonneur sur data.gouv.fr nécessite la création d’un compte gratuit.

Pour créer un nouveau moissonneur :

1. [Connectez-vous à votre compte](https://www.data.gouv.fr/fr/login) ;
2. Rendez-vous sur [votre tableau de bord](https://www.data.gouv.fr/fr/admin/), en cliquant sur **Administration** en haut à droite de votre écran ;
3. Cliquez sur l’icône en forme de plus (`+`) qui se trouve à gauche de votre avatar ;
4. Cliquez sur **Un moissonneur**.

À partir de là, la création du moissonneur se déroule en 3 étapes.

## 1. Définir qui publie les données moissonnées <a href="#id-1-definir-qui-publie-les-donnees-moissonnees" id="id-1-definir-qui-publie-les-donnees-moissonnees"></a>

Une fois moissonnées, c’est-à-dire récupérées sur votre plateforme, vos données sont publiées sur data.gouv.fr. L’étape 1 vous permet de choisir le compte qui sera associé à la publication sur data.gouv.fr des données moissonnées sur votre site.

Il peut s’agir de :

* votre propre compte, pour une publication à titre individuel, sous votre propre nom ;
* le compte d’une organisation dont vous êtes membre, pour une publication à titre collectif.

Si vous êtes membre d’une organisation, nous vous conseillons de publier vos jeux de données en son nom. Une fois votre choix effectué, cliquez sur le bouton **Suivant** pour accéder à l’étape 2.

## 2. Configurer le moissonneur <a href="#id-2-configurer-le-moissonneur" id="id-2-configurer-le-moissonneur"></a>

L’étape 2 vous permet de configurer votre moissonneur. Cette étape est importante pour que les données récupérées par data.gouv.fr soient aussi complètes que celles publiées sur votre plateforme à l’origine.

### **Nom**

Donnez un nom à votre moissonneur. Il s’agit d’une référence interne, qui vous permet de vous y retrouver si vous créez plusieurs moissonneurs. Le nom de votre moissonneur ne sera pas public.

* **Mauvais nom** : Moissonneur de mon portail
* **Bon nom** : Plateforme open data Grand Lyon

Le nom du moissonneur est obligatoire.

### Description <a href="#description" id="description"></a>

Vous pouvez ajouter des précisions sur votre moissonneur dans le champ description. Là encore, il s’agit d’une référence interne qui n’a de valeur que pour vous.

La description est facultative.

### URL <a href="#url" id="url"></a>

Saisissez ici l’URL du portail à moissonner. Il s’agit généralement de l’URL de la page d’accueil de votre portail d’open data. L’URL permet au moissonneur de parcourir et récupérer tous vos jeux de données.

* **Mauvaise source** : `data.angers.fr`
* **Bonne source** : `https://data.angers.fr`

L’URL est obligatoire.

### Implémentation <a href="#implementation" id="implementation"></a>

Choisissez ici le format des métadonnées associées aux jeux de données publiés sur votre plateforme. Ce format permet au moissonneur de savoir comment lire et interpréter vos métadonnées, pour bien les retranscrire sur data.gouv.fr.

Certaines implémentations permettent d’ajouter des filtres, dans le but d’inclure ou d’exclure certains jeux de données du moissonnage. Consultez [la section dédiée à votre implémentation dans la documentation de moissonnage](/moissonnage/comprendre-le-moissonnage/les-differents-type-de-moissonneurs#les-differents-moissonneurs).

Le type d’implémentation est obligatoire.

### Actif <a href="#actif" id="actif"></a>

Cochez la case pour que votre moissonneur se mette au travail dès qu’il aura été validé par l’équipe en charge de data.gouv.fr. Laissez-la décochée pour activer votre moissonneur à la main.

Ce champ est obligatoire.

Une fois tous les champs obligatoires remplis, cliquez sur le bouton **Suivant** pour terminer la création de votre moissonneur.

## 3. Demander la validation du moissonneur <a href="#id-3-demander-la-validation-du-moissonneur" id="id-3-demander-la-validation-du-moissonneur"></a>

Une fois votre moissonneur configuré, demandez validation de votre moissonneur sur [le support data.gouv.fr](https://support.data.gouv.fr/collectivite-territoriale/referencement/moissonnage#support-tree). Il va être examiné par l’équipe en charge de data.gouv.fr, pour vérifier qu’il est bien réglé. Si c’est le cas, le moissonneur sera validé et vous recevrez une notification.

De votre côté, vous pouvez vérifier que votre moissonneur moissonne correctement votre site. Pour ce faire :

1. Cliquez sur le bouton **Voir dans l’administration** une fois votre moissonneur créé ;
2. Cliquez sur le bouton **Prévisualiser** ;
3. Vérifiez que le moissonneur récupère bien des jeux de données.

Tant que votre moissonneur n’est pas validé, il ne référence aucun jeu de données sur data.gouv.fr.


# Analyser le rapport de moissonnage

Chaque moissonnage donne lieu à un rapport accessible depuis l’interface d’administration de data.gouv.fr. Il vous permet de comprendre ce qu’il se passe et, le cas échéant, de corriger les erreurs existantes et de vérifier le filtrage.

## Vue synthétique <a href="#vue-synthetique" id="vue-synthetique"></a>

![Vue synthétique du rapport de moissonnage](https://doc.data.gouv.fr/img/moissonnage/admin-harvest-summary.png)

## Détails d’un jeu de données <a href="#details-dun-jeu-de-donnees" id="details-dun-jeu-de-donnees"></a>

![Détails d'un jeu de données du rapport de moissonnage](https://doc.data.gouv.fr/img/moissonnage/admin-harvest-dataset-modal.png)

## En cas d’erreur <a href="#en-cas-derreur" id="en-cas-derreur"></a>

![Erreur sur un jeu de données du rapport de moissonnage](https://doc.data.gouv.fr/img/moissonnage/admin-harvest-dataset-error-modal.png)

* **1** correspond à l’erreur **technique** formulée de façon compréhensible pour un humain
* **2** contient la “**stacktrace**” de l’erreur qui servira à ceux qui développent des moissonneurs ou contribuent aux existants.


# Notre approche de l’intelligence artificielle sur data.gouv.fr

Principes et expérimentations menés par l’équipe data.gouv.fr autour de l’IA.

L’équipe data.gouv.fr expérimente l’intelligence artificielle, en particulier les [grands modèles de langage](https://fr.wikipedia.org/wiki/Grand_mod%C3%A8le_de_langage) (LLM), pour faciliter l’accès aux données publiques et leurs usages.

Ces fonctionnalités sont encore en construction. Nous les faisons évoluer à partir de vos retours.

{% hint style="info" %}

### Nos expérimentations en cours

* Génération automatique de descriptions courtes, pour aider à rédiger des présentations claires et accessibles ;
* Suggestion de mots-clés ;
* L'ouverture d'un **serveur** [**Model Context Protocol**](https://modelcontextprotocol.io/docs/getting-started/intro) **(MCP)** en ligne. Ce serveur standardisé permet de connecter directement data.gouv.fr à votre chatbot pour qu'il puisse chercher et analyser des données en langage naturel. Retrouvez comment configurer votre outil (Claude, ChatGPT, Mistral…) dans le [guide de configuration MCP](/intelligence-artificielle/le-serveur-mcp-de-data.gouv.fr).
* La mise à disposition d'un [**skill data.gouv.fr**](https://github.com/datagouv/datagouv-skill) via un dépôt collaboratif. Il s'agit d'une documentation structurée à destination des LLMs pour leur apprendre à utiliser nativement les APIs de la plateforme (catalogue, métriques et données tabulaires).
  {% endhint %}

Ces expérimentations reposent sur quelques principes simples.

**L’IA comme aide, pas comme arbitre**

L’IA propose. Elle ne décide pas à votre place. Vous restez libre d’accepter, de modifier ou de rejeter ses suggestions.

**Une démarche expérimentale**

Nous testons, apprenons et corrigeons. Certaines propositions seront utiles. D’autres le seront moins. Vos retours nous aident à progresser.

**Respect de vos données**

Nous ne collectons ni ne stockons de données personnelles via ces fonctionnalités. Les traitements reposent sur des modèles hébergés par l’État, sans transfert vers des services externes. Les retours sont traités de manière anonyme pour améliorer le service.

**Une fiabilité relative**

Les suggestions des LLM peuvent être incomplètes, approximatives ou erronées. Elles doivent toujours être relues et validées par un humain.

**Sobriété et impact écologique**

L’IA consomme des ressources importantes. Nous cherchons donc à en faire un usage mesuré et à limiter l’empreinte environnementale de nos expérimentations.

**Utilisation avec précaution**

Nous utilisons l’IA là où elle apporte une aide concrète, sans complexifier l’expérience. Son rôle n’est pas de tout automatiser.

**Ouverture et transparence**

Nous privilégions des modèles ouverts, adaptés par l’équipe Etalab, notamment [Albert](https://www.numerique.gouv.fr/offre-accompagnement/expertise-albert-ia-etat/). Dans le service public, l’IA doit se construire de façon transparente, dans la confiance et avec la participation de tous.


# Le serveur MCP de data.gouv.fr

Connecter votre chatbot au serveur MCP (connecteur) data.gouv.fr.

[Le serveur MCP de data.gouv.fr](https://github.com/datagouv/datagouv-mcp) est une expérimentation de l’équipe data.gouv.fr autour du protocole [**Model Context Protocol**](https://modelcontextprotocol.io/docs/getting-started/intro). Il permet à un assistant conversationnel compatible MCP de rechercher des jeux de données, d’explorer le catalogue et d’analyser des ressources en langage naturel. Selon l’outil, on parle indifféremment de **serveur MCP** ou de **connecteur** — les deux désignent la même connexion à data.gouv.fr. Une instance publique est disponible pour tous, sans restriction d’accès.

{% hint style="info" %}
[Le serveur MCP](https://github.com/datagouv/datagouv-mcp) est encore **expérimental**. Le périmètre, les usages et la configuration peuvent évoluer.\
[Vos retours](https://tally.so/r/KYMboX) sont les bienvenus !
{% endhint %}

{% hint style="warning" %}
Comme pour tout usage de LLM, les réponses peuvent être incomplètes, erronées ou inclure des **hallucinations** (informations inventées par le modèle). Vérifiez toujours les résultats avant réutilisation.

Pour des usages sérieux (applications, visualisations, traitements automatisés), privilégiez les [APIs de data.gouv.fr](/api-de-data.gouv.fr/prise-en-main) : elles offrent des réponses structurées, traçables et reproductibles.
{% endhint %}

## Connexion

Connectez data.gouv.fr à votre chatbot en quelques étapes. Vous ajouterez un serveur MCP ou un connecteur selon le vocabulaire de votre outil.

|                      |                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------- |
| **URL du serveur**   | `https://mcp.data.gouv.fr/mcp`                                                                                |
| **Authentification** | Aucune clé requise (outils en lecture seule)                                                                  |
| **Self-host**        | Voir la section [Run locally](https://github.com/datagouv/datagouv-mcp#%EF%B8%8F-run-locally) du dépôt GitHub |

Ouvrez la section correspondant à votre outil. Chaque bloc reprend le libellé affiché dans l’interface (serveur MCP, connecteur, etc.) :

<details>

<summary>AnythingLLM</summary>

1. Ouvrez le fichier `anythingllm_mcp_servers.json` :
   * **Linux** : `~/.config/anythingllm-desktop/storage/plugins/anythingllm_mcp_servers.json`
   * **macOS** : `~/Library/Application Support/anythingllm-desktop/storage/plugins/anythingllm_mcp_servers.json`
   * **Windows** : `C:\Users\<user>\AppData\Roaming\anythingllm-desktop\storage\plugins\anythingllm_mcp_servers.json`
2. Ajoutez la configuration suivante :

```json
{
  "mcpServers": {
    "datagouv": {
      "type": "streamable",
      "url": "https://mcp.data.gouv.fr/mcp"
    }
  }
}
```

3. Redémarrez AnythingLLM si nécessaire.

</details>

<details>

<summary>ChatGPT</summary>

*Disponible sur les plans payants uniquement (Plus, Pro, Team et Enterprise). ChatGPT parle de **connecteurs** plutôt que de serveurs MCP.*

1. Ouvrez ChatGPT dans votre navigateur, allez dans `Settings` > `Apps and connectors`.
2. Dans `Advanced settings`, activez le **Developer mode**.
3. Retournez dans `Settings` > `Connectors` > `Browse connectors`, puis cliquez sur **Add a new connector**.
4. Renseignez l’URL `https://mcp.data.gouv.fr/mcp` et enregistrez pour activer le connecteur MCP data.gouv.fr.

</details>

<details>

<summary>Claude Code</summary>

Exécutez la commande suivante :

```shell
claude mcp add --transport http datagouv https://mcp.data.gouv.fr/mcp
```

</details>

<details>

<summary>Claude Desktop</summary>

1. Ouvrez `claude_desktop_config.json` :
   * **Linux** : `~/.config/Claude/claude_desktop_config.json`
   * **macOS** : `~/Library/Application Support/Claude/claude_desktop_config.json`
   * **Windows** : `%APPDATA%\Claude\claude_desktop_config.json`
2. Ajoutez dans `mcpServers` (section « serveurs MCP » de Claude Desktop) :

```json
{
  "mcpServers": {
    "datagouv": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.data.gouv.fr/mcp"
      ]
    }
  }
}
```

3. Relancez Claude Desktop.

**Sous Windows :** si le serveur apparaît dans la liste mais ne se connecte pas, ajoutez `"isUsingBuiltInNodeForMcp": false` à la racine du fichier de configuration, puis relancez Claude Desktop. Voir [issue #69](https://github.com/datagouv/datagouv-mcp/issues/69).

</details>

<details>

<summary>Codex</summary>

*Codex CLI utilise un fichier `config.toml`. Pour un serveur MCP HTTP comme `datagouv`, passez par `mcp-remote`.*

1. Ouvrez `~/.codex/config.toml` (Windows : `%USERPROFILE%\.codex\config.toml`).
2. Ajoutez :

```toml
[mcp_servers.datagouv]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.data.gouv.fr/mcp"]
```

3. Relancez Codex.

</details>

<details>

<summary>Codex Desktop</summary>

*Si vous utilisez l’app desktop OpenAI avec Codex, ajoutez `datagouv` comme connecteur MCP personnalisé.*

1. Ouvrez l’application, puis allez dans `Settings` > `Connectors`.
2. Cliquez sur **Add custom MCP connector**.
3. Donnez un nom au connecteur, par exemple `datagouv`.
4. Renseignez l’URL `https://mcp.data.gouv.fr/mcp`.
5. Laissez l’authentification désactivée, puis enregistrez.

Si le connecteur n’apparaît pas tout de suite dans Codex, relancez l’application.

</details>

<details>

<summary>Cursor</summary>

1. Ouvrez les paramètres Cursor.
2. Recherchez « MCP » ou « Model Context Protocol ».
3. Ajoutez un serveur MCP avec la configuration suivante (Cursor emploie le terme « serveur MCP », et non « connecteur ») :

```json
{
  "mcpServers": {
    "datagouv": {
      "url": "https://mcp.data.gouv.fr/mcp",
      "transport": "http"
    }
  }
}
```

</details>

<details>

<summary>Gemini CLI</summary>

1. Ouvrez `~/.gemini/settings.json` (Windows : `%USERPROFILE%\.gemini\settings.json`).
2. Ajoutez :

```json
{
  "mcpServers": {
    "datagouv": {
      "httpUrl": "https://mcp.data.gouv.fr/mcp"
    }
  }
}
```

</details>

<details>

<summary>HuggingChat</summary>

1. Dans l’interface de chat, cliquez sur **+**, sélectionnez `MCP Servers`, puis `Manage MCP Servers`.
2. Cliquez sur **Add Server**.
3. Renseignez un nom (par ex. « Data Gouv ») et l’URL `https://mcp.data.gouv.fr/mcp`, puis enregistrez.
4. Cliquez sur **Health Check** pour vérifier que le statut est **Connected**, puis activez le serveur MCP.

</details>

<details>

<summary>IBM Bob</summary>

1. Cliquez sur l’icône de paramètres dans le panneau Bob.
2. Sélectionnez l’onglet MCP.
3. Ouvrez la configuration globale (`mcp_settings.json`) ou projet (`.bob/mcp.json`).
4. Ajoutez :

```json
{
  "mcpServers": {
    "datagouv": {
      "url": "https://mcp.data.gouv.fr/mcp",
      "type": "streamable-http"
    }
  }
}
```

</details>

<details>

<summary>Kiro CLI</summary>

1. Ouvrez `~/.kiro/settings/mcp.json` (Windows : `%USERPROFILE%\.kiro\settings\mcp.json`).
2. Ajoutez :

```json
{
  "mcpServers": {
    "datagouv": {
      "url": "https://mcp.data.gouv.fr/mcp"
    }
  }
}
```

</details>

<details>

<summary>Kiro IDE</summary>

1. Ouvrez `.kiro/settings/mcp.json` dans votre espace de travail, ou `~/.kiro/settings/mcp.json` pour une configuration globale (Windows : `%USERPROFILE%\.kiro\settings\mcp.json`).
2. Ajoutez :

```json
{
  "mcpServers": {
    "datagouv": {
      "url": "https://mcp.data.gouv.fr/mcp"
    }
  }
}
```

</details>

<details>

<summary>Le Chat (Mistral)</summary>

*Disponible sur tous les plans, y compris gratuit. Le Chat (Mistral) parle de **connecteurs**.*

1. Ouvrez Mistral dans votre navigateur, puis allez dans `Intelligence` > `Connectors`.
2. Cliquez sur `Add connector` > `Custom MCP Connector`, donnez un nom (par ex. `DataGouv`) et renseignez l’URL `https://mcp.data.gouv.fr/mcp`.
3. Laissez l’authentification désactivée.
4. Cliquez sur **Create**.

</details>

<details>

<summary>Mistral Vibe CLI</summary>

1. Éditez `~/.vibe/config.toml` (Windows : `%USERPROFILE%\.vibe\config.toml`).
2. Ajoutez :

```toml
[[mcp_servers]]
name = "datagouv"
transport = "streamable-http"
url = "https://mcp.data.gouv.fr/mcp"
```

Voir la [documentation Vibe](https://github.com/mistralai/mistral-vibe?tab=readme-ov-file#mcp-server-configuration) pour les options complètes.

</details>

<details>

<summary>OpenCode</summary>

1. Éditez `opencode.json` (par ex. `~/.config/opencode/opencode.json` ou à la racine de votre projet).
2. Ajoutez :

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "datagouv": {
      "type": "remote",
      "url": "https://mcp.data.gouv.fr/mcp",
      "enabled": true
    }
  }
}
```

Voir la [documentation OpenCode](https://opencode.ai/docs/mcp-servers/) pour plus de détails.

</details>

<details>

<summary>VS Code</summary>

1. Ouvrez `mcp.json` via la palette de commandes (**MCP: Open User Configuration**) :
   * **Linux** : `~/.config/Code/User/mcp.json`
   * **macOS** : `~/Library/Application Support/Code/User/mcp.json`
   * **Windows** : `%APPDATA%\Code\User\mcp.json`
2. Ajoutez :

```json
{
  "servers": {
    "datagouv": {
      "url": "https://mcp.data.gouv.fr/mcp",
      "type": "http"
    }
  }
}
```

</details>

<details>

<summary>Windsurf</summary>

1. Ouvrez `~/.codeium/windsurf/mcp_config.json` (Windows : `%USERPROFILE%\.codeium\windsurf\mcp_config.json`).
2. Ajoutez :

```json
{
  "mcpServers": {
    "datagouv": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.data.gouv.fr/mcp"
      ]
    }
  }
}
```

3. Relancez Windsurf si nécessaire.

</details>

## Pour aller plus loin

Ce guide couvre la connexion des principaux chatbots. Pour plus de détails (outils, cas particuliers, self-host), consultez le [README du dépôt datagouv-mcp](https://github.com/datagouv/datagouv-mcp?tab=readme-ov-file).


# Le skill data.gouv.fr

Installer le skill data.gouv.fr pour votre assistant IA.

Le [skill data.gouv.fr](https://github.com/datagouv/datagouv-skill) est une documentation structurée pour aider un assistant IA à utiliser plus efficacement les APIs de la plateforme ([catalogue](/api-de-data.gouv.fr/reference), [métriques](https://metric-api.data.gouv.fr/api/doc) et [données tabulaires](https://tabular-api.data.gouv.fr/api/doc)).

{% hint style="info" %}
[Le skill](https://github.com/datagouv/datagouv-skill) est encore **expérimental**. Le contenu, les usages et la configuration peuvent évoluer.\
[Vos retours](https://tally.so/r/KYMboX) sont les bienvenus !
{% endhint %}

{% hint style="warning" %}
Comme pour tout usage de LLM, les réponses peuvent être incomplètes, erronées ou inclure des **hallucinations** (informations inventées par le modèle). Vérifiez toujours les résultats avant réutilisation.

Pour des usages sérieux (applications, visualisations, traitements automatisés), privilégiez l'utilisation directe des [APIs de data.gouv.fr](/api-de-data.gouv.fr/prise-en-main) : elles offrent des réponses structurées, traçables et reproductibles.
{% endhint %}

## Installation

Installez le skill en suivant la procédure correspondant à votre assistant.

{% hint style="info" %}
Les commandes ci-dessous sont prévues pour Linux/macOS.\
Si vous utilisez Windows, suivez la documentation officielle de votre assistant pour adapter les chemins et commandes.
{% endhint %}

Le skill est maintenu dans le dépôt [datagouv-skill](https://github.com/datagouv/datagouv-skill).\
Pour les détails complets d'installation et de structure (`SKILL.md`), consultez la [section Installation du README](https://github.com/datagouv/datagouv-skill?tab=readme-ov-file#%EF%B8%8F-installation).

<details>

<summary>Claude Code</summary>

Consultez la [documentation Claude Code (Skills)](https://code.claude.com/docs/en/skills).

```shell
# Installation personnelle
mkdir -p ~/.claude/skills/datagouv-apis
cp SKILL.md ~/.claude/skills/datagouv-apis/

# Installation dans le projet
mkdir -p .claude/skills/datagouv-apis
cp SKILL.md .claude/skills/datagouv-apis/
```

</details>

<details>

<summary>Cursor</summary>

Consultez la [documentation Cursor (Skills)](https://cursor.com/docs/context/skills).

Option 1 (recommandée) : ajouter une règle distante GitHub dans `Settings` > `Rules` > `Project Rules` > `Add Rule` > `Remote Rule (Github)`, puis renseigner le dépôt `datagouv/datagouv-skill`.

Option 2 (copie locale) :

```shell
# Installation personnelle
mkdir -p ~/.cursor/skills/datagouv-apis
cp SKILL.md ~/.cursor/skills/datagouv-apis/

# Installation dans le projet
mkdir -p .cursor/skills/datagouv-apis
cp SKILL.md .cursor/skills/datagouv-apis/
```

</details>

<details>

<summary>Claude Desktop</summary>

```shell
# Linux
mkdir -p ~/.config/claude/skills/datagouv-apis
cp SKILL.md ~/.config/claude/skills/datagouv-apis/

# macOS
mkdir -p ~/Library/Application\ Support/Claude/skills/datagouv-apis
cp SKILL.md ~/Library/Application\ Support/Claude/skills/datagouv-apis/
```

</details>

<details>

<summary>Mistral Vibe</summary>

Consultez la [documentation Mistral (Agents & Skills)](https://docs.mistral.ai/mistral-vibe/agents-skills/).

Les chemins ci-dessous correspondent à la configuration actuellement documentée dans le dépôt du skill. Vérifiez la documentation Mistral si votre version utilise une structure différente.

```shell
# Installation globale
mkdir -p ~/.vibe/skills/datagouv-apis
cp SKILL.md ~/.vibe/skills/datagouv-apis/

# Installation dans le projet
mkdir -p .vibe/skills/datagouv-apis
cp SKILL.md .vibe/skills/datagouv-apis/
```

</details>

<details>

<summary>Codex CLI</summary>

Consultez la [documentation Codex (Skills)](https://developers.openai.com/codex/skills).

```shell
# Installation utilisateur
mkdir -p ~/.agents/skills/datagouv-apis
cp SKILL.md ~/.agents/skills/datagouv-apis/

# Installation dans le projet
mkdir -p .agents/skills/datagouv-apis
cp SKILL.md .agents/skills/datagouv-apis/
```

</details>

<details>

<summary>ChatGPT</summary>

Collez le contenu de `SKILL.md` au début de la conversation, ou pointez vers la version brute :

`https://raw.githubusercontent.com/datagouv/datagouv-skill/main/SKILL.md`

</details>

<details>

<summary>Autres assistants</summary>

Copiez `SKILL.md` dans un dossier reconnu par votre client comme dossier de skills, par exemple `datagouv-apis/SKILL.md`.

</details>

Après installation, redémarrez votre assistant si nécessaire.

## Vérifier l’installation

Une fois le skill installé :

1. Testez une demande simple portant sur data.gouv.fr (jeu de données, API, métriques ou ressource tabulaire).
2. Vérifiez que les réponses sont plus précises, mieux structurées et cohérentes avec la documentation de la plateforme.
3. Validez systématiquement les résultats avant réutilisation.

## Pour aller plus loin

Ce guide couvre l’installation du skill. Pour les détails complets (cas particuliers, formats et mises à jour), consultez le [README du dépôt datagouv-skill](https://github.com/datagouv/datagouv-skill?tab=readme-ov-file).


# Publier une Base Adresse Locale

{% hint style="info" %}
**Lexique : Base Adresse Locale**\
Fichier géré par une collectivité locale (habituellement une commune ou un EPCI) et contenant toutes ses adresses géolocalisées. Une Base Adresse Locale publiée et à jour garantit une meilleure prise en compte des adresses dans les différents systèmes d’information des acteurs, qu’ils soient privés ou publics.\
\
Depuis 2019, les Bases Adresses Locales sont prioritaires dans la Base Adresse Nationale : une commune qui publie sa Base Adresse Locale devient la seule source d'adresses sur son territoire.
{% endhint %}

## Marche à suivre

Deux méthodes de publication d'une Base Adresse Locale pour intégration dans la [Base Adresse Nationale](https://www.data.gouv.fr/fr/datasets/base-adresse-nationale/) sont possibles sur data.gouv.fr :

{% tabs %}
{% tab title="Publication manuelle" %}

### Publication manuelle

Pour publier manuellement une Base Adresse Locale sur data.gouv.fr :

1. **Vérifiez vos fichiers .csv dans le** [**validateur**](https://adresse.data.gouv.fr/bases-locales/validateur) pour vous assurer qu'ils sont conformes et qu'ils pourront être intégrés à la Base Adresse Nationale ;

<figure><img src="/files/cTYsL9PbnMUaUgKezYWb" alt=""><figcaption><p>Validateur BAL</p></figcaption></figure>

2. Suivez ensuite la [procédure standard de publication de données sur data.gouv.fr](https://github.com/datagouv/guides.data.gouv.fr/tree/main/broken/pages/THaWx8YnNzHJDxnuPXJp/README.md#directement-sur-data.gouv.fr), en veillant à **ajouter le mot clé "base-adresse-locale".**
3. N'oubliez pas de **mettre à jour vos données** !
   {% endtab %}

{% tab title="Moissonnage" %}

### Moissonnage

Pour publier une Base Adresse Locale sur data.gouv.fr par moissonnage, les étapes à suivre sont les suivantes :

* [Demandez à data.gouv.fr de moissonner votre site](broken://pages/st3cZ2tA76CEHg9fxBs6), **en veillant à ajouter le mot clé "base-adresse-locale"** ;
* Avant d'automatiser, **vérifiez votre fichier .csv dans le** [**validateur**](https://adresse.data.gouv.fr/bases-locales/validateur) pour vous assurer qu'il est conforme et qu'il pourra être intégré à la Base Adresse Nationale.

<figure><img src="/files/cTYsL9PbnMUaUgKezYWb" alt=""><figcaption><p>Validateur BAL</p></figcaption></figure>

* N'oubliez pas de **mettre à jour vos données** !

La [documentation en ligne](https://github.com/BaseAdresseNationale/moissonneur-bal/wiki/Fonctionnement-du-moissonneur-bal) précise toutes les spécificités de cette méthode de publication.
{% endtab %}
{% endtabs %}

## Autres méthodes de publication

D'autres méthodes permettent de publier une Base Adresse Locale pour intégration dans la [Base Adresse Nationale](https://www.data.gouv.fr/fr/datasets/base-adresse-nationale/).

**Il est notamment recommandé d'utiliser** [**l'éditeur "Mes Adresses"**](https://mes-adresses.data.gouv.fr/)**.** "Mes Adresses" permet de gérer en ligne (gratuitement), sur un simple navigateur web, une Base Adresse Locale communale et de transmettre des modifications en temps réel à la Base Adresse Nationale.

Elle ne requiert :

* Aucune gestion de fichier
* Aucune compétence technique

<figure><img src="/files/Ki9X7ieRklQ6vKgGlkna" alt=""><figcaption><p>Interface de l'éditeur "Mes Adresses"</p></figcaption></figure>

Si vous utilisez votre propre outil, il est également possible de publier via :

* Un [formulaire de dépôt](https://adresse.data.gouv.fr/bases-locales/publication) sur adresse.data.gouv.fr ;
* [L'API de dépôt](https://github.com/BaseAdresseNationale/api-depot/wiki/Documentation).

Pour en savoir plus, nous vous invitons à consulter [la documentation](https://doc.adresse.data.gouv.fr/mettre-a-jour-sa-base-adresse-locale/publier-une-base-adresse-locale) proposée par adresse.data.gouv.fr.


# Données de forte valeur : métadonnées obligatoires et modalités de rapportage

Métadonnées attendues, modalités de remontée et articulation avec INSPIRE pour les données de forte valeur.

{% hint style="info" %}
**Rappel juridique**

La "Directive Open Data" ([Directive 2019/1024](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32019L1024)) définit les données de forte valeur comme les "*documents détenus par un organisme du secteur public, dont la réutilisation est associée à des bénéfices importants pour la société, l'environnement et l'économie*". Il s'agit alors de les mettre à disposition avec un minimum de restrictions légales et techniques afin d'augmenter leur potentiel de réutilisation et leur impact.

[Un règlement d'exécution (2023/138)](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32023R0138) établit la liste des ensembles de données de forte valeur.

Les données de forte valeur devront être mises à disposition gratuitement en vue de leur réutilisation pour le **9 juin 2024**.

Les données de forte valeur (HVD) ont vocation à remonter sur la plateforme data.gouv.fr dans le cadre des obligations de rapportage établies dans [le règlement d'exécution](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32023R0138). Les modalités techniques définies ici font l'objet d'un travail concerté et itératif avec plusieurs parties prenantes, notamment dans le cadre de groupes de travail portés par le CNIG. Des discussions sont en cours sur ces modalités techniques et de nouvelles précisions sont à venir.

Ce guide présente :

* [Le processus global de remontée des données sur data.gouv.fr ;](#processus-global-de-remontee-des-fiches-de-donnees-sur-data.gouv.fr)
* [Les métadonnées obligatoires à renseigner pour les données de forte valeur ;](#metadonnees-obligatoires-pour-les-donnees-de-forte-valeur)
* [Les modalités de rapportage à la Commission européenne ;](#les-modalites-de-rapportage-a-la-commission-europeenne-depuis-data.gouv.fr)
* [L'articulation entre la directive INSPIRE et le règlement d'exécution relatif aux données de forte valeur.](#larticulation-entre-la-directive-inspire-et-le-reglement-dexecution-relatif-aux-donnees-de-forte-valeur)

Il a vocation à être enrichi au gré des nouvelles précisions. Une foire aux questions sera également alimentée.
{% endhint %}

### Processus global de remontée des fiches de données sur data.gouv.fr

Pour les producteurs concernés (cf. [ouverture.data.gouv.fr](https://ouverture.data.gouv.fr/)), la remontée des données de forte valeur sur data.gouv.fr se déroule selon les étapes suivantes :

{% stepper %}
{% step %}

#### Identification et classification

Les données sont identifiées comme étant de forte valeur et sont classées dans l’une des 6 grandes catégories précisées dans les 6 annexes du règlement d'exécution (géospatiales, météorologiques, etc.). Selon la catégorie associée, les conditions de mise à disposition et les métadonnées obligatoires diffèrent.
{% endstep %}

{% step %}

#### Remontée au niveau national

Les données ainsi identifiées remontent au niveau national en étant :

* soit moissonnées sur [data.gouv.fr](http://data.gouv.fr/) (cf. Moissonnage) et éventuellement le [géocatalogue](https://www.geocatalogue.fr/) selon leur nature ;
* soit publiées directement sur [data.gouv.fr](https://www.data.gouv.fr/).
  {% endstep %}

{% step %}

#### Remontée au niveau européen

Les données sont moissonnées par [data.europa.eu](https://data.europa.eu/en) pour proposer un catalogue européen des données de forte valeur.
{% endstep %}
{% endstepper %}

***

### Métadonnées obligatoires pour les données de forte valeur

Plusieurs métadonnées sont obligatoires dans le cadre des données de forte valeur.

#### Pour les jeux de données

1. **Une métadonnée identifiant le jeu de données comme étant un HVD** via l'utilisation d'un mot clé "**hvd**".\*
2. **Une métadonnée identifiant la catégorie HVD à laquelle la donnée appartient** via les mots clés suivants\* :

* *Météorologiques*
* *Entreprises et propriété d'entreprises*
* *Géospatiales*
* *Mobilité*
* *Observation de la terre et environnement*
* *Statistiques*

Les mots clés sur data.gouv.fr sont automatiquement normalisés (mis en minuscule, etc.).

3. **La licence des données**. Celle-ci doit être équivalente ou moins restrictive que la [CC BY 4.0 DEED](https://creativecommons.org/licenses/by/4.0/). Nous recommandons la [licence ouverte 2.0](https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf). En savoir plus sur les [licences utilisables par les administrations](https://www.data.gouv.fr/fr/pages/legal/licences/) ou sur les [conditions de réutilisation qui s'appliquent si aucune licence n'est indiquée](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000032255220).

\* Si vous publiez via moissonnage à partir de plateformes géographiques supportant les thèmes de vocabulaires contrôlés (ex. : GeoNetwork), **les mots clés sont déduits via une URI du vocabulaire issue du** [**référentiel européen**](https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/high-value-dataset-category) ([exemple pour la catégorie météorologique](http://data.europa.eu/bna/c_164e0bf5)).

{% hint style="info" %}
Si vous publiez par moissonnage, il est préconisé de suivre les bonnes pratiques DCAT-AP, [précisées ici dans le contexte des données de forte valeur](https://semiceu.github.io/DCAT-AP/releases/2.2.0-hvd/#c2), pour disposer d'un **identifiant stable dans le temps**.
{% endhint %}

#### Pour les API

1. **Une métadonnée identifiant le jeu de données comme étant un HVD** via l'utilisation d'un mot clé "**hvd**".\*
2. **Une métadonnée identifiant la catégorie HVD à laquelle la donnée appartient** via les mots clés suivants :

* *Météorologiques*
* *Entreprises et propriété d'entreprises*
* *Géospatiales*
* *Mobilité*
* *Observation de la terre et environnement*
* *Statistiques*

Les mots clés sur data.gouv.fr sont automatiquement normalisés (mis en minuscule, etc.).

3. **Un point de contact de l'API** : adresse mail ou formulaire de contact.
4. **La licence des données**. Celle-ci doit être équivalente ou moins restrictive que la [CC BY 4.0 DEED](https://creativecommons.org/licenses/by/4.0/). Nous recommandons la [licence ouverte 2.0](https://www.etalab.gouv.fr/wp-content/uploads/2017/04/ETALAB-Licence-Ouverte-v2.0.pdf). En savoir plus sur les [licences utilisables par les administrations](https://www.data.gouv.fr/fr/pages/legal/licences/) ou sur les [conditions de réutilisation qui s'appliquent si aucune licence n'est indiquée](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000032255220).
5. **Un lien vers une page web de description de la qualité de service de cette API**. Par exemple, un lien vers un SLA (service-level agreement).
6. **Un lien vers la documentation dans un format standard** pour les machines ou les utilisateurs humains. Par exemple, au format OpenAPI.

\* Si vous publiez via moissonnage à partir de plateformes géographiques supportant les thèmes de vocabulaires contrôlés (ex. : GeoNetwork), **les mots clés sont déduits via une URI du vocabulaire issue du** [**référentiel européen**](https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/high-value-dataset-category) ([exemple pour la catégorie météorologique](http://data.europa.eu/bna/c_164e0bf5)).

{% hint style="info" %}
Si vous publiez par moissonnage, il est préconisé de suivre les bonnes pratiques DCAT-AP, [précisées ici dans le contexte des données de forte valeur](https://semiceu.github.io/DCAT-AP/releases/2.2.0-hvd/#c2), pour disposer d'un **identifiant stable dans le temps**.
{% endhint %}

{% hint style="warning" %}
**Aujourd’hui,** [**data.gouv.fr**](http://data.gouv.fr/) **ne permet pas de modéliser et de moissonner les métadonnées d'API comme attendu dans le cadre des HVD.** [Des travaux](https://github.com/etalab/data.gouv.fr/issues/1294) sont en cours sur le sujet.
{% endhint %}

***

### Les modalités de rapportage à la Commission européenne depuis data.gouv.fr

Les États membres de l'Union européenne sont soumis à une obligation de rapportage tous les deux ans auprès de la Commission européenne, dans le cadre du [règlement d'exécution](https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=PI_COM:C\(2022\)9562) (article 5).

**Les producteurs de données ne sont pas responsables de ce rapportage. Celui-ci se base sur le catalogue** [**data.europa.eu**](https://data.europa.eu/) **qui moissonne les informations depuis** [**data.gouv.fr**](http://data.gouv.fr/) **via un vocabulaire spécifique** [**Data Catalogue Vocabulary**](https://w3c.github.io/dxwg/dcat/) **(DCAT) HVD**.

Avec les données correctement remontées au niveau européen, [data.europa.eu](https://data.europa.eu/) a une vision générale des HVD par État membre ([exemple pour la France](https://data.europa.eu/data/datasets?locale=en\&minScoring=0\&is_hvd=true\&page=1\&dataScope=countryData\&country=fr)). Afin de faciliter la création du rapport, data.europa.eu propose des requêtes SPARQL pour construire l'ensemble des métadonnées attendues (les ensembles de données, les licences, les liens API, etc.) à partir des informations disponibles sur [data.europa.eu](https://data.europa.eu/).

[Voir plus d'information sur ces outils de rapportage via data.europa.eu](https://dataeuropa.gitlab.io/data-provider-manual/hvd/Reporting_guidelines_for_HVDs/).

Nous avons préparé un premier [tableau de bord](http://reporting-hvd.dataeng.etalab.studio/) afin de donner un aperçu des métadonnées disponibles par producteur sur [data.europa.eu](https://data.europa.eu/). Nous allons itérer pour intégrer l'entièreté des requêtes et donc des métadonnées attendues pour le rapportage.

***

#### Chronologie

* **Avant le 10 décembre 2024,** les organisations et ministères doivent s’assurer que leurs jeux de données HVD sont :
  * accessibles via API ;
  * accompagnés des métadonnées attendues ;
  * directement consultables depuis la fiche associée ;
  * correctement renseignés sur le [tableau de bord du rapportage](http://reporting-hvd.dataeng.etalab.studio/) (basé sur [data.europa.eu](https://data.europa.eu/)).

{% hint style="info" %}
Les producteurs sont également tenus de justifier la non-disponibilité des données, que ce soit en téléchargement ou via une API, en détaillant : **les raisons** de cette non-disponibilité, les **actions en cours** pour y remédier, et le **calendrier prévisionnel** détaillant les étapes de mise à disposition. Ces informations peuvent être transmises sous forme d’un tableau à data.gouv.fr (voir exemple ci-dessous) :

* API/Téléchargement
* Nom du HVD
* URL du jeu de données
* Producteur
* Raisons
* Actions en cours
* Calendrier prévisionnel

*Ex. : API*

*Ex. : Domaine de l'eau*
{% endhint %}

* **À partir du 10 décembre 2024**, l’équipe data.gouv.fr :
  * commence à constituer le rapport basé sur les données HVD collectées depuis [data.europa.eu](http://data.europa.eu/) ;
  * vérifie en parallèle, un par un, que les jeux de données respectent bien les exigences.
* **À partir de fin décembre**, l'équipe data.gouv.fr :
  * fige le rapport ;
  * complète avec les autres informations demandées par la Commission (analyse d’impact, documentation d’orientation sur la publication, réutilisation, etc.) ;
  * envoie le rapport complet à l’Europe.

***

### L'articulation entre la directive INSPIRE et le règlement d'exécution relatif aux données de forte valeur

{% hint style="info" %}
**INSPIRE** est une directive qui vise à établir une infrastructure d'information géographique pour l'environnement, à l'échelle européenne.

**"Données de forte valeur"** découle de la directive Open Data et est un label attribué à des données dont la mise en open data peut générer un impact économique, social et environnemental significatif.

La remontée des données INSPIRE se fait via le [géocatalogue](https://www.geocatalogue.fr/), portail national géré par le Bureau de recherches géologiques et minières (BRGM) et dédié aux données géographiques.

La remontée des données de forte valeur, quant à elle, se fait via [data.gouv.fr](https://www.data.gouv.fr/fr/), la plateforme nationale des données publiques françaises, gérée par la Direction interministérielle du numérique (DINUM).
{% endhint %}

Cependant, pour 3 catégories d'ensembles de données de forte valeur, [la directive INSPIRE](https://eur-lex.europa.eu/legal-content/FR/ALL/?uri=celex%3A32007L0002) et le règlement d'exécution se rapportant aux données de forte valeur se recoupent et se renforcent :

* **Les données géospatiales**
* **Les données sur l’observation de la Terre et l’environnement**
* **Les données de mobilité**

**Dans ce cas, les métadonnées doivent également respecter le cadre défini par** [**la directive INSPIRE**](https://eur-lex.europa.eu/legal-content/FR/ALL/?uri=celex%3A32007L0002) **.**

Pour éviter une double saisie, les producteurs de données ne produisent et ne maintiennent qu'une seule fiche, répondant aux deux législations. La remontée se fait ensuite de manière automatique au niveau européen pour répondre à ces deux obligations.

Voici **une proposition de schéma de rapportage** dans le cas de jeux de données concernés à la fois par la directive INSPIRE et le règlement d'exécution se rapportant aux données de forte valeur :

![](/files/lAuc4YThWoQqAcs8xEjr)

Schéma de remontée d'une fiche de données HVD et INSPIRE à l'Europe

Pour qu’une même fiche de données soit doublement moissonnée mais ne soit pas créée de manière dupliquée au niveau européen, il est important que **l’identifiant de la fiche de données soit stable dans le temps et correctement préservé au cours des différents moissonnages**.

Les producteurs de données doivent donc être particulièrement vigilants lors de la mise en place des différents moissonnages.

La question des identifiants fait l’objet d’[un point et d'une recommandation](https://github.com/cnigfr/metadonnee/issues/28) lors du [groupe de travail métadonnées du CNIG](https://cnig.gouv.fr/gt-metadonnees-a958.html).

***

Ce contenu vous a-t-il été utile ?


# Données de la commande publique

Accès rapide aux guides liés aux données de la commande publique sur data.gouv.fr.

Retrouvez ici les principaux guides pour publier et déclarer des données de la commande publique sur data.gouv.fr.

### Guides disponibles

<table data-view="cards"><thead><tr><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Déclarer un profil d’acheteur</strong></td><td><a href="/pages/FjZ7QShvBA2Onhp1E4fW">/pages/FjZ7QShvBA2Onhp1E4fW</a></td></tr><tr><td><strong>Publier les données essentielles</strong></td><td><a href="/pages/Si2kkKgQOkuZdBwCYkpY">/pages/Si2kkKgQOkuZdBwCYkpY</a></td></tr></tbody></table>

{% hint style="info" %}
Cette page sert de point d’entrée rapide. Chaque carte ouvre un guide complet.
{% endhint %}


# Publier les données essentielles des marchés publics

Publier les données essentielles d’attribution, choisir la bonne structure et déposer les ressources sur data.gouv.fr.

Les acheteurs publics doivent publier les données essentielles d’attribution de leurs marchés.

Cette page résume le cadre, les formats attendus et les modalités de publication sur data.gouv.fr.

### Obligation légale

Depuis le 1er octobre 2018, les acheteurs publics doivent publier les données d’attribution de leurs marchés au plus tard deux mois après la notification.

La publication sur data.gouv.fr est obligatoire à partir du 1er janvier 2024.

### Structure des données à publier

Deux versions du schéma existent selon la période de publication :

* jusqu’au 31 décembre 2023 : [schéma 1.5.0](https://schema.data.gouv.fr/139bercy/format-commande-publique/1.5.0/) ;
* à partir du 1er janvier 2024 : [schéma 2.0.0](https://schema.data.gouv.fr/139bercy/format-commande-publique/2.0.0/).

Pour le cadre réglementaire et les précisions métier, consultez aussi :

* [la page de la direction des affaires juridiques](https://www.economie.gouv.fr/daj/ouverture-des-donnees-commande-publique) ;
* [l’article de data.gouv.fr sur les données essentielles](https://www.data.gouv.fr/fr/posts/le-point-sur-les-donnees-essentielles-de-la-commande-publique/).

### Sources des données publiées

Les données essentielles visibles sur data.gouv.fr peuvent provenir de trois sources :

1. **DGFiP** : transmission via Hélios et [PES Marché](https://www.collectivites-locales.gouv.fr/protocole-dechange-standard-pes-0), puis mise à disposition par Etalab ;
2. **AIFE** : publication des données issues de ses places de marchés, notamment [PLACE](https://www.marches-publics.gouv.fr/?page=entreprise.AccueilEntreprise) ;
3. **Profils d’acheteurs** : publication via l’API de data.gouv.fr ou via un catalogue DCAT moissonnable.

### Publier via l’API de data.gouv.fr

La documentation de l’API est disponible sur [data.gouv.fr](https://www.data.gouv.fr/fr/apidoc).

Pour créer un jeu de données, consultez aussi la documentation de l’endpoint de création : [création d’un jeu de données](https://www.data.gouv.fr/fr/apidoc/#!/datasets/create_dataset).

Deux structures de publication sont possibles :

1. **Structure plateforme** : un jeu de données par plateforme de marchés, identifiée par son SIRET ;
2. **Structure acheteur** : un jeu de données par acheteur public, identifié par son SIRET.

{% hint style="info" %}
Pour l’archivage et la pérennité, le téléversement direct des fichiers sur data.gouv.fr est préférable à un lien vers un serveur externe.
{% endhint %}

#### Champs recommandés pour le jeu de données

**Nom**

Utilisez l’un des formats suivants :

* plateforme : `Données essentielles des marchés publics - {nom de la plateforme}` ;
* acheteur : `Données essentielles des marchés publics - {nom de l’acheteur}`.

Exemple :

> Données essentielles des marchés publics - Conseil régional de Bretagne

**Description**

La description doit présenter :

* le contexte de publication ;
* le cadre réglementaire ;
* les liens utiles ;
* éventuellement un lien vers l’interface de consultation du profil d’acheteur.

Vous pouvez y rappeler que les données sont publiées au titre des arrêtés encadrant les données essentielles de la commande publique.

**Mots-clés**

Ajoutez au minimum :

* `données-essentielles` ;
* `commande-publique`.

**Extras**

Si le jeu de données correspond à un **acheteur** et non à une plateforme, ajoutez `siret` dans `extras`.

```json
{
  "title": "Données essentielles des marchés publics - Conseil régional de Bretagne",
  "extras": {
    "siret": "89764547841001"
  }
}
```

Si le jeu de données correspond à une **plateforme**, ne renseignez pas `extras.siret`.

**Licence**

Renseignez la licence ouverte : `fr-lo`.

**Organisation**

Indiquez l’identifiant de l’organisation data.gouv.fr qui publie les données.

L’utilisateur qui publie doit appartenir à cette organisation.

**Fréquence**

Renseignez la fréquence prévue de mise à jour.

#### Ajouter une ressource

Une fois le jeu de données créé, ajoutez une ou plusieurs ressources.

La documentation de l’ajout de ressource est disponible ici : [ajouter une ressource à un jeu de données](https://www.data.gouv.fr/fr/apidoc/#!/datasets/upload_new_dataset_resource).

Exemple de commande :

```bash
curl --request POST \
  --url https://data.gouv.fr/api/1/datasets/<dataset-id>/upload/ \
  --header "content-type: multipart/form-data" \
  --header "x-api-key: <api-key>" \
  --form "file=@<chemin-du-fichier>"
```

**Nom du fichier**

Utilisez le format suivant :

`DECP-{SIRET}-{année}-{mois}-{jour}-{numéro-de-séquence}.{extension}`

Avec :

* `DECP` pour données essentielles de la commande publique ;
* `SIRET` de la plateforme ou de l’acheteur ;
* `année`, `mois`, `jour` de publication sur data.gouv.fr ;
* `numéro-de-séquence` sur deux chiffres, à incrémenter en cas de plusieurs publications le même jour ;
* `extension` : `xml` ou `json`.

Exemple :

> DECP-89764547841001-2018-11-28-01.xml

**Métadonnées de la ressource**

* `url` : à renseigner seulement si le fichier reste hébergé à l’extérieur ;
* `title` : identique au nom du fichier ;
* `filetype` : `xml` ou `json` ;
* `mime` : `application/xml` ou `application/json` ;
* `type` : `main`.

### Récupérer les données transmises par la DGFiP

#### Via le serveur de fichiers

Les données transmises par la DGFiP peuvent être récupérées depuis le serveur de fichiers opéré par Etalab.

Ce mode est particulièrement adapté si un acheteur publie un volume important de marchés.

Format d’URL :

`http://files.data.gouv.fr/decp/{siret}/{année}/{mois}/{jour}/DECP-{siret}-{année}-{mois}-{jour}-{seq}.xml`

Avec :

* `siret` : SIRET de l’acheteur ;
* `année`, `mois`, `jour` : date de réception par Etalab ;
* `seq` : numéro de séquence sur deux chiffres.

Exemple :

> <http://files.data.gouv.fr/decp/21440036800012/2019/01/18/DECP-21440036800012-2019-01-18-01.xml>

#### Via l’API

Les fichiers transmis par la DGFiP ne sont pas le mode de consultation le plus naturel via l’API, car ils sont avant tout exposés sur le serveur de fichiers.

En pratique, privilégiez donc [files.data.gouv.fr/decp](https://files.data.gouv.fr/decp).

Si vous devez lister les ressources d’un jeu de données référencé sur data.gouv.fr, utilisez :

```bash
curl https://data.gouv.fr/api/1/datasets/<dataset-id-ou-slug>
```

Exemples :

> <https://data.gouv.fr/api/1/datasets/56cc6d6988ee385864fa79d0>

> <https://data.gouv.fr/api/1/datasets/referentiel-de-donnees-marches-publics>


# Déclarer un profil d’acheteur

Déclarer un profil d’acheteur sur data.gouv.fr avec le bon format de fichier et les étapes de dépôt.

Un profil d’acheteur peut être déclaré sur data.gouv.fr par l’acheteur ou par une personne habilitée.

L’éditeur du profil d’acheteur peut aussi effectuer cette déclaration. Cela simplifie la démarche pour les acheteurs publics.

Si l’éditeur ne peut pas la prendre en charge, l’administrateur du profil d’acheteur ou l’acheteur peut la faire directement.

### Qui doit déclarer

La déclaration peut être faite par :

* l’acheteur ;
* une personne habilitée par l’acheteur ;
* l’éditeur du profil d’acheteur.

### Préparer le fichier de déclaration

Les éditeurs de profils d’acheteurs doivent créer un fichier CSV.

Ce fichier doit contenir les colonnes suivantes :

* `siretAcheteur` : le SIRET de l’acheteur ;
* `urlProfilAcheteur` : l’URL du profil d’acheteur ;
* `urlDCAT` : l’URL du catalogue DCAT qui référence les données ;
* `coordonnees` : les coordonnées du ou des acheteurs concernés.

Un modèle de fichier CSV est disponible sur [data.gouv.fr](https://www.data.gouv.fr/fr/datasets/structure-du-fichier-de-declaration-de-profil-dacheteur/).

{% hint style="info" %}
Ajoutez le tag `decp` au jeu de données. Il permet de centraliser les déclarations liées aux données essentielles de la commande publique.
{% endhint %}

### Déposer le fichier sur data.gouv.fr

{% stepper %}
{% step %}

#### Créer un compte individuel

Créez un compte sur [data.gouv.fr](https://www.data.gouv.fr/fr/register).
{% endstep %}

{% step %}

#### Valider le compte et créer une organisation

Après validation du compte par e-mail, créez une organisation correspondant à votre profil d’acheteur depuis [l’espace d’administration](https://www.data.gouv.fr/fr/admin/organization/new/).
{% endstep %}

{% step %}

#### Créer un jeu de données

Créez un jeu de données depuis [l’espace de publication](https://www.data.gouv.fr/fr/admin/dataset/new/).

À l’étape **Choisissez qui publie**, sélectionnez l’organisation créée à l’étape précédente.
{% endstep %}

{% step %}

#### Décrire le jeu de données

Renseignez un titre.

Ajoutez, si besoin, d’autres métadonnées comme la couverture spatiale ou la fréquence de mise à jour.

Ajoutez le tag `decp`.
{% endstep %}

{% step %}

#### Ajouter la ressource CSV

À l’étape **Ajouter vos premières ressources**, téléversez le fichier CSV.
{% endstep %}
{% endstepper %}

### Bonnes pratiques

* Vérifiez que chaque SIRET est valide ;
* utilisez une URL de profil d’acheteur accessible publiquement ;
* vérifiez que l’URL `urlDCAT` pointe bien vers un catalogue exploitable ;
* gardez des coordonnées à jour pour faciliter les échanges.


# Créer une verticale thématique de data.gouv.fr

### Qu'est-ce que data.gouv.fr ?

[data.gouv.fr](https://data.gouv.fr/) est la plateforme nationale de la donnée publique, opérée par la DINUM.\
Elle a pour mission de permettre à tous, administrations, entreprises, chercheurs et citoyens, d’accéder, partager et réutiliser les données publiques.

***

### Qu'est-ce qu'une verticale thématique ?

Une **verticale thématique** est une **surcouche spécialisée** de data.gouv.fr.\
Elle s’appuie sur la même base technique et les mêmes données, mais propose une **expérience thématique**, ciblée sur un domaine précis.

Les verticales :

* ne dupliquent **aucune donnée** ;
* exposent des jeux de données **hébergés sur data.gouv.fr** ;
* permettent de **fédérer une communauté** autour d’un domaine spécifique ;
* offrent des **fonctionnalités avancées** adaptées à leur sujet.

Exemples actuels :

* 🌿 [ecologie.data.gouv.fr](https://ecologie.data.gouv.fr/)
* ☀️ [meteo.data.gouv.fr](https://meteo.data.gouv.fr/)
* 🚆 [transport.data.gouv.fr](https://transport.data.gouv.fr/)
* 🎭 [culture.data.gouv.fr](https://culture.data.gouv.fr/)
* 🚛 [logistique.data.gouv.fr](https://logistique.data.gouv.fr/)

Les verticales sont nées d’un partenariat entre **data.gouv.fr** (DINUM) et plusieurs acteurs publics, notamment le **CGDD** (Commissariat général au développement durable, Ministère de la transition écologique) et **l’Ecolab**.

L’objectif est de mutualiser une infrastructure technique commune pour créer des portails thématiques, cohérents, durables et interopérables.

***

### Sélection des données

Les verticales n’hébergent pas de données. Elles **sélectionnent et exposent** celles déjà présentes sur data.gouv.fr.\
La sélection se fait principalement par :

* **liste d’organisations** (ministères, opérateurs, établissements publics) ;
* **tags**, **schémas** ou **thématiques** spécifiques.

Les gestionnaires peuvent également créer des **topics** (playlists de données) pour éditorialiser leur portail.

***

### Personnalisation et fonctionnalités

#### Ce qui est personnalisable

* La page d’accueil
* Les contenus éditoriaux
* Les playlists de données (topics)
* Le branding (nom, logo, bannière, couleurs)

#### Fonctionnalités spécifiques

Chaque verticale peut ajouter des fonctionnalités propres à son domaine, par exemple :

* Notifications en temps réel pour les données de transport
* Recherche avancée sur les séries météorologiques
* Visualisations ou cartes adaptées à la thématique

L’objectif est de **mutualiser le socle**, tout en **permettant des enrichissements ciblés**.

***

### Gouvernance

#### Qui peut créer une verticale ?

Le code est **ouvert à tous**. Toute organisation peut créer sa verticale sur la base de data.gouv.fr.\
Cependant, pour utiliser un **domaine officiel** `*.data.gouv.fr`, il faut :

* obtenir l’accord de la **DINUM** ;
* respecter les principes de la [**charte data.gouv.fr**](https://www.data.gouv.fr/pages/legal/charter) ;
* en fonction des modalités de partenariat, signer une **convention de délégation de gestion**.

#### Gouvernance partagée

* **DINUM / data.gouv.fr** : responsable du socle technique et du pilotage global.
* **Porteur de verticale** : responsable éditorial et fonctionnel de sa thématique.
* **Club utilisateurs** : espace d’échange entre gestionnaires de verticales et l’équipe data.gouv.fr pour co-construire les évolutions.

***

### Accompagnement

#### Qui peut accompagner ?

L’équipe **data.gouv.fr (DINUM)** accompagne les porteurs à toutes les étapes :

* cadrage du projet ;
* configuration et déploiement ;
* communication et lancement.

#### Est-ce qu’il faut une équipe technique ?

* **Non, pas forcément.**\
  La plupart des paramètres sont configurables sans développement.
* **Oui, si besoin d’aller plus loin**, par exemple pour :
  * intégrations spécifiques ;
  * nouvelles fonctionnalités métier ;
  * personnalisation avancée du front.

#### Combien ça coûte ?

Le socle technique et l’hébergement sont mutualisés.\
Des coûts peuvent exister pour :

* le design ou la communication spécifique ;
* des développements ou intégrations additionnelles.

***

### Migration et alimentation depuis un portail existant

Si un portail thématique existe déjà :

* l’équipe data.gouv.fr peut accompagner à la migration ;
* audit et alignement des métadonnées ;
* import automatique possible via API ou scripts.

Les producteurs publient **directement sur data.gouv.fr**. Les données apparaissent sur la verticale si elles correspondent aux filtres définis dans sa configuration. Les verticales sont automatiquement synchronisées avec data.gouv.fr. Aucune double publication n’est nécessaire.

***

### Architecture technique

#### Socle commun

* Back-office et données : **hébergés sur data.gouv.fr**
* Front-office : basé sur [**udata-front-kit**](https://github.com/opendatateam/udata-front-kit)
* API, moteur de recherche, authentification : partagés avec data.gouv.fr.

#### Configuration

Les verticales sont configurées via un **fichier YAML**, placé dans le répertoire de configuration du front kit. [Voir des exemples de configuration](https://github.com/opendatateam/udata-front-kit/tree/main/configs)

Ce fichier définit notamment :

* l’identité visuelle (logo, couleurs, favicon)
* les filtres de données (organisations, schémas, thèmes, tags)
* la page d’accueil et les contenus éditoriaux

ℹ️ [Voir la documentation complète de l'architecture de `udata-front-kit`](https://github.com/opendatateam/udata-front-kit/blob/main/doc/architecture.md) pour une explication plus approfondie du fonctionnement technique d'un portail thématique.

***

### Développement et contribution

#### Organisation du code

* Les verticales utilisent [**udata-front-kit**](https://github.com/opendatateam/udata-front-kit)
* Chaque verticale peut avoir son propre dépôt de configuration ou de personnalisation.
* Le code source de toutes les verticales est open source.

#### Proposer des fonctionnalités

* Ouvrir une **issue GitHub** sur le dépôt concerné ;
* Décrire le besoin et l’intérêt pour la communauté ;
* Les propositions sont discutées lors du **club utilisateurs** et arbitrées collectivement.


# Catalogage de données - GRIST

### Objectif

L'objectif principal du catalogage des données avec Grist est de simplifier la gestion et la publication des données par les administrations en ayant une vue d’ensemble de ce qu’elles détiennent. Actuellement, les producteurs de données gèrent souvent leurs données de manière redondante, avec des catalogues internes distincts de leurs publications sur data.gouv.fr. L'outil Grist proposé par la DINUM vise à créer un **catalogue unique et collaboratif** pour une gestion plus efficace et une fonction de publication directe sur data.gouv.fr.

Ainsi, l’administration pourra recenser l’ensemble des données qu’elle **détient**. C’est-à-dire les données que l’administration concernée **produit ou reçoit** dans le cadre de sa mission de service public.

### Différents enjeux

#### Enjeux juridiques

Le catalogage des données permet aux administrations de répondre et/ou de faciliter le respect à diverses obligations légales.

Le Data governance Act (DGA) Dans le cadre du DGA, la Direction interministérielle du numérique (DINUM) a été désigné comme **point d’information unique** au titre de l’article 8 du règlement. Le chapitre II du DGA ne s’applique qu’aux données détenues par des organismes publics et protégées par un secret (comme le secret statistique, le secret des affaires …).

La DINUM a vocation à **informer** et **orienter** les demandeurs qui souhaitent réutiliser des données détenues par les administrations. Pour cela, elle doit pouvoir **référencer et rendre accessibles** toutes les informations pertinentes relatives aux conditions applicables à la **réutilisation et aux redevances** des données protégées détenues par les administrations.

A ce titre, la DINUM a, notamment, pour mission de mettre « *à disposition par voie électronique* ***une liste de ressources consultable contenant un aperçu de toutes les ressources en données disponibles*** *, \[…] , avec des informations pertinentes décrivant les données disponibles, y compris au minimum le format et la taille des données ainsi que les conditions applicables à leur réutilisation*».

Ainsi, à travers le catalogage de ces données, les demandeurs d’accès aux fins de réutilisation des données protégées pourront savoir quelles administrations détiennent quelles données et quelles sont les conditions pour y accéder.

Le principe du "Dites le nous une fois" Le principe du DLNUF est une obligation légale qui consiste à ce qu’ **un usager n’a pas à donner à une administration une information qu’une administration (différente ou non) détient déjà** (article L. 113-12 du code des relations entre le public et l’administration (CRPA): <https://www.legifrance.gouv.fr/codes/article\\_lc/LEGIARTI000037313155>).

Le concept d’administration proactive repose sur la notion « d’aller-vers », c’est-à-dire que l’administration décide **d’aller au-devant de l’usager afin de l’informer ou lui attribuer une éventuelle prestation ou avantage** (article L. 114-8 du CRPA: <https://www.legifrance.gouv.fr/codes/article\\_lc/LEGIARTI000045213315>).

Pour accomplir ces objectifs deux cas sont possibles :

* Soit l’administration détient déjà la donnée correspondante ;
* Soit l’administration ne la détient pas et donc doit la demander à une autre administration.

Dans le second cas les administrations devront s’échanger des données entre elles. Certaines administrations sont **déjà désignées** dans le CRPA comme chargées de mettre à la disposition d’autres administrations certains types de données (voir le tableau article D. 114-9-1 du CRPA: <https://www.legifrance.gouv.fr/codes/article\\_lc/LEGIARTI000047543529?idSecParent=LEGISCTA000031367388>). Cependant, hors tableau, l’administration doit **savoir où se trouve la donnée correspondante**. Ainsi, avoir une vue de l’ensemble des données disponibles dans les administrations, à l’aide du catalogage, permettra aux administrations de savoir à quelle administration demander la donnée correspondante non listée dans le tableau et donc de répondre au principe de DLNUF et à la proactivité.

La diffusion des documents administratifs Les administrations ont la possibilité de diffuser des documents administratifs qu’elles produisent ou reçoivent. Dans certains cas, certaines administrations **doivent diffuser publiquement des documents administratifs**, dans les conditions prévues par le Livre III du CRPA (notamment le Chapitre II du Titre Ier): <https://www.legifrance.gouv.fr/codes/section\\_lc/LEGITEXT000031366350/LEGISCTA000031367685/2020-06-18/#LEGISCTA000031367685>.

Pour rappel : sont considérés comme documents administratifs quels que soient leur date, leur lieu de conservation, leur forme et leur support, les documents produits ou reçus, dans le cadre de leur mission de service public, par l'Etat, les collectivités territoriales ainsi que par les autres personnes de droit public ou les personnes de droit privé chargées d'une telle mission. Constituent de tels documents notamment les dossiers, rapports, études, comptes rendus, procès-verbaux, statistiques, instructions, circulaires, notes et réponses ministérielles, correspondances, avis, prévisions, codes sources, bases de données et décisions.

Le catalogage des données permettra aux administrations de savoir quelles données, contenues dans des documents administratifs, peuvent ou doivent être diffusées, et s’il est nécessaire d’occulter certaines mentions pour mettre en œuvre cette diffusion.

Pour en savoir plus voir : Guide pratique de la publication en ligne et de la réutilisation des données publiques (« open data »), CNIL, CADA.

Le registre des activités de traitement de données à caractère personnel En tant que responsable de traitement de données à caractère personnel l’administration doit tenir un registre des activités de traitement de données à caractère personnel (article 30 du Règlement général sur la protection des données).

Le catalogage des données permettra ainsi au délégué à la protection des données (DPO / DPD) de savoir quelles sont les activités de traitement de données à caractère personnel au sein de son administration et facilitera ainsi la constitution de son registre de traitement.

Le répertoire d’informations publiques (RIP) En application de l’article L. 322-6 du CRPA les administrations doivent **tenir un répertoire en ligne** qui regroupe l’ensemble des principaux documents administratifs communicables contenant les informations publiques qu’elles détiennent ou produisent.

Ce répertoire permet, entre autres, de mettre à disposition du public les conditions de réutilisations des informations publiques ainsi que, lorsque c’est le cas, le montant des redevances et les bases de calcul retenues pour la fixation de ce montant dans un standard ouvert.

Le catalogage des données implique de recenser et catégoriser les informations publiques et donc permettra de faciliter la constitution du RIP.

#### Enjeux de politiques publiques

Le catalogage des données permet également aux administrations de mieux gérer **les politiques publiques basées sur les données** en offrant une vue d'ensemble des données détenues par les administrations.

#### Le catalogue des données : un document administratif

Le catalogue est, au sens de l’article L. 300-2 du CRPA, un document administratif communicable dans les conditions du livre III du même code.

Ainsi, les administrations devront publier ce catalogue de données, en application de l’article L. 312-1-1 du CRPA, en indiquant s’il s’agit de :

* Données communicables à tous et donc accessibles sans autorisation (qu’elles soient déjà diffusées ou non sur data.gouv.fr) ;
* Données non communicables à tous et s’il est possible et comment, sous réserve de remplir certaines conditions, y accéder (par exemple il est possible de renvoyer à un lien annexe détaillant l’ensemble ou encore une adresse courriel générique).

### Fonctionnalités et mise en place

**Fonctionnalités**

Grist offre plusieurs fonctionnalités pour gérer un catalogue de données :

* **Créer des tables et partager de vues personnalisées** pour organiser le catalogue de données selon vos besoins
* **Marquer les jeux de données comme "publics" ou "non publics"** pour gérer la publication sur data.gouv.fr.
* **Gérer les droits d'accès des membres** avec différents rôles : lecteur, éditeur, administrateur.
* **Créer des tableaux de bord paramétrables** pour le suivi des données (tables, graphiques, listes thématiques).
* **Intégration avec data.gouv.fr** pour la publication directe des jeux de données.

**Liste des champs**

La table principale permet de renseigner plusieurs champs relatifs à chaque jeu de données :

* Public (oui / non) : indique si les métadonnées du jeu de données peuvent être publiées en open data
* Titre, description, mots clés
* Organisation, service, système d'information
* Contacts (service et personne), commentaires
* Date de publication, date de mise à jour, fréquence de mise à jour
* Couverture géographique, URL, format, licence
* Thématique, données ouvertes, URL Open Data, volumétrie

**Droits**

Grist permet de gérer les droits d'accès des membres de l'organisation. Trois rôles sont disponibles :

* **Lecteur :** Peut consulter les données du catalogue.
* **Éditeur :** Peut modifier les données du catalogue.
* **Administrateur :** Possède tous les droits, y compris la gestion des utilisateurs et des droits d'accès.

**Étapes de mise en place**

{% stepper %}
{% step %}

#### Renseigner les tables de référence

Nom de l'organisation, SIRET, services, contacts, systèmes d'information (SI) et thématiques.
{% endstep %}

{% step %}

#### Ajouter les jeux de données

Ajouter les jeux de données au catalogue.
{% endstep %}

{% step %}

#### Qualifier les jeux de données

Marquer comme "publics" ou "non publics".
{% endstep %}

{% step %}

#### Gérer les droits des membres

Attribuer les rôles de lecteur, éditeur ou administrateur.
{% endstep %}

{% step %}

#### Créer vos outils de suivi

Tableaux de bord personnalisés pour la gestion des données.
{% endstep %}
{% endstepper %}

### Avantages de la solution Grist

* **Sécurité et confidentialité :** Hébergé en France par la DINUM.
* **Open Source :** Code source ouvert et transparent.
* **Intégration :** Publication directe sur data.gouv.fr.
* **Portabilité des données :** Exportation facile dans des formats courants.
* **Facilité d'utilisation :** Conçu pour être accessible aux utilisateurs sans expertise technique.
* **Partage et collaboration :** Partage facile et contrôle d'accès précis.
* **Extensibilité :** Extension possible via des API.
* **Documentation complète :** Documentation exhaustive pour guider les utilisateurs.

### Partenaires et accompagnement

La DINUM finance la solution Grist et l’équipe data.gouv.fr (<http://data.gouv.fr/>) propose un accompagnement aux administrations qui souhaitent le mettre en place. Plusieurs administrations utilisent déjà ou sont en cours d'intégration de Grist, notamment le CEREMA, le Ministère de l'Agriculture et de l'Alimentation, l'ADEME et la Gendarmerie.

Pour obtenir Grist, vous pouvez contacter l’équipe afin de démarrer une expérimentation : un accès à l'outil et une session d'initiation.

### FAQ

<details>

<summary>Puis-je utiliser Grist pour gérer des jeux de données provenant de différentes sources, y compris des sources externes à mon organisation ?</summary>

Oui, Grist peut être utilisé pour gérer des jeux de données provenant de différentes sources, y compris des sources externes à votre organisation. Vous pouvez ajouter des jeux de données manuellement ou les importer depuis data.gouv.fr. De plus, vous pouvez spécifier si un jeu de données est "interne" ou "externe" à votre organisation en utilisant une colonne dédiée dans Grist. Ceci permet de filtrer les jeux de données lors de la publication sur data.gouv.fr ou sur une plateforme thématique.

</details>

<details>

<summary>Est-il possible de connecter Grist à d'autres plateformes de données ?</summary>

Oui, il est possible de connecter Grist à d'autres plateformes de données via des API. La plateforme en question doit cependant développer un plugin pour se connecter à Grist et permettre l'échange de données entre les deux plateformes. Cependant, la DINUM encourage la centralisation des données sur data.gouv.fr pour des raisons de budget et d'efficacité.

</details>

<details>

<summary>Comment puis-je gérer la publication de données sensibles qui ne doivent pas être rendues publiques sur data.gouv.fr ?</summary>

Vous pouvez marquer les jeux de données sensibles comme "non publics" dans Grist pour empêcher leur publication sur data.gouv.fr. Cependant, les métadonnées de ces jeux de données seront tout de même visibles sur data.gouv.fr, conformément aux exigences légales. Vous pouvez également utiliser Grist pour gérer les demandes d'accès à ces données sensibles en interne.

</details>

<details>

<summary>Puis-je utiliser Grist pour gérer un catalogue de données interne sans le publier sur data.gouv.fr ?</summary>

Oui, vous pouvez utiliser Grist pour gérer un catalogue de données interne sans le publier sur data.gouv.fr. L'outil peut être utilisé de manière autonome pour organiser et documenter vos données. Vous pouvez ensuite choisir de publier les données sur data.gouv.fr et sur une plateforme thématique lorsque vous êtes prêt.

</details>

<details>

<summary>Puis-je personnaliser Grist pour répondre aux besoins spécifiques de mon organisation ?</summary>

Oui, Grist est un outil open source, ce qui signifie que vous pouvez modifier le code source pour l'adapter à vos besoins. Vous pouvez également ajouter des colonnes et des tables personnalisées à votre catalogue de données Grist. De plus, vous pouvez créer des vues personnalisées et des tableaux de bord pour organiser et analyser vos données de manière spécifique à votre organisation. Attention néanmoins à ne pas modifier le modèle des champs déjà existants pour le catalogage.

</details>

<details>

<summary>Puis-je utiliser Grist pour gérer la qualité des données et suivre les métadonnées ?</summary>

Oui, Grist peut être utilisé pour gérer la qualité des données et suivre les métadonnées. Vous pouvez ajouter des colonnes pour suivre des informations telles que la qualité des données, les problèmes rencontrés, les commentaires des utilisateurs, et les dates de mise à jour. Vous pouvez également utiliser les tableaux de bord Grist pour visualiser la qualité des données et identifier les jeux de données qui nécessitent une attention particulière.

</details>

<details>

<summary>Comment puis-je assurer la sécurité et la confidentialité des données stockées dans Grist ?</summary>

Grist est hébergé en France par la DINUM, ce qui garantit un niveau de sécurité et de confidentialité élevé. De plus, vous pouvez gérer les droits d'accès des utilisateurs à votre catalogue de données Grist pour contrôler qui peut consulter, modifier ou administrer les données. Vous pouvez également ajouter des mesures de sécurité supplémentaires, telles que l'authentification à deux facteurs, pour renforcer la protection de vos données.

</details>

<details>

<summary>Est-il possible d'exporter les données du catalogue Grist vers d'autres formats ?</summary>

Oui, Grist permet d'exporter les données du catalogue vers des formats courants tels que CSV, Excel, et JSON. Ceci vous permet de partager facilement les données de votre catalogue avec d'autres utilisateurs ou de les utiliser dans d'autres applications.

</details>

### Questions complémentaires (FAQ détaillée)

<details>

<summary>Quel est l'objectif principal du catalogage de données avec Grist ?</summary>

L'objectif principal du catalogage des données avec Grist est de **simplifier la gestion et la publication des données par les administrations**. Actuellement, les producteurs de données gèrent souvent leurs données de manière redondante, avec des catalogues internes distincts de leurs publications sur data.gouv.fr. L'outil Grist proposé par la DINUM vise à créer **un catalogue unique et collaboratif** pour une gestion plus efficace et une fonction de publication directe sur data.gouv.fr.

</details>

<details>

<summary>Quels sont les enjeux juridiques liés au catalogage de données ?</summary>

Le catalogage des données répond à des obligations légales importantes :

* **Data Governance Act (art. 8 §2) :** Le point d'information unique doit fournir une liste de toutes les ressources de données disponibles, y compris des informations sur le format, la taille et les conditions de réutilisation.
* **Code de la Relation entre le Public et l'Administration (art. L322-6) :** Le catalogue de données est un document administratif communicable.

De plus, le catalogage peut servir à :

* Gérer les politiques publiques basées sur les données en offrant une vue d'ensemble des données détenues par les administrations.
* Faciliter la proactivité en identifiant les données nécessaires aux dispositifs et au “Dites le nous une fois”.
* Simplifier la constitution du registre de traitement des données à caractère personnel pour les DPO.
* Améliorer le partage de données dans le cadre du Data Governance Act.

</details>

<details>

<summary>Quelles sont les fonctionnalités offertes par Grist pour la gestion d'un catalogue de données ?</summary>

Grist offre plusieurs fonctionnalités pour gérer un catalogue de données :

* **Créer des tables et partager de vues personnalisées** pour organiser le catalogue de données selon vos besoins.
* **Marquer les jeux de données comme "publics" ou "non publics"** pour gérer la publication sur data.gouv.fr.
* **Gérer les droits d'accès des membres** avec différents rôles : lecteur, éditeur, administrateur.
* **Créer des tableaux de bord paramétrables** pour le suivi des données (tables, graphiques, listes thématiques).
* **Intégration avec data.gouv.fr** pour la publication directe des jeux de données.

</details>

<details>

<summary>Quels sont les champs de données que l'on peut renseigner dans la table principale de Grist ?</summary>

La table principale permet de renseigner plusieurs champs relatifs à chaque jeu de données :

* **Public (oui / non) :** indique si les métadonnées du jeu de données peuvent être publiées en open data.
* **Titre, description, mots clés**
* **Organisation, service, système d'information**
* **Contacts (service et personne), commentaires**
* **Date de publication, date de mise à jour, fréquence de mise à jour**
* **Couverture géographique, URL, format, licence**
* **Thématique, données ouvertes, URL Open Data, volumétrie**

</details>

<details>

<summary>Comment Grist gère-t-il les droits d'accès des utilisateurs ?</summary>

Grist permet de gérer les droits d'accès des membres de l'organisation. Trois rôles sont disponibles :

* **Lecteur :** Peut consulter les données du catalogue.
* **Éditeur :** Peut modifier les données du catalogue.
* **Administrateur :** Possède tous les droits, y compris la gestion des utilisateurs et des droits d'accès.

</details>

<details>

<summary>Quelles sont les étapes à suivre pour mettre en place un catalogue de données avec Grist ?</summary>

L’outil de catalogage propose une mise en place en 5 étapes de votre catalogue de données :

* **Renseigner les tables de référence :** Nom de l'organisation, SIRET, services, contacts, systèmes d'information (SI) et thématiques.
* **Ajouter les jeux de données** au catalogue.
* **Qualifier les jeux de données :** Marquer comme "publics" ou "non publics".
* **Gérer les droits des membres :** Attribuer les rôles de lecteur, éditeur ou administrateur.
* **Créer vos outils de suivi :** Tableaux de bord personnalisés pour la gestion des données.

</details>

<details>

<summary>Quels sont les avantages de la solution Grist pour le catalogage de données ?</summary>

Grist offre plusieurs avantages pour le catalogage de données :

* **Sécurité et confidentialité :** Hébergé en France par la DINUM.
* **Open Source :** Code source ouvert et transparent.
* **Intégration :** Publication directe sur data.gouv.fr.
* **Portabilité des données :** Exportation facile dans des formats courants.
* **Facilité d'utilisation :** Conçu pour être accessible aux utilisateurs sans expertise technique.
* **Partage et collaboration :** Partage facile et contrôle d'accès précis.
* **Extensibilité :** Extension possible via des API.
* **Documentation complète :** Documentation exhaustive pour guider les utilisateurs.

</details>

<details>

<summary>Quelles administrations utilisent déjà Grist pour le catalogage de données ?</summary>

Plusieurs administrations utilisent déjà ou sont en cours d'intégration de Grist, notamment le CEREMA, le Ministère de l'Agriculture et de l'Alimentation, l'ADEME et la Gendarmerie.

</details>

<details>

<summary>Comment puis-je obtenir Grist et bénéficier d'un accompagnement pour sa mise en place ?</summary>

Pour obtenir Grist, vous pouvez contacter l’équipe data.gouv.fr afin de démarrer une expérimentation qui comprend un accès à l'outil et une session d'initiation.

</details>


# Outils pour les administrations

Ce guide est dédié aux administrations souhaitant exposer leurs API sur data.gouv.fr.

*Vous êtes une administration ? une collectivité ? un opérateur d'État ? et vous souhaitez exposer votre API dans le catalogue data.gouv.fr ?*\
➡️ Le **pôle circulation de la donnée de la DINUM** (direction interministérielle du numérique) **est là pour vous accompagner !**

### **Pourquoi exposer son API sur data.gouv.fr ?**

Data.gouv.fr est la plateforme ouverte des données publiques françaises. Depuis fin 2024, elle recense également les [API](https://www.data.gouv.fr/fr/dataservices/). Pour les usagers, ce recensement large de la donnée permet de trouver au même endroit toutes les données disponibles quel que soit leur format. Data.gouv.fr est utilisé par de nombreux agents publics en quête de données pour simplifier les démarches en ligne qu'ils proposent à leurs usagers.

En exposant votre API sur data.gouv.fr, vous favorisez le partage et la réutilisation des données et donc l'amélioration des services en ligne.

### Les outils et accompagnements disponibles

Une des missions de la DINUM est d'accompagner et structurer le développement d'API par les administrations. Dans ce cadre, le pôle de la circulation de la donnée propose différents outils :

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4>Doctrine des API dans l’administration</h4></td><td>Les bonnes pratiques en matière d'usage et d'exposition d'API</td><td></td><td><a href="/pages/XWwYbRJgRhtArCceWDd3">/pages/XWwYbRJgRhtArCceWDd3</a></td></tr><tr><td><h4>Accompagnement humain</h4></td><td>Besoin d'aide pour concevoir votre API, la documenter, l'exposer ? Une équipe à votre écoute.</td><td></td><td><a href="/pages/vbmAPHzAwtcROuj4hrQW">/pages/vbmAPHzAwtcROuj4hrQW</a></td></tr><tr><td><h4>Datapass : Habilitations juridiques</h4></td><td>Vos API sont restreintes à certains publics ? Cet outil clé en main vous permet d'administrer les habilitations</td><td></td><td><a href="/pages/nvK1EfBlForIsvD58rS3">/pages/nvK1EfBlForIsvD58rS3</a></td></tr><tr><td><strong>Bouquet API Entreprise</strong></td><td>Exposer son API proposant des données entreprises et associations dans le bouquet et bénéficier d'un accompagnement technique, métier et de support.</td><td></td><td><a href="/pages/YDLm6unKXVAsJJV6OnZU">/pages/YDLm6unKXVAsJJV6OnZU</a></td></tr><tr><td><strong>Bouquet API Particulier</strong></td><td>Exposer son API proposant des données particuliers dans le bouquet et bénéficier d'un accompagnement technique, métier et de support.</td><td></td><td><a href="/pages/YDLm6unKXVAsJJV6OnZU">/pages/YDLm6unKXVAsJJV6OnZU</a></td></tr></tbody></table>


# Doctrine des API

Ce guide référence la doctrine des API dans les administrations.

{% hint style="info" %}

#### <mark style="color:blue;">Pourquoi une doctrine pour les API ?</mark>

Élaboré par la DINUM avec les administrateurs ministériels des données, des algorithmes et des codes sources (AMDAC), ce cadre de recommandations précise le cadre d’action et identifie les bonnes pratiques à poursuivre en matière d’usage et d’exposition d’API par les administrations. L’objectif : favoriser le partage de données entre elles et ainsi faciliter les démarches des usagers.

[👉 Voir le cadre interministériel d’administration de la donnée, publié en septembre 2021](https://www.numerique.gouv.fr/actualites/donnees-algorithmes-codes-sources-mobilisation-generale-sans-precedent-15-feuilles-de-route-ministerielles/)
{% endhint %}

### 6 enjeux stratégiques

**6 enjeux stratégiques ont été identifiés afin de répondre au mieux aux besoins des utilisateurs, qu’il s’agisse d’administrations ou d’usagers, tout en s’intéressant à la gestion du service proposé.**

* [**🔭 Découvrabilité**](#decouvrabilite) - Catalogue de données et services disponibles
* [**🔑 Accès à la donnée**](#acces-a-la-donnee)
  * Gestion des habilitations d'accès aux API à accès restreint - [Reco. 3 & 4](#recommandation-3).
  * Bac à sable d'expérimentation public - [Reco. 5](#recommandation-5)
* **👷🏻‍♂️**[ **Exploitation des données**](#exploitation-des-donnees)
  * Utilisation des standards technologiques du moment pour faciliter l'interopérabilité - Reco. 6
  * Stabilité du modèle d'interfaces - [Reco. 7, 8 & 9](#recommandation-7)
* [**👌 Qualité de service**](#qualite-de-service)
  * Indication du temps de réponse et de la tenue en charge - [Reco. 10 & 11](#recommandation-10)
  * Transparence sur la disponibilité de l'API - [Reco. 12](#recommandation-10)
  * Suivi des consommations des données et services - [Reco. 13](#recommandation-13)
* [**🩺 Curation de la donnée**](#curation-de-la-donnee)
* [**💶 Modèle économique**](#modele-economique) - gratuité de la donnée et de l'exposition

***

### 🔭 Découvrabilité

Cette partie concerne à la fois la visibilité de l'API qui doit être exposée dans les catalogues de données adéquats, ainsi que la découvrabilité de la donnée elle-même qui doit être documentée pour être réellement accessible.

#### <mark style="background-color:yellow;">**Recommandation 1**</mark>

En complément de la description, les données et services publiquement accessibles sont visibles sur un catalogue exposé sur Internet, référencé sur les moteurs de recherche usuels et intelligibles (la description des API au sein du catalogue ou de l’API manager propose un contenu destiné aux opérationnels, fonctionnels comme techniques).

La description d’une donnée doit référencer les API qui l’exposent. L’exemple ci-dessous présente les API disponibles pour la [base Sirene des entreprises et de leurs établissements](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/), sur la page correspondant à ce jeu de données sur data.gouv.fr :

<figure><img src="/files/7Vb6RQDETDBcCCbwhKT9" alt=""><figcaption></figcaption></figure>

Exemples:

* [Data.gouv.fr/dataservices](https://www.data.gouv.fr/fr/dataservices/) (*anciennement API.gouv.fr*) vise à référencer toutes les API publiques de l’État ;
* [API Impôt Particulier](https://api.gouv.fr/les-api/impot-particulier) vise à référencer toute la verticale métier des finances publiques.
* [API Entreprise](https://entreprise.api.gouv.fr/) vise à référencer toutes les API délivrant des données administratives des entreprises et des associations. De même pour[ API Particulier](https://particulier.api.gouv.fr/), pour les données administratives des particuliers.

#### <mark style="background-color:yellow;">**Recommandation 2**</mark>

Pour chaque API exposée, sont disponibles :

* **Une documentation fonctionnelle** présentant la sémantique des données, leur qualité ainsi que leur source et leurs propriétés usuelles. Elle explicite également le processus de demande d’accès et l’éligibilité des réutilisateurs. Si un catalogue existe, un lien vers la description de la donnée est proposé ;
* **Une documentation technique** présentant les modalités d’interrogation et de récupération de la donnée ;
* **Les conditions générales d’utilisation** précisant les conditions contractuelles d’accès à l’API ;

La description d’une API décrit également **les périodes de validité de l’interface** (cf. recommandation s 7 & 8) et son niveau de service (cf. recommandations 10 & 11).

### 🔑Accès à la donnée

#### <mark style="background-color:yellow;">**Recommandation 3**</mark>

L’accès aux API à accès restreint se fait par demande du réutilisateur (administrations, éditeurs, entreprises…).

Les API peuvent s’appuyer sur un mécanisme d’authentification de l’utilisateur final assurant une gestion des droits au sein de la plateforme qui les fournit. Les dispositifs d’authentification des citoyens, des agents ou des personnes morales conçus par les pouvoirs publics pourront être utilisés, en particulier lorsque le consentement de l’utilisateur est nécessaire pour faire circuler la donnée :

* Pour les personnes physiques : FranceConnect, ProConnect, EduConnect

#### <mark style="background-color:yellow;">**Recommandation 4**</mark>

Si le droit d’accès n’est pas préétabli, le processus de demande se fait de la manière la plus simple possible pour le réutilisateur.

Dans le cadre de demandes d’accès prévues par la loi et si le demandeur est éligible, une réponse sera transmise aux réutilisateurs **dans un délai recommandé de 15 jours calendaires.** Le code des relations entre le public et l’administration prévoit un délai légal maximum de 30 jours pour répondre à une demande [(article R311-13)](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000031370409).

**Ressource utile :** [🔎 DataPass : Délivrer des habilitations juridiques d'accès aux données de l'État](/autres/outils-pour-les-administrations/datapass-outil-dhabilitations)

#### <mark style="background-color:yellow;">**Recommandation 5**</mark>

A chaque API devrait correspondre une version “bac à sable”, accessible en fonction du caractère des données ouvertes ou en accès restreint, exposant une version fictive des données et présentant les mêmes modalités techniques d’exposition.

Pour les API ouvertes, le bac à sable potentiel est accessible au grand public, sans demande préalable du réutilisateur. Pour les API à accès restreint, le bac à sable contenant des données fictives pourrait être accessible au réutilisateur après demande d’un jeton au fournisseur de données, bien que cette pratique ne soit pas recommandée.

### 👷🏻‍♂️ Exploitation des données

#### <mark style="background-color:yellow;">**Recommandation 6**</mark>

Les données et services sont exposés selon des standards techniques communément partagés et adoptés afin de faciliter l'interopérabilité.

En 2022, le principe d’architecture et d’encodage le plus connu et pratiqué est le **standard REST Json** pour les API synchrones. Il est utilisé par exemple pour les spécifications du standard OpenAPI (<https://spec.openapis.org/oas/v3.1.0>) ou les standards "API" de l'OGC (<https://ogcapi.ogc.org>). Concernant les API asynchrones, le principe AsyncAPI est le plus répandu.

> ***👍 Bonne pratique :*** *L’approche « contract first », par opposition à l’approche « code first », est recommandée dans le développement de nouvelles interfaces car elle permet de les stabiliser et de faire travailler plusieurs équipes en parallèle au sein d’une même architecture.*

#### <mark style="background-color:yellow;">**Recommandation 7**</mark>

Les données et services sont exposés selon une interface (modalités d’appel et structuration des données échangées) définie pour une période donnée.

Les développements Agile ou nécessitant une évolution prévisible seront rendus identifiables et préciseront une période de validité courte de 1 à 2 mois.

#### <mark style="background-color:yellow;">**Recommandation 8**</mark>

**Ces périodes de validité de l’interface sont explicitement présentées aux réutilisateurs dans la documentation.** Les modifications prévisibles s’accompagneront de l’actualisation préalable des informations descriptives intégrant des liens vers des communications et guides permettant aux réutilisateurs d’anticiper les évolutions.

Les réutilisateurs pourront basculer durant une période définie et communiquée sur la version modifiée de l’interface. Durant ce laps de temps, deux interfaces cohabiteront, la version précédente dépréciée et la nouvelle version.

Le détail de ces informations sera présenté en détail dans les conditions générales d’utilisation de l’API.

#### <mark style="background-color:yellow;">**Recommandation 9**</mark>

Toute modification non rétro-compatible pose un versionning en tant que version majeure et une cohabitation de l’ancien et du nouveau modèle pendant une période de recouvrement. **Celle-ci doit être communiquée à l’avance en diffusant le nouveau contrat d’interface de l’API.** A défaut d’information préalable ou d’accord des réutilisateurs, la période de cohabitation sera comprise entre 6 mois et 1 an.

Si une évolution de la donnée interdit le maintien de l’ensemble des fonctionnalités de l’API (exemple : modification d’un schéma avec abandon de certaines informations), il sera indiqué quelles requêtes ou parties du protocole seront maintenues.

### 👌 Qualité de service

#### <mark style="background-color:yellow;">**Recommandation 10**</mark>

La charge admise par une API est consultable en toute transparence par les réutilisateurs :

**1. Dans le cas d’une API authentifiée,** la charge est exprimée sous forme de métriques propres à chaque réutilisateur, comme le nombre d’appels sur une période donnée par exemple ;

**2. Dans le cas d’une API non authentifiée,** la charge tenable est exprimée dans son ensemble, tous réutilisateurs confondus ;

**3. Dans le cas d’une infrastructure permettant, via une API, des requêtes complexes, ou servant de nombreuses données,** la charge tenable estimée indiquera les critères utilisés et le caractère estimatif de cette évaluation ;

**4. Dans le cas d’une API sujette à des fortes évolutions en fonction de la saisonnalité,** le temps de réponse maximal sera précisé ainsi que les risques de rupture de service.

#### <mark style="background-color:yellow;">**Recommandation 11**</mark>

Les temps de réponse moyens et maximaux sont présentés dans la documentation de l’API. Les temps de réponse mesurés ou estimés sont fournis à titre indicatif et non contractuel. Tout autre démarche relève d’un d’accord entre le fournisseur d’API et les réutilisateurs en fonction de leurs cas d’usages.

#### <mark style="background-color:yellow;">**Recommandation 12**</mark>

L’état de l’API représente sa capacité à être appelée dans les conditions réelles par un réutilisateur. Il est rendu accessible aux réutilisateurs et consultable en temps réel sous forme d’une URL, indiquée dans la description de l’API, permettant de tester que l'API se déclare disponible et requetable. En complément, il est souhaitable de permettre de consulter un historique entre 6 mois et une année.

<details>

<summary>Exemple pour l'API Particulier</summary>

La disponibilité de l'API Particulier est accessible à cette page : <https://status.particulier.api.gouv.fr/>

![](/files/reSxsHo6JUHmdxsbG59K)

</details>

#### <mark style="background-color:yellow;">**Recommandation 13**</mark>

Les consommations des API sont enregistrées pour être ensuite restituées aux bénéficiaires (réutilisateur, producteur, API managers ou exploitants).

> ***👍 Bonne pratique :*** *les bénéficiaires ont accès à travers un portail à une restitution en temps réel ou ponctuelle de ces statistiques de consommation des données ainsi que celles des autres bénéficiaires.*

### 🩺 Curation de la donnée

#### <mark style="background-color:yellow;">**Recommandation 14**</mark>

Les réutilisateurs disposent d’un moyen technique ou organisationnel leur permettant de faire des retours sur la qualité des données vers leur gestionnaire ou via la description des données au sein de leur catalogue d’origine.

Les réutilisateurs disposent également d’un moyen technique ou organisationnel leur permettant de faire des retours sur la qualité des API exposées vers leur fournisseur ou via la description de l’API.

> 💡 ***Exemple :*** *Le dispositif Datapass pouvant être utilisé par les API en accès restreint permet de faire un retour sur la qualité des données disponibles via celles-ci.*

### 💶 Modèle économique

#### <mark style="background-color:yellow;">**Recommandation 15**</mark>

L’accès à la donnée et aux services doit être égalitaire. Les fournisseurs de données cherchent à adapter les modalités d’accès aux besoins des réutilisateurs.

#### <mark style="background-color:yellow;">**Recommandation 16**</mark>

Les données ainsi que les API sont mises à disposition gratuitement, pour les réutilisateurs uniquement, sauf exceptions devant faire l’objet d’une justification par l’administration productrice.

> 💡 ***Exemple :*** *Dans le cas où des usages nécessiteraient une qualité de service au-dessus de ce que la multitude d’utilisateurs a couramment besoin, comme par exemple une bande passante élevée pour de la donnée temps-réel volumineuse desservie sur quelques organismes, il sera possible d’organiser un système freemium avec une égalité d’accès à des APIs par défaut et des APIs faisant l’objet de redevances pour les usages les plus exigeants.*


# Accompagnement humain

Ce guide référence l'accompagnement disponible pour les administrations souhaitant concevoir et mettre à disposition leurs API.

**En tant qu'administration :**

* Vous souhaitez référencer vos API sur data.gouv.fr ?
* Vous avez besoin d'accompagnement pour documenter précisément vos API ?
* Vous vous interrogez sur les réutilisations possibles de vos API ?
* Vous vous demandez si vos données administratives peuvent être utiles pour simplifier les démarches des citoyens ? et comment concevoir l'API adéquate ?

**➡️ Le pôle circulation de la donnée de la DINUM est disponible pour vous aider. Écrivez-nous à** [**contact@api.gouv.fr**](mailto:contact@api.gouv.fr)**.**


# Datapass : Outil d'habilitations

Ce guide décrit comment l'outil DataPass, opéré par la DINUM, permet aux administrations de gérer l'attribution des accès à leurs données

En tant qu'administration souhaitant diffuser des données restreintes, vous pouvez avoir besoin de **délivrer des habilitations aux usagers**.\
➡️ L'outil Datapass est fait pour ça !

{% hint style="info" %}

#### <mark style="color:blue;">**Les fonctionnalités de Datapass**</mark>

* **Créer des formulaires de demandes d'habilitation**, configurables et conçus spécialement pour permettre à vos usagers de :
  * sélectionner les données/API dont ils ont besoin ;
  * compléter leur cadre juridique ;
  * renseigner leurs contacts
* **Proposer aux usagers un espace de suivi de leurs habilitations.**
* **Bénéficier d'un espace d'instruction clair** permettant de :
  * converser avec l'usager au cours de sa demande pour lui demander des précisions ;
  * valider / refuser les demandes d'habilitation.
  * consulter l'historique des demandes délivrées et des organisations habilitées
    {% endhint %}

**Pour utiliser Datapass, prenez contact dès maintenant avec l'équipe :** [**datapass@api.gouv.fr**](mailto:datapass@api.gouv.fr)


# Bouquets API Entreprise et API Particulier

Ce guide présente les deux bouquets d'API permettant aux administrations d'exposer leurs API délivrant des données administratives des entreprises, des associations et des particuliers.

Vous êtes une administration et souhaitez distribuer des données administratives à d'autres administrations dans l'objectif de participer à la simplification des démarches administratives ?

**➡️ Exposez et/ou concevez votre API avec API Entreprise et API Particulier !**

{% hint style="info" %}

#### <mark style="color:blue;">**L'offre de service DINUM des bouquets**</mark>

Exposer vos API délivrant des données administratives d'entreprises, d'associations ou de particuliers dans l'API Particulier et l'API Entreprise permet de :

* **Bénéficier de l'aide technique et métier de la DINUM** pour concevoir/adapter vos API aux besoins recensés des administrations fournisseurs de service ;
* **Réduire au minimum votre gestion du support** des API, car les équipes API Particulier / API Entreprise prennent en charge tout le support de niveau 1, se font l'intermédiaire des nombreuses questions et remontée de bugs et vous contacte uniquement si nécessaire.
* **Simplifier l'utilisation de votre API par les fournisseurs de service**, car ils n'ont besoin d'intégrer qu'une API pour accéder à la votre, ainsi qu'à celles de nombreux autres fournisseurs de données.
  {% endhint %}

### Comment rejoindre les bouquets API Entreprise / API Particulier ?

{% stepper %}
{% step %}

#### Identifier si votre API correspond aux bouquets

Les bouquets API Entreprise et API Particulier sont conçus pour faire circuler les données administratives entre administrations.

**Seules les API des administrations peuvent rejoindre les bouquets.**\
\
Le bouquet API Particulier distribue par API des informations sur les particuliers : quotient familial CAF & MSA, certificat de scolarité, statut demandeur d'emploi, bénéficiaire du RSA ou d'autres prestations.\
➡️ Si votre API permet d'accéder à d'autres informations administratives de particulier, élève, parent, famille, demandeur d'emploi, elle a certainement sa place dans le bouquet API Particulier !

Le bouquet API Entreprise distribue par API des informations sur les entreprises et les associations : infos de la base Sirene, extrait RCS - Kbis, effectifs, attestations sociale et fiscale, attestations de cotisations, bénéficiaires effectifs, certificat Qualiopi, certificats RGE, Qualibat, OPQIBI, etc.\
➡️ Si votre API permet d'accéder à d'autres informations administratives des entreprises et des associations, elle a certainement sa place dans le bouquet API Particulier !
{% endstep %}

{% step %}

#### Contacter le pôle de la circulation de la donnée

Une fois les éléments précédents vérifiés, vous pouvez contacter le pôle de la circulation de la donnée (DINUM) en charge des bouquets :

* <equipe@particulier.api.gouv.fr>
* <equipe@entreprise.api.gouv.fr>
  {% endstep %}
  {% endstepper %}


# Explorer un jeu de donnée

Sur les jeux de données au format tabulaires vous pouvez utiliser notre explorateur de données pour avoir un aperçu des données, d’en savoir plus sur les différentes colonnes, mais aussi par exemple de réaliser des filtres et des tris.

Les principales fonctionnalités de l'outil sont présentées [ici](https://www.data.gouv.fr/fr/posts/refonte-de-la-previsualisation-et-de-lexploration-des-donnees/).

{% embed url="<https://www.loom.com/share/ad8d869f903d4badb949727f74c8cc1d?sid=3af18379-96dc-4461-aee9-57f2e6f995e5>" %}


# Bienvenue

Commencez ici pour trouver le guide adapté à votre besoin.

Bienvenue dans les guides de data.gouv.fr.

Vous trouverez ici des ressources pour ouvrir, publier, réutiliser et valoriser des données.

### Commencer selon votre besoin

* **Comprendre le cadre légal** : obligations, droits, réutilisation.
* **Améliorer la qualité** : préparation, documentation, schémas, amélioration continue.
* **Exploiter des données** : recherche, traitement, analyse, visualisation.
* **Exposer des API** : doctrine, accompagnement, outils dédiés aux administrations.
* **Aller plus loin** : lexique, ressources externes, guides complémentaires.

### Les grands contenus disponibles

<table data-view="cards"><thead><tr><th></th><th></th><th data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Guide juridique</strong></td><td>Comprendre le cadre légal de l'ouverture et de la réutilisation des données publiques.</td><td><a href="/pages/lgqTWxKUIRhnEm2Fsi7n">/pages/lgqTWxKUIRhnEm2Fsi7n</a></td></tr><tr><td><strong>Guide qualité</strong></td><td>Produire des jeux de données de qualité, bien documentés et réutilisables.</td><td><a href="/pages/t9J0CgxDcbPylOMxYfAI">/pages/t9J0CgxDcbPylOMxYfAI</a></td></tr><tr><td><strong>Guides sur l'utilisation des données</strong></td><td>Trouver, manipuler, analyser, visualiser et cartographier des données ouvertes.</td><td><a href="/pages/KwlLmdSR8tejS6mGFOt8">/pages/KwlLmdSR8tejS6mGFOt8</a></td></tr><tr><td><strong>Outils pour les administrations</strong></td><td>Découvrir les outils et accompagnements pour exposer des API sur data.gouv.fr.</td><td><a href="/pages/ZQzVrkK7RbJ2PHYYECLU">/pages/ZQzVrkK7RbJ2PHYYECLU</a></td></tr><tr><td><strong>Autres ressources utiles</strong></td><td>Retrouver un lexique, des ressources externes et des guides complémentaires.</td><td><a href="/pages/NJqwsh6K9nHhj2iCyhzc">/pages/NJqwsh6K9nHhj2iCyhzc</a></td></tr></tbody></table>


# Guide juridique

Ce guide a pour vocation de vous présenter le cadre légal de l'ouverture et de la réutilisation des données publiques et de vous aider à l'appliquer facilement.

La première partie de c*e guide s'adresse notamment aux organismes publics et privés en charge d'une mission de service public. La seconde partie de ce guide s'adresse aux réutilisateurs de données.*

{% hint style="warning" %}
**Ce guide n'a pas vocation à traiter des obligations prévues par des législations spéciales.**\
Il a une visée avant tout pratique et opérationnelle. Pour obtenir des informations juridiques plus détaillées, nous vous invitons à consulter le [guide de publication en ligne et réutilisation des données publiques](https://www.cnil.fr/fr/publication-en-ligne-et-reutilisation-des-donnees-publiques-open-data) proposé par la CNIL et la CADA.
{% endhint %}


# Producteurs de données

**Grâce à cette section, les producteurs de données pourront répondre aux interrogations suivantes :**

* Qu'est-ce que l'open data ? A quoi cela sert-il ?
* Suis-je concerné par les obligations légales relatives à l'ouverture des données ?
* Quelles sont les obligations légales et les règles à respecter ?

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Comprendre la notion d'open data 🔍</strong></td><td>À quoi sert-elle ?</td><td></td><td><a href="/pages/SQLym93uEiTBA6wcYnzR">/pages/SQLym93uEiTBA6wcYnzR</a></td></tr><tr><td><strong>Qui est concerné ? 👤</strong></td><td>Suis-je tenu(e) de faire de l'open data ?</td><td></td><td><a href="/pages/d7LTBXr0CrbgTohpHVx3">/pages/d7LTBXr0CrbgTohpHVx3</a></td></tr><tr><td><strong>Quelles sont les obligations ? ⚖️</strong></td><td>Que suis-je légalement tenu(e) de faire ?</td><td></td><td><a href="/pages/76ykYqn3MDWqetQrtBvc">/pages/76ykYqn3MDWqetQrtBvc</a></td></tr></tbody></table>


# Comprendre la notion d'open data

{% hint style="info" %}
Il existe de nombreuses définitions de l'open data.\
\
L'objectif de ce guide n'est pas d'apporter une définition essentielle et exclusive du concept, mais de proposer une interprétation de l'open data public, qu'[Etalab](https://www.etalab.gouv.fr/) a pour mission de mettre en œuvre.
{% endhint %}

## Open data public : la mise à disposition libre et gratuite des documents administratifs

Dans le cadre de ses missions de service public, l’administration produit et reçoit des documents administratifs. Ces documents administratifs peuvent contenir des informations publiques, qui peuvent elles-mêmes être représentées sous forme de données publiques.

**L'open data public consiste à assurer la large mise à disposition à tous de ces données, en accès libre et gratuit, sous un format numérique facilement réutilisable.**

{% hint style="info" %}
**Lexique**

* **Administration** : L'administration englobe l’État, les collectivités territoriales ainsi que les autres personnes de droit public ou les personnes de droit privé chargées d'une mission de service public ([Article L300-2 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=38EE7903F1DB9BDF237E3916D5943464.tplgfr29s_3?idArticle=LEGIARTI000033218936\&cidTexte=LEGITEXT000031366350\&dateTexte=20170701https://)) ;
* **Document administratif** : Tout document que l'administration a pu produire ou recevoir (de la part d’une autre administration ou d’un prestataire par exemple), dans le cadre de sa mission de service public ([Article L300-2 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=38EE7903F1DB9BDF237E3916D5943464.tplgfr29s_3?idArticle=LEGIARTI000033218936\&cidTexte=LEGITEXT000031366350\&dateTexte=20170701https://)). Ces documents peuvent correspondre à des notes de services, une base de données, une législation, un code source de logiciel, des cartes, un algorithme, etc. Un document sur lequel un tiers détient des droits de propriété n'est pas considéré comme un document administratif ;
* **Information publique** : Information contenue dans un document administratif communicable à tous ou faisant l'objet d'une diffusion publique, sur lequel des tiers ne détiennent pas de droits de propriété intellectuelle ([Article L321-2 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=3D26427599551CBACAF75B4C44C8715B.tplgfr24s_3?idArticle=LEGIARTI000033218992\&cidTexte=LEGITEXT000031366350\&dateTexte=20191018)) ;
* **Donnée publique** : Représentation d’une information publique sous une forme conventionnelle destinée à faciliter son traitement. Cela peut être par exemple des données géographiques (adresses, références cadastrales), financières (budgets, commande publique, subventions, etc.), environnementales (émissions, vente de produits, etc.), etc.
  {% endhint %}

## Les bénéfices liés à l'open data public

Au-delà du respect du cadre légal, ouvrir vos données présente de multiples intérêts. Cela vous permet notamment de :

* **Valoriser votre action** : publier en open data les données que vous produisez donne de la visibilité à votre travail et à vos missions ;
* **Alléger votre charge de travail** : une fois le jeu de données publié, vous n’avez plus besoin de répondre à chaque demande d'accès isolée émanant d'un citoyen ou d'une administration ;
* **Améliorer la qualité de vos données** : les données que vous publiez seront réutilisées par des acteurs publics ou privés qui pourront les croiser avec d’autres données ou détecter des anomalies voire les corriger ;
* **Renforcer votre efficacité et améliorer les services publics** : les données ouvertes par des administrations peuvent être réutilisées par d’autres services ou aboutir à des collaborations entre équipes, ce qui peut améliorer la mise en œuvre des missions de service public ;
* **Favoriser la transparence** ;
* **Favoriser la création de nouveaux services, notamment par des acteurs privés ou la société civile** : les données qui auront été ouvertes pourront être utilisées par des tiers afin de créer de nouveaux services numériques.

{% hint style="info" %}
**Le partage de données**\
\
Le partage de données entre acteurs, que ce soit à l’intérieur ou l’extérieur d’une organisation, est devenu un enjeu économique, politique et culturel.

La circulation des données démultiplie leur potentiel d’usage et rend possible leur réutilisation pour des finalités qui n’étaient pas envisagées lors de leur production. La qualité de la donnée se traduit donc par sa bonne compréhension et par son potentiel de réutilisation.

En France, le mouvement de l'ouverture des données publiques se fonde sur ces principes depuis 2011. En avril 2023, la plateforme data.gouv.fr comptait plus de 45 000 jeux de données pour près de 4 000 organisations. En interne, les organisations ont également pris conscience de l’intérêt que représente la circulation et l’exploitation croisées des données pour leurs activités.
{% endhint %}


# Qui est concerné ?

Différents acteurs sont soumis aux obligations de diffusion de leurs documents administratifs, et donc d'ouverture de leurs données. Vous êtes concerné par la diffusion des documents administratifs, et donc la publication de vos données en open data, si vous êtes :

* **une administration centrale de plus de 50 agents** ;
* **une personne morale de droit privé chargée d'une mission de service public qui emploie plus de 50 agents à temps plein** ;
* **une collectivité territoriale de plus de 3 500 habitants et de plus de 50 agents**.


# Quelles sont les obligations ?

Voici une synthèse des principales obligations de diffusion des documents administratifs, et donc d'ouverture de données.

## Quel est le cadre juridique de l'open data ?

{% hint style="info" %}
Le cadre juridique de l’open data public repose principalement sur **les textes applicables en matière d'accès, de diffusion et de réutilisation des documents administratifs**.

* Le [livre III du Code des relations entre le public et l’administration (CRPA)](https://search.piaf.etalab.studio/crpa) définit le cadre général de l’ouverture des données publiques. Il intègre tous les textes applicables en matière de communication, de diffusion et de réutilisation des documents administratifs.
* Le cadre juridique relatif à l’ouverture de l’information publique a considérablement évolué au fil des décennies, jusqu’à la [loi pour une République numérique](https://www.legifrance.gouv.fr/affichLoiPubliee.do?idDocument=JORFDOLE000031589829\&type=general\&legislature=14), promulguée en 2016, qui fait de l’ouverture des données publiques par défaut la règle.
  {% endhint %}

## Que faut-il diffuser en open data ?

{% hint style="info" %}
**La communication de vos documents administratifs**

Le régime de droit d’accès aux documents administratifs a peu évolué depuis [la loi dite “CADA” de 1978](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000339241) : toute administration ou délégation de service public doit communiquer à un administré le document dont il a fait la demande.<br>

Si l’administré demande en outre la diffusion en ligne de ce document administratif, toute administration, quelle que soit sa taille, doit répondre à cette obligation. Si le document contient des données couvertes par un secret légal ou des données à caractère personnel, ces données devront au préalable faire l’objet d’une occultation ou d’une anonymisation.
{% endhint %}

Si vous êtes concernés par l'obligation légale, vous êtes tenus de diffuser en open data ([Article L. 312-1-1 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=699E85A138CEA30E2185BB71F8735F9A.tplgfr24s_3?idArticle=LEGIARTI000033205512\&cidTexte=LEGITEXT000031366350\&dateTexte=20161009)) :

* **Les documents administratifs que vous avez communiqué à des demandeurs** ;
* **L'inventaire des documents administratifs que vous produisez dans le cadre de vos missions de service public** ;
* **Les bases de données produites et reçues dans le cadre des missions de service public** : ces bases de données doivent êtres mises à jour régulièrement ;
* **Les données dont la publication représente un intérêt économique, social, sanitaire ou environnemental**.

**Les documents administratifs diffusés doivent être achevés**, c'est-à-dire qu'ils ont atteint leur version finale, à date (les brouillons, documents de travail, notes préalables ne sont pas considérés comme des documents achevés). Si le document administratif contient une décision, cette dernière ne doit pas être en cours de délibération mais bien prise.

{% hint style="info" %}
**Lexique : Base de données**

On entend par base de données un recueil d’œuvres, de données ou d'autres éléments indépendants, disposés de manière systématique ou méthodique, et individuellement accessibles par des moyens électroniques ou par tout autre moyen ([Article L112-3 du code de la propriété intellectuelle](https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000006278879\&cidTexte=LEGITEXT000006069414\&dateTexte=19980702)).\
À titre d'exemple, sont des bases de données : le registre des entreprises, l'annuaire des adresses, les données de demande de valeurs foncières, etc.
{% endhint %}

## Comment faut-il publier en open data ?

### Format

Les documents administratifs, informations publiques et données doivent être publiés dans un format :

* **Ouvert** : tout protocole de communication, d’interconnexion ou d’échange et tout format de données interopérable et dont les spécifications techniques sont publiques, sans restriction d'accès ou de mise en œuvre ;
* **Aisément réutilisable** : le producteur prend en considération les connaissances et besoins du réutilisateur lors de la publication ;
* **Exploitable par un système de traitement automatisé** : la publication est optimisée pour une utilisation par un système de traitement automatisé et non pour une exploitation immédiate par des humains.

{% hint style="warning" %}
L'accès aux données uniquement via des filtres (liste déroulante, sélection d'une zone sur une carte) limite la récupération des données brutes et ne correspond pas à une diffusion publique. Cependant, une application permettant de filtrer les données peut être créée en complément d'un espace de téléchargement libre.
{% endhint %}

{% hint style="info" %}
Concernant l'accès aux données via la création d'un compte validé automatiquement :

* Il est possible pour l’administration, dans le but de répondre favorablement à une demande de communication, de soumettre la consultation de documents administratifs à la création d’un compte automatique, sans intervention de la part de l’administration ;
* Cette procédure de création de compte automatique n’emporte pas la qualification de diffusion publique conformément aux dispositions du CRPA ;
* [data.gouv.fr](http://data.gouv.fr/), portail unique interministériel destiné à rassembler et à mettre à disposition les informations publiques de l’État et de ses établissements publics conformément à l’article [R. 321-8 du CRPA](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000034196216) et aux circulaires du [26 mai 2011](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000024072788) et du [27 avril 2021](https://www.legifrance.gouv.fr/download/pdf/circ?id=45162), est chargé de “*veiller à ce que la mise à disposition des données de référence s’effectue dans le respect des dispositions législatives et réglementaires en vigueur*” et recommande un accès aux documents administratifs librement communicables le plus simple possible sans création de compte
  {% endhint %}

### Occultation des secrets légaux

**Si vos documents administratifs contiennent des secrets légaux, vous êtes tenus d'occulter ces secrets par un traitement d'usage courant**, sans que cette opération implique des efforts disproportionnés ou que le document soit dénaturé ou vidé de son sens. Le cas échéant, vous n'êtes pas tenu de diffuser le document administratif.

{% hint style="info" %}
**Quels sont les documents couverts par un secret légal ?**

* Les documents qui ne sont aucunement communicables. Ce sont par exemple les documents dont la diffusion porterait atteinte au secret des délibérations du Gouvernement, au secret de la défense nationale ou de la sûreté de l’État, etc ([Article L. 311-5 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=B12CCBE39831FB4644322E0902EB97B9.tplgfr34s_1?idArticle=LEGIARTI000033265181\&cidTexte=LEGITEXT000031366350\&dateTexte=20170701)).
* Les documents dont la diffusion porterait atteinte à la protection de la vie privée, au secret médical et au secret des affaires. Les documents qui portent une appréciation ou un jugement de valeur sur une personne physique ou qui font apparaître le comportement d’une personne ([Article L. 311-6 du CRPA](https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=B12CCBE39831FB4644322E0902EB97B9.tplgfr34s_1?idArticle=LEGIARTI000033218964\&cidTexte=LEGITEXT000031366350\&dateTexte=20170701)).
  {% endhint %}

{% hint style="info" %}
**Comment occulter les données par un traitement automatisé d'usage courant ?** L'occultation correspond au masquage ou au retrait des données identifiées comme confidentielles et non communicables.
{% endhint %}

### Anonymisation des données <a href="#que-faire-si-mes-documents-administratifs-contiennent-des-donnees-a-caractere-personnel" id="que-faire-si-mes-documents-administratifs-contiennent-des-donnees-a-caractere-personnel"></a>

{% hint style="info" %}
**Lexique : Donnée à caractère personnel**

Toute information relative à une personne physique identifiée ou qui peut être identifiée, directement ou indirectement, par référence à un numéro d’identification (par exemple le numéro de sécurité sociale) ou à un ou plusieurs éléments qui lui sont propres.
{% endhint %}

Le cadre juridique général proscrit la diffusion en ligne, sans anonymisation, de documents administratifs contenant des données à caractère personnel. Cependant, **trois situations** permettent la publication de ces documents sans avoir recours à l'anonymisation :

* Si une disposition législative spécifique autorise la publication des données sans anonymisation ;
* Si les personnes concernées ont donné leur accord à la diffusion des données sans anonymisation ;
* Si les documents administratifs figurent dans la liste prévue par le [décret n°2018-1117 du 10 décembre 2018](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037797147\&categorieLien=id) relatif aux catégories de documents administratifs pouvant être rendus publics sans faire l'objet d'un processus d'anonymisation. Ce sont notamment les documents relatifs aux conditions d’organisation de l’administration, de la vie économique, associative, culturelle et sportive, des professions réglementées, etc.

**Si votre document administratif contenant des données à caractère personnel ne correspond à aucune de ces situations, vous êtes tenus de l'anonymiser.** Cette opération ne doit toutefois pas impliquer d'efforts disproportionnés. L'anonymisation ne doit également pas dénaturer ou vider de son sens le document. Le cas échéant, vous n'êtes pas tenu de diffuser le document administratif.

{% hint style="info" %}
**Lexique : Anonymisation des données**

Processus consistant à traiter des données à caractère personnel afin d’empêcher totalement et de manière irréversible l’identification d’une personne physique. L’anonymisation suppose donc qu’il n’y ait plus aucun lien possible entre l’information concernée et la personne à laquelle elle se rattache.
{% endhint %}

Si vous souhaitez obtenir d'avantage d'informations juridiques sur l'articulation entre open data et protection des données à caractère personnel, nous vous invitons à consulter le [guide de publication en ligne et de réutilisation des données publiques](https://www.cnil.fr/fr/publication-en-ligne-et-reutilisation-des-donnees-publiques-open-data) produit par la CNIL.

## Licence

* Lorsque les données sont mises à disposition gratuitement, l’usage d’une licence est conseillé, mais pas obligatoire ;
* Si les données publiées sont mises à disposition contre le paiement d’une redevance, les administrations productrices sont dans l’obligation d’apposer une licence de réutilisation.

La réutilisation des données doit être libre. **La licence doit répondre aux différents critères de libre réutilisation**. À ce titre, la libre réutilisation ne peut être restreinte que pour des motifs d’intérêt général. Cette restriction doit être proportionnée et ne doit pas avoir pour effet ou objectif de limiter la concurrence.

{% hint style="info" %}
**Licences de réutilisation autorisées**

Dans le but d'avoir un nombre restreint de licences, la loi pour une République numérique a prévu la création d’une liste, [fixée par décret](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034502557\&categorieLien=id), de licences qui peuvent être utilisées par les administrations pour la réutilisation à titre gratuit de leurs informations publiques.

Les administrations peuvent choisir parmi cette liste de licences lorsqu'elles publient des éléments en ligne. Les administrations souhaitant recourir à une licence ne figurant pas dans la liste des licences autorisées par décret doivent au préalable [demander son homologation auprès de la direction interministérielle du numérique (DINUM)](https://support.data.gouv.fr/administration-centrale/licence).

Vous pouvez consulter [la liste des licences autorisées par décret](https://www.data.gouv.fr/fr/licences).
{% endhint %}

OpenDataFrance propose [un guide sur le choix d'une licence](https://opendatafrance.gitbook.io/odl-ressources/fiches-pratiques/aspects-juridiques/choix-des-licences-open-data).


# Réutilisateurs de données

**Grâce à cette section, les réutilisateurs de données pourront répondre aux interrogations suivantes :**

* Qu'est-ce que l'open data ?
* Quelles sont les conditions de réutilisation des données ouvertes ?


# Respecter les conditions de réutilisation

## Qu'est-ce qu'une réutilisation ? <a href="#qu-est-ce-qu-une-reutilisation" id="qu-est-ce-qu-une-reutilisation"></a>

La réutilisation des informations publiques désigne l’utilisation des données publiques par des tiers à d’autres fins que celle de la mission de service public pour laquelle les documents ont été produits ou reçus.

La réutilisation des données doit être libre, c'est-à-dire :

* **Elle est gratuite** ;
* **Elle peut viser une autre finalité que le but initial de production du jeu de données** ;
* **Elle peut être réalisée par tout acteur, qu'il soit public ou privé** : une administration ne peut demander à ce que le réutilisateur ait une qualité particulière pour accéder aux données.

## Quelles sont les obligations du réutilisateur de données ?

Lorsqu'un individu réutilise un jeu de données publiques, il est tenu de respecter les conditions de la licence sous laquelle les données publiques ont initialement été publiées. Deux principales licences sont utilisées dans ce cadre, la [Licence ouverte 2.0 - Licence Etalab](https://www.etalab.gouv.fr/licence-ouverte-open-licence/) ou la Licence ODbL. Dans le cas d'une réutilisation de données publiées sous **licence ouverte 2.0**, vous êtes tenu(e) de :

* **Mentionner la source des données** ;
* **Mentionner la date de dernière mise à jour de la réutilisation** ;
* **Ne pas altérer le sens des données**.

Dans le cas de données publiées sous une **licence ODbL**, vous êtes tenu(e) de respecter l'ensemble des conditions fixées par la Licence ouverte 2.0 précédemment mentionnées tout en repartageant votre réutilisation sous licence ODbL. Cette **clause de partage à l'identique** concrétise la logique *share alike*.

{% hint style="info" %}
**À défaut de mention d'une licence**, les dispositions de [l'article L322-1 du CRPA](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000032255220) s'appliquent. Cet article fixe des conditions de réutilisation identiques à celles de la licence ouverte, à sa voir : la **non-altération** des données publiques, la **mention de leurs sources** (paternité des données) et la **mention de la date de leur dernière mise à jour.**
{% endhint %}

Le réutilisateur est aussi tenu de se conformer aux obligations légales qui découlent du [**Règlement général sur la protection des données**](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037085952\&categorieLien=id).

Vous pouvez retrouver les conditions de réutilisation des autres licences existantes sur [cette page](https://www.data.gouv.fr/fr/pages/legal/licences/).

## Quelles sont les restrictions à la réutilisation de données publiques ? <a href="#faut-il-utiliser-une-licence" id="faut-il-utiliser-une-licence"></a>

### Le cas de la propriété intellectuelle <a href="#le-cas-de-la-propriete-intellectuelle" id="le-cas-de-la-propriete-intellectuelle"></a>

D'après le cadre général, l'administration ne peut se prévaloir d'un droit de propriété intellectuelle sur une base de données afin de restreindre sa réutilisation.

Cependant, une administration peut se prévaloir d'un droit *sui generis* sur une base de données, uniquement si elle valide les conditions suivantes :

* l'administration est en situation de concurrence ;
* la création de la base de données relève d'une création de l'esprit et a entraîné des investissements substantiels.

### Le cas de la redevance <a href="#le-cas-de-la-redevance" id="le-cas-de-la-redevance"></a>

Certaines administrations, notamment celles pratiquant des opérations de numérisation, sont habilitées à pratiquer des redevances pour l'accès et la réutilisation des données. Certaines limitations à la réutilisation peuvent être envisagées pour les administrations qui pratiquent des redevances, afin de préserver ce modèle, notamment en interdisant la rediffusion des données achetées. La tendance actuelle est à la réduction de l'utilisation des redevances tel que le prévoit la circulaire 6264


# Chronologie juridique de l'open data

La formalisation de l’ouverture des données publiques a été progressive, au niveau national et européen :

## En France

* 1978 - [Loi n°78-753 du 17 juillet 1978, dite “loi CADA](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000339241)**”** : création du droit d’accès aux documents administratifs
* 2005 - [Ordonnance n°2005-650 du 6 juin 2005 sur la réutilisation de l’information publique](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000000629684) (transposition de la directive européenne de 2003) : création du droit de réutiliser l’information publique
* 2011 - [Création d'une mission « Etalab »](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000023619063\&categorieLien=id) chargée de la création d'un portail unique interministériel des données publiques
* 2015 - [Loi relative à la gratuité et aux modalités de la réutilisation des informations du secteur public](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000031701525\&fastPos=1\&fastReqId=929140163\&categorieLien=id\&oldAction=rechTexte) : création du droit de réutiliser librement les données publiques
* 2016 - [Loi pour une République numérique](https://www.legifrance.gouv.fr/affichLoiPubliee.do?idDocument=JORFDOLE000031589829\&type=general\&legislature=14) : consécration du principe de l’open data par défaut.

Ce cadre général s’est étoffé de législations sectorielles ou territoriales, notamment en matière de transport, santé et énergie :

* 2015 - [Loi pour la croissance, l’activité et l’égalité des chances économiques](https://www.legifrance.gouv.fr/affichLoiPubliee.do?idDocument=JORFDOLE000029883713\&type=general\&legislature=14) : ouverture en open data des données de transport
* 2015 - [Loi sur la Nouvelle organisation territoriale de la République](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000030985460\&categorieLien=id) : publication en open data des données des collectivités publiques de plus de 3500 habitants
* 2016 - [Loi pour la Modernisation de notre système de santé](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000031912641\&categorieLien=id) : publication en open data des données de santé.

## En Europe

* 2003 - [Directive européenne 2003/98/CE, dite PSI](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32003L0098) : ensemble de règles concernant la réutilisation des données et documents détenus par les organismes des Etats membres de l’Union européenne
* 2007 - [Directive européenne INSPIRE](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32007L0002) : obligation de publier en open data les données environnementales et géographiques
* 2013 - [Directive 2013/37/UE modifiant la directive 2003/98/CE](https://eur-lex.europa.eu/legal-content/FR/TXT/PDF/?uri=CELEX:32013L0037\&from=FR) : encadrement du droit de redevance accordé aux administrations
* 2018 - [Directive 2019/1024/UE concernant les données ouvertes et la réutilisation des informations du secteur public](https://eur-lex.europa.eu/legal-content/FR/TXT/HTML/?uri=CELEX:32019L1024\&from=EN) : inclusion des données des entreprises investies d’une mission de service public dans le champ de l’open data et création des ensembles de données de forte valeur
* 2022 - [Règlement d’exécution 2023/138 établissant une liste d’ensembles de données de forte valeur spécifiques et les modalités de leur publication et de leur réutilisation](https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=CELEX:32023R0138) : désignation des catégories et des données rentrant dans les ensembles de données de forte valeur.


# Guide qualité

Ce guide a pour vocation de vous accompagner dans la production de jeux de données de qualité, notamment dans le cadre d'une démarche d'ouverture.

{% hint style="info" %}
**Lexique : Jeu de données**\
Au sens de data.gouv.fr, un jeu de données est un ensemble de ressources : il contient des fichiers contenant des données (csv, json, etc.), de la documentation pour décrire le contenu de ces données, ainsi que la licence sous laquelle le jeu est publié.
{% endhint %}

\
Dans ce guide, vous apprendrez comment :

<table data-card-size="large" data-column-title-hidden data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Evaluer le niveau de qualité d'un jeu de données</strong></td><td><a href="/pages/T85ol6P0gY07YieWE67r">/pages/T85ol6P0gY07YieWE67r</a></td></tr><tr><td><strong>Préparer un jeu de données de qualité</strong></td><td><a href="/pages/35Gjt6loqIwCY3Z0qGNS">/pages/35Gjt6loqIwCY3Z0qGNS</a></td></tr><tr><td><strong>Documenter des données</strong></td><td><a href="/pages/POgDy14OAoFlNdLdepAM">/pages/POgDy14OAoFlNdLdepAM</a></td></tr><tr><td><strong>Améliorer la qualité d'un jeu de données en continu</strong></td><td><a href="/pages/N53dSbhJqRPZWrdFtoz6">/pages/N53dSbhJqRPZWrdFtoz6</a></td></tr><tr><td><strong>Maîtriser les schémas de données</strong></td><td><a href="/pages/SZHRwTbKIioAYN9B8VbJ">/pages/SZHRwTbKIioAYN9B8VbJ</a></td></tr></tbody></table>


# Evaluer le niveau de qualité d'un jeu de données

## Définir la qualité d'un jeu de données

Pour une donnée, **la notion de qualité dépend grandement de l'usage qui en est fait**.

Les jeux de données publiés sont généralement produits dans un contexte propre à un processus métier et pour un usage particulier. Cet environnement métier n'est pas toujours familier aux tiers, qu'ils soient internes ou externes à l'organisation.

> Exemple : [La *base de données des demandes de valeur foncière*](https://www.data.gouv.fr/fr/datasets/demandes-de-valeurs-foncieres/) est historiquement produite par la Direction générale des finances publiques pour tenir un fichier immobilier et collecter l'impôt.

Les réutilisateurs peuvent alors rencontrer des difficultés lorsqu'ils souhaitent s'approprier des données ouvertes :

* **Difficultés dans la compréhension de la structure du jeu de données** ;
* **Difficultés dans la compréhension des données elles-mêmes** ;
* **Qualité non adaptée aux usages voulus** (mise à jour, documentation insuffisante ou inexacte, etc.).

Il est donc indispensable de **prendre en compte les pratiques des réutilisateurs** en amont de la production des jeux de données.

## Evaluer le niveau de qualité d'un jeu de données

Plusieurs critères permettent d'évaluer le niveau de qualité d'un jeu de données, notamment :

<details>

<summary><strong>Des éléments sur les données elles-mêmes et leur structure</strong></summary>

* **Le format de fichier,** qui doit permettre de facilement récupérer les données pour les réutiliser de la manière souhaitée (CSV, JSON plutôt que des formats propriétaires comme Excel) ;
* **La structure du fichier**, avec notamment des propriétés au nom explicite, compréhensible rapidement et interprétable facilement par des machines ;
* **Le contenu**, qui doit être le plus épuré possible, avec un type de donnée simple (un nombre, un pourcentage, une chaîne de caractère, une date, etc.) et un sens "métier" le plus clair possible.

</details>

<details>

<summary><strong>Des éléments attestant du potentiel de réutilisation et de croisement des données</strong></summary>

* **Le respect de standards**, référentiels et schémas déjà établis ;
* **La présence de données et colonnes pivots** pour lier les données à un référentiel (par exemple le SIRET).

</details>

<details>

<summary><strong>Des éléments qui accompagnent les données</strong></summary>

* **Une documentation** claire et rigoureuse avec des métadonnées sur le format du fichier, les versions et les référentiels ;
* **La gestion des versions et des mises à jour des données** ;
* **Des échanges entre producteurs et réutilisateurs du jeu de données** avec si possible des mécanismes de contribution aux données.

</details>


# Préparer un jeu de données de qualité

Dans cette section, vous apprendrez comment :

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Extraire un jeu de données de votre système d'information</strong></td><td><a href="/pages/a4Z7Qj2RSKYhNuo6royn">/pages/a4Z7Qj2RSKYhNuo6royn</a></td></tr><tr><td><strong>Structurer un jeu de données</strong></td><td><a href="/pages/PoDJyMnRhcg40rlrS9i2">/pages/PoDJyMnRhcg40rlrS9i2</a></td></tr><tr><td><strong>Lier des données à un référentiel</strong></td><td><a href="/pages/CGAM8abwSi5ZcHoexiVZ">/pages/CGAM8abwSi5ZcHoexiVZ</a></td></tr><tr><td><strong>Bénéficier des conversions automatiques</strong></td><td><a href="/pages/3nigxtRUsvvbWKlkIpn4">/pages/3nigxtRUsvvbWKlkIpn4</a></td></tr></tbody></table>


# Extraire un jeu de données d'un système d'information

Si les données que vous souhaitez faire circuler ne sont pas structurées sous la forme d'un jeu de données, il est nécessaire de réaliser une extraction des données depuis le système d'information où elles sont stockées. L'extraction permet d'obtenir un jeu de données structuré, qui ordonne les données selon différentes caractéristiques.

Lorsque vous cherchez à extraire des données d'un système d'information, plusieurs situations peuvent se présenter :

1. **Un outil permet d'exporter l'ensemble des données depuis le système d'information -->** il est nécessaire de sélectionner les données éligibles à la circulation en aval de l'export ;
2. **Un outil permet d'exporter l'ensemble des données ou de sélectionner un sous ensemble des données à exporter depuis le système d'information** ;
3. **Le système d'information ne prévoit pas d'outil d'exportation des données -->** il est nécessaire de réaliser une opération technique pour exporter ces données et cette opération est directement liée aux spécificités du système d'information utilisé.

Quel que soit le mode d'export, il est recommandé **d'automatiser l'opération** afin de faciliter la mise à jour des données publiées. Cette automatisation instaure un processus sur le long terme et fait gagner du temps à l'organisation.


# Structurer un jeu de données

{% hint style="success" %}
Les jeux de données qui ont vocation à circuler seront réutilisés par des acteurs tiers qui ne connaissent pas l’environnement de votre organisation.

Il est nécessaire de proposer une structure de jeu de données compréhensible et appropriable par tous.
{% endhint %}

Deux approches sont possibles pour structurer un jeu de données, selon le cas de figure dans lequel la structure se situe :

* **Cas 1 : La structure de vos données ne correspond à aucun schéma de données existant** : un travail de modélisation est nécessaire en amont de la création du jeu de données.
* **Cas 2 : La structure de vos données correspond à un schéma de données existant**, comme par exemple s'il s'agit d'une Base Adresse Locale.

{% hint style="info" %}
Les préconisations pour structurer une Base Adresse Locale sont détaillées sur [cette page](/guides/guide-qualite/preparer-un-jeu-de-donnees-de-qualite/structurer-un-jeu-de-donnees/structurer-une-base-adresse-locale).
{% endhint %}

{% tabs %}
{% tab title="Cas 1" %}

### Cas 1 : La structure de vos données ne correspond à aucun schéma de données existant <a href="#cas-2-la-structure-de-vos-donnees-ne-correspond-a-aucun-schema-de-donnees-existant" id="cas-2-la-structure-de-vos-donnees-ne-correspond-a-aucun-schema-de-donnees-existant"></a>

Il est nécessaire de réfléchir en amont à la meilleure structure pour vos données.

{% hint style="info" %}
Tant que les données de votre structure sont dans un environnement logiciel, leur usage reste adapté à des problématiques métiers spécifiques.

L’ouverture de ces données en dehors de leur environnement impose de **structurer le jeu de données en fonction des attentes des réutilisateurs** et non plus en fonction des besoins propres à l’organisation.
{% endhint %}

✨ Quelques bonnes pratiques vous permettront de bien structurer votre jeu de données :

#### Soigner le contenu du jeu de données <a href="#le-contenu-du-jeu" id="le-contenu-du-jeu"></a>

**Les champs du jeu de données**

Il est conseillé de :

* **Occulter l’ensemble des colonnes dont les champs contiennent des données couvertes par un secret légal** (cf. [Guide juridique](/guides/guide-juridique)) ;
* **Occulter l’ensemble des colonnes dont les champs contiennent des données à caractère personnel** dont la publication n’est pas nécessaire à l’information du public (cf. [Guide juridique](/guides/guide-juridique)) ;
* **Privilégier la présence de variables pivots** : ces variables proposent des identifiants communs qui permettent de lier plusieurs jeux de données entre eux (ex. le numéro SIRET de la [base Sirene](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/)) (cf. [section "Lier des données à un référentiel"](/guides/guide-qualite/preparer-un-jeu-de-donnees-de-qualite/lier-des-donnees-a-un-referentiel)).

**L’entête des colonnes (pour le format tabulaire)**

{% hint style="info" %}
Dans un fichier tabulaire, la première ligne du fichier peut être utilisée pour nommer chaque colonne et donner des informations sur les données associées.
{% endhint %}

Il est conseillé de :

* Donner **un nom de colonne explicite** ;
* Donner **un nom de colonne sans majuscule, abréviation, accents, ni espaces** (préférez le caractère `_`) afin de faciliter la manipulation des fichiers.

**Gestion des champs non attribués**

Il est possible que certaines occurrences d’un champ d'un fichier ne soient pas attribuées.

Il convient de :

* **Laisser ces occurrences vides plutôt que d’attribuer la valeur 0** (ou une autre valeur par défaut) : le zéro correspond à une valeur, qui peut dénaturer le sens de votre fichier.

**Le titre du jeu de données**

Il est recommandé de choisir un titre qui doit pouvoir renseigner n’importe quel réutilisateur sur le contenu du fichier. Pour cela, il est recommandé de :

* **Ne pas donner un titre trop générique** qui obligerait le réutilisateur à ouvrir le jeu de données pour comprendre son contenu (i.e. “liste.csv” ou encore “balance comptable” sans indiquer l’organisation concernée) ;
* **Ne pas donner un titre trop long** qui rendrait la manipulation du fichier difficile (i.e. le titre du jeu de données “Fichiers consolidés des données essentielles de la commande publique” est suffisamment générique pour ne pas revenir sur toutes les sources de données utilisées pour agréger le jeu de données) ;
* **Ne pas donner un titre contenant des accents ou caractères spéciaux** qui poseraient des problèmes d’interopérabilité des fichiers ;
* **Ne pas donner de titre trop technique** issu de nomenclatures métier.

**L’encodage du fichier**

{% hint style="info" %}
**Lexique : Encodage**

L’encodage d’un fichier est la norme utilisée pour coder chaque caractère par une suite de 0 et de 1 compréhensible par une machine.

Lorsque l’encodage est mal choisi, le réutilisateur des données est souvent contraint de convertir le fichier, notamment afin de faire apparaître les accents et caractères spéciaux.
{% endhint %}

**Il est conseillé de :**

* **Utiliser l’encodage UTF-8** : il permet d’encoder l’ensemble des caractères du répertoire universel de caractères codés (notamment les caractères contenant des accents ou des caractères spéciaux).

**Le séparateur (pour le format tabulaire)**

{% hint style="info" %}
Dans un fichier tabulaire, le séparateur permet de structurer les données sous forme de cellules.
{% endhint %}

Il est conseillé d'**utiliser la virgule comme séparateur.**

{% hint style="warning" %}
**Séparateurs décimaux**

Dans un fichier CSV, la virgule n’est pas considérée comme un séparateur décimal. Si votre fichier contient des valeurs décimales, il est nécessaire d’encapsuler chaque champ entre des guillemets.

La plupart des tableurs (Excel, OpenOffice Calc, etc) proposent l’encapsulement des champs entre guillemets.

Une seconde solution consiste à convertir l’ensemble des virgules utilisées pour des valeurs décimales par un point.
{% endhint %}

**Granularité du jeu de données**

Il est important de mener une réflexion sur la granularité du jeu de données.

*Faut-il proposer des données fines ou agrégées ? Faut-il proposer un export quotidien, mensuel, trimestriel ou annuel ?* Ces questions doivent être posées en amont de l’automatisation des exports.

Il est conseillé de **mener un dialogue avec les réutilisateurs afin de comprendre leurs besoins** : certains utilisateurs peuvent souhaiter manipuler des données granulaires tandis que d’autres préfèrent disposer d’agrégats qui permettent une réutilisation simple et rapide. A minima, il est conseillé de proposer un fichier complet unique qui contient l’ensemble des données historiques.

#### Choisir le format du jeu de données <a href="#le-choix-du-format-du-jeu-de-donnees" id="le-choix-du-format-du-jeu-de-donnees"></a>

Afin qu'un maximum d’utilisateurs puisse s’approprier les données, il est conseillé de les faire circuler dans un format :

* **ouvert** : un format ouvert n’impose pas de spécifications techniques qui entraveraient l’exploitation des données (i.e. l’utilisation d’un logiciel payant) ;
* **aisément réutilisable** : un format aisément réutilisable sous-entend que toute personne ou machine peut réutiliser facilement le jeu de données ;
* **exploitable par un système de traitement automatisé** : un système de traitement automatisé permet de réaliser des opérations par des moyens automatiques, relatifs à l’exploitation des données (i.e. un fichier CSV est aisément exploitable par un système de traitement automatisé contrairement à un fichier PDF).

Il est possible de choisir parmi les formats ouverts et communément acceptés suivants :

<table><thead><tr><th width="176">Type de données</th><th width="111">Formats conseillés</th><th width="310">Description</th><th width="246">Documentation</th></tr></thead><tbody><tr><td>Données tabulaires</td><td>CSV</td><td>Un fichier CSV est constitué de lignes de données, où chaque champ est séparé par une virgule. Ce format est le standard le plus réutilisable, car ouvert et facilement exploitable par une machine.</td><td><a href="https://opendatafrance.gitbook.io/odl-ressources/fiches-pratiques/premiers-pas/produire-un-fichier-csv-de-qualite#contexte">Ici</a></td></tr><tr><td>Données statiques de transport</td><td>GTFS/NeTEx</td><td>Le format GTFS est le format le plus utilisé en France par les services de mobilité d’information voyageur. Le format NeTEx est le format de référence européen qui vise l’interopérabilité des données entre États membres.</td><td><a href="https://transport.data.gouv.fr/guide">Ici</a></td></tr><tr><td>Données géographiques</td><td>GeoJSON, Shapefile, MapInfo MIF/MID, MapInfo TAB et GML, pour les vecteurs / ECW, JPEG2000 et GeoTIFF, pour les données pixelisées (raster)</td><td>Les données géographiques sont organisées sous forme d’ensemble de données hiérarchisées. Les formats proposés sont conçus spécifiquement pour être largement exploitables et être intégrés facilement dans des outils de cartographie.</td><td><a href="https://geo.data.gouv.fr/fr/doc/publish-your-data">Ici</a></td></tr><tr><td>Données hiérarchiques</td><td>JSON / XML / YAML</td><td>Les données hiérarchiques décrivent des relations hiérarchiques entre différentes données. Le format JSON est préconisé lorsque les données sont liées entre elles sous forme d’arbres verticaux.</td><td>indisponible</td></tr></tbody></table>
{% endtab %}

{% tab title="Cas 2" %}

### Cas 2 : La structure des données correspond à un schéma de données existant

{% hint style="info" %}
**Lexique : Schéma de données**

Un schéma de données est un document qui permet de décrire de manière précise et univoque les différents champs et valeurs possibles qui composent un fichier.

Il permet notamment de valider qu’un fichier est conforme à une structure communément partagée, de générer de la documentation automatiquement, de générer des jeux de données d’exemple ou de proposer des formulaires de saisie standardisés.

Ces schémas facilitent la montée en qualité et le croisement des données proposées en open data, surtout lorsque plusieurs producteurs de données sont amenés à produire un même jeu de données.

➡️ **Pour plus de détails sur les schémas de données, consultez** [**la section "Maîtriser les schémas de données"**](/guides/guide-qualite/maitriser-les-schemas-de-donnees)
{% endhint %}

#### **Identifier un schéma de données déjà existant**

Il est possible d'identifier un schéma de données déjà existant [**en consultant le site schema.data.gouv.fr**](https://schema.data.gouv.fr/), qui référence une liste de schémas de données existants. Le site offre aussi la possibilité à tout utilisateur de soumettre de nouveaux schémas de données.

Lorsque les données que vous souhaitez faire circuler correspondent à un schéma existant, **il est conseillé de l’appliquer au plus près**.

#### **Produire des données conforme à un schéma de données identifié**

Si les données ne sont pas extraites d’un système d’information mais saisies manuellement, **il est possible d'utiliser** [**l’outil publier.etalab.studio**](https://publier.etalab.studio/) qui permet, à partir d’un schéma de données sélectionné, de saisir les valeurs de chaque information et ainsi de produire un fichier exhaustif et conforme.

<figure><img src="/files/o9mOaBdjqCc8mYQxogDr" alt=""><figcaption><p>Page d'accueil de publier.etalab.studio</p></figcaption></figure>

{% hint style="info" %}
📖 **Tutoriel : Utiliser** [**publier.etalab.studio**](https://publier.etalab.studio/) **pour saisir, valider et publier des données de qualité**

Cet outil vous permet de créer un fichier CSV en vous assurant qu'il est conforme à un schéma, c'est-à-dire que ses données sont complètes, valides et structurées.

Les étapes à suivre sont les suivantes :

1. **Sélectionnez le schéma** qui vous intéresse dans la liste déroulante (les schémas disponibles sont ceux référencés sur [schema.data.gouv.fr](https://schema.data.gouv.fr/)).
2. **Produisez vos données. Trois modes de production sont possibles :**
   * **Téléversez (uploadez)** votre fichier si les données sont déjà consolidées au bon format ;
   * **Saisissez vos données dans un formulaire** à l'aide des descriptions des différents champs et des valeurs d'exemples : les champs indiqués par un astérisque rouge doivent obligatoirement être renseignés au moment de la saisie
     * Une fois votre formulaire valide, les valeurs apparaissent sous la forme d'une ligne dans un tableau récapitulatif
     * Vous pouvez alors choisir d'ajouter une ou plusieurs lignes ou télécharger le fichier CSV correspondant au tableau récapitulatif
   * **Saisissez vos données sur un tableur en ligne**
3. La conformité de vos données par rapport au schéma choisi est vérifiée/validée. En cas d'erreur de validation, vous pouvez les **corriger**.
4. Une fois les données conforme au schéma correspondant, **publiez-les sur** [**data.gouv.fr**](https://www.data.gouv.fr/fr/) grâce à un formulaire de publication simplifié permettant une authentification tierce.
   {% endhint %}

<figure><img src="/files/TxfwC6zbBAeTnhqRX3KP" alt=""><figcaption><p>Schéma synthétisant la procédure pour saisir, valider et publier des données à l'aide de publier.etalab.studio</p></figcaption></figure>

#### **Valider la conformité d’un fichier avec un schéma de données**

Pour valider la conformité d'un fichier avec un schéma de données, il est possible de :

* **Utiliser la solution** [**Validata**](https://validata.fr/) : vous pouvez valider la conformité de votre fichier à un schéma parmi la liste déroulante ou via une URL. Vous pouvez ensuite faire valider ce fichier, soit en l'important au format csv, soit en renseignant également son URL.

![Capture d'écran du menu de validata](https://guides.etalab.gouv.fr/assets/img/validata.f6a9dd72.png)

Sur l'interface d'administration de data.gouv.fr, il est possible d'indiquer que votre fichier correspond à un schéma.

* Lorsque vous déposez ou éditez une ressource, vous pouvez sélectionner le schéma correspondant à vos données dans une liste déroulante.

![Capture d'écran de la sélection d'un schéma depuis l'interface d'administration de data.gouv.fr](https://guides.etalab.gouv.fr/assets/img/selection-schema.d958a2c6.png)

* Le fait d'indiquer que votre ressource est censée respecter un schéma permet de bénéficier de vérifications de la qualité des données, d'indiquer aux réutilisateurs que vos données respectent un référentiel, ainsi que de contribuer aux fichiers agrégés (i.e. [pour les données IRVE](https://www.data.gouv.fr/fr/datasets/fichier-consolide-des-bornes-de-recharge-pour-vehicules-electriques/)).

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

D'autres solutions en dehors de data.gouv.fr existent : des solutions disponibles en anglais comme [goodtables.io](http://goodtables.io/) ou [CSV Lint](https://csvlint.io/) proposent des validateurs de jeux de données.

Il est aussi possible d’intégrer une fonction de validation d’un jeu directement dans la procédure de publication (exemple : les données d’adresses locales qui font l’objet d’une validation directement sur le site [adresse.data.gouv.fr](https://adresse.data.gouv.fr/)).
{% endtab %}
{% endtabs %}


# Structurer une Base Adresse Locale

{% hint style="info" %}
**Lexique : Base Adresse Locale**\
Fichier géré par une collectivité locale (habituellement une commune ou un EPCI) et contenant toutes ses adresses géolocalisées. Elle respecte le schéma Base Adresse Locale et une gouvernance qui prévoit que la commune est au centre du dispositif.\
\
Depuis 2019, les Bases Adresses Locales sont prioritaires dans la Base Adresse Nationale : une commune qui publie sa Base Adresse Locale devient la seule source d'adresses sur son territoire.
{% endhint %}

<figure><img src="/files/lacnDaigHiTH6wkE5T1M" alt=""><figcaption><p>Rappel : Schéma de constitution de la Base Adresse Nationale (BAN)</p></figcaption></figure>

## Respecter le schéma de données

Les Bases Adresses Locales correspondent à un [**schéma de données établi**](https://schema.data.gouv.fr/etalab/schema-bal/). Il est conseillé de le suivre au plus près. Le respect de ce schéma garantit une intégration réussie des Bases Adresses Locales dans la Base Adresse Nationale.

Une seule Base Adresse Locale est publiée par commune.

{% hint style="success" %}
Toute commune peut **vérifier que son fichier d'adresses est conforme au schéma** et qu'il pourra être intégré à la Base Adresse Nationale grâce au [validateur](https://adresse.data.gouv.fr/bases-locales/validateur) proposé par adresse.data.gouv.fr.\
\
Il suffit de glisser le fichier contenant toutes les adresses au format .csv pour obtenir la liste des erreurs à corriger impérativement (en rouge) et des anomalies (problèmes non bloquants mais réduisant la qualité des adresses et leur utilisation).
{% endhint %}

{% hint style="info" %}
Si vous n'avez pas déjà votre propre outil, **il est recommandé d'utiliser** [**l'éditeur "Mes Adresses"**](https://mes-adresses.data.gouv.fr/), conçu pour permettre à toutes les communes de gérer directement leurs adresses/bases adresses locales en respectant les normes et le schéma sans besoin de compétences techniques. Il permet à la fois de publier et de modifier sa Base Adresse Locale. La transmission des adresses à la Base Adresse Nationale se fait en temps réel.

\
L'outil est gratuit, open source et simple d'utilisation.
{% endhint %}

<figure><img src="/files/SKCUeasvoqyocrglkx1d" alt=""><figcaption><p>L'éditeur "Mes Adresses"</p></figcaption></figure>

## Suivre les bonnes pratiques

* [ ] **voie\_nom, numero, suffixe** : le nom de la voie et de son complément sont rédigés en toutes lettres, **en minuscules accentuées**, la première lettre de la voie et du nom seulement étant écrites en majuscules. Le complément est réservé aux hameaux et lieux-dits historiques. Il est conseillé de **limiter le champ suffixe** aux indices de répétition du type bis, ter.
* [ ] **cad\_parcelles** : la commune délivrant un certificat de numérotage associe une numérotation à une parcelle. Le registre de filiation parcellaire de DGFiP, disponible en open data, permet de connaître les parcelles associées à une adresse.
* [ ] **Voies sans adresse** : le numéro attendu pour les voies sans adresse est 99999.
* [ ] **Mettre à jour vos données** !

Pour aller plus loin, [un guide des bonnes pratiques de l'adressage](https://guide-bonnes-pratiques.adresse.data.gouv.fr/) ("Comment constituer et établir une adresse ?") est disponible. Il détaille les règles et les normes en vigueur.


# Lier des données à un référentiel

{% hint style="success" %}
Il est important d'intégrer dans vos jeux de données des données pivots relevant d'un référentiel.
{% endhint %}

> **Exemple** : Mon jeu de données est une liste d'actions culturelles menées par ma région. Certaines de ces actions sont gérées par des associations. Il peut être intéressant de publier un jeu de données recensant ces actions avec un champ correspondant à l'identification des associations. Cet identifiant existe et est standardisé, il s'agit du numéro RNA, identifiant national des associations dont [le répertoire](https://www.data.gouv.fr/fr/datasets/repertoire-national-des-associations/) est opéré par le ministère de l'intérieur.

## Pourquoi intégrer des données pivots dans un jeu de données ? <a href="#avantages" id="avantages"></a>

L'intégration dans un jeu de données de données pivots qui correspondent à un référentiel présente plusieurs avantages :

* **Une meilleure formalisation** : en se basant sur un référentiel, le producteur de données a l'assurance d'utiliser un format de données standard et partagé par un grand nombre de jeux de données ;
* **Une meilleure synthèse** : en se basant sur un référentiel, le producteur évite l’abondance de détails et va à l’essentiel. L’obtention d’informations complémentaires se fera par le biais de la consultation du référentiel lui-même ;
* **Une meilleure compréhension** : en intégrant dans son jeu de données des données correspondant à un référentiel, le producteur facilite la compréhension de celui-ci par les utilisateurs car il se réfère à un standard largement adopté ;
* **Une meilleure réutilisation** : intégrer des données liées à un référentiel facilitera la réutilisation du jeu de données et permettra son enrichissement avec d'autres données partageant la même donnée pivot ;
* **Une meilleure interopérabilité** : intégrer des données pivots facilite le lien avec des données de référence fiables et à jour.

## Quels référentiels utiliser pour intégrer des données pivots ? <a href="#exemples-de-referentiels" id="exemples-de-referentiels"></a>

Voici une liste non exhaustive de référentiels sur lesquels il est possible de s'appuyer pour l'intégration de variables pivots :

### Le service public de la donnée <a href="#le-service-public-de-la-donnee" id="le-service-public-de-la-donnee"></a>

Le [service public de la donnée (SPD)](https://www.data.gouv.fr/fr/pages/spd/reference/) vise à mettre à disposition avec un haut niveau de qualité les jeux de données de référence qui présentent un fort impact économique et social.

À ce jour, 9 jeux de données ont été identifiés comme des données de référence :

| Nom du jeu de données                                                                                                                                                                             | Variable(s) pivot(s) | Description                                                                                                                                                                       | Producteur                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [Base SIRENE](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/)                                                                           | SIRET, SIREN         | Liste des établissements (SIRET) et unités légales (SIREN) françaises                                                                                                             | [INSEE](https://www.data.gouv.fr/fr/organizations/institut-national-de-la-statistique-et-des-etudes-economiques-insee/)      |
| [Base Adresse Nationale (BAN)](https://www.data.gouv.fr/fr/datasets/base-adresse-nationale/)                                                                                                      | BAN                  | Référencement de l'intégralité des adresses du territoire français                                                                                                                | [BAN](https://www.data.gouv.fr/fr/organizations/base-adresse-nationale/)                                                     |
| [Code Officiel Géographique (COG)](https://www.data.gouv.fr/fr/datasets/code-officiel-geographique-cog/)                                                                                          | Codes et libellés    | Liste des communes, cantons, arrondissements, départements, régions, pays et territoires étrangers                                                                                | [INSEE](https://www.data.gouv.fr/fr/organizations/institut-national-de-la-statistique-et-des-etudes-economiques-insee/)      |
| [Plan Cadastral Informatisé (PCI)](https://www.data.gouv.fr/fr/datasets/plan-cadastral-informatise/)                                                                                              | Identifiant          | Représentation de chacune des sections du cadastre français                                                                                                                       | [Ministère de l'Économie et des Finances](https://www.data.gouv.fr/fr/organizations/ministere-de-leconomie-et-des-finances/) |
| [Registre parcellaire graphique (RPG)](https://www.data.gouv.fr/fr/datasets/registre-parcellaire-graphique-rpg-contours-des-parcelles-et-ilots-culturaux-et-leur-groupe-de-cultures-majoritaire/) | Identifiant          | Base de données géographique de référence pour l'instruction des aides de la politique agricole commune (PAC)                                                                     | [IGN](https://www.data.gouv.fr/fr/organizations/institut-national-de-l-information-geographique-et-forestiere/)              |
| [Référentiel de l'organisation administrative de l'Etat](https://www.data.gouv.fr/fr/datasets/referentiel-de-lorganisation-administrative-de-letat/)                                              | Identifiant          | Liste des institutions régies par la Constitution de la Ve république ainsi que les administrations qui en dépendent                                                              | [DILA](https://www.data.gouv.fr/fr/organizations/premier-ministre/)                                                          |
| [Référentiel à grande échelle (RGE)](https://www.data.gouv.fr/fr/datasets/referentiel-a-grande-echelle-rge/)                                                                                      | Identifiant          | Composantes orthophotographique, topographique et adresse, parcellaire et altimétrique des territoires de l'Etat français                                                         | [IGN](https://www.data.gouv.fr/fr/organizations/institut-national-de-l-information-geographique-et-forestiere/)              |
| [Répertoire National des Associations (RNA)](https://www.data.gouv.fr/fr/datasets/repertoire-national-des-associations/)                                                                          | N° RNA / N° Waldec   | Ensemble des associations relevant de la loi du 1er juillet 1901 relative au contrat d’association, dont le siège est en France                                                   | [Ministère de l'Intérieur](https://www.data.gouv.fr/fr/organizations/ministere-de-l-interieur/)                              |
| [Répertoire Opérationnel des Métiers et des Emplois (ROME)](https://www.data.gouv.fr/fr/datasets/repertoire-operationnel-des-metiers-et-des-emplois-rome/)                                        | Code ROME            | Inventaire des dénominations d’emplois/métiers les plus courantes, analyse des activités et compétences, regroupement des emplois selon un principe d’équivalence ou de proximité | [Pôle Emploi](https://www.data.gouv.fr/fr/organizations/pole-emploi/)                                                        |

> **Exemple :** Afin de lister l'ensemble des actions culturelles de ma région, nous avons vu que le numéro RNA pouvait être utile pour identifier les associations. Grâce à celui-ci, il est également possible de récupérer le numéro SIRET de l'association si celle-ci en possède un. Il est également possible de détailler dans le jeu de données le code commune et le code département de chaque action. Pour cela, il convient de se référer au Code officiel géographique. Attention à bien respecter celui-ci. Par exemple, le code département de l'Ariège est le "09" et pas le "9". Ce type d'erreur pourrait entraîner des difficultés lors de la réutilisation des données.

### Autres référentiels <a href="#les-autres-referentiels" id="les-autres-referentiels"></a>

Des jeux de données standardisées et communément partagées avec le plus grand nombre peuvent aussi être utilisés comme référentiels.

> **Exemple** : L'identifiant unique d'une certification professionnelle est le [numéro RNCP](https://www.data.gouv.fr/fr/datasets/repertoire-national-des-certifications-professionnelles-et-repertoire-specifique/). Ce jeu de données ne fait pas partie du service public de la donnée mais est largement partagé par les acteurs du domaine de la formation professionnelle.

#### Référentiels métiers

<table><thead><tr><th width="245">Nom du jeu de données</th><th>Variable(s) pivot(s)</th><th>Description</th><th>Producteur</th></tr></thead><tbody><tr><td><a href="https://www.data.gouv.fr/fr/datasets/nomenclature-dactivites-francaise-naf/">Nomenclature d’activités française (NAF)</a></td><td>Code NAF</td><td>Nomenclature des activités économiques productives, principalement élaborée pour faciliter l'organisation de l'information économique et sociale</td><td><a href="https://www.data.gouv.fr/fr/organizations/institut-national-de-la-statistique-et-des-etudes-economiques-insee/">INSEE</a></td></tr><tr><td><a href="https://www.data.gouv.fr/fr/datasets/repertoire-national-des-certifications-professionnelles-et-repertoire-specifique/">Répertoire National des Certifications Professionnelles (RNCP) et Répertoire Spécifique (RS)</a></td><td>N°RNCP / N°RS</td><td>Répertoire des certifications officielles inscrites au RNCP et au RS</td><td><a href="https://www.data.gouv.fr/fr/organizations/france-competences/">France Compétences</a></td></tr><tr><td><a href="https://www.data.gouv.fr/fr/datasets/fichier-fantoir-des-voies-et-lieux-dits/">Fichier FANTOIR des voies et lieux-dits</a></td><td>N° FANTOIR</td><td>Nom des lieux-dits et des voies pour chaque commune, y compris celles situées dans les lotissements et les copropriétés</td><td><a href="https://www.data.gouv.fr/fr/organizations/ministere-de-leconomie-et-des-finances/">Ministère de l'Économie et des Finances</a></td></tr><tr><td><a href="https://www.data.gouv.fr/fr/datasets/etats-et-capitales-du-monde/#_">Etats et capitales du monde</a></td><td>Code Pays</td><td>Liste des états indépendants reconnus par la France</td><td><a href="https://www.data.gouv.fr/fr/organizations/ministere-des-affaires-etrangeres-et-du-developpement-international/">Ministère de l'Europe et des Affaires Etrangères</a></td></tr><tr><td><a href="https://www.insee.fr/fr/information/2406153">Nomenclatures des professions et catégories socioprofessionnelles</a></td><td>Code PCS / Code PCS-ESE</td><td>Nomenclatures des professions et catégories socioprofessionnelles</td><td><a href="https://www.data.gouv.fr/fr/organizations/institut-national-de-la-statistique-et-des-etudes-economiques-insee/">INSEE</a></td></tr><tr><td><a href="https://www.data.gouv.fr/fr/datasets/etablissements-denseignement-superieur-2/">Liste des établissements d'enseignements supérieurs</a><br><br><a href="https://www.data.gouv.fr/fr/datasets/etablissements-denseignement-secondaire/">Liste des établissements d'enseignements secondaires</a></td><td>N°UAI</td><td>Liste des unités administratives immatriculées</td><td><a href="https://www.data.gouv.fr/fr/organizations/office-national-d-information-sur-les-enseignements-et-les-professions/">ONISEP</a></td></tr></tbody></table>

**Référentiels techniques**

Les référentiels techniques n'ont pas de significations métiers mais ils permettent de décrire une donnée de manière standardisée. Ces standards permettent aux utilisateurs et aux algorithmes de pouvoir interpréter automatiquement la donnée de manière correcte.

Voici deux exemples de référentiels techniques :

| Nom du référentiel | Description                                        | Information                                         |
| ------------------ | -------------------------------------------------- | --------------------------------------------------- |
| WGS84              | Coordonnées géodésiques d'un lieu                  | [Wikipedia](https://fr.wikipedia.org/wiki/WGS_84)   |
| ISO8601            | Représentation numérique d'une date et d'une heure | [Wikipedia](https://fr.wikipedia.org/wiki/ISO_8601) |

### Partager ses propres référentiels <a href="#partager-ses-propres-referentiels" id="partager-ses-propres-referentiels"></a>

{% hint style="info" %}
**Cadre Commun d'Architecture des référentiels de données de l'État**

Le Cadre Commun d'Architecture des référentiels de données de l'État fait spécifiquement mention de l'importance des variables pivots dans le partage et la publication de données. Il stipule notamment que :

* Les données sont un bien, un actif de l’État, elles doivent être gérées et valorisées en conséquence ;
* Les données doivent être standardisées, définies sur la base d’un vocabulaire commun, contextualisées, et combinables les unes aux autres ;
* Les données doivent être facilement réutilisables, partageables et accessibles à travers les frontières des administrations ;
* Les données publiques doivent être mises à disposition librement et ouvertement sur internet ;
* La sécurité et l'archivage des données doit être assuré.
  {% endhint %}

Les acteurs sont encouragés à mettre en place leurs propres référentiels internes ou à les partager s'ils existent déjà pour favoriser au mieux le partage et l'interopérabilité des données.

Il est pertinent de diffuser, en même temps qu'un jeu de données, la liste des valeurs possibles correspondant à votre propre référentiel métier. Celui-ci sera connu et potentiellement réutilisé par d'autres acteurs.

La mise en place de référentiels fait partie d'une stratégie de montée en qualité de la donnée. Néanmoins ce n'est souvent pas suffisant : il est ensuite nécessaire de diffuser, former et vérifier que les données produites intègrent ces référentiels et n'en dérivent pas (à partir d'un contrôle humain ou de tests automatiques).

> **Exemple** : J'utilise en interne un numéro unique permettant d'identifier chaque type d'action culturelle (arts du spectacle, cirque, arts plastiques...). Il peut être pertinent de diffuser en parallèle à la diffusion de mon jeu de données la liste de mon référentiel. Des communes de ma région pourraient potentiellement le réutiliser pour décrire leurs actions culturelles à une maille plus fine.

## Comment intégrer des adresses dans un jeu de données ? <a href="#le-cas-specifique-des-adresses" id="le-cas-specifique-des-adresses"></a>

Il existe des référentiels pour décrire une adresse de manière unique.

Le référentiel officiel d'adresse est la [**Base Adresse Nationale (ou BAN)**](https://www.data.gouv.fr/fr/datasets/base-adresse-nationale/).

* Si vous partez de zéro pour constituer un jeu de données --> il est pertinent de partir de la Base Adresse Nationale pour décrire vos adresses.
* Si vous travaillez sur un jeu de données qui contient déjà des adresses saisies --> il peut s'avérer fastidieux de corriger manuellement l'ensemble des adresses erronées et vous pouvez obtenir une base d'adresse normalisée grâce à la méthode décrite ci-dessous.

### Le géocodage <a href="#le-geocodage" id="le-geocodage"></a>

{% hint style="info" %}
**Lexique : Géocodage**

Le géocodage consiste à affecter des coordonnées géographiques à une adresse postale.
{% endhint %}

Le géocodage peut être en partie automatisé grâce à des outils proposés par Etalab.

**Le site** [**https://adresse.data.gouv.fr/**](https://adresse.data.gouv.fr/) permet de géocoder une liste d'adresse via un appel à une API ou par le dépôt de fichier csv.

Il permet aussi, à partir d'un jeu de données contenant des adresses déjà saisies, de retourner un jeu de données enrichi :

* de coordonnées géographiques (longitude/latitude) ;
* des adresses « corrigées » récupérées de la BAN.

Le site [adresse.data.gouv.fr](https://adresse.data.gouv.fr/) est limité à des utilisations ponctuelles et des volumétries de données considérées faibles (moins d'un million de lignes).

<figure><img src="/files/BbpaWKk8GqwnkpRu6U8y" alt=""><figcaption><p>Page d'accueil d'adresse.data.gouv.fr</p></figcaption></figure>

Pour géocoder davantage de données (plusieurs millions de lignes), il est recommandé d'installer votre propre environnement de géocodage, en utilisant par exemple le géocodeur [Addok](https://addok.readthedocs.io/fr/latest/). Des ressources sont disponibles sur [GitHub](https://github.com/etalab/addok-docker) pour vous aider dans l'installation de votre environnement.

Quelle que soit la méthode utilisée, le processus de géocodage retournera une liste d'adresses standardisées avec leurs coordonnées géographiques associées. Il donne aussi accès à une information `geo_score` correspondant au score de confiance que le géocodeur accorde à l'adresse retournée. Cet indicateur peut être utile à garder dans un jeu de données final, il donnera une indication aux utilisateurs sur la performance du géocodage de chaque adresse.


# Bénéficier des conversions automatiques

En publiant des données dans certains formats, vous pouvez bénéficier de conversions automatiques vers d'autres formats. Cette section détaille les modalités de ces réexpositions.

## Données tabulaires

Sur data.gouv.fr, l'appellation "tabulaire" regroupe plusieurs formats de données, qui ont pour point commun de présenter les données sous la forme d'un tableau (X lignes et Y colonnes). Généralement, chaque ligne représente une observation, et chaque colonne une variable observée. Les formats tabulaires qui peuvent bénéficier de conversions automatiques sur data.gouv.fr sont :

* le format **csv** : le format tabulaire le plus commun, dans lequel chaque ligne est représentée par un un retour à la ligne, et les colonnes sont séparées par un caractère défini (généralement la virgule ou le point-virgule, parfois le pipe \`|\`). Ce format est idéal car très interopérable et lisible par presque n'importe quel logiciel, d'un outil de traitement de texte à un tableur.\
  NB : pour des volumes de données conséqents (à partir d'environ 1Go) il peut être pertinent de *gunzipper* le fichier, qui devient alors un **csv.gz**, souvent beaucoup plus léger. Il garde toutes ses caractéristiques fondamentales, mais sa lecture nécessite une phase de dézippage.
* le format **xlsx** (ou **xls** dans ses anciennes versions) : le format d'export par défaut d'Excel, souvent moins volumineux que le csv (à quantité de données égale), mais qui nécessite un logiciel spécifique pour être ouvert (Excel, LibreOffice, un langage de programmation...). C'est un format propriétaire, donc par essence moins interopérable que le csv.
* le format [**parquet**](https://fr.wikipedia.org/wiki/Apache_Parquet) : un format beaucoup plus récent, particulièrement adapté au stockage de gros volumes de données. Il a l'avantage de stocker les colonnes avec un type associé (nombre, date, chaîne de caractères...) et est souvent beaucoup plus compact pour le même volume de données que des équivalents csv ou xlsx. C'est un format plus technique, qui nécessite d'être manipulé avec un langage de programmation, mais qui offre la possibilité d'être ouvert "par morceaux" : on peut par exemple lui demander "toutes les lignes pour lesquelles la colonne \`date\_mutation\` est inférieure au 28/01/2025", et les données seront renvoyées de façon optimisées, sans avoir à lire l'entièreté du fichier.

Les fichiers csv et xls(x) sont traités de la même façon par data.gouv.fr et, sous réserve de bonne structure (pas de lignes parasites, même nombre de colonnes pour chaque ligne...), ces fichiers sont convertis automatiquement :

* en parquet (s'ils comportent assez de lignes, le format parquet étant réellement intéressant pour des gros volumes) ; les types de colonnes sont détectés par [notre brique d'analyse](https://github.com/datagouv/csv-detective).
* en une table en base de données, qui est ensuite exposée par API (voir la documentation de [l'API tabulaire](https://www.data.gouv.fr/dataservices/673b0e6774a23d9eac2af8ce)) ; cette conversion est utilisée pour afficher la prévisualisation des données dans l'onglet "Aperçu" d'une ressource.
* si notre brique d'analyse détecte des coordonnées géographiques (deux colonnes `latitude` et `longitude`, ou une seule colonne `latitude+longitude`), en GeoJSON, puis en PMTiles (voir les détails de ces formats ci-dessous).

Les fichiers parquet sont uniquement convertis en une table en base de données pour exposition par l'API tabulaire.

Cela permet aux producteurs de données de se focaliser sur la production d'un unique fichier de qualité, sans avoir à implémenter des conversions ou une API "maison".

> NB : les intitulés des colonnes ne doivent pas dépasser 63 caractères du fait d'une limitation technique intrinsèque. Il est recommandé de nommer les colonnes de façon descriptive mais concise, en évitant les espaces et caractères spéciaux. Il peut également être opportun de pubier un dictionnaire des colonnes en parallèle des données, qui donne une description plus étayée et le format de chaque colonne, dans un fichier de documentation. Quelques exemples :

* `Date de dernière mise à jour` => `date_derniere_maj`, format date `AAAA-MM-JJ`
* `Nombre de personnes concernées par le décret` => `nb_personnes_concernees_par_le_decret`, format nombre entier

## Données géographiques

Il existe de nombreux formats pour exposer de la donnée géographique. L'équipe de data.gouv.fr a fait le choix de s'interfacer prioritairement avec [le format GeoJSON](https://fr.wikipedia.org/wiki/GeoJSON), qui est un formalisme particulier du format libre et interopérable JSON. Concrètement, un fichier GeoJSON expose des observations géolocalisées sous la forme d'une liste avec d'un côté les éléments géographiques (coordonnées, polygones...) de l'observation et de l'autre le reste de ses caractéristiques (nom, relevé d'un mesure…).

Lorsqu'un fichier GeoJSON est publié, il est convertit automatiquement au format [PMTiles](https://github.com/protomaps/PMTiles), qui est utilisé pour afficher une visualisation cartographique dans l'onglet "Carte" d'une ressource (également présent si un fichier tabulaire a été converti en GeoJSON puis en PMTiles).

## Précautions particulières

Ces conversions sont automatiques dans la limite d'une taille maximale du fichier :

* csv et csv.gz : 100Mo
* xls : 50Mo
* xlsx : 12.5Mo
* parquet : 50Mo
* GeoJSON : 100Mo

> NB : si vous publiez une ressource qui dépasse la limite du format associé, vous pouvez nous faire une demande de passage en exception via [notre support](https://www.data.gouv.fr/support/help/api/apitabulaire/#support-tree) pour qu'elle bénéficie des conversions automatiques.

Lorsqu'une ressource a été convertie, il est possible de télécharger les versions alternatives dans son onglet "Téléchargement".

> NB : ces conversions ne sont pas instantanées, elles peuvent prendre jusqu'à quelques heures pour être visibles, selon la bande passante du script qui les effectue.


# Documenter des données

{% hint style="success" %}
Les données issues d'une organisation ont été produites dans un contexte métier particulier. Un individu externe à l’organisation n’est pas forcément familier avec cet environnement métier, ce qui peut le freiner dans l’exploitation des données diffusées.

**La documentation d'un jeu de données a une visée pédagogique et facilite la réutilisation des données.**

Elle décrit les données et la structure des fichiers publiés.
{% endhint %}

Dans cette section, vous apprendrez comment :

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Bien documenter un jeu de données</strong></td><td><a href="/pages/BM36Gbdr8v7y1A7vNuH3">/pages/BM36Gbdr8v7y1A7vNuH3</a></td></tr><tr><td><strong>Diffuser la documentation d'un jeu de données</strong></td><td><a href="/pages/i5u0rLwcExPtF9Jf4xga">/pages/i5u0rLwcExPtF9Jf4xga</a></td></tr></tbody></table>


# Bien documenter un jeu de données

{% hint style="success" %}
La bonne documentation d'un jeu de données recouvre, entre autres :

* une description générale du jeu de données
* une description du mode de production des données
* une description du modèle de données
* une description du schéma de données
* une description des métadonnées
* une description des changements majeurs
  {% endhint %}

## Description générale du jeu de données <a href="#description-generale-du-jeu-de-donnees" id="description-generale-du-jeu-de-donnees"></a>

Il est conseillé de commencer la documentation par une **description synthétique du jeu de données** qui donne un aperçu rapide des informations mises à disposition.

La description générale peut couvrir les points suivants :

* [ ] **Une description générale des données** ;
* [ ] **La liste des fichiers mis à disposition** ;
* [ ] **La description du format des fichiers** ;
* [ ] **La fréquence de mise à jour**.

> **Exemple** : Description générale du [jeu de données du Répertoire national des élus](https://www.data.gouv.fr/fr/datasets/repertoire-national-des-elus-1/)

<figure><img src="/files/vAFamqpEU0h4ZnbOztWk" alt=""><figcaption><p>Description générale du <a href="https://www.data.gouv.fr/fr/datasets/repertoire-national-des-elus-1/">jeu de données du Répertoire national des élus</a></p></figcaption></figure>

## Description du mode de production des données <a href="#description-du-mode-de-production-des-donnees" id="description-du-mode-de-production-des-donnees"></a>

La structure d'un jeu de données et son contenu sont liés au contexte de production des données. La description de l'environnement métier est donc indispensable.

La description du mode de production du jeu de données permet au réutilisateur de comprendre la structure du jeu, la nature des données et les possibles manques ou incohérences du fichier.

Il est donc conseillé de préciser :

* [ ] **comment les données ont été produites** (saisie manuelle, collecte automatique, etc.) ;
* [ ] **qui sont les acteurs producteurs des données** et si les données sont produites par plusieurs acteurs, le modèle de gouvernance mis en place pour centraliser les données ;
* [ ] **si les données sont exhaustives et si elles présentent des limites dans leur qualité** ;
* [ ] **les points d'attention et précautions d'usage** pour manipuler ces données.

{% hint style="info" %}
Certains jeux de données ne peuvent pas être utilisés à certaines fins ou possèdent des limitations qui rendent impossible certaines analyses.

Par exemple, [l’article R112 A-3 du Livre des procédures fiscale](https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000038001715\&cidTexte=LEGITEXT000006069583\&dateTexte=20181231) précise que la réutilisation du jeu de données « [Demandes de valeurs foncières](https://www.data.gouv.fr/fr/datasets/demandes-de-valeurs-foncieres/) » ne peut avoir ni pour objet ni pour effet de permettre la ré-identifications des personnes liés à des transactions immobilières.
{% endhint %}

## Description du modèle de données <a href="#description-du-modele-de-donnees" id="description-du-modele-de-donnees"></a>

{% hint style="info" %}
**Eclairage : Schéma de données VS Modèle de données**

S'ils peuvent être utilisés dans des contextes proches, les termes "schéma" et "modèle" sont bien différents :

* un schéma décrit la structure d'un fichier (ses champs et leur format).
* un modèle décrit la structure logique du jeu de données sous la forme d'objets (ou entités) et de relations (ou associations). Les objets sont définis par une liste d'attributs.

Les champs d'un schéma sont la traduction physique des attributs des entités du modèle. Le modèle de données est avant tout un outil de dialogue entre les différents intervenants.
{% endhint %}

> Exemple : Dans le [jeu de données des IRVE](https://schema.data.gouv.fr/etalab/schema-irve-statique/) (infrastructures de recharge des véhicules électriques), on peut identifier que:
>
> * les champs "id\_station\_itinerance" et "nom\_station" correspondent à des attributs d'une même entité "station",
> * les champs "id\_pdc\_itinerance" et "puissance nominale" correspondent à des attributs d'une même entité "point de charge".
>
> Une "station" contient un ou plusieurs "point de charge" (relation entre les deux entités).

Il est conseillé de :

* [ ] **Faire apparaître le modèle de données à l’aide de schémas et de tableaux**
* [ ] Si le jeu de données se compose de plusieurs entités, **faire apparaître les relations entre elles**.

Une fois le modèle établi, il convient de définir le découpage en fichiers. Il est possible de :

* regrouper des entités dans un même fichier
* créer un fichier par entité

> **Exemple** : [La documentation](https://mtes-mct.github.io/secmar-documentation/schema.html) du [jeu de données des opérations de sauvetage en mer](https://www.data.gouv.fr/fr/datasets/operations-coordonnees-par-les-cross/) décrit le modèle de données utilisé. Ce modèle de données permet de comprendre rapidement les relations qui unissent les différentes entités du jeu de données. Dans cet exemple, il a été choisi d'associer un fichier par entité.

<figure><img src="https://guides.etalab.gouv.fr/assets/img/schema_secmar.37dd98f3.png" alt=""><figcaption><p>Modèle de données du jeu de données des opérations de sauvetage en mer</p></figcaption></figure>

## Description du schéma de données <a href="#description-du-schema-de-donnees" id="description-du-schema-de-donnees"></a>

Si vous publiez des données tabulaires, il est conseillé de produire un tableau récapitulatif indiquant, pour chaque colonne :

* [ ] **le nom de la colonne**
* [ ] **son type de données** (entier, chaîne de caractères, nombre décimal, etc.)
* [ ] **la description de la donnée contenue dans cette colonne**
* [ ] **une ou plusieurs valeurs d’exemple**

Cela constituera une base solide en vue de la création d'un schéma de données, dont le processus est détaillé [ici](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees).

> **Exemple :** La documentation du [jeu de données des opérations de sauvetage en mer](https://www.data.gouv.fr/fr/datasets/operations-coordonnees-par-les-cross/) présente un tableau récapitulatif des différentes colonnes. La description des champs permet de faire le lien avec le fichier de données, ce qui facilite la lecture des données.

<figure><img src="https://guides.etalab.gouv.fr/assets/img/table_secmar.561dfb7c.png" alt=""><figcaption><p>Description du schéma de données du jeu de données des opérations de sauvetage en mer</p></figcaption></figure>

Les termes employés dans un jeu de données sont propres à un environnement métier.

S’il existe des termes complexes ou des énumérations, il est conseillé de :

* **Fournir un lexique de ces valeurs**

Cet effort de définition fait gagner un temps considérable au réutilisateur et permet de prévenir des contre-sens dans l’exploitation des données.

> **Exemple :** La base de données de [demande de valeur foncière](https://www.data.gouv.fr/fr/datasets/demandes-de-valeurs-foncieres/) recense l’ensemble des transactions immobilières intervenues au cours des cinq dernières années.\
> Le vocabulaire utilisé dans ce jeu de données est issu d’un environnement administratif, parfois difficile à appréhender. La Direction générale des Finances publiques met à disposition une [documentation](https://static.data.gouv.fr/resources/demande-de-valeurs-foncieres/20190419-091745/notice-descriptive-du-fichier-dvf.pdf) qui comprend notamment un lexique de définition des termes rencontrés. Ce lexique facilite l’appropriation et la réutilisation des données par des acteurs tiers. ![Lexique des données du jeu de données Demande de valeur foncière](https://guides.etalab.gouv.fr/assets/img/lexique_dvf.64d1e5cc.png)

## Description des métadonnées <a href="#description-des-metadonnees" id="description-des-metadonnees"></a>

{% hint style="info" %}
**Lexique : Métadonnée**

Une métadonnée est une donnée qui décrit ou définit une autre donnée.

Dans la vie courante, l’étiquette d’un produit fournit des informations/métadonnées sur le produit (origine, composition, date de péremption, etc.). Appliqué aux jeux de données, les métadonnées sont des descriptions normalisées du contenu du jeu.
{% endhint %}

Des formats standards de métadonnées existent afin de faciliter leur collecte, leur recherche et leur traitement automatique.

Sur data.gouv.fr, il est possible de renseigner directement les métadonnées d’un jeu de données. Les métadonnées retenues sont les suivantes :

* Titre
* Sigle
* Description
* Licence
* Fréquence de mise à jour
* Mots clés
* Couverture temporelle
* Couverture spatiale
* Granularité spatiale
* Mode brouillon

La description des métadonnées apportera à un jeu de données une meilleure visibilité sur les catalogues.

## Description des changements majeurs <a href="#description-des-changements-majeurs" id="description-des-changements-majeurs"></a>

En pratique, il est souhaitable que le modèle de données et la nature de vos données n’évoluent pas au fil du temps.

Toutefois, des changements dans la structure des données, dans le mode de collecte ou dans les dispositions réglementaires peuvent affecter le jeu de données.

Dans cette situation, il est conseillé de **tenir une liste de ces changements**

Cette liste peut faire figurer :

* la date
* la version des données (si vous versionnez vos données)
* la nature du changement

Si nécessaire, il est possible d’indiquer des liens, comme par exemple lorsque des changements sont introduits par une modification du code de transformation des données.

> **Exemple :** [La documentation](https://mtes-mct.github.io/secmar-documentation/CHANGELOG.html) du [jeu de données des opérations de sauvetage en mer](https://www.data.gouv.fr/fr/datasets/operations-coordonnees-par-les-cross/) comporte une section “Changement sur le jeu de données”. Cette section référence les changements du jeu de données en renseignant les informations suivantes :
>
> * La date du changement
> * La nature du changement
> * Les liens associés au changement
>
> <img src="https://guides.etalab.gouv.fr/assets/img/maj_secmar.02c31ca5.png" alt="Liste des modifications réalisées sur le jeu de données SECMAR" data-size="original">

## Points de contact <a href="#points-de-contact" id="points-de-contact"></a>

Les réutilisateurs des données peuvent avoir des questions à propos des fichiers mis à disposition.

Il est conseillé de **proposer un espace d’échange entre les producteurs et réutilisateurs des données** : il est préférable que cet espace d’échange soit public afin qu’il puisse bénéficier aux personnes qui auraient des questions similaires.

La collecte des retours d’usage permettra d’améliorer votre documentation de manière incrémentale.


# Diffuser la documentation d'un jeu de données

Il est conseillé de **proposer votre documentation en ligne et non sous format PDF** : une documentation en ligne permet de s’assurer que les réutilisateurs des données disposent toujours de la version la plus à jour.

Des portails de données, tels que [data.gouv.fr](https://www.data.gouv.fr/), proposent des espaces dédiés à la documentation du jeu de données.

Vous pouvez également héberger votre documentation sur des sites web statiques.

Si le jeu de données a pour vocation de circuler en interne de votre organisation, nous vous conseillons a minima de proposer une documentation dans un fichier séparé des données :

* Le fichier contenant les données doit être réservé à la manipulation de ces dernières ;
* Le fichier contenant la documentation a lui pour vocation d’informer sur la nature des données et sur la structure des fichiers.

> **Exemple :** Dans le cadre de la publication [des données de sauvetage en mer (opérations coordonnées par les CROSS)](https://www.data.gouv.fr/fr/datasets/operations-coordonnees-par-les-cross/), un [site statique](https://mtes-mct.github.io/secmar-documentation/) a été créé afin de présenter la documentation du jeu de données.

<figure><img src="https://guides.etalab.gouv.fr/assets/img/doc_secmar.99fbde88.png" alt=""><figcaption></figcaption></figure>


# Améliorer la qualité d'un jeu de données en continu

Dans cette section, vous apprendrez comment :

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Améliorer votre score de qualité des métadonnées</strong></td><td><a href="/pages/LmUQK0cxebvLZMxY9qvH">/pages/LmUQK0cxebvLZMxY9qvH</a></td></tr><tr><td><strong>Connaître et suivre les usages d'un jeu de données</strong></td><td><a href="/pages/596k6rlHqjjCve8mexDf">/pages/596k6rlHqjjCve8mexDf</a></td></tr><tr><td><strong>Mettre en place une stratégie organisationnelle</strong></td><td><a href="/pages/0HoCt1TI2xluqzt9BHwK">/pages/0HoCt1TI2xluqzt9BHwK</a></td></tr></tbody></table>


# Améliorer le score de qualité des métadonnées

Un score de qualité des métadonnées a été mis en place sur data.gouv.fr pour répondre principalement à deux problématiques :

* Les réutilisateurs de données peinent à identifier les jeux de données de qualité et à évaluer si tel ou tel jeu de donnée est digne d’intérêt ;
* Les producteurs de données ne sont pas suffisamment incités et accompagnés à améliorer la qualité de leurs données.

Grâce à ce score de qualité des métadonnées, **il est possible d'identifier les axes sur lesquels travailler pour améliorer la qualité de vos données**.

<figure><img src="/files/fhpyNOBnDrvx3JzDRbg5" alt=""><figcaption><p>Exemple de score de qualité des métadonnées</p></figcaption></figure>

🧭 Les critères sont les suivants :

| Critère                    | Description                                                                                                                                                                       |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Description des données    | La description des données est de qualité (la description du jeu de données suffisamment longue).                                                                                 |
| Ressources documentées     | Présence d'au moins un fichier de type documentation ou description des fichiers suffisamment longue.                                                                             |
| Mise à jour                | <p>- La fréquence de mise à jour est renseignée.<br>- La fréquence de mise à jour est respectée.</p>                                                                              |
| Licence                    | <p>- La licence est renseignée.<br>- La licence est ouverte.<br><a href="https://www.data.gouv.fr/fr/pages/legal/licences/">Voir la page licence pour plus d’information</a>.</p> |
| Métadonnées des ressources | Présence d’au moins une ressource avec un format ouvert déclaré.                                                                                                                  |
| Couverture spatiale        | <p>- La couverture spatiale est renseignée.<br>- La granularité spatiale est renseignée.</p>                                                                                      |
| Couverture temporelle      | La couverture temporelle des données est renseignée.                                                                                                                              |

Ce score est encore en phase d’expérimentation :

* Le poids de chaque critère sera ajusté en fonction de [vos retours](https://support.data.gouv.fr/) ;
* De nouveaux critères seront ajoutés progressivement notamment pour intégrer la notion de schéma de données.


# Connaître et suivre les usages d'un jeu de données

Bien souvent, la qualité de données que vous proposez, bien qu'adaptée aux utilisations internes à votre structure, peut être améliorée pour **les usages nouveaux engendrés par l'ouverture, qu'il s'agit alors de mieux connaître**.

{% hint style="info" %}
**Lexique : Réutilisation**

Une réutilisation désigne communément l’exploitation de données ouvertes par des tiers, à d’autres fins que celle de la mission de service public pour laquelle elles ont été produites ou reçues.

Elle peut prendre la forme d’une visualisation, d’une application, d’un article de presse, d’un papier de recherche, etc.
{% endhint %}

## Suivre et mesurer les usages d'un jeu de données

Il est possible de combiner approches quantitatives et qualitatives pour cerner les usages d'un jeu de données.

Selon les moyens disponibles, plusieurs leviers sont disponibles :

* **Mesurer les volumes d'usage** : en suivant les [métriques des jeux de données publiés proposés par data.gouv.fr](https://stats.data.gouv.fr/) ou sur son propre portail (nombre de consultations, nombre de téléchargements, nombre de réutilisations, etc.).
* **Répondre aux commentaires et aux questions soumis sur data.gouv.fr**, dans lesquels les réutilisateurs font régulièrement remonter leurs besoins. D'après [l'analyse réalisée par des étudiantes et des étudiants de l'Université Bordeaux Montaigne](https://www.data.gouv.fr/fr/posts/que-se-dit-il-dans-les-commentaires-sur-data-gouv-fr/), sur data.gouv.fr, de nombreux commentaires peuvent être catégorisés comme relevant de problématiques d'accessibilité, suivie de celles d'actualisation des données puis des questions de fiabilité et d'exploitabilité des données.

<figure><img src="/files/f3GkiYwWoHKHbrUYJbL2" alt=""><figcaption><p>Echantillon de discussions sur le jeu de données "Demandes de valeur foncière"</p></figcaption></figure>

* **Suivre les réutilisations ajoutées sur ses jeux de données sur data.gouv.fr et inciter au référencement.**

<figure><img src="/files/TTmr6CJakNCHWkIJxl1l" alt=""><figcaption><p>Consultation des réutilisations références sur le jeu de données "Prix des carburants - Flux instantané"</p></figcaption></figure>

* **Réaliser des enquêtes auprès des réutilisateurs.**

{% hint style="info" %}
**Exemples :**

* A l'automne 2021, les producteurs de la [Base Sirene](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/) (INSEE) ont sondé leurs réutilisateurs sur des questions de contenu, de format ou encore de documentation des données.

* En décembre 2022, le [ministère de la Culture](https://www.data.gouv.fr/fr/organizations/ministere-de-la-culture-et-de-la-communication/) a lancé [une consultation publique](https://www.culture.gouv.fr/Thematiques/Innovation-numerique/Actualites/Open-data-decouvrez-les-resultats-de-la-consultation) sur l'ouverture des données publiques culturelles. Cette consultation visait à recueillir les besoins et les remarques des usagers concernant les jeux de données déjà ouverts et ceux qui auraient vocation à être ouverts.
  {% endhint %}

* **Animer des communautés de réutilisateurs**, notamment en organisant régulièrement des ateliers de discussions entre producteurs et réutilisateurs ou en proposant un espace d'échange en ligne.

{% hint style="info" %}
**Exemple :**

[L'Institut National de l'Information Géographique et Forestière](https://www.data.gouv.fr/fr/organizations/institut-national-de-l-information-geographique-et-forestiere/) (IGN) organise un certain nombre d'événements mettant à l'honneur les réutilisateurs. Il propose également des conférences, des webinaires de prise en main des différents services ainsi que des tutoriels d'accompagnement.
{% endhint %}

* **Réaliser des entretiens avec les principaux réutilisateurs.**

{% hint style="info" %}
**Exemple**

[Pôle Emploi](https://www.data.gouv.fr/fr/organizations/pole-emploi/) travaille étroitement avec la [startup d’Etat DiagOriente](https://beta.gouv.fr/startups/diagoriente.html) pour améliorer le [Répertoire Opérationnel des Métiers et des Emplois (ROME)](https://www.data.gouv.fr/fr/datasets/repertoire-operationnel-des-metiers-et-des-emplois-rome/) en intégrant les retours des utilisateurs de l’outil (compétences pertinentes à retenir, celles qui sont renommées, jamais sélectionnées) et ses travaux de reformulation sémantique des compétences professionnelles.
{% endhint %}


# Mettre en place une stratégie organisationnelle

Pour être en capacité d'améliorer la qualité des données en continu, il convient d'adapter sa stratégie organisationnelle. Il est notamment conseillé de :

* **Identifier une personne coordinatrice de la démarche d'ouverture des données** : elle a pour mission de publier les jeux de données, de s'assurer que leurs mises à jour sont effectuées et d'animer la vie des jeux de données sur la plateforme (répondre aux commentaires, etc.). La personne coordinatrice travaille en lien direct avec les équipes métiers afin de comprendre les problématiques techniques.
* **Elaborer un processus de rétroaction** : lors de l'exploitation des jeux de données, les réutilisateurs peuvent identifier des anomalies ou des problèmes de qualité ou encore proposer des améliorations. Il est nécessaire d'instaurer un canal de rétroaction afin d'intégrer ces remarques dans les processus métiers et ainsi améliorer la qualité des jeux de données.


# Maîtriser les schémas de données

{% hint style="info" %}
**Lexique : Schéma de données**

Les schémas de données (ou simplement schémas) permettent de décrire la structure d'un fichier d'un jeu de données.

Ils indiquent clairement quels sont les différents champs, comment sont représentées les données, quelles sont les valeurs possibles, leur format, etc.
{% endhint %}

{% hint style="success" %}
**Notion clef : Le cycle de vie de la donnée ouverte de qualité**

Le cycle de vie de la donnée ouverte de qualité se compose de 5 étapes principales :

1. **Fédérer une communauté ayant pour objectif de produire en open data des données aisément consolidables**

Il est essentiel que des acteurs ayant pour ambition de produire le même type de données se réunissent afin de définir ensemble un standard commun : un [schéma de données](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees).

2. **Référencer le schéma de données**

Une fois le schéma établi, il s’agit de le référencer, notamment sur [schema.data.gouv.fr](http://schema.data.gouv.fr/), la plateforme nationale de référencement qui permet un accès aux schémas et facilite l’intégration avec des systèmes informatiques.

3. **Saisir les données**

Un consensus ayant été atteint sur le schéma des données, il est temps de saisir les données en elles-même conformément au schéma.

4. **Valider les données par rapport au schéma**

Pour valider la conformité de ses données par rapport à un schéma particulier, il est possible d'utiliser l'outil [Validata](https://validata.fr/), développé par [la coopérative multi](https://www.multi.coop/) à l’initiative [d'OpenDataFrance](https://www.opendatafrance.net/).

5. **Publier les données en open data**

Les données désormais validées, il ne reste plus qu’à les publier !
{% endhint %}

Dans cette section, vous apprendrez à réaliser l'ensemble des étapes du cycle de vie de la donnée ouverte de qualité, notamment :

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Pourquoi il est intéressant d'utiliser un schéma de données</strong></td><td><a href="/pages/Km4O2dWqYYCx8SXHiJpX">/pages/Km4O2dWqYYCx8SXHiJpX</a></td></tr><tr><td><strong>Comment créer un schéma de données</strong></td><td><a href="/pages/jqEvEPfIY144ae6usGMX">/pages/jqEvEPfIY144ae6usGMX</a></td></tr><tr><td><strong>Comment intégrer un schéma de données à schema.data.gouv.fr</strong></td><td><a href="/pages/oM22GT21zXoURevaI0Z7">/pages/oM22GT21zXoURevaI0Z7</a></td></tr><tr><td><strong>Comment produire des données en conformité avec un schéma de données</strong></td><td><a href="/pages/5e6718qBN65cUPziwCha">/pages/5e6718qBN65cUPziwCha</a></td></tr><tr><td><strong>Comment indiquer et vérifier qu'une ressource respecte un schéma de données</strong></td><td><a href="/pages/erAa8TqoNVxjLbXelt9V">/pages/erAa8TqoNVxjLbXelt9V</a></td></tr></tbody></table>

*Ce guide sur les schémas de données résulte d'une co-rédaction entre les équipes d'*[*Etalab*](https://www.etalab.gouv.fr/) *et d'*[*OpenDataFrance*](https://www.opendatafrance.net/)*.*\
\
\&#xNAN;*Il s'inspire du contenu rédigé par de nombreux partenaires, listés par ordre alphabétique :*

* [*Charles Nepote*](https://twitter.com/charlesnepote)
* [*Datactivist*](https://datactivist.coop/)
* [*La FING*](https://fing.org/)
* [*OpenDataFrance*](http://www.opendatafrance.net/)

*Merci à eux !*


# Comprendre les bénéfices d'utiliser un schéma de données

La production de données en conformité avec un schéma de données existant présente de nombreux bénéfices :

* **Croisement** : les données créées peuvent être facilement croisées avec d’autres données conformes au schéma de données utilisé ;
* **Intéropérabilité** : l’interopérabilité des données et leur croisement est simplifié ;
* **Facilité d'agrégation** : si le jeu de données créé est une agrégation de plusieurs fichiers produits par différents acteurs, la formalisation et le partage d’un schéma de données facilite le travail d’agrégation des données --> ce schéma devient un standard pour votre communauté ;
* **Pérennité** : la formalisation d’un schéma de données assure une pérennité des fichiers dans le temps ;
* **Documentation** : la documentation d’un schéma de données existant est déjà rédigée et accessible ;
* **Ouverture** : la présence d'un schéma de données existant peut faciliter l'ouverture des données, les producteurs ayant directement une procédure claire à suivre ;
* **Qualité** : la conformité d'un fichier vis à vis d'un schéma de données, qu'il est possible de vérifier, permet de valider un premier niveau de qualité.

Il est aussi possible de générer des jeux de données d’exemple ou de proposer des formulaires de saisie standardisés.


# Créer un schéma de données

La création d'un schéma de données se décompose en 4 phases :

1. [**Investigation**](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-1-phase-dinvestigation) : envisager de créer un schéma de données ;
2. [**Concertation**](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-2-phase-de-concertation) : rassembler plusieurs parties prenantes pour créer un schéma de données ;
3. [**Construction**](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-3-phase-de-construction) : implémenter le schéma de données obtenu après la phase de concertation ;
4. [**Maintien et promotion**](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-4-phase-de-promotion-et-de-maintien) : faire la promotion d'un schéma auprès d'autres parties prenantes et le faire évoluer si besoin.

Dans cette section sont proposés pour chaque phase un processus à suivre, des bonnes pratiques et des outils.

{% hint style="success" %}
**Conseil de lecture**

Nous vous recommandons de lire une première fois cette section sur la création de schémas de données **en intégralité** afin de prendre connaissance des différentes phases. Vous pourrez ensuite vous référer aux pages pertinentes au fur et à mesure de votre avancée.
{% endhint %}


# Etape 1 : Phase d'investigation

{% hint style="info" %}
**Lexique : Phase d’investigation**

La phase d’investigation est la première phase de la création d’un schéma de données. Elle permet de s’assurer que la création d’un schéma est pertinente et en confirme la nécessité.
{% endhint %}

## Marche à suivre <a href="#etapes-a-suivre" id="etapes-a-suivre"></a>

Pour déterminer s’il est nécessaire de créer ou non un schéma de données, il est recommandé de suivre les étapes suivantes :

1. **Lire attentivement les différentes sections de ce guide** ;
2. **Organiser une réunion réunissant des acteurs métiers, techniques et de potentiels réutilisateurs** : vous débattrez de la pertinence de la création de votre schéma de données ;
3. **Référencez votre schéma pour entrer en contact avec les équipes d'Etalab et leurs partenaires** et bénéficier de conseils pour sa création, d'une visibilité accrue et d'une assistance d'experts.

## Exemples d'illustration <a href="#exemples" id="exemples"></a>

### :white\_check\_mark: Situations favorables à la création d’un schéma de données <a href="#situations-favorables-a-la-creation-d-un-schema-de-donnees" id="situations-favorables-a-la-creation-d-un-schema-de-donnees"></a>

> Exemple 1 : Le ministère chargé des transports souhaite consolider une base nationale des lieux pouvant servir de points de covoiturage. Les collectivités territoriales sont en charge de la création, du recensement et de l'aménagement de ces lieux.
>
> \--> Il est pertinent de créer un schéma de données car un grand nombre de producteurs de données doivent produire des données dans un format homogène. Un schéma facilitera la diffusion des prérequis, permettra la validation des données et facilitera l’agrégation nationale.

> Exemple 2 : L’INSEE souhaite diffuser le Code Officiel Géographique. Il rassemble des données sur des communes, des cantons, des arrondissements, des départements, des régions et des pays. Ce fichier est actualisé tous les ans.
>
> \--> Il est pertinent de créer un schéma car ces données sont des données de référence. Un grand nombre de réutilisateurs est susceptible d’utiliser ces données. Il est primordial que ces réutilisateurs aient accès à une documentation de qualité, que la structure des fichiers des données reste stable dans le temps et que les données publiées soient de bonne qualité.

> **Le cas des schémas de données en interne**\
> Bien qu’il ne paraisse pas nécessaire dans certaines situations de créer et de diffuser un schéma, vous pouvez choisir de le faire. En effet, les schémas de données comportent de nombreux avantages (documentation, montée en qualité, réutilisations, etc.) qui sont bénéfiques, même lorsque les données sont utilisées uniquement en interne.

### ❌ Situations dans lesquelles la création ou la diffusion d'un schéma de données ne semble pas nécessaire <a href="#situations-ou-le-referencement-d-un-schema-sur-schema-data-gouv-fr-ne-semble-pas-necessaire" id="situations-ou-le-referencement-d-un-schema-sur-schema-data-gouv-fr-ne-semble-pas-necessaire"></a>

> Une administration centrale diffuse des statistiques d’activité d’un bureau, en open data, de manière annuelle.
>
> \--> Avec ces seules informations, il ne semble pas nécessaire de créer un schéma : il n’y a qu’un seul producteur et le potentiel de réutilisation semble limité.

## Points de sortie <a href="#points-de-sortie" id="points-de-sortie"></a>

À l’issue de cette phase, vous devriez :

* [ ] Connaître les schémas de données ;
* [ ] Être en mesure de décider si votre projet requiert la création d’un schéma de données ;
* [ ] Savoir si votre schéma de données devra être référencé à terme sur schema.data.gouv.fr.<br>


# Etape 2 : Phase de concertation

{% hint style="info" %}
**Lexique : Phase de concertation**

La phase de concertation est la phase centrale de la création d’un schéma de données.

C'est l’étape où plusieurs parties prenantes (producteurs, réutilisateurs, experts métiers et techniques) se rassemblent pour définir et spécifier les éléments essentiels à la constitution du schéma.
{% endhint %}

## Spécifier un schéma de données

Pour spécifier un schéma de données, il est nécessaire de définir :

* [ ] **les champs** ;
* [ ] **les types associés de ces champs** (une date, un nombre, une chaîne de caractère, etc.) ;
* [ ] **les contraintes de chaque champ** (entier positif, texte dans une liste fermée, etc.) ;
* [ ] **la description de chaque champ** ;
* [ ] **une documentation associée** au schéma de données décrivant le contexte, les acteurs, les cas d’usage.

Pour obtenir ce résultat, il peut être utile de réaliser au préalable un [modèle de données](/guides/guide-qualite/documenter-des-donnees/bien-documenter-un-jeu-de-donnees#description-du-modele-de-donnees) qui présente la structuration des informations. La modélisation ne prend pas en compte les contraintes d'implémentation, elle est un outil de dialogue entre les différents intervenants.

## Organiser la collaboration entre les différentes parties prenantes autour d'un schéma de données <a href="#procedure-de-collaboration" id="procedure-de-collaboration"></a>

Il est conseillé de :

* [ ] **travailler sur un document partagé**, accessible en ligne, tel qu'un Framapad ou Google Doc : l'important est que plusieurs contributeurs puissent contribuer (modifier ou mettre des commentaires) sans avoir besoin d'être présents physiquement ou de recevoir des versions intermédiaires par email.
* [ ] en complément du document partagé, **organiser plusieurs réunions** afin de débattre du schéma de données à produire (et de l'éventuel modèle de données construit).
* [ ] **impliquer une multitude d'acteurs** : vous devez rassembler des producteurs, experts métiers, experts techniques et réutilisateurs. La richesse des profils et des enjeux permettra d’aboutir à la solution la plus adaptée.

{% hint style="success" %}
**Référencer votre schéma de manière anticipée**

Référencer votre schéma sur [schema.data.gouv.fr](https://schema.data.gouv.fr/) vous permettra de bénéficier de conseils de la part d’Etalab et de ses partenaires institutionnels et associatifs.\
\--> La marche à suivre pour référencer votre schéma est détaillée [ici](/guides/guide-qualite/maitriser-les-schemas-de-donnees/integrer-un-schema-de-donnees-a-schema.data.gouv.fr).
{% endhint %}

## Construire un schéma de données de qualité <a href="#grands-principes" id="grands-principes"></a>

Pour construire un schéma de données de qualité, il est conseillé de :

* [ ] **Construire un** [**modèle de données**](/guides/guide-qualite/documenter-des-donnees/bien-documenter-un-jeu-de-donnees#description-du-modele-de-donnees)**.** Il est important de disposer d'un outil visuel qui présente les entités "métier" mais surtout les dépendances et relations entre ces "entités". Ce modèle peut être enrichi de tous les attributs nécessaires au fur et à mesure de la concertation.
* [ ] **Profiter de l’existant.** De nombreux standards existent déjà, qu’ils concernent des formats de données ou des formats de champs. Certains standards sont devenus incontournables aujourd’hui, comme [ISO-8601](https://fr.wikipedia.org/wiki/ISO_8601) pour les dates ou [WGS 84](https://fr.wikipedia.org/wiki/WGS_84) pour les coordonnées géographiques.
* [ ] **Identifier et associer l’écosystème.** Les personnes/organisations que vous associez sont la meilleure garantie d’un schéma de données efficace et largement adopté, permettant d'aboutir à un véritable standard :

- D'un côté les producteurs, qui connaissent la réalité de leurs données, de la collecte, etc. et qui ont leurs propres usages.
- De l'autre les réutilisateurs, avec leurs besoins et leurs difficultés, qu’ils soient déjà connus, « sous le radar » ou en devenir.

* [ ] **Prendre le temps.** Un schéma de données est susceptible de concerner beaucoup de producteurs et d’usagers. Sa modification peut avoir un impact important. Il est donc crucial de prendre le temps d’obtenir tous les retours avant de publier un schéma utilisable par le plus grand nombre. Un schéma de données devrait être publié quand il est prêt, non pas en fonction d’un impératif de délai.
* [ ] **Lever les implicites et les ambiguïtés.** Toutes les spécifications d’un schéma de données doivent être les plus claires possibles, y compris pour des cas/données qui n’existent pas encore mais pourraient apparaître à l’avenir.
* [ ] **Éviter la redondance mais sans l’exclure absolument.** Trois champs pour définir une latitude et une longitude (`latitude`, `longitude`, `lat-lon`) est inutilement redondant. Toutefois, préciser le nom d’une commune en plus de son code INSEE rend les données plus faciles à lire et à exploiter.
* [ ] **Utiliser des données pivot relevant d’un référentiel ouvert** pour relier les données à d’autres données, par exemple l’utilisation du numéro SIREN pour identifier des organisations. Ce principe permet aussi d’éviter l’abondance de détails et d’aller à l’essentiel : l’obtention d’informations complémentaires se fera par le biais d’un autre référentiel.

{% hint style="info" %}
**Exemples à votre disposition**

Il est possible de retrouver des fichiers de schémas sur [schema.data.gouv.fr](https://schema.data.gouv.fr/) (exemple : [le schéma des lieux de stationnement](https://schema.data.gouv.fr/etalab/schema-stationnement/latest.html)).

En complément, [le guide dédié à la préparation de jeux de données](/guides/guide-qualite/preparer-un-jeu-de-donnees-de-qualite) pourrait être utile pour définir votre schéma.
{% endhint %}

## Points de sortie <a href="#points-de-sortie" id="points-de-sortie"></a>

À l’issue de cette phase, vous devriez :

* [ ] Avoir réuni différents partenaires afin de collaborer sur votre schéma de données ;
* [ ] Avoir décidé des différents champs de votre schéma de données, leurs types et définitions et produit une documentation associée.


# Etape 3 : Phase de construction

{% hint style="info" %}
**Lexique : Phase de construction**

La phase de construction consiste à implémenter techniquement le schéma de données obtenu après la phase de concertation. Pour cela, il est nécessaire de choisir un standard technique, créer les fichiers requis, les tester et les diffuser.

Durant cette phase, il est nécessaire de mobiliser des personnes possédant des compétences techniques. Cette phase consiste à transcrire les décisions prises lors de la phase de concertation en un ou plusieurs schémas de données suivant le découpage en fichiers retenu.
{% endhint %}

## Choisir un standard technique pour la description d'un schéma de données <a href="#choisir-un-standard-technique-pour-la-description-de-votre-schema-de-donnees" id="choisir-un-standard-technique-pour-la-description-de-votre-schema-de-donnees"></a>

{% hint style="info" %}
**Lexique : Standard**

On utilise les termes « normes » et « standards » pour décrire un référentiel commun et documenté destiné à harmoniser l’activité d’un secteur.
{% endhint %}

Il existe plusieurs standards techniques pour les schémas de données.

Le standard est à choisir en fonction :

* **de la nature des données concernées** ;
* **des habitudes de l’écosystème** produisant ou réutilisant les données liées au schéma.

Les principaux standards techniques sont les suivants :

* [**Table Schema**](https://frictionlessdata.io/specs/table-schema/) : adapté pour la description de données tabulaires (sous forme de tableurs ou de CSV). Ce standard technique utilise le format JSON. NB : il est possible de contraindre les colonnes avec [des formats spécifiques et des corrélations](https://gitlab.com/validata-table/validata-table/-/tree/main/src/validata_core/custom_checks?ref_type=heads) ;
* [**JSON Schema**](https://json-schema.org/) : adapté pour la description de données avec une notion de hiérarchie. Ce standard utilise le format JSON ,
* [**XML Schema Definition (XSD)**](https://www.w3.org/TR/xmlschema11-1/) : adapté pour la description de données avec une notion de hiérarchie. Ce standard utilise le format XML.

Tous ces standards techniques sont supportés par [schema.data.gouv.fr](https://schema.data.gouv.fr/).

{% hint style="success" %}
**Conseil : Aller au-delà de la documentation texte**

Un schéma de données décrit uniquement par du texte ou par un tableau se prive de nombreux avantages, notamment celui de l'interopérabilité entre différents systèmes informatiques.

Les schémas de données décrits par des standards techniques permettent, en plus d’une documentation textuelle ou sous forme d’un tableau, de valider que des données correspondent à un modèle de données, d’agréger des données similaires, de générer automatiquement des données respectant un schéma.
{% endhint %}

## Créer un schéma de données <a href="#creer-votre-schema-de-donnees" id="creer-votre-schema-de-donnees"></a>

Une fois un standard technique choisi, **il faudra créer les fichiers requis pour modéliser les données**.

La documentation de chaque standard technique décrit le contenu des fichiers à renseigner. Reportez-vous aux documentations respectives pour tirer parti des fonctionnalités avancées offertes : types de données et contraintes sur les valeurs en particulier.

Il est possible de vérifier qu’un fichier correspond à un standard à l’aide d’outils en ligne ou en ligne de commande. Utilisez ces outils pour vérifier que vos productions correspondent au standard.

{% hint style="info" %}
**Exemples à votre disposition**

Pour un schéma au format Table Schema, [un modèle de départ](https://github.com/etalab/tableschema-template) est mis à disposition pour créer un dépôt Git contenant un schéma au format Table Schema.

Pour les autres formats de schémas, il est conseillé de consulter les schémas et dépôts Git listés sur [schema.data.gouv.fr](https://schema.data.gouv.fr/).
{% endhint %}

## Documenter un schéma de données <a href="#documenter-votre-schema-de-donnees" id="documenter-votre-schema-de-donnees"></a>

En complément du fichier du schéma de données, il est recommandé de rédiger a minima deux documents complémentaires :

* **Une documentation générale** qui indique le contexte, les modalités de production des données, le cadre juridique, la finalité, les cas d’usage etc. Ce fichier est traditionnellement rédigé en Markdown et nommé `README.md` ;
* **Un fichier répertoriant les changements** permettant de suivre les modifications, d’une version à une autre. Ce fichier est traditionnellement rédigé en Markdown et nommé `CHANGELOG.md`.

La présence de ces fichiers représente un package complet (*documentation, liste des changements et schéma de données décrit dans un standard technique*), apprécié des réutilisateurs. [schema.data.gouv.fr](https://schema.data.gouv.fr/) se repose sur ces éléments pour intégrer votre documentation et votre liste de changements sur une page web.

> **Exemple :** [La documentation](https://github.com/etalab/schema-stationnement/blob/master/README.md) et [la liste des changements](https://github.com/etalab/schema-stationnement/blob/master/CHANGELOG.md) du schéma des lieux de stationnement.

## Publier et diffuser un schéma de données <a href="#publier-et-diffuser-votre-schema-de-donnees" id="publier-et-diffuser-votre-schema-de-donnees"></a>

Une fois votre schéma de données créé, il est nécessaire de le publier et de le diffuser pour que d’autres personnes puissent en bénéficier.

**Il est recommandé de publier vos schémas de données en tant que logiciels libres, sur votre forge de développement ou par le biais de** [**GitLab**](https://about.gitlab.com/) **ou** [**GitHub**](https://github.com/)**.**

Vous bénéficierez alors des avantages habituels des dépôts de code Git en ligne :

* Historique des modifications
* Fonctionnalités de tickets
* Demandes de modifications.
* etc.

Il est conseillé d'utiliser un compte d’organisation (dédié à votre entreprise, direction, service, ministère) et non un compte personnel afin d’assurer une URL stable dans le temps.

> **Exemples à votre disposition :** Plusieurs dépôts Git de schémas sont disponibles sur [schema.data.gouv.fr](https://schema.data.gouv.fr/) (exemple : [le dépôt Git décrivant les lieux de stationnement](https://github.com/etalab/schema-stationnement) à l’aide d’un schéma TableSchema sur GitHub).

Pour faciliter la découverte de votre schéma de données et des données sous-jacentes, il est recommandé de le faire référencer sur [schema.data.gouv.fr](https://schema.data.gouv.fr/). La marche à suivre est détaillée [ici](/guides/guide-qualite/maitriser-les-schemas-de-donnees/integrer-un-schema-de-donnees-a-schema.data.gouv.fr).

## Points de sortie <a href="#points-de-sortie" id="points-de-sortie"></a>

À l’issue de cette phase, vous devriez :

* [ ] Avoir implémenté votre schéma de données dans un des standards reconnus ;
* [ ] Avoir publié votre travail en ligne, dans un répertoire Git dédié ;
* [ ] Avoir pris contact avec les équipes de [schema.data.gouv.fr](https://schema.data.gouv.fr/) dans le but de référencer votre schéma de données si nécessaire.


# Etape 4 : Phase de promotion et de maintien

{% hint style="info" %}
**Lexique : Phase de maintien et de promotion**

La phase de maintien est la dernière phase du cycle de vie d'un schéma.\
Elle consiste à itérer sur la version actuelle en prenant en compte des évolutions du terrain et des retours des producteurs et des réutilisateurs pour peaufiner la structure du schéma.\
Elle est étroitement liée à la promotion du schéma qui permettra, grâce à son adoption par le plus grand nombre de parties prenantes, une montée en qualité et en quantité d'utilisations.

Modifier ou commenter un schéma contribue à faire vivre l'écosystème open data et permettra de vous identifier comme contributeur.rice sur un schéma spécifique.
{% endhint %}

## Promouvoir un schéma de données <a href="#promouvoir-votre-schema-de-donnees" id="promouvoir-votre-schema-de-donnees"></a>

De nouveaux acteurs peuvent vouloir publier des données qui rentrent dans le cadre de votre schéma, mais peuvent ne pas en avoir connaissance, ou ne pas avoir les compétences techniques pour se l'approprier.

Pour faciliter l'adoption d'un schéma de données, il est possible de :

* [ ] **diffuser ses travaux à ses partenaires et au grand public**, sur ses réseaux sociaux ou newsletters, pour mettre en valeur sa proactivité et susciter de l'intérêt ;
* [ ] **utiliser son réseau de connaissances pour inciter d'autres parties prenantes à publier leurs données**, par exemple via la plateforme [publier.etalab.studio](https://publier.etalab.studio/), que ce soit sous son schéma ou dans d'autres domaines, qui pourront donner lieu à d'autres schémas ;
* [ ] **aider des acteurs souhaitant utiliser son schéma**, en leur faisant bénéficier de son expérience, par exemple en leur répondant directement dans les commentaires sur [data.gouv.fr](https://www.data.gouv.fr/) ;
* [ ] **interagir avec les réutilisateurs** afin de mieux cerner leurs besoins, des améliorations possibles ou des champs d'investigation.

Des scripts ont été mis au point par les équipes d'Etalab pour permettre de vérifier et d'agréger toutes les données publiées par type de schéma et ainsi créer des fichiers consolidés à l'échelle nationale (i.e.[ données IRVE](https://www.data.gouv.fr/fr/datasets/fichier-consolide-des-bornes-de-recharge-pour-vehicules-electriques/)). Cela permet à des solutions à grande échelle d'émerger.

## Maintenir un schéma de données <a href="#maintenir-votre-schema-de-donnees" id="maintenir-votre-schema-de-donnees"></a>

Aussi exhaustive qu'ait été la phase de concertation, il est probable que des corrections ou des évolutions du schéma soient nécessaires afin de le rendre plus précis ou plus accessible par exemple.

**Clarifications de la documentation, corrections d’erreurs, évolutions du cadre réglementaire, etc. sont autant de raisons où il est indispensable de mettre en œuvre une nouvelle version.**

[schema.data.gouv.fr](https://schema.data.gouv.fr/) récupère le contenu de votre dépôt via des `releases` de celui-ci, c'est à dire des versions packagées de votre code (schéma + documentation). Avec ce système, il est alors possible pour schema.data.gouv.fr de suivre l'évolution formelle de votre schéma et d'en référencer les différentes versions au cours du temps. Cela permet également aux contributeurs de considérer les branches du dépôt Github qui héberge le schéma (`main` ou autre) comme un espace de développement participatif qui reste dissocié du référencement sur schema.data.gouv.fr tant qu'une nouvelle version n'est pas publiée.

Une fois que l'état de votre branche principale, `main` par exemple, vous conviendra, vous pourrez sur Github ou Gitlab créer une release. Pour cela, il suffit d'ajouter un tag et une version correspondant à la nouvelle version que vous souhaitez publier. Celle-ci sera par la suite automatiquement récupérée par schema.data.gouv.fr et publiée (généralement sous 24h).

Si un schéma que vous maintenez doit être modifié, la marche à suivre peut être la suivante :

1. **faire une nouvelle** [**phase de concertation**](https://guides.etalab.gouv.fr/producteurs-schemas/phase-concertation) afin d'évoquer les problématiques qui imposent un changement et de trouver la solution la plus adaptée. Si vous n'avez pas d'espace pour cela, nous vous conseillons de publier une [`issue` sur le dépôt Github de schema.data.gouv.fr](https://github.com/etalab/schema.data.gouv.fr/issues).
2. lorsqu'un accord est trouvé, **mettre à jour techniquement le schéma** lui-même (cf. le paragraphe ci-après);
3. **mettre à jour la documentation du schéma** ;
4. **déployer les mises à jour sous un nouveau tag de version** ;
5. **communiquer sur cette mise à jour**.

Lorsque les modifications à faire à un schéma font consensus, il est nécessaire de les implémenter et de déployer une nouvelle version. La marche à suivre peut être la suivante :

1. **répertorier tous les changements à faire avant de les implémenter** : anticiper l'impact sur les fichiers techniques et sur la documentation (notamment l'incrémentation de la version)
2. **faire les modifications listées à l'étape précédente** :
   * en local, puis pousser les changements avec les commandes git (add, commit et push)
   * ou directement sur Github
3. **créer une release (nouvelle version)** :
   * sur la page Github de votre schéma, cliquer sur `X tags` (à côté des branches) : ici sont listées toutes les versions du schéma
   * cliquer sur `Releases` puis `Draft a new release`
   * indiquer le nom de la nouvelle version dans `Choose a tag` : par exemple si la version actuelle est v1.0.1, la nouvelle sera v1.0.2 (dans certains cas, il sera opportun de passer en 1.1.1 ou en 2.0.1)
   * la branche cible (`target`) doit être la branche principale, si des développements ont été faits sur d'autres branches, il est nécessaire de les fusionner - `merge` - avec la branche principale via une [`pull request`](https://docs.github.com/fr/pull-requests) (après validation des modifications)
   * documenter la nouvelle version : ajouter un titre et une description exhaustive des changements dans les champs dédiés, juste avant la publication
   * publier la release (`Publish release`)

Que ce soit pour des considérations techniques ou "conceptuelles", il est possible de solliciter les équipes de schema.data.gouv.fr qui pourront vous accompagner dans le processus de mise à jour de votre schéma.

## Points de sortie <a href="#points-de-sortie" id="points-de-sortie"></a>

À l’issue de cette phase, vous devriez :

* [ ] Comprendre l'importance de la proactivité dans la promotion, la diffusion et le maintien d'un schéma ;
* [ ] Avoir des pistes d'actions concrètes pour porter un schéma auprès d'autres parties prenantes ;
* [ ] Savoir pourquoi, quand et comment mettre à jour un schéma de données.


# Focus : Construire un schéma TableSchema

La pertinence de la mise en place d'un standard de données réside dans son adéquation entre les capacités de sa mise en oeuvre par les producteurs de données et les outils permettant l'automatisation des jeux de données valides par rapport à cette spécification.

Cette standardisation doit permettre de **faciliter la mise en relation des jeux de données** issus de différents producteurs.

{% hint style="info" %}
Cette page détaille des recommandations, visant à faciliter la création de nouveaux schémas et **leur intégration dans une chaîne de validation et de publication généralisable**, notamment :

* Des recommandations pour le formatage des fichiers csv
* Des recommandations de formatage des données
* Des recommandations de champs obligatoires
* Des recommandations pour le nommage des fichiers
* Des recommandations pour le nommage des champs
* Des recommandations pour la mise en conformité
  {% endhint %}

## Recommandations pour le formatage des fichiers csv <a href="#formatage-csv" id="formatage-csv"></a>

Un des formats privilégiés pour les standards de données est le [CSV](https://fr.wikipedia.org/wiki/Comma-separated_values) (Comma Separated Values, valeurs séparées par des virgules). Il s'agit d'un format de données "à plat", **adéquat pour les structures de données simples**.

Cependant, ce format simple ne dispose pas de spécifications contraignant la saisie des données. Pour cela un schéma en Json est ajouté dont la structure est défini par le standard [TableSchema](https://specs.frictionlessdata.io/table-schema/). TableSchema permet d'indiquer les formats des données attendus, de spécifier des contraintes (types de valeurs, cardinalité) et de documenter les différents champs composant le schéma.

{% hint style="success" %}
L'outil de validation utilisé pour vérifier la conformité d'un fichier csv au standard auquel il fait référence s'appuie sur la structure tabulaire des données. Elles peuvent donc être contenues dans un tableur numérique au format .xls, .xlsx ou .ods ou dans un fichier texte au format .csv, .txt ou autre.
{% endhint %}

La question du séparateur utilisé pour séparer deux champs de données dans un fichier .csv n'est donc pas essentielle. Cependant, certains outils se basent sur la valeur de ce séparateur pour traiter et publier des jeux de données. Nous vous proposons donc un certain nombre de recommandations afin de favoriser la généralisation d'un usage contribuant à l'interopérabilité des données produites.

### Format de fichier csv <a href="#format-de-fichier-csv" id="format-de-fichier-csv"></a>

Bien que de nombreux jeux de données en CSV utilisent le point-virgule comme séparateur de champs, il a été décidé de privilégier le **séparateur virgule** car plus conforme à l'esprit du format csv.

Les tableurs numériques courants (Excel et Calc) peuvent produire et lire des fichiers csv. Lors de l'enregistrement d'un fichier créé avec l'outil Calc, l'utilisatrice ou utilisateur doit spécifier le format d'encodage des données ainsi que le séparateur de champs. Lorsque le séparateur de champs retenu est la virgule, il est recommandé d'utiliser les guillemets double " comme séparateur de chaîne de caractères. De cette manière, si une virgule est présente à l'intérieur d'une cellule elle ne sera pas considérée comme un séparateur de champs.

{% hint style="success" %}
Lors de l'ouverture d'un fichier csv dans Calc, une fenêtre modale propose plusieurs options permettant de spécifier un caractère de séparation et un encodage des données.

Dans Excel, il faut aller dans l'onglet données et sélectionner l'option Fichier texte pour accéder à l'assistant d'import des données.
{% endhint %}

L’encodage des caractères à privilégier est l'[UTF-8](https://fr.wikipedia.org/wiki/UTF-8) de manière à garantir une **meilleure interopérabilité des données**.

Pour faciliter la lecture des fichiers publiés en CSV il est recommandé d'y associer dans les outils de publication le **type MIME ou Content-Type "text/csv"**.

**Chaque ligne du fichier doit avoir le même nombre de champs**, ce qui signifie que lorsqu'une cellule est vide elle doit quand même être présente soit avec la valeur Null, soit avec des crochets vides \[] dans le cas des champs de type tableau (array), soit laissée vide mais apparaître à l'export avec 2 virgules qui se suivent ,, .

## Recommandations de formatage des données <a href="#recommandations-de-formatage-des-donnees" id="recommandations-de-formatage-des-donnees"></a>

Les recommandations de formatage pour les données sont généralement issues du standard [TableSchema](https://specs.frictionlessdata.io/table-schema/), lui-même inspiré des spécifications du format [Json](https://www.json.org/json-fr.html), dans lequel sont exprimés les schémas de données permettant l'automatisation de leur validation.

Ce standard dispose des types de données suivants :

* **string** : s'applique pour toutes les chaînes de caractères
* **number** : s'applique pour les chiffres et nombres contenant éventuellement des décimales
* **integer** : s'applique pour les chiffres et nombres entiers
* **boolean** : s'applique pour indiquer que la valeur d'un champs ne peut être égale qu'à "vrai" ou "faux" (ou "1" et "0" ou "oui" ou "non")
* **object** : s'applique pour les données de type objet
* **array** : s'applique pour les tableaux de données

Les types de données peuvent être assortis de formats de données facilitant l'automatisation de leur validation.

Pour déclarer un format de données dans un schéma JSON il est possible d'utiliser différentes propriétés permettant de le caractériser :

* **name** : le nom du champ
* **title** : le titre du champ
* **description** : la description des valeurs attendues dans ce champ
* **format** : le format du champ
* **type** : le type du champ

Il est également possible de contraindre les valeurs autorisées dans ce champ à l'aide de plusieurs proriétés :

* **required** : indique l'obligation de la présence d'une valeur pour ce champ dans toutes les lignes du fichier
* **unique** : indique que chaque valeur de ce champ à l'intérieur du fichier doit être unique
* **minLength** : indique la taille minimale des valeurs de ce champ
* **maxLength** : indique la taille maximale des valeurs de ce champ
* **minimum** : indique la valeur minimum autorisée pour ce champ (par exemple pour une date on peut indiquer une année en deça de laquelle les valeurs ne sont pas autorisées)
* **maximum** : indique la valeur maximale autorisée pour ce champ
* **pattern** : indique une expression régulière à laquelle doivent être conforme les valeurs de ce champ (par exemple pour un numéro SIRET on peut indiquer `^\\d{14}$` ce qui signifie que les valeurs de ce champ doivent contenir exactement 14 chiffres)
* **enum** : indique une liste de valeurs autorisées pour ce champ

Ci-dessous quelques exemples tirés du [schéma des menus de la restauration collective](https://schema.data.gouv.fr/scdl/menus-collectifs/1.2.1.html).

Le champ permettant d'indiquer le numéro SIRET d'une collectivité est spécifiée de la manière suivante :

```
{
    "name": "menuCollSiret",
    "title": "Code SIRET de la collectivité qui produit les données.",
    "description": "Identifiant du Système d'Identification du Répertoire des Etablissements (SIRET) de la collectivité qui commandé le menu. Ce code doit obligatoirement être composé de 9 chiffres SIREN + 5 chiffres NIC d’un seul tenant.",
    "type": "string",
    "examples": "21330063500017",
    "constraints": {
        "required": true,
        "pattern":	"^\\d{14}$"
    }
}
```

Le champ permettant d'indiquer la date de publication d'un enregistrement du jeu de données est spécifié de la manière suivante :

```
{
    "name": "menuPublicationDate",
    "title": "Date de publication de l'enregistrement d'un menu",
    "description": "Lors de la publication ce champ d'horodatage permet d'indiquer la date de publication de la donnée présente dans le fichier.",
    "type": "datetime",
    "examples": "2020-05-11T14:08:32Z",
    "constraints": {
    "required": true
    }
}
```

Les informations ci-dessous décrivent les différents types de champs disponibles dans la spécification TableSchema.

### Données de type string <a href="#donnees-de-type-string" id="donnees-de-type-string"></a>

Pour le type string, les formats de données suivants sont disponibles :

* **default** : n'importe quelle chaîne de caractère
* **email** : une adresse email valide.
  * motif de validation :
* **uri** : une URI valide
* **binary** : une chaîne de caractère encodées en base 64 représentant des données binaires.
* **uuid** : une chaîne de caractère représentant un identifiant unique.

### Données de type décimal <a href="#donnees-de-type-decimal" id="donnees-de-type-decimal"></a>

* **Description** : Les valeurs décimales doivent utiliser le point afin d'être plus facilement exploitables par les tableurs numériques.
* **Type** : number
* **Exemple** : 3900.50

### Données de type date <a href="#donnees-de-type-date" id="donnees-de-type-date"></a>

* **Description** : date au format AAAA-MM-JJ suivant la norme internationale [ISO 8601](https://fr.wikipedia.org/wiki/ISO_8601).
* **Type** : date
* **Exemple** : 2017-10-15
* **Format** : "%Y-%m-%d"
* **Nommage** : abreviation-du-schemaDate

### Données de type date avec heure <a href="#donnees-de-type-date-avec-heure" id="donnees-de-type-date-avec-heure"></a>

* **Description** : date au format aaaa-mm-jjThh:mi:ssZZZZZZ suivant la norme internationale [ISO 8601](https://fr.wikipedia.org/wiki/ISO_8601). On considérera que ZZZZZZ (+ou- décalage horaire GMT), est par défaut +01:00 en France et qu'il est inutile de le préciser dans les formats.
* **Type** : datetime
* **Exemple** : 1997−07−16T19:20:00

### Données de type date avec heure de début et de fin <a href="#donnees-de-type-date-avec-heure-de-debut-et-de-fin" id="donnees-de-type-date-avec-heure-de-debut-et-de-fin"></a>

* **Description** : date au format aaaa-mm-jjThh:mi/hh:mi suivant la norme internationale ISO 8601. Ce type de données s'applique pour un créneau horaire dans la même journée, sans les secondes. Pour une extension de ces conditions, voir la norme [ISO 8601](https://fr.wikipedia.org/wiki/ISO_8601).
* **Type** : datetime
* **Exemple** : 1997−07−16T08:30/17:30

### Données de type horaires d'ouverture <a href="#donnees-de-type-horaires-d-ouverture" id="donnees-de-type-horaires-d-ouverture"></a>

* **Description** : horaires indiquant les heures d'ouverture d'un service ou d'un commerce. Ce type de données permet de préciser les différents horaires d'ouverture pour les différents jours de la semaine. Il s'agit donc d'un type de données multi-valeur au sein duquel le nom du jour de la semaine est abrégé et suivi par les heures d'ouvertures. Les abréviations pour les jours sont en anglais (Mo, Tu, We, Th, Fr, Sa, Su) et les horaires sont sous la forme HH:MM

{% hint style="success" %}
Un assistant graphique en ligne [yohours](https://projets.pavie.info/yohours) permet de générer simplement cette structure de données
{% endhint %}

* **Type** : string (chaîne de caractères)
* **Exemple** : Mo 08:15-13:15; Tu 03:15-06:15; We 03:15-09:30; Th 02:30-07:15; Fr 01:30-05:45; Sa 00:30-05:00; Su 02:45-08:30
* **Nommage** : abreviation-du-schemaHoraires

### Données de type géolocalisation <a href="#donnees-de-type-geolocalisation" id="donnees-de-type-geolocalisation"></a>

La possibilité est laissée de décrire les points de géolocalisation d'une donnée à l'intérieur d'un champ unique (geopoint) ou à l'aide de 2 champs (latitude et longitude).

#### **Latitude**

* **Description** : ce type de données permet de saisir la coordonnée de latitude exprimée en [WGS 84](https://fr.wikipedia.org/wiki/WGS_84) permettant de localiser un équipement. Le signe de séparation entre les parties entière et décimale du nombre est le point. Précision : 6 décimales maximum.
* **Type** : number
* **Exemple** : 48.563433
* **Nommage** : abreviation-du-schemaLat

#### **Longitude**

* **Description** : ce type de données permet de saisir la coordonnée de longitude exprimée en [WGS 84](https://fr.wikipedia.org/wiki/WGS_84) permettant de localiser un équipement. Le signe de séparation entre les parties entière et décimale du nombre est le point. Précision : 6 décimales max.
* **Type** : number
* **Exemple** : 2.572875
* **Nommage** : abreviation-du-schemaLon

#### **Geopoint**

* **Description** : ce type de données permet de saisir les coordonnées de latitude et de longitude exprimée en [WGS 84](https://fr.wikipedia.org/wiki/WGS_84) permettant de localiser un équipement. Le signe de séparation entre les parties entière et décimale du nombre est le point. Précision : 6 décimales max. Le séparateur de valeur est la virgule. Il est donc nécessaire d'entourer ces valeurs de guillemets. La première valeur est la latitude
* **Type** : number
* **Exemple** : "48.563433, 2.572875"
* **Nommage** : abreviation-du-schemaGeo

#### **Geoshape**

* **Description** : ce type de données permet de décrire la forme géographique d'un équipement. La forme est décrite à l'aide de paires de coordonnées, séparées par un espace vide et chaque paire séparée par une virgule. La description d'une ligne est exprimée à l'aide de 2 ou plus paires de points séparés par des virgules. La description d'un polygone est exprimée par 4 ou plus paires de points séparés par des virgules dont la dernière est identique à la première.
* **Type** : string
* **Exemple** : "48.563433 2.572875, 49.234933 2.134432, 49.885311 2.134003, 48.974635 2.1134567, 48.563433 2.572875"

### Données de type adresse <a href="#donnees-de-type-adresse" id="donnees-de-type-adresse"></a>

Ce type de champ permet de décrire l'adresse postale d'un équipement. Il est décomposé entre 3 champs permettant de distinguer et de faciliter le tri à l'intérieur des informations de voirie, de code postal et de commune. Le numéro et le nom de la voie sont séparés par une virgule.

#### **Voie**

* **Description** : ce type de champs permet de saisir le numéro et le nom de la voie
* **Type** : string
* **Exemple** : 34, rue de Latresne
* **Nommage** : abreviation-du-schemaVoie

#### **Code postal ou Code INSEE**

* **Description** : ce type de champs permet de saisir le code postal (ou le code INSEE) de la commune
* **Type** : number
* **Exemple** : 45800
* **Nommage** : abreviation-du-schemaCodePostal

#### **Commune**

* **Description** : ce type de champs permet de saisir le nom de la commune
* **Type** : string
* **Exemple** : Saint-Jean-de-Braye
* **Nommage** : abreviation-du-schemaCommune

## Recommandations de champs obligatoires <a href="#recommandations-de-champs-obligatoires" id="recommandations-de-champs-obligatoires"></a>

Afin d'unifier la description des données au travers des différentes thématiques abordées par le propositions de standard de données, **il est fortement recommandé de rendre obligatoire la présence d'un certains nombre de champs**.

Ceux-ci contribuent à la **portabilité des données** (qui produit la donnée) ou à **leur fiabilité** (quand a été produite la donnée).

### Identification du producteur <a href="#identification-du-producteur" id="identification-du-producteur"></a>

Pour l'identification des autorités publiques à l'origine de la production et de la publication des jeux de données, il est recommandé d'indiquer le nom et le numéro de SIRET sur chaque ligne de chaque jeu de données.

### **Nom de la collectivité**

* **Description** : ce champs permet de saisir le nom de l'autorité publique responsable de la production des données
* **Type** : string
* **Exemple** : Conseil départemental de la Creuse
* **Nommage** : abreviation-du-schemaColl

Par exemple

```
{
    "name": "menuCollNom",
    "title": "Nom de la collectivité qui produit les données",
    "description": "Nom officiel de la collectivité ou de l'établissement public responsable de l'offre de restauration collective et qui produit les données.",
    "type": "string",
    "examples": "Grand Poitiers Communauté urbaine",
    "constraints": {
        "required": true 
    }
}
```

#### **SIRET de la collectivité**

* **Description** : ce champ permet d'indiquer le numéro d'identification de l'autorité publique au sein de la base nationale des établissements.
* **Type** : string
* **Exemple** : 21330063500017
* **Motif** : ^\d{14}$
* **Nommage** : nom-ou-abreviation-du-schemaCollSiret

Par exemple :

```
{
    "name": "menuCollSiret",
    "title": "Code SIRET de la collectivité qui produit les données.",
    "description": "Identifiant du Système d'Identification du Répertoire des Etablissements (SIRET) de la collectivité qui commandé le menu. Ce code doit obligatoirement être composé de 9 chiffres SIREN + 5 chiffres NIC d’un seul tenant.",
    "type": "string",
    "examples": "21330063500017",
    "constraints": {
        "required": true,
        "pattern":	"^\\d{14}$"
    }
}
```

### **Horodatage des données**

Pour faciliter la réutilisation et la mise à jour des données, il est recommandé de fournir aux réutilisatrices et réutilisateurs potentiels **des dates de première publication et de dernière modification pour chaque entité du jeu de données**.

Ces informations au format Date avec horaire peuvent correspondre à la date de première publication et faire apparaître les dates de dernière modification pour l'ensemble des lignes ou en cas de mise à jour partielle pour une ligne de données particulière.

Il est également recommandé d'y associer un champ permettant de décrire la raison ayant entraîné une mise à jour des données depuis leur publication.

#### **Date de création/publication**

* **Description** : ce champs permet de décrire la date de première publication de la donnée
* **Type** : datetime
* **Exemple** : 2020-05-11T14:08:32Z
* **Nommage** : nom-ou-abreviation-du-schemaPublicationDate

Par exemple :

```
{
    "name": "menuPublicationDate",
    "title": "Date de publication de l'enregistrement d'un menu",
    "description": "Lors de la publication ce champ d'horodatage permet d'indiquer la date de publication de la donnée présente dans le fichier.",
    "type": "datetime",
    "examples": "2020-05-11T14:08:32Z",
    "constraints": {
        "required": true
    }
}
```

#### **Date de dernière modification**

* **Description** : ce champs permet de décrire la date de dernière modification de la donnée
* **Type** : datetime
* **Exemple** : 2020-05-11T14:08:32Z
* **Nommage** : nom-ou-abreviation-du-schemaModificationDate

Par exemple :

```
{
    "name": "menuModificationDate",
    "title": "Date de dernière modification de l'enregistrement d'un menu",
    "description": "Lors de la modification ce champ d'horodatage permet d'indiquer la date de dernière modification de la donnée présente dans le fichier.",
    "type": "datetime",
    "examples": "2020-05-11T14:08:32Z",
    "constraints": {
    "required": false
    }
}
```

#### **Information sur les modifications**

* **Description** : ce champs permet de décrire la raison d'une modification de la donnée depuis sa publication initiale
* **Type** : string
* **Exemple** : changement dû à un aléa de livraison
* **Nommage** : nom-ou-abreviation-du-schemaModificationInfo

Par exemple :

```
{
    "name": "menuModificationInfo",
    "title": "Information sur la modification ayant entraîné une mise à jour de la donnée",
    "description": "Afin de renseigner les usagers de la donnée, il est possible de préciser dans ce champ la raison de la mise à jour effectuée.",
    "type": "string",
    "examples": "changement dû à un aléa de livraison",
    "constraints": {
        "required": false
    }
}
```

## Recommandations pour le nommage des fichiers <a href="#recommandations-pour-le-nommage-des-fichiers" id="recommandations-pour-le-nommage-des-fichiers"></a>

Les fichiers doivent, sauf exception et autant que possible, respecter les règles de nommage suivantes :

**AAAAMMJJ\_idProducteur\_nom-du-fichier.extension**

* **AAAAMMJJ** : Date de création du fichier
* **idProducteur** : Numéro [SIREN](https://fr.wikipedia.org/wiki/Syst%C3%A8me_d'identification_du_r%C3%A9pertoire_des_entreprises) sur 9 chiffres pour identifier le producteur
* **nom-du-fichier** Chaîne de caractères dont les termes, en minuscules non accentuées, sont séparés par un tiret du milieu
* **.extension** : Si les règles de formatage sont respectées, l'extension est .csv

Les 3 éléments constitutifs de la chaîne principale avant l'extension sont assemblés en un seul tenant et séparés par un tiret du bas.

* **Exemple** : '20180314\_213502388\_prenoms-nouveaux-nes-rennes-2017.csv'

## Recommandations pour le nommage des champs <a href="#recommnandations-pour-le-nommage-des-champs" id="recommnandations-pour-le-nommage-des-champs"></a>

Afin d'uniformiser les fichiers produits dans le cadre de schémas de standardisation, il est recommandé de **normaliser les intitulés des champs composant chaque standard**.

La règle générale préconisée est l'utilisation de **l'écriture camelCase** où chaque mot composant l'intitulé du champ est écrit avec une majuscule à l'exception du premier.

En complément il est recommandé d'utiliser un préfixe (mot complet ou abréviation) pour l'ensemble des champs d'un standard.

En conséquence, pour le standard des menus, les intitulés des champs sont préfixés par le mot menu suivi des intitulés à proprement dit. Par exemple :

* menuCollNom
* menuRestaurantIdType
* menuRepasType

**Aucun caractère accentué ou spécial** ne doit être utilisé dans l'intitulé d'un champ. Il est également préconisé de ne pas dépasser 50 caractères pour l'intitulé d'un champ et d'utiliser le singulier pour les mots composant l'intitulé du champ.

## Recommandations pour la mise en conformité <a href="#recommandations-pour-la-mise-en-conformite" id="recommandations-pour-la-mise-en-conformite"></a>

Pour garantir la conformité des jeux de données, il est demandé aux producteurs de s'assurer que la structure, les champs et les contenus attendus sont effectivement respectés.

De fait, les fichiers tabulaires doivent, autant que possible, contenir :

* **Toutes les colonnes**, y compris celles dont les cellules ne sont pas renseignées, dans le bon ordre, et avec des en-têtes correctement nommées sur la première ligne ;
* **Autant de lignes que nécessaire** comprenant des cellules dont les valeurs peuvent être **obligatoires** (elles doivent être impérativement renseignées) ou **optionnelles** (elles sont seulement recommandées ou soumises à condition de disponibilité / pertinence).


# Intégrer un schéma de données à schema.data.gouv.fr

{% hint style="info" %}
**Qu'est-ce que schema.data.gouv.fr ?**

[schema.data.gouv.fr](https://schema.data.gouv.fr/) est l’initiative de [data.gouv.fr](https://data.gouv.fr/) de référencement des schémas de données publiques pour la France.

Cette plateforme de référencement national permet un accès aux schémas produits par différents acteurs et facilite l’intégration avec des systèmes informatiques par le biais de standards, d’URLs stables, de processus de validation et d’API.
{% endhint %}

<figure><img src="/files/6AnJ9FHrretHPol9Tkrh" alt=""><figcaption><p>Page d'accueil de schema.data.gouv.fr</p></figcaption></figure>

## Qui peut référencer des schémas de données ?

**Tout acteur est libre de proposer le référencement de schémas sur** [**schema.data.gouv.fr**](https://schema.data.gouv.fr/) : administration, entreprise privée, association, citoyen, etc.

## Quels schémas de données sont acceptés ?

### Schémas de données acceptés sur schema.data.gouv.fr

* **Des schémas de données décrivant des données publiques.**

{% hint style="success" %}
Les schémas de données sont acceptés dès lors que leur l’existence est justifiée par voie :

* **réglementaire** : c'est une disposition réglementaire qui est à l'origine de la définition du schéma de données ;

* **d’usage** : la réutilisation des données décrites par le schéma bénéficie à un grand nombre ou de nombreux producteurs sont amenés à utiliser ce schéma de données.
  {% endhint %}

* **Des schémas de données décrits par un standard technique** (cf. page ["Phase de construction"](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-3-phase-de-construction)) : les schémas de données décrits uniquement par de la documentation textuelle ou des tableaux peuvent être répertoriés, mais ne bénéficient pas de tous les outils disponibles.

{% hint style="info" %}
**Standards techniques supportés**

Les standards techniques de schémas de données actuellement supportés sont les suivants :

* [**Table Schema**](https://frictionlessdata.io/specs/table-schema/) : adapté pour la description de données tabulaires (sous forme de tableurs ou de CSV). Ce standard technique utilise le format JSON.
* [**Data Package**](https://datapackage.org/standard/data-package/) : adapté pour la description de plusieurs fichiers de données tabulaires liés entre eux (représentation d'un modèle de données ; ce sont plusieurs TableSchemas groupés). Ce standard technique utilise le format JSON.
* [**JSON Schema**](https://json-schema.org/) : adapté pour la description de données avec une notion de hiérarchie. Ce standard utilise le format JSON.
* [**XML Schema Definition (XSD)**](https://www.w3.org/TR/xmlschema11-1/) : adapté pour la description de données avec une notion de hiérarchie. Ce standard utilise le format XML.
  {% endhint %}

### Prérequis de validation des schémas de données sur schema.data.gouv.fr <a href="#prerequis-de-validation-des-schemas-de-donnees" id="prerequis-de-validation-des-schemas-de-donnees"></a>

{% hint style="info" %}
**Lexique : Validation d’un schéma de données**

La validation d’un schéma de données est l’étape qui permet de vérifier si celui-ci est conforme au standard technique sélectionné et aux prérequis de [schema.data.gouv.fr](https://schema.data.gouv.fr/). Cette étape s’intéresse uniquement au schéma de données et à la façon dont il est publié.

Il ne faut pas confondre la validation d’un schéma avec le fait de vérifier que des données correspondent à un schéma.
{% endhint %}

Pour tous les types de schéma de données, il faut que :

* [ ] **le schéma de données soit sur un dépôt Git, à raison d’un dépôt par schéma**. Ce dépôt doit pouvoir être cloné depuis Internet sans authentification préalable ;
* [ ] **le dépôt Git doit comporter des tags indiquant les versions du schéma de données**. Ces versions doivent respecter la [gestion sémantique de version semver](https://semver.org/lang/fr/), sous la forme `v1.3.2` par exemple ;
* [ ] **le dépôt doit comporter un fichier `README.md` à la racine** contenant une documentation du schéma de données indiquant par exemple le contexte de production, la gouvernance ;
* [ ] **passer avec succès les tests spécifiques au type de schéma de données que le dépôt contient.**

{% hint style="info" %}
**Critères complets de validation**

Cette page présente les grands principes de validation des schémas de données.

**Le détail des prérequis propres à chaque type de schéma de données, ainsi que des exemples, sont disponibles** [**ici**](https://schema.data.gouv.fr/validation.html)**.**
{% endhint %}

data.gouv.fr se réserve le droit de refuser le référencement de schémas en motivant son refus. Il est encouragé d'[initier une discussion](https://github.com/etalab/schema.data.gouv.fr/issues) préalablement à l’ouverture d’une *pull request*.

## Quand référencer un schéma de données ?

Il est recommandé de référencer un schéma de données le plus tôt possible, **dès** [**la phase d’investigation**](/guides/guide-qualite/maitriser-les-schemas-de-donnees/creer-un-schema-de-donnees/etape-1-phase-dinvestigation).

En référençant celui-ci en amont, vous bénéficierez de l’accompagnement d’Etalab et de partenaires tout au long de la création de votre schéma de données : de l'investigation au référencement sur [schema.data.gouv.fr](https://schema.data.gouv.fr/).

## Comment référencer un schéma de données ?

Pour référencer un schéma de données, vous pouvez :

* **ouvrir un ticket sur GitHub**
* **entrer en contact** [**avec notre équipe par e-mail**](mailto:schema@data.gouv.fr)

[**Une page dédiée détaille la procédure**](https://schema.data.gouv.fr/contribuer.html)**.**

Une liste de schémas de données actuellement en phase d'investigation ou de construction est tenue à jour sur cette même page.


# Produire des données en conformité avec un schéma

\--> La marché à suivre est détaillée [ici](/guides/guide-qualite/preparer-un-jeu-de-donnees-de-qualite/structurer-un-jeu-de-donnees#produire-des-donnees-conforme-a-un-schema-de-donnees-identifie).


# Indiquer et vérifier qu'une ressource respecte un schéma de données

Une fois qu'un schéma est finalisé et référencé sur [schema.data.gouv.fr](https://schema.data.gouv.fr/), il est temps de produire des données conformes à ce schéma.

[data.gouv.fr](https://data.gouv.fr/) propose de multiples intégrations avec [schema.data.gouv.fr](https://schema.data.gouv.fr/) permettant de spécifier qu'une ressource présente sur [data.gouv.fr](https://data.gouv.fr/) est censée être conforme à un schéma.

**Il est ensuite possible de procéder à la validation de la ressource par rapport au schéma ou de consulter la documentation du schéma à partir de la page d'un jeu de données.**

Il est possible d'indiquer qu'une ressource d'un jeu de données correspond à un schéma depuis l'interface d'administration de data.gouv.fr.

* Lorsque vous déposez ou éditez une ressource, vous pouvez sélectionner le schéma correspondant à vos données depuis une liste déroulante.

![Capture d'écran de la sélection d'un schéma depuis l'interface d'administration de data.gouv.fr](https://guides.etalab.gouv.fr/assets/img/selection-schema.d958a2c6.png)

* Le fait d'indiquer que votre ressource est censée respecter un schéma permet de bénéficier de vérifications de la qualité des données et d'indiquer aux réutilisateurs que vos données respectent un référentiel.

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


# Guides sur l'utilisation des données

L'équipe de data.gouv.fr propose 6 guides pratiques qui ont vocation à vous accompagner dans vos travaux d'exploitation de données ouvertes.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>Introduction à l'open data</strong></p><p>Qu'est-ce que l'open data et comment l'utiliser ?</p></td><td></td><td></td><td><a href="/pages/hC3vtLp3o4JUHQZ6Q43N">/pages/hC3vtLp3o4JUHQZ6Q43N</a></td></tr><tr><td><strong>Guide traitement et analyse de données</strong></td><td>Quelles sont les techniques pour exploiter des données ouvertes ?</td><td></td><td><a href="/pages/eRTIlH2jsg4a0roUG9G7">/pages/eRTIlH2jsg4a0roUG9G7</a></td></tr><tr><td><strong>Guide API géographiques</strong></td><td>Comment utiliser l'API Adresse, l'API Découpage Administratif et les tuiles vectorielles ?</td><td></td><td><a href="/pages/AGcfQakjM0iBTvD7pq4S">/pages/AGcfQakjM0iBTvD7pq4S</a></td></tr><tr><td><strong>Guides données du cadastre</strong></td><td>Comment manipuler les données du cadastre ?</td><td></td><td><a href="/pages/FSVPxk2axxmNWDKPiTxf">/pages/FSVPxk2axxmNWDKPiTxf</a></td></tr><tr><td><strong>Guide données météorologiques</strong></td><td>Comment récupérer et manipuler les formats de données météorologiques ?</td><td></td><td><a href="/pages/lUvTLQByjvaNdS8LU3rU">/pages/lUvTLQByjvaNdS8LU3rU</a></td></tr><tr><td><strong>Guide API Adresse de l'IGN</strong></td><td>Comment utiliser l'API Adresse de l'IGN ?</td><td></td><td><a href="/pages/gzqWzE3POeHpIvGmMtzS">/pages/gzqWzE3POeHpIvGmMtzS</a></td></tr></tbody></table>


# Introduction à l'open data

Ce guide vous permettra de comprendre ce qu'est l'open data, et comment vous pouvez l'utiliser.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Comprendre la notion d'open data</strong></td><td></td><td></td><td><a href="/pages/kXESCY7WmjWXHzXBeghy">/pages/kXESCY7WmjWXHzXBeghy</a></td></tr><tr><td><strong>Comprendre l'écosystème de l'open data</strong></td><td></td><td></td><td><a href="/pages/2quvrpo58kdgcU7Orzl1">/pages/2quvrpo58kdgcU7Orzl1</a></td></tr><tr><td><strong>Comprendre les conditions d'utilisation des données en open data</strong></td><td></td><td></td><td><a href="/pages/99Pg2pkpENTjocpVdg3S">/pages/99Pg2pkpENTjocpVdg3S</a></td></tr><tr><td><strong>Découvrir et utiliser data.gouv.fr</strong></td><td></td><td></td><td><a href="/pages/ZMYoPypyhbyENqDbOfQ9">/pages/ZMYoPypyhbyENqDbOfQ9</a></td></tr></tbody></table>




---

[Next Page](/llms-full.txt/1)

