Skip to content
develop
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
api
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

alt text

GéoContrib est un outil libre de signalement contributif et collaboratif. Une version de démonstration est accessible sur https://geocontrib.demo.neogeo.fr/.

Installation

Prérequis

  • Python 3.5
  • Instance de PostgreSQL/PostGIS avec une base de données dédiée à l'application (cf. paramètre DATABASES du fichier settings.py)

Création du projet Django et clone du repo

# Création d'un environnement virtuel Python
python3.5 -m venv geocontrib_venv/

# Activation de cet environnement
source geocontrib_venv/bin/activate

# Clonage du projet - récupération des sources
# Actuellement, la branche par défaut du projet est develop
# Ce sera celle qui sera active par défaut immédiatement après le clonage
git clone https://github.com/neogeo-technologies/geocontrib.git src/

# Installer les dépendances
pip install -r src/requirements.txt

# Création d'un projet Django
django-admin startproject config .

# Création de liens symboliques pour que les sources soient visibles par Django
ln -s src/geocontrib/ .
ln -s src/api/ .

Édition des fichiers settings.py et url.py

Copier le contenu du fichier /src/config_sample/settings.py dans /config/settings.py.

Éditer les paramètres classiques de Django dans /config/settings.py :

Éditer les paramètres spécifiques à l'outil dans /config/settings.py :

  • DEFAULT_SENDING_FREQUENCY : fréquence d'envoi des notifications par email (never/instantly/daily/weekly)
  • APPLICATION_NAME : nom de l'application telle qu'elle apparaît dans l'IHM
  • APPLICATION_ABSTRACT : description de l'application en langage naturel
  • IMAGE_FORMAT : formats autorisés des fichiers téléversés dans l'application
  • FILE_MAX_SIZE : taille maximale des fichiers téléversés dans l'application
  • DEFAULT_BASE_MAP : configuration du fond de carte par défaut
  • PROJECT_COPY_RELATED : configuration des modèles de projets

Copier le contenu du fichier /src/config_sample/urls.py dans /config/urls.py

Création des tables et ajout de données initiales dans la base de données

python manage.py migrate
python manage.py loaddata src/geocontrib/data/perm.json
python manage.py loaddata src/geocontrib/data/flatpages.json

Ne faites pas attention aux messages d'avertissement suivants :

Sites not migrated yet. Please make sure you have Sites setup on Django Admin

Dépot des images par défaut

Copier l'image par défaut et le logo de l'application dans le répertoire défini par le paramètre MEDIA_ROOT du fichier settings.py.

Par exemple, copier les images fournies dans les sources de l'application :

mkdir media
cp src/geocontrib/static/geocontrib/img/default.png media/
cp src/geocontrib/static/geocontrib/img/logo.png media/
cp src/geocontrib/static/geocontrib/img/logo-neogeo*.png media/

Création d'un superutilisateur

Lancer la commande Django de création d'un super utilisateur et suivre les instructions :

python manage.py createsuperuser

Paramétrage du domaine et du nom du site

Ces données sont à définir depuis l'admin Django dans la section Site et permettent notamment d'afficher les url dans les gabarit d'e-mail. Pour cela, lancer l'application Django :

python manage.py runserver

Se rendre dans l'interface d'administration Django et éditer le premier enregistrement des entités "Sites" (cf. yoururl.net/admin/sites/).

Configuration des tâches périodiques

Deux types de tâches requièrent d'invoquer une commande régulièrement (depuis un cron par exemple)

L'envoi de mails de norifications, vous pouvez l'appeler toutes les minutes ou tous les jours selon vos préférences d'envoi

python manage.py notify_subscribers

L'archivage et la suppression des signalements, à invoquer une fois par jour

python manage.py data_cleansing

Déploiement dans un environnement geOrchestra

Reportez-vous au README.md présent dans le répertoire plugin_georchestra.

Sauvegarde des données

python manage.py dumpdata --natural-foreign --natural-primary -e contenttypes -e auth.Permission --indent 4 > dump.json

Génération du graphique du modèle

Après avoir install graphiz et les django extensions

./manage.py graph_models --pygraphviz geocontrib --output docs/model.png

Le graphique est disponible ici docs/model.png