Technologie de l'information et de la communication
Un peu geek mais surtout un dinosaure, de ceux qui ont soudé les composants de leur première machine, flashé la mémoire et publié dans Hebdogiciel.
La citation du jour
J'adore la liberté; j'abhorre la gêne, la peine, l'assujettissement. Tant que dure l'argent que j'ai dans ma bourse, il assure mon indépendance.  (Jean-Jacques Rousseau )
La réflexion du jour
Grimper l'échelle sociale n'est pas une escalade passionnante même si c'est celle des ambitieux ; il vaut mieux être soi-même.
Activités
bénévole - geek - cycliste (cyclotouriste) - généalogiste - photographe - collectionneur - écrivain - enseignant - Diverses informations
Les mots clés
doc TIC * courriels * réseaux sociaux * chats * navigateurs * web & internet * informatique * Formation à distance * Chatons * E-learning * Logiciel libre * vidéoconférence * Sécurité * courrielleurs * fil d’informations * messagerie instantanée
Lorand

Site personnel de Roland Bouat. Pour les curieux : Lorand est un anagramme de Roland.

Plugin QCM pour Spip

Afficher une question et ses propositions

Mots clés : SPIP

lundi 18 mai 2020 , par Roland


Si le modèle "qcm_une_question_seule" permet d’afficher une question sélectionnée par son numéro de ligne 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). , ce modèle permet d’afficher une question sélectionnée par son numéro ainsi que les autres données associées : la bonne réponse en première proposition, les cinq autres propositions, le n° du cours correspondant avec le lien vers l’article du site.

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} &nbsp;: <strong>#VALEUR{1}</strong><br />
	<br />
 
	[(#REM) Affichage de la réponse attendue]
	#PUCE #VALEUR{2} &nbsp;(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} &nbsp;
		[ : &nbsp;(#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>

Question n° 1 : Que signifie QCM ?

- Questionnaire à Choix Multiple (la réponse attendue)
- Quand Chercher et maintenir
- Qui Cache et Magnigance
- Québec Cuba Malawi
- Quoi-faire Comment-faire Mal-faire
- Rien : cet acronyme n'existe pas.

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>

Question n° 1 : Que signifie QCM ?

- Questionnaire à Choix Multiple (la réponse attendue)
- Quand Chercher et maintenir

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> :

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.
Attention ! Il n'y a pas de question portant ce numéro !

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>

Attention ! Il n'y a pas de question portant ce numéro !

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.


MAJ : 17/06/2020 - 18/06/2020


Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?

Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.