From 0c2e0d30a6f063422d0cff8703074ee05a640765 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 2 Nov 2006 16:59:19 +0000
Subject: [PATCH] La fonction debut_page passe dans les vieilles def et devient
 surchargeable sous le nom de inc_commencer_page. On en profite pour passer
 dessus la  tache #587 (remplacement des echo par return).
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Les scripts de exec appelant cette fonction ont été transformés par le sed-script suivant (peut-etre illisble avec le Wiki ?):

s/^\(.*\)debut_page/\1$commencer_page = charger_fonction('commencer_page', 'inc');\
\1echo $commencer_page/
---
 .gitattributes                           |   1 +
 ecrire/exec/accueil.php                  |   3 +-
 ecrire/exec/admin_effacer.php            |   3 +-
 ecrire/exec/admin_plugin.php             |   6 +-
 ecrire/exec/admin_tech.php               |   3 +-
 ecrire/exec/admin_vider.php              |   3 +-
 ecrire/exec/articles.php                 |   3 +-
 ecrire/exec/articles_edit.php            |   3 +-
 ecrire/exec/articles_forum.php           |   3 +-
 ecrire/exec/articles_page.php            |   3 +-
 ecrire/exec/articles_tous.php            |   3 +-
 ecrire/exec/articles_versions.php        |   3 +-
 ecrire/exec/auteur_infos.php             |  12 +-
 ecrire/exec/auteurs.php                  |   6 +-
 ecrire/exec/breves.php                   |   3 +-
 ecrire/exec/breves_edit.php              |   3 +-
 ecrire/exec/breves_voir.php              |   3 +-
 ecrire/exec/brouteur.php                 |   3 +-
 ecrire/exec/calendrier.php               |   3 +-
 ecrire/exec/config_contenu.php           |   3 +-
 ecrire/exec/config_fonctions.php         |   3 +-
 ecrire/exec/config_lang.php              |   3 +-
 ecrire/exec/config_multilang.php         |   3 +-
 ecrire/exec/configuration.php            |   3 +-
 ecrire/exec/controle_forum.php           |   3 +-
 ecrire/exec/controle_petition.php        |   3 +-
 ecrire/exec/demande_mise_a_jour.php      |   3 +-
 ecrire/exec/documents_liste.php          |   3 +-
 ecrire/exec/forum.php                    |   6 +-
 ecrire/exec/forum_envoi.php              |   3 +-
 ecrire/exec/import_all.php               |   3 +-
 ecrire/exec/lang_raccourcis.php          |   3 +-
 ecrire/exec/message.php                  |   6 +-
 ecrire/exec/message_edit.php             |   6 +-
 ecrire/exec/messagerie.php               |   3 +-
 ecrire/exec/mots_edit.php                |   3 +-
 ecrire/exec/mots_tous.php                |   3 +-
 ecrire/exec/mots_type.php                |   3 +-
 ecrire/exec/naviguer.php                 |   3 +-
 ecrire/exec/recherche.php                |   3 +-
 ecrire/exec/rubriques_edit.php           |   3 +-
 ecrire/exec/sites.php                    |   3 +-
 ecrire/exec/sites_edit.php               |   3 +-
 ecrire/exec/sites_tous.php               |   3 +-
 ecrire/exec/statistiques_lang.php        |   3 +-
 ecrire/exec/statistiques_referers.php    |   3 +-
 ecrire/exec/statistiques_repartition.php |   3 +-
 ecrire/exec/statistiques_visites.php     |   6 +-
 ecrire/exec/suivi_revisions.php          |   3 +-
 ecrire/exec/synchro.php                  |   3 +-
 ecrire/inc/commencer_page.php            | 326 +++++++++++++++++++++
 ecrire/inc/presentation.php              | 343 +----------------------
 ecrire/inc/vieilles_defs.php             |   6 +
 53 files changed, 460 insertions(+), 390 deletions(-)
 create mode 100644 ecrire/inc/commencer_page.php

diff --git a/.gitattributes b/.gitattributes
index 1c17093179..8daa6030f1 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -440,6 +440,7 @@ ecrire/inc/autoriser.php -text
 ecrire/inc/boutons.php -text
 ecrire/inc/chercher_logo.php -text
 ecrire/inc/chercher_rubrique.php -text
+ecrire/inc/commencer_page.php -text
 ecrire/inc/cookie.php -text
 ecrire/inc/dater.php -text
 ecrire/inc/discuter.php -text
diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php
index d2cf4440b8..50ca50eae9 100644
--- a/ecrire/exec/accueil.php
+++ b/ecrire/exec/accueil.php
@@ -432,7 +432,8 @@ function exec_accueil_dist()
 	$id_rubrique =  intval($id_rubrique);
  	pipeline('exec_init',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>''));
  
-	debut_page(_T('titre_page_index'), "accueil", "accueil");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_index'), "accueil", "accueil");
 
 	debut_gauche();
 
