Hello,
Mais faudrait alors changer de préfixe à chaque fois qu’il y a des
changements dans les tables ? Pour les régions là, il se trouve que
c’est assez rare, mais en réalité pour les villes c’est… tous les ans
quasiment. Tous les ans il y a des villes qui disparaissent et
fusionnent avec d’autres, et des nouvelles qui apparaissent. Et le
plugin n’est jamais vraiment à jour.
À terme c’est la structure, l’architecture de comment c’est stocké qui
me parait pas super pérenne (déjà au moins pour la France on devrait
toujours faire appel à l’identifiant INSEE que ce soit pour région, dép,
ville, et pas aux id SQL… mais après pour les autres pays je sais pas
comment ça marche).
Absolument.
Pour toutes les nomenclatures, que ce soit pour les animaux, les pays, les langues… il est essentiel de n’utiliser que « id » unique fourni par la nomenclature qu’il soit un entier ou une chaine pour faire les liens avec les autres objets. Ainsi il est possible de recharger sans dommage les tables source de ces nomenclatures car en général si les id changent les id supprimés ne sont jamais réutilisés (en général, ça peut l’être pour les pays en ISO 3166 mais c’est assez rare).
Pour les régions, comme le dit Rasta il existe le code INSEE qui est numérique (1 ou deux chiffres) et qui permet de reconnaitre la région si on cherche des statistiques INSEE associées.
Il existe aussi la norme ISP 3166-2 qui a l’intérêt elle d’être valable pour tous les pays qui souhaitent l’utiliser. La nomenclature est basée sur le code ISO alpha2 du pays, soit FR pour la France et un suffixe pour préciser la subdivision. Par exemple, les 13 régions actuelles ont des suffixes à 3 lettres ce qui donne FR-BRE pour la Bretagne alors que le code de la Bretagne avant 2016 était FR-E. Il est donc même possible de conserver les deux nomenclatures.
C’est pareil pour l’Allemagne avec des régions comme DE-BY pour la Bavière…
Ce code unique existe aussi pour les départements et autres subdivisions comme les collectivités Outre-Mer, les départements étant aussi rattachés à une région.
Ca fait un moment que je voulais me pencher sur les plugins Géographie et Pays car, au moment pù j’ai commencé à revoir les codes de langue, j’ai initié un plugin nommé Isocode dont le but est de regrouper les codes ISO, IANA… dans des tables adaptées afin de fournir un service Web qui est presque jamais disponible sur les sites source.
Le principe du plugin est de charger des fichiers texte, excel, xml… suivant les cas voire de lire des pages web et de construire les tables associées qui fournissent toute l’information nécessaire.
J’avais dans l’idée d’installer ce plugin sur un site de la Galaxie et de servir les plugins Géographie ou Pays ou autres via une interface web.
Ca serait peut-être bien de voir comment merger tout ça.
Je n’ai aucun problème à revoir le plugin voire à le dissoudre ailleurs si besoin.
En tout cas, l’expérience m’a montré qu’il fallait créer des tables qui intègrent par objet l’ensemble des identifiants connus. Par exemple, il parait intéressant pour les pays et les subdivisions de conserver les identifiants ISO et propres au pays comme ceux de l’INSEE pour la France car ils peuvent être utilisés dans différents contextes même si la priorité doit être donnée au plus universel, cad l’ISO.
En outre, je ne sais pas comment est fait le plugin Géographie mais pour être multi-pays il vaudrait mieux ne pas avoir de tables pour chaque subdivision (région, département, collectivité…) mais une table subdivision avec un type voire une profondeur qui pourrait s’adapter en fonction du pays.
La complexité ensuite vient du chargement des tables.
Le plugin Isocode a quelques fonctions et mécanismes génériques pour des fichiers csv, xml, json et pour l’extraction de page web.
C’est peut-être une bonne base à reprendre.
A discuter.
Voilà pour les quelques idées du moment.