From 8b3ae3336fd86c160598f775735bad9808154778 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 25 Nov 2007 21:16:43 +0000
Subject: [PATCH] renommage de tous les auteur_session en visiteur_session ; la
 variable auteur_session n'est de nouveau activee que dans le cas ou la visite
 est authentifiee (ainsi on rebouche les eventuels trous de securite crees par
 les changements precedents) ; a noter, cette variable auteur_session est
 declaree obsolete (mais sera maintenue)

---
 ecrire/action/activer_plugins.php         |  2 +-
 ecrire/action/converser.php               |  6 ++---
 ecrire/action/cookie.php                  |  2 +-
 ecrire/action/editer_article.php          |  6 ++---
 ecrire/action/editer_auteur.php           | 20 ++++++++--------
 ecrire/action/editer_breve.php            |  2 +-
 ecrire/action/editer_message.php          |  4 ++--
 ecrire/action/editer_rubrique.php         |  2 +-
 ecrire/action/editer_site.php             |  2 +-
 ecrire/action/export_all.php              |  2 +-
 ecrire/action/instituer_collaboration.php |  4 ++--
 ecrire/action/logout.php                  | 10 ++++----
 ecrire/action/poster_forum_prive.php      |  6 ++---
 ecrire/balise/formulaire_forum.php        |  6 ++---
 ecrire/balise/login_public.php            |  4 ++--
 ecrire/balise/url_logout.php              |  2 +-
 ecrire/exec/accueil.php                   |  2 +-
 ecrire/exec/articles_edit.php             |  2 +-
 ecrire/exec/articles_tous.php             |  2 +-
 ecrire/exec/auteur_infos.php              |  2 +-
 ecrire/exec/export_all.php                |  2 +-
 ecrire/exec/statistiques_svg.php          |  2 +-
 ecrire/exec/suivi_revisions.php           |  4 ++--
 ecrire/exec/synchro.php                   |  2 +-
 ecrire/inc/actions.php                    |  8 +++----
 ecrire/inc/admin.php                      |  8 +++----
 ecrire/inc/agenda.php                     |  2 +-
 ecrire/inc/ajouter_documents.php          |  2 +-
 ecrire/inc/article_select.php             |  2 +-
 ecrire/inc/auteur_infos.php               |  2 +-
 ecrire/inc/auth.php                       | 26 ++++++++++-----------
 ecrire/inc/autoriser.php                  | 10 ++++----
 ecrire/inc/commencer_page.php             |  2 +-
 ecrire/inc/drapeau_edition.php            |  2 +-
 ecrire/inc/editer_mot.php                 |  2 +-
 ecrire/inc/export.php                     |  4 ++--
 ecrire/inc/forum_insert.php               | 10 ++++----
 ecrire/inc/lang.php                       |  4 ++--
 ecrire/inc/minipres.php                   |  2 +-
 ecrire/inc/modifier.php                   |  4 ++--
 ecrire/inc/notifications.php              |  4 ++--
 ecrire/inc/presentation.php               |  6 ++---
 ecrire/inc/revisions.php                  |  2 +-
 ecrire/inc/securiser_action.php           | 10 ++++----
 ecrire/inc/session.php                    | 28 ++++++++++++++---------
 ecrire/inc/texte.php                      |  2 +-
 ecrire/inc/utils.php                      | 16 ++++++-------
 ecrire/inc_version.php                    |  4 ++--
 ecrire/index.php                          | 20 ++++++++--------
 ecrire/public/assembler.php               |  4 ++--
 ecrire/public/balises.php                 |  2 +-
 ecrire/public/debug.php                   |  4 ++--
 52 files changed, 148 insertions(+), 142 deletions(-)

diff --git a/ecrire/action/activer_plugins.php b/ecrire/action/activer_plugins.php
index e6311a6481..6ed8d92153 100644
--- a/ecrire/action/activer_plugins.php
+++ b/ecrire/action/activer_plugins.php
@@ -29,7 +29,7 @@ function enregistre_modif_plugin(){
 			$plugin[]=$test[$choix];
 	}
 
-	spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['auteur_session']['id_auteur'] . ": " . join(',', $plugin));
+	spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['visiteur_session']['id_auteur'] . ": " . join(',', $plugin));
 	ecrire_plugin_actifs($plugin);
 
 	// Chaque fois que l'on valide des plugins, on memorise la liste de ces plugins comme etant "interessants", avec un score initial, qui sera decremente a chaque tour : ainsi un plugin active pourra reter visible a l'ecran, jusqu'a ce qu'il tombe dans l'oubli.
diff --git a/ecrire/action/converser.php b/ecrire/action/converser.php
index 232faa07e8..b96ec3247c 100644
--- a/ecrire/action/converser.php
+++ b/ecrire/action/converser.php
@@ -27,10 +27,10 @@ function action_converser_dist()
 			$securiser_action = charger_fonction('securiser_action', 'inc');
 			$securiser_action();
 
-			sql_updateq("spip_auteurs", array("lang" => $lang), "id_auteur = " . $GLOBALS['auteur_session']['id_auteur']);
-			$GLOBALS['auteur_session']['lang'] = $lang;
+			sql_updateq("spip_auteurs", array("lang" => $lang), "id_auteur = " . $GLOBALS['visiteur_session']['id_auteur']);
+			$GLOBALS['visiteur_session']['lang'] = $lang;
 			$session = charger_fonction('session', 'inc');
-			if ($spip_session = $session($GLOBALS['auteur_session'])) {
+			if ($spip_session = $session($GLOBALS['visiteur_session'])) {
 				spip_setcookie(
 					'spip_session',
 					$spip_session,
diff --git a/ecrire/action/cookie.php b/ecrire/action/cookie.php
index ca105a6384..9aefdb4934 100644
--- a/ecrire/action/cookie.php
+++ b/ecrire/action/cookie.php
@@ -62,7 +62,7 @@ function action_cookie_dist() {
 		$auteur = array();
 
 		// Essayer tour a tour les differentes sources d'authenfication
-		// on s'en souviendra dans auteur_session['auth']
+		// on s'en souviendra dans visiteur_session['auth']
 		$sources_auth = array('spip', 'ldap');
 		while (!$auteur
 		AND list(,$methode) = each($sources_auth)) {
diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index 01a74622aa..9debb04867 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -22,7 +22,7 @@ function action_editer_article_dist() {
 	// mais on verifie qu'on a toutes les données qu'il faut.
 	if (!$id_article = intval($arg)) {
 		$id_parent = _request('id_parent');
-		$id_auteur = $GLOBALS['auteur_session']['id_auteur'];
+		$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
 		if (!($id_parent AND $id_auteur))
 			redirige_par_entete(generer_url_ecrire());
 		if (($id_article = insert_article($id_parent)) > 0)
@@ -80,7 +80,7 @@ function insert_article($id_rubrique) {
 	// ou a defaut celle de la rubrique
 	// Sinon c'est la langue de la rubrique qui est choisie + heritee
 	if ($GLOBALS['meta']['multi_articles'] == 'oui') {
-		lang_select($GLOBALS['auteur_session']['lang']);
+		lang_select($GLOBALS['visiteur_session']['lang']);
 		if (in_array($GLOBALS['spip_lang'],
 		explode(',', $GLOBALS['meta']['langues_multilingue']))) {
 			$lang = $GLOBALS['spip_lang'];
@@ -105,7 +105,7 @@ function insert_article($id_rubrique) {
 
 	// controler si le serveur n'a pas renvoye une erreur
 	if ($id_article > 0) 
-		sql_insertq('spip_auteurs_articles', array('id_auteur' => $GLOBALS['auteur_session']['id_auteur'], 'id_article' => $id_article));;
+		sql_insertq('spip_auteurs_articles', array('id_auteur' => $GLOBALS['visiteur_session']['id_auteur'], 'id_article' => $id_article));;
 
 	return $id_article;
 }
diff --git a/ecrire/action/editer_auteur.php b/ecrire/action/editer_auteur.php
index e52cf43758..2a9428ee4d 100644
--- a/ecrire/action/editer_auteur.php
+++ b/ecrire/action/editer_auteur.php
@@ -31,7 +31,7 @@ function action_editer_auteur_dist() {
 
 // http://doc.spip.org/@action_legender_auteur_post
 function action_legender_auteur_post($r) {
-	global $auteur_session;
+	global $visiteur_session;
 
 	$bio = _request('bio');
 	$email = trim(_request('email'));
@@ -122,7 +122,7 @@ function action_legender_auteur_post($r) {
 		$auteur['low_sec'] = '';
 	}
 
-	if ($modif_login AND ($auteur['id_auteur']<>$auteur_session['id_auteur'])) {
+	if ($modif_login AND ($auteur['id_auteur']<>$visiteur_session['id_auteur'])) {
 		// supprimer les sessions de cet auteur
 		$session = charger_fonction('session', 'inc');
 		$session($auteur['id_auteur']);
@@ -137,7 +137,7 @@ function action_legender_auteur_post($r) {
 		$auteur['email'] = $email;
 	}
 
-	if ($auteur_session['id_auteur'] == $id_auteur) {
+	if ($visiteur_session['id_auteur'] == $id_auteur) {
 		$auteur['imessage'] = $perso_activer_imessage;
 	}
 
@@ -170,7 +170,7 @@ function action_legender_auteur_post($r) {
 			$auteur['id_auteur'] = $id_auteur = sql_insertq("spip_auteurs", array('nom' => 'temp', 'statut' => $statut));
 
 			// recuperer l'eventuel logo charge avant la creation
-			$id_hack = 0 - $GLOBALS['auteur_session']['id_auteur'];
+			$id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
 			$chercher_logo = charger_fonction('chercher_logo', 'inc');
 			if (list($logo) = $chercher_logo($id_hack, 'id_auteur', 'on'))
 				rename($logo, str_replace($id_hack, $id_auteur, $logo));
@@ -219,17 +219,17 @@ function action_legender_auteur_post($r) {
 	ecrire_acces();
 
 	// .. mettre a jour les sessions de cet auteur
-	$sauve = $GLOBALS['auteur_session'];
+	$sauve = $GLOBALS['visiteur_session'];
 	include_spip('inc/session');
 	foreach(preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php') as $session) {
-		$GLOBALS['auteur_session'] = array();
-		include $session; # $GLOBALS['auteur_session'] est alors l'auteur cible
+		$GLOBALS['visiteur_session'] = array();
+		include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible
 		foreach (array('nom', 'login', 'email', 'statut', 'bio', 'pgp', 'nom_site', 'url_site') AS $var)
 			if (isset($auteur[$var]))
-				$GLOBALS['auteur_session'][$var] = $auteur[$var];
-		ecrire_fichier_session($session, $GLOBALS['auteur_session']);
+				$GLOBALS['visiteur_session'][$var] = $auteur[$var];
+		ecrire_fichier_session($session, $GLOBALS['visiteur_session']);
 	}
-	$GLOBALS['auteur_session'] = $sauve;
+	$GLOBALS['visiteur_session'] = $sauve;
 
 	$echec = $echec ? '&echec=' . join('@@@', $echec) : '';
 
diff --git a/ecrire/action/editer_breve.php b/ecrire/action/editer_breve.php
index 4883541c66..12f956bf79 100644
--- a/ecrire/action/editer_breve.php
+++ b/ecrire/action/editer_breve.php
@@ -158,7 +158,7 @@ function revisions_breves ($id_breve, $c=false) {
 	// une alerte sera donnee aux autres redacteurs sur exec=breves_voir
 	if ($GLOBALS['meta']['articles_modif'] != 'non') {
 		include_spip('inc/drapeau_edition');
-		signale_edition ($id_breve, $GLOBALS['auteur_session'], 'breve');
+		signale_edition ($id_breve, $GLOBALS['visiteur_session'], 'breve');
 	}
 
 	//
diff --git a/ecrire/action/editer_message.php b/ecrire/action/editer_message.php
index 0ce61ee12b..1cfe99b1d6 100644
--- a/ecrire/action/editer_message.php
+++ b/ecrire/action/editer_message.php
@@ -82,7 +82,7 @@ function action_editer_message_post_choisir($id_message) {
 	else {
 		include_spip('inc/mots');
 		include_spip('inc/charsets'); // pour tranlitteration
-		$id_auteur = $GLOBALS['auteur_session']['id_auteur'];
+		$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
 		$cherche_auteur= _request('cherche_auteur');
 		$query = sql_select("id_auteur, nom", "spip_auteurs", "messagerie<>'non' AND id_auteur<>'$id_auteur' AND pass<>'' AND login<>''");
 		$table_auteurs = array();
@@ -116,7 +116,7 @@ function action_editer_message_post_envoyer($id_message, $statut) {
 function action_editer_message_post_nouveau($type, $dest='', $rv='')
 {
 
-	$id_auteur = $GLOBALS['auteur_session']['id_auteur'];
+	$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
 
 	$mydate = date("YmdHis", time() - 2 * 24 * 3600);
 	sql_delete("spip_messages", "(statut = 'redac') AND (date_heure < $mydate)");
diff --git a/ecrire/action/editer_rubrique.php b/ecrire/action/editer_rubrique.php
index 413a13c9b2..608741ed23 100644
--- a/ecrire/action/editer_rubrique.php
+++ b/ecrire/action/editer_rubrique.php
@@ -84,7 +84,7 @@ function revisions_rubriques($id_rubrique, $c=false) {
 			AND autoriser('publierdans', 'rubrique', $old_parent)
 			      )) {
 				if ($s['statut'] != 'new') {
-					spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['auteur_session']['id_auteur'] . ' '.  $GLOBALS['auteur_session']['statut']);
+					spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['visiteur_session']['id_auteur'] . ' '.  $GLOBALS['visiteur_session']['statut']);
 				}
 			} elseif (editer_rubrique_breves($id_rubrique, $id_parent, $c)) {
 				$champs['id_parent'] = $id_parent;
diff --git a/ecrire/action/editer_site.php b/ecrire/action/editer_site.php
index b60bfa5448..a7c82db218 100644
--- a/ecrire/action/editer_site.php
+++ b/ecrire/action/editer_site.php
@@ -249,7 +249,7 @@ function revisions_sites ($id_syndic, $c=false) {
 	// une alerte sera donnee aux autres redacteurs sur exec=sites
 	if ($GLOBALS['meta']['articles_modif'] != 'non') {
 		include_spip('inc/drapeau_edition');
-		signale_edition ($id_syndic, $GLOBALS['auteur_session'], 'syndic');
+		signale_edition ($id_syndic, $GLOBALS['visiteur_session'], 'syndic');
 	}
 
 
diff --git a/ecrire/action/export_all.php b/ecrire/action/export_all.php
index 7b83700476..6a37637d67 100644
--- a/ecrire/action/export_all.php
+++ b/ecrire/action/export_all.php
@@ -22,7 +22,7 @@ function action_export_all_dist()
 	$arg = $securiser_action();
 
 	@list($quoi, $gz, $archive, $rub) = split(',', $arg);
-	$meta = 'status_dump_'  . $GLOBALS['auteur_session']['id_auteur'];
+	$meta = 'status_dump_'  . $GLOBALS['visiteur_session']['id_auteur'];
 	$file =  export_subdir($rub) . $archive;
 
 	utiliser_langue_visiteur();
diff --git a/ecrire/action/instituer_collaboration.php b/ecrire/action/instituer_collaboration.php
index 828d6eafa5..c391710b5d 100644
--- a/ecrire/action/instituer_collaboration.php
+++ b/ecrire/action/instituer_collaboration.php
@@ -21,9 +21,9 @@ function action_instituer_collaboration_dist() {
 	if ($arg) {
 		include_spip('inc/drapeau_edition');
 		if ($arg == 'tous')
-			debloquer_tous($GLOBALS['auteur_session']['id_auteur']);
+			debloquer_tous($GLOBALS['visiteur_session']['id_auteur']);
 		else
-			debloquer_edition($GLOBALS['auteur_session']['id_auteur'], $arg, 'article');
+			debloquer_edition($GLOBALS['visiteur_session']['id_auteur'], $arg, 'article');
 	}
 }
 ?>
diff --git a/ecrire/action/logout.php b/ecrire/action/logout.php
index 5d8407f3ee..be20f56dc8 100644
--- a/ecrire/action/logout.php
+++ b/ecrire/action/logout.php
@@ -17,23 +17,23 @@ include_spip('inc/cookie');
 // http://doc.spip.org/@action_logout_dist
 function action_logout_dist()
 {
-	global $auteur_session, $ignore_auth_http;
+	global $visiteur_session, $ignore_auth_http;
 	$logout =_request('logout');
 	$url = _request('url');
-	spip_log("logout $logout $url" . $auteur_session['id_auteur']);
+	spip_log("logout $logout $url" . $visiteur_session['id_auteur']);
 	// cas particulier, logout dans l'espace public
 	if ($logout == 'public' AND !$url)
 		$url = url_de_base();
 
 	// seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
-	if (is_numeric($auteur_session['id_auteur'])) {
+	if (is_numeric($visiteur_session['id_auteur'])) {
 		sql_updateq('spip_auteurs', 
 			   array('en_ligne' => 'DATE_SUB(NOW(),INTERVAL 15 MINUTE)'),
-			"id_auteur=" . $auteur_session['id_auteur']);
+			"id_auteur=" . $visiteur_session['id_auteur']);
 	// le logout explicite vaut destruction de toutes les sessions
 		if (isset($_COOKIE['spip_session'])) {
 			$session = charger_fonction('session', 'inc');
-			$session($auteur_session['id_auteur']);
+			$session($visiteur_session['id_auteur']);
 			spip_setcookie('spip_session', $_COOKIE['spip_session'], time()-3600);
 		}
 		if (isset($_SERVER['PHP_AUTH_USER']) AND !$ignore_auth_http) {
diff --git a/ecrire/action/poster_forum_prive.php b/ecrire/action/poster_forum_prive.php
index d7547e106e..c71b107509 100644
--- a/ecrire/action/poster_forum_prive.php
+++ b/ecrire/action/poster_forum_prive.php
@@ -44,9 +44,9 @@ function action_poster_forum_prive_post($r)
 			'nom_site' => _request('nom_site'),
 			'url_site' => _request('url_site'),
 			'statut' => $statut,
-			'id_auteur' =>$GLOBALS['auteur_session']['id_auteur'],
-			'auteur' => $GLOBALS['auteur_session']['nom'],
-			'email_auteur' => $GLOBALS['auteur_session']['email'],
+			'id_auteur' =>$GLOBALS['visiteur_session']['id_auteur'],
+			'auteur' => $GLOBALS['visiteur_session']['nom'],
+			'email_auteur' => $GLOBALS['visiteur_session']['email'],
 			'id_parent' => $id_parent));
 
 		calculer_threads();
diff --git a/ecrire/balise/formulaire_forum.php b/ecrire/balise/formulaire_forum.php
index 10e02e9470..0e4b5966a7 100644
--- a/ecrire/balise/formulaire_forum.php
+++ b/ecrire/balise/formulaire_forum.php
@@ -124,7 +124,7 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
 
 	// verifier l'identite des posteurs pour les forums sur abo
 	if ($type == "abo") {
-		if (!$GLOBALS["auteur_session"]['statut']) {
+		if (!$GLOBALS["visiteur_session"]['statut']) {
 			return array('formulaires/login_forum_abo',
 				3600,
 				array(
@@ -137,8 +137,8 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
 	}
 
 	// Indiquer le nom du visiteur
-	$auteur = $GLOBALS['auteur_session']['nom'];
-	$email_auteur = $GLOBALS['auteur_session']['email'];
+	$auteur = $GLOBALS['visiteur_session']['nom'];
+	$email_auteur = $GLOBALS['visiteur_session']['email'];
 
 	// Tableau des valeurs servant au calcul d'une signature de securite.
 	// Elles seront placees en Input Hidden pour que inc/forum_insert
diff --git a/ecrire/balise/login_public.php b/ecrire/balise/login_public.php
index 0e92c23f15..e5e049f2a4 100644
--- a/ecrire/balise/login_public.php
+++ b/ecrire/balise/login_public.php
@@ -43,7 +43,7 @@ function balise_LOGIN_PUBLIC_dyn($url, $login) {
 
 // http://doc.spip.org/@login_explicite
 function login_explicite($login, $cible) {
-	global $auteur_session;
+	global $visiteur_session;
 
 	$action = parametre_url(self(), '', '', '&');
 	if ($cible) {
@@ -63,7 +63,7 @@ function login_explicite($login, $cible) {
 		include_spip('inc/autoriser');
 		$loge = autoriser('ecrire');
 	} else {
-		$loge = ($auteur_session['auth'] != '');
+		$loge = ($visiteur_session['auth'] != '');
 	}
 
 	if ($loge) {
diff --git a/ecrire/balise/url_logout.php b/ecrire/balise/url_logout.php
index 5ce9b51266..77b296525d 100644
--- a/ecrire/balise/url_logout.php
+++ b/ecrire/balise/url_logout.php
@@ -25,7 +25,7 @@ function balise_URL_LOGOUT_stat ($args, $filtres) {
 // http://doc.spip.org/@balise_URL_LOGOUT_dyn
 function balise_URL_LOGOUT_dyn($cible) {
 
-	if (!$GLOBALS['auteur_session']['login']) return '';
+	if (!$GLOBALS['visiteur_session']['login']) return '';
 
 	return generer_url_action('logout',"logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
 }
diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php
index 5edf8ead23..dc06764769 100644
--- a/ecrire/exec/accueil.php
+++ b/ecrire/exec/accueil.php
@@ -264,7 +264,7 @@ function personnel_accueil($coockcookie)
 		$res .= $t;
 	}
 	$titre_cadre = afficher_plus(generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur"));
-	$titre_cadre .= majuscules(typo($GLOBALS['auteur_session']['nom']));
+	$titre_cadre .= majuscules(typo($GLOBALS['visiteur_session']['nom']));
 	
 	return debut_cadre_relief("fiche-perso-24.gif",true, '',$titre_cadre)
 	. $res
diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php
index 2d3f54fd26..d5c5ed0868 100644
--- a/ecrire/exec/articles_edit.php
+++ b/ecrire/exec/articles_edit.php
@@ -79,7 +79,7 @@ function articles_edit($id_article, $id_rubrique, $lier_trad, $id_version, $new,
 		# le moment venu, c'est-a-dire lors de la creation de l'article
 		# dans editer_article.
 		echo afficher_documents_colonne(
-			0-$GLOBALS['auteur_session']['id_auteur'], 'article');
+			0-$GLOBALS['visiteur_session']['id_auteur'], 'article');
 	}
 
 	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
diff --git a/ecrire/exec/articles_tous.php b/ecrire/exec/articles_tous.php
index 17354796bf..f1100e84e6 100644
--- a/ecrire/exec/articles_tous.php
+++ b/ecrire/exec/articles_tous.php
@@ -125,7 +125,7 @@ function texte_articles_tous(&$sel_lang, $flag_trad, $aff_art,$spip_lang_dir){
 	if (autoriser('publierdans', 'rubrique', 0))
 		$result = sql_select("id_article, titre, statut, id_rubrique, lang, id_trad, date_modif", "spip_articles", "", "", "date DESC");
 	else 
-		$result = sql_select("articles.id_article, articles.titre, articles.statut, articles.id_rubrique, articles.lang, articles.id_trad, articles.date_modif", "spip_articles AS articles LEFT JOIN spip_auteurs_articles AS lien ON articles.id_article=lien.id_article", "articles.statut = 'publie' OR articles.statut =	'prop' OR (articles.statut = 'prepa'  AND lien.id_auteur=" . sql_quote($GLOBALS['auteur_session']['id_auteur']) . ")", "id_article", "articles.date DESC");
+		$result = sql_select("articles.id_article, articles.titre, articles.statut, articles.id_rubrique, articles.lang, articles.id_trad, articles.date_modif", "spip_articles AS articles LEFT JOIN spip_auteurs_articles AS lien ON articles.id_article=lien.id_article", "articles.statut = 'publie' OR articles.statut =	'prop' OR (articles.statut = 'prepa'  AND lien.id_auteur=" . sql_quote($GLOBALS['visiteur_session']['id_auteur']) . ")", "id_article", "articles.date DESC");
 
 	while($row = sql_fetch($result)) {
 		$id_rubrique=$row['id_rubrique'];
diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php
index a62f325124..e91b46a81f 100644
--- a/ecrire/exec/auteur_infos.php
+++ b/ecrire/exec/auteur_infos.php
@@ -96,7 +96,7 @@ function auteur_infos_ok($auteur, $id_auteur, $echec, $new, $redirect)
 		// nouvel auteur : le hack classique
 		else if ($fiche)
 			echo $iconifier('id_auteur',
-			0 - $GLOBALS['auteur_session']['id_auteur'],
+			0 - $GLOBALS['visiteur_session']['id_auteur'],
 			'auteur_infos');
 
 		echo creer_colonne_droite('', true);
diff --git a/ecrire/exec/export_all.php b/ecrire/exec/export_all.php
index a632e433c7..605f8a63cb 100644
--- a/ecrire/exec/export_all.php
+++ b/ecrire/exec/export_all.php
@@ -17,7 +17,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 function exec_export_all_dist()
 {
 	$rub = intval(_request('id_parent'));
-	$meta = 'status_dump_'  . $GLOBALS['auteur_session']['id_auteur'];
+	$meta = 'status_dump_'  . $GLOBALS['visiteur_session']['id_auteur'];
 
 	if (isset($GLOBALS['meta'][$meta]))
 		exec_export_all_args($rub, $meta);
diff --git a/ecrire/exec/statistiques_svg.php b/ecrire/exec/statistiques_svg.php
index f74d55e53a..04218a352d 100644
--- a/ecrire/exec/statistiques_svg.php
+++ b/ecrire/exec/statistiques_svg.php
@@ -53,7 +53,7 @@ function exec_statistiques_svg_ok($id_article,  $aff_jours, $visites_today, $exp
 	$couleurs = charger_fonction('couleurs', 'inc');
 	$paramcss = 'ltr='
 	. $GLOBALS['spip_lang_left'] . '&'
-	. $couleurs($GLOBALS['auteur_session']['prefs']['couleur']);
+	. $couleurs($GLOBALS['visiteur_session']['prefs']['couleur']);
 
 	echo "<"."?xml version=\"1.0\" standalone=\"no\"?>\n";
 	echo '<', '?xml-stylesheet type="text/css" href="', generer_url_public('style_svg', $paramcss, true), '" ?', ">\n";
diff --git a/ecrire/exec/suivi_revisions.php b/ecrire/exec/suivi_revisions.php
index 68f58fbe83..3d74eaecb7 100644
--- a/ecrire/exec/suivi_revisions.php
+++ b/ecrire/exec/suivi_revisions.php
@@ -23,8 +23,8 @@ function exec_suivi_revisions_dist()
 	$id_auteur = intval(_request('id_auteur'));
 	$id_secteur = intval(_request('id_secteur'));
 
-	$nom_auteur = $GLOBALS['auteur_session']['nom'];
-	$connecte = $GLOBALS['auteur_session']['id_auteur'];
+	$nom_auteur = $GLOBALS['visiteur_session']['nom'];
+	$connecte = $GLOBALS['visiteur_session']['id_auteur'];
 	if ($id_auteur == $connecte) $id_auteur = false;
 
 	$commencer_page = charger_fonction('commencer_page', 'inc');
diff --git a/ecrire/exec/synchro.php b/ecrire/exec/synchro.php
index 0ee1a700b6..e1c81480f8 100644
--- a/ecrire/exec/synchro.php
+++ b/ecrire/exec/synchro.php
@@ -88,7 +88,7 @@ function exec_synchro_dist()
 	echo _T('calendrier_synchro');
 	echo '<p>'._T('ical_info_calendrier').'</p>';
 
-	$id_auteur = $GLOBALS['auteur_session']['id_auteur'];
+	$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
 
 	afficher_liens_calendrier(generer_url_public('ical'),'', _T('ical_texte_public'));
 
diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php
index 02e1631462..de9cea921c 100644
--- a/ecrire/inc/actions.php
+++ b/ecrire/inc/actions.php
@@ -251,10 +251,10 @@ function determine_upload($type='') {
 		$repertoire = sous_repertoire(_DIR_TMP, $repertoire);
 	}
 
-	if (!$GLOBALS['auteur_session']['restreint'])
+	if (!$GLOBALS['visiteur_session']['restreint'])
 		return $repertoire;
 	else
-		return sous_repertoire($repertoire, $GLOBALS['auteur_session']['login']);
+		return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']);
 }
 
 //
@@ -284,8 +284,8 @@ function verifier_php_auth() {
 	if (@$_SERVER['PHP_AUTH_USER'] && $_SERVER['PHP_AUTH_PW']
 	&& !@$GLOBALS['ignore_auth_http']) {
 		if ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) {
-		  $GLOBALS['auteur_session'] = $r;
-		  return $GLOBALS['auteur_session']['statut'];
+		  $GLOBALS['visiteur_session'] = $r;
+		  return $GLOBALS['visiteur_session']['statut'];
 		} 
 	}
 	return false;
diff --git a/ecrire/inc/admin.php b/ecrire/inc/admin.php
index 2108442955..9efaa4648e 100644
--- a/ecrire/inc/admin.php
+++ b/ecrire/inc/admin.php
@@ -58,7 +58,7 @@ function inc_admin_dist($script, $titre, $comment='', $anonymous=false)
 function admin_verifie_session($script) {
 
 	include_spip('base/abstract_sql');
-	$pref = sprintf("_%d_",$GLOBALS['auteur_session']['id_auteur']);
+	$pref = sprintf("_%d_",$GLOBALS['visiteur_session']['id_auteur']);
 	$signal = fichier_admin($script, "$script$pref");
 	$valeur = sql_getfetsel('valeur', 'spip_meta', "nom='admin'");
 	if ($valeur === NULL) {
@@ -66,7 +66,7 @@ function admin_verifie_session($script) {
 	} else {
 		if ($valeur != $signal) {
 			if (intval(substr($valeur, strpos($valeur,'_')+1))<>
-			    $GLOBALS['auteur_session']['id_auteur']) {
+			    $GLOBALS['visiteur_session']['id_auteur']) {
 				include_spip('inc/minipres');
 				return minipres(_T('info_travaux_texte'));
 			}
@@ -82,7 +82,7 @@ function dir_admin()
 	if (autoriser('configurer')) {
 		return _DIR_TMP;
 	} else {
-		return  _DIR_TRANSFERT . $GLOBALS['auteur_session']['login'] . '/';
+		return  _DIR_TRANSFERT . $GLOBALS['visiteur_session']['login'] . '/';
 	}
 }
 
@@ -90,7 +90,7 @@ function dir_admin()
 function fichier_admin($action, $pref='admin_') {
 
 	return $pref . 
-	  substr(md5($action.(time() & ~2047).$GLOBALS['auteur_session']['login']), 0, 10);
+	  substr(md5($action.(time() & ~2047).$GLOBALS['visiteur_session']['login']), 0, 10);
 }
 
 // demande la creation d'un repertoire et sort
diff --git a/ecrire/inc/agenda.php b/ecrire/inc/agenda.php
index e5cf299f3c..3d8d82e210 100644
--- a/ecrire/inc/agenda.php
+++ b/ecrire/inc/agenda.php
@@ -1192,7 +1192,7 @@ function http_calendrier_rv($messages, $type) {
 
 	$total = $date_rv = '';
 	if (!$messages) return $total;
-	$connect_quand = $GLOBALS['auteur_session']['quand'];
+	$connect_quand = $GLOBALS['visiteur_session']['quand'];
 
 	foreach ($messages as $row) {
 		$rv = ($row['location'] == 'oui');
diff --git a/ecrire/inc/ajouter_documents.php b/ecrire/inc/ajouter_documents.php
index 33f124e085..29b6c76c0c 100644
--- a/ecrire/inc/ajouter_documents.php
+++ b/ecrire/inc/ajouter_documents.php
@@ -347,7 +347,7 @@ function traite_svg($file)
 	// Securite si pas admin : virer les scripts et les references externes
 	// sauf si on est en mode javascript 'ok' (1), cf. inc_version
 	if ($GLOBALS['filtrer_javascript'] < 1
-	AND $GLOBALS['auteur_session']['statut'] != '0minirezo') {
+	AND $GLOBALS['visiteur_session']['statut'] != '0minirezo') {
 		include_spip('inc/texte');
 		$new = trim(safehtml($texte));
 		// petit bug safehtml
diff --git a/ecrire/inc/article_select.php b/ecrire/inc/article_select.php
index 6d927418a1..4e9b021d2f 100644
--- a/ecrire/inc/article_select.php
+++ b/ecrire/inc/article_select.php
@@ -33,7 +33,7 @@ function article_select($id_article, $id_rubrique=0, $lier_trad=0, $id_version=0
 // une alerte sera donnee aux autres redacteurs sur exec=articles
 		if ($GLOBALS['meta']['articles_modif'] != 'non') {
 			include_spip('inc/drapeau_edition');
-			signale_edition ($id_article,  $GLOBALS['auteur_session'], 'article');
+			signale_edition ($id_article,  $GLOBALS['visiteur_session'], 'article');
 		}
 		$row = sql_fetsel("*", "spip_articles", "id_article=$id_article");
 	// si une ancienne revision est demandee, la charger
diff --git a/ecrire/inc/auteur_infos.php b/ecrire/inc/auteur_infos.php
index 7f245f73cb..45fc8b2776 100644
--- a/ecrire/inc/auteur_infos.php
+++ b/ecrire/inc/auteur_infos.php
@@ -33,7 +33,7 @@ function inc_auteur_infos_dist($auteur, $new, $echec, $edit, $id_article, $redir
 	if (!autoriser('modifier', 'auteur', $id_auteur))
 		return $infos . $bloc_statut;
 
-	$setconnecte = $GLOBALS['auteur_session']['id_auteur'] == $id_auteur;
+	$setconnecte = $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur;
 
 	// Elaborer le formulaire
 
diff --git a/ecrire/inc/auth.php b/ecrire/inc/auth.php
index fc8eb908a6..dfc9b37d8b 100644
--- a/ecrire/inc/auth.php
+++ b/ecrire/inc/auth.php
@@ -93,8 +93,8 @@ function inc_auth_dist() {
 				if (!$connect_id_auteur) {
 					$_SERVER['PHP_AUTH_PW'] = '';
 					$auth_can_disconnect = true;
-					$GLOBALS['auteur_session'] = $r;
-					$connect_login = $GLOBALS['auteur_session']['login'];
+					$GLOBALS['visiteur_session'] = $r;
+					$connect_login = $GLOBALS['visiteur_session']['login'];
 				} else {
 				  // cas de la session en plus de PHP_AUTH
 				  /*				  if ($connect_id_auteur != $r['id_auteur']){
@@ -139,19 +139,19 @@ function inc_auth_dist() {
 	$connect_login = $row['login'];
 	$connect_statut = acces_statut($connect_id_auteur, $row['statut'], $row['bio']);
 
-	// Le tableau global auteur_session contient toutes les infos pertinentes
-	// et a jour (tandis que $auteur_session peut avoir des valeurs un peu datees
+	// Le tableau global visiteur_session contient toutes les infos pertinentes
+	// et a jour (tandis que $visiteur_session peut avoir des valeurs un peu datees
 	// s'il est pris dans le fichier de session)
 	// Les plus utiles sont aussi dans les variables simples ci-dessus
-	$GLOBALS['auteur_session'] = array_merge($GLOBALS['auteur_session'], $row);
+	$GLOBALS['visiteur_session'] = array_merge($GLOBALS['visiteur_session'], $row);
 	$r = @unserialize($row['prefs']);
-	$GLOBALS['auteur_session']['prefs'] =
+	$GLOBALS['visiteur_session']['prefs'] =
 	  (@isset($r['couleur'])) ? $r : array('couleur' =>1, 'display'=>0);
 	// au cas ou : ne pas memoriser les champs sensibles
-	unset($GLOBALS['auteur_session']['pass']);
-	unset($GLOBALS['auteur_session']['htpass']);
-	unset($GLOBALS['auteur_session']['alea_actuel']);
-	unset($GLOBALS['auteur_session']['alea_futur']);
+	unset($GLOBALS['visiteur_session']['pass']);
+	unset($GLOBALS['visiteur_session']['htpass']);
+	unset($GLOBALS['visiteur_session']['alea_actuel']);
+	unset($GLOBALS['visiteur_session']['alea_futur']);
 
 	// rajouter les sessions meme en mode auth_http
 	// pour permettre les connexions multiples et identifier les visiteurs
@@ -172,7 +172,7 @@ function inc_auth_dist() {
 
 	// Pas autorise a acceder a ecrire ? on renvoie le statut
 	// A noter : le premier appel a autoriser() a le bon gout
-	// d'initialiser $GLOBALS['auteur_session']['restreint'],
+	// d'initialiser $GLOBALS['visiteur_session']['restreint'],
 	// qui ne figure pas dans le fichier de session
 	include_spip('inc/autoriser');
 
@@ -183,8 +183,8 @@ function inc_auth_dist() {
 
 	// Administrateurs
 	if ($connect_statut == '0minirezo') {
-		if (is_array($GLOBALS['auteur_session']['restreint']))
-			$connect_id_rubrique = $GLOBALS['auteur_session']['restreint'];
+		if (is_array($GLOBALS['visiteur_session']['restreint']))
+			$connect_id_rubrique = $GLOBALS['visiteur_session']['restreint'];
 		$connect_toutes_rubriques = !$connect_id_rubrique;
 	} 
 	// Pour les redacteurs, inc_version a fait l'initialisation minimale
diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index 4e461c7a59..4897bc63c7 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -41,7 +41,7 @@ if (!function_exists('autoriser')) {
 
 
 // API pour une fonction generique d'autorisation :
-// $qui est : vide (on prend alors auteur_session)
+// $qui est : vide (on prend alors visiteur_session)
 //            un id_auteur (on regarde dans la base)
 //            un tableau auteur complet, y compris [restreint]
 // $faire est une action ('modifier', 'publier'...)
@@ -55,9 +55,9 @@ if (!function_exists('autoriser')) {
 // http://doc.spip.org/@autoriser_dist
 function autoriser_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL) {
 
-	// Qui ? auteur_session ?
+	// Qui ? visiteur_session ?
 	if ($qui === NULL)
-	  $qui = $GLOBALS['auteur_session'] ? $GLOBALS['auteur_session'] : array('statut' => '', 'id_auteur' =>0);
+	  $qui = $GLOBALS['visiteur_session'] ? $GLOBALS['visiteur_session'] : array('statut' => '', 'id_auteur' =>0);
 	elseif (is_numeric($qui)) {
 		$qui = sql_fetsel("*", "spip_auteurs", "id_auteur=".$qui);
 	}
@@ -565,8 +565,8 @@ function liste_rubriques_auteur($id_auteur, $raz=false) {
 	}
 
 	// Affecter l'auteur session le cas echeant
-	if ($GLOBALS['auteur_session']['id_auteur'] == $id_auteur)
-		$GLOBALS['auteur_session']['restreint'] = $rubriques;
+	if ($GLOBALS['visiteur_session']['id_auteur'] == $id_auteur)
+		$GLOBALS['visiteur_session']['restreint'] = $rubriques;
 			
 
 	return $restreint[$id_auteur] = $rubriques;
diff --git a/ecrire/inc/commencer_page.php b/ecrire/inc/commencer_page.php
index 0aadc6894c..31e4450eba 100644
--- a/ecrire/inc/commencer_page.php
+++ b/ecrire/inc/commencer_page.php
@@ -128,7 +128,7 @@ function init_body($rubrique='accueil', $sous_rubrique='accueil', $id_rubrique='
 		. "' class='icone26' title=\""
 		. entites_html(_T('icone_informations_personnelles'))
 		. '">'
-		. typo($GLOBALS['auteur_session']['nom'])
+		. typo($GLOBALS['visiteur_session']['nom'])
 		. "</a></div></li>"
 		. "<li style='width:20px'><div class='menu-item'> &nbsp; </div></li>"
 		. "<li id='bandeau_couleur3' class='bandeau_couleur'><div class='menu-item'>";
diff --git a/ecrire/inc/drapeau_edition.php b/ecrire/inc/drapeau_edition.php
index ae370b8d8f..9101e4da76 100644
--- a/ecrire/inc/drapeau_edition.php
+++ b/ecrire/inc/drapeau_edition.php
@@ -91,7 +91,7 @@ function qui_edite ($id, $type='article') {
 // http://doc.spip.org/@mention_qui_edite
 function mention_qui_edite ($id, $type='article') {
 	$modif = qui_edite($id, $type);
-	unset($modif[$GLOBALS['auteur_session']['id_auteur']]);
+	unset($modif[$GLOBALS['visiteur_session']['id_auteur']]);
 
 	if ($modif) {
 		$quand = 0;
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index c17308d564..6ee2d3f410 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -402,7 +402,7 @@ function menu_mots($row, $id_groupes_vus, $les_mots)
 // http://doc.spip.org/@editer_mot_droits
 function editer_mot_droits($select, $cond)
 {
-	$droit = substr($GLOBALS['auteur_session']['statut'],1);
+	$droit = substr($GLOBALS['visiteur_session']['statut'],1);
 	return sql_select("$select", "spip_groupes_mots", "$droit = 'oui' AND $cond");
 }
 ?>
diff --git a/ecrire/inc/export.php b/ecrire/inc/export.php
index 4b0ad197a5..c12ff60049 100644
--- a/ecrire/inc/export.php
+++ b/ecrire/inc/export.php
@@ -301,9 +301,9 @@ function export_subdir($rub)
 	include_spip('inc/actions');
 	// determine upload va aussi initialiser l'index "restreint"
 	$dir = determine_upload();
-	if (!$GLOBALS['auteur_session']['restreint'])
+	if (!$GLOBALS['visiteur_session']['restreint'])
 		$dir = _DIR_DUMP;
-	$subdir = 'export_' . $GLOBALS['auteur_session']['id_auteur'] . '_' . intval($rub);
+	$subdir = 'export_' . $GLOBALS['visiteur_session']['id_auteur'] . '_' . intval($rub);
 	return sous_repertoire($dir, $subdir);
 }
 
diff --git a/ecrire/inc/forum_insert.php b/ecrire/inc/forum_insert.php
index 1137a6a548..160617f9da 100644
--- a/ecrire/inc/forum_insert.php
+++ b/ecrire/inc/forum_insert.php
@@ -26,9 +26,9 @@ spip_connect();
 // http://doc.spip.org/@controler_forum_abo
 function controler_forum_abo($retour)
 {
-	global $auteur_session;
-	if ($auteur_session) {
-		$statut = $auteur_session['statut'];
+	global $visiteur_session;
+	if ($visiteur_session) {
+		$statut = $visiteur_session['statut'];
 		if (!$statut OR $statut == '5poubelle') {
 			ask_php_auth(_T('forum_acces_refuse'),
 				     _T('forum_cliquer_retour',
@@ -193,8 +193,8 @@ function inc_forum_insert_dist($force_statut = NULL) {
 	//
 	include_spip('inc/modifier');
 	// Injecter les bonnes valeurs dans le contexte $c
-	set_request('auteur', $GLOBALS['auteur_session']['nom']);
-	set_request('email_auteur', $GLOBALS['auteur_session']['email']);
+	set_request('auteur', $GLOBALS['visiteur_session']['nom']);
+	set_request('email_auteur', $GLOBALS['visiteur_session']['email']);
 	revision_forum($id_message);
 
 	// Notification
diff --git a/ecrire/inc/lang.php b/ecrire/inc/lang.php
index e43bc2d4e7..58c3b63e78 100644
--- a/ecrire/inc/lang.php
+++ b/ecrire/inc/lang.php
@@ -241,8 +241,8 @@ function utiliser_langue_visiteur() {
 	if (isset($_COOKIE[$l]))
 		if (changer_langue($l = $_COOKIE[$l])) return $l;
 
-	if (isset($GLOBALS['auteur_session']['lang']))
-		if (changer_langue($l = $GLOBALS['auteur_session']['lang']))
+	if (isset($GLOBALS['visiteur_session']['lang']))
+		if (changer_langue($l = $GLOBALS['visiteur_session']['lang']))
 			return $l;
 
 	foreach (explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $s)  {
diff --git a/ecrire/inc/minipres.php b/ecrire/inc/minipres.php
index 490a223672..4660b9c7f4 100644
--- a/ecrire/inc/minipres.php
+++ b/ecrire/inc/minipres.php
@@ -75,7 +75,7 @@ function minipres($titre='', $corps="", $onload='')
 		  ?  _T('avis_espace_interdit')
 		  : $titre . '&nbsp;: '. _T('info_acces_interdit');
 		$corps = generer_form_ecrire('accueil', '','',_T('public:accueil_site'));
-		spip_log($GLOBALS['auteur_session']['nom'] . " $titre " . $_SERVER['REQUEST_URI']);
+		spip_log($GLOBALS['visiteur_session']['nom'] . " $titre " . $_SERVER['REQUEST_URI']);
 	}
 
 	return install_debut_html($titre, $onload)
diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index 128ff166da..1809ad30cd 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -69,7 +69,7 @@ function modifier_contenu($type, $id, $options, $c=false) {
 	// marquer le fait que l'objet est travaille par toto a telle date
 	if ($GLOBALS['meta']['articles_modif'] != 'non') {
 		include_spip('inc/drapeau_edition');
-		signale_edition ($id, $GLOBALS['auteur_session'], $type);
+		signale_edition ($id, $GLOBALS['visiteur_session'], $type);
 	}
 
 	// Invalider les caches
@@ -255,7 +255,7 @@ function revision_forum($id_forum, $c=false) {
 	// ainsi que le nouvel id_auteur dans le message modifie ; et on
 	// enregistre le nouveau date_thread
 	if ($r) {
-		sql_updateq('spip_forum', array('ip'=>($GLOBALS['ip']), 'id_auteur'=>($GLOBALS['auteur_session']['id_auteur'])),"id_forum=".sql_quote($id_forum));
+		sql_updateq('spip_forum', array('ip'=>($GLOBALS['ip']), 'id_auteur'=>($GLOBALS['visiteur_session']['id_auteur'])),"id_forum=".sql_quote($id_forum));
 
 		sql_update("spip_forum", array("date_thread" => "NOW()"), "id_thread=".$t['id_thread']);
 	}
diff --git a/ecrire/inc/notifications.php b/ecrire/inc/notifications.php
index ab08614a33..62bded0a1b 100644
--- a/ecrire/inc/notifications.php
+++ b/ecrire/inc/notifications.php
@@ -100,7 +100,7 @@ function notifier_publication_article($id_article) {
 			$sujet = _T('info_publie_1', array('nom_site_spip' => $nom_site_spip, 'titre' => $titre));
 			$courr = _T('info_publie_2')."\n\n";
 
-			$nom = $GLOBALS['auteur_session']['nom'];
+			$nom = $GLOBALS['visiteur_session']['nom'];
 			$nom = trim(supprimer_tags(typo($nom)));
 			$courr .= _T('info_publie_01', array('titre' => $titre, 'connect_nom' => $nom))
 				. "\n\n"
@@ -276,7 +276,7 @@ function notifications_forumvalide_dist($quoi, $id_forum) {
 	foreach ($tous as $m) {
 		if ($m = email_valide($m)
 		AND $m != trim($t['email_auteur'])
-		AND $m != $GLOBALS['auteur_session']['email']
+		AND $m != $GLOBALS['visiteur_session']['email']
 		AND !in_array($m, $pasmoi))
 			$destinataires[$m]++;
 	}
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 51332990e5..6e37a46fdf 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -778,12 +778,12 @@ function forum_logo($statut)
 
 // http://doc.spip.org/@envoi_link
 function envoi_link($nom_site_spip, $minipres=false) {
-	global $auteur_session, $spip_display, $spip_lang;
+	global $visiteur_session, $spip_display, $spip_lang;
 
 	$couleurs = charger_fonction('couleurs', 'inc');
 	$paramcss = 'ltr='
 	. $GLOBALS['spip_lang_left'] . '&'
-	. $couleurs($auteur_session['prefs']['couleur']);
+	. $couleurs($visiteur_session['prefs']['couleur']);
 
 	// CSS de secours en cas de non fonct de la suivante
 	$res = '<link rel="stylesheet" type="text/css" href="'
@@ -1363,7 +1363,7 @@ function meme_rubrique($id_rubrique, $id, $type, $order='date', $limit=NULL, $aj
 	$titre = ($type!='syndic'?'titre':'nom_site');
 	$exec = array('article'=>'articles','breve'=>'breves_voir','syndic'=>'sites');
 
-	$where = (($GLOBALS['auteur_session']['statut'] == '0minirezo')
+	$where = (($GLOBALS['visiteur_session']['statut'] == '0minirezo')
 		  ? ''
 		  :  "(statut = 'publie' OR statut = 'prop') AND ") 
 	. "id_rubrique=$id_rubrique AND ($prim != $id)";
diff --git a/ecrire/inc/revisions.php b/ecrire/inc/revisions.php
index a4e804c262..a63eaa0bbf 100644
--- a/ecrire/inc/revisions.php
+++ b/ecrire/inc/revisions.php
@@ -638,7 +638,7 @@ function enregistrer_nouvelle_revision($x) {
 				$champs[$key] = $x['data'][$key];
 
 		if (count($champs))
-			ajouter_version($x['args']['id_objet'], $champs, '', $GLOBALS['auteur_session']['id_auteur']);
+			ajouter_version($x['args']['id_objet'], $champs, '', $GLOBALS['visiteur_session']['id_auteur']);
 	}
 
 	return $x;
diff --git a/ecrire/inc/securiser_action.php b/ecrire/inc/securiser_action.php
index 1ee2487d73..50d42d4895 100644
--- a/ecrire/inc/securiser_action.php
+++ b/ecrire/inc/securiser_action.php
@@ -55,12 +55,12 @@ function securiser_action_auteur($action, $arg, $redirect="", $mode=false, $att=
 
 // http://doc.spip.org/@caracteriser_auteur
 function caracteriser_auteur() {
-	global $auteur_session;
+	global $visiteur_session;
 	static $caracterisation = array();
 
 	if ($caracterisation) return $caracterisation;
 
-	if (!isset($auteur_session['id_auteur'])) {
+	if (!isset($visiteur_session['id_auteur'])) {
 	// si l'auteur courant n'est pas connu alors qu'il peut demander une action
 	// c'est une connexion par php_auth ou 1 instal, on se rabat sur le cookie.
 	// S'il n'avait pas le droit de realiser cette action, le hash sera faux.
@@ -72,9 +72,9 @@ function caracteriser_auteur() {
 		} else return array('','');
 	}
 	// Eviter l'acces SQL si le pass est connu de PHP
-	$id_auteur = $auteur_session['id_auteur'];
-	if (isset($auteur_session['pass']) AND $auteur_session['pass'])
-		return $caracterisation = array($id_auteur, $auteur_session['pass']); 
+	$id_auteur = $visiteur_session['id_auteur'];
+	if (isset($visiteur_session['pass']) AND $visiteur_session['pass'])
+		return $caracterisation = array($id_auteur, $visiteur_session['pass']); 
 	else if ($id_auteur>0) {
 		$t = sql_select("id_auteur, pass", "spip_auteurs", "id_auteur=$id_auteur");
 		if ($t = sql_fetch($t))
diff --git a/ecrire/inc/session.php b/ecrire/inc/session.php
index 3fe9953e95..5e8f6a53b8 100644
--- a/ecrire/inc/session.php
+++ b/ecrire/inc/session.php
@@ -19,7 +19,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
  *
  */
 
-$GLOBALS['auteur_session'] = ''; # globale decrivant l'auteur
+$GLOBALS['visiteur_session'] = ''; # globale decrivant l'auteur
 $GLOBALS['rejoue_session'] = ''; # globale pour insertion de JS en fin de page
 
 //
@@ -80,7 +80,7 @@ function ecrire_fichier_session($fichier, $auteur) {
 	$texte = "<"."?php\n";
 	foreach (array('id_auteur', 'nom', 'login', 'email', 'statut', 'lang', 'ip_change', 'hash_env', 'bio', 'pgp', 'nom_site', 'url_site', 'en_ligne', 'auth', 'session_nom', 'session_email') AS $var) {
 		if (isset($auteur[$var]))
-			$texte .= '$GLOBALS[\'auteur_session\'][\''.$var.'\'] = '
+			$texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = '
 				. _q($auteur[$var]).";\n";
 	}
 	$texte .= "?".">\n";
@@ -113,7 +113,7 @@ function supprimer_sessions($id_auteur) {
 
 //
 // Verifie si le cookie spip_session indique une session valide.
-// Si oui, la decrit dans le tableau $auteur_session et retourne id_auteur
+// Si oui, la decrit dans le tableau $visiteur_session et retourne id_auteur
 // La rejoue si IP change puis accepte le changement si $change=true
 //
 
@@ -136,31 +136,37 @@ function verifier_session($change=false) {
 		// Renouveler la session avec l'alea courant
 		include($fichier_session);
 		spip_unlink($fichier_session);
-		ajouter_session($GLOBALS['auteur_session']);
+		ajouter_session($GLOBALS['visiteur_session']);
 	}
 
+	// Compatibilite ascendante : auteur_session est visiteur_session si
+	// c'est un auteur SPIP authentifie (tandis qu'un visiteur_session peut
+	// n'etre qu'identifie, sans aucune authentification).
+	if ($GLOBALS['visiteur_session']['auth'])
+		$GLOBALS['auteur_session'] = &$GLOBALS['visiteur_session'];
+
 	// Si l'adresse IP change, inc/presentation mettra une balise image
 	// avec un URL de rappel demandant a changer le nom de la session.
 	// Seul celui qui a l'IP d'origine est rejoue
 	// ainsi un eventuel voleur de cookie ne pourrait pas deconnecter
 	// sa victime, mais se ferait deconnecter par elle.
-	if (hash_env() != $GLOBALS['auteur_session']['hash_env']) {
-		if (!$GLOBALS['auteur_session']['ip_change']) {
+	if (hash_env() != $GLOBALS['visiteur_session']['hash_env']) {
+		if (!$GLOBALS['visiteur_session']['ip_change']) {
 			$GLOBALS['rejoue_session'] = rejouer_session();
-			$GLOBALS['auteur_session']['ip_change'] = true;
-			ajouter_session($GLOBALS['auteur_session']);
+			$GLOBALS['visiteur_session']['ip_change'] = true;
+			ajouter_session($GLOBALS['visiteur_session']);
 		} else if ($change) {
 			spip_log("session non rejouee, vol de cookie ?");
 		}
 	} else if ($change) {
 		spip_log("rejoue session $fichier_session ".$_COOKIE['spip_session']);
 		spip_unlink($fichier_session);
-		$GLOBALS['auteur_session']['ip_change'] = false;
+		$GLOBALS['visiteur_session']['ip_change'] = false;
 		unset($_COOKIE['spip_session']);
-		ajouter_session($GLOBALS['auteur_session']);
+		ajouter_session($GLOBALS['visiteur_session']);
 	}
 
-	return $GLOBALS['auteur_session']['id_auteur'];
+	return $GLOBALS['visiteur_session']['id_auteur'];
 }
 
 // Code a inserer par inc/presentation pour rejouer la session
diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index 4e9476b9db..7f55c1a7b5 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -428,7 +428,7 @@ function echappe_js($t,$class='') {
 }
 // http://doc.spip.org/@protege_js_modeles
 function protege_js_modeles($t) {
-	if (isset($GLOBALS['auteur_session'])){
+	if (isset($GLOBALS['visiteur_session'])){
 		if (!defined('_PROTEGE_JS_MODELES')){
 			include_spip('inc/acces');
 			define('_PROTEGE_JS_MODELES',creer_uniqid());
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 41e52e89bc..67c8cdfe5b 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1174,7 +1174,7 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 				- substr_count($GLOBALS['meta']['adresse_site'],'/'));
 		}
 	}
-	// s'il y a un cookie ou PHP_AUTH, initialiser auteur_session
+	// s'il y a un cookie ou PHP_AUTH, initialiser visiteur_session
 	if (_FILE_CONNECT) verifier_visiteur();
 
 	# nombre de pixels maxi pour calcul de la vignette avec gd
@@ -1225,10 +1225,10 @@ function verifier_visiteur() {
 		include_spip('inc/texte');
 		foreach($variables_session as $var)
 			if (($a = _request('session_'.$var)) !== null)
-				$GLOBALS['auteur_session']['session_'.$var] = safehtml($a);
-		if (!isset($GLOBALS['auteur_session']['id_auteur']))
-			$GLOBALS['auteur_session']['id_auteur'] = 0;
-		ajouter_session($GLOBALS['auteur_session']);
+				$GLOBALS['visiteur_session']['session_'.$var] = safehtml($a);
+		if (!isset($GLOBALS['visiteur_session']['id_auteur']))
+			$GLOBALS['visiteur_session']['id_auteur'] = 0;
+		ajouter_session($GLOBALS['visiteur_session']);
 		return 0;
 	}
 
@@ -1242,7 +1242,7 @@ function verifier_visiteur() {
 
 		$session = charger_fonction('session', 'inc');
 		if ($session()) {
-			return $GLOBALS['auteur_session']['statut'];
+			return $GLOBALS['visiteur_session']['statut'];
 		}
 		include_spip('inc/actions');
 		return verifier_php_auth();
@@ -1286,8 +1286,8 @@ function spip_session($force = false) {
 	static $session;
 	if ($force OR !isset($session)) {
 		$s = pipeline('definir_session',
-			$GLOBALS['auteur_session']
-			? serialize($GLOBALS['auteur_session'])
+			$GLOBALS['visiteur_session']
+			? serialize($GLOBALS['visiteur_session'])
 				. '_' . @$_COOKIE['spip_session']
 			: ''
 		);
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 2dcea9ebe3..4f21a85979 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -304,10 +304,10 @@ $spip_sql_version = 1;
 // (ce qui marche pour yy ne marchera pas forcement sur une version plus ancienne)
 // type nouvelles fonctionnalites, deplacement de fonctions ...
 $spip_version_affichee = '1.9.3 dev';
-$spip_version_code = '1.9300';
+$spip_version_code = '1.9301';
 
 // ** Securite **
-$auteur_session = $connect_statut = $connect_toutes_rubriques =  $hash_recherche = $hash_recherche_strict = $ldap_present ='';
+$visiteur_session = $auteur_session = $connect_statut = $connect_toutes_rubriques =  $hash_recherche = $hash_recherche_strict = $ldap_present ='';
 $meta = $connect_id_rubrique = array();
 
 // *** Fin des globales *** //
diff --git a/ecrire/index.php b/ecrire/index.php
index 07c751bc64..4ce778c9ab 100644
--- a/ecrire/index.php
+++ b/ecrire/index.php
@@ -53,7 +53,7 @@ if (autoriser_sans_cookie($exec)) {
 		if (isset($_GET['bonjour']))
 			$redirect = parametre_url($redirect,
 				'var_erreur',
-				(!isset($GLOBALS['auteur_session']['statut'])
+				(!isset($GLOBALS['visiteur_session']['statut'])
 					? 'cookie'
 					: 'statut'
 				),
@@ -70,23 +70,23 @@ if (autoriser_sans_cookie($exec)) {
 $prefs_mod = false;
 
 if (isset($_GET['set_couleur'])) {
-	$GLOBALS['auteur_session']['prefs']['couleur'] = intval($_GET['set_couleur']);
+	$GLOBALS['visiteur_session']['prefs']['couleur'] = intval($_GET['set_couleur']);
 	$prefs_mod = true;
 }
 if (isset($_GET['set_disp'])) {
-	$GLOBALS['auteur_session']['prefs']['display'] = intval($_GET['set_disp']);
+	$GLOBALS['visiteur_session']['prefs']['display'] = intval($_GET['set_disp']);
 	$prefs_mod = true;
 }
 if ($prefs_mod AND !$var_auth) {
-	sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['auteur_session']['prefs'])), "id_auteur=" .intval($GLOBALS['auteur_session']['id_auteur']));
+	sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['visiteur_session']['prefs'])), "id_auteur=" .intval($GLOBALS['visiteur_session']['id_auteur']));
 
 	// Si modif des couleurs en ajax, stop ici
 	if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') exit;
 }
 
 // compatibilite ascendante
-$GLOBALS['spip_display'] = isset($GLOBALS['auteur_session']['prefs']['display'])
-	? $GLOBALS['auteur_session']['prefs']['display']
+$GLOBALS['spip_display'] = isset($GLOBALS['visiteur_session']['prefs']['display'])
+	? $GLOBALS['visiteur_session']['prefs']['display']
 	: 0;
 
 if (isset($_GET['set_ecran'])) {
@@ -106,13 +106,13 @@ if (isset($_COOKIE['spip_lang_ecrire'])) {
 	if ($var_auth)
 		changer_langue($_COOKIE['spip_lang_ecrire']);
 	// si authentifie, changer definitivement si ce n'est fait
-	elseif (($_COOKIE['spip_lang_ecrire'] <> $GLOBALS['auteur_session']['lang'])
+	elseif (($_COOKIE['spip_lang_ecrire'] <> $GLOBALS['visiteur_session']['lang'])
 		AND changer_langue($_COOKIE['spip_lang_ecrire'])) {
-			sql_updateq('spip_auteurs', array('lang' => $_COOKIE['spip_lang_ecrire']), "id_auteur=" .intval($GLOBALS['auteur_session']['id_auteur']));
+			sql_updateq('spip_auteurs', array('lang' => $_COOKIE['spip_lang_ecrire']), "id_auteur=" .intval($GLOBALS['visiteur_session']['id_auteur']));
 
-			$GLOBALS['auteur_session']['lang'] = $_COOKIE['spip_lang_ecrire'];
+			$GLOBALS['visiteur_session']['lang'] = $_COOKIE['spip_lang_ecrire'];
 			$session = charger_fonction('session', 'inc');
-			$session($GLOBALS['auteur_session']);
+			$session($GLOBALS['visiteur_session']);
 	}
 }
 
diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index ca7d9a0809..a7c561389b 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -47,13 +47,13 @@ function init_var_mode(){
 					else { 
 						$GLOBALS['var_mode'] = $_GET['var_mode'];
 					}
-					spip_log($GLOBALS['auteur_session']['nom']
+					spip_log($GLOBALS['visiteur_session']['nom']
 						. " ".$GLOBALS['var_mode']);
 				}
 				// pas autorise ?
 				else {
 					// si on n'est pas connecte on se redirige
-					if (!$GLOBALS['auteur_session']) {
+					if (!$GLOBALS['visiteur_session']) {
 						include_spip('inc/headers');
 						redirige_par_entete(generer_url_public('login',
 						'url='.rawurlencode(
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index 3cbae51a56..0a31f175b3 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -842,7 +842,7 @@ function balise_SESSION_dist($p) {
 		? 'balise_ENV'
 		: 'balise_ENV_dist';
 
-	$p = $f($p, '$GLOBALS["auteur_session"]');
+	$p = $f($p, '$GLOBALS["visiteur_session"]');
 	return $p;
 }
 
diff --git a/ecrire/public/debug.php b/ecrire/public/debug.php
index 83038b5dd9..2639018838 100644
--- a/ecrire/public/debug.php
+++ b/ecrire/public/debug.php
@@ -530,11 +530,11 @@ function debug_affiche($fonc, $tout, $objet, $affiche)
 // http://doc.spip.org/@debug_debut
 function debug_debut($titre)
 {
-	global $auteur_session;
+	global $visiteur_session;
 	include_spip('inc/headers');
 	include_spip('inc/filtres');
 	http_no_cache();
-	lang_select($auteur_session['lang']);
+	lang_select($visiteur_session['lang']);
 	return _DOCTYPE_ECRIRE .
 	  html_lang_attributes() .
 	  "<head>\n<title>" .
-- 
GitLab