Actions

L'éditeur de modèles

From LimeSurvey Manual

This page is a translated version of the page Theme editor and the translation is 100% complete.

Présentation

LimeSurvey dispose d'un système avancé de thèmes et de styles offrant aux développeurs un moyen efficace de personnaliser l'apparence de l'enquête. Depuis LS3, le terme "modèles" a été remplacé par le terme "thèmes". Les Thèmes permettent de contrôler le style des pages d'une enquête. Un administrateur d'enquête peut sélectionner un thème par défaut qui sera utilisé pour chaque enquête afin de la personnaliser davantage. Thèmes est livré avec des options qui fournissent à un administrateur sans compétence en codage un moyen simple d'ajouter un logo sur la page d'accueil, de modifier les couleurs d'arrière-plan, de sélectionner une police, etc.


LimeSurvey est livré avec 3 thèmes. Ces thèmes initiaux sont définis par des répertoires situés dans le répertoire "themes/survey/" de l'installation de LimeSurvey. Chaque thème possède son propre répertoire. Au sein du répertoire principal d'un thème vous trouverez un fichier de configuration en XML, et de nombreux répertoires contenant les vues themes (.twig), feuilles de style en cascade (.css), 'scripts, images ('.jpg ou .png), et peut-être d'autres.


Depuis LimeSurvey 2.50, le moteur de thème utilise Bootstrap 3 comme framework CSS. Étant donné que Bootstrap 3 est un framework standard, les développeurs trouveront de nombreuses documentations, tutoriels et fils de discussion à ce sujet sur Internet.


Depuis LimeSurvey 3, le moteur de thème utilise Twig, afin que les développeurs de thèmes puissent modifier la logique du rendu de l'enquête de manière sûre et simple. Twig remplace l'ancien système de mots-clés de remplacement utilisé dans les versions précédentes. La logique utilisée pour générer le HTML des mots-clés est désormais disponible dans les vues du thème.


