Releases: PnX-SI/GeoNature-atlas
1.6.2
1.6.1
🚀 Nouveautés
- Possibilité de surcoucher les fichiers du dossier
static
en les plaçant avec le même nom dans le dossiercustom
(#496)- Par exemple pour surcoucher le pictogrammes des mammifères, mettre le votre dans
custom/images/picto_Mammiferes.png
- Par exemple pour surcoucher le pictogrammes des mammifères, mettre le votre dans
- Possibilité de customiser le fichier
navbar.html
(déplacé dans le dossierstatic/custom/templates
) (#496) - Ajout d'un linter pour le code python (
black
)
- Si l'application n'est pas à la racine du serveur (par exemple avec
/atlas
), la configuration Apache est à modifier et devient :<Location /atlas> ProxyPass http://127.0.0.1:8080/atlas ProxyPassReverse http://127.0.0.1:8080/atlas </Location>
- Copier le fichier
navbar.html
dans le dossieratlas/static/custom/templates/
:cp atlas/static/custom/templates/navbar.html.sample atlas/static/custom/templates/navbar.html
1.6.0
🚀 Nouveautés
- Ajout du paramètre
DISPLAY_OBSERVERS
permettant de masquer les observateurs des fiches espèces (#439 par @mvergez) - [Docker] Ajout d'un fichier
Dockerfile
permettant de dockeriser GeoNature-atlas (#470) - [Docker] Ajout d'une Github action publiant automatiquement les images Docker de GeoNature-atlas
- [Docker] Ajout des scripts
docker_startup.sh
etdocker_install_atlas_schema.sh
(sera exécuté au démarrage du container si la variable d'environnementATLAS_INSTALL_SCHEMA
est àtrue
) (#470) - Possibilité de définir le chemin vers le fichier de config avec
ATLAS_SETTINGS
(par défautatlas/configuration/config.py
) (#470) - Possibilité de définir le chemin vers le dossier des templates avec
ATLAS_TEMPLATE_FOLDER
(par défaut.
) (#470) - Possibilité de définir le chemin vers le dossier des templates avec
ATLAS_STATIC_FOLDER
(par défautatlas/static
) (#470) - Gestion du proxy avec
ProxyFix
(#470) - Mise à jour de Flask en version 2 et de nombreuses dépendances Python (#470)
🐛 Corrections
- Corrections linguistiques (#383 par @Splendens)
- Correction d'une traduction (#433 par @mvergez)
- Harmonisation et correction des fiches organismes (#382, #384 par @Splendens)
- Correction de l'affichage des pictos des groupes 2 INPN quand leur nom contient un accent (#380 par @Splendens)
- Amélioration de l'affichage des logos des organismes sur la page d'accueil (#381 par @Splendens)
- Affichage de lb_nom en italique (#387 par @Splendens)
- Affichage HTML du titre du média principal dans les fiches espèce (#420 par @joelclems)
- Correction du scroll infini de la galerie photo (#430 par @mvergez)
- Correction des liens vers les fiches espèces dans la galerie photo
- Correction du lien vers les fiches espèces dans la galerie photo (#459 par @jpm-cbna)
- Correction du bouton de tri (aléatoire ou nombre d'observation) dans la galerie photo
- Amélioration du lien vers la fiche d'un taxon depuis la galerie photo (#432 par @mvergez)
- Correction de l'affichage de la liste des taxons sur les fiches communes (#445 par @mvergez)
- Prise en compte des cas où le SRID est différent de 2154 lors de la création de
atlas.t_mailles_territoire
(#417 par @joelclems) - Harmonisation de l'affichage du picto group2_inpn (#424, #425, #426, #427, #429 par @missT)
- Affichage en double de la légende quand le slider était manipulé (#452 par @mvergez)
- Exclusion des médias supprimés dans la vue
vm_medias
(#458 par @jpm-cbna) - Spécification du port de base de données dans le script
install_db.sh
(#422 par @geobrun) - Correction des photos lors du scroll dans les fiches des communes (#448 par @mvergez)
- Affichage cartographique sur la page "Recherche avancée" (#486)
- Support des cd_ref négatifs
🐛 Optimisations
- Optimisation de la requête de sélection des "Nouvelles espèces observées" (#455 par @andriacap)
- Mise en cache des statistiques de la page d'accueil (#400 par @TheoLechemia)
- Optimisation et ajout d'index sur la vue
atlas.vm_cor_taxon_organism
(#463 par @jpm-cbna) - Redirection des URL des fiches espèces des synonymes vers les noms de référence (#388 par @jpm-cbna)
- Suppression des requêtes inutiles sur la page d'accueil (#275 par @jpm-cbna)
- Nettoyage et optimisation du code (#395, #407, #396, #394 par @jpm-cbna)
- Ajout du paramètre permettant de recharger automatiquement les templates (#431 par @mvergez)
Si vous mettez à jour GeoNature-atlas :
- Exécutez le script SQL de mise à jour de la BDD : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update/update_1.5.2to1.6.0.sql
- Dans le fichier de configuration
config.py
, changez le nom du paramètredatabase_connection
enSQLALCHEMY_DATABASE_URI
- Si vous utilisiez le paramètre
ANONYMIZE
, celui-ci est à remplacer parORGANISM_MODULE
etDISPLAY_OBSERVERS
qui permettent d'afficher ou non indépendamment les organismes et les observateurs - Suivez la procédure classique de mise à jour de l'application
1.5.1
🐛 Corrections
- Ajout de l'utilisation de
nvm
dans le scriptinstall_app.sh
(par @gildeluermoz) - Nettoyage de la documentation (par @gildeluermoz)
- Mise à jour de la version du schéma
taxonomie
pour une installation sans GeoNature (par @gildeluermoz)
Si vous mettez à jour GeoNature-atlas :
- Vous pouvez passer directement à cette version, mais en suivant les notes de versions intermédiaires
- Télécharger et installer
nvm
:wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
- Suivez la procédure classique de mise à jour de l'application.
1.5.0
🚀 Nouveautés
1. Affichage des organismes (#291 par @corentinlange)
- Affichage des organismes activable avec le paramètre
ORGANISM_MODULE
(désactivé par défaut) (#325) - Affichage des organismes ayant fourni des données d'une espèce dans la fiche espèce (#315)
- Intégration du bandeau organisme sur la page d'accueil (#245 par @Splendens)
- Création de fiches organismes, avec logo, nom, nombre de données, espèces les plus observées et familles de taxons observés par un organisme (#291)
2. Multilingue (#175 par @TheMagicia et @corentinlange)
- Mise en place du multilingue (activable avec le paramètre
MULTILINGUAL
) avec les fichiers de langue de traduction de l'interface en français, anglais et italien - Langue détectée automatiquement en fonction de la langue du navigateur
- Possibilité pour l'utilisateur de basculer sur une autre langue disponible
- Optimisation du multilingue pour le référencement par les moteurs de recherche
- Redirection automatique des URL sans clé de langue pour le référencement et les anciennes URL
- Documentation (
docs/multilingual.rst
)
3. Bootstrap 4 (#233 par @lpofredc)
- Mise à jour de Bootstrap version 3 à 4 (#230)
- Remplacement de la police d'icônes Glyphicon par Font Awesome
- Correction de l'absence de la hiérarchie sur les fiches taxons
- Restructuration des templates (avec
includes
&blocks
) et mutualisation des parties partagées - Refonte de la page commune, notamment en fixant la carte et en ne scrollant que dans la liste (#79)
- Remplacement de la librairie des graphiques morris/D3 par Chart.js (#164)
- Ajout d'un fichier
sitemap.xml
à la racine de l'application, autogénéré pour optimiser le référencement par les moteurs de recherche (#44) - Ajout d'un fichier
robots.txt
à la racine de l'application, à partir d'un template customisable, pour indiquer aux moteurs de recherche les pages qu'ils peuvent indexer ou non (#223) - Utilisation des zonages activés uniquement dans le
ref_geo
(enable = true
) - Possibilité de customiser en CSS la couleur des contours des objets sur les cartes (mailles, territoire, zonages)
- Corrections de la hiérarchie taxonomique
- Possibilité de masquer les observateurs avec le nouveau paramètre
ANONYMIZE
- Possibilité que les liens dans le menu latéral soient des liens externes (en remplaçant la clé
template
par la cléurl
au niveau du paramètreSTATIC_PAGES
)
4. Nouvelles espèces
- Ajout d'un bloc "Nouvelles espèces observées" sur la page d'accueil, permettant d'afficher les dernières espèces découvertes (première observation d'une espèce) sur le territoire (#85 par @MathildeLeclerc)
5. Autres
- Possibilité d'afficher l’échelle sur la carte avec le paramètre
ENABLE_SCALE
(#293 par @mvergez) - Possibilité d'ajouter un masque sur la carte en dehors du territoire avec le paramètre
MASK_STYLE
(#89 par @mvergez) - Ajout de pictos manquants (#272 par @jpm-cbna)
6. Développement
- Support de Debian 11
- Installation découpée (#332 et #349 par @corentinlange)
- Mise en place de npm pour installer les dépendances (#310 par @corentinlange)
- Mise en place de la structure de tests Backend (avec Pytest) et Frontend (avec Jest) (#297 et #316)
- Remplacement de
supervisor
parsystemd
- Ajout d'un paramètre de définition du timeout de gunicorn (#271 par @jpm-cbna)
- Mise à jour des dépendances
- Réorganisation du code et packaging
- Ajout d'une page de recherche avancée, permettant d'afficher les observations par maille de 3 espèces en même temps, à tester et finaliser (#313 par @lpofredc)
- Ajout de la possibilité de proposer d'autres types de zonages que les communes, à tester, génériciser et finaliser (#209 par @lpofredc)
🐛 Corrections
- Retrait des
-n
dans le fichier d'installation (#306 par @corentinlange) - Correction de l'API
searchCommune
en fermant les sessions DB (#277 par @jpm-cbna)
Si vous mettez à jour GeoNature-atlas :
- Stopper le service
atlas
de supervisor (sudo supervisorctl stop atlas
). Supprimez également le fichier de configuration supervisor de l'atlas (sudo supervisorctl remove atlas && sudo rm /etc/supervisor/conf.d/atlas-service.conf && sudo supervisorctl reread
) - Ajouter la variable
SECRET_KEY
au fichierconfig.py
(utilisée pour chiffrer la session), et remplissez-la avec une chaine de texte aléatoire. - Relancer l'installation complète de la BDD car de nombreux éléments ont évolué, en lancant le script
install_db.sh
, après avoir passé le paramètredrop_apps_db
àtrue
dans le fichiersettings.ini
. Cela va complètement supprimer et recréer votre BDD de GeoNature-atlas. Si vous aviez modifié la vuesynthese.syntheseff
ou des vues matérialisées, vous devrez reporter ces modifications après la réinstallation de la BDD de GeoNature-atlas.
Si votre GeoNature-atlas est connecté à une BDD GeoNature distante, vous devez au préalable étendre les droits de lecture de l'utilisateur PostgreSQL utilisé pour lire les données au niveau de cette BDD GeoNature source (https://github.com/PnX-SI/GeoNature-atlas/blob/master/atlas/configuration/settings.ini.sample#L65) :GRANT USAGE ON SCHEMA utilisateurs, gn_meta TO geonatatlas; GRANT SELECT ON ALL TABLES IN SCHEMA utilisateurs, gn_meta TO geonatatlas;
- Suivez la procédure classique de mise à jour de l'application.
- Le nom du service systemd est désormais
geonature-atlas
- Les logs sont désormais dans
/var/log/geonature-atlas.log
. Vous pouvez supprimer le répertoirelog
à la racine de l'atlas qui est obsolète.
1.4.2
🐛 Corrections
- Désactivation de la route des observations ponctuelles quand l'atlas est paramétre en mode mailles (#237 par @lpofredc)
- Correction de l'affichage des rangs taxonomiques sur les fiches espèces
- Ajout d'index sur les vues matérialisées
atlas.t_layer_territoire
etatlas.t_mailles_territoire
pour pouvoir les rafraichir en parallèle (#254 et #260) - Correction des observations dupliquées dans les fiches communes (#225 par @jpm-cbna)
- Correction des liens vers les fiches espèce depuis la carte de la page d'accueil en mode mailles (#221 par @jpm-cbna et @lpofredc)
- Correction du spinner pour la recherche par commune (#227 par @jpm-cbna)
- Corrections CSS supprimant un scroll horizontal global (par @jpm-cbna) et un problème de positionnement sur la page de présentation
- Mise à jour de la dépendance Python
SQLAlchemy
en version 1.3.19 - Clarification de la documentation et du fichier d'exemple de
settings.ini
- Si vous mettez à jour l'application, exécutez le script SQL de mise à jour de la BDD : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update_1.4.1to1.4.2.sql
- Si vous disposiez d'un GeoNature de version inférieure à 2.5 et que vous passez à cette version, adaptez la table étrangère :
ALTER FOREIGN TABLE synthese.synthese DROP id_nomenclature_obs_meth;
- Suivez la procédure classique de mise à jour : https://github.com/PnX-SI/GeoNature-atlas/blob/master/docs/installation.rst#mise-%C3%A0-jour-de-lapplication
1.4.1
🐛 Corrections
- Correction de syntaxe dans le fichier exemple de la configuration
config.py.example
(#206 et #208) - Correction du responsive sur la page d'accueil
- Correction du slider d'année sur les fiches espèce en mode maille
- Correction d'un import python incorrect (#205)
- Corrections mineures et mise en forme de la documentation
- Requete
get_taxon
: utilisationget_or_none
au lieu de prendre l'index 0 de la liste (#207) - Correction de la serialisation de la route des observations ponctuelles (doit contenir la clé
year
pour que le slider fonctionne)
- Release corrective mineure
- Si vous effectuez une montée de version, la correction du responsive nécessite une correction sur le fichier du customisation
introduction.html
. Supprimer simplement la première balise<div class="col-sm-12">
et sa balise fermante correspondante (à la dernière ligne du fichier). - Suivez la procédure classique de mise à jour : https://github.com/PnX-SI/GeoNature-atlas/blob/master/docs/installation.rst#mise-%C3%A0-jour-de-lapplication
1.4.0
🚀 Nouveautés
- Compatible avec GeoNature version 2 et connexion possible au réferentiel géographique (#162)
- Fiches espèce : les mailles ne sont plus dupliquées pour améliorer les performances (#53)
- Passage à Python 3 (par @aroche)
- Prise en compte de la dégradation des données (centroïde de la géométrie dégradée) de GeoNature, basé sur les niveaux de diffusion du SINP (voir http://standards-sinp.mnhn.fr/nomenclature/5-niveaux-de-precision-de-diffusion-souhaites-niveauprecision-23-06-2016/)
- Amélioration du module de recherche de taxons (AJAX + trigrammes) (par @aroche)
- Amélioration du module de recherche de commune (AJAX) (par @aroche)
- Chargement "paresseux" des images dans les listes de taxons et la page d'accueil (par @aroche)
- Mise en place de valeurs de paramètres par défaut, surcouchables si besoin. Vérification des paramètres de configuration grâce à Marshmallow et passage de paramètres par défaut si paramètres absents
- Simplification du passage de la configuration aux routes
- Ajout de la description, de la licence et de la source sur les médias (par @sig-pnrnm)
- Formatage des grands nombres (par @jbdesbas)
- Ordonnancement des noms de communes par longueur (#193) (par @jbdesbas)
- Standardisation GeoJson des API
- Ajout de fonctions SQL pour rafraichir uniquement les vues matérialisées des données dans l'ordre (
atlas.refresh_materialized_view_data()
) ou uniquement les données géographiques plus stables (atlas.refresh_materialized_view_ref_geo()
) - Possibilité de masquer le slider de la carte des fiches espèces (
ENABLE_SLIDER
) - Possibilité de limiter l'étendue de la carte (paramètre
MAX_BOUNDS
) (par @jbdesbas) - Ajout du paramètre
REDIMENSIONNEMENT_IMAGE
qui active ou non le redimmensionnement à la volée par TaxHub - Ajout du paramètre
DISPLAY_PATRIMONIALITE
qui contrôle l'affichage du logo "patrimonial" sur les fiches espèce et les listes - Rafraîchissement du graphisme
- Facilitation de la customisation grâce à des variables CSS
- Compléments divers de la documentation (
/docs/
)
🐛 Corrections
- Renommage du répertoire
main
enatlas
- Suppression du paramètre
COLONNES_RANG_STAT
(calculé) - Suppression du paramètre
IGNAPIKEY
(le passer directement dans les variablesMAP.FIRST_MAP
etMAP.SECOND_MAP
) - Corrections diverses (par @xavyeah39 et @RomainBaghi)
Si vous souhaitez connecter l'atlas à GeoNature 2, préferez une nouvelle installation de GeoNature-atlas 1.4.0, plutôt qu'une migration.
Dans le cas contraire, suivez les instructions suivantes :
- Ajouter l'extension Trigramme à PostgreSQL :
sudo ls
sudo -n -u postgres -s psql -d $db_name -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;"
Lancer le script de migration update_1.3.2to1.4.0.sql (https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update_1.3.2to1.4.0.sql) avec l'utilisateur lecteur de l'application (cf settings.ini : user_pg
)
- Des nouvelles variables CSS permettent de customiser les couleurs de l'application. Vous pouvez ajouter les variables ci-dessous au fichier
static/custom/custom.css
et les adapter à votre contexte (les variables--main-color
et--second-color
sont les couleurs principalement utilisées : bouton, scrollbar, navbar etc...)
:root {
--main-color: #82c91e;
--second-color: #649b18;
}
Suivez ensuite les instructions suivantes :
- Télécharger puis dézipper la nouvelle version de l'atlas.
cd /home/`whoami`
wget https://github.com/PnX-SI/GeoNature-atlas/archive/X.Y.Z.zip
unzip X.Y.Z
rm X.Y.Z
- Renommer l'ancienne version de l'atlas puis la nouvelle version.
mv /home/`whoami`/atlas/ /home/`whoami`/atlas_old/
mv GeoNature-atlas-X.Y.Z /home/`whoami`/atlas/
- Copier les fichiers
settings.ini
etconfig.py
depuis l'ancienne version vers la nouvelle pour récupérer vos paramètres de configuration :
cd atlas
cp ../atlas_old/main/configuration/settings.ini atlas/configuration/settings.ini
cp ../atlas_old/main/configuration/config.py atlas/configuration/config.py
- Ouvrir le fichier
settings.ini
pour y rajouter le nouveau paramètre suivant (laisser la valeur fournie) :
python_executable=/usr/bin/python3
-
Le passage à Python 3 nécessite quelques évolutions dans le fichier
config.py
: il faut supprimer tous les appels à la fonctionunicode
). Ouvrez-le, puis supprimer la ligne 20STRUCTURE = unicode(STRUCTURE, 'utf-8')
, la ligne 24NOM_APPLICATION = unicode(NOM_APPLICATION, 'utf-8')
et les lignes 113-114for i in range(len(RANG_STAT_FR)): RANG_STAT_FR[i]=unicode( RANG_STAT_FR[i], 'utf-8')
-
Dans le fichier
config.py
, supprimer le paramètreIGNAPIKEY
et intégrer votre clé IGN directement dans les variablesFIRST_MAP
etSECOND_MAP
. -
Si le redimensionnement d'image était activé, passer la variable
REDIMENSIONNEMENT_IMAGE
àTrue
dans le fichier de configurationconfig.py
-
Copier le contenu du répertoire
static/custom/
depuis l'ancienne version vers la nouvelle pour récupérer toute votre customisation (CSS, templates, images...) :
cp -aR ../atlas_old/static/custom/ ./static
- Relancez l'installation automatique de l'application :
./install_app.sh
- Relancer l'application
sudo supervisorctl restart atlas
1.3.2
Corrections
- Correction erreur d'import inutilisé dans
initAtlas.py