Plugin Analyclick - un compteur de téléchargements

Ce plugin permet de compter les téléchargements de documents sur son site. Il introduit une balise #URL_DOC_COMPTEUR qui va compter chaque clic fait sur ce lien. Il affiche une page de statistique.

Avertissement

Le passage en SPIP v.3 est en cours merci de me signaler les bugs que vous trouverez.

Installation

Le plugin s’installe comme tout autre plugin, téléchargez le fichier ZIP et placer son contenu dans votre répertoire “plugins/”.

Il va installer un nouveau menu “Téléchargements” pour permettre de suivre les statistique de téléchargement dans le menu statistique, si celles-ci sont activées, ou dans le menu édition dans le cas contraire.
En SPIP 3, le plugin ajoute un onglet sur la page de suivi des statistique (il est donc nécessaire d’activer les statistiques du site).

Pour configurer le plugin, vous devez vous rendre sur la page des téléchargements et cliquer sur l’icône de configuration dans le bloc de raccourcis.

  • Vous pouvez configurer le délai entre deux clics (en seconde). Cela évite qu’un même utilisateur cliquant sur le lien pendant ce délai ne soit compté plusieurs fois. Une valeur négative correspond à un temps infini et ne va compter qu’un seul téléchargement par adresse IP.
  • Vous pouvez sécuriser les URLs des liens de téléchargement. Comme ceux-ci sont de la forme : MON_SITE/spip.php?action=telecharger&arg=35&type=image.jpeg, il est possible à un utilisateur peu délicat de chercher à charger des document en modifiant l’identifiant du document passé dans l’URL. La sécurisation ajout une clé dépendant du document et de l’utilisateur pour éviter cela.

Principe

Le principe du plugin est de permettre de suivre les téléchargements de certains documents (une notice, un programme ou un document particulier...). Il faut pour cela utiliser le raccourci ou l’url fourni par le plugin.

Utilisation

Le plugin déclare :
-  un raccourcis <docxx|compteur> qui s’utilise dans les articles comme le raccourci <docxx> et qui va compter les téléchargements.
-  une balise #URL_DOC_COMPTEUR que vous pouvez utiliser dans vos squelettes qui renvoie un lien vers le document et qui comptera les clics faits sur ce lien.
-  une balise #COMPTEUR_TELECHARGEMENT qui permet de connaitre le nombre de téléchargements dans une boucle document.

<BOUCLE_doc(DOCUMENTS)>
Le document #ID_DOCUMENT a été téléchargé #COMPTEUR_TELECHARGEMENT fois<br/>
</BOUCLE_doc>

Dans l’espace privé

Le plugin utilise le module de statistique de SPIP pour afficher les statistiques de téléchargement. Vous y accédez depuis le menu Statistique, si celles-ci sont actives ou le menu Édition dans le cas contraire.
En SPIP 3, les statistiques sont accessibles dans le menu Statistiques, onglet Téléchargements.

Calcul de statistique

Le plugin installe une table DOC_COMPTEURS qui stocke les téléchargements journaliers de document.

DOC_COMPTEURS
id_document date telechargement

On peut l’utiliser afin de calculer des statistiques sur les téléchargements, en effet, la balise #TELECHARGEMENT va faire la somme sur la période donnée.

Ainsi, la boucle suivante donne le nombre de téléchargements par document pour 2011.

<BOUCLE_stat(DOC_COMPTEURS){date >= 2011-01-01}{date < 2012-01-01}>
   #ID_DOCUMENT : #TELECHARGEMENT<br />
</BOUCLE_stat>

et pour le top10 des téléchargements de la semaine en cours (cela peut être utile) :

