diff --git a/VERSIONS b/VERSIONS
index bbf3fbdfddce067644208960fc1a51df777260f2..9da0be92ea007b0865023300e5bedfa87325e7ce 100644
--- a/VERSIONS
+++ b/VERSIONS
@@ -1,3 +1,9 @@
+15/03/2018 - v7.12.5
+
+ - ticket #72835 : Explorateur de fichier : correction de la sélection d'une image lorsqu'on vient de la téléverser.
+ 
+
+
 12/03/2018 - v7.12.4
 
  - ticket #72610 : OAuth : ajout d'une variable permettant l'utilisation du protocole OAuth en HTTP (OAUTH_ACCEPT_HTTP)
diff --git a/application/modules/admin/controllers/FileManagerController.php b/application/modules/admin/controllers/FileManagerController.php
index 525c1cb60ac1cea7f720f2646533f16873fc3b89..12b4fa881a0b39b076f87d1acf6dd00061b511fa 100644
--- a/application/modules/admin/controllers/FileManagerController.php
+++ b/application/modules/admin/controllers/FileManagerController.php
@@ -192,7 +192,7 @@ class Admin_FileManagerController extends ZendAfi_Controller_Action {
       return $this->_ajaxUploadImage($resized_file, $into);
 
     if (!$form->isValid($this->_request->getPost()))
-        return;
+      return;
 
     if(!$form->file->receive())
       return;
@@ -268,7 +268,7 @@ class Admin_FileManagerController extends ZendAfi_Controller_Action {
     $item = $this->_findItemFromParams();
     $this->view->titre = $this->_('Renommer "%s"', $item->getBasename());
     $this->view->form = $form = ZendAfi_Form_Admin_FileManager_Rename::newWith(['into' => $item->getRealpath(),
-                                                                                 'name' => $item->getBasename()]);
+                                                                                'name' => $item->getBasename()]);
 
     $form->setAction($this->view->url());
 
@@ -372,14 +372,15 @@ class Admin_FileManagerController extends ZendAfi_Controller_Action {
 
   protected function _getUrlWithNewPath($path) {
     return $this->view->url(['module' => 'admin',
-                              'controller' => 'file-manager',
-                              'action' => 'index',
-                              'browser' => $this->_getParam('browser'),
-                              'splitted_browser' => $this->_getParam('splitted_browser'),
-                              'focused_browser' => $this->_getParam('focused_browser'),
-                              'display_mode_browser' => $this->_getParam('display_mode_browser'),
-                              'display_mode_splitted_browser' => $this->_getParam('display_mode_splitted_browser'),
-                              $this->_getParam('focused_browser', 'browser') => $path,
-                              ], null, true);
+                             'controller' => 'file-manager',
+                             'action' => 'index',
+                             $this->_getParam('focused_browser', 'browser') => $path,
+                             'ajax_resized_image' => null,
+                             'render' => null,
+                             'into' => null,
+                             'file' => null,
+                             'item' => null,
+                             'filename' => null,
+                             ]);
   }
 }
diff --git a/application/modules/admin/controllers/IndexController.php b/application/modules/admin/controllers/IndexController.php
index 77b005a530b4752cf6465423c8316df77a4ee49e..19ea63e21fc1eae6a88d13885fe30d43535ec0af 100644
--- a/application/modules/admin/controllers/IndexController.php
+++ b/application/modules/admin/controllers/IndexController.php
@@ -24,7 +24,7 @@ class Admin_IndexController extends ZendAfi_Controller_Action {
       . $this->view->tag('span',
                          $this->_(' version %s',
                                   $this->view->tag('a', BOKEH_RELEASE_NUMBER,
-                                                   ['href' => BOKEH_REMOTE_FILES . 'blob/' . BOKEH_VERSION . '/VERSIONS'])),
+                                                   ['href' => BOKEH_REMOTE_FILES . 'blob/master/VERSIONS'])),
                          ['class' => 'version']);
 
     $this->view->user = Class_Users::getIdentity();
