SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 216 visiteurs en ce moment

Accueil > Interactivité, échanges > Jeux > Mot-croisés > Le plugin mot-croisés !

Le plugin mot-croisés !

5 novembre 2006 – par L’instit, Maïeul, Patrice Vanneufville – 14 commentaires

4 votes

Ceci est une archive périmée mais qui reste intéressante, parfois autant pour l’article que les commentaires associés.

Avertissement de l’auteur : ce plugin n’est plus maintenu à jour. La fonctionalité est désormais intégrée au plugin jeux.

Fonctionnalités

Ce plugin propose :

  • de mettre en ligne des mots croisés, avec leurs définitions.
  • de proposer aux utilisateurs de les remplir et de les vérifier.
  • d’afficher le nombre d’erreurs et la solution.

Historique et Licence

Ce plugin est une adaptation/mise à jour de la contrib Des mots croisés avec SPIP par son auteur originale Maïeul Rouquette. Comme cette dernière, il est distribué sur Licence GPL.

Liste des principales nouveautés :

  • installation simplifiée : plus besoin de toucher au squelette pour s’en servir.
  • support du multi-linguisme
  • un script javascript est proposé permettant
  • prévisualisation de la grille dans l’espace privé.
  • un filtre pas_de_grille est créé, permettant d’éviter d’afficher grille pour certain format de fichier (rss par exemple).
  • la balise #INTRODUCTION n’affiche plus la solution de la grille.
  • amélioration de la syntaxe de rédaction de la grille. Plus besoin de réfléchir à combien d’espaces on met après/avant <grille>,<vertical>,<horizontal>ect. De même, on peut mettre des espaces dans les cellules du tableau.
  • optimisation du code.

Configuration requise

  • Spip 1.9.1 ou Spip 1.9 + plugin « patch »
  • Des squelettes intégrant la balise #INSERT_HEAD au bon endroit, c’est à dire entre les balises <head> et </head>
  • Le plugin Jquery actif si l’on veux profiter du Javascript [1]. Vous pouvez le télécharger sur cette page

Installation

Téléchargez le fichier zip ci-joint, puis suivez la procédure d’installation des plugins

Zip - 11.4 ko
Le plugin mots-croisés
Télécharger le plugin

Mise à jour depuis l’ancienne version

Si vous aviez mis en place l’ancienne version de la contrib :

  • Suivez la procédure décrite plus haut.
  • Supprimez toute référence au filtre |grille dans vos squelettes
  • Supprimez la feuille de style créée pour la gestion des grilles.
  • Supprimez le code que vous aviez inséré dans mes_fonctions.php3 ou mes_fonctions.php

Rédigez vos mot-croisés

Ecrire <grille> puis composer votre grille comme un tableau Spip.

Il ne faut mettre ni numéro de colonne, ni numéro de ligne, ni raccourcis du type ||xx|yy||. Ni tout autre chose qu’un tableau spip (espaces et sauts de ligne exceptés)

Pour représenter un noir, utiliser un astérisque « * ». Dans les autres cases, entrez les lettres des mots du mot-croisé. Cette grille apparaîtra telle que vous la remplissez si l’utilisateur choisit d’afficher la solution

Puis écrire </grille>

Les définitions sont des simples listes numérotées à la Spip. Les définitions verticales devant être entourées par <vertical>et</vertical>, les horizontales par <horizontal> et <horizontal>.

Exemple :

<grille>

|a|a|a|
|b|*|g|
|a|*|d|

</grille>

<horizontal>
-#def 1
-#def 2
-#def 3
</horizontal>

<vertical>
-#def 1
-#def 2
-#def 3
</vertical>

Utilisation en ligne

L’utilisateur a le choix d’afficher ou non la solution en cochant la case prévue.

Si le navigateur dispose de Javascript, alors :

