Carnet Wiki

Un plugin spip_(geo)localisation

Version 14 — Août 2007 kent1

Objectifs :

Avoir à disposition dans spip une liste de continent / pays / ville utilisable par les autres plugins facilement...

  • Une table Continent avec | id_continent | Nom | code ONU | latitude | longitude||
  • Une table Pays avec id_pays | id_continent | Nom | code ISO | atitude l longitude | Indicatif téléphonique (voir zone TVA, monnaie, langue officielle...)
  • Une table Région avec id_region | id_pays | id_continent | Nom | latitude l longitude | code
  • Une table Departement avec id_departement | id_region | id_pays | id_continent | Nom | latitude l longitude
  • Une table Ville avec id_ville | id_pays | id_continent | Nom | latitude l longitude | code postal
  • Une table arrondissement

Reprise d’un échange sur irc

[13:01] les pays je me demande comment faire
[13:02] j’ai le html des 282 pays en select
[13:02] <kent1> je me demande s’il faut pas une table...
[13:02] mais je pense qu’un plugin pays ca serait bien
[13:02] oué voila
[13:02] <kent1> oui
[13:02] <kent1> une table pays + indicatifs
[13:02] + zone de frais de ports
[13:02] <kent1> + continent
[13:02] + info de localisation
[13:02] <kent1> oui
[13:02] voila
[13:02] <kent1> cool
[13:03] mais ca doit forcement deja exister un truc comme ca
[13:03] <kent1> moi j’aime bien l’idée de travailler à partir de gribouille
[13:03] oué
[13:03] moi itou
[13:03] <kent1> je copy/paste dans un nouvel article

Mutualisation possible d’un tel plugin avec d’autres plugins

exemples :
-   [-> [->/ Inscription2] et Association (utilisent actuellement une liste de pays pour les fiches des inscrits)
-  Forms & tables
-  Gis et les autres plugins cartographiques
-  Google Maps sur mots clés (utilise actuellement une liste de villes avec leurs coordonnées)
-  Paris-Beyrouth compteur de visites et /Google-Maps-et-Spip (liste des pays utilisée pour les statistiques des visiteurs)

réalisation

Début d’écriture ici, avec déjà 7 continents et tous les pays de la liste ISO 3166-1. J’ai ajouté l’Amérique entière comme continent, la liste est modifiable et non définitive.

Puisque le plugin augmentera fortement de taille lorsque seront ajoutées les listes de régions, départements, communes, on pourrait faire une première version avec uniquementl les continents et pays, que nécessiterait les versions suivantes (un peu comme des poupées russe, ou comme la notion de niveaux dans W3C Variability in Specifications).

De plus, cela permetrait de sortir une première version continents+pays rapidement.

Kent1 : A noter, seules les listes de continents et de pays seront à disposition dans le plugin sur spip-zone. Il faudra trouver une solution de sauvegarde externe pour le reste...

traduction traduction des noms

noms

Actuellement, la traduction des noms des continents est effectuée par une balise <multi>, et les noms des pays sont en français. À part la ballise multi, la solution la plus simple au début est de faire une colonne par langue, nommée nom-fr, nom-en, nom-gl, etc.

Un solution plus avancée serait de faire un tableau (une table SQL) ayant pour colonnes type (continent/pays/etc.), id (identifiant), lang (code langue), nom (nom traduit), les trois premières formant une PRIMARY KEY de SQL.

Kent1 : La première solution me sembre trop spécifique à spip... d’ailleurs c’est intéressant si c’est en 2 ou 3 voir 4 langues... après cela devient très lourd à gérer à mon avis.... je pencherai pour la seconde pour commencer

Pour trouver des traductions des pays, il est possible (comme pour les langues de SPIP) de voir le projet CLDR (dont la version 1.5 a été publiée le 2007-07-31), qui indique en plus les monnaies nationales.