diff --git a/ecrire/exec/admin_effacer.php b/ecrire/exec/admin_effacer.php
index a21747fd3a..78d81904a0 100644
--- a/ecrire/exec/admin_effacer.php
+++ b/ecrire/exec/admin_effacer.php
@@ -19,7 +19,8 @@ function exec_admin_effacer_dist()
 {
   global $connect_statut, $connect_toutes_rubriques, $couleur_foncee;
 
-debut_page(_T('titre_page_admin_effacer'), "configuration", "base");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_admin_effacer'), "configuration", "base");
 
 
 echo "<br><br><br>";
diff --git a/ecrire/exec/admin_plugin.php b/ecrire/exec/admin_plugin.php
index 9e6bdfd362..b959f06bb2 100644
--- a/ecrire/exec/admin_plugin.php
+++ b/ecrire/exec/admin_plugin.php
@@ -16,7 +16,8 @@ function exec_admin_plugin() {
 	$surligne = "";
 
 	if ($connect_statut != '0minirezo' OR !$connect_toutes_rubriques) {
-		debut_page(_T('icone_admin_plugin'), "configuration", "plugin");
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
 		echo _T('avis_non_acces_page');
 		echo fin_page();
 		exit;
@@ -35,7 +36,8 @@ function exec_admin_plugin() {
 	if (isset($_GET['surligne']))
 		$surligne = $_GET['surligne'];
 	global $couleur_claire;
-	debut_page(_T('icone_admin_plugin'), "configuration", "plugin");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin");
 	echo "<style type='text/css'>\n";
 	echo <<<EOF
 div.cadre-padding ul li {
diff --git a/ecrire/exec/admin_tech.php b/ecrire/exec/admin_tech.php
index 35fbb16efc..a888cae4ab 100644
--- a/ecrire/exec/admin_tech.php
+++ b/ecrire/exec/admin_tech.php
@@ -19,7 +19,8 @@ function exec_admin_tech_dist()
 {
   global $connect_statut, $connect_login, $connect_toutes_rubriques, $couleur_foncee, $flag_gz, $options;
 
- debut_page(_T('titre_admin_tech'), "configuration", "base");
+ $commencer_page = charger_fonction('commencer_page', 'inc');
+ echo $commencer_page(_T('titre_admin_tech'), "configuration", "base");
 
  echo "<br />";
 
diff --git a/ecrire/exec/admin_vider.php b/ecrire/exec/admin_vider.php
index ee1db7fce5..0f58c60d91 100644
--- a/ecrire/exec/admin_vider.php
+++ b/ecrire/exec/admin_vider.php
@@ -27,7 +27,8 @@ function exec_admin_vider_dist()
     $quota_cache,
     $spip_lang;
 
-debut_page(_T('onglet_vider_cache'), "configuration", "cache");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('onglet_vider_cache'), "configuration", "cache");
 
 
 echo "<br><br><br>";
diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index 83e7790764..d53120026f 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -41,7 +41,8 @@ function exec_articles_dist()
 		. $discuter($id_article, false,  _request('debut'));
 	}
 
-	debut_page("&laquo; ". $row['titre'] ." &raquo;", "naviguer", "articles", "", $row['id_rubrique']);
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page("&laquo; ". $row['titre'] ." &raquo;", "naviguer", "articles", "", $row['id_rubrique']);
 
 	echo debut_grand_cadre(true),
 		afficher_hierarchie($row['id_rubrique']),
diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php
index cd91727542..d5f3414a99 100644
--- a/ecrire/exec/articles_edit.php
+++ b/ecrire/exec/articles_edit.php
@@ -49,7 +49,8 @@ function exec_articles_edit_dist()
 
 	if ($id_version) $titre.= ' ('._T('version')." $id_version)";
 
-	debut_page(_T('titre_page_articles_edit', array('titre' => $titre)),
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_articles_edit', array('titre' => $titre)),
 			"naviguer", "articles", "hauteurTextarea();", 
 			"",
 			$id_rubrique);
diff --git a/ecrire/exec/articles_forum.php b/ecrire/exec/articles_forum.php
index b2627c8b89..acde3fad3d 100644
--- a/ecrire/exec/articles_forum.php
+++ b/ecrire/exec/articles_forum.php
@@ -54,7 +54,8 @@ function exec_articles_forum_dist()
 
  	pipeline('exec_init',array('args'=>array('exec'=>'articles_forum','id_article'=>$id_article),'data'=>''));
 
-	debut_page($titre, "naviguer", "articles", "", $id_rubrique);
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page($titre, "naviguer", "articles", "", $id_rubrique);
 
 	articles_forum_cadres($id_rubrique, $id_article, $titre, 'articles', "id_article=$id_article");
 
diff --git a/ecrire/exec/articles_page.php b/ecrire/exec/articles_page.php
index 29d3940d65..f51392c9b5 100644
--- a/ecrire/exec/articles_page.php
+++ b/ecrire/exec/articles_page.php
@@ -23,7 +23,8 @@ function exec_articles_page_dist()
   global $connect_statut, $connect_id_auteur;
 
  	pipeline('exec_init',array('args'=>array('exec'=>'articles_page'),'data'=>''));
-	debut_page(_T('titre_page_articles_page'), "naviguer", "articles");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_articles_page'), "naviguer", "articles");
 
 	debut_gauche();
 
diff --git a/ecrire/exec/articles_tous.php b/ecrire/exec/articles_tous.php
index 5f2523d698..1181f658f0 100644
--- a/ecrire/exec/articles_tous.php
+++ b/ecrire/exec/articles_tous.php
@@ -25,7 +25,8 @@ function exec_articles_tous_dist()
 
  	pipeline('exec_init',array('args'=>array('exec'=>'articles_tous'),'data'=>''));
 	list($enfant, $first_couche, $last_couche) = arbo_articles_tous();
-	debut_page(_T('titre_page_articles_tous'), "accueil", "tout-site");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_articles_tous'), "accueil", "tout-site");
 	debut_gauche();
 
 	if (($GLOBALS['meta']['multi_rubriques'] == 'oui' OR $GLOBALS['meta']['multi_articles'] == 'oui') AND $GLOBALS['meta']['gerer_trad'] == 'oui') 
diff --git a/ecrire/exec/articles_versions.php b/ecrire/exec/articles_versions.php
index c7aa1e2df7..3bafdef613 100644
--- a/ecrire/exec/articles_versions.php
+++ b/ecrire/exec/articles_versions.php
@@ -126,7 +126,8 @@ foreach ($textes as $var => $t) $$var = $t;
 
 
 
-debut_page(_T('info_historique')." &laquo; $titre &raquo;", "naviguer", "articles", "", $id_rubrique);
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('info_historique')." &laquo; $titre &raquo;", "naviguer", "articles", "", $id_rubrique);
 
 debut_grand_cadre();
 
diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php
index da4aab11ab..d0fce49c8c 100644
--- a/ecrire/exec/auteur_infos.php
+++ b/ecrire/exec/auteur_infos.php
@@ -48,11 +48,13 @@ function exec_auteur_infos_dist()
 
 	if (_request('var_ajaxcharset')) ajax_retour($legender_auteur);
 
-	if ($connect_id_auteur == $id_auteur)
-		debut_page($auteur['nom'], "auteurs", "perso");
-	else
-		debut_page($auteur['nom'],"auteurs","redacteurs");
-
+	if ($connect_id_auteur == $id_auteur) {
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page($auteur['nom'], "auteurs", "perso");
+	} else {
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page($auteur['nom'],"auteurs","redacteurs");
+	}
 	echo "<br /><br /><br />";
 
 	debut_gauche();
diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php
index d6e1568f68..e29f6acd04 100644
--- a/ecrire/exec/auteurs.php
+++ b/ecrire/exec/auteurs.php
@@ -82,9 +82,11 @@ function bandeau_auteurs($tri, $statut)
 	$s = ' ('._T('info_par_nombre_article').')';
 
 	if ($statut == '6forum') {
-		debut_page(_T('titre_page_auteurs'),"auteurs","redacteurs");
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('titre_page_auteurs'),"auteurs","redacteurs");
 	} else {
-		debut_page(_T('info_auteurs_par_tri', array('partri' => $s)),"auteurs","redacteurs");
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('info_auteurs_par_tri', array('partri' => $s)),"auteurs","redacteurs");
 	}
 	debut_gauche();
 
diff --git a/ecrire/exec/breves.php b/ecrire/exec/breves.php
index fb626142f0..2bede33e78 100644
--- a/ecrire/exec/breves.php
+++ b/ecrire/exec/breves.php
@@ -22,7 +22,8 @@ function exec_breves_dist()
 	charger_generer_url();
  	pipeline('exec_init',array('args'=>array('exec'=>'breves'),'data'=>''));
 	
-	debut_page(_T('titre_page_breves'), "naviguer", "breves");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_breves'), "naviguer", "breves");
 	debut_gauche();
 	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves'),'data'=>''));
 	creer_colonne_droite();
diff --git a/ecrire/exec/breves_edit.php b/ecrire/exec/breves_edit.php
index 32c3ab5372..c30e9b0b23 100644
--- a/ecrire/exec/breves_edit.php
+++ b/ecrire/exec/breves_edit.php
@@ -62,7 +62,8 @@ else {
 
 pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
 
-debut_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", "", $id_rubrique);
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", "", $id_rubrique);
 
 
 debut_grand_cadre();
diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php
index 6749b3b27a..e40f828d12 100644
--- a/ecrire/exec/breves_voir.php
+++ b/ecrire/exec/breves_voir.php
@@ -58,7 +58,8 @@ function afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $select_gr
 		)
 	);
 
-	debut_page("&laquo; $titre_breve &raquo;", "naviguer", "breves", "", $id_rubrique);
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page("&laquo; $titre_breve &raquo;", "naviguer", "breves", "", $id_rubrique);
 	
 	debut_grand_cadre();
 	
diff --git a/ecrire/exec/brouteur.php b/ecrire/exec/brouteur.php
index 7b061630a7..a6cc000390 100644
--- a/ecrire/exec/brouteur.php
+++ b/ecrire/exec/brouteur.php
@@ -32,7 +32,8 @@ function exec_brouteur_dist()
 	}
 	$largeur_col = round($largeur_table/$nb_col);
 
-	debut_page(_T('titre_page_articles_tous'), "accueil", "tout-site", " hauteurFrame($nb_col);");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_articles_tous'), "accueil", "tout-site", " hauteurFrame($nb_col);");
 
 	echo "\n<div>&nbsp;</div>";
 
diff --git a/ecrire/exec/calendrier.php b/ecrire/exec/calendrier.php
index ab988ef14b..a197a715f8 100644
--- a/ecrire/exec/calendrier.php
+++ b/ecrire/exec/calendrier.php
@@ -46,7 +46,8 @@ function exec_calendrier_dist()
 
   if (_request('var_ajaxcharset')) ajax_retour($r);
 
-  debut_page($titre, "accueil", "calendrier");
+  $commencer_page = charger_fonction('commencer_page', 'inc');
+  echo $commencer_page($titre, "accueil", "calendrier");
   echo "\n<div>&nbsp;</div>\n<div id='", $ancre, "'>",$r,'</div>';
   echo fin_page();
 }
diff --git a/ecrire/exec/config_contenu.php b/ecrire/exec/config_contenu.php
index 3ad022c6ce..9dc16aac5d 100644
--- a/ecrire/exec/config_contenu.php
+++ b/ecrire/exec/config_contenu.php
@@ -36,7 +36,8 @@ if ($changer_config == 'oui') {
 lire_metas();
 
 pipeline('exec_init',array('args'=>array('exec'=>'config_contenu'),'data'=>''));
-debut_page(_T('titre_page_config_contenu'), "configuration", "configuration");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "configuration");
 
 echo "<br><br><br>";
 gros_titre(_T('titre_page_config_contenu'));
diff --git a/ecrire/exec/config_fonctions.php b/ecrire/exec/config_fonctions.php
index 01b1a03a7a..ebca77cd22 100644
--- a/ecrire/exec/config_fonctions.php
+++ b/ecrire/exec/config_fonctions.php
@@ -31,7 +31,8 @@ function exec_config_fonctions_dist()
 	global $flag_revisions, $options ;
 
 	pipeline('exec_init',array('args'=>array('exec'=>'config_fonctions'),'data'=>''));
-	debut_page(_T('titre_page_config_fonctions'), "configuration", "configuration");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_config_fonctions'), "configuration", "configuration");
 
 	echo "<br><br><br>";
 	gros_titre(_T('titre_config_fonctions'));
diff --git a/ecrire/exec/config_lang.php b/ecrire/exec/config_lang.php
index 42d2bfbb84..da09f8b089 100644
--- a/ecrire/exec/config_lang.php
+++ b/ecrire/exec/config_lang.php
@@ -22,7 +22,8 @@ function exec_config_lang_dist()
 global $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_right, $all_langs, $changer_config;
 
 pipeline('exec_init',array('args'=>array('exec'=>'config_lang'),'data'=>''));
