Kerl/fix dev data
Les données de développement sont désormais réparties entre deux fixtures et un commande django-admin.
- Fixtures
- `gestion` : sondages, événéments, matières de petits cours et deux demandes de petits cours.
- `sites` : le site pour l'application `sites`.
- La commande `loaddevdata` : elle se découpe en deux parties.
- La première dont le code est dans `gestioncof/management/commands/loaddevdata.py` charge les utilisateurs dans la base de données et les inscrits aux petits cours. Si l'argument `--no-root` est passé, l'utilisateur privilégié `root` n'est pas créé.
- La deuxième, `loadbdadevdata` est appelée par la première. Elle instancie deux tirages et y inscrit tous les utilisateurs puis lance le premier tirage.
Comme on peut le constater dans `provisioning/prepare_django.sh`, les commandes à appeler pour setup l'environnement de dev sont
python manage.py loaddata gestion sites
python manage.py loaddevdata
Pour augmenter la liste des données à importer, compléter les fichiers contenus dans `{gestioncof,bda}/management/data/`
See merge request !160
On fait tourner GestioCOF avec daphne derrière un reverse-proxy Apache
sur la VM Vagrant tout comme sur le serveur de production. On peut tester
en local GestioCOF en “conditions réelles”.
Le serveur lancé avec `python manage.py runserver 0.0.0.0:8000` est toujours
accessible à la même url `localhost:8000`.
Le (nouveau) serveur apache est accessible à `localhost:8080`.
Pour appliquer les changements dans le code au serveur type prod, il faut
relancer le worker : `sudo supervisorctl restart worker`. Alors que le serveur
de dev se relance tout seul.
NB important : ce patch supprime le mot de passe sur le serveur redis en dev,
pour faire marcher ce nouveau setup avec un version précédente de la VM, il faut
lancer `sudo redis-cli config set requirepass ""`
Ce commit ajoute une configuration Vagrant permettant d'avoir un
environnement de développement facile à installer et réutilisable (cf
README.md).
En particulier :
- Vagrantfile est un fichier qui décrit une machine virtuelle Vagrant.
La configuration est assez proche des défauts, et n'introduit que
deux différences : les ports 8000 et 80 sont bindés sur les ports
8000 et 8080 (respectivement) sur la machine hôte, et le script
`provisioning/bootstrap.sh` est utilisé pour configurer une nouvelle
machine virtuelle.
- provisioning/bootstrap.sh est un script shell qui s'occupe
d'installer les paquets nécessaire et de configurer la machine
virtuelle pour que GestioCOF fonctionne.
- cof/settings_dev.py est un fichier de configuration minimal
permettant de faire fonctionner GestioCOF, configuré pour être
utilisé avec Vagrant mais facilement adaptable.