-  Le remplissage de la grille est simplifié par la possibilité de se déplacer au clavier (flèche gauche, droite, haut et bas) pendant la saisie .
-  De plus, lorsqu’on entre une lettre, le curseur se déplace automatiquement dans la case suivante sur le plan horizontal.
-  Pour le remplissage vertical, un clic droit modifie ce déplacement automatique.
-  Pour savoir le sens d’écriture, il suffit de regarder la flèche au survol du formulaire.

Pour les toilemestres : traduire le rendu public

Vous aimeriez avoir des mots-croisés en russe, anglais, arabe ou autre et l’interface dans la bonne langue ?

Faites une copie du fichier motscroises_fr.php situé dans le dossier /lang du plugin vers le dossier lang de votre dossier de squelette [2]. Renommez le motscroises_xx.php, où xx est le code de langue. Puis modifiez à l’intérieur les chaînes de langues selon le besoin. Si des caractères sont situés entres deux @, gardez-les ainsi.

Vous êtes invités à m’envoyer ce fichier de langue, afin que je l’intègre dans le plugin pour les prochaines versions.

Régler la présentation de la grille

Le plugin est livré avec deux feuilles de style, situées à la racine du plugin :

  • mots-croises.css
  • mots-croises-prive.css

La première est destinée au rendu public de la grille.
La seconde au rendu dans l’interface privée.

Il est possible de surcharger l’une ou l’autre (ou les deux) en créant un homonyme dans votre dossier squelettes [3].

Voici quelques informations utiles pour la personnalisation de vos css
-  le tableau à remplir a pour classe " grille " et se situe dans un formulaire de classe "grille" (cette classe n’existait pas dans la version précédente)
-  les définitions verticales appartiennent à un div de classe " vertical " et celles horizontales à un div de classe " horizontal "
-  la grille de solution a pour classe " solution " et est incluse dans un div de class " solution "
-  le coin supérieur gauche est une cellule de classe " coin "
-  les cases noires sont de classe " noir ".
-  il existe un label dans les cases à remplir, afin de permettre une meilleure accessibilité. Vous pouvez masquer ce label grâce à un code du type .grille labeldisplay:none

