Codes postaux

Ajouter facilement tous les codes postaux français à votre base de donnée.

En quelques clics, vous pouvez, grâce à ce plugin, récupérer et intégrer à la votre base de donnée, les codes postaux français contenu dans la base GeoNames (sous licence Creative Commons By) [1].

Installation téléchargement et intégration des données

Installation du plugin

Pour installer le plugin codes_postaux, ce n’est pas différent des autres plugins. Pour ceux qui n’ont jamais installé de plugins SPIP, référez-vous à cet article http://www.spip.net/fr_article3396.html

Une fois installé, il est toujours bon d’aller jeter un coup d’œil au panneau de configuration CFG du plugin [2].

Téléchargement des données

Le plugin ne comprenant pas les données, il faut les télécharger sur le site Geonames.
Pour vous simplifier la tâche, le plugin comprends un module pour charger les données nécessaires directement à partir de l’espace privé de votre site SPIP.
Il suffit d’aller sur la page importation, vous trouverez le formulaire téléchargement des données.
Ces données sont téléchargées et dézippées dans le dossier ./tmp.

Intégration des données

Une fois, le fichier, vous pouvez procéder à l’intégration des données dans les tables de votre base.
Un formulaire simple vous permet de faire cette opération, il se trouve en toute logique sur la page « Importer les codes postaux ».
-  La case à cocher « Vider la table avant l’importation » pour éventuellement effacer tout le contenu de la table à importer

Filtrer les données importées

Exemple : Vous ne souhaitez importer dans votre base que les villes du département Nord
Il vous suffit de renseigner le champs filtre avec la formule
code_departement=59

Voici l’ensemble des clés pris en compte (elles correspondent aux colonnes du fichier geonames) :
-  pays
-  code
-  titre
-  region
-  code_region
-  departement
-  code_departement
-  arrondissement
-  code_arrondissement

Si le plugin COG est installé, il vous sera proposer, par l’intermédiaire de la case à cocher « Relier les codes postaux aux communes » , de créer les liaisons entre les communes et les codes postaux.

Dans les squelettes

La boucle CODES_POSTAUX

Exemple pour la boucle communes

<B_p>#PAGINATION
<table class="spip" width="100%">
	<thead>
	<tr class="row_first">
		<th><:code_postal:code:></th>
		<th><:code_postal:titre:></th>
	</tr>
	</thead>
	<tbody>
	<BOUCLE_p(CODES_POSTAUX){par code}{pagination 20}>
	<tr[ class="(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})"]>
		<td>#CODE</td>
		<td>#TITRE</td>
	</tr>
	</BOUCLE_p>
	</tbody>
</table>
<//B_p>

Dans les formulaires

Un type de saisie vient s’ajouter : code_postal
Il permet d’ajouter une saisie autocompletée des codes postaux et si vous souhaitez un remplissage automatique d’un éventuel champs ville, une démonstration est disponible sur la page (URL_SITE_SPIP) ?page=demo/form_code_postal

Notes

[1Ce plugin n’est pas redondant avec le plugin géographie. Le plugin géographie inclue les données (base de données des ville et code postaux). Ces données sont incomplètes : une ville peut compter plusieurs codes postaux. La structuration des tables dans le plugin géographie ne permet pas de prendre en compte cette réalité. Voila pourquoi ce choix d’avoir développer un autre plugin.

[2Icone de clé-outil dans le panneau de « Gestion des plugins »..

Dernière modification de cette page le 13 février 2019

Discussion

5 discussions

  • Bonjour,

    J’ai noté un conflit d’autocomplete avec le plugin Messagerie entre membres

    Quand les 2 plugins sont activés j’ai un joli

    1. TypeError: $(...).autocomplete(...).data(...) is undefined

    je vais poster le même message sur le forum du plugin Messagerie

    Répondre à ce message

  • 3

    Bonsoir,

    Quelle est la liaison créée SVP ?

    Si le plugin COG est installé, il vous sera proposer, par l’intermédiaire de la case à cocher « Relier les codes postaux aux communes » , de créer les liaisons entre les communes et les codes postaux.

    SPIP 3.1.0-rc2 [22630] + plugs COG et codes postaux à jours.

    Merci,
    frnaçois

    • C’est la liaison entre les communes(table spip_cog_communes) et les codes postaux(spip_codes_postaux), une commune peut avoir plusieurs codes postaux et un code postal peut regrouper plusieurs communes, il y a donc une table de liaison spip_cog_communes_liens.

    • Effectivement il y a la table liens, mais justement, je ne vois pas la liaison qu’il y a entre ces 3 tables ?
      Voici la structure de mes 2 tables codes_postaux et cog_communes_liens :

    • ... ça y est, j’ai retrouvé comment la liaison est faite ;)

      Merci GuillaumeW pour ton retour !

    Répondre à ce message

  • Bonjour,

    Il y a une petite erreur dans le fichier ./javascript/codes_postaux.js qui génère une erreur javascript : en fin de fichier, il faut remplacer :

    .data("autocomplete")._renderItem = function (ul, item) {
        return $("<li>")
        .data("item.autocomplete", item)
        .append("<a>" + item.label + " " + item.ville + "</a>")
        .appendTo(ul);
    }

    par :

    .data("ui-autocomplete")._renderItem = function (ul, item) {
        return $("<li>")
        .data("ui.autocomplete-item", item)
        .append("<a>" + item.label + " - " + item.ville + "</a>")
        .appendTo(ul);
    }

    Ce qui permet de composer la liste des résultats autocomplétés.

    françois

    Répondre à ce message

  • Spipmalion

    Bonjour, dans la page démo autocomplete spip.php ?page=demo/form_code_postal
    La liste de propositions de l’autocomplete est tout en haut à gauche au lieu de se positionner sous le champ input

    J’ai trouvé ce problème sur des forums, il est en général résolu en mettant à jour Jquery et Jquery UI ; hors avec SPIP dès qu’on met à jour Jquery on rencontre de gros problèmes d’incompatibilité, + Jquery UI est dans un plugin dist

    Y a t’il une solution ?
    Merci d’avance

    Répondre à ce message

  • 4

    Super la saisie code postal autocomplétée !

    Je ne connais pas la base dont sont extraites les données, mais est ce qu’elle fournit aussi le code insee de chaque commune ? C’est un code à cinq chiffres qui identifie les communes individuellement, alors que le code postal peut regrouper plusieurs communes (à la campagne souvent).

    • Geonames ne propose pas le code insee des communes (code officiel géographique, COG).
      Il est disponible sur le site de l’INSEE, mais en téléchargement, pas d’API ou de webservice :
      http://www.insee.fr/fr/methodes/nomenclatures/cog/
      Donc pas compatible directement avec l’approche de ce plugin.

      Peut être un sous plugin pourrait prendre en charge ce code INSEE ?

    • Bonjour Nicod_, ce plugin existe déjà :-) , il s’appelle COG. http://contrib.spip.net/COG-Toutes-les-communes-departements-regions
      Si tu installes le plugin COG, au moment de l’importation des codes postaux, tu pourra choisir de créer les liens entre les codes postaux et les cog_communes(37 000 communes de la base insee ).
      Bon amusement

    • Excellent, effectivement je vois ça dans le code d’import des codes postaux.

      Du coup, tu pourrais ajouter un dans le paquet.xml, pour signaler l’utilisation possible du plugin COG ?

    • La balise a été mangée, je voulais dire : « tu pourrais ajouter un <utilise> dans le paquet.xml »

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom