diff --git a/VERSIONS b/VERSIONS
index dc83d018894a2616260a42dcc51d837adeb5a7a5..ea5548eabe24113e83eee4c8b83bc1c9dd2ce2fe 100644
--- a/VERSIONS
+++ b/VERSIONS
@@ -1,3 +1,22 @@
+07/03/2016 - v7.5.16
+
+ - ticket #39780 : Correction d'une page blanche pouvant arriver sur la création d'un compte.
+
+ - ticket #37281 : Configuration : Boite bibliothèque numérique : Possibilite d'affichage pagine
+
+ - ticket #37314 : Bibliothèque : mode d’affichage, un champ saisi = un bloc (à styliser dans la charte) 
+
+ - ticket #32668 : 
+            * modification de l'affichage de la fiche de bibliotheque, ajout de classes css
+            * correction des champs personnalisés multi checkbox
+
+ - ticket #36324 : Affichage des ressources PNB / ToutApprendre / Arte VOD/ 1DTOUCH sur profil smartphone
+
+ - ticket #33899 : Correction du renvoie sur auteur à partir de la 2eme page d'une liste de résultats en mode mur
+
+ - ticket #38468 : Version mobile : correction de l'affichage des événements calendrier
+
+
 29/02/2016 - v7.5.15
 
  - ticket #39536 : correction du bouton validation dans le formulaire d'article
diff --git a/VERSIONS_HOTLINE/39780 b/VERSIONS_HOTLINE/39780
deleted file mode 100644
index 14837ee89d590c18d17d0fc1f38125a8ed51d2fa..0000000000000000000000000000000000000000
--- a/VERSIONS_HOTLINE/39780
+++ /dev/null
@@ -1 +0,0 @@
- - ticket #39780 : Correction d'une page blanche pouvant arriver sur la création d'un compte.
\ No newline at end of file
diff --git a/VERSIONS_WIP/32668 b/VERSIONS_WIP/32668
deleted file mode 100644
index dc6396e2525a03f4757d45b37d7c07e582d831b7..0000000000000000000000000000000000000000
--- a/VERSIONS_WIP/32668
+++ /dev/null
@@ -1,3 +0,0 @@
- - ticket #32668 : 
-  * modification de l'affichage de la fiche de bibliotheque, ajout de classes css
-  * correction des champs personnalisés multi checkbox
\ No newline at end of file
diff --git a/VERSIONS_WIP/37281 b/VERSIONS_WIP/37281
deleted file mode 100644
index c028a7bb08cb40532c5cc3cba501229a409ff0f8..0000000000000000000000000000000000000000
--- a/VERSIONS_WIP/37281
+++ /dev/null
@@ -1 +0,0 @@
- - ticket #37281 : Configuration : Boite bibliothèque numérique : Possibilite d'affichage pagine
\ No newline at end of file
diff --git a/VERSIONS_WIP/37314 b/VERSIONS_WIP/37314
deleted file mode 100644
index 8d1d5fa0bd6efedaed8e36f2a32d3943153e344f..0000000000000000000000000000000000000000
--- a/VERSIONS_WIP/37314
+++ /dev/null
@@ -1 +0,0 @@
- - ticket #37314 : Bibliothèque : mode d’affichage, un champ saisi = un bloc (à styliser dans la charte) 
\ No newline at end of file
diff --git a/application/modules/opac/controllers/CmsController.php b/application/modules/opac/controllers/CmsController.php
index 781ac43f7fab46d7fc54dbb0a9e74608a170275b..6caeba2e8362233d05fb1c12fa1a4c151ff07b67 100644
--- a/application/modules/opac/controllers/CmsController.php
+++ b/application/modules/opac/controllers/CmsController.php
@@ -288,7 +288,7 @@ class CmsController extends ZendAfi_Controller_Action {
    /**
     * @param array $preferences
     */
-   private function _viewArticlesByPreferences($preferences) {
+   protected function _viewArticlesByPreferences($preferences) {
      $articles = Class_Article::getLoader()
                                ->getArticlesByPreferences($preferences);
 
@@ -312,5 +312,5 @@ class CmsController extends ZendAfi_Controller_Action {
     }
 
     $this->renderScript('cms/articlesview.phtml');
-  }
+   }
 }
\ No newline at end of file
diff --git a/application/modules/telephone/controllers/AuthController.php b/application/modules/telephone/controllers/AuthController.php
index 3f6bed50985b9111a2959fdb40c0d2368b70a8de..763316755d0a6cca3875498c46f2e48d5bfb6ffe 100644
--- a/application/modules/telephone/controllers/AuthController.php
+++ b/application/modules/telephone/controllers/AuthController.php
@@ -79,7 +79,7 @@ class Telephone_AuthController extends AuthController {
       $this->_redirect($this->view->url(), array('prependBase' => false));
     }
 
-    $this->view->error = $this->_flashMessenger->getMessages();
+    $this->view->error = $this->_flashMessenger->getNotifications();
     $this->view->form = $form;
   }
 
diff --git a/application/modules/telephone/controllers/CmsController.php b/application/modules/telephone/controllers/CmsController.php
index 0591de5e398c92ffac2cf9c3dda7a6757957d091..bece20c172e0d2e6a68053ffa09714c7a6a200a7 100644
--- a/application/modules/telephone/controllers/CmsController.php
+++ b/application/modules/telephone/controllers/CmsController.php
@@ -16,7 +16,7 @@
  *
  * 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 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
 require_once ROOT_PATH.'application/modules/opac/controllers/CmsController.php';