Un filtre direction_css est appliqué, permettant de présenter correctement la grille pour les langues s’écrivant de droite à gauche (voir la documentation.

Le filtre |pas_de_grille

Il peut arriver que dans certain cas, nous ne souhaitons pas afficher la grille de mot-croisés. Le filtre |pas_de_grille appliqué à une balise résoud le problème.

Les squelettes backend.html et backend-breves.html sont surchargés, afin d’appliquer le filtre |pas_de_grille.

Techniquement ça marche comment ?

Comme tout plugin, mot-croisés contient un fichier plugin.xml à la racine. Il contient notamment des appels aux fichiers :

  • mot_croises_options.php. Ce fichier, qui à le même rôle que mes_options, contient deux fonctions :
    • introduction(). C’est une "surcharge" du code appelé par spip pour calculer la balise #INTRODUCTION.
    • pas_de_grille_introduction(). Appelée par la fonction précédente, elle permet d’éviter d’avoir la solution qui apparait lorsque l’on se sert de #INTRODUCTION.
  • mot_croises_fonctions.php. Ce fichier, qui à le même rôle que mes_fonctions, contient la définition du filtre |pas_de_grille, ainsi que celui du filtre |grille, qui ne sert plus à rien, mais est gardé pour des raisons de compatibilité historique.

Ce fichier plugin.xml utilise des pipelines.

  • insert_head -> la fonction associée est mot_croises_insert_head() définie dans mot_croises_insert_head.php. Elle se charge d’ajouter les appels au css et au javascript dans les entêtes html de l’espace public (balise #INSERT_HEAD)
  • header_prive ->la fonction associée est mot_croises_header_prive() définie dans mot_croises_header_prive.php. Elle se charge d’ajouter l’appel au css dans les entêtes html de l’espace privé
  • pre_propre ->la fonction associée est mot_croises_pre_propre() définie dans mot_croises_pre_propre.php >la fonction associée est mot_croises_avant_propre() définie dans mot_croises_avant_prive.propre. Appelée, comme son nom l’indique, avant la fonction propre(), [4], c’est la base de tout le système de mot-croisés. Elle va appeler plusieurs fonctions :
    • calcul_tableau_grille() définie dans inc/calculer_grille.php. Se charge de coonvertir le code du tableau que vous avez rentré en tableau php
    • comparaison() définie dans inc/verification.php, se charge de comparer les réponses rentrés par l’utilisateurs avec la solution. En gros, calcule le nombre d’erreurs.
    • affichage_grille() définie dans inc/affichage_grille.php. Calcule la grille à remplir si le second argument est faux, la grille de solution dans le cas contraire. Le premier argument a été calculé avec calcul_tableau_grille(). Cette fonction affichage_grille() fait elle même appel à une fonction<code>lettre(), pour afficher les numéros de ligne en lettres.
    • liste_spip(). Chargée de convertir les listes "à la Spip" en liste HTML.

Remerciement

Aux zoneurs qui m’ont aidé dans l’adaptation en plugin.

A Piif qui a fournit une bonne partie du javascript, à Renato qui m’a aidé.
A Linstit qui a testé le plugin et participé à la rédaction et a la correction de fôte d’hortograf de la documentation.
Aux bêta-testeurs.

Et à d’autres que j’ai dû oublier ...

Evolution possible

  • Plusieurs grilles sur une même page ?
  • Gestions des résultats : regarder l’évolution des performances d’un utilisateur avec le temps ?

En attendant, sachez que le plugin est developpé sur la Zone.

Notes

[1pour les futures versions de spip, la fonctionnalité de ce plugin sera livrée « en standard », mais n’anticipons pas.

[2ou tout autre dossier lang du path, voir : la documentation.

[3ou à n’importe quel endroit où Spip cherche ses squelettes,selon l’ordre de priorité

[4fonction qui se charge, grosso-modo, de convertir les raccourcis spip en code html

Dernière modification de cette page le 26 août 2008

Retour en haut de la page

Vos commentaires

  • Le 29 octobre 2006 à 09:15, par sBa En réponse à : Le plugin mot-croisés !

    Encore merci pour ce plugin...

    Ce plugin empêche le plugin Thickbox v1 de fonctionner...
    test effectué avec la version 1.9.1 (7385) de Spip ...

    une solution ?

    • Le 30 octobre 2006 à 20:23, par L’instit En réponse à : Le plugin mot-croisés !

      Non, il va falloir voir ce qui coince, mais effectivement, je viens de faire le test et il y a une incompatibilité d’humeur entre les deux plugins.

    • Le 13 novembre 2006 à 20:14, par Maïeul En réponse à : Le plugin mot-croisés !

      Hum, je ne vois pas l’incompatibilité.

      Désolé, dés que je vois, j’essaye de corriger.

    • Le 21 novembre 2006 à 16:46, par Patrice Vanneufville En réponse à : Le plugin mot-croisés !

      c’est probablement résolu aujourd’hui, non ?

    • Le 23 novembre 2006 à 20:52, par Maïeul En réponse à : Le plugin mot-croisés !

      Non ... parceque chez moi, je ne trouve pas cette incompatibilité ... et je suis donc mal à même de la résoudre

    • Le 27 novembre 2006 à 01:24, par sBa En réponse à : Le plugin mot-croisés !

      en local ça fonctionne en effet... mais c’est en ligne que je rencontre des incompatibilités : mots croisés semble empêcher de fonctionner Thickbox v1 et/ou le plugin Pagination_ahah. Peut-être est-ce lié à notre config... dès que je peux j’essaie ailleurs.

    Répondre à ce message

  • Le 29 octobre 2006 à 16:56, par crapelec En réponse à : Le plugin mot-croisés !

    Bonjour,
    Installation OK, cache vidé mais ce plugin provoque une page blanche dans l’espace privé.
    J’ai oublié quelque chose ?

    Config pour info : plugins : FCK, Form, Acces Restreint, Jquery ; Hebergeur : Free ; Spip : 1.9.1 (7339). Nav : IE6 & Mozilla

    Merci

    • Le 13 novembre 2006 à 03:22, par dnad En réponse à : Le plugin mot-croisés !

      Correction à faire au fichier « mot_croises_header_prive.php ». Il faut fermer la balise « script ».

      function mot_croises_header_prive($flux){
      $flux .= '<link rel="stylesheet" type="text/css" href="'.direction_css(find_in_path('mots-croises-prive.css')).'" >';
      $flux .='<script type="text/javascript" src="'.find_in_path("mots-croises.js").'" ></script>';
      return $flux;
      }
    • Le 13 novembre 2006 à 20:16, par Maïeul En réponse à : Le plugin mot-croisés !

      Houps ....

      je corrige.

      Je pense que je vais désactiver ca dans l’espace privé, ca à l’air de faire planter ff.

    • Le 13 novembre 2006 à 20:55, par Maïeul En réponse à : Le plugin mot-croisés !

      Merci,

      en fait, la balise se ferme d’elle même (présence d’un / final, comme dans <br />) mais il semble que ca pose problème.

      Cela sera coorigé sur la future version

    • Le 13 novembre 2006 à 20:57, par Maïeul En réponse à : Le plugin mot-croisés !

      Toujours un pb ?

      Essayez eventuellement avec les autres plugins désactivés.

    • Le 13 novembre 2006 à 22:54, par Patrice Vanneufville En réponse à : Le plugin mot-croisés !

      Même chose pour mot_croises_insert_head.php, il faut fermer par </script> :

      function mot_croises_insert_head($flux){
              return $flux."<link rel=\"stylesheet\" type=\"text/css\" href=\"".direction_css(find_in_path("mots-croises.css"))."\" />\n<script src=\"".find_in_path("mots-croises.js")."\" type=\"text/javascript\"></script>";}
    • Le 15 novembre 2006 à 18:49, par cormier En réponse à : Le plugin mot-croisés !

      Bonjour,
      Avec spip 1.9.1. affichage page blanche, espace privé inaccessible. Obligation de supprimer le plugin en ftp.
      Cordialement

    Répondre à ce message

  • Le 11 décembre 2006 à 02:16, par Patrice Vanneufville En réponse à : Le plugin mot-croisés !

    Depuis peu, une nouvelle syntaxe a été implémentée dans ce plugin :

    <mots-croises>
    [horizontal]
    Definition 1
    Definition 2. Definition 3
    Definition 4. Definition 5
     
    [vertical]
    Definition 1
    Definition 2
    Definition 3
     
    [solution]
    aaa
    b*g
    a*d
    </mots-croises>

    De plus, cette présente contrib vient d’être intégrée dans le plugin ’jeux’
    La syntaxe est quasiment la même.

    Je fais appel à tous les testeurs ;-)

    Voir : Des jeux dans vos articles !

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Champs Extras 3

    16 janvier 2012 – 524 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Réservation d’événements

    16 mars 2015 – 188 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Les crayons

    23 avril 2008 – 815 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • LESS pour SPIP : Less-CSS (anciennement LESSpip)

    5 novembre 2010 – 43 commentaires

    Less-CSS (Anciennement LESSpip) est un plugin intégrant facilement le logiciel LESS dans SPIP. LESS est une extension de CSS ajoutant les variables, les classes, les opérations, les imbrications au langage. Facilitant ainsi l’écriture de (...)

  • Recommander

    3 avril 2011 – 16 commentaires

    Ce plugin propose une manière simple de suggérer de recommander par email un article à un ami. Fonction « recommander un article à un ami ». On l’ajoute dans n’importe quel squelette sous la forme : #RECOMMANDERtitre de la page,url de la page,intro (...)

Ça spipe par là