La configuration de l'application se fait dans /etc/polynum/local_settings.py. Ce fichier doit être lisible par l'utilisateur de l'application (polynum) et par lui seul, car en production il contiendra notamment les mots de passe vers la base de données ou le serveur LDAP.
Un fichier d'exemple local_settings.py.example est fourni avec Polynum, c'est un modèle pour la création de /etc/polynum/local_settings.py : il contient la liste des paramétrages possibles avec explications et exemples.
Si vous avez installé Polynum à partir du paquet, le modèle est placé dans /usr/share/doc/polynum/, il vous suffit donc de faire :
# cd /etc/polynum # cp /usr/share/doc/polynum/local_settings.py.example local_settings.py # chown polynum:polynum local_settings.py # chmod 640 local_settings.py
La configuration livrée par défaut utilise une base SQLite locale /tmp/polynum.sqlite, une authentification locale, lance le système en mode debug, etc. Sauf si vous savez ce que vous faites, ne la modifiez pas maintenant.
Les manipulations suivantes doivent se faire sous l'utilisateur système dédiée à polynum (polynum par défaut). Pour changer d'utilisateur, vous pouvez utiliser une commande de ce style :
# su -s /bin/bash polynum
ou :
$ sudo -u polynum /bin/bash
C'est le framework Django qui va se charger de créer la base et les tables correspondantes, à travers le script polynum-manage.py (utilisation similaire au script manage.py des projets Django).
Création des tables et du super administrateur :
polynum@testserver:~$ polynum-manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions (...) Creating table editor_contentblock Creating table delegation_delegation You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'polynum'): admin E-mail address: moi@univ.fr Password: test Password (again): test Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) polynum@testserver:~$
Par la suite, si vous voulez repartir avec une base de données vierge, effacez le fichier /tmp/polynum.sqlite puis reprendre la procédure (polynum-manage.py syncdb).
Des données de démonstration sont livrées avec l'application qui simplifient la compréhension de l'utilisation du système, et permettent de faire des tests très rapidement.
$ polynum-manage.py loaddata /usr/share/doc/polynum/fixtures/*.json Installed 134 object(s) from 6 fixture(s)
$ polynum-manage.py loadentities /usr/share/doc/polynum/fixtures/structures.xml Parsed 5199 Bounds [0, 15959] dauphine presidence (...) ceremade irisso Added 7980 entities
$ polynum-manage.py runserver Validating models... 0 errors found Django version 1.4, using settings 'polynum.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Après lancement de cette commande, vous pouvez naviguer sur l'URL indiquée http://127.0.0.1:8000/ et tester l'application.
Arrêtez le serveur avec Ctrl+C.
Tapez polynum-manage.py runserver --help pour connaître les options disponibles. Attention, il s'agit juste d'un serveur web de test, la commande runserver de Django n'est pas adaptée à la production !
Polynum peut authentifier les utilisateurs via CAS et LDAP. Dans /etc/polynum/local_settings.py adapter les paramètres suivants :
(... extrait de /etc/polynum/local_settings.py ...) CAS_SERVER_URL = "https://cas.univ.fr/" # CAS server URL LDAP_URL = "ldaps://ldap.univ.fr" # LDAP server URL LDAP_BIND_DN = "uid=...,ou=...,dc=..." # DN to authenticate to the LDAP server LDAP_BIND_PASSWORD = "..." # password LDAP_USER_QUERY = "supannAliasLogin=%s" # query to retrieve user, %s is CAS username LDAP_BASE = "dc=univ,dc=fr" # base DN for the query
Vous pouvez modifier ces paramètres puis relancer le serveur de test pour vérifier que l'authentification fonctionne via CAS et LDAP.