Skip to content
Snippets Groups Projects

Generation de urls-*.txt par type de structure publique

Open Matthieu FAURE requested to merge github/fork/mfaure/Generate-urls.txt-by-type into master

Created by: mfaure

Actuellement le fichier urls.txt (produit par script/http_check) regroupe en un seul fichier toutes les URLs de tous les fichiers sources/*.txt.

C'est pratique si on chercher à lister toutes les URLs, ça l'est moins si cherche uniquement les URLs des communes ou des EPCI ou des préfectures, etc.

L'objet de cette PR est d'ajouter dans le dépôt les fichier urls-X.txt et domains-X.txt les sous-ensembles suivants :

  • academies
  • ambassades
  • aphp
  • centre-de-gestion
  • collectivites
  • communes
  • conseils-departementaux
  • conseils-regionaux
  • epci
  • etablissements-scolaires
  • gouvfr-divers
  • hopitaux
  • mdph-mda
  • nongouvfr-divers
  • prefectures
  • sante-fr
  • universites

L'intérêt d'avoir ces fichiers est de mettre à disposition des fichiers d'URLs (pas domaine) directement (ré)utilisables.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Matthieu FAURE requested review from @mdk

    requested review from @mdk

  • Un alternative serait d'avoir la même (ou quasiment la même) structure de donnée dans domains.csv et dans urls.csv (et donc plus urls.txt) :

    name,SIRET,type,sources,script

    L'avantage serait d'éviter d'avoir à choisir sur quel aspect on fait le découpage : ça permettrait de chercher une URL par sources, ou par SIRET en plus de pouvoir la chercher par type.

  • Created by: mfaure

    Bien vu ! Ça pourra faire l'objet d'une autre PR.

    Là le but est uniquement de mettre à dispo les fichiers urls-*.txt. Est-ce OK pour toi pour merger ?

  • Created by: villesinternet

    Avez vous vu ma suggestion concernant le choix du numéro de Siren plutôt que le numéro de Siret ? (Plus facile à trouver, plus généraliste pour identifier une entité juridique que le Siret qui est associé à chaque établissement physique, et meilleur pivot car invariable et unique).

    Pour le reste tout est OK pour moi !

    Le jeu. 15 déc. 2022 à 17:34, Matthieu FAURE @.***> a écrit :

    Bien vu ! Ça pourra faire l'objet d'une autre PR.

    Là le but est uniquement de mettre à dispo les fichiers urls-*.txt. Est-ce OK pour toi pour merger ?

    — Reply to this email directly, view it on GitHub https://github.com/etalab/noms-de-domaine-organismes-publics/pull/49#issuecomment-1353367090, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2YF5RKOP4D7IA5ESXKGKTWNNCBXANCNFSM6AAAAAAS6XIFZY . You are receiving this because you are subscribed to this thread.Message ID: @.*** com>

  • [après les vacances]

    Bien vu ! Ça pourra faire l'objet d'une autre PR.

    Oui mais y'a-il un grand intérêt d'avoir un commit qui découpe un fichier (en ~35 fichiers !) pour enchaîner avec une PR qui l'unifie à nouveau ?

  • Created by: mfaure

    oui :) Ça permet :

    • d'avoir dès maintenant les fichiers urls-*.txt dans master
    • de découpler la mise à dispo de ces fichiers du refacto avec CSV
  • avoir dès maintenant les fichiers urls-*.txt dans master

    Je n'ai pas retenu que c'était un objectif, selon les notes de la réunion l'objectif est un seul domains.csv et un seul urls.txt :

    Jeux de données dérivés:

    • urls.txt: HTTP(S)
    • mx.txt
    • version_super_verifiee_pas_de_phishing.txt

    Mais j'entend ton besoin d'avoir un découpage par type de structure, si je me souviens bien tu en avais fait la demande à l'oral et quelqu'un (si ce n'est pas moi) t'avait répondu « tu pourras faire une jointure ».

    On parlait probablement de join qui permet de faire une jointure sur deux fichiers, mais la réponse à peut-être été lancée un peu vite, ce n'est pas si simple à appliquer ici car d'un côté on a des URLs et de l'autre des domaines, bon ça se fait, mais c'est pas agréable :

    $ join -t, <(sed 's#^https\?://\(.*\)$#\1,\0#' urls.txt | sort) <(sort domains.csv)

    Avec grep c'est un poil plus lisible, mais toujours pas agréable :

    $ grep -Ff<(grep Commune domains.csv | cut -d, -f1 | sed s#^#//#) urls.txt

    Par contre vu qu'on aura le type de structure dans domains.csv tu pourras faire :

    grep Commune domains.csv

    pour avoir toute les Commune, et là ça me paraît agréable. Tu pourras faire :

    grep '200.OK.*Commune' domains.csv

    pour avoir toutes les communes qui répondent en 200 OK en HTTP, ça reste lisible.

    C'est le fait que ça devienne simple d'obtenir ces listes me fait penser qu'on ne devrait pas versionner tous ces fichiers.

    J'ai presque envie de proposer de ne plus stocker, urls.txt du tout vu que c'est presque un grep 200.OK domains.csv mais on s'éloigne du sujet.

  • Created by: mfaure

    Merci @JulienPalard pour les lignes de commandes que je ne connaissais pas !

    Le fait d'avoir le ou les fichiers urls.txt dans le dépôt possède une grande valeur : "c'est le jeu de donnée de la DINUM". La recette de cuisine intéresse les développeurs, la liste des URLs intéresse tout le monde.

  • la liste des URLs intéresse tout le monde

    Oui, mais je suis réticent à versionner toutes les listes d'URLs (je suis le seul ?). Pour ton usage tu en as besoin par type, mais pour un autre usage le besoin est peut-être sur un autre aspect, et j'ai peur de voir le nombre d'artefacts versionnés exploser.

    D'ailleurs @rdubigny côté publication sur data.gouv.fr, préconises-tu de versionner tous les artefacts qu'on publie, ou peut-on se contenter de versionner le script qui génère les artefacts ?

    Ça permettrai peut-être de trouver un compris : la « recette de cuisine » côté github pour les devs, les listes côté data.gouv.fr pour les ré-utilisateurs ?

  • Created by: mfaure

    Bien vu de séparer les lieux de publication ! Ça répondrait à mon besoin. Pour moi il est important de rendre nos listes utilisables dès maintenant, et à tout le monde :)

  • Matthieu FAURE restored source branch github/fork/mfaure/Generate-urls.txt-by-type

    restored source branch github/fork/mfaure/Generate-urls.txt-by-type

Please register or sign in to reply
Loading