diff --git a/VERSIONS_WIP/173687 b/VERSIONS_WIP/173687
new file mode 100644
index 0000000000000000000000000000000000000000..f31ca69fc48344a192e27af987f0d6794d4c4b4a
--- /dev/null
+++ b/VERSIONS_WIP/173687
@@ -0,0 +1 @@
+ - fonctionnalité #173687 : SIGB Koha : Affichage de la disponibilité des exemplaires pour les notices de dépouillement d'article ou mélanges
\ No newline at end of file
diff --git a/library/Class/Exemplaire.php b/library/Class/Exemplaire.php
index 52cf6b254eee1ecab9a9ec08a86e1ddbbf42b47d..7d2d05691ce295f81851463d7d8854a834ce71da 100644
--- a/library/Class/Exemplaire.php
+++ b/library/Class/Exemplaire.php
@@ -762,4 +762,26 @@ class Class_Exemplaire extends Storm_Model_Abstract {
     return ($bib_id == $this->getIdBib()
             && $this->isNouveaute());
   }
+
+
+  public function isFromKoha(): bool
+  {
+    return 1 === Class_IntBib::query()
+      ->eq('id_bib', $this->getIdIntBib())
+      ->eq('sigb', Class_IntBib::SIGB_KOHA)
+      ->countAll();
+  }
+
+
+  public function hasConcatenedBarcode(): bool
+  {
+    return false !== strpos($this->getCodeBarres(), '-');
+  }
+
+
+  public function barcodeFirstPart(): string
+  {
+    $barcode = explode('-', $this->getCodeBarres());
+    return array_shift($barcode);
+  }
 }
diff --git a/library/Class/Notice.php b/library/Class/Notice.php
index 99248e4c7f97a68be0d531b9ecf8a4e050e532c3..26a7f778f14f97b69c97511fbba912749dd159a4 100644
--- a/library/Class/Notice.php
+++ b/library/Class/Notice.php
@@ -1689,6 +1689,5 @@ class Class_Notice extends Storm_Model_Abstract {
       if ($item->isNouveauteForLibrary($bib_id))
         return true;
     return false;
-
   }
 }
diff --git a/library/Class/WebService/SIGB/Koha/Service.php b/library/Class/WebService/SIGB/Koha/Service.php
index e3060f0e30b55dc113b8a2a5bf875452d399ff15..b23ff493bb37a4224c8070872c67b7c570facc20 100644
--- a/library/Class/WebService/SIGB/Koha/Service.php
+++ b/library/Class/WebService/SIGB/Koha/Service.php
@@ -282,6 +282,16 @@ class Class_WebService_SIGB_Koha_Service extends Class_WebService_SIGB_AbstractR
   }
 
 
