INSTALL.md
2.27 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.