1 points par GN⁺ 2025-09-23 | 1 commentaires | Partager sur WhatsApp
  • Grâce à une mise à niveau de l’infrastructure du serveur de téléchargement ce mois-ci, l’expérience de téléchargement est désormais plus rapide
  • La méthode de requête des fichiers « …latest » a été modifiée pour utiliser une redirection HTTP
  • Des efforts sont faits pour que tous les utilisateurs puissent accéder facilement aux données OSM les plus récentes
  • Des cas d’utilisation anormaux consistant à télécharger de manière excessive et répétée de gros fichiers dégradent les performances globales du service
  • Trois recommandations concrètes sont proposées pour des téléchargements efficaces et responsables

Mise à jour du serveur de téléchargement et recommandation d’un usage responsable

Ce mois-ci, des travaux de renforcement de l’infrastructure du serveur de téléchargement ont été menés.
Cela permet de mettre en place un environnement où les téléchargements sont disponibles plus rapidement, plus tôt.
Parmi les changements techniques, lorsqu’un fichier « …latest » est demandé, le système n’envoie plus directement le fichier mais oriente désormais vers la version la plus récente via une redirection HTTP

Pourquoi des téléchargements responsables sont nécessaires

Le serveur est exploité afin que tous les utilisateurs puissent accéder facilement aux données OSM (OpenStreetMap) les plus récentes.
Cependant, certains utilisateurs retéléchargent à répétition le même fichier volumineux (par ex. 20 Go) des centaines ou des milliers de fois par jour

  • Par exemple, un utilisateur a téléchargé le fichier italy-latest.osm.pbf près de 10 000 fois en 24 heures
  • D’autres répètent l’action consistant à télécharger chaque jour tous les fichiers présents sur le serveur

En raison des limites de bande passante du serveur, ce type de comportement ralentit le service pour l’ensemble des utilisateurs
Si un blocage de plage d’IP devient inévitable, des utilisateurs sans rapport avec le problème peuvent aussi être pénalisés

Trois recommandations concrètes aux utilisateurs du serveur

  1. Si vous avez besoin des données mondiales, il est recommandé de ne pas les récupérer en segments depuis le serveur, mais de télécharger directement le fichier planet en une seule fois depuis planet.openstreetmap.org
  2. Si vous souhaitez mettre à jour chaque jour des données continentales ou couvrant de vastes régions (par ex. Europe, Amérique du Nord), utilisez le programme pyosmium-up-to-date pour ne télécharger que les changements : cela réduit le trafic total de 98 % et accélère aussi le traitement
  3. Si vous utilisez des scripts d’automatisation, il est nécessaire de surveiller ce qui est téléchargé ou d’ajouter une gestion d’erreurs appropriée afin d’éviter des erreurs comme le téléchargement en boucle infinie du même fichier

Conclusion

Il est demandé à chacun de contribuer, par des habitudes de téléchargement plus responsables, à un environnement où tous peuvent utiliser confortablement les données les plus récentes

