diff --git a/VERSIONS_HOTLINE/72722 b/VERSIONS_HOTLINE/72722 new file mode 100644 index 0000000000000000000000000000000000000000..eb61fba9442644a91a058daa0515e93974228ae4 --- /dev/null +++ b/VERSIONS_HOTLINE/72722 @@ -0,0 +1 @@ + - ticket #72722 : SIGB Koha : corrige l'historique de prêt affiché en double. \ No newline at end of file diff --git a/library/Class/Users.php b/library/Class/Users.php index be6e2ddaac7b6360148d2ea241edf3903c409571..8e321a227e4285859ca9c496c5006fe7d1000f59 100644 --- a/library/Class/Users.php +++ b/library/Class/Users.php @@ -1196,7 +1196,7 @@ class Class_Users extends Storm_Model_Abstract { if (!($emprunteur = $this->getEmprunteur())) return new Storm_Collection(); - $history = $emprunteur->getLoansHistory()->fetchAll(); + $history = $emprunteur->getLoansHistory(); $loans = $history->getLoans() ->select(function($loan) {return $loan->getDateRetour();}); diff --git a/library/Class/WebService/SIGB/AbstractService.php b/library/Class/WebService/SIGB/AbstractService.php index 76713763028a952d44241dec242665455b0433dd..8a18303dc054214a988fdbdebd1312c005fb9f05 100644 --- a/library/Class/WebService/SIGB/AbstractService.php +++ b/library/Class/WebService/SIGB/AbstractService.php @@ -129,8 +129,8 @@ abstract class Class_WebService_SIGB_AbstractService { } - public function loansHistory($emprunteur, $page = 1) { - return new Class_WebService_SIGB_LoansHistory(); + public function loansHistory($borrower) { + return new Class_WebService_SIGB_LoansHistory($borrower); } diff --git a/library/Class/WebService/SIGB/Emprunteur.php b/library/Class/WebService/SIGB/Emprunteur.php index 5040cd0018661e726932ef97a499648c1d140b2b..c2deff277b08026a1902bbad2fb1071fd651ab16 100644 --- a/library/Class/WebService/SIGB/Emprunteur.php +++ b/library/Class/WebService/SIGB/Emprunteur.php @@ -448,12 +448,10 @@ class Class_WebService_SIGB_Emprunteur { } - public function getLoansHistory($page = 1) { - $history = $this->_service - ? $this->_service->loansHistory($this, $page) - : new Class_WebService_SIGB_LoansHistory(); - - return $history->setBorrower($this); + public function getLoansHistory() { + return $this->_service + ? $this->_service->loansHistory($this) + : new Class_WebService_SIGB_LoansHistory($this); } diff --git a/library/Class/WebService/SIGB/Koha/LoansReader.php b/library/Class/WebService/SIGB/Koha/LoansReader.php index ca15e78b2615479aa35262611999a72a05ee537f..0e92555a6c5d6b7dc09b3e9ccdce1ca18c5ea83e 100644 --- a/library/Class/WebService/SIGB/Koha/LoansReader.php +++ b/library/Class/WebService/SIGB/Koha/LoansReader.php @@ -21,13 +21,19 @@ class Class_WebService_SIGB_Koha_LoansReader { + protected $_borrower; + + + public function __construct($borrower) { + $this->_borrower = $borrower; + } + public function parse($json) { $loans = ($datas = json_decode($json)) ? array_map([$this, '_parseOne'], $datas) : []; - return (new Class_WebService_SIGB_LoansHistory()) - ->setLoans($loans) - ->setTotalCount(count($loans)); + return (new Class_WebService_SIGB_LoansHistory($this->_borrower)) + ->setLoans($loans); } diff --git a/library/Class/WebService/SIGB/Koha/RestfulService.php b/library/Class/WebService/SIGB/Koha/RestfulService.php index 476d9a0c52466fb62bf155ae5c86c5ebf6775e59..2749913271f1cd225456899a45c77ad2509148df 100644 --- a/library/Class/WebService/SIGB/Koha/RestfulService.php +++ b/library/Class/WebService/SIGB/Koha/RestfulService.php @@ -127,14 +127,14 @@ class Class_WebService_SIGB_Koha_RestfulService } - public function getLoansHistoryForUser($emprunteur) { - $content = $this->restfulGet('user/byid/' . $emprunteur->getId() . '/issues_history', []); + public function loansHistory($borrower) { + $content = $this->restfulGet('user/byid/' . $borrower->getId() . '/issues_history', []); if (null === json_decode($content)) throw new Class_WebService_Exception($this->_('Échec de la connexion au webservice, le SIGB a répondu "%s"', trim($content))); - return (new Class_WebService_SIGB_Koha_LoansReader()) + return (new Class_WebService_SIGB_Koha_LoansReader($borrower)) ->parse($content); } diff --git a/library/Class/WebService/SIGB/Koha/Service.php b/library/Class/WebService/SIGB/Koha/Service.php index a00fad26fb17ff573a976813f055a3e8cd75a09d..ef149626b88004bd4713a97c56a2e2ee4c0066c7 100644 --- a/library/Class/WebService/SIGB/Koha/Service.php +++ b/library/Class/WebService/SIGB/Koha/Service.php @@ -198,13 +198,13 @@ class Class_WebService_SIGB_Koha_Service extends Class_WebService_SIGB_AbstractR } - public function loansHistory($user, $page = 1) { + public function loansHistory($borrower) { if (!$this->providesLoansHistory()) - return parent::loansHistory($user, $page); + return parent::loansHistory($borrower); return $this ->getRestfulService() - ->getLoansHistoryForUser($user); + ->loansHistory($borrower); } diff --git a/library/Class/WebService/SIGB/LoansHistory.php b/library/Class/WebService/SIGB/LoansHistory.php index c2ecbb3cf9c21b59d60dade5910e200c14cd140f..04177c6af1a418ec0b92100742f99827761d9758 100644 --- a/library/Class/WebService/SIGB/LoansHistory.php +++ b/library/Class/WebService/SIGB/LoansHistory.php @@ -26,8 +26,9 @@ class Class_WebService_SIGB_LoansHistory { $_borrower, $_loans; - public function __construct() { + public function __construct($borrower) { $this->_loans = new Storm_Collection(); + $this->setBorrower($borrower); } @@ -47,12 +48,6 @@ class Class_WebService_SIGB_LoansHistory { } - public function setTotalCount($count) { - $this->_total_count = $count; - return $this; - } - - public function addLoan($loan) { $this->_loans->append($loan); return $this; @@ -65,20 +60,13 @@ class Class_WebService_SIGB_LoansHistory { } - public function fetchAll() { - if (!$this->_total_count) - return $this; - - if (!$this->_borrower) - return $this; + public function isEmpty() { + return $this->_loans->isEmpty(); + } - $current_page = 1; - do { - $current_page = $current_page + 1; - $loans = $this->_borrower->getLoansHistory($current_page)->getLoans(); - $this->_loans->addAll($loans); - } while(!$loans->isEmpty() and ($this->_loans->count() < $this->_total_count)); + public function addFrom($loans) { + $this->_loans->addAll($loans->getLoans()); return $this; } } diff --git a/library/Class/WebService/SIGB/Nanook/GetLoanHistoryReader.php b/library/Class/WebService/SIGB/Nanook/GetLoanHistoryReader.php index 38214968c26a48e1b4937d9d97a71e4013a4085a..d87c94bacb99bf255318f831b078168ae638d6ea 100644 --- a/library/Class/WebService/SIGB/Nanook/GetLoanHistoryReader.php +++ b/library/Class/WebService/SIGB/Nanook/GetLoanHistoryReader.php @@ -26,24 +26,22 @@ class Class_WebService_SIGB_Nanook_GetLoanHistoryReader { $_current_loan; + public function __construct($borrower) { + $this->_loans_history = new Class_WebService_SIGB_LoansHistory($borrower); + } + + /** * @param string $xml * @return Class_WebService_SIGB_*_PatronInfoReader */ public function parseXML($xml) { - $this->_loans_history = new Class_WebService_SIGB_LoansHistory(); $this->_xml_parser = Class_WebService_SIGB_Nanook_XMLParser::newInstance()->setElementHandler($this); $this->_xml_parser->parse($xml); - return $this; - } - - - public function startLoans($attributes) { - $this->_loans_history->setTotalCount($attributes['COUNT']); + return $this->_loans_history; } - public function startLoan() { $this->_current_loan = Class_WebService_SIGB_Emprunt::newInstanceWithEmptyExemplaire(); $this->_loans_history->addLoan($this->_current_loan); @@ -70,11 +68,6 @@ class Class_WebService_SIGB_Nanook_GetLoanHistoryReader { } - public function getHistory() { - return $this->_loans_history; - } - - public function endLocationLabel($data) { $this->_current_loan->setBibliotheque($data); } diff --git a/library/Class/WebService/SIGB/Nanook/Service.php b/library/Class/WebService/SIGB/Nanook/Service.php index 5e8b3096d6196e0b89b7ec0bc2a6db816a060639..81d8f538fcdfa818803b42d1be1de12779a45b15 100644 --- a/library/Class/WebService/SIGB/Nanook/Service.php +++ b/library/Class/WebService/SIGB/Nanook/Service.php @@ -148,16 +148,31 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac } - public function loansHistory($emprunteur, $page = 1) { + protected function _fetchHistoryPage($borrower, $page) { + $this->log($this); $url = $this->buildQueryURL(['service' => 'GetLoanHistory', - 'patronId' => $emprunteur->getId()]) + 'patronId' => $borrower->getId()]) .'?pageNumber='.$page; $xml = $this->getWebClient()->open_url($url); - $this->log($this); - $history = (new Class_WebService_SIGB_Nanook_GetLoanHistoryReader()) - ->parseXML($xml) - ->getHistory(); - return $history->setBorrower($emprunteur); + return (new Class_WebService_SIGB_Nanook_GetLoanHistoryReader($borrower)) + ->parseXML($xml); + + } + + + public function loansHistory($borrower) { + $page = 1; + $all = new Class_WebService_SIGB_LoansHistory($borrower); + if (!$borrower) + return $all; + + while (($loans = $this->_fetchHistoryPage($borrower,$page)) && + !$loans->isEmpty()) { + $all->addFrom($loans); + $page++; + } + + return $all; } diff --git a/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryNanookTest.php b/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryNanookTest.php index 83690213fe88d7ac28a8d2d52c9c0980d933dc86..04d743011030d3c52c4d11c3501bae0bc929066b 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryNanookTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryNanookTest.php @@ -52,6 +52,7 @@ abstract class AbonneControllerLoansHistoryNanookTestCase extends AbstractContro $this->_mock_web_client = $this->mock(); + Class_WebService_SIGB_Nanook::reset(); $service = Class_WebService_SIGB_Nanook::getService(['url_serveur' => static::BASE_URL]); $service->setWebClient($this->_mock_web_client); $this->_emprunteur->setService($service); @@ -87,6 +88,9 @@ abstract class AbonneControllerLoansHistoryNanookTestCase extends AbstractContro ->whenCalled('open_url') ->with('http://localhost/afi_Nanook/ilsdi/service/GetLoanHistory/patronId/34?pageNumber=2') ->answers(NanookFixtures::xmlGetLoanHistoryPageTwo()) + ->whenCalled('open_url') + ->with('http://localhost/afi_Nanook/ilsdi/service/GetLoanHistory/patronId/34?pageNumber=3') + ->answers(NanookFixtures::xmlGetLoanHistoryPageThree()) ->beStrict(); } @@ -96,7 +100,6 @@ abstract class AbonneControllerLoansHistoryNanookTestCase extends AbstractContro class AbonneControllerLoansHistoryNanookIndexTest extends AbonneControllerLoansHistoryNanookTestCase { - public function setUp() { parent::setUp(); $this->dispatch('/abonne/loans-history/page_size/2',true); diff --git a/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryTest.php b/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryTest.php index 7777dd4ae98c739129cf405156cce7608d969cd7..376366a69f52230de4d60bed9a5fc7b894c77214 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerLoansHistoryTest.php @@ -56,6 +56,7 @@ abstract class AbonneControllerLoansHistoryTestCase extends AbstractControllerTe $params = ['url_serveur' => static::BASE_URL . 'ilsdi.pl', 'restful' => '1']; + Class_WebService_SIGB_Koha::reset(); $service = Class_WebService_SIGB_Koha::getService($params); $service->setWebClient($this->mock_web_client); @@ -81,6 +82,36 @@ class AbonneControllerLoansHistoryWithoutServiceTest extends AbonneControllerLo + +class AbonneControllerLoansHistoryPageSuccessfulTest extends AbonneControllerLoansHistoryTestCase { + + public function setUp() { + parent::setUp(); + + $this->mock_web_client + ->whenCalled('open_url') + ->with(static::BASE_URL . 'rest.pl/user/byid/34/issues_history') + ->answers(file_get_contents(realpath(dirname(__FILE__)) . '/../../../../fixtures/koha_issues_history_double.json')); + + $this->dispatch('/abonne/loans-history', true); + } + + + /** @test */ + public function firstTitleShouldBeSainteVictoire() { + $this->assertXPathContentContains('//table//tr[1]//td', 'Sainte-Victoire - Sainte-Baume'); + } + + + /** @test */ + public function secondTitleShouldBeSommetsDesAlpes() { + $this->assertXPathContentContains('//table//tr[2]//td', 'Sommets des Alpes d\'Azur'); + } +} + + + + class AbonneControllerLoansHistorySuccessfulTest extends AbonneControllerLoansHistoryTestCase { public function setUp() { @@ -112,7 +143,7 @@ class AbonneControllerLoansHistorySuccessfulTest extends AbonneControllerLoansH /** @test */ public function titleShouldBeDisplay() { - $this->assertXPathContentContains('//table', 'Cedric :Chaud et froid Vol 6'); + $this->assertXPathContentContains('//table', 'Cedric :Chaud et froid Vol 6',$this->_response->getBody()); } diff --git a/tests/fixtures/NanookFixtures.php b/tests/fixtures/NanookFixtures.php index cf2d9753aad6c93388b13bec67479f4983e8be97..52eeb9a5b3b62ac65a47cb3253b28d83537148cf 100644 --- a/tests/fixtures/NanookFixtures.php +++ b/tests/fixtures/NanookFixtures.php @@ -653,6 +653,12 @@ class NanookFixtures { </GetLoanHistory>'; } + public static function xmlGetLoanHistoryPageThree() { + return '<GetLoanHistory> + <loans count="3" pageNumber="3" pageSize="2"/> + </GetLoanHistory>'; + } + public static function xmlGetRecordsEx() { return '<GetRecords><record><bibId>369667</bibId><title>Barbara</title><items><item><barcode>028111272</barcode><itemId>235195</itemId><available>1</available><holdable>1</holdable><holds>0</holds><visible>1</visible><locationLabel>Saint Pargoire</locationLabel><locationId>21</locationId><activityMessage>En rayon</activityMessage></item></items></record></GetRecords>'; diff --git a/tests/fixtures/koha_issues_history_double.json b/tests/fixtures/koha_issues_history_double.json new file mode 100644 index 0000000000000000000000000000000000000000..e9cd01d6f0d2d8cf2dc028e6908af6d612e48655 --- /dev/null +++ b/tests/fixtures/koha_issues_history_double.json @@ -0,0 +1,761 @@ +[ + { + "issn" : null, + "enumchron" : null, + "agerestriction" : null, + "notforloan" : "0", + "totalissues" : null, + "itemnumber" : "53391", + "ccode" : null, +"title" : "randonnées des calanques de Marseille et Cassis (Les )", + "collectiontitle" : "Montagne-randonnée", + "cn_class" : null, +"issuestimestamp" : "2017-06-29 08:44:06", + "location" : "Aucune", + "withdrawn_on" : null, + "barcode" : "11026522", + "itemnotes_nonpublic" : null, + "illus" : null, + "itemcallnumber" : "796.52 DEV", + "collectionissn" : null, + "damaged" : "0", + "itype" : "LIV", + "return" : null, + "itemlost" : "0", + "replacementprice" : null, + "onloan" : "2017-07-20", + "permanent_location" : "Aucune", + "auto_renew" : "0", + "paidfor" : null, + "booksellerid" : null, +"issuedate" : "2017-06-29 08:44:06", + "copynumber" : null, + "pages" : "139 p.", + "stack" : null, + "cn_source" : null, + "cn_item" : null, + "biblionumber" : "49625", + "datelastborrowed" : "2017-06-29", + "datecreated" : "2013-09-06", + "notes" : null, + "replacementpricedate" : null, + "author" : "Jean-François Devaud", + "isbn" : "2-7234-3820-1", + "itemtype" : null, + "restricted" : null, + "url" : null, +"timestamp" : "2013-10-03 14:50:52", + "volume" : null, + "issues" : "1", + "onsite_checkout" : "0", + "ean" : null, + "editionresponsibility" : null, + "number" : null, +"date_due" : "2017-07-20 23:59:00", + "dateaccessioned" : "2013-09-06", + "volumedesc" : null, + "serial" : null, + "cn_suffix" : null, + "renewals" : null, + "unititle" : null, + "size" : "26 cm", + "stocknumber" : "MAU", + "homebranch" : "HOSPICE", +"marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01043nam0a2200277 4500</leader>\n <controlfield tag=\"001\">49625</controlfield>\n <controlfield tag=\"009\">|cBIB1|mBIB7|p1;10;11;4;4;1;8;7;5;4|fBM LA CIOTAT|tUNI:1|012/11/2003|118/03/2010</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2-7234-3820-1</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">30 EUR</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0159330</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">49625</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2003-11-12</subfield>\n <subfield code=\"d\">2010-03-18</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20031112d|||| uuuy0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">y|||||||000|y</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">randonnées des calanques de Marseille et Cassis (Les )</subfield>\n <subfield code=\"f\">Jean-François Devaud</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Grenoble</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"d\">2002</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">139 p.</subfield>\n <subfield code=\"c\">ill. en coul., couv. ill. en coul.</subfield>\n <subfield code=\"d\">26 cm</subfield>\n </datafield>\n <datafield tag=\"225\" ind1=\"2\" ind2=\" \">\n <subfield code=\"a\">Montagne-randonnée</subfield>\n </datafield>\n <datafield tag=\"410\" ind1=\" \" ind2=\"0\">\n <subfield code=\"3\">0025460</subfield>\n <subfield code=\"t\">Montagne-randonnée</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"x\">1160-0934</subfield>\n <subfield code=\"9\">29571</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0205945</subfield>\n <subfield code=\"a\">Randonnée pédestre</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0310496</subfield>\n <subfield code=\"y\">Calanques, Massif des (Bouches-du-Rhône, France)</subfield>\n <subfield code=\"9\">47035</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">71707</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">796.52</subfield>\n <subfield code=\"v\">v19</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0011472</subfield>\n <subfield code=\"a\">Devaud</subfield>\n <subfield code=\"b\">Jean-François</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">12127</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20031112</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0159333</subfield>\n <subfield code=\"a\">11026522</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.52</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "frameworkcode" : "IMP", + "place" : null, + "new_status" : null, + "uri" : null, + "abstract" : null, + "itemnotes" : "Provence", + "returndate" : null, + "materials" : null, + "coded_location_qualifier" : null, + "lastreneweddate" : null, + "collectionvolume" : null, + "itemlost_on" : null, + "volumedate" : null, + "publishercode" : "Glénat", + "publicationyear" : "2002", + "issue_id" : "333929", + "biblioitemnumber" : "49625", + "borrowernumber" : "16211", + "lccn" : null, + "copyrightdate" : null, + "itemstimestamp" : "2017-06-29 08:44:06", + "reserves" : null + }, + { + "itemnotes_nonpublic" : null, + "illus" : null, + "itemcallnumber" : "796.522 BER s:2", + "damaged" : "0", + "collectionissn" : null, + "return" : null, + "itemlost" : "0", + "itype" : "LIV", + "replacementprice" : "45.00", + "onloan" : null, + "auto_renew" : "0", + "permanent_location" : null, + "paidfor" : null, + "booksellerid" : null, + "copynumber" : null, + "issuedate" : "2017-12-18 17:31:32", + "pages" : "223 p.", + "cn_source" : null, + "stack" : null, + "cn_item" : null, + "biblionumber" : "6175", + "datelastborrowed" : "2017-12-18", + "notes" : null, + "datecreated" : "2013-09-06", + "cn_sort" : "", + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "holdingbranch" : "HALLE", + "totalrenewals" : null, + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "seriestitle" : null, + "editionstatement" : null, + "withdrawn" : "0", + "price" : null, + "issn" : null, + "enumchron" : null, + "agerestriction" : null, + "notforloan" : "0", + "totalissues" : null, + "itemnumber" : "7699", + "ccode" : null, + "title" : "Sommets des Alpes d'Azur", + "cn_class" : null, + "collectiontitle" : null, + "issuestimestamp" : "2017-12-18 17:31:45", + "location" : "Aucune", + "barcode" : "90029660", + "withdrawn_on" : null, + "stocknumber" : "MAU", + "homebranch" : "HALLE", + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01083nam0a2200301 4500</leader>\n <controlfield tag=\"001\">6175</controlfield>\n <controlfield tag=\"009\">|cBIB1|mBIB1|p3;2;1;1|tUNI:1|025/04/2007|125/04/2007</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">978-2-915606-06-5</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">45 EUR</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0253785</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">6175</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2007-04-25</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20070425d|||| uuuy0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">y|||||||000|y</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">Sommets des Alpes d'Azur</subfield>\n <subfield code=\"f\">Pascal Bersac, Claude Raybaud, Richard Wacongne</subfield>\n <subfield code=\"h\">Tome 2</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Nice</subfield>\n <subfield code=\"c\">Ed. Gilletta - Nice-matin</subfield>\n <subfield code=\"d\">2004</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">223 p.</subfield>\n <subfield code=\"c\">ill. en coul., couv. ill. en coul.</subfield>\n <subfield code=\"d\">29 cm</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Index</subfield>\n </datafield>\n <datafield tag=\"461\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0253779</subfield>\n <subfield code=\"t\">Sommets des Alpes d'Azur</subfield>\n <subfield code=\"v\">2</subfield>\n <subfield code=\"9\">6173</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0227227</subfield>\n <subfield code=\"a\">Alpinisme</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0228617</subfield>\n <subfield code=\"y\">Alpes (France ; sud)</subfield>\n <subfield code=\"9\">67546</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">69204</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">796.522</subfield>\n <subfield code=\"v\">v21</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0253781</subfield>\n <subfield code=\"a\">Bersac</subfield>\n <subfield code=\"b\">Pascal</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"4\">440</subfield>\n <subfield code=\"9\">14703</subfield>\n </datafield>\n <datafield tag=\"701\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0253760</subfield>\n <subfield code=\"a\">Raybaud</subfield>\n <subfield code=\"b\">Claude</subfield>\n <subfield code=\"f\">1963-....</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"4\">440</subfield>\n <subfield code=\"9\">14675</subfield>\n </datafield>\n <datafield tag=\"701\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0017397</subfield>\n <subfield code=\"a\">Wacongne</subfield>\n <subfield code=\"b\">Richard</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"4\">440</subfield>\n <subfield code=\"9\">19198</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20070425</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0253790</subfield>\n <subfield code=\"a\">11043961</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.522</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "frameworkcode" : "IMP", + "new_status" : null, + "place" : null, + "abstract" : null, + "itemnotes" : "Provence", + "uri" : null, + "returndate" : "2017-12-18 17:31:45", + "coded_location_qualifier" : null, + "materials" : null, + "lastreneweddate" : null, + "collectionvolume" : null, + "volumedate" : null, + "itemlost_on" : null, + "publicationyear" : "2004", + "publishercode" : "Ed. Gilletta - Nice-matin", + "issue_id" : "333971", + "biblioitemnumber" : "6175", + "borrowernumber" : "16211", + "lccn" : null, + "copyrightdate" : null, + "itemstimestamp" : "2017-12-18 17:31:45", + "reserves" : null, + "replacementpricedate" : null, + "author" : "Pascal Bersac, Claude Raybaud, Richard Wacongne", + "isbn" : "978-2-915606-06-5", + "itemtype" : null, + "restricted" : null, + "url" : null, + "timestamp" : "2013-09-06 15:12:29", + "volume" : null, + "onsite_checkout" : "0", + "issues" : "2", + "ean" : null, + "editionresponsibility" : null, + "number" : null, + "date_due" : "2018-01-08 23:59:00", + "dateaccessioned" : "2013-09-06", + "volumedesc" : null, + "cn_suffix" : null, + "serial" : null, + "renewals" : null, + "unititle" : null, + "size" : "29 cm" + }, + { + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "cn_sort" : "", + "holdingbranch" : "HOSPICE", + "totalrenewals" : null, + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "issn" : null, + "enumchron" : null, + "seriestitle" : null, + "editionstatement" : null, + "withdrawn" : "0", + "price" : null, + "totalissues" : null, + "agerestriction" : null, + "notforloan" : "2", + "itemnumber" : "350", + "ccode" : null, + "title" : "Calligraphie", + "withdrawn_on" : null, + "barcode" : "11007228", + "collectiontitle" : null, + "cn_class" : null, + "issuestimestamp" : "2017-12-18 17:33:54", + "location" : "Aucune", + "itemcallnumber" : "745.61 MED", + "collectionissn" : null, + "damaged" : "0", + "itemnotes_nonpublic" : null, + "illus" : null, + "onloan" : "2018-01-08", + "replacementprice" : null, + "return" : null, + "itemlost" : "0", + "itype" : "LIV", + "permanent_location" : "Aucune", + "auto_renew" : "0", + "paidfor" : null, + "booksellerid" : null, + "pages" : "332 p.", + "copynumber" : null, + "issuedate" : "2017-06-29 08:54:13", + "cn_item" : null, + "cn_source" : null, + "stack" : null, + "biblionumber" : "233", + "datelastborrowed" : "2017-12-18", + "notes" : null, + "datecreated" : "2013-09-06", + "isbn" : "2-11-081135-8", + "itemtype" : null, + "replacementpricedate" : null, + "author" : "Claude Mediavilla", + "restricted" : null, + "url" : null, + "volume" : "du signe calligraphié à la peinture abstraite", + "timestamp" : "2013-09-06 14:55:42", + "onsite_checkout" : "0", + "issues" : "3", + "number" : null, + "date_due" : "2017-07-20 23:59:00", + "ean" : null, + "editionresponsibility" : null, + "volumedesc" : null, + "cn_suffix" : null, + "serial" : null, + "dateaccessioned" : "2013-09-06", + "renewals" : null, + "size" : "34 cm", + "unititle" : null, + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01255nam0a2200349 4500</leader>\n <controlfield tag=\"001\">233</controlfield>\n <controlfield tag=\"009\">|cBN|p1;1;2;3|s1|fBN|nfrBN015888069|tUNI:1|008/11/2001|112/03/2009</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2-11-081135-8</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">590 F</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">09337478</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 93-32698</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0080433</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">233</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">0158-88-06</subfield>\n <subfield code=\"d\">2009-03-12</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">19931011d1993 m y0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">a zz 00|z|</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">Calligraphie</subfield>\n <subfield code=\"e\">du signe calligraphié à la peinture abstraite</subfield>\n <subfield code=\"f\">Claude Mediavilla</subfield>\n <subfield code=\"g\">préf., Pierre Restany et Gérard Xuriguera</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">[Paris]</subfield>\n <subfield code=\"c\">Imprimerie nationale</subfield>\n <subfield code=\"d\">1993</subfield>\n <subfield code=\"e\">Paris</subfield>\n <subfield code=\"g\">Impr. nationale</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">332 p.</subfield>\n <subfield code=\"c\">ill. en noir et en coul.</subfield>\n <subfield code=\"d\">34 cm</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Bibliogr. p. 317-328</subfield>\n </datafield>\n <datafield tag=\"345\" ind1=\" \" ind2=\" \">\n <subfield code=\"b\">9782110811356</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0212308</subfield>\n <subfield code=\"a\">Calligraphie</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">52562</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0204336</subfield>\n <subfield code=\"a\">Ecriture</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">45441</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0204336</subfield>\n <subfield code=\"a\">Ecriture</subfield>\n <subfield code=\"3\">0203163</subfield>\n <subfield code=\"x\">Dans l'art</subfield>\n <subfield code=\"9\">45441</subfield>\n <subfield code=\"9\">44080</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0206810</subfield>\n <subfield code=\"a\">Peinture abstraite</subfield>\n <subfield code=\"9\">47866</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">745.61</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0016830</subfield>\n <subfield code=\"a\">Mediavilla</subfield>\n <subfield code=\"b\">Claude</subfield>\n <subfield code=\"9\">18426</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"3\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BN</subfield>\n <subfield code=\"c\">20010331</subfield>\n <subfield code=\"g\">AFNOR</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"2\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20011108</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0080528</subfield>\n <subfield code=\"a\">11007228</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">745.61</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "stocknumber" : "HMA", + "homebranch" : "HALLE", + "itemnotes" : "En réserve", + "uri" : null, + "abstract" : null, + "frameworkcode" : "IMP", + "new_status" : null, + "place" : null, + "materials" : null, + "coded_location_qualifier" : null, + "collectionvolume" : null, + "lastreneweddate" : null, + "returndate" : "2017-12-18 17:33:54", + "volumedate" : null, + "itemlost_on" : null, + "publishercode" : "Imprimerie nationale", + "publicationyear" : "1993", + "issue_id" : "333934", + "biblioitemnumber" : "233", + "borrowernumber" : "16211", + "copyrightdate" : null, + "itemstimestamp" : "2017-12-18 17:34:07", + "reserves" : null, + "lccn" : null + }, + { + "pages" : "332 p.", + "issuedate" : "2017-12-18 17:34:07", + "copynumber" : null, + "cn_item" : null, + "cn_source" : null, + "stack" : null, + "biblionumber" : "233", + "datelastborrowed" : "2017-12-18", + "notes" : null, + "datecreated" : "2013-09-06", + "collectionissn" : null, + "damaged" : "0", + "itemcallnumber" : "745.61 MED", + "illus" : null, + "itemnotes_nonpublic" : null, + "replacementprice" : null, + "onloan" : "2018-01-08", + "return" : null, + "itype" : "LIV", + "itemlost" : "0", + "paidfor" : null, + "permanent_location" : "Aucune", + "auto_renew" : "0", + "booksellerid" : null, + "totalissues" : null, + "notforloan" : "2", + "agerestriction" : null, + "itemnumber" : "350", + "title" : "Calligraphie", + "ccode" : null, + "withdrawn_on" : null, + "barcode" : "11007228", + "location" : "Aucune", + "collectiontitle" : null, + "issuestimestamp" : "2017-12-18 17:34:07", + "cn_class" : null, + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "cn_sort" : "", + "holdingbranch" : "HOSPICE", + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "totalrenewals" : null, + "enumchron" : null, + "issn" : null, + "price" : null, + "withdrawn" : "0", + "seriestitle" : null, + "editionstatement" : null, + "publicationyear" : "1993", + "publishercode" : "Imprimerie nationale", + "itemlost_on" : null, + "volumedate" : null, + "biblioitemnumber" : "233", + "issue_id" : "333972", + "borrowernumber" : "16211", + "itemstimestamp" : "2017-12-18 17:34:07", + "reserves" : null, + "copyrightdate" : null, + "lccn" : null, + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01255nam0a2200349 4500</leader>\n <controlfield tag=\"001\">233</controlfield>\n <controlfield tag=\"009\">|cBN|p1;1;2;3|s1|fBN|nfrBN015888069|tUNI:1|008/11/2001|112/03/2009</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2-11-081135-8</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">590 F</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">09337478</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 93-32698</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0080433</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">233</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">0158-88-06</subfield>\n <subfield code=\"d\">2009-03-12</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">19931011d1993 m y0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">a zz 00|z|</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">Calligraphie</subfield>\n <subfield code=\"e\">du signe calligraphié à la peinture abstraite</subfield>\n <subfield code=\"f\">Claude Mediavilla</subfield>\n <subfield code=\"g\">préf., Pierre Restany et Gérard Xuriguera</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">[Paris]</subfield>\n <subfield code=\"c\">Imprimerie nationale</subfield>\n <subfield code=\"d\">1993</subfield>\n <subfield code=\"e\">Paris</subfield>\n <subfield code=\"g\">Impr. nationale</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">332 p.</subfield>\n <subfield code=\"c\">ill. en noir et en coul.</subfield>\n <subfield code=\"d\">34 cm</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Bibliogr. p. 317-328</subfield>\n </datafield>\n <datafield tag=\"345\" ind1=\" \" ind2=\" \">\n <subfield code=\"b\">9782110811356</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0212308</subfield>\n <subfield code=\"a\">Calligraphie</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">52562</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0204336</subfield>\n <subfield code=\"a\">Ecriture</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">45441</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0204336</subfield>\n <subfield code=\"a\">Ecriture</subfield>\n <subfield code=\"3\">0203163</subfield>\n <subfield code=\"x\">Dans l'art</subfield>\n <subfield code=\"9\">45441</subfield>\n <subfield code=\"9\">44080</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0206810</subfield>\n <subfield code=\"a\">Peinture abstraite</subfield>\n <subfield code=\"9\">47866</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">745.61</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0016830</subfield>\n <subfield code=\"a\">Mediavilla</subfield>\n <subfield code=\"b\">Claude</subfield>\n <subfield code=\"9\">18426</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"3\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BN</subfield>\n <subfield code=\"c\">20010331</subfield>\n <subfield code=\"g\">AFNOR</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"2\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20011108</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0080528</subfield>\n <subfield code=\"a\">11007228</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">745.61</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "homebranch" : "HALLE", + "stocknumber" : "HMA", + "abstract" : null, + "uri" : null, + "itemnotes" : "En réserve", + "place" : null, + "new_status" : null, + "frameworkcode" : "IMP", + "materials" : null, + "coded_location_qualifier" : null, + "collectionvolume" : null, + "lastreneweddate" : null, + "returndate" : null, + "date_due" : "2018-01-08 23:59:00", + "number" : null, + "editionresponsibility" : null, + "ean" : null, + "volumedesc" : null, + "cn_suffix" : null, + "serial" : null, + "dateaccessioned" : "2013-09-06", + "unititle" : null, + "size" : "34 cm", + "renewals" : null, + "itemtype" : null, + "isbn" : "2-11-081135-8", + "author" : "Claude Mediavilla", + "replacementpricedate" : null, + "url" : null, + "restricted" : null, + "volume" : "du signe calligraphié à la peinture abstraite", + "timestamp" : "2013-09-06 14:55:42", + "issues" : "3", + "onsite_checkout" : "0" + }, + { + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01323nam0a2200361 4500</leader>\n <controlfield tag=\"001\">2519</controlfield>\n <controlfield tag=\"009\">|cBN|fBNF|nFRBNF376749040000004|tUNI:1|028/01/2004|112/03/2009</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2-7427-2410-9</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">298 F</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">00105395</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 00-10074</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 00-10074</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0165504</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2519</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2004-01-28</subfield>\n <subfield code=\"d\">3767-49-04</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20000509d1999 m y0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n <subfield code=\"c\">ita</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"a\">IT</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">a z 000y|</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">histoire des plantes en Méditerranée (L')</subfield>\n <subfield code=\"e\">art et botanique</subfield>\n <subfield code=\"f\">Fabio Benzi, Luigi Berliocchi</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Arles</subfield>\n <subfield code=\"c\">Actes Sud</subfield>\n <subfield code=\"a\">Milan</subfield>\n <subfield code=\"c\">Motta</subfield>\n <subfield code=\"d\">1999</subfield>\n <subfield code=\"e\">impr. en Italie</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">175 p.</subfield>\n <subfield code=\"c\">ill. en noir et en coul., jaquette ill. en coul.</subfield>\n <subfield code=\"d\">27 x 31 cm</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Bibliogr. p. 167-171. Index</subfield>\n </datafield>\n <datafield tag=\"345\" ind1=\" \" ind2=\" \">\n <subfield code=\"b\">9782742724109</subfield>\n </datafield>\n <datafield tag=\"454\" ind1=\" \" ind2=\"1\">\n <subfield code=\"t\">Paesaggio Mediterraneo</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0220362</subfield>\n <subfield code=\"a\">Plantes d'ornement</subfield>\n <subfield code=\"3\">0215938</subfield>\n <subfield code=\"y\">Méditerranée (région)</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">61099</subfield>\n <subfield code=\"9\">56131</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0165368</subfield>\n <subfield code=\"a\">Plantes</subfield>\n <subfield code=\"x\">Dans l'art</subfield>\n <subfield code=\"9\">5201</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">581.754</subfield>\n <subfield code=\"v\">21</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0165338</subfield>\n <subfield code=\"a\">Benzi</subfield>\n <subfield code=\"b\">Fabio</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">5167</subfield>\n </datafield>\n <datafield tag=\"701\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0165339</subfield>\n <subfield code=\"a\">Berliocchi</subfield>\n <subfield code=\"b\">Luigi</subfield>\n <subfield code=\"f\">1953-....</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">5169</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BNF</subfield>\n <subfield code=\"c\">20000509</subfield>\n <subfield code=\"g\">AFNOR</subfield>\n <subfield code=\"2\">intermrc</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"2\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20040128</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0165510</subfield>\n <subfield code=\"a\">11027839</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">581.754</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "homebranch" : "RESERVE", + "stocknumber" : null, + "abstract" : null, + "itemnotes" : "En réserve", + "uri" : null, + "frameworkcode" : "IMP", + "new_status" : null, + "place" : null, + "lastreneweddate" : null, + "coded_location_qualifier" : null, + "materials" : null, + "collectionvolume" : null, + "returndate" : "2017-12-18 17:35:58", + "volumedate" : null, + "itemlost_on" : null, + "publicationyear" : "1999", + "publishercode" : "Actes Sud | Motta", + "issue_id" : "333931", + "biblioitemnumber" : "2519", + "borrowernumber" : "16211", + "copyrightdate" : null, + "itemstimestamp" : "2017-12-18 17:36:04", + "reserves" : null, + "lccn" : null, + "isbn" : "2-7427-2410-9", + "itemtype" : null, + "replacementpricedate" : null, + "author" : "Fabio Benzi, Luigi Berliocchi", + "restricted" : null, + "url" : null, + "volume" : "art et botanique", + "timestamp" : "2013-09-06 14:56:27", + "issues" : "2", + "onsite_checkout" : "0", + "number" : null, + "date_due" : "2017-07-20 23:59:00", + "ean" : null, + "editionresponsibility" : null, + "cn_suffix" : null, + "volumedesc" : null, + "serial" : null, + "dateaccessioned" : "2013-09-06", + "renewals" : null, + "unititle" : null, + "size" : "27 x 31 cm", + "itemcallnumber" : "581.754 BEN", + "damaged" : "0", + "collectionissn" : null, + "itemnotes_nonpublic" : null, + "illus" : null, + "replacementprice" : "46.00", + "onloan" : "2018-01-08", + "itype" : "LIV", + "return" : null, + "itemlost" : "0", + "permanent_location" : "Aucune", + "auto_renew" : "0", + "paidfor" : null, + "booksellerid" : null, + "pages" : "175 p.", + "copynumber" : null, + "issuedate" : "2017-06-29 08:45:38", + "cn_item" : null, + "cn_source" : null, + "stack" : null, + "biblionumber" : "2519", + "datelastborrowed" : "2017-12-18", + "datecreated" : "2013-09-06", + "notes" : null, + "branchcode" : "HOSPICE", + "cn_sort" : "", + "datelastseen" : "2017-12-18", + "holdingbranch" : "HOSPICE", + "totalrenewals" : null, + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "issn" : null, + "enumchron" : null, + "editionstatement" : null, + "seriestitle" : null, + "withdrawn" : "0", + "price" : null, + "totalissues" : null, + "agerestriction" : null, + "notforloan" : "0", + "itemnumber" : "3159", + "ccode" : null, + "title" : "histoire des plantes en Méditerranée (L')", + "barcode" : "90021854", + "withdrawn_on" : null, + "collectiontitle" : null, + "issuestimestamp" : "2017-12-18 17:35:58", + "cn_class" : null, + "location" : "Aucune" + }, + { + "uri" : null, + "itemnotes" : "En réserve", + "abstract" : null, + "frameworkcode" : "IMP", + "place" : null, + "new_status" : null, + "lastreneweddate" : null, + "coded_location_qualifier" : null, + "collectionvolume" : null, + "materials" : null, + "returndate" : null, + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01323nam0a2200361 4500</leader>\n <controlfield tag=\"001\">2519</controlfield>\n <controlfield tag=\"009\">|cBN|fBNF|nFRBNF376749040000004|tUNI:1|028/01/2004|112/03/2009</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2-7427-2410-9</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">298 F</subfield>\n </datafield>\n <datafield tag=\"020\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">00105395</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 00-10074</subfield>\n </datafield>\n <datafield tag=\"021\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">DL 00-10074</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0165504</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">2519</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2004-01-28</subfield>\n <subfield code=\"d\">3767-49-04</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20000509d1999 m y0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n <subfield code=\"c\">ita</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"a\">IT</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">a z 000y|</subfield>\n </datafield>\n <datafield tag=\"106\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">r</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\"1\" ind2=\" \">\n <subfield code=\"a\">histoire des plantes en Méditerranée (L')</subfield>\n <subfield code=\"e\">art et botanique</subfield>\n <subfield code=\"f\">Fabio Benzi, Luigi Berliocchi</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Arles</subfield>\n <subfield code=\"c\">Actes Sud</subfield>\n <subfield code=\"a\">Milan</subfield>\n <subfield code=\"c\">Motta</subfield>\n <subfield code=\"d\">1999</subfield>\n <subfield code=\"e\">impr. en Italie</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">175 p.</subfield>\n <subfield code=\"c\">ill. en noir et en coul., jaquette ill. en coul.</subfield>\n <subfield code=\"d\">27 x 31 cm</subfield>\n </datafield>\n <datafield tag=\"300\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Bibliogr. p. 167-171. Index</subfield>\n </datafield>\n <datafield tag=\"345\" ind1=\" \" ind2=\" \">\n <subfield code=\"b\">9782742724109</subfield>\n </datafield>\n <datafield tag=\"454\" ind1=\" \" ind2=\"1\">\n <subfield code=\"t\">Paesaggio Mediterraneo</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0220362</subfield>\n <subfield code=\"a\">Plantes d'ornement</subfield>\n <subfield code=\"3\">0215938</subfield>\n <subfield code=\"y\">Méditerranée (région)</subfield>\n <subfield code=\"3\">0003653</subfield>\n <subfield code=\"x\">Histoire</subfield>\n <subfield code=\"9\">61099</subfield>\n <subfield code=\"9\">56131</subfield>\n <subfield code=\"9\">3679</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0165368</subfield>\n <subfield code=\"a\">Plantes</subfield>\n <subfield code=\"x\">Dans l'art</subfield>\n <subfield code=\"9\">5201</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">581.754</subfield>\n <subfield code=\"v\">21</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0165338</subfield>\n <subfield code=\"a\">Benzi</subfield>\n <subfield code=\"b\">Fabio</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">5167</subfield>\n </datafield>\n <datafield tag=\"701\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0165339</subfield>\n <subfield code=\"a\">Berliocchi</subfield>\n <subfield code=\"b\">Luigi</subfield>\n <subfield code=\"f\">1953-....</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">5169</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BNF</subfield>\n <subfield code=\"c\">20000509</subfield>\n <subfield code=\"g\">AFNOR</subfield>\n <subfield code=\"2\">intermrc</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"2\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20040128</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0165510</subfield>\n <subfield code=\"a\">11027839</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">581.754</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "homebranch" : "RESERVE", + "stocknumber" : null, + "borrowernumber" : "16211", + "copyrightdate" : null, + "itemstimestamp" : "2017-12-18 17:36:04", + "reserves" : null, + "lccn" : null, + "itemlost_on" : null, + "volumedate" : null, + "publicationyear" : "1999", + "publishercode" : "Actes Sud | Motta", + "issue_id" : "333973", + "biblioitemnumber" : "2519", + "volume" : "art et botanique", + "timestamp" : "2013-09-06 14:56:27", + "onsite_checkout" : "0", + "issues" : "2", + "isbn" : "2-7427-2410-9", + "itemtype" : null, + "replacementpricedate" : null, + "author" : "Fabio Benzi, Luigi Berliocchi", + "restricted" : null, + "url" : null, + "volumedesc" : null, + "cn_suffix" : null, + "serial" : null, + "dateaccessioned" : "2013-09-06", + "renewals" : null, + "size" : "27 x 31 cm", + "unititle" : null, + "date_due" : "2018-01-08 23:59:00", + "number" : null, + "ean" : null, + "editionresponsibility" : null, + "permanent_location" : "Aucune", + "auto_renew" : "0", + "paidfor" : null, + "booksellerid" : null, + "itemcallnumber" : "581.754 BEN", + "collectionissn" : null, + "damaged" : "0", + "itemnotes_nonpublic" : null, + "illus" : null, + "replacementprice" : "46.00", + "onloan" : "2018-01-08", + "return" : null, + "itype" : "LIV", + "itemlost" : "0", + "biblionumber" : "2519", + "datecreated" : "2013-09-06", + "datelastborrowed" : "2017-12-18", + "notes" : null, + "pages" : "175 p.", + "copynumber" : null, + "issuedate" : "2017-12-18 17:36:04", + "cn_item" : null, + "stack" : null, + "cn_source" : null, + "totalrenewals" : null, + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "issn" : null, + "enumchron" : null, + "editionstatement" : null, + "seriestitle" : null, + "withdrawn" : "0", + "price" : null, + "cn_sort" : "", + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "holdingbranch" : "HOSPICE", + "ccode" : null, + "title" : "histoire des plantes en Méditerranée (L')", + "withdrawn_on" : null, + "barcode" : "90021854", + "collectiontitle" : null, + "issuestimestamp" : "2017-12-18 17:36:04", + "cn_class" : null, + "location" : "Aucune", + "totalissues" : null, + "agerestriction" : null, + "notforloan" : "0", + "itemnumber" : "3159" + }, + { + "notforloan" : "0", + "agerestriction" : null, + "totalissues" : null, + "itemnumber" : "14451", + "title" : "Sainte-Victoire - Sainte-Baume", + "ccode" : null, + "location" : "Aucune", + "collectiontitle" : "Montagne Randonnée", + "cn_class" : null, + "issuestimestamp" : "2017-12-18 17:37:49", + "barcode" : "11060842", + "withdrawn_on" : null, + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "cn_sort" : "", + "holdingbranch" : "HOSPICE", + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "totalrenewals" : "1", + "withdrawn" : "0", + "price" : null, + "seriestitle" : null, + "editionstatement" : null, + "enumchron" : null, + "issn" : null, + "issuedate" : "2017-12-19 17:36:37", + "copynumber" : null, + "pages" : "127 p.", + "stack" : null, + "cn_source" : null, + "cn_item" : null, + "biblionumber" : "12540", + "datelastborrowed" : "2017-12-18", + "datecreated" : "2013-09-06", + "notes" : null, + "illus" : null, + "itemnotes_nonpublic" : null, + "damaged" : "0", + "collectionissn" : null, + "itemcallnumber" : "796.51 GAR", + "itemlost" : "0", + "return" : null, + "itype" : "LIV", + "onloan" : "2018-01-08", + "replacementprice" : null, + "paidfor" : null, + "permanent_location" : "Aucune", + "auto_renew" : "0", + "booksellerid" : null, + "editionresponsibility" : null, + "ean" : null, + "date_due" : "2018-01-08 23:59:00", + "number" : null, + "dateaccessioned" : "2013-09-06", + "volumedesc" : null, + "cn_suffix" : null, + "serial" : null, + "unititle" : null, + "size" : "26 x 20 cm", + "renewals" : null, + "author" : "Pierre Garcin", + "replacementpricedate" : null, + "itemtype" : null, + "isbn" : "978-2-7234-7730-7", + "url" : null, + "restricted" : null, + "timestamp" : "2013-10-03 14:46:31", + "volume" : "Les plus belles randonnées", + "onsite_checkout" : "0", + "issues" : "6", + "publishercode" : "Glénat", + "publicationyear" : "2011", + "itemlost_on" : null, + "volumedate" : null, + "biblioitemnumber" : "12540", + "issue_id" : "333974", + "borrowernumber" : "16211", + "lccn" : null, + "itemstimestamp" : "2017-12-18 17:37:53", + "reserves" : null, + "copyrightdate" : null, + "stocknumber" : "MAU", + "homebranch" : "HOSPICE", + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01235nam0a2200301 4500</leader>\n <controlfield tag=\"001\">12540</controlfield>\n <controlfield tag=\"009\">|cBIB3|mOPSYS|p6;6|tUNI:1|014/03/2012|113/12/2012</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">978-2-7234-7730-7</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">30 EUR</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0345611</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">12540</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2012-03-14</subfield>\n <subfield code=\"d\">2012-12-13</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20120314d|||| uuuy0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">y|||||||000|y</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Sainte-Victoire - Sainte-Baume</subfield>\n <subfield code=\"e\">Les plus belles randonnées</subfield>\n <subfield code=\"f\">Pierre Garcin</subfield>\n <subfield code=\"g\">Photos de Nicolas Lacroix</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Grenoble</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"d\">2011</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">127 p.</subfield>\n <subfield code=\"c\">ill. en coul., couv. ill. en coul.</subfield>\n <subfield code=\"d\">26 x 20 cm</subfield>\n </datafield>\n <datafield tag=\"225\" ind1=\"2\" ind2=\" \">\n <subfield code=\"a\">Montagne Randonnée</subfield>\n </datafield>\n <datafield tag=\"410\" ind1=\" \" ind2=\"0\">\n <subfield code=\"3\">0025460</subfield>\n <subfield code=\"t\">Montagne-randonnée</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"x\">1160-0934</subfield>\n <subfield code=\"9\">29571</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0205945</subfield>\n <subfield code=\"a\">Randonnée pédestre</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0265399</subfield>\n <subfield code=\"y\">Sainte-Victoire (France ; massif)</subfield>\n <subfield code=\"9\">47035</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">29428</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0205945</subfield>\n <subfield code=\"a\">Randonnée pédestre</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0212515</subfield>\n <subfield code=\"y\">Sainte-Baume (France ; montagne)</subfield>\n <subfield code=\"9\">47035</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">52926</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">796.51</subfield>\n <subfield code=\"v\">v21</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0007243</subfield>\n <subfield code=\"a\">Garcin</subfield>\n <subfield code=\"b\">Pierre</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">7647</subfield>\n </datafield>\n <datafield tag=\"702\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0079751</subfield>\n <subfield code=\"a\">Lacroix</subfield>\n <subfield code=\"b\">Nicolas</subfield>\n <subfield code=\"4\">600</subfield>\n <subfield code=\"9\">79851</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20120314</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0345614</subfield>\n <subfield code=\"a\">11060842</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.51</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0345618</subfield>\n <subfield code=\"a\">11060843</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.51</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "new_status" : null, + "place" : null, + "frameworkcode" : "IMP", + "abstract" : null, + "itemnotes" : "Provence", + "uri" : null, + "returndate" : "2017-12-18 17:37:49", + "collectionvolume" : null, + "lastreneweddate" : null, + "materials" : null, + "coded_location_qualifier" : null + }, + { + "replacementpricedate" : null, + "author" : "Pierre Garcin", + "isbn" : "978-2-7234-7730-7", + "itemtype" : null, + "restricted" : null, + "url" : null, + "timestamp" : "2013-10-03 14:46:31", + "volume" : "Les plus belles randonnées", + "issues" : "6", + "onsite_checkout" : "0", + "ean" : null, + "editionresponsibility" : null, + "date_due" : "2018-01-08 23:59:00", + "number" : null, + "dateaccessioned" : "2013-09-06", + "serial" : null, + "volumedesc" : null, + "cn_suffix" : null, + "renewals" : null, + "size" : "26 x 20 cm", + "unititle" : null, + "stocknumber" : "MAU", + "homebranch" : "HOSPICE", + "marcxml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<record\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n <leader>01235nam0a2200301 4500</leader>\n <controlfield tag=\"001\">12540</controlfield>\n <controlfield tag=\"009\">|cBIB3|mOPSYS|p6;6|tUNI:1|014/03/2012|113/12/2012</controlfield>\n <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">978-2-7234-7730-7</subfield>\n <subfield code=\"b\">rel.</subfield>\n <subfield code=\"d\">30 EUR</subfield>\n </datafield>\n <datafield tag=\"035\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">0345611</subfield>\n </datafield>\n <datafield tag=\"090\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">12540</subfield>\n </datafield>\n <datafield tag=\"099\" ind1=\" \" ind2=\" \">\n <subfield code=\"c\">2012-03-14</subfield>\n <subfield code=\"d\">2012-12-13</subfield>\n </datafield>\n <datafield tag=\"100\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">20120314d|||| uuuy0frey50 ba</subfield>\n </datafield>\n <datafield tag=\"101\" ind1=\"0\" ind2=\" \">\n <subfield code=\"a\">fre</subfield>\n </datafield>\n <datafield tag=\"102\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">FR</subfield>\n </datafield>\n <datafield tag=\"105\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">y|||||||000|y</subfield>\n </datafield>\n <datafield tag=\"200\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Sainte-Victoire - Sainte-Baume</subfield>\n <subfield code=\"e\">Les plus belles randonnées</subfield>\n <subfield code=\"f\">Pierre Garcin</subfield>\n <subfield code=\"g\">Photos de Nicolas Lacroix</subfield>\n </datafield>\n <datafield tag=\"210\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">Grenoble</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"d\">2011</subfield>\n </datafield>\n <datafield tag=\"215\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">127 p.</subfield>\n <subfield code=\"c\">ill. en coul., couv. ill. en coul.</subfield>\n <subfield code=\"d\">26 x 20 cm</subfield>\n </datafield>\n <datafield tag=\"225\" ind1=\"2\" ind2=\" \">\n <subfield code=\"a\">Montagne Randonnée</subfield>\n </datafield>\n <datafield tag=\"410\" ind1=\" \" ind2=\"0\">\n <subfield code=\"3\">0025460</subfield>\n <subfield code=\"t\">Montagne-randonnée</subfield>\n <subfield code=\"c\">Glénat</subfield>\n <subfield code=\"x\">1160-0934</subfield>\n <subfield code=\"9\">29571</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0205945</subfield>\n <subfield code=\"a\">Randonnée pédestre</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0265399</subfield>\n <subfield code=\"y\">Sainte-Victoire (France ; massif)</subfield>\n <subfield code=\"9\">47035</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">29428</subfield>\n </datafield>\n <datafield tag=\"606\" ind1=\"1\" ind2=\" \">\n <subfield code=\"3\">0205945</subfield>\n <subfield code=\"a\">Randonnée pédestre</subfield>\n <subfield code=\"3\">0201432</subfield>\n <subfield code=\"y\">France</subfield>\n <subfield code=\"3\">0212515</subfield>\n <subfield code=\"y\">Sainte-Baume (France ; montagne)</subfield>\n <subfield code=\"9\">47035</subfield>\n <subfield code=\"9\">42204</subfield>\n <subfield code=\"9\">52926</subfield>\n </datafield>\n <datafield tag=\"676\" ind1=\" \" ind2=\" \">\n <subfield code=\"a\">796.51</subfield>\n <subfield code=\"v\">v21</subfield>\n </datafield>\n <datafield tag=\"700\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0007243</subfield>\n <subfield code=\"a\">Garcin</subfield>\n <subfield code=\"b\">Pierre</subfield>\n <subfield code=\"4\">070</subfield>\n <subfield code=\"9\">7647</subfield>\n </datafield>\n <datafield tag=\"702\" ind1=\" \" ind2=\"1\">\n <subfield code=\"3\">0079751</subfield>\n <subfield code=\"a\">Lacroix</subfield>\n <subfield code=\"b\">Nicolas</subfield>\n <subfield code=\"4\">600</subfield>\n <subfield code=\"9\">79851</subfield>\n </datafield>\n <datafield tag=\"801\" ind1=\" \" ind2=\"0\">\n <subfield code=\"a\">FR</subfield>\n <subfield code=\"b\">BM LA CIOTAT</subfield>\n <subfield code=\"c\">20120314</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0345614</subfield>\n <subfield code=\"a\">11060842</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.51</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n <datafield tag=\"997\" ind1=\" \" ind2=\" \">\n <subfield code=\"3\">0345618</subfield>\n <subfield code=\"a\">11060843</subfield>\n <subfield code=\"c\">C</subfield>\n <subfield code=\"d\">A</subfield>\n <subfield code=\"g\">796.51</subfield>\n <subfield code=\"t\">LIV</subfield>\n </datafield>\n</record>\n", + "frameworkcode" : "IMP", + "new_status" : null, + "place" : null, + "abstract" : null, + "uri" : null, + "itemnotes" : "Provence", + "returndate" : null, + "coded_location_qualifier" : null, + "materials" : null, + "collectionvolume" : null, + "lastreneweddate" : null, + "itemlost_on" : null, + "volumedate" : null, + "publicationyear" : "2011", + "publishercode" : "Glénat", + "issue_id" : "333975", + "biblioitemnumber" : "12540", + "borrowernumber" : "16211", + "lccn" : null, + "copyrightdate" : null, + "itemstimestamp" : "2017-12-18 17:37:53", + "reserves" : null, + "cn_sort" : "", + "branchcode" : "HOSPICE", + "datelastseen" : "2017-12-18", + "holdingbranch" : "HOSPICE", + "totalrenewals" : "1", + "more_subfields_xml" : "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<collection\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd\"\n xmlns=\"http://www.loc.gov/MARC21/slim\">\n\n<record>\n <leader> a </leader>\n <datafield tag=\"999\" ind1=\" \" ind2=\" \">\n <subfield code=\"q\">A</subfield>\n </datafield>\n</record>\n\n</collection>", + "editionstatement" : null, + "seriestitle" : null, + "price" : null, + "withdrawn" : "0", + "issn" : null, + "enumchron" : null, + "agerestriction" : null, + "notforloan" : "0", + "totalissues" : null, + "itemnumber" : "14451", + "ccode" : null, + "title" : "Sainte-Victoire - Sainte-Baume", + "issuestimestamp" : "2017-12-18 17:37:53", + "collectiontitle" : "Montagne Randonnée", + "cn_class" : null, + "location" : "Aucune", + "withdrawn_on" : null, + "barcode" : "11060842", + "itemnotes_nonpublic" : null, + "illus" : null, + "itemcallnumber" : "796.51 GAR", + "damaged" : "0", + "collectionissn" : null, + "return" : null, + "itype" : "LIV", + "itemlost" : "0", + "replacementprice" : null, + "onloan" : "2018-01-08", + "auto_renew" : "0", + "permanent_location" : "Aucune", + "paidfor" : null, + "booksellerid" : null, + "copynumber" : null, + "issuedate" : "2017-12-18 17:37:53", + "pages" : "127 p.", + "cn_source" : null, + "stack" : null, + "cn_item" : null, + "biblionumber" : "12540", + "notes" : null, + "datelastborrowed" : "2017-12-18", + "datecreated" : "2013-09-06" + } +] + diff --git a/tests/library/Class/WebService/SIGB/KohaRestfulTest.php b/tests/library/Class/WebService/SIGB/KohaRestfulTest.php index 96a4c5f9b0b09d5f41401a326ae09ab5a2bc9d00..b7e943a2759c7f5b68514d7a30922e5199c23c41 100644 --- a/tests/library/Class/WebService/SIGB/KohaRestfulTest.php +++ b/tests/library/Class/WebService/SIGB/KohaRestfulTest.php @@ -414,7 +414,7 @@ class KohaRestGetUserHistoryTest extends KohaRestfulTestCase { /** @test */ public function userShouldHaveThreeLoans() { - $this->assertEquals(3, $this->loans_history->totalCount()); + $this->assertCount(3, $this->loans_history->getLoans()); } diff --git a/tests/library/Class/WebService/SIGB/NanookTest.php b/tests/library/Class/WebService/SIGB/NanookTest.php index 353842200898224b4966a9d330eace943748014e..f93bdee9d592c4e438fbffd354b791e88c682e28 100644 --- a/tests/library/Class/WebService/SIGB/NanookTest.php +++ b/tests/library/Class/WebService/SIGB/NanookTest.php @@ -1298,6 +1298,9 @@ class NanookLoanHistoryTest extends NanookTestCase { ->whenCalled('open_url') ->with('http://localhost:8080/afi_Nanook/ilsdi/service/GetLoanHistory/patronId/34?pageNumber=2') ->answers(NanookFixtures::xmlGetLoanHistoryPageTwo()) + ->whenCalled('open_url') + ->with('http://localhost:8080/afi_Nanook/ilsdi/service/GetLoanHistory/patronId/34?pageNumber=3') + ->answers(NanookFixtures::xmlGetLoanHistoryPageThree()) ->beStrict(); $this->emprunteur = (new Class_WebService_SIGB_Emprunteur('34', 'harlock')) ->setService($this->_service); @@ -1319,7 +1322,7 @@ class NanookLoanHistoryTest extends NanookTestCase { /** @test */ public function userShouldHaveThreeLoans() { - $this->assertEquals(3, $this->loans_history->totalCount()); + $this->assertEquals(3, count($this->loans_history->getLoans())); } @@ -1359,21 +1362,14 @@ class NanookLoanHistoryTest extends NanookTestCase { /** @test */ - public function secondLoanIssueDateShouldBe24_08_2017() { + public function firstLoanIssueDateShouldBe24_08_2017() { $this->assertEquals('24/08/2017', $this->loans_history->getLoans()[0]->getIssueDate()); } /** @test */ - public function secondPageLoanTitleShouldBeJeteCroquerai() { - $this->assertEquals('Je te croquerai !', $this->_service->loansHistory($this->emprunteur, 2)->getLoans()[0]->getTitre()); - } - - - /** @test */ - public function loanHistorFetchAllShouldLoadAllPages() { - $history = $this->_service->loansHistory($this->emprunteur)->fetchAll(); - $this->assertCount(3, $history->getLoans()); + public function thirdLoanTitleShouldBeJeteCroquerai() { + $this->assertEquals('Je te croquerai !', $this->loans_history->getLoans()[2]->getTitre()); } @@ -1386,6 +1382,4 @@ class NanookLoanHistoryTest extends NanookTestCase { $this->assertFalse($this->_service->providesLoansHistory()); } - - } \ No newline at end of file