diff --git a/ecrire/inc_acces.php3 b/ecrire/inc_acces.php3
index 54047752367e49f96938872a099eb47d38bfe1dd..1d8aec7f2d6da541292ab8aa8b01be4c136e1abb 100644
--- a/ecrire/inc_acces.php3
+++ b/ecrire/inc_acces.php3
@@ -126,7 +126,7 @@ function ecrire_acces() {
 		ecrire_logins($fichier, $logins);
 		fclose($fichier);
 	} else {
-		redirige_par_entete(generer_url_public('spip_action.php'), '?action=test_dirs');
+	  redirige_par_entete(generer_url_action('test_dirs', '', true));
 	}
 
 	$query = "SELECT login, htpass FROM spip_auteurs WHERE statut = '0minirezo'";
diff --git a/ecrire/inc_admin_vider.php b/ecrire/inc_admin_vider.php
index a8a7ad81b720f107e434bc848a66091b7dca7a4f..f782d35861d29c543c5ed5a01798c6d770f5f3be 100644
--- a/ecrire/inc_admin_vider.php
+++ b/ecrire/inc_admin_vider.php
@@ -127,7 +127,7 @@ if ($quota_cache) {
 
  echo "<div style='text-align: center;'>",
    "<iframe width='530px' height='65px' src='",
-   generer_url_public("spip_action.php", "action=$action&arg=$arg&lang=$spip_lang&id_auteur=$connect_id_auteur&hash=$hash"),
+   generer_action_auteur($action, $arg) . "&lang=$spip_lang",
    "'></iframe>",
    "</div>";
 
diff --git a/ecrire/inc_config-fonctions.php b/ecrire/inc_config-fonctions.php
index 280836117eb2a3f82682dab4efbe94c194aba9f8..65c2e559bc93ffc748a654b68d2db2f955c0e053 100644
--- a/ecrire/inc_config-fonctions.php
+++ b/ecrire/inc_config-fonctions.php
@@ -115,8 +115,7 @@ function afficher_choix_vignette($process) {
 	} */
 
 	echo "<td  width='",($taille_preview+4),"'><div align='center' valign='bottom' width='",($taille_preview+4),"'><a href='" , generer_url_ecrire("config-fonctions","image_process=$process"), 
-	  "'><img src='",
-	  generer_url_public('spip_action.php', "action=tester&arg=$process"),
+	  "'><img src='", generer_url_action("tester", "arg=$process"),
 	  "' border='$border' /></a><br />";
 	if ($border) echo "<b>$process</b>";
 	else echo "$process";
diff --git a/ecrire/inc_config.php3 b/ecrire/inc_config.php3
index e13ad2bf7f10620311b25412f2060f63009cacc0..73907b965088020a93c0137c590e7e0c22f11841 100644
--- a/ecrire/inc_config.php3
+++ b/ecrire/inc_config.php3
@@ -301,8 +301,8 @@ function appliquer_modifs_config() {
 	  $action = 'purger';
 	  $arg = 'squelettes';
 	  $hash = calculer_action_auteur("$action $arg");
-	  $args = "action=$action&arg=$arg&id_auteur=$connect_id_auteur&hash=$hash&redirect=" . _DIR_RESTREINT_ABS . urlencode($clean_link->getUrl());
-	  redirige_par_entete(generer_url_public("spip_action.php", $args, true));
+	  $args = "arg=$arg&id_auteur=$connect_id_auteur&hash=$hash&redirect=" . _DIR_RESTREINT_ABS . urlencode($clean_link->getUrl());
+	  redirige_par_entete(generer_url_action($action, $args, true));
 
 	}
 }
diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3
index 8dede8713c6d7dd82031e61f12828290b9e63684..3dfc53fe485777a4ac58d25d0ee122aa7c4ded12 100644
--- a/ecrire/inc_documents.php3
+++ b/ecrire/inc_documents.php3
@@ -617,8 +617,7 @@ function construire_upload($corps, $args, $enctype='')
 	    $res .= "\n<input type='hidden' name='$k' value='$v' />";
 
 # ici enlever $action pour uploader directemet dans l'espace prive (UPLOAD_DIRECT)
