2017-12-22 14:00:28 +01:00
# Pré-requis
2018-02-19 19:38:43 +01:00
- Apache
2017-12-22 14:00:28 +01:00
- MySQL ou PostgreSQL
2018-02-19 00:43:12 +01:00
- PHP 5.6+
2017-12-22 14:00:28 +01:00
- [Composer ](https://getcomposer.org/ )
2015-09-19 16:42:08 +02:00
# Pré-installation
2015-03-26 17:05:31 +01:00
2017-12-22 14:00:28 +01:00
## Composer
Pour installer les dépendances nécessaires au bon fonctionnement du projet, vous devez lancer la commande suivante :
```sh
composer install
```
2015-03-26 17:05:31 +01:00
## Base de données
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Framadate fonctionne indépendemment de la base SQL utilisée.
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Cependant la base de donnée doit être créée au préalable,
après avoir renseigné les paramètres de la base de données, créez la.
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
### PostgreSQL
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
```bash
su - pgsql
createdb framadate
```
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Attention : Si vous créez la base de données avec l'utilisateur "pgsql",
il vous faudra faire un "grant all on < chaque table > to `framadate` " pour donner les droits à l'utilisateur `framadate` de lire et modifier la base.
Les tables de l'applications sont décrites plus loin dans ce fichier dans la partie "Tables de la base de données".
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
### MySQL
2015-02-25 20:58:04 +01:00
2015-04-21 23:29:47 +02:00
```sql
-- Créer une base de données
CREATE DATABASE IF NOT EXISTS `framadate_db` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-- Créer un utilisateur
CREATE USER 'framadate_user'@'localhost' IDENTIFIED BY '< password > ';
GRANT ALL PRIVILEGES ON `framadate_db` .* TO 'framadate_user'@'localhost';
```
2016-07-03 18:55:42 +02:00
## Si vous utilisez la version GIT
Il faut utiliser [Composer ](https://getcomposer.org/ ) avant d'effectuer l'installation
Ensuite ``composer install`` ou ``php composer.phar install``
2015-02-25 20:58:04 +01:00
2017-12-22 14:00:28 +01:00
À noter que pour que l'installation se déroule correctement, MySQL doit être lancé avec le paramètre `[NO_ZERO_DATE](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date)` désactivé. Il vous faudra aller le supprimer du fichier de configuration `my.cnf` .
2015-09-19 16:42:08 +02:00
# Installation
2018-02-20 19:05:24 +01:00
Pour installer l'application Framadate, rendez-vous sur la page http://monsite/ ; vous serez redirigé vers un outil de vérification de l'état de l'installation qui vous permettra, une fois les prérequis remplis, d'accèder au formulaire de paramètrage.
2017-12-22 14:00:28 +01:00
Le champ `* Chaîne de connexion` contient la variable `<HOST>` qui doit être remplacée par le nom d'hôte de votre base de données, par exemple `localhost` . Il contient également la variable `<SCHEMA>` qui doit être remplacée par le nom de la base de données que vous allez utiliser. Si vous avez suivi les recommandations précédente, ça devrait être `framadate_db` .
2015-09-19 16:42:08 +02:00
Une fois le formulaire rempli et envoyé, un script va générer le fichier `app/inc/config.php` puis vous rediriger vers la page de migration.
2015-02-25 20:58:04 +01:00
2015-09-19 16:42:08 +02:00
La page de migration s'occupe :
- D'installer toute la base de données (tables + données d'exemple)
2017-09-06 19:19:29 +02:00
- De mettre à jour la base de données lors des mises à jour de l'application.
2015-04-21 23:29:47 +02:00
2016-07-07 14:26:49 +02:00
! Attention, le chargement de la page de migration peut prendre du temps étant donné qu'elle applique toutes les mises à jours requises !
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
# Accès à la page administrateur
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Le répertoire `admin/` fournit l'accès à certainnes actions et informations à protéger.
2015-04-21 23:29:47 +02:00
Il convient de mettre en place un couple de fichiers `.htaccess` /`.htpasswd`, pour restreindre l'accès à la page d'administration de l'application.
Il existe une multitude de tutoriels sur internet à ce sujet.
# Journal de l'application
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Un fichier `admin/stdout.log` doit être créé et accessible en écriture
2015-04-21 23:29:47 +02:00
par votre serveur Web. Quelque chose comme devrait convenir:
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
```bash
touch admin/stdout.log
chmod 700 admin/stdout.log
chown www-data admin/stdout.log
```
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
# Maintenance
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Framadate dispose d'une possibilité de mise en maintenance par le biais d'un fichier `.htaccess` .
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
La section `<Directory>` relative à Framadate, dans la configuration d'Apache doit au moins contenir :
`AllowOverride AuthConfig Options`
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Le fichier `.htaccess` correspondant doit être modifier pour y configurer
l'adresse IP depuis laquelle s'effectue la maintenance.
N'oubliez pas de le recommenter en intégralité une fois la maintenance effectuée.
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
# Tables de la base de données
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
Voici la structure des tables de l'application, le nom des tables est donné sans préfixe.
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
La base se compose de quatre tables :
2015-02-25 20:58:04 +01:00
2015-03-26 17:05:31 +01:00
- `poll` : Le paramètrage des sondages;
- `slot` : les choix disponibles pour chaque sondage;
- `vote` : les votes effectués par les utilisateurs pour chaque sondage;
2018-02-19 00:43:12 +01:00
- `comment` : les commentaires apportés à chaque sondage.