diff --git a/lang/medias_fr.php b/lang/medias_fr.php
index 2e665f0362ee1efd70e7e8bc54ffb0d27fc1bbc9..e55b0288d46f347235cdb7426a28c54a72473b4b 100644
--- a/lang/medias_fr.php
+++ b/lang/medias_fr.php
@@ -52,6 +52,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'des_utilisations' => '@nb@ utilisations',
 	'des_videos' => '@nb@ séquences',
 	'descriptif' => 'Description',
+	'details_document' => 'Détails',
+	'details_document_afficher_masquer' => 'Afficher / masquer les détails du document',
 	'document_attache_succes' => 'Le document a bien été ajouté',
 	'document_copie_locale_succes' => 'Le fichier a bien été copié dans le site',
 	'document_installe_succes' => 'Le fichier a bien été chargé',
diff --git a/modeles/document_desc.html b/modeles/document_desc.html
index 55d6fa124a1bd1942dcdaee7524f874fff3a1fab..62e814bc8798173b89f3f29d0b86d96a903658ae 100644
--- a/modeles/document_desc.html
+++ b/modeles/document_desc.html
@@ -1,45 +1,87 @@
 [(#REM)
 
-  Squelette
-  (c) xxx
-  Distribue sous licence GPL
+Squelette
+(c) xxx
+Distribue sous licence GPL
 
 ]
 <BOUCLE_docslies(DOCUMENTS documents_liens types_documents){id_document}{id_objet}{objet}{statut?}>
-	<div class="item #MODE vu_#VU statut_#STATUT[(#DISTANT|=={oui}|oui)distant]" id="doc#ID_DOCUMENT"
-			 onclick="jQuery(this).toggleClass('hover');">
-		[(#EXTENSION|match{gif|png|jpg}|oui) #SET{id,#ID_VIGNETTE|?{#ID_VIGNETTE,#ID_DOCUMENT}}
-		<div class="tourner">
-			[(#BOUTON_ACTION{[(#CHEMIN_IMAGE{tourner-gauche-12.png}|balise_img{<:medias:image_tourner_gauche:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',-90'},#SELF},ajax})]
-			[(#BOUTON_ACTION{[(#CHEMIN_IMAGE{tourner-droite-12.png}|balise_img{<:medias:image_tourner_droite:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',90'},#SELF},ajax})]
-			[(#BOUTON_ACTION{[(#CHEMIN_IMAGE{tourner-180-12.png}|balise_img{<:medias:image_tourner_180:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',180'},#SELF},ajax})]
-		</div>]
+<div class="item #MODE vu_#VU statut_#STATUT[(#DISTANT|=={oui}|oui)distant]" id="doc#ID_DOCUMENT" onclick="jQuery(this).toggleClass('hover');">
+	<div class="presentation">
 		[<div class='vignette'>(#LOGO_DOCUMENT{#URL_DOCUMENT,150,150})</div>]
-		<h4 class="titrem">
-			[(#VU|=={oui}|oui)<img src='#CHEMIN_IMAGE{vu-16-10.png}' width='16' height='10' alt='<:medias:document_vu:>' title='<:medias:document_vu:>'/> ]
-			[<span class="fichier">(#FICHIER*|basename)</span>]
-			[<span class="#EDIT{titre} titre">(#TITRE|sinon{<i class="sanstitre"><:info_sans_titre:></i>})</span>]
-			<span class="image_loading"></span>
-		</h4>
-		<div class="infos">
-		[(#DISTANT|=={oui}|oui)<img src='#CHEMIN_IMAGE{distant-16.png}' width='16' height='16' alt='<:medias:fichier_distant:>' title='<:medias:fichier_distant:>'/> ]<:info_numero_abbreviation:>#ID_DOCUMENT - #EXTENSION [ - (#LARGEUR|ou{#HAUTEUR}|oui)[(#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}})]][ ((#TAILLE|taille_en_octets))]
-		[(#PIPELINE{afficher_metas_document,#ARRAY{args,#ARRAY{'quoi','document_desc','id_document',#ID_DOCUMENT},data,''}})]
+
+		<div class="descriptions">
+			<h4 class="titrem">
+				[(#VU|=={oui}|oui)<img src='#CHEMIN_IMAGE{vu-16-10.png}' width='16' height='10' alt='<:medias:document_vu:>' title='<:medias:document_vu:>'/> ]
+				<span class="#EDIT{titre} titre" title="[(#FICHIER*|basename|attribut_html)]">
+					[(#TITRE|oui)#TITRE]
+					[(#TITRE|non)
+						<i class="sanstitre"><:info_sans_titre:></i>
+						<span class="fichier">[(#FICHIER*|basename)]</span>
+					]
+					</span>
+				<span class="image_loading"></span>
+			</h4>
+
+			<div class="descriptif [(#EDIT{descriptif})]">[(#DESCRIPTIF|couper{100})]</div>
+
+			<div class="infos">
+				<div class="permanentes">
+					[(#DISTANT|=={oui}|oui)<img src='#CHEMIN_IMAGE{distant-16.png}' width='16' height='16' alt='<:medias:fichier_distant:>' title='<:medias:fichier_distant:>'/> ]<:info_numero_abbreviation:>#ID_DOCUMENT - #EXTENSION
+
+					<a class="lien_details"
+						onClick="$(this).parent().next('.detaillees').toggle(); return true;"
+						title="<:medias:details_document_afficher_masquer|attribut_html:>"><:medias:details_document:></a>
+				</div>
+				<div class="detaillees">
+					[(#SET{data,[(#VAL{
+					<table class="compact">
+						<tr class="credits">
+							<th><:medias:label_credits:></th>
+							<td class="[(#EDIT{credits})]">[(#CREDITS|sinon{<span class="vide">Crédits non renseignés</span>})]</td>
+						</tr>
+						[(#LARGEUR|ou{#HAUTEUR}|oui)
+						<tr>
+							<th><:medias:entree_dimensions:></th>
+							<td>[(#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}})]</td>
+						</tr>
+						]
+						<tr>
+							<th><:medias:info_taille:></th>
+							<td>[(#TAILLE|taille_en_octets)]</td>
+						</tr>
+						<tr>
+							<th><:date:></th>
+							<td>[(#DATE|affdate)]</td>
+						</tr>
+						</tr>
+						<tr>
+							<th><:medias:label_fichier:></th>
+							<td>[(#FICHIER|basename)]</td>
+						</tr>
+					</table>
+					})]})]
+					[(#PIPELINE{afficher_metas_document,#ARRAY{args,#ARRAY{'quoi','document_desc','id_document',#ID_DOCUMENT},data,#GET{data}}})]
+				</div>
+			</div>
 		</div>
-		[<div class="mode">(#INCLUS|=={image}|et{#EVAL{_BOUTON_MODE_IMAGE}}|oui)
-			[(#MODE|=={image}|oui)
-			[(#BOUTON_ACTION{<:medias:upload_info_mode_document:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-document,#SELF},ajax})]
-			][(#MODE|=={image}|non)
-			[(#BOUTON_ACTION{<:medias:upload_info_mode_image:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-image,#SELF},ajax})]]
+	</div>
+
+	<div class="actions">
+		[(#INCLUS|=={image}|et{#EVAL{_BOUTON_MODE_IMAGE}}|oui)
+		<div class="mode">
+			[(#MODE|=={image}|oui)[(#BOUTON_ACTION{<:medias:upload_info_mode_document:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-document,#SELF},ajax})]
+			][(#MODE|=={image}|non)[(#BOUTON_ACTION{<:medias:upload_info_mode_image:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-image,#SELF},ajax})]]
 		</div>]
-		<div class="actions">
-			<BOUCLE_compte(documents_liens){id_document}{0,2} />
-			[(#TOTAL_BOUCLE|=={1}|et{#AUTORISER{dissocierdocuments,#OBJET,#ID_OBJET}}|et{#VU|=={non}})[(#BOUTON_ACTION{<:medias:bouton_enlever_supprimer_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT-suppr-safe,#SELF},ajax,<:medias:bouton_enlever_supprimer_document_confirmation:>,'',[(function(){jQuery("#doc(#ID_DOCUMENT)").animateRemove();return true;})()]})]]
-			[(#AUTORISER{dissocierdocuments,#OBJET,#ID_OBJET})[(#BOUTON_ACTION{<:medias:bouton_enlever_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT--safe,#SELF},ajax,'','',[(function(){jQuery("#doc(#ID_DOCUMENT)").animateRemove();return true;})()]})]]
+		<BOUCLE_compte(documents_liens){id_document}{0,2} />
+		[(#TOTAL_BOUCLE|=={1}|et{#AUTORISER{dissocierdocuments,#OBJET,#ID_OBJET}}|et{#VU|=={non}})[(#BOUTON_ACTION{<:medias:bouton_enlever_supprimer_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT-suppr-safe,#SELF},ajax,<:medias:bouton_enlever_supprimer_document_confirmation:>,'',[(function(){jQuery("#doc(#ID_DOCUMENT)").animateRemove();return true;})()]})]]
+		[(#AUTORISER{dissocierdocuments,#OBJET,#ID_OBJET})[(#BOUTON_ACTION{<:medias:bouton_enlever_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT--safe,#SELF},ajax,'','',[(function(){jQuery("#doc(#ID_DOCUMENT)").animateRemove();return true;})()]})]]
 			[(#AUTORISER{modifier,document,#ID_DOCUMENT}|oui)
 			<a href="#URL_ECRIRE{document_edit,id_document=#ID_DOCUMENT}" target="_blank" class="editbox" tabindex="0" role="button"><:medias:bouton_modifier_document:></a>
 			]<//B_compte>
-			[(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,document_desc,objet,#OBJET,id_objet,#ID_OBJET},data,''}})]
-		</div>
-		<div class="nettoyeur"></div>
+		[(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,document_desc,objet,#OBJET,id_objet,#ID_OBJET},data,''}})]
 	</div>
+
+	<div class="nettoyeur"></div>
+</div>
 </BOUCLE_docslies>
\ No newline at end of file
diff --git a/paquet.xml b/paquet.xml
index d745fbf8e0e70d0458e62fa90cd126cbdf9682fd..d9a894f130a0fa8f9831590ee02a97548044394b 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="medias"
 	categorie="multimedia"
-	version="2.15.0"
+	version="2.16.0"
 	etat="stable"
 	compatibilite="[3.2.0-dev;]"
 	logo="prive/themes/spip/images/portfolio-32.png"
diff --git a/prive/style_prive_plugin_medias.html b/prive/style_prive_plugin_medias.html
index e4fb4ccf5a9d278bae07fbd588bb21be362190d0..0df81e5da7a752cd1efbaa7861acfc63230fdbc9 100644
--- a/prive/style_prive_plugin_medias.html
+++ b/prive/style_prive_plugin_medias.html
@@ -148,18 +148,30 @@ p.actions {clear:both;}
 .portfolios {}
 .portfolios h3 {background-color:#GET{claire};padding:2px 10px;color:#000;margin-bottom:0;}
 .portfolios .liste_items {margin-top:0;}
-.portfolios .item {clear:both;padding-#GET{left}:160px;padding-#GET{right}:2px;}
-.portfolios .item .tourner {display:block;float:#GET{right};}
-.portfolios .item .tourner button {border:1px solid #999;padding:0;display:block;float:#GET{left};margin-#GET{left}:4px;}
-
-.portfolios .item .vignette {margin-#GET{left}:-160px; width: 150px; text-align: center; float:#GET{left};}
-.ie6 .portfolios .item .spip_logo {display:inline;position:relative;}
+.portfolios .item { clear:both; }
+.portfolios .item .presentation { display:flex; flex-direction:[(#ENV{ltr}|choixsiegal{left,row,row-reverse})]; width:100%; }
+.portfolios .item .vignette { width: 150px; min-width:150px; text-align: center; }
+.portfolios .item .descriptions {  display:flex; flex-direction: column; padding-#GET{right}: 0.6925em; margin-#GET{left}:1em; width: 100%; flex-grow:1; }
 .portfolios .item .titrem {margin:0 0 5px;font-size:1em;}
-.portfolios .item .titrem .fichier {font-weight:normal;font-size:0.9em;font-style:italic;}
+.portfolios .item .titrem .fichier {font-weight:normal;font-size:0.9em; font-style:italic; display:block; }
 .portfolios .item .titrem .titre {display:block;font-size:1.1em;}
-.portfolios .item .infos { display: block; margin-bottom: 1em; }
-.portfolios .item div.mode {display:inline-block;clear:#GET{right};}
-.portfolios .item .actions {display:inline;}
+.portfolios .item .descriptif { color:#444; margin-bottom:4px; flex-grow: 1; }
+.portfolios .item .infos .permanentes {
+	display: block;
+	padding:2px 4px; margin-top:.5em; color:rgba(0,0,0,.8);
+	border-top:1px solid rgba(100, 100, 100, .1);
+	border-bottom:1px solid rgba(100, 100, 100, .1);
+}
+.portfolios .item .infos .lien_details { float:#GET{right}; cursor:pointer; }
+.portfolios .item .infos .detaillees { display:none; margin-top:1em; }
+.portfolios .item table.compact th,
+.portfolios .item table.compact td { padding:.3em .3em; }
+.portfolios .item table.compact tr { border-top:1px solid rgba(100, 100, 100, .1); border-bottom:1px solid rgba(100, 100, 100, .1);  }
+.portfolios .item table.compact tr:nth-child(2n) td,
+.portfolios .item table.compact tr:nth-child(2n) th { background:none; }
+.portfolios .item .infos .credits .vide {  font-style:italic; opacity:.5; }
+.portfolios .item div.mode {display:inline-block; clear:#GET{right};}
+.portfolios .item .actions { clear:both; overflow:visible; margin-top:.6925em; padding: 0 .6925em; margin-bottom:-3px; }
 .portfolios .item div.mode,
 .portfolios .item .actions,
 .portfolios .item div.mode button,
@@ -168,25 +180,23 @@ p.actions {clear:both;}
 .portfolios .item .actions button {display: inline;}
 
 .portfolios .item .actions > *,
-.portfolios .item .tourner,
 .portfolios .item .mode {opacity:0.1;}
 .portfolios .item .actions a.editbox { visibility: visible; opacity: 1; float: #GET{right}; font-weight: bold; }
 .portfolios .item:hover .actions > *,
-.portfolios .item:hover .tourner,
 .portfolios .item:hover .mode {visibility:visible;opacity:1;z-index:1000;}
 .portfolios .item.hover .actions > *,
-.portfolios .item.hover .tourner,
 .portfolios .item.hover .mode {visibility:visible;opacity:1;z-index:1000;}
 
-.portfolios .item .titre > .sanstitre {opacity:0.1;}
+.portfolios .item .titre > .sanstitre,
+.portfolios .item .titre > .sanstitre + .fichier {opacity:0.4;}
 
-.portfolios .tout_supprimer span {display:block;text-align:#GET{right};}
+.portfolios .tout_supprimer { clear:both; margin-top:.6925em; display:block; }
+.portfolios .tout_supprimer span {display:block; text-align:#GET{right};}
 
 .item.vu_oui {background:#f9f9f9;}
 
 
 /* Types d'affichages des listes de douments */
-
 h3 .affichages {
 	float:#GET{right};
 }
@@ -222,20 +232,14 @@ h3 .affichages {
 }
 
 /* Liste courte de documents */
-.portfolios .documents_liste .tout_supprimer {
-	clear:both;
-	margin-top:.5em;
-	display:block;
-}
 .portfolios .documents_liste .item  {
-	padding: 7px;
-	padding-#GET{right}: 100px;
-	padding-#GET{left}: 75px;
 	position:relative;
+	padding:7px;
+	display:flex;
 }
 .portfolios .documents_liste .item .vignette {
 	width:65px;
-	margin-#GET{left}: -75px;
+	min-width: 65px;
 }
 .portfolios .documents_liste .item .vignette img {
 	max-height: 36px;
@@ -243,8 +247,14 @@ h3 .affichages {
 	height:auto;
 	width:auto;
 }
-.portfolios .documents_liste .item .tourner,
+.portfolios .documents_liste .item .presentation {
+	align-items:center;
+	flex-grow:1;
+	overflow:hidden;
+}
+.portfolios .item .descriptions {  overflow: hidden; }
 .portfolios .documents_liste .item .infos,
+.portfolios .documents_liste .item .descriptif,
 .portfolios .documents_liste .item .mode,
 .portfolios .documents_liste .item .actions > * {
 	display:none;
@@ -254,21 +264,17 @@ h3 .affichages {
 }
 .portfolios .documents_liste .item .titrem .fichier,
 .portfolios .documents_liste .item .titrem .titre {
-	max-height:1.2em;
+	max-height:2.4em;
 	line-height:1.2em;
 	overflow:hidden;
 	white-space: nowrap;
 	display:block;
-	text-overflow:ellipsis;
-}
-.portfolios .documents_liste .item .titrem .titre {
-	max-height:1.5em;
-	line-height:1.5em;
+	text-overflow:ellipsis; /* necessite des overflow:hidden; sur les parents */
 }
 .portfolios .documents_liste .item .actions {
-	position:absolute;
-	#GET{right}:0;
-	top:1.2em;
+	align-items:center;
+	margin-#GET{left}:1em;
+	padding-#GET{right}:0;
 }
 .portfolios .documents_liste .item .actions .editbox,
 .portfolios .documents_liste .item .actions .ordoc-deplacer {
@@ -290,12 +296,11 @@ h3 .affichages {
 	height:130px;
 	display:flex;
 	flex-direction:column;
-
+	align-items:center;
 }
-.portfolios .documents_cases .item .tourner,
-.portfolios .documents_cases .item .infos,
+.portfolios .documents_cases .item .presentation { flex-grow:1; justify-content: center; }
+.portfolios .documents_cases .item .descriptions,
 .portfolios .documents_cases .item .mode,
-.portfolios .documents_cases .item .titrem,
 .portfolios .documents_cases .item .actions > * {
 	display:none;
 }
@@ -308,14 +313,12 @@ h3 .affichages {
 	float:#GET{left};
 }
 .portfolios .documents_cases .item .vignette {
-	float: none;
-	margin-#GET{left}: 0;
 	width:auto;
 	height:auto;
-	flex-grow:1;
+	min-width:auto;
 }
 .portfolios .documents_cases .item .vignette img {
-	max-height:110px;
+	max-height: 95px;
 	max-width:110px;
 	width: auto;
 	height: auto;
@@ -324,6 +327,9 @@ h3 .affichages {
 .portfolios .documents_cases .item .actions {
 	display:block;
 	width:100%;
+	margin-bottom:0;
+	box-sizing:border-box;
+	padding: 4px 6px;
 }
 .portfolios .documents_cases .tout_supprimer {
 	flex-basis: 100%;