www-bocal/README.md
Théophile Bastian eed3653d22 Use rhosts file to grant permissions to users.
Whenever a user logs in through CAS, their username is looked up in the
.rhosts file provided through settings. If it is found, the user is
granted staff status and BOcal group (cf fixture).

The rights are re-evaluated at each login and at each access to
/admin/login.

Close #2.
2017-10-14 19:36:13 +02:00

84 lines
2.7 KiB
Markdown

# Site du BOcal
L'ancien site du BOcal (en 2017) est de plus en plus horrible à gérer, de plus
en plus moche, de plus en plus patché salement. Il est temps de passer à autre
chose.
## Contributeurs
S'il y a besoin de contacter un·e vieux·ille ayant bossé sur ce site, les noms
et adresses de contact (quoique les clippers seront sûrement invalides) se
trouvent dans les « commits » du projet. Au pire, un·e info saura trouver ça :)
## Installer
Récupérer le site :
```bash
git clone https://git.eleves.ens.fr/bocal/site bocal-site
cd bocal-site
```
Créer un « virtualenv » (paquets python séparés pour le projet) et installer
les dépendances :
```bash
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
```
Configurer le site, **uniquement si c'est pour déployer le site en
production** :
```bash
cd bocal
ln -sf settings_prod.py settings.py
```
Ensuite, toujours pour la mise en production, **éditez settings.py** et changez
au minimum tous les endroits où des `FIXME` sont écrits. En particulier,
**générez une secret key aléatoire et forte**, par exemple avec
```bash
pwgen -sy 60 1
```
Dans tous les cas — pour le dev ou la production —, créez les structures
nécessaires en base de données :
```bash
cd .. # Pour revenir dans bocal-site
./manage.py migrate
./manage.py loaddata bocal_group
```
À partir de là, ça tourne :) Il ne reste plus qu'à faire tourner soit avec un
`./manage.py runserver` si c'est pour développer dessus/faire des tests, soit
avec un `nginx` et un `gunicorn` ou autre WSGI.
## Utilisation
Côté BOcaleu·ses·x, quelques opérations seront nécessaires/utiles.
### Interface d'administration
Elle est disponible à l'adresse `/admin` sur le site. Par exemple, si le site
tourne sur `www.cof.ens.fr/bocal`, l'interface d'admin se trouve sur
`www.cof.ens.fr/bocal/admin`.
### Publier un BOcal
[TODO : créer des scripts automagiques à lancer depuis bocal@sas.eleves]
Se connecter à l'interface d'admin, `publications`, `ajouter`. Si le numéro est
marqué comme « spécial » ici, il sera placé dans une rubrique à part.
### Nouvelle année scolaire
Pour ajouter une nouvelle année scolaire à gauche de l'écran, il faut créer une
« publication year » (interface d'admin). L'année à donner est l'année civile
du début de l'année (*eg.* pour 2017-2018, c'est 2017). L'accroche est le court
(ou pas) texte en haut de la page de l'année.
**Important :** l'année n'apparaîtra qu'une fois qu'un premier BOcal y aura été
ajouté ! (Les BOcals sont ajoutés selon leur date de parution).
**Tout aussi important :** si un BOcal est publié, mais que son année scolaire
n'apparaît pas dans les « publication years », il ne sera pas trouvable sur le
site !