Git Product home page Git Product logo

mtl511's Introduction

Projet Open511/Géo-Trafic Montreal

Build Status

Installation

Vous avez besoin de Python 3.5, et access à un BD PostgreSQL 9.x, avec PostGIS 2.x. Pour l'installation, vous avez aussi besoin de git et de node.js (avec npm).

Création de l'environnement Python

pyvenv env-geotrafic pour créer source env-geotrafic/bin/activate pour activer

On sait que l'environnement Python est activé quand (env-geotrafic) apparaît dans le prompt shell. Il doit être activé avant d'executer les programmes Python.

mkdir ~/logs pour creer un endroit pour mettre les logs

Installation des modules Python

Assurez-vous que pg_config est accessible dans le PATH.

pip install -r requirements.txt

Création du BD

Créer un usager et un BD Postgres (e.g. en executant su postgres et en suite createuser open511 et createdb open511 -O open511), et initializer PostGIS avec psql -c "CREATE EXTENSION postgis;" open511.

Configuration

Du directoire geotrafic511, faire cp settings.py.example settings.py, et en suite modifier settings.py. Ici on met les informations du connexion BD, et on peut changer plusieurs autres choses.

Préparation

python manage.py migrate python manage.py collectstatic Pour mettre la jurisdiction Ville de Montréal dans le BD, faire python manage.py loaddata juridiction_mtl.json

Serveur

Si vous voulez éxécuter manuellement le serveur, faire:

gunicorn -c gunicorn_settings.py geotrafic511.wsgi

python import_runner.py pour ramasser les données

Des fichiers upstart sont en deployment -- vous pouvez les copier en /etc/init (en modifiant les paths et les noms d'usager), et en suite démarrer les services avec start open511-web et start open511-importer

Mettre à jour

Un script, update_app.sh, devrait faire les étapes nécessaires. Assurez-vous que l'environnement Python est activé avant d'executer le script.

Administration

Configuration de l'interface admin

En settings.py, assurez-vous que ENABLE_ADMIN est True; si vous avez du changer l'option, redémarrer le serveur avec ./restart_server.sh (ou kill -HUP cat gunicorn.pid``).

Établir un mot de passe avec python manage.py createsuperuser. En suite, naviguer à /api/open511/admin/.

Supprimer les événements

Via le BD: connecter à Postgres (psql -U geotrafic511 geotrafic511, avec le mot de passe BD disponible en settings.py), et faire TRUNCATE TABLE open511_roadevent;. Ou utiliser l'interface admin.

Recommencer l'importation de Géo-Trafic

En géneral, l'application demande de l'API Géo-Trafic seulement les événements qui ont changés depuis la dernière demande. Pour demander tous les événements, faire DELETE FROM open511_importtaskstatus; en Postgres, ou naviguer au section Import Task Statuses dans l'interface admin et supprimer l'objet trouvé là.

Redémarrer les services

./restart_server.sh pour redémarrer les deux services

kill -HUP cat gunicorn.pid`` (dans la même directoire que gunicorn.pid, ~/mtl511) pour redémarrer le serveur web

killall open511-importer pour redémarrer le service d'importation

Conversion manuelle de données XML Géo-Trafic

n.b. ceci n'est pas nécessaire pour faire opérer le serveur Open511

python geotrafic511/converter.py input.xml > open511_output.xml

python geotrafic511/converter.py -f json input.xml > open511_output.json

mtl511's People

Contributors

michaelmulley avatar

Watchers

James Cloos avatar

Forkers

axaub

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.