Jeux pour SPIP 3

Un portage pour SPIP 3 du plugin Jeux a été fait. Explications et nouveautés.

Cet article concerne une mise à jour du plugin Jeux dont la description complète est disponible ici : Des jeux dans vos articles !.

Le code du plugin Jeux est un code historique remontant à SPIP v1.9. En particulier, toute la construction des formulaires d’ajouts et d’éditions de jeux dans l’espace privé a été inventée il y a 5 ans, à l’époque où les nomenclatures et les découpages fonctionnels de l’espace privé étaient moins bien définis qu’aujourd’hui.

C’est pourquoi toute la partie concernant l’ajout de jeux en partie privée avec gestion des scores a fini par perdre sa pleine compatibilité avec SPIP 3, alors que la partie concernant l’ajout de jeux directement dans le contenu des articles, beaucoup plus simple dans son fonctionnement, restait compatible.

Le code du plugin a donc été revu en grande partie. N’hésitez pas à tester la nouvelle version.

Attention : aujourd’hui, l’accès à certaines fonctions et infos a été très restreint en comparaison avec la version 2.4.x... Mais nous travaillerons pour les restaurer. Merci à tous les utilisateurs de nous faire des retours.

Installation

Le plugin Jeux version 3 nécessite désormais le plugin Saisie.

Il s’installe comme n’importe quel plugin.

Utilisation

La syntaxe d’insertion des jeux n’a pas changé depuis les précédentes versions. En ce qui concerne les jeux avec score :
-  On peut ajouter / éditer / modifier des jeux via le menu « Édition »->« Jeux ».
-  On peut consulter l’ensemble des scores via le menu « Activité »->« Résultat des Jeux ».
-  On peut consulter les résultats d’un auteur ou d’un jeu via un bouton situé à gauche de la page de l’auteur ou du jeu.
-  Seuls les administrateurs ont accès aux formulaires de suppression ou de compactage des scores. On peut potentiellement étendre ces droits, via l’API d’autorisation de SPIP.

Note  : l’intégration avec le plugin Corbeille n’a pas encore été effectuée.

Changement côté public

Le champ #CONTENU des jeux est devenu #TEXTE. Les squelettes de présentation des jeux et des scores ont été supprimés pour le moment, en attendant d’en proposer des compatibles avec la nouvelle distribution de SPIP 3.

En revanche, les modèles d’affichage des résultats existent toujours. Merci aux utilisateurs de nous dire s’il faut les adapter.

Pour les traducteurs

Merci à vous ! La gestion des traductions passe désormais via Salvatore : il vous faudra utiliser son interface.

À faire

-  Vérifier que la suppression des jeux de la BDD se fasse bien.
-  Brancher avec le plugin Corbeille.

Possibilité d’amélioration

-  Transformer les formulaires de jeux en formulaires CVT pour profiter de l’AJAX (gros chantier en cours).
-  Permettre d’avoir une rubrique, des auteurs, des mots-clefs, associés aux jeux.

Travail sur les 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.

TODO : Le reset d’un jeu n’est pas encore ajaxé.

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>

Discussion

