diff --git a/VERSIONS b/VERSIONS
index d9f960bf44523a5439e3e3f4b685c9b1b46fa5b7..7d06069b3e1aaaceefea322628bca7c429bd8eb7 100644
--- a/VERSIONS
+++ b/VERSIONS
@@ -1,3 +1,10 @@
+28/01/2019 - v7.12.56
+
+ - ticket #85532 : Administration : Les tickets d'assistance au statut "Réaliser à tester" sont comptabilisés dans le menu haut "Assistance"
+
+ - ticket #84896 : SIGB Nanook : activation de la réinitialisation des mots de passe par courriel
+
+
 21/01/2019 - v7.12.55
 
  - ticket #83545 : Administration, contrôle des URLS : corrections de la prise en charge des URLs contenant des caractères spéciaux
diff --git a/library/Class/WebService/Redmine/Workflow/Afibre.php b/library/Class/WebService/Redmine/Workflow/Afibre.php
index b298a4442ee2e14e01dfdc7a2d3b774a85029e76..f739596668a0ca38257911b6ce2e44bf4ddc9753 100644
--- a/library/Class/WebService/Redmine/Workflow/Afibre.php
+++ b/library/Class/WebService/Redmine/Workflow/Afibre.php
@@ -19,7 +19,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
-class Class_WebService_Redmine_Workflow_Afibre extends  Class_WebService_Redmine_Workflow_Abstract {
+class Class_WebService_Redmine_Workflow_Afibre extends Class_WebService_Redmine_Workflow_Abstract {
   const
     A_QUALIFIER = 1,
     AFFECTE_HEBERGEMENT = 13,
@@ -34,24 +34,31 @@ class Class_WebService_Redmine_Workflow_Afibre extends  Class_WebService_Redmine
     A_INTEGRER = 17,
     RETOUR_DEV = 22;
 
-  protected $_transitions = [self::A_QUALIFIER => [self::FERME],
-                             14 => [self::A_QUALIFIER],
-                             15 => [],
-                             self::AFFECTE_HOTLINE => [self::AFFECTE_DEV, self::FERME],
-                             self::AFFECTE_SYSTEME => [],
-                             self::AFFECTE_DEV => [self::A_QUALIFIER, self::FERME],
-                             self::AFFECTE_HEBERGEMENT => [],
-                             self::RETOUR_DEV => [],
-                             self::EN_DEVELOPPEMENT => [self::FERME],
-                             18 => [],
-                             16 => [],
-                             self::A_TESTER => [self::FERME],
-                             self::A_INTEGRER  => [],
-                             self::QUESTION_CLIENT => [self::AFFECTE_HOTLINE, self::FERME],
-                             8 => [self::FERME],
-                             self::TRANSFERT_DEV => [],
-                             self::FERME => [self::A_QUALIFIER],
-                             6 => [self::A_QUALIFIER, self::FERME]];
+  /** @var array of [ from_status => [to_status, to_status...]] */
+  protected $_transitions = [];
+
+
+  public function __construct() {
+    $this->_transitions = [static::A_QUALIFIER => [static::FERME],
+                           14 => [static::A_QUALIFIER],
+                           15 => [],
+                           static::AFFECTE_HOTLINE => [static::AFFECTE_DEV, static::FERME],
+                           static::AFFECTE_SYSTEME => [],
+                           static::AFFECTE_DEV => [static::A_QUALIFIER, static::FERME],
+                           static::AFFECTE_HEBERGEMENT => [],
+                           static::RETOUR_DEV => [],
+                           static::EN_DEVELOPPEMENT => [static::FERME],
+                           18 => [],
+                           16 => [],
+                           static::A_TESTER => [static::FERME],
+                           static::A_INTEGRER  => [],
+                           static::QUESTION_CLIENT => [static::AFFECTE_HOTLINE, static::FERME],
+                           8 => [static::FERME],
+                           static::TRANSFERT_DEV => [],
+                           static::FERME => [static::A_QUALIFIER],
+                           6 => [static::A_QUALIFIER, static::FERME]];
+  }
+
 
   public function getTransitions() {
     return $this->_transitions;
@@ -59,7 +66,7 @@ class Class_WebService_Redmine_Workflow_Afibre extends  Class_WebService_Redmine
 
 
   public function getFormSelectedStatusIdForCurrent($status_id) {
-    return $status_id == self::QUESTION_CLIENT ? self::AFFECTE_HOTLINE : $status_id;
+    return $status_id == static::QUESTION_CLIENT ? static::AFFECTE_HOTLINE : $status_id;
   }
 
 
@@ -68,8 +75,9 @@ class Class_WebService_Redmine_Workflow_Afibre extends  Class_WebService_Redmine
 
     return count($issues
                  ->select(function($issue)
-                                 {
-                                   return $issue->getStatusId() == self::QUESTION_CLIENT;
-                                 }));
+                          {
+                            return in_array($issue->getStatusId(), [static::QUESTION_CLIENT,
+                                                                    static::A_TESTER]);
+                          }));
   }
 }
\ No newline at end of file
diff --git a/library/Class/WebService/SIGB/Nanook/Service.php b/library/Class/WebService/SIGB/Nanook/Service.php
index ac30505db7302a232a9b25eebd8838e3c37b82e2..d474d356220777977b0b57bffb85c7b012e3ab32 100644
--- a/library/Class/WebService/SIGB/Nanook/Service.php
+++ b/library/Class/WebService/SIGB/Nanook/Service.php
@@ -125,6 +125,11 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
   }
 
 
