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
Bonjour,
Un client m’a demandé d’ajouter des microformats ratings pour les articles de son site. L’unique objectif est d’optimiser le référencement.
Ce plugin me paraît répondre parfaitement à ce besoin dans la forme. Mais techniquement est-ce que cela répond à mon besoin en terme de SEO ?
Ce serait vraiment sympa de m’éclairer la-dessus....
Merci !
À priori il s’agirait de ce format : http://microformats.org/wiki/hreview#Schema
Donc le plugin pourrait/devrait (mais ne le fait pas pour l’instant) ajouter la class « rating » sur l’élément qui contient le texte du nombre de point.
Par contre, pour l’activer complètement, il revient au créateur de squelette de mettre le « hreview » sur le bloc englobant l’objet éditorial, ainsi que la class « item » et « fn » pour les infos du titre de cet objet noté. Et ça ce plugin peut pas le deviner (c’est en amont du formulaire ou des inclusions fournis ici).
Ok ! Merci beaucoup pour cette réponse qui me met déjà sur la voie. Je vais essayer de creuser un peu...
Bonjour à tous,
déjà un grand merci pour plugin qui est juste très bien fait !
Maintenant qu’on dispose de la spécification HTML5 et des microdata pourquoi ne pas les intégrer à la note, si le support HTML5 est activé dans l’interface privée ?
Cette norme, recommandée par google, me semble plus pérenne...
En fait le travail est déjà commencé/fini... Faut comprendre comment s’en servir now :
http://zone.spip.org/trac/spip-zone/changeset/72664/_plugins_/notation/trunk/inc/notation_balises.php
Répondre à ce message
Bonjour,
J’ai crée un objet etablissement avec la table spip_etablissements tout se passe bien. J’utilise le plugin notation que j’ai modifié pour pouvoir noté sur les établissements, les votes sont bien enregistré au niveau de la base de données. le nombre de vote s’affiche bien mais seule la 1re étoile reste jaune, je veux savoir si c’est normal...Voir image jointe
Ne serait-ce pas l’effet de la pondération ? (modifiable depuis les pages de config du plugin)
Merci pour votre réponse rapide, mais au niveau de la config je ne sais pas qu’est ce qu’il faut changer
J’ai Pondération de la note = 20
Accessibilité = à tous
Modifications des notes = Autoriser les votants à modifier leur note
et
Statut de la notation sur tous les objets = ouverte
Merci de votre aide
c’est normal et expliqué en détail dans le panel de configuration,
?exec=configurer_notation
Distribution des notes (note = 5, facteur de pondération = 20) :
donc les premières notes, renvoient une étoile.
si vous avez peu de notes sur votre site , choisissez plutôt une pondération à 4 ou 5 au lieu de 20.
Répondre à ce message
Bonjour,
Installé sur un Spip 3.0.13 tout neuf, intégré la balise dans inclure/documents.html :
Mais aucune étoile ne s’affiche entre mes textes « Note :» et « ! » ...
INSERT_HEAD bien en place. JS Activé.
Des pistes ?
Trouvé, pb de config du plugin :
« Si "fermée", la notation sera activable au cas par cas sur les objets ayant cette fonctionnalité. »
J’avais mis “fermé” pensant que ma boucle dans le squelette passerait par dessus, mais non.
Je ne comprends donc pas cette option.
Répondre à ce message
Bonjour, j’utilise actuellement un squelette Sarka-Spip et j’essaye d’installer le plugin notation, mais malheureusement je ne sais pas comment m’y prendre est-ce que quelqu’un pourrais m’aider svp ? J’utilise la version 3.0 de spip.
Salut, l’utilisation du plugin notation dans sarka-spip est spécifique à sarka (il faut chercher dans les pages de config de sarka après avoir activé notation). Il faudrait poser ta question dans les forums de sarka.
++
Répondre à ce message
Bonsoir, ce plugins ne fonctionne pas avec le Squelette The Morning After 1.2.0.Je suis sous Spip 3.0.11.
Si vous avez une astuce, je suis preneur.En vous remerciant.
Répondre à ce message
Bonjour,
Incompatibilité notation et notation-v2 ?
J’ai modifié les fichiers images de gif vers png pour star.png et delete.png pour personnaliser et gérer mieux la transparence des étoiles.
J’ai également modifié la CSS en conséquence.
Hors, mes étoiles delete qui apparaissaient correctement sur la V1 pour spip2 n’apparaissent pas sur la V2 pour spip3...
Ce qui n’est pas le cas de star qui a migré parfaitement.
Avez-vous une idée du problème ? Je sèche :(
Merci infinirment.
Répondre à ce message
Bonjour,
J’aimerai pouvoir afficher le nombre de vote par réponse. Du genre : J’aime : 10 votes, Je n’aime pas 1 vote.
Ce serait en effet très intéressant de pouvoir faire quelque chose dans ce genre, avec j’aime, j’aime pas.
Moi aussi je cherche à obtenir un resultat comme celui-là, mais je suis un pietre développeur, j’ai bien compris que l’on pouvait adapter le model notation_statistique au formulaire jaime_jaimepas pour les faires fonctionner ensemble. Si quelqu’un à une solution à proposer, je pense que ca peut intéresser un grand nombre de personnes.
Ok j’ai une solution simple qui fonctionne, à adapter en fonction de la note maximal définie dans les paramètres du plugin ( ici 5 ) :
Le PHP dans le squelette c’est rarement une bonne idée. Si tu as 1000 notes, cela va te générer ici 1000 lignes PHP
$i++;
. Est-ce vraiment une bonne idée ?Tu peux écrire plus simplement, et plus proprement :
Genial ! Tout simplement Merci !
Répondre à ce message
Bonjour,
je souhaite utiliser ce plugin avec spip 3.0.10, mais il ne fonctionne pas très bien. Pourtant il est plutôt bien complet et très intéressant. Voici les soucis rencontrés :
lorsque j’utilise le formulaire #FORMULAIRE_JAIME, les étoiles s’affichent bien, on peut ajouter un vote, mais cela ne se fait pas en ajax, mais au rechargement de page.
lorsque j’utilise le formulaire #FORMULAIRE_NOTATION, aucune étoile n’est chargée. Le plugin affiche un simple vote par case à cocher + le bouton « voter ». Pourtant, en regardant le code source, le fichier rating.js est bien intégré. Les CSS notations.css également, mais rien n’est exécuté.
On dirait qu’il manque un élément déclencheur, pour les deux formulaires.
Quelqu’un a-t-il une idée ?
Merci de votre aide !
Salut,
Peut être une erreur javascript dans ta page ?
Certainement un problème venant d’une feuille de style de ton site qui surcharge la mise en forme du formulaire du plugin notation.
Sans lien vers les pages en question il nous sera impossible de t’en dire plus :)
Quelle réactivité !
merci pour ta réponse. Malheureusement je ne peux fournir de lien, c’est un développement sur un réseau interne.
j’ai trois erreurs Javascript Spip (toutes situées dans le fichier AjaxCallBack et il se pourrait qu’elles aient effectivement un lien avec ces problèmes :
les voici :
TypeError : jQuery(...).parents(...).formulaire_dyn_ajax is not a function
TypeError : jQuery.spip is undefined dans AjaxCallback
TypeError : jQuery.spip is undefined dans ajaxCallBack
Sinon les styles établis par le plugin ne sont pas surchargés. Je n’utilise à aucun moment le même nom d’élément. Mais j’ai plus l’impression que c’est un javascript qui ne se lance pas.
Merci
Bon je viens de trouver...
en fait c’est parce que j’utilise jquery 1.9.1. Il semble que ce plugin utilise des méthodes jquery qui ne soient plus compatibles avec cette version.
Je viens de l’enlever.
Merci encore.
Répondre à ce message
Bonjour,
Depuis une mise à jour de SPIP 3.0.10 et de Notation d’éléments SPIP 2.0.6 j’ai commencé avoir cette erreur :
Erreur SQL 1054
Unknown column ’accepter_note’ in ’field list’
SELECT accepter_note FROM spip_articles WHERE id_article = #
Quelqu’un peut me dire comment y remédier ?
Répondre à ce message
Bonjour,
Ce plugin utilise-t-il les microformats telles qu’on les trouve sur Schema.org ?
Si non, est-ce aisé que de les y appliquer ?
Merci.
voir discussion récente ;-)
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 : |