Skip to content

Améliore la partie WFS et permet l'utilisation en rasters des calques de vulnérabilités/LCZ#613

Open
QuentinMadura wants to merge 22 commits intodevfrom
optimize-wfs
Open

Améliore la partie WFS et permet l'utilisation en rasters des calques de vulnérabilités/LCZ#613
QuentinMadura wants to merge 22 commits intodevfrom
optimize-wfs

Conversation

@QuentinMadura
Copy link
Copy Markdown
Contributor

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 14, 2026

📊 Frontend Coverage Report

Commit: 87a69c1
Base: dev@7e674b7

Overall Coverage

Type Base This PR Diff
Statements ?  56.39% ?
Functions ?  49.87% ?
Lines ?  57.02% ?
📁 All Files Coverage
FileStatementsBranchesFunctionsLines
src/App.vue 100% 100% 100% 100%
src/api.ts 56.41% 38.88% 85.71% 57.89%
src/components/AppDrawer.vue 51.11% 12% 46.15% 52.27%
src/components/EmptyMessage.vue 100% 100% 100% 100%
src/components/FeedbackPopin.vue 77.77% 100% 50% 77.77%
src/components/WelcomeMessage.vue 48.27% 60% 33.33% 50%
src/components/contextData/MapCadastreParcelInfo.vue 100% 100% 100% 100%
src/components/contextData/MapContextData.vue 100% 13.33% 100% 100%
src/components/contextData/MapContextDataBiosphereIntegrity.vue 20% 0% 0% 25%
src/components/contextData/MapContextDataClimateZone.vue 100% 50% 100% 100%
src/components/contextData/MapContextDataPlantability.vue 66.66% 52.63% 57.14% 66.66%
src/components/contextData/MapContextDataPlantabilityVulnerability.vue 44.44% 0% 0% 57.14%
src/components/contextData/MapContextDataVegetation.vue 0% 0% 0% 0%
src/components/contextData/MapContextDataVulnerability.vue 77.27% 47.05% 87.5% 77.77%
src/components/contextData/biosphereIntegrity/BiosphereIntegrityMainContextDataScore.vue 0% 100% 100% 0%
src/components/contextData/climate/ClimateContextDataMetrics.vue 100% 100% 100% 100%
src/components/contextData/climate/ClimateContextDataScore.vue 100% 87.5% 100% 100%
src/components/contextData/plantability/PlantabilityContextDataList.vue 81.48% 71.42% 87.5% 81.81%
src/components/contextData/plantability/PlantabilityContextDataScore.vue 100% 100% 100% 100%
src/components/contextData/plantability/PlantabilityDistributionChart.vue 78.2% 70.37% 83.33% 83.82%
src/components/contextData/shared/ContextDataAccordionItem.vue 94.44% 84.37% 100% 100%
src/components/contextData/shared/ContextDataItem.vue 76.19% 65.62% 100% 80%
src/components/contextData/shared/ContextDataListContainer.vue 100% 100% 100% 100%
src/components/contextData/shared/ContextDataMainContainer.vue 100% 90% 100% 100%
src/components/contextData/shared/ContextDataScore.vue 89.28% 81.25% 100% 88.88%
src/components/contextData/shared/UnsupportedShapeModeMessage.vue 60% 0% 0% 60%
src/components/contextData/vegestrate/VegestrateContextDataInfo.vue 46.15% 0% 0% 54.54%
src/components/contextData/vulnerability/VulnerabilityContextDataLegend.vue 100% 100% 100% 100%
src/components/contextData/vulnerability/VulnerabilityContextDataList.vue 96% 76.19% 100% 95.83%
src/components/contextData/vulnerability/VulnerabilityContextDataScore.vue 100% 100% 100% 100%
src/components/contextData/vulnerability/VulnerabilityContextDataScoreBadge.vue 100% 100% 100% 100%
src/components/contextData/vulnerability/VulnerabilityMainContextDataScore.vue 100% 100% 100% 100%
src/components/contextTools/MapContextTools.vue 100% 50% 100% 100%
src/components/contextTools/VulnerabilityContextTool.vue 33.33% 0% 0% 33.33%
src/components/dashboard/DashboardGrid.vue 100% 100% 100% 100%
src/components/dashboard/DashboardHeader.vue 100% 100% 100% 100%
src/components/dashboard/shared/DashboardArcScore.vue 100% 100% 100% 100%
src/components/dashboard/shared/DashboardBubbleChart.vue 100% 100% 100% 100%
src/components/dashboard/shared/DashboardDetailBars.vue 100% 100% 100% 100%
src/components/dashboard/shared/DashboardWidgetCard.vue 100% 100% 100% 100%
src/components/dashboard/widgets/HeatWidget.vue 100% 100% 100% 100%
src/components/dashboard/widgets/PermeabilityWidget.vue 100% 100% 100% 100%
src/components/dashboard/widgets/PlantabilityWidget.vue 100% 100% 100% 100%
src/components/dashboard/widgets/VegetationWidget.vue 100% 100% 100% 100%
src/components/division/ClickPlantabilityDivisionData.vue 0% 0% 0% 0%
src/components/division/DivisionDataDisplay.vue 100% 100% 100% 100%
src/components/division/PlantabilityCityCard.vue 100% 100% 100% 100%
src/components/division/PlantabilityDivisionData.vue 29.16% 0% 0% 38.88%
src/components/forms/FeedbackForm.vue 100% 100% 100% 100%
src/components/icons/IconBoundary.vue 100% 100% 100% 100%
src/components/icons/IconBuilding.vue 100% 100% 100% 100%
src/components/icons/IconChevron.vue 100% 100% 100% 100%
src/components/icons/IconClose.vue 100% 100% 100% 100%
src/components/icons/IconIarbreLogo.vue 100% 100% 100% 100%
src/components/icons/IconInfo.vue 100% 100% 100% 100%
src/components/icons/IconLegal.vue 100% 100% 100% 100%
src/components/icons/IconMap.vue 100% 100% 100% 100%
src/components/icons/IconMoon.vue 0% 0% 100% 0%
src/components/icons/IconSettings.vue 100% 100% 100% 100%
src/components/icons/IconSun.vue 100% 0% 100% 100%
src/components/icons/LayerSwitcherIcon.vue 100% 100% 100% 100%
src/components/icons/LegendIcon.vue 100% 100% 100% 100%
src/components/layerSwitcher/LayerSwitcher.vue 71.42% 100% 33.33% 71.42%
src/components/layerSwitcher/MapLayerSwitcher.vue 100% 50% 100% 100%
src/components/map/DrawingControls.vue 100% 100% 100% 100%
src/components/map/DrawingModeToggle.vue 100% 100% 100% 100%
src/components/map/MapBackgroundSelector.vue 100% 100% 100% 100%
src/components/map/MapComponent.vue 100% 100% 100% 100%
src/components/map/MapCoordinates.vue 100% 100% 100% 100%
src/components/map/MapGeocoder.vue 100% 100% 100% 100%
src/components/map/MapLayerToggles.vue 100% 100% 100% 100%
src/components/map/SelectionModeToolbar.vue 100% 100% 100% 100%
src/components/map/controls/MapControlButton.vue 100% 100% 100% 100%
src/components/map/controls/MapStyleOption.vue 100% 100% 100% 100%
src/components/map/controls/SelectionModeButton.vue 100% 100% 100% 100%
src/components/map/legend/BiosphereFunctionalIntegrityLegend.vue 100% 100% 100% 100%
src/components/map/legend/ClimateZoneLegend.vue 90.9% 100% 75% 90.9%
src/components/map/legend/FilterIndicator.vue 100% 100% 100% 100%
src/components/map/legend/MapLegend.vue 100% 100% 100% 100%
src/components/map/legend/PlantVulnerabilityLegend.vue 100% 100% 100% 100%
src/components/map/legend/PlantabilityLegend.vue 87.5% 88.88% 0% 87.5%
src/components/map/legend/VegetationLegend.vue 100% 100% 100% 100%
src/components/map/legend/VulnerabilityLegend.vue 100% 100% 100% 100%
src/components/map/panels/MapBoundaryToggleButton.vue 16.66% 0% 0% 16.66%
src/components/map/panels/MapCadastreToggleButton.vue 16.66% 0% 0% 16.66%
src/components/map/panels/MapFiltersStatus.vue 100% 100% 100% 100%
src/components/map/panels/MapQpvToggleButton.vue 16.66% 0% 0% 16.66%
src/components/map/panels/MapScoresDrawer.vue 100% 100% 100% 100%
src/components/map/panels/sidepanel/ApiDocDialog.vue 61.25% 86.08% 32.14% 63.51%
src/components/map/panels/sidepanel/MapSidePanel.vue 81.25% 60% 50% 80%
src/components/map/panels/sidepanel/MapSidePanelDownload.vue 100% 100% 100% 100%
src/components/map/panels/sidepanel/MapSidePanelFooter.vue 100% 100% 100% 100%
src/components/map/panels/sidepanel/MapSidePanelHeader.vue 90.9% 81.81% 75% 100%
src/components/map/score/BivariateCellLabel.vue 100% 100% 100% 100%
src/components/map/score/ClimateZoneScoreLabel.vue 100% 100% 100% 100%
src/components/map/score/ScoreLabel.vue 81.81% 53.33% 66.66% 77.77%
src/components/map/score/ScoreTag.vue 100% 50% 100% 100%
src/components/map/score/VulnerabilityScoreLabel.vue 87.5% 80% 66.66% 83.33%
src/components/mapSwitcher/MapSwitcher.vue 100% 100% 100% 100%
src/components/navbar/NavbarComponent.vue 57.57% 61.53% 28.57% 61.29%
src/components/progress/CircularProgress.vue 84.61% 50% 100% 81.81%
src/components/shared/AppAccordion.vue 100% 100% 100% 100%
src/components/shared/AppAccordionPanel.vue 100% 100% 100% 100%
src/components/shared/AppBadge.vue 100% 100% 100% 100%
src/components/shared/AppButton.vue 71.42% 59.37% 100% 71.42%
src/components/shared/AppDialog.vue 92.3% 78.57% 100% 92.3%
src/components/shared/AppSelect.vue 59.37% 25% 40% 59.37%
src/components/shared/AppSpinner.vue 0% 100% 100% 0%
src/components/shared/AppToast.vue 100% 100% 100% 100%
src/components/shared/AppToggleSwitch.vue 0% 0% 0% 0%
src/components/shared/CircularScore.vue 81.42% 57.14% 92.85% 83.82%
src/components/shared/icons/IconCopy.vue 100% 100% 100% 100%
src/components/sidebar/SidebarComponent.vue 73.52% 72.72% 50% 71.87%
src/components/toggle/ExpandToggle.vue 100% 100% 100% 100%
src/composables/useClimateZone.ts 100% 100% 100% 100%
src/composables/useContextData.ts 100% 100% 100% 100%
src/composables/useContextDataStyles.ts 100% 100% 100% 100%
src/composables/useD3Chart.ts 100% 100% 100% 100%
src/composables/useMapFilters.ts 100% 100% 100% 100%
src/composables/usePlantabilityData.ts 100% 100% 100% 100%
src/composables/useTerraDraw.ts 100% 100% 100% 100%
src/composables/useToast.ts 100% 100% 100% 100%
src/composables/useTutorial.ts 100% 100% 100% 100%
src/composables/useVulnerabilityData.ts 100% 100% 100% 100%
src/directives/tooltip.ts 30.37% 18.75% 33.33% 31.5%
src/layouts/DefaultLayout.vue 100% 100% 100% 100%
src/router/index.ts 100% 100% 100% 100%
src/stores/app.ts 71.42% 100% 36.36% 70.83%
src/stores/dashboard.ts 100% 100% 100% 100%
src/stores/map.ts 19.94% 0% 9.83% 20.05%
src/stores/tutorial.ts 37.83% 0% 8.33% 42.42%
src/theme/iArbre.ts 100% 100% 100% 100%
src/types/LocalStorageTypes.ts 100% 100% 100% 100%
src/types/api.ts 100% 100% 100% 100%
src/types/biosphereIntegrity.ts 100% 100% 100% 100%
src/types/climate.ts 100% 100% 100% 100%
src/types/contextData.ts 100% 100% 100% 100%
src/types/dashboard.ts 100% 100% 100% 100%
src/types/division.ts 100% 100% 100% 100%
src/types/map.ts 100% 100% 100% 100%
src/types/plantability.ts 100% 100% 100% 100%
src/types/tutorial.ts 100% 100% 100% 100%
src/types/vegetation.ts 100% 100% 100% 100%
src/types/vulnerability.ts 100% 100% 100% 100%
src/types/vulnerability_plantability.ts 100% 100% 100% 100%
src/utils/LocalStorageHandler.ts 100% 100% 100% 100%
src/utils/biosphere_functional_integrity.ts 100% 100% 100% 100%
src/utils/breakpoints.ts 100% 100% 100% 100%
src/utils/climateZone.ts 100% 100% 100% 100%
src/utils/clipboard.ts 100% 100% 100% 100%
src/utils/color.ts 100% 100% 100% 100%
src/utils/constants.ts 100% 100% 100% 100%
src/utils/dashboardColors.ts 100% 100% 100% 100%
src/utils/enum.ts 100% 100% 100% 100%
src/utils/format.ts 100% 100% 100% 100%
src/utils/geocoder.ts 100% 100% 100% 100%
src/utils/map.ts 100% 100% 100% 100%
src/utils/mapControls.ts 100% 100% 100% 100%
src/utils/mapStyleOptions.ts 100% 100% 100% 100%
src/utils/plantability.ts 100% 100% 100% 100%
src/utils/plantability_vulnerability.ts 100% 100% 100% 100%
src/utils/queryParams.ts 100% 100% 100% 100%
src/utils/vegetation.ts 100% 100% 100% 100%
src/utils/vulnerability.ts 100% 100% 100% 100%
src/views/DashboardView.vue 100% 100% 100% 100%
src/views/LegalView.vue 81.81% 72.72% 33.33% 81.81%
src/views/MapView.vue 100% 100% 100% 100%
src/views/NotFoundView.vue 100% 100% 100% 100%

