SPIP-Contrib

SPIP-Contrib

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

251 Plugins, 182 contribs sur SPIP-Zone, 121 visiteurs en ce moment

Accueil du site > Interactivité, échanges > Formulaires > Notation d’élèments SPIP > Notation d’éléments SPIP

Notation d’éléments SPIP

25 juillet 2008 – par b_b, Matthieu Marcillaud – 168 commentaires

61 votes

Ce plugin propose un système de notation des éléments de SPIP depuis l’espace public.

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 et compatibilité

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.

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 pour 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 :

#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}

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 :

Qu’on peut simplifier en forçant une jointure sur la table auteurs :

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} :

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} :

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(-10*moy/(2*coef)))

Si moy>coef, 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 Forum. 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 peux 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) Le modèle topten
-  <notationxx|statistiques|left|titre=Statistiques> affiche les statistiques (nombre de votes) pour l’article xx. Le modèle statistiques
-  <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... Le modèle de critique

Retour en haut de la page

Vos commentaires

  • Le 4 février à 18:07, par Olive

    Super merci !

    Il existe une méthode simple, rapide et sans risque (oui oui je suis exigeante) pour modifier mes préfixes de tables ?

    • Le 5 mars à 16:33, par ?

      suis aussi intéressé pour une méthode permettant de changer le préfixe d’une table existante....

      Merci

    • Le 17 mars à 18:33, par chris

      pour changer les noms des tables :
      soit directement dans phpmyadmin,
      soit en utilisant un plugin spip permettant dans spip d’accéder à mysql.

    Répondre à ce message

  • Le 4 février à 00:48, par Olive

    La table existe bien. Par contre mes tables n’on pas spip_ pour préfixe. ça pourrait venir de ça ?

    • Le 4 février à 12:39, par Matthieu Marcillaud

      Ok... déjà, j’arrive à reproduire. Je confirme donc.
      J’ai envoyé un email sur spip.devel mais je n’ai pas trouvé comment corriger simplement sans tout casser autour :)

      Donc oui, là le préfixe de table différent de spip_ avec une boucle(spip_qqc) ne lui plait pas. Je ne pense pas que ça vienne de notations.

    Répondre à ce message

  • Le 2 février à 17:39, par Olive

    Super merci, j’avance grâce à toi :)

    Reste le message d’erreur :

    Erreur(s) dans le squelette

    1 Table SQL « spip_notations_objets » inconnue _note

    lorsque je réactualise et le fait que la note moyenne ne s’affiche pas.

    Dur dur

    • Le 3 février à 10:02, par Matthieu Marcillaud

      Ah, j’ai peut être une piste...

      Est-ce que la table SQL spip_notations_objets existe bien dans ta base de donnée ?

      Tu n’as pas d’autre erreur SQL que celle que tu as indiqué ? genre une erreur où il y aurait la requete SQL : « CREATE TABLE spip_notations_objets ... »

    Répondre à ce message

  • Le 2 février à 10:25, par Olive

    Merci, après réinstall propre, ça semble avancer.

    Maintenant, le problème vient de la table notations_objets.
    objet id_objet note note_ponderee nombre_votes
    article 3 0 0 0
    article 5 0 0 0

    J’ai le massage suivant dans mes logs :

    Feb 02 09:56:38 ******* (pid 25422) Erreur de syntaxe près de ’)),2) AS moyenne_ponderee

    Je vais poursuivre mes recherches. Par contre, si vous avez un début de solution, n’hésitez pas ;p

    • Le 2 février à 12:03, par Matthieu Marcillaud

      ah ça je sais... aller dans la config de notations, et renseigner la valeur de pondération !

    Répondre à ce message

  • Le 2 février à 08:20, par Olive

    Bonjour,

    J’ai supprimé le plugin et ses tables pour le réinstaller.
    Problème : C’est comme si spip avait gardé en mémoire l’installation du plugin.

    J’ai télécharger le répertoire et réinstallé mais ça ne fonctionne pas.

    Comment désinstaller entièrement le plugin de manière à le réinstaller proprement ?

    • Le 2 février à 09:04, par Matthieu Marcillaud

      Bonjour Olive,

      Quelques remarques :

      • tu as peut être des erreurs relatifs au plugin notation dans tmp/*mysql*.log. Ces erreurs de requetes s’il y a pourraient auguiller sur le problème.
      • pour désinstaller un plugin : lorsque le plugin est actif, déplier ses informations, et cliquer sur le bouton de désinstallation ressemblant à une boite [vivement SPIP 2.1 que ce truc soit enfin clair !]

    Répondre à ce message

  • Le 1er février à 22:31, par Olive

    Non malheureusement je suis en local sur une machine virtuelle.

    Répondre à ce message

  • Le 1er février à 21:58, par Olive

    J’ai remarqué un truc étrange lorsque je "note" :

    Dans phpmyadmin j’ai les valeurs suivantes

    d_notation objet id_objet id_auteur ip note maj

    0 0 0 0 0 2010-02-01 21:47:04

    Et c’est la seule entrée (même si je note plusieurs articles. Lorsque je supprime la ligne et que je renote un article, la ligne réapparait.

    L’autre table n’a aucune donnée.

    • Le 1er février à 22:01, par b_b

      C’est possible d’avoir un lien vers le site ?

    Répondre à ce message

  • Le 1er février à 16:49, par Olive

    Ok, je n’ai rie, précisé dans la mesure où ma procédure d’install est standard.

    VMwareplayer sur fedora12, appliance Turnkey.
    Spip 2.10. Correctement installé.
    Squelette Zpip.

    Dans le répertoire contenu, le fichier article, dans la boucle articles : j’ai ajouté #FORMULAIRE_NOTATION.

    Je pourrais donner plus de précisions, mais dites moi quoi parce que le reste me semble anecdotique.

    Répondre à ce message

  • Le 31 janvier à 17:05, par Olive

    Je suis la seule à qui ça arrive ?

    • Le 31 janvier à 18:25, par b_b

      Salut,

      Je suis la seule à qui ça arrive ?

      Oui, peut être.

      la note n’est pas prise en compte

      Sans plus d’information sur la façon dont tu utilises le plugin dans tes squelettes ou au moins un lien vers celui-ci personne ne pourra t’aider, à part un devin ou la défunte madame soleil...

      ++

    Répondre à ce message

  • Le 29 janvier à 16:16, par Olive

    Bonjour,

    Mon problème est résolu suite à une réinstallation du plugin.

    Maintenant j’ai le problème suivant :
    lorsque je vote pour un article, la note n’est pas prise en compte.

    Je précise que je suis sous Zpip. Y aurait il une incompatibilité ?

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ? (optionnel)

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 formulaire accepte les raccourcis SPIP et le code HTML. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Zpresse

    19 mars – commentaires

    L’idée c’est de faire un thème minimaliste et sobre que l’on pourrait ensuite personnaliser facilement. Donc trois colonnes, trois couleurs (ou deux tons plus une couleur, plutôt), gris, noir, rouge. Des filets, pour l’instant, d’une part parce que (...)

  • SPIP-Listes

    30 novembre 2006 – 745 commentaires

    SPIP-listes permet la gestion et l’envoi de lettres d’information (newsletters) au moyen d’un courriel au format html ou texte. Il est possible d’envoyer des messages aux abonnés qui se sont formellement inscrits à une ou plusieurs lettres (...)

  • Plugin Thélia

    26 juin 2007 – 526 commentaires

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • Essayez SPIP 2.1-RC

    19 mars – 12 commentaires

    La version Release Candidate de SPIP est sortie de la forge.

  • Jeu de squelettes Multiflex 3 et le plugin "agenda2"

    22 octobre 2009 – commentaires

    Il s’agit d’un tutorial (pas à pas) expliquant comment mettre en route le calendrier du plugin "agenda2" dans le squelette "Jeu de squelettes Multiflex 3" et uniquement celui-là ! Prenez conscience que le plugin "agenda2" est passible d’évolution, (...)