diff --git a/application/modules/telephone/controllers/RechercheController.php b/application/modules/telephone/controllers/RechercheController.php
index 778280c6d8116b62c2896bd40673ecc5a0023688..1a17a97d368e0d350cc11931c6e056e1afe6c1a0 100644
--- a/application/modules/telephone/controllers/RechercheController.php
+++ b/application/modules/telephone/controllers/RechercheController.php
@@ -68,8 +68,12 @@ class Telephone_RechercheController extends RechercheController {
 
     if($notice->isToutApprendre()) {
       $actions[$this->_('Cours ToutApprendre')] = $action_array;
+      return $actions;
     }
 
+
+    $actions[$this->_('Accéder à la ressource')] = $action_array;
+
     return $actions;
   }
 
diff --git a/application/modules/telephone/views/scripts/auth/login-reservation.phtml b/application/modules/telephone/views/scripts/auth/login-reservation.phtml
index db6c45feb3bf49920b4f7010a8d40517db3e876b..11d718b4444e21b3b0c1793afc831bfb3e690426 100644
--- a/application/modules/telephone/views/scripts/auth/login-reservation.phtml
+++ b/application/modules/telephone/views/scripts/auth/login-reservation.phtml
@@ -1,5 +1,11 @@
 <?php echo $this->toolbar($this->_("Identification"));?>
 <div data-role="content">
-  <?php echo $this->form;?>
-  <?php if (0 < count($this->error)) echo '<strong style="color:red">' . $this->error[0] . '</strong>';?>
-</div>
\ No newline at end of file
+  <?php
+
+  echo $this->form;
+
+  foreach($this->error as $error) {
+    echo '<strong style="color:red">' . $error->getMessage() . '</strong>';
+  }
+  ?>
+</div>
diff --git a/application/modules/telephone/views/scripts/cms/articlesview.phtml b/application/modules/telephone/views/scripts/cms/articlesview.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c3d17b45324cb9f93350ee274931c7d24a6b7dec
--- /dev/null
+++ b/application/modules/telephone/views/scripts/cms/articlesview.phtml
@@ -0,0 +1,14 @@
+<?php
+echo $this->toolbar($this->_('Articles'),
+                    $this->url([], null, true));
+
+
+echo (0 < count($this->articles)
+      ? $this->tag('div',
+                   $this->articleEventList($this->articles),
+                   ['class' => 'liste'])
+
+      : $this->tag('div',
+                   $this->_('Aucun contenu'),
+                   ['class' => 'pave']));
+?>
diff --git a/application/modules/telephone/views/scripts/cms/articleviewbydate.phtml b/application/modules/telephone/views/scripts/cms/articleviewbydate.phtml
index d2c75c4a1e169e02c5c16306a12e75977b57057b..2e3213be575e5b41f9e6569dae88755f8b45e55f 100644
--- a/application/modules/telephone/views/scripts/cms/articleviewbydate.phtml
+++ b/application/modules/telephone/views/scripts/cms/articleviewbydate.phtml
@@ -8,27 +8,8 @@ echo $this->toolbar($this->_('Articles'),
     <div class="liste">
       <?php foreach ($this->articles as $bibliotheque => $articles) { ?>
         <h2><?php echo ('' == $bibliotheque) ? $this->_('Portail') : $this->libelle_bibs[$bibliotheque];?></h2>
-        <ul>
-        <?php
-        foreach ($articles as $article) { ?>
-          <li class="lien">
-            <?php echo $this->tagArticleEvent($article);?>
-            <span><?php
-            echo $this->tagAnchor(
-              $this->url(array('cat' => $article->getIdCat())),
-              $article->getCategorie()->getLibelle(),
-              array('class' => 'calendar_event_info')
-            );?> - <?php
-            echo $this->tagAnchor(
-              $article->getUrl(),
-              $article->getTitre(),
-              array('class' => 'calendar_event_title')
-            ); ?>
-            </span>
-          </li>
-        <?php } ?>
-      </ul>
-    <?php } ?>
+        <?php echo $this->articleEventList($articles); ?>
+      <?php } ?>
     </div>
 <?php
 
diff --git a/application/modules/telephone/views/scripts/recherche/viewnotice.phtml b/application/modules/telephone/views/scripts/recherche/viewnotice.phtml
index b7fa717c53feabfc28e6e0a729fd5befa13fadd0..3b2511dde4b00c18e9d31b3937f9c270e7e3e43f 100644
--- a/application/modules/telephone/views/scripts/recherche/viewnotice.phtml
+++ b/application/modules/telephone/views/scripts/recherche/viewnotice.phtml
@@ -2,7 +2,7 @@
 echo $this->toolbar($this->_("Recherche"),
                     array('action' => 'simple')); ?>
 
-<ul data-role="listview" data-inset="true">
+<ul data-role="listview" data-inset="true" class="doctype_<?php echo $this->notice->getTypeDoc();?>">
   <li data-theme="c">
     <img src="<?php echo $this->notice->fetchUrlVignette();?>">
     <h3><?php echo $this->iconeSupport($this->notice->getTypeDoc()) . $this->notice->getTitrePrincipal() ;?></h3>
@@ -22,9 +22,11 @@ echo $this->toolbar($this->_("Recherche"),
          ?></p>
   </li>
   <?php foreach ($this->actions as $libelle => $action) {
-          echo  $this->tag('li',$this->tagAnchor(['action' => $action['action']],
-                                                 $libelle,
-                                                 isset($action['attribs']) ? $action['attribs'] : []) , ['class' => 'lien']);
+          echo  $this->tag('li',
+                           $this->tagAnchor(['action' => $action['action']],
+                                            $libelle,
+                                            isset($action['attribs']) ? $action['attribs'] : []),
+                           ['class' => 'lien ' . $action['action']]);
         }
   ?>
 </ul>
diff --git a/library/Class/Album/Renderer.php b/library/Class/Album/Renderer.php
index c0b9229dbf728ce7e97ab176c76a05e3d1b9a3f2..c1487b9230089bb87461df07e94b2e5dc95bb25d 100644
--- a/library/Class/Album/Renderer.php
+++ b/library/Class/Album/Renderer.php
@@ -49,8 +49,9 @@ class Class_Album_Renderer {
                 'tagAlbumMediaList' => function($album) { return true; }];
 
     foreach($mapping as $helper => $closure)
-      if ($closure($this->_album))
+      if ($closure($this->_album)) {
         return call_user_func_array([$view, $helper], [$this->_album]);
+      }
   }
 }
 ?>