1 commentaires

 
GN⁺ 2025-09-23
Avis Hacker News
  • Chaque fois que je vois un problème de ce genre, je me demande pourquoi BitTorrent n’est pas davantage utilisé ; j’aimerais qu’il devienne un protocole par défaut dans plus d’endroits, par exemple pour les registres de conteneurs ou les dépôts de paquets
    • BitTorrent a une mauvaise image auprès du grand public : la plupart des gens l’associent simplement au téléchargement illégal<br>La configuration du pare-feu est plus délicate qu’avec HTTP, et demander ce type de réglages à un administrateur réseau peut être mal vu, surtout à cause du rejet que suscite BitTorrent lui-même<br>Les clients BitTorrent sont bien plus complexes que les clients HTTP et ne sont généralement pas installés sur les ordinateurs d’entreprise ni dans les pipelines CI ; beaucoup veulent simplement régler ça avec une seule commande curl<br>Il existe énormément d’idées reçues sur l’obligation de seeder, ce qui fait peur à beaucoup de monde<br>Au final, c’est dommage que BitTorrent soit sous-estimé alors que tout fonctionne aujourd’hui grâce à son image et à curl<br>Il existe des cas où des clients de jeux vidéo utilisent BT pour les mises à jour ou où PeerTube s’appuie sur webtorrent, mais cela reste encore trop peu répandu
    • Des dizaines d’entreprises comme Amazon, Esri, Grab, Hyundai, Meta, Microsoft, Precisely, Tripadvisor et TomTom mettent gratuitement à disposition des données OpenStreetMap au format Parquet sur S3, ce qui permet d’interroger et d’analyser uniquement les informations voulues en ne consommant que quelques Mo de bande passante sur des jeux de données de plusieurs To<br>Voir plus de détails<br>Les utilisateurs d’ArcGIS Pro peuvent aussi utiliser ce plugin
    • Je me souviens avoir vu il y a quelques années le concept de « torrent à contenu dynamique », mais au final cela n’a pas vraiment pris J’espérais que cela devienne réel, et je me demande s’il y a eu des problèmes critiques, par exemple de sécurité Référence
    • Par rapport à HTTP, je pense que BitTorrent a manqué d’un « client universel » réellement utilisable partout ; ce n’est ni aussi familier que SSH ou SCP, et entre l’installation, la configuration et la mise en place d’un tracker, cela demande pas mal d’efforts<br>En général, cette architecture n’a de sens que s’il existe un besoin fréquent de télécharger de gros fichiers ; si on ajoute les questions de fiabilité et de volume de seeding, tout revient finalement à se demander quel est le bénéfice réel par rapport au coût de développement et de maintenance des outils<br>Je me demande si quelque chose comme Git LFS pourrait aider, mais c’est là que s’arrêtent mes connaissances
    • Dans une ancienne entreprise où j’ai travaillé, il fallait distribuer chaque semaine de gros fichiers à tous les développeurs ; au début on faisait ça en parallèle avec rsync, puis après être passés à BitTorrent, le gain de vitesse a été énorme
  • Je suis toujours reconnaissant qu’il existe des entreprises comme Geofabrik, grâce auxquelles nous pouvons parfois vivre ce genre d’expérience formidable<br>Quand on exploite directement une API, on est souvent vraiment surpris par l’inconséquence ou l’ignorance de certains développeurs ; on voit des requêtes tellement absurdes que c’en est frappant<br>Si je ne l’avais pas moi-même vécu auparavant, j’aurais cru à une exagération si quelqu’un m’avait raconté cela<br>Mais à l’inverse, les développeurs d’API ne pensent souvent pas non plus à plusieurs cas d’usage : la plupart n’offrent que des opérations sur une seule entité, si bien que dans des cas réels où il faut traiter plusieurs éléments, on n’a pas d’autre choix que d’envoyer 700 requêtes
    • Dans n’importe quel métier, on peut trouver de l’irresponsabilité ou de l’ignorance chez les personnes peu expérimentées<br>Je suis certain que tous les développeurs ne martèlent pas les API sans réfléchir<br>La programmation est désormais ouverte à tout le monde, et avec la tendance récente au « vibe-coding », j’ai l’impression qu’à grande échelle c’est inévitable<br>Si l’on renvoie un code 429 (Too Many Requests) ou qu’on applique un algorithme de leaky bucket, même les développeurs juniors ou débutants comprendront vite eux-mêmes qu’il y a un problème
    • J’ai du mal à comprendre pourquoi la fonction « downloader pays » de S3 n’est pas plus largement adoptée ; s’il existait aussi ce modèle en dehors d’AWS, on pourrait faire en sorte que les utilisateurs inefficaces supportent simplement leur propre coût<br>L’inconvénient, c’est que l’accès pourrait devenir difficile pour les personnes sans moyen de paiement, mais on pourrait peut-être conserver une option gratuite avec un débit limité
    • On parle d’utilisateurs qui téléchargent un fichier de 20 Go des milliers de fois par jour ; je me demande pourquoi on ne contrôle pas simplement ça avec du rate limiting
    • Je pense que les deux côtés ont besoin de plus d’empathie : les clients doivent respecter l’infrastructure, et les développeurs d’API doivent réfléchir plus largement du point de vue de l’utilisateur
  • Le cas de « l’utilisateur qui a téléchargé le fichier italy-latest.osm.pbf presque dix mille fois en 24 heures » ressemble très probablement à un problème de code ; il suffit de mettre une limite par IP, même s’il s’agit d’utilisateurs passant par un VPN
  • Il semble probable que des gens téléchargent des fichiers de données cartographiques dans des pipelines CI, souvent de manière involontaire sans même s’en rendre compte<br>C’est pour cela que beaucoup de services ont fini par interdire les téléchargements automatiques pour les utilisateurs non connectés<br>À mon avis, si l’on veut permettre de récupérer des fichiers avec cURL, il vaut mieux commencer par imposer une inscription, puis bloquer ou facturer les utilisateurs qui téléchargent de manière excessive
    • Je pense que le concept même de CI est l’une des pires inventions en matière de gaspillage de ressources informatiques, mais je ne comprends pas très bien pourquoi, pour des données cartographiques, on en arrive à des téléchargements massifs comme pour des bibliothèques de code
    • Je soupçonne que l’application web « interroge » le fichier GPKG ; le format Parquet permet d’interroger efficacement uniquement la partie voulue, mais je ne sais pas si on peut faire la même chose aussi facilement avec GPKG
    • Je me demande s’il est possible d’identifier de façon fiable les requêtes provenant d’un serveur CI
    • Même une authentification simple, par exemple via une clé API ou un e-mail, me semblerait déjà un bon compromis
  • Le cas de « l’utilisateur qui télécharge le même fichier de 20 Go des centaines de fois par jour pendant plusieurs jours (et même un utilisateur qui l’a téléchargé dix mille fois en 24 heures), ainsi que des personnes qui téléchargent chaque jour tous les fichiers du serveur » semble pouvoir être bloqué facilement rien qu’avec du rate limiting<br>Je me demande pourquoi, alors qu’ils comptent déjà le nombre de téléchargements sur 24 heures, ils n’imposent pas de limite<br>Je ne m’attends pas à ce que ces personnes (a) lisent le billet d’avertissement de l’exploitant du serveur ni (b) changent de comportement
  • Il y a quelques années, je me disais encore : « quand même, personne ne va télécharger plus de 100 Mo à chaque fois dans un script de build », mais après avoir découvert Docker, j’ai réalisé que ce genre de cas est extrêmement fréquent
    • On voit souvent des gens qui, une fois dans un conteneur, ont l’impression que par magie tout devient gratuit
    • Docker prend en charge le cache de couches, donc il n’est pas nécessaire de tout retélécharger à chaque fois, non ?
    • C’est pour cela que je crée à l’avance une image dédiée au projet pour la CI et que je ne l’utilise que dans la CI ; devoir tout réinstaller avec apt-get à chaque fois fait perdre trop de temps
  • Je me demande si vous envoyez des e-mails séparés aux utilisateurs qui téléchargent excessivement ; en 2012, quand j’utilisais l’API Nominatim gratuite, l’e-mail était obligatoire, et j’ai effectivement reçu un message me demandant de réduire le volume de requêtes, notamment via le cache
    • S’il n’y a pas de connexion, on ne récupère pas d’adresse e-mail, donc on ne peut pas envoyer de message
  • Je ne suis pas l’utilisateur qui télécharge le fichier italy-latest toutes les 8 secondes, mais la startup italienne à laquelle j’appartiens utilise beaucoup GeoFabrik ; il est possible que quelqu’un dans l’équipe ait trop téléchargé en faisant des expériences avec des conteneurs<br>Nous avons déjà été bloqués par geofabrik dans le passé, et comme nous ne savons toujours pas pourquoi, j’espère que cela ne se reproduira pas à l’avenir<br>J’ai essayé d’appeler et d’envoyer des e-mails au contact geofabrik.de, mais je n’ai eu aucune réponse ; si quelqu’un connaît une solution à ce problème ou un moyen de les joindre, j’aimerais beaucoup le savoir
  • J’ai l’impression que les personnes qui téléchargent excessivement des fichiers de cette manière ne liront justement pas ce genre de billet de blog
  • Cela me semble être un cas d’usage idéal pour bittorrent
    • Je me demande comment un client torrent pourrait automatiquement ne récupérer que les changements lorsqu’il y a des modifications dans les données