diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php
index 1a1e6f369a5883276c23bc4c06ff8ac142445fd7..199d6d85b9f8683c342a0f1a96d42334f1f5be4a 100644
--- a/ecrire/base/connect_sql.php
+++ b/ecrire/base/connect_sql.php
@@ -216,29 +216,34 @@ function _q ($a) {
 // Nommage bizarre des tables d'objets
 // http://doc.spip.org/@table_objet
 function table_objet($type) {
-	static $surnoms = array(
-		'article' => 'articles',
-		'auteur' => 'auteurs',
-		'breve' => 'breves',
-		'document' => 'documents',
-		'doc' => 'documents', # pour les modeles
-		'img' => 'documents',
-		'emb' => 'documents',
-		'forum' => 'forums', # hum hum redevient spip_forum par table_objet_sql mais casse par un bete "spip_".table_objet()
-		'groupe_mots' => 'groupes_mots', # hum
-		'groupe_mot' => 'groupes_mots', # hum
-		'groupe' => 'groupes_mots', # hum (EXPOSE)
-		'message' => 'messages',
-		'mot' => 'mots',
-		'petition' => 'petitions',
-		'rubrique' => 'rubriques',
-		'signature' => 'signatures',
-		'syndic' => 'syndic',
-		'site' => 'syndic', # hum hum
-		'syndic_article' => 'syndic_articles',
-		'type_document' => 'types_documents', # hum
-		'extension' => 'types_documents' # hum
-	);
+	static $surnoms = null;
+	if (!$surnoms){
+		// passer dans un pipeline qui permet aux plugins de declarer leurs exceptions
+		$surnoms = pipeline('declarer_tables_objets_surnoms',
+			array(
+				'article' => 'articles',
+				'auteur' => 'auteurs',
+				'breve' => 'breves',
+				'document' => 'documents',
+				'doc' => 'documents', # pour les modeles
+				'img' => 'documents',
+				'emb' => 'documents',
+				'forum' => 'forums', # hum hum redevient spip_forum par table_objet_sql mais casse par un bete "spip_".table_objet()
+				'groupe_mots' => 'groupes_mots', # hum
+				'groupe_mot' => 'groupes_mots', # hum
+				'groupe' => 'groupes_mots', # hum (EXPOSE)
+				'message' => 'messages',
+				'mot' => 'mots',
+				'petition' => 'petitions',
+				'rubrique' => 'rubriques',
+				'signature' => 'signatures',
+				'syndic' => 'syndic',
+				'site' => 'syndic', # hum hum
+				'syndic_article' => 'syndic_articles',
+				'type_document' => 'types_documents', # hum
+				'extension' => 'types_documents' # hum
+			));
+	}
 	return isset($surnoms[$type])
 		? $surnoms[$type]
 		: preg_replace(',ss$,', 's', $type."s");
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index db9a85809c9a0933df1afa5977982e0e804ccbb9..ad6c3cf48e5124397262714a4de0587d40429174 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -251,6 +251,7 @@ $spip_pipeline = array(
 	'declarer_tables_interfaces'=>'',
 	'declarer_tables_principales'=>'',
 	'declarer_tables_auxiliaires'=>'',
+	'declarer_tables_objets_surnoms' => '',
 	'definir_session' => '',
 	'delete_all' => '',
 	'delete_statistiques' => '',