Generated by NYC Coverage Report

@github-actions
Copy link
Copy Markdown

Preview Deployment Ready

Your feature branch has been deployed successfully!

Preview URL: https://feature-optimize-wfs-carte.iarbre.fr

The preview will be automatically deleted when the PR is closed or merged.

@QuentinMadura QuentinMadura force-pushed the optimize-wfs branch 2 times, most recently from 2344947 to f64ea70 Compare April 14, 2026 12:26
@QuentinMadura QuentinMadura changed the title adds flatgeobuf Améliore la partie WFS et permet l'utilisation en rasters des calques de vulnérabilités/LCZ Apr 16, 2026
Comment on lines +20 to +23
"vulnerability": _entry("rasters/vulnerability.tif"),
"vulnerability_colors": _entry("rasters/vulnerability_colors.tif"),
"lcz": _entry("rasters/lcz.tif"),
"lcz_colors": _entry("rasters/lcz_colors.tif"),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tu les as généré eux et tu les a mis en DB ?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si c'est possible sans faire une usine à gaz, je serais plus pour un truc plus général de rasterize_vector.py (on a déjà une commande vectorize_raster.py). Là tu choisis avec des args ce que tu veux rasterize mais en même temps si on rajoute un modèle il faut beaucoup rajouter de code

Ainsi que de mettre les codes couleurs dans un utils/constants.py parce qu'il y a la galère de les avoir aligné avec le front donc autant les avoir à un endroit plus facile à trouver que dans une commande ?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ca serait éventuellement aussi à tester comme commande

