diff --git a/ecrire/exec_admin_repair.php b/ecrire/exec_admin_repair.php
index e0f12596c7d33c29873643011cabd38c6377feba..29d2848fa120aea005fe5651b2602ca1c5b579d2 100644
--- a/ecrire/exec_admin_repair.php
+++ b/ecrire/exec_admin_repair.php
@@ -82,7 +82,7 @@ else {
 $action = _T('texte_tenter_reparation');
 
 if ($ok) {
-	debut_admin($action, $message);
+	debut_admin(generer_url_post_ecrire("admin_repair"), $action, $message);
 
 	if (! $res = verifier_base())
 	  $res = "<br><br><font color='red'><b><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></b></font><br /><br /><br />\n";
diff --git a/ecrire/exec_admin_tech.php b/ecrire/exec_admin_tech.php
index 1738733496a5ddcc61c49c79cc0f4de9aae2c8fa..58f7a49a3e39c70983492d0158f203aad2afccde 100644
--- a/ecrire/exec_admin_tech.php
+++ b/ecrire/exec_admin_tech.php
@@ -100,9 +100,8 @@ echo	"<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=8 WIDTH=\"100%\">",
 	"<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3 COLOR='#000000'>",
 	_T('texte_restaurer_base')."</FONT></B></TD></TR>",
 	"<TR><td class='serif'>\n",
-	"<form method='get' action='",
-	generer_url_ecrire("import_all"),
-	"'>\n<p align='justify'> ",
+	generer_url_post_ecrire("import_all"),
+	"\n<p align='justify'> ",
 	_T('texte_restaurer_sauvegarde'),
 	"\n<p>",
 	_T('entree_nom_fichier', array('texte_compresse' => $texte_compresse)),
diff --git a/ecrire/exec_delete_all.php b/ecrire/exec_delete_all.php
index d3b1e3daa149e1fe6c69434162067ead55b5281b..5a9737910d24d046562c6f672b01dbf42f5780fd 100644
--- a/ecrire/exec_delete_all.php
+++ b/ecrire/exec_delete_all.php
@@ -18,7 +18,7 @@ function delete_all_dist()
 {
 $action = _T('titre_page_delete_all');
 
-debut_admin($action);
+debut_admin(generer_url_post_ecrire("delete_all"), $action);
 
 // faudrait plutot recuperer dans inc_serialbase et inc_auxbase
 // mais il faudra prevenir ceux qui affectent les globales qui s'y trouvent
diff --git a/ecrire/exec_export_all.php b/ecrire/exec_export_all.php
index 2ed752592caae2786198fa33184c5f03786e41ff..2489d11fc730dedec4bad7ab3bf0500a4bb9871c 100644
--- a/ecrire/exec_export_all.php
+++ b/ecrire/exec_export_all.php
@@ -26,7 +26,7 @@ if (!$archive) {
 
 $action = _T('info_exportation_base', array('archive' => $archive));
 
-debut_admin($action);
+debut_admin(generer_url_post_ecrire("export_all","archive=$archive"), $action);
 
 $debug_limit = '';
 
diff --git a/ecrire/exec_import_all.php b/ecrire/exec_import_all.php
index b8ff85d9184496d8f407cddbbc292b79a09440c6..b317608016b0cffd8a96e826a36a8d609d8a5928 100644
--- a/ecrire/exec_import_all.php
+++ b/ecrire/exec_import_all.php
@@ -39,14 +39,13 @@ function verifier_version_sauvegarde ($archive) {
 
 function import_all_dist()
 {
-  global $archive;
-  if ($archive) {
+	global $archive;
+	if ($archive) {
 	$action = _T('info_restauration_sauvegarde', array('archive' => $archive));
 	$commentaire = verifier_version_sauvegarde ($archive);
-}
-
-  debut_admin($action, $commentaire);
+	}
 
+  debut_admin(generer_url_post_ecrire("import_all","archive=$archive"), $action, $commentaire);
 
   $archive = _DIR_SESSIONS . $archive;
 
@@ -56,7 +55,6 @@ function import_all_dist()
   ecrire_metas();
   
   fin_admin($action);
-
   header("Location: ./");
 }
 ?>
diff --git a/ecrire/exec_install.php b/ecrire/exec_install.php
index 70d5fe630e59fb644605764850e07c4640c2bcff..6200fc4b7745f60ffd4d028ebc55177e199c8901 100644
--- a/ecrire/exec_install.php
+++ b/ecrire/exec_install.php
@@ -755,7 +755,7 @@ function install_unpack()
 
   $action = _T('texte_unpack');
  
-  debut_admin($action);
+  debut_admin(generer_url_post_ecrire("install"),$action);
 
   $hash = calculer_action_auteur("unpack");
 
diff --git a/ecrire/exec_upgrade.php b/ecrire/exec_upgrade.php
index 699cf2759257e43d432c2844ac6fa08d7e489cea..7b4039a0014ef186cde4216d25c58cbf761da649 100644
--- a/ecrire/exec_upgrade.php
+++ b/ecrire/exec_upgrade.php
@@ -65,7 +65,7 @@ function upgrade_dist()
 
   include_ecrire('inc_admin');
 
-  debut_admin($upgrade_titre, $commentaire);
+  debut_admin(generer_url_post_ecrire("upgrade"),$upgrade_titre, $commentaire);
 
   include_ecrire ("inc_base");
 
diff --git a/ecrire/inc_admin.php b/ecrire/inc_admin.php
index ab4204d791ec8dbcb4b181785fda201596788900..6fb347a17da515c78fccefb6e3347cfde43df3bc 100644
--- a/ecrire/inc_admin.php
+++ b/ecrire/inc_admin.php
@@ -17,7 +17,7 @@ function fichier_admin($action) {
 	return "admin_".substr(md5($action.(time() & ~2047).$connect_login), 0, 10);
 }
 
-function debut_admin($action, $commentaire='') {
+function debut_admin($form, $action, $commentaire='') {
 	global $clean_link;
 	global $connect_statut;
 
@@ -37,7 +37,7 @@ function debut_admin($action, $commentaire='') {
 	include_ecrire ("inc_minipres");
 	minipres(_T('info_action', array('action' => $action)),
 		  $commentaire
-		. $clean_link->getForm('POST')
+		. $form
 		. "\n<p><b>"._T('info_authentification_ftp')."</b>"
 		. aide("ftp_auth")
 		. "\n<p>"
diff --git a/ecrire/inc_config.php b/ecrire/inc_config.php
index 64beeed6411381241e8f036d9ee7bb460c5a2fef..933a04ab968b97e536bd09ecd7bacaecf52af2dd 100644
--- a/ecrire/inc_config.php
+++ b/ecrire/inc_config.php
@@ -289,7 +289,7 @@ function appliquer_modifs_config() {
 	if ($modif_secu) {
 		$admin = _T('info_modification_parametres_securite');
 		include_ecrire ("inc_admin");
-		debut_admin($admin);
+		debut_admin(generer_url_post_ecrire($_GET['exec']),$admin); # si ca se trouve ca marche ...
 		reset($liste_meta);
 		while (list(,$i) = each($liste_meta))
 			if (isset($GLOBALS[$i])) ecrire_meta($i, $GLOBALS[$i]);