-debut_page(_T('titre_page_config_contenu'), "configuration", "langues");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");
 
 echo "<br><br><br>";
 gros_titre(_T('info_langues'));
diff --git a/ecrire/exec/config_multilang.php b/ecrire/exec/config_multilang.php
index fcad817d0a..df7e7a50cd 100644
--- a/ecrire/exec/config_multilang.php
+++ b/ecrire/exec/config_multilang.php
@@ -24,7 +24,8 @@ function exec_config_multilang_dist()
 lire_metas();
 
 pipeline('exec_init',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
-debut_page(_T('titre_page_config_contenu'), "configuration", "langues");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");
 
 echo "<br><br><br>";
 gros_titre(_T('info_langues'));
diff --git a/ecrire/exec/configuration.php b/ecrire/exec/configuration.php
index 0e96196ee2..874b777bfe 100644
--- a/ecrire/exec/configuration.php
+++ b/ecrire/exec/configuration.php
@@ -48,7 +48,8 @@ lire_metas();
 
 pipeline('exec_init',array('args'=>array('exec'=>'configuration'),'data'=>''));
 
-debut_page(_T('titre_page_configuration'), "configuration", "configuration");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_configuration'), "configuration", "configuration");
 
 echo "<br><br><br>";
 gros_titre(_T('titre_configuration'));
diff --git a/ecrire/exec/controle_forum.php b/ecrire/exec/controle_forum.php
index 41890175f3..66924858ec 100644
--- a/ecrire/exec/controle_forum.php
+++ b/ecrire/exec/controle_forum.php
@@ -234,7 +234,8 @@ function exec_controle_forum_dist()
 		ajax_retour($mess);
 	} else {
 
-		debut_page(_T('titre_page_forum_suivi'), "forum", "forum-controle");
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('titre_page_forum_suivi'), "forum", "forum-controle");
 
 		echo "<br><br><br>";
 		gros_titre(_T('titre_forum_suivi'));
diff --git a/ecrire/exec/controle_petition.php b/ecrire/exec/controle_petition.php
index 1412202fcb..dca0da8946 100644
--- a/ecrire/exec/controle_petition.php
+++ b/ecrire/exec/controle_petition.php
@@ -48,7 +48,8 @@ function exec_controle_petition_dist()
 
 	if (_request('var_ajaxcharset')) ajax_retour($r);
 
-	debut_page(_T('titre_page_controle_petition'), "forum", "suivi-petition");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_controle_petition'), "forum", "suivi-petition");
 	debut_gauche();
 
 	debut_droite();
