diff --git a/.gitattributes b/.gitattributes
index 900b91216a92b00f442a33a1803e1a0534e819f4..64f6ef3233c4a30b9221ecc196751be3df5108b8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2533,6 +2533,7 @@ public/admin/images/ico/tester.gif -text
 public/admin/images/ico/up.gif -text
 public/admin/images/insert.gif -text
 public/admin/images/loading.gif -text
+public/admin/images/patience.gif -text svneol=unset#unset
 public/admin/images/picto/abonnes.gif -text
 public/admin/images/picto/alert.png -text
 public/admin/images/picto/artevod_16.png -text svneol=unset#image/png
diff --git a/application/modules/admin/controllers/UploadController.php b/application/modules/admin/controllers/UploadController.php
index f0ba5f65039a86dcb23c043f8495000e4f5f0b99..6db76c96e686a89b72d863c59b1c1c377a5937bd 100644
--- a/application/modules/admin/controllers/UploadController.php
+++ b/application/modules/admin/controllers/UploadController.php
@@ -19,6 +19,10 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
  */
 class Admin_UploadController extends Zend_Controller_Action {
+	public function preDispatch(){
+		Zend_Layout::startMvc(array());
+	}
+
 	public function multipleAction() {
 		$this->view->headScript()
 								->appendFile(JQUERY)
@@ -71,7 +75,7 @@ $(document).ready(function () {
 
 
 	public function vignetteNoticeAction() {
-		$this->_helper->getHelper('viewRenderer')->setLayoutScript('empty.phtml');
+		$this->_helper->getHelper('viewRenderer')->setLayoutScript('subModal.phtml');
 
 		$form = new ZendAfi_Form_VignetteNotice();
 
diff --git a/application/modules/admin/views/scripts/upload/vignette-notice.phtml b/application/modules/admin/views/scripts/upload/vignette-notice.phtml
index 5bbc86c61b0a631352afafcd8f08af293e674e35..63d55fd41420e8b49f7fb42f5b731c2e460995db 100644
--- a/application/modules/admin/views/scripts/upload/vignette-notice.phtml
+++ b/application/modules/admin/views/scripts/upload/vignette-notice.phtml
@@ -1,5 +1,19 @@
+<h1 style="text-align: center; margin-bottom: 10px"><?php echo $this->_('Modifier la vignette'); ?></h1>
+
+<div class="formTable" style="margin: 0 auto">
+
 <?php 
 if ($this->error)
 	echo '<div class="error">'.$this->_('Erreur: ').$this->error.'</div>';
-echo $this->form; 
-?>
\ No newline at end of file
+echo $this->renderForm($this->form); 
+?>
+
+<img class="patience" style="display:none; margin: 0 auto" src="<?php echo URL_ADMIN_IMG ?>patience.gif" border="0"  alt="'.$this->_('Chargement en cours').'" />
+</div>
+
+
+<script>
+$('input[type=submit]').click(function() {
+		$('img.patience').css('display', 'block');
+	});
+</script>
\ No newline at end of file
diff --git a/application/modules/admin/views/scripts/upload/vignette-uploaded.phtml b/application/modules/admin/views/scripts/upload/vignette-uploaded.phtml
index 2616a4005452792f0b52eb57c169e592e4adb0b9..e5c395785d8ebfc118bc2ce487eee4bd81a9fa8f 100644
--- a/application/modules/admin/views/scripts/upload/vignette-uploaded.phtml
+++ b/application/modules/admin/views/scripts/upload/vignette-uploaded.phtml
@@ -1,4 +1,4 @@
-<p>
+<p style="text-align: center">
 <?php
 echo $this->_('La vignette a bien été transférée');
 ?>
diff --git a/application/modules/opac/views/scripts/recherche/viewnotice.phtml b/application/modules/opac/views/scripts/recherche/viewnotice.phtml
index d6fd8c312fef84d96c0dbfd02720f99826b950d9..36d9eb0d3c8c12d82e8dd5fc29a3b820e0eafbb7 100644
--- a/application/modules/opac/views/scripts/recherche/viewnotice.phtml
+++ b/application/modules/opac/views/scripts/recherche/viewnotice.phtml
@@ -45,16 +45,23 @@ $notice_html=new Class_NoticeHtml($this->notice);
 
 			<div style="width:120px; height: 0px; float:right; ">
 				<?php
-					if($this->url_img["image"])
-					{
+					if($this->url_img["image"])	{
 						printf('<a id="vignette" href="%s" title="%s">', $this->url_img["image"], $this->notice["titre_principal"]);
 						printf('<img src="%s" width="100" border="0" alt="%s" />', $this->url_img["vignette"], $this->_('Vignette'));
 						echo '</a>';
 						echo '<script type="text/javascript">$("a[id=\'vignette\']").slimbox({}, null, null)</script>';
 					}
 					else 
-						printf('<img src="%s" width="100" border="0" alt="%s" /> ', $this->url_img["vignette"], $this->_('Vignette'));
-				?>
+						echo printf('<img src="%s" width="100" border="0" alt="%s" /> ', $this->url_img["vignette"], $this->_('Vignette'));
+
+          if (Class_Users::isCurrentUserCanAccesBackend())
+						echo sprintf('<a href="#" onclick="showPopWin(\'%s\', 700, 200); return false;">%s</a>',
+												 $this->url(['module' => 'admin', 
+																		 'controller' => 'upload',
+																		 'action' => 'vignette-notice',
+												 ]),
+												 $this->_('Modifier la vignette'));
+        ?>
 
 				<div id="reseaux-sociaux"></div>
 				<?php
diff --git a/library/Class/Users.php b/library/Class/Users.php
index fe08e9a194974b37580242188021e673a76b830a..481c480172fffb429e0eb4a906dbeef3a650b4d2 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -969,9 +969,7 @@ class Class_Users extends Storm_Model_Abstract {
 	 * return Class_Users
 	 */
 	public function beAbonneSIGB() {
-		return $this
-			->setRoleLevel(ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB)
-			->setRole(ZendAfi_Acl_AdminControllerRoles::getNomRole(ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB));
+		return $this->changeRoleTo(ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB);
 	}
 
 
@@ -979,8 +977,24 @@ class Class_Users extends Storm_Model_Abstract {
 	 * return Class_Users
 	 */
 	public function beInvite() {
+		return $this->changeRoleTo(ZendAfi_Acl_AdminControllerRoles::INVITE);
+	}
+
+
+	/**
+	 * return Class_Users
+	 */
+	public function beAdminPortail() {
+		return $this->changeRoleTo(ZendAfi_Acl_AdminControllerRoles::ADMIN_PORTAIL);
+	}
+
+
+	/**
+	 * return Class_Users
+	 */
+	public function changeRoleTo($role) {
 		return $this
-			->setRoleLevel(ZendAfi_Acl_AdminControllerRoles::INVITE)
-			->setRole(ZendAfi_Acl_AdminControllerRoles::getNomRole(ZendAfi_Acl_AdminControllerRoles::INVITE));
+			->setRoleLevel($role)
+			->setRole(ZendAfi_Acl_AdminControllerRoles::getNomRole($role));
 	}
 }
\ No newline at end of file
diff --git a/library/ZendAfi/Form/VignetteNotice.php b/library/ZendAfi/Form/VignetteNotice.php
index 93ce371e8c567c990407458ce5eb20cd976ea2a8..f3e456a2ab3d94b017c15155aec10a3f985c66e7 100644
--- a/library/ZendAfi/Form/VignetteNotice.php
+++ b/library/ZendAfi/Form/VignetteNotice.php
@@ -28,6 +28,8 @@ class ZendAfi_Form_VignetteNotice extends ZendAfi_Form {
 			->addElement('url', 
 									 'url_vignette', 
 									 ['label' => $this->_('URL de la vignette'),
+										'size' => 80,
+										'required' => true,
 										'placeholder' => 'ex: http://upload.wikimedia.org/wikipedia/en/2/2c/Harry_Potter_and_the_Philosopher%27s_Stone.jpg',
 										'validators' => ['url', 'vignetteUrl']])
 			->addElement('submit',
diff --git a/public/admin/images/patience.gif b/public/admin/images/patience.gif
new file mode 100644
index 0000000000000000000000000000000000000000..085ccaecaf5fa5c34bc14cd2c2ed5cbbd8e25dcb
Binary files /dev/null and b/public/admin/images/patience.gif differ
diff --git a/tests/application/modules/admin/controllers/UploadControllerTest.php b/tests/application/modules/admin/controllers/UploadControllerTest.php
index b43c3ba1f7bcb8986c3a5031ca944cc5a5dc5de6..eba87c193784c71eb09c1b072e1964ba4bc163ae 100644
--- a/tests/application/modules/admin/controllers/UploadControllerTest.php
+++ b/tests/application/modules/admin/controllers/UploadControllerTest.php
@@ -340,7 +340,8 @@ class UploadControllerVignetteNoticeActionInvalidPostTest extends UploadControll
 		return [
 						['http://upload.wikimedia.org/potter.bmp'],
 						['http://upload.wikimedia.org/potter'],
-						['zor k']
+						['zor k'],
+						['']
 		];
 	}
 
diff --git a/tests/application/modules/opac/controllers/RechercheControllerTest.php b/tests/application/modules/opac/controllers/RechercheControllerTest.php
index 6642e416ab0afff51249e3a3de8a74a0503e5be5..f7e76607c27e6d4669b07abc7c78e52e647d70f9 100644
--- a/tests/application/modules/opac/controllers/RechercheControllerTest.php
+++ b/tests/application/modules/opac/controllers/RechercheControllerTest.php
@@ -158,6 +158,25 @@ class RechercheControllerViewNoticeClefAlphaWithDoublonsTest extends RechercheCo
 
 
 
+class RechercheControllerUploadVignetteTest extends RechercheControllerNoticeTestCase {
+	/** @test */
+	public function linkToUploadVignetteShouldNotBePresentForInvite() {
+		Class_Users::getIdentity()->beInvite();
+		$this->dispatch(sprintf('recherche/viewnotice/id/%d', $this->notice->getId()), true);
+		$this->assertNotXPathContentContains('//a', 'Modifier la vignette');
+	}
+
+	/** @test */
+	public function linkToUploadVignetteShouldBePresentForAdmin() {
+		Class_Users::getIdentity()->beAdminPortail();
+		$this->dispatch(sprintf('recherche/viewnotice/id/%d', $this->notice->getId()), true);
+		$this->assertXPathContentContains('//a', 'Modifier la vignette');
+	}
+}
+
+
+
+
 class RechercheControllerReservationPickupAjaxActionTest extends AbstractControllerTestCase {
 	public function setUp() {
 		parent::setUp();