Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibilité avec GeoNature V2 #162

Closed
camillemonchicourt opened this issue Sep 17, 2018 · 20 comments
Closed

Compatibilité avec GeoNature V2 #162

camillemonchicourt opened this issue Sep 17, 2018 · 20 comments

Comments

@camillemonchicourt
Copy link
Member

camillemonchicourt commented Sep 17, 2018

  • Utiliser ref_geo
  • Adapter atlas.vm_observations
  • Gérer les date_debut et date_fin
  • Gérer les observations sur plusieurs communes

Travail amorcé : cf5a110

Et complété : 3f30318

Avec la prise en compte de la dégradation des données sensibles : 37b2c4d

@camillemonchicourt
Copy link
Member Author

camillemonchicourt commented Sep 22, 2018

Testé et validé ! http://87.98.168.87/atlas

A partir du script install_db_gn2.sh dans la branche develop

J'ai pas encore testé la partie qui calcule la sensibilité côté GeoNature (https://github.com/PnX-SI/GeoNature/blob/sensitivity/data/core/sensitivity.sql) pour qu'elle soit prise en compte côté GN-atlas.

@sig-pnrnm
Copy link
Contributor

sig-pnrnm commented Oct 24, 2018

A partir du script install_db_gn2.sh dans la branche develop

Bon, j'ai voulu tenter l'expérience depuis une VM vierge (Debian 9), dédiée uniquement à un Atlas.
J'ai voulu la connecter à ma VM de tests sur GeoNature v2 (Debian 9 aussi).

Après avoir installé l'environnement logiciel sans problème (./install_env.sh), édité le /main/configuration/settings.ini j'ai tenté le script install_db_gn2.sh, mais voici les erreurs rencontrées :

root@atlas:/home/atlas/atlas# sudo ./install_db_gn2.sh
La base de données existe et le fichier de settings indique de ne pas la supprimer.
root@atlas:/home/atlas/atlas# sudo ./install_db_gn2.sh
Suppression de la BDD...
Création de la BDD...
Ajout de postGIS et pgSQL à la base de données
Ajout du FDW et connexion à la BDD mère GeoNature
data/gn2/atlas_ref_geo.sql : Aucun fichier ou dossier de ce type
ERROR 1: Couldn't fetch requested layer 'atlas.t_layer_territoire'!
Création de la connexion a GeoNature pour la taxonomie
cp: impossible d'évaluer 'data/gn2/atlas_ref_taxonomie.sql': Aucun fichier ou dossier de ce type
sed: impossible de lire /tmp/atlas_ref_taxonomie.sql: Aucun fichier ou dossier de ce type
Création de la structure de la BDD...
./install_db_gn2.sh: ligne 250 : test: -eq : opérateur unaire attendu
./install_db_gn2.sh: ligne 257 : test: -eq : opérateur unaire attendu
Version de geonature  non supportée
Création des vues materialisées
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER FUNCTION
ALTER FUNCTION
Affectation des droits de lecture sur la BDD source GeoNature...
Creation de la VM des observations de chaque taxon par mailles...
ERREUR:  la relation « atlas.vm_observations_mailles » n'existe pas
Grant...
root@atlas:/home/atlas/atlas#

Mais en fait, j'avais installé l'application depuis les fichiers récupérés avec

wget https://github.com/PnEcrins/GeoNature-atlas/archive/1.3.2.zip

