zestedesavoir / zds-site

Cœur du projet technique de Zeste de Savoir
https://zestedesavoir.com
Other
268 stars 162 forks source link

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

Closed philippemilink closed 1 year ago

philippemilink commented 2 years ago

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 :

AmauryCarrade commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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).

Arnaud-D commented 1 year ago

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. :)