forked from DGNum/gestioCOF
Quicker setup for local development
This commit is contained in:
parent
5923166196
commit
4d026407d1
3 changed files with 21 additions and 26 deletions
39
README.md
39
README.md
|
@ -69,16 +69,17 @@ entrer dans le navigateur est `localhost:8000`.
|
||||||
|
|
||||||
#### Serveur de développement type production
|
#### Serveur de développement type production
|
||||||
|
|
||||||
Sur la VM Vagrant, un serveur apache est configuré pour servir GestioCOF de
|
Juste histoire de jouer, pas indispensable pour développer :
|
||||||
façon similaire à la version en production : on utilise
|
|
||||||
|
La VM Vagrant héberge en plus un serveur nginx configuré pour servir GestioCOF
|
||||||
|
comme en production : on utilise
|
||||||
[Daphne](https://github.com/django/daphne/) et `python manage.py runworker`
|
[Daphne](https://github.com/django/daphne/) et `python manage.py runworker`
|
||||||
derrière un reverse-proxy apache. Le tout est monitoré par
|
derrière un reverse-proxy nginx.
|
||||||
[supervisor](http://supervisord.org/).
|
|
||||||
|
|
||||||
Ce serveur se lance tout seul et est accessible en dehors de la VM à l'url
|
Ce serveur se lance tout seul et est accessible en dehors de la VM à l'url
|
||||||
`localhost:8080`. Toutefois il ne se recharge pas tout seul lorsque le code
|
`localhost:8080`. Toutefois il ne se recharge pas tout seul lorsque le code
|
||||||
change, il faut relancer le worker avec `sudo supervisorctl restart worker` pour
|
change, il faut relancer le worker avec `sudo systemctl restart worker.service`
|
||||||
visualiser la dernière version du code.
|
pour visualiser la dernière version du code.
|
||||||
|
|
||||||
|
|
||||||
### Installation manuelle
|
### Installation manuelle
|
||||||
|
@ -87,7 +88,7 @@ Vous pouvez opter pour une installation manuelle plutôt que d'utiliser Vagrant,
|
||||||
il est fortement conseillé d'utiliser un environnement virtuel pour Python.
|
il est fortement conseillé d'utiliser un environnement virtuel pour Python.
|
||||||
|
|
||||||
Il vous faudra installer pip, les librairies de développement de python ainsi
|
Il vous faudra installer pip, les librairies de développement de python ainsi
|
||||||
que sqlite3, un moteur de base de données léger et simple d'utilisation ; sous
|
que sqlite3, un moteur de base de données léger et simple d'utilisation. Sous
|
||||||
Debian et dérivées (Ubuntu, ...) :
|
Debian et dérivées (Ubuntu, ...) :
|
||||||
|
|
||||||
sudo apt-get install python3-pip python3-dev sqlite3
|
sudo apt-get install python3-pip python3-dev sqlite3
|
||||||
|
@ -107,29 +108,23 @@ dans le même dossier.
|
||||||
Vous pouvez maintenant installer les dépendances Python depuis le fichier
|
Vous pouvez maintenant installer les dépendances Python depuis le fichier
|
||||||
`requirements-devel.txt` :
|
`requirements-devel.txt` :
|
||||||
|
|
||||||
|
pip install -U pip
|
||||||
pip install -r requirements-devel.txt
|
pip install -r requirements-devel.txt
|
||||||
|
|
||||||
Pour terminer, copier le fichier `cof/settings/secret_example.py` vers
|
Pour terminer, copier le fichier `cof/settings/secret_example.py` vers
|
||||||
`cof/settings/secret.py`. Sous Linux ou Mac, préférez plutôt un lien symbolique
|
`cof/settings/secret.py`. Sous Linux ou Mac, préférez plutôt un lien symbolique
|
||||||
pour profiter de façon transparente des mises à jour du fichier d'exemple:
|
pour profiter de façon transparente des mises à jour du fichier:
|
||||||
|
|
||||||
ln -s secret_example.py cof/settings/secret.py
|
ln -s secret_example.py cof/settings/secret.py
|
||||||
|
|
||||||
|
|
||||||
#### Fin d'installation
|
#### Fin d'installation
|
||||||
|
|
||||||
Il ne vous reste plus qu'à initialiser les modèles de Django avec la commande suivante :
|
Il ne vous reste plus qu'à initialiser les modèles de Django et peupler la base
|
||||||
|
de donnée avec les données nécessaires au bon fonctionnement de GestioCOF + des
|
||||||
|
données bidons bien pratiques pour développer avec la commande suivante :
|
||||||
|
|
||||||
python manage.py migrate
|
bash provisioning/prepare_django.sh
|
||||||
|
|
||||||
Charger les mails indispensables au bon fonctionnement de GestioCOF :
|
|
||||||
|
|
||||||
python manage.py syncmails
|
|
||||||
|
|
||||||
Une base de donnée pré-remplie est disponible en lançant les commandes :
|
|
||||||
|
|
||||||
python manage.py loaddata gestion sites articles
|
|
||||||
python manage.py loaddevdata
|
|
||||||
|
|
||||||
Vous êtes prêts à développer ! Lancer GestioCOF en faisant
|
Vous êtes prêts à développer ! Lancer GestioCOF en faisant
|
||||||
|
|
||||||
|
@ -148,6 +143,6 @@ Pour mettre à jour les modèles après une migration, il faut ensuite faire :
|
||||||
|
|
||||||
## Documentation utilisateur
|
## Documentation utilisateur
|
||||||
|
|
||||||
Une brève documentation utilisateur pour se familiariser plus vite avec l'outil
|
Une brève documentation utilisateur est accessible sur le
|
||||||
est accessible sur le
|
[wiki](https://git.eleves.ens.fr/cof-geek/gestioCOF/wikis/home) pour avoir une
|
||||||
[wiki](https://git.eleves.ens.fr/cof-geek/gestioCOF/wikis/home).
|
idée de la façon dont le COF utilise GestioCOF.
|
||||||
|
|
|
@ -41,7 +41,10 @@ sudo -H -u ubuntu ~ubuntu/venv/bin/pip install -r /vagrant/requirements-devel.tx
|
||||||
# Préparation de Django
|
# Préparation de Django
|
||||||
cd /vagrant
|
cd /vagrant
|
||||||
ln -s -f secret_example.py cof/settings/secret.py
|
ln -s -f secret_example.py cof/settings/secret.py
|
||||||
sudo -H -u ubuntu DJANGO_SETTINGS_MODULE='cof.settings.dev' bash provisioning/prepare_django.sh
|
sudo -H -u ubuntu \
|
||||||
|
DJANGO_SETTINGS_MODULE='cof.settings.dev' \
|
||||||
|
bash -c ". ~/venv/bin/activate && bash provisioning/prepare_django.sh"
|
||||||
|
/home/ubuntu/venv/bin/python manage.py collectstatic --noinput --settings cof.settings.dev
|
||||||
|
|
||||||
# Installation du cron pour les mails de rappels
|
# Installation du cron pour les mails de rappels
|
||||||
sudo -H -u ubuntu crontab provisioning/cron.dev
|
sudo -H -u ubuntu crontab provisioning/cron.dev
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Doit être lancé par bootstrap.sh
|
|
||||||
|
|
||||||
source ~/venv/bin/activate
|
|
||||||
python manage.py migrate
|
python manage.py migrate
|
||||||
python manage.py loaddata gestion sites articles
|
python manage.py loaddata gestion sites articles
|
||||||
python manage.py loaddevdata
|
python manage.py loaddevdata
|
||||||
python manage.py syncmails
|
python manage.py syncmails
|
||||||
python manage.py collectstatic --noinput
|
|
||||||
|
|
Loading…
Reference in a new issue