Skip to content

Commit

Permalink
Merge pull request #389 from PnX-SI/review-doc-100
Browse files Browse the repository at this point in the history
Review installation doc 1.0.0
  • Loading branch information
lpofredc authored Mar 18, 2024
2 parents cfded5f + bdda3b4 commit 951b2f2
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 354 deletions.
18 changes: 5 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# GeoNature-citizen

Portail d'inventaire participatif de la biodiversité à destination du grand public ([**Démo**](http://democitizen.geonature.fr)).
Portail d'inventaire participatif de la biodiversité à destination du grand public.

![logo](https://github.com/PnX-SI/GeoNature-citizen/raw/master/frontend/src/assets/logo.png)

:bangbang: **Projet en cours de développement, actuellement en version beta**

**English:**

GeoNature-citizen is a free and Open Source web solution for citizen science projects for biodiversity data collection. It is fully customizable. Your platform may be a single or a multiple program and be based on existing or adoc list of species.

The data collection is gamified to improve the user management using badges and scores. It can also be customized to accept new user to be created or not.

It is based on a fully open Source stack from PostgreSQL to Angular.
It is based on a fully open source stack from PostgreSQL to Angular.

**Francais:**

Expand Down Expand Up @@ -46,7 +44,7 @@ Documentation : https://geonature-citizen.readthedocs.io
- Flask (moteur de l'API)
- flask-jwt-extended (pour l'authentification)
- SQLAlchemy
- PostgreSQL / Postgis
- PostgreSQL / PostGIS

### Frontend

Expand All @@ -61,17 +59,11 @@ Documentation : https://geonature-citizen.readthedocs.io

### Installation

- Lancer le script install_app.sh pour installer l'application entière ainsi que ses dépendances (postgres ...)
- Au premier lancement le script créera un fichier settings.ini dans le dossier config
- Remplacer toutes les variables par vos données de votre serveur
- Relancer le script install_app.sh
- Les fichiers de conf frontend et backend seront alors créés et configurés
- Le serveur flask sera lancé via supervisor : api_geonature
- Si vous avez choisi le mode Server side pour le frontend, il sera lancé via supervisor : geonature sur le port 4000
Documentation : https://geonature-citizen.readthedocs.io

### Mise à jour

- Lancer le script update_app.sh
- Lancer le script `update_app.sh`
- Le script récupérera les modifications depuis git
- il va transpiler le front et redémarrer si besoin les services supervisor
- [Warning] si des modifications SQL ont été faites, il faudra les faire manuellement
Expand Down
57 changes: 56 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,61 @@
# CHANGELOG

## 0.99.5-dev (unreleased)
## 1.0.0 (2024-03-18)

### Main new features

* Validation module by @yaal-coop (#359 financed by [SHF](https://lashf.org))
* Registration required can be defined on each program (#278 by @xdidx)
* Refactor and improve performances on observation module (# 363 by @hypsug0)
* New photo galery on programs by @hypsug0 (#365 financed by [SHF](https://lashf.org))
* Add observation export in Admin (#349 by @mvergez)
* Creators can now edit and delete their sites and visits in Sites programs (#319 & #320 by @QuentinJouet)
* Improve Admin panel display (#329 by @mvergez)
* Use Alembic and Flask-Migrate to manage databse changes (#342 by @lpofredc)
* Remove TaxHub installation from installation scripts
* Reduce TaxHub database dependencies to use its API (#236 & #321 by @mvergez)
* Remove Ref_geo database dependencies to use Nominatim API (#236 & #321 by @mvergez)
* Improve Docker installation (by @mvergez)
* Redimensionnement de l'image d'avatar uploadée (#335 by @xdidx)

### Fixes

* Standard installation fixes (thanks to all testers > #352)
* Fix form validation on negative longitude (#360 & #261 by @pierre56 & @hypsug0)
* Fix user creation from Admin panel (#371 by @edelclaux)
* Fix default map center in Admin panel (#370 by @edelclaux)
* Fix email from (#369 by @edelclaux)

## Release note

Veuillez à ce que votre base de donnée soit bien à jour des scripts de migration de la base de donnée du dossier `data/migrations` (incluant le dernier `v0.99.4_to_1.0.0.sql`).
Vous pourrez ensuite stamper la migration de GeoNature-citizen et lancer la nouvelle procédure de mise à jour.

```sh
cd ~/gncitizen
source backend/venv/bin/activate
flask db stamp e8c1cd57ad16
flask db upgrade
```

Si un table `gnc_core.alembic_version` est présente dans la base de donnée, alors vous disposez d'une version récente de l'application avec intégration d'alembic pour gérer les migrations de base de données. Cette table a été récemment déplacée dans le schéma `public` et renommée `alembic_version_gncitizen`. Supprimez cette table et lancez les commandes précédentes.

Si vous disposez déjà d'une table `public.alembic_version_gncitizen`, lancez les commandes suivantes :

```sh
cd ~/gncitizen
source backend/venv/bin/activate
flask db upgrade
```

Pour ceux qui avaient activé la synchronisation de GeoNature-citizen avec GeoNature, la fonction `gnc_core.fct_tri_c_upsert_obstax_to_geonature()` a été corrigée. Il est donc conseillée de la supprimer et la recréer (https://github.com/PnX-SI/GeoNature-citizen/blob/1.0.0/data/addons/scripts/gnc2gn_synthese/gnc2gn_synthese.sql#L113-L374), puis de relancer la mise à jour des données avec la requête SQL : `update gnc_obstax.t_obstax set cd_nom=cd_nom;`.

## Contributors

@lpofredc, @mvergez, @QuentinJouet, @xdidx, @nobohan, @geobrun, @LoanR, @edelclaux, @xavyeah39, @samuelpriou, @camillemonchicourt


## 0.99.4-dev (2021-10-05)

**🚀 New features**

Expand Down
4 changes: 2 additions & 2 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ Côté backend

Les fichiers de configuration sont dans le dossier ``config``.
Le fichier à modifier est ``config.toml``.
Il peut-être créé en copiant le fichier ``config.toml.example`` \
Il peut-être créé en copiant le fichier ``config.toml.template`` \
vers ``config.toml``:

.. code-block:: bash
$ cp config.toml.example config.toml
$ cp config.toml.template config.toml
Editez alors les différents paramètres de ce fichier.

Expand Down
63 changes: 13 additions & 50 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ Dépendances

La présente documentation présente l'installation de GeoNature-citizen dans un environnement Linux Debian_ (version 10 et supérieures) et Ubuntu_ (version 18.04 et supérieures).

La procédure d'installation dépend de TaxHub_, et de certains paquets, qu'il faut installer.
GeoNature-citizen dépend de TaxHub_ qui doit donc être installé au préalable.
Pour utiliser le module de badges, le schéma de BDD `taxonomie` de TaxHub doit être installé dans la même BDD que celle de GeoNature-citizen.

Commencez par installer les paquets suivants :
L'installation dépend aussi des paquets suivants :

::

Expand All @@ -32,7 +33,7 @@ Commencez par installer les paquets suivants :
Créer un utilisateur pour l'installation
----------------------------------------

Il est recommandé d'installer GeoNature citizen sur un compte utilisateur non ``root`` avec un privilège sur la commande ``sudo``.
Il est recommandé d'installer GeoNature-citizen sur un compte utilisateur non ``root`` avec un privilège sur la commande ``sudo``.

Créer un utilisateur appartenant au groupe ``sudo``. Dans cette documentation, nous allons le nommer ``geonatadmin``, mais vous pouvez remplacer cette par une autre si vous le souhaitez. Soyez juste consistant tout au long de l'installation.

Expand All @@ -51,17 +52,17 @@ Créer un utilisateur appartenant au groupe ``sudo``. Dans cette documentation,
Mettre la localisation en français
------------------------------------

Générer les locales ``en_US.UTF8`` et ``fr_FR.UTF-8`` puis choisir ``fr_FR.UTF-8`` comme locale par default:
Générer les locales ``en_US.UTF8`` et ``fr_FR.UTF-8`` puis choisir ``fr_FR.UTF-8`` comme locale par defaut :

::

sudo dpkg-reconfigure locales

Si le message d'erreur suivant apparait ``sudo: pas de tty présent et pas de programme askpass spécifié``, ajoutez remplacez ``sudo`` par ``sudo -S``.
Si le message d'erreur suivant apparait ``sudo: pas de tty présent et pas de programme askpass spécifié``, remplacez ``sudo`` par ``sudo -S``.

Cette commande va afficher une liste de codes internationaux, vous pouvez naviguer avec les flèches du clavier et sélectionner une valeur avec la touche espace. Les valeurs sélectionnées ont une étoile (``*``) devant.

Choisissez deux valeurs: ``en_US.UTF8`` et ``fr_FR.UTF-8``, puis validez.
Choisissez deux valeurs : ``en_US.UTF8`` et ``fr_FR.UTF-8``, puis validez.

Pour valider, utilisez la touche de tabulation jusqu'à atteindre ``<ok>`` et appuyez sur la touche entrée.

Expand Down Expand Up @@ -91,7 +92,7 @@ Téléchargez et décompressez la dernière version de l'application, disponible
Installation automatique
========================

Le script ``install/install_app.sh`` va se charger d'installer automatiquement l'environnement, PostgreSQL, TaxHub et GeoNature-citizen,
Le script ``install/install_app.sh`` va se charger d'installer automatiquement l'environnement, PostgreSQL, et GeoNature-citizen,
ainsi que leur base de données et leur configuration Apache.

.. tip::
Expand Down Expand Up @@ -129,7 +130,7 @@ Lancer le script d'installation :
./install/install_app.sh
Le script crééra la base de données, configurera TaxHub si l'installation est demandée, configurera le serveur web Apache et installera toutes les dépendances du projet GeoNature-citizen.
Le script crééra la base de données, configurera le serveur web Apache et installera toutes les dépendances du projet GeoNature-citizen.


Installation manuelle
Expand Down Expand Up @@ -182,8 +183,8 @@ Et changer les valeurs pour correspondre à la réalité de votre installation.
SQLALCHEMY_DATABASE_URI
~~~~~~~~~~~~~~~~~~~~~~~

GeoNature-citizen a pour le moment des références au schéma ``taxonomie`` de TaxHub_ (pour l'utilisation du référentiel taxonomique `TaxRef
<https://inpn.mnhn.fr/programme/referentiel-taxonomique-taxref>`_). Ce schéma doit donc être installé dans cette même base de données.
GeoNature-citizen a encore des références au schéma de BDD ``taxonomie`` de TaxHub_ (pour le module de badge uniquement).
Ce schéma doit donc être installé dans cette même base de données si vous utilisez le module de badges.
L'instance de TaxHub définissant les listes d'espèces et les médias associés peut toutefois être une autre instance indépendante.

La valeur de ``SQLALCHEMY_DATABASE_URI`` doit donc être changée pour correspondre aux valeurs utilisées pour se connecter à la BDD de TaxHub.
Expand Down Expand Up @@ -231,7 +232,7 @@ EMAILS

L'inscription à GeoNature-citizen n'est pas obligatoire pour les contributeurs.

Toutefois, si un contributeur souhaite créer un compte, un email de vérification de son adresse mail lui est transmis. Cet email contient un lien permettant l'activation du compte.
Toutefois, si un contributeur souhaite créer un compte, un email de vérification de son adresse email lui est transmis. Cet email contient un lien permettant l'activation du compte.

Pour cela, il est nécessaire de configurer un serveur SMTP permettant l'envoi de ces emails de vérification.

Expand Down Expand Up @@ -306,44 +307,6 @@ Si vous avez des identifiants Mapbox, inscrivez-les dans ``MAPBOX_MAP_ID`` et ``
Installation du backend et de la base des données
-------------------------------------------------


Création du référentiel des géométries communales
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On continue d'utiliser les identifiants de la BDD de TaxHub, ici avec les exemples ``gncitizen`` et ``geonatuser``.

Téléchargez les données SQL depuis le dépôt de GeoNature:

::

wget https://github.com/PnX-SI/GeoNature/raw/master/data/core/public.sql -P /tmp
wget https://github.com/PnX-SI/GeoNature/raw/master/data/core/ref_geo.sql -P /tmp
wget https://github.com/PnX-SI/GeoNature/raw/master/data/core/ref_geo_municipalities.sql -P /tmp

Pour importer les données dans la BDD, munissez-vous du mot de passe que vous avez choisi lors de la création de celle-ci, puis (dans cet exemple, on utilise le système de coordonnées avec le SRID 2154) :

::

sudo su postgres # les extensions doivent être ajoutées par un admin
psql -d gncitizen -c "CREATE EXTENSION postgis;"
exit
psql -d gncitizen -h localhost -p 5432 -U geonatuser -f /tmp/public.sql
# Choix du SRID ici
sed 's/MYLOCALSRID/2154/g' /tmp/ref_geo.sql > /tmp/ref_geo_2154.sql
psql -d gncitizen -h localhost -p 5432 -U geonatuser -f /tmp/ref_geo_2154.sql

Si les communes françaises ne sont pas déjà dans la base, les importer :

::

wget --cache=off http://geonature.fr/data/ign/communes_fr_admin_express_2019-01.zip -P /tmp
unzip /tmp/communes_fr_admin_express_2019-01.zip -d /tmp/
psql -d gncitizen -h localhost -p 5432 -U geonatuser -f /tmp/fr_municipalities.sql
psql -d gncitizen -h localhost -p 5432 -U geonatuser -c "ALTER TABLE ref_geo.temp_fr_municipalities OWNER TO geonatuser;"
sed -i "s/, geojson\w*//g" /tmp/ref_geo_municipalities.sql
psql -d gncitizen -h localhost -p 5432 -U geonatuser -f /tmp/ref_geo_municipalities.sql
psql -d gncitizen -h localhost -p 5432 -U geonatuser -c "DROP TABLE ref_geo.temp_fr_municipalities;"

Générer les schémas de GeoNature-citizen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand All @@ -353,7 +316,7 @@ Lancement du backend pour générer les schémas :

::

# assurez vous de bien être toujours connecté en tant que geonatadmin
# Assurez vous de bien être toujours connecté en tant que geonatadmin
# avec le venv activé avant de lancer cette étape
sudo chown geonatadmin:geonatadmin /home/geonatadmin/gncitizen/ -R
cd ~/gncitizen/backend
Expand Down
Loading

0 comments on commit 951b2f2

Please sign in to comment.