Plugin Compteur Graphique

Ce plugin, construit dans le cadre du développement du squelette EVA-web, se propose de générer des images de compteurs de visites paramétrables aussi bien au niveau graphique que fonctionnel. Il peut s’intégrer à n’importe quel site fonctionnant sous SPIP.

Préambule, prérequis techniques

Ce plugin propose d’afficher des compteurs de visite pour vos articles sous une forme graphique. Les images de compteurs de visites générés sont au format GIF ou PNG selon le choix de l’administrateur du site.

Il est possible de choisir :
-  le nombre de chiffres à afficher (de 1 à 10), ou bien laisser le plugin le calculer automatiquement (3 chiffres pour 329, 5 chiffres pour 90032 par exemple).
-  Un décompte personnel ou bien un décompte basé sur les statistiques gérées par SPIP. Dans le cas d’un décompte personnel, le compteur s’incrémente à chaque visite de l’article.
-  Un compteur affichant le nombre total de visites du site.
-  Un habillage parmi 30 habillages possibles. Vous pourrez aussi ajouter vos habillages personnels.

Prérequis

Ce plugin ne fonctionne qu’à la condition qu’une extension graphique (type GD ou GD2) soit activée sur le serveur hébergeant votre site. Dans le cas contraire, des messages d’erreur remplaceront les compteurs dans l’interface publique.

Ce plugin fonctionne à partir de la version SPIP 1.9.3 dev à partir de la version SVN 9800 environ et ne fonctionne pas pour les version 1.9.2b ou précédentes (utilisation de fonctions non présentes dans ces versions).

Licence

Ce plugin est mis à disposition sous

un contrat Creative Commons

Mise en place du plugin

Après avoir décompressé l’archive récupérée sur plugins.spip [1] recopiez son contenu dans le répertoire plugins situé à la racine de votre site, puis activez ce plugin dans la page de gestion des plugins [2].

Créer un répertoire « CompteurGraphique » (respectez la casse) dans le répertoire « IMG » de SPIP en lui donnant les droits en écriture (c’est lui qui accueillera les images de compteurs de visites générées par le plugin).

Le plugin est désormais opérationnel, il vous suffit ensuite d’effectuer vos choix d’affichage (ou de non affichage) dans l’interface privée aux endroits suivants :

  • pages des articles
  • pages des rubriques
  • bouton spécifique dans l’onglet Statistiques

Pour inclure les images de compteurs de visites dans votre site, ce plugin dispose de deux squelettes qu’il est possible d’adapter en les éditant (code conditionnel adaptable dans le squelette) :

  • compteurgraphique.html à inclure dans vos pages d’articles
  • compteurgraphique-total.html à inclure aux endroits où vous voulez voir apparaître le nombre total de visites de votre site.

Principe de fonctionnement

Implanter les compteurs de visite

Il est possible de définir des compteurs de visite à trois endroits de l’espace privé de SPIP :
-  page d’article (dès lors qu’on numéro d’article est défini) afin de définir un compteur pour cet article ou bien d’interdire l’affichage d’un compteur pour l’article ;
-  page de rubrique afin de définir un compteur pour tous les articles de cette rubrique ou bien d’interdire l’affichage d’un compteur pour les articles de la rubrique ;
-  en allant sur la page spécifique (onglet Statistiques => Bouton Compteurs Graphiques) afin de définir un modèle de compteur pour tous les articles du site et de configurer le fonctionnement du plugin (génération d’images au format GIF ou PNG, restrictions...).

Comme les compteurs peuvent être définis à plusieurs endroits différents (site, rubrique ou article), ils s’appliquent suivant certaines règles de priorité :
-  les choix de compteurs effectués dans les pages d’édition des articles sont prioritaires sur ceux définis dans les pages d’édition des rubriques ;
-  les choix de compteurs effectués dans les pages d’édition des rubriques sont prioritaires sur ceux définis dans la page spécifique de définition d’un modèle de compteur graphique pour tout le site.

Ainsi, par exemple, il est possible de définir un modèle de compteur de visite pour tous les articles du site et de choisir un autre modèle pour les articles d’une rubrique particulière. De même, il est possible d’interdire l’affichage de compteurs de visites pour tous les articles d’une rubrique sauf un article en particulier.

