+---------------------+
| TaggedAnimalObs |
+---------------------+ +----------------+
+------------------+ | FK id_tagged_animal +------> | TaggedAnimal |
| Observation | <--------+ FK id_observation | +----------------+
+------------------+ | child_count | | name |
| date | +---------------------+ | gender |
| coord_x | | ears_color |
| coord_y | | catch_date |
| male_count | | picture |
| female_count | +----------------+
| comment |
+---+ FK people |
| +------------------+
|
|
| +----------+
+--> | t_roles | (UserHub)
+----------+
| name |
| surname |
+----------+
- Créer un nouveau schéma visant à accueillir les données dans la base Postgres
- Initialiser la table TaggedAnimal avec des données (détaillé plus loin)
Hypothèse d'une base Postgres déjà configuré
Préalables :
sudo apt update
sudo apt install git python3 nginx
pip install -U pip
git clone git@github.com:nicolasmanman/science_participative.git
Il est recommendé d'utiliser un virtualenv
pip install -r requirements.txt
Selon l'OS, on peut avoir besoin d'installer : python-psycopg2 libpq-dev gcc python3-dev
pour pouvoir installer la librairie python psycopg2
De la configuration peut être trouvée dans le fichier : science_participative/web/static/conf.json
ign_api_key
: token utilisé par le module IGN, voir le portail IGNign_layer
: layer utilisé par le module IGNbackend_url
: url du serveur hébergeant le code pythonanimal_max_tagged_count
: valeur haute du selecteur "Nombre d'individus marqués"childs_possible_values
: valeurs possibles du selecteur "Cabris"animals_pictures_dir
: répertoire contenant les photos des individus marquéslow_zoom_alert_message
: message d'alerte s'affichant lorsque l'utilisateur place un point sur la carte ayant un zoom insuffisant
De la configuration serveur peut-être trouvée dans le fichier : science_participative/web/conf-backend.json
database_uti
: sous la formeuser:password@server:port/database
postgres_schema_data
: nom du schéma accueillant les données de l'applicationpostgres_schema_users
: nom du schéma UserHub (contenant la table t_roles)
Le script science_participative/var/db_init.sql
peut être joué afin d'initialiser les données des individus bouclés
sudo /etc/init.d/nginx start
sudo rm /etc/nginx/sites-enabled/default
sudo touch /etc/nginx/sites-available/app_bouquetin
sudo ln -s /etc/nginx/sites-available/app_bouquetin /etc/nginx/sites-enabled/app_bouquetin
sudo vim /etc/nginx/sites-enabled/app_bouquetin
Dans /etc/nginx/sites-enabled/app_bouquetin :
server {
listen *:80;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
puis :
sudo /etc/init.d/nginx restart
source venv/bin/activate
pip install gunicorn
cd path/to/project/science_participative/web
venv/bin/gunicorn app:app