-	return "\n<form method='post' action='" .
-	  generer_url_public('spip_action.php') .
+	return "\n<form method='post' action='" . generer_url_public('spip_action.php') .
 	  "'" .
 	  (!$enctype ? '' : " enctype='$enctype'") .
 	  " style='border: 0px; margin: 0px;'>\n" .
diff --git a/ecrire/inc_flock.php3 b/ecrire/inc_flock.php3
index afdbb416fa651e5d428ccb922cbbd6a078597814..c1ee115290ed3214c0d16cf7a9f22cafecfb0ac8 100644
--- a/ecrire/inc_flock.php3
+++ b/ecrire/inc_flock.php3
@@ -11,7 +11,6 @@
 \***************************************************************************/
 
 
-//
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 function spip_file_get_contents ($fichier) {
@@ -150,7 +149,7 @@ function creer_repertoire($base, $subdir) {
 		@unlink("$path/.test");
 	}
 	if ($ok) return "$subdir/";
-	redirige_par_entete(generer_url_public('spip_action.php'), '?action=test_dirs');
+	redirige_par_entete(generer_url_action('test_dirs','',true));
 }
 
 ?>
diff --git a/ecrire/inc_getdocument.php3 b/ecrire/inc_getdocument.php3
index 35f4bc6794e8a3f82133217e09935e08d8f7955e..ed3b374552d20f3b7726fa9d634517d05250db87 100644
--- a/ecrire/inc_getdocument.php3
+++ b/ecrire/inc_getdocument.php3
@@ -85,7 +85,7 @@ function deplacer_fichier_upload($source, $dest) {
 		if ($f) {
 			fclose ($f);
 		} else {
-			redirige_par_entete(generer_url_public('spip_action.php'), "?action=test_dirs&test_dir=". dirname($dest));
+		  redirige_par_entete(generer_url_action("test_dirs", "test_dir=". dirname($dest), true));
 		}
 		@unlink($dest);
 	}
@@ -393,7 +393,7 @@ function afficher_compactes($action) {
 }
 
 //
-// Traiter la liste des fichiers (spip_action_joindre3)
+// Traiter la liste des fichiers (action joindre3)
 //
 
 function examiner_les_fichiers($files, $mode, $type, $id, $id_document, $hash, $id_auteur, $redirect, &$actifs)
diff --git a/ecrire/inc_install.php b/ecrire/inc_install.php
index 4cb026ef8588ee6524ad8fdb4e89997374cab30a..70d5fe630e59fb644605764850e07c4640c2bcff 100644
--- a/ecrire/inc_install.php
+++ b/ecrire/inc_install.php
@@ -492,7 +492,7 @@ function install_()
 
 	$menu_langues = menu_langues('var_lang_ecrire');
 	if (!$menu_langues)