16 discussions

  • Bonjour,
    Merci beaucoup pour ce plugin qui me permet de faire des quiz alors que je n’y connais rien !
    Est-il possible d’insérer une image à chaque question ( comme dans le quiz sur l’énergie nucléaire ?)
    Merci !

    Répondre à ce message

  • Bonjour,
    Sur mon site web, j’utilise l’option QCM pour les quiz depuis un certain temps déjà. Je voulais aussi utiliser PENDU, mais j’ai trouvé un petit problème. À la fin du jeu, l’écran n’est pas rafraîchi (« repainted ») avant l’apparition du popup. Cela signifie que le mot entier (en cas de succès) et l’image entière (en cas d’échec) ne sont pas affichés.

    Répondre à ce message

  • 2

    Bug sur id ancre si jeu multiple (constate sous spip 3.1 ) ?

    J’ai fait quelques tests de ce plugin tres interessant :
    et j’ai releve ce probleme :

    Apres le click sur le bouton Corriger
    le retour ajax contient une ancre avec un id html de jeu de #JEU0
    exemple :

    	http://localhost/site/article_37?lang=en&var_hasard=25425bee3138eb558#JEU0

    mais il n’y a pas d’element d’id JEU0 dans la page
    Ce qui empeche le fonctionnement de l’ancre

    l’id html du jeu multiple dans la page est dans ce cas JEU16177

    <div id="JEU16177" class="jeux_global">

    Quelque soit le jeux mutiple de la page, l’adresse de retour a toujours la meme ancre erronee : #JEU0
    Ce qui empeche le fonctionnement de l’ancre

    Si le jeu n’est pas multiple, on a le bon id pour l’ancre dans l’url :

    	http://localhost/site/article_37?lang=en&var_hasard=290790bee3b4b383cf#JEU16179 

    et la div existe bien

    <div id="JEU16179" class="jeux_global"> 

    Alors l’ancre fonctionne correctement

    • Patrice Vanneufville

      Bonjour. S’agit-il d’un jeu rédigé en clair dans l’article ou d’un jeu stocké en base ?

    • Bonjour Patrice,

      Il s’agit de jeux stockés en base.

      L’ancre #JEU0 se voit seulement pour les jeux multiples
      apres un click sur « Recommencer » .

      Ca se produit aussi dans le privé :

      http://localhost/site/ecrire/?exec=jeu&id_jeu=12

      Click sur « Corriger » :

      http://localhost/site/ecrire/?exec=jeu&id_jeu=12&var_hasard=149615bef8ccdc4ff4#JEU12474

      Click sur « Recommencer » :

      http://localhost/site/ecrire/?exec=jeu&id_jeu=12&var_hasard=8945bef8d5c5458c#JEU0

    Répondre à ce message

  • 5

    Bonjour,

    J’ai commencé utiliser ce plugin dans mon site et j’ai fait les traductions en néerlandais. Normalement je les télécharge aussi sur trad.spip.net, mais je ne trouve que deux fichiers de langue.
    Est-ce que vous pouvez le mettre à jour ?

    Cordialement

    Répondre à ce message

  • 1

    J’utilise sans problème le plugin jeux (essentiellement QRM) sur un site d’enseignement en spip 3.1.
    Lorsque l’on affiche le score, on voit le commentaire justifiant la bonne réponse mais plus l’intitulé des questions. Les élèves se plaignent parce qu’ils sont obligés d’enregistrer les QRM en 2 fois : 1 pour le QRM vierge et 1 pour les corrections.
    Y a t-il moyen de remédier à cela c’est à dire d’afficher le score, le commentaire en dessous des propositions ?
    Merci d’avance

    • J’ai trouvé une solution en collant une partie du questionnaire jeu.html dans dans le ficher jeu_score.html
      L’affichage est un peu curieux car le questionnaire s’affiche après la réponse et l’intitulé apparaît en doublon mais bon ...

      Par contre j’ai parlé trop vite en disant que jeux fonctionnait avec spip 3.11 : dans la partie privée les résultats ne s’affichent pas.
      Le message d’erreur est joint en copie d’écran.
      Merci pour votre aide

    Répondre à ce message

  • janssoone

    Bonjour,
    les élèves ont vite compris que le retour vers la page précédente permet de corriger une erreur, et améliore ainsi leur score. La notation est donc faussée et injuste pour les quelques honnêtes.
    Peut-on empêcher cela ?

    Répondre à ce message

  • Bonjour,
    Je n’ai hélas pas trouvé ma réponse.
    Comment supprimer les jeux non utilisés et installés en Plugins-dist ?
    Je n’y veux pas le jeu d’échec (exemple) et je souhaite « alléger » mon site des fichiers non utiles.
    Ma version spip 3 et jeux3.

    Je vous remercie d’avance pour votre aide.

    Répondre à ce message

  • 1

    Bonjour Pat et les autres,
    J’ai remarqué que si on ne se connecte pas, impossible de récupérer les bons résultats des jeux...y’a t’il un moyen de remédier à ça ??? Merci de votre réponse

    Répondre à ce message

  • Bonjour,
    Pour récupérer le resultat des jeux est ce qu’il faut obligatoirement qu’on se logue ? y’a t’il un moyen de jouer sans pour autant se loguer et ensuite récupérer les résultat avec  [(#RESULTAT_LONG|resultat_intermediaire{score,1})]
    MErci de votre réponse

    Répondre à ce message

  • 9

    Bonjour tout le monde,
    j’ai du loupé quelques choses, je tourne en rond et vraiment besoin d’aide....
    J’ai crée un jeux à l’intérieur , nous avons 4 jeux (jeu1,jeu2.....), chaque jeu a 4 questions, chaque question trouvé fait 4 points (alors le total d’un jeu fait 16 points).

    Les différents jeux
    [config]
    scores_intermediaires=oui
    [score]
    32pts: vous êtes dans le cours
    29pts:  vous n'êtes pas dans le cours
    
    [jeu]
    [titre]
    Jeu 1
    [qcm]
    
    Q 1. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBB
    P3.2                CCCCCCC
    P4.1                DDDDDDD
    P5.0                EEEEEEE
    R1         
    [qcm]               
    Q2. question?               
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q3. question ?               
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q4. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE  
    R1               
    [jeu]
    [titre]
    Jeu 2
    [qcm]                
    Q1. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q2. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE  
    R1
    [qcm]               
    Q3. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q4. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE  
    R1               
    [jeu]
    [titre]
    Jeu 3
    [qcm]                        
                   
    Q1. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q2. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q3. question ?                  
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1       
    [qcm]               
    Q4. question?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE    
    R1               
    [jeu]
    [titre]
    Jeu 4
    [qcm]                        
    Q1. question ?               
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE  
    R1
    [qcm]               
    Q2. question ?                
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q3. question ?                 
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1
    [qcm]               
    Q4. question?               
    P1.4                AAAAAAAAA
    P2.3                BBBBBBBBBB
    P3.2                CCCCCCCC
    P4.1                DDDDDDDD
    P5.0                EEEEEEEE
    R1


    -  j’appelle dans le texte de mon article le modele <jeuX>
    Ce que je cherche c’est de récupérer le score intermédiaire pour chaque jeu, alors j’ai vu un fichier dans le squelette du plugin le fichier jeu_score.html et à l’intérieur #ENV*{score} qui affiche le score intermédiaire, alors quand je mets #SET{nb, #ENV*{score}} dans le fichier jeu_score.html que j’essaie de récupérer en faisant #GET{nb}, cela ne marche, on dirait qu’il affiche le même nombre partout.

    Alors Je vous le dis a vous tous, j’ai besoin d’aide, j’ai pas dormi toute la nuit :)

    • Tu as raison de pointer le problème, je viens de corriger un souci concernant les scores des jeux multiples. Dans la liste des résultats, tu devrais désormais voir des résultats détaillés corrects.
      voir maintenant comment les exploiter ?

      Si besoin, je veux bien ajouter au plugin quelques filtres PHP afin de traiter facilement les données enregistrées par les jeux détaillés, tu me diras comment tu avances de ton côté...

      Détails : http://zone.spip.org/trac/spip-zone/changeset/85698

    • Merci beaucoup pour la correction, je jette un œil tout de suite et je vous dirai ensuite....Bonne idée d’ajouter quelques filtres qui peut faciliter le traitement des données.....Pour ma part je suis preneur et croyez moi si j’étais aussi bien comme vous en php je vous donnerai un cou de main :) En tout cas merci pour la réponse, je vais continué pour voir se que cela va donné....

    • Une dernière question, pourquoi la rubrique [score] n’est pas triée par ordre croissant ? Elle fonctionne comme ça ?

    • Bonjour Pat,
      Je reviens vers vous, mais le score est toujours érroné, quelques soient les réponses données sur les 3 autres jeux c’est le résultat du 1er jeux qui s’affiche partout. Pour la rubrique [score] je l’ai mis en ordre décroissant, mais pour l’instant je ne peux pas faire de test complet sur les commentaires puisque les résultats sont érronés comme je vous ai dis ! Merci de me donner encore un cou de main

    • J’ai retravaillé sur le plugin, tu me diras si des changements positifs se sont produit.
      Par ailleurs, merci de spécifier ton mail, ça m’aurait permis de communiquer avec toi en privé.

      Details : http://zone.spip.org/trac/spip-zone/changeset/85703

    • Merci pour les changements je vais jeté un coup d’œil et te revenir.....J’ai mis mon adresse email cette fois :)

    • Bonjour Pat,
      Bravoooo ! rien a dire, j’ai fais pas mal de test et jusque là les scores s’affichent correctement. LE seul blème que je constate c’est le commentaire des score, j’ai mis exactement ceci :

      [score]
      31pts: vous n'êtes pas dans le cours !
      32pts:  Vous êtes dans le cours!

      Alors quand on a 32pts ou plus le message s’affiche sans problème MAIS quand nous avons moins de 32pts RIEN ne s’affiche !

      Merci pour TOUT !

    • Bah oui c’est normal... Il faut mettre les bons seuils dans [score] ! Et si tu remplaçais 31pts par 0pt !? Chaque chiffre représente un seuil de déclenchement du message. Autrement dit seul un score à 31 pts actuellement affiche ton 1er message...

    • Ok j’ai changé et ça marche en tout cas milles merci pour votre aide !

    Répondre à ce message

  • 2

    Bonjour,
    J’utilise ce plugin, mais je rencontre quelques problèmes
    1/ j’affiche 4 jeux dans mon article avec [jeu], quand je fais scores_intermediaires = oui il m’affiche les score pour chaque jeux, par contre à la fin du jeux, le message de score ne s’affiche pas c-a-d 50% ca doit afficher une phrase et moins de 50% une autre phrase....pourtant j’ai bien placé

    [score]
    51%: Vous devez vraiment réviser. Recommencez 
    49%: Vous n'avez pas la moyenne. Recommencez 

    MAis le message ne s’affiche pas !

    2/ comment récupérer le score pour chaque jeux ? j’ai besoin de récupérer le score pour chaque jeux via #GET et #SET si possible je veux l’utiliser pour les courbes

    • Bonjour et merci pour ce message.

      Pour les scores intermédiaires, voici quelques infos :
      -  Des jeux dans vos articles !

      Pour les balises, c’est ici :
      -  Boucles et Balises sur le plugin Jeux

      Il est possible aussi de regarder le code des différents modèles livrés avec le plugin. Pour une utilisation très spécifique comme l’exploitation des scores longs par exemple, il est toujours possible d’écrire un filtre PHP maison.

    • MErci pour la réponse, mais je galère toujours :)...ya t’il un moyen de recupérer sccore_intermediare et de l’afficher à la fin du jeux sachant que j’ai collé un modele <jeu1> dans lequel il ya des sous jeux...Merci de votre réponse

    Répondre à ce message

  • 7

    Bonjour,

    j’ai installé spip 3.0.5 sur mon serveur local (Lamp), ainsi que les plugins « jeux » et « formulaire et table ». Le tout tourne avec un squelette melusine.
    Sur le serveur lamp, le .htaccess n’est pas opérationnel mais ça ne doit pas avoir de rapport ...
    J’ai installé le plugin « couteau suisse » et activé la balise introduction, comme stipulé dans la doc.
    Je suis enregistré en tant qu’administrateur, webmestre (un seul compte de créé).

    L’enregistrement des scores ne marche pas.

    J’ai créé un jeu, dont voici le code :

    [titre]
    Voici deux exercices
    [config]
    scores_intermediaires=non
    [score]
    0% : Il est urgent de réviser. Recommencez !
    30% : Vous n’avez pas la moyenne... Recommencez !
    50% : Ce n’est pas encore parfait... Recommencez !
    100% : Vous êtes vraiment un as. Félicitations !

    [jeu]
    [titre]
    Exemple de QCM/QRM
    [qcm]
    Q Que veut dire « phlox » ?
    P1 Violet - Pourpre
    P2 Dressé
    P3 Nom du botaniste néerlandais qui classifié la famille.|N’importe quoi...
    P4.1 Flamme|Plus précisément « rouge flamme, en grec »
    P5 Rigide, ne se casse pas.
    R4
    [qrm]
    Q Ces mots désignent une couleur jaune :
    P1.1 citrinus|évidemment !
    P2 caeruleus|c’est « bleu de mer »
    P3.1 stramineus|jaune paille
    P4 variegata|cela signifie « panaché »
    P5 nigella|c’est le diminutif de « niger » (noir)
    R1 R3 (la réponse 3 est la bonne !)

    [jeu]
    [titre]
    Exemple de closure
    [texte]
    Ceci est un exemple de closure (exercice à trous).
    L’utilisateur doit entrer ses [trou]réponses[texte] dans les espaces vides.
    Pour chaque mot manquant, plusieurs réponses correctes peuvent être acceptées.
    Par exemple, ce [trou] trou, vide, blanc [texte] autorise les réponses « trou », « vide » ou « blanc ».

    [config]
    indices = oui

    Quelqu’un a-t-il une idée ?!?
    Merci par avance de vos suggestions, et surtout merci pour ce plugin ...
    Cdlt
    GG

    • petites précisions par rapport à mon message précédent ;

      Les cookies sont activés sur mon navigateur
      il n’y a aucun enregistrement dans la base de données « jeux_resultats »

      Là je sèche ...
      A+
      GG

    • Dernières précisions :

      Je n’arrive pas à sauvegarder ma base de données du spip ; il me répond :
      « Impossible de faire une sauvegarde SQLite sur votre hébergement »

      La configuration par défaut du plugin, comme celle du jeu est « uniquement le premier résultat » ...

      Vraiment, si qq’un a une idée ...
      A+
      Gildas

    • Salut, as-tu regardé dans les tmp/logs SQL si une erreur ne bloquait pas l’enregistrement des résultats ?

    • Bonjour,

      Quelques réponses : plus de pbm de sauvegarde sur mon spip en local avec l’installation du paquet php5-sqilte et sqlite3 ...

      Le non enregistrement se produit aussi sur une installation identique sur free ...

      J’ai effectivement des erreurs dans les logs, mais je ne sais pas comment les interpréter ...

      Dans le fichier sqlite.log :
      [fr]Authentification des auteurs et visiteurs à l’’aide de leur OpenID
      [en]Authenticates users with their OpenID
      </multi>’,’auteur’,’’,’001.001.013’,’2013-01-22 16:00:03’,’2013-01-22 16:00:03’,’[2.0.0 ;3.0.99]’,’2.0,2.1,3.0’)
      Feb 22 17:57:04 192.168.0.254 (pid 2376) :Pri:ERREUR : Erreur sqlite 23000 / 19

      Je te fournis une archive avec les fichiers contenus dans /dump/log/ pour analyse ...
      http://eleve.guillory.free.fr/log.zip

      Merci par avance de la réponse et du temps passé au dev du plugin.
      Cdlt
      GG

    • Encore une précision pour faire avancer ...

      J’ai créer un enregistrement via phpmyadmin pour le jeu.
      Le résultat apparait bien ensuite dans le jeu.

      Il y a donc bien un problème d’envoi des données à la base de données, ou à l’enregistrement.
      Suis-je le seul à rencontrer ce pbm ?
      Le reste du site est pourtant fonctionnel.
      Si le plugin jeu est le seul installé, ça ne change rien.

      Merci par avance pour ce qui peut être fait.
      Cdlt
      GG

    • Salut,

      Pour avancer :
      -  Active bien *uniquement* le plugin « jeux » (et Saisies, forcément...)
      -  vide bien le cache de SPIP
      -  vérifie que ta connexion est bien une connexion mysql (dans config/connect.php) mais vu que tu utilises phpmyadmin ça doit être le cas...

    • Salut,

      merci de la réponse.

      Plugin jeux et saisies uniquement activés.
      Cache de spip, et de firefox vidés.
      Et je suis bien en mysql ...

      Fonctionne toujours pas ...
       :-/
      Bonne journée ...
      G

    Répondre à ce message

  • 4
    Billiejoe

    La mise à jour du plugin (en début de semaine) a planté mon site (Spip 3.0.5), sans accès à l’interface privée : message suivant après identification :

    « Pour vous identifier de façon sûre sur ce site, vous devez accepter les
    cookies. Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce
    site). »

    J’ai débloqué cela en renommant /jeux pour le désactiver, est-ce que l’on peut espérer une correction, vu qu’a priori il y a comme un petit souci :-)

    • Un BOM s’est inséré dans l’un des fichiers de la dernière mise à jour du plugin, cela a été corrigé rapidement, mais pas sans quelques dégats hélas. Il semble que la correction postée dernièrement règle le problème. Merci du retour.

    • Billiejoe

      Du coup j’ai écrasé ma mise à jour avec la version actuelle, j’ai viré un install.log du dossier, j’ai activé le plugin de nouveau dans l’interface. Et je retrouve le même souci après déconnexion et souhait d’une reconnexion. Y aurait-il une autre démarche à faire pour rétablir le fonctionnement du plugin proprement ?

    • Mince j’avais oublié un 2e fichier... Correction postée !

      Mais est-ce que le pb vient de là ? Je n’arrive pas à reproduire ton problème....

    • Billiejoe

      C’est tout bon, maintenant. Merci beaucoup !

    Répondre à ce message

  • 6

    C’est un génial plugin. Merci !!

    Si cela sert à aller mieux le plugin :

    Je crois que en changeant la ligne suivante de code (79) :

    "$clav = preg_split(’//’, _T(’jeux:alphabet’), -1, PREG_SPLIT_NO_EMPTY) ;

    du fichier « pendu.php » par cela autre :

    $clav = mb_split(’,’,_T(’jeux:alphabet’)) ;

    il est possible de faire que le clavier montre des lettres accentuées, un alphabet cyrillique,...

    ... bien que pour le moment nous l’essayions dans local, mais avec la dite ligne maintenant cela permet de montrer des caractères cyrilliques...

    ... pour documenter le dit, voir en ligne http://php.net/manual/en/function.mb-split.php

    Pardon par mon français

    • Merci, je viens de tester cette ligne, mais elle ne semble pas fonctionner sur l’alphabet d’origine... As-tu fait le test ?

    • Pardon : je m’ai oublié qu’il faut modifier aussi l’alphabet original, en le séparant par des virgules, de cette forme :

      ’А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ь,Ы,Э,Ю,Я’

      Encore une fois, un pardon par mon français

    • Ton français est très clair. N’y a-t-il pas moyen de faire cohabiter les deux alphabets ? PHP ne peut-il pas découper cette expression cyrillique sans les virgules ?

      preg_split('//u', ...) à essayer peut-être ?

      http://php.net/manual/en/reference.pcre.pattern.modifiers.php

    • Pat, pour moi, sans la virgule ’//’ il ne fonctionne pas pour les caractères cyrilliques et pour les caractères accentués de l’espagnol
      $clav = preg_split('//', _T('jeux:alphabet_es'), -1, PREG_SPLIT_NO_EMPTY);

      Mais avec la virgule, ’/,/’ oui qu’il fonctionne pour les deux alphabets
      $clav = preg_split('/,/', _T('jeux:alphabet_es'), -1, PREG_SPLIT_NO_EMPTY);

      Et voilà qu’il est possible de montrer les deux. Je le fais de cette forme :

      // Le clavier russe. El teclado ruso
      function affiche_un_clavier_ru($indexJeux) {
       // mb_regex_encoding('UTF-8');
       // mb_internal_encoding("UTF-8"); 
       $clav = preg_split('/,/',_T('jeux:alphabet_ru'), -1, PREG_SPLIT_NO_EMPTY);
       //$clav = mb_split(',',_T('jeux:alphabet_ru'));
      
       foreach ($clav as $i=>$lettre) $clav[$i] = "<input class=\"jeux_bouton pendu_clavier\" type=\"button\" name=\"$lettre\" value=\"$lettre\" onclick=\"pendu_trouve('$lettre', '$indexJeux');\">";
       $i = floor(count($clav)/2);
       $clav = join('', array_slice($clav,0, $i)) . "<br />\n" . join('', array_slice($clav, $i));
       return "\n<table class=\"pendu_clavier\" border=0><tr><td class=\"pendu_clavier\" >$clav</td></tr></table>";
      }
      
      //El teclado en español con acentos
      /*
      function affiche_un_clavier_es($indexJeux) {
      	mb_regex_encoding('UTF-8');
        mb_internal_encoding("UTF-8"); 
       //$clav = preg_split('/,/', _T('jeux:alphabet'), -1, PREG_SPLIT_NO_EMPTY);
       //$clav_es = mb_split(',',_T('jeux:alphabet_es'));
       
       foreach ($clav_es as $i=>$lettre) $clav_es[$i] = "<input class=\"jeux_bouton pendu_clavier\" type=\"button\" name=\"$lettre\" value=\"$lettre\" onclick=\"pendu_trouve('$lettre', '$indexJeux');\">";
       $i = floor(count($clav_es)/2);
       $clav_es = join('', array_slice($clav_es, 0, $i)) . "<br />\n" . join('', array_slice($clav_es, $i));
       return "\n<table class=\"pendu_clavier\" border=0><tr><td class=\"pendu_clavier\" >$clav_es</td></tr></table>";
      }
      */

      Et le lieu où ils apparaissent, j’ai modifié cette ligne de code de la manière suivante :

      return '<table class="pendu" style="border:0;"><tr><td valign="center">'
       	. "<div align=\"center\"><div class=\"pendu_images\" align=center>$images</div><br/>\n$proposition</div><p class=\"kb\">Alfabeto ruso (Русский алфавит)</p>". affiche_un_clavier_ru($indexJeux) . "<p class=\"kb\">Alfabeto español y vocales acentuadas</p>". affiche_un_clavier_es($indexJeux) ."</td></tr>"

      Et, naturellement, deux jeux d’alphabets pour chaque clavier dans jeux_es.php :

      	'alphabet_ru' => 'А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ь,Ы,Э,Ю,Я',
      	'alphabet_es' => 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z,Á,É,Í,Ó,Ú,-',

      Attention !, je ne suis pas un expert en PHP et rien par le style.

      Et voilà qu’il y ai ici un résultat :

      En résumant mes preuves jusqu’à présent :

      $clav = preg_split('/,/', _T('jeux:alphabet'), -1, PREG_SPLIT_NO_EMPTY);
      il permet de montrer seulement l’alphabet si la virgule de séparation existe entre slahes, ’/,/’.

      Et $clav_es = mb_split(',',_T('jeux:alphabet_es')); le même mais avec la virgule sans slahes, ’,’

    • Pour l’amélioration du plugin, il ne faut surtout pas toucher au code source : tu te prives des mises à jour futures du plugin. Je viens de publier une correction pour que tu puisses mieux réaliser ton travail de personnalisation.

      J’ai abandonné l’alphabet sans virgule pour plus de simplicité. J’ai également ajouté un nouveau paramètre de configuration. Si tu veux 2 claviers, il va falloir surcharger la fonction d’origine.

      Regarde ici : http://zone.spip.org/trac/spip-zone/changeset/69150

      Tu me donneras le résultat de tes tests. Merci !

      (J’espère que tu utilises SPIP 3 !!)

    • Tu as toute la raison dans cela.

      Je cesse de continuer d’essayer et je vais faire des tests avec ce que tu me dis...

      ... Bien sûr que je suis avec SPIP 3 !!

      Merci beaucoup par tout

    Répondre à ce message

  • Bonjour,

    J’aimerais savoir si il est possible de conserver les réponses dans un qcm lorsque l’on le recommence comme cela était possible avec l’ancienne version ?

    Pour info : spip 3.0.5 et Des jeux dans vos articles 3.1.5 - test.

    Merci d’avance de vos réponses !

    Répondre à ce message

  • 2

    Salut,
    j’ai testé un jeu de pendu, mais ça fonctionne pas avec la compression du html dans configuration>fonctions avancées...
    ça peut se résoudre ?

    • Non, je ne pense pas. En effet pour insérer les CS/JS correspondant au jeu, le plugin introduit un commentaire HTML dans l’entête, et ce commentaire HTML est transformé au moment de l’affichage finale, en fonction du contenu de la page.

      Or le compresseur HTML fonctionne en amont, sur chaque squelette individuel, en supprimant les commentaires. Donc ce n’est pas possible, a moins de modifier le mode d’insertion ou de demander au compresseur d’avoir une pipeline pour permettre des exceptions à la suppression.

      Mais honnêtement, la compression HTML, je ne suis pas sûr que ce soit indispensable. On économise à peine 5% sur le HTML même, ce qui avec les images, les scripts divers, représente à peine 3%. Et comme on charge le serveur …

    • en revanche, la compression JS/CSS est utile. A tout hasard, j’ai ouvert un ticket http://core.spip.org/issues/2813

    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