INSTALL.md 2.29 KB

Installation de Plan De Charge

Prérequis

  • python3

Obtenir un répertoire fonctionnel

git clone https://gitlab.irap.omp.eu/PDC-IRAP/pdc-web.git
cd pdc-web

Installer l'environment python

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Configurer l'application

cp resources/pdc_config.py .
$(EDITOR) pdc_config.py

cp resources/flaskenv .flaskenv

Jouer les tests et exécuter un serveur local

pip install -r requirements-tests.txt
PYTHONPATH=. pytest

# éventuellement voir le taux de couverture
PYTHONPATH=. pytest  --cov=app --cov-report=xml:"coverage.xml" --cov-report=term --junitxml "tests-report.xml" 

# ouvrir un serveur sur localhost:5000
flask run

Configurer apache

Les fichiers concernés:

  • pdc_web.wsgi
  • pdc_config.py

La procédure:

mkdir /var/www/html/pdc-web

cp ./resources/apache2-virtual-host.conf /etc/apache2/sites-available/pdc-web.conf
$(EDITOR) /etc/apache2/sites-available/pdc-web.conf # éditer les paramètres
a2ensite pdc-web 
apachectl restart

Mise à jour

git autodeploy

Les fichiers concernés:

  • scripts/post-deploy.sh
  • resources/post-receive.git-hook

La procédure:

git --work-tree=/var/www/html/pdc-web --git-dir=/path/to/the/repo.git checkout -f master

# make bare repo
git clone --bare /path/to/the/repo.git
# put on hook
cp /path/to/working-directory/resources/post-receive.git-hook repo.git/hooks/post-receive
$(EDITOR) repo.git/hooks/post-receive

git push to repo

Intégration Pycharm

Ce projet utilisant le pattern "factory", il faut procéder à quelques configuration afin de le faire tourner avec pycharm.

Pour une procédure détaillée, voir la page:

https://flask.palletsprojects.com/en/1.1.x/cli/#pycharm-integration

But basically, you just have to Edit the Run Configurations, and set the fields:

Dans le menu 'Edit Configurations', changer les champs:

  • 'module name' positionné à 'flask'
  • et dans le champs 'Parameters' choisir 'run'

Normalement, cette configuration permet de lire les variables positionées dans le fichier .flaskenv

FLASK_ENV=development
FLASK_APP=pdc_web

Ainsi fait, exécutez votre projet depuis pycharm et testez. flask db update db_config