diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index e234f9ba4de3e8aa4ddc703514157548f55860da..701e53351066e718880ba336a4685aa8a8a61162 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -2648,6 +2648,19 @@ function form_hidden($action) {
 	return $hidden;
 }
 
+function calcul_bornes_pagination($max, $nombre, $courante) {
+	if (function_exists("bornes_pagination"))
+		return bornes_pagination($max, $nombre, $courante);
+
+	if($max<=0 OR $max>=$nombre)
+		return array(1, $nombre);
+
+	$premiere = max(1, $courante-floor($max/2));
+	$derniere = min($nombre, $premiere+$max-1);
+	$premiere = $derniere == $nombre ? $derniere-$max+1 : $premiere;
+	return array($premiere, $derniere);
+}
+
 //
 // fonction standard de calcul de la balise #PAGINATION
 // on peut la surcharger en definissant dans mes_fonctions :
@@ -2657,10 +2670,11 @@ function calcul_pagination($total, $nom, $pas, $liste = true) {
 	if (function_exists("pagination"))
 		return pagination($total, $nom, $pas, $liste);
 
-	global $pagination_item_avant, $pagination_item_apres, $pagination_separateur;
-	global $pagination_max, $pagination_max_texte;
-	tester_variable('pagination_separateur', '&nbsp;| ');
-	tester_variable('pagination_max_texte', '...');
+	$pagination_separateur = '&nbsp;| ';
+
+	global $pagination_max;
+	tester_variable($pagination_max, 10);
+	$pagination_max = intval($pagination_max);
 
 	$debut = 'debut'.$nom;
 
@@ -2677,21 +2691,6 @@ function calcul_pagination($total, $nom, $pas, $liste = true) {
 	$ancre='pagination'.$nom;
 	$bloc_ancre = unique("<a name='$ancre' id='$ancre'></a>");
 
-	if($pagination_max == 0 OR $pagination_max>=$pagination['nombre_pages']) {
-		$premiere = 1;
-		$derniere = $pagination['nombre_pages'];
-		$texte_avant = '';
-		$texte_apres = '';
-	}
-	else {
-		$premiere = max(1, $pagination['page_courante']-floor($pagination_max/2));
-		$derniere = min($pagination['nombre_pages'], $premiere+$pagination_max-1);
-		$premiere = $derniere == $pagination['nombre_pages'] ? $derniere-$pagination_max+1 : $premiere;
-		$texte_avant = $premiere>1 ? $pagination_max_texte.' ' : '';
-		$texte_apres = $derniere<$pagination['nombre_pages'] ? ' '.$pagination_max_texte : '';
-	}
-
-
 	// Pas de pagination
 	if($pagination['nombre_pages']<=1)
 		return '';
@@ -2700,6 +2699,8 @@ function calcul_pagination($total, $nom, $pas, $liste = true) {
 	if (!$liste)
 		return $bloc_ancre;
 
+	list($premiere, $derniere) = calcul_bornes_pagination($pagination_max, $pagination['nombre_pages'], $pagination['page_courante']);
+
 	// liste  = true : on retourne tout (ancre + bloc de navigation)
 	$texte = '';
 	for($i = $premiere;$i<=$derniere;$i++) {
@@ -2711,10 +2712,10 @@ function calcul_pagination($total, $nom, $pas, $liste = true) {
 				array($url.'#'.$ancre, $_item),
 				$pagination['lien_pagination']) :
 			$_item;
-		$texte .= $pagination_item_avant.$item.$pagination_item_apres;
+		$texte .= $item;
 		if($i<$pagination['nombre_pages']) $texte .= $pagination_separateur;
 	}
-	return $bloc_ancre.$texte_avant.$texte.$texte_apres;
+	return $bloc_ancre.$texte;
 }
 
 ### fonction depreciee, laissee ici pour compat ascendante 1.9