Du coup, pour la version en développement, quelle est l'URL à indiquer ?
(parceque je vois en effet que je n'ai pas le dossier data/gn2/ par exemple...)

@Amegilla
Copy link
Contributor

Au workshop on a pris la develop :
wget https://github.com/PnEcrins/GeoNature-atlas/archive/develop.zip

@sig-pnrnm
Copy link
Contributor

sig-pnrnm commented Oct 24, 2018

Au workshop on a pris la develop :
wget https://github.com/PnEcrins/GeoNature-atlas/archive/develop.zip

Cool : merci pour l'URL ! :)
Je vais tester ça demain !

@sig-pnrnm
Copy link
Contributor

Mince, j'ai pas résisté, j'ai lancé le script avec cette nouvelle version, voici les messages d'erreurs :

Suppression de la BDD...
Création de la BDD...
Ajout de postGIS et pgSQL à la base de données
Ajout du FDW et connexion à la BDD mère GeoNature
psql:data/gn2/atlas_ref_geo.sql:4: NOTICE:  le schéma « ref_geo » n'existe pas, poursuite du traitement
DROP SCHEMA
CREATE SCHEMA
IMPORT FOREIGN SCHEMA
psql:data/gn2/atlas_ref_geo.sql:20: NOTICE:  view atlas.l_communes does not exist
DO
SELECT 35287
CREATE INDEX
CREATE INDEX
psql:data/gn2/atlas_ref_geo.sql:48: ERREUR:  « l_communes » n'est pas une table
ASTUCE : Utilisez DROP MATERIALIZED VIEW pour supprimer une vue matérialisée.
psql:data/gn2/atlas_ref_geo.sql:61: NOTICE:  view atlas.t_mailles_territoire does not exist
DO
psql:data/gn2/atlas_ref_geo.sql:71: ERREUR:  erreur de syntaxe sur ou près de « ; »
LIGNE 8 : WHERE t.type_code = ;
                              ^
psql:data/gn2/atlas_ref_geo.sql:86: NOTICE:  view atlas.t_mailles_territoire does not exist
DO
psql:data/gn2/atlas_ref_geo.sql:104: ERREUR:  erreur de syntaxe sur ou près de « GROUP »
LIGNE 7 :  GROUP BY b.type_name
           ^
psql:data/gn2/atlas_ref_geo.sql:114: ERREUR:  la relation « atlas.t_layer_territoire » n'existe pas
LIGNE 7 : JOIN atlas.t_layer_territoire t ON st_intersects(t.the_geom,...
               ^
CREATE FUNCTION
ERROR 1: Couldn't fetch requested layer 'atlas.t_layer_territoire'!
Création de la connexion a GeoNature pour la taxonomie
Création de la structure de la BDD...
./install_db_gn2.sh: ligne 250 : test: -eq : opérateur unaire attendu
./install_db_gn2.sh: ligne 257 : test: -eq : opérateur unaire attendu
Version de geonature  non supportée
Création des vues materialisées
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER FUNCTION
ALTER FUNCTION
Affectation des droits de lecture sur la BDD source GeoNature...
Creation de la VM des observations de chaque taxon par mailles...
ERREUR:  la relation « atlas.vm_observations_mailles » n'existe pas
Grant...

Je les poste ici dès ce soir, mais je ne me pencherai sur la question que demain matin.
(on sait jamais, des fois que les noctambules passent pas là cette nuit)

@sig-pnrnm
Copy link
Contributor

sig-pnrnm commented Oct 24, 2018

Bon je crois savoir pourquoi : j'ai oublié de remettre dans le dossier les SHP du territoire et des communes...
Je verrai demain si ça va mieux avec !

@camillemonchicourt
Copy link
Member Author

Comme indiqué dans ce ticket, le travail est amorcé. Il est actuellement fonctionnel car nous l'avons testé et certains l'ont mis en oeuvre mais il n'est pas finalisé, il n'est pas documenté, il n'est pas intégré dans une Release.

Donc il ne faut pas prendre la version 1.3.2 car elle est ancienne et n'indique aucune évolution liée à GeoNature V2. Ce ticket indique d'ailleurs que le travail en cours est dans la branche develop.

Si vous vous testez du travail expérimental et non terminé, alors vous en assumez les risques, avec la possibilité que cela soit en plein chantier, instable et non fonctionnel. On ne peut pas faire du support sur cela. C'est déjà un travail conséquent que d'assurer du support sur des versions validées et testées.
Si vous faites cela, il faut aussi s'intéresser en détail à ce qui a été fait ou non et comment ça fonctionne. Donc regarder les scripts (non terminées) en question : https://github.com/PnEcrins/GeoNature-atlas/blob/develop/install_db_gn2.sh et ce à quoi ils font appel.

Il faut aussi regarder ça en lien avec tous les nouveaux paramètres qui ont été intégrés dans le fichier de configuration de l'installation : https://github.com/PnEcrins/GeoNature-atlas/blob/develop/main/configuration/settings.ini.sample

Pour bien comprendre ce qui est en train d'être fait, il peut aussi être utile de regarder les derniers commits dans la branche develop qui concernent la mise en compatibilité avec GeoNature V2 : https://github.com/PnEcrins/GeoNature-atlas/commits/develop

Une autre manière plus lisible et globale de voir tout ce qui a été modifié dans la branche develop par rapport à la dernière version est de comparer les branches : https://github.com/PnEcrins/GeoNature-atlas/compare/develop

Quelques éléments sont aussi indiqués dans la doc d'installation de GeoNature V2 : https://geonature.readthedocs.io/fr/latest/installation-all.html#installation-de-l-application

Donc :

  • Il faut bien prendre la branche develop (wget https://github.com/PnEcrins/GeoNature-atlas/archive/develop.zip)
  • Il faut bien comprendre les paramètres du fichier main/configuration/settings.ini car un gros avantage de la compatibilité avec GeoNature V2 est que l'on peut désormais utiliser directement son référentiel géographique (schéma ref_geo) en FDW. Mais du coup il faut que vous y aillez au préalable intégré les mailles à utiliser ainsi que votre territoire. Et que vous renseigniez leurs id_type_area dans le fichier main/configuration/settings.ini.sample. Cela n'est cependant pas imposé, si vous mettez le paramètre use_ref_geo_gn2 à false, alors cela utiliserez les SHP comme précédemment.
  • Ensuite il faut lancer le script install_db_gn2.sh à la place de install_db.sh

@sig-pnrnm
Copy link
Contributor

sig-pnrnm commented Oct 25, 2018

Si vous vous testez du travail expérimental et non terminé, alors vous en assumez les risques

T'inquiètes pas Camille, c'était bien dans cette optique que je fais ces tests ! ;)

Mais tu préfères donc que j'évite les questions techniques sur les versions en développement ici, sur Github ?

J'étais en réunion ce matin, mais je vais tenter de relancer les tests cet après midi. Avec tes infos complémentaires, je devrais y arriver !

@camillemonchicourt
Copy link
Member Author

OK tiens nous au courant.

Si vous avez des retours et remarques c'est intéressant.

Mais pour le support des versions en développement, c'est autre chose.

@sig-pnrnm
Copy link
Contributor

Pas eu le temps cet après midi, mais oui, je vous tiens au courant !
Et non, pas d'appel à un éventuel support, promis ! 😋

@DonovanMaillard
Copy link

Retour de l'installation avec GN sur un serveur et l'atlas sur un autre (la base atlas est installée sur le même serveur que l'appli) pour les prochaines releases :)

Impossible de créer de fdw : ERREUR : n'a pas pu ouvrir le fichier de contrôle d'extension /usr/share/postgresql/9.6/extension/postgres_fdw.control : aucun fichier ou dossier de ce type. Idem pour Postgis.

@camillemonchicourt
Copy link
Member Author

OK donc là on dirait que c'est pas un problème de GeoNature, mais plutôt d'installation de ton PostgreSQL ?
https://forums.postgresql.fr/viewtopic.php?id=3992

@camillemonchicourt
Copy link
Member Author

Coté GN-atlas, on n'installer que PostgreSQL et PostGIS : https://github.com/PnEcrins/GeoNature-atlas/blob/master/install_env.sh#L20
Côté GeoNature, on installe plus de choses, notamment postgresql-contrib qui semble nécessaire pour avoir l'extension FDW : https://github.com/PnX-SI/GeoNature/blob/develop/install/install_all/install_all.sh#L78-L106
C'est possible que tu aies besoin de ça sur ton serveur qui accueille GN-atlas.
Je dis ça sans certitude, à l'aveugle.
Tiens nous au courant.

@DonovanMaillard
Copy link

Je suis en train de bosser dessus, je le mettais surtout ici pour le garder en mémoire pour la prochaine release.

Mais c'est un problème qu'on a déjà vu ensemble dans l'install all de la rc3 de geonature2, et je viens d'aller checker. Pour Postgresql 9.6, il faut postgis 2.3, pas "postgis" dans l'installation de l'environnement.
Donc a priori dans install_env, il faudra au moins ça : sudo apt install -y postgis-2.3 postgis postgresql-9.6-postgis-2.3

@DonovanMaillard
Copy link

et du coup je creuse pour postgres_fdw et je te dis ce que ça donne :)

@camillemonchicourt
Copy link
Member Author

Oui à voir si il faut ajouter des choses au niveau de l'installation de GeoNature et/ou de GeoNature-atlas, notamment si celui-ci n'est pas sur le même serveur.

@DonovanMaillard
Copy link

DonovanMaillard commented Jan 3, 2019

Au niveau de geonature-atlas oui du coup, pour s'adapter à la version de postgres. Repartir du script de l'install all en fonction de la version de l'OS, en ajoutant contrib et postgis2.3 , ça règle les 2 erreurs que j'avais pour la création des extensions.

Autre détail, le script d'installation de la BDD ne permet pas à l'utilisateur de l'atlas de se connecter au serveur distant. A voir :)

@PaulCenPaca
Copy link

Bonjour,
Avez-vous une idée sur la date de sortie d'une version stable de geonature-atlas compatible geonature v2 ?

@TheoLechemia
Copy link
Member

Bonjour,
Une version est dans les tuyaux, elle devrait sortir dans les semaines qui viennent.

@camillemonchicourt
Copy link
Member Author

La version 1.4.0, compatible avec GeoNature v2 vient de sortir : https://github.com/PnX-SI/GeoNature-atlas/releases/tag/1.4.0.

Pour garder la rétrocompatibilité de GeoNature-atlas, les vues matérialisées sur lesquels il se base ont très peu changé. Le choix a ainsi été fait de transformer la table distante synthese.syntheseff de GeoNature v1 en vue, en basant celle-ci sur le modèle de données de GeoNature v2 : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/gn2/atlas_synthese.sql.

Il est aussi possible (mais non imposé) de baser toutes les données géographiques (communes, territoire et mailles) sur le schéma central ref_geo de GeoNature v2 pour s'appuyer sur ce référentiel centralisé plutôt que de dupliquer les données géographiques à partir de fichier SHP : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/gn2/atlas_ref_geo.sql.

Ces paramétrages sont assez centraux dans la BDD et sont définis dans le fichier de configuration de l'installation de la BDD https://github.com/PnX-SI/GeoNature-atlas/blob/master/atlas/configuration/settings.ini.sample.

C'est pourquoi pour ceux qui avaient déjà un GeoNature-atlas et passent sous GeoNature en utilisant le ref_geo, il est conseillé de réaliser une nouvelle installation, plutôt qu'une mise à jour.

Par ailleurs, d'autres évolutions ont été intégrées à l'occasion de la compatibilité avec GeoNature v2 :

De nombreuses autres corrections et améliorations ont été intégrées à l'occasion de cette nouvelle version, voir le détail des fonctionnalités : https://github.com/PnX-SI/GeoNature-atlas/releases/tag/1.4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants