Est la base des autres types de questions
div.qr-question[id][data-valeur][data-poids][data-proprietes]>(header>p>lorem5)+div.qr-body
[data-solution]
est nécessaire pour afficher les coches.div.qr-question-choix[id][data-valeur][data-poids][data-alea=true]>(header>p>lorem5)+div.qr-body>div[data-solution=f]>lorem5
Permet de mettre des sous-questions
div.qr-question-complexe[id][data-valeur][data-poids]>(header>p>lorem5)+div.qr-body>(div>(p>lorem5)+div.qr-reponses>(div>span.qr-solution>lorem2)+(div[data-solution=solution]))*2
à faire
Série de questions courtes disposées sur une ligne.
div.qr-question-courtes[id][data-valeur][data-poids][data-largeur][data-largeur-enonce][data-inverse][data-alea=true]>(header>p>lorem5)+div.qr-body>(div[data-solution]>lorem5)*5
div.qr-question-match[id][data-valeur][data-poids][data-largeur]>(header>p>lorem5)+div.qr-body>div*5>(div>lorem3)+(div>lorem3)
div.qr-question-quisuisje[id][data-valeur][data-poids][data-proprietes]>(header>p>lorem5)+div.qr-body>(div[data-solution="lorem"]>lorem5)*5
div.qr-question-trous[id][data-valeur][data-poids][data-proprietes]>(header>p>lorem5)+div.qr-body>(p>lorem3+(span.qr-trou>lorem2)+lorem3)*3
div.qr-question-vraifaux[id][data-valeur][data-poids][data-proprietes]>(header>p>lorem5)+div.qr-body>(div[data-solution="vf"]>lorem5)*5
.qr-question
Identifie la balise contenant une question..qr-body
La zone contenant le corps de la question. Exclue habituellement l'énoncé.
.off
Identifie une question désactivée.S'applique à une question
[data-proprietes]
[data-pointage]
Pour l'affichage de la valeur finale d'une question.
Est ajouté automatiquement.
[data-pts] appliqué à l'intérieur du body
La propriété version
(accessible par l'adresse) permet de mélanger les questions autrement (change le seed de base).
Si la version
contient un pipe |
, la portion de gauche sera le seed et la portion de droite sera affichée.
L'affichage se place dans la propriété version_label
*Utilisation de data-...
pour modifier une propriété de la question : format = data-ma-prop="abc"
pour la propritété this.maProp
. ATTENTION: Il n'y a pas de validation de l'inocuité de la propriété.
Utilisation de data-proprietes
: a priorité sur les data spécifiques. format = "maProp1=abc&maProp2=123
". ATTENTION: Il n'y a pas de validation de l'inocuité de la propriété.
Ajouter l'attribut data-pts
à une balise. La valeur de l'attribut se retrouvera dans la puce rouge. On peut évidemment ajouter un span vide à cet effet.
Dans un attribut data-solution
, ajouter des doubles crochets avec la valeur à l'intérieur. Ex.: [[2]]
data-valeur
data-valeur="n"
pour la valeur de la question au complet
data-valeur="n#"
pour la valeur des sous-questions. (sera multiplié par le nombre de sous-questions)
data-poids="n"
est un multiplicateur qui permet de pondérer ou de modérer une question.
Les balises style
placées au début d'une question s'appliqueront à cette question uniquement. Il est important de donner un id
à la question afin de bien viser celle-ci.
Pour viser la balise de la question, on utilise le (faux) nom de balise "ici" sélecteur #question
On peut ajouter l'attribut data-contexte
pour donner un contexte plus global aux règles.
Les règles ci-dessus vont s'appliquer lors de l'impression de la version pas "solutionnaire".
Les règles ci-dessus vont s'appliquer lors de l'affichage de la version "eleve".
La feuille de style ci-dessus résume les 2 précédentes.
data-var: Permet de modifier aléatoirement des éléments (mots) d'un bloc. syntaxe: data-var="[A|B]|[Y|Z]". Dans le code de la question, on doit mettre des marqueurs de variable. {{0}} recevra le A ou le Y et {{1}} recevra le B ou le Z. Les séries de variables sont coordonnées
On peut mettre le HTML d'un iframe directement dans celui-ci pour créer une mise en forme spéciale au lieu d'utiliser un fichier séparé. Le contenu du iframe sera placé par programmation dans le src sous forme de data.
Lorsqu'un élément complexe revient plusieurs fois dans la page, on peut le cloner à l'aide de l'attribut data-clone
avec come valeur le id
d'un élément dans un div
vide.
Exemple : <div data-clone="tableauABC"></div>
À modifier : ajouter le # pour indiquer que c'est le id et éventuellement permettre des sélecteurs plus complexes
À faire