Nuage (de mots-clés)

version plugin

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.

Installation

Nuage (4.0.7)

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_popularite}{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}

Dernière modification de cette page le 13 février 2019

Discussion

128 discussions

  • Fabre Henri

    Je viens d’installer ce plugin et j’ai créé un article avec le code <nuage2> cela fonctionne pour dénombrer les mots clés dans les articles. Est-il possible d’adapter le plugin pour que le dénombrement porte sur les mots-clés des rubriques ?

    mon site : http://www.cramesdelabobine.org

    Répondre à ce message

  • Pascal FORTIN

    Bonjour,

    Je découvre ce WE un dysfonctionnement sur le plugin « Nuage ».
    Est-ce lié aux dernières mises à jour de « nuage » (11/10/2017) ou de SPIP (13/10/2017), en tous les cas il est devenu impossible de ne spécifier l’affichage des mots clés de 1 seul groupe de mots clés.
    Voir http://www.clg-capucins-melun.fr
    Je vous joins aussi une copie d’écran.
    Merci pour vos conseils.
    Pascal FORTIN

    Répondre à ce message

  • 3

    Bonjour,
    Je viens de découvriir ce plugin que je trouve génial, merci à ces auteurs
    Bien entendu j’ai testé et dans l’espace privé les mots clé apparaîssent mais une fois sur l’espace public rien, j’ai beau recalculer la page toujours rien, supprimé le cache via Ftp, rien. je cherche voir si jai oublié quelque chose mais je ne vois pas. Merci de m’aider.

    • Je me réponds, j’ai compris, Dans ma page sommaire.html j’ai installé (#MODELEnuagenotid=1 à l’endroit ou je voulais qu’apparaisse le nuage, et le tour est joué. merci de m’avoir lu.

    • et oui, je suis de retour, j’y comprends plus rien, j’ai appliqué sur un autre site la même méthode et voilà qu’il m’envoie un message « Aucun squelette modèles/nuage n’est disponible... », alors là j’ai vraiment besoin d’explications, j’ai vérifié sur l’autre site et sur squelettes/modèles il n’y a rien
      Merci

    • Bon,
      Il semble que tout le monde soit parti, je laisse quand même un message :
      dans la page sommaire.html, étant donné que je n’ai que deux groupes de mots clés seul le deuxième m’intéresse alors j’ai indiqué l’appel ainsi : [(#MODELEnuagenotid=1)] et le résultat est le suivant

    Répondre à ce message

  • 1

    Hello,
    Bon, moi un truc m’échappe.

    Contexte : SPIP 3.0.17 en dev HTML5 pour une migration d’un vieux squelette de spip
    Pas de forums, juste des articles.
    Je reprends tous les fichiers.

    J’ai activé les mot-clefs dans le backoffice, mais rien n’y fait.

    Je n’arrive pas à afficher le nuage
    Balise intégrée dans navsub : [(#MODELErubrique_nuage)]

    Ais-je oublié quelque chose ?
    Merci ;)

    • Bonjour,
      Je suis également sous 3.0.17 avec nuage 4.0.6. Je souhaite un nuage sur les documents, mais je test en premier lieu en page sommaire avec des mots clés sur article et ne parviens pas à afficher le nuage malgré l’insertion de [(#MODELEnuage)].
      Je ne trouve pas la réponse.
      Merci

    Répondre à ce message

  • 1

    Bonjour,

    J’aimerai utiliser ce plugin différemment, mais le modèle n’existe pas (encore).

    Il s’agirait de générer un nuage présentant les litres des rubriques de niveau 2 de certains secteurs. Evidemment, cet affichage en nuage serait pondéré par la popularité ou le nombre d’articles des secteurs.

    Cela vous parait-il accessible aisément ?

    • Salut,

      je en sais plus trop où j’avais trouvé le truc (ça fait qqs temps), mais ça fonctionne :

      <div id="evenements">
      	<h1>Événements</h1>
      	<div><?php
      		$pop = array();
      		<BOUCLE_evenements(RUBRIQUES){par hasard}{id_parent=1}>
      			$titre[#ID_RUBRIQUE]='[(#TITRE|texte_script)]';
      			$url[#ID_RUBRIQUE]='#URL_RUBRIQUE';
      			<BOUCLE_art(ARTICLES){branche}>
      			</BOUCLE_art>
      			$pop[#ID_RUBRIQUE]=#TOTAL_BOUCLE; # Nombre d'articles pour cette rubrique et ses sous-rubriques
      			</B_art>
      		</BOUCLE_evenements>
       
      		$maxpop = @max($pop); # Plus grand nombre d'article pour un mot
       
      		foreach ($titre as $id => $t) {
      			$score = $pop[$id]/$maxpop; # entre 0 et 1
      			$s = ceil(4*$score);
      			$t = str_replace(' ', '&nbsp;', $t);
      			$l = "<a href='".$url[$id]."' class='nuage".$s."'>$t</a>";
      			echo "$l &nbsp; \n";
      		}
      	?></div>
      </div>

      Ça a visiblement été mis en ligne (quelle bonne idée) par là : http://contrib.spip.net/boucle-nuage-sur-rubriques

    Répondre à ce message

  • 3

    Bonjour, je suis en train de tester ce plugin sur un site en développement. J’ai intégré dans mon squelette de sommaire le modèle

    1. #[(MODELE{nuage})]

    et il marche parfaitement.

    Cependant j’ai un petit souci. Quand j’intègre ce même modèle dans mon squelette de rubrique, il ne se passe strictement rien. L’affichage du code source me montre bien que le modèle ne génère rien. (désolé, pour l’instant le site n’est pas accessible sur le net... je le teste en local)

    Ce que je voudrais c’est que le nuage correspondant à l’ensemble des mots clés du site s’affiche, quelque soit l’endroit où j’insère le modèle, de façon a avoir un mode de navigation alternatif (je ne trouve pas très intéressant d’avoir juste les mots clés d’un article ou d’une rubrique, c’est un avis personnel, en aucun cas une critique du plugin). Comment puis-je arriver à cette solution ?

    Merci d’avance, à part ça le plugin est très bien fichu

    • a priori AUCUNE raison que cela fonctionne différement en fonction du lieu d’appel. En revanche #[(MODELE{nuage})] ne peut pas fonctionner, le # n’étant pas au bon endroit.

      Il faudrait faire un var_mode=inclure et un var_mode=debug pour voir où cela cloche : http://www.spip.net/fr_article4453.html

    • Oups, désolé, c’est bien [(#MODELEnuage)] que j’ai mis dans mon code, je me suis juste trompé en tapant le message.

      J’essaierai de placer les paramètres de debug pour voir ce qu’il me dit je reviendrai pour donner mes résultats.

      Merci

    • Bonjour,

      J’ai un petit peu avancé, peut-être que ça va éclairer :
      J’ai essayé de recalculer la page sommaire et la page d’une rubrique avec var_mode=debug
      Dans les deux squelettes, j’ai placé un appel de modèle

      1. #[(MODELE{nuage})]

      J’ai l’impression qu’il se passe un drole de truc dans la boucle maxmot
      (j’ai pas regardé plus loin, mais déjà si ça part en vrille à ce niveau ça augure mal de la suite).

      sur la page sommaire cette boucle s’appuie sur la requête sql suivante :

      SELECT mots.id_mot
      FROM spip_mots AS `mots`
      WHERE (mots.id_groupe REGEXP ’^(.*)$’)
      	AND NOT((mots.id_groupe REGEXP ’^(-1)$’))
      

      Ça me parait correct : on cherche à sélectionner tous les mots clés.

      Par contre la même boucle, quand elle est exécutée dans un quelette de rubrique, s’appuie sur la requête suivante :

      SELECT mots.id_mot
      FROM spip_mots AS `mots`
      WHERE (mots.id_groupe REGEXP ’^(26)$’)
      	AND NOT((mots.id_groupe REGEXP ’^(-1)$’))

      Je pige pas le 26. id_groupe est sensé être un groupe de mots clés ? Si c’est le cas alors c’est très bizarre : je n’ai pas de groupe de mot clés ayant l’id 26 dans ma base, par contre 26 c’est bien l’id de la rubrique dans laquelle je suis.

      (par ailleurs je ne voudrais pas sélectionner juste les mots clés de la rubrique en question, je voudrais plutôt garder un comportement global, identique sur tout le site, mais je pense qu’il vaut déjà mieux voir ce qui cloche à ce stade).

      Eric

    Répondre à ce message

  • Bonjour,
    J’ai eu un petit désagrément quand à l’affichage des mots clés :
    En effet rien ne s’affichait pas, avec comme exemple donné le paramètre :
    [(#MODELE{nuage_popularite}{id=4})]

    En effet ce paramètre fonctionne apparement si on a activé les « Statistiques des visites » dans « configuration avancée » de Spip.

    Les stats se remplissant l’affichage des mots-clés devrait apparaître

    de plus on peut utiliser le paramètre suivant :
    #INCLURE{fond=modeles/nuage,id=4}
    pour afficher le modèle si cela ne fonctionne pas.

    Grand merci à b_b pour son aide précieuse sur le canal IRC #spip

    Cordialement.

    Répondre à ce message

  • Une fourmi

    Adopté pour mon site sous spip 3.0, marche très bien et répond parfaitement à mes options de mise en page merci ! http://www.myrmecofourmis.fr/ Et je pense que niveau référencement et maniabilité du site, ça donne un vrai plus (chez moi ce sont bien les mots fourmis, essaimage, insectes etc qui sortent).

    Répondre à ce message

  • 11
    Papadakis

    Pas compatible avec 3.0, ça retourne n’imp, c’est basé sur la popularité des stats, rien à voir avec un « vrai » nuage.

    • Pour rester dans le même ton :p

      Parfaitement compatible SPIP 3.0, retourne exactement ce qui est demandé.

      Merci pour ton retour :)

    • Bonjour
      J’ai également un souci avec la version 4.0.3 (affichage de mots clés attachés à aucun article, taille ne respectant pas le nombre d’articles associés.... on peut même croire que cela dépend de l’ID_MOTCLE...)
      Bref, je suis revenu à la version 4.0.2.

    • @Par77 as-tu une url qui montre le problème à nous filer ?

    • Désolé... Puisque je suis revenu sur une version antérieure.... Je testerai sur un autre site et verrai si le problème est récurrent.
      Merci de la réponse.

    • Aymeric

      Bonjour,

      Je monte actuellement un site SPIP (en développement toujours), tout est tout frais, dernières versions partout ect... Je tague 4/5 articles avec une 10ène de mots-clés...

      J’affiche [(#MODELEnuageid=4)] dans mon squelette de test. Mon groupe de mots « activités » apparait bien mais la pondération des mots est en revanche erronée.

      Il m’affiche en gras et en 1er des mots que je n’utilise pas encore (j’ai vérifié, zéro utilisation pour ces mots)...

      Je n’en ai pas encore besoin à ce stade, c’était un rapide essai avec le plugin Etiquettes. J’espère avoir des éléments, des pistes à apporter plus tard mais à ce stade je pense effectivement que le plugin ne fonctionne pas comme il devrait.

    • Francis

      Bonjour,

      de même « ça ne fonctionne pas » sur le site http://www.sudsantesociaux.org/ (colonne de droite, trois nuages différents). La taille des mots clefs ne varie pas suivant le nombre d’occurrence (affichable en cliquant sur les mots clef) ni suivant la popularité (D’ailleurs, on souhaite un changement de taille suivant le nombre d’occurrence :-)

      l’appel est le suivant dans le squelette (pour le premier nuage / similaire pour les autres) : [(#MODELEnuageid=11)]
      SPIP : 3.0.14
      Nuage : 4.0.3

    • Salut Francis, peux-tu tester avec le modèle nuage_dl pour voir si cela fonctionne mieux ?

    • Francis

      Beaucoup mieux merci :-). Maintenant va falloir que je bidouille ma feuille de style.

      Il y a t-il une documentation avec ce genre d’info ?

    • Aymeric

      Bonjour et merci pour la réponse rapide. Le modèle « nuage_dl » fonctionne aussi dans mon cas.

    • Salut, pour info le bug présent dans le modèle du nuage vient d’être corrigé par Cedric, merci à lui :)

      http://zone.spip.org/trac/spip-zone/changeset/84282

      Vous pouvez tester la version 4.0.4 pour voir si cela corrige bien le problème. Merci d’avance pour vos retours ;)

    • Merci !
      Je viens de tester. Je ne rencontre pas le problème de la version précédente.

    Répondre à ce message

  • Bonjour,

    Suite à problème d’utilisation du plugin nuage (version 4.0 du plugin avec Spip 3.0, modèle nuage_popularité ), nous n’avions aucune différence de taille des mots-clés dans le nuage (tous de la même taille), je me permets d’ajouter ce commentaire parce que :

    1/ Sauf erreur de ma part, je n’ai vu nulle part la solution à ce problème dans la documentation du plugin (c’et un problème je trouve pour un plugin aussi utile !)

    2/ Cela évitera peut-être à d’autres de perdre autant de temps que moi à chercher la solution. En lisant les commentaires, il semble d’ailleurs que certaines personnes aient eu ce problème avec différentes versions de Spip.

    Pour pouvoir afficher des tailles de mots-clés différentes (avec le modèle nuage_popularite), il faut impérativement (et tout simplement) avoir activé les statistiques du site, qui ne semblent pas activées par défaut dans l’installation de Spip (à confirmer) : dans l’espace privé, menu Configuration / Fonctions avancées, cocher « Gérer les statistiques des visites », et enregistrer la modification de la configuration.
    Le modèle nuage_popularite utilise le critère #popularite qui ne fonctionne visiblement que si le module de stats. de Spip a été activé.
    Après cela, il faut que quelques visites sur les articles concernés par les mots-clés aient eu lieu pour que l’effet se fasse sentir sur le nuage et la taille des mots-clés... (les visites n’apparaissent pas immédiatement dans les stats., la doc. de Spip n’indique pas vraiment à quel intervalle elles sont affichées...)

    Répondre à ce message

Ajouter un commentaire

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

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