Closed johanricher closed 6 months ago
J'ai reçu aujourd'hui le dump de la base de données comme je l'avais demandé avant mon départ en congés. Le fichier zippé ne pèse que 830ko... A voir ce que l'on y trouve, on peut au moins regarder la structure des données. J'attends d'autres éléments de la part des équipes de BAC IDF, notamment le schéma de base de données et les adresses/clés des éventuelles APIs qui permettraient de capter directement leurs données.
Le fichier est stocké ici avec d'autres ressources issues de BAC IDF.
J'ai inspecté le dump cet après-midi. C'est un dump MongoDB au format BSON (JSON binarisé optimisé, ce qui explique la petite taille du dump).
La collection "decrees" contient 621 arrêtés.
J'ai ingéré et réexporté les données en JSONL à l'aide de ceci :
# docker-compose-bacidf.yml
version: "3.8"
services:
mongo:
image: mongo:7.0.2
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: dialog
MONGO_INITDB_ROOT_PASSWORD: dialog
volumes:
- ./docker/bacidf/data:/etc/bacidf/data
$ docker-compose -f docker-compose-bacidf.yml up -d
$ docker-compose -f docker-compose-bacidf.yml exec mongo bash
> mongorestore -d bacidf -c decrees /etc/bacidf/data/decrees.bson -u dialog -p dialog --authenticationDatabase admin
> mongoexport -d bacidf -c decrees -o /etc/bacidf/data/decrees.jsonl mongodb://localhost:27017 -u dialog -p dialog --authenticationDatabase admin
Puis petit script Python pour reconvertir le JSONL en JSON (liste d'objets)
# docker/bacidf/process.py
import json
from pathlib import Path
with (Path(__file__).parent / "data" / "decrees.jsonl").open("r") as f:
items = [json.loads(line) for line in f.readlines()]
(Path(__file__).parent / "data" / "decrees.json").write_text(json.dumps(items))
python3 docker/bacidf/process.py
Le résultat est stocké sur le kDrive (16 Mo).
Je vais maintenant regarder plus en détail le schéma des données BAC IDF
Commentaires en vrac
geometry
qui contient du GeoJSON ?Cette évolution de la localisation vers des polylignes est également ce que demanderaient les GPS (Waze et TomTom dans leurs retours), si j'ai bien suivi. On aura sans doutes par la suite à stocker également des géométries en polygones, par exemple pour les ZFE, ça plaide plutôt pour l'option avec l'attribut geometry
qui semble plus versatile, non ?
Il y a 621 arrêtés dans le dump
Avec la première ébauche dans le commit https://github.com/MTES-MCT/dialog/pull/502/commits/5a893918ece30563cda88303e5d82fd7e432a32c j'ai pu intégrer 214 arrêtés permanents
Cette 1ère ébauche ignore :
"PERIODE_JH": [
{
"JOUR": [
1,
2,
3,
4,
5
],
"HEURE_DEB": "07:00",
"HEURE_FIN": "12:00"
},
{
"JOUR": [
6
],
"HEURE_DEB": "07:00",
"HEURE_FIN": "12:00"
}
],
J'ai repris l'essentiel de la logique ETL (extract, transform, load) du connecteur Eudonet.
Ce n'est pas si surprenant car l'ETL est un pattern très répandu et solide.
Peut-être qu'on pourra "abstraire" tout ça dans le futur, ou utiliser une lib comme FlowPHP (pas sûr que ça nous facilite la vie car ça rajouterait une dépendance, il faudrait minutieusement regarder son état, sa maintenance, etc).
Plusieurs remarques qui découlent de ce que tu présentes :
1° Il va falloir changer notre manière de stocker la localisation pour disposer de géométries plus complètes en polygones et polylignes. Ca pose la question de l'outil et du référentiel qu'on utilisera pour obtenir ces données. Est-ce que la BAN et Addok permettent de le faire ?
2° On va aussi avoir besoin d'indexer la voirie d'autres manières qu'en utilisant uniquement les adresses. On voit que les POI seraient intéressants (les places, les ronds point, etc.). On a aussi besoin de gérer les points kilométriques du réseau structurant.
Donc : 2-1° Y-a-t-il un outil de géocodage qui permettrait de taper dans plusieurs bases de données afin de permettre aux utilisateurs de déclarer des localisations en utilisant plusieurs repérages différents ? Addok permet-il de le faire (je crois qu'on a déjà évoqué ça au moins oralement) ? 2-2° Quelles bases de données interroger ? On a la BAN, on avait aussi un POC sur les intersections de rues, il nous manquerait au moins les POI et les PK/PR. Pour ce dernier l'IGN semble être une première piste mais j'ai du mal à les mobiliser... 2-3° Quelle UX pour localiser nos restrictions de toutes ces manières différentes ?
3° S'agissant des critères véhicules, peut-on faire l'analyse de ce qui est renseigné dans BAC IDF afin de voir où nous serions potentiellement incomplets dans DiaLog ?
4° Sur les horaires : Si l'exemple est représentatif, ils ont fait le choix de la simplicité. On ne peut que déclarer des période et des heures si je comprends bien. Ca tient aussi beaucoup au fait que ce ne sont que des arrêtés permanents.
5° Il serait intéressant de regarder la liste des attributs des arrêtés de stationnement pour commencer à réfléchir sur ce que l'on peut faire de notre côté là-dessus. On peut aussi regarder ce qui existe dans Eudonet.
1° Il va falloir changer notre manière de stocker la localisation pour disposer de géométries plus complètes en polygones et polylignes
Disons plutôt qu'on ne peut stocker qu'une version apauvrie de ce qu'on peut trouver dans BAC-IDF. (Toutes les localisations ne sont peut-être pas aussi détaillées, je me suis basé sur 3 exemples jusqu'ici)
Il n'y a donc pas de "nécessité" sauf si les GPS nous pressent pour avoir un linéaire détaillé, mais ce serait un sujet différent de ce ticket
2° On va aussi avoir besoin d'indexer la voirie d'autres manières qu'en utilisant uniquement les adresses.
Oui et on a toujours des sujets ouverts dans ce domaine. Notamment #419 : pour l'instant on démarre un Addok en local avec les données BAN + intersections OSM pour les besoins du géocodage Eudonet notamment. Mais il n'y a aucune UI correspondante pour l'instant, et en prod le géocodeur est uniquement l'API Adresse.
On voit que les POI seraient intéressants (les places, les ronds point, etc.).
Selon moi il faut discuter de la pertinence de traiter rapidement le cas des places et des ronds-points : est-ce qu'il y a une problématique "concrète" à résoudre dans ce cas-là, par ex est-ce qu'on a des poids lourds qui bloquent des places... ? Je ne suis pas sûr
On a aussi besoin de gérer les points kilométriques du réseau structurant.
Je vais continuer l'analyse des arrêtés dans BAC-IDF et je regarderai s'il est fait référence à des PR (points de repères), ou s'il n'y a que des données "absolues" (coordonnées lat/lon). Dans le 2nd cas, la question des PR serait séparée de ce ticket.
4° Sur les horaires : Si l'exemple est représentatif, ils ont fait le choix de la simplicité. On ne peut que déclarer des période et des heures si je comprends bien. Ca tient aussi beaucoup au fait que ce ne sont que des arrêtés permanents.
Leur modèle semble compatible avec notre modèle "Certains jours" (jours de la semaine avec des créneaux horaires valable pour chaque jour choisi) (cc #455)
Suite au daily du jour
Proposition de solution provisoire : avancer en prenant le 1er et le dernier point du linéaire.
Mise à jour :
Grâce à #543 on devrait pouvoir reprendre l'intégration des données BAC-IDF dont les localisations sont au format GeoJSON.
Petit problème rencontré en essayant d'intégrer les données véhicules des arrêtés BAC-IDF
TL;DR : faudrait-il que les champs poids / largeur / longueur / hauteur maximum s'affichent dans tous les cas, sans avoir à sélectionner un type de véhicule concerné ?
cc @aureliebaton @MathieuFV
Voilà pourquoi :
Les données véhicules BAC-IDF contiennent par exemple le PTAC max, les dimensions max... Donc on peut avoir une mesure disant : Longueur MAX = 10m
Mais il n'y a aucun champ "véhicules concernés" et a fortiori rien qui indique que la mesure vise spécifiquement "les poids lourds"
Or dans l'interface pour faire apparaître les caractéristiques max, il faut cliquer sur "véhicules concernés" puis choisir "poids lourds" :
Côté modèle de données, ça se traduit par le fait que pour pouvoir enregistrer une largeur maximale (champ heavyweightMaxWidth
), il faut avoir mis $allVehicles = false
ET avoir mis au moins une valeur dans $restrictedTypes
.
^Pour contourner ça et avancer j'ai indiqué que la mesure concernait uniquement les poids lourds dès lors que le poids ou une dimension est indiquée dans l'arrêté BAC-IDF... En mettant le poids max à 3.5 tonnes même si aucun n'est défini dans l'arrêté (car le poids max est considéré comme obligatoire par DiaLog).
Bref, de la bidouille
Ce qu'il faudrait envisager de changer selon moi :
Ça serait aligné DATEX II, car dans DATEX II les champs tels que 'vehicleType' ("type de véhicule concerné") ou 'grossWeightCharacteristic' ("poids maximum") sont des propriétés de VehicleCharacteristics
qui peuvent être remplis indépendamment les unes des autres.
Edit : on peut en discuter sur #582
@MathieuFV Voici la liste des communes qui ont un arrêté de circulation dans BAC-IDF
city_code | city_label |
---|---|
77251 | Lieusaint (77127) |
78208 | Élancourt (78990) |
78490 | Plaisir (78370) |
78498 | Poissy (78300) |
78551 | Saint-Germain-en-Laye (78100) |
91661 | Villebon-sur-Yvette (91140) |
92012 | Boulogne-Billancourt (92100) |
92048 | Meudon (92190) |
92049 | Montrouge (92120) |
92073 | Suresnes (92150) |
92075 | Vanves (92170) |
93027 | La Courneuve (93120) |
93029 | Drancy (93700) |
93031 | Épinay-sur-Seine (93800) |
93045 | Les Lilas (93260) |
93048 | Montreuil (93100) |
93059 | Pierrefitte-sur-Seine (93380) |
93070 | Saint-Ouen-sur-Seine (93400) |
93079 | Villetaneuse (93430) |
94021 | Chevilly-Larue (94550) |
94028 | Créteil (94000) |
94041 | Ivry-sur-Seine (94200) |
94054 | Orly (94310) |
95127 | Cergy (95000) |
95127 | Cergy (95800) |
95306 | Herblay-sur-Seine (95220) |
(26 rows)
Hello, la liste des communes est entrée dans DiaLog. Cergy n'apparait qu'une fois (forcément), il faudra peut être nous assurer que les arrêtés BAC IDF référencés aux deux codes postaux 95 000 et 95 800 soient rattaché à Cergy.
Coucou ! Voici le schéma que j'ai pu extraire des données BAC IDF. Garder en tête que c'est une interprétation, j'ai artificiellement créé des tables avec leurs id/clés pour montrer les ramifications. Je devrais aller sur BAC IDF pour vérifier ce qu'il y a dans les enums et voir si je ne me suis pas trop trompé, mais je crois que c'est un bon point de départ. J'ai pu faire des erreurs notamment dans les liens entre les tables (1-1 ou 1-n).
https://dbdiagram.io/d/Aires-de-livraison-636a0adec9abfc6111710074
Je retiens qu'ils ont une logique similaire à nous : Un arrêté est lié à des mesures (REG_CIRCULATION) - qui peut d'ailleurs concerner la circulation et le stationnement - ces mesures sont rattachées à des voies (REG_VOIES).
A noter que les véhicules concernés et exemptés sont rattachés directement à l'arrêté et pas à des mesures individuelles, ce qui est logique dans la mesure où BAC IDF était focalisé sur la réglementation du transport de marchandises, donc avec des arrêtés qui s'adressent à des classes de véhicules. Pour nous c'est moins pratique, on peut trouver des arrêtés qui parlent à la fois aux poids lourds et à tous les véhicules.
A préciser dans les prochaines étapes...
A noter que les véhicules concernés et exemptés sont rattachés directement à l'arrêté et pas à des mesures individuelles,
Non ce n'est pas ce que j'ai vu ?
Les véhicules sont dans les propriétés des objets REG_CIRCULATION
qui représentent effectivement des mesures au sens de DiaLog
Ils ne sont pas directement des propriétés de l'arrêté
Pour le reste j'ai la même conclusion, leur modèle de données ressemble beaucoup au nôtre une fois l'inversion faite #577
Dans les données BAC-IDF, un type de véhicule exempté qui revient souvent c'est "véhicules de services".
commercial
qui a pour description "Vehicle which is limited to non-private usage or public transport usage". On l'utilise déjà pour les transports en commun mais le "limited to non-private usage" correspond bien à "usage strictement professionnel"...Dans les exemptions "autres", on retrouve aussi les véhicules de déménagement qui ont pour équivalent DATEX la valeur removals
. Mais c'est souvent en texte libre, par exemple "véhicules de déménagement justifiant d'une dérogation", alors que les valeurs non-autres sont standardisées (par exemple "SECOURS" ou "VEHICULES DE SERVICES"). Donc pas évident à extraire.
Les véhicules sont dans les propriétés des objets REG_CIRCULATION qui représentent effectivement des mesures au sens de DiaLog
En effet il faut considérer REG_CIRCULATION comme nos "mesures"... Je me relis aujourd'hui mais ne sais plus pourquoi j'en étais arrivé à cette conclusion...
Au sujet des "véhicules de service" la solution que tu proposes semble correcte, j'ai demandé confirmation à l'équipe de BAC IDF.
Ca voudrait dire que l'on regroupe dans une même catégorie les transports en commun et les véhicules de service, ce qui ne me paraît pas gênant, à voir ce que l'on veut faire de cette nouveauté en termes d'UX ? @aureliebaton
Suite au daily de ce matin j'ai rajouté le critère d'acceptation:
(Must have) Les arrêtés doivent être rattachés à l'organisation correspondante (cf liste https://github.com/MTES-MCT/dialog/issues/456#issuecomment-1866382032)
Signalé par @MathieuFV
En effet dans l'état actuel de #502 l'organisation où sont intégrés les arrêtés est fixée (j'ai utilisé DiaLog sur staging), mais c'est vrai que ça n'a pas de sens de tout intégrer dans "Ville de Paris" par exemple.
cc @johanricher
@MathieuFV Il y a un frein à cette correspondance automatique : trouver le SIRET d'une commune à partir de son code Insee. Cf https://github.com/MTES-MCT/dialog/pull/502#discussion_r1486446169
Les 9 premiers chiffres du SIRET correspondent au SIREN, ce qu'on peut récupérer via le découpage administratif (nécessite de stocker ça dans notre table fr_city
).
Les 5 derniers chiffres sont le "NIC" et c'est comme ça qu'on différencie les établissements au sein d'une commune (si j'ai bien compris). Je ne sais pas comment récupérer le NIC de la commune ; il varie. Par ex Valenciennes => NIC = 00018 mais La Courneuve => NIC = 00012
Options
L'option :star: aurait ma préférence, sous l'hypothèse que la liste de communes dans Bac-IDF n'évolue pas trop (?).
Autre option @MathieuFV Demander à Bac-IDF s'ils peuvent ajouter le SIRET dans les données
Je pense aussi après réflexion qu'on n'aura probablement pas besoin d'un système automatisé pour inférer le SIRET d'une commune à partir de son code INSEE. Le SIRET sera enregistré lors de la création d'une compte d'une organisation dans DiaLog, donc le seul cas où on n'aura pas de SIRET c'est comme ici quand on fera de l'intégration de données. Or, on intégrera rarement des données de plusieurs communes à la fois et si, ça arrive, les récupérer à la main comme ici (26 communes) n'est pas suffisament chronophage pour justifier une automatisation.
Si BAC-IDF ne peut pas donner rapidement cette info je le ferais.
J'ai demandé au dev de BAC IDF s'il était possible de passer au SIRET de leur côté, si ça peut nous permettre d'aller plus vite.
Par ailleurs il m'a renvoyé la liste des choix possibles pour les exemptions de leur côté (voir image).
TLDR : Je réfléchis à propos des catégories qu'on peut proposer dans "Certains véhicules" et "Sauf..." dans DiaLog en croisant BAC IDF, DATEX, le Code de la Route et l'IISR (guide de la signalisation routière).
C'est un peu bizarre, trouve-je. Pour moi par exemple la catégorie "Véhicules de services" couvre "Transport de déchets", il n'y a pas de catégorie "Transport en commun" pourtant je l'ai déjà vu de manière certaine dans un arrêté, la distinction entre "Police" et "Secours" n'est pas tout à fait claire pour moi, etc.
Je crois que cette liste a été construite pour correspondre à ce qui avait été trouvé parmi une liste d'arrêtés, autrement dit c'est une logique "sémantique" et pas quelque chose prévu pour être communiqué à des tiers comme les GPS. Ce qui nous laisse avec DATEX, dans l'enum "VehicleUsageEnum" on a les catégories suivantes (Je remets les catégories avec une proposition - tout à fait personnelle - de traduction) :
Ca pose deux questions :
1° Quelles catégories on veut proposer dans DiaLog ? 2° Comment on fait la correspondance de BAC IDF dans DiaLog ?
Sur la première question :
La première chose c'est je crois de savoir si ces catégories DATEX ont un pendant dans le code de la route. J'ai donc tapé la traduction de la catégorie + code de la route dans Google (préparez vous à entrer dans le temple du fun)...
EDIT : J'ai aussi été voir dans l'IISR qui est le guide de référence sur la signalisation routière en France. A noter : Dans l'IISR les panonceau (petits panneaux sous les gros panneaux...) qui caractérisent les "Types de véhicules" tombent dans la catégorie M4. C'est une bonne manière de vérifier si une catégorie de véhicule est utile dans DiaLog puisqu'il y a toujours une signalisation associée à une réglementation (sinon on comprend rien!).
A savoir : Dans le Code de la Route, les catégories de véhicules sont fixées par l'article R221-4.
Engins agricoles : Il n'y a pas de mention spécifique aux engins agricoles dans le R221-4, en gros un tracteur seul = catégorie B (comme une voiture), ou une catégorie de véhicule avec attelage : BE pour une remorque de mois de 750kg et C1E si elle dépasse 750kg. MAIS : on trouve plus tard dans le Code de la Route l'article R221-20 qui fait, lui, mention des engins agricoles. L'idée est que cet article donne un régime spécifique de restrictions pour les engins agricoles affectés à une exploitation (en gros ceux qui sont en train d'être utilisés pour travailler et qui ne sont pas juste en transit). Ca abaisse notamment l'âge minimum pour conduire un tracteur seul à 16 ans (18 s'il y a une remorque). BREF : les engins agricoles existent bel et bien dans le Code de la Route. On trouve aussi un symbole "Véhicule agricole" sur le panonceau M4i et le panneau d'interdiction B9d.
CONCLUSION : on peut proposer cette option dans les véhicules concernés ou exemptés sur DiaLog.
Covoiturage : Encore une fois, nada dans le R221-4. Mais ce qui est sûr c'est qu'il existe des voies réservées au covoiturage. C'est clairement quelque chose qu'on souhaite avoir dans DiaLog puisque ça permettrait aux GPS de le signaler.
CONCLUSION : a mon sens c'est utile de proposer l'option "Covoiturage".
A noter que ce sont des voies réservées, dans la logique actuelle sous DiaLog on renseignerait donc "Circulation interdite" puis "Pour tous les véhicules" puis "Sauf le covoiturage". NOTA : C'est déjà possible aujourd'hui. Une autre option serait d'ajouter dans les types de restriction la mention "Voie réservée", ce qui forcerait le choix de "Certains véhicules", et on pourrait ensuite choisir "Covoiturage".
Logistique : Dans l'article R221-4 la distinction entre véhicules est fondée sur leurs dimensions et poids, donc pas vraiment de mention du transport de marchandises. A noter que la catégorie C (= poids supérieur à 3,5t et remoque d'un poids maxi de 750kg) est celle qui est implicitement reconnue comme la catégorie à laquelle correspond la plupart des véhicules de logistique. Dans l'IISR on trouve en revanche un panneau B8 et un panonceau M4g qui s'adressent spécifiquement aux "véhicules affectés au transport de marchandises".
Ca entraîne une autre question : Est-ce que ce panneau peut être utilisé seul ou bien est-il toujours accompagné d'une limite de poids ou de gabarit ? Et la réponse semble être qu'il est possible de le voir seul (on interdit la circulation à tous les véhicules qui transportent des marchandises, y compris les petits utilitaires). Voir ce wiki: "Ce panneau utilisé seul ne comporte aucune notion de minimum de tonnage, il concerne tous les véhicules répertoriés comme "utilitaires" sur la carte grise, c'est-à-dire que cela inclut ceux d'un PTAC inférieur à 3,5 tonnes et dont la case J.1 de la "carte grise" comporte "CTTE". "
CONCLUSION : Il me semble qu'avoir une chip "Marchandises" dans DiaLog (avec un camion en picto) serait utile, pour porter les interdictions de circulation spécifiques à ces véhicules sans pour autant être obligé de préciser leur poids ou gabarit.
Véhicules de service : Même topo, le R221-4 ne fait pas de distinction d'usage des véhicules (à part pour le transport en commun avec la catégorie D). En revanche, je me rends compte qu'il y a peut être un quiproquo... Dans la question initiale de @florimondmanca il y avait un lien vers le site saisirprudhomme, on y parle des "Véhicules de service" au sens des voitures de services que certains employés peuvent utiliser dans le cadre de leur activités salariées. Si on se place plutôt du côté d'un gestionnaire de voirie, la notion de véhicule de service est bien entendu différente et fait plutôt référence (me semble-t-il) aux véhicules de service PUBLIC type ramassage des ordures ménagères, entretien. Mais il n'y a aucune réelle définition de cet ensemble de véhicules, et en cherchant les panneaux associés on n'en trouve pas dans l'IISR, par contre les sites qui en vendent précisent qu'ils ne sont à utiliser que sur des voies privées. Curieux.
CONCLUSION : J'ai l'impression que les arrêtés qui interdisent l'accès "sauf véhicules de service" ne sont pas légaux...
Je serais intéressé de voir un exemplaire d'arrêté qui fait mention de ça pour voir où l'interdiction a lieu. Dans l'attente je pense qu'il ne faut pas intégrer cette catégorie dans les propositions que l'on fait aux utilisateurs DiaLog...
Secours : Rien dans le Code de la Route à ce sujet... Côté panneaux, pas plus, et de la même façon que pour les véhicules de service les sites qui vendent ces panneaux précisent qu'il ne peuvent être utilisés que sur des voies privées. En bref, sur des voies du domaine public il n'y pas d'accès réservé aux véhicules de secours, ceux qui bénéficient de facilités de passages (avec un gyrophare) ont la priorité de fait.
**CONCLUSION : J'ai encore l'impression que cette option n'est pas utile, de même que celle que nous avons proposé "Véhicules d'urgence" dans les véhicules exemptés et je me demande si c'est vraiment utile. Car de fait les véhicules d'urgence ont droit de rouler là où les autres ne peuvent pas (je crois?). A voir ce que l'on fait de cette catégorie DATEX, peut être qu'on peut trouver des exemples de données qui en font usage ?
Véhicules militaires : Ici il n'y ni mention particulière dans le Code de la Route, ni de panneau particulier.
CONCLUSION : Rien à prévoir dans DiaLog à priori.
Véhicules Particuliers : Pour moi il s'agit du tout venant, qui se définit plutôt par opposition avec les véhicules "commerciaux", ou ceux qui sont utilisés pour des déplacements de "loisir".
CONCLUSION : Rien à prévoir, contenu dans la catégorie "tous les véhicules"
Patrouille : Pas de panneau dans l'IISR, de plus la notion de "Patrouille" est peu utilisée en France (peut être plus à l'étranger) et je ne pense pas que l'option sera vraiment utile à quoi que ce soit...
CONCLUSION : Dismissed, sauf si on nous en fait une demande spécifique.
Dépannage : idem
CONCLUSION : Idem
Véhicules de chantier : Plus courant de voir des interdiction "sauf chantier" il me semble, mais encore une fois il s'agit d'une réglementation qui ne peut exister que sur des voies privées, pas dans le domaine public routier.
CONCLUSION : A priori pas utile de proposer l'option dans DiaLog.
Véhicules du gestionnaires de voirie : De même, ces derniers ont droit de circuler partout et l'interdiction de circuler à l'exception de ces véhicule ne peut exister que sur des voies privées...
CONCLUSION : Idem
Taxi : Ici il existe le panonceau M9z spécifique aux "taxis et bus" et reconnu dans l'IISR.
CONCLUSION : Il faut garder l'option "Sauf taxi", j'aurais tendance à laisser séparés "bus" et "taxi" en revanche car il existe des voies réservées aux transports en commun. L'utilisateur ajoutera "taxi" si ces derniers sont les bienvenus.
Ouverture : Malgré cette fine analyse, le maire peut toujours interdire la circulation a qui bon lui semble par arrêté motivé, c'est le résultat de l'article 2213-4 du CGCT (voir notamment ici ). Nonobstant, ce genre de porte ouverte peut nous rendre la vie impossible, car cela laisse la possibilité d'interdire à tous types et usages de véhicules ("interdit sauf les tricycles électriques rouges qui transportent du lait entier").
Il est donc bon de réfléchir aux catégories que l'on propose à nos utilisateurs. Il me semble que celles qui sont actuellement disponibles sont déjà très suffisantes, et si certains demandent à ce que l'on en ajoute on pourra revenir sur ce commentaire pour nous aider à décider, j'espère.
BAC IDF a mis en place un endpoint pour accéder à leurs données, je relaie ici leur message :
Nous avons déployé l'API de récupération qui permettra à votre système d'obtenir tout nouveau arrêté, en utilisant le dernier identifiant de notre base de données (_id), ou de commencer à partir de 0 par lot. J'ai joint le document avec l'endpoint et les paramètres qui peuvent être utilisés (page 3). Il est publié à l'adresse https://staging.bacidf.fr/api/decrees/new. J'ai testé avec notre système de mise à jour programmée (celui qui collectera les données depuis votre API) et il envoie les informations qui sont sur le serveur de Staging. Ainsi, vous pouvez le tester de votre côté puis le déployer en production.
Maintenant, il ne nous manque plus que la méthode de mappage entre la Structure de Dialogue et la structure BAC-IDF pour terminer l'intégration.
Question : Avons-nous un moyen de leur transmettre le script d'intégration des données BAC IDF dans DiaLog ? Je crois que ça les aiderait à faire la réciproque de DiaLog à BAC IDF.
La documentation de l'API BAC Description technique API Dialog_fr.docx
@MathieuFV Merci pour le doc
Il confirme que BAC-IDF a l'intention de devenir réutilisateur des données DiaLog : ils aimeraient réintégrer les arrêtés qui proviennent d'ailleurs que BAC-IDF
Ça vaudrait peut-être son propre ticket / exploration
D'une manière générale je dirais que le DATEX doit être LA façon pour une personne tierce d'accéder aux données (on a publié l'endpoint datex sur datagouv)
Mais ils vont avoir besoin d'un filtre sur la source
Si votre modèle peut filtrer toutes les données qui ont notre API comme source, nous vous en serons reconnaissants.
Il faudrait voir si DATEX a des prescriptions sur comment implémenter ce filtre, sinon on peut imaginer quelque chose comme ?source_exclude=['bac_idf']
. Et il faudra trouver un moyen de documenter ça...
Ok merci pour ces précisions, en tout cas on a des choses plus prioritaires pour le moment il me semble pour le moment.
Table de correspondance code Insee <-> SIRET (obtenu par recherches sur https://annuaire-entreprises.data.gouv.fr/) :
city_code | city_label | siret |
---|---|---|
77251 | Lieusaint (77127) | 21500270000015 |
78208 | Élancourt (78990) | 21780208100018 |
78490 | Plaisir (78370) | 21780490500016 |
78498 | Poissy (78300) | 21780498800012 |
78551 | Saint-Germain-en-Laye (78100) | 20008692400012 |
91661 | Villebon-sur-Yvette (91140) | 21910661400072 |
92012 | Boulogne-Billancourt (92100) | 21920012800011 |
92048 | Meudon (92190) | 21920048200012 |
92049 | Montrouge (92120) | 21920049000015 |
92073 | Suresnes (92150) | 21920073000014 |
92075 | Vanves (92170) | 21920075500011 |
93027 | La Courneuve (93120) | 21930027400012 |
93029 | Drancy (93700) | 21930029000018 |
93031 | Épinay-sur-Seine (93800) | 21930031600011 |
93045 | Les Lilas (93260) | 21930045600015 |
93048 | Montreuil (93100) | 21930048000015 |
93059 | Pierrefitte-sur-Seine (93380) | 21930059700016 |
93070 | Saint-Ouen-sur-Seine (93400) | 21930070400018 |
93079 | Villetaneuse (93430) | 21930079500123 |
94021 | Chevilly-Larue (94550) | 21940021500014 |
94028 | Créteil (94000) | 21940028000018 |
94041 | Ivry-sur-Seine (94200) | 21940041300015 |
94054 | Orly (94310) | 21940054600269 |
95127 | Cergy (95000) | 21950127700897 |
95306 | Herblay-sur-Seine (95220) | 21950306700015 |
Contexte
La base de données commune pour les arrêtés de circulation et de stationnement en île-de-France (BAC IDF) était un projet antérieur à DiaLog avec le même objectif. En 2023, il a été racheté par la DGITM, pour la partie financée par l’IDF, afin de fusionner avec DiaLog.
Critères d'acceptation
Questions
[ ] Quelle partie des données BAC-IDF est soumise à la licence ODbL d'OSM ?
L'utilisation de données OSM entraîne l'application de la licence ODbL et l'exigence de republication en ODbL (licence copyleft).
Prochaines étapes
Implémentation
Prérequis
Intégration