diff --git a/ecrire/balise/formulaire_admin.php b/ecrire/balise/formulaire_admin.php
index da782bcb3b95c64a827c5e04e8705224a696a1d0..c72b5d79b3521e83a004b0a0f5dd5bc8589a926d 100644
--- a/ecrire/balise/formulaire_admin.php
+++ b/ecrire/balise/formulaire_admin.php
@@ -12,6 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;	#securite
 
+include_spip('inc/autoriser');
 
 // http://doc.spip.org/@balise_FORMULAIRE_ADMIN
 function balise_FORMULAIRE_ADMIN ($p) {
@@ -72,15 +73,12 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') {
 		}
 	}
 
-	$statut = isset($GLOBALS['auteur_session']['statut']) ?
-		$GLOBALS['auteur_session']['statut'] : '';
-
 	// Bouton statistiques
 	$visites = $popularite = $statistiques = '';
 	if ($GLOBALS['meta']["activer_statistiques"] != "non" 
 	AND $id_article
 	AND !$var_preview
-	AND $statut == '0minirezo'
+	AND autoriser('voirstats')
 	) {
 		$result = spip_query("SELECT visites, popularite FROM spip_articles WHERE id_article=$id_article AND statut='publie'");
 
@@ -101,7 +99,7 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') {
 				AND $_COOKIE['spip_debug']
 			)
 		) AND (
-			$statut == '0minirezo'
+		       autoriser('debug')
 		) AND (
 			!$var_preview
 		)
diff --git a/ecrire/balise/formulaire_inscription.php b/ecrire/balise/formulaire_inscription.php
index e916e7d7436d631122096da568e84e83b9101c59..c625f783f1a23d641f9cdb9733ce632728e6cc9b 100644
--- a/ecrire/balise/formulaire_inscription.php
+++ b/ecrire/balise/formulaire_inscription.php
@@ -47,10 +47,8 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus, $id=0) {
 	if (!tester_config($id, $mode)) return _T('pass_rien_a_faire_ici');
 	$nom = _request('nom_inscription');
 	$mail = _request('mail_inscription');
-	$commentaire = ($mode=='1comite') ? _T('pass_espace_prive_bla') : _T('pass_forum_bla');
-
+	
 	if ($mail) {
-		include_spip('inc/filtres'); // pour email_valide
 		$commentaire = message_inscription($mail, $nom, $mode, $id);
 		if (is_array($commentaire)) {
 			if (function_exists('envoyer_inscription'))
@@ -59,7 +57,7 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus, $id=0) {
 				$f = 'envoyer_inscription_dist';
 			$commentaire = $f($commentaire, $nom, $mode, $id);
 		}
-	}
+	} else $commentaire = ($mode=='1comite') ? _T('pass_espace_prive_bla') : _T('pass_forum_bla');
 
 	$message = $commentaire ? '' : _T('form_forum_identifiant_mail');
 
