17. Variables du config.php¶
Certaines des options de configuration ne peuvent pas être fixées dans l’interface d’administration du site mais doivent être gérées dans le fichier config.php
. Dans cette section sont décrites les différentes variables qu’ils est possible d’utiliser ainsi que les raisons pour lesquelles vous devriez placer certaines d’entre-elles dans le fichier config.php
.
Note
Certaines options de configuration ont leur équivalent dans les paramètres de la zone Administration. Si en plus vous fixez une valeur pour la même option dans le fichier config.php
, cette dernière prendra le dessus sur la valeur indiquée dans la zone Administration; de plus, la rubrique ne pourra plus être modifiée depuis cette zone.
Le fichier config.php``se trouve dans le dossier ``/htdocs
de votre site. Si vous désirez afficher toutes les variables possibles et leurs valeurs fixées par défaut, vous les trouverez dans /htdocs/lib/config-defaults.php
. Les valeurs par défaut ne devraient pas être modifiées dans le fichier config-defaults.php
mais vous pouvez surcharger celle-ci en copiant la variable et changeant sa valeur lorsque vous la collez dans config.php
.
17.1. Anatomie d’une variable de configuration¶
Une variable de configuration doit être écrite en respectant scrupuleusement sa syntaxe sinon le paramètre ne sera pas pris en compte. Dans Mahara, la syntaxe est toujours $cfg->variable = valeur;
.
$cfg->: Signifie « configuration » et indique que ce qui suit est une variable de configuration.
variable = : C’est à cet endroit que vous indiquez le nom de la variable à définir. Généralement ce nom est composé d’un seul mot ou de plusieurs mots reliés avec un trait de soulignement. Le nom des variables ne peut pas contenir d’espace ou de caractères diacritiques.
valeur : On indique ici la valeur que l’on désire placer dans la variable. Cette valeur peut prendre différentes formes, par exemple :
« true » ou « false » (vrai ou faux)
du texte
des chiffres
un chemin d’accès
Note
Si vous désirez modifier la valeur par défaut d’une variable dans votre installation de Mahara, copiez-la depuis le fichier config-defaults.php
et collez-la dans config.php
. De cette manière vous conservez la valeur par défaut et surtout la valeur que vous donnez à la valeur sera conservée après une mise à jour de votre installation. Si config-defaults.php
peut être modifié par une mise à jour ou une réinstallation de Mahara, config.php
n’est jamais touché.
17.2. developermode: Active ou désactive le mode développeur¶
$cfg->developermode = true;
ou $cfg->developermode = false;
Lorsque vous activez le mode développeur, les deux changements suivants sont automatiquement faits à votre site :
debug.css
est inclus à chaque page. Vous pouvez ajouter vos propres règles CSS à ce fichier.
Note
developermode=true
est moins puissant que productionmode=false.
17.3. directorypermissions: Permissions à utiliser dans le dossier racine (dataroot)¶
$cfg->directorypermissions = 0700;
(défault)
Vous pouvez définir les permissions utilisées pour les fichiers et les répertoires dans le dataroot de Mahara. Par défaut, seul le compte du serveur web est autorisé à lire les données. Si vous êtes sur un hébergement partagé et que vous souhaitez télécharger le contenu de votre dataroot plus tard, par exemple à des fins de sauvegarde, définissez cette valeur à 0755. Sinon, laissez-le tel quel.
17.4. error_reporting: Type d’erreur à rapporter¶
$cfg->error_reporting = E_ALL & ~E_STRICT;
(défault)
Ce paramètre indique le niveau d’erreur qu’il convient d’archiver dans l’historique de Mahara. Il est passé directement à la fcontion PHP error_reporting();
.
Note
Il existe des limitations concernant cette méthode car elle n’est lancée qu’après un certain nombre d’autres scripts aient été compilés : init.php, config.php, config-defaults.php, errors.php
, ainsi que tous les fichiers invoqués dans l’URL. De ce fait, les erreurs de compilation dans ces fichiers seront tout de même taitées même avec ce paramètre.
17.5. externallogin : Connexion via un autre site¶
$cfg->externallogin = 'URL';
Vous pouvez remplacer la page de connexion normale de Mahara par une page externe. Ceci est utile si toutes les personnes ayant accès au site doivent se connecter via un système différent et doivent y être redirigées automatiquement.
Note
Faites attention lorsque vous avez plusieurs institutions activées. Si au moins une institution ne se connecte pas via la même page de connexion externe, vous ne pouvez pas utiliser ce paramètre car les personnes de cette institution ne seraient pas en mesure de se connecter à Mahara puisqu’elles ne pourraient jamais atteindre la page de connexion dont elles ont besoin.
Si si vous utilisez une authentification externe, vous devrez parfois la remplacer, par exemple en cas de panne de celle-ci ou lorsqu’elle n’est pas joignable. Vous pouvez ajouter un paramètre à la fin de l’URL de Mahara et vous accédez alors à l’écran de connexion normal de Mahara.
Le paramètre est ?override=true
Par exemple, https://mahara.exemple.fr/admin/users/search.php ?override=true
Note
La valeur que vous ajoutez n’a pas d’importance. Vous pouvez utiliser « true » (vrai) ou « 1 » ou n’importe quoi d’autre.
17.7. isolatedinstitutions: Des institutions entièrement séparées¶
$cfg->isolatedinstitutions = false;
(par défaut) ou $cfg->isolatedinstitutions = true;
Si vous disposez d’un serveur Mahara avec de multiples institutions mais que vous ne souhaitez pas que les personnes des différentes institutions communiquent sur le site ou partagent des groupes, vous pouvez activer l’option « Institutions isolées ».
Cela peut s’avérer utile lorsque vous mettez en place un grand site pour plusieurs organisations et que vous devez respecter les règles de confidentialité qui ne permettent pas aux personnes d’une organisation de contacter les personnes d’autres organisations.
Voir aussi
Voir la section « Institutions isolées » pour plus d’informations.
17.8. log_backtrace_levels : Niveau de journalisation¶
Par exemple: $cfg->log_backtrace_levels = LOG_LEVEL_WARN | LOG_LEVEL_ENVIRON;
(défault)
Le niveau de journalisation à partir du quel les erreurs sont journalisées. Ceci est utilie notamment dans les phases de développement et de test, mais probablement qu’une généralisation de niveaut “alere” (warning) est suffisante pour un site en production.
17.9. log_backtrace_print_args: Journaliser l’historique des traces¶
$cfg->log_backtrace_print_args = null;
(défault)
Imprime les valeurs d’une fonction et les paramètres de la méthode lors de l’impression d’une séquence en marche arrière. Ceci est utile pour le déboguage, mais cela comporte des risques de sécurité car les paramètres affichés peuvent comprendre des informations sensibles comme des mots de passe ou des clés privées.
La valeur null
indique à Mahara de masquer les valeurs des arguements quand $cfg->productionmode
est activé ou des les afficher dans le cas contraire. Une valeur true
ou false
indique à Mahara de toujours ou jamais masquer les valeurs de l’argument sans préoccuper de la valeur de ´´$cfg->productionmode``.
17.10. log_file : Fichier contenant les messages d’erreur.¶
$cfg->log_file = '/chemein/vers/dossier_donnees/erreurs.log';
Si vous utilisez le paramètre LOG_TARGET_FILE, c’est alors dans ce fichier que seront stockés les messages d’erreur. PAr défaut, ceux-ci sont journalisés dans le fichier error.log
dans le dossier de données (dataroot). Si vous modifiez cela dans le fichier config.php, assurez-vous que le fichier choisi soit dans un dossier accessible en écriture par l’utilisateur de votre service web.
17.11. log targets: Destination des informations de journalisation¶
Valeurs standards dans une environnement de production :
$cfg->log_dbg_targets = LOG_TARGET_ERRORLOG;
$cfg->log_info_targets = LOG_TARGET_ERRORLOG;
$cfg->log_warn_targets = LOG_TARGET_ERRORLOG;
Environnement standard hors production
$cfg->log_dbg_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;
$cfg->log_info_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;
$cfg->log_warn_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;
$cfg->log_environ_targets = LOG_TARGET_SCREEN | LOG_TARGET_ERRORLOG;
Il existe 4 différents types de messages de journalisation que vous pouvez enregistrer ou afficher à l’écran :
dbg: Messages de déboguage
info: Information
warn: Message d’alerte
environ: Erreurs d’environnement
Vous pouvez journaliser les messages de différente nature dans différentes destinations :
LOG_TARGET_SCREEN : Affiche les messages d’erreur sur l’écran. Cette option est intéressante notamment durant les moments de développement et de test, toutefois il convient de ne pas l’activer sur un site en production.
LOG_TARGET_ADMIN : Affiche les messages d’erreur sur l’écran, mais seulement lorsque vous vous trouvez dans la zone d”Administration.
LOG_TARGET_ERRORLOG : Envoie les messages d’erreur dans le fichier qui est spécifié dans vote configuration du serveur Apache. Il est recommandé d’utiliser cette option pour tous les niveaux de journalisation, quelles que soient les autres cibles d’affichage des messages que vous avez définies.
LOG_TARGET_FILE: Cette option vous permet de nommer le fichier qui sera utilisé pour journaliser chaque message. Il convient de choisir un chemin vers un dossier dans le dossier des données de Mahara (dataroot), mais faites attention, car ce fichier tend à devenir particulièrement volumineux avec le temps. Il est alors envisageable de créer à l’aide de scripts un système de rotation des fichiers si vous désirez laisser cette option active tout le temps. L’autre option consiste à n’activer cette option que lorsque vous désirez ne capture qu’une seule erreur particulière ou si vous souhaitez réellement avoir l’historique de toutes les erreurs rencontrées, mais que vous savez que ce fichier ne deviendra pas trop lourd avec le temps.
Vous pouvez combinez les paramètres avec le signe de l’opération OU. Exemple : LOG_TARTGET_SCREEN | LOG_TARGE_ERRORLOG
.
17.12. noreplyaddress: L’adresse systeme de votre plateforme¶
$cfg->noreplyaddress = 'nopasrepondre@votredomaine';
Définissez l’adresse de messagerie du système. Les notifications sont envoyées à partir de cette adresse (sauf pour quelques courriels lorsqu’une personne n’a pas encore de compte). Vous pouvez également définir cette adresses dans Menu Administration → Configurer le site → Options du site → Paramètres de messagerie.
Normalement cette adresse n’est pas consultée par l’administrateur et donc il convient de ne pas répondre aux messages envoyés avec celle-ci.
17.13. openbadgedisplayer_source : Sources pour le plug-in d’affichage des Badges ouvertes (Open Badges)¶
$cfg->openbadgedisplayer_source = '{"nomCourt":"url","nomCourt":"url"}';
Afin d’afficher les badges Open Badges dans le bloc « Badges ouverts », les sites qui hébergent les badges doivent être configurés. Par défaut, les sacs à badges de Mozilla et celui d”Open Badge Passport peuvent être connectés. Si vous avez d’autres sources, il faudrait les ajouter aux sources autorisées.
Badgr peut également être configuré.
La variable de configuration pour le sac à badge de Mozilla, de l’Open Badge Passport, et de Badgr ressemble à ce qui suit :
$cfg->openbadgedisplayer_source = '{"backpack":"https://backpack.openbadges.org/","passport":"https://openbadgepassport.com/","badgr":"https://api.badgr.io/"}';
17.14. passwordsaltmain : Défini un mot de passe global de salage pour le site¶
$cfg->passwordsaltmain = 'votre phrase secrète';
Un « sel » de mot de passe permet de « hacher » les mots de passe de manière plus sûre dans la base de données afin de rendre leur piratage plus difficile. L’utilisation d’une phrase est un bon début. Les mots de passe ne sont déjà pas affichés en texte clair dans la base de données, ils sont hachés. Le « sel » permet de rendre ce processus encore plus aléatoire.
Si vous n’avez pas défini de « sel » de mot de passe, un avertissement s’affiche sur la page « Admin accueil ».
17.15. pathtoclam : Chemin d’accès au logiciel antivirus ClamAV¶
$cfg->pathtoclam = '/chemin/vers/votre/clamscan';
Si vous avez installé le logiciel antivirus ClamAV sur votre serveur et que vous n’avez pas défini de recherche de virus au niveau global du système, vous pouvez indiquer à Mahara où trouver le programme. Les fichiers qui seront téléversés seront alors contrôlés par ClamAV avant d’être effectivement disponibles. Pour des raisons de sécurité, le chemin d’accès à ClamAV doit être indiqué dans le fichier config.php
pour éviter qu’une personne qui aurait accès à l’interface d’administration du site puisse modifier ou désactiver l’antivirus.
Vous pouvez voir le chemin qui a été défini dans le « Paramètres de sécurité ».
17.16. probationenabled: Donner aux gens un statut de probation¶
$cfg->probationenabled = true;
ou $cfg->probationenabled = false;
Si vous mettez $cfg->probationenabled = true;
, vous devriez aussi mettre quelque chose comme $cfg->probationstartingpoints = 2;
.
Vous pouvez définir un niveau de probation spam pour vos utilisateurs afin d’empêcher les auto-enregistrés de poster des spams, en particulier sur un site public. Utilisez les deux variables suivantes pour ce faire :
$cfg->probationenabled = true;
: Ce paramètre permet de décider si les personnes peuvent être placées en probation.$cfg->probationstartingpoints = 2;
: Ce paramètre détermine le nombre de points de probation dont dispose par défaut une personne nouvellement inscrite. Dans cet exemple, les personnes obtiennent deux points de probation dont elles doivent se débarrasser avant que toutes les fonctionnalités ne leur soient accessibles.
Vous pouvez modifier les points de probation individuellement sur la page des paramètres du compte de la personne affichée en cliquant sur le nom d’utilisateur d’une personne dans Menu Administration → Personnes → Recherche de personnes.
Lorsque vous activé la probation antispam, les personnes qui laissent des commentaires sur la page ou sous une production et qui ne sont pas authentifiés, ne peuvent pas y inclure des URL.
17.17. productionmode: Active ou désactive le site en mode production¶
$cfg->productionmode = true;
ou $cfg->productionmode = false;
Si le mode production est désactivé, un message est affiché au haut de l’écran pour vous en informer.
Un ensemble de paramètres sont surchargé par des valeurs pertinentes pour des phases de test et de développement du site. Pour une information plus approfondie sur ces paramètres, veuillez accéder à ìnit.php`. Cette configuration comprend :
Impression de débogage, informations et messages d’alerte, ainsi que des informations sur le contexte et les journaux des erreurs. Ceci permet de rapidement accéder aux messages d’erreur puisqu’ils apparaissent directement sur l’écran.
Activez le mode développeur.
Déactiver les caches.
Note
Bizarrement, vous devez mettre productionmode=true
si vous voulez régler finement vos parmètres du site lors des tests/développement, car le paramètre productionmode=false
surchage un grand nombre de paramètres de configuration, pour les mettre à des valeurs par défaut utiles aux programmeurs.
17.18. remoteavatarbaseurl : URL du serveur d’avatars distant¶
$cfg->remoteavatarbaseurl = 'https://exemple.ch/avatar/';
Les photos de profil des utilisateurs peuvent être affichées depuis un serveur de type Gravatar. Si vous utilisez votre propre serveur Gravatar, par exemple Libravatar, vous pouvez faire pointer Mahara directement vers lui avec cette variable de configuration.
Vous décidez dans les “Paramètres du compte” si les avatars distants peuvent être affichés ou non.
17.19. renamecopies : Renommer les pages et les collections dupliquées¶
$cfg->renamecopies = true;
ou $cfg->renamecopies = false;
L’administrateur du site peut décider d’ajouter « Copie de… » aux pages et aux collections copiées. Si $cfg->renamecopies = true;
, les copies de nouvelles pages et collections auront « Copie de » ajouté à leur titre. Le paramètre par défaut est $cfg->renamecopies = false;
.
17.20. saml_log_attributes : Enregistrer les attributs SAML¶
$cfg->saml_log_attributes = false;
(par défault) ou $cfg->saml_log_attributes = true;
Lorsque la connexion entre Mahara et un serveur IdP SSO doit être examinée, il est utile de voir quels attributs sont envoyés par l’IdP. En mettant cette variable à « true », les attributs sont enregistrés dans la table « usr_login_saml ».
Avertissement
Une fois que les diagnostics ont été effectués et que le problème a été résolu, remettez cette variable sur « false » et effacez la table.
17.21. sendemail: Envoie tous les emails à une seule adresse¶
$cfg->sendemail = true;
ou $cfg->sendemail = false;
Décidez si vous voulez envoyer des emails à partir de votre instance de Mahara. Si la valeur est mise à faux, Mahara n’enverra pas d’e-mails. Cette option est utile lorsque vous configurez une instance de Mahara non productive avec des données réelles et que vous ne voulez pas envoyer accidentellement des courriels aux personnes de cette instance particulière de Mahara.
17.22. sendallemailto: Envoie tous les courriels à cette seule adresse¶
$cfg->sendallemailto = 'vous@votredomaine';
Vous pouvez utiliser ce paramètre pour vous faire envoyer tous les courriels générés par votre Mahara au lieu qu’il partent vers les vrais destinataires, ceci par exemple à des fins de tests des fonctions de messagerie. Vous devez toutefois laisser le paramètre $cfg->sendemail = true;
si vous désirez utiliser cette fonction.
Ce paramètre est pratique pour les instances de test lorsque vous voulez reproduire un problème ou tester une nouvelle fonctionnalité avec des données réelles, mais que vous ne voulez pas que les gens reçoivent des notifications par accident.
17.23. sessionhandler : Sélectionnez le gestionnaire de sessions¶
$cfg->sessionhandler = 'file';
ou $cfg->sessionhandler = 'memcached';
ou $cfg->sessionhandler = 'redis';
Mahara supporte trois gestionnaires de session différents :
stockage de fichiers
Memcached
Redis
Il est recommandé d’utiliser Memcached ou Redis pour des gros sites car les données sont accédées de manière plus rapide. Redis fonctionne mieux dans un environnement en grappes de serveurs.
À la fois Memcached et Redis nécessitent que de nouvelles variables de configuration soient fixées. À ce sujet veuillez vous référer au lien /htdocs/lib/config-defaults.php
pour plus d’information.
17.24. showloginsideblock : Affiche ou cache le bloc permettant de se connecter au Mahara¶
$cfg->showloginsideblock = true;
ou $cfg->showloginsideblock = false;
Vous pouvez masquer le formulaire de connexion en ajoutant la valeur $cfg->showloginsideblock = false;
à votre fichier config.php
. Une fois que vous avez fait cela, seul un lien vers le formulaire de connexion est affiché pour qu’un administrateur ou d’autres personnes ayant des comptes internes Mahara puissent se connecter au site.
Cette option est utile lorsque vous effectuez la connexion à Mahara par un autre site distant (sso).
Par défaut, la valeur est « true » (vrai) afin d’afficher le bloc latéral de connexion.
17.25. sitethemeprefs : Choisir son thème de navigation parmi tous les thèmes¶
$cfg->sitethemeprefs = true;
ou $cfg->sitethemeprefs = false;
Si l’administrateur du site l’a autorisé, vous pouvez choisir n’importe quel thème disponible comme thème de navigation sur votre page “Paramètres du compte”. Dans ce cas, vous n’êtes pas limité à utiliser uniquement le thème de votre institution ou, si vous êtes membre de plusieurs institutions, vous pouvez choisir le thème entre elles.
17.26. skins : Habillage¶
$cfg->skins = true;
ou $cfg->skins = false;
Vous pouvez permettre à vos auteurs de portfolio de personnaliser leurs pages de portfolio au-delà du choix d’un thème. Cela se fait via des habillages dans Mahara. Les habillages de page peuvent être créés au niveau du site ou par des individus. Les institutions peuvent autoriser ou refuser l’utilisation des habillages pour leurs membres.
17.28. usepdfexport : Exportation en PDF¶
$cfg->usepdfexport = true;
ou $cfg->usepdfexport = false;
Note
Cette option est expérimentale.
Il est possible d’autoriser l’exportation de comptes entiers ou de pages individuelles et de collections en PDFs. Cela nécessite l’installation d’un logiciel supplémentaire sur le serveur, ce qui peut être fait en exécutant make pdfexport
.
En outre, l’option « usepdfexport » du fichier config.php doit être activée car elle nécessite un logiciel supplémentaire.
Une fois le logiciel installé et l’exportation PDF autorisée dans le fichier de configuration, les portfolios sont exportés en PDF en plus de HTML et Leap2A.
17.29. usersuniquebyusername : Le nom d’utilisateur stocké dans Mahara a la préemption sur celui qui permet de se connecter depuis une méthode d’authentification distante.¶
$cfg->usersuniquebyusername = true;
ou $cfg->usersuniquebyusername = false;
Ceci est une fonction expérimentale. Lorsqu’il est activé, ce paramètre signifie que peu importe l’autre application à partir de laquelle une personne s’identifie, elle recevra le même compte dans Mahara, car le nom d’utilisateur interne correspond et le nom d’utilisateur distant est ignoré.
17.30. validfiletypes: Limiter les types de fichiers à télécharger¶
$cfg->validfiletypes = 'doc,docx,gif,jpeg,jpg,mp3,mp4,odt,pdf,png,zip';
(par exemple)
Vous pouvez limiter les types de fichiers que les titulaires de compte peuvent téléverser sur la plateforme. Cela vous permet de contrôler les fichiers que vous autorisez et ceux qui ne sont pas considérés comme sûrs à téléverser.
Lorsqu’une restriction sur le type de fichier est en place, elle est mentionnée dans la zone de téléchargement des fichiers.