Des jeux avec des scores

Une fonctionnalité avancée du plugin jeux

Le plugin «Des jeux dans vos articles !» évolue !

Il est désormais possible d’enregistrer les scores des joueurs !

Attention toutefois, car pour le moment c’est encore en cours de test. Mais cela marche globalement.

Par ailleurs, tout les jeux ne sont pas encore configurés pour enregistrer les résultats. Pour le moment le sont de manière sûre :
-  les mot croisés [1]
-  les QCM
-  les tests à trous

Si vous souhaitez que d’autres jeux puissent enregistrer les résultats, contactez les auteurs du plugin. C’est rapide à faire, mais il faut y songer ;-)

Principe

Pour que les scores d’un joueur soient enregistrés, on a besoin de trois choses :

  1. Le joueur doit être connecté sur le site et identifié en tant qu’administrateur, rédacteur ou visiteur.
  2. Le jeu doit être, non pas inclus directement dans l’article, de la manière décrite dans la documentation principale, mais être créé en tant qu’objet SPIP [2], et intégré au corps de l’article via un modèle.
  3. Le Couteau Suisse doit avoir sa lame “balise #INTRODUCTION” activé afin d’éviter que si la balise #INTRODUCTION est présente dans le squelette, les scores soient affichés en double ...

Les scores

Un score de jeu est composé de trois champs :
-  un premier nombre entier représentant le total des points obtenus par le joueur (champ ’spip_jeux_resultats’ de la table spip_jeux_resultats).
-  un second nombre entier représentant le nombre total des points du jeu (champ ’total’ de la table spip_jeux_resultats).
-  un descriptif plus détaillé pouvant informer sur le déroulement du jeu et les différentes réponses données par le joueur (champ ’resultat_long’ de la table spip_jeux_resultats).

Exemple sur un QCM :

resultat_court resultat_long total
6 Q1:R4:2, Q2:R1:0, Q3:R1:1, Q3:R3:2, T4:terre:1 8

Créer un jeu

Si vous ne comprenez rien à ce charabia, ou si vous voulez voir plus loin, je vous invite à me suivre.

Si vous survolez le menu édition, vous devez avoir ceci :

Cliquez alors sur «Jeux» (logique non ?)

Vous devez alors tomber sur une pages qui ressemble à cela :

Cliquez sur «nouveau jeu», vous devez tomber sur ce formulaire :

Détaillons les champs :
-  «Titre privé» -> Il vous servira à mieux identifier le jeu dans l’espace privé.
-  «Contenu du jeu» -> Ici, vous écrivez votre jeu en respectant la syntaxe décrite dans l’article principal. A noter qu’il n’est pas nécessaire de mettre les balises <jeux> et </jeux>
-  «Enregistrer les résultats ?» -> Comme son titre l’indique, permet de choisir si on enregistre les résultats du jeu.
-  «Résultat unique» -> Depuis la version 1.2 seulement, permet de restreindre à un seul résultat par joueur et par jeu.

Cliquez sur “Valider”

Vous arrivez alors sur la page du jeu. Vous pouvez alors choisir le statut du jeu :
-  en ligne (par défaut)
-  refusé
-  à la poubelle ... attention ! le jeu sera supprimé automatiquement de la base de donnée au bout d’un certain temps...

Insérer le jeu dans un article

Il vous reste alors à insérer le jeu dans un article. Repérez à gauche de la page du jeu son numéro, puis éditez l’article dans lequel vous souhaitez insérer le jeu. Pour insérer, il suffit de d’écrire <jeuNNN> où NNN est le numéro du jeu [3].

Voir les résultats

Maintenant, il s’agit de voir comment gérer les résultats.

Si vous retournez sur la page des jeux, vous devez obtenir une liste des jeux, semblable à celle-ci :

Cliquez sur le résultat du jeu, vous arrivez alors sur quelque chose semblable à cela :

Vous pouvez cliquer sur les titres de colonnes pour choisir le critère de tri.

Par ailleurs, en cliquant sur le nom d’un auteur, vous arrivez sur ses résultats.

Réinitialisation des résultats

Il s’agit là d’une fonction réservée aux administrateurs du site.

On distingue deux choix
-  réinitialiser les résultats d’un jeu/d’un auteur.
-  ne garder que le meilleur résultat par couple auteur/jeu, ce que le plugin appelle “compacter”.

Pour se faire, il faut, une fois que vous êtes sur la page des résultats d’un jeu ou d’un auteur, cliquez à gauche sur le liens “gérer les résultats”. Puis suivez les instructions du formulaire.

