Commit 474465ee54b48546b083ee2dfadd67fee77dc029
1 parent
fa772e4b
Exists in
master
and in
4 other branches
More install doc
Showing
2 changed files
with
46 additions
and
21 deletions
Show diff stats
INSTALL.md
... | ... | @@ -12,7 +12,7 @@ |
12 | 12 | export GIT_SSL_NO_VERIFY=1 |
13 | 13 | git clone https://gitlab.irap.omp.eu/PDC-IRAP/pdc-web.git |
14 | 14 | cd pdc-web |
15 | - git checkout dev # éventuellement travailler avec la branche la plus à jour | |
15 | + git checkout dev # pour éventuellement travailler avec la branche la plus à jour | |
16 | 16 | |
17 | 17 | ### Installer l'environment python |
18 | 18 | |
... | ... | @@ -24,57 +24,66 @@ |
24 | 24 | ### Configurer l'application |
25 | 25 | |
26 | 26 | Les fichiers de configuration fournis dans le répertoire ./resources sont à copier à la racine du projet, |
27 | -mais peuvent être laissés tels quels pour un premier test aprés installation. | |
27 | +mais peuvent être laissés tels quels pour un premier test après installation. | |
28 | 28 | |
29 | -Il est bon d'y jeter un oeil, les commentaires sont là pour aider. | |
29 | +Il est bon d'y jeter un oeil, les commentaires sont là pour vous aider. | |
30 | +(mais en anglais comme tout le code source du projet) | |
30 | 31 | |
31 | 32 | # D'abord les accès base de donnée |
32 | 33 | # |
33 | - cp resources/db_config.py . | |
34 | + cp ./resources/db_config.py ./ | |
34 | 35 | $(EDITOR) db_config.py |
35 | 36 | |
36 | 37 | # Puis le fichier pour l'application elle même |
37 | 38 | # |
38 | - cp resources/pdc_config.py . | |
39 | + cp ./resources/pdc_config.py ./ | |
39 | 40 | $(EDITOR) pdc_config.py |
40 | 41 | |
41 | - # Enfin le contrôle de la commande flask | |
42 | - # également chargé par l'application grace à l'instruction: | |
42 | + # Enfin le contrôle de la commande flask est assuré par son propre fichier de configuration | |
43 | + # Celui ci est également chargé par l'application grace à l'instruction: | |
43 | 44 | # app/__init__.py: load_dotenv(env_file, verbose=True) |
44 | 45 | # |
45 | - cp resources/flaskenv .flaskenv # ! noter le '.' devant le fichier destination | |
46 | + cp ./resources/flaskenv ./.flaskenv # ! noter le '.' devant le fichier destination | |
46 | 47 | $(EDITOR) .flaskenv |
47 | 48 | |
48 | 49 | ### Créer la base de données |
49 | 50 | |
50 | -Dans un premier temps pour tester l'installation, on peut s'appuyer sur une base déjà disponible. | |
51 | +Dans un premier temps, pour tester l'installation, on peut s'appuyer sur une base déjà disponible. | |
51 | 52 | |
52 | 53 | Il s'agit de l'import d'une base de type Lesia dont les noms d'agents, de projets, de métiers et de services ont été |
53 | -réécrit avec des chantiers du batiment. Cela afin de ne pas diffuser des données réelles du Lesia et permettre la | |
54 | -diffusion de ces données de test avec le projet plan-de-charge. | |
54 | +réécrit avec des chantiers du batiment. Cela fut fait afin de ne pas diffuser des données réelles du Lesia et permettre | |
55 | +la diffusion de ces données de test avec le projet plan-de-charge. | |
55 | 56 | |
56 | 57 | cp resources/lesia-btp.sqlite ./pdc-dev.db |
57 | 58 | |
58 | -Vérifier que ce chemin correspond avec celui configuré dans le fichier `db_config.py` | |
59 | +Vérifier que ce chemin correspond avec celui configuré dans le fichier `db_config.py` pour la | |
60 | +variable `sqlalchemy_devdb_uri`. | |
61 | +C'est le cas dans le fichier initial pour une variable `FLASK_ENV` positionnée à 'development'. | |
62 | + | |
63 | +Pour un usage plus avancé, voyez l'outil en ligne de commande fourni avec l'application. | |
64 | +(sinon, passez directement à la section suivante ) | |
59 | 65 | |
60 | -Pour un usage plus avancé, il y a l'outil de ligne de commande fourni avec l'application. | |
61 | 66 | |
62 | 67 | # Créer la structure de la base |
63 | 68 | # |
64 | 69 | flask pdc_db create_db |
65 | 70 | |
66 | - # Il est aussi possible d'importer une base de type Lesia | |
71 | + # Il est possible d'importer une base de type Lesia | |
67 | 72 | # cela suppose de disposer d'une telle base, et de l'avoir configurée dans db_config.py |
68 | 73 | # |
69 | 74 | flask pdc_db feed_from_lesia |
70 | 75 | |
71 | 76 | # Voire de l'anonymiser en changeant |
72 | - # - les noms de projet | |
73 | - # - les noms de service | |
77 | + # - les noms de projets | |
78 | + # - les noms de services | |
74 | 79 | # - les noms de fonctions |
75 | 80 | # |
76 | 81 | flask pdc_db fake_lesia_names |
77 | 82 | |
83 | + # D'autre commandes d'importation sont disponibles: | |
84 | + # | |
85 | + flask pdc_db feed_from_irap --csv-file 2021_03_30_PDC_v0-1.csv | |
86 | + | |
78 | 87 | # Plus d'info sur les outils en ligne de commande: |
79 | 88 | # |
80 | 89 | flask --help |
... | ... | @@ -84,7 +93,7 @@ Pour un usage plus avancé, il y a l'outil de ligne de commande fourni avec l'ap |
84 | 93 | ## Jouer les tests et exécuter un serveur local |
85 | 94 | |
86 | 95 | pip install -r requirements-tests.txt |
87 | - cp resources/lesia-btp.sqlite ./pdc-test.db # ou le chemin configuré dans `db_config.py` | |
96 | + cp resources/lesia-btp.sqlite ./pdc-test.db # ou le chemin configuré dans `db_config.py` pour sqlalchemy_testdb_uri | |
88 | 97 | PYTHONPATH=. pytest |
89 | 98 | |
90 | 99 | # éventuellement voir le taux de couverture |
... | ... | @@ -131,6 +140,8 @@ Enfin, ouvrir un serveur sur localhost:5000 et y accéder avec son navigateur. |
131 | 140 | |
132 | 141 | ## Mise à jour |
133 | 142 | |
143 | +### git pull | |
144 | + | |
134 | 145 | ### git autodeploy |
135 | 146 | |
136 | 147 | Les fichiers concernés: |
... | ... | @@ -150,7 +161,16 @@ La procédure: |
150 | 161 | |
151 | 162 | git push to repo |
152 | 163 | |
164 | +## Gestion des utilisateurs | |
153 | 165 | |
166 | +La table `users` stocke les utilisateur qui se connectent à l'applicationa avec leur rôle et les droits associés. | |
167 | +Un ensemble de commandes permet de les gérer: | |
168 | + | |
169 | + flask pdc_db user_show_all # liste existante | |
170 | + flask pdc_db user_add # ajouter un nouveau login | |
171 | + flask pdc_db user_update # modifier un login existant | |
172 | + flask pdc_db user_delete # effacer un login existant | |
173 | + flask pdc_db show_roles # lister les rôles disponibles | |
154 | 174 | |
155 | 175 | ## Intégration Pycharm |
156 | 176 | |
... | ... | @@ -168,10 +188,15 @@ Dans le menu 'Edit Configurations', changer les champs: |
168 | 188 | - et dans le champs 'Parameters' choisir 'run' |
169 | 189 | |
170 | 190 | |
171 | -Normalement, cette configuration permet de lire les variables positionées dans le fichier .flaskenv | |
191 | +Cette configuration permet de lire les variables positionées dans le fichier .flaskenv | |
172 | 192 | |
173 | 193 | FLASK_ENV=development |
174 | 194 | FLASK_APP=pdc_web |
175 | 195 | |
176 | 196 | |
177 | 197 | Ainsi fait, exécutez votre projet depuis pycharm et essayez sur un navigateur à l'adresse localhost:5000. |
198 | + | |
199 | +## Troubleshooting | |
200 | + | |
201 | +* Q: parfois le module Flask-Migrate n'est pas correctement chargé aprés son installation. | |
202 | +* R: simplement recharger l'environnement virtuel avec `source venv/bin/activate` | ... | ... |
resources/flaskenv
... | ... | @@ -4,12 +4,12 @@ |
4 | 4 | # and https://flask.palletsprojects.com/en/1.1.x/config/ |
5 | 5 | # |
6 | 6 | |
7 | -# Default set to 'production', | |
7 | +# Default environment set to 'production', | |
8 | 8 | # but 'development' value adds debuging facities. |
9 | 9 | # |
10 | 10 | FLASK_ENV=development |
11 | 11 | |
12 | -# Is set to the python application wrapper | |
13 | -# you shouldnt edit. | |
12 | +# Default app name is set to the python application wrapper. | |
13 | +# You shouldnt edit unless you know what you're doing. | |
14 | 14 | # |
15 | 15 | FLASK_APP=pdc_web | ... | ... |