<info> <desc>Installation depuis les sources.</desc> </info> Installation «manuelle»

L'application étant programmée en Python (Django), il n'y a pas d'étape de compilation, les fichiers doivent juste être placés aux bons endroits et quelques répertoires créés avec les bonnes permissions.

Attention : la version de Python doit être supérieure à 2.6. Cependant, Python 3.x n'est pas (encore) supporté.

L'arborescence prévue pour les fichiers est la suivante, c'est celle qui est utilisée dans les scripts et la configuration par défaut :

`/opt/polynum` | répertoire de l'application
`/opt/polynum/polynum` | code de l'application Polynum (Django)
`/opt/polynum/bin` | scripts associés au projet
`/opt/polynum/virtualenv` | environnement virtuel contenant les modules Python spécifiques
`/opt/polynum/static` | fichiers statiques (images, scripts javascript, feuille de style CSS)
`/etc/polynum` | répertoire des fichiers de configuration
`/var/lib/polynum` | répertoire des données (dont les fichiers PDF)
`/var/run/polynum` | données d'exécution (PID du processus, sockets, etc)

Création d'un utilisateur et d'un groupe dédiés

Pour plus de sécurité, un utilisateur et un groupe `polynum` doivent être créés. L'application fonctionnera sous cet utilisateur qui aura des permissions limitées au strict nécessaire :

<screen> # addgroup --system polynum # adduser --system --ingroup polynum --no-create-home --disabled-password polynum # usermod -c "PolyNum daemon user" -d /opt/polynum -g polynum polynum </screen>
Il faut que cet utilisateur dispose des droits d'écriture sur le répertoire des fichiers téléchargés : <screen> # mkdir -p /var/lib/polynum/media # chown polynum:polynum /var/lib/polynum/media # chmod u=rwx,g=rwxs,o= /var/lib/polynum/media </screen>
Installation des modules Python et du <code>virtualenv</code>

On distingue deux types de modules Python nécessaires au fonctionnement de Polynum : les modules standards qui seront installés de façon classique sur le système d'exploitation, et les modules plus récents ou non packagés qui seront installés dans un environnement virtuel (`virtualenv`) Python.

Installation des modules standards

Les paquets standards suivant sont à installer avec `apt-get` ou `yum`, selon votre distribution :

Modules standards (installés par le paquet)
nom | description | deb | RPM
`psycopg2` | connexion avec la base de données PostgreSQL. | `python-psycopg2` | `python-psycopg2`
`ldap` | connexion avec l'annuaire LDAP | `python-ldap` | `python-ldap`

Installation des autres modules Python

Les autres paquets seront installés dans un virtualenv, créé dans `/opt/polynum/virtualenv`.

<note>

Si vous ne savez pas créer un virtualenv, utilisez le script `polynum-build-virtualenv`. Il va créer automatiquement le répertoire `/opt/polynum/virtualenv` contenant tous les modules nécessaires.

Modules placés dans un <code>virtualenv</code>
nom (pypi) | description
`django` | version 1.4
`south` |
`django-crispy-forms` |
`django-sekizai` |
`django-cas` |
`django-admin-tools` |
`pypdf` |
`flup` |
`django-debug-toolbar` |

Configuration de base l'application

La configuration de l'application se fait dans `/etc/polynum/local_settings.py`

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.

<screen> # mkdir -p /etc/polynum # cp /sources-de-polynum/local_settings.py.example /etc/polynum/local_settings.py # chown polynum:polynum /etc/polynum/local_settings.py # chmod 640 /etc/polynum/local_settings.py </screen>

Lanceur de l'application

Des scripts d'initialisation sont disponibles dans les sources : `debian/init.d` ou `rpm/init.d`. Prenez celui compatible avec votre système, si besoin en l'adaptant.