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
Il suffit d'un arbre pour faire un million d'allumettes et une seule allumette pour brûler un million d'arbres.  (? )
La réflexion du jour
Suivre la mode c'est surtout tenter, par un simple signal d'appartenance, de s'intégrer dans une société.
Activités
geek - cycliste - généalogiste - Savoir - lecteur - collectionneur - Philosophe - citoyen - marcheur - scripteur - Photographe - instituteur - enseignant en sciences - enseignant formateur - journaliste local - bénévole
Les mots clés
doc TIC * SPIP * Wikipedia * web & internet * Php * OVH * informatique * Sql * Wamp * Qwant * Firefox * LibreOffice * Thunderbird * FOAD * Buttercup * Mastodon * PeerTube * Chatons * OpenStreetMap * IrfanView * E-learning * Logiciel libre
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 : geek , SPIP , enseignant formateur , FOAD

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  , 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  .

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   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   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   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   (id supérieur au nombre de lignes du fichier csv  ), 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   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.

Brèves
19 octobre – Correction des erreurs d’encodage terminée...

... peut-être !
La probabilité que l’encodage se soit emmêlé les pinceaux vient probablement d’une mise à jour de l’ensemble php/Mysql mais également, (...)

1er juin – Les "bizarreries" continuent...

Déjà un mois que je me bagarre avec elles ! Le progrès principal est la probable identification. Il s’agit des mises à jour Apache, MySql, PHP, qui (...)

1er mai – Bizarrerie sur mon site

Depuis que le site a été restauré, il semblerait qu’il y ait eu un bug lors de la restauration, bug ne concernant que certaines informations (dont, (...)