\ No newline at end of file
diff --git a/library/ZendAfi/View/Helper/Notice/LienRebondAuteur.php b/library/ZendAfi/View/Helper/Notice/LienRebondAuteur.php
index 1897ead7f1805bc5e6ed1cf571d638cc76d00245..494f6132ddf96655e7a33b8f27038da0966a25d2 100644
--- a/library/ZendAfi/View/Helper/Notice/LienRebondAuteur.php
+++ b/library/ZendAfi/View/Helper/Notice/LienRebondAuteur.php
@@ -16,13 +16,14 @@
  *
  * 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 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 class ZendAfi_View_Helper_Notice_LienRebondAuteur extends Zend_View_Helper_HtmlElement {
   public function notice_LienRebondAuteur($notice) {
     return $this->view->url(['controller' => 'recherche',
                              'action' => 'simple',
-                             'code_rebond' => $notice->getCodeFacette('A')]);
+                             'code_rebond' => $notice->getCodeFacette('A'),
+                             'page' => null]);
   }
 }
 
diff --git a/library/ZendAfi/View/Helper/TagDilicomWidget.php b/library/ZendAfi/View/Helper/TagDilicomWidget.php
index 41fb6de37606f7fd1994f10abd7f4a018abda639..b09c66afb3056b619993a20456fe01e0895215dd 100644
--- a/library/ZendAfi/View/Helper/TagDilicomWidget.php
+++ b/library/ZendAfi/View/Helper/TagDilicomWidget.php
@@ -27,12 +27,6 @@ class ZendAfi_View_Helper_TagDilicomWidget extends Zend_View_Helper_HtmlElement
   public function tagDilicomWidget($album) {
     $this->_album = $album;
 
-    $iframe = $this->view->tag('iframe',
-                               null,
-                               ['src' => $this->_album->getExternalURI(),
-                                'width' => '100%',
-                                'height' => '600px']);
-
     $links = $this->view->tag('p', $this->view->_('Vous n\'avez pas le droit d\'accéder à la consultation en ligne.'));
 
     $this->_user = Class_Users::getIdentity();
@@ -40,22 +34,42 @@ class ZendAfi_View_Helper_TagDilicomWidget extends Zend_View_Helper_HtmlElement
       $links = $this->getConsultBookAnchor()
         . $this->getLoanBookAnchor();
 
-    return $links . $iframe;
+    return $links . $this->renderBookPreview($album);
+  }
+
+
+  public function renderBookPreview($album) {
+    return $this->view->tag('iframe',
+                            null,
+                            ['src' => $this->_album->getExternalURI(),
+                             'width' => '100%',
+                             'height' => '600px']);
   }
 
 
+
   protected function getConsultBookAnchor() {
     return $this->getDilicomAnchor(['controller' => 'bib-numerique',
-                                    'action' => 'consult-book-ajax',
+                                    'action' => $this->_getConsultBookAction(),
                                     'id' => $this->_album->getId()],
                                    $this->view->_('Consulter le livre en ligne (depuis la médiathèque)'),
                                    ['data-popup' => 'true']);
   }
 
 
+  protected function _getConsultBookAction() {
+    return 'consult-book-ajax';
+  }
+
+
+  protected function _getLoanBookAction() {
+    return 'loan-book-ajax';
+  }
+
+
   protected function getLoanBookAnchor() {
     return $this->getDilicomAnchor(['controller' => 'bib-numerique',
-                                    'action' => 'loan-book-ajax',
+                                    'action' => $this->_getLoanBookAction(),
                                     'id' => $this->_album->getId()],
                                    $this->view->_('Emprunter le livre au format EPUB'),
                                    ['data-popup' => 'true']);
diff --git a/library/ZendAfi/View/Helper/Telephone/ArticleEventList.php b/library/ZendAfi/View/Helper/Telephone/ArticleEventList.php
new file mode 100644
index 0000000000000000000000000000000000000000..928433acc504cfa68ab461e173e9836d56b1bb4b
--- /dev/null
+++ b/library/ZendAfi/View/Helper/Telephone/ArticleEventList.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Copyright (c) 2012, 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 ZendAfi_View_Helper_Telephone_ArticleEventList extends ZendAfi_View_Helper_BaseHelper {
+  public function articleEventList($articles) {
+    if (!$articles)
+      return '';
+
+    return $this->_tag('ul',
+                       $this->_renderArticles($articles));
+  }
+
+
+  protected function _renderArticles($articles) {
+    return implode('',
+                   array_map([$this, '_renderArticle'],
+                             $articles));
+  }
+
+
+  protected function _renderArticle($article) {
+    return $this->_tag(
+                       'li',
+                       $this->view->tagArticleEvent($article)
+                       . $this->_tag('span',
+                                     $this->_renderArticleLinks($article)
+                       ),
+                       ['class' => 'lien']);
+  }
+
+
+  protected function _renderArticleLinks($article) {
+    return
+      $this->view->tagAnchor(
+                             $this->view->url(['cat' => $article->getIdCat()]),
+                             $article->getCategorie()->getLibelle(),
+                             ['class' => 'calendar_event_info'])
+      . ' - '
+      . $this->view->tagAnchor(
+                               $article->getUrl(),
+                               $article->getTitre(),
+                               ['class' => 'calendar_event_title']);
+  }
+}
diff --git a/library/ZendAfi/View/Helper/Telephone/Library.php b/library/ZendAfi/View/Helper/Telephone/Library.php
new file mode 100644
index 0000000000000000000000000000000000000000..0194af17a71cc3719d2ec462f94088a95b77b9e6
--- /dev/null
+++ b/library/ZendAfi/View/Helper/Telephone/Library.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Copyright (c) 2012, 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 ZendAfi_View_Helper_Telephone_Library extends ZendAfi_View_Helper_Accueil_Library {
+}
\ No newline at end of file
diff --git a/library/ZendAfi/View/Helper/Telephone/RenderAlbum.php b/library/ZendAfi/View/Helper/Telephone/RenderAlbum.php
index 1d13a75a3d65ba871edb6bbedba462780ba99a90..c914d248b8a08b1c873b19a38ebe98b89799c36e 100644
--- a/library/ZendAfi/View/Helper/Telephone/RenderAlbum.php
+++ b/library/ZendAfi/View/Helper/Telephone/RenderAlbum.php
@@ -25,39 +25,6 @@ class ZendAfi_View_Helper_Telephone_RenderAlbum extends ZendAfi_View_Helper_Rend
       ? sprintf('<div id="resnum">%s</div>', $this->renderAlbumHelper($album))
       : $this->view->_('Aucune ressource numérique trouvée.');
   }
