Foire Aux Questions
From LimeSurvey Manual
1. Comment supprimer la marque * (asterisc rouge) dans les questions obligatoires?
Dans LimeSurvey Version 1.80 et au delà l'astérisc rouge des questions obligatoires fait partie du fichier modèle template.css ("asterisk" class). Pour le cacher :
- Ouvrez l'éditeur de modèles
- Selectionez le modèle que vous voulez modifier de façon à ce que l'astérisc rouge disparaisse
- Selectionez le fichier "template.css" et cherchez astérisc rouge (red asterisc)
- Add the following line at the end of the asterix class".asterisk {display: none;}".
- Save template.css
- Clear your browser cache so that the edited template.css is reloaded and not taken from cache.
Pour avoir une idée de ce que vous pouvez faire avec LimeSurvey sans lire la moitié du manuel, regardez quelques-uns de nos tutoriels vidéo sur YouTube :
- Comment créer un compte et une installation de questionnaire
- Type de question : Tableau
- Évaluations
- Champs texte réservés
- Type de question : Liste radio
- Copier/importer un questionnaire
- Importer une question
Où puis-je trouver une introduction rapide à LimeSurvey ?
Pour une introduction écrite rapide à LimeSurvey, consultez :
- Guide de démarrage rapide de LimeSurvey Cloud – créez et publiez votre premier questionnaire dans LimeSurvey Cloud
- Installer LimeSurvey Community Edition – si vous souhaitez exécuter LimeSurvey sur votre propre serveur
Conception et mise en page de l'enquête
Comment supprimer index.php de l'URL pour obtenir des liens plus courts ?
Si vous souhaitez utiliser des liens plus courts (sans /index.php dans chaque lien), modifiez application/config/config.php et, dans la section urlManager, changez
'showScriptName' => true,
à
'showScriptName' => false,
Pour que cela fonctionne avec Apache, mod_rewrite doit être activé et le fichier .htaccess fourni avec LimeSurvey doit se trouver dans le dossier racine de LimeSurvey. Pour nginx, consultez notre exemple de configuration nginx.
Comment masquer l'astérisque rouge des questions obligatoires ?
LimeSurvey affiche un astérisque rouge au début du texte des questions obligatoires. Dans LimeSurvey 7.x, le mot « Obligatoire » est affiché à côté. Pour les masquer, ajoutez une règle CSS à votre thème de questionnaire :
- Les thèmes de base comme Fruity TwentyThree ne peuvent pas être modifiés directement. Étendez d'abord le thème. Cela crée une copie modifiable.
- Ouvrez l'éditeur de thème pour la copie et sélectionnez le fichier custom.css.
- Ajoutez la ligne suivante :
.asterisk, .ls-question-mandatory {display: none;}
Sauvegardez les modifications. Sélectionnez ensuite le thème étendu dans les paramètres généraux de votre questionnaire.
Cela masque également l'astérisque dans le formulaire d'enregistrement public.
Comment créer une enquête ouverte à tous ?
Pour créer un questionnaire que tout le monde peut remplir, ne créez pas de tableau des participants au questionnaire. Partagez le lien du questionnaire affiché dans le panneau de vue d’ensemble.
Comment rendre obligatoires tous les champs de l'enregistrement public ?
Si vous utilisez un tableau des participants au questionnaire et que vous autorisez également l'enregistrement public, les personnes qui souhaitent participer remplissent un formulaire d'enregistrement avec leur prénom, leur nom et leur adresse de courriel. Seule l'adresse de courriel est obligatoire :

