PnX-SI/GeoNature

GeoNature V2 - Documents et définition générale

Closed this issue · 13 comments

Après avoir posé les premiers éléments de réflexion dans le WIKI : https://github.com/PnEcrins/GeoNature/wiki

La première étape consiste à définir les principes de modularité/généricité et de modéliser la BDD de cette V2.

Les développements seront faits dans la branche dédiée : https://github.com/PnEcrins/GeoNature/tree/develop
Les différentes fonctionnalités seront ensuite déclinées en ISSUES (milestone : V2).

Le suivi des développements se fera avec les issues avec le module PROJECT : https://github.com/PnEcrins/GeoNature/projects/1

Première étape, reviser le MCD, voir #171

La révision du MCD avance fort, la partie CONTACT, NOMENCLATURES, REG_GEO sont stabilisés.
Les premiers développements ont commencé sur le module CONTACT (formulaire Saisie).
Voir les tickets précisant les différents sujets.

Le document général sur les fonctionnalités a aussi été mis à jour : http://geonature.fr/documents/2017-09-GN2-Fonctionnalites-0.2.pdf

Récapitulatif des développements V2 :

Ces derniers mois ont été marqués par :

  • un travail de refonte du MCD de GeoNature V2
  • une importante réflexion et des tests sur les technologies et la généricité/modularité
  • la mise en place des briques de développements et de l'interface ACCUEIL + SAISIE CONTACT par @QuangPhamll

