Nuage (de mots-clés)

L’article « Afficher les mots-clés en faisant varier la taille de la police » de BoOz et Fil permettait déjà d’afficher un nuage de mot-clés.

Le présent article reproduit exactement les mêmes résultats, puisqu’il s’agit de son adaptation sous forme de modèles, le tout sous forme de plugin pour faciliter l’installation.

Important : il faut que les statistiques de SPIP soient activées pour que le plugin fonctionne

Contenu du plugin

Il contient deux fichiers html, les modèles nuage.html et nuage_popularite.html. Les fichiers php, quant à eux, définissent un filtre |nuage ou |nuage_pop. On insère aussi quelques styles css dans l’entête de la page, ce qui nécessite l’emploi de la balise #INSERT_HEAD.

Utilisation

Une fois le plugin activé, vous pouvez faire appel aux modèles selon les deux méthodes classiques :

  • dans un squelette html
    • [(#MODELE{nuage})]
    • [(#MODELE{nuage}{id=4})]
  • dans un article :
    • <nuage1>
    • <nuage1|popularite>
    • <nuage|> (notation permettant d’afficher un nuage sans sélectionner de groupe de mots-clés)

La valeur passée en paramètre est facultative et correspond à l’identifiant d’un groupe de mots-clés, si on souhaite réduire le nuage à un seul groupe de mots.

De plus, [(#MODELE{nuage}{id_article=10})], ou <article10|nuage> affichent le nuage en exposant les mots-clés associés à l’article passé en paramètre.

Personnalisations

Cadeau de Noël ou Oeuf de Pâques

Pour faire une sélection de plusieurs groupes de mots-clés et générer un seul nuage, on profite du fait que le critère de sélection dans le modèle est une expression régulière. On peut alors écrire {id=4|10} pour sélectionner les mots des groupes 4 et 10. Attention, ça marche seulement pour l’appel depuis un squelette.

A l’inverse on peut exclure certains groupes de mots clés en utilisant le critère de sélection notid. Celui-ci fonctionnant également selon une expression régulière, la syntaxe permettant de ne pas prendre en compte les groupes 5 et 11 est donc de la forme : {notid=5|11}

Discussion

131 discussions

  • Christèle

    Bonjour,
    Il y a t-il un nombre de mots clés limités au niveau de l’affichage ? Nous utilisons ce plugin bien sympathique mais depuis quelques temps, les nouveaux tags créés ne s’affichent plus. Avez-vous une idée de ce qui peut se passer ?
    Merci de votre réponse,

    Répondre à ce message

  • 4

    Salut, en svn
    je n’arrive pas a afficher le nuage dans un article,
    les modeles ne donnent rien dans une boucle article,
    ni nuage, ni article_nuage, merci bonne nuit

    • celà semble lié à ma version php 4.3.10, çelà tourne en 4.4.2-1+b1

    • ou plutôt mysql 3.23.49, celà tourne en 5.2.20

    • eh bin non c’est pas ça, je viens d’essayer en local avec des versions récentes de mysql et php, ça va pas.
      C’est lié aux dernières versions spip svn : pas un nuage possible à l’intérieur une boucle article par ce dimanche pluvieux, dans un sens pas de regret ;-)

    • bin mince je suis le seul dans ce cas ?

    Répondre à ce message

  • 4

    je suis en svn spip et _stable_/nuage et le modele n’affiche plus rien,

    ce depuis une bonne semaine,

    aucun message d’erreur, juste pas de nuage

    suis je le seul ?

    • as-tu fais des mises à jour ? quelles sont les révisions de spip et du plugin que tu utilises ?

    • nuage 1.2 rev 13825 ou 1.4 rev 18216
      ne fonctionnent ni l’un ni l’autre
      version spip svn depuis une dizaine de jours

    • je viens de faire un test avec les squelettes de la dist,
      celà fonctionne, c’est donc chez moi... désolé
      je vous tiens au courant, merci

    • j’y suis j’avais des styles ul.nuage li a display : none ; des premières versions 1.3
      merci pour la réponse

    Répondre à ce message

  • Depuis l’introduction de la balise #FOREACH dans ce plugin, il est possible d’utiliser le même plugin quelque soit la version de SPIP (1.9.2d ou version de développement).

    Plus simple pour le support :)

    Répondre à ce message

  • 3
    Claire-marix

    J’ai installé le plugin, j’ai intégré [(#MODELEnuage)] dans le squelette, et je vois s’afficher une liste à puce avec les mots-clés dans différentes tailles de police, et à côté de chaque mot-clé, écrit aussi gros, (3/5), (2/5) etc.

    C’est très laid et ça n’a rien d’un nuage.

    J’ai du zapper quelque chose, mais quoi ?

    Merci de votre aide

    Marie-Claire

    • saintvinasse

      Même problème James. Le Zip a été endommagé ou je ne sais quoi.. plus de CSS dans le ZIP.

    • Personnellement, j’ai réglé ce problème en modifiant le code des 3 fichiers php proposés. Il faut supprimer les balises <li></li>

      et <ul></ul>

      J’avais pas envie d’avoir la fréquence de chaque mot clé (en effet, je considère que la différence de taille suffit). Pour cela, il faut que la ligne

      $l = $t.'<span class="frequence"> ('.$poids[$id]."/".$max.")</span>";

      devienne

      $l = $t;

      Pour ceux qui veulent que les mots soient les uns à côté des autres, il faut dégager les \n

      J’espère que ca répond à la question

    • tout est géré par css via la balise #INSERT_HEAD.

      dans la version 1.2 du plugin, il n’y a pas de fichier css, mais #INSERT_HEAD fournit ce qu’il faut de styles pour cacher la class .frequence

      pour la version 1.3 du plugin, voir l’article Habillage-graphique-du-plugin pour les détails, mais le fichier nuage.css est surchargeable, lui aussi.

    Répondre à ce message

  • 4
    Olivier Garry

    Bonjour,

    quand on regarde le détail du plugin on se rend compte que le nuage est lié à la fréquence des articles associés à un mot-clé.

    je souhaiterai que non seulement le nuage remonte la fréquence des articles mais calcule en même temps la fréquence des rubriques et des sites auxquels j’associe le mot-clé afin de présenter un nuage reflétant les mots-clés associant n’importe quel objet édiorial (articles, rubriques, sites internet). Cela doit être possible au regard du filtre frequence qui peut calculer tous les objets et pas seulement les articles (http://www.spip-contrib.net/Le-critere-frequence,11)

    Comment dois-je adapter les scripts du plugins ?

    merci bcp

    • Non, ce n’est pas possible. En développant ce critère, nous sommes arrivés à une limite du compilateur actuel. La construction souhaitée nécessiterait l’utilisation de la clause UNION pour la requête SQL déduite d’un telle boucle. Et ça n’est pas possible à ce jour.

    • Olivier Garry

      ok merci, je me doutais de la réponse.

      C’est bien dommage car sur la vie d’un site éditorial complexe tout ne passe pas par les articles et le reflet de mots clé étant possible quelque soit l’objet éditorial, sa traduction sous forme de nuage aurait été un plus.

      merci quand même

    • Moi je parlais des limites du critère frequence parce que c’était ta question. Maintenant, c’est bien dommage de s’arrêter là, car dans les possibilités de SPIP, il y a un pan tout entier de pistes à explorer. :-)

      Si tu regardes le modèle nuage.html, tu vois une boucle ARTICLES. Rien ne t’empêche de surcharger ce modèle pour ton besoin personnel (copie du fichier modeles/nuage.html en squelettes/modeles/nuage.html puis tu ajoutes dans cette copie autant de boucle que tu le souhaites. En ajoutant d’autres critères, si besoin.

      Exemple :

      <BOUCLE_pop(ARTICLES){id_mot}></BOUCLE_pop>[
      (#ID_MOT|nuage{'','',#TOTAL_BOUCLE})
      ]<//B_pop>

      deviendrait :

      <BOUCLE_pop(ARTICLES){id_mot}></BOUCLE_pop>[
      (#ID_MOT|nuage{'','',#TOTAL_BOUCLE})
      ]<//B_pop><BOUCLE_pop2(RUBRIQUES){id_mot}></BOUCLE_pop2>[
      (#ID_MOT|nuage{'','',#TOTAL_BOUCLE})
      ]<//B_pop2>

      Je parie que dans la foulée, il sera demandé comment pondérer le « score » d’un mot-clé en fonction de l’objet éditorial... ;-)

    • Olivier Garry

      merci
      dans la foulée non, ce qui m’interesse c’est le score cumulé et pas ventilé.

      Si je surcharge dans le squelettes comme indiqué ca me permet de cumuler ?

    Répondre à ce message

  • 4

    Bonsoir

    Je suis en train de bosser sur un site en local (sous la 1.92b) qui intègrera ce nuage, seulement, quand je l’active depuis le BO, je ne peux plus changer de page depuis ce back office... C’est à dire qu’une fois que j’ai cliqué sur « valider » dans la partie plugins, après avoir coché « Nuage » bien entendu, je ne peux plus me rendre sur aucune autre page, ça recharge systématiquement cette page.

    Même fonctionnement sous IE 7 / FF 2, et pire, quand je me log nouvellement, j’arrive directement sur cette page, empêchant tout fonctionnement...

    Personne n’a rencontré ce problème ??

    Merci

    • J’ai le même souci (1.9.2a et plugin 1.2)
      Le plugin fonctionne normalement en front mais le backoffice est bloqué.
      Si je désactive le plugin et ça remarche.

    • Ce n’est pas mon cas :

      SPIP 1.9.2c, Nuage 1.2 : aucun problème.

    • J’ai eu le même problème.

      En supprimant :

      <chemin dir='' />

      dans plugins/nuage/plugin.xml

      c’est réglé.

      Un peu chaud comme bug non ?

    • saintvinasse

      même problème... réglé de la même manière.

    Répondre à ce message

  • 2

    J’ai inséré le nuage de mots clefs mais sous IE/Windows il apparait en ligne uniquement... où est le pb ?
    LIEN

    • Le pb provient des styles définis de la version 1.2 que tu utilises. C’est corrigé dans la version 1.3 (version de dev), mais voici ce qu’il faut faire :

      dans le fichier nuage_pipelines_public.php

      ul.nuage li {
      	display: inline;
      	white-space: nowrap;
      }

      par

      ul.nuage li {
      	display: inline;
      	line-height:2em;
      }
      ul.nuage li a {
      	white-space: nowrap;
      }

      ça devrait être corrigé dans le zip d’ici quelques jours.

    • James faut que je t’embrasse !

      Tu me sauves ma journée !

      UN BIG ENORME MERCI

    Répondre à ce message

  • Bon alors je vais peut être me faire taper sur les doigts par les concepteurs du plugins mais j’ai enfin trouvé une solution satisfaisante pour modifier la taille des mots du nuage...

    J’ai été modifier le fichier nuage_popularite_fonction.php
    à la ligne 22 vous voyez ça :

    $ s = ceil ( 15 * $score ) ;

    Il suffit de modifier le 15 par une valeur inférieure ou supérieure. Moi j’ai mis 7 et ça donne ça :

    voir nuage de tags en ligne

    Répondre à ce message

  • 1

    Bon, sur spip-liste ça n’a rien donné alors je poste là.

    Hello,
    j’ai un petit soucis concernant le critère {frequence} qui ne sort pas tous les mots.

    Lorsque l’on fait une boucle (MOTS) classique, et qu’on désire afficher tous les mots d’un groupe (ex : tags) et bien ça affiche TOUS les mots, y compris ceux qui ne sont assignés à rien.

    En revanche, dès qu’on utilise {frequence} (par exemple pour un nuage), la boucle ne sort plus que les mots qui sont assignés à AU MOINS un objet. Et ce, MEME si on précise que la fréquence doit être supérieure ou EGALE à zéro. Jamais il ne sort les mots qui ne sont assignés à rien.

    C’est fort embêtant dans mon cas, parce que j’ai des nuages qui servent d’aide pour ajouter des tags, et j’ai pré-créé des tags d’exemple qui doivent *absolument* s’afficher en dessous des input text même s’ils n’ont jamais été assignés.

    La seule solution que je vois pour l’instant, c’est de créer un article bidon qui sera masqué et auquel j’assigne tous mes tags d’exemple.
    Mais c’est vraiment de la bidouille quoi...

    Sinon un autre petit problème moins grave : certains liens des nuages ont un espace à la fin. C’est moche. Why ?

    Is there a solution ?
    Merci d’avance

    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