Pour rendre également obligatoires le prénom et le nom, modifiez le formulaire d'enregistrement de votre thème de questionnaire. Pour Fruity TwentyThree, étendez d'abord le thème, ouvrez l'éditeur de thème pour la copie et modifiez le fichier views/subviews/registration/register_form.twig. Le champ de courriel montre comment un champ obligatoire est construit :
{# Participants email #}
<div class='{{ aSurveyInfo.class.registerformcolrowc }} row mb-3' {{ aSurveyInfo.attr.registerformcolrowc }}>
<label {{ aSurveyInfo.attr.registerformcolrowclabel }} class='{{ aSurveyInfo.class.registerformcolrowclabel }} control-label'> {{ gT("E-mail") }} {{ include('./subviews/registration/required.twig') }}</label>
<div {{ aSurveyInfo.attr.registerformcolrowcdiv }} >
{{ C.Html.emailField('register_email', aSurveyInfo.sEmail, ({'id' : 'register_email','class' : 'form-control ls-important-field','required' : true, 'placeholder' : gT('Enter e-mail address', 'unescaped')})) }}
</div>
</div>
Modifiez de la même façon les champs du prénom et du nom :
- Ajoutez
{{ include('./subviews/registration/required.twig') }}à l'étiquette. Cela affiche l'astérisque. - Ajoutez
'required' : trueaux options du champ texte. Cela rend le champ obligatoire.
Les champs modifiés devraient ressembler à ceci (l'exemple provient de LimeSurvey 7.x ; dans la version 6.x, les textes des espaces réservés sont écrits sans 'unescaped') :
{# Participants first name #}
<div class='{{ aSurveyInfo.class.registerformcolrow }} col-md-6 col-12 mb-3 mb-md-0' {{ aSurveyInfo.attr.registerformcolrow }}>
<label for='register_firstname' class='{{ aSurveyInfo.class.registerformcolrowlabel }} control-label '>{{ gT("First name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div class="">
{{ C.Html.textField('register_firstname', aSurveyInfo.sFirstName, ({'id' : 'register_firstname','class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your first name', 'unescaped') })) }} {# mandatory field #}
</div>
</div>
{# Participants last name #}
<div class='{{ aSurveyInfo.class.registerformcolrowb }} col-md-6 col-12' {{ aSurveyInfo.attr.registerformcolrowb }}>
<label {{ aSurveyInfo.attr.registerformcolrowblabel }} class='{{ aSurveyInfo.class.registerformcolrowblabel }} control-label '>{{ gT("Last name") }} {{ include('./subviews/registration/required.twig') }}</label> {# extra label #}
<div {{ aSurveyInfo.attr.registerformcolrowbdiv }} >
{{ C.Html.textField('register_lastname', aSurveyInfo.sLastName, ({'id' : 'register_lastname', 'class' : 'form-control ls-important-field', 'required' : true, 'placeholder' : gT('Enter your last name', 'unescaped')})) }} {# mandatory field #}
</div>
</div>
Le formulaire d'enregistrement public affiche désormais les trois champs comme obligatoires :

Masquer le sélecteur de langue
La façon de masquer les sélecteurs de langue (sur la page d'accueil et dans le menu du haut) est décrite dans les trucs et astuces pour les questionnaires multilingues.
Masquer le bouton « Sortir et effacer vos réponses »
Dans Fruity TwentyThree, le bouton « Sortir et effacer vos réponses » est contrôlé par l'option de thème Afficher le bouton "Effacer tout" (sous Options de base). Elle est définie sur Non par défaut ; les participants ne voient donc le bouton que si l'option a été activée. Pour masquer le bouton, définissez l'option sur Non dans les options de thème de votre questionnaire.
Au secours, j'ai accidentellement...
J'ai oublié mon mot de passe administrateur. Comment puis-je le réinitialiser ?
Avec la ligne de commande
- Connectez-vous à votre serveur avec une ligne de commande (par exemple avec SSH).
- Assurez-vous de pouvoir exécuter PHP depuis la ligne de commande (voir la documentation PHP).
- Allez dans le répertoire de LimeSurvey.
- Exécutez cette commande :
php application/commands/console.php resetpassword USERNAME NEWPASSWORD
USERNAME est le nom d’un compte administrateur existant, par exemple admin. Si la commande php est introuvable, utilisez son chemin complet, par exemple /usr/bin/php. Le nouveau mot de passe est enregistré dans l’historique de votre shell ; modifiez-le donc dans LimeSurvey après vous être connecté.
Avec un accès FTP uniquement
Utilisez le contrôleur tiers ResetPasswordController. Supprimez à nouveau le fichier et ses paramètres de config.php une fois le mot de passe réinitialisé.
Directement dans la base de données
Si vous avez un accès direct à la base de données de LimeSurvey, vous pouvez y définir un nouveau mot de passe. LimeSurvey accepte un mot de passe stocké sous forme de hachage SHA-256 et le remplace par un hachage plus sûr à la prochaine connexion de l’utilisateur.
Par exemple, dans MySQL ou MariaDB, la commande suivante définit le mot de passe de l’utilisateur admin sur newpassword :
UPDATE lime_users SET password = SHA2('newpassword', 256) WHERE users_name = 'admin';
Dans PostgreSQL, utilisez encode(sha256('newpassword'), 'hex') à la place de SHA2('newpassword', 256). Si vos tables utilisent un préfixe différent de lime_, modifiez le nom de la table en conséquence. Connectez-vous et modifiez immédiatement le mot de passe.
Comment puis-je restaurer les données d'une enquête désactivée ?
Nous vous recommandons de toujours faire expirer un questionnaire plutôt que de le désactiver. Si vous avez désactivé votre questionnaire par erreur, il est important de ne rien modifier dans le questionnaire !
Ensuite, et seulement ensuite, les étapes suivantes fonctionneront :
- Activez à nouveau votre questionnaire.
- Ouvrez les réponses du questionnaire.
- Cliquez sur Importer et sélectionnez « Importer les réponses à partir d’une table de questionnaire désactivée » (LimeSurvey 6.x) ou « Importer les réponses à partir d'une table de réponses archivée » (LimeSurvey 7.x).
- Choisissez votre table source.
- Cliquez sur le bouton « Importer ».
J'ai supprimé une question/un groupe de questions/une enquête !
Si vous le supprimez, il disparaît. Seule une sauvegarde peut vous aider à le récupérer.
Exigences matérielles et logicielles
Pour connaître les exigences générales, consultez nos instructions d’installation.
Quelles sont les limites de LimeSurvey...
...concernant la vitesse
LimeSurvey n’impose aucune limite de vitesse. Tout dépend de la rapidité de votre serveur et de sa connexion. Si vous attendez de nombreux participants en peu de temps et que vous n’êtes pas certain que votre serveur puisse le supporter, recherchez des sujets similaires sur notre forum, utilisez LimeSurvey Cloud ou contactez un partenaire LimeSurvey agréé.
... concernant la taille de l'enquête
La « taille du questionnaire » correspond au nombre de questions (et de réponses) de votre questionnaire – ne la confondez pas avec le nombre de réponses à votre questionnaire (il n’y a aucune limite à ce sujet). LimeSurvey lui-même n’impose aucune limite au nombre de questions ou de réponses, mais la base de données que vous utilisez en comporte plusieurs. Les plus importantes sont le nombre maximal de colonnes dans la table des réponses et la taille maximale d’une ligne.
MySQL et MariaDB
Par défaut, LimeSurvey crée ses tables avec le moteur de stockage MyISAM. Vous pouvez choisir InnoDB à la place lors de l’installation.
- MyISAM : une ligne peut contenir au maximum 65 535 octets. Avec le jeu de caractères utf8mb4 utilisé par LimeSurvey, un caractère peut nécessiter jusqu’à quatre octets ; une ligne peut donc ne contenir que 16 383 caractères. C’est généralement la première limite atteinte.
- InnoDB : une table peut contenir au maximum 1 017 colonnes.
Pour plus de détails, consultez la documentation MySQL.
Vous pouvez calculer approximativement la taille de votre enquête comme ceci :
- Chaque question numérique multiple : 20 caractères pour chaque réponse
- Chaque réponse à une question à choix multiple et matricielle : 5 caractères pour chaque réponse
- Tout autre type de question: 5 caractères
- Ajoutez 10% pour les frais généraux habituels
Microsoft SQL Server
Microsoft SQL Server autorise jusqu’à 1 024 colonnes par table et 8 060 octets par ligne (voir la documentation de Microsoft). Même si votre questionnaire peut être activé, les participants peuvent ne pas pouvoir soumettre leurs réponses si celles-ci contiennent beaucoup de texte.
La limite de 8 060 octets peut également provoquer des erreurs après l’activation lorsque vous parcourez ou exportez les réponses. Exportez les codes de réponses plutôt que les textes des réponses, ou exportez seulement certaines colonnes.
PostgreSQL
PostgreSQL autorise de 250 à 1 600 colonnes par table, selon les types de colonnes (voir la documentation de PostgreSQL). Lorsque vous exportez les réponses, vous pouvez obtenir une erreur SQLSTATE[54000]. Dans ce cas, exportez seulement certaines colonnes. Consultez ce message du forum.
Comment augmenter le nombre maximum de colonnes dans PostgreSQL
Si votre questionnaire contient trop de questions, vous pouvez compiler PostgreSQL avec une taille de bloc plus grande, par exemple 32 Ko (option de configuration --with-blocksize=32), afin de faire tenir plus de colonnes dans une ligne. Une base de données créée avec une taille de bloc ne peut pas être utilisée par un serveur PostgreSQL compilé avec une autre taille ; faites donc cette modification avant de créer la base de données de LimeSurvey.
Pour des instructions détaillées, consultez Instructions pour augmenter le nombre maximal de colonnes dans PostgreSQL sous Linux.
Erreur fatale : taille de mémoire autorisée
En fonction de la configuration de votre serveur, vous pourriez rencontrer des problèmes de mémoire signalés par une erreur du type "Erreur fatale : taille de mémoire autorisée de 8388608 octets épuisée (tentative d'allouer 233472 octets) dans /path/to/htdocs/limesurvey/filename.php sur la ligne 7296".
LimeSurvey définit sa propre limite de mémoire, qui est de 256 Mo par défaut. Vous pouvez l’augmenter en ajoutant le paramètre facultatif memory_limit au fichier de configuration de LimeSurvey.
Gardez à l’esprit qu’une limite plus élevée définie dans la configuration PHP de votre serveur est prioritaire. Pour augmenter la limite de mémoire PHP de votre serveur à 512 Mo, ajoutez :
memory_limit = 512Mdans le fichier php.ini principal de votre serveur (recommandé, si vous y avez accès)php_value memory_limit 512Mdans le fichier .htaccess situé dans le dossier racine de LimeSurvey (uniquement si PHP s’exécute en tant que module Apache)memory_limit = 512Mdans un fichier php.ini ou .user.ini situé dans le dossier racine de LimeSurvey (avec certaines configurations d’hébergement)
Configuration spécifique
Dans certaines circonstances, vous devez mettre à jour la configuration de LimeSurvey dans application/config/config.php.
Deux instances de LimeSurvey sur le même domaine
Vous pouvez exécuter plusieurs instances de LimeSurvey sur le même domaine, par exemple example.org/ls1 et example.org/ls2. Chaque instance a besoin de son propre nom de cookie de session, défini avec sessionName dans la section session du fichier application/config/config.php. Le programme d'installation définit un nom aléatoire : une nouvelle installation ne nécessite donc aucune modification.
Si vous avez copié le fichier config.php d'une instance vers une autre, ou si votre fichier config.php provient d'une version antérieure à LimeSurvey 4.0, vérifiez que chaque instance possède sa propre valeur. Sinon, la connexion à une instance vous déconnecte de l'autre. Ajoutez ou modifiez la ligne sessionName dans la section session existante, par exemple dans le fichier de configuration de ls1 :
'session' => array (
'sessionName' => 'LS-ABCDEFGHIJKLMNOP',
),
Utilisez une valeur aléatoire différente dans le fichier de configuration de ls2. Voir aussi les paramètres de session.