diff --git a/_install/dependencies.json b/_install/dependencies.json
index d5e356600b74ec6cecb5ad5ae40f8d2176f1c659..ee0905482331d6d531a0b207ea2dea5010bfc98f 100644
--- a/_install/dependencies.json
+++ b/_install/dependencies.json
@@ -40,12 +40,12 @@
       }
     },
     "framework": {
-      "branch": "master",
+      "branch": "next_app_vmap",
       "name": "vitis",
       "url": "git@gitlab.veremes.net:Development/vitis-2020/sources/vitis.git"
     },
     "modules": [{
-      "branch": "master",
+      "branch": "next_version",
       "name": "module_vmap",
       "url": "git@gitlab.veremes.net:Development/vitis-2020/sources/module_vmap.git"
     }]
diff --git a/_install/templates/properties.json b/_install/templates/properties.json
index f49dfe1f345111d2d755d327276ddc8379d33dc3..cec38944086730c355010c27a7318021cf1f693d 100644
--- a/_install/templates/properties.json
+++ b/_install/templates/properties.json
@@ -1,5 +1,6 @@
 {
   {% if not client_properties_exists %}
+  "status": "stable",
   "application": "{{application.name}}",
   "default_show_sidenav": true,
   "widget_public_connect_available": true,
@@ -18,6 +19,5 @@
   "proxy_url": "https://[hostname]{{API_ALIAS}}/v2/proxy/proxy",
   "version": "{{application.branch}}",
   "build": "{{APP_BUILD}}",
-  "month_year": "{{MONTH_YEAR}}",
-  "status": "stable"
+  "month_year": "{{MONTH_YEAR}}"
 }