-
-
-  public function renderAlbumHelper($album) {
-    if ($album->isLivreNumerique()) {
-      Class_ScriptLoader::getInstance()->loadBooklet($album->getId(), '#resnum');
-      return '';
-    }
-
-    if ($album->isDiaporama() && $album->hasOnlyImages())
-      return $this->view->tagSlideshow($album);
-
-    if ($album->isGallica())
-      return  $this->view->gallicaPlayer($album);
-
-    if ($album->isArteVod())
-      return $this->view->tagVideo($album);
-
-    if ($album->isEPUB())
-      return $this->view->monocleReader($album);
-
-    if ($album->isAudioRecord())
-      return $this->view->tagAlbumTrackList($album);
-
-    if($album->isCoursToutApprendre()) {
-      Class_ScriptLoader::getInstance()
-        ->addAdminScript('onload_utils')
-        ->addJQueryReady('setupAnchorsTarget();');
-
-      return parent::renderAlbumHelper($album);
-    }
-
-    return $this->view->tagAlbumMediaList($album);
-  }
 }
 
 ?>
\ No newline at end of file
diff --git a/library/ZendAfi/View/Helper/Telephone/TagAlbumMediaList.php b/library/ZendAfi/View/Helper/Telephone/TagAlbumMediaList.php
index 0fac2742e953f370ec167a577fcf54211cfe6ef3..46508d1ca19ddc0d7974461a7ec91cbf2e7a6ff0 100644
--- a/library/ZendAfi/View/Helper/Telephone/TagAlbumMediaList.php
+++ b/library/ZendAfi/View/Helper/Telephone/TagAlbumMediaList.php
@@ -16,40 +16,40 @@
  *
  * 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 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 
 class ZendAfi_View_Helper_Telephone_TagAlbumMediaList extends ZendAfi_View_Helper_TagAlbumMediaList {
-    protected $_builder;
+  protected $_builder;
 
   public function tagAlbumMediaList($album) {
     $ressources = $album->getRessources();
 
-    $xspf_url = $this->view->url(['module' => 'telephone', 
+    $xspf_url = $this->view->url(['module' => 'telephone',
                                   'controller' => 'bib-numerique',
-                                  'action' => 'album-xspf-playlist', 
+                                  'action' => 'album-xspf-playlist',
                                   'id' => $album->getId()]);
 
-    $podcast_url = $this->view->url(['module' => 'telephone', 
+    $podcast_url = $this->view->url(['module' => 'telephone',
                                      'controller' => 'bib-numerique',
-                                     'action' => 'Album-rss-feed', 
+                                     'action' => 'Album-rss-feed',
                                      'id' => $album->getId()]);
     $html='';
     foreach($ressources as $ressource) {
-    $html .=  sprintf('<li data-role="list-divider"><a href=%s  data-ajax="false"><img src=%s><h3>%s</h3></a></li>', 
-                      $this->view->absoluteUrl($ressource->getOriginalUrl()),
-                      $this->view->absoluteurl($ressource->getThumbnailUrl()),
-                      $ressource->getTitre() ? $ressource->getTitre() : $ressource->getFichier());}
+      $html .=  sprintf('<li data-role="list-divider"><a href=%s  data-ajax="false"><img src=%s><h3>%s</h3></a></li>',
+                        $this->view->absoluteUrl($ressource->getOriginalUrl()),
+                        $this->view->absoluteurl($ressource->getThumbnailUrl()),
+                        $ressource->getTitre() ? $ressource->getTitre() : $ressource->getFichier());}
 
     $playlist = sprintf('<a href="%s" data-role="button" data-mini="true"  data-ajax="false" data-icon="list-alt">%s</a>',
-                     $this->view->absoluteUrl($xspf_url.'.xspf'), 
+                        $this->view->absoluteUrl($xspf_url.'.xspf'),
                         $this->view->_('Playlist'),
                         ['data-ajax' => 'false']);
 
     $rss = sprintf('<a href="%s"  data-role="button" data-mini="true"  data-icon="rss" data-ajax="false">%s</a>',
-                     $this->view->absoluteUrl($podcast_url.'.xml'), 
-                     $this->view->_('RSS'));
-    
+                   $this->view->absoluteUrl($podcast_url.'.xml'),
+                   $this->view->_('RSS'));
+
     return '<ul data-role="listview">' . $html . '</ul><fieldset class="ui-grid-a"><div class="ui-block-a">' .$playlist.'</div><div class="ui-block-b">' .$rss . '</div></fieldset>'  ;
 
   }
diff --git a/library/ZendAfi/View/Helper/Telephone/TagCoursToutApprendre.php b/library/ZendAfi/View/Helper/Telephone/TagCoursToutApprendre.php
new file mode 100644
index 0000000000000000000000000000000000000000..45c93aaf5bde9acf16bc4de651b2f850fdfd2092
--- /dev/null
+++ b/library/ZendAfi/View/Helper/Telephone/TagCoursToutApprendre.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Copyright (c) 2012, 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 ZendAfi_View_Helper_Telephone_TagCoursToutApprendre extends ZendAfi_View_Helper_TagCoursToutApprendre {
+  public function tagCoursToutApprendre($album) {
+    Class_ScriptLoader::getInstance()
+      ->addAdminScript('onload_utils')
+      ->addJQueryReady('setupAnchorsTarget();');
+    return parent::tagCoursToutApprendre($album);
+  }
+}
+
+?>
\ No newline at end of file
diff --git a/library/ZendAfi/View/Helper/Telephone/TagDilicomWidget.php b/library/ZendAfi/View/Helper/Telephone/TagDilicomWidget.php
new file mode 100644
index 0000000000000000000000000000000000000000..75c231a6c8072e3abc40f79d405ffbca0189e8b2
--- /dev/null
+++ b/library/ZendAfi/View/Helper/Telephone/TagDilicomWidget.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Copyright (c) 2012, 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 ZendAfi_View_Helper_Telephone_TagDilicomWidget extends ZendAfi_View_Helper_TagDilicomWidget {
+  protected function _getLoanBookAction() {
+    return 'loan-book';
+  }
+
+
+  protected function _getConsultBookAction() {
+    return 'consult-book';
+  }
+
+
+  public function renderBookPreview($album) {
+    // too much performance issues
+    return '';
+  }
+
+}
+
+?>
\ No newline at end of file
diff --git a/library/startup.php b/library/startup.php
index a48276bb9b0326330a29e0cd2c3ef01e85b800f8..778f6733b3469a56e8fa95691a315842e8d24554 100644
--- a/library/startup.php
+++ b/library/startup.php
@@ -65,7 +65,7 @@ function defineConstant($name, $value) {
 function setupConstants() {
   defineConstant('BOKEH_MAJOR_VERSION','7.5');
 
-  defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.15');
+  defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.16');
 
   defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/');
 
diff --git a/library/storm b/library/storm
index e5539809cf75c7a75ba2d9103a4664f87204699e..72d925ab2bcd2a97f97f4ec2bb8be6b63ebdf462 160000
--- a/library/storm
+++ b/library/storm
@@ -1 +1 @@
-Subproject commit e5539809cf75c7a75ba2d9103a4664f87204699e
+Subproject commit 72d925ab2bcd2a97f97f4ec2bb8be6b63ebdf462
diff --git a/tests/application/modules/opac/controllers/RechercheControllerTest.php b/tests/application/modules/opac/controllers/RechercheControllerTest.php
index 6f301b06b2450f1a1e81fbbd26bb35ca52ee1ab6..cfa0a422c9fd2380c9e8d0624c9246b45a035e3c 100644
--- a/tests/application/modules/opac/controllers/RechercheControllerTest.php
+++ b/tests/application/modules/opac/controllers/RechercheControllerTest.php
@@ -1409,6 +1409,12 @@ class RechercheControllerSimpleActionWithListeFormatMurTest extends RechercheCon
   }
 
 
+  /** @test */
+  public function urlForAuthorInRecordReboundShouldNotContainsPage() {
+    $this->assertXPath('//span[@class="notice_auteur"]//a[contains(@href,"code_rebond/A")][not(contains(@href, "page/2"))]');
+  }
+
+
   /** @test */
   public function criteresRechercheShouldContainsBibAnnecy() {
     $this->assertXPathContentContains('//div[@class="criteres_recherche"]//div[2]', 'Bibliothèque: Annecy');
diff --git a/tests/application/modules/telephone/controllers/AuthControllerTest.php b/tests/application/modules/telephone/controllers/AuthControllerTest.php
index 3955605151bce39ce9c127719cb98e741aa9b676..79742371b3b9614a0e4a232a4f38021462596484 100644
--- a/tests/application/modules/telephone/controllers/AuthControllerTest.php
+++ b/tests/application/modules/telephone/controllers/AuthControllerTest.php
@@ -109,6 +109,11 @@ class AuthControllerTelephoneLoginReservationTest extends AuthControllerTelephon
       ->whenCalled('hasIdentity')
       ->answers(false);
 
+
+    $messenger = new ZendAfi_Controller_Action_Helper_FlashMessenger();
+    $messenger->addNotification('An error occured');
+    ZendAfi_Controller_Action_Helper_FlashMessenger::reset();
+
     $this->dispatch('auth/login-reservation/id/45324', true);
   }
 
@@ -136,6 +141,11 @@ class AuthControllerTelephoneLoginReservationTest extends AuthControllerTelephon
     $this->assertXPath('//form//input[@placeholder="password"]', $this->_response->getBody());
   }
 
+
+  /** @test */
+  public function pageShouldContainsAnErrorOccured() {
+    $this->assertXPathContentContains('//div', 'An error occured', $this->_response->getBody());
+  }
 }
 
 
@@ -162,6 +172,7 @@ class AuthControllerTelephoneLoginReservationInvalidPostTest extends AuthControl
   public function flashMessengerShouldContainsErrorMessage() {
     $this->assertFlashMessengerContains('Entrez votre identifiant S.V.P.');
   }
+
 }
 
 
diff --git a/tests/application/modules/telephone/controllers/BibNumeriqueControllerTest.php b/tests/application/modules/telephone/controllers/BibNumeriqueControllerTest.php
index d0367869ad7ba98307133ce50f471c92c4eb564a..bb3b1c787d9392d5426332b79bab9666ef6c9afb 100644
--- a/tests/application/modules/telephone/controllers/BibNumeriqueControllerTest.php
+++ b/tests/application/modules/telephone/controllers/BibNumeriqueControllerTest.php
@@ -16,7 +16,7 @@
  *
  * 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 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
 require_once 'TelephoneAbstractControllerTestCase.php';
 
@@ -101,7 +101,7 @@ class BibNumeriqueControllerTelephoneViewAlbumMultiMedia extends TelephoneAbstra
     parent::setUp();
 
     Class_Album::newInstanceWithId(999)
-      ->beDiaporama()
+      ->setTypeDocId(Class_TypeDoc::AUDIO_RECORD)
       ->setTitre('Antigone')
       ->setDateMaj('2012-02-17 10:00:00')
       ->setAuteur('Sophocle')
@@ -128,13 +128,13 @@ class BibNumeriqueControllerTelephoneViewAlbumMultiMedia extends TelephoneAbstra
 
   /** @test */
   public function pageShouldContainsLinkToRSSPodcast() {
-    $this->assertXPath('//a[contains(@href, "bib-numerique/Album-rss-feed/id/999.xml")][@data-ajax="false"]');
+    $this->assertXPath('//a[contains(@href, "bib-numerique/album-rss-feed/id/999.xml")][@data-ajax="false"]');
   }
 
-  
+
   /** @test */
-  public function pageShouldContainLinkIntroductionMp3() {
-    $this->assertXPath('//a[contains(@href, "media/introduction.mp3")]');
+  public function pageShouldContainLinkToIntroductionMp3PlayResource12() {
+    $this->assertXPath('//a[contains(@data-src, "bib-numerique/play-ressource/id/12.mp3")]');
   }
 
 }
diff --git a/tests/application/modules/telephone/controllers/CmsControllerTest.php b/tests/application/modules/telephone/controllers/CmsControllerTest.php
index c0c6b4bbea9e652884f7192c038175932567598b..9b44dbfc7b3c16bcebc29d056ebef4b4be8651b4 100644
--- a/tests/application/modules/telephone/controllers/CmsControllerTest.php
+++ b/tests/application/modules/telephone/controllers/CmsControllerTest.php
@@ -28,6 +28,35 @@ abstract class AbstractCmsControllerTelephoneTestCase extends TelephoneAbstractC
       ->newInstanceWithId(4)
       ->setTitre('Fete de la patate')
       ->setDescription('A Annecy !');
+
+
+    Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Article')
+      ->whenCalled('getArticlesByPreferences')
+      ->answers([
+                 Class_Article::newInstanceWithId(1)
+                 ->setTitre('La fête de la banane')
+                 ->setContenu('Une fête qui glisse !')
+                 ->setEventsDebut('2011-09-03')
+                 ->setEventsFin('2011-10-03')
+                 ->setCategorie(
+                                Class_ArticleCategorie::newInstanceWithId(1)
+                                ->setLibelle('Alimentaire')
+                                ->setBib(Class_Bib::getLoader()
+                                         ->newInstanceWithId(1)
+                                         ->setLibelle('Bonlieu'))
+                 ),
+                 Class_Article::newInstanceWithId(1)
+                 ->setTitre('La fête de la frite')
+                 ->setContenu('')
+                 ->setEventsDebut('2011-09-03')
+                 ->setEventsFin('2011-09-03')
+                 ->setCategorie(
+                                Class_ArticleCategorie::newInstanceWithId(1)
+                                ->setLibelle('Alimentaire')
+                 ),
+                 ]);
+
+
   }
 }
 