diff --git a/library/Class/AdminVar.php b/library/Class/AdminVar.php
index f7849630629ae0446c3c291f34b147d81a275885..2fb6bc5ed7733bf857c3061aa44a27d4a221f7e2 100644
--- a/library/Class/AdminVar.php
+++ b/library/Class/AdminVar.php
@@ -328,7 +328,7 @@ class Class_AdminVarLoader extends Storm_Model_Loader {
             'FACETTE_INTERET_LIBELLE' => Class_AdminVar_Meta::newDefault('Libellé de la facette centres d\'intérêt'),
             'FACETTE_MATIERE_LIBELLE' => Class_AdminVar_Meta::newDefault('Libellé de la facette matière'),
             'FACETTE_TAG_LIBELLE' => Class_AdminVar_Meta::newDefault('Libellé de la facette tag'),
-            'UNLEASHED_FACETS' => Class_AdminVar_Meta::newMultiInput($this->_('Liste des codes des facettes qui ne sont pas limitées à l\'affichage dans le résultat de recherche<br/>Exemple : T => Type de doc, Y => Annexe, B => Bibliothèque, ... (Voir <a href="' . BOKEH_REMOTE_FILES . 'blob/' . BOKEH_VERSION . '/library/Class/Codification.php#L24">la liste complète</a>)')),
+            'UNLEASHED_FACETS' => Class_AdminVar_Meta::newMultiInput($this->_('Liste des codes des facettes qui ne sont pas limitées à l\'affichage dans le résultat de recherche<br/>Exemple : T => Type de doc, Y => Annexe, B => Bibliothèque, ... (Voir <a href="' . BOKEH_REMOTE_FILES . 'blob/master/library/Class/Codification.php#L24">la liste complète</a>)')),
             'BOITE_PANIER_AUTO' => Class_AdminVar_Meta::newOnOff($this->_('Ajouter automatiquement une boîte panier dans la division flottante')),
             'EXTRA_SKIN_PATH' => Class_AdminVar_Meta::newDefault($this->_('Chemin vers les skins personnalisées, relatif à %s', Class_Profil_Skin::EXTRA_PATH)),
             'ENABLE_COLLABORATIVE_BROWSING' => Class_AdminVar_Meta::newOnOff($this->_('Activation de la navigation collaborative')),
diff --git a/library/Class/FileManager.php b/library/Class/FileManager.php
index 02e9deb77ecab8cbdcec3299ce033e658dbf1f96..09cdbc3c6c072191221d2d023d137bedbed1ee4b 100644
--- a/library/Class/FileManager.php
+++ b/library/Class/FileManager.php
@@ -411,7 +411,7 @@ class Class_FileManager extends Class_Entity {
 
 
   public function getUrl() {
-    return rawurlencode($this->getPath());
+    return Class_Url::absolute($this->getPath(), null, true);
   }
 
 
diff --git a/library/Class/Url.php b/library/Class/Url.php
index 3a2b8d426e99ce5a471d7def76339166efe2f391..89e372b5e2d3310b2333c6b0b33252906d32db23 100644
--- a/library/Class/Url.php
+++ b/library/Class/Url.php
@@ -155,7 +155,12 @@ class Class_Url {
     if('' === $url)
       return static::baseUrl();
 
-    if ((!static::$_do_not_add_base_url) &&  BASE_URL && (0 !== strpos($url, BASE_URL)))
+    if (static::_hasProtocol($url))
+      return $url;
+
+    if ((!static::$_do_not_add_base_url)
+        && BASE_URL
+        && (0 !== strpos($url, BASE_URL)))
       $url = BASE_URL . static::_beginWithSlash($url);
 
     return static::_beginWithSlash($url);
diff --git a/library/Class/WebService/Redmine/Issue.php b/library/Class/WebService/Redmine/Issue.php
index a3a1c911f760ed6bb9805282c1d5b95e6a53d982..e3bccad28f6e0c8973cab5ad2ee50175a60d4622 100644
--- a/library/Class/WebService/Redmine/Issue.php
+++ b/library/Class/WebService/Redmine/Issue.php
@@ -55,7 +55,7 @@ class Class_WebService_Redmine_Issue extends Class_Entity {
 
   public function getTechnicalInformations() {
     $datas = [$this->_('Url : ') . Class_Url::rootUrl() . Class_Url::baseUrl(),
-              $this->_('Version : ') . BOKEH_RELEASE_NUMBER . ' (' . BOKEH_VERSION . ')',
+              $this->_('Version : %s', BOKEH_RELEASE_NUMBER),
               $this->_('Navigateur : ') . Zend_Controller_Front::getInstance()->getRequest()->getHeader('User-Agent'),
               $this->_('Base de données : ') . Zend_Db_Table::getDefaultAdapter()->getConfig()['dbname']];
 
diff --git a/library/ZendAfi/Controller/Plugin/Manager/FileManager.php b/library/ZendAfi/Controller/Plugin/Manager/FileManager.php
index dc590428b190da9e74fbe927d666e97f1a10d763..ee31d143ead4fa605bc470dfcd91681d5d3dbefa 100644
--- a/library/ZendAfi/Controller/Plugin/Manager/FileManager.php
+++ b/library/ZendAfi/Controller/Plugin/Manager/FileManager.php
@@ -39,8 +39,10 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
             ['url' => '#',
              'icon'  => '',
              'caption' => function($model) {
-                if($model->isSelectable($this->_view->settings->getSelectableExtensions()))
-                  return $this->_view->tag('i', '', ['class' => 'fa fa-check']) . $this->_view->tag('span', $this->_('Sélectionner'));
+                return $this->_view->tag('i', '', ['class' => 'fa fa-check']) . $this->_view->tag('span', $this->_('Sélectionner'));
+             },
+             'condition' =>  function($model) {
+               return $model->isSelectable($this->_view->settings->getSelectableExtensions());
              },
              'label' => $this->_('Sélectionner "%s"', $model->getName()),
              'anchorOptions' => array_filter(['title' => $this->_('Sélectionner "%s"', $model->getName()),
@@ -50,9 +52,9 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
                        'into' => $model->getId()],
              'icon'  => '',
              'caption' => function($model) {
-                if($model->isDir())
-                  return $this->_view->tag('i', '', ['class' => 'fa icon-folder-plus']) . $this->_view->tag('span', $this->_('Créer'));
+                return $this->_view->tag('i', '', ['class' => 'fa icon-folder-plus']) . $this->_view->tag('span', $this->_('Créer'));
              },
+             'condition' => 'isDir',
              'label' => $this->_('Créer un nouveau dossier dans "%s".', $model->getPath()),
              'anchorOptions' => array_filter(['title' => $this->_('Ajouter un nouveau dossier dans "%s".', $model->getPath()),
                                               'data-popup' => 'true',
@@ -62,9 +64,9 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
                        'into' => $model->getId()],
              'icon'  => '',
              'caption' => function($model) {
-                if($model->isDir())
-                  return $this->_view->tag('i', '', ['class' => 'fa fa-upload']) . $this->_view->tag('span', $this->_('Téléverser'));
+                return $this->_view->tag('i', '', ['class' => 'fa fa-upload']) . $this->_view->tag('span', $this->_('Téléverser'));
              },
+             'condition' => 'isDir',
              'label' => $this->_('Téléverser un nouveau fichier dans le dossier "%s".', $model->getPath()),
              'anchorOptions' => array_filter(['title' => $this->_('Téléverser un nouveau fichier dans le dossier "%s".', $model->getPath()),
                                               'data-popup' => 'true',
@@ -74,9 +76,9 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
                        'item' => $model->getId()],
              'icon'  => '',
              'caption' => function($model) {
-                if($model->isResizable())
-                  return $this->_view->tag('i', '', ['class' => 'fa fa-compress']) . $this->_view->tag('span', $this->_('Redimensionner'));
+                return $this->_view->tag('i', '', ['class' => 'fa fa-compress']) . $this->_view->tag('span', $this->_('Redimensionner'));
              },
+             'condition' => 'isResizable',
              'label' => $this->_('Redimensionner le fichier "%s".', $model->getPath()),
              'anchorOptions' => array_filter(['title' => $this->_('Redimensionner le fichier "%s".', $model->getPath()),
                                               'data-popup' => 'true',
@@ -104,12 +106,12 @@ class ZendAfi_Controller_Plugin_Manager_FileManager extends ZendAfi_Controller_P
                                               'data-popup' => 'true',
                                               'class' => $model->isWritable() ? null : 'disabled'])],
 
-            ['url' => $model->getUrl(),
+            ['url' => $this->_view->escape($model->getUrl()),
              'icon'  => '',
              'caption' => function($model) {
-                if($model->isFile())
-                  return $this->_view->tag('i', '', ['class' => 'fa fa-download']) . $this->_view->tag('span', $this->_('Télécharger'));
+                return $this->_view->tag('i', '', ['class' => 'fa fa-download']) . $this->_view->tag('span', $this->_('Télécharger'));
              },
+             'condition' => 'isFile',
              'label' => $this->_('Télécharger "%s"', $model->getName()),
              'anchorOptions' => array_filter(['download' => $model->getName(),
                                               'title' => $this->_('Télécharger "%s"', $model->getName())])],
diff --git a/library/ZendAfi/View/Helper/Admin/FileManager/File.php b/library/ZendAfi/View/Helper/Admin/FileManager/File.php
index e85c8bfed5dc6b1bee5617a1d9c47ae1284e05e6..6830f0d73e1c272941e4d72d98646850261d0f9e 100644
--- a/library/ZendAfi/View/Helper/Admin/FileManager/File.php
+++ b/library/ZendAfi/View/Helper/Admin/FileManager/File.php
@@ -25,7 +25,7 @@ class ZendAfi_View_Helper_Admin_FileManager_File extends ZendAfi_View_Helper_Bas
     if(!$settings)
       $settings = (new Class_Entity)->setSelectFile(false);
 
-    $url = $this->view->absoluteUrl($file->getUrl(), null, true);
+    $url = $file->getUrl();
 
     $dt = [
            $this->_tag('dt', $this->_('Nom :')),
@@ -54,14 +54,14 @@ class ZendAfi_View_Helper_Admin_FileManager_File extends ZendAfi_View_Helper_Bas
     if($file->isFile())
       $dt = array_merge($dt,
                         [$this->_tag('dt', $this->_('URL publique :')),
-                         $this->_tag('dd', urldecode($url))]);
+                         $this->_tag('dd', $url)]);
 
     $dl = $this->_tag('dl', implode(array_filter($dt)));
 
     $url_reload = $url . '?version='. time();  // force reload image
 
     $open_new_tab = ($file->isFile()
-                     ? $this->view->tagAnchor($url_reload,
+                     ? $this->view->tagAnchor($this->view->escape($url_reload),
                                               $this->_('Accéder à "%s" dans un nouvel onglet.', $file->getName()),
                                               ['target' => '_blank'])
                      : '');
diff --git a/library/startup.php b/library/startup.php
index aa86e902600cb24b3c7b732d4cde7663dabed251..36398881b98b138cfcd39a19f0111711036fae5e 100644
--- a/library/startup.php
+++ b/library/startup.php
@@ -82,12 +82,10 @@ class Bokeh_Engine {
 
   function setupConstants() {
     defineConstant('BOKEH_MAJOR_VERSION','7.12');
-    defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.4');
+    defineConstant('BOKEH_RELEASE_NUMBER', BOKEH_MAJOR_VERSION . '.5');
 
     defineConstant('BOKEH_REMOTE_FILES', 'http://git.afi-sa.fr/afi/opacce/');
 
-    defineConstant('BOKEH_VERSION', (substr(BOKEH_MAJOR_VERSION, -1) % 2) ? 'master' : 'stable');
-
     defineConstant('ROOT_PATH',  realpath(dirname(__FILE__).'/..').'/');
 
     defineConstant('ZEND_FRAMEWORK_PATH',  ROOT_PATH . 'library/storm/zf/library/');
diff --git a/tests/application/modules/admin/controllers/FileManagerControllerTest.php b/tests/application/modules/admin/controllers/FileManagerControllerTest.php
index 87d074160b6e61e08f5e4eff03e3cea5a2b3b293..fe740992ed12ef5f5030ba1081156c08a39fb07e 100644
--- a/tests/application/modules/admin/controllers/FileManagerControllerTest.php
+++ b/tests/application/modules/admin/controllers/FileManagerControllerTest.php
@@ -724,7 +724,7 @@ class FileManagerControllerImportCssDispatchTest extends FileManagerControllerTe
 
 
   /** @test */
-  public function dispatchFormShouldSubmit() {
+  public function dispatchFormShouldContainsSubmit() {
     $this->dispatch('/admin/file-manager/import?into=userfiles', true);
     $this->assertXpath('//div//button[contains(@class, "validate")][contains(@onclick, "image-loading-status")]');
   }
@@ -734,7 +734,16 @@ class FileManagerControllerImportCssDispatchTest extends FileManagerControllerTe
   public function postDispatchImportShouldRedirectWithSucces() {
     $this->postDispatch('/admin/file-manager/import?into=userfiles', ['file' => 'stylesheet.css']);
     $this->assertFlashMessengerContentContains('Fichier "userfiles/stylesheet.css" téléversé.');
-    $this->assertRedirect();
+    $this->assertRedirectTo('/admin/file-manager/index?browser=userfiles%2Fstylesheet.css');
+  }
+
+
+  /** @test */
+  public function postDispatchImportWithExtentionSelectableShouldRedirectWithThem() {
+    $this->postDispatch('/admin/file-manager/import?into=userfiles&selectable_extensions=css',
+                        ['file' => 'stylesheet.css']);
+    $this->assertFlashMessengerContentContains('Fichier "userfiles/stylesheet.css" téléversé.');
+    $this->assertRedirectTo('/admin/file-manager/index?browser=userfiles%2Fstylesheet.css&selectable_extensions=css');
   }
 }
 
@@ -951,8 +960,8 @@ class FileManagerControllerResizeImageDispatchTest extends FileManagerController
 
   /** @test */
   public function resizeFileShouldBePresent() {
-    $this->dispatch('/admin/file-manager/index', true);
-    $this->assertXPath('//div//a[contains(@href, "/admin/file-manager/resize")]');
+    $this->dispatch('/admin/file-manager/index?browser=userfiles%2Fnew_image.jpg', true);
+    $this->assertXPathContentContains('//div//a[contains(@href, "/admin/file-manager/resize")]', 'Redimensionner');
   }
 
 
@@ -1016,7 +1025,7 @@ Class FileManagerControllerDispatchImageTest extends FileManagerControllerTestCa
 
   /** @test */
   public function downloadCaliforniaAnchorShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@href, "userfiles%2Fcalifornia.jpg")]', 'Télécharger', $this->_response->getBody());
+    $this->assertXPathContentContains('//div//a[contains(@href, "userfiles/california.jpg")]', 'Télécharger');
   }
 
 
@@ -1536,12 +1545,21 @@ class FileManagerControllerWithSpecialCharTest extends FileManagerControllerTest
 
   /** @test */
   public function accessInNewTabShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%20%27direct%22ory%2Fnew%27_ima%22ge.jpg?version=")][@target="_blank"]', 'Accéder à ');
+    $this->assertContains("/userfiles/my 'direct&quot;ory/new'_ima&quot;ge.jpg?version=",
+                          $this->_response->getBody());
+    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles/my \'direct")][@target="_blank"]',
+                                      'Accéder à ');
   }
 
 
   /** @test */
   public function downloadLinkShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%20%27direct%22ory%2Fnew%27_ima%22ge.jpg")]', 'Télécharger');
+    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles/my \'direct")]', 'Télécharger');
+  }
+
+
+  /** @test */
+  public function urlPublicShouldBePrenset() {
+    $this->assertXPathContentContains('//dd', '/userfiles/my \'direct"ory/new\'_ima"ge.jpg');
   }
 }
\ No newline at end of file
diff --git a/tests/library/Class/AdminVarTest.php b/tests/library/Class/AdminVarTest.php
index 824bfdf2cac372a7aee8d5ff531c3a149161d749..cbfc80e43c5fa56af7dd987c308ce6f1a6bcb1e4 100644
--- a/tests/library/Class/AdminVarTest.php
+++ b/tests/library/Class/AdminVarTest.php
@@ -89,7 +89,7 @@ class AdminVarTestGet extends AdminVarTestCase {
                    ['id' => 'UNLEASHED_FACETS',
                     'valeur' => '']);
 
-    $this->assertContains('/blob/' . BOKEH_VERSION . '/library/Class/Codification.php', Class_AdminVar::getStaticMeta('UNLEASHED_FACETS')->getDescription());
+    $this->assertContains('/blob/master/library/Class/Codification.php', Class_AdminVar::getStaticMeta('UNLEASHED_FACETS')->getDescription());
   }
 }