# 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.