Filtre QCM

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Filtre qui permet de générer un QCM à partir d’un article SPIP (utile pour des cours en ligne par exemple)

-  Description : Filtre qui permet de générer un QCM à partir d’un article SPIP (utile pour des cours en ligne par exemple)

-  Mise en place du filtre : Copier le code (code.txt) dans mes_fonctions.php3 à la racine du site et faire appel à la feuille de style (spip_qcm.css) dans la page où est appelé le filtre.

-  Appel du filtre : Le filtre doit recevoir le texte brut de l’article (#TEXTE*) de la manière suivante :
[(#TEXTE*|qcm|propre)]

-  Syntaxe de l’article :
Dans le texte de l’article, le code du qcm doit se trouver entre les balises "<qcm>«  et  »</qcm>".

Entre ces balises la syntaxe est la suivante :

T Titre du qcm

Q Intitulé de la question

P1 Texte de la proposition 1

P2 Texte de la proposition 2

...

Pn Texte de la proposition n

Rn R suivi du numéro de la proposition indique la bonne réponse. Donc si la bonne réponse est la proposition 1 on indiquera « R1 »

On peut mettre plusieurs couples "<qcm>«  et  »</qcm>" dans le même article.

-  Exemple :

<qcm>
T Les noms des constituants cellulaires
Q Quel est le nom impossible à retenir
P1 lysosome
P2 appareil de Golgi
P3 thylakoïde
R3
</qcm>

Ici on peut mettre du texte SPIP avec les racourcis typographiques habituels, puis une deuxième question :

<qcm>
Q Etes vous bon en SVT ?
P1 Oui
P2 Non
R2
</qcm>

Ce filtre a désormais été étendu et intégré dans un plugin : Des jeux dans vos articles !

Discussion

19 discussions

  • bonjour !
    Cette contrib a été changée en plugin compatible SPIP v1.9.2
    Il faudrait réécrire cet article obsolète !

    Répondre à ce message

  • Jolie contrib...
    Le QCM sur le site du bassin d’arcachon est extra. Une question cependant, celà fonctionne avec quelle version de Spip ??

    Merci
    Dany

    Répondre à ce message

  • 1

    Bonjour,

    J’ai un gros problème et je suis archi débutant en programmation. J’utilise Sitenkit, dérivé de spip. Il est parfait pour la prise en main par un débutant mais les noms des fichiers sont différents.

    J’ai fait un copier-coller du contenu de qcm.txt dans mes_fonctions.php3.

    J’ai copier spip_qcm.css à la racine.

    Mais je ne trouve pas le squelette article.html pour remplacer [(#TEXTE)] par [(#TEXTE*|qcm|propre)].
    L’* est-elle indispensable ?

    Si quelqu’un pouvait m’aider, ce serait super car ce filtre, d’après les exemples que j’ai vu est génial.

    • Patrice

      Pascal, vu que tu utilises sitenkit, le corps de l’article est géré par sous_article.html

      sitenkit propose un texte d’article comme suit : (#TEXTE|lettrine|couleur|geoplan)

      à toi de voir comment ajouter les filtres qcm à #TEXTE !

    Répondre à ce message

  • Pour enrichir cette magnifique contrib, remplacer ver la ligne 123

    ça :

    value=\"$j\">";
    	  $codeHTML.=$choix[$i][$j]."<br />";

    par ça :

    value=\"$j\" id=\"$nomVarSelect.$j\"><label for=\"$nomVarSelect.$j\">";
    	  $codeHTML.=$choix[$i][$j]."</label><br />";

    Répondre à ce message

  • 1
    vincent

    Dans le code original, il y a un petit bug, car le script n’est pas exécuté là où on le pense.

    Pour parer à ce bug, il suffit d’appeler la fonction de génération des URLS via la ligne suivante :

    <a href=\"".generer_url_article($GLOBALS['id_article'])."\">

    en lieu et place de

    <a href=\"$PHP_SELF\">
    • Michel Fraisse

      Chez moi le code initial est correct en local avec spip 172.
      Sur un serveur apache et spip 16 rien ne marche.
      Vu lles différence de version de php, la regiter_global_off est peut être dans le coup.

    Répondre à ce message

  • 1

    Bonsoir,

    Quelques suggestions :

    • Supprimer les
      qui sont présents un peu partout dans la page : la feuille de style peut très bien s’en charger.
    • Utiliser la variable de personnalisation $puce au lieu d’écrire puce.gif (qui est présente à la racine dans la distrib officielle mais pas forcément partoutà.
    • Ne pas afficher les points entre parenthèses quand la possibilité de pondérer les questions est désactivée (puisque toutes les questions valent alors 1pt, c’est pas la peine de le répeter à chaque question).

    Sinon, c’est très chouette comme contrib,

    Répondre à ce message

  • Très bien, félicitations pour ce filtre qui fonctionne à merveille.
    3 questions cependant :
    -  est il possible de faire afficher les QCM dans des brèves plutot que des articles ? (ou encore dans un page spécifique QCM distincte des articles) ceci permettrait par exemple de plus avoir l’affichage avec les réponses dans le sommaire avec les derniers articles ;)
    -  comment procéder pour mettre les questions dans une colonne style sondage phpBB2 ?
    -  enfin il existe de nombreuses formes de QCM et les plus utilisés sont ceux où il est possible de cocher plusieurs bonnes réponses de façon aléatoire, comment faut il modifier le fichier php3 pour arriver à cela ?
    Merci d’avance

    Répondre à ce message

  • 7

    Cette possibilité de faire des QCM avec SPIP est effectivement une merveille. D’autant plus que la feuille de style est très réussie. Mais comme cela a été signalé deux fois parmi les posts, la réinitialisation du QCM renvoie à la page d’accueil. Je ne vois pas très bien comment l’empêcher et j’apprécierais toute aide à ce sujet.

    Deuxième problème, un peu plus ennuyeux : quand on utilise BIO_SPIP, à la droite de l’article affiché il y a deux boutons : « imprimer sans.php3 » (pour avoir une impression plus nette) et « envoyer à un ami ». Si l’on affiche une version imprimable du QCM on s’aperçoit alors que le corrigé apparaît avec l’affichage de P1, P2, Pn et Rn (!), lequel indique la bonne réponse ! D’autre part les commentaires éventuels, eux, n’apparaissent pas (cf. les excplications de Christian de La Teste du 28 septembre).

    La solution est très certainement un filtre à partir d’un mot clé comme « QCM » pour empêcher l’affichage de la possibilité d’impression ou une fonction en php dans mes_fonctions.php3. Mais dans l’état actuel des choses, c’est hors de mes possibilités. Qui pourrait m’aider ?

    Jacques

    • Je crois avoir trouvé moi-même : imprimersans.php3 ?id_article=[(#ID_ARTICLE|titre != QCM)]&nom_site=(#NOM_SITE_SPIP&url_site=(#URL_SITE_SPIP

      Ce filtre marche puisqu’il renvoie une page avec « Il n’y a pas d’article à cette adresse ». Il y a sans doute plus élégant mais je ne suis pas peu fier d’avoir écrit mon premier filtre.

      En espérant pouvoir être utile à d’autres

      Jacques

    • Désolé ! J’ai posté trop vite. Ce n’est pas la bonne solution.

    • Marc WAN-AJOUJHU

      La même chose se produit avec le squelette EVA1.0.
      Les différents choix ou commentaires ne s’affichent pas.
      Les réponces apparaissent sous le qcm.
      J’essaye votre solution.

    • Attention ! ma solution n’est pas bonne. Un message d’erreur concernant l’affichage pour impression s’affiche pour tous les articles.

    • La solution se trouve en fait dans le manuel de référence, section 8.1.5 (page 102) dans les .pdf.

      Jacques.

    • Marc WAN-AJOUHU

      J’ai trouvé une solution au problème ennuyeux de l’affichage des réponses du qcm.
      Dans le corps de l’article du qcm, dès sa conception, j’ai utilisé du code html comme si on écrivait une page web.
      Cela me permet :
      -  de rendre invisible les réponses en utilisant un style ccs
      -  d’utliser différentes couleurs
      -  d’utiliser des symboles mathématiques tels que Pi, racine carrée etc.
      J’ai mis en téléchargement sur mon site le code du qcm que vous pourrez également tester.

      Cordialement...

    • C’est bien gentil la doc PDF, page 102, mais lorsque je décharge la doc de reference en PDF, elle n’a que 55 pages...
      J’ai le problème de l’affichage des solutions, j’aimerais le résoudre, alors la solution se trouve ou ????

    Répondre à ce message

  • 3

    Heu... Serait-ce possible d’expliquer ce qu’est un QCM ou encore faire un lien vers une page qui le fait ? J’ai aucune idée de ce que c’est... :P

    • c’est un Questionnaire à Choix Multiple

      Je viens d’en mettre un sur mon site.

      Va voir

      Pierre

    • celui là marche bien

    • Serait-il possible d’expliquer la signification de « QCM » dans le titre ou la description de l’article ? Parce que sinon, c’est pas très évident du premier coup d’oeil à quoi peut bien servir ce filtre et le message explicatif est maintenant bien loin dans le forum... :P

    Répondre à ce message

  • 1

    Je crois pourtant avoir bien fait la manip, mais lorque j’exécute ma page, j’ai le message suivant :

    Erreur : filtre « qcm » non défini

    Quelqu’un peut-il m’aider ? car je trouve ce filtre intéressant et compte bien l’installer sur mon site.

    • il faut copier le code dans un fichier mes_fonctions.php3 à mettre par ftp à la racine de votre site.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

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

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom