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
|
||||
|
||||
Sur la VM Vagrant, un serveur apache est configuré pour servir GestioCOF de
|
||||
façon similaire à la version en production : on utilise
|
||||
Juste histoire de jouer, pas indispensable pour développer :
|
||||
|
||||
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`
|
||||
derrière un reverse-proxy apache. Le tout est monitoré par
|
||||
[supervisor](http://supervisord.org/).
|
||||
derrière un reverse-proxy nginx.
|
||||
|
||||
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
|
||||
change, il faut relancer le worker avec `sudo supervisorctl restart worker` pour
|
||||
visualiser la dernière version du code.
|
||||
change, il faut relancer le worker avec `sudo systemctl restart worker.service`
|
||||
pour visualiser la dernière version du code.
|
||||
|
||||
|
||||
### 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 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, ...) :
|
||||
|
||||
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
|
||||
`requirements-devel.txt` :
|
||||
|
||||
pip install -U pip
|
||||
pip install -r requirements-devel.txt
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
#### 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
|
||||
|
||||
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
|
||||
bash provisioning/prepare_django.sh
|
||||
|
||||
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
|
||||
|
||||
Une brève documentation utilisateur pour se familiariser plus vite avec l'outil
|
||||
est accessible sur le
|
||||
[wiki](https://git.eleves.ens.fr/cof-geek/gestioCOF/wikis/home).
|
||||
Une brève documentation utilisateur est accessible sur le
|
||||
[wiki](https://git.eleves.ens.fr/cof-geek/gestioCOF/wikis/home) pour avoir une
|
||||
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
|
||||
cd /vagrant
|
||||
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
|
||||
sudo -H -u ubuntu crontab provisioning/cron.dev
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
#!/bin/bash
|
||||
# Doit être lancé par bootstrap.sh
|
||||
|
||||
source ~/venv/bin/activate
|
||||
python manage.py migrate
|
||||
python manage.py loaddata gestion sites articles
|
||||
python manage.py loaddevdata
|
||||
python manage.py syncmails
|
||||
python manage.py collectstatic --noinput
|
||||
|
|
Loading…
Reference in a new issue