Ce module GeoNature gère les données du Protocole de Suivi Dendrométrique des
Réserves Forestières (PSDRF) et génère, en Python pur, le carnet d'analyse et
le plan des arbres (le pipeline de calcul vit dans le sous-module
PermPSDRF4py). Plus aucune dépendance à R.
- LaTeX / pdflatex : requis pour compiler les PDF (carnet, plan des arbres).
- Sous-module ``PermPSDRF4py`` : le pipeline de calcul Python, intégré en sous-module git. Il doit être récupéré avant l'installation.
- Dépendances Python (pandas, numpy, scipy, matplotlib, jinja2, openpyxl) :
installées automatiquement par
geonature install_gn_module.
Récupérer le code avec le sous-module :
git clone --recurse-submodules <url_du_module>
Si le dépôt est déjà cloné sans le sous-module :
git submodule update --init --recursive
Installer les dépendances système (LaTeX) et le sous-module :
bash install_env.sh
Se placer dans le répertoire backend de GeoNature, activer le virtualenv, puis lancer l'installation du module :
source venv/bin/activate
geonature install_gn_module /home/<MON_CHEMIN_ABSOLU_VERS_LE_MODULE>/ /cmr
Après l'installation, avant de pouvoir générer un carnet ou un plan des arbres, il faut charger le référentiel administrateur :
Charger PsdrfListes via la page d'administration du module (route
/psdrfListe). Cet upload :- enregistre
PsdrfListes.xlsxdansmedia/psdrf/data/; - crée/maj les Dispositifs et Cycles en base ;
- met à jour le code écologique (nomenclature
PSDRF_ECOLOGIE) ; - génère
media/psdrf/data/tables/psdrfCodes.pkl(les référentiels lus à la génération : essences, tarifs, regroupements, catégories de diamètre…).
Tant que cet upload n'a pas été fait, la génération s'arrête avec un message explicite (« Référentiel introuvable… Charger d'abord PsdrfListes via /psdrfListe »). Aucun fichier n'est à copier à la main : tout passe par cet upload.
- enregistre
Nomenclatures :
PSDRF_DURETEetPSDRF_ECORCE(stades de dureté / écorce) sont créées à l'installation du module (migrations) ; rien à faire.PSDRF_ECOLOGIEest alimentée par l'upload PsdrfListes ci-dessus.Ajouter un dispositif : un dispositif doit figurer dans PsdrfListes (onglets
Cycles,Tarifs,EssReg,Cat) avant de générer son carnet, sinon les volumes seront faux ou la génération échouera. CompléterPsdrfListes.xlsxpuis le ré-uploader via/psdrfListe.
Données / référentiels (nouveau dispositif, tarifs, essences…) : ré-uploader
PsdrfListesvia/psdrfListe.psdrfCodes.pklest régénéré automatiquement.Pipeline de calcul (sous-module
PermPSDRF4py) : les évolutions se font dans le dépôtRNF-SI/PermPSDRF4py, puis on met à jour le pointeur de sous-modulecd backend/gn_module_psdrf/PermPSDRF4py && git pull origin main cd - && git add backend/gn_module_psdrf/PermPSDRF4py git commit -m "Maj sous-module PermPSDRF4py"
python -m pytest (depuis la racine du module, dans le venv GeoNature) lance
les tests de non-régression du pont (transformations BDD → pipeline).
- Architecture du module :
CLAUDE.md. - Pipeline de calcul / carnet : documentation du sous-module
backend/gn_module_psdrf/PermPSDRF4py(CLAUDE.md,docs/contrat_donnees_carnet.md). - Documentation utilisateur (à venir).