Instructions d'installation
Version 1.7
Le logiciel Variation se présente sous la forme d'une application web. Elle doit être installée sur un serveur Linux hébergeant les services Apache2, PostgreSQL et PHP5.
Dans la procédure qui suit, après l'installation des différents services nécessaires, nous allons créer un compte PostgreSQL variation et une base de données lui appartenant. Nous créerons ensuite un compte utilisateur nommé variation qui sera utilisé pour l'installation de la base de données et des fichiers programme.
Nous détaillons la procédure d'installation pour une distribution Ubuntu Server dernière version stable.
Nos serveurs de démonstrations tournent actuellement sur une version Ubuntu 18.04 LTS, PHP 7.2 et PostgreSQL 10.6
Vous pouvez nous signaler tout bug sur la plateforme Adullact. Vous devrez y créer un compte au préalable.
1. Installation d'Apache et PHP5
Les commandes suivantes sont à exécuter sous un compte utilisateur ayant le rôle administrateur.
util$sudo apt install php5 apache2 apache2-utils php5-pgsql
Quelques paramètres sont à modifier dans le fichier /etc/php5/apache2/php.ini :
memory_limit = 512M post_max_size = 200M upload_max_filesize = 100M max_file_uploads = 50
Il est aussi nécessaire d'autoriser l'utilisation de fichiers .htaccess dans le répertoire d'installation des sources. Pour une installation par défaut, rajoutez les lignes suivantes dans le fichier /etc/apache2/sites-available/000-default.conf :
<VirtualHost *:80>
...
    <Directory /var/www/html>
        AllowOverride All
    </Directory>
...
</VirtualHost>Enfin, il est nécessaire d'activer le module rewrite d'Apache2 :
util$sudo a2enmod rewrite
Pour finir, il est nécessaire de redémarrer le service Apache :
util$sudo service apache2 reload
2. Installation de PostgreSQL
Les commandes suivantes vous permettront d'installer le SGBD PostgreSQL et quelques contributions nécessaires, puis de créer l'utilisateur variation et une base lui appartenant.
util$sudo apt install postgresql postgresql-contributil$sudo su postgrespostgres$psqlpostgres=#create user variation password 'unmotdepasse';postgres=#create database variation with encoding='UTF8' owner=variation;postgres=#\q
Les commandes suivantes permettent d'installer l'extension pgcrypto sur la base de données variation que vous venez de créer, extension nécessaire à l'application Variation.
postgres$psql variationpostgres=#CREATE EXTENSION pgcrypto WITH SCHEMA public;postgres=#\q
Vous pouvez ensuite revenir à l'utilisateur initial et faire un test de connexion. Le mot de passe que vous avez donné précédemment vous sera demandé :
postgres$exitutil$psql -h localhost -U variation variationpostgres=#\qutil$
3. Installation du programme
La première chose à faire est de créer un nouvel utilisateur système variation, qui sera utilisé pour l'installation et la mise à jour de l'application. Une fois créé, donnez les droits à ce nouvel utilisateur pour le répertoire d'installation, puis connectez-vous avec ce nouveau compte et créez un répertoire qui contiendra les fichiers d'installation et téléchargez les fichiers d'installation.
Pensez aussi à supprimer le contenu du répertoire destination s'il contient des fichiers.
util$sudo adduser variationutil$sudo chown variation:variation /var/www/htmlutil$su - variationvariation$mkdir installvariation$cd installvariation$wget https://adullact.net/frs/download.php/file/8275/install.sh
éditez ensuite le fichier install.sh pour modifier les différents paramètres en début de fichier :
- RELEASE
- Release à installer depuis le dépôt git Adullact. Il est conseillé de laisser la valeur par défaut. 
- VARIATION_PASSWD
- L'application Variation nécessite un compte administrateur qui permet principalement de créer d'autres comptes utilisateurs. Le login pour ce compte est - variationet le mot de passe associé doit être renseigné dans cette variable.
- DESTDIR
- Répertoire d'installation de l'application. Pour une installation sous Ubuntu Server LTS, ce sera par défaut - /var/www/html
- PGHOST
- Machine sur laquelle sera installée la base de données de l'application, - localhostsi vous installez la base de données sur la même machine que les sources du programme.
- PGBASE
- Nom de la base de données. 
- PGUSER
- Utilisateur permettant d'accéder à la base. 
- PGPASS
- Mot de passe de l'utilisateur précédent. 
- ARRANGEMENT
- Répertoire dans lequel est placé l'arrangement à installer. La valeur . (point) indique d'installer l'arrangement par défaut fourni avec le logiciel. Pour utiliser un autre arrangement, décompressez le fichier d'arrangement dans un répertoire particulier et indiquez ce répertoire (qui doit contenir un répertoire " - arrangement").
- GIT
- Mettre cette variable à true pour installer un clone du dépôt git Adullact, plutôt qu'une release. à utiliser notamment pour travailler sur les sources du projet. 
Vous pouvez maintenant exécuter le script d'installation :
variation$sh install.sh
Une fois terminé (cela peut prendre plusieurs minutes), vous pouvez examiner les fichiers install- pour vérifier qu'il n'y a pas eu d'erreur durant l'installation.date.log
Après cela, vous devriez pouvoir accéder à l'application : depuis un navigateur, saisissez l'adresse IP de votre serveur, et vous devriez voir apparaître une page de login. Vous pouvez alors vous connecter avec le compte variation et le mot de passe donné dans la variable VARIATION_PASSWD du fichier install.sh.
4. Désinstallation
En cas de problème lors de l'installation, il est préférable de tout désinstaller avant de corriger le problème et relancer l'installation. Pour cela, il est nécessaire de :
supprimer la base de données et la recréer
util$sudo su postgrespostgres$psqlpostgres=#drop database variation;postgres=#create database variation with encoding='UTF8' owner=variation;postgres=#\qpostgres$psql variationpostgres=#CREATE EXTENSION pgcrypto WITH SCHEMA public;postgres=#\q
supprimer les fichiers du répertoire destination.
5. Tâches périodiques
L'application nécessite que certaines tâches soient lancées quotidiennement en début de journée. Il est nécessaire de rajouter une commande à exécuter dans le crontab de l'utilisateur variation :
variation$crontab -e
Saisissez alors la ligne suivante dans le fichier crontab, pour que ces tâches soient exécutées tous les jours à 6h du matin :
00 6 * * * /var/www/html/cron.php jour
6. Sauvegarde des données
Plusieurs types de données sont à sauvegarder : les bases de données, les photos des usagers et les documents affectés aux usagers.
6.1. Sauvegarde de la base de données
Afin de pouvoir sauvegarder la base de données, il est nécessaire d'en faire un export au préalable :
variation$cd $HOMEvariation$mkdir sauvegardesvariation$crontab -e
00 23 * * * /usr/bin/pg_dump variation > /home/variation/sauvegardes/variation-bdd.sql
6.2. Sauvegarde des photos et des documents
Les fichiers des photos et documents des usagers à sauvegarder se trouvent dans les répertoires photos/ et doc_fichiers/ du répertoire d'installation.
7. Accès à l'application
L'accès pour l'utilisateur se fait à l'URL : http://votre-serveur/
2 logins sont disponibles dès l'installation :
- le login - variationassocié au mot de passe précisé dans le script d'installation,
- le login - adminassocié au mot de passe- adminqu'il vous faudra modifier dès que possible.
L'accès à la partie administration se fait à l'URL : http://votre-serveur/admin.php