[(#SET{date,[(#EVAL{ date("Y-m-d",strtotime("now")-7*24*3600); })]})]
<BOUCLE_stat(DOC_COMPTEURS){date>#GET{date}}{!par telechargement}{0,10}>
   <BOUCLE_doc(DOCUMENTS){id_document}>
      [(#TITRE|sinon{#ID_DOCUMENT})]
   </BOUCLE_doc>
   : #TELECHARGEMENT<br/>
</BOUCLE_stat>

Le critère {plat} supprime ce comportement et permet d’accéder aux téléchargements au jour le jour.

Bonus

En bonus, le plugin propose un gros bouton de téléchargement au travers du modèle doc_bouton.
Il prend les paramètres compteur si on veut compter les téléchargements et un paramètre d’alignement (left, center, right). Le paramètre couleur permet de changer la couleur du bouton (par défaut, en orange). Il peut prendre les valeurs orange, mauve ou bleu.

<docXX|bouton|center|couleur=orange|compteur=1>

En fait, le paramètre couleur déclare le bouton dans une classe .doc_bouton_couleur. Vous pouvez donc ajouter des boutons en déclarant la classe correspondante dans votre css (voir les exemples dans le css du plugin et le dossier /img).

Discussion

55 discussions

  • 2

    Bonjour, y-a-t’il une maj prévue pour spip 3.2 ? Merci :-)

    • Bonjour,
      Le plugin peut être activé de force en modifiant la contrainte de dépendance dans le fichier plugin.xml qui se trouve dans le dossier du plugin.
      <necessite id="SPIP" version="[2.1.0;3.2.99]" />
      Sur mon installation, le plugin semble fonctionner comme précédemment de cette façon.
      Je n’ai pas les connaissances nécessaires pour valider que le plugin est techniquement adapté aux mises à jours apportées dans SPIP 3.2

    • Merci Damien pour ce retour.

      J’ai donc passé le plugin en SPIP 3.2 avec la version 0.3.4
      Si quelqu’un rencontre des bugs, merci de le signaler sur ce forum.

    Reply to this message

  • Christophe Noisette

    Bonjour
    je deviens un peu chèvre alors je vous écris pour avoir un peu d’aide.
    J’ai créé un nouveau bouton avec un fond vert.
    Je n’arrive pas à changer la class du titre du doc qui apparait sur ce bouton.
    J’ai créé dans anaclic.css

    .doc_bouton .info2

    Et dans Zdoc_bouton.html , j’ai modifié ainsi

    <td class="right">
    <a class="spip" href="#GET{url}">
    
    <span class="info2">[(#TITRE)] </span>
    
    <span class="info2">
    ([(#DESCRIPTIF*),][ (#TAILLE|taille_en_octets)])
    </span>
    
    </a>
    </td>

    Cette modif n’apparait pas (cache vidé, Firefox navigation privée, etc...)
    Pourquoi donc ?
    La page concernée : https://www.infogm.org/faq-etiquetage-avec-ou-sans-OGM-en-France-et-en-Europe?var_mode=recalcul

    Amitiés
    Christophe

    Reply to this message

  • 4

    Bonjour

    Un bogue actuellement :

     Fatal error: Call to undefined function generer_generer_url() in analyclick/balise/anaclic_balise.php on line 75
    • Corrigé en version 0.3.1

    • Aloysus

      Bonjour,

      J’ai chargé pour la première fois Analyclick hier et je suis mal tombé, car j’avais le bug.
      J’ai chargé à nouveau aujourd’hui et j’ai une chose curieuse.

      Quand je mets dans l’article

      Téléchargez l’extrait : doc100|center|compte
      ou
      Téléchargez l’extrait : doc98|center|compte=1

      Le compteur ne fonctionne pas

      Si je mets :

      doc100|bouton|center|couleur=orange|compteur=1

      doc98|bouton|center|couleur=orange|compteur=1"

      Le bouton n’apparaît pas, mais le compteur fonctionne

      Merci de votre aide

    • Aloysus

      En fait le bouton apparaît bien, c’est simplement que je ne l’avais pas testé sur l’espace public.
      Par contre
      “doc100|center|compte”
      ne change pas le compteur (j’ai bien configurer l’intervalle des clicks à 5 secondes)
      alors que cela fonctionne bien avec le bouton

    • Je pense que la syntaxe correcte est <doc100|center|compteur> et non compte.

    Reply to this message

  • Jean-Paul

    Suite à la dernière mise à jour du plugin, mon site en 3.1.3 plante
    analyclick produit une erreur php
    balise/anaclic_balise.php en ligne 75 :
    $code = generer_generer_url(’document’, $p);
    j’ai remplacé ’document’ par ’id_document’ mais ça ne change rien, l’erreur persiste.
    Bien pratique pourtant ce plugin. Quelle solution svp ? Merci.

    Reply to this message

  • 1
    Christophe Noisette

    salut
    j’utilise ce plugin et les boutons développés.
    J’ai par exemple sur la page : http://www.infogm.org/spip.php?article5501, un bouton pour télécharger le mini-guide.
    J’ai dans le corps du TEXTE utilisé la formule suivante :

    <doc1713|bouton|center|couleur=vert|compteur>.

    Je souhaiterais que certains docs s’ouvrent dans une nouvelle fenêtre. J’ai donc tester d’utiliser le filtre |liens_ouvrants.
    Mais cela n’a pas été très convaincant.
    Avez-vous une idée de comment je pourrais faire pour avoir un tel filtre sur certains de nos téléchargements?
    Cordialement
    Christophe Noisette, Inf’OGM

    • Bonjour,

      Vous pouvez reprendre le modèle doc_bouton.html en le recopiant dans votre dossier squelette/modeles.
      Il suffit ensuite de changer les lignes 21 et 25 :

      <a class="spip" href="#GET{url}">

      en

      <a class="spip" href="#GET{url}" target="_blank">

      @+

    Reply to this message

  • Bonjour,

    Est-ce que ce plugin fonctionne aussi sous la dernière version de WP 4.5.2 ?

    Merci

    Reply to this message

  • Si vous voulez connaitre le nombre de téléchargement pour les documents attachés à vos articles directement dans la partie privée de votre site, il suffit de dupliquer le fichier ’document_desc.html’ qui se trouve dans “\plugins-dist\medias\modeles” dans votre dossier ’/squelettes/modeles’ et y ajouter cette boucle à la ligne 17...

    		<BOUCLE_compterdocs(DOC_COMPTEURS){id_document}>
    		[Le fichier a été téléchargé : <span style="color:red;">(#TELECHARGEMENT)</span> fois]
    		</BOUCLE_compterdocs>

    Reply to this message

  • 2

    Bonjour,

    Pourrait-on utiliser ce plugin pour compter les clics sur des liens ?

    Exemple d’utilisation :
    – Des images sont jointes à un article et chaque image comporte un lien interne ou externe au site.
    – On utilise un plugin de diaporama (slick slider par exemple) pour créer un diaporama à partir des images du portfolio de l’article.
    – On compte les clics de chaque image pour savoir entre autres quelle est l’image qui a suscité le plus d’intérêt.

    Une idée de si c’est possible et une éventuelle piste ?

    Merci d’avance

    • Bonjour,
      Un dev. avait été commencé dans ce sens il y a 3 ans mais n’a pas abouti...
      Aujourd’hui le plugin ne compte que les téléchargements...
      @+

    • Bonjour,
      Un dev. avait été commencé dans ce sens il y a 3 ans mais n’a pas abouti...
      Aujourd’hui le plugin ne compte que les téléchargements...
      @+

      Merci ce ta réponse

      Que manquait-il pour que cela n’ait pas abouti?

      Merci d’avance

    Reply to this message

  • 1

    salut
    Ce plugin est interessant, mais
    est il possible d’avoir un compteur qui donne le nombre de pdf télechargés dans un article.

    j’ai un site avec où des articles proposent des téléchargements de pdf dans beaucoup d’endroits
    d’articles je veux dire.
    donc c’est fastidieux de mettre <docxx|compteur> par pdf
    mais par article ce serait bien :-)

    • Bonjour,
      Pour cela, il faut écrire un petit squelette (ou un modèle) qui compte le nombre de téléchargement pour chaque documents d’un article. Il faut récupérer les document d’un article et ajouter le nombre de chargement (#TELECHARGEMENT) par document.
      Utilisez le filtre plus pour cela.

      Quelque chose comme cela devrait marcher (non testé)

      [(#SET{count,0})]
      <BOUCLE_d(DOCUMENTS){id_article}{extension=pdf}>
          <BOUCLE_stat(DOC_COMPTEURS){id_document}>
             [(#SET{count,[(#GET{count}|plus{#TELECHARGEMENT})]})]
          </BOUCLE_stat>
      </BOUCLE_d>
      Nombre de téléchargement pour l'article : [(#GET{count})]

      @+

    Reply to this message

  • 2
    spipfactory.com

    Bonsoir,

    super plug est fonctionnel en 3.1

    par contre <docxx|compteur> est a mettre sur chaque document qu’on souhaite suivre en statistique ?

    parce-que la j’en ai 4000 donc une astuce serait le bienvenue

    @micalement

    • Bonjour,
      Il suffit de recopier le fichier du plugin modeles/doc_compteur.html dans votre dossier sequelette/modeles et en le renommant doc.html, ce sera celui-ci qui sera utilisé plutôt que celui de SPIP... et qui comptera vos documents.
      @+

    • spipfactory.com

      Merci

      mes petit doigt apprécie déjà ...

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom