Ce plugin est une mise à jour majeure du plugin Notation d’articles destiné à SPIP 2.0. Les principales nouveautés sont les suivantes :
- plugin basé sur les nouveaux formulaires ajax de SPIP 2
- utilisation du script Jquery Star Rating
- notation des articles, des messages de forum ou tout autre autre élément de SPIP (auteurs, rubriques...)
Correctement installé (voir http://www.spip.net/fr_article3396.html), le plugin permettra aux visiteurs de noter les éléments de SPIP directement depuis l’espace public.
La notation se fait de façon classique sous forme d’étoiles cliquables, à l’apparence et au nombre paramétrable (jusqu’à 10).
Mise à jour en spip2
Ce plugin fonctionne à partir de SPIP 2.0beta2. Si vous utilisiez le plugin Notation d’articles (à jour !) avec un SPIP 1.9.2, vous pouvez (après avoir effectué les sauvegardes nécessaires de la base de données) :
- désactiver les plugins,
- mettre à jour votre SPIP en version 2,
- mettre à jour les plugins (CFG et notations) notamment et les activer. Les tables du plugin notations seront alors mises à jour.
Attention : SPIP2 est une version obsolète, c’est désormais SPIP3 qu’il faut utiliser !
Comment ça marche ?
Le plugin gère 2 tables :
- NOTATIONS : qui contient les notes saisies par visiteur, avec les champs suivant :
-
#OBJET
: le type d’objet noté ; (exemple : article) -
#ID_OBJET
: identifiant de l’objet noté (exemple : 28) ; -
#ID_AUTEUR
: l’auteur ayant voté (s’il est identifié) -
#IP
: l’adresse IP (utile si le visiteur ne s’est pas identifié) -
#NOTE
: la note attribuée ; -
#MAJ
: la date de saisie de la note
-
- NOTATIONS_OBJETS : qui contient les statistiques des votes par élément de SPIP :
-
#OBJET
: le type d’objet noté ; -
#ID_OBJET
: identifiant de l’objet noté -
#NOTE
: la note moyenne (utiliser le filtre[(#NOTE|round)]
pour avoir la note arrondie) ; -
#NOTE_PONDEREE
: la note pondérée (voir plus loin) ; -
#NOMBRE_VOTES
: le nombre de votant.
-
Vous pouvez afficher le contenu de ces tables via les BOUCLEs de SPIP.
Comportement :
- On limite à un vote par article et par utilisateur (ou adresse IP lorsqu’on n’est pas enregistré).
- Une personne non enregistrée vote donc sur son adresse IP. Si une même adresse IP vote plusieurs fois, le nouveau vote remplace l’ancien sauf s’il correspond au vote d’un utilisateur identifié qui reste prioritaire (non mais).
- Si l’utilisateur s’est identifié, on enregistre son id_auteur, ce qui permet de gérer un vote des auteurs (vote de la rédaction, critiques...).
- Vous pouvez limiter le vote aux personnes enregistrées au préalable, aux auteurs, aux seuls administrateurs ou l’ouvrir à tous.
Proposer un vote
Il suffit d’indiquer dans ses squelette d’afficher le formulaire de notation :
<BOUCLE_art(ARTICLES){!par date}{0,10}>
#TITRE -- notez cet article #FORMULAIRE_NOTATION<br />
</BOUCLE_art>
#FORMULAIRE_NOTATION
s’applique automatiquement sur le type de boucle dans lequel il est inscrit, ainsi, il s’appliquera sur un auteur dans une boucle AUTEURS, ou permettra de voter un message de forum sur une boucle FORUMS.
Il est cependant possible de forcer le type et l’identifiant de l’objet à noter en indiquant les deux paramètres objet et id_objet : #FORMULAIRE_NOTATION{rubrique,#ID_RUBRIQUE}
Le plugin propose les variantes de formulaires suivantes :
-
#FORMULAIRE_JAIME_JAIMEPAS
permet aux visiteurs de voter pour ou contre et de retirer leur vote (suivant la configuration). -
#FORMULAIRE_JAIME
permet aux visiteurs de voter pour ou de retirer leur vote (suivant la configuration).
Afficher un vote
Par défaut, la balise #FORMULAIRE_NOTATION
affiche une note de la moyenne pondérée de l’élément. Une personne pouvant voter peut cliquer une étoile pour enregistrer son vote. Une personne ne pouvant pas voter ou ayant déjà votée (selon la configuration) pourra simplement voir la moyenne sans pouvoir cliquer.
Il est possible d’afficher des notes données sans utiliser le formulaire en utilisant la balise #NOTATION_ETOILE{#NOTE}
, à laquelle on transmet la note à afficher.
Affichons la liste des derniers votes de visiteurs enregistrés (id_auteur>0) de l’article en cours :
<BOUCLE_dernieres_notes_article(NOTATIONS){!par maj}{0,5}{id_article}{id_auteur>0}>
- <BOUCLE_a(AUTEURS){id_auteur}>#NOM</BOUCLE_a>, Note #NOTATION_ETOILE{#NOTE}<br />
</BOUCLE_dernieres_notes_article>
Qu’on peut simplifier en forçant une jointure sur la table auteurs :
<BOUCLE_dernieres_notes_article(NOTATIONS auteurs){!par maj}{0,5}{id_article}>
- #NOM, Note #NOTATION_ETOILE{#NOTE}<br />
</BOUCLE_dernieres_notes_article>
Etre dans la moyenne
Pour trier les articles (ou autre élément) selon les critères de notation, par nombre de vote, moyenne ou moyenne pondérée, il est conseillé d’utiliser un critère spécifique {notation}
. Ce critère effectue la jointure (liaison entre les tables) et les calculs.
Ainsi, la présence de {notation}
permet d’utiliser {!par moyenne}
:
<BOUCLES_messages(FORUMS){id_article}{notation}{!par moyenne}>
#TITRE du message, #NOTATION_NOMBRE_VOTES votes, #NOTATION_ETOILE {#NOTATION_MOYENNE}<br />
</BOUCLES_messages>
La boucle précédente va lister tous les messages de forums d’un article, même ceux qui n’ont pas reçu de notes (d’un point de vue SQL, c’est un LEFT JOIN qui est effectué). Pour afficher uniquement les messages ayant reçu des votes, il est possible de transmettre une comparaison au critère notation, ici {notation nombre_votes>0}
:
<BOUCLES_messages(FORUMS){id_article}{notation nombre_votes>0}{!par moyenne}>
#TITRE du message, #NOTATION_NOMBRE_VOTES votes, #NOTATION_ETOILE{#NOTATION_MOYENNE}<br />
</BOUCLES_messages>
Pour certains cas, vous devrez utiliser la table NOTATIONS_OBJETS
pour afficher vos statistiques. Vous pouvez utiliser les modèles prédéfinis (dans le dossier /modeles du plugin) ou vous en inspirer selon vos propres besoins.
Qu’est-ce que la pondération ?
Le but est d’accorder une meilleure note aux articles ayant reçu plus de votes : il est injuste qu’un article ayant reçu 1 seul vote de 5 soit mieux classé qu’un article ayant reçu 100 votes et une moyenne de 4,99 (non ?)...
On choisit la formule :
moy_ponderee = moy * (1-EXP(-5*nb_votes/ponderation)))
Si nb_votes>ponderation
, on a moy_ponderee~moy
, ;
sinon moy_ponderee<moy
, .
Le principe de la pondération est de pénaliser les articles ayant eu peu de votes... et faire sortir en premier ceux ayant suscité le plus d’intérêt.
Le facteur de pondération est le nombre de votants que vous jugez pertinent, en fonction de la fréquentation et du nombre de votes sur votre site (tout article ayant un nombre de votes inférieur au facteur de pondération verra sa note pénalisée), il est réglable dans l’espace privé.
Pour désactiver la pondération, choisissez un facteur de pondération de 1.
Configuration dans l’espace privé
Une nouvelle icône vient s’ajouter au menu Activité [1]. Elle permet d’accéder au paramétrage du plugin : facteur de pondération, ouvrir la notation aux administrateurs, aux auteurs, aux personnes enregistrées ou à tous. Une option permet de définir si une personne peut modifier sa note après avoir voté ou non.
Le nombre d’étoiles que vous désirez afficher (la valeur max de la note, entre 1 et 10) doit être fixée en début de vote afin de ne pas créer d’incohérences dans la notation.
Les modèles du plugin
Le plugin propose un certain nombre de modèles à utiliser directement dans vos articles ou squelettes, regardez les, modifiez les pour les adapter à vos propres besoins :
- <aut33|notation|id_article=10|left>
affiche la note de l’auteur 33 pour l’article 10
- <notation|topten|max=10|titre=le TopTen>
affiche le topten (les 10 articles les mieux notés)
- <notationxx|statistiques|left|titre=Statistiques>
affiche les statistiques (nombre de votes) pour l’article xx.
- <notationxx|tableau|id_auteur=yy,zz,...>
affiche la note donnée par un groupe d’auteurs (yy,zz...)
- <notation|preferee|titre=TOPTen|max=10|id_auteur=1|left>
affiche les 10 meilleures notes de l’auteur 1
FAQ
Comment gérer des critiques ?
Historiquement (issu du plugin notations d’articles), il est possible de gérer des critiques au travers des forums de l’article : dans ce cas, le titre du post doit contenir le texte [notation]
. Les points positifs doivent être précédés de [+] et les points négatifs de [-].
À ce titre, un filtre est disponible : notation_critique
pour supprimer les balises et remplacer [+] et [-] par une image d’img_pack (notation-plus.gif et notation-moins.gif), par exemple [(#TITRE|notation_critique)]
permet de supprimer [notation] du titre du post.
Un exemple d’utilisation est donné par le modèle <autxx|critique|id_article=yy>
qui affiche la critique de l’auteur xx pour l’article yy...
Dernières évolutions du plugin
Ajoûts du dec 2010 :
Les balises #NOTATION_NOMBRE_VOTES, #NOTATION_MOYENNE et #NOTATION_MOYENNE_PONDEREE peuvent s’écrire avec une référence de boucle :#_toto:NOTATION_MOYENNE_PONDEREE
Elles peuvent être utilisées en dehors du contexte d’une boucle ayant le critère {notation}
. Il faut alors leur passer le contexte en paramètre :#NOTATION_MOYENNE_PONDEREE{article,12}
Discussions par date d’activité
158 discussions
OK merci ;)
Répondre à ce message
Hello Matthieu et merci de ta reponse,
effectivement, apres desactivation du plugin couteau suisse, puis reactivation 1 par 1 de mes modules tout est devenu ok.
Reponse simple et rapide...
Par contre comment savais tu que cela venait du couteau suisse ?
SuperPRATIX
Héhé : Firebug sous Firefox... Outil de débug imparable... Il suffit d’explorer la source... et d’afficher les erreurs js !
https://addons.mozilla.org/fr/firefox/addon/1843
Répondre à ce message
Bonjour,
Je suis sur un spip 2
J’ai installer le plugin, mais au lieu des etoiles apparait un jeu de radio bouton suivi du bouton VOTER, cest ce normal.
Que faut til faire pour modifier cet affichage ?
exemple de mon probleme de notation : http://spip.superpratix.com/spip.php?article143
Merci a tous et bonne année 2009
Ah, c’est que tu as une erreur JS sur un autre script, du coup JavaScript s’arrête. L’erreur est :
onglets_init is not defined (onglets_init.apply(this);)
et semble venir d’un module du couteau suisse.Bref, notations n’y est pour rien :)
Répondre à ce message
Je fais suite à mes deux précédents messages...
Je ne sais ni pourquoi, ni comment, mais l’erreur que je rapportais était liée au dossier /local de SPIP et à la gestion des sous-dossiers « cache-xxx » et fichier « cache-xxx.plat ».
Après avoir fait les manip que je décris dans mes messages, le menu « Afficher les notes » fonctionne bien. Donc cela n’a rien à voir avec le plugin !
Sur SPIP Forum : Version 2.0 - Fatal error - dans le fichier ecrire/inc/flock.php.
Répondre à ce message
Après vérification, les champs « objet » des deux tables sont bien remplis... « article », « breve » et « forum ».
Par contre sur la table « spip_notations_objets », phpMyAdmin 2.8.2.4 me met un message d’alerte « La colonne
objet
ne devrait pas faire partie à la fois d’une clé primaire et d’une clé index »...Intéressant ce que dit phpMyAdmin... ça sera à corriger tiens... mais c’est pas ça qui fait planter le truc...
Une recherche avec objet=’’ ne donne rien donc ? je ne comprends pas pourquoi il cherche un squelette « modeles/inc-notation-preferee- » sans mettre d’objet derrière... Y a comme un truc
Répondre à ce message
Bonjour,
J’utilise un squelette qui est un plugin. « Notation d’éléments SPIP » fonctionne parfaitement dans l’interface publique par contre, dans l’interface privée, je n’ai pas accès au menu « Afficher les notes » (ok pour « Paramétrage ») comme une personne l’a déjà signalé avant.
J’ai une fenêtre « SPIP 2.0.2 debug » qui s’affiche avec « Erreur(s) dans le squelette, Aucun squelette ’modeles/inc-notation-preferee-’ n’est disponible..., Erreur de compilation » avec mention du nom de mon squelette-plugin.
Cela suggère que l’interface privée va chercher dans le dossier de mon squelette plutot que dans les sous-dossiers du plugin « Notation » ??? Dois-je transférer dans mon squellette certains de vos modèles ? Si oui, lesquels ?
Merci pour votre aide et félicitations pour cette nouvelle version très réussie...
Bonnes fêtes de fin d’année
Non, cela suggère qu’il y a un bug :)
Normalement, il devrait chercher des squelettes « modeles/inc-notation-preferee-$objet » comme modeles/inc-notation-preferee-auteurs ... enfin de mémoire.
Or là, on dirait qu’il n’a pas le nom de l’objet
Donc il cherche un squelette inexistant forcément.
Note :
Si tu connais phpmyadmin, pourrais tu regarder que la table spip_notations et spip_notations_objets (ou _liens je sais plus) ont bien à chaque fois le nom de l’objet de renseigné dans leurs colonnes ?
Répondre à ce message
J’utilise le modèle topTEn, mais celui-ci apparait comme ci-dessous :
Avez vous une solution ?
Modele top ten
Normal.
L’ancien modele est à revoir car il ne tient compte que des articles or dans la nouvelle table ce n’est plus id-article car il est remplacé par id_element vu qu’on peut noter autre chose.
Je crois qu’il doit y avoir une révision à ce sujet pour scinder le modèle en plusieurs selon ce qu’on veut noter .
Répondre à ce message
Bonjour,
Et merci de reprendre l’idée des notations pour la V2.
Cependant j’utilisais jusque là le plug-in notation d’articles en version 1.9.3 et je vient de passer vers cette nouvelle version.
Le problème c’est que les anciennes notes n’apparaissent pas et pourtant quand je vais dans la configuration du plugin notations, je vois nombre d’objets ayant eu une note : 2 (ça c’est deux notes que j’ai donné moi même pour tester) et en en dessous, nombre de vote total sur le site : 54 (mais cela n’apparaissent plus en partie publique)
Comment faire pour retrouver les anciennes notes ?
Où sont elles conservée ? Dans la base de donnée ou ailleur ?
Merci
Eric
Bonjour,
Pour afficher les notes dans ses squelettes il faut bien utiliser la balise du plugin :
#FORMULAIRE_NOTATION
Est-ce que c’est bien ce que tu fais ? Vérifie que tu as bien remplacé l’ancienne balise
#NOTATION
par la nouvelle.Bonjour,
Oui c’est bien ce que j’ai fait mais tous les articles sont revenus à 0.
Mais en partie privée il m’indique qu’il y a Nombre de vote total sur le site 54 et Nomre d’objets ayant un vote 2.
Bizarre non ?
Pour l’installation j’ai supprimé le dossier du plus in Notation article et j’ai mis à la place le dossier du nouvea plug in Notation.
C’est ce qui fallait faire ou juste écraser l’ancien ?
Le notes sont bien coservés en base de données non ?
Merci
Je suis passé à la version 0.4 de l’ancien plug-in et il m’a retrouvé mes anciens votes.
Bonsoir,
Maintenant que tu as installé la version 0.4 de notation d’articles ta base doit contenir l’info version_base du plugin dans la table spip_meta.Du coup cela devrait bien se passer pour la mise à jour des tables si tu installes le plugin notation (il va renommer les tables en spip_notations et spip_notations_objets).
Bon courage ++
Bonjour,
J’ai remis en place la nouvelle version du plug-in Notation mais il ne me trouve toujours pas les anciens votes.
Il me remet uniquement les 2 votes que j’avais fait en test.
Par contre il me dit toujours qu’il y a 54 objets ayant un vote.
Retour sur la version 0.4, les votes sont revenus.
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 :
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.
Suivre les commentaires : |