diff --git a/library/Class/DigitalResource/Config.php b/library/Class/DigitalResource/Config.php
index 763c7a957f441556d032fcf0709d238e351f54ae..84a2f333828c1509e3af56a0c9d7101a18611103 100644
--- a/library/Class/DigitalResource/Config.php
+++ b/library/Class/DigitalResource/Config.php
@@ -250,4 +250,36 @@ class Class_DigitalResource_Config extends Class_Entity {
     return $view->tag('p',
                       $this->_('Cette ressource ne prend pas en charge l\'affichage du l\'url de moissonnage'), ['class' => 'error']);
   }
+
+
+  public function getTestUser() {
+    $login = $this->getName() . '_test_user';
+    $user = ($user = Class_Users::findFirstBy(['login' => $login]))
+      ? $user
+      : Class_Users::newInstance(['login' => $login,
+                                      'password' => $login]);
+
+    $user->save();
+    $group = $this->getTestGroup();
+    $group->addUser($user)->save();
+
+    return $user;
+  }
+
+
+  public function getTestGroup() {
+    $group_name = $this->getName() . '_test_group';
+    $group = ($group = Class_UserGroup::findFirstBy(['libelle' => $group_name]))
+      ? $group
+      : Class_UserGroup::newInstance(['libelle' => $group_name]);
+
+    $group->save();
+
+    if(!$permission = Class_Permission::findFirstBy(['code' => $this->getName()]))
+       return $group;
+
+    $permission->permitTo($group, new Class_Entity());
+
+    return $group;
+  }
 }
\ No newline at end of file
diff --git a/library/Class/DigitalResource/Controller.php b/library/Class/DigitalResource/Controller.php
index 311a8676ee81e04b0a6d88277cfca3be9c5084a6..faabadc2616c5464a672e46889dc1e2964a07dbc 100644
--- a/library/Class/DigitalResource/Controller.php
+++ b/library/Class/DigitalResource/Controller.php
@@ -62,6 +62,17 @@ class Class_DigitalResource_Controller extends ZendAfi_Controller_Action {
   }
 
 
+  public function trySsoAction() {
+    if (!Class_Users::getIdentity()->isSuperAdmin()) {
+      $this->_helper->notify($this->_('Vous n\'avez pas les droits suffisants pour utiliser cette fonctionnalité.'));
+      return $this->_redirectToReferer();
+    }
+
+    ZendAfi_Auth::getInstance()->logUser($this->_config->getTestUser());
+    $this->_forward('sso');
+  }
+
+
   protected function _afterLoginRedirectTo($url, $message = null) {
     if($message)
       $this->_helper->notify($message);
diff --git a/library/ZendAfi/View/Helper/DigitalResource/Dashboard.php b/library/ZendAfi/View/Helper/DigitalResource/Dashboard.php
index f555dc312ec4c8c105b993ddc83eed5c39ddb478..4cdbb5448821f5940ae22e47f01917f9f1cf7607 100644
--- a/library/ZendAfi/View/Helper/DigitalResource/Dashboard.php
+++ b/library/ZendAfi/View/Helper/DigitalResource/Dashboard.php
@@ -192,24 +192,8 @@ class ZendAfi_View_Helper_DigitalResource_Dashboard extends ZendAfi_View_Helper_
       return implode($html);
     }
 
-    $login = $this->_config->getName() . '_test_user';
-    $user = ($user = Class_Users::findFirstBy(['login' => $login]))
-      ? $user
-      : Class_Users::newInstance(['login' => $login,
-                                  'password' => $login]);
-
-    $user->save();
-
-    if(!$permission = Class_Permission::findFirstBy(['code' => $this->_config->getName()]))
-      return implode($html);
-
-    $group_name = $this->_config->getName() . '_test_group';
-    $group = ($group = Class_UserGroup::findFirstBy(['libelle' => $group_name]))
-      ? $group
-      : Class_UserGroup::newInstance(['libelle' => $group_name]);
-
-    $group->addUser($user)->save();
-    $permission->permitTo($group, new Class_Entity());
+    $user = $this->_config->getTestUser();
+    $group = $this->_config->getTestGroup();
 
     $html [] = $this->_tag('h5', $this->_('Groupe créé pour ce test'))
       . $this->_tag('ul',
@@ -241,11 +225,8 @@ class ZendAfi_View_Helper_DigitalResource_Dashboard extends ZendAfi_View_Helper_
       . $this->_tag('pre', $url)
       . $this->view->button((new Class_Entity)
                             ->setUrl($this->view->url(['action' => 'try-sso']))
-                            ->setText($this->_('Essayer le SSO'))
-                            ->setAttribs(['title' =>
-                                          $this->_('Essayez de vous connecter en SSO à la plateforme "%s" avec l\'utilisateur "%s"',
-                                                   $this->_config->getName(),
-                                                   $user->getLogin())]));
+                            ->setText($this->_('Essayer le SSO avec l\'utilisateur "%s"',
+                                               $user->getLogin())));
 
     if(!$this->_config->getSsoValidateUrl()) {
       $html [] = $this->_tag('p', $this->_('Cette ressource ne prend pas en charge la validation du ticket de connexion SSO'), ['class' => 'error']) ;
diff --git a/library/digital_resources/Skilleos/tests/SkilleosTest.php b/library/digital_resources/Skilleos/tests/SkilleosTest.php
index 6de1e0edd7e4ecee98b7b94d3df5adebfa50bae6..f93255d6371fa7041692b17637994880030ffa5a 100644
--- a/library/digital_resources/Skilleos/tests/SkilleosTest.php
+++ b/library/digital_resources/Skilleos/tests/SkilleosTest.php
@@ -387,4 +387,28 @@ class SkilleosDashboardTest extends SkilleosServiceTestCase {
   public function getCatalogueUrlShouldBePresent() {
     $this->assertXPathContentContains('//pre', 'http://moncompte.skilleos.com/rest/api/trainings');
   }
+}
+
+
+
+
+class SkilleosDashboardTrySsoTest extends SkilleosServiceTestCase {
+  public function setUp() {
+    parent::setUp();
+
+    $user = $this->fixture('Class_Users',
+                           ['id' => 5,
+                            'login' => 'super_admin',
+                            'password' => 'super',
+                            'role_level' => ZendAfi_Acl_AdminControllerRoles::SUPER_ADMIN]);
+
+    ZendAfi_Auth::getInstance()->logUser($user);
+    $this->dispatch('/Skilleos_Plugin/index/try-sso', true);
+  }
+
+
+  /** @test */
+  public function shouldJavascriptRedirectToMoncompteDotSkilleos() {
+    $this->assertXPathContentContains('//script', 'document.location.href="http://skilleos.com/sigb/sso/?casid=QUEST&ticket');
+  }
 }
\ No newline at end of file