ça tombe bien, je maintiens une base de données de localisation d'adresse IP

Tous les blocs d'IP sont référencés par un des 5 registres (RIPE, ARIN, LACNIC, APNIC et AFRINIC), sur chaque fiche est mentionnée le pays pour lequel l'adresse IP est associée.
Solution 1 : live request
En théorie, on pourrait construire un script PHP d'extraction du code pays pour une IP donnée. Le script interroge chaque registre pour savoir si l'IP est maintenue chez lui puis à l'aide d'un parser, le pays est extrait.
En pratique, les requêtes en directe fonctionnent parfaitement, cette méthode comporte 2 faiblesses:
- vitesse: il faut à chaque fois interroger les 5 registres, LACNIC et l'AFRINIC sont souvent longs à répondre,
- quota: RIPE, AFRINIC, LACNIC appliquent un quota de requêtes. Dès que le nombre de demande est atteint, les requêtes sont rejetées.
Solution 2: Base de données IP to Country
L'idée est de lister tous les blocs d'IP compris entre 0.0.0.0 et 255.255.255.254 et d'y ajouter le code pays. Les blocs d'adresse sont de taille variable et seront notés sous leur forme numérique.
J'en suis à la phase de conception et un des buts est de minimiser au maximum la taille de base de données pour réduire les temps de lecture des données.
Les avancées du projet seront ajoutées au fur et à mesure au fil de discussion