diff --git a/.gitattributes b/.gitattributes
index e73c527b5ecf3f765750a553a3d36597208646f4..078f3d6f211c07a1d7bb16cffebb8e547cf4a557 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -510,6 +510,7 @@ prive/images/cal-semaine.gif -text
 prive/images/cal-suivi.png -text
 prive/images/cal-today.gif -text
 prive/images/calendrier-24.gif -text
+prive/images/cfg-16.png -text
 prive/images/chemin-fond-left.gif -text
 prive/images/chemin-fond-right.gif -text
 prive/images/choix-layout.gif -text
diff --git a/ecrire/inc/plugin.php b/ecrire/inc/plugin.php
index 92b14676f5c8786bb17434cbcecb45757227d7a0..19ffdb080f84fc922cc1bae0ace89bdc2c87990a 100644
--- a/ecrire/inc/plugin.php
+++ b/ecrire/inc/plugin.php
@@ -606,12 +606,7 @@ function spip_plugin_install($action, $infos){
 // http://doc.spip.org/@desinstalle_un_plugin
 function desinstalle_un_plugin($plug,$infos){
 	// faire les include qui vont bien
-	foreach($infos['install'] as $file){
-		$file = trim($file);
-		if (file_exists($f = _ROOT_PLUGINS."$plug/$file")){
-			include_once($f);
-		}
-	}
+	charge_instal_plugin($plug, $infos, $dir_plugins);
 	$version_cible = isset($infos['version_base'])?$infos['version_base']:'';
 	$prefix_install = $infos['prefix']."_install";
 	if (function_exists($prefix_install)){
@@ -628,8 +623,7 @@ function desinstalle_un_plugin($plug,$infos){
 	return false;
 }
 
-// http://doc.spip.org/@installe_un_plugin
-function installe_un_plugin($plug,$infos,$dir_plugins = '_DIR_PLUGINS'){
+function charge_instal_plugin($plug,$infos,$dir_plugins = '_DIR_PLUGINS'){
 	// passer en chemin absolu si possible
 	$dir = str_replace('_DIR_','_ROOT_',$dir_plugins);
 	if (!defined($dir))
@@ -642,6 +636,12 @@ function installe_un_plugin($plug,$infos,$dir_plugins = '_DIR_PLUGINS'){
 			include_once($f);
 		}
 	}
+}
+
+function installe_un_plugin($plug,$infos,$dir_plugins = '_DIR_PLUGINS'){
+
+	charge_instal_plugin($plug, $infos, $dir_plugins);
+
 	$version_cible = isset($infos['version_base'])?$infos['version_base']:'';
 	$prefix_install = $infos['prefix']."_install";
 	// cas de la fonction install fournie par le plugin
diff --git a/ecrire/plugins/afficher_plugin.php b/ecrire/plugins/afficher_plugin.php
index a2831fcbb0cdb583b8f9ca6d6bf3fd3137faf79c..68ae4b11325abb6ba5c88a06bb6eff75c78f84d8 100644
--- a/ecrire/plugins/afficher_plugin.php
+++ b/ecrire/plugins/afficher_plugin.php
@@ -13,6 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/charsets');
 include_spip('inc/texte');
+include_spip('inc/plugin'); // pour charge_instal_plugin
 
 // http://doc.spip.org/@ligne_plug
 function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=false, $class_li="item", $dir_plugins=_DIR_PLUGINS) {
@@ -24,11 +25,11 @@ function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=fal
 	$get_infos = charger_fonction('get_infos','plugins');
 	$info = $get_infos($plug_file, $force_reload, $dir_plugins);
 	$prefix = $info['prefix'];
-	$config = !empty($info['config']) ? $info['config'] : 'cfg';
+	$config = !empty($info['config']) ? $info['config'] : 'plugin_bouton_cfg';
 	$erreur = (!isset($info['erreur']) ? ''
 	: ("<div class='erreur'>" . join('<br >', $info['erreur']) . "</div>"));
 
-	$cfg = !$actif ? '' : plugin_bouton_cfg($dir_plugins.$plug_file, $config);
+	$cfg = !$actif ? '' : $config($dir_plugins.$plug_file);
 
 	// numerotons les occurrences d'un meme prefix
 	$versions[$prefix] = $id = isset($versions[$prefix]) ? $versions[$prefix] + 1 : '';
@@ -49,7 +50,7 @@ function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=fal
 	."</li>";
 }
 
-function plugin_bouton_cfg($file, $cfg)
+function plugin_bouton_cfg($file, $cfg='cfg')
 {
 	if  (defined('_DIR_PLUGIN_CFG')) {
 		if (include_spip('inc/cfg')) // test CFG version >= 1.0.5
diff --git a/prive/images/cfg-16.png b/prive/images/cfg-16.png
new file mode 100755
index 0000000000000000000000000000000000000000..9460dfc746be14e4b2a6a94f91d002fa4a56318f
Binary files /dev/null and b/prive/images/cfg-16.png differ