diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php
index ddddfe9b0ca7fa321c366582bc447518b7039d46..e99e2e9fa119470e2f9b04c65c679f2462378036 100644
--- a/ecrire/exec/accueil.php
+++ b/ecrire/exec/accueil.php
@@ -298,7 +298,7 @@ function etat_base_accueil()
 
 	$res .= propre($GLOBALS['meta']["descriptif_site"]);
 
-	$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_articles GROUP BY statut HAVING COUNT(*)<>0");
+	$q = sql_select("COUNT(*) AS cnt, statut", 'spip_articles', '', 'statut', '','','', "COUNT(*)<>0");
   
 	$cpt = array();
 	$cpt2 = array();
@@ -309,7 +309,7 @@ function etat_base_accueil()
 	}
 	if ($cpt) {
 		if ($where) {
-			$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_articles$where GROUP BY statut");
+			$q = sql_select("COUNT(*) AS cnt, statut", 'spip_articles', $where, "statut");
 			while($row = sql_fetch($q)) {
 				$r = $row['statut'];
 				$cpt2[$r] = intval($row['cnt']) . '/';
@@ -323,7 +323,7 @@ function etat_base_accueil()
 		$res .= "</ul>";
 	}
 
-	$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_breves GROUP BY statut HAVING COUNT(*)<>0");
+	$q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', '', 'statut', '','','', "COUNT(*)<>0");
 
 	$cpt = array();
 	$cpt2 = array();
@@ -335,7 +335,7 @@ function etat_base_accueil()
  
 	if ($cpt) {
 		if ($where) {
-			$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_breves$where GROUP BY statut");
+			$q = sql_select("COUNT(*) AS cnt, statut", 'spip_breves', $where, "statut");
 			while($row = sql_fetch($q)) {
 				$r = $row['statut'];
 				$cpt2[$r] = intval($row['cnt']) . '/';
@@ -348,7 +348,7 @@ function etat_base_accueil()
 		$res .= "</ul>";
 	}
 
-	$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_forum WHERE statut IN ('publie', 'prop') GROUP BY statut HAVING COUNT(*)<>0");
+	$q = sql_select('COUNT(*) AS cnt, statut', 'spip_forum', "statut IN ('publie', 'prop')", 'statut', '','','', "COUNT(*)<>0");
 
 	$cpt = array();
 	$cpt2 = array();
@@ -390,7 +390,7 @@ function accueil_liste_participants()
 {
 	global $spip_lang_left;
 
-	$q = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_auteurs GROUP BY statut HAVING COUNT(*)<>0 AND statut IN (".  _q($GLOBALS['liste_des_statuts']) . ")");
+	$q = sql_select("COUNT(*) AS cnt, statut", 'spip_auteurs', "statut IN (".  _q($GLOBALS['liste_des_statuts']) . ")", 'statut', '','','', "COUNT(*)<>0");
 
 	$cpt = array();
 	while($row=sql_fetch($q)) $cpt[$row['statut']] = $row['cnt']; 
diff --git a/ecrire/exec/articles_tous.php b/ecrire/exec/articles_tous.php
index 0d23b205711781a88883b68bf0c2703f21b233b5..c736df7e1c53ec0b29b78e6adcb5a2b801de15a0 100644
--- a/ecrire/exec/articles_tous.php
+++ b/ecrire/exec/articles_tous.php
@@ -118,10 +118,7 @@ function texte_articles_tous(&$sel_lang, $flag_trad, $aff_art,$spip_lang_dir){
 	if (autoriser('publierdans', 'rubrique', 0))
 		$result = spip_query("SELECT id_article, titre, statut, id_rubrique, lang, id_trad, date_modif FROM spip_articles ORDER BY date DESC");
 	else 
-		$result = spip_query("SELECT articles.id_article, articles.titre, 
-			articles.statut, articles.id_rubrique, articles.lang, articles.id_trad,
-			articles.date_modif FROM spip_articles AS articles LEFT JOIN
-			spip_auteurs_articles AS lien ON articles.id_article =	lien.id_article	 WHERE articles.statut = 'publie' OR articles.statut =	'prop' OR (articles.statut = 'prepa'  AND lien.id_auteur=" . _q($GLOBALS['auteur_session']['id_auteur']) . ") GROUP BY id_article ORDER BY 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=" . _q($GLOBALS['auteur_session']['id_auteur']) . ")", "id_article", "articles.date DESC");
 
 	while($row = sql_fetch($result)) {
 		$id_rubrique=$row['id_rubrique'];
diff --git a/ecrire/inc/instituer_auteur.php b/ecrire/inc/instituer_auteur.php
index f9d674923f32f797bfd4a47487f04dfcfce2ee65..2673a879d3bab1763fc763b69bb80666085cf7f9 100644
--- a/ecrire/inc/instituer_auteur.php
+++ b/ecrire/inc/instituer_auteur.php
@@ -75,7 +75,7 @@ function choix_statut_auteur($statut, $id_auteur, $ancre) {
 	// Chercher tous les statuts non standards.
 	// Le count(*) ne sert pas, mais en son absence
 	// SQL (enfin, une version de SQL) renvoie un ensemble vide !
-	$q = spip_query("SELECT statut, count(*) FROM spip_auteurs WHERE statut NOT IN (" . _q($GLOBALS['liste_des_statuts']) . ") GROUP BY statut");
+	$q = sql_select("statut, count(*)", 'spip_auteurs', "statut NOT IN (" . _q($GLOBALS['liste_des_statuts']) . ")",  "statut");
 
 	$hstatut = htmlentities($statut);
 	while ($r = sql_fetch($q)) {