SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Navigation > Nuage de mots (tagcloud) > Nuage de mots-clés > Le critère frequence

Le critère {frequence}

2 septembre 2007 – par James – commentaires

2 votes

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

Dans sa version 1.3, le plugin nuage introduit un nouveau critère {frequence} imaginé par Stéphane Laurent qui permet une simplification de l’écriture du modèle « nuage ».

Il a été revu dans sa conception pour pouvoir être généralisé et étendre ses possibilités.

Un peu d’histoire

La première version du plugin avait pour objectif de déplacer le code PHP de la contribution initiale hors du squelette. Il avait fallu pour cela emporter un peu de HTML avec.

L’introduction d’une balise #FOREACH dans SPIP permettait de correctement séparer les calculs en php du rendu html en exploitant 2 modèles : 1 pour le nuage et 1 pour chaque mot-clé.

Ce critère apporte de nouvelles simplifications : Le nuage se réalise avec une seule boucle, dans un seul fichier, tous les calculs sont réalisés à l’aide de balises et de filtres SPIP. Il permet donc de complètement transformer le nuage de mots-clés en surchargeant uniquement le modèle.

Définition

Il faut comprendre la fréquence comme étant le nombre de fois que l’on associe l’objet éditorial courant à un objet éditorial d’un autre type.

Par exemple, dans le cas des mots-clés, cela pourrait être le nombre d’articles auxquels on à associé chacun de ceux qui seront affichés par une boucle MOTS qu’il fallait écrire précédemment :

<BOUCLE_m(MOTS)>
#PUCE le mot #TITRE est associé

<BOUCLE_a(ARTICLES){id_mot}></BOUCLE_a>
#TOTAL_BOUCLE fois à des articles.
<//B_a>

</BOUCLE_m>

et qui devient aujourd’hui :

<BOUCLE_m(MOTS){frequence}>
#PUCE le mot #TITRE est associé #FREQUENCE fois à des articles.
</BOUCLE_m>

On ajoute le critère {frequence} à notre boucle MOTS et la balise #FREQUENCE affichera le compte. C’est ici l’équivalent du #TOTAL_BOUCLE de l’ancienne notation.

Choix des objets éditoriaux

Pour poursuivre avec l’exemple des mots-clés, on sait que ceux-ci peuvent être associés à des articles, des brèves, des rubriques, des sites, voire des messages de forum. On sait aussi qu’on peut étendre les possibilités de SPIP et les associer à d’autres objets éditoriaux, créés pour l’occasion. Ce critère prévoit ces possibilités. Il suffit pour cela de préciser de quels objets on souhaite calculer la fréquence. Exemple :

<BOUCLE_m(MOTS){frequence rubriques}>
#PUCE le mot #TITRE est associé #FREQUENCE fois à des rubriques.
</BOUCLE_m>

Attention : Pour les messages de forum, on utilisera « forum » comme paramètre et pour les sites, ce sera « syndic ».

Choix de la fréquence minimum

Poursuivons toujours. Je réalise un nuage avec un très grand nombre de mots-clés. Et ma charte graphique m’impose un espace limité sur la page d’accueil. Je ne pourrais pas afficher tous les mots-clés. Je choisis donc, de limiter l’affichage aux mots-clés les plus utilisés. Exemple :

<BOUCLE_m(MOTS){frequence breves>=50}>
#PUCE le mot #TITRE est associé au moins 50 fois à des brèves.
</BOUCLE_m>

On a un éventail assez large d’opérateurs de comparaison : =, != (différent), >, <, >= et <=. Et on peut utiliser une balise SPIP pour spécifier le nombre à comparer, comme le montre l’exemple ci-dessous.

Choix d’une fréquence précise :