Puis la semaine du 21 au 25 aout a eu lieu le workshop GeoNature V2 avec @amandine-sahl, @QuangPhamll, @TheoLechemia, @gildeluermoz, @oliviergavotto et @camillemonchicourt.
Il a commencé par 2 jours de finalisation du MCD, définition des méthodes de travail et de développements puis de 3 jours de développements (intenses) :

  • Finalisation BDD Contact Faune-Flore (sur la base du standard SINP Occurrences de taxons, de CAMPanule et des nomenclatures SINP). MCD : #183
  • Mise en place multilingue au niveau de l'interface et des listes de valeurs (#173)
  • Mise en place d'un mécanisme générique de centralisation des listes de valeurs (nomenclatures) pour ne pas créer des tables pour chaque liste : https://github.com/PnX-SI/Nomenclature-api-module. Les valeurs de chaque nomenclature s'adaptent en fonction du regne/group2inpn.
  • Mise en place de l'API qui renvoie les infos à l'application à partir de la BDD
  • Mise en place de composants génériques pour pouvoir les utiliser dans plusieurs modules sans avoir à les re-développer ni les dupliquer (composant CARTE, composant RECHERCHE TAXON, composant OBSERVATEURS, composant NOMENCLATURES...)
  • Conception d'un référentiel géographique partageable entre applications
  • Installation automatique de la BDD (https://github.com/PnX-SI/GeoNature/blob/develop/install_db.sh) et début de documentation (https://github.com/PnX-SI/GeoNature/blob/develop/docs/installation-all.rst)
  • Des prises de tête comme #205
  • Mise en place d'un mécanisme de calcul automatique de la sensibilité d'un espèce directement dans la BDD (sur la base des règles nationales et régionales du SINP + locales éventuellement)
  • Intégration calcul automatique ID permanent SINP (#209)

Suite à cela les développements continuent avec Gil, Amandine, Quang (fin de stage le 22 septembre) et Théo :

  • Mise en place d'un référentiel géographique avec un schéma dédié, partageable avec d'autres applications, une table des communes, une table générique des zonages, une table pour le MNT et des fonctions pour intersecter point/ligne/polygones avec les communes et le MNT (#228)
  • Intégration automatique des communes et MNT 250m France métropole lors de l'installation automatique
  • Développements formulaire saisie CONTACT et interactions avec la BDD (#203)

ORGANISATION et SUIVI des DÉVELOPPEMENTS

A SUIVRE

  • Finalisation formulaire CONTACT
  • Schéma utilisateurs et gestion des droits: (#238)
  • Révision MCD de la synthèse (#207)
  • Module générique Recherche/Carte/Liste/Export pour la synthèse et les interface de consultation dans chaque protocole

Le document de définition des fonctionnalités a été mis à jour : http://geonature.fr/documents/2017-09-GN2-Fonctionnalites-0.2.pdf

Et pour tester la première démo c'est ici http://51.254.242.81/geonature/ (premier aperçu de Accueil + Formulaire Contact FF)

  • Les taxons présents dans la démo sont https://github.com/PnX-SI/TaxHub/blob/develop/data/taxhubdata_taxon_example.sql#L23-L30
  • Les listes de valeurs (nomenclature) s'adaptent en fonction du regne/groupe du taxon sélectionné
  • Il est possible de saisir plusieurs taxons sur un même relevé
  • Il est possible de faire plusieurs dénombrements sur un même taxon
  • Le référentiel géographique de la BDD permet de calculer automatiquement commun(s) et altitude min/max d'une localisation point/ligne ou polygone

Après le récapitulatif fait début septembre (#168 (comment)) et le point d'info mi-novembre sur la liste de diffusion (https://framalistes.org/sympa/arc/geonature-info/2017-11/msg00000.html), voici des nouvelles des développements de GeoNature V2.

Les développements avancent rapidement, réalisés par Theo Lechemia, Gil Deluermoz et Amandine Sahl.
Déjà 975 commits de code dans la V2 : develop...frontend-contact

Une première version est désormais installable à l'aide d'un script d'installation automatique et global.
Une documentation d'installation est disponible : https://github.com/PnX-SI/GeoNature/blob/develop/docs/installation-all.rst
Une documentation d'installation en mode développement a aussi été réalisée : https://github.com/PnX-SI/GeoNature/blob/develop/docs/installation-standalone.rst

Une documentation technique a été commencée : https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin-manual.rst
Elle présente l'architecture de l'application mais aussi de nombreuses explications sur la base de données (gestion des droits, nomenclatures, métadonnées et référentiels géographiques).
Elle donne aussi des premiers éléments sur la modularité, la configuration, les API et les composants génériques du Frontend, utilisables dans d'autres modules.

La démonstration est désormais disponible à l'adresse http://demo.geonature.fr/geonature/
Login : admin / admin

Une liste de diffusion publique et ouverte a été mise en place : https://framalistes.org/sympa/info/geonature-info

Parmi les nouveautés depuis le récapitulatif de septembre :

  • Module OccTax (ex-Contact) fonctionnel avec affichage carte/liste/filtre/detail des données (composant MapList générique)
  • ajout, modification et suppression d'un relevé (API + frontend)
  • amélioration du formulaire (CSS, champs Observateur en liste ou texte libre, contrôles, champs conditionnels, info-bulle sur chaque nomenclature...)
  • Mise en place d'un système de gestion des valeurs par défaut des nomenclatures dans la BDD.
    Ces valeurs par défaut sont définies par module et peuvent être associées à un organisme, un règne et/ou un group2inpn.
    Au chargement du formulaire OccTax, les valeurs par défaut sont chargées.
    Certains champs peuvent être masqués, auquel cas ce sera la valeur par défaut définie dans la BDD qui sera renseignée automatiquement.
    Pour en savoir plus, voir https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin-manual.rst#nomenclatures-

  • Développement des métadonnées dans la BDD (schema gn_meta) sur la base du standard Métadonnées du SINP (http://standards-sinp.mnhn.fr/category/standards/metadonnees/)
    Elles permettent de gérer des jeux de données, des cadres d'acquisition, des acteurs (propriétaire, financeur, producteur...) et des protocoles.
    Chaque relevé est associé à un jeu de données.
    Pour en savoir plus, voir https://github.com/PnX-SI/GeoNature/blob/develop/data/core/meta.sql
    et la doc sur la BDD : https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin-manual.rst#database

  • Développement d'un mécanisme générique pour la gestion des droits des utilisateurs dans la BDD (schema utilisateurs, piloté par UsersHub).
    Il permet d'attribuer des actions possibles à un rôle (utilisateur ou groupe), sur une portée; dans une application ou un module.
    6 actions sont possibles dans GeoNature : Create / Read / Update / Validate / Export / Delete (aka CRUVED).
    3 portées de ces actions sont possibles : Mes données / Les données de mon organisme / Toutes les données.
    Pour en savoir plus, voir https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin-manual.rst#gestion-des-droits-
    et #238

  • Implémentation de la gestion des droits au niveau de l'API (pour limiter les données affichées à un utilisateur en fonction de ses droits) et au niveau du Frontend (pour afficher ou non certains boutons aux utilisateurs en fonction de leurs droits).

  • Par défaut, l'authentification et les utilisateurs sont gérés localement dans UsersHub, mais il est aussi possible de connecter GeoNature au CAS de l'INPN, sans utiliser GeoNature (utilisé pour l'instance nationale INPN de GeoNature).

  • GeoNature peut aussi se connecter au webservice METADONNEES de l'INPN pour y récupérer les jeux de données en fonction de l'utilisateur connecté.

  • Mise en place d'un référentiel géographique (schéma ref_geo) avec les zonages, les communes, les grilles et le MNT vectorisé ainsi que des fonctionns d'intersection des données avec les zonages et le MNT.

  • Mise en place d'un module d'export. Chaque export s'appuie sur une vue.
    Il est possible à chaque administrateur d'ajouter autant de vues que nécessaires dans son GeoNature.
    Pour le moment, un export au format SINP Occurrence de taxons a été intégré par défaut.

A VENIR :

  • Customisation du CSS, des blocs de la page d'accueil.

  • Finalisation de la BDD de la Synthèse et mise en place des triggers du module OccTax vers la Synthèse.

  • Mise en oeuvre des résultats de l'audit de sécurité et de qualité du code source (modularité, configuration centralisée, tests unitaires, linters, ...) lors d'un workshop la semaine du 15 janvier 2018.

  • Déploiement d'une instance nationale de GeoNature V2 sur un serveur IGN dans le cadre de la loi pour la reconquête de la biodiversité.

A NOTER AUSSI :

Pour suivre les développements, les taches (issues) sont associées à des sprints mensuels (Milestones) :

L'équipe de développement était donc récemment en workshop une semaine pour mettre en œuvre les rapports de l'audit de sécurité et de qualité du code.
Ils ont travaillé notamment sur le renforcement de la modularité de GeoNature V2 pour en faciliter l'intégration de modules externes, sur l'exemple du Module de validation des données.

Du nettoyage a aussi été fait et les développements ont été basculés de la branche frontend-contact (supprimée) à la branch develop.

La doc technique est donc désormais sur https://github.com/PnX-SI/GeoNature/blob/develop/docs/admin-manual.rst

Pour ceux qui veulent comprendre GeoNature V2 je vous conseille de lire au moins la partie DATABASE de cette doc.

A noter aussi que le portail de démo fonctionne à nouveau sur http://demo.geonature.fr/geonature/
Il faut un compte INPN pour l'utiliser. Vous pouvez en créer un sur https://inpn.mnhn.fr/accueil/compte/Compte

Sinon, un premier manuel utilisateur a été rédigé : https://github.com/PnX-SI/GeoNature/blob/develop/docs/user-manual.rst
Et une avancée sur le module Collecte citoyenne a été réalisée : #242 (comment)

Après vous avoir annoncé récemment une première version installable de GeoNature V2 puis avoir remis en chantier la branche de développement, nous venons de sortir la première version béta de GeoNature V2 pour éviter ce genre de problèmes.

Liste des changements : http://geonature.fr/docs/2-0-0-beta1/CHANGELOG.html

Cette béta1 de GeoNature V2 a été testée sur Debian 8 et 9 et est accessible dans une branche stabilisée : https://github.com/PnX-SI/GeoNature/tree/geonature2beta.

D'autres versions béta sortiront régulièrement et seront disponibles dans cette même branche (voir fichier VERSION).

La documentation a aussi été refondue et mise en forme, et est disponible sur http://geonature.fr/docs/2-0-0-beta1.

Un travail important sur la modularité a notamment été fait et documenté (http://geonature.fr/docs/2-0-0-beta1/development.html#developper-et-installer-un-gn-module).

L'instance de démonstration est toujours disponible sur http://demo.geonature.fr/geonature.

A noter que l'on vient aussi de sortir une nouvelle version de GeoNature-atlas, avec beaucoup de nouveautés et de généricité (https://github.com/PnEcrins/GeoNature-atlas/releases) qui comprend des développements du Parc national des Cévennes, du CEN des pays de la Loire, du CEN Languedoc-Roussilon et du PNR Normandie-Maine.

Nous avons récemment publié une BETA 2 de GeoNature V2 dans la branche dédiée : https://github.com/PnX-SI/GeoNature/tree/geonature2beta
Son installation globale (script install_all) a été testée sur un serveur Debian 9.
Debian 8 devrait fonctionner aussi.
Elle corrige différents problèmes d'installation que des testeurs nous ont remonté (merci à eux).
Elle apporte aussi différentes évolutions listées ici : https://github.com/PnX-SI/GeoNature/blob/geonature2beta/docs/CHANGELOG.rst
Et détaillées ici : 96fc5ab...geonature2beta

La documentation a été mise à jour : http://geonature.fr/docs/2-0-0-beta2/

Le serveur de démo a aussi été mis à jour : http://demo.geonature.fr/geonature/
Il nécessite un compte INPN.
Si vous n'en avez pas, vous pouvez utiliser le compte de démo : demo.geonature / demo.geonature

A noter aussi qu'une nouvelle version de GeoNature-atlas vient de sortir, intégrant des corrections de l'installation autonome (sans GeoNature) : https://github.com/PnEcrins/GeoNature-atlas/releases

Enfin, les développements du module SUIVI HABITAT TERRITOIRE ont commencé sur un dépôt dédié : https://github.com/PnX-SI/gn_module_suivi_habitat_territoire

Nous avons sorti hier une BETA3 de GeoNature 2 dans la branche dédiée : https://github.com/PnX-SI/GeoNature/blob/geonature2beta/docs/CHANGELOG.rst

Après la beta 3 fin mars, nous avons publié fin mai une beta 4 qui apporte encore pas mal d'évolutions : https://github.com/PnX-SI/GeoNature/blob/develop/docs/CHANGELOG.rst

Celle-ci vient d'être déployée dans le cadre de l'instance nationale de dépôt légal de biodiversité (https://depot-legal-biodiversite.naturefrance.fr/) qui a été lancée le 1° juin.

Le serveur de démo est à jour : http://demo.geonature.fr/geonature/ (demo.geonature / demo.geonature).

La documentation utilisateur a été mise à jour : https://github.com/PnX-SI/GeoNature/blob/develop/docs/user-manual.rst

A noter aussi qu'une présentation générale de GeoNature est disponible : http://geonature.fr/documents/2018-05-GeoNature-Presentation.pdf
Ainsi que ses commentaires : http://geonature.fr/documents/2018-05-GeoNature-Presentation-commentaires.pdf

D'autres présentations sont disponibles en ligne : http://geonature.fr/documents/

Bonjour à tous,

Les développements avancent et nous venons de sortir une beta5 de GeoNature V2 dans la branche dédiée : https://github.com/PnX-SI/GeoNature/tree/geonature2beta
Pour le détail des nouveautés : https://github.com/PnX-SI/GeoNature/blob/geonature2beta/docs/CHANGELOG.rst
La documentation a aussi été mise à jour : http://geonature.fr/docs/2-0-0beta/

WORKSHOP GeoNature V2

Nous organisons avec l'AFB, un workshop technique GeoNature V2 les 24 et 25 septembre 2018 à Montpellier, dans les nouveaux locaux de l'AFB (Pérols).
Ce workshop est destiné à des géomaticiens, informaticiens et développeurs avec 3 ateliers pour leur permettre en main l'outil.

  1. Déploiement/Installation
  • Compétences pré-requises : Administration d'un serveur linux
  • Objectif : Installer GeoNature V2 sur son serveur
  1. Base de données
  • Compétences pré-requises : connaissances en SQL et PostgreSQL/PostGIS
  • Objectif : Comprendre le MCD de GeoNature, y intégrer ses propres données et paramétrer son GeoNature
  1. Développement
  • Compétences pré-requises : Développement Python et/ou Javascript
  • Objectif : Comprendre les éléments du cœur de GeoNature et développer un module autonome de GeoNature

L'atelier Déploiement aura lieu la première matinée.
Ensuite les ateliers Base de données et Développement auront lieu en parallèle.

Le formulaire d'inscription sera envoyé prochainement sur la liste de diffusion (https://framalistes.org/sympa/info/geonature-info), mais vous pouvez déjà faire un retour si vous souhaitez participer.

Une pré-version 2.0.0 vient de sortir : https://github.com/PnX-SI/GeoNature/releases/tag/2.0.0-rc.1

Nous avons fait plusieurs tests sur celle-ci, mais nous avons préféré sortir une Release Candidate (RC) avant de sortir la 2.0.0, car nous n'avons pas encore assez de recul et de tests sur celle-ci. Le workshop GeoNature de la semaine prochaine sera l'occasion de l'éprouver et de l'ajuster si besoin avant de sortir la 2.0.0.

Elle est aussi disponible en démo sur http://demo.geonature.fr/geonature (admin / admin) en cours de mise à jour.

La documentation est disponible sur https://geonature.readthedocs.io

La 2.0.0 est sortie et la plupart des fonctionnalités prévues initialement ont été développées (http://geonature.fr/documents/2017-09-GN2-Fonctionnalites-0.2.pdf) mais surtout beaucoup d'autres non prévues.
Nous sommes allés beaucoup plus loin que prévu au niveau BDD, Backend et Frontend (en matière de généricité, de modularité et de standardisation notamment).