Archiver les données ouvertes ?

Voilà où j’en suis pour l’archivage des portails OpenDataSoft: https://files.opendatarchives.fr/

C’est très « Work In Progress » et surtout je me pose des questions sur la façon d’organiser la hiérarchie des dossiers/fichiers/versions.

Actuellement:

  • un dossier par portail/domaine
    • CATALOGUE.csv.gz contient le dernier catalogue récupéré
    • un fichier XXX.csv.gz par jeu de données qui contient la dernière version archivée
    • un fichier XXX-meta.json par jeu de données avec les metadonnées en json
    • archives
      • un dossier XXX par jeu de données (et un pour le CATALOGUE)
        • un fichier XXX_TIMESTAMP.csv.gz pour chaque version archivée
        • un fichier XXX_TIMESTAMP-meta.json pour chaque version archivée des métadonnées

TIMESTAMP (format ISO) et dates de modification des fichiers correspondent à la date indiqué par le portail en métadonnées.

Qu’en pensez-vous ?

Pour les portails OpenDataSoft, j’ai ajouté l’archivage de la version « géographique » des données, en récupérant aussi le fichier au format geojson lorsque c’est approprié. Il est quand même bien plus facilement exploitable que les CSV contenant des bouts de geojson :wink:

Autre ajout… l’exclusion des jeux de données qui ne sont que des extraits de référentiels nationaux:

  • base sirene (rarement à jour en plus)
  • répertoire national des élus
  • prévision de météo france
  • registre parcellaire graphique
    etc…

Premier décompte:

  • 14000 jeux de données
  • mais 8000 différents, il y a beaucoup de jeux qui semblent identiques disponibles sur plusieurs portails, mais il n’est pas facile de s’y retrouver pour ne garder que l’original

Next steps:

  • l’archivage des « pièces jointes », certains jeux de données comme les GTFS sont souvent publiés de cette façon.
  • pour les jeux de données qui en fait ne font que lister des URL de téléchargement de fichiers, archiver aussi ces fichiers. Certains GTFS sont publiés comme ça, mais aussi les dalles d’ortho-photographies ou des documents numérisés et le contenu utile du jeu de données se trouve au bout de ces liens… environ 500 jeux de données sont concernés.
2 « J'aime »

Superbe boulot, qui pourrait peut être aussi trouver des usages pour ceux chez Opendata France ou chez nous qui aiment bien analyser ce qu’il y a sur les portails… Là ça fait un point d’accès unique avec une arborescence normalisée… Poke @samgoeta @mathieu etc.

Arborescence normalisée pour les portails ODS… il faut voir si il est possible d’obtenir quelque chose d’identique pour le reste.

C’est en faisant qu’on apprend :wink:

Il faut vraiment considérer ça comme « alpha », les aventuriers peuvent jeter un oeil sur https://files.opendatarchives.fr

Le script d’archivage fait pour l’instant moins de 100 lignes de bash :wink:

Autre chiffre à noter… 119 portails OpenDataSoft répertoriés… et archivés :slight_smile:

L’archive est en principe complète pour:

  • les metadonnées (json)
  • le contenu des jeux de données (csv et éventuellement geojson)
  • les pièces jointes

L’archivage des fichiers liés est plus problématique… ce n’est pas très homogène :frowning:

1 « J'aime »

Et hop, opendatarchives passe en alpha « publique » :wink:

1 « J'aime »

Et voilà un premier jet d’archivage d’un portail Koumoul, celui de l’ADEME

http://files.opendatarchives.fr/data.ademe.fr/

1 « J'aime »

Bravo Christian ! Tu as raison de laisser pour l’instant de côté les questions liées au versioning/diff et de t’être lancé sans bikeshedder outre mesure. :smile: :clap:

Je découvre aujourd’hui une autre initiative du même genre : The Government Data Graveyard, qui n’archive cependant pas les jeux de données mais recense, plutôt symboliquement, ceux dont la publication a été interrompue.

L’auteure, Anna Powell-Smith, a également un blog sur le sujet : Missing Numbers.

(via FT)

1 « J'aime »

Je suis comme ça… quand j’ai une idée, il faut que j’essaye de la valider en commençant la réalisation.
Ça permet d’avancer et ensuite de rectifier le tir uniquement là où c’est nécessaire.

Je pense déjà devoir rectifier le tir sur l’organisation des archives, car le premier jet est trop calqué sur l’organisation des portails OpenDataSoft vu que j’ai commencé par ça.

En codant l’archiveur pour Koumoul et celui pour CKAN, je vois qu’il y peut y avoir plusieurs fichiers de données pour un jeu de données (CKAN).
C’est aussi le cas pour uData (data.gouv.fr), j’aurais dû y penser !
Il faut donc adapter l’organisation de l’archive pour ça.

Les timestamps ISO complets sont bien longs et « bruitent » un peu trop les noms des fichiers, je passe donc en mode compact: AAAAMMJJTHHMMSSZ

Exemple Koumoul: https://files.opendatarchives.fr/data.ademe.fr/
Exemple CKAN: https://files.opendatarchives.fr/trouver.datasud.fr/

Pour les fichiers externes listés par le contenu d’un jeu de données, j’ai (temporairement ?) coupé leur récupération si il y en a plus de 1000.

Ce qui est dommage c’est que la gestion par les producteurs des metadonnées est quand même très approximative sur la partie date de modification des données et metadonnées. Beaucoup de metadonnées voient leur date de modification changer quotidiennement alors que leur contenu ne change pas.
Cela oblige à les récupérer, les comparer aux précédentes et désormais je ne versionne que si il y a eu un changement effectif. Cela doit venir d’alimentation automatique des portails qui se font en batch même si rien n’a été modifié (y compris dans les données).

Pour les données, c’est bien sûr encore plus problématique.

Autre point… les données « temps-réel ». Quelle historisation faire et donc à quelle fréquence ?

J’envisage de sortir des stats et un dashboard pour avoir une vue d’ensemble.

2 « J'aime »

Un petit bilan de l’archivage des portails ODS de ce matin:

  • 91 portails au catalogue inchangé
  • 22 au catalogue modifié dont:
    • 5273 metadonnées au contenu inchangé (mais indiquées comme mises à jour)
    • 1342 metadonnées modifiées
    • 1264 ressources modifiées et téléchargées (en se basant sur la date d’update, pas sur leur contenu)
    • 882 ressources « géo » téléchargées

Temps total de traitement: environ 4h avec 4 mises à jour en parallèle.

La deuxième passe qui s’occupe des fichiers référencés par le contenu des jeux de données, prends beaucoup moins de temps (1h maxi).

1 « J'aime »

Ceci malheureusement me conforte dans l’idée qu’un archivage par les citoyens soit nécessaire car indépendant…

1 « J'aime »

Pas la peine d’aller chercher aussi « loin » : je viens de m’apercevoir que la Mairie de Paris, suite à mes demande de rafraîchissement sur le peu de données sur l’eau potable qu’ils diffusaient, avaient purement et simplement supprimé les fichiers.
https://opendata.paris.fr/explore/dataset/mobiliereaupotableparis2011/api/

Ils étaient pas à jour de 2011 et 2014, mais tout de même, on ne peut décidément compter sur peu de monde.

Donc merci Christian d’avoir pris l’initiative, cela rendra sûrement de grands services à l’avenir pour ces raisons

Faut que je fouille mes disques, pas impossible que j’ai une copie de ça quelque part…

Ca devrait être puni de supprimer des jeux de données…
Mais bon, je sais que je rêve.

J’ai mis ce que j’ai pu retrouver sur http://data.cquest.org/paris/archive-2010-2011/

Je dois encore fouiller un peu, possible d’avoir encore quelques dataset sur mon vieux Mac Pro…

1 « J'aime »

Changement de nommage des fichiers archivés… maintenant la date de mise à jour du fichier figure en préfixe et en ISO compact, exemple:

  • 20160413T102500Z abri-voyageurs-ecrans-tactiles-connectes.csv.gz
  • 20170513T145703Z abri-voyageurs-ecrans-tactiles-connectes.csv.gz
  • 20160413T104000Z abri-voyageurs-ecrans-tactiles-connectes-meta.json

Même nommage pour les metadonnées en json.
Ceci permet:

  • de trier facilement par date
  • de séparer facilement le timestamp du nom original du fichier
  • d’avoir des noms de fichiers plus compacts

@cquest Nous devons avoir un scraper pour la base Sit@del, et plus largement http://developpement-durable.bsocom.fr/
C’est packagé sous forme de conteneur Docker. Est-ce que ça peut vous intéresser ?
Il nous faut un petit effort de nettoyage avant de libérer le code mais ça doit pouvoir se faire…

Merci pour l’initiative en tout cas, nous aurions justement besoin d’archives longues Sit@del, mais le site ne donne accès qu’aux trois dernières années glissantes. J’en profite d’ailleurs pour lancer un appel si quelqu’un a ces données dans un coin :wink:

2 « J'aime »

Ce site propose des données brutes ou juste des décomptes et statistiques ?

L’idée d’opendatarchives, n’est pas vraiment de scraper, ça c’est plus sur data.cquest.org que je le fait :wink:

Je ne suis pas trop fan de dockeriser ce genre de chose, le scrap est fait avec quel type d’outil/langage ?

Sitadel contient les décomptes des chantiers (nombres et surfaces) autorisés et commencés, par type de construction, au niveau communal.

Le scraper est écrit avec Python/Selenium, Docker est juste une facilité de déploiement dans notre contexte.