-
Notifications
You must be signed in to change notification settings - Fork 0
Créer sa propre installation
Cette page indique la démarche permettant d'installer une instance de Freedictions sur votre serveur, qu'il soit public ou privé.
Warning
VOUS êtes responsables du contenu publié par les utilisateurs de votre installation. Ceci inclus les noms d'utilisateurs, les prédictions, leurs précisions et leurs choix de réponse.
EN AUCUN CAS les auteurs initiaux (MarioSwitch et yoshakami), ainsi que tous les contributeurs ayant participé au projet, de quelque manière que ce soit, ne sauraient être tenus responsables de tout contenu publié sur une installation publique.
Pour exécuter une instance de Freedictions, vous devez posséder les éléments suivants :
- Serveur Web : Apache pouvant exécuter des scripts PHP
- Système de Gestion de Bases de Données (SGBD) : MariaDB
Si vous n'avez pas ces logiciels, téléchargez et installez-les en suivant les guides disponibles sur leurs sites respectifs.
Note
Pour le développement, nous utilisons les versions suivantes : Apache 2.4.58, PHP 8.2.12 et MariaDB 10.4.32 (+ phpMyAdmin 5.2.1).
Freedictions peut tout à fait fonctionner avec des versions plus anciennes et/ou plus récentes, mais nous ne pouvons garantir son fonctionnement intégral.
Les réécritures d'URL (appelées RewriteRule
) sont nécessaires au bon fonctionnement du projet.
Pour s'assurer de leur activation, vérifiez les points suivants :
- Le module
mod_rewrite
est activé.- Localisez votre fichier de configuration Apache (situé à
/etc/apache2/conf/httpd.conf
(sur une distribution Linux) ou àC:/xampp/apache/conf/httpd.conf
(sur Windows, en utilisant la solution tout-en-un XAMPP) - Dans ce fichier, cherchez (en utilisant Ctrl+F) la ligne indiquant
LoadModule rewrite_module modules/mod_rewrite.so
et vérifiez qu'elle est décommentée (sans#
devant). Si la ligne est commentée, retirez le#
, puis sauvegardez le fichier (Ctrl+S).
- Localisez votre fichier de configuration Apache (situé à
- La réécriture d'URL est autorisée pour le répertoire
- Dans ce même fichier, repérez (toujours en utilisant Ctrl+F)
<Directory "/var/www/html">
(distribution Linux) ou<Directory "C:/xampp/htdocs">
(avec XAMPP) par exemple) - À l'intérieur de ce bloc, vérifiez que
AllowOverride
est paramétré surAll
. La ligne doit ressembler àAllowOverride All
. Si ce n'est pas le cas, remplacez le texte pour obtenir le résultat ci-avant.
- Dans ce même fichier, repérez (toujours en utilisant Ctrl+F)
Une fois ces deux points vérifiés, redémarrez votre serveur Apache pour appliquer les changements. Il pourra alors effectuer des réécritures d'URL.
Téléchargez la dernière version du projet :
- Soit en cliquant ici, puis en extrayant le fichier
Freedictions-main.zip
une fois téléchargé. Vous obtenez alors un dossier (ou répertoire) nomméFreedictions-main
. - Soit en saisissant
git clone https://github.com/MarioSwitch/Freedictions
dans un terminal. Vous obtenez alors un dossier (ou répertoire) nomméFreedictions
.
Placez ensuite le contenu de ce répertoire (strings
, svg
, views
, .gitignore
, ..., time.js.php
) là où vous le souhaitez.
Si vous choisissez de déplacer le dossier (et non son contenu), vous devrez ajouter son nom au chemin d'accès (ex. C:/xampp/htdocs/Freedictions-main
ou /var/www/html/Freedictions
. Pour des installations publiques, cela implique également que l'URL sera de la forme votre-domaine.fr/Freedictions
par exemple.
Pour que votre installation soit fonctionnelle, vous devez déclarer un certain nombre de constantes de configuration dans un fichier nommé config.php
situé à la racine du projet.
- Toutes les constantes commençant par
CONFIG_DATABASE
servent à la connexion à la base de données. Modifiez ces paramètres afin de les faire correspondre à votre installation.
Voici un exemple type de fichier :
<?php
// Configuration de la connexion à la base de données
const CONFIG_DATABASE_HOST = "localhost"; // Adresse du serveur de la base de données
const CONFIG_DATABASE_NAME = "predictions"; // Nom de la base de données
const CONFIG_DATABASE_USER = "root"; // Nom d'un utilisateur MariaDB/MySQL ayant accès à la base de données
const CONFIG_DATABASE_PASSWORD = ""; // Mot de passe de cet utilisateur
// Autres configurations
const CONFIG_COOKIES_EXPIRATION = 30*24*60*60; // Durée de validité des cookies (connexion et paramètres) sans navigation sur le site de la part de l'utilisateur (en secondes).
const CONFIG_PATH = "/freedictions"; // Répertoire où se situe le site sur le serveur web (par rapport à « /var/www/html » ou à « C:\xampp\htdocs » par exemple), SANS « / » ou « \ » final ! Il peut être vide.
-
N'oubliez pas de mettre à jour la ligne 2 du fichier
.htaccess
(«RewriteBase /freedictions/
»), en remplaçant «/freedictions/
» par le répertoire où se situe votre installation. Il s'agit normalement du même chemin que la constanteCONFIG_PATH
, à l'exception de l'ajout du « / » ou « \ » final. -
N'oubliez pas non plus de définir UTC comme fuseau horaire par défaut du SGBD. Pour cela, modifiez le fichier de configuration (
/etc/mysql/my.cnf
sur une distribution Linux), et ajoutez-y (à la fin du fichier) :
[mysqld]
default_time_zone = '+00:00'
Sauvegardez, puis redémarrez votre SGBD pour appliquer les modifications.
N'oubliez pas d'élever (au moins) un compte au rang de modérateur. Pour ce faire, mettez à jour votre base de données en modifiant l'attribut mod
des utilisateurs concernés (remplacez le 0
initialement présent par un 1
).
Attention : ces utilisateurs pourront créer des prédictions sans approbation, supprimer d'autres comptes, etc.
N'élevez au rang de modérateur que les utilisateurs en qui vous avez confiance.