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
Je n'aurais jamais cru être capable d'une si grande solitude.  (Jean Racine )
La réflexion du jour
Inconsciement, nos souvenirs des événements passés sont affectés par notre subjectivité. La réalité dont nous nous souvenons n'est donc pratiquement jamais la réalité objective.
Activités
geek - cycliste - généalogiste - collectionneur - citoyen - marcheur - scripteur - Photographe - instituteur - enseignant en sciences - formateur - journaliste local - bénévole
Les mots clés
doc TIC * courriels * réseaux sociaux * chats * navigateurs * web & internet * langage Php * hébergeur OVH * informatique * Formation à distance * Chatons * E-learning * Logiciel libre * GAFAM * 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 : geek , SPIP , formateur , Formation à distance

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 2020 – 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 2020 – 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 2020 – 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, (...)