diff --git a/VERSIONS_HOTLINE/129037 b/VERSIONS_HOTLINE/129037
new file mode 100644
index 0000000000000000000000000000000000000000..9719208420f9bfa471ac7bfcd4546428a18094b8
--- /dev/null
+++ b/VERSIONS_HOTLINE/129037
@@ -0,0 +1 @@
+ - ticket #129037 : Correction du permalien avec id_sigb et id_site. Les contenus des ressources numériques ont été exclues de l'interprétation des permaliens.
\ No newline at end of file
diff --git a/VERSIONS_HOTLINE/129284 b/VERSIONS_HOTLINE/129284
new file mode 100644
index 0000000000000000000000000000000000000000..b843ee690853b7c5efb4a7b6f815d971821539f7
--- /dev/null
+++ b/VERSIONS_HOTLINE/129284
@@ -0,0 +1 @@
+ - ticket #129284 : Impossibilité d'ajouter des lecteurs sur des activités
\ No newline at end of file
diff --git a/VERSIONS_HOTLINE/129555 b/VERSIONS_HOTLINE/129555
new file mode 100644
index 0000000000000000000000000000000000000000..f9b17ff00991e061e94ca3a9b29bb389cffba758
--- /dev/null
+++ b/VERSIONS_HOTLINE/129555
@@ -0,0 +1 @@
+ - ticket #129555 : Serveur OAI : prise en compte du https pour l'url fournie en dc:identifier
\ No newline at end of file
diff --git a/VERSIONS_HOTLINE/130066 b/VERSIONS_HOTLINE/130066
new file mode 100644
index 0000000000000000000000000000000000000000..112edda31494f8d5df16c06daa5ca2a7901b9a3e
--- /dev/null
+++ b/VERSIONS_HOTLINE/130066
@@ -0,0 +1 @@
+ - ticket #130066 : Recherche : Correction d'une erreur pouvant survenir lors de l'autocomplétion de la recherche simple 
\ No newline at end of file
diff --git a/library/Class/Autocomplete/IndexSearcher.php b/library/Class/Autocomplete/IndexSearcher.php
index 0ebc8e2b59bad780b080f2b5506f611c5e2fab94..a5eb628bd8527d4a71c2dd31c566e9e146a4aebc 100644
--- a/library/Class/Autocomplete/IndexSearcher.php
+++ b/library/Class/Autocomplete/IndexSearcher.php
@@ -62,7 +62,7 @@ class Class_Autocomplete_IndexSearcher {
   public function buildGrepCommand($search_expression) {
     $terms = str_replace("'", "'\''", static::extractTerms($search_expression));
 
-    $grep_args= ["-ri -E --no-filename '(\b|'\'')" . $terms[0] . "' " . $this->base_path . "| sort -Vuf"];
+    $grep_args= ["-riI -E --no-filename '(\b|'\'')" . $terms[0] . "' " . $this->base_path . "| sort -Vuf"];
 
     foreach(array_slice($terms, 1) as $term)
       $grep_args []= "-i -E '(\b|'\'')" . $term . "'";
@@ -80,4 +80,3 @@ class Class_Autocomplete_IndexSearcher {
     return array_slice($out, 0, 10);
   }
 }
-?>
diff --git a/library/Class/MoteurRecherche/RecordRequest.php b/library/Class/MoteurRecherche/RecordRequest.php
index 373f25c7bd4fdca35cd0c73f2924fcaf1ed81212..b85110ad87403f4854fcbd8293871fe73a555aaa 100644
--- a/library/Class/MoteurRecherche/RecordRequest.php
+++ b/library/Class/MoteurRecherche/RecordRequest.php
@@ -55,11 +55,13 @@ abstract class Class_MoteurRecherche_RecordRequest {
   protected static function _findItem($id_sigb, $id_site, $record_type) {
     if (static::ALL_SITES === $id_site)
       return Class_Exemplaire::findFirstBy(['id_origine' => $id_sigb,
+                                            'id_int_bib not' => 0,
                                             'type' => $record_type]);
 
     return ($annex = Class_CodifAnnexe::findFirstBy(['id_origine' => $id_site]))
       ? Class_Exemplaire::findFirstBy(['id_origine' => $id_sigb,
                                        'id_bib' => $annex->getIdBib(),
+                                       'id_int_bib not' => 0,
                                        'type' => $record_type])
       : null;
   }
diff --git a/library/Class/Notice/DublinCoreVisitor.php b/library/Class/Notice/DublinCoreVisitor.php
index 9c672fb20c7726e7336564c15d36f56a35dce89f..7cbfa9246151da9f09e224296c54c7d0bbd30316 100644
--- a/library/Class/Notice/DublinCoreVisitor.php
+++ b/library/Class/Notice/DublinCoreVisitor.php
@@ -52,8 +52,7 @@ class Class_Notice_DublinCoreVisitor {
   public function visitClefAlpha($clef) {
     $this->_identifier = sprintf('oai:%s:%s',
                                  $_SERVER['SERVER_NAME'], $clef);
-    $this->_url_identifier = sprintf('http://%s%s/recherche/viewnotice/clef/%s',
-                                 $_SERVER['SERVER_NAME'], BASE_URL, $clef);
+    $this->_url_identifier = Class_Url::absolute('/recherche/viewnotice/clef/' . $clef);
   }
 
 
diff --git a/library/Class/WebService/SIGB/Koha/PatronInfoReader.php b/library/Class/WebService/SIGB/Koha/PatronInfoReader.php
index 0f75c707c5a7f9105f388afe27980925b1b71e30..b4517b61192fc96b5283a4c4cca2997b072d7c89 100644
--- a/library/Class/WebService/SIGB/Koha/PatronInfoReader.php
+++ b/library/Class/WebService/SIGB/Koha/PatronInfoReader.php
@@ -21,7 +21,7 @@
 
 class Class_WebService_SIGB_Koha_PatronInfoReader
   extends Class_WebService_SIGB_AbstractILSDIPatronInfoReader {
-  use Class_WebService_SIGB_Koha_TraitFormat, Trait_Translator;
+  use Class_WebService_SIGB_Koha_TraitFormat, Trait_Translator, Trait_TimeSource;
 
   protected
     $_current_exemplaire_operation,
@@ -115,7 +115,12 @@ class Class_WebService_SIGB_Koha_PatronInfoReader
 
 
   public function endDebarred($data) {
-    if ($data)
+    if ($data === 1){
+      $this->_emprunteur->beBlocked();
+      return;
+    }
+
+    if( strtotime($data) > $this->getCurrentTime())
       $this->_emprunteur->beBlocked();
   }
 
diff --git a/tests/application/modules/opac/controllers/OAIControllerListRecordsTest.php b/tests/application/modules/opac/controllers/OAIControllerListRecordsTest.php
index 5c2811b3ac94d1cb8956e748393ebb9f8717e814..3feef92be2cf28bb861a8ea5433f704f690c0a9b 100644
--- a/tests/application/modules/opac/controllers/OAIControllerListRecordsTest.php
+++ b/tests/application/modules/opac/controllers/OAIControllerListRecordsTest.php
@@ -155,6 +155,35 @@ class OAIControllerListRecordsInZorkSetTest
 
 
 
+/** @see 129555 */
+class OAIControllerListRecordsInZorkSetHttpsTest
+  extends OAIControllerListRecordsInZorkSetTestCase {
+  protected $_body;
+
+  public function setUp() {
+    parent::setUp();
+    $_SERVER['HTTPS'] = 'on';
+    $this->dispatch('/opac/oai/request?verb=ListRecords&metadataPrefix=oai_dc&set=zork');
+  }
+
+
+  public function tearDown() {
+    unset($_SERVER['HTTPS']);
+    parent::tearDown();
+  }
+
+
+  /** @test */
+  public function azkabanDcIdentifierShouldBeRecordUrlInHttps() {
+    $this->_xpath
+      ->assertXPathContentContains($this->_response->getBody(),
+                                   '//dc:identifier[substring(text(), 1, 8)="https://"]',
+                                   '/clef/harrypotter-azkaban');
+  }
+}
+
+
+
 
 class OAIControllerListRecordsInZorkSetWithBadResumptionTokenTest
   extends OAIControllerListRecordsInZorkSetTestCase {
diff --git a/tests/application/modules/opac/controllers/RechercheControllerTest.php b/tests/application/modules/opac/controllers/RechercheControllerTest.php
index b27f2b126a8dbe7fb4cee60cd6dadd5f78316543..ac3eb0d78b16cdabd16d8b5b0a9dc18919fb39c3 100644
--- a/tests/application/modules/opac/controllers/RechercheControllerTest.php
+++ b/tests/application/modules/opac/controllers/RechercheControllerTest.php
@@ -85,6 +85,7 @@ abstract class RechercheControllerNoticeTestCase extends AbstractControllerTestC
       ->setExemplaires([$this->fixture('Class_Exemplaire',
                                        ['id' => 34,
                                         'id_bib' => 456,
+                                        'id_int_bib' => 1,
                                         'id_origine' => 12,
                                         'code_barres' => '12256663233656',
                                         'sigb_exemplaire' => ($this->mock()
@@ -722,6 +723,7 @@ class RechercheControllerViewNoticeByIdSigbTest extends RechercheControllerNotic
       ->addExemplaire(Class_Exemplaire::newInstanceWithId(876,
                                                           ['type' => Class_Notice::TYPE_AUTHORITY,
                                                            'id_bib' => 456,
+                                                           'id_int_bib' => 456,
                                                            'id_origine' => 12]))
       ->assertSave();
   }
@@ -797,6 +799,72 @@ class RechercheControllerViewNoticeByIdSigbTest extends RechercheControllerNotic
 
 
 
+class RechercheControllerViewNoticeByIdSigbFilteredTest extends AbstractControllerTestCase {
+  protected $_storm_default_to_volatile = true;
+
+  public function setUp() {
+    parent::setUp();
+    $this->fixture('Class_CodifAnnexe',
+                   ['id' => 1,
+                    'id_bib' => 456,
+                    'id_origine' => 2]);
+    Class_Notice::newInstanceWithId(15,
+                                    ['annee' => 1990,
+                                     'type_doc' => Class_TypeDoc::ARTEVOD,
+                                     'clef_alpha' => 'TESTINGALPHAKEY---101',
+                                     'facettes' => 'A123 F2 G1 P4 Y2 B1 Lfre M1 Z3 D1',
+                                     'date_creation' => '2013-12-31',
+                                     'unimarc' => file_get_contents(ROOT_PATH . 'tests/fixtures/bernard_genin.uni')])
+      ->setExemplaires([$this->fixture('Class_Exemplaire',
+                                       ['id' => 5,
+                                        'id_bib' => 456,
+                                        'id_int_bib' => 0,
+                                        'id_origine' => 12,
+                                        'code_barres' => null,
+                                       ])]);
+
+    $this->fixture('Class_Bib', ['id' => 1, 'libelle' => 'Romains']);
+    $this->fixture('Class_Bib', ['id' => 2, 'nom_court' => 'Pringy']);
+
+
+    Class_Notice::newInstanceWithId(345,
+                                    ['annee' => 2002,
+                                     'isbn' => '1-234-56789-0',
+                                     'type_doc' => Class_TypeDoc::LIVRE,
+                                     'url_vignette' => 'NO',
+                                     'url_image' => 'NO',
+                                     'clef_alpha' => 'TESTINGALPHAKEY---101',
+                                     'facettes' => 'A123 F2 G1 P4 Y2 B1 Lfre M1 Z3 D1',
+                                     'date_creation' => '2013-12-31',
+                                     'unimarc' => file_get_contents(ROOT_PATH . 'tests/fixtures/bernard_genin.uni')])
+      ->setExemplaires([$this->fixture('Class_Exemplaire',
+                                       ['id' => 34,
+                                        'id_bib' => 456,
+                                        'id_int_bib' => 1,
+                                        'id_origine' => 12,
+                                        'code_barres' => '12256663233656',
+                                        'sigb_exemplaire' => ($this->mock()
+                                                              ->whenCalled('isReservable')
+                                                              ->answers(true))
+                                       ])]);
+  }
+
+
+  /** @test */
+  public function withIdSigbAndIdSiteWildcardShouldRedirectToViewNoticeId345() {
+    $this->dispatch('/recherche/viewnotice/id_sigb/12/id_site/*');
+    $this->assertRedirectTo('/recherche/viewnotice/id/345');
+  }
+
+
+  /** @test */
+  public function withIdSigbAndIdSite2ShouldRedirectToViewNoticeId345() {
+    $this->dispatch('/recherche/viewnotice/id_sigb/12/id_site/2');
+    $this->assertRedirectTo('/recherche/viewnotice/id/345');
+  }
+}
+
+
 
 class RechercheControllerViewNoticeMetasTest extends RechercheControllerNoticeTestCase {
   public function setUp() {
@@ -1982,19 +2050,42 @@ class RechercheControllerListeCodeWithNouveauteTest extends RechercheControllerN
 
 class RechercheControllerFacetteSelectedTest extends AbstractControllerTestCase {
   protected $_liste_format = Class_Systeme_ModulesAppli::LISTE_FORMAT_MUR;
+  protected $_storm_default_to_volatile = true;
 
   public function setUp() {
     parent::setUp();
 
+    ZendAfi_Auth::getInstance()->clearIdentity();
     Class_Profil::getCurrentProfil()
       ->setCfgModules(['recherche' => ['resultatsimple' => [
                                                             'liste_format' => $this->_liste_format ,
                                                             'liste_codes' => "TANECR"]]])
       ->setSelTypeDoc('1;2;3;4;5');
 
+    $records = [$this->fixture('Class_Notice', ['id' => 8,
+                                                'clef_alpha'=>'Hello',
+                                                'titre_principal' => 'Hello',
+                                                'clef_oeuvre' => 'NA',
+                                                'url_vignette' => 'no',
+                                                'url_image' => 'no',
+                                                'date_creation'=> '2013-12-30']),
+
+                $this->fixture('Class_Notice', ['id' => 9,
+                                                'clef_alpha'=>'Hello',
+                                                'clef_oeuvre' =>'NY',
+                                                'url_vignette'=>'no',
+                                                'url_image'=>'no',
+                                                'date_creation'=> '2013-12-30'])];
+
+    $this->onLoaderOfModel('Class_Notice')
+      ->whenCalled('findAllBy')
+      ->answers($records);
+
+
     $this->dispatch('/recherche/simple/expressionRecherche/hello/tri/%2A/facette/T1', true);
   }
 
+
   /** @test */
   public function pageShouldContainsDivNotice() {
     $this->assertXPath('//div[@class="liste_mur"]//div[@class="notice"]');
@@ -3160,7 +3251,7 @@ class RechercheController_IndexSearcherTest extends RechercheControllerNoticeTes
   /** @test */
   public function grepCommandForIleMaiteShouldRestrictLastResultToTen() {
     $this->assertEquals(
-                        "grep -ri -E --no-filename '(\b|'\'')M[aàáâãäå][iìíîï]t[eèéêë][eèéêë]' | sort -Vuf | grep -i -E '(\b|'\'')l'\''[iìíîï]l[eèéêë]' | grep -i -E '(\b|'\'')[iìíîï]l[eèéêë]' | grep -m 10 -i -E '(\b|'\'')d[eèéêë]'",
+                        "grep -riI -E --no-filename '(\b|'\'')M[aàáâãäå][iìíîï]t[eèéêë][eèéêë]' | sort -Vuf | grep -i -E '(\b|'\'')l'\''[iìíîï]l[eèéêë]' | grep -i -E '(\b|'\'')[iìíîï]l[eèéêë]' | grep -m 10 -i -E '(\b|'\'')d[eèéêë]'",
                         (new Class_Autocomplete_IndexSearcher)->buildGrepCommand("l'ile dE Maitee"));
   }
 
@@ -3831,6 +3922,7 @@ abstract class RechercheControllerAuthoritiesTestCase extends RechercheControlle
     $this->fixture('Class_Exemplaire',
                    ['id' => $this->_current_id,
                     'type' => Class_Notice::TYPE_AUTHORITY,
+                    'id_int_bib' => 1,
                     'id_origine' => $id_origine,
                     'id_notice' => $this->_current_id]);
 
diff --git a/tests/fixtures/KohaFixtures.php b/tests/fixtures/KohaFixtures.php
index 8ee3e56e02379df1ba49793b9a044094875d5308..a273b9a8d6cbcafbef6b52abcddeb18b14bc32a2 100644
--- a/tests/fixtures/KohaFixtures.php
+++ b/tests/fixtures/KohaFixtures.php
@@ -1935,6 +1935,67 @@ class KohaFixtures {
         }
 
 
+        public static function xmlGetPatronInfoDebarredWithDate() {
+          return '<?xml version="1.0" encoding="UTF-8" ?>
+<GetPatronInfo>
+  <privacy_guarantor_checkouts>0</privacy_guarantor_checkouts>
+  <updated_on>2019-02-18 09:26:19</updated_on>
+  <checkprevcheckout>inherit</checkprevcheckout>
+  <debarredcomment>OVERDUES_PROCESS 09/07/2017 23:41</debarredcomment>
+  <altcontactphone></altcontactphone>
+  <sex>F</sex>
+  <title>Mme.</title>
+  <country>FRANCE</country>
+  <altcontactsurname></altcontactsurname>
+  <sort1>EMPL</sort1>
+  <lang>default</lang>
+  <contactnote></contactnote>
+  <dateenrolled>2016-09-15</dateenrolled>
+  <categorycode>INDICALF</categorycode>
+  <B_address></B_address>
+  <altcontactzipcode></altcontactzipcode>
+  <B_email></B_email>
+  <email>badpatron@debarred.lol</email>
+  <altcontactfirstname></altcontactfirstname>
+  <othernames></othernames>
+  <borrowernotes></borrowernotes>
+  <mobile></mobile>
+  <zipcode>42600</zipcode>
+  <branchcode>MTRMTB</branchcode>
+  <fax></fax>
+  <surname>DEBARRED</surname>
+  <dateexpiry>2017-09-15</dateexpiry>
+  <address2></address2>
+  <phone></phone>
+  <B_phone></B_phone>
+  <B_country></B_country>
+  <privacy>1</privacy>
+  <loans>
+  </loans>
+  <altcontactaddress3></altcontactaddress3>
+  <city>Arkham</city>
+  <B_city></B_city>
+  <sort2></sort2>
+  <phonepro>123456790</phonepro>
+  <opacnote></opacnote>
+  <cardnumber>0000000</cardnumber>
+  <altcontactcountry></altcontactcountry>
+  <dateofbirth>1985-01-17</dateofbirth>
+  <debarred>2021-03-01</debarred>
+  <altcontactaddress1></altcontactaddress1>
+  <B_address2></B_address2>
+  <altcontactaddress2></altcontactaddress2>
+  <branchname>fictivBib</branchname>
+  <B_zipcode></B_zipcode>
+  <firstname>Bad Patron</firstname>
+  <address>rue de la zile</address>
+  <borrowernumber>420</borrowernumber>
+  <login_attempts>0</login_attempts>
+</GetPatronInfo>
+';
+        }
+
+
         public static function xmlGetRecord2046() {
           return '<?xml version="1.0" encoding="UTF-8" ?>
 <GetRecords>
diff --git a/tests/library/Class/WebService/SIGB/KohaTest.php b/tests/library/Class/WebService/SIGB/KohaTest.php
index 02d9f95a5f9c30df49435326167ddb4bf17eb382..340ce24a739c50840a7c20b3b7bed09438007e83 100644
--- a/tests/library/Class/WebService/SIGB/KohaTest.php
+++ b/tests/library/Class/WebService/SIGB/KohaTest.php
@@ -877,6 +877,62 @@ class KohaGetEmprunteurDebarredWithIdSIGBTest extends KohaTestCase {
 
 
 
+class KohaGetEmprunteurDebarredDateWithIdSIGBTest extends KohaTestCase {
+
+  public function setUp() {
+    parent::setUp();
+    $this->mock_web_client
+      ->whenCalled('postData')
+      ->with('http://cat-aficg55.biblibre.com/cgi-bin/koha/ilsdi.pl',
+             ['service' => 'AuthenticatePatron',
+              'username' => 'JEAN',
+              'password' => 'zork'])
+      ->answers(KohaFixtures::xmlLookupPatronDebarred())
+      ->whenCalled('open_url')
+      ->with('http://cat-aficg55.biblibre.com/cgi-bin/koha/ilsdi.pl?service=GetPatronInfo&patron_id=420&show_contact=1&show_loans=0&show_holds=1')
+      ->answers(KohaFixtures::xmlGetPatronInfoDebarredWithDate());
+
+
+  }
+
+  protected function _setTimeSourceAndgetEmprunteur($date){
+    Class_WebService_SIGB_Koha_PatronInfoReader::setTimeSource(new TimeSourceForTest($date));
+
+    $this->jean = $this->service
+      ->getEmprunteur($this->fixture('Class_Users',
+                                     ['id' => 43,
+                                      'login' => 'JEAN',
+                                      'password' => 'zork',
+                                      'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB,
+                                      'idabon' => 'Jean',
+                                      'id_site' => 3,
+                                      'id_sigb' => '420']));
+
+  }
+
+
+  public function tearDown() {
+    Class_WebService_SIGB_Koha_PatronInfoReader::setTimeSource(null);
+  }
+
+
+  /** @test */
+  public function debarredWithDateInFutureShouldBeBlocked() {
+    $this->_setTimeSourceAndgetEmprunteur('2021-02-20');
+    $this->assertTrue($this->jean->isBlocked());
+  }
+
+
+  /** @test */
+  public function debarredWithDateInPastShouldNotBeBlocked() {
+    $this->_setTimeSourceAndgetEmprunteur('2021-03-02');
+    $this->assertFalse($this->jean->isBlocked());
+  }
+}
+
+
+
+
 class KohaGetEmprunteurJeanAndreWithIdSIGBTest extends KohaTestCase {
   public function setUp() {
     parent::setUp();