diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index 4d4159ec88591fc42d261c48b721f08a699f938e..231b9fb67097677817c5aafe2b935aa2e63c23c1 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -68,9 +68,12 @@ function insert_article($id_rubrique) {
 	// Si id_rubrique vaut 0 ou n'est pas definie, creer l'article
 	// dans la premiere rubrique racine
 	if (!$id_rubrique = intval($id_rubrique)) {
-		$row = sql_fetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
+		$row = sql_fetsel("id_rubrique, id_secteur, lang", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
 		$id_rubrique = $row['id_rubrique'];
-	}
+	} else $row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
+
+	$id_secteur = $row['id_secteur'];
+	$lang_rub = $row['lang'];
 
 	// La langue a la creation : si les liens de traduction sont autorises
 	// dans les rubriques, on essaie avec la langue de l'auteur,
@@ -85,25 +88,24 @@ function insert_article($id_rubrique) {
 		}
 	}
 
-	$row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
-
-	$id_secteur = $row['id_secteur'];
-
 	if (!$lang) {
-		$lang = $GLOBALS['meta']['langue_site'];
 		$choisie = 'non';
-		$lang = $row['lang'];
+		$lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
 	}
 
-	$id_article = sql_insert("spip_articles",
-		"(id_rubrique, id_secteur, statut, date, accepter_forum, lang, langue_choisie)",
-		"($id_rubrique, $id_secteur, 'prepa', NOW(), '"
-			. substr($GLOBALS['meta']['forums_publics'],0,3)
-			. "', '$lang', '$choisie')");
+	$id_article = sql_insertq("spip_articles", array(
+		'id_rubrique' => $id_rubrique,
+		'id_secteur' =>  $id_secteur,
+		'statut' =>  'prepa',
+		'date' => 'NOW()',
+		'accepter_forum' => 
+			substr($GLOBALS['meta']['forums_publics'],0,3),
+		'lang' => $lang,
+		'langue_choisie' =>$choisie));
 
 	// controler si le serveur n'a pas renvoye une erreur
 	if ($id_article > 0) 
-		sql_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('" . $GLOBALS['auteur_session']['id_auteur'] . "','$id_article')");
+		sql_insertq('spip_auteurs_articles', array('id_auteur' => $GLOBALS['auteur_session']['id_auteur'], 'id_article' => $id_article));;
 
 	return $id_article;
 }
diff --git a/ecrire/action/instituer_groupe_mots.php b/ecrire/action/instituer_groupe_mots.php
index f72499fc519bf99eb3ecc902d524233c2020b179..790d70bff1a4d955e10f752d38d02086033efc84 100644
--- a/ecrire/action/instituer_groupe_mots.php
+++ b/ecrire/action/instituer_groupe_mots.php
@@ -56,8 +56,21 @@ function action_instituer_groupe_mots_post($id_groupe)
 
 			sql_updateq("spip_groupes_mots", array("titre" =>$change_type,"texte"=>$texte,"descriptif"=>$descriptif,"unseul"=>$unseul,"obligatoire"=>$obligatoire,"articles"=>$articles,"breves"=>$breves,"rubriques"=>$rubriques,"syndic"=>$syndic,"minirezo"=>$acces_minirezo,"comite"=>$acces_comite,"forum"=>$acces_forum), "id_groupe=$id_groupe");
 
-		} else {	// creation groupe
-			sql_insert('spip_groupes_mots', "(titre, texte, descriptif, unseul,  obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)", "(" . _q($change_type) . ", " . _q($texte) . " , " . _q($descriptif) . " , " . _q($unseul) . " , " . _q($obligatoire) . " , " . _q($articles) . " ," . _q($breves) . " , " . _q($rubriques) . " , " . _q($syndic) . " , " . _q($acces_minirezo) . " ,  " . _q($acces_comite) . " , " . _q($acces_forum) . " )");
+		} else {	//spip_log("creation groupe");
+		  sql_insertq('spip_groupes_mots', array(
+			'titre' => $change_type,
+			'texte' => $texte,
+			'descriptif' => $descriptif,
+			'unseul' => $unseul,
+			'obligatoire' => $obligatoire,
+			'articles' => $articles,
+			'breves' => $breves,
+			'rubriques' => $rubriques,
+			'syndic' => $syndic,
+			'minirezo' => $acces_minirezo,
+			'comite' => $acces_comite,
+			'forum' => $acces_forum
+			));
 		}
 	}
 }
@@ -67,8 +80,18 @@ function action_instituer_groupe_mots_post($id_groupe)
 function action_instituer_groupe_mots_get($table)
 {
 	$titre = _T('info_mot_sans_groupe');
-
-	$id_groupe = sql_insert("spip_groupes_mots", "(titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)", "(" . _q($titre) . ", 'non',  'non', '" . (($table=='articles') ? 'oui' : 'non') ."', '" . (($table=='breves') ? 'oui' : 'non') ."','" . (($table=='rubriques') ? 'oui' : 'non') ."','" . (($table=='syndic') ? 'oui' : 'non') ."', 'oui', 'non', 'non'" . ")");
+	spip_log("creation groupe $table");
+	$id_groupe = sql_insert("spip_groupes_mots", array(
+		'titre' => $titre,
+		'unseul' => 'non',
+		'obligatoire' => 'non',
+		'articles' =>  (($table=='articles') ? 'oui' : 'non'),
+		'breves' => (($table=='breves') ? 'oui' : 'non'),
+		'rubriques' => (($table=='rubriques') ? 'oui' : 'non'),
+		'syndic' =>  (($table=='syndic') ? 'oui' : 'non'),
+		'minirezo' =>  'oui',
+		'comite' =>  'non',
+		'forum' => 'non')) ;
 
         redirige_par_entete(parametre_url(urldecode(_request('redirect')),
 					  'id_groupe', $id_groupe, '&'));
diff --git a/ecrire/inc/meta.php b/ecrire/inc/meta.php
index 6dea3ac495c6e2b56d6874c734a83cf8da0ee4d7..87fc2b042742b107e12d72ae11cc481943bcc383 100644
--- a/ecrire/inc/meta.php
+++ b/ecrire/inc/meta.php
@@ -27,7 +27,6 @@ function inc_meta_dist()
 	    AND lire_fichier(_FILE_META, $meta))
 		$GLOBALS['meta'] = @unserialize($meta);
 	// sinon lire en base
-	spip_log("meta $new");
 	if (!$GLOBALS['meta']) $new = !lire_metas();
 	// renouveller l'alea au besoin
 	if (test_espace_prive()
@@ -42,7 +41,6 @@ function inc_meta_dist()
 		} else spip_log("impossible d'ecrire dans " . _FILE_META);
 	}
 	// et refaire le cache si on a du lire en base
-	spip_log("metareturn $new");
 	if (!$new) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta']));
 }