+  public function providesChangePasswordService() {
+    return true;
+  }
+
+
   public function saveEmprunteur($emprunteur) {
     $xml = $this->getWebClient()
       ->postData($this->buildQueryURL(['service'=>'UpdatePatronInfo',
diff --git a/library/startup.php b/library/startup.php
index 35110464758495911700a3b291974a491db76ce3..787c6bcaef9e3583e73372492aded2d656ab405a 100644
--- a/library/startup.php
+++ b/library/startup.php
@@ -81,7 +81,7 @@ class Bokeh_Engine {
 
   function setupConstants() {
     defineConstant('BOKEH_MAJOR_VERSION','7.12');
-    defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.55');
+    defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.56');
 
     defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/');
 
diff --git a/tests/application/modules/admin/controllers/RedmineControllerTest.php b/tests/application/modules/admin/controllers/RedmineControllerTest.php
index 8fc8aab752b9f33ce46d06d934da9cbcde9c5f9c..7ede71a553c9743788ddf45c1c206a1c0194e803 100644
--- a/tests/application/modules/admin/controllers/RedmineControllerTest.php
+++ b/tests/application/modules/admin/controllers/RedmineControllerTest.php
@@ -305,8 +305,8 @@ class Admin_RedmineControllerIndexTest extends Admin_RedmineControllerWithApiTes
 
 
   /** @test */
-  public function menuHorizontalShouldContainsOneIssueQuestionClient() {
-    $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '1', $this->_response->getBody());
+  public function menuHorizontalShouldContainsTwoIssues() {
+    $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '2', $this->_response->getBody());
   }
 }
 
@@ -331,7 +331,7 @@ class Admin_RedmineControllerCacheTest extends Admin_RedmineControllerWithApiTes
   public function onAdminIndexMenuHorizontalShouldGetResultFromCache() {
     $this->dispatch('/admin/index/index');
 
-    $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '1');
+    $this->assertXPathContentContains('//div[contains(@class, "barre_nav")]//a[@title="Assistance"]//span[@class="menu_info"]', '2');
   }
 
 
diff --git a/tests/fixtures/RedmineFixtures.php b/tests/fixtures/RedmineFixtures.php
index 5bab9f300c192019c13ba59da5569c81b8682bd0..4aac063424b4e3c9167b4b75ad4a0f4e9db3b9cf 100644
--- a/tests/fixtures/RedmineFixtures.php
+++ b/tests/fixtures/RedmineFixtures.php
@@ -87,7 +87,8 @@ class RedmineFixtures {
                           'story_points' => ''],
 
                          static::issue34247(),
-                         static::issue34248()],
+                         static::issue34248(),
+                         static::issue34249()],
             'total_count' => 2,
             'offset' => 0 ,
             'limit' => 25];
@@ -158,6 +159,38 @@ class RedmineFixtures {
   }
 
 
+  public static function issue34249() {
+    return ['id' => 34249,
+            'project' => ['id' => 56,
+                          'name' => 'Développement Bokeh AFI-OPAC 2.0'],
+            'tracker' => ['id' => 2,
+                          'name' => 'Développement'],
+            'status' => ['id' => 3,
+                         'name' => 'Réaliser à tester'],
+            'priority' => ['id' => 4,
+                           'name' => 'Normal'],
+            'author' => ['id' => 207,
+                         'name' => 'gloas'],
+            'assigned_to' => ['id' => 207,
+                              'name' => 'gloas'],
+            'subject' => 'Un problème à tester',
+            'description' => 'important',
+            'done_ratio' => 80,
+            'custom_fields' => [ ['id' => 37,
+                                  'name' => 'Module Portail',
+                                  'value' => ''],
+                                ['id' => 5 ,
+                                 'name' => 'Priorité client',
+                                 'value' => 'Normale'],
+                                ['id' => 11,
+                                 'name' => 'Phase',
+                                 'value' => '']],
+            'created_on' => '2015-12-04T09:19:11Z',
+            'updated_on' => '2015-12-04T09:25:42Z',
+            'story_points' => ''];
+  }
+
+
   public static function projectHotline() {
     return ['project' => ['name' => 'Hotline']];
   }
diff --git a/tests/library/Class/User/LostPassTest.php b/tests/library/Class/User/LostPassTest.php
index 7844721e2458757f810826a709797e50f2f568fb..3d000ea4d701c14e4b53cbc7c69377e77412ca3c 100644
--- a/tests/library/Class/User/LostPassTest.php
+++ b/tests/library/Class/User/LostPassTest.php
@@ -92,6 +92,15 @@ class Class_User_LostPassSendTest extends ModelTestCase {
   }
 
 
+  /** @test */
+  public function withNanookMailShouldContainsResetLink() {
+    $this->_sigb->setCommSigb(Class_IntBib::COM_NANOOK)->save();
+    (new Class_User_LostPass($this->_user))->send();
+    $mail = $this->_mail_transport->getSentMails()[0]->getBodyText()->getContent();
+    $this->assertContains('/auth/reset-password', $mail);
+  }
+
+
   /** @test */
   public function withPergameShouldNotsendMail() {
     $this->_sigb->setCommSigb(Class_IntBib::COM_PERGAME)->save();