<BOUCLE_m(MOTS){frequence forum=#ENV{freq_forum,0}}>
#PUCE le mot #TITRE est associé précisément #ENV{freq_forum,0} fois à des messages de forum
</BOUCLE_m>

#ENV{freq_forum,0} renvoie à une utilisation classique de la balise #ENV. Se référer à la documentation pour son utilisation. Il est par contre utile de savoir que pour cet usage précis, le code ,0 est nécessaire ici pour éviter un plantage SQL. Vous pouvez bien sur choisir une autre valeur par défaut.

Si vous personnalisez le modèle nuage ou que vous exploitez ce critère dans un autre contexte dans un squelette inclus, pensez à transmettre le paramètre au moment de l’inclusion :

[(#MODELE{nuage}{freq_forum})]

ou

<INLURE{fond=inclusion}{freq_forum=100}>

#MAX_FREQUENCE

La balise #MAX_FREQUENCE permet pour une boucle donnée d’afficher la valeur maximale de la balise #FREQUENCE. Exemple :

<BOUCLE_m(MOTS){frequence}>
#PUCE #TITRE associé #FREQUENCE fois à des articles
[<p>(#FREQUENCE|=={#MAX_FREQUENCE}|?{
C'est le mot le plus utilisé !
})</p>]
</BOUCLE_m>

Quelques limitations

On ne peut pas cumuler les fréquences pour plusieurs types d’objets. On aurait apprécié que le critère puisse s’écrire {frequence articles>10,rubriques>10}. Cela aurait permis de construire une requête avec des OR ou des UNION, ceci dit si la technique des requêtes SQL vous intéresse. Malheureusement, il n’y a pas de mécanisme dans SPIP permettant de produire de telles requêtes. Ce fait que cette option sera développé plus tard, quand SPIP permettra cette construction.

#FREQUENCE ne tient pas compte du statut des objets sur lesquels on fait le calcul. Il faudrait être en mesure d’ajouter cette information quand c’est nécessaire. Suggestions de code bienvenus sur la liste de discussions spip-zone.

L’extensibilité du critère à d’autres objets que les mots-clés n’est pas automatique. La programmation nécessaire étant assez complexe, les explications supplémentaires à produire feront l’objet d’une prochaine publication.

Dernière modification de cette page le 2 septembre 2007

Retour en haut de la page

Vos commentaires

  • Le 13 décembre 2009 à 15:20, par enzo En réponse à : Le critère {frequence}

    Bonjour,

    Merci pour ce critère, qui m’est très utile dans le cadre de l’affichage de mes tags.

    Je suis confronté à une petite difficulté : j’ai créé une rubrique « Annuaire de liens », qui m’affiche tous mes sites référencés (syndiqués ou pas). A terme, cette rubrique devrait contenir beaucoup de sites, aussi ai-je choisi de les classer par mot-clé, en affichant la liste de mes mots-clés, et pour chacun la liste des sites qui lui sont associés ; un même site peut donc apparaître plusieurs fois s’il est associé à plusieurs mots-clés, ce qui ne me dérange pas.

    Premier ennui : ma boucle, dans un premier temps, m’affichait la liste des mots-clés, qu’ils soient ou non associés à un site ou un article. J’ai donc eu recours au critère « fréquence », qui m’a bien nettoyé mon annuaire en n’incluant que les mots-clés utilisés.

    Mais il reste du déchet, car certains mots-clés qui s’affichent sont associés à des articles, mais pas à des sites référencés. Ils s’affichent donc pour rien dans mon annuaire.

    J’ai tenté d’ajouter le critère id_rubrique=5, 5 étant le numéro de ma rubrique « Annuaire de liens »... et plus rien ne s’affiche ! Je pensais utiliser de manière plus fine mon critère « fréquence »... Auriez-vous une idée ?

    Je précise que TOUS mes sites référencés sont dans ma rubrique 5, et qu’elle ne contient que des sites référencés (je travaille d’ailleurs sur le fichier rubrique.html, et non sur article.html.

    Merci pour votre réponse.

  • Le 3 juillet 2008 à 07:22, par laurent En réponse à : Le critère {frequence}

    Serait il possible d’avoir un critère {par frequence (mots,articles,rubriques ..)}

  • Le 3 septembre 2007 à 16:09, par noé En réponse à : Le critère {frequence}

    Existerait-il un moyen de faire une sorte de :

    de tel sortes de pouvoir passez en paramettre le type d’objet sur lequel se fait la frequence de de récupérer ensuite le type ?

    généralisant les

    et

    • Le 3 septembre 2007 à 16:53, par James En réponse à : Le critère {frequence}

      est-ce que la partie « Choix des objets éditoriaux » de l’article n’est pas assez claire ? :)

      C’est précisément ce qu’elle explique, en faisant part des exceptions quand il y en a.

    • Le 14 septembre 2007 à 11:40, par RastaPopoulos En réponse à : Le critère {frequence}

      Peut-être qu’il voulait la même chose que moi : pouvoir passer en paramètre un truc arbitraire sorti de #ENV et pas écrit en dur dans la boucle.

      Du genre {frequence #ENV{type_d_objets,articles}}

      Mais tu m’avais dit que ce n’était pas possible pour l’instant.

Retour en haut de la page

Ça discute par ici

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Critère {mots}

    6 août 2009 – 316 commentaires

    Permettre de sélectionner facilement des objets SPIP ayant un ou des mots clefs en communs.

  • LinkCheck : vérificateur de liens

    13 février 2015 – 64 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Import ICS 2 (agenda distant)

    2 août – 39 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • GIS 4

    11 août 2012 – 1286 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

Ça spipe par là