diff --git a/ecrire/exec/demande_mise_a_jour.php b/ecrire/exec/demande_mise_a_jour.php
index 91db164e30..ac86a8e115 100644
--- a/ecrire/exec/demande_mise_a_jour.php
+++ b/ecrire/exec/demande_mise_a_jour.php
@@ -16,7 +16,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 // http://doc.spip.org/@exec_demande_mise_a_jour_dist
 function exec_demande_mise_a_jour_dist() {
 	include_spip('inc/presentation');
-	debut_page();
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page();
 	echo "<blockquote><blockquote><h4><font color='red'>",
 	_T('info_message_technique'),
 	"</font><br> ",
diff --git a/ecrire/exec/documents_liste.php b/ecrire/exec/documents_liste.php
index 12c2ad07c1..028aa76d87 100644
--- a/ecrire/exec/documents_liste.php
+++ b/ecrire/exec/documents_liste.php
@@ -22,7 +22,8 @@ function exec_documents_liste_dist()
 // Recupere les donnees
 //
 
-debut_page(_T('titre_page_documents_liste'), "naviguer", "documents");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_documents_liste'), "naviguer", "documents");
 debut_gauche();
 
 
diff --git a/ecrire/exec/forum.php b/ecrire/exec/forum.php
index 0813b789bb..49532f86ae 100644
--- a/ecrire/exec/forum.php
+++ b/ecrire/exec/forum.php
@@ -39,12 +39,14 @@ function exec_forum_dist()
   $debut = intval($debut);
 
   if ($admin) {
-	debut_page(_T('titre_page_forum'), "forum", "privadm");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_forum'), "forum", "privadm");
 	$statutforum = 'privadm';
 	$logo = "forum-admin-24.gif";
 	$script = 'forum_admin';
   } else {
-	debut_page(_T('titre_forum'), "forum", "forum-interne");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_forum'), "forum", "forum-interne");
 	$statutforum = 'privrac';
 	$logo = "forum-interne-24.gif";
 	$script = 'forum';
diff --git a/ecrire/exec/forum_envoi.php b/ecrire/exec/forum_envoi.php
index 9c1cb5151d..74aaecfbeb 100644
--- a/ecrire/exec/forum_envoi.php
+++ b/ecrire/exec/forum_envoi.php
@@ -136,7 +136,8 @@ function forum_envoi(
 		$titre_page = $q['titre'];
 	}
 
-	debut_page($titre_page, "accueil", $id_message ? "messagerie" : "accueil");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page($titre_page, "accueil", $id_message ? "messagerie" : "accueil");
 	debut_gauche();
 	debut_droite();
 	gros_titre($titre_page . $num);
diff --git a/ecrire/exec/import_all.php b/ecrire/exec/import_all.php
index b66b5d7291..2d1665a3da 100644
--- a/ecrire/exec/import_all.php
+++ b/ecrire/exec/import_all.php
@@ -134,7 +134,8 @@ function import_all_continue()
 	$archive = $dir . $request['archive'];
 	$affiche_progression_pourcent = @filesize($archive);
 
-	debut_page(_T('titre_page_index'), "accueil", "accueil");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_index'), "accueil", "accueil");
 
 	debut_gauche();
 
diff --git a/ecrire/exec/lang_raccourcis.php b/ecrire/exec/lang_raccourcis.php
index 0388b21fcd..cc7e33fd7d 100644
--- a/ecrire/exec/lang_raccourcis.php
+++ b/ecrire/exec/lang_raccourcis.php
@@ -33,7 +33,8 @@ function exec_lang_raccourcis_dist() {
 	if (!in_array($module = _request('module'), $modules))
 		$module = 'public';
 
-	debut_page(_T('module_fichier_langue').": $module",
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('module_fichier_langue').": $module",
 		"configuration", "langues");
 
 	echo "<br><br><br>";
diff --git a/ecrire/exec/message.php b/ecrire/exec/message.php
index b26d8aebf9..7645be4830 100644
--- a/ecrire/exec/message.php
+++ b/ecrire/exec/message.php
@@ -54,7 +54,8 @@ $row = spip_fetch_array(spip_query("SELECT type FROM spip_messages WHERE id_mess
 if ($row['type'] != "affich"){
 	$n = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_auteurs_messages WHERE id_auteur=$connect_id_auteur AND id_message=$id_message"));
 	if (!$n['n']) {
-		debut_page(_T('info_acces_refuse'));
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('info_acces_refuse'));
 		debut_gauche();
 		debut_droite();
 		echo "<b>"._T('avis_non_acces_message')."</b><p>";
@@ -502,7 +503,8 @@ function exec_affiche_message_dist($id_message, $cherche_auteur, $nouv_auteur, $
 	if ($type != "affich")
 		spip_query("UPDATE spip_auteurs_messages SET vu='oui' WHERE id_message='$id_message' AND id_auteur='$connect_id_auteur'");
 
-	debut_page($titre, "accueil", "messagerie");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page($titre, "accueil", "messagerie");
 
 	debut_gauche();
 	
diff --git a/ecrire/exec/message_edit.php b/ecrire/exec/message_edit.php
index aa0af70499..1f7ae06b4b 100644
--- a/ecrire/exec/message_edit.php
+++ b/ecrire/exec/message_edit.php
@@ -48,7 +48,8 @@ if ($new=='oui') {
 	}
 
 	if (!$ok) {
-		debut_page(_T('info_acces_refuse'));
+		$commencer_page = charger_fonction('commencer_page', 'inc');
+		echo $commencer_page(_T('info_acces_refuse'));
 		debut_gauche();
 		debut_droite();
 		echo "<b>"._T('avis_non_acces_message')."</b><p>";
@@ -94,7 +95,8 @@ $statut = $row["statut"];
 $rv = $row["rv"];
 $expediteur = $row["id_auteur"];
 
-debut_page(_T('titre_page_message_edit'), "accueil", "messagerie");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_message_edit'), "accueil", "messagerie");
 
 if (!($expediteur = $connect_id_auteur OR ($type == 'affich' AND $connect_statut == '0minirezo'))) die();
 
diff --git a/ecrire/exec/messagerie.php b/ecrire/exec/messagerie.php
index f649bd804a..e4b36d44f1 100644
--- a/ecrire/exec/messagerie.php
+++ b/ecrire/exec/messagerie.php
@@ -35,7 +35,8 @@ if ($detruire_message) {
 	spip_query("DELETE FROM spip_forum WHERE id_message=$detruire_message");
 }
 
-debut_page(_T('titre_page_messagerie'), "accueil", "messagerie");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_messagerie'), "accueil", "messagerie");
 
 debut_gauche("messagerie");
 
diff --git a/ecrire/exec/mots_edit.php b/ecrire/exec/mots_edit.php
index ecfe830e0d..0c6d24b317 100644
--- a/ecrire/exec/mots_edit.php
+++ b/ecrire/exec/mots_edit.php
@@ -55,7 +55,8 @@ global
  
 	 pipeline('exec_init',array('args'=>array('exec'=>'mots_edit','id_mot'=>$id_mot),'data'=>''));
 
-	 debut_page("&laquo; $titre_mot &raquo;", "naviguer", "mots");
+	 $commencer_page = charger_fonction('commencer_page', 'inc');
+	 echo $commencer_page("&laquo; $titre_mot &raquo;", "naviguer", "mots");
 	 debut_gauche();
 
 
diff --git a/ecrire/exec/mots_tous.php b/ecrire/exec/mots_tous.php
index a4bab07c93..542c580249 100644
--- a/ecrire/exec/mots_tous.php
+++ b/ecrire/exec/mots_tous.php
@@ -23,7 +23,8 @@ function exec_mots_tous_dist()
 	$conf_mot = intval($conf_mot);
 
 	pipeline('exec_init',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
-	debut_page(_T('titre_page_mots_tous'), "naviguer", "mots");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_mots_tous'), "naviguer", "mots");
 	debut_gauche();
 
 	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
diff --git a/ecrire/exec/mots_type.php b/ecrire/exec/mots_type.php
index 370ef608e4..26d11e693b 100644
--- a/ecrire/exec/mots_type.php
+++ b/ecrire/exec/mots_type.php
@@ -57,7 +57,8 @@ function exec_mots_type_dist()
 	}
 
 	pipeline('exec_init',array('args'=>array('exec'=>'mots_types','id_groupe'=>$id_groupe),'data'=>''));
-	debut_page("&laquo; $titre &raquo;", "naviguer", "mots");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page("&laquo; $titre &raquo;", "naviguer", "mots");
 	debut_gauche();
 
 	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_types','id_groupe'=>$id_groupe),'data'=>''));
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index fc5ac147b2..f106a1cf2d 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -45,7 +45,8 @@ function exec_naviguer_dist()
 
 	pipeline('exec_init',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>''));
 
-	debut_page(($titre ? ("&laquo; ".textebrut(typo($titre))." &raquo;") :
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(($titre ? ("&laquo; ".textebrut(typo($titre))." &raquo;") :
 		    _T('titre_naviguer_dans_le_site')),
 		   "naviguer",
 		   "rubriques",
diff --git a/ecrire/exec/recherche.php b/ecrire/exec/recherche.php
index 83e6cb58c3..2a92e07d5e 100644
--- a/ecrire/exec/recherche.php
+++ b/ecrire/exec/recherche.php
@@ -22,7 +22,8 @@ function exec_recherche_dist()
 
 	$recherche_aff = entites_html($recherche);
 
-	debut_page(_T('titre_page_recherche', array('recherche' => $recherche_aff)));
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_recherche', array('recherche' => $recherche_aff)));
  
 	debut_gauche();
 
diff --git a/ecrire/exec/rubriques_edit.php b/ecrire/exec/rubriques_edit.php
index d2947e8a14..446d7e5d72 100644
--- a/ecrire/exec/rubriques_edit.php
+++ b/ecrire/exec/rubriques_edit.php
@@ -58,7 +58,8 @@ function exec_rubriques_edit_dist()
 	}
 
 	pipeline('exec_init',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
-	debut_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", '', $id_rubrique);
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", '', $id_rubrique);
 
 	if ($id_parent == 0) $ze_logo = "secteur-24.gif";
 	else $ze_logo = "rubrique-24.gif";
diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php
index 7b393c71ef..dd36c2c980 100644
--- a/ecrire/exec/sites.php
+++ b/ecrire/exec/sites.php
@@ -221,7 +221,8 @@ else
 pipeline('exec_init',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''));
 
 
-debut_page("$titre_page","naviguer","sites", "", $id_rubrique);
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page("$titre_page","naviguer","sites", "", $id_rubrique);
 
 
 //////// parents
diff --git a/ecrire/exec/sites_edit.php b/ecrire/exec/sites_edit.php
index 3cbb14a877..48b45b0e7a 100644
--- a/ecrire/exec/sites_edit.php
+++ b/ecrire/exec/sites_edit.php
@@ -42,7 +42,8 @@ else {
 }
 pipeline('exec_init',array('args'=>array('exec'=>'sites_edit','id_syndic'=>$id_syndic),'data'=>''));
 
-debut_page(_T('info_site_reference_2'), "naviguer", "sites", "", $id_rubrique);
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('info_site_reference_2'), "naviguer", "sites", "", $id_rubrique);
 
 debut_grand_cadre();
 
diff --git a/ecrire/exec/sites_tous.php b/ecrire/exec/sites_tous.php
index 132e5d2e9a..955c99f6ea 100644
--- a/ecrire/exec/sites_tous.php
+++ b/ecrire/exec/sites_tous.php
@@ -21,7 +21,8 @@ function exec_sites_tous_dist()
 	global $connect_statut, $options;
 
 pipeline('exec_init',array('args'=>array('exec'=>'sites_tous'),'data'=>''));
-debut_page(_T('titre_page_sites_tous'),"naviguer","sites");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_sites_tous'),"naviguer","sites");
 debut_gauche();
 echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites_tous'),'data'=>''));
 creer_colonne_droite();
diff --git a/ecrire/exec/statistiques_lang.php b/ecrire/exec/statistiques_lang.php
index 832a6a490b..6eff59c28d 100644
--- a/ecrire/exec/statistiques_lang.php
+++ b/ecrire/exec/statistiques_lang.php
@@ -19,7 +19,8 @@ function exec_statistiques_lang_dist()
 {
   global $connect_statut, $couleur_foncee, $critere, $spip_ecran, $spip_lang_right;
 
-  debut_page(_T('onglet_repartition_lang'), "statistiques_visites", "repartition-langues");
+  $commencer_page = charger_fonction('commencer_page', 'inc');
+  echo $commencer_page(_T('onglet_repartition_lang'), "statistiques_visites", "repartition-langues");
 
  if ($spip_ecran == "large") {
 		$largeur_table = 974;
diff --git a/ecrire/exec/statistiques_referers.php b/ecrire/exec/statistiques_referers.php
index 7e43e948ac..42fd4de8d4 100644
--- a/ecrire/exec/statistiques_referers.php
+++ b/ecrire/exec/statistiques_referers.php
@@ -35,7 +35,8 @@ else {
 	}
 }
 
-debut_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "referers");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "referers");
 echo "<br /><br /><br />";
 
 	gros_titre(_T('titre_liens_entrants'));
diff --git a/ecrire/exec/statistiques_repartition.php b/ecrire/exec/statistiques_repartition.php
index 53c5ddc632..fe2b9fc1ef 100644
--- a/ecrire/exec/statistiques_repartition.php
+++ b/ecrire/exec/statistiques_repartition.php
@@ -132,7 +132,8 @@ function exec_statistiques_repartition_dist()
   global $connect_statut, $connect_toutes_rubriques, $spip_ecran, $taille,
     $abs_total, $nombre_vis, $critere;
 
-	debut_page(_T('titre_page_statistiques'), "statistiques_visites", "repartition");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_statistiques'), "statistiques_visites", "repartition");
 	
 	if (($connect_statut != '0minirezo')|| !$connect_toutes_rubriques) {
 		echo _T('avis_non_acces_page');
diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php
index 89c5a60251..875caf6b8c 100644
--- a/ecrire/exec/statistiques_visites.php
+++ b/ecrire/exec/statistiques_visites.php
@@ -79,7 +79,8 @@ else {
 if ($titre) $pourarticle = " "._T('info_pour')." &laquo; $titre &raquo;";
 
 if ($origine) {
-	debut_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "statistiques");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "statistiques");
 	echo "<br /><br />";
 	gros_titre(_T('titre_liens_entrants'));
 	barre_onglets("statistiques", "referers");
@@ -93,7 +94,8 @@ if ($origine) {
 
 }
 else {
-	debut_page(_T('titre_page_statistiques_visites').$pourarticle, "statistiques_visites", "statistiques");
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page(_T('titre_page_statistiques_visites').$pourarticle, "statistiques_visites", "statistiques");
 	echo "<br /><br />";
 	gros_titre(_T('titre_evolution_visite')."<html>".aide("confstat")."</html>");
 //	barre_onglets("statistiques", "evolution");
diff --git a/ecrire/exec/suivi_revisions.php b/ecrire/exec/suivi_revisions.php
index 2f097c783a..c0b3a8d0fa 100644
--- a/ecrire/exec/suivi_revisions.php
+++ b/ecrire/exec/suivi_revisions.php
@@ -30,7 +30,8 @@ function exec_suivi_revisions_dist()
 $debut = intval($debut);
 $id_auteur = ($id_auteur == $connect_id_auteur) ? $id_auteur : false;
 
-debut_page(_T("icone_suivi_revisions"));
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T("icone_suivi_revisions"));
 
 
 //////////////////////////////////////////////////////
diff --git a/ecrire/exec/synchro.php b/ecrire/exec/synchro.php
index 1d4b187975..b3b7829ec6 100644
--- a/ecrire/exec/synchro.php
+++ b/ecrire/exec/synchro.php
@@ -36,7 +36,8 @@ function exec_synchro_dist()
 {
 global   $connect_id_auteur;
 ///// debut de la page
-debut_page(_T("icone_suivi_activite"),  "accueil", "synchro");
+$commencer_page = charger_fonction('commencer_page', 'inc');
+echo $commencer_page(_T("icone_suivi_activite"),  "accueil", "synchro");
 
 echo "<br><br><br>";
 gros_titre(_T("icone_suivi_activite"));
diff --git a/ecrire/inc/commencer_page.php b/ecrire/inc/commencer_page.php
new file mode 100644
index 0000000000..bc3a6588be
--- /dev/null
+++ b/ecrire/inc/commencer_page.php
@@ -0,0 +1,326 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2006                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+//
+// Presentation de l'interface privee, debut du HTML
+//
+
+// http://doc.spip.org/@debut_page
+function inc_commencer_page($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "", $id_rubrique = "") {
+
+	include_spip('inc/headers');
+
+	http_no_cache();
+
+	return init_entete($titre, $id_rubrique)
+	. init_body($rubrique, $sous_rubrique, $onLoad, $id_rubrique)
+	. "<center onmouseover='recherche_desesperement()'>" // ????
+	. avertissement_messagerie()
+	  . ((($rubrique == "messagerie") OR (_request('changer_config')!="oui"))
+	     ? auteurs_recemment_connectes() : '');
+}
+
+// envoi du doctype et du <head><title>...</head> 
+// http://doc.spip.org/@init_entete
+function init_entete($titre='', $id_rubrique=0) {
+	include_spip('inc/gadgets');
+
+	if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))
+		$nom_site_spip=  _T('info_mon_site_spip');
+
+	$head = "<title>["
+		. $nom_site_spip
+		. "] " . textebrut(typo($titre)) . "</title>\n"
+		. "<meta http-equiv='Content-Type' content='text/html"
+		. (($c = $GLOBALS['meta']['charset']) ?
+			"; charset=$c" : '')
+		. "' />\n"
+		. envoi_link($nom_site_spip);
+
+	// anciennement verifForm
+	$head .= '
+	<script type="text/javascript"><!--
+	$(document).ready(function(){
+		verifForm();
+	'
+	.
+	repercuter_gadgets($id_rubrique)
+	.'
+	});
+	// --></script>
+	';
+
+	return _DOCTYPE_ECRIRE
+	. html_lang_attributes()
+	. "<head>\n"
+	. pipeline('header_prive', $head)
+	. "</head>\n";
+}
+
+// fonction envoyant la double serie d'icones de redac
+// http://doc.spip.org/@init_body
+function init_body($rubrique='accueil', $sous_rubrique='accueil', $load='', $id_rubrique='') {
+	global $couleur_foncee, $couleur_claire;
+	global $connect_id_auteur, $connect_toutes_rubriques;
+	global $auth_can_disconnect;
+	global $options, $spip_display, $spip_ecran;
+	global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
+
+	$res = '';
+
+	definir_barre_boutons();
+	if ($load)
+		$load = " onload=\"$load\"";
+
+	$res .= pipeline('body_prive',"<body ". _ATTRIBUTES_BODY
+		.$load
+		. '>');
+
+	if ($spip_ecran == "large") $largeur = 974;
+	else $largeur = 750;
+
+	$res .= "\n<map id='map_layout'>"
+	. lien_change_var (self(), 'set_disp', 1, '1,0,18,15', _T('lien_afficher_texte_seul'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"")
+	. lien_change_var (self(), 'set_disp', 2, '19,0,40,15', _T('lien_afficher_texte_icones'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"")
+	. lien_change_var (self(), 'set_disp', 3, '41,0,59,15', _T('lien_afficher_icones_seuls'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"")
+	. "\n</map>";
+
+	if ($spip_display == "4") {
+		$res .= "<ul>"
+		. "<li><a href='./'>"._T('icone_a_suivre')."</a></li>"
+		. "<li><a href='" . generer_url_ecrire("naviguer") . "'>"._T('icone_edition_site')."</a></li>"
+		. "<li><a href='" . generer_url_ecrire("forum"). "'>"._T('titre_forum')."</a></li>"
+		. "<li><a href='" . generer_url_ecrire("auteurs") . "'>"._T('icone_auteurs')."</a></li>"
+		. "<li><a href=\"".url_de_base()."\">"._T('icone_visiter_site')."</a></li>"
+		. "</ul>";
+
+		return $res;
+	}
+
+	// Lien oo
+	$res .= "<div class='invisible_au_chargement' style='position: absolute; height: 0px; visibility: hidden;'><a href='oo'>"._T("access_mode_texte")."</a></div>"
+	. "<div id='haut-page'>"
+	. "<div class='bandeau-principal' align='center'>\n"
+	. bandeau_principal($rubrique, $sous_rubrique, $largeur)
+	. "<table width='$largeur' cellpadding='0' cellspacing='0' align='center'><tr><td>"
+	. "<div style='text-align: $spip_lang_left; width: ".$largeur."px; position: relative; z-index: 2000;'>";
+
+	// Icones secondaires
+
+	global $browser_name;
+	$coeff_decalage = 0;
+	if ($browser_name=="MSIE")
+		$coeff_decalage = 1.0;
+	$decal=0;
+	$largitem_moy = 85;
+	$largeur_maxi_menu = $largeur-100;
+
+	foreach($GLOBALS['boutons_admin'] as $page => $detail) {
+		if (($rubrique == $page) AND ($_COOKIE['spip_accepte_ajax']==-1)) {
+			$class = "visible_au_chargement";
+		} else {
+			$class = "invisible_au_chargement";
+		}
+
+		$sousmenu= $detail->sousmenu;
+		if($sousmenu) {
+			$offset = (int)round($decal-$coeff_decalage*max(0,($decal+count($sousmenu)*$largitem_moy-$largeur_maxi_menu)));
+			if ($offset<0){	$offset = 0; }
+			$res .= "<div class='$class' id='bandeau$page' style='position: absolute; $spip_lang_left: ".$offset."px;'><div class='bandeau_sec'><table class='gauche'><tr>\n";
+			$width=0;
+			foreach($sousmenu as $souspage => $sousdetail) {
+				if ($width+1.25*$largitem_moy>$largeur_maxi_menu){$res .= "</tr><tr>\n";$width=0;}
+				if($souspage=='espacement') {
+					if ($width>0){
+						$res .= "<td class='separateur'></td>\n";
+						$largitem = 0;
+					}
+				} else {
+				  list($html,$largitem) = icone_bandeau_secondaire (_T($sousdetail->libelle), generer_url_ecrire($sousdetail->url?$sousdetail->url:$souspage, $sousdetail->urlArg), $sousdetail->icone, $souspage, $sous_rubrique);
+				  $res .= $html;
+				}
+				$width+=$largitem+10;
+			}
+			$res .= "</tr></table></div></div>";
+		}
+		
+		$decal += largeur_icone_bandeau_principal(_T($detail->libelle));
+	}
+
+	$res .= "</div>"
+	. "</td></tr></table>"
+	. "</div>\n"; // referme: <div class='bandeau-principal' align='center'>"
+
+	//
+	// Bandeau colore
+	//
+
+if (true /*$bandeau_colore*/) {
+	if ($rubrique == "administration") {
+		$style = "background: url(" . _DIR_IMG_PACK . "rayures-danger.png); background-color: $couleur_foncee";
+		$res .= "<style>a.icone26 { color: white; }</style>";
+	}
+	else {
+		$style = "background-color: $couleur_claire";
+	}
+
+	$res .= "\n<div style=\"max-height: 40px; width: 100%; border-bottom: solid 1px white;$style\">"
+	. "<table align='center' cellpadding='0' style='background: none;' width='$largeur'><tr>";
+
+	$res .= "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
+
+	$res .= "<a href='" . generer_url_ecrire("articles_tous") . "' class='icone26' onmouseover=\"changestyle('bandeautoutsite','visibility','visible');\">" .
+		  http_img_pack("tout-site.png", "", "width='26' height='20'") . "</a>";
+		if ($id_rubrique > 0) $res .= "<a href='" . generer_url_ecrire("brouteur","id_rubrique=$id_rubrique") . "' class='icone26' onmouseover=\"changestyle('bandeaunavrapide','visibility','visible');\">" .
+		  http_img_pack("naviguer-site.png", "", "width='26' height='20'") ."</a>";
+		else $res .= "<a href='" . generer_url_ecrire("brouteur") . "' class='icone26' onmouseover=\"changestyle('bandeaunavrapide','visibility','visible');\" >" .
+		  http_img_pack("naviguer-site.png", "", "width='26' height='20'") . "</a>";
+
+		$res .= "<a href='" . generer_url_ecrire("recherche") . "' class='icone26' onmouseover=\"changestyle('bandeaurecherche','visibility','visible'); findObj('form_recherche').focus();\" >" .
+		  http_img_pack("loupe.png", "", "width='26' height='20'") ."</a>";
+
+		$res .= http_img_pack("rien.gif", " ", "width='10'");
+
+		$res .= "<a href='" . generer_url_ecrire("calendrier","type=semaine") . "' class='icone26' onmouseover=\"changestyle('bandeauagenda','visibility','visible');\">" .
+		  http_img_pack("cal-rv.png", "", "width='26' height='20'") ."</a>"
+		. "<a href='" . generer_url_ecrire("messagerie") . "' class='icone26' onmouseover=\"changestyle('bandeaumessagerie','visibility','visible');\">" .
+		  http_img_pack("cal-messagerie.png", "", "width='26' height='20'") ."</a>"
+		. "<a href='" . generer_url_ecrire("synchro") . "' class='icone26' onmouseover=\"changestyle('bandeausynchro','visibility','visible');\">" .
+		  http_img_pack("cal-suivi.png", "", "width='26' height='20'") . "</a>";
+		
+
+		if (!($connect_toutes_rubriques)) {
+			$res .= http_img_pack("rien.gif", " ", "width='10'");
+			$res .= "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur&initial=-1") . "' class='icone26' onmouseover=\"changestyle('bandeauinfoperso','visibility','visible');\">" .
+			  http_img_pack("fiche-perso.png", "", "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"");
+			$res .= "</a>";
+		}
+		
+	$res .= "</td>"
+	. "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
+		// overflow pour masquer les noms tres longs (et eviter debords, notamment en ecran etroit)
+		if ($spip_ecran == "large") $largeur_nom = 300;
+		else $largeur_nom= 110;
+		$res .= "<div style='width: ".$largeur_nom."px; height: 14px; overflow: hidden;'>";
+		// Redacteur connecte
+		$res .= typo($GLOBALS['auteur_session']['nom'])
+		. "</div>";
+	
+	$res .= "</td>"
+	. "<td> &nbsp; </td>"
+	. "<td class='bandeau_couleur' style='text-align: $spip_lang_right;' valign='middle'>";
+
+			// Choix display
+		//	$res .="<img src=_DIR_IMG_PACK . 'rien.gif' width='10' />";
+	if ($options != "avancees") {
+				$lien = parametre_url(self(), 'set_options', 'avancees');
+				$icone = "interface-display-comp.png";
+	} else {
+				$lien = parametre_url(self(), 'set_options', 'basiques');
+				$icone = "interface-display.png";
+	}
+	$res .= "<a href='$lien' class='icone26' onmouseover=\"changestyle('bandeaudisplay','visibility', 'visible');\">"
+	. http_img_pack("$icone", "", "width='26' height='20'")."</a>"
+	. http_img_pack("rien.gif", " ", "width='10' height='1'")
+	. http_img_pack("choix-layout$spip_lang_rtl".($spip_lang=='he'?'_he':'').".gif", "abc", "class='format_png' style='vertical-align: middle' width='59' height='15' usemap='#map_layout'")
+	. http_img_pack("rien.gif", " ", "width='10' height='1'");
+			// grand ecran
+	if ($spip_ecran == "large") {
+				$i = _T('info_petit_ecran');
+				$res .= "<a href='". parametre_url(self(),'set_ecran', 'etroit') ."' class='icone26' onmouseover=\"changestyle('bandeauecran','visibility', 'visible');\" title=\"$i\">" .
+				  http_img_pack("set-ecran-etroit.png", $i, "width='26' height='20'") . "</a>";
+				$ecran = "<div><a href='".parametre_url(self(),'set_ecran', 'etroit')."' class='lien_sous'>"._T('info_petit_ecran')."</a>/<b>"._T('info_grand_ecran')."</b></div>";
+	} else {
+				$i = _T('info_grand_ecran');
+				$res .= "<a href='".parametre_url(self(),'set_ecran', 'large')."' class='icone26' onmouseover=\"changestyle('bandeauecran','visibility', 'visible');\" title=\"$i\">" .
+				  http_img_pack("set-ecran.png", $i, "width='26' height='20'") ."</a>";
+				$ecran = "<div><b>"._T('info_petit_ecran')."</b>/<a href='".parametre_url(self(),'set_ecran', 'large')."' class='lien_sous'>"._T('info_grand_ecran')."</a></div>";
+			}
+
+	$res .= "</td>"
+	. "<td class='bandeau_couleur' style='width: 60px; text-align:$spip_lang_left;' valign='middle'>"
+	. choix_couleur()
+	. "</td>";
+	//
+	// choix de la langue
+	//
+	if ($GLOBALS['all_langs']) {
+		$res .= "<td class='bandeau_couleur' style='width: 100px; text-align: $spip_lang_right;' valign='middle'>"
+		. menu_langues('var_lang_ecrire')
+		. "</td>";
+	}
+
+	$res .= "<td class='bandeau_couleur' style='text-align: $spip_lang_right; width: 28px;' valign='middle'>";
+
+	if ($auth_can_disconnect) {
+			$res .= "<a href='".
+			  generer_url_action("logout","logout=prive") .
+			  "' class='icone26' onmouseover=\"changestyle('bandeaudeconnecter','visibility', 'visible');\">" .
+			  http_img_pack("deconnecter-24.gif", "", "") .
+			  "</a>";
+			}
+	$res .= "</td>"
+	. "</tr></table>";
+
+} // fin bandeau colore
+
+	// <div> pour la barre des gadgets
+	// (elements invisibles qui s'ouvrent sous la barre precedente)
+
+	$res .= bandeau_gadgets($largeur, $options, $id_rubrique)
+	. "</div>"
+	. "</div>";
+
+	if ($options != "avancees") $res .= "<div style='height: 18px;'>&nbsp;</div>";
+	return $res;
+}
+
+
+// http://doc.spip.org/@avertissement_messagerie
+function avertissement_messagerie() {
+	global $couleur_foncee;
+	global $connect_id_auteur;
+
+	$result_messages = spip_query("SELECT lien.id_message FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE lien.id_auteur=$connect_id_auteur AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
+	$total_messages = @spip_num_rows($result_messages);
+	if ($total_messages == 1) {
+		$row = @spip_fetch_array($result_messages);
+		$ze_message=$row['id_message'];
+		return "<div class='messages'><a href='" . generer_url_ecrire("message","id_message=$ze_message") . "'><font color='$couleur_foncee'>"._T('info_nouveau_message')."</font></a></div>";
+	} elseif ($total_messages > 1)
+		return "<div class='messages'><a href='" . generer_url_ecrire("messagerie") . "'><font color='$couleur_foncee'>"._T('info_nouveaux_messages', array('total_messages' => $total_messages))."</font></a></div>";
+	else return '';
+}
+
+
+// http://doc.spip.org/@auteurs_recemment_connectes
+function auteurs_recemment_connectes()
+{	
+	global $connect_id_auteur;
+	$res = '';
+	$result_auteurs = spip_query("SELECT id_auteur FROM spip_auteurs WHERE id_auteur!=$connect_id_auteur AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 MINUTE) AND statut IN ('0minirezo','1comite')");
+
+	if (spip_num_rows($result_auteurs)) {
+		$formater_auteur = charger_fonction('formater_auteur', 'inc');
+		$res = "<b>"._T('info_en_ligne'). "&nbsp;</b>";
+		while ($row = spip_fetch_array($result_auteurs)) {
+			list($s, $mail, $nom, $w, $p) = $formater_auteur($row['id_auteur']);
+			$res .= "$mail&nbsp;$nom, ";
+		}
+		$res = substr($res,0,-2);
+	}
+
+	return "<div class='messages' style='color: #666666;'>$res</div>";
+}
+?>
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 4d148a24d1..c218a72664 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -21,12 +21,14 @@ include_spip('inc/actions');
 // http://doc.spip.org/@choix_couleur
 function choix_couleur() {
 	global $couleurs_spip;
+	$res = '';
 	if ($couleurs_spip) {
 		foreach ($couleurs_spip as $key => $val) {
-			echo "<a href=\"".parametre_url(self(), 'set_couleur', $key)."\">" .
+			$res = "<a href=\"".parametre_url(self(), 'set_couleur', $key)."\">" .
 				http_img_pack("rien.gif", " ", "width='8' height='8' style='margin: 1px; background-color: ".$val['couleur_claire'].";' onmouseover=\"changestyle('bandeauinterface','visibility', 'visible');\""). "</a>";
 		}
 	}
+	return $res;
 }
 
 // Faux HR, avec controle de couleur
@@ -1664,19 +1666,20 @@ function icone_bandeau_secondaire($texte, $lien, $fond, $rubrique_icone = "vide"
 
 	$a_href = "<a$accesskey href=\"$lien\"$class_select>";
 
+	$res = '';
 	if ($spip_display != 1) {
-		echo "<td class='cellule36' style='width: ".$largeur."px;'>";
-		echo "$a_href" .
+		$res .= "<td class='cellule36' style='width: ".$largeur."px;'>";
+		$res .= "$a_href" .
 		  http_img_pack("$fond", $alt, "$title");
-		if ($aide AND $spip_display != 3) echo aide($aide)." ";
+		if ($aide AND $spip_display != 3) $res .= aide($aide)." ";
 		if ($spip_display != 3) {
-			echo "<span>$texte</span>";
+			$res .= "<span>$texte</span>";
 		}
 	}
-	else echo "<td class='cellule-texte' width='$largeur'>$a_href".$texte;
-	echo "</a>";	
-	echo "</td>\n";
-	return $largeur;
+	else $res .= "<td class='cellule-texte' width='$largeur'>$a_href".$texte;
+	$res .= "</a>";	
+	$res .= "</td>\n";
+	return array($res, $largeur);
 }
 
 
@@ -1798,328 +1801,6 @@ function lien_change_var($lien, $set, $couleur, $coords, $titre, $mouseOver="")
 	return "\n<area shape='rect' href='$lien' coords='$coords' title=\"$titre\" alt=' ' $mouseOver />";
 }
 
-//
-// Presentation de l'interface privee, debut du HTML
-//
-
-// http://doc.spip.org/@debut_page
-function debut_page($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "", $id_rubrique = "") {
-
-	include_spip('inc/headers');
-	http_no_cache();
-	echo init_entete($titre, $id_rubrique);
-	init_body($rubrique, $sous_rubrique, $onLoad, $id_rubrique);
-
-	echo "<center onmouseover='recherche_desesperement()'>", // ????
-		avertissement_messagerie(),
-		(($rubrique == "messagerie")
-		 OR (_request('changer_config')!="oui")) 
-		? auteurs_recemment_connectes() : '';
-}
-
-// envoi du doctype et du <head><title>...</head> 
-// http://doc.spip.org/@init_entete
-function init_entete($titre='', $id_rubrique=0) {
-  include_spip('inc/gadgets');
-
-	if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']["nom_site"])))
-		$nom_site_spip=  _T('info_mon_site_spip');
-
-	$head = "<title>["
-		. $nom_site_spip
-		. "] " . textebrut(typo($titre)) . "</title>\n"
-		. "<meta http-equiv='Content-Type' content='text/html"
-		. (($c = $GLOBALS['meta']['charset']) ?
-			"; charset=$c" : '')
-		. "' />\n"
-		. envoi_link($nom_site_spip);
-
-	// anciennement verifForm
-	$head .= '
-	<script type="text/javascript"><!--
-	$(document).ready(function(){
-		verifForm();
-	'
-	.
-	repercuter_gadgets($id_rubrique)
-	.'
-	});
-	// --></script>
-	';
-
-	return _DOCTYPE_ECRIRE
-	. html_lang_attributes()
-	. "<head>\n"
-	. pipeline('header_prive', $head)
-	. "</head>\n";
-}
-
-// fonction envoyant la double serie d'icones de redac
-// http://doc.spip.org/@init_body
-function init_body($rubrique='accueil', $sous_rubrique='accueil', $load='', $id_rubrique='') {
-	global $couleur_foncee, $couleur_claire;
-	global $connect_id_auteur, $connect_toutes_rubriques;
-	global $auth_can_disconnect;
-	global $options, $spip_display, $spip_ecran;
-	global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
-
-	definir_barre_boutons();
-	if ($load)
-		$load = " onload=\"$load\"";
-
-	echo pipeline('body_prive',"<body ". _ATTRIBUTES_BODY
-		.$load
-		. '>');
-
-	if ($spip_ecran == "large") $largeur = 974;
-	else $largeur = 750;
-
-	echo "\n<map id='map_layout'>";
-	echo lien_change_var (self(), 'set_disp', 1, '1,0,18,15', _T('lien_afficher_texte_seul'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"");
-	echo lien_change_var (self(), 'set_disp', 2, '19,0,40,15', _T('lien_afficher_texte_icones'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"");
-	echo lien_change_var (self(), 'set_disp', 3, '41,0,59,15', _T('lien_afficher_icones_seuls'), "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"");
-	echo "\n</map>";
-
-	if ($spip_display == "4") {
-		echo "<ul>";
-		echo "<li><a href='./'>"._T('icone_a_suivre')."</a></li>";
-		echo "<li><a href='" . generer_url_ecrire("naviguer") . "'>"._T('icone_edition_site')."</a></li>";
-		echo "<li><a href='" . generer_url_ecrire("forum"). "'>"._T('titre_forum')."</a></li>";
-		echo "<li><a href='" . generer_url_ecrire("auteurs") . "'>"._T('icone_auteurs')."</a></li>";
-		echo "<li><a href=\"".url_de_base()."\">"._T('icone_visiter_site')."</a></li>";
-		echo "</ul>";
-
-		return;
-	}
-
-	// Lien oo
-	echo "<div class='invisible_au_chargement' style='position: absolute; height: 0px; visibility: hidden;'><a href='oo'>"._T("access_mode_texte")."</a></div>";
-	
-	echo "<div id='haut-page'>";
-	echo "<div class='bandeau-principal' align='center'>\n";
-	echo bandeau_principal($rubrique, $sous_rubrique, $largeur);
-
-	echo "<table width='$largeur' cellpadding='0' cellspacing='0' align='center'><tr><td>";
-	echo "<div style='text-align: $spip_lang_left; width: ".$largeur."px; position: relative; z-index: 2000;'>";
-
-	// Icones secondaires
-
-	global $browser_name;
-	$coeff_decalage = 0;
-	if ($browser_name=="MSIE")
-		$coeff_decalage = 1.0;
-	$decal=0;
-	$largitem_moy = 85;
-	$largeur_maxi_menu = $largeur-100;
-
-	foreach($GLOBALS['boutons_admin'] as $page => $detail) {
-		if (($rubrique == $page) AND ($_COOKIE['spip_accepte_ajax']==-1)) {
-			$class = "visible_au_chargement";
-		} else {
-			$class = "invisible_au_chargement";
-		}
-
-		$sousmenu= $detail->sousmenu;
-		if($sousmenu) {
-			$offset = (int)round($decal-$coeff_decalage*max(0,($decal+count($sousmenu)*$largitem_moy-$largeur_maxi_menu)));
-			if ($offset<0){	$offset = 0; }
-			echo "<div class='$class' id='bandeau$page' style='position: absolute; $spip_lang_left: ".$offset."px;'><div class='bandeau_sec'><table class='gauche'><tr>\n";
-			$width=0;
-			foreach($sousmenu as $souspage => $sousdetail) {
-				if ($width+1.25*$largitem_moy>$largeur_maxi_menu){echo "</tr><tr>\n";$width=0;}
-				if($souspage=='espacement') {
-					if ($width>0){
-						echo "<td class='separateur'></td>\n";
-						$largitem = 0;
-					}
-				} else {
-					$largitem = icone_bandeau_secondaire (_T($sousdetail->libelle), generer_url_ecrire($sousdetail->url?$sousdetail->url:$souspage, $sousdetail->urlArg), $sousdetail->icone, $souspage, $sous_rubrique);
-				}
-				$width+=$largitem+10;
-			}
-			echo "</tr></table></div></div>";
-		}
-		
-		$decal += largeur_icone_bandeau_principal(_T($detail->libelle));
-	}
-
-	echo "</div>";
-	
-	echo "</td></tr></table>";
-	
-	echo "</div>\n"; // referme: <div class='bandeau-principal' align='center'>"
-
-	//
-	// Bandeau colore
-	//
-
-if (true /*$bandeau_colore*/) {
-	if ($rubrique == "administration") {
-		$style = "background: url(" . _DIR_IMG_PACK . "rayures-danger.png); background-color: $couleur_foncee";
-		echo "<style>a.icone26 { color: white; }</style>";
-	}
-	else {
-		$style = "background-color: $couleur_claire";
-	}
-
-	echo "\n<div style=\"max-height: 40px; width: 100%; border-bottom: solid 1px white;$style\">";
-	echo "<table align='center' cellpadding='0' style='background: none;' width='$largeur'><tr>";
-
-	echo "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
-
-	echo "<a href='" . generer_url_ecrire("articles_tous") . "' class='icone26' onmouseover=\"changestyle('bandeautoutsite','visibility','visible');\">",
-		  http_img_pack("tout-site.png", "", "width='26' height='20'") . "</a>";
-		if ($id_rubrique > 0) echo "<a href='" . generer_url_ecrire("brouteur","id_rubrique=$id_rubrique") . "' class='icone26' onmouseover=\"changestyle('bandeaunavrapide','visibility','visible');\">" .
-		  http_img_pack("naviguer-site.png", "", "width='26' height='20'") ."</a>";
-		else echo "<a href='" . generer_url_ecrire("brouteur") . "' class='icone26' onmouseover=\"changestyle('bandeaunavrapide','visibility','visible');\" >" .
-		  http_img_pack("naviguer-site.png", "", "width='26' height='20'") . "</a>";
-
-		echo "<a href='" . generer_url_ecrire("recherche") . "' class='icone26' onmouseover=\"changestyle('bandeaurecherche','visibility','visible'); findObj('form_recherche').focus();\" >" .
-		  http_img_pack("loupe.png", "", "width='26' height='20'") ."</a>";
-
-		echo http_img_pack("rien.gif", " ", "width='10'");
-
-		echo "<a href='" . generer_url_ecrire("calendrier","type=semaine") . "' class='icone26' onmouseover=\"changestyle('bandeauagenda','visibility','visible');\">" .
-		  http_img_pack("cal-rv.png", "", "width='26' height='20'") ."</a>";
-		echo "<a href='" . generer_url_ecrire("messagerie") . "' class='icone26' onmouseover=\"changestyle('bandeaumessagerie','visibility','visible');\">" .
-		  http_img_pack("cal-messagerie.png", "", "width='26' height='20'") ."</a>";
-		echo "<a href='" . generer_url_ecrire("synchro") . "' class='icone26' onmouseover=\"changestyle('bandeausynchro','visibility','visible');\">" .
-		  http_img_pack("cal-suivi.png", "", "width='26' height='20'") . "</a>";
-		
-
-		if (!($connect_toutes_rubriques)) {
-			echo http_img_pack("rien.gif", " ", "width='10'");
-			echo "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur&initial=-1") . "' class='icone26' onmouseover=\"changestyle('bandeauinfoperso','visibility','visible');\">" .
-			  http_img_pack("fiche-perso.png", "", "onmouseover=\"changestyle('bandeauvide','visibility', 'visible');\"");
-			echo "</a>";
-		}
-		
-	echo "</td>";
-	echo "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
-		// overflow pour masquer les noms tres longs (et eviter debords, notamment en ecran etroit)
-		if ($spip_ecran == "large") $largeur_nom = 300;
-		else $largeur_nom= 110;
-		echo "<div style='width: ".$largeur_nom."px; height: 14px; overflow: hidden;'>";
-		// Redacteur connecte
-		echo typo($GLOBALS['auteur_session']['nom']);
-		echo "</div>";
-	
-	echo "</td>";
-
-	echo "<td> &nbsp; </td>";
-
-
-	echo "<td class='bandeau_couleur' style='text-align: $spip_lang_right;' valign='middle'>";
-
-			// Choix display
-		//	echo"<img src=_DIR_IMG_PACK . 'rien.gif' width='10' />";
-			if ($options != "avancees") {
-				$lien = parametre_url(self(), 'set_options', 'avancees');
-				$icone = "interface-display-comp.png";
-			} else {
-				$lien = parametre_url(self(), 'set_options', 'basiques');
-				$icone = "interface-display.png";
-			}
-			echo "<a href='$lien' class='icone26' onmouseover=\"changestyle('bandeaudisplay','visibility', 'visible');\">" .
-			  http_img_pack("$icone", "", "width='26' height='20'")."</a>";
-
-			echo http_img_pack("rien.gif", " ", "width='10' height='1'");
-			echo http_img_pack("choix-layout$spip_lang_rtl".($spip_lang=='he'?'_he':'').".gif", "abc", "class='format_png' style='vertical-align: middle' width='59' height='15' usemap='#map_layout'");
-
-
-			echo http_img_pack("rien.gif", " ", "width='10' height='1'");
-			// grand ecran
-			if ($spip_ecran == "large") {
-				$i = _T('info_petit_ecran');
-				echo "<a href='". parametre_url(self(),'set_ecran', 'etroit') ."' class='icone26' onmouseover=\"changestyle('bandeauecran','visibility', 'visible');\" title=\"$i\">" .
-				  http_img_pack("set-ecran-etroit.png", $i, "width='26' height='20'") . "</a>";
-				$ecran = "<div><a href='".parametre_url(self(),'set_ecran', 'etroit')."' class='lien_sous'>"._T('info_petit_ecran')."</a>/<b>"._T('info_grand_ecran')."</b></div>";
-			}
-			else {
-				$i = _T('info_grand_ecran');
-				echo "<a href='".parametre_url(self(),'set_ecran', 'large')."' class='icone26' onmouseover=\"changestyle('bandeauecran','visibility', 'visible');\" title=\"$i\">" .
-				  http_img_pack("set-ecran.png", $i, "width='26' height='20'") ."</a>";
-				$ecran = "<div><b>"._T('info_petit_ecran')."</b>/<a href='".parametre_url(self(),'set_ecran', 'large')."' class='lien_sous'>"._T('info_grand_ecran')."</a></div>";
-			}
-
-		echo "</td>";
-		
-		echo "<td class='bandeau_couleur' style='width: 60px; text-align:$spip_lang_left;' valign='middle'>";
-		choix_couleur();
-		
-		echo "</td>";
-	//
-	// choix de la langue
-	//
-	if ($GLOBALS['all_langs']) {
-		echo "<td class='bandeau_couleur' style='width: 100px; text-align: $spip_lang_right;' valign='middle'>";
-		echo menu_langues('var_lang_ecrire');
-		echo "</td>";
-	}
-
-		echo "<td class='bandeau_couleur' style='text-align: $spip_lang_right; width: 28px;' valign='middle'>";
-
-		if ($auth_can_disconnect) {
-			echo "<a href='",
-			  generer_url_action("logout","logout=prive"),
-			  "' class='icone26' onmouseover=\"changestyle('bandeaudeconnecter','visibility', 'visible');\">",
-			  http_img_pack("deconnecter-24.gif", "", ""),
-			  "</a>";
-			}
-		echo "</td>";
-	
-	
-	echo "</tr></table>";
-
-} // fin bandeau colore
-
-	// <div> pour la barre des gadgets
-	// (elements invisibles qui s'ouvrent sous la barre precedente)
-
-	echo bandeau_gadgets($largeur, $options, $id_rubrique);
-	echo "</div>";
-	echo "</div>";
-
-	if ($options != "avancees") echo "<div style='height: 18px;'>&nbsp;</div>";
-}
-
-
-// http://doc.spip.org/@avertissement_messagerie
-function avertissement_messagerie() {
-	global $couleur_foncee;
-	global $connect_id_auteur;
-
-	$result_messages = spip_query("SELECT lien.id_message FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE lien.id_auteur=$connect_id_auteur AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
-	$total_messages = @spip_num_rows($result_messages);
-	if ($total_messages == 1) {
-		$row = @spip_fetch_array($result_messages);
-		$ze_message=$row['id_message'];
-		return "<div class='messages'><a href='" . generer_url_ecrire("message","id_message=$ze_message") . "'><font color='$couleur_foncee'>"._T('info_nouveau_message')."</font></a></div>";
-	} elseif ($total_messages > 1)
-		return "<div class='messages'><a href='" . generer_url_ecrire("messagerie") . "'><font color='$couleur_foncee'>"._T('info_nouveaux_messages', array('total_messages' => $total_messages))."</font></a></div>";
-	else return '';
-}
-
-
-// http://doc.spip.org/@auteurs_recemment_connectes
-function auteurs_recemment_connectes()
-{	
-	global $connect_id_auteur;
-	$res = '';
-	$result_auteurs = spip_query("SELECT id_auteur FROM spip_auteurs WHERE id_auteur!=$connect_id_auteur AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 MINUTE) AND statut IN ('0minirezo','1comite')");
-
-	if (spip_num_rows($result_auteurs)) {
-		$formater_auteur = charger_fonction('formater_auteur', 'inc');
-		$res = "<b>"._T('info_en_ligne'). "&nbsp;</b>";
-		while ($row = spip_fetch_array($result_auteurs)) {
-			list($s, $mail, $nom, $w, $p) = $formater_auteur($row['id_auteur']);
-			$res .= "$mail&nbsp;$nom, ";
-		}
-		$res = substr($res,0,-2);
-	}
-
-	return "<div class='messages' style='color: #666666;'>$res</div>";
-}
 
 
 // http://doc.spip.org/@gros_titre
diff --git a/ecrire/inc/vieilles_defs.php b/ecrire/inc/vieilles_defs.php
index 43910acd26..9a5ee70766 100644
--- a/ecrire/inc/vieilles_defs.php
+++ b/ecrire/inc/vieilles_defs.php
@@ -143,4 +143,10 @@ function bandeau_titre_boite($titre, $afficher_auteurs, $boite_importante = true
 	echo "</td>";
 	echo "</tr>";
 }
+
+function debut_page($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "", $id_rubrique = "") {
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page($titre, $rubrique, $sous_rubrique, $onLoad, $id_rubrique);
+}
+
 ?>
\ No newline at end of file
-- 
GitLab