diff --git a/ecrire/exec/articles_page.php b/ecrire/exec/articles_page.php
index dd0e464909c1515460a37e55b8d0115331cb1e81..fa3bd161eadb445fc7d923c438ec38eded65d493 100644
--- a/ecrire/exec/articles_page.php
+++ b/ecrire/exec/articles_page.php
@@ -36,7 +36,7 @@ function exec_articles_page_dist()
 	if (spip_num_rows($result) > 0) {
 		echo bloc_des_raccourcis(icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui"), "article-24.gif", "creer.gif", false));
 	} else {
-		if ($connect_statut == '0minirezo') {
+		  if (autoriser('creerrubriquedans', 'rubrique')) {
 			echo _T('texte_creer_rubrique');
 			echo	bloc_des_raccourcis(icone_horizontale (_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav"), "rubrique-24.gif", "creer.gif",false));
 	}
diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php
index 036287fa4b70c9111d0d286c0fa0e1b14f77aa3a..be7d1f78bdaac4d714017db694565ab7b7e16844 100644
--- a/ecrire/exec/auteurs.php
+++ b/ecrire/exec/auteurs.php
@@ -130,8 +130,8 @@ function lettres_d_auteurs($query, $debut, $max_par_page, $tri)
 	$i = 0;
 	while ($auteur = spip_fetch_array($query)) {
 		if ($i>=$debut AND $i<$debut+$max_par_page) {
-			if ($auteur['statut'] == '0minirezo')
-				$auteur['restreint'] = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_rubriques WHERE id_auteur=".$auteur['id_auteur']));
+			list($n) = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_auteurs_rubriques WHERE id_auteur=".$auteur['id_auteur'] . " LIMIT 0,1"), SPIP_NUM);
+			$auteur['restreint'] = $n;
 			$auteurs[] = $auteur;
 		}
 		$i++;
@@ -275,18 +275,20 @@ function requete_auteurs($tri, $statut, $recherche=NULL)
 	// Construire la requete
 	//
 	
-	// si on n'est pas minirezo, ignorer les auteurs sans article publie
+	// si on n'est pas minirezo, ignorer les auteurs sans article
 	// sauf les admins, toujours visibles.
 	// limiter les statuts affiches
 	if ($connect_statut == '0minirezo') {
 		if (!$statut) {
-			$sql_visible = "aut.statut IN ('0minirezo','1comite','5poubelle')";
+			$sql_visible = "en_ligne <> 0";
+			$visit = false;
 		} else {
 			if ($statut[0]=='!') {
 			  $statut = substr($statut,1); $not = " NOT";
 			} else $not = '';
 			$statut = preg_replace('/\W+/',"','",$statut); 
 			$sql_visible = "aut.statut$not IN ('$statut')";
+			$visit = statut_min_redac($statut);
 		}
 	} else {
 		$sql_visible = "(
@@ -294,6 +296,7 @@ function requete_auteurs($tri, $statut, $recherche=NULL)
 			OR art.statut IN ('prop', 'publie')
 			OR aut.id_auteur=$connect_id_auteur
 		)";
+		$visit = false;
 	}
 	if ($in_auteurs)
 		$sql_visible = "(($sql_visible) AND $in_auteurs)";
@@ -320,7 +323,6 @@ function requete_auteurs($tri, $statut, $recherche=NULL)
 		$sql_order = " multi";
 	}
 	
-	 $visit = ($statut  AND ($statut!='1comite') AND ($statut != '0minirezo'));
 	//
 	// La requete de base est tres sympa
 	// (pour les visiteurs, ca postule que les messages concernent des articles)
diff --git a/ecrire/exec/brouteur_frame.php b/ecrire/exec/brouteur_frame.php
index 25c23c8121df416264000e7466401faeb4c8fa2b..386c37b9a9fc035a39edf4faa5c6e4ac68718b63 100644
--- a/ecrire/exec/brouteur_frame.php
+++ b/ecrire/exec/brouteur_frame.php
@@ -16,12 +16,13 @@ include_spip('inc/presentation');
 
 // http://doc.spip.org/@exec_brouteur_frame_dist
 function exec_brouteur_frame_dist() {
-	global $connect_statut,$connect_id_auteur, $spip_ecran, $spip_lang_left;
+	global $connect_id_auteur, $spip_ecran, $spip_lang_left;
 
 	$id_rubrique = is_numeric(_request('rubrique')) ? intval(_request('rubrique')) : "";
 	$frame = _request('frame');
 	$effacer_suivant = _request('effacer_suivant');
 	$special = _request('special');
+	$peutpub = autoriser('publierdans','rubrique');
 
 	include_spip('inc/headers');
 	http_no_cache();
@@ -167,7 +168,7 @@ jQuery(function(){
 
 	
 		if ($id_rubrique > 0) {
-			if ($connect_statut == "0minirezo")
+			if ($peutpub)
 				$result = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE id_rubrique=$id_rubrique ORDER BY date DESC");
 			else 
 				$result = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_rubrique=$id_rubrique AND (articles.statut = 'publie' OR articles.statut = 'prop' OR (articles.statut = 'prepa' AND articles.id_article = lien.id_article AND lien.id_auteur = $connect_id_auteur)) GROUP BY id_article ORDER BY articles.date DESC");
diff --git a/ecrire/inc/acces.php b/ecrire/inc/acces.php
index e21934a89448f66a2e33c615c239a5d068e2d7ea..c55c1e82805489fdd8887b799be6d59a59fa5c09 100644
--- a/ecrire/inc/acces.php
+++ b/ecrire/inc/acces.php
@@ -148,12 +148,13 @@ function ecrire_acces() {
 	}
 
 	# remarque : ici on laisse passer les "nouveau" de maniere a leur permettre
-	# de devenir "1comite" le cas echeant (auth http)... a nettoyer
+	# de devenir redacteur le cas echeant (auth http)... a nettoyer
 	// attention, il faut au prealable se connecter a la base (necessaire car utilise par install)
 	// on fait spip_query_db() car on est pas forcement encore installe
 	$p1 = ''; // login:htpass pour tous
-	$p2 = ''; // login:htpass pour les admins/0minirezo
-	$s = spip_query_db("SELECT login, htpass, statut FROM spip_auteurs WHERE statut != '5poubelle' AND statut!='6forum'");
+	$p2 = ''; // login:htpass pour les admins
+	$s = spip_query_db("SELECT login, htpass, statut FROM spip_auteurs WHERE statut IN  ('1comite','0minirezo','nouveau')");
+	$n = spip_num_rows($s);
 	while ($t = spip_fetch_array($s)) {
 		$p1 .= $t['login'].':'.$t['htpass']."\n";
 		if ($t['statut'] == '0minirezo')
@@ -162,7 +163,7 @@ function ecrire_acces() {
 
 	ecrire_fichier($htpasswd, $p1);
 	ecrire_fichier($htpasswd.'-admin', $p2);
-	spip_log("Ecriture de $htpasswd et $htpasswd-admin: OK");
+	spip_log("Ecriture de $htpasswd et $htpasswd-admin: $n auteurs");
 }