diff --git a/src/module_anc/module/forms/anc_saisie/anc_saisie_anc_controle_controle_rapport.js b/src/module_anc/module/forms/anc_saisie/anc_saisie_anc_controle_controle_rapport.js
index 87b9c63c84d97ac6ba482d42839178b578817e60..3b66a04d1f5b8996a3fa96db090cd9c3c10b19a8 100644
--- a/src/module_anc/module/forms/anc_saisie/anc_saisie_anc_controle_controle_rapport.js
+++ b/src/module_anc/module/forms/anc_saisie/anc_saisie_anc_controle_controle_rapport.js
@@ -139,7 +139,7 @@ var generateReport = function(oPrintReport) {
     if (angular.isDefined(oVmap.generatePrintReport)) {
         oVmap.generatePrintReport({
             'printReportId': oPrintReport['printreport_id'],
-            'ids': envSrvc['sId']
+            'ids': [envSrvc['sId']]
         });
     } else {
         var sMessage = 'Module vMap requis pour effectuer cette opération';
diff --git a/src/module_anc/web_service/ws/Traitements.class.inc b/src/module_anc/web_service/ws/Traitements.class.inc
index 3598ba52ceb6227c909e6abb34e9f70cd121525e..3be35b111eac21ce1ad16a5bcada419a0204dd83 100755
--- a/src/module_anc/web_service/ws/Traitements.class.inc
+++ b/src/module_anc/web_service/ws/Traitements.class.inc
@@ -166,7 +166,7 @@ class Traitements extends Anc {
         );
 
         // Envoi Post
-        $aReturn = $this->genericPost($this->aProperties['schema_anc'], 'v_traitement', $this->aProperties['schema_anc'].'.anc_saisie_anc_traitement', 'id_traitement', $aUploadFiles, 'anc_saisie_anc_evacuation_eaux', 'anc');
+        $aReturn = $this->genericPost($this->aProperties['schema_anc'], 'v_traitement', $this->aProperties['schema_anc'].'.traitement_id_traitement_seq', 'id_traitement', $aUploadFiles, 'anc_saisie_anc_evacuation_eaux', 'anc');
         return $aReturn['sMessage'];
     }
 
diff --git a/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js b/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js
index 19118736763025e374066fb7bbc34cc4f9032595..27810afd468018ba2f04b034734b5a91ac4e1c69 100644
--- a/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js
+++ b/src/module_vmap/module/javascript/app/vmap/mapmanager/mapmanager.js
@@ -1372,6 +1372,46 @@ nsVmap.nsMapManager.MapManager.prototype.getJSONLayersTree = function ($bCompare
     return sJSONLayersTree;
 };
 
+/**
+ * Récupère les sources des couches visibles
+ *
+ * @return {array}
+ */
+nsVmap.nsMapManager.MapManager.prototype.getMapSources = function () {
+
+    var oLayer;
+    var aSubLayers;
+    var aSources = [];
+    var oLayersTree = oVmap.getMapManager().getLayersTree();
+
+    if (goog.isArray(oLayersTree['children'])) {
+        for (var i = 0; i < oLayersTree['children'].length; i++) {
+            if (goog.isDefAndNotNull(oLayersTree['children'][i]['name'])) {
+                if (goog.isArray(oLayersTree['children'][i]['children'])) {
+                    for (var ii = 0; ii < oLayersTree['children'][i]['children'].length; ii++) {
+
+                        oLayer = oLayersTree['children'][i]['children'][ii];
+                        if (goog.isObject(oLayer['vm4ms_sources']) &&
+                            oLayer['olLayer'].getVisible()) {
+                            aSubLayers = oLayer['olLayer'].get('activeSublayers');
+
+                            for (var iii = 0; iii < aSubLayers.length; iii++) {
+                                if (goog.isDefAndNotNull(oLayer['vm4ms_sources'][aSubLayers[iii]])) {
+                                    if (aSources.indexOf(oLayer['vm4ms_sources'][aSubLayers[iii]]) === -1) {
+                                        aSources.push(oLayer['vm4ms_sources'][aSubLayers[iii]]);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return aSources
+}
+
 /**
  * LayersTree_ setter
  * @param {object} oTree Layers tree
diff --git a/src/module_vmap/module/javascript/app/vmap/tools/measure.js b/src/module_vmap/module/javascript/app/vmap/tools/measure.js
index 49786e4049fc529128c43666bd22dc5279a2414b..8549e94977bdbf6ddb9771cf3ff234c212908e9c 100755
--- a/src/module_vmap/module/javascript/app/vmap/tools/measure.js
+++ b/src/module_vmap/module/javascript/app/vmap/tools/measure.js
@@ -504,7 +504,7 @@ nsVmap.nsToolsManager.Measure.prototype.measureController.prototype.setInfosToFe
         // Coordonnées
         olFeature.set('Coordonnées', this.formatCoordinate(olFeature.getGeometry()));
         // Projection
-        olFeature.set('Projection', this['map'].getView().getProjection().getCode());
+        olFeature.set('Projection', 'EPSG:4326');
 
     } else if (olFeature.getGeometry() instanceof ol.geom.LineString) {
         // Type
diff --git a/src/module_vmap/module/javascript/app/vmap/tools/print.js b/src/module_vmap/module/javascript/app/vmap/tools/print.js
index 70d38801732b5d7990ce0aba1d270b022a8d15e9..4e28e42085e89c47751e534d4081bb8e524198b2 100644
--- a/src/module_vmap/module/javascript/app/vmap/tools/print.js
+++ b/src/module_vmap/module/javascript/app/vmap/tools/print.js
@@ -774,6 +774,10 @@ nsVmap.nsToolsManager.Print.prototype.printController.prototype.print = function
                         oPrintScope['user_' + key] = oUserInfos[key];
                     }
                 }
+
+                // Sources des couches
+                oPrintScope['layer_sources'] = oVmap.getMapManager().getMapSources();
+
                 sScope = JSON.stringify(oPrintScope);
 
                 ajaxRequest({
diff --git a/src/module_vmap/web_service/sql/sqlQueries.xml b/src/module_vmap/web_service/sql/sqlQueries.xml
index 4a1e026efafc58a3a828aa29a84425e347e3d53d..d9af111877a89980f885ff35a7e7742435366d03 100644
--- a/src/module_vmap/web_service/sql/sqlQueries.xml
+++ b/src/module_vmap/web_service/sql/sqlQueries.xml
@@ -1168,6 +1168,11 @@
 					ALTER TABLE s_vmap.business_object ADD COLUMN location_placeholder character varying(100);
 					-- Armand 23/01/2019 Placeholder dans la localisation
 					UPDATE s_vmap.business_object set location_placeholder='Localiser...';
+					-- Armand 13/02/2019 Modèle d'impression avec sources
+					INSERT INTO "s_vmap"."printtemplate" ("name","rt_format_id","rt_orientation_id","outputformats_id","definition") VALUES ('Modèle par défaut 2','A4','portrait','pdf','<style>' || chr(13) || '    #A4_print_template {' || chr(13) || '        width: 21cm;' || chr(13) || '        font-family: arial;' || chr(13) || '        position: absolute;' || chr(13) || '    }' || chr(13) || '    #map_overview {' || chr(13) || '        background-color: #D8D8D8 !important;' || chr(13) || '        height: 4cm;' || chr(13) || '        width: 4cm;' || chr(13) || '        border: 1px solid black;' || chr(13) || '    }' || chr(13) || '    .map_image {' || chr(13) || '        background-color: #D8D8D8 !important;' || chr(13) || '        height: 22cm;' || chr(13) || '        width: 14cm;' || chr(13) || '        border: 1px solid black;' || chr(13) || '    }' || chr(13) || '    .map_image_compare_mode {' || chr(13) || '        background-color: #D8D8D8 !important;' || chr(13) || '        height: 11cm;' || chr(13) || '        width: 14cm;' || chr(13) || '        border: 1px solid black;' || chr(13) || '    }' || chr(13) || '    .map_legend {' || chr(13) || '        width: 3cm; ' || chr(13) || '        margin-top: 16px;' || chr(13) || '    }' || chr(13) || '    .map_legend_compare_mode {' || chr(13) || '        width: 3cm; ' || chr(13) || '        margin-top: 16px;' || chr(13) || '    }' || chr(13) || '    .color_blue{' || chr(13) || '        color: #424A96 !important;' || chr(13) || '    }' || chr(13) || '    .logo {' || chr(13) || '        height: 2cm;' || chr(13) || '    }' || chr(13) || '    .container {' || chr(13) || '        position: absolute;' || chr(13) || '    }' || chr(13) || '    #header_container{' || chr(13) || '        width: 18cm;' || chr(13) || '        height: 2.5cm;' || chr(13) || '        background-color: #D8D8D8 !important;' || chr(13) || '    }' || chr(13) || '    #footer_container{' || chr(13) || '        width: 18cm;' || chr(13) || '        height: 1cm;' || chr(13) || '        background-color: #D8D8D8 !important;' || chr(13) || '    }' || chr(13) || '    .header_content{' || chr(13) || '        margin-left: 10px;' || chr(13) || '    }' || chr(13) || '    .title{' || chr(13) || '        display: block;' || chr(13) || '        font-size: 24pt;' || chr(13) || '        font-weight: bold;' || chr(13) || '        margin-top: 0.8em;' || chr(13) || '    }' || chr(13) || '    .headline{' || chr(13) || '        font-weight: bold;' || chr(13) || '        font-size: 14pt;' || chr(13) || '    }' || chr(13) || '    .legend_headline{' || chr(13) || '        font-weight: bold;' || chr(13) || '        font-size: 14pt;' || chr(13) || '        color: black;' || chr(13) || '    }' || chr(13) || '    .footer_text{' || chr(13) || '        font-weight: bold;' || chr(13) || '        font-size: 10pt;' || chr(13) || '        margin: 0.3cm;' || chr(13) || '    }' || chr(13) || '' || chr(13) || '</style>' || chr(13) || '<div id="A4_print_template">' || chr(13) || '' || chr(13) || '    <div id="header_container" class="container" style="top: 1.2cm; left: 1.5cm;">' || chr(13) || '        <div class="container" style="top: -0.5cm; left: 0cm;">' || chr(13) || '            <div class="header_content title color_blue">{{title}}</div>' || chr(13) || '            <div class="header_content headline color_blue">{{headline}}</div>' || chr(13) || '        </div>' || chr(13) || '        <div class="container" style="top: 0.2cm; right: 10px;">' || chr(13) || '            <img class="logo" src="data:image/png;base64,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">' || chr(13) || '        </div>' || chr(13) || '    </div>' || chr(13) || '    <!-- Mode normal -->' || chr(13) || '    <div ng-if="!compare_mode" class="container" style="top: 5cm; left: 1.5cm;">' || chr(13) || '        <label class="legend_headline">Légende</label>' || chr(13) || '        <div id="map_legend"></div>' || chr(13) || '    </div>' || chr(13) || '    <!-- Mode comparaison -->' || chr(13) || '    <div ng-if="compare_mode" class="container" style="top: 5cm; left: 1.5cm;">' || chr(13) || '        <label class="legend_headline">Légende</label>' || chr(13) || '        <div id="map_legend"></div>' || chr(13) || '        <div id="map_legend_compare"></div>' || chr(13) || '    </div>' || chr(13) || '    <!-- Mode normal -->' || chr(13) || '    <div ng-if="!compare_mode" class="container" style="top: 4cm; right: 1.1cm;">' || chr(13) || '        <img id="map_image" class="map_image" src="images/transparent.png">' || chr(13) || '    </div>' || chr(13) || '    <!-- Mode comparaison -->' || chr(13) || '    <div ng-if="compare_mode">' || chr(13) || '        <div class="container" style="top: 4cm; right: 1.1cm;">' || chr(13) || '            <img id="map_image" class="map_image_compare_mode" src="images/transparent.png">    ' || chr(13) || '        </div>    ' || chr(13) || '        <div class="container" style="top: 15cm; right: 1.1cm;">' || chr(13) || '            <img id="map_image_compare" class="map_image_compare_mode" src="images/transparent.png">' || chr(13) || '        </div>' || chr(13) || '    </div>' || chr(13) || '' || chr(13) || '    <div class="container" style="top: 24.5cm; left: 1.7cm; z-index: 9;">' || chr(13) || '        <!-- Pour afficher l''overview utiliser id="map_overview-->' || chr(13) || '        <img id="map_overview">' || chr(13) || '    </div>' || chr(13) || '    ' || chr(13) || '    <div class="container" style="top: 25.9cm; right: 1.5cm;">' || chr(13) || '      <!-- Pour afficher l''échelle actuelle utiliser {{map_scale}}-->' || chr(13) || '      <div class="footer_text">' || chr(13) || '        <label class="color_blue"></label>' || chr(13) || '        <label class="color_blue">Echelle: {{map_scale}}</label>' || chr(13) || '      </div>' || chr(13) || '  </div>' || chr(13) || '' || chr(13) || '' || chr(13) || '    <div id="footer_container" class="container" style="top: 26.7cm; left: 1.5cm">' || chr(13) || '        <div class="container" style="top: 0cm; left: 4.5cm;">' || chr(13) || '            <div class="footer_text">' || chr(13) || '                <label class="color_blue">Source(s):</label>' || chr(13) || '                <label class="color_blue">{{layer_sources.join('', '')}}</label>' || chr(13) || '            </div>' || chr(13) || '        </div>' || chr(13) || '    </div>' || chr(13) || '</div>');
+					INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut 2'), 'title', true, 'Titre', 'Titre du document', NULL);
+					INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut 2'), 'footer', false, NULL, NULL, 'Tout droits réservés');
+					INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut 2'), 'headline', true, 'Sous titre', 'Sous titre de la carte', NULL);
 				]]>
 			</code>
 		</query>
diff --git a/src/module_vmap/web_service/ws/MapJSON.class.inc b/src/module_vmap/web_service/ws/MapJSON.class.inc
index b31c07ba67f8e470f522349c22e86321e0e9e9db..7aff50530df0a36ce101dc6531bb6d32af351328 100755
--- a/src/module_vmap/web_service/ws/MapJSON.class.inc
+++ b/src/module_vmap/web_service/ws/MapJSON.class.inc
@@ -267,6 +267,11 @@ class MapJSON extends Vmap {
             else
                 $tmp['is_queryable_getfeatureinfo'] = false;
 
+            if (!empty($oLayer->aFields['service_vm4ms']))
+                $tmp['is_vm4ms_layer'] = $oLayer->aFields['service_vm4ms'];
+            else
+                $tmp['is_vm4ms_layer'] = false;
+
             if (!empty($oLayer->aFields['is_filtered']) && !empty($oLayer->aFields['filter_form']))
                 $tmp['is_filtered'] = $oLayer->aFields['is_filtered'];
             else
@@ -339,6 +344,11 @@ class MapJSON extends Vmap {
 
             $tmp['layer_id'] = $oLayer->aFields['layer_id'];
 
+            // Sources des couches
+            if (($tmp['is_vm4ms_layer'] === true) && !empty($oLayer->aFields['layer_list'])) {
+                $tmp['vm4ms_sources'] = $this->getLayersSources(explode(',', $oLayer->aFields['layer_list']));
+            }
+
             array_push($aThemes[$oLayer->aFields['theme_name']], $tmp);
             unset($tmp);
         }
@@ -346,6 +356,41 @@ class MapJSON extends Vmap {
         return $aThemes;
     }
 
+    /**
+     * Get the vm4ms layers sources
+     *
+     * @param  {array} $aLayers layers names
+     * @return {array} avaliable sources
+     */
+    function getLayersSources($aLayers) {
+
+        $aSources = array();
+        if (!empty($this->aProperties['schema_vm4ms'])) {
+
+            $aFilter = $this->decodeJSONFilter(array(
+                'column' => 'name',
+                'compare_operator' => 'IN',
+                'value' => $aLayers,
+            ));
+
+            $aSQLParams = $aFilter['params'];
+            $aSQLParams['sSchema'] = array('value' => $this->aProperties['schema_vm4ms'], 'type' => 'column_name');
+
+            $sSql = "SELECT name, source_label FROM [sSchema].v_ms_layer WHERE " . $aFilter['request'];
+
+            $oResult = $this->oConnection->oBd->executeWithParams($sSql, $aSQLParams);
+            if (!$this->oConnection->oBd->enErreur()) {
+                while ($aLigne = $this->oConnection->oBd->ligneSuivante($oResult)) {
+                    if (!empty($aLigne['source_label'])) {
+                        $aSources[$aLigne['name']] = $aLigne['source_label'];
+                    }
+                }
+            }
+        }
+
+        return $aSources;
+    }
+
 }
 
 ?>
diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.css b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.css
index a759ec8a43352f0afdbb2fdd36cbc66b05a01322..14bac1a02f071760a18454cc26398d549791570d 100644
--- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.css
+++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.css
@@ -81,12 +81,15 @@
     height: 90px !important;
 }
 .modal-image-zone {
+    text-align: center;
     max-height: 600px;
     overflow-y: auto;
 }
 .modal-image-zone > img {
     height: auto;
     width: 100%;
+    max-width: 350px;
+    max-height: 350px;
 }
 
 .file_picker .container {
diff --git a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
index b53261f06a1af832d28772ca6bbf1b3a92c3581b..d10ffff7daab2e16ecc77205383e0c2a8052be7a 100644
--- a/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
+++ b/src/vitis/client/javascript/externs/formReader/component/file_picker/file_picker.js
@@ -546,27 +546,6 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
             scope['showImageModal'] = function(oImage, oBlob) {
                 $log.log("formReader.FilePickerDirective.showImageModal");
 
-                // Téléchargement image grande si thumbnail
-                if (goog.isDefAndNotNull(oImage._url) && oImage._thumbnail === true) {
-                    scope['downloadFileBlob'](oImage._url, false, 3).then(function(oBlob){
-                        var picReader = new FileReader();
-                        picReader.addEventListener('load', angular.bind(this, function (oBlob, event) {
-                            var picFile = event.target;
-                            scope.$applyAsync(function(){
-                                scope['showImageModal']({
-                                    'name': oBlob['name'],
-                                    'src': picFile['result'],
-                                    _url: oBlob._url,
-                                    _thumbnail: oBlob._thumbnail
-                                }, oBlob);
-                            });
-                        }, oBlob));
-                        picReader.readAsDataURL(oBlob);
-
-                    });
-                    return 0;
-                }
-
                 var iImageIndex;
                 for (var i = 0; i < scope['aPreviewImages'].length; i++) {
                     if(scope['aPreviewImages'][i]['name'] === oImage['name']){
@@ -590,7 +569,7 @@ nsVitisComponent.FilePickerDirective = function ($timeout, $translate, propertie
                  * Téléchargement de l'image
                  */
                 $(domDownloadButton).click(function(){
-                    scope['downloadFile'](oImage, oBlob);
+                    scope['downloadDocument'](oImage);
                 });
 
                 /**
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 81dbcc40301fc5f618f92b00584430cfd19a4d7a..598dfd49328471d439b778eb51b6c7883d74a1ca 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
@@ -363,6 +363,14 @@ class Files_manager{
                 $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);
 
diff --git a/src/vitis/vas/rest/conf/properties_server.inc b/src/vitis/vas/rest/conf/properties_server.inc
index 494c13e697f984b236ba8e59c84bd894572e9cf1..7eb115606d8fc4415dbf29a17ba9864d9322bda7 100644
--- a/src/vitis/vas/rest/conf/properties_server.inc
+++ b/src/vitis/vas/rest/conf/properties_server.inc
@@ -49,6 +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['AWSCredentialsFilePath'] = ""; // .../.aws/credentials
 $properties["fileS3UploaderProfil"] = "";
 $properties["fileS3UploaderBucket"] = "";