> For the complete documentation index, see [llms.txt](https://doc.dialog.beta.gouv.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.dialog.beta.gouv.fr/integrer-des-donnees/processus-dintegration-de-donnees.md).

# Processus d'intégration de données

Votre collectivité dispose déjà d'une solution d'édition et de gestion d'arrêtés ? Pour faciliter le partage de ces données et éviter des doubles saisies, DiaLog peut intégrer directement les données.

La **mise en place d'une intégration** entre votre logiciel ou base de données et DiaLog nécessite une **étroite collaboration**. Généralement, des **développements spécifiques** de notre part sont nécessaires en raison de la diversité des logiciels et des bases de données dont les collectivités peuvent être équipées. En dépit de cette diversité, la mise en place passe par **plusieurs grandes étapes** décrites ci-dessous.

Que deviennent les données une fois intégrées ? De quelles données la plateforme DiaLog a-t-elle besoin ? Sous quel format ? Suivez le guide !

### Étapes de la mise en place d'une intégration

<table><thead><tr><th width="82">Etape</th><th width="149">Qui</th><th>Fait quoi</th></tr></thead><tbody><tr><td>1</td><td>Collectivité + Équipe DiaLog</td><td>Prise de contact et identification technique de la source de données (fichier unique, API...) et de sa fréquence de mise à jour</td></tr><tr><td>2</td><td>Collectivité</td><td>Mise à disposition d'un accès technique aux données sources (incluant d'éventuels identifiants d'authentification)</td></tr><tr><td>3</td><td>Équipe DiaLog</td><td>Test du bon fonctionnement de l'accès technique, évaluation des données sources et confirmation des possibilités d'import dans DiaLog le cas échéant</td></tr><tr><td>4</td><td>Équipe DiaLog</td><td>Développement ou adaptation du code nécessaire à l'import des données sources dans la plateforme DiaLog</td></tr><tr><td>5</td><td>Équipe DiaLog</td><td>Mise en ligne des données dans un environnement de recette afin de valider l'intégration, avec communication des statistiques d'intégration telles que le nombre d'arrêtés importés ou en erreur</td></tr><tr><td>6</td><td>Collectivité</td><td>Validation de l'intégration sur l'environnement de recette (par exemple par inspection de la carte des restrictions)</td></tr><tr><td>7</td><td>Équipe DiaLog</td><td>Mise en production de l'intégration et des données</td></tr></tbody></table>

En fonction de la source de données, l'exécution de l'import de données pourra être **programmé périodiquement** (généralement toutes les semaines).

Après la mise en ligne initiale, l'intégration fera l'objet d'une **amélioration continue** en fonction des retours de la collectivité.

### Chemin de la donnée

Dans le cadre d'une intégration entre DiaLog et votre logiciel ou base de données, la donnée parcourra le chemin suivant.

#### 1. Transfert des données de la source vers DiaLog

À cette étape, **DiaLog interroge la source de données** pour récupérer les données utiles à leur import dans DiaLog.

Le mode de récupération et la périodicité de l'import dépend des capacités de votre logiciel ou base de données contenant les arrêtés.

Cela peut se faire par exemple par une requête HTTP à une URL qui renvoie des données au format GeoJSON ou encore Shapefile.

{% hint style="info" %}
**Les données renvoyées par la source doivent être structurées et immédiatement lisibles par une machine**, sous des formats tels que JSON, XML ou encore CSV. Cela exclut les sources de données renvoyant des arrêtés au format PDF, qui ne peuvent pas être importés à ce jour.
{% endhint %}

Les données obtenues à cette étape sont appelées "données candidates à l'import".

#### 2. Transformation des données au format DiaLog

À cette étape, **la donnée source est transformée** pour en obtenir une version respectant le modèle de données de DiaLog, afin qu'elle soit importée dans la base de données de la plateforme DiaLog elle-même.

Les opérations de transformation nécessaires varient en fonction de la source de données et nécessitent le plus souvent des développements spécifiques par l'équipe DiaLog. Si une intégration avec votre logiciel a déjà été réalisée par le passé pour une autre collectivité, il est possible que seules des adaptations mineures soient nécessaires.

La transformation au format DiaLog nécessite dans tous les cas de pouvoir obtenir **les informations suivantes** :

* Pour l'arrêté :
  * Identifiant de l'arrêté
  * Un intitulé ou des informations permettant d'en produire un
  * La nature de l'arrêté : permanent, temporaire
  * (Optionnel) L'objet de l'arrêté : travaux, événement, autre...
  * (Optionnel) URL d'accès à l'arrêté au format PDF
* Pour chaque mesure apparaissant dans l'arrêté :
  * Son type : circulation interdite, limitation de vitesse... (Voir le [code](https://github.com/MTES-MCT/dialog/blob/main/src/Domain/Regulation/Enum/MeasureTypeEnum.php) pour la liste exhaustive et à jour)
  * Les véhicules concernés : tous, ou seulement certains (tonnage, restrictions de gabarit...), éventuellement en excluant certains autres (taxis, véhicules d'urgence...)
  * La ou les périodes d'application de la mesure : date et heure de début, date et heure de fin, (optionnel) jours de la semaine concernés (lundi, mardi...), (optionnel) horaires applicables
  * Pour chaque localisation où s'applique la mesure :
    * *(De préférence)* **Géométrie** : de préférence fournie directement au format GeoJSON.
    * *(À défaut)* Toutes les informations précises permettant de calculer une géométrie GeoJSON par une opération de géocodage (numéro d'adresse, nom de voie, code Insee de la commune, numéro de route départementale ou nationale, identifiants de points kilométriques...).

{% hint style="info" %}
Les arrêtés dont les données sources ne permettent pas de les importer de façon fidèle dans DiaLog **ne seront pas importés** et ne seront a fortiori pas mis à disposition sur les différents canaux de réutilisation (carte, export DATEX II, export CIFS).
{% endhint %}

#### 3. Mise à disposition pour réutilisation

Une fois importées dans la base de données DiaLog, **les données sont automatiquement mises à disposition** sur les canaux suivants :

* [La carte des restrictions](https://dialog.beta.gouv.fr/carte) : elle permet de visualiser les restrictions sur une carte interactive
* [L'export au standard DATEX II](https://dialog.beta.gouv.fr/api/regulations.xml) : il est destiné à toutes formes de réutilisations
  * Cet export est publié en open data [sur la plateforme data.gouv.fr](https://www.data.gouv.fr/fr/datasets/64947a4af5faf2f1f9eee299/) et [sur le Point d'Accès National (PAN) transport.data.gouv.fr](https://transport.data.gouv.fr/datasets/base-de-donnees-nationale-de-la-reglementation-de-circulation)
* [L'export CIFS](https://dialog.beta.gouv.fr/api/regulations/cifs.xml) : il alimente Waze ainsi que Google Maps

{% hint style="info" %}
**Limitations du format CIFS de Waze**

En raison des limites du format propriétaire CIFS utilisé par Waze, **seules les interdictions de circulation temporaires qui concernent tous les véhicules peuvent être envoyées à Waze**. Cela signifie que des restrictions zone 30, des restrictions spécifiques aux poids lourds ou encore des interdictions de circulation permanentes ne pourront pas être transmises à Waze.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.dialog.beta.gouv.fr/integrer-des-donnees/processus-dintegration-de-donnees.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
