Réglages optionnels
From LimeSurvey Manual
La section suivante s’adresse à celles et ceux d’entre vous qui souhaitent modifier les paramètres de configuration qui ne peuvent pas l’être via l’interface graphique (GUI, Graphical User Interface) de l’installation de LimeSurvey. Gardez à l’esprit que toutes les modifications effectuées dans le répertoire racine de LimeSurvey le sont à vos propres risques. Néanmoins, si vous rencontrez des problèmes ou avez besoin d’aide supplémentaire, rejoignez les forums de discussion pour obtenir l’aide de la communauté LimeSurvey.
Comment modifier les réglages optionnels
Pour modifier les paramètres de configuration de l'installation, vous devez éditer les paramètres facultatifs. Ils peuvent être trouvés dans le fichier /application/config/config-defaults.php, qui se trouve dans le répertoire racine de LimeSurvey. Les paramètres par défaut de l'installation standard se trouvent dans config-defaults.php. Certains d'entre eux peuvent être remplacés à l'aide de la boîte de dialogue paramètres globaux, tandis que les autres devront être modifiés manuellement.
Tous les réglages de config.php récrivent les valeurs par défaut de config-defaults.php et certains de ce réglages serontécras&és dans le dialogue des réglages globaux (New in 1.87 ). Cette procédure rendra beaucoup plus facile la mise à jour ultérieure de votre installation !
Lorsqu'il y a une mise à jour, seul les paramètres onfig-defaults.php sont changés. Toutefois, modifier le fichier config.php sauvegardera les paramètre que vous avez customisé.
Pour modifier/ajouter les options de LimeSurvey settings dans /application/config/config.php vous devez modifier le tableau de configuration :
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value',
)
Paramètres Yii
LimeSurvey utilise le framework Yii, qui possède ses propres paramètres de configuration dans les fichiers application/config/internal.php et application/config/config.php. Vous pouvez également accéder à certains paramètres de configuration spécifiques de LimeSurvey via la configuration Yii.
Étant donné que le tableau config.php est fusionné avec l'ensemble de la configuration, vous pouvez remplacer n'importe quel paramètre Yii dans le fichier config.php.
Les paramètres spécifiques de Yii sont déclarés dans le tableau des composants :
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
Paramètres de base de données
Les paramètres de base de données sont écrits lors de l'installation dans le fichier config.php lorsque vous installez LimeSurvey pour la première fois. Si vous le souhaitez vous pouvez modifier cette partie de la configuration. Mais rappelez-vous SVP que vous le faites à vos propres risques Voir aussi [documentation de Yii], et souvenez-vous que LimeSurvey supporte seulement les types de bases de données mysql, pgsql, dblib, mssql and sqlsrv.
Paramètres de session
Vous pouvez définir certains paramètres de session dans config.php (consultez les deux exemples ci-dessous). Vous pouvez décommenter/ajouter la partie nécessaire dans config.php. Consultez la Yii Documentation pour d'autres paramètres.
Utiliser des sessions basées sur des tables
LimeSurvey peut utiliser des sessions basées sur des tables, vous trouvez une partie commentée sur le fichier généré par défaut config.php. Pour utiliser une session basée sur une table, supprimez le // avant chaque ligne.
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
Mise à jour des autres sessions
Si vous utilisez SSL ('https') pour votre installation de LimeSurvey, ajouter les lignes suivantes dans votre config.php augmentera la sécurité de la session :
// Définir le cookie avec SSL
'session' => array (
'cookieParams' => array(
'secure' => true, // utiliser SSL pour les cookies
'httponly' => true // Les cookies ne seront pas utilisés pour les autres protocoles - experimental
),
),
Si vous souhaitez fixer le domaine pour un cookie, utilisez ceci dans config.php:
// Set the domain for cookie
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
Chaque instance de LimeSurvey sur le même domaine a besoin de son propre nom de session. Sinon, la connexion à une instance vous déconnecte de l'autre. Le programme d'installation définit un nom de session aléatoire dans config.php. Si vous avez copié config.php depuis une autre instance, ou si votre fichier config.php provient d'une version antérieure à LimeSurvey 4.0, ajoutez ou modifiez la ligne sessionName dans la section session existante et utilisez une valeur différente pour chaque instance :
// Définir le nom de la session
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
Paramètres de requête
Les paramètres de requête sont importants, mais les paramètres par défaut sont déjà optimisés pour l'utilisation de LimeSurvey. Voir documentation de Yii pour plus d'information.
Par exemple, la configuration des paramètres de requête de LimeSurvey peut être modifiée de la manière suivante (à vos propres risques) :
// Désactiver la protection CSRF
'request' => array(
'enableCsrfValidation'=>false,
),
// Imposer une certaine base de lien
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// Définir le nom de domaine et le chemin du cookie pour la protection CSRF
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
Si vous devez mettre à jour uniquement le lien utilisé dans les courriels contenant les codes d’accès, définissez votre publicurl dans votre fichier config.php.
Autoriser l’utilisation de la session et de la validation CSRF dans une iFrame
Activer l’option Intégration d’IFrame autorisée dans les paramètres de sécurité généraux permet seulement aux navigateurs d’afficher vos questionnaires dans une iframe. Pour que les participants puissent remplir et soumettre un questionnaire dans une iframe, vous devez également modifier les paramètres des cookies de session et CSRF dans config.php, comme décrit ci-dessous. Les deux cookies doivent être envoyés avec SameSite=None, ce que les navigateurs n’acceptent que via une connexion HTTPS valide.
Autoriser le démarrage de la session dans iframe
Le cookie de session doit être sécurisé (ce qui nécessite une connexion HTTPS valide) et httponly, et samesite doit être défini sur None. Les clés de cookieParams doivent être écrites entièrement en minuscules.
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// Uncomment the following lines if you need table-based sessions.
// Note: Table-based sessions are currently not supported on MSSQL server.
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' => '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'None',
),
),
Autoriser le cookie csrf dans iframe
Comme pour le cookie de session, le cookie CSRF doit être sécurisé et sameSite doit être défini sur None. Notez que la clé est ici écrite sameSite. Ajoutez le tableau request complet au même niveau que session.
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
Paramètres URL
Pour modifier les paramètres d'URL par défaut, mettez à jour le fichier urlManager:
// Utilisez une URL courte
'urlManager' => array(
'urlFormat' => 'chemin',
'showScriptName' => false,
),
Vous pouvez également ajouter .html après l'identifiant de l'enquête de la manière suivante :
// Utilisez une URL courte
'urlManager' => tableau(
'urlFormat' => 'chemin',
'rules' => tableau (
'<sid:\d+> ' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => faux,
),
Pour plus d'informations, consultez la Documentation Yii.
Paramètres d'identification
Yii apporte différentes solution pour générer des journaux. Pour plus d'informations, rendez vous sur logging special topic. LimeSurvey utilise '1' ou '2' par défaut, ce qui permet chaque utilisateur du web de voir ces journaux. Vous pouvez créer vos propres paramètres en utilisant directement Yii.
Par exemple, une solution rapide pour ces erreurs de log et avertissements dans les fichiers est :
return array(
'components' => array(
/* Other component part here 'db' for example */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'warning, error',
'except' => 'exception.CHttpException.404',
),
),
),
/* Other component part here 'urlManager' for example */
),
/* Final part (with 'runtimePath' 'config' for example) */
);
application.controller.customInit.max_execution_time et application.controller.customInit.memory_limit sont utilisées pour consigner les tentatives de modification des paramètres PHP.
Si vous connaissez ces messages de journal et souhaitez les exclure des journaux, vous pouvez ajouter ces catégories à l’option except dans la configuration de votre route de journalisation, comme indiqué ci-dessous :
'except' => [
'exception.CHttpException.404',
'application.controller.customInit.max_execution_time',
'application.controller.customInit.memory_limit',
],
limesurvey/tmp/runtime/application.log, qui se trouve dans le dossier racine de LimeSurvey. Vous pouvez définir un autre nom de fichier à l’aide de logFile..
Chemin d'exécution
The runtime path doit être un répertoire lisible et accessible en écriture pour "l'internaute". Toutefois, le chemin d'exécution contient des fichiers avec des informations de sécurité potentielles qui sont situées dans la zone d'accès du Web publique. LimeSurvey collecte ces fichiers dans le répertoire temporaire du répertoire racine de LimeSurvey. Dans le but d'éliminer l'accès à de telles informations, vous pouvez définir le chemin d'exécution en dehors de l'accès Web public en modifiant les lignes respectives dans le fichier /application/config/config.php:
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
Paramètres généraux
- $sitename : Permet de donner un nom à votre site d'enquêtes en ligne. Ce nom apparaitra dans la vue de la liste des questionnaires et dans l'entête de l'administration. (depuis la version 1.87 ce paramètre est écrasé par les paramètres généraux)
- $siteadminemail : Adresse par défaut de l’administrateur du site. Elle est utilisée pour les messages systèmes et les opérations de contact. (depuis la version 1.87 ce paramètre est écrasé par les paramètres généraux)
- $siteadminbounce : Adresse vers laquelle seront acheminés les messages rejetés. (depuis la version 1.87 ce paramètre est écrasé par les paramètres généraux)
- $siteadminname : Nom réel de l'administrateur du site. (depuis la version 1.87 ce paramètre est écrasé par les paramètres généraux)
- sitename : donne un nom à votre site de questionnaires. Ce nom apparaît dans la vue d’ensemble de la liste des questionnaires et dans l’en-tête de l’administration. La valeur par défaut est « LimeSurvey ». Elle peut être remplacée dans la boîte de dialogue des paramètres généraux ou modifiée dans config.php.
- siteadminemail : adresse de courriel par défaut de l’administrateur du site, utilisée pour les messages système et les options de contact. Ce paramètre n’est utilisé que comme valeur par défaut et peut être remplacé dans la boîte de dialogue des paramètres généraux.
- showEmailInError : utilise le courriel par défaut de l’administrateur du site (siteadminemail) pour le lien mailto de la page d’erreur. Désactivez ce paramètre pour n’afficher que le nom de l’administrateur. Désactivé par défaut afin d’éviter davantage de spam sur l’adresse de courriel d’administration.
- siteadminbounce : adresse de courriel à laquelle les courriels rejetés seront envoyés. Ce paramètre n’est utilisé que comme valeur par défaut et peut être remplacé dans la boîte de dialogue des paramètres généraux.
- siteadminname : nom réel de l’administrateur du site. Ce paramètre n’est utilisé que comme valeur par défaut et peut être remplacé dans la boîte de dialogue des paramètres généraux.
- proxy_host_name : nom d’hôte de votre serveur proxy (il doit être renseigné si vous êtes derrière un proxy et que vous souhaitez mettre à jour LimeSurvey avec la Mise à jour de confort).
- proxy_host_port : port de votre serveur proxy (il doit être renseigné si vous êtes derrière un proxy et que vous souhaitez mettre à jour LimeSurvey avec la Mise à jour de confort).
Sécurité
- maxLoginAttempt : nombre de tentatives dont dispose un utilisateur pour saisir le bon mot de passe avant que son adresse IP ne soit bloquée. La valeur par défaut est 3 et elle peut être modifiée dans config.php.
- timeOutTime : si l’utilisateur saisit un mot de passe incorrect <maxLoginAttempt> fois, il est bloqué pendant <timeOutTime> secondes. La valeur par défaut est de 10 minutes et elle peut être modifiée dans config.php.
- maxLoginAttemptParticipants : nombre de tentatives dont dispose un participant pour saisir un code d’accès valide avant que son adresse IP ne soit bloquée. La valeur par défaut est 3 et elle peut être modifiée dans config.php.
- timeOutParticipants : si le participant saisit un code d’accès incorrect <maxLoginAttemptParticipants> fois, il est bloqué pendant <timeOutParticipants> secondes. La valeur par défaut est de 10 minutes et elle peut être modifiée dans config.php.
- surveyPreview_require_Auth : défini sur true par défaut. Si vous le définissez sur « false », n’importe qui peut tester votre questionnaire à l’aide de l’URL du questionnaire, sans se connecter à l’administration et sans que le questionnaire ait été activé au préalable. Ce paramètre est une valeur par défaut et peut être remplacé dans la boîte de dialogue des paramètres généraux ou modifié dans config.php.
- usercontrolSameGroupPolicy : défini sur true par défaut. Par défaut, les utilisateurs non administrateurs définis dans l’interface de gestion de LimeSurvey ne peuvent voir que les utilisateurs qu’ils ont créés ou ceux qui appartiennent à au moins un même groupe. La valeur par défaut peut être remplacée dans la boîte de dialogue des paramètres généraux ou modifiée dans config.php.
- demoMode : si cette option est définie sur « true » dans config.php, LimeSurvey passe en mode démo. Le mode démo modifie les éléments suivants :
- désactive la modification des informations et du mot de passe de l’utilisateur administrateur ;
- désactive l’émission de fichiers dans l’éditeur de modèles ;
- désactive l’envoi des invitations et des rappels par courriel ;
- désactive la création d’un export de la base de données ;
- désactive la possibilité de modifier les paramètres généraux suivants : nom du site, langue par défaut, mode par défaut de l’éditeur HTML, filtre XSS.
- forcedsuperadmin : tableau d’identifiants utilisateur disposant de tous les droits sur l’ensemble de LimeSurvey. Ce paramètre ne peut être modifié que dans le fichier config.php. Les droits de cet utilisateur ne peuvent pas être modifiés dans les autorisations globales d’un utilisateur, même par un autre super-administrateur forcé. Par défaut, l’utilisateur disposant de ces droits est celui dont l’identifiant est 1, c’est-à-dire le premier utilisateur créé juste après l’installation.
- force_ssl : force LimeSurvey à fonctionner via HTTPS ou à bloquer HTTPS. Voir Forcer HTTPS dans l’interface d’administration des paramètres généraux.
- ssl_emergency_override : ce paramètre force la désactivation de SSL. Si vous avez activé HTTPS/SSL dans les paramètres généraux alors que HTTPS n’est pas activé sur votre serveur, le seul moyen de le désactiver est de modifier directement une valeur dans la base de données. Ce paramètre vous permet de forcer la désactivation de HTTPS pendant que vous modifiez les paramètres généraux de sécurité. Il doit toujours rester à false, sauf en cas d’urgence : définissez-le alors sur true jusqu’à ce que vous ayez résolu le problème. Ce paramètre ne peut être défini que via le fichier config.php.
- ssl_disable_alert : désactive l’alerte destinée au super-administrateur concernant l’absence de SSL forcé, si vous ne pouvez pas ou ne souhaitez pas forcer SSL. Ce paramètre ne peut être défini que via le fichier config.php.
- allow_unserialize_attributedescriptions : autorise la désérialisation (avec la fonction PHP unserialize) des attributs des codes d’accès lors de l’importation ou de la lecture d’un objet questionnaire. Les données des attributs des codes d’accès sont enregistrées en JSON. Si vous importez un fichier de questionnaire issu d’une très ancienne version de LimeSurvey et devez récupérer ses attributs de codes d’accès, vous devez activer ce paramètre. Avertissement : la désérialisation peut entraîner le chargement et l’exécution de code en raison de l’instanciation d’objets et du chargement automatique, et un utilisateur malveillant pourrait en tirer parti. Ce paramètre ne peut être défini que via le fichier config.php.
- allow_unserialize_attachments : autorise la désérialisation (avec la fonction PHP unserialize) des attributs des pièces jointes lors de l’importation d’un questionnaire. Dans LimeSurvey 6.16.17, l’attribut des pièces jointes est passé de serialize à json_encode. Si vous devez conserver les pièces jointes lors de l’importation d’un ancien fichier LSS, vous devez l’autoriser. Avertissement : la désérialisation peut entraîner le chargement et l’exécution de code en raison de l’instanciation d’objets et du chargement automatique, et un utilisateur malveillant pourrait en tirer parti. Ce paramètre ne peut être défini que via le fichier config.php.
- twig_getConfig_extraallowlist : permet d’autoriser des éléments spécifiques pour la fonction getConfig dans Twig. LimeSurvey autorise déjà la plupart des paramètres nécessaires et couramment utilisés, mais vous pouvez en avoir besoin d’autres. Si vous souhaitez autoriser « securesetting » et « anothersetting », définissez ce paramètre sur
['securesetting','anothersetting'], comme ceci :'twig_getConfig_extraallowlist' => ['securesetting','anothersetting']. Ce paramètre ne peut être défini que via le fichier config.php.
Protection contre les scripts intersites (XSS)
LimeSurvey n’autorise aucun script utilisateur dans l’interface d’administration. Si vous trouvez un moyen pour qu’un utilisateur ajoute un script XSS dans l’interface d’administration, veuillez consulter notre politique de sécurité.
Les scripts des pages publiques sont gérés par les paramètres du filtre XSS.
- filterxsshtml : ce paramètre active le filtrage des balises HTML suspectes situées dans les questionnaires, les groupes, ainsi que les textes des questions et des réponses dans l’interface d’administration. Ne le laissez sur « false » que si vous faites absolument confiance aux utilisateurs créés pour l’administration de LimeSurvey et si vous souhaitez leur permettre d’utiliser du Javascript, des animations Flash, etc. Le HTML des super-administrateurs n’est jamais filtré. La valeur par défaut peut être remplacée dans la boîte de dialogue des paramètres généraux.
- filterxsshtml_forcedall : force
filterxsshtmlà true pour tous les utilisateurs et désactive les modifications dans l’interface d’administration. Active également le filtrage des balises HTML suspectes pour le super-administrateur. - filterxsshtml_allowforcedsuperadmin : utilisé uniquement si
filterxsshtml_forcedallest à true. Permet àforcedsuperadmin(par défaut l’utilisateur administrateur n° 1) d’ajouter n’importe quel script et HTML. - disablescriptwithxss : autorise la modification du script d’une question : par défaut, true : suit les règles XSS ; définissez-le sur false pour l’autoriser à tous les utilisateurs. La valeur par défaut peut être remplacée dans la boîte de dialogue des paramètres généraux.
- filterxsshtml_enablescript : utilisé uniquement si filterxsshtml_forcedall est à true. Active le script de question pour un utilisateur spécifique :
gui: autorise la modification du paramètre via l’interface graphique ;superadmin: uniquement le super-administrateur ;forcedsuperadmin: uniquement le super-administrateur forcé ; par défaut : aucun utilisateur et modification via l’interface graphique non autorisée.
Émission de fichiers autorisée
- allowedthemeimageformats : types de fichiers image dont l’émission est autorisée dans la section des thèmes. Par défaut, les fichiers SVG sont désactivés en raison d’un risque d’attaque XSS.
- allowedthemeuploads : autres types de fichiers dont l’émission est autorisée dans la section des thèmes (fichier zip).
- allowedresourcesuploads : types de fichiers dont l’émission est autorisée dans les sections de ressources et avec l’éditeur HTML.
- allowedpluginuploads : types de fichiers autorisés lors de l’émission du fichier zip d’une extension.
Saisissez simplement une chaîne d’extensions séparées par des virgules. Par exemple :
'allowedthemeimageformats' => 'jpg,jpeg,gif,png,webm,svg',
Avertissement : soyez toujours prudent lorsque vous autorisez l’émission de fichiers. Des activités malveillantes sont à prévoir.
Extensions
- usePluginWhitelist : si true, les extensions qui ne figurent pas dans la liste d’autorisation (voir « pluginWhitelist ») ne peuvent être ni installées ni chargées. Cela peut désactiver des extensions déjà installées.
- pluginWhitelist : liste des noms d’extensions autorisées à être installées et chargées lorsque « usePluginWhitelist » est à true. Les extensions du cœur sont implicitement autorisées.
- corePluginBlacklist : liste des noms d’extensions du cœur interdites lorsque « usePluginWhitelist » est à true.
- disablePluginUpload : lorsque ce paramètre est à true, la fonctionnalité « Émission d’extension » est désactivée.
Contrôle des hôtes
- allowedHosts : pour éviter l'injection d'en-tête Host (Host Header Injection), vous pouvez définir les hôtes autorisés pour toutes les actions. Si vous utilisez des hôtes différents pour la page publique et la page d'administration, vous devez définir les deux comme hôtes autorisés.
'config'=>array(
....
, // Update default LimeSurvey config here
'allowedHosts' => [
'survey.example.org',
'proxy.survey.example.com',
'example.limesurvey.org',
],
),
Ressources
- iSessionExpirationTime : définit le délai, en secondes, après lequel une session de questionnaire expire. Il ne s'applique que si vous utilisez des sessions en base de données. Dans ce cas, modifiez le paramètre dans config.php ou remplacez la valeur par défaut depuis la boîte de dialogue des paramètres généraux.
- memory_limit : détermine la quantité de mémoire, en mégaoctets, à laquelle LimeSurvey peut accéder. La valeur par défaut est '256'. Si vous rencontrez des erreurs de dépassement de délai ou des problèmes lors de la génération des statistiques ou de l'exportation de fichiers, augmentez cette limite à '512' ou plus. Si votre serveur web définit une limite plus élevée dans php.ini, ce paramètre sera ignoré.
Pour augmenter la limite de mémoire à 128 Mo, vous pouvez également essayer d'ajouter :
- memory_limit = 128M au fichier principal php.ini de votre serveur (recommandé, si vous avez accès)
- memory_limit = 128M au fichier php.ini dans la base de LimeSurvey
- php_value memory_limit = 128M dans le fichier .htaccess de la base de LimeSurvey
- max_execution_time: Définit le nombre de secondes pendant lesquelles un script est autorisé à s'exécuter. Si cela est atteint, le script renvoie une erreur fatale. Pour être autorisé à exporter des données et des statistiques d'enquêtes volumineuses, LimeSurvey essaie de le définir par défaut sur 1 200 secondes. Vous pouvez définir une durée plus grande ou une durée inférieure si nécessaire. Accessible uniquement via le fichier de configuration php.
Apparence
- repeatheadings : avec le type de question Tableau, vous aurez souvent de nombreuses sous-questions qui, lorsqu'elles sont affichées à l'écran, occupent plus d'une page. Ce paramètre vous permet de décider combien de sous-questions doivent être affichées avant de répéter les informations d'en-tête de la question. Une bonne valeur est d'environ 15. Si vous ne souhaitez pas que les en-têtes se répètent, définissez-le à 0. Ce paramètre est remplacé dans la boîte de dialogue des paramètres généraux.
- minrepeatheadings : le nombre minimum de sous-questions restantes requis avant de répéter les en-têtes dans les questions de type Tableau. La valeur par défaut est 3 et elle peut être modifiée dans config.php.
- defaulttheme : ce paramètre définit le thème par défaut utilisé pour la « liste publique » des questionnaires. Il peut être remplacé dans la boîte de dialogue des paramètres généraux ou modifié dans config.php.
- defaulthtmleditormode : définit le mode par défaut de l'éditeur HTML intégré. Ce paramètre peut être remplacé dans la boîte de dialogue des paramètres généraux ou modifié dans config.php. Les valeurs valides sont :
- 'inline' - remplacement des champs en ligne par un éditeur HTML. Lent mais pratique et convivial ;
- 'popup' - ajoute une icône qui lance l'éditeur HTML dans une fenêtre contextuelle si nécessaire. Plus rapide, mais le code HTML est affiché dans le formulaire ;
- 'none' - pas d'éditeur HTML ;
- column_style : définit le rendu des colonnes pour les réponses du questionnaire lors de l'utilisation de display_columns. Il peut être modifié dans le fichier config.php. Les valeurs valides sont :
- 'css' - utilise l'une des différentes méthodes CSS pour créer des colonnes (voir la feuille de style du thème pour plus de détails) ;
- 'ul' - les colonnes sont rendues sous forme de plusieurs listes non ordonnées flottantes (par défaut) ;
- 'table' - utilise une mise en page classique basée sur des tableaux ;
- NULL - désactive l'utilisation de colonnes.
Language & time
- defaultlang: Ceci doit être défini sur la langue par défaut à utiliser dans vos scripts d'administration, ainsi que sur le paramètre par défaut pour la langue dans la liste d'enquête publique. Ce paramètre peut être remplacé dans la boîte de dialogue paramètres globaux ou modifié dans config.php.
- timeadjust: Si votre serveur Web se trouve dans un fuseau horaire différent de celui où vos enquêtes seront basées, indiquez ici la différence entre votre serveur et votre fuseau horaire domestique. Par exemple, je vis en Australie, mais j'utilise un serveur Web américain. Le serveur Web a 14 heures de retard sur mon fuseau horaire local. Donc mon réglage ici est "14". En d’autres termes, cela ajoute 14 heures au temps des serveurs Web. Ce paramètre est particulièrement important lorsque les enquêtes horodatent les réponses. Ce paramètre peut être remplacé dans la boîte de dialogue paramètres globaux ou modifié dans config.php.
Comportement du questionnaire
- deletenonvalues : utilisez cette fonctionnalité avec prudence. Par défaut (valeur 1), les questions non pertinentes sont mises à NULL dans la base de données. Cela garantit que les données de votre base sont cohérentes en interne. Cependant, dans de rares cas, vous pouvez souhaiter conserver les valeurs non pertinentes ; vous pouvez alors définir la valeur à 0. Par exemple, vous demandez à un homme son sexe et il répond par erreur « féminin », puis répond à des questions spécifiques aux femmes (questions conditionnées au fait d'être une femme, donc pertinentes uniquement pour les femmes). Il se rend ensuite compte de son erreur, revient en arrière, choisit « masculin » et poursuit le questionnaire. Les questions spécifiques aux femmes ne sont désormais plus pertinentes. Si
$deletenonvalues==1, ces valeurs non pertinentes seront effacées (mises à NULL) dans la base de données. Si$deletenonvalues==0, ses réponses erronées ne seront pas supprimées et seront donc toujours présentes dans la base de données lorsque vous l'analyserez. - shownoanswer : lorsqu'une question de type bouton radio/liste déroulante contenant des réponses modifiables (par ex. : questions de type Liste ou Tableau) n'est pas obligatoire et que 'shownoanswer' est défini à 1, une entrée supplémentaire « Sans réponse » est affichée, afin que les participants puissent choisir de ne pas répondre à la question. Certaines personnes préfèrent que cette option ne soit pas disponible. Ce paramètre peut être remplacé depuis la boîte de dialogue des paramètres généraux ou modifié dans config.php. Les valeurs valides sont :
- '0' : non ;
- '1' : oui ;
- '2' : l'administrateur du questionnaire peut choisir.
- printanswershonorsconditions : ce paramètre détermine si la fonction « Imprimer les réponses » affiche les entrées des questions masquées par des conditions de branchement (par défaut : 1 = masquer les réponses des questions masquées par des conditions).
- showpopups : afficher des messages contextuels si les questions obligatoires ou conditionnelles n'ont pas reçu de réponse correcte :
- '2' = défini par l'option du thème (par défaut)
- '1' = afficher le message contextuel ;
- '0' = afficher plutôt le message sur la page ;
- '-1' = ne pas afficher le message du tout (dans ce cas, les utilisateurs verront toujours les conseils propres à chaque question indiquant à quelles questions il faut répondre).
Comportement du type de question numérique
- bFixNumAuto: Les champs numériques peuvent être automatiquement filtrés pour supprimer toutes les valeurs non numériques. Par défaut, c'est activé, vous pouvez le désactiver globalement. Ce paramètre est lié à « Corriger automatiquement la valeur numérique » dans les options du thème principal. Il était activé pour « Oui », désactivé pour « Uniquement pour l'expression » et « Non ».
- bNumRealValue: Les champs numériques utilisés dans le gestionnaire d'expression peuvent être corrigés ou non. C'est corrigé par défaut. Si NUMERIC est une question numérique : désactiver ou 0 : {NUMERIC} avec mauvais caractères envoyer '' , activer ou 1 : {NUMERIC} envoie tous les caractères saisis. Ce paramètre est lié à « Corriger automatiquement la valeur numérique » dans les options du thème principal. Il était activé pour « Oui » et « Uniquement pour l'expression » et désactivé pour « Non ».
Développement et débogage
- debug: Avec ce paramètre, vous définissez le rapport d'erreurs PHP sur E_ALL. Cela signifie que chaque petit avis, avertissement ou erreur lié au script est affiché. Ce paramètre ne doit être réglé sur « 1 » que si vous essayez de déboguer l'application pour une raison quelconque. Si vous êtes développeur, réglez-le sur « 2 ». Ne le réglez pas sur « 1 » ou « 2 » en production, car cela pourrait entraîner une divulgation du chemin. La valeur par défaut est « 0 » et elle peut être modifiée dans config.php.
- debugsql: Activez ce paramètre si vous souhaitez afficher en bas de chaque page toutes les requêtes SQL exécutées par le script. Très utile pour optimiser le nombre de requêtes. Pour l'activer, changez la valeur par défaut à « 1 » dans le fichier config.php.
- use_asset_manager: Par défaut, le mode débogage désactive le gestionnaire d'actifs ; vous pouvez toutefois autoriser l'utilisation du gestionnaire d'actifs lorsque le mode débogage est activé.
- rpc_log: (New in 7.9.0 ) Réglez-le sur
truepour consigner chaque appel RemoteControl danstmp/runtime/remotecontrol.log. Chaque ligne contient la méthode appelée, ses paramètres, l'adresse IP du client, la durée et le début de la réponse. Les mots de passe sont supprimés, les clés de session sont remplacées par un court hachage et les valeurs longues sont raccourcies. Le journal contient toutefois les données de questionnaire, de participants et de réponses qui ont été envoyées et reçues ; ne l'activez donc que pendant la recherche d'un problème. La valeur par défaut estfalse.
Dans le cas où vous rencontrez une erreur dans l'application, nous vous recommandons fortement d'activer le paramètre de debug pour obtenir une erreur plus détaillée que vous pourrez soumettre avec le report du bug.
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
Si vous travaillez sur un plugin et avez besoin d'un moyen rapide de vider les variables à l'écran : vous pouvez utiliser la fonction traceVar. Si le débogage est défini : cette fonction utilise CWebLogRoute pour être affichée sur la page HTML. Utilisation traceVar($MyVariable)
Paramétrage des E-mails
Tous les paramètres ci-dessous peuvent être remplacés dans la boîte de dialogue Paramètres généraux.
- 'emailmethod: Ce paramètre détermine la manière dont les courriels sont envoyés. Les options suivantes sont disponibles :
- 'mail:' utilise le programme d'envoi PHP interne ;
- 'sendmail:' utilise le programme d'envoi sendmail ;
- 'smtp:' utilise le relais SMTP. Utilisez ce paramètre lorsque vous exécutez LimeSurvey sur un hôte qui n'est pas votre serveur de messagerie.
- 'emailsmtphost: Si vous utilisez 'smtp' comme
$emailmethod, vous devez indiquer ici votre serveur SMTP. Si vous utilisez Google Mail, vous devrez peut-être ajouter le numéro de port, par exemple $emailsmtphost = 'smtp.gmail.com:465'. - emailsmtpuser: Si votre serveur SMTP nécessite une authentification, indiquez ici votre nom d'utilisateur, sinon laissez ce champ vide.
- emailsmtppassword: Si votre serveur SMTP nécessite une authentification, indiquez ici votre mot de passe, sinon laissez ce champ vide.
- emailsmtpssl: Réglez-le sur 'ssl' ou 'tls' pour utiliser SSL/TLS pour la connexion SMTP.
- maxemails: Lors de l'envoi d'invitations ou de rappels aux participants, ce paramètre détermine combien de courriels peuvent être envoyés en un seul lot. Les serveurs web ont des capacités d'envoi différentes et, si votre script met trop de temps à envoyer un lot de courriels, il peut expirer et provoquer des erreurs. La plupart des serveurs web peuvent envoyer 100 courriels à la fois dans le délai par défaut de 30 secondes d'un script PHP. Si vous obtenez des erreurs d'expiration du script lors de l'envoi d'un grand nombre de courriels, réduisez le nombre dans ce paramètre. Un clic sur le bouton « Envoyer les courriels d’invitation » de la barre d'outils de la table des participants (et non sur le bouton situé à droite de chaque participant) envoie le nombre <maxemails> d'invitations, puis affiche la liste des adresses des destinataires et un avertissement indiquant que davantage de courriels sont en attente que ce qui pouvait être envoyé en un seul lot. Continuez l'envoi en cliquant ci-dessous. Il reste ### courriels à envoyer. Un « bouton Continuer » permet de passer au lot suivant. Autrement dit, c'est l'utilisateur qui décide quand envoyer le lot suivant, une fois le précédent expédié. Il n'est pas nécessaire de laisser cet écran actif : l'administrateur peut se déconnecter et revenir plus tard pour envoyer le lot d'invitations suivant.
- send_error_saving_results_email: (New in 7.8.0 ) Si une réponse ne peut pas être sauvegardée, LimeSurvey envoie les réponses à l'administrateur du questionnaire dans un courriel dont l'objet est « Erreur de sauvegarde des résultats ». Réglez-le sur
falsepour ne plus envoyer ces courriels. Les participants voient toujours le message d'erreur. La valeur par défaut esttrue. Ce paramètre ne peut être modifié que dans config.php.
- filterout_incomplete_answers : contrôle le comportement par défaut du filtrage des réponses incomplètes lors de la consultation ou de l'analyse des réponses. Pour en savoir plus sur les réponses incomplètes, consultez notre wiki sur la consultation des résultats du questionnaire. Ces enregistrements pouvant fausser les statistiques, une option permet d'activer ou de désactiver ce filtre dans plusieurs formulaires de l'interface. Le paramètre peut être modifié dans config.php. Les options suivantes sont disponibles :
- 'all' : permet de visualiser à la fois les réponses complètes et incomplètes ;
- 'complete' : affiche uniquement les réponses complètes ;
- 'incomplete' : affiche uniquement les réponses incomplètes.
- strip_query_from_referer_url : ce paramètre détermine si l'URL référente enregistre ou non les paramètres. La valeur par défaut est 'false' (dans ce cas, l'URL référente enregistre tous les paramètres). Vous pouvez aussi la définir à 'true' : la partie paramètres de l'URL référente sera alors supprimée.
- showaggregateddata : lorsque ce paramètre est activé, des valeurs statistiques supplémentaires, telles que la moyenne arithmétique et l'écart type, sont affichées. De plus, les données sont agrégées pour obtenir une vue d'ensemble plus rapide. Par exemple, les résultats des échelles 1+2 et 4+5 sont additionnés pour obtenir un classement général tel que « bon » (1/2), « moyen » (3) et « mauvais » (4/5). Cela n'affecte que les types de questions « A » (tableau de 5 points) et « 5 » (5 boutons radio).
- Paramètres d'exportation PDF : cette fonctionnalité active l'export PDF pour les questionnaires imprimables et l'impression des réponses. La fonction d'export PDF est entièrement expérimentale et le résultat est loin d'être parfait. Malheureusement, aucun support ne peut être fourni pour le moment - si vous souhaitez aider à la corriger, veuillez nous contacter.
- 'pdfdefaultfont' : représente la police par défaut utilisée par la fonction d'export PDF. La valeur par défaut est 'auto'. Pour la modifier, vous devez la définir sur l'une des polices de base PDF.
- 'alternatepdffontfile' : un tableau associant des clés de langue et la police correspondante. La police par défaut de chaque langue peut être remplacée dans le fichier config.php ;
- 'pdffontsize' : indique la taille de la police des textes normaux ; pour le titre du questionnaire, elle est de <pdffontsize>+4, tandis que pour le titre du groupe elle est de <pdffontsize>+2. Elle peut être modifiée dans le fichier config.php ou depuis la boîte de dialogue des paramètres généraux.
- Paramètres des graphiques
- 'chartfontfile' : définit le nom du fichier de police utilisé pour créer les graphiques statistiques. Le fichier doit se trouver dans le répertoire des polices (fonts), situé dans le dossier racine de LimeSurvey. Il peut être modifié dans le fichier config.php ;
- 'alternatechartfontfile' : un tableau associant des clés de langue et la police correspondante. Il peut être modifié dans le fichier config.php.
- showsgqacode : ce paramètre est utilisé par la fonctionnalité de questionnaire imprimable et vaut 'false' par défaut. Si vous définissez showsgqacode = 'true';, les identifiants de chaque question - et de chaque réponse, le cas échéant - seront affichés. Ces identifiants correspondent aux en-têtes de colonnes de la table Lime_survey_12345, qui contient les données de réponse d'un questionnaire donné. Ils peuvent servir de dictionnaire de codes pour des requêtes manuelles sur la base de données.
LDAP settings/fr
Comme il s'agit d'un sujet complet, nous avons déplacé Paramètres LDAP vers une autre page.
Authentication
L'authentification est gérée par des extensions. Les paramètres ci-dessous sont utilisés par l'extension d'authentification par le serveur web, voir Extensions d'authentification.
Délégation d'authentification sur le serveur web
Les administrateurs système peuvent souhaiter que leurs administrateurs de questionnaires soient authentifiés par un système d'authentification centralisé (Active Directory, openLdap, Radius, ...) plutôt que par la base de données interne de LimeSurvey. Un moyen simple d'y parvenir consiste à configurer votre logiciel de serveur web pour qu'il utilise ce système d'authentification externe, puis à demander à LimeSurvey de faire confiance à l'identité de l'utilisateur transmise par le serveur web. Pour activer cette fonctionnalité, vous devez :
- activer l'extension Webserver dans Configuration > Extensions et définir, dans les paramètres de l'extension, la clé du serveur qui contient le nom d'utilisateur (par défaut : REMOTE_USER) ;
- activer l'authentification côté serveur web.
Veuillez noter que :
- LimeSurvey contournera alors son propre processus d'authentification (en utilisant le nom de connexion indiqué par le serveur Web sans demander de mot de passe);
- cela ne peut remplacer que le système d'authentification de l'interface graphique de LimeSurvey, 'pas le système d'invitation à l'enquête' (interface des participants).
Délégation d'authentification sans importation automatique d'utilisateur
Veuillez noter que la délégation d'authentification ne contourne pas le système d'autorisation de LimeSurvey par défaut - ce qui signifie que, même si vous n'avez pas à gérer les mots de passe dans LimeSurvey, vous devez toujours définir les utilisateurs dans la base de données LimeSurvey et leur attribuer l'ensemble correct de mots de passe. droits afin de leur permettre d'accéder au panneau d'administration.
Un utilisateur obtient alors l'accès à LimeSurvey si et seulement si :
- il a été authentifié auprès du serveur web ;
- son nom de connexion est défini comme utilisateur dans la base de données des utilisateurs de LimeSurvey (l'utilisateur reçoit alors les privilèges de l'utilisateur défini dans cette base de données) ;
- il dispose de la permission globale Utiliser l’authentification par le serveur Web.
Délégation d'authentification avec importation automatique des utilisateurs
Lors de la gestion d'une très grande base d'utilisateurs, il est parfois plus simple d'importer automatiquement les utilisateurs dans la base de données de LimeSurvey :
- auth_webserver_autocreate_user : si défini à 'true', LimeSurvey essaiera d'importer automatiquement les utilisateurs authentifiés par le serveur web mais absents de sa base d'utilisateurs.
- auth_webserver_autocreate_profile : un tableau décrivant le profil par défaut qui sera attribué à l'utilisateur : le nom complet (fictif), le courriel et la langue.
- auth_webserver_autocreate_permissions : un tableau contenant les permissions globales qui seront attribuées à l'utilisateur.
Si vous souhaitez personnaliser le profil utilisateur afin qu'il corresponde à l'utilisateur connecté, vous devrez développer une fonction simple appelée hook_get_auth_webserver_profile dans config.php. Avec cette fonction, vous pouvez récupérer depuis une base de données centrale de comptes utilisateurs (par exemple, un annuaire LDAP) le véritable nom complet, le courriel et la langue d'un utilisateur donné.
La fonction hook_get_auth_webserver_profile prend le nom de connexion de l'utilisateur comme seul argument et peut renvoyer :
- False ou un tableau vide - dans ce cas, l'accès à LimeSurvey est refusé à l'utilisateur ;
- un tableau contenant les mêmes entrées que
auth_webserver_autocreate_profile.
function hook_get_auth_webserver_profile($user_name)
{
// Retrieve user's data from your database backend (for instance LDAP) here
// ... get $user_name_from_backend
// ... get $user_email_from_backend
// ... get $user_lang_from_backend
return array(
'full_name' => $user_name_from_backend,
'email' => $user_email_from_backend,
'lang' => $user_lang_from_backend,
);
}
// If user should be denied access, return an empty array
// return array();
Mappage du nom d'utilisateur
Dans le cas où certains utilisateurs ont un nom d'utilisateur externe différent de leur nom d'utilisateur LimeSurvey, il peut s'avérer utile d'utiliser un mappage de nom d'utilisateur. Cela se fait dans LimeSurvey en utilisant le paramètre auth_webserver_user_map. Par exemple, imaginez que vous n'ayez pas de nom d'utilisateur « admin » défini dans votre base de données d'authentification externe. Ensuite, pour vous connecter à LimeSurvey en tant qu'administrateur, vous devrez mapper votre nom d'utilisateur externe (appelons-le « mon nom ») au nom de connexion administrateur dans LimeSurvey. La configuration correspondante est :
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
Après une authentification réussie avec le login 'myname' et le mot de passe du serveur Web, vous serez directement autorisé à utiliser LimeSurvey en tant qu'utilisateur 'admin'.
Cela a de graves implications sur le plan de la sécurité, alors utilisez-le avec soin. Protégez également votre config.php de l'accès en écriture par le serveur Web.
Utilisation de mots de passe à utilisation unique
Un utilisateur peut ouvrir la page de connection de LimeSurvey sur efault.com/limesurvey/admin et inscrire son identifiant et son mot de passe à utilisation unique qui aura été écrit précédemment dans la table des utilisateurs (column one_time_pw) par une application externe.
Ce paramètre doit être activé dans le fichier config.php pour permettre l'utilisation de mots de passe à usage unique (par défaut = false).
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
Plus d'informations peuvent être trouvées dans la Section « Gérer les utilisateurs ».
Paramètres de chiffrement
Voir cryptage des données pour plus de détails sur cette fonctionnalité.
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
- encryptionnonce
- encryptionsecretboxkey
Paramètres d'URL avancés
- publicurl : doit être défini sur l'emplacement (lien) de vos « scripts publics ». Les scripts publics sont ceux situés dans le dossier « limesurvey » (ou quel que soit le nom que vous avez donné au répertoire contenant tous les autres scripts et répertoires). Ce paramètre est disponible dans config.php et il est utilisé lorsque LimeSurvey a besoin d'un lien absolu (par exemple lors de l'envoi des courriels contenant les codes d'accès).
- tempurl : doit être défini sur l'emplacement (lien) de votre répertoire « /limesurvey/tmp » - ou d'un répertoire que LimeSurvey doit utiliser pour servir les fichiers temporaires.
- uploadurl : doit être défini sur l'emplacement (lien) de votre répertoire « /limesurvey/upload » - ou d'un répertoire que LimeSurvey doit utiliser pour servir les fichiers envoyés. Cela vous permet de placer les fichiers envoyés sur un autre nom de domaine.
Paramètres de répertoires avancés
- homedir: Ce paramètre doit correspondre à l'emplacement physique sur le disque de vos scripts d'administration - par exemple "/home/usr/htdocs/limesurvey/admin". N'ajoutez pas de barre oblique finale. Le paramètre par défaut dans config.php tente de détecter le chemin racine par défaut de tous vos documents à l'aide de la variable PHP
{$_SERVER['DOCUMENT_ROOT']}. Dans la plupart des cas, vous pouvez le laisser tel quel et modifier uniquement le reste de cette chaîne afin qu'elle corresponde au nom du répertoire dans lequel vous avez placé les scripts LimeSurvey. - publicdir: Ce paramètre doit correspondre à l'emplacement physique sur le disque de vos « scripts publics ».
- tempdir: Ce paramètre doit correspondre à l'emplacement physique sur le disque de votre répertoire /limesurvey/tmp, afin que le script puisse lire et écrire des fichiers.
- uploaddir: Ce paramètre doit correspondre à l'emplacement physique sur le disque de votre répertoire /limesurvey/upload, afin que le script puisse lire et écrire des fichiers.
- sCKEditorURL: lien du script CKEditor.
Autres paramètres avancés
Télécharger des fichiers
- magic_database: Permet d'utiliser une autre base de données MIME pour finfo_open. Peut être modifié uniquement dans le fichier config.php. Exemple :
/usr/share/misc/magic.mgcpour les distributions Linux basées sur Red Hat. - magic_file: Permet d'utiliser un autre fichier que celui inclus pour obtenir le tableau des extensions par type MIME. Doit être un fichier PHP renvoyant un tableau. Peut être modifié uniquement dans le fichier config.php.
Mise à jour
- updatable: Ce paramètre est dans la version.php. Peut être vrai ou faux. Si vous définissez sur true : lorsqu'un utilisateur super administrateur se connecte : LimeSurvey vérifie si une mise à jour est disponible et vous affiche un avertissement. Si défini sur false : aucune vérification n'est effectuée et vous ne pouvez pas utiliser ComfortUpdate.
Codes d’accès
- allowedcharacters_pattern_token : Ces paramètres permettent de définir le motif d'expression régulière utilisé pour filtrer les codes d’accès.