diff --git a/.gitattributes b/.gitattributes
index 7a366c292213dab1dd28c84c0123305b2bdb8481..e73c527b5ecf3f765750a553a3d36597208646f4 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1021,6 +1021,7 @@ prive/themes/spip/images/supprimer-24.png -text
 prive/themes/spip/images/supprimer-8.png -text
 prive/themes/spip/images/synchro-16.png -text
 prive/themes/spip/images/synchro-24.png -text
+prive/themes/spip/images/telecharger-16.png -text
 prive/themes/spip/images/traduction-16.png -text
 prive/themes/spip/images/traduction-24.png -text
 prive/themes/spip/images/traduction-add-16.png -text
diff --git a/ecrire/action/charger_plugin.php b/ecrire/action/charger_plugin.php
index 3d353194efc84959448f5be252f10e0a113028b0..3888708a3aa225d9a5b638c71bc2704e6a6d0502 100644
--- a/ecrire/action/charger_plugin.php
+++ b/ecrire/action/charger_plugin.php
@@ -140,7 +140,7 @@ function action_charger_plugin_dist() {
 				$retour = "<img src='".$image2."' style='float:right;' />"
 					. $retour;
 			} else 
-				$retour = "<img src='".find_in_path('images/plugin-24.gif')."' style='float:right;' />"
+				$retour = "<img src='".chemin_image('plugin-24.gif')."' style='float:right;' />"
 					. $retour;
 
 			if (_request('extract')) {
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index f86244876f3e92780acd4f3753af7f9ae8cd2c97..78e88a718bbdfa866801f06de19f1b5de1b9de68 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -458,13 +458,7 @@ if (@is_readable(_CACHE_PLUGINS_OPT) AND @is_readable(_CACHE_PLUGINS_PATH)){
 	include_spip('inc/plugin');
 	// generer les fichiers php precompiles
 	// de chargement des plugins et des pipelines
-	if (verif_plugin()) {
-		if (@is_readable(_CACHE_PLUGINS_PATH))
-			include_once(_CACHE_PLUGINS_PATH); // securite : a priori n'a pu etre fait plus tot
-		if (@is_readable(_CACHE_PLUGINS_OPT))
-			include_once(_CACHE_PLUGINS_OPT);
-		else spip_log("pipelines desactives: impossible de produire " . _CACHE_PLUGINS_OPT); 
-	}
+	actualise_plugins_actifs();
 }
 // Initialisations non critiques surchargeables par les plugins
 @spip_initialisation_suite();
diff --git a/ecrire/lang/ecrire_fr.php b/ecrire/lang/ecrire_fr.php
index bdee3abd48d199038f8e19db90a75b724b74b72a..8ab40a6fa45fd0662b8531c55bd86cf351046060 100644
--- a/ecrire/lang/ecrire_fr.php
+++ b/ecrire/lang/ecrire_fr.php
@@ -876,6 +876,7 @@ dans une couleur qui indique leur &eacute;tat&nbsp;:',
 'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
 'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s\'appliquer (par exemple&nbsp;: @exemple@)',
 'plugin_charge_paquet' => 'Chargement du paquet @name@',
+'plugin_charger' => 'T&#233;l&#233;charger',
 'plugin_erreur_charger' => 'erreur&nbsp;: impossible de charger @zip@',
 'plugin_erreur_droit1' => 'Le r&#233;pertoire <code>@dest@</code> n\'est pas accessible en &#233;criture.',
 'plugin_erreur_droit2' => 'Veuillez v&#233;rifier les droits sur ce r&#233;pertoire (et le cr&#233;er le cas &#233;ch&#233;ant), ou installer les fichiers par FTP.',
@@ -886,6 +887,7 @@ dans une couleur qui indique leur &eacute;tat&nbsp;:',
 'plugin_etat_test' => 'en test',
 'plugin_impossible_activer' => 'Impossible d\'activer le plugin @plugin@',
 'plugin_info_automatique1' => 'Si vous souhaitez autoriser l\'installation automatique des plugins, veuillez&nbsp;:',
+'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l\'installation automatique de cette librairie, veuillez&nbsp;:',
 'plugin_info_automatique2' => 'cr&#233;er un r&#233;pertoire <code>@rep@</code>&nbsp;;',
 'plugin_info_automatique3' => 'v&#233;rifier que le serveur est autoris&#233; &#224; &#233;crire dans ce r&#233;pertoire.',
 'plugin_info_automatique_creer' => '&#224; cr&#233;er &#224; la racine du site.',
@@ -897,6 +899,8 @@ dans une couleur qui indique leur &eacute;tat&nbsp;:',
 'plugin_info_automatique_liste_update' => 'Mettre &#224; jour les listes',
 'plugin_info_automatique_ou' => 'ou...',
 'plugin_info_automatique_select' => 'S&#233;lectionnez ci-dessous un plugin&nbsp;: SPIP le t&#233;l&#233;chargera et l\'installera dans le r&#233;pertoire <code>@rep@</code>&nbsp;; si ce plugin existe d&#233;j&#224;, il sera mis &#224; jour.',
+'plugin_info_extension_1' => 'Les extensions ci-dessous sont charg&#233;es et activ&#233;es dans le r&#233;pertoire @extensions@.',
+'plugin_info_extension_2' => 'Elles ne sont pas d&#233;sactivables.',
 'plugin_info_telecharger' => '&#224; t&#233;l&#233;charger depuis @url@ et &#224; installer dans @rep@',
 'plugin_librairies_installees' => 'Librairies install&#233;es',
 'plugin_necessite_lib' => 'Ce plugin n&#233;cessite la librairie @lib@',
@@ -905,6 +909,7 @@ dans une couleur qui indique leur &eacute;tat&nbsp;:',
 'plugin_source' => 'source:&nbsp;',
 'plugin_titre_automatique' => 'Installation automatique',
 'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
+'plugin_titre_installation' => 'Installation du plugin @plugin@',
 'plugin_zip_active' => 'Continuez pour l\'activer',
 'plugin_zip_adresse' => 'indiquez ci-dessous l\'adresse d\'un fichier zip de plugin &#224; t&#233;l&#233;charger, ou encore l\'adresse d\'une liste de plugins.',
 'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste&nbsp;',
@@ -913,11 +918,16 @@ dans une couleur qui indique leur &eacute;tat&nbsp;:',
 'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a &#233;t&#233; d&#233;compact&#233; et install&#233; dans le r&#233;pertoire @rep@',
 'plugin_zip_installer' => 'Vous pouvez maintenant l\'installer.',
 'plugin_zip_telecharge' => 'Le fichier @zip@ a &#233;t&#233; t&#233;l&#233;charg&#233;',
+'plugins_actif_aucun' => 'Aucun plugin activ&#233;.',
+'plugins_actif_un' => 'Un plugin activ&#233;.',
 'plugins_actifs' => '@count@ plugins activ&#233;s.',
+'plugins_actifs_liste' => 'Plugins actifs',
 'plugins_compte' => '@count@ plugins',
+'plugins_disponible_un' => 'Un plugin disponible.',
 'plugins_disponibles' => '@count@ plugins disponibles.',
 'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
 'plugins_liste' => 'Liste des plugins',
+'plugins_liste_extensions' => 'Extensions',
 'plugins_recents' => 'Plugins r&eacute;cents.',
 'plugins_vue_hierarchie' => 'Hi&eacute;rarchie',
 'plugins_vue_liste' => 'Liste',
diff --git a/ecrire/plugins/afficher_plugin_distant.php b/ecrire/plugins/afficher_plugin_distant.php
index 5ccc0f049cc804e93f25099b77753caf68986590..c59db57cdd105da1de375c296765a8294ff9af09 100644
--- a/ecrire/plugins/afficher_plugin_distant.php
+++ b/ecrire/plugins/afficher_plugin_distant.php
@@ -64,7 +64,7 @@ function plugins_afficher_plugin_distant_dist($url_page, $zip_file, $info, $expo
 		$action = parametre_url($charger_plugin,'url_zip_plugin',$plug_file);
 		$s .= "<div class='download'>".
 		"<a href='$action' title='"._T('plugin_charger')."'>"
-		. balise_img(find_in_path("images/telecharger-16.png"),_T('plugin_charger'))
+		. balise_img(chemin_image("telecharger-16.png"),_T('plugin_charger'))
 		."</a></div>"
 		;
 	}
diff --git a/prive/navigation.xml b/prive/navigation.xml
index 400df26f4c79289d371073968f9bcdd3d58b41cf..28f809825f27e3d54f69367fda87e9ea0551ced4 100644
--- a/prive/navigation.xml
+++ b/prive/navigation.xml
@@ -204,4 +204,21 @@
 		<titre>icone_mes_preferences</titre>
 	</onglet>
 
+	<onglet id='plugins_actifs' parent="plugins">
+		<icone>images/plugin-24.png</icone>
+		<titre>plugins_actifs_liste</titre>
+		<url>admin_plugin</url>
+	</onglet>
+	<onglet id='admin_plugin' parent="plugins">
+		<icone>images/plugin-24.png</icone>
+		<titre>plugins_liste</titre>
+		<url>admin_plugin</url>
+		<args>voir=tous</args>
+	</onglet>
+	<onglet id='charger_plugin' parent="plugins">
+		<icone>images/spip-pack-24.png</icone>
+		<titre>plugin_titre_automatique_ajouter</titre>
+		<url>charger_plugin</url>
+	</onglet>
+
 </plugin>
diff --git a/prive/style_prive.html b/prive/style_prive.html
index 4522bcd0253b93f4ade2bc34d117b2834cde4a71..75ae586a68be226b01db382cf713fef373eb603e 100644
--- a/prive/style_prive.html
+++ b/prive/style_prive.html
@@ -493,6 +493,8 @@ td.message, a.message { background: url([(#CHEMIN_IMAGE{m_envoi[(#GET{rtl})].gif
 .liste-plugins .liste-items .item .check input {margin:0;}
 .liste-plugins .liste-items .item .check label {display:none;}
 
+.liste-plugins .liste-items .item .download {float:#GET{left};margin-#GET{left}:-70px;position:relative;display:inline;}
+
 .liste-plugins .liste-items .item .nom {font-size:1.2em;display:inline;}
 .liste-plugins .liste-items .item .nom a {color:#444;}
 .liste-plugins .liste-items .item.actif .nom a {color:#GET{foncee};}
diff --git a/prive/themes/spip/images/telecharger-16.png b/prive/themes/spip/images/telecharger-16.png
new file mode 100644
index 0000000000000000000000000000000000000000..d991a08fe6ee5761fda502b06df31844128f6eff
Binary files /dev/null and b/prive/themes/spip/images/telecharger-16.png differ