diff --git a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc
index 598dfd49328471d439b778eb51b6c7883d74a1ca..45bd24da6628ff19170bce17975e4922c4142d08 100644
--- a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc
+++ b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc
@@ -259,6 +259,70 @@ class Files_manager{
         return $aFileStruc;
     }
 
+    /**
+     * Upload la miniature du fichier si il s'agit l'image ou retourne false
+     *
+     * @param  {array} $aFileStruct    Structure du fichier
+     * @param  {string} $sDestPath     Répertoire de destination
+     * @param  {string} $sField        Champ en base de données
+     * @param  {string} $sMinDestPath  Répertoire de destination du fichier min
+     * @param  {integer} $iMaxSize     Taille maximale du fichier
+     * @return {boolean}               true en cas de succes
+     */
+    private function uploadImageThumbnail($aFileStruct, $sDestPath, $sField, $sMinDestPath, $iMaxSize = -1) {
+
+        $aImgSize = getimagesize($aFileStruct['tmp_name']);
+
+        // Si image
+        if(@is_array($aImgSize)){
+
+            $aThumbnailFileStruct = $aFileStruct;
+            $aThumbnailFileStruct["width"] = 200;
+            $aThumbnailFileStruct["height"] = 200;
+
+            if (is_int($this->oProperties['filesystem_thumbnails_max_width']) &&
+                is_int($this->oProperties['filesystem_thumbnails_max_height'])) {
+
+                $imgWidth = $aImgSize[0];
+                $imgHeight = $aImgSize[1];
+
+                // Redimentionne la largeur en conservant le ratio
+                if ($imgWidth > $this->oProperties['filesystem_thumbnails_max_width']) {
+                    $imgHeight = round($imgHeight * $this->oProperties['filesystem_thumbnails_max_width'] / $imgWidth);
+                    $imgWidth = $this->oProperties['filesystem_thumbnails_max_width'];
+                }
+
+                // Redimentionne la hauteur en conservant le ratio
+                if ($imgHeight > $this->oProperties['filesystem_thumbnails_max_height']) {
+                    $imgWidth = round($imgWidth * $this->oProperties['filesystem_thumbnails_max_height'] / $imgHeight);
+                    $imgHeight = $this->oProperties['filesystem_thumbnails_max_height'];
+                }
+
+                $aThumbnailFileStruct["height"] = $imgHeight;
+                $aThumbnailFileStruct["width"] = $imgWidth;
+            }
+
+            $aThumbnailFileStruct['tmp_name'] = $aThumbnailFileStruct['tmp_name'] . '.min';
+            $aDestPathExt = explode('.', $sDestPath);
+
+            $aDestPathExt = explode('.', $sDestPath);
+
+            // Ajoute .min sur la destination
+            array_splice($aDestPathExt, -1, 0, 'min');
+            $sMinDestPath = implode('.', $aDestPathExt);
+
+            // Copie le fichier dans tmp
+            copy($aFileStruct['tmp_name'], $aThumbnailFileStruct['tmp_name']);
+
+            // Upload le fichier .min.jpg
+            $this->uploadFile($sField, "image", $sMinDestPath, $iMaxSize, $aThumbnailFileStruct);
+
+            return true;
+        } else {
+            return false;
+        }
+    }
+
     /**
      *This method upload a file in ws_data.
      *@param $sModule Name of the module.
@@ -356,34 +420,7 @@ class Files_manager{
         // Image miniature
         $sMinDestPath = null;
         if ($bCreateThumbnail === true && file_exists($aFileStruct['tmp_name'])) {
-
-            // Si image
-            if(@is_array(getimagesize($aFileStruct['tmp_name']))){
-
-                $aThumbnailFileStruct = $aFileStruct;
-                $aThumbnailFileStruct["width"] = 200;
-                $aThumbnailFileStruct["height"] = 200;
-                
-                if (is_int($this->oProperties['filesystem_thumbnails_width'])) {
-                    $aThumbnailFileStruct["width"] = $this->oProperties['filesystem_thumbnails_width'];
-                }
-                if (is_int($this->oProperties['filesystem_thumbnails_height'])) {
-                    $aThumbnailFileStruct["height"] = $this->oProperties['filesystem_thumbnails_height'];
-                }
-
-                $aThumbnailFileStruct['tmp_name'] = $aThumbnailFileStruct['tmp_name'] . '.min';
-                $aDestPathExt = explode('.', $sDestPath);
-
-                // Ajoute .min sur la destination
-                array_splice($aDestPathExt, -1, 0, 'min');
-                $sMinDestPath = implode('.', $aDestPathExt);
-
-                // Copie le fichier dans tmp
-                copy($aFileStruct['tmp_name'], $aThumbnailFileStruct['tmp_name']);
-
-                // Upload le fichier .min.jpg
-                $this->uploadFile($sField, "image", $sMinDestPath, $iMaxSize, $aThumbnailFileStruct);
-            }
+            $this->uploadImageThumbnail($aFileStruct, $sDestPath, $sField, $sMinDestPath, $iMaxSize);
         }
 
         // Upload du fichier
diff --git a/src/vitis/vas/rest/conf/properties_server.inc b/src/vitis/vas/rest/conf/properties_server.inc
index 7eb115606d8fc4415dbf29a17ba9864d9322bda7..9b34fdadd7ae222fac65ec5f264f1377555cd898 100644
--- a/src/vitis/vas/rest/conf/properties_server.inc
+++ b/src/vitis/vas/rest/conf/properties_server.inc
@@ -49,8 +49,8 @@ $properties["notifierAccessKeyAccount"] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 $properties["notifierSecretKeyAccount"] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
 // utilisation de s3 pour remplacer le système de Fichier
 $properties['filesystem'] = 'fs'; // s3
-$properties['filesystem_thumbnails_width'] = 350; // taille des images .min.jpg
-$properties['filesystem_thumbnails_height'] = 350; // taille des images .min.jpg 
+$properties['filesystem_thumbnails_max_width'] = 350; // taille maximale des images .min.jpg
+$properties['filesystem_thumbnails_max_height'] = 350; // taille maximale des images .min.jpg
 $properties['AWSCredentialsFilePath'] = ""; // .../.aws/credentials
 $properties["fileS3UploaderProfil"] = "";
 $properties["fileS3UploaderBucket"] = "";