diff --git a/conf/app.struct.ts b/conf/app.struct.ts
index e4659c998c6a1a347e21f8a891bb6dfb9648c94e..7482142225b3d06b316200ef46480fa1caa4fd32 100755
--- a/conf/app.struct.ts
+++ b/conf/app.struct.ts
@@ -9,7 +9,8 @@ import {
   vitisUserHeader,
   vitisHelpHeader,
   vitisTranslateConfig,
-  vitisConfigInterfaceObject
+  vitisConfigInterfaceObject,
+  vitisConfigCustomTranslationsObject
 } from '../app/vitis/app.struct';
 import {
   vmapConfigVmapObject,
@@ -22,8 +23,24 @@ import {
   vmapCartoWidget,
   vmapPrintWidget,
   vmapMapPrintingsMode,
+  vmapUsersSection,
+  vmapFluxMode
 } from '../modules/vmap/struct/vmap.struct';
 
+/**
+ * Mode users revisité pour vMap
+ */
+const userObject = vitisUsersMode.objects[0];
+userObject.sections = [{
+  name: 'vitis_users_users_details',
+  label: 'FORM_GENERAL_SECTION_CONFIGURATION',
+  route: 'details',
+  type: 'simpleform',
+  privilege: 'vitis_admin',
+  options: vitisUsersMode.objects[0].options,
+}, vmapUsersSection];
+
+
 export const appStruct: AppConfig = {
   'translate': [vitisTranslateConfig, vmapTranslateConfig],
   'name': 'vMap',
@@ -43,15 +60,16 @@ export const appStruct: AppConfig = {
     'label': 'TITLE_MODE_VMAP_ADMIN',
     'privilege': 'vmap_admin'
   },
-  vmapAdminDatasourceObject,
-  vmapMapsLayersMode,
-  vmapSymbolsFontsMode,
+    vmapAdminDatasourceObject,
+    vmapMapsLayersMode,
+    vmapSymbolsFontsMode,
+    vmapFluxMode,
   {
     'type': 'separator',
     'label': 'Administration des impressions',
     'privilege': 'vitis_admin'
   },
-  vmapMapPrintingsMode,
+    vmapMapPrintingsMode,
   {
     'type': 'separator',
     'label': 'TITLE_MODE_VMAP_ADMINISTRATION',
@@ -69,7 +87,8 @@ export const appStruct: AppConfig = {
       vitisConfigVitisObject,
       vmapConfigVmapObject,
       vitisConfigEmailTemplatesObject,
-      vitisConfigInterfaceObject]
+      vitisConfigInterfaceObject,
+      vitisConfigCustomTranslationsObject]
   }, {
     'name': 'vitis_api',
     'label': 'TITLE_MODE_CONFIGURATION_API',
diff --git a/modeles_impression/A0_paysage.html b/modeles_impression/A0_paysage.html
new file mode 100644
index 0000000000000000000000000000000000000000..e661f0623ce9fcc87558543571b1d328f6beb462
--- /dev/null
+++ b/modeles_impression/A0_paysage.html
@@ -0,0 +1,344 @@
+<style>
+	@page {
+		size: 118.9cm 84cm;
+		margin: 0px;
+	}
+
+	#A0_print_template {
+		position: absolute;
+		width: 118.9cm;
+		height: 84cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 118.2cm;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: 37.5cm;
+		float: left;
+
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 112.9cm;
+		height: 80.1cm;
+		float: left;
+	}
+
+	.a0_paysage_titre {
+		font-size: 0.80cm;
+		font-weight: bold;
+	}
+
+	.a0_paysage_ss_titre {
+		font-size: 0.55cm;
+		font-weight: bold;
+	}
+
+	.a0_paysage_titre,
+	.a0_paysage_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a0_paysage_comment {
+		width: auto;
+		height: 26.6cm;
+		padding: 0.12cm;
+		font-size: 0.50cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a0_paysage_legend {
+		width: auto;
+		font-size: 0.50cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 112.9cm;
+		height: 79.6cm;
+	}
+
+	.a0_paysage_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.55cm;
+		top: 81.1cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_paysage_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 12.55cm;
+		top: 81.1cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_paysage_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 13.8cm;
+		top: 81.1cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_paysage_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 12cm;
+		top: 81.6cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a0_paysage_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: 116.9cm;
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		margin-top: 0.5cm;
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.45cm;
+		border: 1px solid black;
+		position: absolute;
+		left: 1.5cm;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.45cm;
+		border: 1px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.50cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: 44.96cm;
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: 82.6cm;
+		margin-left: 11.4cm;
+		width: 106.8cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.pied_de_page_gauche {
+		top: 82.6cm;
+		width: 1cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		height: 100%;
+		width: 7cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.50cm;
+		border: 0px solid red;
+	}
+
+	.a0_paysage_source {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.50cm;
+		color: #333 !important;
+		height: 100%;
+		width: 93.2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a0_paysage_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.50cm;
+		height: 100%;
+		width: 3.5cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a0_paysage_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A0_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A0_print_template">
+	<div class="entete">
+		<div class="a0_paysage_titre">
+			{{title}}
+		</div>
+		<div class="a0_paysage_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a0_paysage_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a0_paysage_comment">
+			{{comment}}
+		</div>
+		<div class="a0_paysage_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a0_paysage_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a0_paysage_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a0_paysage_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a0_paysage_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page_gauche"></div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a0_paysage_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a0_paysage_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a0_paysage_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a0_paysage_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A0_portrait.html b/modeles_impression/A0_portrait.html
new file mode 100644
index 0000000000000000000000000000000000000000..a086f1ed9199c2fdcee01d92522c75c9a5572215
--- /dev/null
+++ b/modeles_impression/A0_portrait.html
@@ -0,0 +1,327 @@
+<style>
+	@page {
+		size: 84.1cm 118.85cm;
+		margin: 0px;
+	}
+
+	#A0_print_template {
+		position: absolute;
+		width: 84.1cm;
+		height: 118.85cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: Calc(100% - 5.33cm);
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.a0_portrait_titre {
+		font-size: 0.80cm;
+		font-weight: bold;
+	}
+
+	.a0_portrait_ss_titre {
+		font-size: 0.49cm;
+		font-weight: bold;
+	}
+
+	.a0_portrait_titre,
+	.a0_portrait_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a0_portrait_comment {
+		width: auto;
+		height: 24cm;
+		padding: 0.12cm;
+		font-size: 0.50cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a0_portrait_legend {
+		width: auto;
+		height: 86.5cm;
+		font-size: 0.50cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 100%;
+		height: 100%;
+	}
+
+	.a0_portrait_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_portrait_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 12.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_portrait_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 13.8cm;
+		top: Calc(100% - 5.2cm);
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a0_portrait_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 12cm;
+		top: Calc(100% - 4.7cm);
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a0_portrait_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: Calc(100% - 1.8cm);
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		z-index: 999;
+		top: Calc(100% - 10.6cm);
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		position: absolute;
+		left: 1.5cm;
+		outline: 0.2cm solid white;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		border: 2px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.33cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: Calc(100% - 1.1cm);
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: Calc(100% - 3.4cm - 0.33cm);
+		width: Calc(100% - 0.66cm);
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+		line-height: 0.7cm;
+		padding: 1cm 0;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a0_portrait_source {
+		clear: both;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		width: Calc(100% - 6.5cm);
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a0_portrait_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		width: 3.5cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a0_portrait_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		width: 2cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A0_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A0_print_template">
+	<div class="entete">
+		<div class="a0_portrait_titre">
+			{{title}}
+		</div>
+		<div class="a0_portrait_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a0_portrait_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a0_portrait_comment">
+			{{comment}}
+		</div>
+		<div class="a0_portrait_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a0_portrait_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a0_portrait_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a0_portrait_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a0_portrait_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a0_portrait_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a0_portrait_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a0_portrait_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a0_portrait_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A1_paysage.html b/modeles_impression/A1_paysage.html
new file mode 100644
index 0000000000000000000000000000000000000000..4beaf68a63317b233a005b0c03c06304f77600f1
--- /dev/null
+++ b/modeles_impression/A1_paysage.html
@@ -0,0 +1,342 @@
+<style>
+	@page {
+		size: 84.1cm 59.4cm;
+		margin: 0px;
+	}
+
+	#A1_print_template {
+		position: absolute;
+		width: 84.1cm;
+		height: 59.4cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 83.4cm;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: 54.9cm;
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 78.1cm;
+		height: 55.4cm;
+		float: left;
+	}
+
+	.a1_paysage_titre {
+		font-size: 0.90cm;
+		font-weight: bold;
+	}
+
+	.a1_paysage_ss_titre {
+		font-size: 0.55cm;
+		font-weight: bold;
+	}
+
+	.a1_paysage_titre,
+	.a1_paysage_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a1_paysage_comment {
+		width: auto;
+		height: 13.92cm;
+		padding: 0.12cm;
+		font-size: 0.50cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a1_paysage_legend {
+		width: auto;
+		font-size: 0.50cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 78.1cm;
+		height: 54.9cm;
+	}
+
+	.a1_paysage_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.55cm;
+		top: 56.4cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_paysage_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 12.55cm;
+		top: 56.4cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_paysage_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 13.8cm;
+		top: 56.4cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_paysage_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 12cm;
+		top: 56.9cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a1_paysage_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: 82.1cm;
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		margin-top: 0.5cm;
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		border: 1px solid black;
+		position: absolute;
+		left: 1.5cm;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		border: 1px solid black;
+	}
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.50cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: 32.96cm;
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: 57.9cm;
+		margin-left: 11.4cm;
+		width: 72cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.pied_de_page_gauche {
+		top: 57.9cm;
+		width: 1cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		height: 100%;
+		width: 7cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a1_paysage_source {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.50cm;
+		color: #333 !important;
+		height: 100%;
+		width: 58.4cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a1_paysage_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.35cm;
+		height: 100%;
+		width: 3.5cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a1_paysage_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A1_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A1_print_template">
+	<div class="entete">
+		<div class="a1_paysage_titre">
+			{{title}}
+		</div>
+		<div class="a1_paysage_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a1_paysage_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a1_paysage_comment">
+			{{comment}}
+		</div>
+		<div class="a1_paysage_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a1_paysage_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a1_paysage_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a1_paysage_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a1_paysage_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page_gauche"></div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a1_paysage_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a1_paysage_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a1_paysage_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a1_paysage_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A1_portrait.html b/modeles_impression/A1_portrait.html
new file mode 100644
index 0000000000000000000000000000000000000000..1bf496771681c416378a93d0d257a81f6609d2a2
--- /dev/null
+++ b/modeles_impression/A1_portrait.html
@@ -0,0 +1,327 @@
+<style>
+	@page {
+		size: 59.4cm 84cm;
+		margin: 0px;
+	}
+
+	#A1_print_template {
+		position: absolute;
+		width: 59.4cm;
+		height: 84cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: Calc(100% - 5.33cm);
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.a1_portrait_titre {
+		font-size: 0.80cm;
+		font-weight: bold;
+	}
+
+	.a1_portrait_ss_titre {
+		font-size: 0.55cm;
+		font-weight: bold;
+	}
+
+	.a1_portrait_titre,
+	.a1_portrait_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a1_portrait_comment {
+		width: auto;
+		height: 16.2cm;
+		padding: 0.12cm;
+		font-size: 0.40cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a1_portrait_legend {
+		width: auto;
+		height: 59.2cm;
+		font-size: 0.50cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 100%;
+		height: 100%;
+	}
+
+	.a1_portrait_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_portrait_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 12.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_portrait_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 13.8cm;
+		top: Calc(100% - 5.2cm);
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a1_portrait_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 12cm;
+		top: Calc(100% - 4.7cm);
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a1_portrait_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: Calc(100% - 1.8cm);
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		z-index: 999;
+		top: Calc(100% - 10.6cm);
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		position: absolute;
+		left: 1.5cm;
+		outline: 0.2cm solid white;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 10cm;
+		height: 7.5cm;
+		border: 2px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.50cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: Calc(100% - 1.1cm);
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: Calc(100% - 3.4cm - 0.33cm);
+		width: Calc(100% - 0.66cm);
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+		line-height: 0.7cm;
+		padding: 1cm 0;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a1_portrait_source {
+		clear: both;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		width: Calc(100% - 6.5cm);
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a1_portrait_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		width: 3.5cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a1_portrait_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		width: 2cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A1_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A1_print_template">
+	<div class="entete">
+		<div class="a1_portrait_titre">
+			{{title}}
+		</div>
+		<div class="a1_portrait_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a1_portrait_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a1_portrait_comment">
+			{{comment}}
+		</div>
+		<div class="a1_portrait_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a1_portrait_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a1_portrait_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a1_portrait_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a1_portrait_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a1_portrait_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a1_portrait_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a1_portrait_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a1_portrait_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A2_paysage.html b/modeles_impression/A2_paysage.html
new file mode 100644
index 0000000000000000000000000000000000000000..6a6bee7e0286c19352fb68e4060ff83113a6c7cd
--- /dev/null
+++ b/modeles_impression/A2_paysage.html
@@ -0,0 +1,343 @@
+<style>
+	@page {
+		size: 59.4cm 42cm;
+		margin: 0px;
+	}
+
+	#A2_print_template {
+		position: absolute;
+		width: 59.4cm;
+		height: 42cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 58.7cm;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: 37.5cm;
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 53.4cm;
+		height: 38cm;
+		float: left;
+	}
+
+	.a2_paysage_titre {
+		font-size: 0.80cm;
+		font-weight: bold;
+	}
+
+	.a2_paysage_ss_titre {
+		font-size: 0.45cm;
+		font-weight: bold;
+	}
+
+	.a2_paysage_titre,
+	.a2_paysage_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a2_paysage_comment {
+		width: auto;
+		height: 4.8cm;
+		padding: 0.12cm;
+		font-size: 0.40cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a2_paysage_legend {
+		width: auto;
+		font-size: 0.40cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 53.4cm;
+		height: 37.5cm;
+	}
+
+	.a2_paysage_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 9.05cm;
+		top: 39cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_paysage_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 10.05cm;
+		top: 39cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_paysage_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.3cm;
+		top: 39cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_paysage_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 9.5cm;
+		top: 39.5cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a2_paysage_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: 57.4cm;
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		margin-top: 0.5cm;
+		background-color: #D8D8D8 !important;
+		width: 7.55cm;
+		height: 6cm;
+		border: 1px solid black;
+		position: absolute;
+		left: 1.5cm;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 7.55cm;
+		height: 6cm;
+		border: 1px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.40cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: 26.5cm;
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: 40.5cm;
+		margin-left: 8.9cm;
+		width: 49.8cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.pied_de_page_gauche {
+		top: 40.5cm;
+		width: 1cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		height: 100%;
+		width: 7cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a2_paysage_source {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		height: 100%;
+		width: 36.2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a2_paysage_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		height: 100%;
+		width: 3.5cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a2_paysage_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A2_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A2_print_template">
+	<div class="entete">
+		<div class="a2_paysage_titre">
+			{{title}}
+		</div>
+		<div class="a2_paysage_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a2_paysage_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a2_paysage_comment">
+			{{comment}}
+		</div>
+		<div class="a2_paysage_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a2_paysage_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a2_paysage_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a2_paysage_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a2_paysage_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page_gauche"></div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a2_paysage_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a2_paysage_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a2_paysage_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a2_paysage_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A2_portrait.html b/modeles_impression/A2_portrait.html
new file mode 100644
index 0000000000000000000000000000000000000000..cca08ca0ebd85b68ddeadc2c80241f4238d067ae
--- /dev/null
+++ b/modeles_impression/A2_portrait.html
@@ -0,0 +1,327 @@
+<style>
+	@page {
+		size: 42cm 59.4cm;
+		margin: 0px;
+	}
+
+	#A2_print_template {
+		position: absolute;
+		width: 42cm;
+		height: 59.4cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: Calc(100% - 5.33cm);
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.a2_portrait_titre {
+		font-size: 0.70cm;
+		font-weight: bold;
+	}
+
+	.a2_portrait_ss_titre {
+		font-size: 0.48cm;
+		font-weight: bold;
+	}
+
+	.a2_portrait_titre,
+	.a2_portrait_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a2_portrait_comment {
+		width: auto;
+		height: 8cm;
+		padding: 0.12cm;
+		font-size: 0.50cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a2_portrait_legend {
+		width: auto;
+		height: 43cm;
+		font-size: 0.50cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 100%;
+		height: 100%;
+	}
+
+	.a2_portrait_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 9.05cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_portrait_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 10.05cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_portrait_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 11.3cm;
+		top: Calc(100% - 5.2cm);
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a2_portrait_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 9.5cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		top: Calc(100% - 4.7cm);
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a2_portrait_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: Calc(100% - 1.8cm);
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		z-index: 999;
+		top: 50cm;
+		background-color: #D8D8D8 !important;
+		width: 7.5cm;
+		height: 6cm;
+		position: absolute;
+		left: 1.5cm;
+		outline: 0.2cm solid white;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 7.5cm;
+		height: 6cm;
+		border: 2px solid black !important;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.50cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: Calc(100% - 1.1cm);
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: Calc(100% - 3.4cm - 0.33cm);
+		width: Calc(100% - 0.66cm);
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+		line-height: 0.7cm;
+		padding: 1cm 0;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a2_portrait_source {
+		clear: both;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		width: Calc(100% - 6.5cm);
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a2_portrait_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		width: 3cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a2_portrait_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.30cm;
+		width: 2cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A2_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A2_print_template">
+	<div class="entete">
+		<div class="a2_portrait_titre">
+			{{title}}
+		</div>
+		<div class="a2_portrait_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a2_portrait_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a2_portrait_comment">
+			{{comment}}
+		</div>
+		<div class="a2_portrait_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a2_portrait_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a2_portrait_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a2_portrait_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a2_portrait_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a2_portrait_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a2_portrait_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a2_portrait_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a2_portrait_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A3_paysage.html b/modeles_impression/A3_paysage.html
new file mode 100644
index 0000000000000000000000000000000000000000..2d56ab94c5746a0384b5cc9bef0e18d10d97530d
--- /dev/null
+++ b/modeles_impression/A3_paysage.html
@@ -0,0 +1,344 @@
+<style>
+	@page {
+		size: 42cm 29.6cm;
+		margin: 0px;
+	}
+
+	#A3_print_template {
+		position: absolute;
+		width: 42cm;
+		height: 29.6cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 41.3cm;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: 25.2cm;
+		float: left;
+
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 36cm;
+		height: 25.7cm;
+		float: left;
+	}
+
+	.a3_paysage_titre {
+		font-size: 0.60cm;
+		font-weight: bold;
+	}
+
+	.a3_paysage_ss_titre {
+		font-size: 0.50cm;
+		font-weight: bold;
+	}
+
+	.a3_paysage_titre,
+	.a3_paysage_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a3_paysage_comment {
+		width: auto;
+		height: 5.2cm;
+		padding: 0.12cm;
+		font-size: 0.40cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a3_paysage_legend {
+		width: auto;
+		font-size: 0.40cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 36cm;
+		height: 25.2cm;
+	}
+
+	.a3_paysage_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 6.55cm;
+		top: 26.7cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_paysage_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 7.55cm;
+		top: 26.7cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_paysage_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 8.8cm;
+		top: 26.7cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_paysage_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 7cm;
+		top: 27.2cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a3_paysage_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: 40cm;
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		margin-top: 0.5cm;
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 4cm;
+		border: 1px solid black;
+		position: absolute;
+		left: 1.5cm;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 4cm;
+		border: 1px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.40cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: 15.75cm;
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: 28.2cm;
+		margin-left: 6.4cm;
+		width: 34.9cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.pied_de_page_gauche {
+		top: 28.2cm;
+		width: 1cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		height: 100%;
+		width: 7cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.29cm;
+		border: 0px solid red;
+	}
+
+	.a3_paysage_source {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		height: 100%;
+		width: 21.3cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a3_paysage_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		height: 100%;
+		width: 3.5cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a3_paysage_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 2cm;
+		line-height: 1cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A3_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A3_print_template">
+	<div class="entete">
+		<div class="a3_paysage_titre">
+			{{title}}
+		</div>
+		<div class="a3_paysage_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a3_paysage_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a3_paysage_comment">
+			{{comment}}
+		</div>
+		<div class="a3_paysage_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a3_paysage_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a3_paysage_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a3_paysage_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a3_paysage_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page_gauche"></div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a3_paysage_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a3_paysage_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a3_paysage_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a3_paysage_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A3_portrait.html b/modeles_impression/A3_portrait.html
new file mode 100644
index 0000000000000000000000000000000000000000..874cb25716d66c7ed6c26ca2bdbdd6ab402a4b74
--- /dev/null
+++ b/modeles_impression/A3_portrait.html
@@ -0,0 +1,328 @@
+<style>
+	@page {
+		size: A3 portrait;
+		margin: 0px;
+	}
+
+	#A3_print_template {
+		position: absolute;
+		width: 29.7cm;
+		height: 42cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: Calc(100% - 5.33cm);
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.a3_portrait_titre {
+		font-size: 0.68cm;
+		font-weight: bold;
+	}
+
+	.a3_portrait_ss_titre {
+		font-size: 0.43cm;
+		font-weight: bold;
+	}
+
+	.a3_portrait_titre,
+	.a3_portrait_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a3_portrait_comment {
+		width: auto;
+		height: 6.5cm;
+		padding: 0.12cm;
+		font-size: 0.40cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a3_portrait_legend {
+		width: auto;
+		height: 26.5cm;
+		font-size: 0.40cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 100%;
+		height: 100%;
+	}
+
+	.a3_portrait_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 6.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_portrait_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 7.55cm;
+		top: Calc(100% - 5.2cm);
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_portrait_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 8.8cm;
+		top: Calc(100% - 5.2cm);
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a3_portrait_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 7cm;
+		top: Calc(100% - 4.7cm);
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a3_portrait_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: Calc(100% - 1.8cm);
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		z-index: 999;
+		top: 35cm;
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 4cm;
+		position: absolute;
+		left: 1.5cm;
+		outline: 0.2cm solid white;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 4cm;
+		border: 2px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.40cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: Calc(100% - 1.1cm);
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: Calc(100% - 3.4cm - 0.33cm);
+		width: Calc(100% - 0.66cm);
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+		line-height: 0.7cm;
+		padding: 1cm 0;
+	}
+
+	.document_non_opposable {
+		float: left;
+		padding-left: 0.2cm;
+		/* centrage vertical */
+		color: black !important;
+		font-style: italic;
+		font-size: 0.40cm;
+		border: 0px solid red;
+	}
+
+	.a3_portrait_source {
+		clear: both;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		color: #333 !important;
+		width: Calc(100% - 6.5cm);
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a3_portrait_logo_echelle {
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.40cm;
+		width: 3.5cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a3_portrait_date {
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		width: 2cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A3_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A3_print_template">
+	<div class="entete">
+		<div class="a3_portrait_titre">
+			{{title}}
+		</div>
+		<div class="a3_portrait_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a3_portrait_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a3_portrait_comment">
+			{{comment}}
+		</div>
+		<div class="a3_portrait_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a3_portrait_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a3_portrait_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a3_portrait_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a3_portrait_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				DOCUMENT NON OPPOSABLE
+			</div>
+			<div class="a3_portrait_source">
+				Sources : {{layer_sources.join(', ')}}
+			</div>
+			<div class="a3_portrait_logo_echelle">Echelle : {{map_scale}}</div>
+			<div class="a3_portrait_date">
+				{{date}}
+			</div>
+		</div>
+		<div class="a3_portrait_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A4_paysage.html b/modeles_impression/A4_paysage.html
new file mode 100644
index 0000000000000000000000000000000000000000..e3e3170d479fcc2db419f7b22f07392a549ce18d
--- /dev/null
+++ b/modeles_impression/A4_paysage.html
@@ -0,0 +1,355 @@
+<style>
+	@page {
+		size: 29.7cm 20.7cm;
+		margin: 0px;
+	}
+
+	#A4_print_template {
+		position: absolute;
+		width: 29.7cm;
+		height: 20.7cm;
+		padding: 0.33cm;
+		border: 0px solid red;
+	}
+
+	.entete {
+		padding: 0;
+		width: 29cm;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 5cm;
+		height: 16.5cm;
+		float: left;
+
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 23.7cm;
+		height: 17cm;
+		float: left;
+	}
+
+	.a4_paysage_titre {
+		font-size: 0.58cm;
+		font-weight: bold;
+	}
+
+	.a4_paysage_ss_titre {
+		font-size: 0.33cm;
+		font-weight: bold;
+	}
+
+	.a4_paysage_titre,
+	.a4_paysage_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a4_paysage_comment {
+		width: auto;
+		height: 1.5cm;
+		padding: 0.12cm;
+		font-size: 0.29cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a4_paysage_legend {
+		width: auto;
+		font-size: 0.29cm;
+		border: 1px solid transparent;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 23.7cm;
+		height: 16.5cm;
+	}
+
+	.a4_paysage_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 6.55cm;
+		top: 18cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a4_paysage_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 7.55cm;
+		top: 18cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a4_paysage_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		/* centrage vertical */
+		position: absolute;
+		float: left;
+		left: 8.8cm;
+		top: 18cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+	}
+
+	.a4_paysage_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 7cm;
+		top: 18.5cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+	}
+
+	.a4_paysage_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1cm;
+		height: 1.2cm;
+		position: absolute;
+		float: left;
+		left: 27.7cm;
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		margin-top: 0.5cm;
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 3.75cm;
+		border: 1px solid black;
+		position: absolute;
+		left: 1.5cm;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 5cm;
+		height: 3.75cm;
+		border: 1px solid black;
+	}
+
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.33cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend {
+		height: 10.75cm;
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+	}
+
+	#map_legend>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		top: 19.5cm;
+		margin-left: 6.4cm;
+		width: 22.6cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.pied_de_page_gauche {
+		top: 19.5cm;
+		width: 1cm;
+		height: 1cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+	}
+
+	.document_non_opposable {
+		display: table;
+		float: left;
+		padding-left: 0.2cm;
+		height: 100%;
+		width: 7cm;
+		/* centrage vertical */
+		font-style: italic;
+		font-size: 0.29cm;
+		border: 0px solid red;
+	}
+
+	.a4_paysage_source {
+		display: table;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.29cm;
+		color: #333 !important;
+		height: 100%;
+		width: 9cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a4_paysage_source>span,
+	.document_non_opposable>span,
+	.a4_paysage_logo_echelle>span,
+	.a4_paysage_date>span {
+		display: table-cell;
+		vertical-align: middle;
+	}
+
+	.document_non_opposable>span {
+		color: black !important;
+	}
+
+	.a4_paysage_logo_echelle {
+		display: table;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 3.5cm;
+		/* centrage vertical */
+		border: 0px solid blue;
+	}
+
+	.a4_paysage_date {
+		display: table;
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.29cm;
+		height: 100%;
+		width: 2cm;
+		/* centrage vertical */
+		text-align: right;
+		color: #333 !important;
+		border: 0px solid blue;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A4_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A4_print_template">
+	<div class="entete">
+		<div class="a4_paysage_titre">
+			{{title}}
+		</div>
+		<div class="a4_paysage_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a4_paysage_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a4_paysage_comment">
+			{{comment}}
+		</div>
+		<div class="a4_paysage_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend">
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+		</div>
+		<div class="colonne_droite">
+			<img id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+			<div class="a4_paysage_logo_echelle_graphique_valeur_gauche">0</div>
+			<div class="a4_paysage_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+			<div class="a4_paysage_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+			<div class="a4_paysage_logo_echelle_graphique"></div>
+		</div>
+		<div class="pied_de_page_gauche"></div>
+		<div class="pied_de_page">
+			<div class="document_non_opposable">
+				<span>DOCUMENT NON OPPOSABLE</span>
+			</div>
+			<div class="a4_paysage_source">
+				<span>Sources : {{layer_sources.join(', ')}}</span>
+			</div>
+			<div class="a4_paysage_logo_echelle"><span>Echelle : {{map_scale}}</span></div>
+			<div class="a4_paysage_date">
+				<span>{{date}}</span>
+			</div>
+		</div>
+		<div class="a4_paysage_logo_fleche_nord"></div>
+	</div>
\ No newline at end of file
diff --git a/modeles_impression/A4_portrait.html b/modeles_impression/A4_portrait.html
new file mode 100644
index 0000000000000000000000000000000000000000..83646b37edd8514091ff4aa6ee6e8550a4d27e75
--- /dev/null
+++ b/modeles_impression/A4_portrait.html
@@ -0,0 +1,367 @@
+<style>
+	@page {
+		size: A4 portrait;
+		margin: 15px 10px 5px 15px;
+	}
+
+	#A4_print_template {
+		position: absolute;
+		width: 100%;
+		height: 100%;
+	}
+
+	.entete {
+		margin-left: -0.2cm;
+		margin-top: -0.5cm;
+		margin-right: -0.3cm;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+	}
+
+	.colonne_gauche {
+		margin-top: 0.33cm;
+		margin-right: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: 4.5cm;
+		height: 100%;
+		float: left;
+	}
+
+	.colonne_droite {
+		margin-top: 0.33cm;
+		margin-bottom: 0.33cm;
+		width: Calc(100% - 5.33cm);
+		height: Calc(100% - 6cm);
+		float: left;
+	}
+
+	.a4_portrait_titre {
+		font-size: 0.62cm;
+		font-weight: bold;
+	}
+
+	.a4_portrait_ss_titre {
+		font-size: 0.38cm;
+		font-weight: bold;
+	}
+
+	.a4_portrait_titre,
+	.a4_portrait_ss_titre {
+		text-align: center;
+		padding-top: 0.2cm;
+	}
+
+	.a4_portrait_comment {
+		width: auto;
+		height: 4cm;
+		padding: 0.12cm;
+		font-size: 0.35cm;
+		margin-bottom: 0.4cm;
+		border: 1px solid transparent;
+		background-color: #FFFFFF !important;
+		color: #333 !important;
+	}
+
+	.a4_portrait_legend {
+		width: auto;
+		height: 17cm;
+		font-size: 0.29cm;
+		border: 1px solid transparent;
+		font-weight: bold;
+	}
+
+	#map_image {
+		background-color: #D8D8D8 !important;
+		width: 15.25cm;
+		height: 25cm;
+		border: 1px solid black !important;
+	}
+
+	.map_image_compare_mode {
+        background-color: #D8D8D8 !important;
+        height: 12.5cm;
+        width: 15.25cm;
+        border: 1px solid black !important;
+    }
+
+	.a4_portrait_logo_echelle_graphique_valeur_gauche {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		position: absolute;
+		float: left;
+		left: 6.05cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+		bottom: 2.7cm;
+	}
+
+	.a4_portrait_logo_echelle_graphique_valeur_centre {
+		height: 0.4cm;
+		width: 1cm;
+		line-height: 0.4cm;
+		position: absolute;
+		float: left;
+		left: 7.05cm;
+		text-align: center;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+		bottom: 2.7cm;
+	}
+
+	.a4_portrait_logo_echelle_graphique_valeur_droite {
+		height: 0.4cm;
+		width: 2cm;
+		line-height: 0.4cm;
+		position: absolute;
+		float: left;
+		left: 8.1cm;
+		text-align: left;
+		padding-left: 0.2cm;
+		color: black;
+		font-size: 0.21cm;
+		border: 0px solid grey;
+		bottom: 2.7cm;
+	}
+
+	.a4_portrait_logo_echelle_graphique {
+		height: 0.25cm;
+		width: 2.08cm;
+		position: absolute;
+		float: left;
+		left: 6.5cm;
+		background-image: url(' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADsAAAAHCAMAAACBQ8VXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMw9IgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4xLjVkR1hSAAAAG0lEQVQoU2P4z/AfN8AvN+B6yaAGUC+ZgOE/AJK1PtD2keu/AAAAAElFTkSuQmCC') !important;
+		background-size: 100% 100% !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+		border: 0px solid grey;
+		bottom: 2.5cm;
+	}
+
+	.a4_portrait_logo_fleche_nord {
+		margin-top: 0.5cm;
+		width: 1.2cm;
+		height: 1.4cm;
+		position: absolute;
+		float: left;
+		left: Calc(100% - 1.8cm);
+		top: 2.68cm;
+		background-image: url(" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOIAAAF0CAMAAAAJhhUPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE276wAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjE51NayZAAADbRJREFUeF7tnel62zoMRJ0uabrcNu//srmRMJQpiSQAEqBNfpofdSxqOx4n5nFi9fYxfS7EGXIhzpALcYZciDPkQpwhF+IMcUC8HYLF5bxh5SVYZJUOiN+wvJixEW+/MFDK4IhfMFDK4IiSGkdHFNQ4OuLtDUP5DI/4gqF8hkfkaxwfka1xfMTbDwzmMgEid5wZEF8xmskMiMyBhkV8we2S7xhOZ1jEty/4YgmG0xkX8Re+WFKUqnERP6Q1DoworXFgxI9v+HJJQapGRozvFqRqaERZjUMjymocG/E77ixZF6QyNmK8ICtVgyO+4t6SXI2DI0pqHB3xB+4uybjx6IgfsXFg0SHDI8YAaTceHpGvcXzEmCA5Gx8fkZWqCRA5qZoAkatxBsS4xq9YFmUGREaqpkCMl5+lag7EYo1zIBZrnASx5MaTIMYjR6maBbHgxrMgFmqcBjEG2UvVNIh5qZoHMVvjPIjZGidC/ImRJbFUTYSYk6qZEDNuPBNipsapEH9jbMndjadCTEvVXIjxCptUTYaYqnEyxFSNsyEmpGo2xHgVSNV0iOcap0M81zgfYky0StV8iCepmhDxWOOEiMcaZ0Q8uPGMiAepmhJx78ZTIu5rnBMxduMvcyLupIr5U4CWPBIxXjMORq3yUMS4xigYtcpDETM1YtAqj0WMpeoeDFrlsYjpGjFmlQcjJmvEmFUejLibjYdgyCqPRoxf8kMwZJVHI6ZqxIhVHo6YqBEjVnk4YqJGDFjl8YixVFEwYJXHI+6kag2WW+UJEE81YrlVHBDf7sESJlh5CxZbxQHx2XIhzpALcYZciDPkQpwhF+IM6Y6Y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") !important;
+		background-size: 0.6cm !important;
+		background-position: center center !important;
+		background-repeat: no-repeat !important;
+	}
+
+	.map_overview {
+		z-index: 999;
+		bottom: 2.2cm;
+		background-color: #D8D8D8 !important;
+		width: 4.5cm;
+		height: 3.5cm;
+		position: absolute;
+		left: 1.5cm;
+		outline: 0.2cm solid white;
+	}
+
+	#map_overview {
+		background-color: #D8D8D8 !important;
+		width: 4.5cm;
+		height: 3.5cm;
+		border: 2px solid black !important;
+	}
+
+	.legend_txt {
+		text-align: left;
+		height: auto;
+		padding: 0.12cm;
+		line-height: 0.6cm;
+		font-size: 0.5cm;
+		width: auto;
+		color: #222385 !important;
+		background-color: #F2F2F2 !important;
+	}
+
+	.infos_column {
+		height: 100%;
+		border: 0px solid black;
+	}
+
+	#map_legend,
+	#map_legend_compare {
+		padding: 0.12cm;
+		-webkit-column-width: 125px !important;
+		-moz-column-width: 125px !important;
+		column-width: 125px !important;
+		width: auto !important;
+		background-color: #FFFFFF !important;
+		margin-bottom: 1cm;
+	}
+
+	#map_legend>div,
+	#map_legend_compare>div {
+		width: 100%;
+	}
+
+	.legend-img {
+		max-width: 200px;
+	}
+
+	.pied_de_page {
+		bottom: 0cm;
+		width: 100%;
+		height: 2cm;
+		border: 0px solid black;
+		background-color: #D3D3D3 !important;
+		position: absolute;
+		padding: 0.3cm 0.2cm;
+	}
+
+	.document_non_opposable {
+		display: table;
+		float: left;
+		padding-left: 0.2cm;
+		font-style: italic;
+		font-size: 0.35cm;
+		line-height: 1.8rem;
+	}
+
+	.a4_portrait_source {
+		display: table;
+		clear: both;
+		float: left;
+		padding-left: 0.2cm;
+		font-size: 0.35cm;
+		color: #333 !important;
+		width: Calc(100% - 6.5cm);
+		line-height: 1.8rem;
+	}
+
+	.a4_portrait_logo_echelle {
+		display: table;
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.35cm;
+		width: 4cm;
+		text-align: right;
+		line-height: 1.8rem;
+	}
+
+	.a4_portrait_date {
+		display: table;
+		float: right;
+		padding-right: 0.2cm;
+		font-size: 0.35cm;
+		width: 4cm;
+		text-align: right;
+		line-height: 1.8rem;
+	}
+
+	.a4_portrait_source>span,
+	.a4_portrait_logo_echelle>span,
+	.a4_portrait_date>span,
+	.document_non_opposable>span {
+		display: table-cell;
+		vertical-align: middle;
+	}
+
+	.document_non_opposable>span {
+		color: black !important;
+	}
+</style>
+
+<script>
+	var $scope = angular.element("#A4_print_template").scope();
+	$scope["map_scale_dynamique"] = [0, 0];
+	// Surveillance de la variable map_scale présente dans le scope
+	$scope.$watch("map_scale", function (newval) {
+		if (typeof (newval) == 'string') {
+			var sMapScale = newval.split(':');
+			sMapScaleInteger = sMapScale[1].split(',');
+			if (sMapScaleInteger.length > 1) {
+				// Pour les échelles qui comprennent une virgule de type : 1:2,250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0] + sMapScaleInteger[1];
+			} else {
+				// Pour les échelles qui comprennent pas de virgule de type : 1:2250
+				var sMapScale1cmEnCentimetre = sMapScaleInteger[0];
+			}
+			var iMapScale1cmEnMetre = sMapScale1cmEnCentimetre / 100;
+			var sMapScale2cmEnMetre = sMapScale1cmEnCentimetre * 2 / 100 + ' Mètres';
+			$scope["map_scale_dynamique"] = [iMapScale1cmEnMetre, sMapScale2cmEnMetre];
+		}
+	});
+</script>
+<div id="A4_print_template">
+	<div class="entete">
+		<div class="a4_portrait_titre">
+			{{title}}
+		</div>
+		<div class="a4_portrait_ss_titre">
+			{{subtitle}}
+		</div>
+		<div class="a4_portrait_logo_coin_haut_droit"></div>
+	</div>
+	<div class="colonne_gauche">
+		<div class="a4_portrait_comment">
+			{{comment}}
+		</div>
+		<div class="a4_portrait_legend">
+			<div class="legend_txt">
+				Légende
+			</div>
+			<!--Pour afficher la légende, utiliser id="map_legend"-->
+			<div id="map_legend" ng-if="map_legend">
+				<div ng-repeat="legendLayer in map_legend">
+					<div ng-repeat="legend in legendLayer.legendObjects" class="legend_object">
+						<div class="legend_layer_name">{{ legend.legendName || legend.layerName }}</div>
+						<img ng-src="{{ legend.legendURL }}" class="legend_image" />
+					</div>
+				</div>
+			</div>
+
+			<div class="legend_txt" ng-if="map_legend_compare">
+				Légende comparaison
+			</div>
+			<div id="map_legend_compare" ng-if="map_legend_compare">
+				<div ng-repeat="legendLayer in map_legend_compare">
+					<div ng-repeat="legend in legendLayer.legendObjects" class="legend_object">
+						<div class="legend_layer_name">{{ legend.legendName || legend.layerName }}</div>
+						<img ng-src="{{ legend.legendURL }}" class="legend_image" />
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="map_overview">
+			<!-- Pour afficher l'overview utiliser id="map_overview-->
+			<img id="map_overview">
+		</div>
+	</div>
+	<div class="colonne_droite">
+		<img ng-if="!compare_mode" id="map_image" src="https://openclipart.org/image/2400px/svg_to_png/100207/north-arrow-2.png">
+		<img ng-if="compare_mode" id="map_image_compare_1" class="map_image_compare_mode" src="images/transparent.png">
+		<img ng-if="compare_mode" id="map_image_compare_2" class="map_image_compare_mode" src="images/transparent.png">
+		<div class="a4_portrait_logo_echelle_graphique_valeur_gauche">0</div>
+		<div class="a4_portrait_logo_echelle_graphique_valeur_centre">{{map_scale_dynamique[0]}}</div>
+		<div class="a4_portrait_logo_echelle_graphique_valeur_droite">{{map_scale_dynamique[1]}}</div>
+		<div class="a4_portrait_logo_echelle_graphique"></div>
+	</div>
+	<div class="pied_de_page">
+		<div class="document_non_opposable">
+			<span>DOCUMENT NON OPPOSABLE</span>
+		</div>
+		<div class="a4_portrait_logo_echelle">
+			<span>Echelle : {{map_scale}}</span>
+		</div>
+		<div class="a4_portrait_source">
+			<span>Sources : {{layer_sources.join(', ')}}</span>
+		</div>
+		<div class="a4_portrait_date">
+			<span>{{date_hour}}</span>
+		</div>
+	</div>
+	<div class="a4_portrait_logo_fleche_nord"></div>
+</div>
\ No newline at end of file
diff --git a/modeles_impression/Comparaison.html b/modeles_impression/Comparaison.html
new file mode 100644
index 0000000000000000000000000000000000000000..537bb489e3bd0f33d1b19900553ea4f0717c9dc0
--- /dev/null
+++ b/modeles_impression/Comparaison.html
@@ -0,0 +1,180 @@
+<style>
+    @page {
+        margin: 0px;
+    }
+
+    #A4_print_template {
+        width: 21cm;
+        font-family: arial;
+        position: absolute;
+    }
+
+    #map_overview {
+        background-color: #D8D8D8 !important;
+        height: 4cm;
+        width: 4cm;
+        border: 1px solid black;
+    }
+
+    .map_image {
+        background-color: #D8D8D8 !important;
+        height: 22cm;
+        width: 14cm;
+        border: 1px solid black;
+    }
+
+    .map_image_compare_mode {
+        background-color: #D8D8D8 !important;
+        height: 11cm;
+        width: 14cm;
+        border: 1px solid black;
+    }
+
+    .map_legend {
+        width: 3cm;
+        margin-top: 16px;
+    }
+
+    .map_legend_compare_mode {
+        width: 3cm;
+        margin-top: 16px;
+    }
+
+    .legend_object {
+        margin-bottom: 10px;
+    }
+
+    .color_blue {
+        color: #424A96 !important;
+    }
+
+    .logo {
+        height: 2cm;
+    }
+
+    .container {
+        position: absolute;
+    }
+
+    #header_container {
+        width: 18cm;
+        height: 2.5cm;
+        background-color: #D8D8D8 !important;
+    }
+
+    #footer_container {
+        width: 18cm;
+        height: 1cm;
+        background-color: #D8D8D8 !important;
+    }
+
+    .header_content {
+        margin-left: 10px;
+    }
+
+    .title {
+        display: block;
+        font-size: 24pt;
+        font-weight: bold;
+        margin-top: 0.8em;
+    }
+
+    .headline {
+        font-weight: bold;
+        font-size: 14pt;
+    }
+
+    .legend_headline {
+        font-weight: bold;
+        font-size: 14pt;
+        color: black;
+    }
+
+    .footer_text {
+        font-weight: bold;
+        font-size: 10pt;
+        margin: 0.3cm;
+    }
+</style>
+<div id="A4_print_template">
+
+    <div id="header_container" class="container" style="top: 1.2cm; left: 1.5cm;">
+        <div class="container" style="top: -0.5cm; left: 0cm;">
+            <div class="header_content title color_blue">{{ title }}</div>
+            <div class="header_content headline color_blue">{{ headline }}</div>
+            Echelle: {{map_scale}}
+        </div>
+        <div class="container" style="top: 0.2cm; right: 10px;">
+            <img class="logo"
+                src="data:image/png;base64,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">
+        </div>
+    </div>
+    <!-- Mode normal -->
+    <div ng-if="!compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
+        <label class="legend_headline">Légende</label>
+        <div id="map_legend" ng-if="map_legend">
+            <div ng-repeat="legendLayer in map_legend">
+                <div ng-repeat="legend in legendLayer.legendObjects" class="legend_object">
+                    <div class="legend_layer_name">{{ legend.legendName || legend.layerName }}</div>
+                    <img ng-src="{{ legend.legendURL }}" class="legend_image" />
+                </div>
+            </div>
+        </div>
+    </div>
+    <!-- Mode comparaison -->
+    <div ng-if="compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
+        <label class="legend_headline">Légende</label>
+        <div id="map_legend" ng-if="map_legend">
+            <div ng-repeat="legendLayer in map_legend">
+                <div ng-repeat="legend in legendLayer.legendObjects" class="legend_object">
+                    <div class="legend_layer_name">{{ legend.legendName || legend.layerName }}</div>
+                    <img ng-src="{{ legend.legendURL }}" class="legend_image" />
+                </div>
+            </div>
+        </div>
+        <div id="map_legend_compare" ng-if="map_legend_compare">
+            <div ng-repeat="legendLayer in map_legend_compare">
+                <div ng-repeat="legend in legendLayer.legendObjects" class="legend_object">
+                    <div class="legend_layer_name">{{ legend.legendName || legend.layerName }}</div>
+                    <img ng-src="{{ legend.legendURL }}" class="legend_image" />
+                </div>
+            </div>
+        </div>
+    </div>
+    <!-- Mode normal -->
+    <div ng-if="!compare_mode" class="container" style="top: 4cm; right: 1.1cm;">
+        <img id="map_image" class="map_image" src="images/transparent.png">
+    </div>
+    <!-- Mode comparaison -->
+    <div ng-if="compare_mode">
+        <div class="container" style="top: 4cm; right: 1.1cm;">
+            <img id="map_image_compare_1" class="map_image_compare_mode" src="images/transparent.png">
+        </div>
+        <div class="container" style="top: 15cm; right: 1.1cm;">
+            <img id="map_image_compare_2" class="map_image_compare_mode" src="images/transparent.png">
+        </div>
+    </div>
+
+    <div class="container" style="top: 24.5cm; left: 1.7cm; z-index: 9;">
+        <!-- Pour afficher l'overview utiliser id="map_overview-->
+        <img id="map_overview_">
+    </div>
+
+    <div class="container" style="top: 25.9cm; right: 1.5cm;">
+        <!-- Pour afficher l'échelle actuelle utiliser {{map_scale}}-->
+        <div class="footer_text">
+            <label class="color_blue"></label>
+            <label class="color_blue">Echelle: {{map_scale}}</label>
+        </div>
+    </div>
+
+
+    <div id="footer_container" class="container" style="top: 26.7cm; left: 1.5cm">
+        <div class="container" style="top: 0cm; left: 4.5cm;">
+            <div class="footer_text">
+                <label class="color_blue">Source(s):</label>
+                <label class="color_blue">{{layer_sources.join(', ')}}</label>
+            </div>
+        </div>
+    </div>
+</div>
\ No newline at end of file