diff --git a/VERSIONS_WIP/71600 b/VERSIONS_WIP/71600
new file mode 100644
index 0000000000000000000000000000000000000000..6755ebc6f5a9b61e683e82cf69bb39d4eecfbba5
--- /dev/null
+++ b/VERSIONS_WIP/71600
@@ -0,0 +1,2 @@
+ - ticket #71600 : Explorateur de fichiers : correction des liens de téléchargement d'images qui comportaient un espace dans le nom.
+ 
\ No newline at end of file
diff --git a/library/Class/FileManager.php b/library/Class/FileManager.php
index 2753b8248440e53a62c726ea46ac36fe3d659001..02e9deb77ecab8cbdcec3299ce033e658dbf1f96 100644
--- a/library/Class/FileManager.php
+++ b/library/Class/FileManager.php
@@ -23,7 +23,7 @@ class Class_FileManager extends Class_Entity {
   use Trait_Translator;
 
   protected static $_file_system;
-  const REGEX_NAME = '/^[a-z0-9][a-z0-9_\-\. ]+$/i';
+  const REGEX_NAME = '/^[a-z0-9][a-z0-9_\-\.]+$/i';
   protected $_attribs = ['Id' => '',
                          'Realpath' => '',
                          'Path' => '',
@@ -411,7 +411,7 @@ class Class_FileManager extends Class_Entity {
 
 
   public function getUrl() {
-    return urlencode($this->getPath());
+    return rawurlencode($this->getPath());
   }
 
 
diff --git a/library/ZendAfi/Form/Admin/FileManager/Folder.php b/library/ZendAfi/Form/Admin/FileManager/Folder.php
index d89c37f242e9d3c8e1cb7d1df9072573bbe8d32c..2530d12889e2885e193d23df8b727d0a3d6c1ed1 100644
--- a/library/ZendAfi/Form/Admin/FileManager/Folder.php
+++ b/library/ZendAfi/Form/Admin/FileManager/Folder.php
@@ -31,7 +31,7 @@ class ZendAfi_Form_Admin_FileManager_Folder extends ZendAfi_Form {
                     'allowEmpty' => false,
                     'required' => true,
                     'validators' => [(new Zend_Validate_Regex(Class_FileManager::REGEX_NAME))
-                                     ->setMessage($this->_('Le nom du dossier peut contenir uniquement des lettres, des chiffres et les caratères "_", "-", " ", ".". Exemple : "mon_dossier"'))]])
+                                     ->setMessage($this->_('Le nom du dossier peut contenir uniquement des lettres, des chiffres et les caratères "_", "-", ".". Exemple : "mon_dossier"'))]])
       ->addUniqDisplayGroup('new_folder');
   }
 }
\ No newline at end of file
diff --git a/library/ZendAfi/Form/Admin/FileManager/Import.php b/library/ZendAfi/Form/Admin/FileManager/Import.php
index 57e12809180d5612bda7d0ebb68d042bed26dbfd..ec9abf52332f19ab3ef5833dda8d8803c6cdeb5b 100644
--- a/library/ZendAfi/Form/Admin/FileManager/Import.php
+++ b/library/ZendAfi/Form/Admin/FileManager/Import.php
@@ -43,6 +43,8 @@ class ZendAfi_Form_Admin_FileManager_Import extends ZendAfi_Form {
     $extensions = Class_AdminVar::get('ALLOWED_FILES_EXTENSIONS_FOR_IMPORT');
 
     return $element
+      ->addValidator((new Zend_Validate_Regex(Class_FileManager::REGEX_NAME))
+                                     ->setMessage($form->_('Le nom peut contenir uniquement des lettres, des chiffres et les caratères "_", "-", " ", ".". Exemple : "mon_fichier.jpg"')))
       ->addValidator((new Zend_Validate_File_Count(1))
                      ->setMessage($form->_('Un seul fichier doit être transféré.')))
 
diff --git a/library/ZendAfi/Form/Admin/FileManager/Rename.php b/library/ZendAfi/Form/Admin/FileManager/Rename.php
index 5e7a675a8e17fce0af217b836f8326822ddff525..ecf61a73c361c9beeabb3874df7780e5aae1f786 100644
--- a/library/ZendAfi/Form/Admin/FileManager/Rename.php
+++ b/library/ZendAfi/Form/Admin/FileManager/Rename.php
@@ -31,7 +31,7 @@ class ZendAfi_Form_Admin_FileManager_Rename extends ZendAfi_Form {
                     'allowEmpty' => false,
                     'required' => true,
                     'validators' => [(new Zend_Validate_Regex(Class_FileManager::REGEX_NAME))
-                                     ->setMessage($this->_('Le nom peut contenir uniquement des lettres, des chiffres et les caratères "_", "-", " ", ".". Exemple : "mon_fichier.2"'))]])
+                                     ->setMessage($this->_('Le nom peut contenir uniquement des lettres, des chiffres et les caratères "_", "-", ".". Exemple : "mon_fichier.jpg"'))]])
       ->addUniqDisplayGroup('rename_file');
   }
 }