Affichage dans l’espace public des jeux et/ou résultats

Deux modèles sont proposés pour afficher les résultats dans l’espace public.

Si vous écrivez dans un article <auteur_resultatsxxx> où xxx est le numéro d’un auteur, vous affichez le résultats de cet auteur. [4]

Si vous écrivez <jeu_resultatsxxx> xxx est le numéro d’un jeu, vous obtiendrez le résultats de ce jeu.

Si votre version de SPIP est au moins supérieure à la 2.00, vous pouvez passer le paramètre “ajax” aux modèles (<auteur_resultatsxxx|ajax> ou <jeu_resultatsxxx|ajax>), ce qui permet de ne recharger que les résultats lorsque l’on clique sur un lien pour changer le critère de tri.

Notez que vous pouvez également vous servir dans un squelette de la balise #MODELE{auteur_resultats}{auteur_resultat=#ID_AUTEUR} dans une boucle AUTEURS pour afficher les résultats de cet auteur. [5]

Page de test

Afin de contrôler vos jeux, le plugin vous offre une page de test : /jeu.html. Si un jeu enregistré en base a pour id XX, alors vous pourrez le crayonner et le tester directement en tapant l’adresse suivante : www.monsite.toto/?page=jeu&id_jeu=XX.

Le plugin Crayon n’est pas du obligatoire pour éditer des jeux enregistrés en base, mais assez pratique !

Configurer le plugin

La page de configuration du plugin est accessible (si le plugin CFG est activé) à l’adresse : ecrire/?exec=cfg&cfg=jeux, Ou en cliquant sur l’un des liens y menant.

Pour le moment, il n’y a qu’un seul réglage : choisir ce que fait le plugin si un auteur a déjà joué à ce jeu.

Il peut :
-  garder le dernier résultat (choix par défaut),
-  garder le meilleur résultat,
-  conserver tous les résultats.

Collaboration avec d’autres plugins

-  Le plugin CFG (optionnel) pour la configuration des résultats et certaines options générales pour les jeux.
-  Le plugin Le Couteau Suisse (optionnel) pour la balise #INTRODUCTION et la gestion des jeux supprimés.
-  Le plugin Corbeille (optionnel) pour la gestion des jeux supprimés.
-  Le plugin Crayon (optionnel) pour éditer des jeux enregistrés en base. Le plugin vous offre une page de test : jeu.html. Si votre jeu a pour id NN, alors vous pourrez le crayonner et le tester directement en tapant l’adresse suivante : www.monsite.toto/?page=jeu&id_jeu=NN.

Liens utiles : Grâce à Olivier Gautier, visitez http://spip.ac-rouen.fr/?article37 afin d’avoir un tutoriel graphique sur : installer le plugin jeux, créer un pendu, créer un QCM ou QRM, créer un texte à trous.

Formulaires CVT

Le commit http://zone.spip.org/trac/spip-zone... introduit la gestion des formulaires CVT (Charger-Vérifier-Traiter) de SPIP afin de permettre à certains jeux d’être facilement corrigés en AJAX.

Le système CVT n’est pas pleinement utilisé car l’enregistrement des scores en base se fait au moment du calcul de la correction du jeu, bien avant l’action Traiter.
L’action Vérifier est aujourd’hui toujours validée, car les jeux ne gèrent pas (encore?) de champ bloquant.

Voici donc pour rappel, les 3 façons pour gérer/afficher un jeu aujourd’hui dans vos articles :
- les jeux inline entre balises <jeux/> et sans score
- les jeux créés en base (avec score), appelés grâce au modèle <jeuXX>
- les jeux créés en base (avec score), corrigés en AJAX grâce au raccourci <formulaire|jeu|XX>

Footnotes

[1Le score est égal ici au nombre total de cases justes

[2ce que j’appelle objet SPIP est par exemple une rubrique, un article ... bref un truc ayant un contenu et sur lequel on peut faire des boucles

[3Pour les techniciens, il s’agit bel et bien d’un modèle SPIP.

[4Là aussi, le clic sur un titre de colonne permet de choisir le critère de tri. Il y a pour le moment une limite technique. En effet, le tri par résultat se fait selon le résultat absolu et non pas le résultat relatif au nombre total de points possibles. Du coup, 8/16 apparaitra mieux classé que 3/4.

[5Cela n’est pas propre au plugin, il s’agit de l’une des fonctionnalités de SPIP.

Discussion

No discussion

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom