diff --git a/library/Class/UserGroup.php b/library/Class/UserGroup.php
index 319242fd9687a9854e6fc40e9b382ce937c26069..3160871c8f7fb2cbe141514468391e1dca19c916 100644
--- a/library/Class/UserGroup.php
+++ b/library/Class/UserGroup.php
@@ -31,7 +31,7 @@ class Class_UserGroup extends Storm_Model_Abstract {
 	protected $_belongs_to = ['categorie' => ['model' => 'Class_UserGroupCategorie',
 																						'referenced_in' => 'id_cat']];
 
-	// Les droits doivent être une puissance de 2 (ce sont des masques)
+	// Les droits sont utilisés comme puissance de 2 (ce sont des masques) pour l'attribut rights_token
 	const RIGHT_SUIVRE_FORMATION = 0;
 	const RIGHT_DIRIGER_FORMATION = 1;
 	const RIGHT_ACCES_ARTEVOD = 2;
@@ -40,7 +40,7 @@ class Class_UserGroup extends Storm_Model_Abstract {
 	const RIGHT_ACCES_VODECLIC = 5;
 	const RIGHT_ACCES_TOUTAPPRENDRE = 6;
 	const RIGHT_ACCES_MUSICME = 7;
-//	const RIGHT_ACCES_NUMERIQUEPREMIUM = 21;
+	const RIGHT_ACCES_NUMERIQUEPREMIUM = 20;
 
 	// droits moderateurs
 	const RIGHT_USER_DOMAINES_SUPPRESSION_LIMIT = 8;
@@ -70,6 +70,7 @@ class Class_UserGroup extends Storm_Model_Abstract {
 		self::RIGHT_ACCES_CVS => 'Bibliothèque numérique: accéder à CVS',
 		self::RIGHT_ACCES_VODECLIC => 'Bibliothèque numérique: accéder à Vodéclic',
 		self::RIGHT_ACCES_TOUTAPPRENDRE => 'Bibliothèque numérique: accéder à Tout Apprendre',
+		self::RIGHT_ACCES_NUMERIQUEPREMIUM => 'Bibliothèque numérique: accéder à Numérique Premium',
 		self::RIGHT_ACCES_MUSICME => 'Bibliothèque numérique: accéder à Music Me',
 		self::RIGHT_USER_DOMAINES_SUPPRESSION_LIMIT => 'Domaines: accès, modification et suppression limitée au créateur',
 		self::RIGHT_USER_DOMAINES_TOTAL_ACCESS => 'Domaines: accès total en modification et suppression',
diff --git a/library/Class/Users.php b/library/Class/Users.php
index 7a0944add90ab8a693fbd5ac56ea40fc44c1360a..01ee8dd08b544df0537b90f8d37734ebcd3ea865 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -564,6 +564,13 @@ class Class_Users extends Storm_Model_Abstract {
 	}
 
 
+	public function isAbonneAndHasRightToAccess($access_name) {
+		if ($this->isAbonne() && !$this->isAbonnementValid())
+			return false;
+		return $this->hasRightToAccess($access_name);
+	}
+
+
 	/**
 	 * @return array
 	 */
@@ -623,46 +630,41 @@ class Class_Users extends Storm_Model_Abstract {
 	}
 
 
-	public function hasRightAccesArteVod() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_ARTEVOD);
+	/**
+	 * @return bool
+	 */
+	public function hasRightAccessNumeriquePremium() {
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_NUMERIQUEPREMIUM);
 	}
 
 
+	public function hasRightAccesArteVod() {
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_ARTEVOD);
+	}
+
 
 	public function hasRightAccesNumilog() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_NUMILOG);
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_NUMILOG);
 	}
 
+
 	public function hasRightAccesCVS() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_CVS);
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_CVS);
 	}
 
 
 	public function hasRightAccesVodeclic() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_VODECLIC);
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_VODECLIC);
 	}
 
 
-
 	public function hasRightAccesToutApprendre() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_TOUTAPPRENDRE);
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_TOUTAPPRENDRE);
 	}
 
 
 	public function hasRightAccesMusicMe() {
-		if ($this->isAbonne() && !$this->isAbonnementValid())
-			return false;
-		return $this->hasRightToAccess(Class_UserGroup::RIGHT_ACCES_MUSICME);
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_MUSICME);
 	}
 
 
diff --git a/library/ZendAfi/View/Helper/RenderAlbum.php b/library/ZendAfi/View/Helper/RenderAlbum.php
index e2da3bcc4c39e05fd066205be0818dcb15ce2107..b0538f7a8fa121094d66cc17d9723e55ae4b7b0b 100644
--- a/library/ZendAfi/View/Helper/RenderAlbum.php
+++ b/library/ZendAfi/View/Helper/RenderAlbum.php
@@ -36,6 +36,7 @@ class ZendAfi_View_Helper_RenderAlbum extends Zend_View_Helper_HtmlElement {
 		
 		if ($album->isNumilog())
 			return $this->view->tagLivreNumerique($album);
+
 		if ($album->isDiaporama() && $album->hasOnlyImages())
 			return $this->view->tagSlideshow($album);
 
@@ -60,6 +61,9 @@ class ZendAfi_View_Helper_RenderAlbum extends Zend_View_Helper_HtmlElement {
 		if ($album->isAudioRecord())
 			return $this->view->tagAlbumTrackList($album);
 
+		if ($album->isNumeriquePremium())
+			return $this->view->tagNumeriquePremiumBook($album);
+
 		return $this->view->tagAlbumMediaList($album);
 	}
 }
diff --git a/library/ZendAfi/View/Helper/TagNumeriquePremiumBook.php b/library/ZendAfi/View/Helper/TagNumeriquePremiumBook.php
new file mode 100644
index 0000000000000000000000000000000000000000..0e06035de53af9b9269b325ca0875d550cd9234e
--- /dev/null
+++ b/library/ZendAfi/View/Helper/TagNumeriquePremiumBook.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * AFI-OPAC 2.0 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
+ * the Free Software Foundation.
+ *
+ * There are special exceptions to the terms and conditions of the AGPL as it
+ * is applied to this software (see README file).
+ *
+ * AFI-OPAC 2.0 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * along with AFI-OPAC 2.0; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ */
+
+class ZendAfi_View_Helper_TagNumeriquePremiumBook extends ZendAfi_View_Helper_TagRessourceNumerique {
+	use Trait_Translator;
+	
+	public function tagNumeriquePremiumBook($album) {
+		if (!$this->canAccessRessourceNumerique())
+			return '<p>'.$this->_('Vous devez être connecté sous un compte avec abonnement valide pour pouvoir accéder à ce document').'</p>';
+
+		return $this->view->tagAnchor($album->getExternalUri(),
+																	$this->_('Accéder au document Numérique Premium'));
+	}
+
+
+	public function hasRightAccesRessourcesNumeriques($user) {
+		xdebug_break();
+		return $user->hasRightAccessNumeriquePremium();
+	}
+
+}
+
+?>
\ No newline at end of file
diff --git a/tests/library/ZendAfi/View/Helper/RenderAlbumTest.php b/tests/library/ZendAfi/View/Helper/RenderAlbumTest.php
index 52c8d6be1ec822c7f7dfd980c50c525d26cfdbb6..adf721543c80aa149edb1467d75bbfc079412525 100644
--- a/tests/library/ZendAfi/View/Helper/RenderAlbumTest.php
+++ b/tests/library/ZendAfi/View/Helper/RenderAlbumTest.php
@@ -146,4 +146,52 @@ class ZendAfi_View_Helper_RenderAlbumFormationVodeclicTest extends ZendAfi_View_
 }
 
 
+
+
+class ZendAfi_View_Helper_RenderAlbumNumeriquePremiumTest extends ZendAfi_View_Helper_RenderAlbumTestCase {
+	public function setUp() {
+		parent::setUp();
+		$this->book = $this->fixture('Class_Album',
+																 ['id' => 3, 
+																	'libelle' => 'Emile Zola',
+																	'external_uri' => 'http://www.numeriquepremium.com/content/books/9782760622173'])
+			->beNumeriquePremium();
+	}
+
+
+	/** @test */
+	public function linkToBookShouldNotBeDisplay(){
+		$this->assertContains('Vous devez être connecté sous un compte avec abonnement valide pour pouvoir accéder à ce document',
+													$this->_helper->renderAlbum($this->book));
+	}
+
+
+	/** @test */
+	public function linkToNumeriquePremiumPageShouldBePresentOnValidUser() {
+		$logged_user = $this->fixture('Class_Users',
+																	['id' => 6, 
+																	 'nom'=>'Paul',
+																	 'login'=>'Polux',
+																	 'password'=>'123456',
+																	 'id_site' => 1,
+																	 'idabon' => '12345',
+																	 'user_groups' => [$this->fixture('Class_UserGroup',
+																																		['id' => '20',
+																																		 'libelle' => 'Multimedia',
+																																		 'rights' => [Class_UserGroup::RIGHT_ACCES_NUMERIQUEPREMIUM]])]
+																		]);
+
+		$logged_user->beAbonneSIGB()->assertSave();
+
+		ZendAfi_Auth::getInstance()->logUser($logged_user);
+
+		$html = $this->_helper->renderAlbum($this->book);
+		$this->assertXPathContentContains($html,
+																			'//a[@href="http://www.numeriquepremium.com/content/books/9782760622173"]', 
+																			utf8_encode('Accéder au document Numérique Premium'));
+	}
+
+}
+
+
 ?>
\ No newline at end of file