From e678a52302d6d6909d48b85e6e35fc554af2c8a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Thu, 19 Mar 2026 19:51:03 +0100 Subject: [PATCH 1/6] =?UTF-8?q?Adaptation=20=C3=A0=20la=20refonte=20des=20?= =?UTF-8?q?services=20OGC=20API=20du=20serveur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ CMakeLists.txt | 2 +- include/rok4/enums/Format.h | 10 +++++----- include/rok4/utils/BoundingBox.h | 6 +++--- src/enums/Format.cpp | 10 +++++----- src/image/file/LibtiffImage.cpp | 4 ++-- 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 833d23b8..a6635a12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,10 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce pr - `Boundingbox` : Mise en place de valeur maximale et minimale pour les bbox en wms-r. - `Style` : Ajout des préfix ogc pour le title et l'abstract sur le wmts +- +### Changed + +- Correction de conversions au format API OGC (format et bbox) ## [3.0.0] - 2026-03-12 diff --git a/CMakeLists.txt b/CMakeLists.txt index dbf659d5..00d9a8b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set(CEPH_ENABLED 0 CACHE BOOL "Build with ceph storage") set(KDU_ENABLED 0 CACHE BOOL "Build with kakadu") set(UNITTEST_ENABLED 1 CACHE BOOL "Unit tests compilation") set(DOC_ENABLED 1 CACHE BOOL "Documentation compilation") -set(CPACK_SYSTEM_NAME "ubuntu-20.04" CACHE STRING "Building OS, to deduce package format to generate") +set(CPACK_SYSTEM_NAME "ubuntu-22.04" CACHE STRING "Building OS, to deduce package format to generate") set(CPACK_PACKAGE_NAME "librok4-dev" CACHE STRING "Package's name") set(VERSION ${BUILD_VERSION}) diff --git a/include/rok4/enums/Format.h b/include/rok4/enums/Format.h index e1f5f91a..0938b079 100644 --- a/include/rok4/enums/Format.h +++ b/include/rok4/enums/Format.h @@ -374,14 +374,14 @@ std::string to_string ( eFormat format ); std::string to_mime_type ( eFormat format ); /** - * \~french \brief Conversion d'un format vers une chaîne de caractère (format OGC API Tiles) + * \~french \brief Conversion d'un format vers une chaîne de caractère (format OGC API) * \param[in] format format à convertir - * \return format OGC API Tiles du format - * \~english \brief Convert a format to a string (format OGC API Tiles) + * \return format OGC API du format + * \~english \brief Convert a format to a string (format OGC API) * \param[in] format format to convert - * \return format OGC API Tiles of the format + * \return format OGC API of the format */ -std::string to_tiles_format ( eFormat format ); +std::string to_ogcapi_format ( eFormat format ); /** * \~french \brief Conversion d'un format vers une chaîne de caractère (extension) diff --git a/include/rok4/utils/BoundingBox.h b/include/rok4/utils/BoundingBox.h index df03d873..6965e407 100644 --- a/include/rok4/utils/BoundingBox.h +++ b/include/rok4/utils/BoundingBox.h @@ -432,12 +432,12 @@ class BoundingBox { } /** - * \~french \brief Exporte la bbox en JSON conformément à OGC API Tiles + * \~french \brief Exporte la bbox en JSON conformément à OGC API * \details La bbox est considérée comme étant en CRS84 - * \~english \brief Get the bbox as JSON, OGC API Tiles compliant + * \~english \brief Get the bbox as JSON, OGC API compliant * \details Bbox is considered as CRS84 one */ - json11::Json to_json_tiles() const { + json11::Json to_json_ogcapi() const { return json11::Json::object { { "spatial", json11::Json::object { { "crs", "http://www.opengis.net/def/crs/OGC/1.3/CRS84" }, diff --git a/src/enums/Format.cpp b/src/enums/Format.cpp index 4d8cd2c9..d473257d 100644 --- a/src/enums/Format.cpp +++ b/src/enums/Format.cpp @@ -258,7 +258,7 @@ const char *eformat_mime[] = { "application/x-protobuf" }; -const char *eformat_tiles[] = { +const char *eformat_ogcapi[] = { "UNKNOWN", "tiff", @@ -269,9 +269,9 @@ const char *eformat_tiles[] = { "tiff", "tiff", + "bil", "tiff", - "tiff", - "tiff", + "bil", "tiff", "mvt" @@ -407,8 +407,8 @@ std::string to_mime_type ( eFormat format ) { return std::string ( eformat_mime[format] ); } -std::string to_tiles_format ( eFormat format ) { - return std::string ( eformat_tiles[format] ); +std::string to_ogcapi_format ( eFormat format ) { + return std::string ( eformat_ogcapi[format] ); } std::string to_extension ( eFormat format ) { diff --git a/src/image/file/LibtiffImage.cpp b/src/image/file/LibtiffImage.cpp index 19fb2547..bee1aba4 100644 --- a/src/image/file/LibtiffImage.cpp +++ b/src/image/file/LibtiffImage.cpp @@ -562,7 +562,7 @@ int LibtiffImage::_getline ( T* buffer, int line ) { // Si l'image a une photometrie Palette ou bien YCBCR --> TIFFReadRGBATile if (palette || photometric == Photometric::YCBCR) { - uint32* palette_buffer = new uint32[width * rowsperstrip]; + uint32_t* palette_buffer = new uint32_t[width * rowsperstrip]; size = TIFFReadRGBATile(tif, t * tile_width, current_strip * tile_height, palette_buffer ); if ( size == 0 ) { @@ -608,7 +608,7 @@ int LibtiffImage::_getline ( T* buffer, int line ) { } else { // Si l'image a une photometrie Palette ou bien YCBCR --> TIFFReadRGBAStrip if (palette || photometric == Photometric::YCBCR) { - uint32* palette_buffer = new uint32[width * rowsperstrip]; + uint32_t* palette_buffer = new uint32_t[width * rowsperstrip]; size = TIFFReadRGBAStrip ( tif, line, palette_buffer); if ( size == 0 ) { BOOST_LOG_TRIVIAL(error) << "Cannot read strip number " << current_strip << " of image with color map " << filename ; From 3de02f4b091d2f8ae56b4ab3835744cad1833cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Fri, 26 Jun 2026 09:53:51 +0200 Subject: [PATCH 2/6] Correction de la CI --- .github/workflows/build-and-release.yaml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index 7245d9de..3326a922 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -38,7 +38,7 @@ jobs: - name: Write release notes run: | - echo "{{ query_release_info.outputs.release-notes }}" >notes.txt + echo "${{ steps.query_release_info.outputs.release-notes }}" >notes.txt - name: Create Release id: create_release @@ -57,14 +57,8 @@ jobs: needs: create_release outputs: job_status: ${{ job.status }} - strategy: - max-parallel: 2 - fail-fast: true - matrix: - include: - - os: [ubuntu-22.04, ubuntu-24.04] - runs-on: ${{ matrix.os }} + runs-on: ubuntu-24.04 steps: - name: Checkout project @@ -83,7 +77,7 @@ jobs: - name: Build packages run: | mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=${{ github.ref_name }} -DCPACK_SYSTEM_NAME=${{ matrix.os }} .. + cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=${{ github.ref_name }} -DCPACK_SYSTEM_NAME="ubuntu-24.04" .. make -j2 make package cmake -DCEPH_ENABLED=1 .. @@ -91,7 +85,6 @@ jobs: make package - name: Run unit tests - if: "matrix.os == 'ubuntu-22.04'" run: | cd build make test @@ -104,7 +97,6 @@ jobs: release-tag: ${{ github.ref_name }} - name: Build documentation - if: "matrix.os == 'ubuntu-22.04'" run: | cd build make doc @@ -130,7 +122,6 @@ jobs: run: pip install -r docs/requirements.txt - name: Publish documentation - if: "matrix.os == 'ubuntu-22.04'" run: | git config user.name github-actions git config user.email github-actions@github.com From 46ebed49c259cae344ad0c4062dd44fa65523ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Fri, 26 Jun 2026 14:14:58 +0200 Subject: [PATCH 3/6] Correction de l'emplacement d'installation du deb --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dbf659d5..7a1ce35a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,7 +178,7 @@ if(CEPH_ENABLED) else(CEPH_ENABLED) set(CPACK_PACKAGE_FILE_NAME "librok4-base-${VERSION}-${CPACK_SYSTEM_NAME}-${BUILD_ARCHITECTURE}") endif(CEPH_ENABLED) -set(CPACK_PACKAGING_INSTALL_PREFIX "/") +set(CPACK_PACKAGING_INSTALL_PREFIX "/usr") set(CPACK_PACKAGE_VERSION ${VERSION}) set(CPACK_PACKAGE_VENDOR "IGN") From 2a70b282ad9482c5d1e8b3932484aa5e0703a3f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Fri, 26 Jun 2026 15:16:41 +0200 Subject: [PATCH 4/6] Changelog pour release 4.0.0 --- CHANGELOG.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 732327cf..deb74fe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce pr ## [Unreleased] +## [4.0.0] - 2026-06-26 + +### Changed + +- Correction de conversions au format API OGC (format et bbox) + + ## [3.1.0] - 2026-06-25 ### Added @@ -17,10 +24,6 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce pr - `Boundingbox` : Mise en place de valeur maximale et minimale pour les bbox en wms-r. - `Style` : Ajout des préfix ogc pour le title et l'abstract sur le wmts -- -### Changed - -- Correction de conversions au format API OGC (format et bbox) ## [3.0.0] - 2026-03-12 @@ -229,7 +232,8 @@ Les librairies sont gérées de manière indépendantes, conditionnées pour êt [1.0.3]: https://github.com/rok4/core-cpp/releases/tag/1.0.3 -[Unreleased]: https://github.com/rok4/core-cpp/compare/3.1.0...HEAD +[Unreleased]: https://github.com/rok4/core-cpp/compare/4.0.0...HEAD +[4.0.0]: https://github.com/rok4/core-cpp/compare/3.1.0...4.0.0 [3.1.0]: https://github.com/rok4/core-cpp/compare/3.0.0...3.1.0 [3.0.0]: https://github.com/rok4/core-cpp/compare/2.0.6...3.0.0 From a42ec1e2d6b483774fa46633a09fe6f594e554f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Fri, 26 Jun 2026 09:53:51 +0200 Subject: [PATCH 5/6] Correction de la CI --- .github/workflows/build-and-release.yaml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index 16278f5d..3326a922 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -38,7 +38,7 @@ jobs: - name: Write release notes run: | - echo "${{ query_release_info.outputs.release-notes }}"" >notes.txt + echo "${{ steps.query_release_info.outputs.release-notes }}" >notes.txt - name: Create Release id: create_release @@ -57,14 +57,8 @@ jobs: needs: create_release outputs: job_status: ${{ job.status }} - strategy: - max-parallel: 2 - fail-fast: true - matrix: - include: - - os: [ubuntu-24.04] - runs-on: ${{ matrix.os }} + runs-on: ubuntu-24.04 steps: - name: Checkout project @@ -83,7 +77,7 @@ jobs: - name: Build packages run: | mkdir build && cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=${{ github.ref_name }} -DCPACK_SYSTEM_NAME=${{ matrix.os }} .. + cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_VERSION=${{ github.ref_name }} -DCPACK_SYSTEM_NAME="ubuntu-24.04" .. make -j2 make package cmake -DCEPH_ENABLED=1 .. @@ -91,7 +85,6 @@ jobs: make package - name: Run unit tests - if: "matrix.os == 'ubuntu-24.04'" run: | cd build make test @@ -104,7 +97,6 @@ jobs: release-tag: ${{ github.ref_name }} - name: Build documentation - if: "matrix.os == 'ubuntu-24.04'" run: | cd build make doc @@ -130,7 +122,6 @@ jobs: run: pip install -r docs/requirements.txt - name: Publish documentation - if: "matrix.os == 'ubuntu-24.04'" run: | git config user.name github-actions git config user.email github-actions@github.com From cb9330494ffa8b496a6ac71f45bf28f9c4a0d897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Satabin?= Date: Fri, 26 Jun 2026 14:14:58 +0200 Subject: [PATCH 6/6] Correction de l'emplacement d'installation du deb --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dbf659d5..7a1ce35a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,7 +178,7 @@ if(CEPH_ENABLED) else(CEPH_ENABLED) set(CPACK_PACKAGE_FILE_NAME "librok4-base-${VERSION}-${CPACK_SYSTEM_NAME}-${BUILD_ARCHITECTURE}") endif(CEPH_ENABLED) -set(CPACK_PACKAGING_INSTALL_PREFIX "/") +set(CPACK_PACKAGING_INSTALL_PREFIX "/usr") set(CPACK_PACKAGE_VERSION ${VERSION}) set(CPACK_PACKAGE_VENDOR "IGN")