zds-site icon indicating copy to clipboard operation
zds-site copied to clipboard

Sortir du dépôt Git les données GeoLite

Open philippemilink opened this issue 2 years ago • 3 comments

Les données GeoLite, utilisées pour la géolocalisation des adresses IP des membres, doivent être mises à jour (la version actuellement utilisée date de 2020 et une mise à jour est proposée chaque semaine).

Cependant, ce fichier de données a une taille de 60 Mo, donc ce n'est pas vraiment une idée de mettre à jour simplement ce fichier, faire un commit et une PR : les dépôts Git vont grossir très vite si on met régulièrement à jour le fichier.

Il faut donc sortir ce fichier du dépôt :

  • supprimer le fichier du dépôt
  • permettre l'utilisation du site si le fichier n'est pas présent (notamment pour l'environnement de dev)
  • mettre à jour les instructions d'installation pour indiquer comment récupérer le fichier et où le placer
  • mettre à jour https://github.com/zestedesavoir/ansible-zestedesavoir pour qu'il récupère et installe tout seul le fichier (il me semble que MaxMind met à disposition une API pour ce genre de choses)

philippemilink avatar Aug 27 '22 17:08 philippemilink

Il est en effet possible d'utiliser leur API, avec une clef d'API, pour télécharger la dernière version de la base de données. La documentation est ici.

Peut-être faudrait-il stocker aussi quelque part la dernière date de mise à jour, afin de ne pas retélécharger le fichier à chaque fois, sauf si ce n'est pas un souci pour vous — et éventuellement prendre soin de ne pas le télécharger si exécuté en mode CI ?

AmauryCarrade avatar Aug 27 '22 17:08 AmauryCarrade

Le fichier étant lourd, peut-être serait-il également pertinent de songer à nettoyer l'historique du dépôt de ce fichier ? En fonction des conséquences que ça aurait, bien sûr (à éviter si ça peut avoir des conséquences louches, mais si ça permet de réduire le clone du dépôt de quelques centaines de Mio, ça peut valoir le coup).

AmauryCarrade avatar Aug 27 '22 17:08 AmauryCarrade

Autre solution que l'on peut considérer (à voir son coût et sa praticité, cependant) : utiliser GitLFS. Mais sachant que l'offre gratuite de GitHub est d'un Gio de stockage et d'autant de bande passante, ça me semble étroit (surtout la bande passante).

AmauryCarrade avatar Aug 27 '22 17:08 AmauryCarrade

J'ai lié un ticket sur le dépôt Ansible, comme ça, on a la tâche là-bas. Ça évite d'avoir des tickets concernant deux dépôts ici. Je pense que c'est plus simple comme ça. :)

Arnaud-D avatar Oct 21 '22 15:10 Arnaud-D