diff --git a/application/modules/opac/controllers/ModulesController.php b/application/modules/opac/controllers/ModulesController.php
index 78b81b07cd5c403dbc23310bc65f9efa9f1b94c2..24db5cb0750ef10db83f8f3fc22f0350643219b0 100644
--- a/application/modules/opac/controllers/ModulesController.php
+++ b/application/modules/opac/controllers/ModulesController.php
@@ -87,6 +87,13 @@ class ModulesController extends Zend_Controller_Action {
 	}
 
 
+	public function planetnemoAction() {
+		$planetnemo = new Class_Systeme_ModulesMenu_PlanetNemo();
+		$planetnemo->afterLoginRedirectTo($this->_request->getServer('HTTP_REFERER'));
+		$this->checkNotifyMessage($planetnemo, $planetnemo->getDynamiqueUrl());
+	}
+
+
 	protected function checkNotifyMessage($ressource_link, $url) {
 		if ('' == $url) {
 			$this->_helper->notify($ressource_link->getMessage());
diff --git a/library/Class/AdminVar.php b/library/Class/AdminVar.php
index 7bf81c2ecdc8c12262cf2390c72c641d4975613c..a604c9e686ed3d42ac550b11930f3f702c3a7b8c 100644
--- a/library/Class/AdminVar.php
+++ b/library/Class/AdminVar.php
@@ -167,6 +167,11 @@ class Class_AdminVar extends Storm_Model_Abstract {
 	 }
 
 
+	 public static function isPlanetNemoEnabled()  {
+		 return ('' != self::get('PLANETNEMO'));
+	 }
+
+
 	 public static function isNumeriquePremiumEnabled() {
 		 return '' != self::get('NUMERIQUE_PREMIUM_URL');
 	 }
@@ -607,6 +612,9 @@ class Class_AdminVar extends Storm_Model_Abstract {
 														'ORPHEA_USERNAME' => ['description' => 'Nom de l\'utilisateur Orphea'],
 														'ORPHEA_PWD' => ['description' => 'Mot de passe de l\'utilisateur Orphea'],
 														'ORPHEA_LANGUAGE' => ['description' => 'Paramètre permettant de choisir la langue des des ressources. La liste des codes disponibles se trouve à cette adresse http://help.orphea.com/43/gateway/#language_identifiers'],
+														'PLANETNEMO' => ['description' => 'Activation de la ressource numérique PlanetNemo',
+												 'type' => self::TYPE_ON_OFF,
+				],
 			];
 
 		return self::$_knownVars;
diff --git a/library/Class/MyCowLink.php b/library/Class/MyCowLink.php
index 9d5efe0bd88268dd76fbb7b47f6f6cc9f13a0a42..cc8b7cd21fc583da2cb64086bf1b5bd700927280 100644
--- a/library/Class/MyCowLink.php
+++ b/library/Class/MyCowLink.php
@@ -19,8 +19,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
-
-class Class_MyCowLink extends Class_WebService_Abstract {
+class Class_MyCowLink {
 	protected $_user;
 
 	public static function forUser($user) {
@@ -30,7 +29,6 @@ class Class_MyCowLink extends Class_WebService_Abstract {
 
 	public function __construct($user) {
 		$this->_user = $user;
-		return $this;
 	}
 
 
@@ -51,6 +49,5 @@ class Class_MyCowLink extends Class_WebService_Abstract {
 		return Class_Url::assemble(['controller' => 'modules',
 																'action' => 'mycow']);
 	}
-
 }
 ?>
\ No newline at end of file
diff --git a/library/Class/PlanetNemoLink.php b/library/Class/PlanetNemoLink.php
new file mode 100644
index 0000000000000000000000000000000000000000..2fe2026c024fa4284b13db6886b5be8c124ede52
--- /dev/null
+++ b/library/Class/PlanetNemoLink.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH 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).
+ *
+ * BOKEH 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 BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+
+class Class_PlanetNemoLink {
+	const PLANETNEMO_URL = 'http://www.planetnemo.fr/site_pay/auth_cas/';
+
+	protected $_user;
+
+	public function __construct($user) {
+		$this->_user = $user;
+	}
+
+
+	public static function forUser($user) {
+		return new self($user);
+	}
+
+
+	public function url() {
+		return self::PLANETNEMO_URL . $this->getCasComposant();
+	}
+
+
+	protected function getCasComposant() {
+		$params = ['url' => Class_Url::absolute(['controller' => 'cas-server'], null, true),
+							 'ticket' => (new Class_CasTicket())->getTicketForUser($this->_user)];
+		return '?' . http_build_query(array_filter($params));
+	}
+
+
+	public static function staticUrl() {
+		return Class_Url::assemble(['controller' => 'modules',
+																'action' => 'planetnemo']);
+	}
+
+}
+?>
\ No newline at end of file
diff --git a/library/Class/Systeme/ModulesMenu.php b/library/Class/Systeme/ModulesMenu.php
index ae1804ea538326f99e29f5b735c1dcfc9d162ce2..d5a36d74a9357ba1f46483b9819a41634ae41642 100644
--- a/library/Class/Systeme/ModulesMenu.php
+++ b/library/Class/Systeme/ModulesMenu.php
@@ -122,6 +122,7 @@ class Class_Systeme_ModulesMenu extends Class_Systeme_ModulesAbstract {
 												 "LEKIOSK" => new Class_Systeme_ModulesMenu_LeKiosk(),
 												 "MUSICME" => new Class_Systeme_ModulesMenu_MusicMe(),
 												 "MYCOW" => new Class_Systeme_ModulesMenu_MyCow(),
+												 "PLANETNEMO" => new Class_Systeme_ModulesMenu_PlanetNemo(),
 												 "RESERVER_POSTE" => new Class_Systeme_ModulesMenu_ReserverPoste(),
 												 'SUGGESTION_ACHAT' => new Class_Systeme_ModulesMenu_SuggestionAchat(),
 												 'WEBKIOSK_RESERVATION' => new Class_Systeme_ModulesMenu_WebkioskReservation()
diff --git a/library/Class/Systeme/ModulesMenu/PlanetNemo.php b/library/Class/Systeme/ModulesMenu/PlanetNemo.php
new file mode 100644
index 0000000000000000000000000000000000000000..e900c4c72bd57ca45fa5ab17a43b51527cc821d1
--- /dev/null
+++ b/library/Class/Systeme/ModulesMenu/PlanetNemo.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH 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).
+ *
+ * BOKEH 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 BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+class Class_Systeme_ModulesMenu_PlanetNemo extends Class_Systeme_ModulesMenu_SSOAbstract {
+
+	/** @var string */
+	protected $_group = Class_Systeme_ModulesMenu::GROUP_MENU_ABONNES;
+
+	/** @var string */
+	protected $_type_module = 'PLANETNEMO';
+
+	/** @var string */
+	protected $_libelle = 'Lien vers planetnemo.fr';
+
+
+	public function urlForUser($user) {
+		if ($user && $user->hasRightAccessPlanetNemo() && Class_AdminVar::isPlanetNemoEnabled())
+			return Class_PlanetNemoLink::forUser($user)->url();
+
+		$this->setMessage('Vous n\'avez pas accès à cette ressource.');
+		return '';
+	}
+
+
+	public function isVisibleForProfil($profil) {
+		return Class_AdminVar::isPlanetNemoEnabled();
+	}
+
+
+	public function getUrl($preferences = []) {
+		return Class_PlanetNemoLink::staticUrl();
+	}
+
+
+	public function shouldOpenInNewWindow($preferences) {
+		return null != Class_Users::getIdentity();
+	}
+}
+?>
\ No newline at end of file
diff --git a/library/Class/UserGroup.php b/library/Class/UserGroup.php
index af7ad0deb37d26ea5e8b20c38106786d3fcf9fec..11aa4913182b16cb04ebe646b4985ba85b12d6eb 100644
--- a/library/Class/UserGroup.php
+++ b/library/Class/UserGroup.php
@@ -54,6 +54,7 @@ class Class_UserGroup extends Storm_Model_Abstract {
 	const RIGHT_ACCES_LEKIOSK = 21;
 	const RIGHT_ACCES_CYBERLIBRIS = 22;
 	const RIGHT_ACCES_MYCOW = 24;
+	const RIGHT_ACCES_PLANETNEMO = 27;
 
 	// droits moderateurs
 	const RIGHT_USER_DOMAINES_SUPPRESSION_LIMIT = 8;
@@ -91,6 +92,7 @@ class Class_UserGroup extends Storm_Model_Abstract {
 		self::RIGHT_ACCES_MUSICME => 'Bibliothèque numérique: accéder à Music Me',
 		self::RIGHT_ACCES_LEKIOSK => 'Bibliothèque numérique: accéder à Lekiosk.com',
 		self::RIGHT_ACCES_MYCOW => 'Bibliothèque numérique: accéder à MyCOW.EU',
+		self::RIGHT_ACCES_PLANETNEMO => 'Bibliothèque numérique: accéder à planetnemo.fr',
 		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',
 		self::RIGHT_USER_FILE_ACCESS => 'Articles: accès sur les répertoires images et file',
diff --git a/library/Class/Users.php b/library/Class/Users.php
index bacfb7debed2f21d6618a9957ea9b80178e78cca..e1b1fae7e4ac8210fd313ea04c8a39548046312d 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -759,6 +759,11 @@ class Class_Users extends Storm_Model_Abstract {
 	}
 
 
+	public function hasRightAccessPlanetNemo() {
+		return $this->isAbonneAndHasRightToAccess(Class_UserGroup::RIGHT_ACCES_PLANETNEMO);
+	}
+
+
 	public function getFirstAvisByIdNotice($id_notice) {
 		$notice = Class_Notice::getLoader()->find($id_notice);
 		$avis = $notice->getAvisByUser($this);
diff --git a/library/storm b/library/storm
index aa890c69508b0c9f62cb2313f9ae8269890d9ce1..fa7d2ff2c3c3def70d67ee8ee7f7c7ec3601fdda 160000
--- a/library/storm
+++ b/library/storm
@@ -1 +1 @@
-Subproject commit aa890c69508b0c9f62cb2313f9ae8269890d9ce1
+Subproject commit fa7d2ff2c3c3def70d67ee8ee7f7c7ec3601fdda
diff --git a/tests/application/modules/opac/controllers/ModulesControllerMyCowTest.php b/tests/application/modules/opac/controllers/ModulesControllerMyCowTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..ca54e8e9420b0d6873b6d8527d893f751e5c7cd8
--- /dev/null
+++ b/tests/application/modules/opac/controllers/ModulesControllerMyCowTest.php
@@ -0,0 +1,137 @@
+<?php
+/**
+ * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH 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).
+ *
+ * BOKEH 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 BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+class ModulesControllerMyCowSsoTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+    $this->dispatch('/opac/modules/mycow-sso/eid/afi/uid/tom', true);
+  }
+
+
+	/** @test */
+	public function postActionShouldBeMyCowConnectSSO() {
+		$this->assertXPath('//form[contains(@action, "mycow.eu/connectSSO.php")]');
+	}
+
+
+	/** @test */
+	public function postEidValueShouldBeAfi() {
+		$this->assertXPath('//form/input[@name="eid"][@value="afi"]');
+	}
+
+
+	/** @test */
+	public function postUidShouldBeTom() {
+		$this->assertXPath('//form//input[@name="uid"][@value="tom"]');
+	}
+
+
+	/** @test */
+	public function mycowShouldContainsPostJs() {
+		$this->assertXPath('//script', "('#mycow_form').submit()");
+	}
+}
+
+
+
+class ModulesControllerMyCowNoAccessRightTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+    $this->dispatch('/opac/modules/mycow', true);
+	}
+
+
+	/** @test */
+	public function shouldHaveAccessForbiddenMessage() {
+		$this->assertFlashMessengerContentContains('Vous n\'avez pas accès à cette ressource.');
+	}
+}
+
+
+
+class ModulesControllerMyCowLoggedTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+
+		RessourcesNumeriquesFixtures::activateMyCow();
+
+		$group = $this->fixture('Class_UserGroup', ['id' => 1])
+									->addRight(Class_UserGroup::RIGHT_ACCES_MYCOW);
+		ZendAfi_Auth::getInstance()->logUser($this->fixture('Class_Users',
+																												['id' => 1,
+																												 'login' => 'admin',
+																												 'password' => 'pwd']));
+		$user = Class_Users::getIdentity();
+		$user->setUserGroups([$group])->save();
+    $this->dispatch('/opac/modules/mycow', true);
+	}
+
+
+	/** @test */
+	public function shouldHaveAccessForbiddenMessage() {
+		$this->assertContains('/modules/mycow-sso/eid/afi-sa-test/uid/admin', $this->_response->getBody());
+	}
+}
+
+
+
+class ModulesControllerMyCowNotLoggedTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+		ZendAfi_Auth::getInstance()->clearIdentity();
+		RessourcesNumeriquesFixtures::activateMyCow();
+		$_SERVER['HTTP_REFERER'] = '/opac/modules/mycow';
+    $this->dispatch('/opac/modules/mycow', true);
+	}
+
+
+	/** @test */
+	public function shouldRedirectToLogin() {
+		$this->assertContains('/auth/login?redirect='.urlencode('/opac/modules/mycow'),
+													$this->_response->getBody());
+	}
+}
+
+
+
+class ModulesControllerMyCowDeactivateAndUserLoggedTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+		RessourcesNumeriquesFixtures::deactivateMyCow();
+		$_SERVER['HTTP_REFERER'] = '/index';
+		$group = $this->fixture('Class_UserGroup', ['id' => 1])
+									->addRight(Class_UserGroup::RIGHT_ACCES_MYCOW);
+		ZendAfi_Auth::getInstance()->logUser($this->fixture('Class_Users',
+																												['id' => 1,
+																												 'login' => 'admin',
+																												 'password' => 'pwd']));
+		$user = Class_Users::getIdentity();
+		$user->setUserGroups([$group])->save();
+
+    $this->dispatch('/opac/modules/mycow', true);
+	}
+
+
+	/** @test */
+	public function shouldHaveAccessForbiddenMessage() {
+		$this->assertFlashMessengerContentContains('Vous n\'avez pas accès à cette ressource.');
+	}
+}
diff --git a/tests/application/modules/opac/controllers/ModulesControllerPlanetNemoTest.php b/tests/application/modules/opac/controllers/ModulesControllerPlanetNemoTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..884bf8c68927b0adca92730a468e34d68efd5335
--- /dev/null
+++ b/tests/application/modules/opac/controllers/ModulesControllerPlanetNemoTest.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Copyright (c) 2012-2014, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH 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).
+ *
+ * BOKEH 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 BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+class ModulesControllerPlanetNemoNoAccessRightTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+    $this->dispatch('/opac/modules/planetnemo', true);
+	}
+
+
+	/** @test */
+	public function shouldHaveAccessForbiddenMessage() {
+		$this->assertFlashMessengerContentContains('Vous n\'avez pas accès à cette ressource.');
+	}
+}
+
+
+
+class ModulesControllerPlanetNemoLoggedTest extends AbstractControllerTestCase {
+  public function setUp() {
+    parent::setUp();
+
+		RessourcesNumeriquesFixtures::activatePlanetNemo();
+
+		$group = $this->fixture('Class_UserGroup', ['id' => 1])
+									->addRight(Class_UserGroup::RIGHT_ACCES_PLANETNEMO);
+		ZendAfi_Auth::getInstance()->logUser($this->fixture('Class_Users',
+																												['id' => 1,
+																												 'login' => 'Tom',
+																												 'password' => 'pwd']));
+		$user = Class_Users::getIdentity();
+		$user->setUserGroups([$group])->save();
+    $this->dispatch('/opac/modules/planetnemo', true);
+	}
+
+
+	/** @test */
+	public function shouldHaveAccessForbiddenMessage() {
+		$bokeh_cas = urlencode(Class_Url::absolute(['controller' => 'cas-server'], null, true));
+		$this->assertContains('http://www.planetnemo.fr/site_pay/auth_cas/?url=' . $bokeh_cas .'&ticket=ST-', $this->_response->getBody());
+	}
+}
diff --git a/tests/application/modules/opac/controllers/ModulesControllerTest.php b/tests/application/modules/opac/controllers/ModulesControllerTest.php
index b75caf6d1b07ec998586402e3cac0b8c51466384..b7e75aa62eb4033b4d76291b4a6c2794a0189164 100644
--- a/tests/application/modules/opac/controllers/ModulesControllerTest.php
+++ b/tests/application/modules/opac/controllers/ModulesControllerTest.php
@@ -149,122 +149,3 @@ class ModulesControllerNumeriquepremiumTest extends AbstractControllerTestCase {
     $this->assertXPathContentContains('//script', 'http://foo/', $this->_response->getBody());
   }
 }
