Table des matières

Synthese - Ajout des statuts des taxons à l'export

Besoin

Les utilisateurs ont besoins de voir apparaître dans le fichier des observations téléchargeable depuis le module Synthese de GeoNature, les informations sur les statuts de protection et de conservation.

Propositions

Ajouter des colonnes suivantes à l'export de la Synthese :

TO DO :

[✓ choarau, 2025-06-27]rajouter commandes vidage cache postgresql

[✓ choarau, 2025-06-27]mail Ornella colonnes à rajouter : 4 colonnes (LR, Protection, Reglementation, ZNIEFF) avec agrégation des ''code_statuts'' par ''cd_type_statuts'' (sous quel format ?) ou 13 colonnes avec ''code_status'' en valeur ?

Ajout script SQL création VM

Modif script maintenance

ATTENTION : l'ajout de ces informations pose des problèmes de performance avec une augmentation non négligeable des temps d'attentes avant le téléchargement et le risque que la demande n'aboutisse pas.

Nous testerons donc la possibilité d'utiliser une vue matérialisée en remplacement de la vue dynamique actuellement utilisée. Si elle s'avère plus efficace, nous la mettrons en place.

Création de VM intermédiaires

Après avoir analysé la VM d'export de la Synthese sur Dalibo, il paraît pertinent de créer trois VM intermédiaires pour améliorer les performances (réduire le temps de rafraîchissement de la VM d'export) :

Tests de performance

Effectués en local sur la base SINP AURA de juin 2025 (~34 millions d'observations) avec un disque SSD NMVe de Génération 4.

La limite du nombre d'observations récupérées a directement été modifiée dans le code pour chaque palier.

L'export a été testé avec les utilisateurs admin et jpm car le premier a tous les droits d'accès aux données sensibles et le second aucune (données sensibles dégradées).

Commande pour vider le cache de la base de données (en root) : systemctl stop postgresql && sync && echo 1 > /proc/sys/vm/drop_caches && systemctl start postgresql

Nb données exportées Vue de base (admin) Vue de base (jpm) Vue + statuts (admin) Vue + statuts (jpm) Vue + VM + statuts (admin) Vue + VM + statuts (jpm) VM + statuts (admin) VM + statuts (jpm)
5 000 1.41 s 1.56s 4.12 s 4.39s 1.53s 1.69s 1.44s 1.57s
10 000 1.68s 1.93s 6.42 s 6.62s 2.39s 2.97s 2.19s 1.95s
25 000 2.43s 2.61s 13.19 s 13.45s 3.13s 4.41s 3.74s 2.74s
50 000 3.54s 3.81s 24.43 s 24.76s 4.46s 6.30s 5.53s 4.01s
100 000 5.50s 6.96s 46.67 s 50.03 s 7.07s / 16.13 s (cache postgresql vidé) 11.72s / 17.79 s (cache postgresql vidé) 9.72s / 9.68s (cache postgresql vidé) 10.08s / 11.48s (cache postgresql vidé)

Résultat : La création des VM intermédiaires et le passage à une VM pour la vue d'export de la synthese est la solution la plus performante.