Sommaire
Présentation
Pour afficher dans un article la question n°X avec Y proposiotions, la balise à insérer dans le texte est donc <qcm_une_question_completeX|nom_fichier=nomdufichier.csv|nb_propositions=Y>
.
Rappel : attention, la première ligne est réservée aux éventuels titres des colonnes et porte le numéro 0 (zéro). Il ne faut donc pas utiliser le numéro 0 pour afficher une question et ses propositions. Si les questions sont rangées dans l’ordre croissant de leur numéro, sans doublon et sans numéro manquant (comme un index), les numéros de ligne correspondent évidemment aux numéros de questions contenues dans la première colonne du fichier csv csv Comma-separated values : c’est un format ouvert de fichier texte présentant un tableau dans lequel les données sont séparées par des virgules (comma). .
L’affichage présente, dans cet ordre : la question, la réponse attendue, les propositions qui seront prises en compte en fonction du nombre de propositions demandées, le n° du cours (s’il existe) avec un lien vers l’article du cours (s’il existe).
Le codage
<!-- DEBUT qcm_une_question_complete -->
[(#REM) Ce modèle affiche la question (colonne n°1)
dont le n° de ligne est passé en paramètre,
question à laquelle sont joints
le n° d'enregistrement de la question (colonne 0) ,
la bonne réponse (colonne 2),
les propositions (colonnes 3 à 7),
le n° du cours (colonne 8) ,
le lien vers l'article (la colonne 9 contenant le n° de l'article sur ce site).
]
[(#REM) modèle utilisable <qcm_une_question_completeX|nom_fichier=nomdufichier|nb_propositions=nombrepropositions> ]
#SET{source,#ENV{nom_fichier}}
#SET{numligne,#ENV{id}}
#SET{nb_propositions,#ENV{nb_propositions}}
<BOUCLE_csv(DATA){si #GET{numligne}|>{0}}{source csv, #CHEMIN{csv/#GET{source}}}{cle=#GET{numligne}}>
[(#REM) Afichage de la question]
Question n° #VALEUR{0} : <strong>#VALEUR{1}</strong><br />
<br />
[(#REM) Affichage de la réponse attendue]
#PUCE #VALEUR{2} (la réponse attendue)<br />
[#PUCE (#REM) Les propositions ne sont affichées que si elles existent.]
[#PUCE (#GET{nb_propositions}|>{1}|?{#VALEUR{3}<br />,""})]
[#PUCE (#GET{nb_propositions}|>{2}|?{#VALEUR{4}<br />,""})]
[#PUCE (#GET{nb_propositions}|>{3}|?{#VALEUR{5}<br />,""})]
[#PUCE (#GET{nb_propositions}|>{4}|?{#VALEUR{6}<br />,""})]
[#PUCE (#GET{nb_propositions}|>{5}|?{#VALEUR{7}<br />,""})]
<br />
[(#VALEUR{8}|oui)
Cours n°#VALEUR{8}
[ : (#VALEUR{9}|oui)
<a href="#URL_ARTICLE{#VALEUR{9}}">#INFO_TITRE{article,#VALEUR{9}}</a>
]
<br />
]
</BOUCLE_csv>
[(#REM) Inutilisé]
</B_csv>
<BOUCLE_csvzero(CONDITION){si #GET{numligne}|=={0}}>
<img src="#CHEMIN{images/attention.jpg}" alt="Attention !" />
La Première ligne du tableau contient probablement les titres des colonnes du tableau et ses contenus ne constituent donc pas la question et les propositions de réponse.<br />
</BOUCLE_csvzero>
<img src="#CHEMIN{images/attention.jpg}" alt="Attention !" />
Il n'y a pas de question portant ce numéro !
<//B_csv>
<!-- FIN qcm_une_question_complete -->
Exemples et cas particuliers
Utilisation normale (exemple 1)
Appel de la question n°1 du QCM
QCM
Questionnaire à Choix Multiple
de démonstration avec 6 propositions : qcm_une_question_complete1|nom_fichier=qcmdemo.csv|nb_propositions=6>






Cours n°1 : QCM, un projet tout Spip
Utilisation du nombre de propositions (exemple 2)
Appel de la question n°1 du QCM
QCM
Questionnaire à Choix Multiple
de démonstration avec 2 propositions : qcm_une_question_complete1|nom_fichier=qcmdemo.csv|nb_propositions=2>


Cours n°1 : QCM, un projet tout Spip
Appel de la ligne n° 0 (zéro)
Attention, la première ligne du tableau csv
csv
Comma-separated values : c’est un format ouvert de fichier texte présentant un tableau dans lequel les données sont séparées par des virgules (comma).
est neutralisée parce que contenant probablement les noms des colonnes. Voici ce qu’on obtient en l’appelant avec la balise <qcm_une_question_complete0|nom_fichier=qcmdemo.csv|nb_propositions=6>
:


Appel d’une ligne inexistante
Si la ligne demandée n’existe pas dans le fichier csv
csv
Comma-separated values : c’est un format ouvert de fichier texte présentant un tableau dans lequel les données sont séparées par des virgules (comma).
(id supérieur au nombre de lignes du fichier csv
csv
Comma-separated values : c’est un format ouvert de fichier texte présentant un tableau dans lequel les données sont séparées par des virgules (comma).
), le message un message est affiché comme dans l’exemple ci-dessous qui appelle la ligne n°101 alors qu’il n’y a que 100 questions. Balise utilisée : <qcm_une_question_complete101|nom_fichier=qcmdemo.csv|nb_propositions=6>

Utilité du modèle
- Afficher une question du QCM QCM Questionnaire à Choix Multiple et les propositions adjointes afin de vérifier le contenu du fichier.
- Insérer le contenu d’une question et des propositions dans un article.
Ne pas avoir à reprendre l’article si la formulation de la question ou des propositions changent est bien pratique avec cet affichage qui s’adapte automatiquement.