-
-
-
-class ModulesControllerMyCowSsoTest extends AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
-    $this->dispatch('/opac/modules/mycow-sso/eid/afi/uid/tom', true);
-  }
-
-
-	/** @test */
-	public function postActionShouldBeMyCowConnectSSO() {
-		$this->assertXPath('//form[contains(@action, "mycow.eu/connectSSO.php")]');
-	}
-
-
-	/** @test */
-	public function postEidValueShouldBeAfi() {
-		$this->assertXPath('//form/input[@name="eid"][@value="afi"]');
-	}
-
-
-	/** @test */
-	public function postUidShouldBeTom() {
-		$this->assertXPath('//form//input[@name="uid"][@value="tom"]');
-	}
-
-
-	/** @test */
-	public function mycowShouldContainsPostJs() {
-		$this->assertXPath('//script', "('#mycow_form').submit()");
-	}
-}
-
-
-
-class ModulesControllerMyCowNoAccessRightTest extends AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
-    $this->dispatch('/opac/modules/mycow', true);
-	}
-
-
-	/** @test */
-	public function shouldHaveAccessForbiddenMessage() {
-		$this->assertFlashMessengerContentContains('Vous n\'avez pas accès à cette ressource.');
-	}
-}
-
-
-
-class ModulesControllerMyCowLoggedTest extends AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
-
-		RessourcesNumeriquesFixtures::activateMyCow();
-
-		$group = $this->fixture('Class_UserGroup', ['id' => 1])
-									->addRight(Class_UserGroup::RIGHT_ACCES_MYCOW);
-		ZendAfi_Auth::getInstance()->logUser($this->fixture('Class_Users',
-																												['id' => 1,
-																												 'login' => 'admin',
-																												 'password' => 'pwd']));
-		$user = Class_Users::getIdentity();
-		$user->setUserGroups([$group])->save();
-    $this->dispatch('/opac/modules/mycow', true);
-	}
-
-
-	/** @test */
-	public function shouldHaveAccessForbiddenMessage() {
-		$this->assertContains('/modules/mycow-sso/eid/afi-sa-test/uid/admin', $this->_response->getBody());
-	}
-}
-
-
-class ModulesControllerMyCowNotLoggedTest extends AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
-		ZendAfi_Auth::getInstance()->clearIdentity();
-		RessourcesNumeriquesFixtures::activateMyCow();
-		$_SERVER['HTTP_REFERER'] = '/opac/modules/mycow';
-    $this->dispatch('/opac/modules/mycow', true);
-	}
-
-
-	/** @test */
-	public function shouldRedirectToLogin() {
-		$this->assertContains('/auth/login?redirect='.urlencode('/opac/modules/mycow'),
-													$this->_response->getBody());
-	}
-}
-
-
-
-class ModulesControllerMyCowDeactivateAndUserLoggedTest extends AbstractControllerTestCase {
-  public function setUp() {
-    parent::setUp();
-		RessourcesNumeriquesFixtures::deactivateMyCow();
-		$_SERVER['HTTP_REFERER'] = '/index';
-		$group = $this->fixture('Class_UserGroup', ['id' => 1])
-									->addRight(Class_UserGroup::RIGHT_ACCES_MYCOW);
-		ZendAfi_Auth::getInstance()->logUser($this->fixture('Class_Users',
-																												['id' => 1,
-																												 'login' => 'admin',
-																												 'password' => 'pwd']));
-		$user = Class_Users::getIdentity();
-		$user->setUserGroups([$group])->save();
-
-    $this->dispatch('/opac/modules/mycow', true);
-	}
-
-
-	/** @test */
-	public function shouldHaveAccessForbiddenMessage() {
-		$this->assertFlashMessengerContentContains('Vous n\'avez pas accès à cette ressource.');
-	}
-}
-?>
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 866127bfa7c979d9bf28e436b8aca67c84ec0a93..a27bf92693b5b32744f6b8b897a2a2767806bd17 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -86,6 +86,7 @@ Zend_Controller_Front::getInstance()->getRouter()->route(new Zend_Controller_Req
 
 require_once "tests/library/ZendAfi/View/Helper/ViewHelperTestCase.php";
 require_once 'tests/application/modules/admin/controllers/AdminAbstractControllerTestCase.php';
+require_once('tests/fixtures/RessourcesNumeriquesFixtures.php');
 
 register_shutdown_function(function(){
 	TestSpeedTrap::printSpeedTrappedTests();
diff --git a/tests/fixtures/RessourcesNumeriquesFixtures.php b/tests/fixtures/RessourcesNumeriquesFixtures.php
index dd5ea62080a1c8d4211caf507843c93c00f83ad7..47d953175adc08c76c15c9860746226895624d34 100644
--- a/tests/fixtures/RessourcesNumeriquesFixtures.php
+++ b/tests/fixtures/RessourcesNumeriquesFixtures.php
@@ -32,6 +32,8 @@ class RessourcesNumeriquesFixtures {
 		self::deactivateLekiosk();
 		self::deactivateMusicMe();
     self::deactivate1Dtouch();
+		self::deactivateMyCow();
+		self::deactivatePlanetNemo();
 	}
 
 
@@ -48,6 +50,8 @@ class RessourcesNumeriquesFixtures {
 		self::activateMusicMe();
     self::activate1Dtouch();
 		self::activateOrphea();
+		self::activateMyCow();
+		self::activatePlanetNemo();
 	}
 
 
@@ -209,5 +213,15 @@ class RessourcesNumeriquesFixtures {
 		Class_AdminVar::newInstanceWithId('ORPHEA_PWD', ['valeur' => '']);
 		Class_AdminVar::newInstanceWithId('ORPHEA_LANGUAGE', ['valeur' => '']);
 	}
+
+
+	public static function activatePlanetNemo() {
+		Class_AdminVar::newInstanceWithId('PLANETNEMO', ['valeur' => '1']);
+	}
+
+
+	public static function deactivatePlanetNemo() {
+		Class_AdminVar::newInstanceWithId('PLANETNEMO', ['valeur' => '']);
+	}
 }
 ?>
diff --git a/tests/library/Class/Systeme/ModulesMenuTest.php b/tests/library/Class/Systeme/ModulesMenuTest.php
index 3593eceb376b7ab1421d9d433288e6cef8b51d8a..5e82c1a65f34221a435661484253da0483abb4ac 100644
--- a/tests/library/Class/Systeme/ModulesMenuTest.php
+++ b/tests/library/Class/Systeme/ModulesMenuTest.php
@@ -30,7 +30,8 @@ abstract class ModulesMenuBibNumeriqueTestCase extends Storm_Test_ModelTestCase
 						['NUMILOG', 'Numilog'],
 						['ARTEVOD', 'ArteVod'],
 						['CVS', 'CVS'],
-						['MYCOW', 'MyCow']
+						['MYCOW', 'MyCOW.EU'],
+						['PLANETNEMO', 'planetnemo.fr']
 		];
 	}
 }