Comment on lines +74 to +75
"city__code",
"city__name",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je les avais mis puis enlevé pour faire en sorte que cette requête supplémentaire (certes rapide parce le select_related et qu'il y a une clef étrangère) ne ralentisse pas le flux

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tu as fait des tests en condition réel de ça ? Je veux dire de comparaison entre le deploy sur feature-... et le même flux sur carte.iarbre.fr ?

Parce que Claude m'avait proposé des trucs qui en réalité ralentissait quand je testais une fois deploy

add_header Cache-Control "public, max-age=86400" always;
}
location = /api/rasters/plantability_colors.tif {
alias {{ backend_media_path }}/rasters/plantability_colors.tif;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Faudra avoir une attention que les noms sont ici en durs et donc qu'il faut les modifier si des choses bougent en DB

Comment thread deploy/backend.yml
Comment on lines +98 to +102
- name: Regenerate calque rasters with platform colors
shell:
cmd: "{{ project_slug }}-ctl generate_calque_rasters"
ignore_errors: true
when: branch is not defined and (clonecode.changed or force_update is defined)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les données sont amenées à changer une fois par an, donc plutôt pour faire le calcul une fois, mettre en DB et sur S3 plutôt que recalculer à chaque deploy

}


# -- Command -----------------------------------------------------------------
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commentaire

@ludovicdmt ludovicdmt linked an issue Apr 22, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ETQ utilisateur.ice je veux un flux WFS plus rapide

2 participants