Extrait du thème Vanilla :

 <div class="{{ aSurveyInfo.class.answercontainer }} col-xs-12" {{ aSurveyInfo.attr.answercontainer }}> 
 {# REMARQUE : Si vous souhaitez personnaliser le rendu des questions, utilisez un thème de question #}!N ! {{ uneQuestion.réponse | brut }}
</div>

Les thèmes, à savoir le code HTML et Twig, ont tendance à définir le positionnement et le type de texte à afficher ainsi que les caractéristiques structurelles similaires de la page. Ils font souvent référence ou incluent d’autres fichiers. La plupart d'entre eux font référence à un fichier CSS (feuilles de style en cascade) commun qui définit le style de police, la couleur, la taille, l'arrière-plan et des paramètres similaires communs à toutes les pages de l'enquête. Les feuilles de style font référence aux paramètres HTML class associés aux différents types d'objets dans le code HTML. Cela permet à la feuille de style de définir comment afficher chacun des nombreux types de texte ou autres objets pouvant apparaître à plusieurs endroits. Il existe des classes uniques pour chaque type de question dans LimeSurvey, ce qui permet un contrôle détaillé de l'apparence de chacune. Les fichiers image, comme les logos ou les constructeurs spéciaux de barre de progression, peuvent également être référencés dans le fichier Thème. Enfin, les mots-clés spéciaux entre accolades sont remplacés par le texte défini dans l'enquête pour chaque langue de traduction correspondante (par exemple, le « Titre de l'enquête » ou le « Texte de la question » pour chaque langue définie).

Si vous créez un nouveau thème personnalisé, pensez à le contribuer à la communauté LimeSurvey et à le mettre à la disposition des autres. Avec votre aide, nous pouvons développer notre référentiel de thèmes, d'enquêtes et d'autres modules complémentaires pour rendre LimeSurvey encore meilleur ! Consultez notre Dépôt de modèles LimeSurvey où vous pouvez partager vos modèles.

Création d'un nouveau thème

Afin de pouvoir créer un nouveau modèle (ou éditer un modèle existant), vous devez disposer de la permission d'édition de modèles dans LimeSurvey, ainsi que des droits adéquats sur le système de fichiers sur le serveur qui héberge votre installation de LimeSurvey.

Note d'avertissement : Si vous changez de thème, vous pourriez également affecter toutes les enquêtes préexistantes de votre installation LimeSurvey. Les thèmes sont une fonctionnalité avancée qui nécessite de l’expérience et des connaissances HTML.

La meilleure façon de créer un nouveau thème consiste à utiliser l'éditeur de thème (voir ci-dessous), qui se trouve sous « Configuration » dans la barre d'outils supérieure. Certains utilisateurs préfèrent travailler directement avec les fichiers de thème afin de pouvoir utiliser leur éditeur de texte préféré au lieu de l'interface Web. Dans ce cas, utilisez toujours l’éditeur de thème pour créer d’abord votre nouveau thème. Cela créera un nouveau thème de base avec tous les fichiers dont vous avez besoin dans le répertoire LimeSurvey_web_root/upload/themes/survey/your_new_template. À partir de là, vous pouvez utiliser votre éditeur de texte pour ajuster manuellement les fichiers modèles.

Remarque sur les autorisations : sur les systèmes Unix/Linux, ces fichiers de thème appartiendront au groupe et à l'utilisateur sur lesquels le serveur Web est exécuté (peut être « www » pour certains systèmes). Assurez-vous donc que vous disposez des autorisations appropriées pour modifier ces fichiers. Lorsque vous les enregistrez, assurez-vous qu'ils ne changent pas de propriétaire ! De cette façon, vous pouvez toujours utiliser l'interface d'édition de thème Web si nécessaire.


Un certain nombre d'éléments « publics » de LimeSurvey peuvent être ajustés par une série de thèmes. La section suivante fournit une très brève explication de ces modèles.

Template:Remarque

L'éditeur de thème LimeSurvey

Éditeur de thème : Configuration > Thèmes> Éditeur de thème L'éditeur de thème est uniquement disponible pour les utilisateurs avec l'autorisation Modèles et pour les superadministrateurs.


  Attention : Un thème qui n'est pas correctement construit peut rendre inutilisable une enquête (qui utilise le modèle correspondant).



L'éditeur de thèmes LimeSurvey vous permet d'éditer le contenu de vos thèmes en ligne. Pour démarrer l'éditeur de thème : cliquez sur Thèmes dans le menu Configuration, puis cliquez sur le bouton Éditeur de thème à côté du thème que vous souhaitez modifier ou étendre.


Le bouton pour accéder à l'éditeur de thème pour le thème Bootswatch


La page de l'éditeur de modèles vous permet de sélectionner le modèle que vous souhaitez modifier/afficher.



Les options suivantes sont disponibles :


  • Créer : Permet de créer un nouveau modèle. Afin de ne pas repartir de zéro, le modèle 'par défaut' est copié.
  • Importer : Permet d'importer un modèle à partir d'un fichier ZIP.
  • Exporter : Vous permet d'exporter le modèle actuel vers un fichier ZIP.
  • Copier : Vous permet de créer un nouveau modèle en copiant celui actuel.
  • Renommer : Vous permet de changer le nom du modèle. Il est généralement utilisé après avoir copié ou importé un modèle.
  • Template : Une liste déroulante qui affiche tous les modèles disponibles qui se trouvent dans votre installation LimeSurvey.
  • Écran : Une liste déroulante qui vous permet de choisir la page d'enquête particulière de ce modèle que vous souhaitez afficher.
  • Retour au panneau d'administration.

Importer/Exporter/Copier un modèle

Lorsque vous exportez un modèle, une archive de fichier ZIP avec tous les fichiers de modèle sera créée (fichiers .pstpl, images, fichiers css, ...). Vous pouvez importer le fichier zip exporté dans une autre installation de LimeSurvey en utilisant la fonction d'importation ou vous pouvez copier manuellement l'archive dans une autre installation de LimeSurvey et l'extraire dans l'modèle correspondant répertoire là.

Cependant, il est préférable d'utiliser les fonctions d'importation/exportation/copie de modèle LimeSurvey dans l'éditeur de modèle.

Structure de la page / Utilisation du modèle

  • La page de bienvenue : startpage.pstpl, bienvenue.pstpl, private.pstpl, navigator.pstpl, endpage.pstpl
  • 'Les pages de questions :' startpage.pstpl, Survey.pstpl, startgroup.pstpl, groupdescription.pstpl, question.pstpl, endgroup.pstpl, endpage.pstpl
  • La page finale : page de démarrage .pstpl, évaluation.pstpl, terminé.pstpl, page de fin.pstpl

Fichiers modèles

Les fichiers modèles suivants sont utilisés pour produire votre enquête publique et doivent exister dans tout nouveau dossier de modèles que vous créez :

  • startpage.pstpl: Produit le début de chaque page HTML. Cela commence au "<head> ", et ne doit pas contenir le "<html> ". Ce "tout début" d'une page HTML standard est écrit par les scripts. Veuillez vous assurer que vos fichiers startpage.pstpl contiennent un<body> étiqueter. Même si de nombreux navigateurs n'exigent pas le strict respect des normes HTML W3, le script LimeSurvey doit trouver une balise pour exécuter certains éléments javascript. Il n'est pas courant de voir de nombreux « mots-clés » utilisés dans le fichier startpage.pstpl. Cependant, vous souhaiterez peut-être mettre le {SURVEYNAME} dans le titre. Le fichier startpage.pstpl peut contenir du code qui se termine par le fichier endpage.pstpl correspondant. Par exemple, vous pouvez démarrer une table dans ce fichier et fermer la table dans le fichier endpage.pstpl. Les fichiers startpage.pstpl et endpage.pstpl entourent toutes les pages possibles utilisées par LimeSurvey.
  • survey.pstpl: Ce modèle est le deuxième utilisé sur la plupart des pages et fournit un espace pour mettre le nom de l'enquête. et description. Ce modèle n'a pas de modèle de « fermeture » correspondant, et par la suite vous devez fermer toutes les balises ouvertes dans ce fichier modèle (c'est-à-dire : ne laissez pas de table ouverte ici car il n'y a nulle part où la fermer).
  • ' welcome.pstpl:' Ce modèle n'est utilisé que dans l'écran d'accueil (qui se trouve également sur la page principale pour les enquêtes « tout-en-un »). Vous pouvez l'utiliser pour imprimer le texte de bienvenue et d'autres informations qui doivent être fournies dans l'introduction. Comme le fichier 'survey.pstpl', il n'y a pas de modèle de 'fermeture' correspondant, donc toutes les balises ouvertes dans ce fichier modèle doivent également être fermées.
  • startgroup.pstpl: Ce modèle peut fournir un « résumé » pour les questions au sein d'un groupe. Il dispose d'un modèle 'endgroup.pstpl' correspondant qui peut être utilisé pour fermer toutes les balises ouvertes dans ce fichier, afin que vous puissiez ouvrir une table à l'intérieur de celui-ci.
  • groupdescription.pstpl: Ce fichier modèle est utilisé pour afficher une description d'un groupe. Veuillez noter que dans les paramètres de l'enquête (accédez aux « Paramètres de présentation et de navigation » en cliquant sur l'onglet « Présentation ») vous pouvez définir si la description du groupe doit être affichée ou non. Si ce n'est pas le cas, ce fichier n'est pas inclus du tout.
  • question.pstpl: Ce fichier contient les sections de question, de réponse et de texte d'aide de votre enquête. Dans les enquêtes « groupe par groupe » et « tout-en-un », ce modèle est répété de manière répétée avec chaque question. Il n'existe pas de fichier de fermeture correspondant et toutes les balises doivent être fermées.
  • question_start.pstpl: Ce fichier contient les éléments individuels trouvés au début d'une question. Il est inclus dans « question.pstpl » via le mot-clé {QUESTION}. Il est destiné à permettre aux concepteurs de modèles de mieux contrôler la présentation d'une question. Ce modèle se situe en dehors du système de modèles normal et a été remplacé (à partir de LimeSurvey 1.87). Tous les mots-clés de ce modèle sont désormais disponibles directement dans question.pstpl.
  • completed.pstpl: Cette page s'affiche comme page finale lorsque les réponses à l'enquête ont été enregistrées et que l'enquête est terminée. Il peut être utilisé pour afficher un "lien de transfert" tel que défini dans la configuration de l'enquête.
  • endgroup.pstpl: Ce fichier ferme le groupe et peut être utilisé pour fermer toutes les balises ouvertes dans le Fichier startgroup.pstpl
  • navigator.pstpl: Ce fichier contient les boutons qui permettent de naviguer dans l'enquête, "suivant", "précédent", "dernier", "soumettre", "enregistrer jusqu'à présent". et le lien "Tout effacer". Il est utilisé dans toutes les pages sauf la page complétée.
  • printanswers.pstpl: Ce fichier contient le wrapper HTML nécessaire à la version imprimée de l'enquête.
  • print_group.pstpl : Ce fichier est le même que startgroup.pstpl et endgroup.pstpl, mais pour la version imprimée de l'enquête.
  • print_question.pstpl: Ce fichier est le même que question.pstpl , mais pour la version imprimée de l'enquête.
  • print_survey.pstpl: Ce fichier est le même que Survey.pstpl, mais pour la version imprimée de l'enquête.

CSS et Javascript

Deux fichiers qui sont toujours utilisés dans un modèle sont template.css (pour CSS) et template.js (pour Javascript).

  • {TEMPLATECSS}: Ajoutez des lignes pour le CSS par défaut, template.css, et template-rtl.css pour le langage rtl.
  • {TEMPLATEJS}: Ajoutez des lignes pour les fichiers javascript par défaut, template.js et tous les fichiers js nécessaires pour LimeSurvey.

Utilisation de Bootstrap

LimeSurvey intègre Bootstrap 3, vous pouvez donc styliser tous vos modèles avec les classes Bootstrap bien documentées. Pour plus d'informations, veuillez vous référer au Bootstrap Documentation.

Le plugin Awesome-Bootstrap-Checkbox est également inclus. Avec lui, vous pouvez utiliser les classes de couleurs Bootstrap typiques (informations, avertissement, danger, etc.) également avec le suffixe "-checkbox" ou "-radio", tout en stylisant les cases à cocher et les radios comme vous préférez.

Remplacement du CSS ou du Javascript par défaut

Certaines questions utilisent des fichiers spécifiques pour Javascript ou CSS. Si vous devez remplacer une fonction, utilisez un système en cascade. Pour la fonction javascript, la dernière fonction lue est la fonction utilisée.

Autres fichiers de modèles

Les fichiers privacy.pstpl, invitationemail.pstpl, reminderemail.pstpl et confirmationemail.pstpl ne sont plus utilisés par LimeSurvey et les valeurs par défaut sont à la place, défini dans les fichiers de langue applicables. Les messages électroniques peuvent désormais être modifiés enquête par enquête.

Pages standards

Il existe dix pages standard qu'un participant à l'enquête peut voir au cours de l'utilisation ou de l'accès à l'application LimeSurvey. Chacun est construit à partir d'un certain nombre de fichiers Modèle communs issus du Modèle spécifié dans les paramètres de l'enquête. Le tableau ci-dessous indique quels fichiers modèles sont utilisés dans la construction de chacune de ces pages.

Pages d'enquête/
Fichiers modèles
Enquête
Liste
Bienvenue Question Terminé Tout effacer S'inscrire Charger Enregistrer Imprimer
Réponses
Imprimer
Enquête
SurveyList Fichier:check.gif
Bienvenue Fichier:check.gif
Confidentialité Fichier:check.gif
Navigateur Fichier:check.gif Fichier:check.gif
Enquête Fichier:check.gif Fichier:check.gif
StartGroup Fichier:check.gif
GroupDescription Fichier:check.gif
Question * Fichier:check.gif
EndGroup Fichier:check.gif
Évaluation Fichier:check.gif
Terminé Fichier:check.gif
EffacerTout Fichier:check.gif
S'inscrire Fichier:check.gif
Charger Fichier:check.gif
Enregistrer Fichier:check.gif
ImprimerRéponses
Imprimer l'enquête
Groupe d'impression Fichier:check.gif
Imprimer la question Fichier:check.gif
Page de démarrage
Page de fin
Modèle.css
Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif Fichier:check.gif

* REMARQUE : Dans la version 1.90+, cela remplace question.pstpl ET question_start.pstpl. Si vous utilisez un ancien modèle personnalisé, vous devez ajouter la ligne suivante au début de question.pstpl :

<div {QUESTION_ESSENTIALS} class="{QUESTION_CLASS}{QUESTION_MAN_CLASS}{QUESTION_INPUT_ERROR_CLASS}">

Et puis ajoutez la balise de fermeture correspondante à la fin de question.pstpl :

</div>

* REMARQUE : Dans les versions 1.91 et antérieures, les fichiers LimeSurvey js ne sont pas inclus dans le modèle. Dans la version 2, vous devez utiliser {TEMPLATEJS} dans l'un de vos fichiers modèles pour ajouter le lien vers le fichier js. Vous pouvez l'ajouter dans startpage.pstpl ou dans endpage.pstpl. Vous pouvez supprimer la ligne {TEMPLATEURL}/template.js et vous devez la remplacer par {TEMPLATEJS} pour mettre à jour un modèle personnel.

La section de contrôle des fichiers

Dans la fenêtre "Contrôle des fichiers" à gauche, vous pouvez cliquer sur l'un des fichiers modèles utilisés pour compiler la page. Vous pouvez voir la « Partie écran », les fichiers JavaScript et CSS. Le code HTML de ce fichier apparaîtra alors dans la fenêtre « Modification en cours » au centre. Si le modèle est modifiable (déterminé par les autorisations du répertoire), vous pouvez alors apporter des modifications et les enregistrer.


La fenêtre "Autres fichiers" affiche une liste de tous les autres fichiers du répertoire de modèles. Vous pouvez utiliser le côté droit pour télécharger et sélectionner des fichiers image (vos photos, logos,...) ou d'autres fichiers nécessaires à la création de votre modèle.


Au lieu d'utiliser un lien pour chaque image, utilisez la chaîne de champ {TEMPLATEURL}. Donc au lieu de :

img src='/limesurvey/templates/yourtemplate/files/mypicture.jpg'

Vous pouvez utiliser (New in 2.50 ):

 img src='{TEMPLATEURL}fichiers/monimage.jpg'

Dans les versions de LimeSurvey antérieures à 2.50, utilisez :

 img src='{TEMPLATEURL}monimage.jpg'

Un « échantillon » du modèle de page que vous modifiez sera visible en bas de l'écran. Il n'existe aucun moyen de supprimer un modèle de l'éditeur de modèles. Cela doit être fait en accédant au répertoire sous-jacent et en supprimant manuellement les fichiers à partir de là. Vous avez également la possibilité de sélectionner différentes résolutions d'écran afin de mieux évaluer la convivialité et l'apparence du modèle.

Remarque : Les modèles livrés ne peuvent pas être modifiés à l'aide de l'éditeur de modèles. Si vous souhaitez les modifier, créez d'abord une copie et modifiez la copie.

Emplacement des fichiers modèles

LimeSurvey stocke chacun des modèles « standard » dans son propre sous-répertoire distinct au sein du répertoire « /templates » qui est conservé dans le répertoire public avec les autres fichiers publics LimeSurvey. Les modèles utilisateur personnalisés sont stockés dans le répertoire /upload/templates.

Il devrait TOUJOURS y avoir un répertoire "par défaut" dans le répertoire des modèles. Ce modèle est utilisé par défaut et comme solution de secours si un dossier de modèles n'existe pas ou est introuvable. Il est installé par défaut.

Vous pouvez utiliser n'importe quel fichier image que vous téléchargez dans la zone de gestion des modèles à l'aide de cette syntaxe :

{TEMPLATEURL}nomfichier.xyz

Questions de style avec CSS

Le style des questions en CSS est devenu beaucoup plus simple. Chaque type de question possède désormais une classe unique. Les questions obligatoires ont une classe obligatoire supplémentaire. Par exemple, pour une question non obligatoire :

<div id="question5" class="gender">
...
</div>

et si la question est obligatoire :

<div id="question5" class="gender mandatory">
...
</div>

et si la question est obligatoire, mais que l'utilisateur n'y a pas répondu ou s'il y a validation sur une question :

<div id="question5" class="gender mandatory input-error">
...
</div>

et si la question a une validation appliquée, mais que l'utilisateur n'a pas répondu correctement :

<div id="question6" class="text-short input-error">
...
</div>

Classes globales pour la partie question

Ces classes sont utilisées pour chaque type de question. Certains types de questions n’utilisent qu’une ou deux classes, tandis que d’autres peuvent en utiliser beaucoup plus.

Classes globales
Nom de la classe Partie Type de question Exemples Remarque
.question (Obsolete since 3.0) Tous les blocs de questions Toutes les questions sont de type 

,

    ,
    .ls-answers (New in 3.0 ) Tous les blocs de questions Toutes les questions sont de type 
    ,
      ,
      .subquestions-list Liste des sous-questions Question à choix multiples, type de question matricielle 
        ,
        .questions-list est également utilisé
        .liste-de-réponses Liste des réponses Question à choix unique, type de question matricielle, question de texte à entrées multiples 
          ,
          .élément de réponse La partie réponse : une réponse  Question à choix unique, type de question matricielle, question de texte à entrées multiples 
        • ,
        • .noanswer-item La partie réponse pour non-réponse  Question à choix unique, type de question matricielle 
        • ,
        • Aucune réponse n'est également une réponse, alors ayez une double classe noanswer-item et Answer-item
          .question-item La partie question : une question  Question multi-texte, type de question matricielle 
        • ,
        • Certaines réponses sont aussi des questions. Ensuite, nous avons beaucoup de class="question-itemanswer-item"
          .liste-de-boutons Une liste de boutons Oui non et question genre
          .bouton-article La partie réponse avec un bouton Oui non et question genre
        • .checkbox-list Une liste de cases à cocher  Question à choix multiples, type de question à numéro de tableau (case à cocher)
            ,
          Certains types de questions utilisent une classe multi-liste, comme une case à cocher avec commentaire : class="checkbox-list text-list"
          .checkbox-array (New in 3.0 ) Un tableau de cases à cocher Tableau (nombres) avec option de case à cocher 
          .checkbox-item La partie réponse avec une case à cocher  Question à choix multiples, type de question à numéro de tableau (case à cocher)
        • ,
        • .radio-list Une liste d'éléments radio  Question à choix unique, type de question matricielle (chaque ligne)
            ,
          .radio-array (New in 3.0 ) Une gamme d'articles radio Type de question tableau
          .radio-item La partie réponse avec une radio Question à choix unique, type de question matricielle 
        • ,
        • .text-list Une liste de saisie de texte  Type de question multi-texte, tableau de texte 
            ,
          .text-item La partie réponse d'une saisie de texte Type de question multi-texte, tableau de texte 
        • ,
        • .liste-numérique Une liste de saisie de texte avec une réponse numérique uniquement  Type de question multinumérique, tableau de nombres 
            ,
          .liste-numéros Une liste de saisie de texte avec une réponse numérique uniquement (chaque ligne) Type de question multinumérique, tableau de nombres 
            ,
          .number-array (New in 3.0 ) La partie réponse d'une entrée numérique Tableau de nombres
          .select-list (Obsolete since 2.50) Une liste de select Numéros de tableau, tableau à double échelle (sélectionner)
          .dropdown-list (New in 2.50 ) Une liste de select Numéros de tableau, tableau à double échelle (sélectionner) (chaque ligne)