diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php
index ad3c94184e304171ffecf88f8e67877a1c054838..5219f261b33ca0ffde4103708591eb1b882529a4 100644
--- a/ecrire/inc/distant.php
+++ b/ecrire/inc/distant.php
@@ -155,15 +155,21 @@ function prepare_donnees_post($donnees, $boundary = '') {
 // et refuser_gz pour forcer le refus de la compression (cas des serveurs orthographiques)
 // date_verif, un timestamp unix pour arreter la recuperation si la page distante n'a pas ete modifiee depuis une date donnee
 // uri_referer, preciser un referer different
-// si munge_charset est une chaine, alors c'est un nom de fichier
-// dans lequel on ecrit directement la page
+// Le second argument ($trans) :
+// * si c'est une chaine longue, alors c'est un nom de fichier
+//   dans lequel on ecrit directement la page
+// * si c'est true/null ca correspond a une demande d'encodage/charset
 // http://doc.spip.org/@recuperer_page
-function recuperer_page($url, $munge_charset=false, $get_headers=false,
+function recuperer_page($url, $trans=false, $get_headers=false,
 	$taille_max = null, $datas='', $boundary='', $refuser_gz = false,
 	$date_verif = '', $uri_referer = '') {
 	$gz = false;
+
+	// $copy = copier le fichier ?
+	$copy = (is_string($trans) AND strlen($trans) > 5); // eviter "false" :-)
+
 	if (is_null($taille_max))
-		$taille_max = is_string($munge_charset)?_COPIE_LOCALE_MAX_SIZE:1048576;
+		$taille_max = $copy ? _COPIE_LOCALE_MAX_SIZE : 1048576;
 
 	// Accepter les URLs au format feed:// ou qui ont oublie le http://
 	$url = preg_replace(',^feed://,i', 'http://', $url);
@@ -182,7 +188,7 @@ function recuperer_page($url, $munge_charset=false, $get_headers=false,
 
 	// dix tentatives maximum en cas d'entetes 301...
 	for ($i=0;$i<10;$i++) {
-		$url = recuperer_lapage($url, $munge_charset, $get, $taille_max, $datas, $boundary, $refuser_gz, $date_verif, $uri_referer);
+		$url = recuperer_lapage($url, $trans, $get, $taille_max, $datas, $boundary, $refuser_gz, $date_verif, $uri_referer);
 		if (!$url) return false;
 		if (is_array($url)) {
 			list($headers, $result) = $url;
@@ -198,11 +204,14 @@ function recuperer_page($url, $munge_charset=false, $get_headers=false,
 // http://doc.spip.org/@recuperer_lapage
 function recuperer_lapage($url, $trans=false, $get='GET', $taille_max = 1048576, $datas='', $boundary='', $refuser_gz = false, $date_verif = '', $uri_referer = '')
 {
-	// si on ecrit directement dans un fichier, 
-	// pour ne pas manipuler en memoire
-	// refuser gz
-	if (is_string($trans) AND $trans)
+	// $copy = copier le fichier ?
+	$copy = (is_string($trans) AND strlen($trans) > 5); // eviter "false" :-)
+
+	// si on ecrit directement dans un fichier, pour ne pas manipuler
+	// en memoire refuser gz
+	if ($copy)
 		$refuser_gz = true;
+
 	// ouvrir la connexion et envoyer la requete et ses en-tetes
 	list($f, $fopen) = init_http($get, $url, $refuser_gz, $uri_referer, $datas);
 	if (!$f) {
@@ -231,7 +240,7 @@ function recuperer_lapage($url, $trans=false, $get='GET', $taille_max = 1048576,
 
 #	spip_log("recup  $headers" );
 	if ($trans === NULL) return array($headers, '');
-	$result = recuperer_body($f, $taille_max,is_string($trans)?$trans:'');
+	$result = recuperer_body($f, $taille_max, $copy ? $trans : '');
 	fclose($f);
 	if (!$result) return array($headers, $result);
 
@@ -240,7 +249,7 @@ function recuperer_lapage($url, $trans=false, $get='GET', $taille_max = 1048576,
 		$result = spip_gzinflate_body($result);
 	}
 	// Faut-il l'importer dans notre charset local ?
-	if ($trans===true) {
+	if ($trans === true) {
 		include_spip('inc/charsets');
 		$result = transcoder_page ($result, $headers);
 	}