Configurer les compteurs

Vous avez la possibilité de refuser aux simples rédacteurs de configurer des compteurs de visite afin de ne pas perturber votre charte graphique (configuration à effectuer dans la page spécifique de l’onglet Statistiques => Bouton Compteurs Graphiques).

Trois types de compteur

Il existe 3 types de compteurs de visites :
-  des compteurs de visites affichant les nombres de visites des articles tel qu’il s’affichent dans les statistiques de SPIP
-  des compteurs de visites pour les articles reposant sur un décompte personnalisé que vous fixez vous-même. Dans ce cas, le compteur s’incrémente automatiquement à chaque hit de la page. C’est pourquoi ces compteurs de visites sont générés par une balise dynamique qui permet l’incrémentation automatique sans recalcul des pages
-  un compteur de visites affichant le nombre total de visites du site tel qu’il s’affiche dans les statistiques de SPIP

Adaptations techniques possibles

Les images permettant de générer les compteurs de visite sont stockées dans la librairie spécifique située dans le répertoire lib/compteurgraphique_pack . Ce répertoire contient 30 sous-répertoires correspondants aux 30 habillages proposés.

Il vous est possible d’ajouter un habillage personnel en suivant les règles suivantes :
-  créez 10 images de même dimension, au format GIF ou PNG, en les nommant 0.gif, 1.gif, ..., 9.gif (dans le cas ou vous avez choisi de générer des images au format gif) ; ces images représentent respectivement les 10 chiffres 0, 1, ..., 9.
-  placez ces 10 images dans un répertoire nommé 31 (l’habillage 31) que vous placerez dans le répertoire lib/compteurgraphique_pack.

Vous pouvez ainsi ajouter autant d’habillages que vous le souhaitez en créant les répertoires correspondant : 32, 33, etc.

Si vous souhaitez supprimer un des habillages proposés, il vous faut supprimer entièrement le répertoire qui contient les images associées tout en renommant si nécessaire les autres répertoires afin qu’il n’y ait pas de trous dans l’ordre des numéros des habillages. Par exemple, si vous supprimez l’habillage 9, il vous faudra renommer le répertoire de l’habillage 30 en 9 pour que les répertoires contenants les 29 habillages soient bien numérotés de 1 à 29.

Quelques captures d’écran

Cadre de sélection d’un des 30 habillages disponibles
Une partie du cadre affiché dans les pages des articles grâce au pipeline affiche_gauche

Des exemples d’intégration du compteur graphique dans le squelette d’EVA-web 3 :

Notes

