diff --git a/library/Class/KidilanguesLink.php b/library/Class/KidilanguesLink.php
index c45381b2d6730c50cf4cd18ebdfe210559239680..5470060d2ca6e9ec2cf649f502faae509df68c8d 100644
--- a/library/Class/KidilanguesLink.php
+++ b/library/Class/KidilanguesLink.php
@@ -20,41 +20,42 @@
  */
 
 class Class_KidilanguesLink {
-  protected $_user,
-    $_home_page = 'cfcd208495d565ef66e7dff9f98764da/0';
+  use Trait_TimeSource;
 
 
-  public static function forUser($user) {
-    return Class_AdminVar::get('KIDILANGUES_VERSION') == '2'
-      ? new Class_KidilanguesLinkV2($user)
-      : new self($user);
+  public static function staticUrl() {
+    return Class_Url::assemble(['controller' => 'modules',
+                                'action' => 'kidilangues']);
   }
 
 
-  public function __construct($user) {
-    $this->_user = $user;
+  public function url() {
+    return call_user_func([$this, 'version' . (Class_AdminVar::get('KIDILANGUES_VERSION') == '2'
+                                               ? '2'
+                                               : '1')]);
   }
 
 
-  public function baseUrl() {
-    return 'http://www.kidilangues.fr/directaccess/biblio';
-  }
-
+  public function version1() {
+    $params = [];
+    $params[] = Class_AdminVar::get('KIDILANGUES_ID');
+    $params[] = md5(Class_AdminVar::get('KIDILANGUES_LOGIN'));
+    $params[] = $this->kidilanguesEncode(Class_AdminVar::get('KIDILANGUES_PWD'));
+    $params[] = 'cfcd208495d565ef66e7dff9f98764da/0';
 
-  public static function staticUrl() {
-    return Class_Url::assemble(['controller' => 'modules',
-                                'action' => 'kidilangues']);
+    return 'http://www.kidilangues.fr/directaccess/biblio/' . implode('/', $params);
   }
 
 
-  public function url() {
+  public function version2() {
     $params = [];
     $params[] = Class_AdminVar::get('KIDILANGUES_ID');
-    $params[] = md5(Class_AdminVar::get('KIDILANGUES_LOGIN'));
-    $params[] = $this->kidilanguesEncode(Class_AdminVar::get('KIDILANGUES_PWD'));
-    $params[] = $this->_home_page;
+    $params[] = Class_AdminVar::get('KIDILANGUES_LOGIN');
+    $params[] = Class_AdminVar::get('KIDILANGUES_PWD');
+    $params[] = 'cfcd208495d565ef66e7dff9f98764da';
+    $params[] = $this->kidilanguesEncode($this->getTimeSource()->time());
 
-    return $this->baseUrl() . '/' . implode('/', $params);
+    return 'http://www.kidilangues.fr/directaccess/mediatheque/' . implode('/', $params);
   }
 
 
diff --git a/library/Class/KidilanguesLinkV2.php b/library/Class/KidilanguesLinkV2.php
deleted file mode 100644
index 38fd80d70675ace9acd4cd36c67ab1a20d5dc3b6..0000000000000000000000000000000000000000
--- a/library/Class/KidilanguesLinkV2.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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_KidilanguesLinkV2 {
-  use Trait_TimeSource;
-  protected $_user,
-    $_home_page = 'cfcd208495d565ef66e7dff9f98764da';
-
-
-  public function __construct($user) {
-    $this->_user = $user;
-  }
-
-
-  public function baseUrl() {
-    return 'http://www.kidilangues.fr/directaccess/mediatheque';
-  }
-
-
-  public static function staticUrl() {
-    return Class_Url::assemble(['controller' => 'modules',
-                                'action' => 'kidilangues']);
-  }
-
-
-  public function url() {
-    $params = [];
-    $params[] = Class_AdminVar::get('KIDILANGUES_ID');
-    $params[] = Class_AdminVar::get('KIDILANGUES_LOGIN');
-    $params[] = Class_AdminVar::get('KIDILANGUES_PWD');
-    $params[] = $this->_home_page;
-    $params[] = $this->kidilanguesEncode($this->getTimeSource()->time());
-
-    return $this->baseUrl() . '/' . implode('/', $params);
-  }
-
-
-  public function kidilanguesEncode($data) {
-    return rtrim(strtr(base64_encode($this->kidilanguesEncrypt($data)), '+/', '-_'), '=');
-  }
-
-
-  public function kidilanguesEncrypt($data_to_encrypt) {
-    $key = Class_AdminVar::get('KIDILANGUES_KEY');
-    return mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data_to_encrypt, MCRYPT_MODE_CBC, md5($key));
-  }
-}
-?>
\ No newline at end of file
diff --git a/library/Class/Systeme/ModulesMenu/Kidilangues.php b/library/Class/Systeme/ModulesMenu/Kidilangues.php
index ad42c53dd8fe7a9594833b8dfd1e9c433627f29d..51d9ca83cb9a0669356a2a71f0bbbd0144c9e830 100644
--- a/library/Class/Systeme/ModulesMenu/Kidilangues.php
+++ b/library/Class/Systeme/ModulesMenu/Kidilangues.php
@@ -33,7 +33,7 @@ class Class_Systeme_ModulesMenu_Kidilangues extends Class_Systeme_ModulesMenu_SS
 
   public function urlForUser($user) {
     if ($user && $user->hasRightAccesKidilangues() && Class_AdminVar::isKidilanguesEnabled()) {
-      return Class_KidilanguesLink::forUser($user)->url();
+      return (new Class_KidilanguesLink())->url();
     }
     $this->setMessage('Vous n\'avez pas accès à cette ressource.');
     return '';
diff --git a/tests/application/modules/opac/controllers/ModulesControllerKidilanguesTest.php b/tests/application/modules/opac/controllers/ModulesControllerKidilanguesTest.php
index b3337807d9e1d4f3ccd87e631dd9074dd260388e..26333f5a8ec66ea189bef440453d061d44314059 100644
--- a/tests/application/modules/opac/controllers/ModulesControllerKidilanguesTest.php
+++ b/tests/application/modules/opac/controllers/ModulesControllerKidilanguesTest.php
@@ -99,7 +99,7 @@ class ModulesControllerKidilanguesLoggedV2Test extends ModulesControllerKidilang
   public function setUp() {
     parent::setUp();
 
-    Class_KidilanguesLinkV2::setTimeSource(new TimeSourceForTest('2015-10-16 15:22:22'));
+    Class_KidilanguesLink::setTimeSource(new TimeSourceForTest('2015-10-16 15:22:22'));
     Class_AdminVar::set('KIDILANGUES_VERSION', 2);
     $this->dispatch('/opac/modules/kidilangues', true);
   }