diff --git a/README.md b/README.md
index 2cfba4c..7ae992b 100644
--- a/README.md
+++ b/README.md
@@ -3,4 +3,12 @@ Script de prétraitement d'un dossier du projet DORY
J'ai créer ce dépot et séparer du projet de script de post traitement
pour pouvoir avoir mes dossiers de tests isolés des autres scripts du projet
+NOTES :
+ - Git modifie la fin de ligne de certains fichiers. LF devient CRLF, en
+ particuler les QMD et QML. Pour le moment dans mes tests, ça ne pose
+ pas de problème, car je n'exécute pas QGIS. Je n'ai pas encore trouvé
+ comment désactiver cette option dans Git.
+
+
+
David.
diff --git a/TEST/sig/DPU.cpg b/TEST/sig/DPU.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/DPU.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/DPU.dbf b/TEST/sig/DPU.dbf
new file mode 100644
index 0000000..84c5ce6
Binary files /dev/null and b/TEST/sig/DPU.dbf differ
diff --git a/TEST/sig/DPU.prj b/TEST/sig/DPU.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/DPU.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/DPU.qmd b/TEST/sig/DPU.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/DPU.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/DPU.shp b/TEST/sig/DPU.shp
new file mode 100644
index 0000000..3630755
Binary files /dev/null and b/TEST/sig/DPU.shp differ
diff --git a/TEST/sig/DPU.shx b/TEST/sig/DPU.shx
new file mode 100644
index 0000000..40df964
Binary files /dev/null and b/TEST/sig/DPU.shx differ
diff --git a/TEST/sig/ER.cpg b/TEST/sig/ER.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/ER.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/ER.dbf b/TEST/sig/ER.dbf
new file mode 100644
index 0000000..c49edd0
Binary files /dev/null and b/TEST/sig/ER.dbf differ
diff --git a/TEST/sig/ER.prj b/TEST/sig/ER.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/ER.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/ER.qix b/TEST/sig/ER.qix
new file mode 100644
index 0000000..c34ad5c
Binary files /dev/null and b/TEST/sig/ER.qix differ
diff --git a/TEST/sig/ER.qmd b/TEST/sig/ER.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/ER.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/ER.shp b/TEST/sig/ER.shp
new file mode 100644
index 0000000..5a77209
Binary files /dev/null and b/TEST/sig/ER.shp differ
diff --git a/TEST/sig/ER.shx b/TEST/sig/ER.shx
new file mode 100644
index 0000000..898be10
Binary files /dev/null and b/TEST/sig/ER.shx differ
diff --git a/TEST/sig/PENAP.cpg b/TEST/sig/PENAP.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/PENAP.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/PENAP.dbf b/TEST/sig/PENAP.dbf
new file mode 100644
index 0000000..3392860
Binary files /dev/null and b/TEST/sig/PENAP.dbf differ
diff --git a/TEST/sig/PENAP.prj b/TEST/sig/PENAP.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/PENAP.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/PENAP.qix b/TEST/sig/PENAP.qix
new file mode 100644
index 0000000..537c90d
Binary files /dev/null and b/TEST/sig/PENAP.qix differ
diff --git a/TEST/sig/PENAP.qmd b/TEST/sig/PENAP.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/PENAP.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/PENAP.shp b/TEST/sig/PENAP.shp
new file mode 100644
index 0000000..f5162a7
Binary files /dev/null and b/TEST/sig/PENAP.shp differ
diff --git a/TEST/sig/PENAP.shx b/TEST/sig/PENAP.shx
new file mode 100644
index 0000000..1461f55
Binary files /dev/null and b/TEST/sig/PENAP.shx differ
diff --git a/TEST/sig/PPRI.cpg b/TEST/sig/PPRI.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/PPRI.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/PPRI.dbf b/TEST/sig/PPRI.dbf
new file mode 100644
index 0000000..e2de99d
Binary files /dev/null and b/TEST/sig/PPRI.dbf differ
diff --git a/TEST/sig/PPRI.prj b/TEST/sig/PPRI.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/PPRI.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/PPRI.qix b/TEST/sig/PPRI.qix
new file mode 100644
index 0000000..ee7176c
Binary files /dev/null and b/TEST/sig/PPRI.qix differ
diff --git a/TEST/sig/PPRI.qmd b/TEST/sig/PPRI.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/PPRI.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/PPRI.shp b/TEST/sig/PPRI.shp
new file mode 100644
index 0000000..899fb48
Binary files /dev/null and b/TEST/sig/PPRI.shp differ
diff --git a/TEST/sig/PPRI.shx b/TEST/sig/PPRI.shx
new file mode 100644
index 0000000..8101bd7
Binary files /dev/null and b/TEST/sig/PPRI.shx differ
diff --git a/TEST/sig/RIVERIE.gpkg b/TEST/sig/RIVERIE.gpkg
new file mode 100644
index 0000000..2311c51
Binary files /dev/null and b/TEST/sig/RIVERIE.gpkg differ
diff --git a/TEST/sig/ZONE U.cpg b/TEST/sig/ZONE U.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/ZONE U.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/ZONE U.dbf b/TEST/sig/ZONE U.dbf
new file mode 100644
index 0000000..6be0ffe
Binary files /dev/null and b/TEST/sig/ZONE U.dbf differ
diff --git a/TEST/sig/ZONE U.prj b/TEST/sig/ZONE U.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/ZONE U.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/ZONE U.qml b/TEST/sig/ZONE U.qml
new file mode 100644
index 0000000..326ebaa
--- /dev/null
+++ b/TEST/sig/ZONE U.qml
@@ -0,0 +1,605 @@
+
+
+
+ 1
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+ generatedlayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "LIBELLE"
+
+ 2
+
diff --git a/TEST/sig/ZONE U.shp b/TEST/sig/ZONE U.shp
new file mode 100644
index 0000000..28a28a5
Binary files /dev/null and b/TEST/sig/ZONE U.shp differ
diff --git a/TEST/sig/ZONE U.shx b/TEST/sig/ZONE U.shx
new file mode 100644
index 0000000..598d188
Binary files /dev/null and b/TEST/sig/ZONE U.shx differ
diff --git a/TEST/sig/Zone N.cpg b/TEST/sig/Zone N.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/Zone N.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/Zone N.dbf b/TEST/sig/Zone N.dbf
new file mode 100644
index 0000000..1b47d67
Binary files /dev/null and b/TEST/sig/Zone N.dbf differ
diff --git a/TEST/sig/Zone N.prj b/TEST/sig/Zone N.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/Zone N.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/Zone N.qix b/TEST/sig/Zone N.qix
new file mode 100644
index 0000000..83b9687
Binary files /dev/null and b/TEST/sig/Zone N.qix differ
diff --git a/TEST/sig/Zone N.qml b/TEST/sig/Zone N.qml
new file mode 100644
index 0000000..0e2b748
--- /dev/null
+++ b/TEST/sig/Zone N.qml
@@ -0,0 +1,704 @@
+
+
+
+ 1
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+ generatedlayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "LIBELLE"
+
+ 2
+
diff --git a/TEST/sig/Zone N.shp b/TEST/sig/Zone N.shp
new file mode 100644
index 0000000..c24eaae
Binary files /dev/null and b/TEST/sig/Zone N.shp differ
diff --git a/TEST/sig/Zone N.shx b/TEST/sig/Zone N.shx
new file mode 100644
index 0000000..4a1c981
Binary files /dev/null and b/TEST/sig/Zone N.shx differ
diff --git a/TEST/sig/cadastre/69166_batiment.cpg b/TEST/sig/cadastre/69166_batiment.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_batiment.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_batiment.dbf b/TEST/sig/cadastre/69166_batiment.dbf
new file mode 100644
index 0000000..2f4f4c1
Binary files /dev/null and b/TEST/sig/cadastre/69166_batiment.dbf differ
diff --git a/TEST/sig/cadastre/69166_batiment.prj b/TEST/sig/cadastre/69166_batiment.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/cadastre/69166_batiment.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_batiment.qmd b/TEST/sig/cadastre/69166_batiment.qmd
new file mode 100644
index 0000000..e21147c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_batiment.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/cadastre/69166_batiment.shp b/TEST/sig/cadastre/69166_batiment.shp
new file mode 100644
index 0000000..11352e2
Binary files /dev/null and b/TEST/sig/cadastre/69166_batiment.shp differ
diff --git a/TEST/sig/cadastre/69166_batiment.shx b/TEST/sig/cadastre/69166_batiment.shx
new file mode 100644
index 0000000..5df6239
Binary files /dev/null and b/TEST/sig/cadastre/69166_batiment.shx differ
diff --git a/TEST/sig/cadastre/69166_commune.cpg b/TEST/sig/cadastre/69166_commune.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_commune.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_commune.dbf b/TEST/sig/cadastre/69166_commune.dbf
new file mode 100644
index 0000000..2a92b84
Binary files /dev/null and b/TEST/sig/cadastre/69166_commune.dbf differ
diff --git a/TEST/sig/cadastre/69166_commune.prj b/TEST/sig/cadastre/69166_commune.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/cadastre/69166_commune.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_commune.qmd b/TEST/sig/cadastre/69166_commune.qmd
new file mode 100644
index 0000000..e21147c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_commune.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/cadastre/69166_commune.shp b/TEST/sig/cadastre/69166_commune.shp
new file mode 100644
index 0000000..a52042f
Binary files /dev/null and b/TEST/sig/cadastre/69166_commune.shp differ
diff --git a/TEST/sig/cadastre/69166_commune.shx b/TEST/sig/cadastre/69166_commune.shx
new file mode 100644
index 0000000..2b444ef
Binary files /dev/null and b/TEST/sig/cadastre/69166_commune.shx differ
diff --git a/TEST/sig/cadastre/69166_parcelles.cpg b/TEST/sig/cadastre/69166_parcelles.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_parcelles.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_parcelles.dbf b/TEST/sig/cadastre/69166_parcelles.dbf
new file mode 100644
index 0000000..238ce52
Binary files /dev/null and b/TEST/sig/cadastre/69166_parcelles.dbf differ
diff --git a/TEST/sig/cadastre/69166_parcelles.prj b/TEST/sig/cadastre/69166_parcelles.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/cadastre/69166_parcelles.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/cadastre/69166_parcelles.qmd b/TEST/sig/cadastre/69166_parcelles.qmd
new file mode 100644
index 0000000..e21147c
--- /dev/null
+++ b/TEST/sig/cadastre/69166_parcelles.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/cadastre/69166_parcelles.shp b/TEST/sig/cadastre/69166_parcelles.shp
new file mode 100644
index 0000000..bf3bf35
Binary files /dev/null and b/TEST/sig/cadastre/69166_parcelles.shp differ
diff --git a/TEST/sig/cadastre/69166_parcelles.shx b/TEST/sig/cadastre/69166_parcelles.shx
new file mode 100644
index 0000000..dd8ca94
Binary files /dev/null and b/TEST/sig/cadastre/69166_parcelles.shx differ
diff --git a/TEST/sig/emplacements réservés.cpg b/TEST/sig/emplacements réservés.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/emplacements réservés.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/emplacements réservés.dbf b/TEST/sig/emplacements réservés.dbf
new file mode 100644
index 0000000..6ce0807
Binary files /dev/null and b/TEST/sig/emplacements réservés.dbf differ
diff --git a/TEST/sig/emplacements réservés.prj b/TEST/sig/emplacements réservés.prj
new file mode 100644
index 0000000..f904335
--- /dev/null
+++ b/TEST/sig/emplacements réservés.prj
@@ -0,0 +1 @@
+PROJCS["RGF93_Lambert_93",GEOGCS["GCS_RGF93_geographiques_dms",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",44.0],PARAMETER["Standard_Parallel_2",49.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/emplacements réservés.qix b/TEST/sig/emplacements réservés.qix
new file mode 100644
index 0000000..3ba282f
Binary files /dev/null and b/TEST/sig/emplacements réservés.qix differ
diff --git a/TEST/sig/emplacements réservés.qmd b/TEST/sig/emplacements réservés.qmd
new file mode 100644
index 0000000..bb41605
--- /dev/null
+++ b/TEST/sig/emplacements réservés.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 Lambert 93",BASEGEOGCRS["RGF93 geographiques (dms)",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["IGNF","RGF93G"]],CONVERSION["LAMBERT-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["NATIONALE A CARACTERE LEGAL"],AREA["FRANCE METROPOLITAINE (CORSE COMPRISE)"],BBOX[41,-5.5,52,10]],ID["IGNF","LAMB93"]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=44 +lat_2=49 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 10089
+ 310024140
+ IGNF:LAMB93
+ RGF93 Lambert 93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/emplacements réservés.shp b/TEST/sig/emplacements réservés.shp
new file mode 100644
index 0000000..006da70
Binary files /dev/null and b/TEST/sig/emplacements réservés.shp differ
diff --git a/TEST/sig/emplacements réservés.shx b/TEST/sig/emplacements réservés.shx
new file mode 100644
index 0000000..89b3dff
Binary files /dev/null and b/TEST/sig/emplacements réservés.shx differ
diff --git a/TEST/sig/glissement.cpg b/TEST/sig/glissement.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/glissement.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/glissement.dbf b/TEST/sig/glissement.dbf
new file mode 100644
index 0000000..4bdf3c6
Binary files /dev/null and b/TEST/sig/glissement.dbf differ
diff --git a/TEST/sig/glissement.prj b/TEST/sig/glissement.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/glissement.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/glissement.qix b/TEST/sig/glissement.qix
new file mode 100644
index 0000000..df09abb
Binary files /dev/null and b/TEST/sig/glissement.qix differ
diff --git a/TEST/sig/glissement.qmd b/TEST/sig/glissement.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/glissement.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/glissement.shp b/TEST/sig/glissement.shp
new file mode 100644
index 0000000..5eaa77e
Binary files /dev/null and b/TEST/sig/glissement.shp differ
diff --git a/TEST/sig/glissement.shx b/TEST/sig/glissement.shx
new file mode 100644
index 0000000..b04182a
Binary files /dev/null and b/TEST/sig/glissement.shx differ
diff --git a/TEST/sig/lignes.cpg b/TEST/sig/lignes.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/lignes.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/lignes.dbf b/TEST/sig/lignes.dbf
new file mode 100644
index 0000000..6a6a3b7
Binary files /dev/null and b/TEST/sig/lignes.dbf differ
diff --git a/TEST/sig/lignes.prj b/TEST/sig/lignes.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/lignes.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/lignes.qix b/TEST/sig/lignes.qix
new file mode 100644
index 0000000..2c42fd5
Binary files /dev/null and b/TEST/sig/lignes.qix differ
diff --git a/TEST/sig/lignes.qmd b/TEST/sig/lignes.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/lignes.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/lignes.shp b/TEST/sig/lignes.shp
new file mode 100644
index 0000000..3235613
Binary files /dev/null and b/TEST/sig/lignes.shp differ
diff --git a/TEST/sig/lignes.shx b/TEST/sig/lignes.shx
new file mode 100644
index 0000000..5d62e08
Binary files /dev/null and b/TEST/sig/lignes.shx differ
diff --git a/TEST/sig/muret_l93.cpg b/TEST/sig/muret_l93.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/muret_l93.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/muret_l93.dbf b/TEST/sig/muret_l93.dbf
new file mode 100644
index 0000000..7c68013
Binary files /dev/null and b/TEST/sig/muret_l93.dbf differ
diff --git a/TEST/sig/muret_l93.prj b/TEST/sig/muret_l93.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/muret_l93.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/muret_l93.qmd b/TEST/sig/muret_l93.qmd
new file mode 100644
index 0000000..857e160
--- /dev/null
+++ b/TEST/sig/muret_l93.qmd
@@ -0,0 +1,44 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TEST/sig/muret_l93.shp b/TEST/sig/muret_l93.shp
new file mode 100644
index 0000000..a193666
Binary files /dev/null and b/TEST/sig/muret_l93.shp differ
diff --git a/TEST/sig/muret_l93.shx b/TEST/sig/muret_l93.shx
new file mode 100644
index 0000000..e195de4
Binary files /dev/null and b/TEST/sig/muret_l93.shx differ
diff --git a/TEST/sig/prescriptions.cpg b/TEST/sig/prescriptions.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/prescriptions.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/prescriptions.dbf b/TEST/sig/prescriptions.dbf
new file mode 100644
index 0000000..6c6ebec
Binary files /dev/null and b/TEST/sig/prescriptions.dbf differ
diff --git a/TEST/sig/prescriptions.prj b/TEST/sig/prescriptions.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/prescriptions.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/prescriptions.qix b/TEST/sig/prescriptions.qix
new file mode 100644
index 0000000..f45aef5
Binary files /dev/null and b/TEST/sig/prescriptions.qix differ
diff --git a/TEST/sig/prescriptions.qmd b/TEST/sig/prescriptions.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/prescriptions.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/prescriptions.shp b/TEST/sig/prescriptions.shp
new file mode 100644
index 0000000..5750561
Binary files /dev/null and b/TEST/sig/prescriptions.shp differ
diff --git a/TEST/sig/prescriptions.shx b/TEST/sig/prescriptions.shx
new file mode 100644
index 0000000..d140978
Binary files /dev/null and b/TEST/sig/prescriptions.shx differ
diff --git a/TEST/sig/zone A.cpg b/TEST/sig/zone A.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/zone A.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/zone A.dbf b/TEST/sig/zone A.dbf
new file mode 100644
index 0000000..59e6cf1
Binary files /dev/null and b/TEST/sig/zone A.dbf differ
diff --git a/TEST/sig/zone A.prj b/TEST/sig/zone A.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/zone A.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/zone A.qml b/TEST/sig/zone A.qml
new file mode 100644
index 0000000..4fab670
--- /dev/null
+++ b/TEST/sig/zone A.qml
@@ -0,0 +1,669 @@
+
+
+
+ 1
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+ generatedlayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "LIBELLE"
+
+ 2
+
diff --git a/TEST/sig/zone A.shp b/TEST/sig/zone A.shp
new file mode 100644
index 0000000..e0695ba
Binary files /dev/null and b/TEST/sig/zone A.shp differ
diff --git a/TEST/sig/zone A.shx b/TEST/sig/zone A.shx
new file mode 100644
index 0000000..d402031
Binary files /dev/null and b/TEST/sig/zone A.shx differ
diff --git a/TEST/sig/zone AU.cpg b/TEST/sig/zone AU.cpg
new file mode 100644
index 0000000..03ce6df
--- /dev/null
+++ b/TEST/sig/zone AU.cpg
@@ -0,0 +1 @@
+1252
\ No newline at end of file
diff --git a/TEST/sig/zone AU.dbf b/TEST/sig/zone AU.dbf
new file mode 100644
index 0000000..caac83c
Binary files /dev/null and b/TEST/sig/zone AU.dbf differ
diff --git a/TEST/sig/zone AU.prj b/TEST/sig/zone AU.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/zone AU.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/zone AU.qix b/TEST/sig/zone AU.qix
new file mode 100644
index 0000000..3f14b9d
Binary files /dev/null and b/TEST/sig/zone AU.qix differ
diff --git a/TEST/sig/zone AU.qmd b/TEST/sig/zone AU.qmd
new file mode 100644
index 0000000..1eb6504
--- /dev/null
+++ b/TEST/sig/zone AU.qmd
@@ -0,0 +1,44 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/TEST/sig/zone AU.qml b/TEST/sig/zone AU.qml
new file mode 100644
index 0000000..848d67d
--- /dev/null
+++ b/TEST/sig/zone AU.qml
@@ -0,0 +1,537 @@
+
+
+
+ 1
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+ generatedlayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "LIBELLE"
+
+ 2
+
diff --git a/TEST/sig/zone AU.shp b/TEST/sig/zone AU.shp
new file mode 100644
index 0000000..b6992f2
Binary files /dev/null and b/TEST/sig/zone AU.shp differ
diff --git a/TEST/sig/zone AU.shx b/TEST/sig/zone AU.shx
new file mode 100644
index 0000000..6b44073
Binary files /dev/null and b/TEST/sig/zone AU.shx differ
diff --git a/TEST/sig/zones humides.cpg b/TEST/sig/zones humides.cpg
new file mode 100644
index 0000000..3ad133c
--- /dev/null
+++ b/TEST/sig/zones humides.cpg
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
diff --git a/TEST/sig/zones humides.dbf b/TEST/sig/zones humides.dbf
new file mode 100644
index 0000000..d7a4aa5
Binary files /dev/null and b/TEST/sig/zones humides.dbf differ
diff --git a/TEST/sig/zones humides.prj b/TEST/sig/zones humides.prj
new file mode 100644
index 0000000..ae0206b
--- /dev/null
+++ b/TEST/sig/zones humides.prj
@@ -0,0 +1 @@
+PROJCS["RGF_1993_Lambert_93",GEOGCS["GCS_RGF_1993",DATUM["D_RGF_1993",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",700000.0],PARAMETER["False_Northing",6600000.0],PARAMETER["Central_Meridian",3.0],PARAMETER["Standard_Parallel_1",49.0],PARAMETER["Standard_Parallel_2",44.0],PARAMETER["Latitude_Of_Origin",46.5],UNIT["Meter",1.0]]
\ No newline at end of file
diff --git a/TEST/sig/zones humides.qix b/TEST/sig/zones humides.qix
new file mode 100644
index 0000000..42a7cb8
Binary files /dev/null and b/TEST/sig/zones humides.qix differ
diff --git a/TEST/sig/zones humides.qmd b/TEST/sig/zones humides.qmd
new file mode 100644
index 0000000..a585e4a
--- /dev/null
+++ b/TEST/sig/zones humides.qmd
@@ -0,0 +1,27 @@
+
+
+
+
+
+ dataset
+
+
+
+
+
+
+
+
+ PROJCRS["RGF93 v1 / Lambert-93",BASEGEOGCRS["RGF93 v1",DATUM["Reseau Geodesique Francais 1993 v1",ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4171]],CONVERSION["Lambert-93",METHOD["Lambert Conic Conformal (2SP)",ID["EPSG",9802]],PARAMETER["Latitude of false origin",46.5,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8821]],PARAMETER["Longitude of false origin",3,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8822]],PARAMETER["Latitude of 1st standard parallel",49,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8823]],PARAMETER["Latitude of 2nd standard parallel",44,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8824]],PARAMETER["Easting at false origin",700000,LENGTHUNIT["metre",1],ID["EPSG",8826]],PARAMETER["Northing at false origin",6600000,LENGTHUNIT["metre",1],ID["EPSG",8827]]],CS[Cartesian,2],AXIS["easting (X)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["northing (Y)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica)."],BBOX[41.15,-9.86,51.56,10.38]],ID["EPSG",2154]]
+ +proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+ 145
+ 2154
+ EPSG:2154
+ RGF93 v1 / Lambert-93
+ lcc
+ EPSG:7019
+ false
+
+
+
+
diff --git a/TEST/sig/zones humides.shp b/TEST/sig/zones humides.shp
new file mode 100644
index 0000000..556e176
Binary files /dev/null and b/TEST/sig/zones humides.shp differ
diff --git a/TEST/sig/zones humides.shx b/TEST/sig/zones humides.shx
new file mode 100644
index 0000000..9009966
Binary files /dev/null and b/TEST/sig/zones humides.shx differ
diff --git a/algorithme.txt b/algorithme.txt
new file mode 100644
index 0000000..327e2aa
--- /dev/null
+++ b/algorithme.txt
@@ -0,0 +1,260 @@
+~~ ALGORITHME Script DORY Digitanie ~~
+
+
+Traitement de documents d'un dossier de PLU pour mise a disposition d'un
+opérateur.
+Dans ce programme, la notion de "projet" fait référence à un fichier de
+couche SHP avec ses fichiers supplémentaires pour une bonne importation
+dans QGIS.
+Pour le moment et comme spécifié, le programme ne traite pas les
+formats composés GPKG ou SQLITE.
+Après l'exécution de ce programme, l'opérateur devra traiter chaque projet
+en s'appuyant du rapport VISA généré.
+
+
+CONTRAINTES
+
+ - Il n'y a pas d'arborescence prédéfinie à l'intérieur du dossier source.
+
+ - Les fichiers du cadastres ne sont pas nécessairement isolés des autres
+ fichiers. Mais normalement, leurs noms devraient respecter une
+ nomenclature : "commune", "parcelles" et "batiment".
+
+
+CONSTANTES
+
+- une liste des extensions nécessaires list string
+- une liste des extentions auxiliaires list string
+- la configuration de la feuille Excel
+ enregistrement { nom = "A3", type = "B3", ...
+ rouge = "0x444", ...
+ formule_OK = "slkfjslfkjs",
+ formule_FAIL = "rjekrjldkj" }
+/*une enumération des projections valides
+ enum {"LAMBERT93", "RGFG95", "RGR92", "RGSPM06"}
+ N'est pas nécessaire tant que l'on traite des dossiers en France
+ métropolitaine */
+
+
+VARIABLES
+
+- une liste des fichiers list _Fichier
+- un dictionnaire des projets avec pour clé le nom de chaque projet
+ dico de paire string : Entité Projet
+- un chemin absolue vers le repertoire racine à traiter string
+
+
+REPRESENTATION DES DONNEES
+
+
+ _Fichier
+Enregistrement de :
+- son nom original - string
+- son chemin - string
+- son extension - string
+- son nom formaté - string
+- son implication - enum {"Nécessaire",
+ "Auxiliaire",
+ "Non-conforme",
+ "A-ignorer"} /* pas sur pour le dernier,
+ a voir si je dois ignorer
+ des PDFs ou DOCs, etc */
+ /* implique qu'un fichier à l'état "Nécessaire" ou "Auxiliaire"
+ est considéré comme "Conforme" */
+
+ _Catalogue
+Enregistrement de :
+- son dictionnaire de fichiers nécessaires avec pour clé l'extention
+de chaque fichier - dico de paire string : _Fichier
+- son dictionnaire de fichiers auxiliaires avec pour clé l'extention
+de chaque fichier - dico de paire string : _Fichier
+- son dictionnaire de fichiers non-conformes avec pour clé l'extention
+de chaque fichier - dico de paire string : _Fichier
+
+ _Projet
+Enregistrement de :
+- son nom - string
+- son catalogue - _Catalogue
+- son nombre de fichiers - entier
+- sa conformité - bool
+- sa projection géodésique - string // ou énumération --> voir Constantes
+- son type d'encodage prévu dans QGIS string
+ /* pour ce script, ce devrait être forcement "UTF8" */
+
+
+1er NIVEAU D'AFFINAGE
+
+DEBUT DU PROGRAMME
+
+recupérer le chemin du dossier à traiter
+analyser le dossier
+produire le dossier de mise à disposition
+produire le rapport
+
+ARRET DU PROGRAMME
+
+
+
+2ième NIVEAU D'AFFINAGE
+
+DEBUT DU PROGRAMME
+
+--recupérer le chemin du dossier à traiter
+ Si il y a un dossier de traitement dans le working directory Alors
+ lire le chemin absolue du dossier "racine" de traitement
+ Sinon
+ /* il n'y a pas de dossier de traitement, l'opérateur a peut-être
+ lancé le programme sans fournir de dossier */
+ signaler l'erreur
+ fin du programme
+ Fin Si
+
+--analyser le dossier
+ initialiser une liste de _Fichiers
+ Pour Chaque dossier et sous dossier à explorer Faire
+ lire, analyser chaque fichier et peupler la liste
+ Fin Pour
+
+ /* Ici la liste des _Fichiers doit être correctement remplie */
+
+ initialiser un dictionnaire de _Projets avec comme clé leurs noms respectifs
+ Pour Chaque fichier de la liste Faire
+ associer le fichier courant à un projet du dictionnaire
+ Fin Pour
+
+ Pour Chaque projet du dictionnaire Faire
+ analyser et completer les infos du projet courant
+ /* conformité, projection, encodage etc */
+ Fin Pour
+
+ /* Ici le dictionnaire des _Projets doit être correctement remplie */
+
+--produire le rapport
+ créer un classeur Excel
+ mettre en page la première feuille du classeur
+ Pour chaque projet du dictionnaire Faire
+ completer la feuille avec les infos du projet courant
+ Fin Pour
+
+ /* Ici le rapport doit être correctement produit et remplie */
+
+--produire le dossier de mise à disposition
+ créer un dossier "Travail" et un dossier "Livraison"
+ créer l'arborescence du dossier "Travail"
+ peupler le dossier "Travail"
+
+ /* Ici les dossiers doivent être correctement produit et remplie */
+
+ARRET DU PROGRAMME
+
+
+
+3ième NIVEAU D'AFFINAGE
+
+DEBUT DU PROGRAMME
+
+--recupérer le chemin du dossier à traiter
+ Si il y a un dossier de traitement dans le working directory Alors
+ lire le chemin absolue du dossier "racine" de traitement
+ Sinon
+ /* il n'y a pas de dossier de traitement, l'opérateur a peut-être
+ lancé le programme sans fournir de dossier */
+ signaler l'erreur
+ fin du programme
+ Fin Si
+
+--analyser le dossier
+ initialiser une liste de _Fichiers
+ Pour Chaque fichier des dossiers et sous dossiers à explorer Faire
+ --lire, analyser chaque fichier et peupler la liste
+ initialiser un _Fichier
+ lire son chemin
+ déterminer son nom original et son extension
+ lire le nom original
+ lire son extension
+ formatter et écrire le nom
+ déterminer son implication
+ ajouter le _Fichier à la liste
+ Fin Pour
+
+ /* Ici la liste des _Fichiers doit être correctement remplie */
+
+ initialiser un dictionnaire de _Projets avec comme clé leurs noms respectifs
+ Pour Chaque fichier de la liste Faire
+ --associer le fichier courant à un projet du dictionnaire
+ /* Vérifier que le projet existe déjà dans le dico */
+ Si le nom du fichier courant n'est pas dans le dico Alors
+ initialiser un _Projet
+ ajouter le nom comme clé dans le dictionnaire
+ associer le projet à cette clé
+ Fin Si
+ cataloguer le fichier dans le projet concerné
+ il y a un fichier de plus au projet
+ Fin Pour
+
+ Pour Chaque projet du dictionnaire Faire
+ --analyser et completer les infos du projet courant
+ /* conformité, projection, encodage etc */
+ lire la projection du projet courant
+ lire l'encodage du projet courant
+ Si tous les fichiers nécessaires sont présents ET
+ la projection est correcte ET
+ l'encodage est correct Alors
+ passer le projet à conforme
+ Fin Si
+ Fin Pour
+
+ /* Ici le dictionnaire des _Projets doit être correctement remplie */
+
+--produire le rapport
+ créer un classeur Excel
+ /* Note : peut être utiliser un modèle pré-config */
+ --mettre en page la première feuille du classeur
+ inserer une image
+ écrire les nom des colonnes
+ écrire les formules de colorations auto des colonnes
+
+ Pour chaque projet du dictionnaire Faire
+ --completer la feuille avec les infos du projet courant
+ /* Note : Chaque ligne de la feuille correspond à un projet */
+ /* Utiliser la config fournie en Constante */
+ écrire le nom du projet
+ écrire le type d'extention
+ /* Note : ce sera "SHP" pour les projets conformes et le type
+ natif pour les non-conformes */
+ écrire le nombre de fichiers du projet
+ écrire l'encodage
+ écrire la projection
+ écrire la validité (conformité)
+ encadrer le "tout" pour délimiter le tableau de la feuille
+ Fin Pour
+
+ /* Ici le rapport doit être correctement produit et remplie */
+
+--produire le dossier de mise à disposition
+ créer un dossier "Travail" et un dossier "Livraison"
+ --créer l'arborescence du dossier "Travail"
+ le dossier Travail devient le working directory
+ créer un dossier "00-Cadastre"
+ créer un dossier "01-Donnees_Valides"
+ créer un dossier "02-Donnees_Invalides
+ créer un dossier "03-Production"
+ créer un dossier "04-Verif_Geometrie"
+ --peupler le dossier "Travail"
+ Pour Chaque projet du dictionnaire Faire
+ copier les fichiers des projets conforme dans le dossier "01"
+ copier les fichiers des projets non-conformes dans le dossier "02"
+ Fin Pour
+
+ /* Ici les dossiers doivent être correctement produit et remplie */
+
+ARRET DU PROGRAMME
+
+
+
+/* TODO Controler qu'il y a bien les 5 necessaires par projet sinon FAIL
+ --> a faire dans le controle de conformité de chaque projet */
+
+/* TODO S'assurer que les GPKG et autres non conformes peuplent correctement
+ les infos dans les projets --> géré si l'initialisation des
+ projets est correctement fait */
diff --git a/modele_VISA_DORY.ods b/modele_VISA_DORY.ods
new file mode 100644
index 0000000..122eaea
Binary files /dev/null and b/modele_VISA_DORY.ods differ
diff --git a/script_pre_traitement_dory.py b/script_pre_traitement_dory.py
new file mode 100644
index 0000000..beeb8c1
--- /dev/null
+++ b/script_pre_traitement_dory.py
@@ -0,0 +1,287 @@
+# ~~ Script DORY Digitanie ~~
+
+# Voir algorithme.txt pour plus de détails et commentaires
+
+import os # getcwd(),
+
+
+
+
+
+# - une liste des extensions nécessaires
+NECESSAIRES = ["cpg", "dbf", "prj", "shp", "shx"]
+
+# - une liste des extentions auxiliaires
+AUXILIAIRES = ["qix", "qmd", "qml"]
+
+# - la configuration de la feuille Excel
+CONFIG = {"NOM" : "A5",
+ "TYPE" : "B5",
+ "NB_FICHIERS" : "C5",
+ "ENCODAGE" : "D5",
+ "PROJECTION" : "E5",
+ "VALIDITE" : "F5"}
+
+
+
+# REPRESENTATION DES DONNEES
+
+class _Fichier:
+ def __init__(self,
+ nom_original="Pas de nom original",
+ chemin="Pas de chemin",
+ extension="Pas d'extension",
+ nom= "Pas de nom",
+ implication="Non-conforme"):
+ self.nom_original = nom_original # - son nom original - string
+ self.chemin = chemin # - son chemin - string
+ self.extension = extension # - son extension - string
+ self.nom = nom # - son nom formaté - string
+ self.implication = implication # - son implication - enum
+ # {"Nécessaire",
+ # "Auxiliaire",
+ # "Non-conforme",
+ # "A-ignorer"}
+ def afficher(self):
+ print("nom : ".center(16), self.nom)
+ print("nom orig : ".center(16), self.nom_original)
+ print("ext : ".center(16), self.extension)
+ print("chemin : ".center(16), self.chemin)
+ print("implication :".center(16), self.implication)
+
+
+class _Catalogue:
+ def __init__(self,
+ necessaires="Pas de dico",
+ auxiliaires="Pas de dico",
+ non_conformes="Pas de dico"):
+ self.necessaires = necessaires # - son dictionnaire de fichiers nécessaires avec pour clé l'extention
+ # de chaque fichier - dico de paire string : _Fichier
+ self.auxiliaires = auxiliaires # - son dictionnaire de fichiers auxiliaires avec pour clé l'extention
+ # de chaque fichier - dico de paire string : _Fichier
+ self.non_conformes = non_conformes # - son dictionnaire de fichiers non-conformes avec pour clé l'extention
+ # de chaque fichier - dico de paire string : _Fichier
+
+
+class _Projet:
+ def __init__(self,
+ nom="Pas de nom",
+ catalogue="Pas de catalogue",
+ nb_fichiers=0,
+ conformite=False,
+ projection="Pas de projection",
+ encodage="Pas d'encodage"):
+ self.nom = nom # - son nom - string
+ self.catalogue = catalogue # - son catalogue - _Catalogue
+ self.nb_fichiers = nb_fichiers # - son nombre de fichiers - entier
+ self.conformite = conformite # - sa conformité - bool
+ self.projection = projection # - sa projection géodésique - string // ou énumération --> voir Constantes
+ self.encodage = encodage # - son type d'encodage prévu dans QGIS string
+ # /* pour ce script, ce devrait être forcement "UTF8" */
+
+
+# DEFINITIONS DE FONCTIONS
+
+def formatter(chaine):
+ """Formate selon nomenclature.
+
+ Formate la chaine de caractères passée en paramètre :
+ Enlève tous les accents français. Enlève la cédille du C.
+ Remplace les espaces ' ' et les traits d'union '-' par
+ des tirets bas '_'.
+ Ne traite pas pour le moment le AE et OE ligaturé.
+ """
+ #TODO : gérer les accents sur majuscules
+ #TODO : amélioration ou exercice, utiliser la méthode str.translate() et maketrans
+ resultat = ""
+ for c in chaine:
+ match c:
+ case "à" | "â" | "ä":
+ resultat+= "a"
+ case "é" | "è" | "ê" | "ë":
+ resultat+= "e"
+ case "î" | "ï":
+ resultat+= "i"
+ case "ô" | "ö":
+ resultat+= "o"
+ case "ù" | "û" | "ü":
+ resultat+= "u"
+ case "ÿ":
+ resultat+= "y"
+ case "ç":
+ resultat+= "c"
+ case " " | "-":
+ resultat+= "_"
+ case _:
+ resultat+= c
+ return resultat
+
+
+
+def impliquer(fichier):
+ """Définir l'implication d'un fichier
+
+ Les fichiers nécessaires sont indispensables sinon l'importation
+ de la couche échoue.
+ Les fichiers optionels (ou auxiliaires) contiennent des données
+ supplémentaires lors de l'importation.
+ Les fichiers non conformes pourraient être importer dans QGIS. Mais,
+ ne sont pas conformes au cahier des charges.
+ Les fichiers ignorés ne fonctionnent pas dans QGIS.
+ L'implication est définie en fonction de l'extension du fichier.
+ """
+ resultat = fichier
+ match fichier.extension:
+ case "dbf" | "cpg" | "prj" | "shx" | "shp":
+ resultat.implication = "Necessaire"
+ case "qix" | "qmd" | "qml":
+ resultat.implication = "Auxiliaire"
+ case "qpkg" | "sqlite":
+ resultat.implication = "Non-conforme"
+ case _:
+ resultat.implication = "A-ignorer"
+ return resultat
+
+
+
+
+# DEBUT DU PROGRAMME
+
+liste = [] # - une liste des fichiers list _Fichier
+dico = {} # - un dictionnaire des projets avec pour clé le nom de chaque projet
+ # dico de paire string : Entité Projet
+racine = os.getcwd() # - un chemin absolue vers le repertoire racine à traiter string
+print(racine)
+
+
+
+# --recupérer le chemin du dossier à traiter
+ # Si il y a PAS un dossier de traitement dans le working directory Alors
+pas_de_dossier = True
+
+for a in os.scandir("./"):
+ if a.is_dir():
+ #il y a un dossier
+ pas_de_dossier = False
+if pas_de_dossier:
+ print("Pas de dossier trouvé...\nFin de programme\n")
+ os.system("pause")
+ # fin du programme
+ exit()
+else:
+ print(f"Dossier à Traiter trouvé : {a.name}")
+ racine = a
+
+
+# --analyser le dossier
+ # initialiser une liste de _Fichiers
+ liste = []
+ # Pour Chaque fichier des dossiers et sous dossiers à explorer Faire
+ for dossier_courant, list_dossiers, list_fichiers in os.walk(racine):
+ for fichier_courant in list_fichiers:
+ # --lire, analyser chaque fichier et peupler la liste
+ # initialiser un _Fichier
+ ce_Fichier = _Fichier()
+ # lire son chemin
+ ce_Fichier.chemin = fichier_courant
+ # déterminer son nom original et son extension
+ # lire le nom original
+ # lire son extension
+ ce_Fichier.nom_original, ce_Fichier.extension = ce_Fichier.chemin.split(".")
+ # formatter et écrire le nom
+ ce_Fichier.nom = formatter(ce_Fichier.nom_original)
+ # déterminer son implication
+ ce_Fichier = impliquer(ce_Fichier) # TODO impliquer(), A VOIR si je peux passer juste l'implicatin et non l'ojbet en entier
+ # ajouter le _Fichier à la liste
+ liste.append(ce_Fichier)
+ # Fin Pour
+
+ # /* Ici la liste des _Fichiers doit être correctement remplie */
+ #TEST affichage de la liste de fichier
+ for a in liste:
+ a.afficher()
+ print("\n\n")
+
+
+
+ os.system("pause")
+
+ # initialiser un dictionnaire de _Projets avec comme clé leurs noms respectifs
+ # Pour Chaque fichier de la liste Faire
+ # --associer le fichier courant à un projet du dictionnaire
+ # /* Vérifier que le projet existe déjà dans le dico */
+ # Si le nom du fichier courant n'est pas dans le dico Alors
+ # initialiser un _Projet
+ # ajouter le nom comme clé dans le dictionnaire
+ # associer le projet à cette clé
+ # Fin Si
+ # cataloguer le fichier dans le projet concerné
+ # il y a un fichier de plus au projet
+ # Fin Pour
+
+ # Pour Chaque projet du dictionnaire Faire
+ # --analyser et completer les infos du projet courant
+ # /* conformité, projection, encodage etc */
+ # lire la projection du projet courant
+ # lire l'encodage du projet courant
+ # Si tous les fichiers nécessaires sont présents ET
+ # la projection est correcte ET
+ # l'encodage est correct Alors
+ # passer le projet à conforme
+ # Fin Si
+ # Fin Pour
+
+ # /* Ici le dictionnaire des _Projets doit être correctement remplie */
+
+# --produire le rapport
+ # créer un classeur Excel
+ # /* Note : peut être utiliser un modèle pré-config */
+ # --mettre en page la première feuille du classeur
+ # inserer une image
+ # écrire les nom des colonnes
+ # écrire les formules de colorations auto des colonnes
+
+ # Pour chaque projet du dictionnaire Faire
+ # --completer la feuille avec les infos du projet courant
+ # /* Note : Chaque ligne de la feuille correspond à un projet */
+ # /* Utiliser la config fournie en Constante */
+ # écrire le nom du projet
+ # écrire le type d'extention
+ # /* Note : ce sera "SHP" pour les projets conformes et le type
+ # natif pour les non-conformes */
+ # écrire le nombre de fichiers du projet
+ # écrire l'encodage
+ # écrire la projection
+ # écrire la validité (conformité)
+ # encadrer le "tout" pour délimiter le tableau de la feuille
+ # Fin Pour
+
+ # /* Ici le rapport doit être correctement produit et remplie */
+
+# --produire le dossier de mise à disposition
+ # créer un dossier "Travail" et un dossier "Livraison"
+ # --créer l'arborescence du dossier "Travail"
+ # le dossier Travail devient le working directory
+ # créer un dossier "00-Cadastre"
+ # créer un dossier "01-Donnees_Valides"
+ # créer un dossier "02-Donnees_Invalides
+ # créer un dossier "03-Production"
+ # créer un dossier "04-Verif_Geometrie"
+ # --peupler le dossier "Travail"
+ # Pour Chaque projet du dictionnaire Faire
+ # copier les fichiers des projets conforme dans le dossier "01"
+ # copier les fichiers des projets non-conformes dans le dossier "02"
+ # Fin Pour
+
+ # /* Ici les dossiers doivent être correctement produit et remplie */
+
+# ARRET DU PROGRAMME
+
+
+
+# /* TODO Controler qu'il y a bien les 5 necessaires par projet sinon FAIL
+ # --> a faire dans le controle de conformité de chaque projet */
+
+# /* TODO S'assurer que les GPKG et autres non conformes peuplent correctement
+ # les infos dans les projets --> géré si l'initialisation des
+ # projets est correctement fait */