\ No newline at end of file
diff --git a/tests/application/modules/admin/controllers/FileManagerControllerTest.php b/tests/application/modules/admin/controllers/FileManagerControllerTest.php
index e0ee8e06a9fb25a70d0eeb1a2cab51c167947dc8..9c5aaa42d0e21e74bc312dcff72273e10e7cdf5f 100644
--- a/tests/application/modules/admin/controllers/FileManagerControllerTest.php
+++ b/tests/application/modules/admin/controllers/FileManagerControllerTest.php
@@ -491,11 +491,19 @@ class FileManagerControllerDropDispatchTest extends FileManagerControllerTestCas
   /** @test */
   public function postDispatchCreateFolderShouldAddNewFolder() {
     $this->postDispatch('/admin/file-manager/create?into=userfiles%2Fimage%2Fwhite',
-                        ['folder' => 'new folder']);
+                        ['folder' => 'new_folder']);
     $this->assertredirect();
   }
 
 
+  /** @test */
+  public function postDispatchCreateFolderShouldNotAddNewFolderWithWhiteSpace() {
+    $this->postDispatch('/admin/file-manager/create?into=userfiles%2Fimage%2Fwhite',
+                        ['folder' => 'new folder']);
+    $this->assertXpathContentContains('//ul/li', 'Le nom du dossier peut contenir uniquement des lettres, des chiffres et');
+  }
+
+
   /** @test */
   public function dispatchRenameShouldDisplayRenameForm() {
     $this->dispatch('/admin/file-manager/rename?item=userfiles%2Fimage%2Fwhite', true);
@@ -1489,9 +1497,9 @@ class FileManagerControllerWithSpecialCharTest extends FileManagerControllerTest
   public function setUp() {
     parent::setUp();
     $image = (new Class_FileManager)
-      ->setId('userfiles/my\'direct"ory/new\'_ima"ge.jpg')
-      ->setPath('userfiles/my\'direct"ory/new\'_ima"ge.jpg')
-      ->setParentPath('userfiles/my\'direct"ory')
+      ->setId('userfiles/my \'direct"ory/new\'_ima"ge.jpg')
+      ->setPath('userfiles/my \'direct"ory/new\'_ima"ge.jpg')
+      ->setParentPath('userfiles/my \'direct"ory')
       ->setName('new\'_ima"ge.jpg')
       ->setDir(false)
       ->setExtension('jpg')
@@ -1500,36 +1508,36 @@ class FileManagerControllerWithSpecialCharTest extends FileManagerControllerTest
 
     Class_FileManager::getFileSystem()
       ->whenCalled('directoryAt')
-      ->with('userfiles/my\'direct"ory/new\'_ima"ge.jpg')
+      ->with('userfiles/my \'direct"ory/new\'_ima"ge.jpg')
       ->answers(null)
       ->whenCalled('fileAt')
-      ->with('userfiles/my\'direct"ory/new\'_ima"ge.jpg')
+      ->with('userfiles/my \'direct"ory/new\'_ima"ge.jpg')
       ->answers($image)
       ->whenCalled('directoryAt')
-      ->with('userfiles/my\'direct"ory')
+      ->with('userfiles/my \'direct"ory')
       ->answers(null)
       ->whenCalled('fileAt')
-      ->with('userfiles/my\'direct"ory')
+      ->with('userfiles/my \'direct"ory')
       ->answers(null);
 
-    $this->dispatch('/admin/file-manager/index?browser=userfiles%2Fmy%27direct"ory%2Fnew%27_ima"ge.jpg&selectable_extensions=jpg;png', true);
+    $this->dispatch('/admin/file-manager/index?browser=userfiles%2Fmy+%27direct"ory%2Fnew%27_ima"ge.jpg&selectable_extensions=jpg;png', true);
   }
 
 
   /** @test */
   public function selectButtonShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@onclick, "$(this).selectItemForCKEditor(")][contains(@onclick, "/userfiles/my%27direct%22ory/new%27_ima%22ge.jpg")]', 'Sélectionner');
+    $this->assertXPathContentContains('//div//a[contains(@onclick, "$(this).selectItemForCKEditor(")][contains(@onclick, "/userfiles/my %27direct%22ory/new%27_ima%22ge.jpg")]', 'Sélectionner');
   }
 
 
   /** @test */
   public function accessInNewTabShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%27direct%22ory%2Fnew%27_ima%22ge.jpg?version=")][@target="_blank"]', 'Accéder à ');
+    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%20%27direct%22ory%2Fnew%27_ima%22ge.jpg?version=")][@target="_blank"]', 'Accéder à ');
   }
 
 
   /** @test */
   public function downloadLinkShouldBePresent() {
-    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%27direct%22ory%2Fnew%27_ima%22ge.jpg")]', 'Télécharger');
+    $this->assertXPathContentContains('//div//a[contains(@href, "/userfiles%2Fmy%20%27direct%22ory%2Fnew%27_ima%22ge.jpg")]', 'Télécharger');
   }
 }
\ No newline at end of file