diff --git a/.gitattributes b/.gitattributes
index 4bc466d5faa9e911d79509524bff9d69acff4840..c6c27cbe9188752ac6d0f023cdb5f79fe22ed762 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -92,10 +92,12 @@ prive/objets/editer/document_popup.html -text
 prive/objets/infos/document.html -text
 prive/squelettes/contenu/document_edit.html -text
 prive/squelettes/contenu/mediatheque.html -text
+prive/squelettes/contenu/popin-choisir_document.html -text
 prive/squelettes/inclure/ajouter-documents.html -text
 prive/squelettes/inclure/bouton-supprimer-orphelins.html -text
 prive/squelettes/inclure/colonne-documents.html -text
 prive/squelettes/inclure/document_infos.html -text
+prive/squelettes/inclure/mediatheque-choisir.html -text
 prive/squelettes/inclure/mediatheque-galerie.html -text
 prive/squelettes/inclure/mediatheque-navigation.html -text
 prive/squelettes/inclure/portfolio-documents.html -text
diff --git a/formulaires/inc-upload_document.html b/formulaires/inc-upload_document.html
index 92c1cd61d3970643f065d316ac994c11990d5910..c6fceb8f59ad2236095e3dee3c75adc1560d88da 100644
--- a/formulaires/inc-upload_document.html
+++ b/formulaires/inc-upload_document.html
@@ -40,20 +40,14 @@
 			<label for='refdoc_joindre#GET{domid}'><:medias:label_refdoc_joindre:></label>[
 			<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{refdoc_joindre})</span>
 			]<input class='text' type="text" name="refdoc_joindre" value='#ENV{refdoc_joindre}' id="refdoc_joindre#GET{domid}"/>
+			<input class='submit' type="button" name="parcourir" value="<:medias:bouton_parcourir:>"
+				onclick="jQuery.modalboxload('#URL_ECRIRE{popin-choisir_document,var_zajax=contenu&selectfunc=mediaselect#GET{domid}}',{autoResize: true});"
+			/>
 		</li>
 	</ul>
-	<p class='boutons'><input class='submit' type="button" name="parcourir" value="<:medias:bouton_parcourir:>"
-		onclick="jQuery.modalboxload(
-			'#URL_ECRIRE{portfolio,selectfunc=mediaselect#GET{domid}}',
-			{autoResize: true}
-		);"
-	/></p>
-	<script type="text/javascript">
-		function mediaselect#GET{domid}(id){
-			jQuery.modalboxclose();
-			jQuery("#refdoc_joindre#GET{domid}").attr('value','doc'+id).focus();
-		};
-	</script>
+	<script type="text/javascript">/*<!\[CDATA\[*/
+	function mediaselect#GET{domid}(id){jQuery.modalboxclose();jQuery("#refdoc_joindre#GET{domid}").attr('value','doc'+id).focus();jQuery('#joindre_mediatheque#GET{domid}>.boutons input').get(0).click();}
+	/*\]\]>*/</script>
 	<div class='sourceup'>
 		<:medias:bouton_download_depuis:>
 			<a href='#' onclick="change_methode('upload');return false;"><:medias:bouton_download_local:></a>
diff --git a/formulaires/joindre_document.php b/formulaires/joindre_document.php
index d6e01401f310b2ce86752c4a26711f2dd807cd17..49b41a908bdc241b80b2b4268fd24fb7a58be53c 100644
--- a/formulaires/joindre_document.php
+++ b/formulaires/joindre_document.php
@@ -59,7 +59,7 @@ function formulaires_joindre_document_charger_dist($id_document='new',$id_objet=
 	 //AND !$vignette_de_doc		# pas pour une vignette (NB: la ligne precedente suffit, mais si on la supprime il faut conserver ce test-ci)
 	 AND $GLOBALS['flag_upload']
 	 ) {
-		include_spip('inc/actions');
+		include_spip('inc/documents');
 		if ($dir = determine_upload('documents')) {
 			// quels sont les docs accessibles en ftp ?
 			$valeurs['_options_upload_ftp'] = joindre_options_upload_ftp($dir, $mode);
diff --git a/prive/squelettes/contenu/popin-choisir_document.html b/prive/squelettes/contenu/popin-choisir_document.html
new file mode 100644
index 0000000000000000000000000000000000000000..e611cb163fcc722390eee7741dd832bc9e92c7f2
--- /dev/null
+++ b/prive/squelettes/contenu/popin-choisir_document.html
@@ -0,0 +1,3 @@
+<div class="popin-choisir_document">
+<INCLURE{fond=prive/squelettes/inclure/mediatheque-navigation,editable=non,galerie=prive/squelettes/inclure/mediatheque-choisir,ajax,env}>
+</div>
\ No newline at end of file
diff --git a/prive/squelettes/inclure/mediatheque-choisir.html b/prive/squelettes/inclure/mediatheque-choisir.html
new file mode 100644
index 0000000000000000000000000000000000000000..229ebdb6da3b19ec42d5216d638a89168460b2c9
--- /dev/null
+++ b/prive/squelettes/inclure/mediatheque-choisir.html
@@ -0,0 +1,82 @@
+#SET{editable,#ENV{editable,' '}|oui}
+<div class="galerie[ media-(#ENV{media,''})]">
+	<B_galerie>
+	
+	<h3>[(#GRAND_TOTAL|singulier_ou_pluriel{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})]</h3>
+	<div class='pagination tri'>
+		[(#TRI{'<',#CHEMIN{images/tri_asc-16.png}|balise_img{<:medias:par_tri_croissant:>}}) |]
+		[(#TRI{'>',#CHEMIN{images/tri_desc-16.png}|balise_img{<:medias:par_tri_decroissant:>}}) |]
+		[(#TRI{id_document,<:medias:par_id:>}) |]
+		[(#TRI{date,<:medias:par_date:>}) |]
+		[(#TRI{taille,<:medias:par_taille:>}) |]
+		[(#TRI{largeur,<:medias:par_largeur:>}) |]
+		[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
+		[(#TRI{titre,<:medias:par_titre:>}) |]
+	</div>
+	[<div class="pagination">(#PAGINATION{prive})</div>]
+	<table>
+	<thead>
+		<th></th>
+		<th class="id"><:medias:id:></th>
+		<th></th>
+		<th><:medias:logo:></th>
+		<th><:medias:infos:></th>
+		<th><:medias:descriptif:></th>
+		<th></th>
+	</thead>
+	<BOUCLE_galerie(DOCUMENTS) {id_rubrique ?}{id_article ?}{id_breve ?}{id_document ?}{recherche ?} {tri id_document,inverse}{media?}{extension?}{distant?}{brise?}{statut==#ENV{statut,.*}}{orphelins?}{titre==(#ENV{sanstitre}|?{'^$','.*'})}{pagination 10}>
+	<tr class="[(#ENV{media}|non)[ media-(#MEDIA)]]" id="#ENV{iddoc,media}#ID_DOCUMENT">
+		<td class='infos'>
+		[(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}]
+		[(#ENV{media}|non|et{#MEDIA|!={file}})[(#CHEMIN{images/media-#MEDIA|concat{-32.png}}|balise_img|inserer_attribut{alt,#VAL{medias:media_#MEDIA}|_T}|inserer_attribut{title,#VAL{medias:media_#MEDIA}|_T})]]
+		[(#GET{missing}|oui)<img src='#CHEMIN{images/document-manquant-24.png}' width='22' height='22' alt='<:medias:fichier_manquant:>' />]
+		[(#DISTANT|=={oui}|oui)<img src='#CHEMIN{images/document-distant-24.png}' width='22' height='22' alt='<:medias:fichier_distant:>' />]
+		</td>
+		<td class="id">
+			<strong>#ID_DOCUMENT</strong>
+		</td>
+		<td class='statut'>
+		[(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})]
+		</td>
+		<td class="logo">
+		#SET{fichier,#DISTANT|=={oui}|?{#FICHIER,#FICHIER|basename}}
+		[(#MEDIA|=={image}|oui)[
+			(#LOGO_DOCUMENT{apercu,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})
+		]]
+		[(#MEDIA|=={image}|non)[<div class="#EDIT{vignette} resize-250">
+			(#LOGO_DOCUMENT{auto,200,100}|inserer_attribut{alt,[(#TITRE|couper{60}|texte_backend)]})
+		</div>]]
+		<div class="fichier">#GET{fichier}</div>
+		</td>
+		<td class="exif">
+			[<strong class="extension">(#EXTENSION)</strong>]
+			[<div class="dimensions">(#LARGEUR|?{[(#LARGEUR)[ x (#HAUTEUR) pixels]],''})</div>]
+			[<div class="taille">(#TAILLE|taille_en_octets)</div>]
+			[<div class="date">(#DATE|affdate{d/m/Y})</div>]
+			<B_liens>
+			[(#TOTAL_BOUCLE|>{1}|oui)
+			<a href='#' onclick="jQuery(this).next().show();$(this).hide();return false;">[(#TOTAL_BOUCLE|singulier_ou_pluriel{medias:une_utilisation,medias:des_utilisations})]</a><div style='display: none;'>
+			]
+			<BOUCLE_liens(documents_liens){id_document}{'<br />'}>
+			[(#ID_OBJET|lien_objet{#OBJET}|inserer_attribut{target,_blank})]
+			</BOUCLE_liens>
+			[(#TOTAL_BOUCLE|>{1}|oui)</div>]
+			</B_liens>
+		</td>
+		<td class="descriptif">
+			[<strong class="titre #EDIT{titre}">(#TITRE|sinon{#VAL{<i>}|concat{<:info_sans_titre:>,'</i>'}})</strong>]
+			[<div class="descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>]
+			[<p class="credits #EDIT{credits}">(#CREDITS)</p>]
+		</td>
+		<td>
+		[(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument]
+		[<span class="choisir"><input type="submit" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;" value="<:bouton_choisir|attribut_html:>" /></span>]
+		</td>
+	</tr>
+	</BOUCLE_galerie>
+	</table>
+	[<p class="pagination">(#PAGINATION{prive})</p>]
+	</B_galerie>
+	<h3>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h3>
+	<//B_galerie>
+</div><!--#galerie-->
diff --git a/prive/squelettes/inclure/mediatheque-galerie.html b/prive/squelettes/inclure/mediatheque-galerie.html
index 7aea18d3fb70c6ecaa9501849e3c1eda4b9b27be..f37e4e2244a9433d703c33ffafe36cb57c6a7e63 100644
--- a/prive/squelettes/inclure/mediatheque-galerie.html
+++ b/prive/squelettes/inclure/mediatheque-galerie.html
@@ -1,4 +1,4 @@
-#SET{editable,#ENV{editable,' '}|oui}
+#SET{editable,#ENV{editable,oui}|=={non}|non}
 
 <div class="galerie[ media-(#ENV{media,''})]">
 	<B_galerie>
@@ -14,7 +14,7 @@
 		[(#TRI{hauteur,<:medias:par_hauteur:>}) |]
 		[(#TRI{titre,<:medias:par_titre:>}) |]
 	</div>
-	[<div class="pagination">(#PAGINATION{page})</div>]
+	[<div class="pagination">(#PAGINATION{prive})</div>]
 	<table>
 	<thead>
 		<th></th>
@@ -76,13 +76,11 @@
 		[<span class='supprimer'>(#AUTORISER{supprimer,document,#ID_DOCUMENT})[(#BOUTON_ACTION{<:medias:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax,'','',[(function(){jQuery("##ENV{iddoc,media}(#ID_DOCUMENT)").animateRemove();return true;})()]})]</span>]
 		]
 		[(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,galerie},data,''}})]
-		[(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument]
-		[<span class="choisir"><a href="#" onclick="(#ENV{selectfunc,''})([(#ID_DOCUMENT)]);return false;"><:bouton_choisir:></a></span>]
 		</td>
 	</tr>
 	</BOUCLE_galerie>
 	</table>
-	[<p class="pagination">(#PAGINATION{page})</p>]
+	[<p class="pagination">(#PAGINATION{prive})</p>]
 	#SET{nb_orphelins,#GRAND_TOTAL}
 	</B_galerie>
 	<h2>[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]</h2>
diff --git a/prive/squelettes/inclure/mediatheque-navigation.html b/prive/squelettes/inclure/mediatheque-navigation.html
index c25c128aa72c3669c7c48042af2552b89154bcaf..69b20164ec435a2b65f7d7ea70f530309a321ba9 100644
--- a/prive/squelettes/inclure/mediatheque-navigation.html
+++ b/prive/squelettes/inclure/mediatheque-navigation.html
@@ -1,6 +1,6 @@
 #SET{self,#SELF|parametre_url{debut_galerie,''}}
 #SET{self,#GET{self}|parametre_url{extension,''}}
-#SET{editable,#ENV{editable,' '}|oui}
+#SET{editable,#ENV{editable,oui}|=={non}|non}
 
 <div class='onglets_simple'>
 <ul class='medias'>
@@ -11,14 +11,14 @@
 	<//B_comptem>
 </BOUCLE_medias>
 </ul>
-<div class='nettoyeur'></div>
+<div class="nettoyeur"></div>
 </div>
 
 [(#ENV{id_document}|oui)
 <a class='annule_filtre' href='[(#GET{self}|parametre_url{id_document,''})]' title="<:medias:tout_voir|attribut_html:>">[(#CHEMIN{images/annuler-recherche.png}|balise_img|inserer_attribut{alt,<:medias:tout_voir:>})]</a>
 ]
 
-<div class='onglets_simple second'>
+<div class='onglets_simple second clearfix'>
 <ul class='statut'>
 [<li class='first'>(#GET{self}|parametre_url{statut,''}|lien_ou_expose{<:medias:documents_tous:>,#ENV{statut,.*}|=={.*},ajax})</li>]
 [<li>(#GET{self}|parametre_url{statut,publie}|lien_ou_expose{<:medias:documents_publies:>,#ENV{statut}|=={publie},ajax})</li>]
@@ -41,7 +41,6 @@
 [<li class='first'>(#GET{self}|parametre_url{sanstitre,''}|lien_ou_expose{<:medias:documents_tous:>,#ENV{sanstitre,''}|=={''},ajax})</li>]
 [<li>(#GET{self}|parametre_url{sanstitre,'1'}|lien_ou_expose{<:info_sans_titre:>,#ENV{sanstitre,''}|=={'1'},ajax})</li>]
 </ul>
-<div class='nettoyeur'></div>
 </div>
 
 <B_types>
@@ -57,7 +56,7 @@
 <div class='nettoyeur'></div>
 #FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax}
 
-<INCLURE{fond=prive/squelettes/inclure/mediatheque-galerie,ajax=documents,env}>
+<INCLURE{fond=#ENV{galerie,prive/squelettes/inclure/mediatheque-galerie},ajax=documents,env}>
 
 <div class='nettoyeur'></div>
 [(#GET{editable})
diff --git a/prive/style_prive_plugin_medias.html b/prive/style_prive_plugin_medias.html
index 289836887799a69d54557dabc8efc43fa0630246..1836d7df552f6085bdca9175d8195fdd5b049826 100644
--- a/prive/style_prive_plugin_medias.html
+++ b/prive/style_prive_plugin_medias.html
@@ -43,6 +43,7 @@
 #extra .formulaire_joindre_document .deballer_zip .editer_options_upload_zip .choix input {vertical-align:top;}
 
 .formulaire_joindre_document .editer_fichier input.file {display:block;}
+.formulaire_joindre_document .editer_refdoc_joindre input.text {width:50%;}
 
 .onglets_simple.second ul.distant li.first,.onglets_simple.second ul.brises li.first,.onglets_simple.second ul.sanstitre li.first {margin-#GET{left}:30px;}
 
@@ -83,6 +84,11 @@ a.bouton_fermer {display:block;text-align:#GET{right};}
 
 .galerie table td.exif { background-repeat: no-repeat; background-position: top right; }
 
+.popin-choisir_document .onglets_simple.second {display:none;}
+.popin-choisir_document .galerie table td.id  {width:40px;}
+.popin-choisir_document .galerie table td.logo  {width:200px;}
+.popin-choisir_document .galerie table td.exif {width:120px;}
+
 .spip_documents_legende {border:1px solid #GET{foncee};text-align:center;font-size:0.9em;margin:0 0 1em;}
 .spip_documents_legende dt {background:#GET{foncee};color:#fff;padding:5px 3px;font-weight:bold;}
 .spip_documents_legende dd {padding:3px 0;margin:0;}