diff --git a/library/Class/WebService/SIGB/AbstractRESTService.php b/library/Class/WebService/SIGB/AbstractRESTService.php
index 07908da8fbdfdda37d0ff175a4bd9b39898b3710..4cb92c291b767c374571383eb2ba50c588587392 100644
--- a/library/Class/WebService/SIGB/AbstractRESTService.php
+++ b/library/Class/WebService/SIGB/AbstractRESTService.php
@@ -163,6 +163,8 @@ abstract class Class_WebService_SIGB_AbstractRESTService extends Class_WebServic
 
 		if ('' != $patronId = $this->_getTagData($xml, 'patronId'))
 			$user->setIdSigb($patronId);
+
+		return $this;
 	}
 		
 
diff --git a/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php b/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php
index cacc1dcb5fdd7f6308fe73511212758000e10b62..0c16806267ae826577f07ce62ae9715299874a91 100644
--- a/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php
+++ b/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php
@@ -30,7 +30,7 @@ class Class_WebService_SIGB_Nanook_PatronInfoReader extends Class_WebService_SIG
 	 * @param string $data
 	 */
 	public function endPatronId($data) {
-		$this->getEmprunteur()->setId($data);
+		$this->getEmprunteur()->setId($data)->beValid();
 	}
 
 
diff --git a/library/Class/WebService/SIGB/Nanook/Service.php b/library/Class/WebService/SIGB/Nanook/Service.php
index 76dc128f3538e0d20129f23a66ddc277401b1745..d4c2e8910655c3bfba8fbff32541791c523b295a 100644
--- a/library/Class/WebService/SIGB/Nanook/Service.php
+++ b/library/Class/WebService/SIGB/Nanook/Service.php
@@ -35,9 +35,10 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
 	 * @return Class_WebService_SIGB_Emprunteur
 	 */
 	public function getEmprunteur($user) {
-		$this->_authenticate($user);
-		return $this->ilsdiGetPatronInfo(array('patronId' => $user->getIdSigb()),
-																		 Class_WebService_SIGB_Nanook_PatronInfoReader::newInstance());
+		return $this
+			->_authenticate($user)
+			->ilsdiGetPatronInfo(array('patronId' => $user->getIdSigb()),
+													 Class_WebService_SIGB_Nanook_PatronInfoReader::newInstance());
 	}
 
 
@@ -117,9 +118,9 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
 	 */
 	protected function _authenticate($user) {
 		if (null != $user->getIdSigb())
-			return;
+			return $this;
 
-		$this->ilsdiAuthenticatePatron($user);
+		return $this->ilsdiAuthenticatePatron($user);
 	}
 }
 ?>
\ No newline at end of file
diff --git a/tests/library/Class/WebService/SIGB/NanookTest.php b/tests/library/Class/WebService/SIGB/NanookTest.php
index a2a415b2d172298a91092a82dea962b40b962da1..bc11ca43ed026278c250cc8e4a8f0601bfd08c45 100644
--- a/tests/library/Class/WebService/SIGB/NanookTest.php
+++ b/tests/library/Class/WebService/SIGB/NanookTest.php
@@ -147,24 +147,48 @@ class NanookNoConnectionTest extends NanookServiceErrorTestCase {
 
 
 
-class NanookHtmlResponseTest extends NanookServiceErrorTestCase {
+class NanookHtmlResponseErrorTest extends NanookServiceErrorTestCase {
+	protected $_emprunteur;
+
 	public function setUp() {
 		parent::setUp();
 
 		$this->_mock_web_client
 			->whenCalled('open_url')
 			->answers(NanookFixtures::htmlTomcatError());
-	}
 
-	/** @test */
-	public function getEmprunteurShouldReturnEmptyEmprunteur() {
-		$emprunteur = $this->_service->getEmprunteur(Class_Users::getLoader()
+		$this->_emprunteur = $this->_service->getEmprunteur(Class_Users::getLoader()
 																								 ->newInstance()
 																								 ->setIdSigb(1));
-		$this->assertNotNull($emprunteur);
-		$this->assertEmpty($emprunteur->getReservations());
-		$this->assertEmpty($emprunteur->getPretsEnRetard());
-		$this->assertEmpty($emprunteur->getEmprunts());
+	}
+
+
+	/** @test */
+	public function getEmprunteurShouldNotBeNull() {
+		$this->assertNotNull($this->_emprunteur);
+	}
+
+
+	/** @test */
+	public function reservationsShouldBeEmpty() {
+		$this->assertEmpty($this->_emprunteur->getReservations());		
+	}
+
+
+	/** @test */
+	public function pretsRetardShouldBeEmpty() {
+		$this->assertEmpty($this->_emprunteur->getPretsEnRetard());		
+	}
+
+
+	/** @test */
+	public function empruntsShouldBeEmpty() {
+		$this->assertEmpty($this->_emprunteur->getEmprunts());		
+	}
+
+	/** @test */
+	public function validShouldBeFalse() {
+		$this->assertFalse($this->_emprunteur->isValid());		
 	}
 }
 
@@ -366,6 +390,12 @@ class NanookGetEmprunteurChristelDelpeyrouxTest extends NanookTestCase {
 	}
 
 
+	/** @test */
+	public function emprunteurShouldBeValid() {
+		$this->assertTrue($this->_emprunteur->isValid());		
+	}
+
+
 	/** @test */
 	public function idShouldBeOne() {
 		$this->assertEquals('1', $this->_emprunteur->getId());