@@ -94,38 +123,8 @@ class CmsControllerCalendarActionTest extends AbstractCmsControllerTelephoneTest
 
 
 class CmsControllerArticleViewByDateActionTest extends AbstractCmsControllerTelephoneTestCase {
-
   public function setUp() {
     parent::setUp();
-
-    Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Article')
-      ->whenCalled('getArticlesByPreferences')
-      ->answers(array(
-                      Class_Article::getLoader()
-                      ->newInstanceWithId(1)
-                      ->setTitre('La fête de la banane')
-                      ->setContenu('Une fête qui glisse !')
-                      ->setEventsDebut('2011-09-03')
-                      ->setEventsFin('2011-10-03')
-                      ->setCategorie(
-                                     Class_ArticleCategorie::getLoader()->newInstanceWithId(1)
-                                     ->setLibelle('Alimentaire')
-                                     ->setBib(Class_Bib::getLoader()
-                                              ->newInstanceWithId(1)
-                                              ->setLibelle('Bonlieu'))
-                                     ),
-                      Class_Article::getLoader()
-                      ->newInstanceWithId(1)
-                      ->setTitre('La fête de la frite')
-                      ->setContenu('')
-                      ->setEventsDebut('2011-09-03')
-                      ->setEventsFin('2011-09-03')
-                      ->setCategorie(
-                                     Class_ArticleCategorie::getLoader()->newInstanceWithId(1)
-                                     ->setLibelle('Alimentaire')
-                                     ),
-                      ));
-
     $this->dispatch('/telephone/cms/articleviewbydate?d=2011-10-01', true);
   }
 
@@ -146,8 +145,39 @@ class CmsControllerArticleViewByDateActionTest extends AbstractCmsControllerTele
   /** @test */
   public function feteDeLaBannaneShouldBeUnderBibBonlieu() {
     $this->assertXpathContentContains('//div[@class="liste"]/h2', 'Bonlieu');
-
   }
 }
 