-		redirige_par_entete(generer_url_public('spip_action.php'), '?action=test_dirs');
+		redirige_par_entete(generer_url_action('test_dirs'));
 	else {
 		install_debut_html();
 	
@@ -504,8 +504,7 @@ function install_()
 		  "<p><div align='center'>",
 		  $menu_langues,
 		  "</div>",
-		  "<p><form action='",
-		  generer_url_public('spip_action.php'),
+		  "<p><form action='", generer_url_public('spip_action.php'),
 		  "'>",
 		  '<input type="hidden" name="action" value="test_dirs" />',
 		  "<div align='$spip_lang_right'><input type='submit' class='fondl'  VALUE='",
diff --git a/ecrire/inc_logos.php3 b/ecrire/inc_logos.php3
index 1e8fe6d983a6b926d31daf54441446a3e4f61036..9909595a548f71be84585ac21e6f20e25bebc4b5 100644
--- a/ecrire/inc_logos.php3
+++ b/ecrire/inc_logos.php3
@@ -91,14 +91,13 @@ function afficher_logo($racine, $titre, $logo, $redirect) {
 
 	if ($logo) {
 		list ($fichier, $taille) =  $logo;
-		$hash = calculer_action_auteur("iconifier $fichier");
 
 		echo "<p><center><div><a href='"._DIR_IMG.$fichier."'>";
 		echo reduire_image_logo(_DIR_IMG.$fichier, 170);
 		echo "</a></div>";
 		echo debut_block_invisible(md5($titre));
 		echo $taille;
-		echo "\n<br />[<a href='", generer_url_public('spip_action.php', "action=iconifier&arg=$fichier&id_auteur=$connect_id_auteur&hash=$hash&redirect=".urlencode($redirect)), "'>",_T('lien_supprimer'),"</a>]";
+		echo "\n<br />[<a href='", generer_action_auteur("iconifier", $fichier,$redirect), "'>",_T('lien_supprimer'),"</a>]";
 		echo fin_block();
 		echo "</center></p>";
 	}
diff --git a/ecrire/inc_mail.php3 b/ecrire/inc_mail.php3
index c0967c59053da2b87db5e173e24047b51dbb4c8c..1133678377bc0279049ca01fe71d75ea5decd4fa 100644
--- a/ecrire/inc_mail.php3
+++ b/ecrire/inc_mail.php3
@@ -186,16 +186,13 @@ function extrait_article($row) {
 	$extrait .= "\n\n".textebrut(propre(couper_intro("$chapo<p>$texte", 700)))."\n\n";
 	if ($statut == 'publie') 
 		$extrait .= "-> ".
-		  // surtout pas de &amp; dans ce cas la.
-		  generer_url_public('spip_action.php') . "?action=redirect&id_article=$id_article" .
+		  generer_url_action("redirect", "id_article=$id_article", true) .
 		  "\n\n";
 	return $extrait;
 }
 
-
 function nettoyer_titre_email($titre) {
-	$titre = ereg_replace("\n", ' ', supprimer_tags($titre));
-	return ($titre);
+	return ereg_replace("\n", ' ', supprimer_tags($titre));
 }
 
 function envoyer_mail_publication($id_article) {
diff --git a/ecrire/inc_meta.php3 b/ecrire/inc_meta.php3
index f3962b501bf290113596d15396724ae491463f4e..9bdfb5214283bf9fcc1fe2f651e8e3c5e7dd2803 100644
--- a/ecrire/inc_meta.php3
+++ b/ecrire/inc_meta.php3
@@ -51,9 +51,7 @@ function ecrire_metas() {
 		if (!$ok && $GLOBALS['connect_statut'] == '0minirezo')
 		  echo "<h4 font color=red>",
 		    _T('texte_inc_meta_1', array('fichier' => _FILE_META)),
-		    " <a href='",
-		    generer_url_public('spip_action.php', 'action=test_dirs'),
-		    "'>",
+		    " <a href='", generer_url_action('test_dirs'), "'>",
 		    _T('texte_inc_meta_2'),
 		    "</a> ",
 		    _T('texte_inc_meta_3', array('repertoire' => _DIR_SESSIONS)),
diff --git a/ecrire/inc_minipres.php b/ecrire/inc_minipres.php
index 5aed085d8a024195aa49f2eef6941a79a5115481..66de319111a4b5ff6e9c6e0a42e21ac45bba9375 100644
--- a/ecrire/inc_minipres.php
+++ b/ecrire/inc_minipres.php
@@ -39,8 +39,7 @@ function install_debut_html($titre = 'AUTO') {
 	  "<title>",
 	  $titre,
 	  "</title>\n" ,
-	  '<link rel="stylesheet" type="text/css" href=\'' . generer_url_public('spip_action.php', "action=style&$args_color"),
-	  "'>
+	  '<link rel="stylesheet" type="text/css" href=\'' . generer_url_action('style',"$args_color"), "'>
 <style type='text/css'>
 <!--
 	a {text-decoration: none; }
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 5da1b8c3c6a801cee13f9558add1965f4848150c..cbd8ec41a1a5d4cf3568234172eee89c1afbcbb0 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -1798,8 +1798,7 @@ function envoi_link($nom_site_spip, $rubrique="")
 	}
 
 	return $res .
-	  '<link rel="stylesheet" type="text/css" href=\'' . generer_url_public('spip_action.php', "action=style&$args_color") .
-	  "'>\n" .
+	  '<link rel="stylesheet" type="text/css" href=\'' . generer_url_action('style', $args_color) . "'>\n" .
 	  debut_javascript($connect_statut == "0minirezo" AND $connect_toutes_rubriques, ($GLOBALS['meta']["activer_statistiques"] != 'non')) .
 
 	// CSS calendrier
@@ -3375,7 +3374,7 @@ function voir_en_ligne ($type, $id, $statut=false, $image='racine-24.gif') {
 	}
 
 	if ($message)
-		icone_horizontale($message, generer_url_public('spip_action.php', "action=redirect&id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif");
+	  icone_horizontale($message, generer_url_action('redirect', "id_$type=$id&var_mode=$en_ligne"), $image, "rien.gif");
 }
 
 
diff --git a/ecrire/inc_session.php3 b/ecrire/inc_session.php3
index 37d8bcf96e00d987d5731a04b0bc29d9ac597d6a..6be5c8e72c59f2bee5f567c243407d294e3620b2 100644
--- a/ecrire/inc_session.php3
+++ b/ecrire/inc_session.php3
@@ -10,7 +10,6 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire ("inc_meta");
@@ -24,7 +23,6 @@ include_ecrire ("inc_meta");
 
 $GLOBALS['auteur_session'] = '';
 
-
 //
 // On verifie l'IP et le nom du navigateur
 //
@@ -63,7 +61,7 @@ function ajouter_session($auteur, $id_session) {
 		fputs($f, $texte);
  		fclose($f);
 	} else {
-		redirige_par_entete(generer_url_public('spip_action.php'), '?action=test_dirs');
+	  redirige_par_entete(generer_url_action('test_dirs','',true));
 	}
 }
 
@@ -284,6 +282,7 @@ function generer_action_auteur($action, $arg, $redirect="", $no_entites=false)
 	global $connect_id_auteur;
 	$hash = calculer_action_auteur("$action $arg");
 	if ($redirect) $redirect = "&redirect=" . urlencode($redirect);
-	return generer_url_public("spip_action.php", "action=$action&arg=$arg&id_auteur=$connect_id_auteur&hash=$hash$redirect", $no_entites);
+	return generer_url_action($action, "arg=$arg&id_auteur=$connect_id_auteur&hash=$hash$redirect", $no_entites);
 }
+
 ?>
diff --git a/ecrire/inc_signatures.php3 b/ecrire/inc_signatures.php3
index f663b29c7ba1b2bda5304016fce3b184477141ca..7351f7ca2a56a18a9091e5a8166c157560bfe9c1 100644
--- a/ecrire/inc_signatures.php3
+++ b/ecrire/inc_signatures.php3
@@ -83,7 +83,7 @@ function controle_signatures($script, $id, $debut, $where, $order, $limit=10) {
 		
 		echo "<a href='",
 		  (($statut == 'publie') ? 
-		   generer_url_public('spip_action.php', "action=redirect&id_article=$id_article") :
+		   generer_url_action('redirect', "id_article=$id_article") :
 		   generer_url_ecrire('articles', "id_article=$id_article")),
 		  "'>",
 		  typo($titre),
diff --git a/ecrire/inc_spip_action_test_dirs.php b/ecrire/inc_spip_action_test_dirs.php
index 78e6a6b9e0f02d7d22c564210ae391469db134f4..e6798fdfd22fd3c0ed0b6d1d76a4b67846c055aa 100644
--- a/ecrire/inc_spip_action_test_dirs.php
+++ b/ecrire/inc_spip_action_test_dirs.php
@@ -94,18 +94,15 @@ if ($bad_dirs OR $absent_dirs) {
 	}
 
 	$res = "<p>" . $continuer  . $res . aide ("install0") . "</p>" .
-	  "<form action='" . generer_url_public('spip_action.php') . "'>" .
-	   "<input type='hidden' name='action' value='test_dirs' />" .
-	  (!$test_dir ? "" : 
-	   "<input type='hidden' name='test_dir' value='$test_dir' />") .
-	  "<DIV align='right'><input type='submit' class='fondl' value='". 
-	  _T('login_recharger')."'></DIV>" .
+	  "<form action='" . generer_url_action('test_dirs', (!$test_dir ? "" : "test_dir=$test_dir")) .
+	  "<div align='right'><input type='submit' class='fondl' value='". 
+	  _T('login_recharger')."' /></div>" .
 	  "</form>";
 	install_debut_html($titre);echo $res;	install_fin_html();
 
  } else {
 	if (!_FILE_CONNECT)
-	  header("Location: " . generer_url_ecrire("install",  "etape=1", true));
+		header("Location: " . generer_url_ecrire("install",  "etape=1", true));
 	else
 		header("Location: " . _DIR_RESTREINT_ABS);
  }
diff --git a/ecrire/inc_synchro.php b/ecrire/inc_synchro.php
index fdad0f9aa53b5d2623dbf5232f04a8f4f3b52e54..0ed9a58207439a713e08827b40b01ac6b8276023 100644
--- a/ecrire/inc_synchro.php
+++ b/ecrire/inc_synchro.php
@@ -16,18 +16,16 @@ include_ecrire("inc_presentation");
 include_ecrire("inc_urls");
 include_ecrire("inc_acces"); // pour low_sec (iCal)
 
-function afficher_liens_calendrier($lien, $args, $icone, $texte) {
+function afficher_liens_calendrier($lien, $icone, $texte) {
 
 	echo debut_cadre_enfonce($icone);
 	echo $texte;
 	echo "<table style='width: 100%;><tr'><td style='width: 200px;'>";
-	icone_horizontale (_T('ical_methode_http'), generer_url_public($lien, $args),
-			   "calendrier-24.gif");
+	icone_horizontale (_T('ical_methode_http'), $lien, "calendrier-24.gif");
 	echo "</td>";
 	echo "<td> &nbsp; </td>";
 	echo "<td style='width: 200px;'>";
-	icone_horizontale (_T('ical_methode_webcal'), ereg_replace("https?://", "webcal://", generer_url_public($lien, $args)),
-			   "calendrier-24.gif");
+	icone_horizontale (_T('ical_methode_webcal'), ereg_replace("https?://", "webcal://", $lien), "calendrier-24.gif");
 	echo "</td></tr></table>";
 	echo fin_cadre_enfonce();
 }
@@ -92,9 +90,9 @@ echo '<p>'._T('ical_info_calendrier').'</p>';
 
 
 
- afficher_liens_calendrier('ical','','', _T('ical_texte_public'));
+ afficher_liens_calendrier(generer_url_public('ical'),'', _T('ical_texte_public'));
 
- afficher_liens_calendrier("spip_action.php", "action=ical&id_auteur=$connect_id_auteur&arg=".afficher_low_sec($connect_id_auteur,'ical'),'cadenas-24.gif',  _T('ical_texte_prive'));
+ afficher_liens_calendrier(generer_url_action("ical", "id_auteur=$connect_id_auteur&arg=".afficher_low_sec($connect_id_auteur,'ical')),'cadenas-24.gif',  _T('ical_texte_prive'));
 
 
 fin_cadre_relief();
diff --git a/ecrire/inc_urls.php3 b/ecrire/inc_urls.php3
index 0d0909dfb1e7503f6225a4f06f8379131602def8..aa50e7598fba9ec93d05b940ecadb30bb956de50 100644
--- a/ecrire/inc_urls.php3
+++ b/ecrire/inc_urls.php3
@@ -19,7 +19,7 @@ function generer_url_article($id_article) {
 	if (($row = spip_fetch_array(spip_query(
 	"SELECT statut FROM spip_articles WHERE id_article=$id_article"
 	))) AND ($row['statut'] == 'publie'))
-		return generer_url_public('spip_action.php', "action=redirect&id_article=$id_article");
+	  return generer_url_action('redirect', "id_article=$id_article");
 	else	return generer_url_ecrire('articles',"id_article=$id_article");
 }
 
@@ -27,7 +27,7 @@ function generer_url_rubrique($id_rubrique) {
 	if (($row = spip_fetch_array(spip_query(
 	"SELECT statut FROM spip_rubriques WHERE id_rubrique=$id_rubrique"
 	))) AND ($row['statut'] == 'publie'))
-		return generer_url_public('spip_action.php', "action=redirect&id_rubrique=$id_rubrique");
+	  return generer_url_action('redirect', "id_rubrique=$id_rubrique");
 	else
 	  return generer_url_ecrire('naviguer',"id_rubrique=$id_rubrique");
 }
@@ -36,25 +36,25 @@ function generer_url_breve($id_breve) {
 	if (($row = spip_fetch_array(spip_query(
 	"SELECT statut FROM spip_breves WHERE id_breve=$id_breve"
 	))) AND ($row['statut'] == 'publie'))
-		return generer_url_public('spip_action.php', "action=redirect&id_breve=$id_breve");
+	  return generer_url_action('redirect', "id_breve=$id_breve");
 	else
 		return generer_url_ecrire('breves_voir',"id_breve=$id_breve");
 }
 
 function generer_url_forum($id_forum) {
-	return generer_url_public('spip_action.php', "action=redirect&id_forum=$id_forum");
+  return generer_url_action('redirect', "id_forum=$id_forum");
 }
 
 function generer_url_mot($id_mot) {
-	return  generer_url_public('spip_action.php', "action=redirect&id_mot=$id_mot");
+  return  generer_url_action('redirect', "id_mot=$id_mot");
 }
 
 function generer_url_site($id_syndic) {
-	return  generer_url_public('spip_action.php', "action=redirect&id_syndic=$id_syndic");
+  return  generer_url_action('redirect', "id_syndic=$id_syndic");
 }
 
 function generer_url_auteur($id_auteur) {
-	return generer_url_public('spip_action.php', "action=redirect&id_auteur=$id_auteur");
+  return generer_url_action('redirect', "id_auteur=$id_auteur");
 }
 
 function generer_url_document($id_document) {
@@ -67,7 +67,7 @@ function generer_url_document($id_document) {
 		} else {
 			if (($GLOBALS['meta']["creer_htaccess"]) != 'oui')
 				return _DIR_RACINE . ($row['fichier']);
-			else 	return generer_url_public('spip_action.php',"action=autoriser&arg=$id_document");
+			else 	return generer_url_action('autoriser', "arg=$id_document");
 		}
 	}
 
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index 9e7e912b127046efdf1433ea84c9dcc5f05ca14e..2b21c1fe7fff7ae73270582090d58a7c9b799444 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -368,7 +368,6 @@ class Link {
 			$form .= "<input type=\"hidden\" name=\"".$name."[]\" "
 				. "value=\"".$value."\" />\n";
 		}
-
 		return $form;
 	}
 }
@@ -470,8 +469,7 @@ function spip_touch($fichier, $duree=0, $touch=true) {
 // et pour l'espace public (cf #SPIP_CRON dans inc_balise)
 
 function generer_spip_cron() {
-  return '<div style="background-image: url(\'' . 
-	generer_url_public('spip_action.php', 'action=cron') .
+  return '<div style="background-image: url(\'' . generer_url_action('cron') .
 	'\');"></div>';
 }
 
@@ -681,4 +679,9 @@ function generer_url_public($script, $args="", $no_entities=false) {
 	return $site . $script . $ext . $args;
 }
 
+function generer_url_action($script, $args="", $no_entities=false) {
+	return generer_url_public('spip_action.php',
+				  "action=$script" .($args ? "&$args" : ''),
+				  $no_entities);
+}
 ?>
diff --git a/inc-urls-html.php3 b/inc-urls-html.php3
index ce2982b834dc7f045689aa39c36aa2fe940a266f..3bfa18f221f516df5dfa15ddddc84648eca4f4fc 100644
--- a/inc-urls-html.php3
+++ b/inc-urls-html.php3
@@ -64,7 +64,7 @@ function generer_url_document($id_document) {
 	if (intval($id_document) <= 0)
 		return '';
 	if (($GLOBALS['meta']["creer_htaccess"]) == 'oui')
-		return generer_url_public('spip_action.php',"action=autoriser&arg=$id_document");
+		return generer_url_action('autoriser', "arg=$id_document");
 	if ($row = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_document")))
 		return ($row['fichier']);
 	return '';
diff --git a/inc-urls-propres.php3 b/inc-urls-propres.php3
index e969d644b197eb38f0d6b384c6655ac031b190a9..76132529edecef0997567f3cb2abfbdfe5bf359a 100644
--- a/inc-urls-propres.php3
+++ b/inc-urls-propres.php3
@@ -190,7 +190,7 @@ function generer_url_document($id_document) {
 	if (intval($id_document) <= 0)
 		return '';
 	if (($GLOBALS['meta']["creer_htaccess"]) == 'oui')
-		return generer_url_public('spip_action.php',"action=autoriser&arg=$id_document");
+		return generer_url_action('autoriser',"arg=$id_document");
 	if ($row = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_document")))
 		return ($row['fichier']);
 	return '';
diff --git a/inc-urls-standard.php3 b/inc-urls-standard.php3
index 29f2a2230c24c9b04ddbe4253c3b19b9cfdebcc1..8c45c2268a6f6165599ac562b58005cef297d5e0 100644
--- a/inc-urls-standard.php3
+++ b/inc-urls-standard.php3
@@ -41,7 +41,7 @@ function generer_url_document($id_document) {
 	if (intval($id_document) <= 0)
 		return '';
 	if (($GLOBALS['meta']["creer_htaccess"]) == 'oui')
- 		return generer_url_public('spip_action.php',"action=autoriser&arg=$id_document");
+		return generer_url_action('autoriser',"arg=$id_document");
 	if ($row = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_document")))
 		return ($row['fichier']);
 	return '';
diff --git a/spip_action.php b/spip_action.php
index a84f4cd3f950d36862f0c7760e88f1f1d4fdfadc..f3b4c2dd738c00d60122f93815c96407837969c6 100644
--- a/spip_action.php
+++ b/spip_action.php
@@ -11,8 +11,10 @@
 \***************************************************************************/
 
 include ("ecrire/inc_version.php3");
-spip_log("$action $arg $id_auteur");
+spip_log(join(',', $_REQUEST));
+spip_log("$action $arg $id_auteur $redirect");
 $var_f = include_fonction('spip_action_' . $action);
 $var_f();
+spip_log("$action $arg $id_auteur $redirect");
 if ($redirect) redirige_par_entete($redirect);
 ?>
diff --git a/spip_migre b/spip_migre
index cadbd604ae5652a9c1829dee9ac7cf228da62eb5..46c560d3f2cac6db1e402473d43e3f1128f9d6f5 100755
--- a/spip_migre
+++ b/spip_migre
@@ -67,3 +67,6 @@ sed 's/inc_version.php3/inc_version.php/;s/$SCRIPT_NAME/"accueil"/' inc.php3 > i
 
 sed 's/inc_version.php3/inc_version.php/;s%SCRIPT_NAME%_REQUEST["exec"]) OR (substr(basename($SCRIPT_NAME),0,11) == "spip_cookie"%'  inc_version > inc_version.php
 
+# pour continuer le service des .php3: changer inc pour qu'il appelle index
+# (tous les scripts .php3 valent "include('inc.php3')" a present)
+sed 's/include.*$/$_REQUEST["exec"] = $SCRIPT_NAME; include("index.php");/' info.php3  > inc.php3
\ No newline at end of file
diff --git a/spip_redirect.php3 b/spip_redirect.php3
index 924151722d135d87d333af107c25fb34aeb7835f..90f5a5b37e37fe5870ed15d18348a5132bbdf896 100644
--- a/spip_redirect.php3
+++ b/spip_redirect.php3
@@ -10,7 +10,7 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-// pour compatibilite. Remplacer par spip_action.php?action=redirect + args
+// pour compatibilite. voir dans le fichier inclus comment remplacer
 
 define ('_SPIP_REDIRECT', 1);
 include ("ecrire/inc_version.php3");