{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Aide | cartes.gouv.fr",
  "language": "fr",
  "home_page_url": "https://cartes.gouv.fr/aide",
  "feed_url": "https://cartes.gouv.fr/aide/feed/feed.json",
  "description": "Notre territoire commun",
  "author": {
    "name": "IGN",
    "url": "https://cartes.gouv.fr/"
  },
  "items": [
      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/",
        "title": "Validation",
        "content_html": "<h2 id=\"presentation\" tabindex=\"-1\">Présentation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#presentation\">#</a></h2>\n<p>Le service de validation de la Géoplateforme est disponible au travers d’une API REST.</p>\n<p>Il permet à un utilisateur authentifié de la Géoplateforme de réaliser une validation d’une donnée fournie en tant qu’archive selon un standard ou une norme : standard PCRS ou standard PLU par exemple.\nEn sortie de cette API, l’utilisateur récupère :</p>\n<ul>\n<li>Un rapport de validation au format CSV</li>\n<li>À son choix, une donnée dont la structure a été modifiée pour correspondre au standard</li>\n</ul>\n<br>\n<p>Ce système de validation est aussi mobilisable directement en tant que traitement au sein de la Géoplateforme - Entrepôt, afin, par exemple, de constituer une étape de prérequis avant intégration en base.</p>\n<h2 id=\"quand-utiliser-ce-service\" tabindex=\"-1\">Quand utiliser ce service ? <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#quand-utiliser-ce-service\">#</a></h2>\n<p>L’usage de ce service ou de ce traitement est à privilégier lorsque la donnée que vous produisez est soumise au respect d’un standard ou d’une norme. L’API ou le traitement validation vous donne un moyen exhaustif de vous assurer de la bonne conformité de votre donnée à ce standard.</p>\n<p>En tant que producteur d’une donnée agrégée répondant à un standard, il peut être utile d’inclure le traitement de validation comme étape préalable obligatoire à destination des producteurs de données locales afin qu’eux-mêmes ne fournissent au processus d’agrégation qu’une donnée normalisée.</p>\n<h2 id=\"acces-au-swagger\" tabindex=\"-1\">Accès au swagger <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#acces-au-swagger\">#</a></h2>\n<p>La documentation <span lang=\"en\"><em>swagger</em></span> permettant d’accéder aux détails des routes et paramètres pour réaliser une validation est accessible ici :</p>\n<p><a href=\"https://data.geopf.fr/validation/swagger-ui/index.html\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://data.geopf.fr/validation/swagger-ui/index.html - ouvre une nouvelle fenêtre\">https://data.geopf.fr/validation/swagger-ui/index.html</a></p>\n<p>La documentation <span lang=\"en\"><em>swagger</em></span> permettant d’accéder aux détails des routes et paramètres pour réaliser une validation via un traitement d’entrepôt est accessible ici :</p>\n<p><a href=\"https://data.geopf.fr/api/swagger-ui/index.html\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://data.geopf.fr/api/swagger-ui/index.html - ouvre une nouvelle fenêtre\">https://data.geopf.fr/api/swagger-ui/index.html</a></p>\n<h2 id=\"limites-d-usage\" tabindex=\"-1\">Limites d’usage <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#limites-d-usage\">#</a></h2>\n<p>L’usage de l’API Validation nécessite de disposer d’un compte Géoplateforme mais n’est pas assorti à la détention d’un espace de travail sur la Géoplateforme - Entrepôt.</p>\n<p>Un utilisateur ne peut, dans ce contexte, lancer que 60 validations parallèles sur son compte.</p>\n<p>Dans le cadre de la validation en tant que traitement de datastore, l’utilisateur doit bien entendu disposer d’un espace de travail associé au bon niveau de droit pour lui permettre d’y déposer une donnée et exécuter un traitement.</p>\n<p>Si vous ne disposez pas du traitement validation associé à votre datastore, vous êtes invités à contacter <a href=\"mailto:geoplateforme@ign.fr\">geoplateforme@ign.fr</a> qui apportera la modification nécessaire et ce quelle que soit votre formule tarifaire.</p>\n<h2 id=\"quels-schemas-de-standard-appeler-et-ou-les-localiser\" tabindex=\"-1\">Quels schémas de standard appeler et où les localiser ? <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#quels-schemas-de-standard-appeler-et-ou-les-localiser\">#</a></h2>\n<p>Le service de validation attend pour fonctionner des standards rédigés au format JSON et qui associent les critères à vérifier et le niveau de sévérité de chacun des critères.</p>\n<p>Pour ses propres besoins, l’IGN entretient ses propres fichiers JSON sur certains de ces standards avec un niveau de sévérité des différents critères qui correspond à ses propres besoins ou ceux de ses commanditaires.</p>\n<p>Pour les documents d’urbanisme, les standards sont accessibles à :</p>\n<p><a href=\"https://github.com/IGNF/validator-config-gpu/tree/master/config\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://github.com/IGNF/validator-config-gpu/tree/master/config - ouvre une nouvelle fenêtre\">https://github.com/IGNF/validator-config-gpu/tree/master/config</a></p>\n<p>Choisir ensuite le modèle de standard visé et pointer sur la racine de ce standard, sur le fichier <code>files.json</code>.</p>\n<p>Par exemple : <a href=\"https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json - ouvre une nouvelle fenêtre\">https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json</a></p>\n<p>Pour les autres standards implémentés, se rendre sur : <a href=\"https://github.com/IGNF/validator/tree/master\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://github.com/IGNF/validator/tree/master - ouvre une nouvelle fenêtre\">https://github.com/IGNF/validator/tree/master</a> et pointer vers les différents plug-ins disponibles.</p>\n<h2 id=\"l-api-validation\" tabindex=\"-1\">L’API Validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#l-api-validation\">#</a></h2>\n<h3 id=\"operations-courantes\" tabindex=\"-1\">Opérations courantes <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#operations-courantes\">#</a></h3>\n<h4 id=\"creer-une-validation\" tabindex=\"-1\">Créer une validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#creer-une-validation\">#</a></h4>\n<p>L’usage de l’API Validation démarre par l’envoi du lot de données à valider et le paramétrage de la durée de rétention du rapport de validation (et du lot de données mis au standard le cas échéant).</p>\n<p>Cette création se fait au moyen de la route :</p>\n<p><code>POST https://data.geopf.fr/validation/api/validations</code></p>\n<p><strong><code>retention</code></strong> prend comme valeur un entier en jours et vient en paramètre de l’URL. Il définit la durée pendant laquelle le résultat (log, rapport, donnée source, donnée normalisée) sera disponible.</p>\n<p>Le <strong><span lang=\"en\"><em>body</em></span></strong> du <code>POST</code> est constitué par le lot de données à valider, envoyé au format archive (<code>.zip</code>, <code>.7z</code>, <code>.tat</code>, et <code>.tar.gz</code>). Ce <span lang=\"en\"><em>body</em></span> est soumis en <strong><span lang=\"en\"><em>multipart/form-data</em></span></strong>.</p>\n<p>L’utilisateur reçoit en retour un corps de <strong>réponse en JSON</strong> du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"validationID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9a68f97a-4f20-47a3-a88e-d5d94ca6a329\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"created\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataset_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"22232_PLU_20200124.zip\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"arguments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"created\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:19:10.037805858Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Validation créée\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Il convient d’extraire de cette réponse le <strong><code>validationID</code></strong> qui va servir pour la suite.</p>\n<h4 id=\"lancer-une-validation\" tabindex=\"-1\">Lancer une validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#lancer-une-validation\">#</a></h4>\n<p>À cette étape intervient le paramétrage des critères de validation (quel standard ? production d’un lot de données normalisé ?) à proprement parler et le déclenchement effectif de cette validation.</p>\n<p>Ce paramétrage s’effectue au moyen de la route :</p>\n<p><code>PATCH https://data.geopf.fr/validation/api/validations/{validationID}</code></p>\n<p>Où :</p>\n<ul>\n<li><strong><code>validationID</code></strong> est l’identifiant de la validation, récupéré à l’étape « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#creer-une-validation\">Créer une validation</a> »</li>\n<li>le corps de cette requête suit le modèle suivant (<strong>en JSON</strong>) :<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"model\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:2154\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"max-errors\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"normalize\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"plugins\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CNIG\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"encoding\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"UTF-8\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<ul>\n<li><strong><code>model</code></strong> est le lien URL vers un fichier JSON modèle de validation (cf. « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#quels-schemas-de-standard-appeler-et-ou-les-localiser\">Quels schémas de standard appeler et où les localiser ?</a> »)</li>\n<li><strong><code>srs</code></strong> est le code EPSG de la projection dans laquelle se trouve les données dans l’archive livrée</li>\n<li><strong><code>max-errors</code></strong> est un entier paramétrant le nombre maximal d’erreurs qu’on souhaite avoir dans le rapport d’erreur, attention au fait qu’en plaçant trop bas cette valeur, le rapport risque de ne pas être exhaustif</li>\n<li><strong><code>normalize</code></strong> est un booléen prenant :\n<ul>\n<li>soit vrai : dans ce cas, la normalisation produira en plus du rapport, un jeu de données normalisé (ajoutant à la structure fournie les champs manquants vides)</li>\n<li>soit faux : dans ce cas, seul le rapport CSV de validation est produit et la donnée source n’est pas dupliquée par un jeu normalisé</li>\n</ul>\n</li>\n<li><strong><code>plugins</code></strong> : tous les standards urbanisme doivent s’accompagner de l’appel au plug-in CNIG, pour les autres standards, se référer au plug-in dans lequel ils sont stockés</li>\n<li><strong><code>encoding</code></strong> est une chaîne de caractères définissant l’encodage des données qui ont été livrées (généralement <code>UTF-8</code>)</li>\n</ul>\n</li>\n</ul>\n<p>Au lancement de la requête, l’utilisateur récupère un corps de réponse du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"validationID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9a68f97a-4f20-47a3-a88e-d5d94ca6a329\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"progress\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataset_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"22232_PLU_20200124.zip\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"arguments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"model\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:2154\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"max-errors\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"normalize\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"plugins\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CNIG\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"encoding\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"UTF-8\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"created\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:19:10.037806Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Validation lancée\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"started\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:28:23.531767571Z\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>On y retrouve, en plus du <strong><code>validationID</code></strong> :</p>\n<ul>\n<li><strong><code>created</code></strong> et <strong><code>started</code></strong> qui sont des mentions d’horodatage de création et de lancement effectif de la validation</li>\n<li><strong><code>status</code></strong> qui donne au moyen de valeurs fixes (ici <strong><code>created</code></strong>) l’état de la validation</li>\n<li><strong><code>arguments</code></strong> qui reprend les paramètres de la validation déclarés lors de la requête PATCH</li>\n<li><strong><code>message</code></strong> donne, en français uniquement, une phrase synthétique de l’état dans lequel se trouve le traitement</li>\n</ul>\n<br>\n<h4 id=\"suivre-une-validation\" tabindex=\"-1\">Suivre une validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#suivre-une-validation\">#</a></h4>\n<p>Suivant le volume de donnée livré et la complexité du standard mobilisé sur la validation, cette dernière peut mettre un certain temps à s’exécuter.</p>\n<p>Il peut donc être pertinent de venir interroger à pas de temps régulier la requête :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations/{validationID}</code></p>\n<p>Pour prendre connaissance de l’état de la validation. Le corps de réponse (en JSON) de cette requête est du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"validationID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9a68f97a-4f20-47a3-a88e-d5d94ca6a329\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"failure\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"dataset_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"22232_PLU_20200124.zip\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"arguments\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"model\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://github.com/IGNF/validator-config-gpu/blob/master/config/cnig_PLU_2025/files.json\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:2154\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"max-errors\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"normalize\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"plugins\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CNIG\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"encoding\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"UTF-8\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"created\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:19:10.037806Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Validation terminée\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"started\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:28:23.531768Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"finished\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2026-01-12T15:30:29.245168Z\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>La <strong>validation est terminée</strong> lorsqu’un <strong>horodatage <code>finished</code> est mentionné</strong>. Le <strong>statut</strong> correspondant peut être <strong><code>success</code></strong> ou <strong><code>failure</code></strong>.</p>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Une validation en statut <strong><code>success</code></strong> ne signifie pas que le lot de données validé ne contient aucune erreur relative au standard mais simplement que le processus de validation est allé jusqu’à son terme sans encombre. De la même façon, un statut <strong><code>failure</code></strong> ne préjuge pas du fait que la donnée à valider contient ou non des erreurs. Cela signifie que le processus de validation a rencontré une erreur due généralement à une incohérence des paramètres soumis avec ce qui est trouvé dans la donnée : PLU validé avec un standard PCRS, erreur de projection, d’encodage…</p>\n</div>\n<p>Si la vérification termine en <strong>succès</strong>, on retrouve directement à ce niveau les critères de validation et les points qui sont <strong>ressortis en erreur</strong> dans un argument <strong><code>results</code></strong>.</p>\n<h3 id=\"recuperer-les-resultats\" tabindex=\"-1\">Récupérer les résultats <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperer-les-resultats\">#</a></h3>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Toutes les informations sur les résultats suivantes sont uniquement accessibles pendant la durée de rétention fixée à l’étape « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#creer-une-validation\">Créer une validation</a> ».</p>\n</div>\n<h4 id=\"recuperation-du-log\" tabindex=\"-1\">Récupération du log <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-du-log\">#</a></h4>\n<p>Que la validation se soit terminée en <strong><code>failure</code></strong> ou en <strong><code>success</code></strong>, le log est toujours consultable via la route :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations/{validationID}/logs</code></p>\n<p>Le retour en JSON donne les grandes étapes de la validation et le niveau de l’erreur le cas échéant.</p>\n<h4 id=\"recuperation-du-rapport-de-validation\" tabindex=\"-1\">Récupération du rapport de validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-du-rapport-de-validation\">#</a></h4>\n<p>Le rapport de validation est accessible uniquement en cas de validation dont le statut de sortie est <strong><code>success</code></strong>.</p>\n<p>Il est récupérable via :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations/{validationID}/results.csv</code></p>\n<p>Cette requête produit un fichier results.csv délivré via une réponse en <span lang=\"en\"><em>multipart/form-data</em></span>.</p>\n<h4 id=\"recuperation-de-la-donnee-normalisee\" tabindex=\"-1\">Récupération de la donnée normalisée <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-de-la-donnee-normalisee\">#</a></h4>\n<p>La donnée normalisée n’est disponible que si la validation a terminé en <strong><code>success</code></strong> et si lors de l’exécution de l’étape « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#lancer-une-validation\">Lancer une validation</a> », l’argument <strong><code>normalize</code></strong> a été placé à true.</p>\n<p>À ces deux conditions seulement, l’appel à la route :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations/{validationID}/files/normalized</code></p>\n<p>Déclenche en retour d’appel un corps en <span lang=\"en\"><em>multipart/form-data</em></span> qui permet de récupérer un ZIP de la donnée transmise en incluant en plus les champs manquants au bon type dans les différentes tables du lot de données pour lesquelles la validation est applicable.</p>\n<h3 id=\"operations-annexes\" tabindex=\"-1\">Opérations annexes <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#operations-annexes\">#</a></h3>\n<h4 id=\"rechercher-une-validation-deja-lancee-ou-executee\" tabindex=\"-1\">Rechercher une validation déjà lancée ou exécutée <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#rechercher-une-validation-deja-lancee-ou-executee\">#</a></h4>\n<p>À des fins d’historique ou pour reproduire les critères d’une validation déjà lancée par le passé, il peut être utile de rechercher une validation.</p>\n<p>C’est possible au moyen de la route :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations</code></p>\n<p>Il est possible de filtrer ces recherches par :</p>\n<ul>\n<li><strong><code>status</code></strong> : un statut de validation parmi les valeurs : <strong><code>created</code></strong>, <strong><code>progress</code></strong>, <strong><code>success</code></strong>, <strong><code>failure</code></strong> et <strong><code>deleted</code></strong></li>\n<li><strong><code>dataset_name</code></strong> : permet de préciser, éventuellement avec le caractère joker « <code>*</code> » un jeu de données ayant fait l’objet d’une validation</li>\n</ul>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Une validation ayant dépassé sa période de rétention sera toujours accessible en filtrant par ce statut <strong><code>deleted</code></strong>.</p>\n</div>\n<p>Cet appel, comme la plupart des routes « catalogue » des API Géoplateforme, donne des résultats paginés. La pagination est pilotable par :</p>\n<ul>\n<li><strong><code>page</code></strong> qui vaut 1 au minimum</li>\n<li><strong><code>limit</code></strong> qui vaut 10 par défaut et 50 au maximum</li>\n</ul>\n<br>\n<h4 id=\"recuperer-la-donnee-livree\" tabindex=\"-1\">Récupérer la donnée livrée <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperer-la-donnee-livree\">#</a></h4>\n<p>Compte tenu du fait qu’en théorie la donnée source est déjà disponible côté client, la fonction dont il est question ici n’est pas forcément d’un usage très courant, mais peut rendre service en cas de fausse manipulation.</p>\n<p>En l’occurrence, l’API de validation met à disposition une route qui permet de re-télécharger les données qu’un utilisateur a lui-même soumis à validation.</p>\n<p>Cet accès se fait par la route :</p>\n<p><code>GET https://data.geopf.fr/validation/api/validations/{validationID}/files/source</code></p>\n<p>Il déclenche en retour d’appel un corps en <span lang=\"en\"><em>multipart/form-data</em></span> qui permet de récupérer un ZIP de la donnée transmise.</p>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Ces informations sont uniquement accessibles pendant la durée de rétention fixée à l’étape « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#creer-une-validation\">Créer une validation</a> ».</p>\n</div>\n<h4 id=\"stopper-une-validation-en-cours\" tabindex=\"-1\">Stopper une validation en cours <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#stopper-une-validation-en-cours\">#</a></h4>\n<p>En cas de nécessité, une route permettant d’interrompre une validation déjà lancée est disponible via :</p>\n<p><code>POST https://data.geopf.fr/validation/api/validations/{validationID}/abort</code></p>\n<p>Actionner cette route fait passer la validation en statut <strong><code>deleted</code></strong> et toutes les ressources associées à cette validation (donnée à valider, log…) sont supprimées de la plateforme.</p>\n<h4 id=\"supprimer-une-validation\" tabindex=\"-1\">Supprimer une validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#supprimer-une-validation\">#</a></h4>\n<p>La suppression d’une validation revient à anticiper les effets de l’écoulement du temps de rétention.</p>\n<p>Elle a pour effet de faire passer la validation au statut <strong><code>deleted</code></strong> et de supprimer toutes les ressources (donnée à valider, log…) qui y sont associées.</p>\n<p>Cette suppression est déclenchée par la route :</p>\n<p><code>DELETE https://data.geopf.fr/validation/api/validations/{validationID}</code></p>\n<h3 id=\"le-traitement-validation\" tabindex=\"-1\">Le traitement validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#le-traitement-validation\">#</a></h3>\n<p>Pour utiliser la validation en tant que traitement, l’utilisateur doit disposer d’un espace de travail Géoplateforme sur lequel le traitement suivant est disponible :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Validateur Archive\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Script de validation pour les livraisons archives\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"75dad665-45e6-493a-88da-c604d59aac45\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Un storage de type <strong><code>upload</code></strong> adapté pour stocker les données issues du validateur doit aussi être disponible sur le datastore utilisé.</p>\n<p>Ce dernier point est normalement déjà effectif dans la mesure où dans le cas de la validation utilisée comme traitement, les données d’entrée sont lues à partir du stockage <strong><code>upload</code></strong> du datastore considéré et les données de sortie sont écrites sur ce même espace.</p>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Il convient donc de porter une attention particulière au quota disponible sur ce stockage.</p>\n</div>\n<p>Enfin, dans le cas d’une validation exécutée en tant que traitement, la livraison de type archive doit avoir été effectuée classiquement selon les étapes habituelles :</p>\n<ul>\n<li>Création d’une livraison avec affectation des paramètres standard <strong>dont la projection</strong></li>\n<li>Alimentation de la livraison par un fichier archive respectant les prérequis de la validation (donnée au format compressé : <code>.zip</code>, <code>.7z</code>, <code>.tat</code>, et <code>.tar.gz</code>)</li>\n<li>Fermeture de la livraison</li>\n<li>Vérification de la bonne exécution des vérifications</li>\n</ul>\n<br>\n<h3 id=\"utiliser-le-traitement-dans-le-cadre-d-un-usage-sans-normalisation\" tabindex=\"-1\">Utiliser le traitement dans le cadre d’un usage sans normalisation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#utiliser-le-traitement-dans-le-cadre-d-un-usage-sans-normalisation\">#</a></h3>\n<h4 id=\"corps-de-requete-d-execution-du-traitement\" tabindex=\"-1\">Corps de requête d’exécution du traitement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#corps-de-requete-d-execution-du-traitement\">#</a></h4>\n<p>Pour utiliser le traitement de validation sans normalisation de donnée, on fournira à l’exécution de traitement un corps de requête du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"processing\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"cc923709-e34c-4fab-8ebd-7414a0ddbabf\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"inputs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"upload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"66a31282-d9cb-42c6-916f-a2b58c120a0c\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"output\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"upload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"66a31282-d9cb-42c6-916f-a2b58c120a0c\"</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"parameters\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"model\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://raw.githubusercontent.com/IGNF/validator-config-gpu/refs/heads/master/config/cnig_PLU_2017/files.json\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"is_compressed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"max-errors\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"normalize\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"plugins\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CNIG\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"encoding\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"UTF-8\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>L’appel en lui-même se fait, comme pour tout traitement, via l’appel API Entrepôt.</p>\n<p>Par rapport à l’exécution via l’API Validation on notera les différences suivantes :</p>\n<ul>\n<li>Les entrées <strong><code>inputs</code></strong> et <strong><code>output</code></strong> prennent dans les deux cas un type <strong><code>upload</code></strong> renseigné par l’identifiant de la livraison qui va être validée</li>\n<li>Dans les paramètres, on prendra soin de bien préciser le paramètre <code>&quot;is_compressed&quot;: true</code> dans le cas où on fournit une archive compressée, sans quoi l’instruction de dézippage ne sera pas effectuée et le traitement sortira en erreur</li>\n<li>À noter que comme pour tout traitement, une instruction de notification par courriel peut être ajoutée, par exemple après l’instruction <strong><code>parameters</code></strong> en fournissant la syntaxe suivante :<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token property\">\"callback\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"email\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"to_address\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"une_adresse_electronique\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"une_autre_adresse_electronique\"</span>\n    <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</li>\n</ul>\n<p>Cette instruction permet aux détenteurs des adresses électroniques mentionnées de recevoir un courriel de notification de fin de traitement que l’issue soit positive ou non.</p>\n<h4 id=\"recuperation-du-rapport-de-validation-1\" tabindex=\"-1\">Récupération du rapport de validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-du-rapport-de-validation-1\">#</a></h4>\n<p>Le rapport de validation est stocké directement dans le <strong>dossier de la livraison fournie en entrée</strong>.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Pour ne pas préjuger de l’usage futur de la livraison ainsi validée, en sortie de traitement de validation, la livraison est laissée en statut <strong><code>OPEN</code></strong> et devra donc être fermée à nouveau pour être réinjectée dans un traitement d’intégration à la Géoplateforme.</p>\n</div>\n<p>Cette précision faite, la récupération du rapport de validation s’effectue en deux appels :</p>\n<ul>\n<li>L’appel <code>GET https://data.geopf.fr/api/datastores/{datastore_id}/uploads/{upload_id}/tree</code> permet de détailler l’arborescence modifiée de la livraison initiale. L’utilisateur reçoit en retour, une réponse du type :<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DIRECTORY\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"source\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28162296</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"children\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FILE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"22232_PLU_20200124.zip\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28154363</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FILE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"__results.jsonl\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">7933</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span></code></pre>\nCe qui permet de déduire que le <strong>chemin d’accès au rapport</strong> de validation consécutif à cette validation est <code>source/__results.jsonl</code>. <strong>Cette information est utile pour le second appel.</strong></li>\n<li>L’appel <code>GET https://data.geopf.fr/api/datastores/{datastore_id}/uploads/{upload_id}/data?path=mon_path/__results.jsonl</code> permet grâce aux informations précédentes, d’obtenir un corps de réponse <span lang=\"en\"><em>multipart/form-data</em></span> donnant accès au rapport de validation. Cette requête prend en paramètre, en plus des classiques identifiants de datastore et de livraison, le chemin d’accès identifié ci-dessus, via un paramètre <strong><code>path</code></strong>.</li>\n</ul>\n<br>\n<h3 id=\"utiliser-le-traitement-dans-le-cadre-d-un-usage-avec-normalisation\" tabindex=\"-1\">Utiliser le traitement dans le cadre d’un usage avec normalisation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#utiliser-le-traitement-dans-le-cadre-d-un-usage-avec-normalisation\">#</a></h3>\n<h4 id=\"corps-de-requete-d-execution-du-traitement-1\" tabindex=\"-1\">Corps de requête d’exécution du traitement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#corps-de-requete-d-execution-du-traitement-1\">#</a></h4>\n<p>Pour utiliser le traitement de validation avec normalisation de donnée, on fournira à l’exécution de traitement un corps de requête du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"processing\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"cc923709-e34c-4fab-8ebd-7414a0ddbabf\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"inputs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"upload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"66a31282-d9cb-42c6-916f-a2b58c120a0c\"</span><span class=\"token punctuation\">]</span>     \n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"output\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"upload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Ma donnée normalisée\"</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"parameters\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"model\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://raw.githubusercontent.com/IGNF/validator-config-gpu/refs/heads/master/config/cnig_PLU_2017/files.json\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"is_compressed\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"max-errors\"</span><span class=\"token operator\">:</span> <span class=\"token number\">20</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"normalize\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"plugins\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"CNIG\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"encoding\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"UTF-8\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>L’appel en lui-même se fait, comme pour tout traitement, via l’appel API Entrepôt.</p>\n<p>Par rapport à l’exécution via l’API Validation on notera les différences suivantes :</p>\n<ul>\n<li>Les entrées <strong><code>inputs</code></strong> et <strong><code>output</code></strong> prennent un type <strong><code>upload</code></strong> renseigné par l’identifiant de la livraison qui va être validée.</li>\n<li>L’entrée <strong><code>output</code></strong> prend un type <strong><code>upload</code></strong> renseigné par un nom au choix pour créer un second jeu de données en sortie, jeu de données qui sera le jeu de données d’entrée modifié par l’ajout des éléments de normalisation. Après l’exécution de cette requête, le corps de réponse permet d’obtenir l’identifiant de la <strong>donnée d’<span lang=\"en\"><em>upload</em></span> normalisée</strong> qui sera produite. <strong>Cette information est à mettre de côté pour la phase « Récupération de la donnée normalisée ».</strong></li>\n<li>Dans les paramètres, on prendra soin de bien préciser :\n<ul>\n<li>Le paramètre <strong><code>is_compressed</code></strong> à <strong><code>true</code></strong> dans le cas où on fournit une archive compressée, sans quoi l’instruction de dézippage ne sera pas effectuée et le traitement sortira en erreur</li>\n<li>Le paramètre <strong><code>normalize</code></strong> à <strong><code>true</code></strong> pour produire la donnée normalisée en sortie</li>\n</ul>\n</li>\n<li>À noter que comme pour tout traitement, une instruction de notification par courriel peut être ajoutée, par exemple après l’instruction <strong><code>parameters</code></strong> en fournissant la syntaxe suivante :<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token property\">\"callback\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"email\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"to_address\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"une_adresse_electronique\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"une_autre_adresse_electronique\"</span>\n    <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre>\nCette instruction permet aux détenteurs des adresses électroniques mentionnées de recevoir un courriel de notification de fin de traitement que l’issue soit positive ou non.</li>\n</ul>\n<br>\n<h4 id=\"recuperation-du-rapport-de-validation-2\" tabindex=\"-1\">Récupération du rapport de validation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-du-rapport-de-validation-2\">#</a></h4>\n<p>Le rapport de validation est stocké directement dans le dossier de la <strong>livraison créée en sortie</strong>.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Pour ne pas préjuger de l’usage futur de la livraison ainsi validée, en sortie de traitement de validation, la livraison est laissée en statut <strong><code>OPEN</code></strong> et devra donc être fermée à nouveau pour être réinjectée dans un traitement d’intégration à la Géoplateforme.</p>\n</div>\n<p>Cette précision faite, la récupération du rapport de validation s’effectue en deux appels :</p>\n<ul>\n<li>L’appel <code>GET https://data.geopf.fr/api/datastores/{datastore_id}/uploads/{upload_id}/tree</code> permet de détailler l’arborescence modifiée de la livraison initiale. L’utilisateur reçoit en retour, une réponse du type :<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DIRECTORY\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"validation\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28162296</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"children\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FILE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"22232_PLU_20200124.zip\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">28154363</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"FILE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"__results.jsonl\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">7933</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span></code></pre>\nCe qui permet de déduire que le <strong>chemin d’accès au rapport</strong> de validation consécutif à cette validation est <code>validation/__results.jsonl</code>. <strong>Cette information est utile pour le second appel.</strong></li>\n<li>L’appel <code>GET https://data.geopf.fr/api/datastores/{datastore_id}/uploads/{upload_id}/data?path=mon_path/__results.jsonl</code> permet grâce aux informations précédentes, d’obtenir un corps de réponse <span lang=\"en\"><em>multipart/form-data</em></span> donnant accès au rapport de validation. Cette requête prend en paramètre, en plus des classiques identifiants de datastore et de livraison, le chemin d’accès identifié ci-dessus, via un paramètre <strong><code>path</code></strong>.</li>\n</ul>\n<br>\n<h4 id=\"recuperation-de-la-donnee-normalisee-1\" tabindex=\"-1\">Récupération de la donnée normalisée <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/validation/#recuperation-de-la-donnee-normalisee-1\">#</a></h4>\n<p>La récupération du jeu de données normalisé suit exactement le même processus que celui de récupération du rapport de validation.</p>\n<p>Il convient simplement d’adapter la partie du chemin qui sera récupéré.</p>\n",
        "date_published": "2026-08-07T09:54:14Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/",
        "title": "Extraction",
        "content_html": "<h2 id=\"presentation\" tabindex=\"-1\">Présentation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#presentation\">#</a></h2>\n<p>Le service d’extraction vecteur de la Géoplateforme est disponible au travers d’une API REST répondant au standard OGC API Processes.</p>\n<p>Il permet à un utilisateur authentifié de la Géoplateforme de réaliser un export de données vecteur en sélectionnant lui-même quelles tables, quels champs attributaires de ces tables et/ou quelle emprise spatiale de ces tables il souhaite exporter. L’utilisateur choisit en plus quelle est la projection de sortie de ses données ainsi que le format de donnée qu’il récupère parmi : Shapefile, GeoPackage, GeoJSON, GeoParquet, GML ou PGDUMP.</p>\n<p>La liste des données extractibles est conditionnée à l’utilisateur connecté. Ce dernier peut disposer de données accessibles à l’ensemble des utilisateurs de la Géoplateforme tout comme il peut disposer de données extractibles spécifiquement pour son profil. Ce choix de mise à disposition est fait par le producteur de données. Cet aspect fait l’objet de la dernière rubrique de la présente documentation.</p>\n<p>Le fonctionnement de l’API d’extraction vecteur de la Géoplateforme est donc intimement lié à celui de l’API Entrepôt de la Géoplateforme.</p>\n<h2 id=\"quand-utiliser-ce-service\" tabindex=\"-1\">Quand utiliser ce service ? <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#quand-utiliser-ce-service\">#</a></h2>\n<p>L’usage de ce service est à privilégier lorsque les lots de données prêts à télécharger (via le service de téléchargement de la Géoplateforme) ne correspondent pas à votre périmètre de travail ou que le temps nécessaire à la récréation de ce lot de données selon votre périmètre de travail est plus court via le service d’extraction.</p>\n<p>Par exemple :</p>\n<ul>\n<li>Vous travaillez pour un EPCI qui est à cheval sur 2 ou 3 départements et vous souhaitez télécharger la BD TOPO® de votre territoire : il sera plus rapide de réaliser l’extraction de la BD TOPO® à l’emprise de votre territoire que de télécharger les trois départements complets pour ne conserver que les quelques communes qui vous intéressent.</li>\n<li>Vous travaillez à l’échelle d’une région et le lot de données qui vous intéresse n’est disponible qu’au niveau départemental : il est vraisemblablement plus intéressant de continuer à utiliser le service de téléchargement en récupérant chaque département pour les agréger ensuite localement.</li>\n</ul>\n<br>\n<h2 id=\"acces-au-swagger\" tabindex=\"-1\">Accès au swagger <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#acces-au-swagger\">#</a></h2>\n<p>La documentation <span lang=\"en\"><em>swagger</em></span> permettant d’accéder aux détails des routes et paramètres pour réaliser une extraction vecteur est accessible ici :</p>\n<ul>\n<li>Pour l’API Entrepôt (partie « Accéder aux ressources extractibles » et « Pour un producteur de données ») : <a href=\"https://data.geopf.fr/api/swagger-ui/index.html\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://data.geopf.fr/api/swagger-ui/index.html - ouvre une nouvelle fenêtre\">https://data.geopf.fr/api/swagger-ui/index.html</a></li>\n<li>Pour l’API d’extraction vecteur (le reste de cette documentation) : <a href=\"https://data.geopf.fr/extraction/swagger-ui/index.html\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"https://data.geopf.fr/extraction/swagger-ui/index.html - ouvre une nouvelle fenêtre\">https://data.geopf.fr/extraction/swagger-ui/index.html</a></li>\n</ul>\n<br>\n<h2 id=\"limites-d-usage\" tabindex=\"-1\">Limites d’usage <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#limites-d-usage\">#</a></h2>\n<p>Chaque compte utilisateur de la Géoplateforme ne peut exécuter qu’une seule extraction en même temps. Une extraction est considérée comme terminée et le quota réinitialisé dès lors que l’extraction s’est terminée en succès ou en échec.</p>\n<p>Par ailleurs le service est configuré de telle sorte que, pour l’ensemble des utilisateurs déclenchant une extraction, 20 extractions peuvent tourner en simultané. Cela implique la constitution d’une file d’attente dès lors que ce quota est rempli et donc des temps de mise à disposition des extractions de chacun qui peuvent être conjoncturellement rallongés.</p>\n<h2 id=\"generalites-liees-au-standard-ogc-api-processes\" tabindex=\"-1\">Généralités liées au standard OGC API Processes <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#generalites-liees-au-standard-ogc-api-processes\">#</a></h2>\n<h3 id=\"capabilities\" tabindex=\"-1\">Capabilities <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#capabilities\">#</a></h3>\n<p>L’URL de <span lang=\"en\"><em>capabilities</em></span> correspond à la racine du service : <code>https://data.geopf.fr/extraction</code></p>\n<p>Conformément au standard OGC API Processes, cette URL référence les URL de niveau immédiatement inférieur :</p>\n<ul>\n<li>Lien vers le <span lang=\"en\"><em>swagger</em></span></li>\n<li>Lien vers l’URL de conformité</li>\n<li>Lien vers la liste des process d’extraction</li>\n<li>Lien vers la liste des travaux d’extraction</li>\n</ul>\n<br>\n<h3 id=\"conformance\" tabindex=\"-1\">Conformance <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#conformance\">#</a></h3>\n<p>L’URL de conformance (ou conformité) renvoie vers les pages des différentes parties du standard OGC avec lesquelles cette API est conforme.</p>\n<p>L’accès à cette information n’est pas strictement nécessaire à l’exécution d’une extraction vecteur.</p>\n<h2 id=\"acceder-aux-ressources-extractibles-et-obtenir-les-infos-cles-nom-des-tables-projection-structure-attributaire\" tabindex=\"-1\">Accéder aux ressources extractibles et obtenir les infos clés (nom des tables, projection, structure attributaire) <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#acceder-aux-ressources-extractibles-et-obtenir-les-infos-cles-nom-des-tables-projection-structure-attributaire\">#</a></h2>\n<p>Pour connaitre la liste des données qui lui sont accessibles en extraction, un utilisateur dispose de deux routes <strong>API Entrepôt</strong> :</p>\n<ul>\n<li><code>GET https://data.geopf.fr/api/users/me/stored_data</code> : Permet d’obtenir la liste de l’ensemble des données qui me sont accessibles, possiblement en restreignant cette liste selon différents critères</li>\n<li><code>GET https://data.geopf.fr/api/users/me/stored_data/{stored_data}</code> : À partir de la route précédente, on obtient un identifiant de données <code>_id</code> qui sera placé en paramètre obligatoire permettant d’avoir le détail de cette donnée</li>\n</ul>\n<br>\n<p>Pour l’ensemble des paramètres et valeurs de ces paramètres vous êtes invités à consulter le <strong><span lang=\"en\"><em>swagger</em></span></strong>.</p>\n<p>Néanmoins, ces routes ayant des usages qui vont au-delà de la seule API d’extraction, on va faire ici un zoom sur quelques paramètres qui peuvent être mobilisés à bon escient pour faciliter l’identification d’une ressource à extraire.</p>\n<h3 id=\"parametres-et-valeurs-d-interet-pour-identifier-une-donnee-extractible\" tabindex=\"-1\">Paramètres et valeurs d’intérêt pour identifier une donnée extractible <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#parametres-et-valeurs-d-interet-pour-identifier-une-donnee-extractible\">#</a></h3>\n<p>Les paramètres que l’on mentionne ici sont exclusivement à mobiliser dans la requête :</p>\n<p><code>GET https://data.geopf.fr/api/users/me/stored_data</code></p>\n<p>Ils sont listés dans l’ordre d’apparition dans le <span lang=\"en\"><em>swagger</em></span>.</p>\n<ul>\n<li><code>type</code> et <code>VECTOR-DB</code> : Permet de restreindre la liste des résultats aux seules données mobilisables par l’API d’extraction : des données de type vecteur.</li>\n<li><code>name</code> : Permet d’identifier une donnée par son nom. Le <strong>caractère joker « <code>%</code> »</strong> permet la recherche sur un contenu partiel. La chaine de texte à préciser est <strong>insensible à la casse</strong>. Ainsi, une chaine <code>%BD%TOPO%</code> trouvera des données comme <code>Ma BDTOPO</code>, <code>BD TOPO</code> ou encore <code>BDTOPO_septembre_2025</code>.</li>\n<li><code>lon</code> et <code>lat</code> : Où des coordonnées latitude - longitude (EPSG : WGS84 en degrés décimaux) d’un point d’intérêt sont intersectées avec l’emprise des données : si le point est intersecté, la donnée est listée, sinon elle n’est pas listée.</li>\n<li><code>before</code> et/ou <code>after</code> : Permet de ne conserver que les données créées avec une certaine actualité de date.</li>\n<li><code>page</code> et <code>limit</code> : Comme tous les résultats de l’API Entrepôt, les résultats de cette route sont paginés. La première page porte le numéro 1, et la limite est fixée à 10 éléments par défaut, 50 éléments au maximum. Pensez à bien parcourir les pages pour vous assurer que votre résultat attendu ne se situe pas en page 2 ou plus loin encore.</li>\n</ul>\n<br>\n<h3 id=\"attributs-d-interet-d-une-donnee-extractible-pour-preparer-l-extraction\" tabindex=\"-1\">Attributs d’intérêt d’une donnée extractible pour préparer l’extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#attributs-d-interet-d-une-donnee-extractible-pour-preparer-l-extraction\">#</a></h3>\n<p>Une fois la donnée d’intérêt identifiée ci-dessus et son <code>_id</code> récupéré, il peut être injecté dans la requête de détail :</p>\n<p><code>GET https://data.geopf.fr/api/users/me/stored_data/{stored_data}</code></p>\n<p>Où <code>{stored_data}</code> sera remplacé par la valeur de cet <code>_id</code> sans les doubles quotes.</p>\n<p>On obtient en réponse, un contenu du type suivant (toujours en JSON) :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"creation\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-09-03T14:14:23.666532Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Pays et écorégions\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"VECTOR-DB\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:4326\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"contact\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"email\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"extent\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"geometry\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"MultiPolygon\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"coordinates\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                <span class=\"token comment\">// une série de coordonnées en WGS84</span>\n            <span class=\"token punctuation\">]</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Feature\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">9912320</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"GENERATED\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"c746ce1d-e38c-42c4-a9a3-ef34d5bbea40\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type_infos\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"relations\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ecoregions\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"TABLE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                    <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"integer\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"fid\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"bigint\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"nnh\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"integer\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"geom\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"geometry(MultiPolygon,4326)\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"color\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"character varying\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"realm\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"character varying\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token comment\">// …</span>\n                <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"primary_key\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                    <span class=\"token string\">\"ogc_fid\"</span>\n                <span class=\"token punctuation\">]</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"pays\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"TABLE\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                    <span class=\"token property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"integer\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"un\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"integer\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"fid\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"bigint\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"lat\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"double precision\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token comment\">// …</span>\n                <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"primary_key\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                    <span class=\"token string\">\"ogc_fid\"</span>\n                <span class=\"token punctuation\">]</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Parmi les attributs en résultat certains sont particulièrement utiles pour préparer son extraction.</p>\n<p>Ces attributs intéressants sont listés ci-dessous dans l’ordre dans lequel on les trouve dans la réponse :</p>\n<ul>\n<li>\n<p><code>srs</code> : Donne le code EPSG de la projection des données que l’on va extraire. Cette information est particulièrement utile dans le cas où on prévoit d’employer un filtre spatial.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Il sera intéressant pour des questions de performance, de fournir la géométrie de filtrage dans la même projection que celle des données stockées sur la Géoplateforme.</p>\n</div>\n</li>\n<li>\n<p><code>extent</code> : Il s’agit de la géométrie en GeoJSON, décrivant de manière détaillée, l’emprise des données disponibles. Là aussi, si un filtre spatial est envisagé, il peut être utile de tester en amont, que la géométrie de filtrage envisagée recoupe la géométrie de la donnée source, au risque sinon de se retrouver avec un export vide.</p>\n</li>\n<li>\n<p><code>type_infos</code> et <code>relations</code> : C’est le cœur de la réponse qui présente un intérêt particulier pour préparer l’export puisque c’est dans cette partie que l’on va trouver la liste de tables exportables :</p>\n<ul>\n<li><code>name</code> : Le nom de la table sera systématiquement <strong>en minuscule et sans espace ni caractères spéciaux</strong>.</li>\n<li><code>attributes</code> : Il s’agit d’un objet JSON dont le contenu est le nom de chaque champ et son type en base de données. Il faut donc prévoir d’extraire cette liste d’attributs qui devra être mentionnée, pour chaque table, soit en totalité, soit sur une sélection d’intérêt, dans la déclaration du processus d’extraction. L’information du type aura son intérêt en cas d’utilisation d’un ou plusieurs champs dans la clause de filtrage d’extraction pour adapter les fonctions et la syntaxe à mobiliser en fonction du type de champ. Idem pour le type de géométrie (et notamment la présence d’une coordonnée Z qui peut jouer sur le comportement de certaines fonctions spatiales).</li>\n</ul>\n</li>\n</ul>\n<br>\n<h2 id=\"lier-une-donnee-extractible-a-son-processus-d-extraction\" tabindex=\"-1\">Lier une donnée extractible à son processus d’extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#lier-une-donnee-extractible-a-son-processus-d-extraction\">#</a></h2>\n<p>Lors de l’étape précédente on a donc isolé un identifiant de donnée extractible sous l’attribut <code>_id</code> et prenant la forme d’un UUID.</p>\n<p>En basculant sur l’<strong>API d’extraction vecteur</strong>, la route est :</p>\n<p><code>GET https://data.geopf.fr/extraction/processes</code></p>\n<p>On récupère une liste de processus d’extraction décrits par :</p>\n<ul>\n<li>Un <code>_id</code> identifiant de manière unique un processus d’extraction lié à une donnée particulière</li>\n<li>Un <code>title</code> mentionnant « Extraction vecteur depuis » + l’attribut <code>name</code> de la donnée extractible identifiée plus haut</li>\n<li>Une <code>description</code> reprenant la description de la donnée extractible identifiée plus haut.</li>\n<li>Un ensemble de deux <code>links</code> pointant d’une part vers la route de détail de tel ou tel processus d’extraction, ainsi que la route de détail de la donnée extractible qui y est lié</li>\n<li>Restent deux attributs propres au standard API Processes : <code>outputTransmission</code> et <code>jobControlOptions</code> de type tableau et qui vaudront toujours respectivement <code>reference</code> et <code>async-execute</code></li>\n</ul>\n<br>\n<p>L’information clé à extraire ici est la valeur du bon <code>_id</code> qui correspond à celui de la donnée que l’on souhaite extraire.</p>\n<p>Or un identifiant <code>_id</code> est toujours composé de la même manière : « identifiant du traitement générique d’extraction » + « <code>_</code> » + « identifiant de la donnée à extraire ». La valeur de <code>_id</code> du traitement générique d’extraction étant <code>8ab6236b-21d8-471a-a07b-f84a5921f9f5</code>, <strong>il suffit donc de construire l’identifiant de l’extraction comme <code>8ab6236b-21d8-471a-a07b-f84a5921f9f5</code> + « <code>_</code> » + « identifiant de la donnée d’intérêt »</strong>.</p>\n<h2 id=\"obtenir-les-details-parametres-mobilisables-d-un-processus-d-extraction\" tabindex=\"-1\">Obtenir les détails (paramètres mobilisables) d’un processus d’extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#obtenir-les-details-parametres-mobilisables-d-un-processus-d-extraction\">#</a></h2>\n<p>Sur l’API d’extraction vecteur, la route est :</p>\n<p><code>GET https://data.geopf.fr/extraction/processes/{processID}</code></p>\n<p>Elle permet d’obtenir, en plus des informations précédentes, les informations suivantes :</p>\n<ul>\n<li><code>version</code> : La version du traitement, actuellement <code>1.0.0</code>.</li>\n<li><code>inputs</code> : Liste l’ensemble des paramètres pour configurer une extraction. Chacun de ces paramètres sera détaillé dans la rubrique « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#parametrer-une-extraction\">Paramétrer une extraction</a> ». L’information à retenir ici est que l’on trouve pour chaque paramètre, son nom, une description de son impact et des valeurs attendues ainsi que de son caractère obligatoire ou pas, cette information est donnée par l’élément <code>minOccur</code>. Si <code>minOccur</code> est à 1, alors le paramètre est obligatoire, si <code>minOccur</code> vaut 0, le paramètre est facultatif.</li>\n<li><code>outputs</code> : Définit le contenu des sorties, on retrouve systématiquement un log d’export, un résumé d’extraction en JSON et en cas de succès un résultat téléchargeable sur une instance du service de téléchargement Géoplateforme, correspondant à un flux ATOM XML.</li>\n</ul>\n<br>\n<h2 id=\"parametrer-une-extraction\" tabindex=\"-1\">Paramétrer une extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#parametrer-une-extraction\">#</a></h2>\n<p>Grâce aux informations accumulées aux étapes précédentes, il est possible de paramétrer et déclencher sa première extraction.</p>\n<p>La configuration de l’extraction et son déclenchement se font en un seul et même appel API via la route :</p>\n<p><code>POST https://data.geopf.fr/extraction/processes/{processID}/execution</code></p>\n<p>On configure, dans le corps de requête ci-dessous, une extraction type pour une donnée contenant deux tables de données.</p>\n<p>On trouvera au-dessous de ce corps de requête type, un descriptif détaillé et exhaustif des différents paramètres et leur contenu.</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"inputs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"relations\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"table_1\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                    <span class=\"token string\">\"attribut1\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token string\">\"attribut2\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token string\">\"attribut3\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token comment\">// …</span>\n                    <span class=\"token string\">\"attribut_geometrie\"</span>\n                <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"filters\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ST_intersects(attribut_geometrie,st_transform(st_setsrid('POLYGON ((893173.37413014 6245898.77978964,897816.865990493 6246039.4916642,897852.043959132 6241747.77949023,893208.552098779 6241501.53370976,893208.552098779 6241501.53370976,893173.37413014 6245898.77978964))'::geometry,2154),2154)) AND attribut1='Valeur texte de filtrage'\"</span> \n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"table_2\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n                    <span class=\"token string\">\"attribut1\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token string\">\"attribut2\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token string\">\"attribut3\"</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token comment\">// …</span>\n                    <span class=\"token string\">\"attribut_geometrie\"</span>\n                <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"filters\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ST_intersects(attribut_geometrie,st_transform(st_setsrid('POLYGON ((893173.37413014 6245898.77978964,897816.865990493 6246039.4916642,897852.043959132 6241747.77949023,893208.552098779 6241501.53370976,893208.552098779 6241501.53370976,893173.37413014 6245898.77978964))'::geometry,2154),2154))\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"format\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"GPKG\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"append\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"compression\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"7zip\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:3857\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"lifetime\"</span><span class=\"token operator\">:</span> <span class=\"token number\">336</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"outputs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"logs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"summary\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"extractedData\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Dans la partie <code>inputs</code> du corps de requête, on va donc trouver les paramètres d’entrée du traitement. Cette partie sera la plus détaillée.</p>\n<p>La partie <code>outputs</code> ayant un comportement autonome, on ne la détaillera pas, elle doit être reprise telle que mentionnée dans le corps de requête exemple pour chaque extraction.</p>\n<p>Dans la partie <code>inputs</code> donc :</p>\n<ul>\n<li>\n<p>Le paramètre <code>relations</code> définit sous la forme d’un objet (sa déclaration commence par un caractère « <code>{</code> » et se termine par un caractère « <code>}</code> ») la liste des tables qui vont être exportées. Chaque table exportée devient elle-même un objet de la forme :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token property\">\"nom_technique_table\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span> \n    <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token comment\">// une liste nommant les attributs que l’on veut conserver</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"filters\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"syntaxe de filtrage\"</span> \n<span class=\"token punctuation\">}</span></code></pre>\n<ul>\n<li>\n<p>Le nom technique de la table et la liste des attributs, pour rappel, sont identifiés via la rubrique « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#acceder-aux-ressources-extractibles-et-obtenir-les-infos-cles-nom-des-tables-projection-structure-attributaire\">Accéder aux ressources extractibles et obtenir les infos clés (nom des tables, projection, structure attributaire)</a> ».</p>\n</li>\n<li>\n<p>La liste des <code>attributes</code> débute par un « <code>[</code> » et se termine par un « <code>]</code> ». Elle reprend le nom technique de chaque attribut, <strong>entre doubles quotes</strong>, étant <strong>séparé du précédent par une virgule</strong>. Si on souhaite exporter <strong>tous les attributs</strong>, on doit <strong>mentionner explicitement chaque attribut</strong>.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>La syntaxe SQL n’est pas autorisée dans cette partie. La géométrie étant un champ attributaire comme un autre, si on souhaite un export spatial, il faut mentionner le champ géométrie dans cette partie.</p>\n</div>\n</li>\n<li>\n<p>Le paramètre <code>filters</code> contient entre doubles quotes, une <strong>syntaxe</strong> PostgreSQL/PostGIS permettant de filtrer les objets d’une couche. Tout ce qu’il est possible de faire dans un <strong><code>WHERE</code> PostgreSQL/PostGIS mono-couche</strong> est autorisé.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>L’appel d’une sous-requête n’est pas permis. Les requêtes multi-tables ne sont pas permises. La combinaison de requêtes spatiales et/ou de requêtes spatiales avec des critères alphanumériques ou de date est tout à fait admise.</p>\n</div>\n<p>L’utilisateur est invité à se référer à la documentation en ligne de PostgreSQL/PostGIS pour en savoir plus sur les fonctions et syntaxes associées mobilisables et ce pour les versions suivantes de PostgreSQL : v12 et de PostGIS : v3.3.</p>\n</li>\n</ul>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Plus le critère de filtrage est complexe, plus l’export est long. Nous invitons donc chaque utilisateur à mesurer la complexité de ses critères de filtrage en recherchant l’optimisation de chaque processus.</p>\n</div>\n</li>\n<li>\n<p>Le paramètre <code>format</code> précise le format d’export des données. Seules sont autorisées les valeurs entre doubles quotes suivantes :</p>\n<ul>\n<li><code>GPKG</code> (GeoPackage)</li>\n<li><code>GML</code> (Geography Markup Language)</li>\n<li><code>GEOJSON</code></li>\n<li><code>ESRI SHAPEFILE</code></li>\n<li><code>PARQUET</code> (GeoParquet)</li>\n<li><code>PGDUMP</code> (Format de sauvegarde PostgreSQL/PostGIS compatible avec les utilitaires de remontée en base locale tels que pg_restore ou psql)</li>\n</ul>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Chaque format est à préciser tel que mentionné ci-dessus (sensible à la casse) et entre doubles quotes.</p>\n</div>\n</li>\n<li>\n<p>Le paramètre <code>append</code> doit être compris comme étant combiné (et donc dépendant) avec le paramètre <code>format</code>. Il s’agit d’un paramètre booléen qui prend donc <strong>en valeur soit <code>true</code> soit <code>false</code></strong>. L’emploi de la valeur <code>true</code> n’est <strong>compatible</strong> qu’avec les formats qui peuvent être multicouches, à savoir <strong>GPKG</strong> et <strong>PGDUMP</strong>. Si la valeur <code>true</code> est employée avec un autre format, elle ne sera pas prise en compte, c’est-à-dire que le traitement ne déclenchera pas d’erreur, mais on obtiendra en sortie un fichier par table demandée dans l’objet relations.</p>\n</li>\n<li>\n<p>Le paramètre <code>compression</code> prend comme unique valeur possible <code>7zip</code>. En étant mentionné, il permet d’obtenir un résultat compressé, donc possiblement (suivant le format choisi) beaucoup moins volumineux et donc plus rapide à récupérer. À noter que <strong>la compression va automatiquement découper le résultat en fichiers d’archive de 4 Go chacun maximum</strong>. Donc si le résultat d’export fait 7 Go, l’utilisateur aura à récupérer en intégralité un fichier <code>mon_fichier.001.7z</code> et un fichier <code>mon_fichier.002.7z</code> avant de pouvoir exploiter l’export depuis son environnement.</p>\n</li>\n<li>\n<p>Le paramètre <code>srs</code> permet de produire une extraction dans une projection différente de celle de la donnée stockée sur la Géoplateforme. La valeur attendue est un code EPSG entre double quotes sous la forme <code>EPSG:code_proj</code>. Attention au fait que <strong>toute demande de reprojection induit un allongement du temps d’export</strong>. Il convient donc de mentionner ce paramètre à bon escient, suivant la projection des données d’entrée et seulement en cas de réelle utilité.</p>\n</li>\n<li>\n<p>Le paramètre <code>lifetime</code> permet de paramétrer la durée de rétention du résultat d’un export une fois celui-ci réalisé. La valeur de ce paramètre s’entend en heures. Sa valeur est comprise entre 7 et 336 (soit 14 jours). Passé l’expiration de ce délai, le résultat de l’extraction est automatiquement supprimé du point de diffusion et l’utilisateur devra renouveler sa demande d’extraction. Il convient là aussi à chacun de rechercher le strict délai de rétention qui convient à son cas de figure et ne pas faire porter à la Géoplateforme un fichier qui sera récupéré dès le lendemain de son extraction.</p>\n</li>\n</ul>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Lors de l’exécution de cette requête, <strong>un contrôle des informations saisies est réalisé</strong> : le nom des tables est-il cohérent avec le processus appelé ? Les attributs sont-ils là aussi bien présents ? Le format déclaré est-il connu ? etc. En revanche, <strong>aucune cohérence de la clause de filtrage n’est effectuée</strong> tant en termes de pure <strong>syntaxe PostgreSQL</strong> que de <strong>capacité de ce filtre à alimenter concrètement un export</strong> avec de la donnée. Autrement dit, il est possible que la clause de filtrage que l’utilisateur va déterminer <strong>déclenche un export vide</strong>.</p>\n</div>\n<h2 id=\"exploiter-la-reponse-de-la-demande-d-execution-de-traitement\" tabindex=\"-1\">Exploiter la réponse de la demande d’exécution de traitement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#exploiter-la-reponse-de-la-demande-d-execution-de-traitement\">#</a></h2>\n<p>En retour de l’exécution de la requête d’extraction, l’utilisateur reçoit une réponse du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"jobID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"d9f4c2d7-c73c-405c-9a8c-c33e6f29c9db\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"running\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Extraction des données demandées en cours\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"created\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-10-13T14:55:07.278666682Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"updated\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-10-13T14:55:07.278666682Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"links\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"rel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"describedBy\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/json\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Job d9f4c2d7-c73c-405c-9a8c-c33e6f29c9db\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"href\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/jobs/d9f4c2d7-c73c-405c-9a8c-c33e6f29c9db\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"started\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-10-13T14:55:07.278666682Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"processID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"8ab6236b-21d8-471a-a07b-f84a5921f9f5_50edff37-30c7-4ce6-8a4a-8ca960a43974\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"process\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<ul>\n<li><code>jobID</code> : Cette information doit être conservée pour suivre l’exécution du traitement et récupérer les résultats</li>\n<li><code>status</code> : Donne l’état de déroulement du traitement, en sortie d’exécution le statut prendra la valeur <code>running</code></li>\n<li><code>message</code> : Donne en texte clair l’état du traitement, ce message est seulement disponible en français</li>\n<li><code>created</code>, <code>updated</code> et <code>started</code> : Des informations d’horodatage de déclenchement du traitement et de lancement concret de l’exécution du traitement</li>\n<li><code>links</code> : Donne le lien vers la route d’API qui permet de suivre l’exécution du traitement</li>\n<li><code>processID</code> : Rappel de l’identifiant du process d’exécution qui a été mobilisé pour l’export</li>\n<li><code>type</code> : Information relative au standard OGC, toujours de valeur <code>process</code></li>\n</ul>\n<br>\n<h2 id=\"suivre-le-deroule-de-l-extraction\" tabindex=\"-1\">Suivre le déroulé de l’extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#suivre-le-deroule-de-l-extraction\">#</a></h2>\n<p>Une fois le traitement d’extraction démarré par l’exécution de la requête précédente, il est possible, voire utile de suivre le déroulé des opérations via la route :</p>\n<p><code>GET https://data.geopf.fr/extraction/jobs/{jobID}</code></p>\n<p>L’utilisateur reçoit un retour qui ressemble trait pour trait au retour reçu à l’étape précédente et ce jusqu’à ce que l’extraction termine en échec ou en succès, auquel cas il obtiendra un retour de ce type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"jobID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"38d43c19-d974-42ba-9d9b-11cf524b5b61\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"failed\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"message\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Erreur lors de l’extraction des données\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"created\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-11-25T13:37:20.845151Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"finished\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-11-25T13:40:27.769106Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"updated\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-11-25T13:40:28.459020Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"links\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"rel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"self\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/json\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Job 38d43c19-d974-42ba-9d9b-11cf524b5b61\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"href\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/jobs/38d43c19-d974-42ba-9d9b-11cf524b5b61\"</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"rel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"describedBy\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/json\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Résultats du job 38d43c19-d974-42ba-9d9b-11cf524b5b61\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"href\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"/jobs/38d43c19-d974-42ba-9d9b-11cf524b5b61/results\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"started\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2025-11-25T13:37:20.845151Z\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"processID\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"8ab6236b-21d8-471a-a07b-f84a5921f9f5_50edff37-30c7-4ce6-8a4a-8ca960a43974\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"process\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>En plus des informations détaillées à l’étape précédente on retrouve :</p>\n<ul>\n<li><code>finished</code>, un élément d’horodatage de la fin du traitement. En cas de demande d’extraction récurrente il est utile d’observer le différentiel <code>created - finished</code> pour le cas échéant adapter l’horaire de déclenchement de son extraction</li>\n<li><code>status</code> qui a évolué soit vers une valeur <code>successful</code> soit vers une valeur <code>failed</code></li>\n<li>dans <code>links</code>, un second élément dans le tableau de réponse, décrit par <code>&quot;rel&quot;: &quot;describedBy&quot;</code> et qui permet d’obtenir directement la route d’API à exécuter pour prendre connaissance du résultat ou du log d’erreur en cas d’échec</li>\n</ul>\n<br>\n<h2 id=\"recuperer-le-resultat-de-l-extraction\" tabindex=\"-1\">Récupérer le résultat de l’extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#recuperer-le-resultat-de-l-extraction\">#</a></h2>\n<p>Une fois le traitement terminé à l’étape précédente, on peut donc exécuter la route d’obtention des résultats via :</p>\n<p><code>GET https://data.geopf.fr/extraction/jobs/{jobID}/results</code></p>\n<p>On reçoit alors un retour du type :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"logs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"[\\\"2025-12-04 10:32:19,317INFO||gpf-extraction-vector-db||7||Ouverture du fichier de configuration\\\",\\\"2025-12-04 10:32:19,331INFO||cli||224||Extraction de données vecteurs\\\",\\\"2025-12-04 10:32:19,568INFO||cli||224||Création de l’utilisateur temporaire\\\",\\\"2025-12-04 10:32:19,613INFO||cli||224||Début des traitements : 2025-12-04T10:32:19Z\\\",\\\"2025-12-04 10:44:17,555INFO||cli||224||Fin des traitements : 2025-12-04T10:44:17Z\\\",\\\"2025-12-04 10:44:17,556INFO||cli||224||Génération et upload du fichier de métadonnées\\\",\\\"2025-12-04 10:44:17,649INFO||cli||224||Copie des données vers le S3\\\",\\\"2025-12-04 10:45:24,393INFO||core||612||Calcul et upload du fichier __descriptor.json\\\",\\\"2025-12-04 10:45:25,991INFO||core||612||Mise à jour des informations de la données stockée\\\",\\\"2025-12-04 10:45:25,991INFO||cli||224||Suppression de l’utilisateur temporaire\\\"]\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"summary\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"rel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"describedBy\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/json\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Informations sur le processus d’extraction\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"href\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/extraction/telechargement/download/extraction_b1f8cdc1-7dd3-4536-a4aa-d484c8023878/data/extraction.json\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"extractData\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"rel\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"describedBy\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/atom+xml\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Résultats du processus d’extraction\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"href\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/extraction/telechargement/resource/extraction_b1f8cdc1-7dd3-4536-a4aa-d484c8023878/data\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<ul>\n<li><code>logs</code> : Donne un résumé des grandes étapes du traitement en cas de succès ou un focus sur l’erreur rencontrée.</li>\n<li><code>summary</code> : Donne accès à un résumé JSON de l’extraction : horodatage de début et de fin, format demandé, liste des tables extraites notamment.</li>\n<li><code>extractData</code> : Donne accès au lien de téléchargement des ressources extraites. La manipulation de cette URL est identique à celle réalisée pour le service de téléchargement générique de la Géoplateforme. L’utilisateur est invité à se reporter à la documentation dédiée se rapportant à ce service pour plus d’informations.</li>\n</ul>\n<br>\n<h2 id=\"operations-annexes\" tabindex=\"-1\">Opérations annexes <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#operations-annexes\">#</a></h2>\n<h3 id=\"retrouver-une-extraction\" tabindex=\"-1\">Retrouver une extraction <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#retrouver-une-extraction\">#</a></h3>\n<p>Si l’utilisateur a raté l’étape « Exploiter la réponse de la demande d’exécution de traitement » ou pour toute nécessité de se référer à un traitement déjà lancé, il est possible de retrouver un traitement via la route :</p>\n<p><code>GET https://data.geopf.fr/extraction/jobs</code></p>\n<p>Cette recherche est filtrable par :</p>\n<ul>\n<li>Une liste d’identifiants de processes.</li>\n<li>Une liste de statuts d’exécution du traitement.</li>\n<li>Une date et heure ou un intervalle de date au format ISO 8601 sur lequel le traitement s’est exécuté. En ce qui concerne la syntaxe attendue pour le filtrage de date, on a :\n<ul>\n<li>Pour une seule date, il faut fournir une valeur du type <code>AAAA-MM-JJTHH:mm:ss.00Z</code></li>\n<li>Pour un intervalle la syntaxe sera <code>AAAA-MM-JJTHH:mm:ss.00Z/AAAA-MM-JJTHH:mm:ss.00Z</code> en notant que l’intervalle peut être ouvert des deux côtés en remplaçant la date par « <code>..</code> » ce qui donne <code>AAAA-MM-JJTHH:mm:ss.00Z/..</code> pour trouver les exécutions lancées après telle date ou <code>../AAAA-MM-JJTHH:mm:ss.00Z</code> pour les exécutions avant telle date</li>\n</ul>\n</li>\n<li>Une durée minimale ou maximale de traitement (fournie en seconde).</li>\n<li>Comme toute route d’API Géoplateforme, les résultats sont paginés : première page à 1, limite d’éléments par page à 10 par défaut, 50 maximum. On récupère en résultat, pour un traitement, le même retour que celui décrit dans « <a href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#suivre-le-deroule-de-l-extraction\">Suivre le déroulé de l’extraction</a> ».</li>\n</ul>\n<br>\n<h3 id=\"stopper-une-extraction-en-cours\" tabindex=\"-1\">Stopper une extraction en cours <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#stopper-une-extraction-en-cours\">#</a></h3>\n<p>En cas de nécessité, un utilisateur peut stopper l’exécution d’un traitement via la route :</p>\n<p><code>DELETE https://data.geopf.fr/extraction/jobs/{jobID}</code></p>\n<p>L’ensemble des résultats liés éventuellement à ce traitement sont supprimés.</p>\n<p>Le quota d’extraction disponible à l’utilisateur est instantanément libéré.</p>\n<p>Une trace de ce traitement annulé est conservée via la route <code>GET https://data.geopf.fr/extraction/jobs</code>, les traitements annulés pouvant être retrouvés en filtrant sur le statut <code>DISMISSED</code>.</p>\n<h2 id=\"pour-un-producteur-de-donnees-rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur\" tabindex=\"-1\">Pour un producteur de données : Rendre une donnée extractible via l’API d’extraction vecteur <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#pour-un-producteur-de-donnees-rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur\">#</a></h2>\n<p>Un producteur de données peut choisir de rendre sa donnée exportable via l’API d’extraction soit à l’ensemble des utilisateurs de la Géoplateforme, soit aux membres de certaines communautés.</p>\n<p>Dans tous les cas, à l’échelle de l’entrepôt Géoplateforme, le niveau qui est rendu extractible est le niveau <code>stored_data</code>. Vous êtes invités à vous référer à la documentation dédiée aux concepts de la Géoplateforme si vous souhaitez en savoir plus à ce sujet.</p>\n<h3 id=\"rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur-a-tous-les-utilisateurs\" tabindex=\"-1\">Rendre une donnée extractible via l’API d’extraction vecteur à tous les utilisateurs <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur-a-tous-les-utilisateurs\">#</a></h3>\n<p>Pour rendre une donnée extractible à l’ensemble des utilisateurs Géoplateforme, le producteur de données doit ouvrir la <code>stored_data</code> de type <code>VECTOR-DB</code> considérée.</p>\n<p>Cette ouverture se fait a posteriori de la génération de ladite <code>stored_data</code> au moyen de la route :</p>\n<p><code>PATCH https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored_data}</code></p>\n<p>À ce stade, il faut noter que la <code>stored_data</code>, au moment où elle a été générée, a rarement été configurée pour présenter un nom et une description agréable à un utilisateur final. Il se trouve que la route nommée précédemment permet de remédier à cela. Il est donc conseillé de profiter de l’ouverture pour régler un nom et une description qui soient utiles aux utilisateurs de l’API d’extraction pour identifier correctement la donnée à extraire.</p>\n<p>Cette modification est normalement sans impact sur vos chaines de diffusion dans la mesure où seul <code>_id</code> est utilisé.</p>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Attention toutefois si vous utilisez le SDK, qui lui peut mobiliser le nom de la <code>stored_data</code>.</p>\n</div>\n<p>Avec le corps de requête suivant (en JSON) le producteur de données peut ouvrir sa donnée et modifier son nom et sa description en un seul appel :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Un nom informatif avec espaces, majuscules ou accents si nécessaire\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Une description synthétique en toutes lettres\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<h3 id=\"rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur-aux-seuls-utilisateurs-d-une-ou-plusieurs-communautes-identifiees\" tabindex=\"-1\">Rendre une donnée extractible via l’API d’extraction vecteur aux seuls utilisateurs d’une ou plusieurs communautés identifiées <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/extraction/#rendre-une-donnee-extractible-via-l-api-d-extraction-vecteur-aux-seuls-utilisateurs-d-une-ou-plusieurs-communautes-identifiees\">#</a></h3>\n<p>Pour rendre visible à certaines communautés, une donnée stockée, le producteur va jouer sur sa visibilité.</p>\n<p>Mais au préalable, ce qui a été dit au paragraphe précédent sur le nom et la description de la <code>stored_data</code>, donc première étape, améliorer ces informations via :</p>\n<p><code>PATCH https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored_data}</code></p>\n<p>Avec le corps de requête suivant :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Un nom informatif avec espaces, majuscules ou accents si nécessaire\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Une description synthétique en toutes lettres\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>On répète à ce stade la même alerte que plus haut :</p>\n<p>Cette modification est normalement sans impact sur vos chaines de diffusion dans la mesure où seul <code>_id</code> est utilisé.</p>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Attention toutefois si vous utilisez le SDK, qui lui peut mobiliser le nom de la <code>stored_data</code>.</p>\n</div>\n<p>Ce rappel fait, on peut désormais modifier la visibilité de la donnée via la route dédiée :</p>\n<p><code>POST https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored_data}/visibility</code></p>\n<p>Avec le corps de requête suivant (en JSON) :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">[</span>\n  <span class=\"token string\">\"3fa85f64-5717-4562-b3fc-2c963f66afa6\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token string\">\"4ea85f64-5857-4562-bb2c-2c963f66art3\"</span>\n<span class=\"token punctuation\">]</span></code></pre>\n<p>Où les valeurs entre quotes sont des identifiants de communautés dont l’ensemble des membres auront droit d’extraire la donnée en question.</p>\n<p>Cette route de modification de visibilité est associée à une route listant à quelles communautés une donnée est visible :</p>\n<p><code>GET https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored_data}/visibility</code></p>\n<p>Ainsi qu’une route pour révoquer cette ouverture :</p>\n<p><code>DELETE https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored_data}/visibility</code></p>\n<p>Qui fonctionnent exactement sur le même principe.</p>\n",
        "date_published": "2026-08-07T09:54:14Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/tutoriels-api/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/tutoriels-api/",
        "title": "Tutoriels API",
        "content_html": "",
        "date_published": "2026-08-07T07:54:58Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/",
        "title": "Statistiques d’utilisation",
        "content_html": "<h2 id=\"presentation\" tabindex=\"-1\">Présentation <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#presentation\">#</a></h2>\n<p>L’API de statistiques d’utilisation de la Géoplateforme permet d’obtenir, entre deux dates, le nombre de requêtes (<em>hits</em>) ayant sollicité la Géoplateforme et le volume de données (octets) que la Géoplateforme a émis en réponse.</p>\n<p>Les nombres de hits et d’octets sont agrégés par mois. Des agrégats par pas de 5 minutes sont également disponibles mais uniquement sur les 30 derniers jours par rapport à la date du jour.</p>\n<p>L’API propose des requêtes destinées aux producteurs de données (qui diffusent leurs données depuis leurs datastores) et aux utilisateurs (qui accèdent aux données via les géoservices).</p>\n<p>Elle est interrogeable en méthode GET en étant authentifié via son compte <span style=\"white-space:nowrap;\">Géoplateforme/cartes.gouv.fr</span>.</p>\n<p>Son swagger est accessible ici : <a href=\"https://data.geopf.fr/api/stats/swagger-ui/index.html\">swagger des statistiques d’utilisation</a>.</p>\n<hr>\n<h2 id=\"en-tant-que-producteur-consulter-les-statistiques-d-utilisation-de-ses-donnees\" tabindex=\"-1\">En tant que producteur, consulter les statistiques d’utilisation de ses données <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#en-tant-que-producteur-consulter-les-statistiques-d-utilisation-de-ses-donnees\">#</a></h2>\n<p>L’API propose au producteur des requêtes, présentes dans les modules <strong>Organismes</strong>, <strong>Communautés</strong> et <strong>Entrepôts</strong> du Swagger, pour connaître la consommation des données associées à ces concepts.</p>\n<h3 id=\"statistiques-par-organisme\" tabindex=\"-1\">Statistiques par organisme <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#statistiques-par-organisme\">#</a></h3>\n<p>Dans la Géoplateforme, un <strong>organisme</strong> est défini comme une entité regroupant des communautés, avec des informations globales telles que le numéro SIRET.</p>\n<p>Au grain d'un organisme, l’API propose les requêtes suivantes :</p>\n<ul>\n<li>Statistiques de l’ensemble des offres détenues par une organisation</li>\n<li>Statistiques des offres associées à une permission produite par une des communautés d’une organisation</li>\n<li>Statistiques d’une offre détenue par une organisation</li>\n<li>Statistiques d’un endpoint pour toutes les offres publiées sur ce endpoint par l’ensemble des communautés d’une organisation</li>\n<li>Statistiques de l’ensemble des offres détenues par une des communauté d’une organisation</li>\n</ul>\n<br>\n<h3 id=\"statistiques-par-communaute\" tabindex=\"-1\">Statistiques par communauté <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#statistiques-par-communaute\">#</a></h3>\n<p>Dans la Géoplateforme, une <strong>communauté</strong> est définie comme un groupe d'utilisateurs avec certains droits sur la communauté en elle-même et sur son éventuel entrepôt associé.</p>\n<p>Au grain d’une communauté, l’API propose les requêtes suivantes :</p>\n<ul>\n<li>Statistiques de l’ensemble des offres d’une communauté</li>\n<li>Statistiques des offres associées à une permission produite par une communauté</li>\n</ul>\n<br>\n<h3 id=\"statistiques-par-entrepot\" tabindex=\"-1\">Statistiques par entrepôt <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#statistiques-par-entrepot\">#</a></h3>\n<p>Dans la Géoplateforme, un <strong>entrepôt</strong> est défini comme un ensemble de données, fichiers statiques, configurations.</p>\n<p>Au grain d’un entrepôt, l’API propose les requêtes suivantes :</p>\n<ul>\n<li>Statistiques des offres associées à une permission produite sur un entrepôt</li>\n<li>Statistiques d’une offre produite sur un entrepôt</li>\n<li>Statistiques de l’ensemble des offres d’un endpoint pour un entrepôt</li>\n</ul>\n<br>\n<hr>\n<h2 id=\"en-tant-qu-utilisateur-des-geoservices-consulter-ses-statistiques-de-consommation-des-donnees-en-acces-restreint\" tabindex=\"-1\">En tant qu'utilisateur des géoservices, consulter ses statistiques de consommation des données en accès restreint <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/statistiques/#en-tant-qu-utilisateur-des-geoservices-consulter-ses-statistiques-de-consommation-des-donnees-en-acces-restreint\">#</a></h2>\n<p>Pour l’utilisateur des géoservices, l’API propose des requêtes, présentes dans le module <strong>Utilisateur</strong> du Swagger, pour connaître les hits et octets de consommation de données en accès restreint.</p>\n<p>Les agrégats proposés sont :</p>\n<ul>\n<li><strong>Utilisateur</strong> pour connaître la consommation globale du compte concernant les données en accès restreint</li>\n<li><strong>Permission</strong> pour connaître la consommation d’une permission de l’utilisateur (la possibilité d’accéder à une offre pour un utilisateur ou une communauté)</li>\n<li><strong>Clé</strong> pour connaître la consommation d’une clé de l’utilisateur (l’information d’identification à ajouter aux requêtes de consultation des services à accès restreint)</li>\n<li><strong>Accès</strong> pour connaître la consommation d’un accès de l’utilisateur (l’autorisation d’une clé à consommer une offre)</li>\n</ul>\n",
        "date_published": "2026-08-07T07:54:58Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/limites-d-usage/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/limites-d-usage/",
        "title": "Limites d’usage des API",
        "content_html": "<h2 id=\"principe-de-fonctionnement\" tabindex=\"-1\">Principe de fonctionnement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/limites-d-usage/#principe-de-fonctionnement\">#</a></h2>\n<p>Pour certaines API, une limite d’usage fixée en nombre de requêtes par seconde et par IP est mise en place.</p>\n<p>Ce mécanisme, dit de « rate limiting », concerne la plupart des API de la Géoplateforme à l’exception notable de l’API « Diffusion d’images tuilées WMTS » et son pendant « Diffusion de tuiles vectorielles TMS ». Il a pour objectif de garantir les engagements de disponibilité des API, en bloquant les usages individuels les plus massifs qui seraient susceptibles de mettre à mal l’infrastructure.</p>\n<p>Lorsqu’une IP sollicite une API au-delà de la limite d’usage fixée :</p>\n<ul>\n<li>Une erreur HTML 429 (Too Many Requests) est envoyée en réponse à toute requête ;</li>\n<li>Ce blocage intervient pour une durée de 5 secondes et il ne concerne que l’API dont la limite d’usage a été franchie (à titre d’exemple, si la limite du calcul altimétrique est dépassée, le WMS reste accessible) ;</li>\n<li>La durée du blocage est indiquée dans un header « retry-after », avec une durée initialisée à 5 secondes et qui décroît à partir du moment où la sur-sollicitation cesse.</li>\n</ul>\n<br>\n<hr>\n<h2 id=\"valeur-de-la-limite-d-usage-pour-chaque-api-concernee\" tabindex=\"-1\">Valeur de la limite d’usage pour chaque API concernée <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/limites-d-usage/#valeur-de-la-limite-d-usage-pour-chaque-api-concernee\">#</a></h2>\n<p>Les limites d’usage fixées sont les suivantes :</p>\n<div class=\"fr-table fr-table--layout-fixed\">\n    <table>\n        <caption>Limites d’usage des API Géoplateforme</caption>\n        <thead>\n            <tr>\n<th scope=\"col\">API</th><th scope=\"col\">Limite d’usage par IP</th>            </tr>\n        </thead>\n        <tbody>\n                <tr>\n<td>Diffusion d’images WMS-Raster</td><td>40 requêtes/s</td>                </tr>\n                <tr>\n<td>Diffusion d’images WMS-Vecteur</td><td>50 requêtes/s</td>                </tr>\n                <tr>\n<td>Diffusion d’objets WFS</td><td>30 requêtes/s</td>                </tr>\n                <tr>\n<td>Téléchargement</td><td>10 requêtes/s</td>                </tr>\n                <tr>\n<td>Téléchargement partiel</td><td>200 requêtes/s</td>                </tr>\n                <tr>\n<td>Découverte des métadonnées CSW</td><td>15 requêtes/s</td>                </tr>\n                <tr>\n<td>Géocodage</td><td>50 requêtes/s</td>                </tr>\n                <tr>\n<td>Autocomplétion</td><td>10 requêtes/s</td>                </tr>\n                <tr>\n<td>Calcul altimétrique</td><td>5 requêtes/s</td>                </tr>\n                <tr>\n<td>Calcul d’itinéraire</td><td>10 requêtes/s</td>                </tr>\n                <tr>\n<td>Calcul d’isochrone/isodistance</td><td>5 requêtes/s</td>                </tr>\n                <tr>\n<td>Recherche</td><td>10 requêtes/s</td>                </tr>\n                <tr>\n<td>Diffusion de tuiles vectorielles pg_tileserv</td><td>400 requêtes/s</td>                </tr>\n                <tr>\n<td>LiDAR « vraie pyramide »</td><td>200 requêtes/s</td>                </tr>\n                <tr>\n<td>LiDAR « COPC » au vol (partiel)</td><td>200 requêtes/s</td>                </tr>\n                <tr>\n<td>LiDAR téléchargement COPC</td><td>10 requêtes/s</td>                </tr>\n        </tbody>\n    </table>\n</div>\n<hr>\n<h2 id=\"exemple-de-fonctionnement\" tabindex=\"-1\">Exemple de fonctionnement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/limites-d-usage/#exemple-de-fonctionnement\">#</a></h2>\n<p>Prenons l’exemple du géocodage d’un fichier de 1 000 lignes au moyen d’un script faisant appel à l’API de géocodage de la Géoplateforme.</p>\n<p>Si le script sollicite l’API de géocodage sans précaution particulière, avec une fréquence qui dépasse la limite d’usage de 50 requêtes par seconde et par IP, alors :</p>\n<ul>\n<li>Les 50 premiers appels sont traités normalement ;</li>\n<li>Le 51ème appel et les suivants sont bloqués tant que le script continue à solliciter l’API de géocodage au-delà de la limite de 50 requêtes par seconde et que le délai de 5 secondes qui s’en suit n’est pas écoulé.</li>\n</ul>\n<br>\n<p>Solution : paramétrer le script de telle sorte que la fréquence d’appel à l’API de géocodage ne dépasse pas 50 requêtes par seconde, en instaurant par exemple un plafond à 40 ou 45 requêtes par seconde.</p>\n<p>À titre d’illustration, pour une utilisation de l’ETL FME édité par Safe Software, le paramétrage de la fréquence d’appel peut être effectué comme suit :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/acceder-aux-geodonnees/limites-d-usage/rate-limiting-fme.png\" alt=\"Paramétrage de la fréquence d’appel sous FME, copie d’écran de l’interface\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n",
        "date_published": "2026-08-07T07:54:58Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/changements-evolutions/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/changements-evolutions/",
        "title": "Changements &amp; évolutions de la Géoplateforme",
        "content_html": "",
        "date_published": "2026-08-07T07:54:58Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-producteur/publier-des-donnees-via-cartes-gouv/choisir-son-flux/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-producteur/publier-des-donnees-via-cartes-gouv/choisir-son-flux/",
        "title": "Choisir le flux à publier",
        "content_html": "",
        "date_published": "2026-08-05T12:46:21Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/",
        "title": "Utiliser les outils de mesure",
        "content_html": "<h2 id=\"mesurer-une-distance\" tabindex=\"-1\">Mesurer une distance <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/#mesurer-une-distance\">#</a></h2>\n<p>L’outil <strong>« Mesurer une distance »</strong> permet de dessiner une ligne sur la carte et d’en connaître en temps réel la longueur.</p>\n<p>Cliquez sur l’icône de l’outil :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-distance/01_mesurer-une-distance.png\" alt=\"Icône de l’outil « Mesurer une distance »\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Vous pouvez alors cliquer sur la carte pour commencer à créer la ligne. Chaque nouveau clic permet d’ajouter un sommet supplémentaire à la ligne :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-distance/02_creer-la-ligne.png\" alt=\"Création d’une ligne\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Pour finir, double-cliquez à l’endroit où vous souhaitez terminer la ligne (attention : cliquer sur le point précédent ou à un endroit très proche finira également la ligne). Cela figera la ligne, et vous pourrez en créer une nouvelle de la même façon :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-distance/03_finaliser-la-ligne.png\" alt=\"Finalisation de la ligne\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Vous pouvez vous déplacer sur la carte pendant la création de la ligne en restant appuyé sur le clic gauche et en déplaçant le curseur.<br>\nPar contre si vous cliquez sur un autre outil, vous sortirez de <strong>« Mesurer une distance »</strong> et les lignes créées disparaîtront.</p>\n</div>\n<hr>\n<h2 id=\"mesurer-une-surface\" tabindex=\"-1\">Mesurer une surface <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/#mesurer-une-surface\">#</a></h2>\n<p>L’outil <strong>« Mesurer une surface »</strong> permet de dessiner une zone sur la carte et d’en connaître en temps réel la surface.</p>\n<p>Cliquez sur l’icône de l’outil :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-surface/01_mesurer-une-surface.png\" alt=\"Icône de l’outil « Mesurer une surface »\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Vous pouvez alors cliquer sur la carte pour commencer à créer la zone. Chaque nouveau clic permet d’ajouter un sommet supplémentaire à la zone :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-surface/02_creer-la-surface.png\" alt=\"Création d’une surface\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Pour finir, double-cliquez à l’endroit où vous souhaitez terminer la zone (attention : cliquer sur le point précédent ou à un endroit très proche finira également la zone). Cela figera la surface, et vous pourrez en créer une nouvelle de la même façon :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-une-surface/03_finaliser-la-surface.png\" alt=\"Finalisation de la surface\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Vous pouvez vous déplacer sur la carte pendant la création de la surface en restant appuyé sur le clic gauche et en déplaçant le curseur.<br>\nPar contre si vous cliquez sur un autre outil, vous sortirez de <strong>« Mesurer une surface »</strong> et les zones créées disparaîtront.</p>\n</div>\n<hr>\n<h2 id=\"mesurer-un-angle\" tabindex=\"-1\">Mesurer un angle <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/#mesurer-un-angle\">#</a></h2>\n<p>L’outil <strong>« Mesurer un angle »</strong> permet de dessiner une ligne sur la carte et de connaître son angle par rapport au Nord géographique.</p>\n<p>Cliquez sur l’icône de l’outil :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-un-angle/01_mesurer-un-angle.png\" alt=\"Icône de l’outil « Mesurer un angle »\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Vous pouvez alors cliquer sur la carte pour commencer à créer la ligne :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-un-angle/02_commencer-la-ligne.png\" alt=\"Création d’une ligne\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n<p>Cliquez une seconde fois pour finir la ligne. Cela figera la ligne, et vous pourrez en créer une nouvelle de la même façon :</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-utilisateur/visualiseur-cartographique/utiliser-les-outils-de-mesure/mesurer-un-angle/03_terminer-la-ligne.png\" alt=\"Finalisation de la ligne\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Vous pouvez vous déplacer sur la carte pendant la création de la ligne en restant appuyé sur le clic gauche et en déplaçant le curseur.<br>\nPar contre si vous cliquez sur un autre outil, vous sortirez de <strong>« Mesurer un angle »</strong> et les lignes créées disparaîtront.</p>\n</div>\n",
        "date_published": "2026-08-04T15:12:09Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/partenaires/ign/referentiels-description-territoire/foret/bd-foret-v3/",
        "url": "https://cartes.gouv.fr/aide/fr/partenaires/ign/referentiels-description-territoire/foret/bd-foret-v3/",
        "title": "BD Forêt v3",
        "content_html": "",
        "date_published": "2026-08-04T14:49:23Z"
      },      {
        "id": "https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/",
        "url": "https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/",
        "title": "Diffusion en tuiles vectorielles précalculées",
        "content_html": "<p>Cette étape supplémentaire permet une diffusion à plus grande échelle de données vecteur. Seules les parties nouvelles sont détaillées.</p>\n<h3 id=\"calcul-de-la-pyramide-de-tuiles-vectorielles\" tabindex=\"-1\">Calcul de la pyramide de tuiles vectorielles <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#calcul-de-la-pyramide-de-tuiles-vectorielles\">#</a></h3>\n<h4 id=\"consultation-des-traitements-disponibles\" tabindex=\"-1\">Consultation des traitements disponibles <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#consultation-des-traitements-disponibles\">#</a></h4>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-9\">\n            GET &quot;https://data.geopf.fr/api/datastores/{datastore}/processings&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-9\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/processings</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-11\">\n            Corps de réponse JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-11\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Intégration de données vecteur livrées en base\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Ce traitement permet de stocker dans les bases de données PostgreSQL de la plateforme des données vecteur livrées. Les formats pris en charge sont le CSV, le Shapefile, le Geopackage et le GeoJSON. Il est également possible de préciser un autre système afin de réaliser une reprojection à l'intégration\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0de8c60b-9938-4be9-aa36-9026b77c3c96\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Recopie d'une archive livrée\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Génération ou mise à jour d'une donnée stockée ARCHIVE à partir d'une archive livrées. Si un fichier livré existait déjà dans la donnée en sortie, celui ci va écraser l'ancienne version\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"12cdc646-3976-4f18-b273-f34fca37e2a6\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Calcul de pyramide raster\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Génération ou mise à jour d'une pyramide de tuiles raster à partir d'une livraison d'images géo-référencées\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2ae50661-986c-4f47-a3f0-e380417b522c\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Calcul ou mise à jour de pyramide raster par moissonnage WMS\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Il n'y a pas besoin de donnée en entrée. Sont fournis en paramètres toutes les informations sur le service WMS et le jeu de données à moissonner, ainsi que la zone sur laquelle faire le moissonnage\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"6a54dc92-fc93-4c8e-9f02-046bf889550e\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Fusion de pyramides raster\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Ce traitement permet de générer une pyramide raster par composition de plusieurs pyramides indépendantes. Seules les dalles présentes dans plusieurs entrées seront recalculées. Celles présentes dans une seule entrée seront référencées. La pyramide en sortie a donc des dépendances avec celles en entrée.\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"7cdca031-9e86-4804-8764-9b1d783b087d\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Calcul de pyramide vecteur\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Génération ou mise à jour d'une pyramide de tuiles vectorielles à partir d'une donnée vecteur en base\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"aa5f9391-0bdb-4b97-9209-fcde351b82f6\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span>\n</code></pre>\n</div></section>\n</div></section>\n<br>\n<h4 id=\"consultation-du-traitement-qui-nous-interesse\" tabindex=\"-1\">Consultation du traitement qui nous intéresse <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#consultation-du-traitement-qui-nous-interesse\">#</a></h4>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-19\">\n            GET &quot;https://data.geopf.fr/api/datastores/{datastore}/processings/aa5f9391-0bdb-4b97-9209-fcde351b82f6&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-19\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/processings/aa5f9391-0bdb-4b97-9209-fcde351b82f6</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-21\">\n            Corps de réponse JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-21\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Calcul de pyramide vecteur\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Génération ou mise à jour d’une pyramide de tuiles vectorielles à partir d’une donnée vecteur en base\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"input_types\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"upload\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"VECTOR-DB\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"ROK4-PYRAMID-VECTOR\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"output_type\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ROK4-PYRAMID-VECTOR\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"storage\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"S3\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"parameters\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"composition\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Tables à exporter et niveaux limites d’utilisation\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"constraints\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"$schema\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://json-schema.org/draft/2020-12/schema\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"table\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"bottom_level\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"top_level\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"properties\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                    <span class=\"token property\">\"layer\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"table\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"filter\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"top_level\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"array\"</span><span class=\"token punctuation\">,</span>\n                        <span class=\"token property\">\"items\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                            <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                        <span class=\"token punctuation\">}</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n                    <span class=\"token property\">\"bottom_level\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n                        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"string\"</span>\n                    <span class=\"token punctuation\">}</span>\n                <span class=\"token punctuation\">}</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"bottom_level\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Niveau du bas de la pyramide (obligatoire si pas de composition fournie)\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"width\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Nombre de tuiles dans une dalle, dans le sens de la largeur\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"default_value\"</span><span class=\"token operator\">:</span> <span class=\"token number\">16</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"top_level\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Niveau du haut de la pyramide (obligatoire si pas de composition fournie)\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"tippecanoe_options\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Options de l’outil tippecanoe pour la généralisation des données vecteur\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"area\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WKT de la zone sur laquelle le moissonnage doit se faire, en EPSG:4326 (obligatoire si la base vecteur en entrée n’a pas d’étendue)\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"height\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Nombre de tuiles dans une dalle, dans le sens de la hauteur\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"default_value\"</span><span class=\"token operator\">:</span> <span class=\"token number\">16</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"parallelization\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"description\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Nombre de scripts d’écriture des dalles en parallèle\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"mandatory\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"default_value\"</span><span class=\"token operator\">:</span> <span class=\"token number\">1</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"aa5f9391-0bdb-4b97-9209-fcde351b82f6\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"required_checks\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n</div></section>\n<br>\n<h4 id=\"configuration-d-une-execution-de-ce-traitement\" tabindex=\"-1\">Configuration d’une exécution de ce traitement <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#configuration-d-une-execution-de-ce-traitement\">#</a></h4>\n\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Les niveaux sur lesquels on transforme les données vecteur en tuiles vectorielles sont importants : en calculant un niveau trop résolu (trop bas), le temps de génération et le volume occupé par la pyramide en sortie sera inutilement grand. En utilisant une table volumineuse dans des niveaux trop hauts, les tuiles seront très lourdes car contenant trop de données (ou vidées de la majorité des objets). Il faut donc prêter une attention particulière aux niveaux d’utilisation des tables.</p>\n</div>\n<p>Dans notre exemple ici, on choisit un cas simple : les pays sont présents dans tous les niveaux, et les écorégions ne seront présentes que jusqu’au niveau 5. On ne filtre pas les données et on ne change pas les noms des tables dans les tuiles. On veut tous les attributs.</p>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-37\">\n            POST &quot;https://data.geopf.fr/api/datastores/{datastore}/processings/executions&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-37\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/processings/executions</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-39\">\n            Corps de requête JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-39\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"processing\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"aa5f9391-0bdb-4b97-9209-fcde351b82f6\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"inputs\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"{stored data}\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"output\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Pays et éco-régions\"</span><span class=\"token punctuation\">,</span>\n            <span class=\"token property\">\"storage_tags\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"PYRAMIDE\"</span><span class=\"token punctuation\">]</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"parameters\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"composition\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"table\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ecoregions\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"bottom_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"top_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"5\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"*\"</span><span class=\"token punctuation\">]</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"table\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"pays\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"bottom_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"top_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"attributes\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"*\"</span><span class=\"token punctuation\">]</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-42\">\n            Plus d’aide sur la configuration d’une exécution de traitement de création d’une pyramide de tuiles vectorielles\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-42\">\n<p>Description des paramètres en entrée :</p>\n<ul>\n<li>\n<p><code>inputs/stored_data</code> : Il s’agit ici d’une liste (présence des caractères « <code>[ ]</code> ») qui prend comme valeur au moins un identifiant entrepôt de <strong><code>stored_data</code></strong> de type <code>VECTOR-DB</code> (voir étape précédente)</p>\n</li>\n<li>\n<p><code>output/stored_data/name</code> : Le nom défini ici est un nommage libre.</p>\n<p><strong>Cette information n’est lisible que par un autre utilisateur membre de cet entrepôt, pas par l’utilisateur final. Vous êtes donc invité à renseigner ici des informations parlantes pour vous - producteur de donnée.</strong></p>\n<p>Cette information est modifiable après coup.</p>\n</li>\n<li>\n<p><code>output/stored_data/storage_tags</code> : Il s’agit ici d’une liste (présence des caractères « <code>[ ]</code> ») qui prend comme valeur au moins un tag associé au stockage qui va accueillir la donnée de sortie.</p>\n<p>Vous pouvez retrouver ces tags via la route <code>GET /datastores/{datastore}/storages</code> (rubrique Entrepôt du swagger) dans l’attribut de réponse <code>labels</code> associé à chaque stockage.</p>\n<p>Pour une donnée de type tuiles vecteur pré-calculées en sortie, seul le stockage S3 est accessible, ce qui correspond au label, donc au <code>storage_tag</code> : <code>PYRAMIDE</code>.</p>\n</li>\n<li>\n<p><code>parameters</code> : C’est là que toute la configuration du traitement prend corps :</p>\n<ul>\n<li><code>composition</code> : Définit les couches qui vont être tuilées avec pour chaque couche :\n<ul>\n<li><code>table</code> : Le nom technique de la relation à tuiler, tel que défini dans la <code>stored_data</code>.</li>\n<li><code>layer</code> : Le nom technique de la relation telle qu’elle sera présentée dans le flux. Paramètre optionnel, utile à définir en cas de renommage.</li>\n<li><code>filter</code> : Critère de filtrage pour ne diffuser que le objets correspondant au critère de filtrage. Utilisez une syntaxe de type PostgreSQL : <code>&quot;filter&quot;: &quot;mon_champ='ma valeur'&quot;</code>.</li>\n<li><code>top_level</code> : Niveau haut (le plus dézoomé, le chiffre le plus faible) de la pyramide auquel la couche sera tuilée et donc visible.</li>\n<li><code>bottom_level</code> : Niveau bas (le plus zoomé, le chiffre le plus grand) de la pyramide auquel la couche sera tuilée et donc visible.</li>\n<li><code>attributes</code> : Liste des attributs, entre doubles quotes et séparés par des virgules à diffuser dans le flux. Pour diffuser tous les attributs, déclarez le caractère « <code>*</code> » .</li>\n</ul>\n</li>\n<li><code>top_level</code> : Niveau haut (le plus dézoomé, le chiffre le plus faible) de la pyramide auquel la couche sera tuilée et donc visible. Permet de définir un niveau global à l’ensemble de la pyramide.\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Ce paramètre est obligatoire s’il n’est pas défini pour chaque table dans la composition.</p>\n<p>S’il est précisé en plus de la composition, il est préférable d’adopter une valeur cohérente au regard de celles définies dans la composition : à savoir égale au plus grand <code>top_level</code> de la composition.</p>\n</div>\n</li>\n<li><code>bottom_level</code> : Niveau bas (le plus zoomé, le chiffre le plus grand) de la pyramide auquel la couche sera tuilée et donc visible. Permet de définir un niveau global à l’ensemble de la pyramide.\n<div class=\"fr-alert fr-alert--warning fr-alert--sm\">\n    \n<p>Ce paramètre est obligatoire s’il n’est pas défini pour chaque table dans la composition.</p>\n<p>S’il est précisé en plus de la composition, il est préférable d’adopter une valeur cohérente au regard de celles définies dans la composition : à savoir égale au plus petit <code>bottom_level</code> de la composition.</p>\n</div>\n</li>\n<li><code>area</code> : WKT de la zone sur laquelle le moissonnage doit se faire, en EPSG:4326. Ce paramètre est obligatoire si la base vecteur en entrée n’a pas d’étendue et est utile si la donnée est disséminée à travers le globe (France + DOM par exemple).</li>\n<li><code>tippecanoe_options</code> : Plus d’informations sur ces options et leur syntaxe peuvent être trouvées sur la <a href=\"https://github.com/mapbox/tippecanoe/blob/master/README.md\">documentation de l’outil</a>.\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>La caractéristique à retenir d’une tuile vectorielle générée avec Tippecanoe est qu’elle ne peut contenir plus de 5 000 objets, et ce quelle que soit la tuile ou son niveau.</p>\n<p>C’est la première cause d’échec de traitement par les utilisateurs</p>\n<p>Les options sont donc essentielles pour adapter le jeu de donnée en entrée à cette contrainte. Elles proposent différentes méthodes de généralisation à petite échelle pour assurer une représentation fiable de la donnée tout en limitant le nombre d’objets par tuile.</p>\n</div>\n</li>\n</ul>\n</li>\n</ul>\n<p>Vous êtes invités à vous référer au swagger pour avoir les détails et options complètes sur cette partie.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>Comme pour la livraison il vous est possible de configurer l’envoi d’un courriel automatique à la fin du traitement.</p>\n<p>Pour ce faire, il suffit d’ajouter l’élément JSON ci-dessous après l’élément <code>parameters</code> dans le corps de requête de déclaration d’exécution.</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token property\">\"callback\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"email\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"to_address\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"example@mail.fr\"</span>\n    <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div>\n</div></section>\n</div></section>\n<br>\n<h4 id=\"consultation-de-la-donnee-stockee-en-sortie\" tabindex=\"-1\">Consultation de la donnée stockée en sortie <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#consultation-de-la-donnee-stockee-en-sortie\">#</a></h4>\n<p>À la fin du traitement, des informations concernant la donnée finale sont remontées afin d’apparaître au niveau de l’API (taille, étendue, système de coordonnées, grille et niveaux).</p>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-187\">\n            GET &quot;https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored data pyramide}&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-187\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/stored_data/{stored data pyramide}</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-189\">\n            Corps de réponse JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-189\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Pays et éco-régions\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ROK4-PYRAMID-VECTOR\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"srs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"EPSG:3857\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"contact\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"contact@ign.fr\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"extent\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Polygon\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"coordinates\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">[</span>\n                <span class=\"token punctuation\">[</span><span class=\"token number\">175</span><span class=\"token punctuation\">,</span> <span class=\"token number\">-85</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token punctuation\">[</span><span class=\"token number\">175</span><span class=\"token punctuation\">,</span> <span class=\"token number\">83.623596</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token punctuation\">[</span><span class=\"token number\">-175</span><span class=\"token punctuation\">,</span> <span class=\"token number\">83.623596</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token punctuation\">[</span><span class=\"token number\">-175</span><span class=\"token punctuation\">,</span> <span class=\"token number\">-85</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n                <span class=\"token punctuation\">[</span><span class=\"token number\">175</span><span class=\"token punctuation\">,</span> <span class=\"token number\">-85</span><span class=\"token punctuation\">]</span>\n            <span class=\"token punctuation\">]</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"last_event\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Génération\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"date\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"2023-07-12T09:04:07.271074\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"initiator\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n            <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"{user}\"</span>\n        <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"tags\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"storage\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"S3\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"labels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">79570364</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"GENERATED\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"{stored data pyramide}\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type_infos\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"tms\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"PM\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"levels\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"0\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"1\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"2\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"3\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"4\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"5\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"6\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"7\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"8\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"9\"</span><span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-192\">\n            Plus d’aide sur l’identification de la donnée stockée de sortie\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-192\">\n<p>Dès le lancement de l’exécution du traitement, dans le corps de réponse ou à chaque interrogation de la requête d’état d’exécution vous disposez dans le corps de réponse de ces requêtes de l’élément JSON :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token property\">\"output\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Pays et éco-régions\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ROK4-PYRAMID-VECTOR\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"status\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"GENERATING\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"{stored data}\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Ce qui vous donne l’élément <code>_id</code> à isoler pour identifier ensuite votre <code>stored_data</code> de sortie.</p>\n\n<div class=\"fr-alert fr-alert--info fr-alert--sm\">\n    \n<p>La <code>stored_data</code> de sortie n’est exploitable et interrogeable qu’une fois l’exécution du traitement terminée avec succès.</p>\n</div>\n</div></section>\n</div></section>\n<br>\n<h3 id=\"diffusion-des-tuiles-vectorielles\" tabindex=\"-1\">Diffusion des tuiles vectorielles <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#diffusion-des-tuiles-vectorielles\">#</a></h3>\n<p>Les données de la pyramide de tuiles vectorielles sont diffusables selon l’API Tile Map Service. Cette API est disponible sur un point d’accès de type <code>WMTS-TMS</code>.</p>\n<h4 id=\"creation-de-la-configuration\" tabindex=\"-1\">Création de la configuration <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#creation-de-la-configuration\">#</a></h4>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-217\">\n            POST &quot;https://data.geopf.fr/api/datastores/{datastore}/configurations&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-217\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/configurations</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-219\">\n            Corps de requête JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-219\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMTS-TMS\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Pays et écorégions\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"layer_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"pays_ecoregions\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"type_infos\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"title\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Mes écorégions\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"abstract\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Grandes régions naturelles mondiales\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"used_data\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"bottom_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"9\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"top_level\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"0\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"stored_data\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"{stored data}\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n</div></section>\n<br>\n<p>La donnée n’est pas représentée côté serveur, il n’y a donc pas de fichier de style à préciser au niveau de la configuration.</p>\n<h4 id=\"consultation-des-points-de-diffusion-disponibles\" tabindex=\"-1\">Consultation des points de diffusion disponibles <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#consultation-des-points-de-diffusion-disponibles\">#</a></h4>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-230\">\n            GET &quot;https://data.geopf.fr/api/datastores/{datastore}&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-230\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-232\">\n            Corps de réponse JSON (champ endpoints)\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-232\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WFS principal\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wfs\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WFS\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WFS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/wfs/geoserver/ows\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae012611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wfs\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMTS/TMS principal\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wmts-tms\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMTS-TMS\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMTS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/wmts\"</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"TMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/tms/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae032611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wmts-tms\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMS Raster principal\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wms-r\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS-RASTER\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/wms-r/wms\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae042611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wms-r\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMS Vecteur principal\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wms-v\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS-VECTOR\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/wms-v/geoserver/ows\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae022611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wms-v\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de Téléchargement principal\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-download\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DOWNLOAD\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DOWNLOAD\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/telechargement/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae052611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-download\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion CSW\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geonetwork\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"METADATA\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"METADATA\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/csw\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae062611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geonetwork\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de téléchargement private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-download-private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DOWNLOAD\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"DOWNLOAD\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/telechargement/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"b5bf7ab2-8998-4829-8c80-cd2ec02e6e58\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-download-private\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WFS privé\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wfs-private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WFS\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WFS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/wfs/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"d02feec9-1169-403f-bfc3-7ba6d6015ed4\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wfs-private\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMS Vecteur privé\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wms-v-private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS-VECTOR\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/wms-v/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"519c8bb1-9b7f-414a-9850-1a73dfd467ed\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-geoserver-wms-v-private\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMS Raster privé\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wms-r-private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS-RASTER\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/wms-r/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"66866100-48eb-4340-bbc9-f5c7d9707928\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wms-r-private\"</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Service de diffusion WMTS/TMS privé\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"technical_name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wmts-tms-private\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMTS-TMS\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"urls\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"TMS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/tms/\"</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n            <span class=\"token punctuation\">{</span>\n                <span class=\"token property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"WMTS\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token property\">\"url\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://data.geopf.fr/private/wmts/\"</span>\n            <span class=\"token punctuation\">}</span>\n        <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"7e0a92d1-8213-4ce0-8903-eb4c305a1849\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n        <span class=\"token property\">\"metadata_fi\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"gpf-rok4-server-wmts-tms-private\"</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span>\n</code></pre>\n</div></section>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-235\">\n            Plus d’aide sur le choix de son point de diffusion\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-235\">\n<p>Cette étape est l’étape clé pour décider si le flux que vous vous apprêtez à publier va être publié en <span lang=\"en\"><em>open data</em></span> ou au contraire seulement aux utilisateurs accrédités. Dans l’écosystème Géoplateforme on appelle ce dernier mode, le mode privé.</p>\n<p>Si vous souhaitez publier en <span lang=\"en\"><em>open data</em></span>, vous allez chercher, dans la réponse ci-dessus, un <span lang=\"en\"><em>endpoint</em></span> du type de la configuration créée (pour le tutoriel, <code>WMTS-TMS</code>) dont l’<strong>élément <code>open</code> est à <code>true</code></strong>.</p>\n<p>Si vous souhaitez publier en mode <strong>privé</strong>, vous allez chercher, dans la réponse ci-dessus, un <span lang=\"en\"><em>endpoint</em></span> du type de la configuration créée (pour le tutoriel, <code>WMTS-TMS</code>) dont l’<strong>élément <code>open</code> est à <code>false</code></strong>.</p>\n<p>Le tutoriel est déroulé en mode <span lang=\"en\"><em>open data</em></span>. Pour accéder à une donnée publiée en privé, référez vous au <a href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/controle-des-acces/service-de-diffusion/\">tutoriel sur le contrôle des accès</a>.</p>\n</div></section>\n</div></section>\n<br>\n<h4 id=\"publication\" tabindex=\"-1\">Publication <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#publication\">#</a></h4>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-254\">\n            POST &quot;https://data.geopf.fr/api/datastores/{datastore}/configurations/{configuration wmts-tms}/offerings&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-254\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/configurations/{configuration wmts-tms}/offerings</code></pre>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-256\">\n            Corps de requête JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-256\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"endpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ae032611-13eb-4a18-8d04-9b7604a031cc\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-259\">\n            Plus d’aide sur la configuration de la publication\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-259\">\n<p>L’exemple ci-dessus présente une publication en mode <span lang=\"en\"><em>open data</em></span>.</p>\n<p>Si vous choisissez de publier en mode privé, le corps de requête sera :</p>\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"endpoint\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"7e0a92d1-8213-4ce0-8903-eb4c305a1849\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"open\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">false</span>\n<span class=\"token punctuation\">}</span></code></pre>\n<p>Pour accéder à une donnée publiée en privé, référez vous au <a href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/controle-des-acces/service-de-diffusion/\">tutoriel sur le contrôle des accès</a>.</p>\n</div></section>\n</div></section>\n<br>\n<p>On peut vérifier la présence de notre couche <code>pays_ecoregions</code> dans le <a href=\"https://data.geopf.fr/tms/1.0.0\">GetCapabilities du service TMS</a>. On peut également avoir des <a href=\"https://data.geopf.fr/tms/1.0.0/pays_ecoregions\">détails sur cette couche</a>.</p>\n<p>On peut également récupérer nos données dans QGIS. Il faut ajouter une source de donnée « Tuile vectorielle » et préciser comme URL <code>https://data.geopf.fr/tms/1.0.0/pays_ecoregions/{z}/{x}/{y}.pbf</code></p>\n<h4 id=\"hebergement-du-style-sous-forme-d-annexe\" tabindex=\"-1\">Hébergement du style sous forme d’annexe <a class=\"header-anchor\" href=\"https://cartes.gouv.fr/aide/fr/guides-developpeur/tutoriels/gestion-des-donnees-vecteur/alimentation-diffusion-vecteur/tuilage/#hebergement-du-style-sous-forme-d-annexe\">#</a></h4>\n<p>L’affichage des tuiles vectorielles implique l’application d’un style côté client. Il suffit donc de fournir un style accessible pour faciliter la consommation de telles données. On va exploiter la fonctionnalité des annexes pour mettre à disposition une URL publique pour un tel style.</p>\n<p>Ce <a href=\"https://cartes.gouv.fr/aide/data/tutoriels/alimentation-diffusion-simple/globales/production/pays_ecoregions.json\">style d’exemple</a> est au format Mapbox.</p>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-288\">\n            POST &quot;https://data.geopf.fr/api/datastores/{datastore}/annexes&quot;\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-288\">\n<pre class=\"language-plain\" tabindex=\"0\"><code class=\"language-plain\">https://data.geopf.fr/api/datastores/{datastore}/annexes</code></pre>\n<div class=\"fr-table fr-table--layout-fixed\">\n    <table>\n        <caption></caption>\n        <thead>\n            <tr>\n<th scope=\"col\">Corps de requête Multipart</th>            </tr>\n        </thead>\n        <tbody>\n                <tr>\n<td>file = &lt;pays_ecoregions.json&gt;</td>                </tr>\n                <tr>\n<td>paths = styles/mapbox/pays_ecoregions.json</td>                </tr>\n                <tr>\n<td>published = true</td>                </tr>\n        </tbody>\n    </table>\n</div>\n\n<section class=\"fr-accordion\">\n    <h3 class=\"fr-accordion__title\">\n        <button class=\"fr-accordion__btn\" aria-expanded=\"false\" aria-controls=\"accordion-291\">\n            Corps de réponse JSON\n        </button>\n    </h3>\n    <div class=\"fr-collapse\" id=\"accordion-291\">\n<pre class=\"language-json\" tabindex=\"0\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"paths\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"/styles/mapbox/pays_ecoregions.json\"</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"size\"</span><span class=\"token operator\">:</span> <span class=\"token number\">10768</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"mime_type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"application/json\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"published\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"_id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"{annexe}\"</span>\n<span class=\"token punctuation\">}</span></code></pre>\n</div></section>\n</div></section>\n<br>\n<p>Nous avons demandé à ce que cette annexe soit directement publiée. Nous pouvons donc maintenant y accéder publiquement. On va pouvoir définir une couche « Tuile vectorielle » dans QGIS, en précisant la source des tuiles et l’URL du style :</p>\n<ul>\n<li>URL : <code>https://data.geopf.fr/tms/1.0.0/pays_ecoregions/{z}/{x}/{y}.pbf</code></li>\n<li>URL du style : <code>https://data.geopf.fr/annexes/{technical_name}/styles/mapbox/pays_ecoregions.json</code></li>\n</ul>\n<br>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-developpeur/vecteur/alimentation-diffusion/qgis_tms_definition.png\" alt=\"Définition d’une source &quot;Tuile vectorielle&quot;\" class=\"fr-responsive-img frx-img-contained\"></p>\n<p>En zoomant en dessous du niveau 5, on voit bien nos régions écologiques et les limites des pays, avec le style mis en ligne.</p>\n<p><img src=\"https://cartes.gouv.fr/aide/img/guides-developpeur/vecteur/alimentation-diffusion/qgis_tms_visualisation.png\" alt=\"Visualisation des données du tutoriel\" class=\"fr-responsive-img frx-border-img frx-img-contained\"></p>\n",
        "date_published": "2026-08-04T14:43:21Z"
      }  ]
}