Giter VIP home page Giter VIP logo

irfm's Introduction

Installation

Prérequis

  • Python 3 + headers (ie. python3-dev)
  • virtualenvwrapper
  • PostgreSQL (postgresql-server-dev-all) avec l'extension unaccent
  • pdftotext

Nouvelle Installation

$ git clone https://git.regardscitoyens.org/regardscitoyens/irfm.git
$ cd irfm
$ mkvirtualenv --python=$(which python3) irfm
$ pip install -e .
$ sudo -u postgres psql -c "create user irfm with password 'irfm';"
$ sudo -u postgres psql -c "create database irfm with owner irfm;"
$ sudo -u postgres psql irfm -c "create extension unaccent;"
$ irfm db upgrade
$ irfm import_nd
$ irfm import_adresses

Mise à jour

$ cd /path/to/irfm
$ workon irfm
$ git pull
$ pip install -e .
$ irfm db upgrade
$ irfm import_nd
$ irfm import_adresses
$ irfm clear_cache

Déploiement

irfm.irfm:app est une application WSGI qui peut être servie avec n'importe quel serveur compatible (comme gunicorn).

Configuration

L'application peut être configurée avec des variables d'environnement:

  • IRFM_CONFIG: irfm.config.EnvironmentConfig (sauf si vous voulez utiliser votre propre module de configuration)
  • IRFM_DB_URL: URL de connexion base de données, par défaut postgresql://irfm:irfm@localhost:5432/irfm
  • IRFM_DATA_DIR: chemin vers un dossier où l'utilisateur exécutant l'application a les droits de lecture/écriture. Les uploads, fichiers générés et la clé secrète de l'application y seront stockés. Ne pas laisser ce répertoire accessible au public.
  • IRFM_PIWIK_HOST et IRFM_PIWIK_ID: si définies, le code de tracking Piwik correspondant sera ajouté aux pages.
  • IRFM_ADMIN_EMAIL: adresse e-mail d'expéditeur pour les mails envoyés
  • IRFM_ADMIN_PASSWORD: mot de passe administrateur (nick !rc), voir ci-dessous pour le générer.
  • Configuration mail:
    • IRFM_MAIL_SERVER, IRFM_MAIL_PORT: serveur SMTP, localhost:25 par défaut
    • IRFM_MAIL_USERNAME, IRFM_MAIL_PASSWORD, identifiants pour le serveur SMTP
    • IRFM_MAIL_USE_TLS, IRFM_MAIL_USE_SSL: options de sécurité, False par défaut
    • IRFM_MAIL_SUPPRESS_SEND: permet de désactivé totalement l'envoi de mails si positionné à True

Pour générer le mot de passe administrateur, exécuter irfm password dans le virtualenv de l'application puis saisir le mot de passe souhaité. Attention, IRFM_DATA_DIR doit avoir la même valeur que lors de l'exécution de l'application WSGI, car la clé secrète qui y est stockée est utilisée pour hasher le mot de passe.

Fichiers statiques

Les répertoires suivants peuvent être servis directement par le serveur web frontal le cas échéant:

  • irfm/static (depuis la racine du dépôt) sur /static
  • $IRFM_DATA_DIR/files sur /files
  • $IRFM_DATA_DIR/uploads sur /uploads

ATTENTION: ne pas servir directement le répertoire $IRFM_DATA_DIR. Il contient la clé secrète permettant de chiffrer les cookies.

Développement

Exécution locale

$ cd /path/to/irfm
$ workon irfm
$ export IRFM_CONFIG=irfm.config.EnvironmentConfig
$ export IRFM_DEBUG=True
$ export IRFM_DEBUG_SQL=True
$ export IRFM_DB_URL=postgresql://irfm:irfm@localhost:5432/irfm
$ irfm runserver

Génération de migrations

Après avoir modifié les modèles Python :

$ irfm db migrate -m <description>
$ irfm db upgrade

Création de migration vierge

$ irfm db revision -m <description>

irfm's People

Contributors

boogheta avatar massiliane avatar njoyard avatar phyks avatar rouxrc avatar teymour avatar wincelau avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.