SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

49 visiteurs en ce moment

[9 commentaires]

Des jeux avec des scores

Une fonctionnalité avancée du plugin jeux

mercredi 11 juin 2008, par Maïeul

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati

Le plugin jeux é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
- test à trous

Si vous souhaitez que d’autre jeux puissent enregistrer les résultats, contacter 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 besoins de trois choses :

  1. Le joueur doit être connecté sur le site, en tant qu’administrateur, rédacteur ou visiteur.
  2. Le jeu doit être non pas inclut 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 avori sa lame "balise #INTRODUCTION" activé afin d’éviter que si la balise #INTRODUCTION est présent dans le squelette les scores soient affichés en double ...

Créer un jeu

Si vous ne comprenez rien à ce charabia, ou si vous voulez voir plus loins, 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 jeux.
- « Résultat unique » -> Depuis la version 1.2 seulement, permet de ne permettre qu’un résultat par joueur et par jeu.

Cliquer 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 <jeuxxx> où xxx 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é aux administrateur du cirque.

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 appel "compacter".

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

Affichage dans l’espace public des 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 affichez le résultats de ce jeu.

Si votre version de SPIP est supérieure à la 193, 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]

Configurer le plugin

La page de configuration du plugin est accessible [si le plugin cfg est activé) à l’adresse /ecrire/ ?page=exec. (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 pas défaut)
- garder le meilleur résultat
- conserver tout les résultats

Notes

[1] Le score est ici égale au nombre totale de cases justes

[2] ce que j’appel Objet Spip est par exemple une rubrique, un article ... bref un truc sur lequel on peut faire des boucles

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

[4] Là aussi, le clique 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.

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

Retour en haut de la page

9 Messages de forum

Voir toute la discussion

  • Répondre à ce message

    22 septembre 17:06 , par Maïeul

    Pas que je sache ...

    en effet, il n’y a pas d’auteur attribué aux jeux...

    il faudrait éventuellement mettre la main dans le cambouis du php (ce que je ferais pas) pour
    - créer une table jeux_auteur et l’interface qui va avec
    - créer une fonction autoriser_jeu_editer qui renvoi la bonne chose si c’est le bon auteur qui tente d’éditer le jeux et l’applique rau bon endroit (cherherche la doc sur autoriser.php)

    bref, le genre de chose assez compliqué...

    il me semble plus simple de basé sur la confiance ...

  • Répondre à ce message

    22 septembre 16:49

    J’ai installé ce plugin et tout fonctionne tres bien.

    Mais je vien de me rendre compte que mes redacteurs peuvent voir les jeux dans l’espace prive et donc avoir les reponses aux QCMs.

    Y a t’il possibilité de cacher par un acces restreint ou autres moyens l’icone des jeux ?

    Merci d’avance.

    cordialmeent.

  • Répondre à ce message

    19 septembre 22:34 , par Maïeul

    je viens de faire un commit qui devrai régler le souci ... il faudrat juste attendre la création d’un nouveau paquet sur la zone (environ une demi jeure)

  • Répondre à ce message

    19 septembre 10:22 , par kik

    super fonctionnement, j’ai tester tout les jeux et c’est impeccable sauf le jeu à trous qui ne m’affiche rien ?

    j’ai betement copier l’exemple de l’article dans le formulaire prevu a cet effet et je n’ai pas d’affichage contrairement aux autres jeux.

    Cordialement.

  • Répondre à ce message

    19 septembre 08:38 , par quincailler
  • Répondre à ce message

    19 septembre 08:37 , par quincailler

    Bonjour à tous,

    Ca marche impeccable, seul hic au tableau, je n’arrive pas à gérer la disposition des résultats. En fait lors de la validation du qcm, la colonne de droite du site se retrouve sous les résultats du formulaire...Balise intro activée, et insérée dans l’article, spip 1.9.2d, est ce que quelqu’un aurait une solution ? Merci

  • Répondre à ce message

    12 septembre 14:22 , par Maïeul

    la version 1.2 doit pouvoir désormais le faire ... attention, il est important d’activer la lame du couteau suisse mentionné dans la doc ...

  • Répondre à ce message

    12 septembre 10:22 , par Luc

    Bonjour,

    Je suis très intéressé par ce plugin par contre serait-il envisageable, dans la gestion des résultats, de rajouter un critère qui reviendrait à concerver uniquement le premier résultat. Cela serait utile dans le cas de jeux concours où les personnes ne peuvent jouer qu’une seule fois.

    Je vous remercie, Luc

  • Répondre à ce message

    20 juin 15:17 , par emile

    J’imagine que j’ai fait ce qu’il faut mais j’ai * Erreur(s) dans le squelette o Erreur : filtre « ajoute_id_jeu » non défini, _jeu

    J’ai quand même du oublier quelque chose ? une idée ?

    C’est là Emile

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0