c2cgeoportal-geoportal 2.3.5.80__py3-none-any.whl → 2.9rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. c2cgeoportal_geoportal/__init__.py +960 -0
  2. c2cgeoportal_geoportal/lib/__init__.py +256 -0
  3. c2cgeoportal_geoportal/lib/authentication.py +250 -0
  4. c2cgeoportal_geoportal/lib/bashcolor.py +46 -0
  5. c2cgeoportal_geoportal/lib/cacheversion.py +75 -0
  6. c2cgeoportal_geoportal/lib/caching.py +176 -0
  7. c2cgeoportal_geoportal/lib/check_collector.py +80 -0
  8. c2cgeoportal_geoportal/lib/checker.py +295 -0
  9. c2cgeoportal_geoportal/lib/common_headers.py +170 -0
  10. c2cgeoportal_geoportal/lib/dbreflection.py +266 -0
  11. c2cgeoportal_geoportal/lib/filter_capabilities.py +360 -0
  12. c2cgeoportal_geoportal/lib/fulltextsearch.py +50 -0
  13. c2cgeoportal_geoportal/lib/functionality.py +166 -0
  14. c2cgeoportal_geoportal/lib/headers.py +62 -0
  15. c2cgeoportal_geoportal/lib/i18n.py +38 -0
  16. c2cgeoportal_geoportal/lib/layers.py +132 -0
  17. c2cgeoportal_geoportal/lib/lingva_extractor.py +937 -0
  18. c2cgeoportal_geoportal/lib/loader.py +57 -0
  19. c2cgeoportal_geoportal/lib/metrics.py +117 -0
  20. c2cgeoportal_geoportal/lib/oauth2.py +1186 -0
  21. c2cgeoportal_geoportal/lib/oidc.py +302 -0
  22. c2cgeoportal_geoportal/lib/wmstparsing.py +353 -0
  23. c2cgeoportal_geoportal/lib/xsd.py +166 -0
  24. c2cgeoportal_geoportal/py.typed +0 -0
  25. c2cgeoportal_geoportal/resources.py +49 -0
  26. c2cgeoportal_geoportal/scaffolds/advance_create/ci/config.yaml +26 -0
  27. c2cgeoportal_geoportal/scaffolds/advance_create/cookiecutter.json +18 -0
  28. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.dockerignore +6 -0
  29. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.eslintrc.yaml +19 -0
  30. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/.prospector.yaml +30 -0
  31. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Dockerfile +75 -0
  32. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/Makefile +6 -0
  33. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.ini +58 -0
  34. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/alembic.yaml +19 -0
  35. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/development.ini +121 -0
  36. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/gunicorn.conf.py +139 -0
  37. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/language_mapping +3 -0
  38. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-client.cfg +5 -0
  39. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/lingva-server.cfg +6 -0
  40. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/production.ini +38 -0
  41. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/requirements.txt +2 -0
  42. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/setup.py +25 -0
  43. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.api.js +41 -0
  44. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.apps.js +64 -0
  45. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.commons.js +11 -0
  46. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/webpack.config.js +22 -0
  47. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/__init__.py +42 -0
  48. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/authentication.py +10 -0
  49. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/dev.py +14 -0
  50. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/models.py +8 -0
  51. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/multi_organization.py +7 -0
  52. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/resources.py +11 -0
  53. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/api/index.js +12 -0
  54. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static-ngeo/js/{{cookiecutter.package}}module.js +25 -0
  55. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/subscribers.py +39 -0
  56. c2cgeoportal_geoportal/scaffolds/advance_create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/views/__init__.py +0 -0
  57. c2cgeoportal_geoportal/scaffolds/advance_update/cookiecutter.json +18 -0
  58. c2cgeoportal_geoportal/scaffolds/advance_update/{{cookiecutter.project}}/geoportal/CONST_Makefile +121 -0
  59. c2cgeoportal_geoportal/scaffolds/create/cookiecutter.json +18 -0
  60. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.dockerignore +14 -0
  61. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.editorconfig +17 -0
  62. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/main.yaml +73 -0
  63. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/rebuild.yaml +50 -0
  64. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.github/workflows/update_l10n.yaml +66 -0
  65. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.gitignore +16 -0
  66. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.pre-commit-config.yaml +35 -0
  67. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierignore +1 -0
  68. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/.prettierrc.yaml +2 -0
  69. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Dockerfile +75 -0
  70. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/Makefile +70 -0
  71. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/README.rst +29 -0
  72. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/build +179 -0
  73. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/config.yaml +22 -0
  74. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/docker-compose-check +25 -0
  75. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/ci/requirements.txt +2 -0
  76. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-db.yaml +24 -0
  77. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +511 -0
  78. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-qgis.yaml +21 -0
  79. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.override.sample.yaml +59 -0
  80. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose.yaml +121 -0
  81. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +102 -0
  82. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.project +69 -0
  83. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/vars.yaml +430 -0
  84. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/locale/en/LC_MESSAGES/{{cookiecutter.package}}_geoportal-client.po +6 -0
  85. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/desktop.css +0 -0
  86. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/iframe_api.css +0 -0
  87. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/css/mobile.css +0 -0
  88. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_left.png +0 -0
  89. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/banner_right.png +0 -0
  90. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/blank.png +0 -0
  91. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-blue.png +0 -0
  92. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-gold.png +0 -0
  93. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker-green.png +0 -0
  94. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/images/markers/marker.png +0 -0
  95. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/geoportal/{{cookiecutter.package}}_geoportal/static/robot.txt.tmpl +3 -0
  96. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/Readme.txt +69 -0
  97. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/data/TM_EUROPE_BORDERS-0.3.sql +70 -0
  98. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/demo.map.tmpl +224 -0
  99. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arial.ttf +0 -0
  100. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbd.ttf +0 -0
  101. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Arialbi.ttf +0 -0
  102. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Ariali.ttf +0 -0
  103. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Bold.ttf +0 -0
  104. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-BoldItalic.ttf +0 -0
  105. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Italic.ttf +0 -0
  106. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/NotoSans-Regular.ttf +0 -0
  107. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdana.ttf +0 -0
  108. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanab.ttf +0 -0
  109. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanai.ttf +0 -0
  110. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts/Verdanaz.ttf +0 -0
  111. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/fonts.conf +12 -0
  112. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.conf +15 -0
  113. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/mapserver.map.tmpl +87 -0
  114. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/mapserver/tinyows.xml.tmpl +36 -0
  115. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Landscape.jrxml +207 -0
  116. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A3_Portrait.jrxml +185 -0
  117. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Landscape.jrxml +200 -0
  118. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/A4_Portrait.jrxml +170 -0
  119. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/config.yaml.tmpl +175 -0
  120. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/legend.jrxml +109 -0
  121. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation.properties +4 -0
  122. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/localisation_fr.properties +4 -0
  123. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/logo.png +0 -0
  124. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/north.svg +93 -0
  125. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/print/print-apps/{{cookiecutter.package}}/results.jrxml +25 -0
  126. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/project.yaml +18 -0
  127. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/pyproject.toml +7 -0
  128. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/qgisserver/pg_service.conf.tmpl +15 -0
  129. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/run_alembic.sh +11 -0
  130. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-backup +126 -0
  131. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/scripts/db-restore +132 -0
  132. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/setup.cfg +7 -0
  133. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/spell-ignore-words.txt +5 -0
  134. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/__init__.py +0 -0
  135. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tests/test_app.py +43 -0
  136. c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/tilegeneration/config.yaml.tmpl +195 -0
  137. c2cgeoportal_geoportal/scaffolds/update/cookiecutter.json +18 -0
  138. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/.upgrade.yaml +67 -0
  139. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_CHANGELOG.txt +295 -0
  140. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/CONST_create_template/tests/test_testapp.py +48 -0
  141. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_config-schema.yaml +922 -0
  142. c2cgeoportal_geoportal/scaffolds/update/{{cookiecutter.project}}/geoportal/CONST_vars.yaml +1503 -0
  143. c2cgeoportal_geoportal/scripts/__init__.py +64 -0
  144. c2cgeoportal_geoportal/scripts/c2cupgrade.py +879 -0
  145. c2cgeoportal_geoportal/scripts/create_demo_theme.py +80 -0
  146. c2cgeoportal_geoportal/scripts/manage_users.py +140 -0
  147. c2cgeoportal_geoportal/scripts/pcreate.py +314 -0
  148. c2cgeoportal_geoportal/scripts/theme2fts.py +347 -0
  149. c2cgeoportal_geoportal/scripts/urllogin.py +81 -0
  150. c2cgeoportal_geoportal/templates/login.html +90 -0
  151. c2cgeoportal_geoportal/templates/notlogin.html +62 -0
  152. c2cgeoportal_geoportal/templates/testi18n.html +12 -0
  153. c2cgeoportal_geoportal/views/__init__.py +59 -0
  154. c2cgeoportal_geoportal/views/dev.py +57 -0
  155. c2cgeoportal_geoportal/views/dynamic.py +208 -0
  156. c2cgeoportal_geoportal/views/entry.py +174 -0
  157. c2cgeoportal_geoportal/views/fulltextsearch.py +189 -0
  158. c2cgeoportal_geoportal/views/geometry_processing.py +75 -0
  159. c2cgeoportal_geoportal/views/i18n.py +129 -0
  160. c2cgeoportal_geoportal/views/layers.py +713 -0
  161. c2cgeoportal_geoportal/views/login.py +679 -0
  162. c2cgeoportal_geoportal/views/mapserverproxy.py +191 -0
  163. c2cgeoportal_geoportal/views/memory.py +90 -0
  164. c2cgeoportal_geoportal/views/ogcproxy.py +120 -0
  165. c2cgeoportal_geoportal/views/pdfreport.py +245 -0
  166. c2cgeoportal_geoportal/views/printproxy.py +143 -0
  167. c2cgeoportal_geoportal/views/profile.py +127 -0
  168. c2cgeoportal_geoportal/views/proxy.py +259 -0
  169. c2cgeoportal_geoportal/views/raster.py +193 -0
  170. c2cgeoportal_geoportal/views/resourceproxy.py +73 -0
  171. c2cgeoportal_geoportal/views/shortener.py +152 -0
  172. c2cgeoportal_geoportal/views/theme.py +1322 -0
  173. c2cgeoportal_geoportal/views/tinyowsproxy.py +189 -0
  174. c2cgeoportal_geoportal/views/vector_tiles.py +83 -0
  175. {c2cgeoportal_geoportal-2.3.5.80.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/METADATA +21 -24
  176. c2cgeoportal_geoportal-2.9rc1.dist-info/RECORD +192 -0
  177. {c2cgeoportal_geoportal-2.3.5.80.dist-info → c2cgeoportal_geoportal-2.9rc1.dist-info}/WHEEL +1 -1
  178. c2cgeoportal_geoportal-2.9rc1.dist-info/entry_points.txt +28 -0
  179. c2cgeoportal_geoportal-2.9rc1.dist-info/top_level.txt +2 -0
  180. tests/__init__.py +100 -0
  181. tests/test_cachebuster.py +71 -0
  182. tests/test_caching.py +275 -0
  183. tests/test_checker.py +85 -0
  184. tests/test_decimaljson.py +47 -0
  185. tests/test_headerstween.py +64 -0
  186. tests/test_i18n.py +31 -0
  187. tests/test_init.py +193 -0
  188. tests/test_locale_negociator.py +69 -0
  189. tests/test_mapserverproxy_route_predicate.py +64 -0
  190. tests/test_raster.py +267 -0
  191. tests/test_wmstparsing.py +238 -0
  192. tests/xmlstr.py +103 -0
  193. c2cgeoportal_geoportal-2.3.5.80.dist-info/DESCRIPTION.rst +0 -8
  194. c2cgeoportal_geoportal-2.3.5.80.dist-info/RECORD +0 -7
  195. c2cgeoportal_geoportal-2.3.5.80.dist-info/entry_points.txt +0 -22
  196. c2cgeoportal_geoportal-2.3.5.80.dist-info/metadata.json +0 -1
  197. c2cgeoportal_geoportal-2.3.5.80.dist-info/top_level.txt +0 -1
@@ -0,0 +1,224 @@
1
+ # This file is used to render the examples layers, it can be deleted.
2
+ # Layer without any restriction
3
+ LAYER
4
+ NAME "borders"
5
+ TYPE POLYGON
6
+ STATUS ON
7
+ TOLERANCE 10
8
+ TOLERANCEUNITS PIXELS
9
+ TEMPLATE "fooOnlyForWMSGetFeatureInfo" # For GetFeatureInfo
10
+ EXTENT -31 27 45 71 # Useful for better performance but not mandatory
11
+ CONNECTIONTYPE POSTGIS
12
+ PROCESSING "CLOSE_CONNECTION=DEFER"
13
+ CONNECTION "host=${PGHOST_SLAVE} port=${PGPORT_SLAVE} sslmode=${PGSSLMODE} user=${PGUSER} password=${PGPASSWORD} dbname=${PGDATABASE}"
14
+ DATA "geom FROM (SELECT geo.* FROM data.europe_borders as geo) as foo USING unique gid USING srid=4326"
15
+ PROJECTION
16
+ "init=epsg:4326"
17
+ END
18
+ METADATA
19
+ "wms_title" "Borders of Europe" # For WMS
20
+ "wms_srs" "EPSG:{{cookiecutter.srid}}" # For WMS
21
+ "wfs_enable_request" "*" # Enable WFS for this layer
22
+ "gml_include_items" "all" # For GetFeatureInfo and WFS GetFeature (QueryBuilder)
23
+ "ows_geom_type" "multipolygon" # For returning geometries in GetFeatureInfo
24
+ "ows_geometries" "geom" # For returning geometries in GetFeatureInfo
25
+ "wms_metadataurl_href" "https://www.example.com/bar" # For metadata URL
26
+ "wms_metadataurl_format" "text/html" # For metadata URL
27
+ "wms_metadataurl_type" "TC211" # For metadata URL
28
+ END
29
+ CLASS
30
+ NAME "borders"
31
+ STYLE
32
+ OUTLINECOLOR 0 0 0
33
+ END
34
+ END
35
+ END
36
+ # Layer with restriction area
37
+ LAYER
38
+ NAME "density"
39
+ TYPE POLYGON
40
+ STATUS ON
41
+ TOLERANCE 10
42
+ TOLERANCEUNITS PIXELS
43
+ TEMPLATE "fooOnlyForWMSGetFeatureInfo" # For GetFeatureInfo
44
+ EXTENT -31 27 45 71
45
+ CONNECTIONTYPE POSTGIS
46
+ PROCESSING "CLOSE_CONNECTION=DEFER"
47
+ CONNECTION "host=${PGHOST_SLAVE} port=${PGPORT_SLAVE} sslmode=${PGSSLMODE} user=${PGUSER} password=${PGPASSWORD} dbname=${PGDATABASE}"
48
+ DATA "geom FROM (SELECT geo.*, (pop2005/(area*10)) AS density FROM data.europe_borders AS geo WHERE ARRAY[%role_ids%]::integer[] && ARRAY(${MAPSERVER_DATA_NOAREA_SUBSELECT} 'density')) as foo USING unique gid USING srid=4326"
49
+ PROJECTION
50
+ "init=epsg:4326"
51
+ END
52
+ VALIDATION
53
+ "default_role_ids" ""
54
+ "role_ids" "^-?[0-9,]*$"
55
+ END
56
+ METADATA
57
+ "wms_title" "Density of population" # For WMS
58
+ "wms_srs" "EPSG:{{cookiecutter.srid}}" # For WMS
59
+ "wfs_enable_request" "*" # Enable WFS for this layer
60
+ "gml_include_items" "all" # For GetFeatureInfo and WFS GetFeature (QueryBuilder)
61
+ "ows_geom_type" "multipolygon" # For returning geometries in GetFeatureInfo
62
+ "ows_geometries" "geom" # For returning geometries in GetFeatureInfo
63
+ "wms_metadataurl_href" "https://www.example.com/bar" # For metadata URL
64
+ "wms_metadataurl_format" "text/html" # For metadata URL
65
+ "wms_metadataurl_type" "TC211" # For metadata URL
66
+ END
67
+ LABELITEM "name"
68
+ CLASS
69
+ NAME "[ 6 - 50 ["
70
+ EXPRESSION ( [density] < 49.73 )
71
+ STYLE
72
+ OUTLINECOLOR 0 0 0
73
+ COLOR 254 229 217
74
+ END
75
+ LABEL
76
+ COLOR 0 0 0
77
+ FONT "noto_bold"
78
+ TYPE TRUETYPE
79
+ SIZE 8
80
+ OUTLINEWIDTH 2
81
+ POSITION AUTO
82
+ PARTIALS FALSE
83
+ OUTLINECOLOR 253 247 244
84
+ MINFEATURESIZE 8
85
+ MINDISTANCE 1000
86
+ BUFFER 10
87
+ END
88
+ LEADER
89
+ GRIDSTEP 400 # number of pixels between positions that are tested
90
+ MAXDISTANCE 300 # distance in pixels that leader text can be drawn
91
+ STYLE
92
+ COLOR 255 255 255 # normal line styles are supported
93
+ WIDTH 3
94
+ END
95
+ END
96
+ END
97
+ CLASS
98
+ NAME "[ 50 - 92 ["
99
+ EXPRESSION ( ( [density] >= 49.73 ) AND ( [density] < 91.94 ) )
100
+ STYLE
101
+ OUTLINECOLOR 0 0 0
102
+ COLOR 252 174 145
103
+ END
104
+ LABEL
105
+ COLOR 0 0 0
106
+ FONT "noto_bold"
107
+ TYPE TRUETYPE
108
+ SIZE 8
109
+ OUTLINEWIDTH 2
110
+ POSITION AUTO
111
+ PARTIALS FALSE
112
+ OUTLINECOLOR 252 223 213
113
+ MINFEATURESIZE 8
114
+ MINDISTANCE 1000
115
+ BUFFER 10
116
+ END
117
+ LEADER
118
+ GRIDSTEP 400 # number of pixels between positions that are tested
119
+ MAXDISTANCE 300 # distance in pixels that leader text can be drawn
120
+ STYLE
121
+ COLOR 255 255 255 # normal line styles are supported
122
+ WIDTH 3
123
+ END
124
+ END
125
+ END
126
+ CLASS
127
+ NAME "[ 92 - 115 ["
128
+ EXPRESSION ( ( [density] >= 91.94 ) AND ( [density] < 115.08 ) )
129
+ STYLE
130
+ OUTLINECOLOR 0 0 0
131
+ COLOR 251 106 74
132
+ END
133
+ LABEL
134
+ COLOR 0 0 0
135
+ FONT "noto_bold"
136
+ TYPE TRUETYPE
137
+ SIZE 8
138
+ OUTLINEWIDTH 2
139
+ POSITION AUTO
140
+ PARTIALS FALSE
141
+ OUTLINECOLOR 251 220 213
142
+ MINFEATURESIZE 8
143
+ MINDISTANCE 1000
144
+ BUFFER 10
145
+ END
146
+ LEADER
147
+ GRIDSTEP 40 # number of pixels between positions that are tested
148
+ MAXDISTANCE 300 # distance in pixels that leader text can be drawn
149
+ STYLE
150
+ COLOR 255 255 255 # normal line styles are supported
151
+ WIDTH 3
152
+ END
153
+ END
154
+ END
155
+ CLASS
156
+ NAME "[ 115 - 210 ["
157
+ EXPRESSION ( ( [density] >= 115.08 ) AND ( [density] < 210.11 ) )
158
+ STYLE
159
+ OUTLINECOLOR 0 0 0
160
+ COLOR 222 45 38
161
+ END
162
+ LABEL
163
+ COLOR 0 0 0
164
+ FONT "noto_bold"
165
+ TYPE TRUETYPE
166
+ SIZE 8
167
+ OUTLINEWIDTH 2
168
+ POSITION AUTO
169
+ PARTIALS FALSE
170
+ OUTLINECOLOR 237 189 187
171
+ MINFEATURESIZE 8
172
+ MINDISTANCE 1000
173
+ BUFFER 10
174
+ END
175
+ LEADER
176
+ GRIDSTEP 40 # number of pixels between positions that are tested
177
+ MAXDISTANCE 300 # distance in pixels that leader text can be drawn
178
+ STYLE
179
+ COLOR 255 255 255 # normal line styles are supported
180
+ WIDTH 3
181
+ END
182
+ END
183
+ END
184
+ CLASS
185
+ NAME "[ 210 - 18 475 ]"
186
+ EXPRESSION ( ( [density] >= 210 ) AND ( [density] <= 18475 ) )
187
+ STYLE
188
+ OUTLINECOLOR 0 0 0
189
+ COLOR 165 15 21
190
+ END
191
+ LABEL
192
+ COLOR 0 0 0
193
+ FONT "noto_bold"
194
+ TYPE TRUETYPE
195
+ SIZE 8
196
+ OUTLINEWIDTH 2
197
+ POSITION AUTO
198
+ PARTIALS FALSE
199
+ OUTLINECOLOR 208 184 185
200
+ MINFEATURESIZE 8
201
+ MINDISTANCE 1000
202
+ BUFFER 10
203
+ END
204
+ LEADER
205
+ GRIDSTEP 40 # number of pixels between positions that are tested
206
+ MAXDISTANCE 300 # distance in pixels that leader text can be drawn
207
+ STYLE
208
+ COLOR 255 255 255 # normal line styles are supported
209
+ WIDTH 3
210
+ END
211
+ END
212
+ END
213
+ END
214
+ # Raster layer (with a tile index)
215
+ LAYER
216
+ NAME "topo"
217
+ GROUP "plan"
218
+ TYPE RASTER
219
+ STATUS ON
220
+ PROCESSING "RESAMPLE=AVERAGE"
221
+ TILEINDEX "raster/topo"
222
+ TILEITEM "LOCATION"
223
+ MINSCALEDENOM 25000
224
+ END
@@ -0,0 +1,12 @@
1
+ arial fonts/Arial.ttf
2
+ arial_bold fonts/Arialbd.ttf
3
+
4
+ verdana_bold fonts/Verdanab.ttf
5
+ verdana_italic fonts/Verdanai.ttf
6
+ verdana fonts/Verdana.ttf
7
+ verdana_bold_italic fonts/Verdanaz.ttf
8
+
9
+ noto Noto_Sans/NotoSans-Regular.ttf
10
+ noto_bold Noto_Sans/NotoSans-Bold.ttf
11
+ noto_italic Noto_Sans/NotoSans-Italic.ttf
12
+ noto_bold_italic Noto_Sans/NotoSans-BoldItalic.ttf
@@ -0,0 +1,15 @@
1
+ # Documentation: https://mapserver.org/mapfile/config.html
2
+
3
+ CONFIG
4
+
5
+ ENV
6
+ MS_MAPFILE "/etc/mapserver/mapserver.map"
7
+ END
8
+
9
+ #
10
+ # Map aliases
11
+ #
12
+ MAPS
13
+ END
14
+
15
+ END
@@ -0,0 +1,87 @@
1
+ #
2
+ # MapServer Mapfile
3
+ #
4
+ # Test requests:
5
+ #
6
+ # WMS GetCapabilities:
7
+ # /mapserv?service=wms&version=1.1.1&request=getcapabilities
8
+ #
9
+ # WMS GetMap:
10
+ # /mapserv?service=wms&version=1.1.1&request=getmap&bbox=-180,-90,180,90&layers=countries&width=600&height=400&srs=EPSG:4326&format=image/png
11
+ #
12
+ # WMS GetFeatureInfo:
13
+ # /mapserv?service=wms&version=1.1.1&request=getfeatureinfo&bbox=-180,-90,180,90&layers=countries&query_layers=countries&width=600&height=400&srs=EPSG:4326&format=image/png&x=180&y=90&info_format=application/vnd.ogc.gml
14
+ #
15
+ MAP
16
+ NAME "{{cookiecutter.package}}"
17
+
18
+ # For Windows users: uncomment this line and adapt it to your
19
+ # own mapserver's nad folder (use regular slash "/")
20
+ # CONFIG "PROJ_LIB" "C:/path/to/ms4w/proj/nad"
21
+
22
+ EXTENT {{cookiecutter.extent_mapserver}} ## should be defined for better performance
23
+ UNITS METERS
24
+
25
+ # RESOLUTION and DEFRESOLUTION default to 96. If you
26
+ # change RESOLUTION to some other value, also change
27
+ # DEFRESOLUTION. See
28
+ # https://mapserver.org/development/rfc/ms-rfc-55.html
29
+ RESOLUTION 96 ## Also set in Openlayers especially for legends
30
+ DEFRESOLUTION 96
31
+
32
+ # MAXSIZE should not be less than 5000 for MF print on A3
33
+ MAXSIZE 5000
34
+ IMAGECOLOR 255 255 255
35
+ STATUS ON
36
+
37
+ FONTSET "fonts.conf"
38
+ #SYMBOLSET "symbol.sym"
39
+
40
+ CONFIG "CPL_VSIL_CURL_USE_CACHE" "TRUE"
41
+ CONFIG "CPL_VSIL_CURL_CACHE_SIZE" "128000000"
42
+ CONFIG "CPL_VSIL_CURL_USE_HEAD" "FALSE"
43
+ CONFIG "GDAL_DISABLE_READDIR_ON_OPEN" "TRUE"
44
+
45
+ OUTPUTFORMAT
46
+ NAME "jpeg"
47
+ DRIVER "AGG/JPEG"
48
+ MIMETYPE "image/jpeg"
49
+ IMAGEMODE RGB
50
+ EXTENSION "jpeg"
51
+ FORMATOPTION "QUALITY=75,PROGRESSIVE=TRUE"
52
+ END
53
+ OUTPUTFORMAT
54
+ NAME "png"
55
+ DRIVER "AGG/PNG"
56
+ MIMETYPE "image/png"
57
+ IMAGEMODE RGBA
58
+ EXTENSION "png"
59
+ FORMATOPTION "INTERLACE=OFF"
60
+ FORMATOPTION "QUANTIZE_DITHER=OFF"
61
+ FORMATOPTION "QUANTIZE_FORCE=ON"
62
+ FORMATOPTION "QUANTIZE_COLORS=256"
63
+ END
64
+ PROJECTION
65
+ "init=epsg:{{cookiecutter.srid}}"
66
+ END
67
+ WEB
68
+ METADATA
69
+ "wms_title" "changeme"
70
+ "wms_abstract" "changeme"
71
+ "ows_onlineresource" "${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}mapserv_proxy?ogcserver=source%20for%20image%2Fpng"
72
+ "wms_srs" "EPSG:{{cookiecutter.srid}}"
73
+ "wms_enable_request" "*"
74
+ "wfs_enable_request" "!*"
75
+ "wms_allow_getmap_without_styles" "true"
76
+ END
77
+ END
78
+ LEGEND
79
+ LABEL
80
+ ENCODING "UTF-8"
81
+ TYPE TRUETYPE
82
+ FONT "Arial"
83
+ SIZE 9
84
+ END
85
+ END
86
+ INCLUDE "demo.map"
87
+ END
@@ -0,0 +1,36 @@
1
+ <tinyows
2
+ online_resource="${VISIBLE_WEB_PROTOCOL}://${VISIBLE_WEB_HOST}${VISIBLE_ENTRY_POINT}tinyows_proxy"
3
+ schema_dir="/usr/share/tinyows/schema/"
4
+ log="/var/log/tinyows.log"
5
+ log_level="1"
6
+ check_schema="0">
7
+
8
+ <contact
9
+ name="GeoMapFish"
10
+ site="https://www.geomapfish.org/"
11
+ email="geomapfish@googlegroups.com" />
12
+
13
+ <metadata
14
+ name="GeoMapFish TinyOWS Server"
15
+ title="GeoMapFish TinyOWS Server" />
16
+
17
+ <pg
18
+ host="${PGHOST}"
19
+ user="${PGUSER}"
20
+ password="${PGPASSWORD}"
21
+ port="${PGPORT}"
22
+ dbname="${PGDATABASE}" />
23
+
24
+ <!--
25
+ <layer
26
+ retrievable="1"
27
+ writable="1"
28
+ ns_prefix="tows"
29
+ ns_uri="https://www.tinyows.org/"
30
+ name="point"
31
+ schema="edit"
32
+ table="point"
33
+ title="Points"
34
+ pkey="id" />
35
+ -->
36
+ </tinyows>
@@ -0,0 +1,207 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
3
+ <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="gmf16_A3_landscape" pageWidth="1191" pageHeight="842" orientation="Landscape" columnWidth="1151" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2646b6ef-0cc4-4852-b6e9-8c4dc54c2e84">
4
+ <parameter name="title" class="java.lang.String"/>
5
+ <parameter name="username" class="java.lang.String"/>
6
+ <parameter name="comments" class="java.lang.String"/>
7
+ <parameter name="debug" class="java.lang.Boolean"/>
8
+ <parameter name="mapSubReport" class="java.lang.String"/>
9
+ <parameter name="legendDataSource" class="net.sf.jasperreports.engine.data.JRTableModelDataSource"/>
10
+ <parameter name="legendSubReport" class="java.lang.String"/>
11
+ <parameter name="numberOfLegendRows" class="java.lang.Integer"/>
12
+ <parameter name="scalebarSubReport" class="java.lang.String"/>
13
+ <parameter name="northArrowSubReport" class="java.lang.String"/>
14
+ <parameter name="timezone" class="java.lang.String"/>
15
+ <parameter name="jrDataSource" class="net.sf.jasperreports.engine.JRDataSource"/>
16
+ <parameter name="mapContext" class="org.mapfish.print.attribute.map.MapfishMapContext"/>
17
+ <pageHeader>
18
+ <band height="28">
19
+ <property name="local_mesure_unitheight" value="pixel"/>
20
+ <property name="com.jaspersoft.studio.unit.height" value="px"/>
21
+ <staticText>
22
+ <reportElement x="1053" y="3" width="92" height="20" uuid="a3415515-0882-489b-960d-1e65f08f42eb">
23
+ <property name="local_mesure_unitheight" value="pixel"/>
24
+ <property name="com.jaspersoft.studio.unit.height" value="px"/>
25
+ <property name="com.jaspersoft.studio.unit.x" value="pixel"/>
26
+ <printWhenExpression><![CDATA[$P{debug}]]></printWhenExpression>
27
+ </reportElement>
28
+ <textElement textAlignment="Right">
29
+ <font size="6"/>
30
+ </textElement>
31
+ <text><![CDATA[En-tête, sur chaque page]]></text>
32
+ </staticText>
33
+ <textField>
34
+ <reportElement x="798" y="1" width="255" height="20" uuid="7a78a1f1-5b99-465d-80ea-b34e36efcda5">
35
+ <property name="local_mesure_unitheight" value="pixel"/>
36
+ <property name="com.jaspersoft.studio.unit.height" value="px"/>
37
+ </reportElement>
38
+ <textElement textAlignment="Right">
39
+ <font size="8"/>
40
+ </textElement>
41
+ <textFieldExpression><![CDATA[
42
+ $R{date_pre} + " " + java.time.ZonedDateTime.now().format(
43
+ java.time.format.DateTimeFormatter.
44
+ ofPattern("EEEE dd MMMM yyyy HH:mm").
45
+ withLocale($P{REPORT_LOCALE}).
46
+ withZone(java.time.ZoneId.of($P{timezone}))
47
+ )
48
+ ]]></textFieldExpression>
49
+ </textField>
50
+ <textField>
51
+ <reportElement x="180" y="2" width="365" height="20" uuid="953c0d72-060f-4ed9-9b6b-9e26da551dbe">
52
+ <property name="local_mesure_unitheight" value="pixel"/>
53
+ <property name="com.jaspersoft.studio.unit.height" value="px"/>
54
+ </reportElement>
55
+ <textElement>
56
+ <font size="16" isBold="true"/>
57
+ </textElement>
58
+ <textFieldExpression><![CDATA[$P{title}]]></textFieldExpression>
59
+ </textField>
60
+ <image>
61
+ <reportElement x="0" y="1" width="180" height="24" uuid="0237d3bd-9a8a-4d87-8ad9-aec15a7c0380"/>
62
+ <imageExpression><![CDATA["logo.png"]]></imageExpression>
63
+ </image>
64
+ </band>
65
+ </pageHeader>
66
+ <detail>
67
+ <band height="718" splitType="Stretch">
68
+ <property name="local_mesure_unitheight" value="pixel"/>
69
+ <property name="com.jaspersoft.studio.unit.height" value="pixel"/>
70
+ <subreport>
71
+ <reportElement mode="Transparent" x="0" y="7" width="1150" height="673" uuid="ecd0f7f7-a685-4a3b-a4cd-8ffd736753d8"/>
72
+ <subreportExpression><![CDATA[$P{mapSubReport}]]></subreportExpression>
73
+ </subreport>
74
+ <staticText>
75
+ <reportElement x="1053" y="7" width="95" height="20" uuid="0600fc24-db21-4948-8939-7de7e1559581">
76
+ <property name="com.jaspersoft.studio.unit.x" value="pixel"/>
77
+ <printWhenExpression><![CDATA[$P{debug}]]></printWhenExpression>
78
+ </reportElement>
79
+ <textElement textAlignment="Right">
80
+ <font size="6"/>
81
+ </textElement>
82
+ <text><![CDATA[Detail band 1]]></text>
83
+ </staticText>
84
+ <subreport>
85
+ <reportElement x="1048" y="611" width="40" height="40" uuid="47ebc178-31d8-41b4-a74b-eb58994be7bc"/>
86
+ <subreportExpression><![CDATA[$P{northArrowSubReport}]]></subreportExpression>
87
+ </subreport>
88
+ <staticText>
89
+ <reportElement x="1140" y="611" width="10" height="66" uuid="5ea8ae5b-2d1d-4228-abca-8a9c3cd869f9"/>
90
+ <textElement textAlignment="Right" rotation="Left">
91
+ <font size="4"/>
92
+ </textElement>
93
+ <text><![CDATA[Développé par Camptocamp SA]]></text>
94
+ </staticText>
95
+ <subreport>
96
+ <reportElement x="17" y="638" width="155" height="20" uuid="55329eae-d818-4fab-bbef-93ce03accf9b"/>
97
+ <subreportExpression><![CDATA[$P{scalebarSubReport}]]></subreportExpression>
98
+ </subreport>
99
+ <textField>
100
+ <reportElement isPrintRepeatedValues="false" x="1027" y="685" width="122" height="20" uuid="c8003898-f32c-4366-b7f0-2e9c989b5a46">
101
+ <printWhenExpression><![CDATA[$V{PAGE_NUMBER}==1]]></printWhenExpression>
102
+ </reportElement>
103
+ <textElement textAlignment="Center" verticalAlignment="Middle"/>
104
+ <textFieldExpression><![CDATA[String.format("1: %,.0f",
105
+ $P{mapContext}.getScale().getDenominator()).replace(",","\'")]]></textFieldExpression>
106
+ </textField>
107
+ <textField textAdjust="StretchHeight">
108
+ <reportElement x="0" y="684" width="950" height="23" uuid="b14dbd4b-e887-454e-9dcd-293e29fb4b04"/>
109
+ <textFieldExpression><![CDATA[$P{comments}]]></textFieldExpression>
110
+ </textField>
111
+ <line>
112
+ <reportElement x="0" y="4" width="1150" height="1" forecolor="#FA7500" uuid="e6944e80-6190-430e-8406-de1abc115672">
113
+ <property name="local_mesure_unitwidth" value="pixel"/>
114
+ </reportElement>
115
+ </line>
116
+ <line>
117
+ <reportElement x="0" y="2" width="1150" height="1" forecolor="#FA7500" uuid="944708f5-e77c-42a2-9f9d-81f9db15938c">
118
+ <property name="local_mesure_unitwidth" value="pixel"/>
119
+ <property name="com.jaspersoft.studio.unit.width" value="pixel"/>
120
+ </reportElement>
121
+ </line>
122
+ </band>
123
+ <band height="65">
124
+ <printWhenExpression><![CDATA[!($P{jrDataSource} instanceof net.sf.jasperreports.engine.JREmptyDataSource)]]></printWhenExpression>
125
+ <subreport>
126
+ <reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="1150" height="60" uuid="f3e640af-cdac-4a90-9ec1-6a9a7eefc8f4"/>
127
+ <dataSourceExpression><![CDATA[$P{jrDataSource}]]></dataSourceExpression>
128
+ <subreportExpression><![CDATA["results.jasper"]]></subreportExpression>
129
+ </subreport>
130
+ <staticText>
131
+ <reportElement x="1053" y="0" width="95" height="20" uuid="88631b30-d237-4e29-b531-20483a50d1f1">
132
+ <printWhenExpression><![CDATA[$P{debug}]]></printWhenExpression>
133
+ </reportElement>
134
+ <textElement textAlignment="Right">
135
+ <font size="6"/>
136
+ </textElement>
137
+ <text><![CDATA[Detail band 2]]></text>
138
+ </staticText>
139
+ <break>
140
+ <reportElement x="0" y="0" width="99" height="1" uuid="43a86d19-fd1a-4401-b858-986099bb30d9"/>
141
+ </break>
142
+ </band>
143
+ <band height="82" splitType="Stretch">
144
+ <printWhenExpression><![CDATA[$P{numberOfLegendRows} != 0]]></printWhenExpression>
145
+ <line>
146
+ <reportElement x="0" y="0" width="1" height="1" forecolor="#FFFFFF" uuid="0fb0a59f-b15a-40ff-8c77-50fd77a3abc3"/>
147
+ </line>
148
+ <staticText>
149
+ <reportElement positionType="FixRelativeToBottom" x="1053" y="0" width="95" height="20" uuid="12ee394e-d031-4f14-8314-8de274d9a042">
150
+ <printWhenExpression><![CDATA[$P{debug}]]></printWhenExpression>
151
+ </reportElement>
152
+ <textElement textAlignment="Right">
153
+ <font size="6"/>
154
+ </textElement>
155
+ <text><![CDATA[Detail band 3]]></text>
156
+ </staticText>
157
+ <textField>
158
+ <reportElement x="0" y="1" width="460" height="20" forecolor="#424242" uuid="385742e7-a286-4456-b687-395a1a540023"/>
159
+ <textElement>
160
+ <font size="16" isBold="true"/>
161
+ </textElement>
162
+ <textFieldExpression><![CDATA[$R{legend}]]></textFieldExpression>
163
+ </textField>
164
+ <subreport>
165
+ <reportElement stretchType="RelativeToTallestObject" x="0" y="26" width="1150" height="56" uuid="6a01e0f0-7ebb-40f6-97eb-2979e6fff149"/>
166
+ <dataSourceExpression><![CDATA[$P{legendDataSource}]]></dataSourceExpression>
167
+ <subreportExpression><![CDATA[$P{legendSubReport}]]></subreportExpression>
168
+ </subreport>
169
+ </band>
170
+ </detail>
171
+ <pageFooter>
172
+ <band height="56">
173
+ <line>
174
+ <reportElement x="0" y="0" width="1153" height="1" forecolor="#FA7500" uuid="5385dd1f-75f8-45c9-afa0-9bad2cffbc9e">
175
+ <property name="local_mesure_unitwidth" value="pixel"/>
176
+ </reportElement>
177
+ </line>
178
+ <staticText>
179
+ <reportElement positionType="FixRelativeToBottom" x="1054" y="0" width="95" height="20" uuid="d86021da-c1ea-41ed-9613-3ebcce7e11be">
180
+ <printWhenExpression><![CDATA[$P{debug}]]></printWhenExpression>
181
+ </reportElement>
182
+ <textElement textAlignment="Right">
183
+ <font size="6"/>
184
+ </textElement>
185
+ <text><![CDATA[Pied de page, sur chaque page]]></text>
186
+ </staticText>
187
+ <textField>
188
+ <reportElement x="0" y="1" width="300" height="14" uuid="54e7e518-a3ee-41f1-b000-9550cad968e1"/>
189
+ <textFieldExpression><![CDATA[$R{info}]]></textFieldExpression>
190
+ </textField>
191
+ <textField>
192
+ <reportElement x="1087" y="21" width="38" height="30" uuid="7db93d89-f1a1-4135-8143-661152955717"/>
193
+ <textElement textAlignment="Right" verticalAlignment="Bottom"/>
194
+ <textFieldExpression><![CDATA[$R{page} + " " + $V{PAGE_NUMBER}]]></textFieldExpression>
195
+ </textField>
196
+ <textField evaluationTime="Report">
197
+ <reportElement x="1125" y="21" width="22" height="30" uuid="c3450c45-a812-40a4-9a5e-c62dd7cef852"/>
198
+ <textElement verticalAlignment="Bottom"/>
199
+ <textFieldExpression><![CDATA[" / " + $V{PAGE_NUMBER}]]></textFieldExpression>
200
+ </textField>
201
+ <textField>
202
+ <reportElement x="0" y="15" width="300" height="15" uuid="f2fb034e-297f-4107-a5f5-da84722deb70"/>
203
+ <textFieldExpression><![CDATA[$P{username}]]></textFieldExpression>
204
+ </textField>
205
+ </band>
206
+ </pageFooter>
207
+ </jasperReport>