+  public function getILSWsItemFromCacheOrRequest(Class_Exemplaire $item) : Class_WebService_SIGB_Exemplaire {
+
+    if ($alternative_item = Class_Exemplaire::findFirstBy(['code_barres' => $item->barcodeFirstPart(),
+                                                           'id_int_bib' => $item->getIdIntBib()]))
+      $item = $alternative_item;
+
+    return $this->getNoticeCache()->getItemFromCacheOrILSWs($item);
+  }
+
+
   protected function _getIlsIdThroughAuthenticateService(Class_Users $user) : string {
     if ( ! $password = $user->getPassword())
       return '';
diff --git a/library/templates/Intonation/Library/Record/Items.php b/library/templates/Intonation/Library/Record/Items.php
index 3a8dbf48c15322bfebebed02e8f2bf8261dbbc5f..11f212e8cd138e3b2effd30754da64f76d701f78 100644
--- a/library/templates/Intonation/Library/Record/Items.php
+++ b/library/templates/Intonation/Library/Record/Items.php
@@ -72,13 +72,15 @@ class Intonation_Library_Record_Items {
 
 
 
-  protected function _findItems() : array {
+  protected function _findItems(): array
+  {
     if (empty($this->_records))
       return [];
 
     $session = Zend_Registry::get('session');
 
-    $items = new Storm_Model_Collection();
+    $items = new Storm_Model_Collection;
+
     foreach($this->_records as $record)
       $items->addAll($record->getExemplaires());
 
diff --git a/tests/fixtures/MAE_GetRecords273230.xml b/tests/fixtures/MAE_GetRecords273230.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c2d2bbdfa90a93b70a8635c1e6446bba7e928bb0
--- /dev/null
+++ b/tests/fixtures/MAE_GetRecords273230.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<GetRecords>
+  <record>
+    <timestamp>2019-07-30 13:48:26</timestamp>
+    <biblionumber>123415</biblionumber>
+    <pages>9 pièces</pages>
+    <volume>mélanges</volume>
+    <issues>
+    </issues>
+    <reserves>
+    </reserves>
+    <cn_sort></cn_sort>
+    <publishercode>Association française de science politique</publishercode>
+    <size>33 cm</size>
+    <biblioitemnumber>123415</biblioitemnumber>
+    <marcxml>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;record
+    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
+    xsi:schemaLocation=&quot;http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd&quot;
+    xmlns=&quot;http://www.loc.gov/MARC21/slim&quot;&gt;
+
+  &lt;leader&gt;00684nam a2200205   4500&lt;/leader&gt;
+  &lt;controlfield tag=&quot;001&quot;&gt;123415&lt;/controlfield&gt;
+  &lt;datafield tag=&quot;090&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;123415&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;099&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;t&quot;&gt;OUVRAGE&lt;/subfield&gt;
+    &lt;subfield code=&quot;c&quot;&gt;2019-06-28&lt;/subfield&gt;
+    &lt;subfield code=&quot;d&quot;&gt;2019-06-28&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;100&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;20190628d1961    u||y0frey50      ba&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;101&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;fre&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;102&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;FR&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;200&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;Association française de science politique&lt;/subfield&gt;
+    &lt;subfield code=&quot;e&quot;&gt;mélanges&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;210&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;Paris&lt;/subfield&gt;
+    &lt;subfield code=&quot;c&quot;&gt;Association française de science politique&lt;/subfield&gt;
+    &lt;subfield code=&quot;d&quot;&gt;1961&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;215&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;9 pièces&lt;/subfield&gt;
+    &lt;subfield code=&quot;d&quot;&gt;33 cm&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;311&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;Ouvrage dépouillé&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;503&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;Mélanges&lt;/subfield&gt;
+    &lt;subfield code=&quot;b&quot;&gt;Association française de science politique&lt;/subfield&gt;
+    &lt;subfield code=&quot;j&quot;&gt;1961&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;606&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;9&quot;&gt;187527&lt;/subfield&gt;
+    &lt;subfield code=&quot;a&quot;&gt;SCIENCES POLITIQUES&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;606&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;9&quot;&gt;186874&lt;/subfield&gt;
+    &lt;subfield code=&quot;a&quot;&gt;PARTIS POLITIQUES&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;710&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;9&quot;&gt;111125&lt;/subfield&gt;
+    &lt;subfield code=&quot;a&quot;&gt;ASSOCIATION FRANCAISE DE SCIENCE POLITIQUE&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;801&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;a&quot;&gt;FR&lt;/subfield&gt;
+    &lt;subfield code=&quot;b&quot;&gt;MAEDI&lt;/subfield&gt;
+    &lt;subfield code=&quot;g&quot;&gt;AFNOR&lt;/subfield&gt;
+  &lt;/datafield&gt;
+  &lt;datafield tag=&quot;995&quot; ind1=&quot; &quot; ind2=&quot; &quot;&gt;
+    &lt;subfield code=&quot;1&quot;&gt;0&lt;/subfield&gt;
+    &lt;subfield code=&quot;2&quot;&gt;0&lt;/subfield&gt;
+    &lt;subfield code=&quot;3&quot;&gt;0&lt;/subfield&gt;
+    &lt;subfield code=&quot;5&quot;&gt;2019-06-28&lt;/subfield&gt;
+    &lt;subfield code=&quot;9&quot;&gt;340920&lt;/subfield&gt;
+    &lt;subfield code=&quot;b&quot;&gt;CADLC&lt;/subfield&gt;
+    &lt;subfield code=&quot;c&quot;&gt;CADLC&lt;/subfield&gt;
+    &lt;subfield code=&quot;e&quot;&gt;DEP104&lt;/subfield&gt;
+    &lt;subfield code=&quot;f&quot;&gt;435194&lt;/subfield&gt;
+    &lt;subfield code=&quot;i&quot;&gt;2019-06-28&lt;/subfield&gt;
+    &lt;subfield code=&quot;j&quot;&gt;435194&lt;/subfield&gt;
+    &lt;subfield code=&quot;k&quot;&gt;MB 1166&lt;/subfield&gt;
+    &lt;subfield code=&quot;o&quot;&gt;0&lt;/subfield&gt;
+    &lt;subfield code=&quot;r&quot;&gt;LIVRE&lt;/subfield&gt;
+    &lt;subfield code=&quot;s&quot;&gt;MB_1166_000000000000000&lt;/subfield&gt;
+    &lt;subfield code=&quot;u&quot;&gt;feuillets mobiles&lt;/subfield&gt;
+    &lt;subfield code=&quot;w&quot;&gt;0&lt;/subfield&gt;
+    &lt;subfield code=&quot;y&quot;&gt;2019-06-28&lt;/subfield&gt;
+    &lt;subfield code=&quot;G&quot;&gt;Baumont&lt;/subfield&gt;
+    &lt;subfield code=&quot;I&quot;&gt;3&lt;/subfield&gt;
+  &lt;/datafield&gt;
+&lt;/record&gt;
+</marcxml>
+    <publicationyear>1961</publicationyear>
+    <itemtype>OUVRAGE</itemtype>
+    <items>
+      <item>
+        <itemcallnumber>MB 1166</itemcallnumber>
+        <itemnotes>feuillets mobiles</itemnotes>
+        <stocknumber>435194</stocknumber>
+        <biblioitemnumber>123415</biblioitemnumber>
+        <itemnumber>340920</itemnumber>
+        <location_description>Dépôt A-104</location_description>
+        <holdingbranch>CADLC</holdingbranch>
+        <location>DEP104</location>
+        <homebranchname>La Courneuve</homebranchname>
+        <permanent_location>DEP104</permanent_location>
+        <itemlost>0</itemlost>
+        <replacementpricedate>2019-06-28</replacementpricedate>
+        <dateaccessioned>2019-06-28</dateaccessioned>
+        <biblionumber>123415</biblionumber>
+        <barcode>987988</barcode>
+        <damaged>0</damaged>
+        <timestamp>2021-02-12 20:05:51</timestamp>
+        <withdrawn>0</withdrawn>
+        <holdingbranchname>La Courneuve</holdingbranchname>
+        <issues>0</issues>
+        <notforloan>0</notforloan>
+        <itype_description>Livre</itype_description>
+        <homebranch>CADLC</homebranch>
+        <cn_sort>MB_1166_000000000000000</cn_sort>
+        <itype>LIVRE</itype>
+        <datelastseen>2019-06-28</datelastseen>
+      </item>
+    </items>
+  </record>
+</GetRecords>
diff --git a/tests/scenarios/Templates/TemplatesFakeItemsAvailabilityTest.php b/tests/scenarios/Templates/TemplatesFakeItemsAvailabilityTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..778c7c23421b9d8f421d6a8482eea9472fa90681
--- /dev/null
+++ b/tests/scenarios/Templates/TemplatesFakeItemsAvailabilityTest.php
@@ -0,0 +1,131 @@
+<?php
+/**
+ * Copyright (c) 2012-2023, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * BOKEH is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
+ * the Free Software Foundation.
+ *
+ * There are special exceptions to the terms and conditions of the AGPL as it
+ * is applied to this software (see README file).
+ *
+ * BOKEH is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * along with BOKEH; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+
+class TemplatesFakeItemsAvailabilityTestCase extends AbstractControllerTestCase
+{
+
+  public function setUp() {
+    parent::setUp();
+
+    Class_HttpClientFactory::forTest();
+
+    $this->_buildTemplateProfil(['id' => 1]);
+
+    $comm_params = ['url_serveur' => 'http://catalog.meae.fr',
+                    'Interdire_reservation_doc_dispo' => 0,
+                    'disable_items_availability_threshold' => 300,
+                    'items_threshold' => 300,
+                    'Codification_disponibilites' => '',
+                    'restful' => '',
+                    'api_community' => '',
+                    'pre-registration' => '',
+                    'create_category_usergroup' => 0,
+                    'use_card_number' => '',
+                    'loans_per_page' => 20,
+                    'withdrawn_mapping' => '',
+                    'grouped_holds_itypes' => '',
+                    'bundled_holds_minimal_duration' => 0,
+                    'bundled_holds_maximal_duration' => 0];
+
+    $profil = Class_IntProfilDonnees::forKoha();
+    $profil->save();
+
+    $intbib =
+      $this->fixture(Class_IntBib::class,
+                     ['id' => 11,
+                      'id_bib' => 11,
+                      'label' => 'Meae',
+                      'sigb' => Class_IntBib::SIGB_KOHA,
+                      'comm_sigb' => Class_IntBib::COM_KOHA,
+                      'comm_params' => $comm_params]);
+
+    $this->fixture(Class_Notice::class,
+                   ['id' => 23,
+                    'titre' => 'Association française de science politique',
+                    'type_doc' => Class_TypeDoc::PERIODIQUE_ARTICLE]);
+
+    $this->fixture(Class_Exemplaire::class,
+                   ['id' => 231,
+                    'code_barres' => '987988-2314',
+                    'id_notice' => 23,
+                    'int_bib' => $intbib,
+                    'id_bib' => 11,
+                    'id_origine' => '340921',
+                    'id_data_profile' => $profil->getId(),]);
+
+    $this->fixture(Class_Notice::class,
+                   ['id' => 24,
+                    'id_sigb' => '',
+                    'type_doc' => Class_TypeDoc::PERIODIQUE]);
+
+    $this->fixture(Class_Exemplaire::class,
+                   ['id' => 241,
+                    'code_barres' => '987988',
+                    'id_notice' => 24,
+                    'id_int_bib' => 11,
+                    'int_bib' => $intbib,
+                    'ib_bib' => 1,
+                    'id_data_profile' => $profil->getId(),
+                    'id_origine' => '340920']);
+
+    $this->fixture(Class_Notice::class, ['id' => 25,
+                                         'titre' => 'Bonjour !',
+
+                                         'type_doc' => Class_TypeDoc::PERIODIQUE_ARTICLE]);
+
+    $this->fixture(Class_Exemplaire::class,
+                   ['id' => 251,
+                    'code_barres' => '',
+                    'id_notice' => 25,
+                    'id_int_bib' => 11,
+                    'int_bib' => $intbib,
+                    'ib_bib' => 1,
+                    'id_data_profile' => $profil->getId(),
+                    'zone_995' => serialize([['code'=>'9', 'valeur' =>'340920']]),
+                    'id_origine' => '340920']);
+
+
+    Class_HttpClientFactory::getInstance()
+      ->getLastHttpClient()
+      ->addRequestWithResponse('http://catalog.meae.fr:80?service=GetRecords&id=340920',
+                               file_get_contents(__DIR__.'/../../fixtures/MAE_GetRecords273230.xml'));
+
+  }
+
+
+  /** @test */
+  public function item231ShouldBeAvailable() {
+    $this->dispatch('/opac/noticeajax/availability/id/23');
+    $this->assertXPathContentContains('//span[contains(@class, "badge_record_availability")]',
+                                      'Disponible');
+  }
+
+
+  /** @test */
+  public function item251ShouldBeAvailable()
+  {
+    $this->dispatch('/opac/noticeajax/availability/id/25');
+    $this->assertXPathContentContains('//span[contains(@class, "badge_record_availability")]',
+                                      'Disponible', $this->_response->getBody());
+
+  }
+}