+
+
+
+class CmsControllerArticleViewByDateWithModuleActionTest extends AbstractCmsControllerTelephoneTestCase {
+  public function setUp() {
+    parent::setUp();
+
+    Class_Profil::getCurrentProfil()
+      ->updateModuleConfigAccueil(2,
+                                  [
+                                   'division'        => '1',
+                                   'type_module'     => 'NEWS',
+                                   'preferences'     => [
+                                                         'titre'         => 'last news',
+                                                         'rss_avis'      => true,
+                                                         'type_aff'      => 2,
+                                                         'display_order' => 'Title',
+                                                         'display_mode' => 'FullContent',
+                                                         'nb_aff'        => 2,
+                                                         'nb_analyse'    => 5
+                                   ]
+                                  ]);
+
+    $this->dispatch('/telephone/cms/articleviewbydate/id_module/2?d=2011-10-01', true);
+  }
+
+
+  /** @test */
+  public function feteDeLaBananeShouldBePresent() {
+    $this->assertXpathContentContains('//ul//li//a', 'La fête de la banane');
+  }
+}
 ?>
\ No newline at end of file
diff --git a/tests/application/modules/telephone/controllers/IndexControllerTest.php b/tests/application/modules/telephone/controllers/IndexControllerTest.php
index 31e984182cb72dc1cc5da86a07395bfc4b8338fb..b66ba5604b28f5ca4849aa77c95a9663cff352e2 100644
--- a/tests/application/modules/telephone/controllers/IndexControllerTest.php
+++ b/tests/application/modules/telephone/controllers/IndexControllerTest.php
@@ -69,7 +69,11 @@ abstract class AbstractIndexControllerTelephoneWithModulesTest extends Telephone
 
                      '6' => ['division' => '1',
                              'type_module' => 'CRITIQUES',
-                             'preferences' => ['titre' => 'Critiques']]
+                             'preferences' => ['titre' => 'Critiques']],
+
+                     '7' => ['division' => '1',
+                             'type_module' => 'LIBRARY',
+                             'preferences' => ['titre' => 'Libraries']]
           ]];
 
     $this->profil_adulte = $this->fixture('Class_Profil', ['id' => 2])