[1En cas de problème sur ce lien de téléchargement voir les sites miroirs

[2L’installation se déroule comme pour tous les autres plugins, cf. https://www.spip.net/fr_article3396.html

Discussion

25 discussions

  • 3
    Guy Charpentier

    Mon site « tourne » en SPIP 1.9.2c. Je suis passé récemment en eva-web 3.0.
    Le compteur graphique fonctionne bien, sauf en local car je ne sais pas comment activer une extension graphique type GD ou GD2.
    Remarque. Dans la gestion des plugins, compteur graphique apparaît avec la mention « pour SPIP 1.9.2b ». Serais-je en retard d’une version (idem pour le SPIP) ? pourtant j’ai suivi les consignes de Bruno.

    • Salut Guy,

      Pour activer GD2 en local sur EasyPHP :
      -  un clic droit sur l’icône d’EasyPHP en barre des tâches
      -  ensuite : Configuration => Extension PHP
      -  puis tu valides le module php_gd2

      Et puis c’est tout me semble-t-il.

      Concernant le numéro de version dans le plugin, j’ai oublié effectivement de mettre à jour. Je précise pour ceux qui liraient ces messages que le paquet disponible sur la zone est adapté à Spip 193 et non à Spip 192.

      A la prochaine Guy.

    • Guy Charpentier

      OK ça marche. Merci.
      Pourrais-tu me dire également pourquoi n’apparaît plus « répondre à ce message » en dessous des messages (bien sûr !) ?
      Salut,
      Guy

    • Ta question n’ayant aucun rapport avec cet article, je te répond en privé.

    Répondre à ce message

  • 8
    jean-noël

    Bonjour version 1.9.3. dev dernière mouture

    le seul plugin installé est compteurgraphique 31 juillet

    page sommaire et article

    Erreur(s) dans le squelette
    1 Aucun squelette ’compteurgraphique-total.html’(ou ’compteurgraphique.html’pour page article) n’est disponible...
    2 Erreur de compilation

    dans la partie privée page statistiques—>compteurgraphique
    ces balises apparraissent en dehors des champs de saisies
    #Echo par gros_titre#
    Compteurs de visites graphiques
    #Echo par debut_gauche#
    #Echo par debut_droite#

    http://desyeuxpourvoir.free.fr/freespip/spip_php_free/

    • Bonjour,

      pour le premier point, c’est plutot bizarre : en effet, les 2 squelettes compteurgraphique.html et compteurgraphique-total.html sont bien présents dans le plugin et situé à sa racine... et devraient donc être reconnus par Spip, comme c’est le cas sur plusieurs de mes sites en test (version SVN 10055 de Spip installée).

      Pour le second point, ces problèmes d’affichage sont dus à des changements récents dans la version de développement de Spip. J’ai personnellement corrigé cela mais j’attend la sortie officielle de Spip 1.9.3 pour le mettre sur la zone. Néanmoins, il faut savoir que cela n’engendre aucun problème de fonctionnement du plugin.

      Bref, le plus génant est le point n°1, vérifiez la présence des deux squelettes concernés dans le répertoire du plugin, videz le cache et réessayez, il n’y a aucune raison pour que ça ne fonctionne pas.

    • Je viens de vérifier sur votre site et les 2 squelettes sont bien présents. Une chose supplémentaire : il faut impérativement que le plugin soit activé (case cochée) dans la page de gestion des plugins pour que Spip ait accès à ces 2 squelettes.

    • Jean-Noël

      Le plugin est bien activé et configuré dans statistiques—>compteurgraphique le cache a été vidé plusieurs fois.

      cordialement

    • L’adresse d’une page posant problème pourrait m’aider à vous aider.

    • http://desyeuxpourvoir.free.fr/freespip/spip_php_free/spip.php?article399

      mais tous les articles du site doivent pouvoir visualiser le compteur.

      dans article.html j’ai mis :

    • Le problème est que vous avez mal rédigé les balises d’inclusion.

      Dans un premier temps, je vous invite à lire la documentation concernant l’inclusion.

      Ensuite, il ne faut pas écrire l’extension des squelettes dans l’inclusion. Concrètement, vous avez écrit <INCLURE{fond=compteurgraphique.html}> alors qu’il aurait fallu écrire <INCLURE{fond=compteurgraphique}{id_article}>.
      Quant à l’affichage du compteur graphique donnant le nombre total de visites de votre site, vous avez écrit <INCLURE{fond=compteurgraphique-total.html}> alors qu’il aurait fallu écrire <INCLURE{fond=compteurgraphique-total}>

    • Méa culpa effectivement tout est rentré dans l’ordre.

      remerciements. Trés cordialement à vous.

      Jean-Noël

    Répondre à ce message

  • 1
    John Doe

    Question qui n’a rien, mais alors (presque) rien à voir avec ce plugin, mais qui rejoint un thème : le compteur.

    A l’heure actuelle il n’existe aucun système spipien qui pourrais compter le nombre de clics effectués sur le(s) lien(s) dans un article (lien crée et géré par exemple par les « champs extra » et le plugin « champs homonymes »).

    Vous qui avez programmé ce plugin, et donc le connaissez très bien, pensez vous qu’il puisse être adapté pour satisfaire un tel besoin ?

    Merci,

    • Olivier Gautier

      Bonjour,

      je suis en fait assez mal placé pour vous orienter de ce côté : en effet, je n’ai ni testé les champs extra, ni le plugin « champs homonymes » et je ne programme pas en JavaScript et votre problème me fait penser à quelques lectures que j’ai eu à ce sujet et qui parlaient de JavaScript et de gestion d’évènements.

      Bref, si d’autres personnes ont des choses à proposer, elles sont les bienvenues.

    Répondre à ce message

  • 4
    quentin

    Bonjour,

    le plugin disponible sur la zone ne contient pas « lib/compteurgraphique_pack » où sont stocké les images des compteurs...
    Ou peut t’on telecharger cette lib ?
    Merci d’avance.

    • quentin

      j’ai créer un nouveau dossier compteurgraphique_pack dans le dossier ecrire/lib et j’ai insérer les images téléchargées du plugin adapté à eva. Le plugin s’installe bien mais je n’ai pas acces aux habillages des compteurs dans la partie privée. Quelqu’un a t’il une solution pour arranger le pb ?

    • Bonjour,

      à voir vos messages, je me dis que vous n’êtes pas passé à Spip 1.9.3 dev révision supérieure à 9800 car dans le cas contraire, Spip vous aurait dit où créer le répertoire lib et aurait téléchargé, décompressé et installé le pack graphique automatiquement.

      Donc pour installer le pack sans l’aide de Spip (révision antérieures à 9800), il faut créer un répertoire lib à la racine de votre site puis d’y copier la librairie décompressée que vous trouverez à cette adresse : http://www.ac-rouen.fr/evaweb/files/compteurgraphique_pack.zip

      Cordialement.

    • quentin

      bonjour

      Merci pour votre réponse et pour votre plugin.
      j’ai bien telecharger compteurgraphique_pack et collé dans le répertoire lib à la racine et tout marche bien.
      j’avais insérer cette lib dans le répertoire ecrire/lib et c’est pour cela que ca ne marchait pas... :)
      Je suis bien passé sur la version 1.93 dev de spip.
      J’ai mainteant un nouveau pb entre le plugin « openPublishing » et « Compteur de visites ». J’ai un warning lorsque que je recalcule la page d’un article :

      « Warning : Cannot modify header information - headers already sent by (output started at /mnt/138/sdc/a/f/quentin.berges/plugins/openPublishing/op_fonctions.php:43) in /mnt/138/sdc/a/f/quentin.berges/plugins/compteur_graphique/inc/CompteurGraphique_inclusions.php on line 63 »

      Avez_vous une idée des modifs a réalisées pour résoudre le pb ?

      cordialement.

    • Oui, vous pouvez toujours supprimer les headers en question : dans le fichier CompteurGraphique_inclusions.php du répertoire inc du plugin, supprimez « header(’Content-Type : image/png’) ; » et « header(’Content-Type : image/gif’) ; » et l’erreur devrait disparaitre. Je ne suis même pas sûr qu’il soit nécessaire de conserver ces 2 instructions dans le code du plugin, à voir...

    Répondre à ce message

  • 2

    Dommage que les concepteurs ne prévoient pas que la majorité des sites SPIP ne sont pas en SPIP 1.9.3. :(

    Peut on espérer une mise à jour du plugin pour les spip 1.9.2 ?

    • Olivier Gautier

      Et pourquoi ne pas voir le problème à l’envers : Spip 1.9.3 propose de grandes améliorations concernant les plugins et est très stable en production (la preuve, Spip-Contrib tourne sur une version de la 1.9.3 dev très récente). C’est donc le moment pour vous de passer en Spip 1.9.3 dev, non ?

      Par ailleurs, il y a encore aussi des sites sous 1.9.1, et 1.8.3, ... et je n’aurai pas le temps de proposer des patchs en version descendante : d’autres développements à faire pour EVA-web, d’autres plugins à entretenir ou développer, etc., tout cela sur mon temps personnel.

      Bref, je vous encourage vivement à passer en 1.9.3 dev, vous ne serez pas décu.

    • Il est hors de question que je passe à 1.9.3, je viens juste d’en finir avec diverses instabilités, incompatibilités de plugins etc... ; je ne vais pas recommencer ca de si tot !

      Ceci dit, je comprends tout à fait que vous ne développiez pas votre plugin pour chaque version de spip ! Ca doit représenter des heures de travail !

       :)

    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 :

  • 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.

Qui êtes-vous ?
[Se connecter]

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 champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom