'adresse',
                                 'code_postal',
                                 'ville',
-                                'pays',
                                 'id_souscription_campagne',
                                 'type_souscription'),
                           // black list
     return "Identifiant de transaction introuvable..."; /* FIXME: à rendre traduisible. */
   }
 
-  $c = array_merge($c, array("id_transaction" => $id_transaction));
+  /* Récupération du nom du pays */
+  $code_pays = _request('pays');
+  $pays = sql_getfetsel(sql_multi("nom", $GLOBALS['spip_lang']), 'spip_pays', "code='$code_pays'");
+
+  $c = array_merge($c,
+                   array("id_transaction" => $id_transaction,
+                         "pays" => $pays));
 
   if($err = objet_modifier_champs('souscription', $id_souscription, array(), $c))
     return $err;
 
+[(#SET{liste_pays,#ARRAY{}})]
+<BOUCLE_p(PAYS){par nom}>
+  [(#SET{liste_pays, #GET{liste_pays}|array_merge{#ARRAY{#CODE, #NOM}}})]
+</BOUCLE_p>
+
 <div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id_souscription,nouveau}[ formulaire_souscription_(#ENV{type_souscription})]">
   [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
   [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
          [(#SAISIE{textarea, adresse, label=<:souscription:label_adresse:>, rows=3})]
          [(#SAISIE{input, code_postal, label=<:souscription:label_code_postal:>})]
          [(#SAISIE{input, ville, label=<:souscription:label_ville:>})]
-         [(#SAISIE{input, pays, label=<:souscription:label_pays:>})]
+         [(#SAISIE{selection, pays, label=<:souscription:label_pays:>, datas=#GET{liste_pays}})]
        </ul>
       </fieldset>
       <p class="boutons"><input type="submit" class="submit" value="<:souscription:confirmer:>" /></p>
 
   if ($e = _request('courriel') AND !email_valide($e))
     $erreurs['courriel'] = _T('form_prop_indiquer_email');
 
-  /* Le code postal n'est vérifié que si on est dans le cas de la France */
-  if($e = _request('pays') AND strtolower(trim($e)) == "france") {
-    if ($e = _request('code_postal') AND !preg_match("/^(2[ABab]|0[1-9]|[1-9][0-9])[0-9]{3}$/", $e)) {
-      $erreurs['code_postal'] = "Code postal invalide";
+  if($e = _request('pays')) {
+    $ret = sql_select('nom', 'spip_pays', "code='${e}'");
+
+    if(sql_count($ret) != 1)
+      $erreurs['pays'] = "Pays invalide";
+
+    /* Le code postal n'est vérifié que si on est dans le cas de la France */
+    elseif($e = _request('pays') AND $e == "FR") {
+      if ($e = _request('code_postal') AND !preg_match("/^(2[ABab]|0[1-9]|[1-9][0-9])[0-9]{3}$/", $e)) {
+        $erreurs['code_postal'] = "Code postal invalide";
+      }
     }
   }
 
 
 <paquet
     prefix="souscription"
     categorie="communication"
-    version="0.1"
+    version="0.2"
     etat="dev"
     compatibilite="[3.0.5;3.0.*]"
     logo=""
   <necessite nom="saisies" compatibilite="[1.24.0;]" />
   <necessite nom="bank" compatibilite="[2.2.1;]" />
   <necessite nom="spip_bonux" compatibilite="[3.0.4;]" />
+  <necessite nom="pays" compatibilite="];[" />
 
   <pipeline nom="autoriser" inclure="souscription_autorisations.php" />