@@ -321,6 +325,12 @@ class IndexControllerTelephoneSimulationWithModulesTest extends AbstractIndexCon
   }
 
 
+  /** @test */
+  public function libraryModuleTitleShouldBeLibraries() {
+    $this->assertXPathContentContains('//h2', 'Libraries');
+  }
+
+
   /** @test */
   function titreBoiteBibNumeriqueShouldBeMesAlbums() {
     $this->assertXPathContentContains('//div[contains(@class, "bib_numerique")]//div[@class="titre"]', 'Mes albums', $this->_response->getBody());
diff --git a/tests/application/modules/telephone/controllers/RechercheControllerHarryPotterTest.php b/tests/application/modules/telephone/controllers/RechercheControllerHarryPotterTest.php
index 5f2b35c636157749a935ab5dec71014e768c3060..71030afafbfe9b33d4c37ba3daa110f329e4708b 100644
--- a/tests/application/modules/telephone/controllers/RechercheControllerHarryPotterTest.php
+++ b/tests/application/modules/telephone/controllers/RechercheControllerHarryPotterTest.php
@@ -31,6 +31,7 @@ abstract class Telephone_RechercheControllerHarryPotterTestCase extends Telephon
 
     $potter = Class_Notice::getLoader()
       ->newInstanceWithId(4)
+      ->beLivre()
       ->setClefAlpha('harrypotter-sorciers')
       ->setClefOeuvre('HARRYPOT')
       ->setClefChapeau('HARRY POTTER')
@@ -106,13 +107,13 @@ class Telephone_RechercheControllerHarryPotterViewNoticeTest extends Telephone_R
 
   /** @test */
   public function pageShouldContainsLinkToCritiques() {
-    $this->assertXPathContentContains('//a[contains(@href, "recherche/avis/id/4")]', 'Critiques');
+    $this->assertXPathContentContains('//li[contains(@class, "avis")]/a[contains(@href, "recherche/avis/id/4")]', 'Critiques');
   }
 
 
   /** @test */
   public function pageShouldContainsLinkToExemplaires() {
-    $this->assertXPathContentContains('//a[contains(@href, "recherche/exemplaires/id/4")]', 'Où le trouver');
+    $this->assertXPathContentContains('//ul[contains(@class, "doctype_1")]/li[contains(@class, "exemplaires")]//a[contains(@href, "recherche/exemplaires/id/4")]', 'Où le trouver');
   }
 
 
diff --git a/tests/application/modules/telephone/controllers/RechercheControllerRessourceNumeriqueTest.php b/tests/application/modules/telephone/controllers/RechercheControllerRessourceNumeriqueTest.php
index 4acb8b472f81f064297280597df9e8886ea924f4..017aaf64bd4806d2e4170bb7928ce587116b0176 100644
--- a/tests/application/modules/telephone/controllers/RechercheControllerRessourceNumeriqueTest.php
+++ b/tests/application/modules/telephone/controllers/RechercheControllerRessourceNumeriqueTest.php
@@ -22,7 +22,7 @@
 require_once 'TelephoneAbstractControllerTestCase.php';
 
 abstract class Telephone_RechercheControllerRessourceNumeriqueTestCase extends TelephoneAbstractControllerTestCase {
-  protected $_summary;
+  protected $_storm_default_to_volatile = true;
 
   public function setUp() {
     parent::setUp();
@@ -49,24 +49,33 @@ abstract class Telephone_RechercheControllerRessourceNumeriqueTestCase extends T
 
 
 
-class Telephone_RechercheControllerPropagandaViewNoticeTest extends Telephone_RechercheControllerRessourceNumeriqueTestCase {
+class Telephone_RechercheControllerPropagandaRessourceNumeriqueViewNoticeTest extends Telephone_RechercheControllerRessourceNumeriqueTestCase {
   public function setUp() {
     parent::setUp();
-    $this->dispatch('/telephone/recherche/viewnotice/id/9', true);
+
+    $this->fixture('Class_Album',
+                   ['id' => 4,
+                    'titre' => 'Propaganda',
+                    'visible' => true,
+                    'status' => Class_Album::STATUS_VALIDATED,
+                    'type_doc_id' => Class_TypeDoc::EPUB])->index();
+
+    $this->dispatch('/telephone/recherche/viewnotice/id/1', true);
   }
 
 
   /** @test */
   public function pageShouldContainsLinkToRessouresNumeriquesEpub() {
-    $this->assertNotXPathContentContains('//a[contains(@href, "ressourcesnumeriques/id/9")][@data-ajax="false"]',
+    $this->assertXPathContentContains('//a[contains(@href, "ressourcesnumeriques/id/1")][@data-ajax="false"]',
                                          'Feuilleter le livre',$this->_response->getBody());
   }
-
 }
 
 
 
-class Telephone_RechercheControllerNumericRessourcesTest extends TelephoneAbstractControllerTestCase {
+
+
+class Telephone_RechercheControllerRessourceNumeriqueToutApprendreTest extends TelephoneAbstractControllerTestCase {
   protected $_storm_default_to_volatile = true;
 
   public function setUp() {
@@ -102,4 +111,87 @@ class Telephone_RechercheControllerNumericRessourcesTest extends TelephoneAbstra
   public function wrongAccountRequirementMessageShouldBeDisplay() {
     $this->assertXPathContentContains('//div//p', 'Vous devez être connecté sous un compte avec abonnement valide pour pouvoir accéder au cours en ligne');
   }
+}
+
+
+
+
+class Telephone_RechercheControllerRessourceNumeriqueViewNoticeOneDTouchTest extends Telephone_RechercheControllerRessourceNumeriqueTestCase {
+  public function setUp() {
+    parent::setUp();
+    $this->fixture('Class_Album',
+                   ['id' => 1,
+                    'titre' => 'Hypnophonic',
+                    'visible' => true,
+                    'status' => Class_Album::STATUS_VALIDATED,
+                    'type_doc_id' => Class_TypeDoc::ONEDTOUCH])->index();
+  }
+
+
+  /** @test */
+  public function pageShouldContainsLinkToRessouresNumeriques() {
+    $this->dispatch('/telephone/recherche/viewnotice/id/1', true);
+
+    $this->assertXPathContentContains('//ul[contains(@class, "doctype_114")]//a[contains(@href, "ressourcesnumeriques/id/1")][@data-ajax="false"]',
+                                      'Accéder à la ressource',$this->_response->getBody());
+  }
+}
+
+
+
+
+class Telephone_RechercheControllerRessourceNumeriqueViewNoticePNBTest extends Telephone_RechercheControllerRessourceNumeriqueTestCase {
+  public function setUp() {
+    parent::setUp();
+    $this->fixture('Class_Album',
+                   ['id' => 1,
+                    'titre' => 'Hypnophonic',
+                    'visible' => true,
+                    'status' => Class_Album::STATUS_VALIDATED,
+                    'type_doc_id' => Class_TypeDoc::DILICOM])->index();
+
+    $logged_user = $this->fixture('Class_Users',
+                                  ['id' => 6,
+                                   'nom'=>'Pito',
+                                   'login'=>'Chat',
+                                   'password'=>'123456',
+                                   'id_site' => 1,
+                                   'idabon' => '12345',
+                                   'user_groups' => [$this->fixture('Class_UserGroup',
+                                                                    ['id' => '20',
+                                                                     'libelle' => 'Multimedia',
+                                                                     'rights' => [Class_UserGroup::RIGHT_ACCES_PNB_DILICOM]])]]);
+    $logged_user->beAbonneSIGB()->assertSave();
+    ZendAfi_Auth::getInstance()->logUser($logged_user);
+  }
+
+
+  /** @test */
+  public function pageShouldContainsLinkToRessouresNumeriques() {
+    $this->dispatch('/telephone/recherche/viewnotice/id/1', true);
+
+    $this->assertXPathContentContains('//ul[contains(@class, "doctype_112")]//a[contains(@href, "ressourcesnumeriques/id/1")][@data-ajax="false"]',
+                                      'Accéder à la ressource',$this->_response->getBody());
+  }
+
+
+  /** @test */
+  public function loanBookActionShouldBeLoanBookNotAjax() {
+    $this->dispatch('/telephone/recherche/ressourcesnumeriques/id/1', true);
+    $this->assertXPath('//a[contains(@href, "bib-numerique/loan-book/id/1")]');
+  }
+
+
+  /** @test */
+  public function consultBookActionShouldNotBeVisiable() {
+    $this->dispatch('/telephone/recherche/ressourcesnumeriques/id/1', true);
+    $this->assertXPath('//a[contains(@href, "bib-numerique/consult-book/id/1")]');
+  }
+
+
+  /** @test */
+  public function previewIframeShouldNotBeDisplayed() {
+    $this->dispatch('/telephone/recherche/ressourcesnumeriques/id/1', true);
+    $this->assertNotXPath('//iframe');
+  }
 }
\ No newline at end of file