Plugin pour des balises de comptage

Donne une information générale sur quelques chiffres clefs des statistiques.

Descriptif

Certains webmasters ne cherchent pas forcément à avoir des statistiques très pointues mais seulement une information générale sur le nombre de pages vues, le nombre de visiteurs depuis la création du site SPIP, le nombre de visiteurs (y compris les administrateurs, les rédacteurs, les visiteurs inscrits ou non inscrits) actuellement en ligne, l’IP du visiteur...

SPIP 1.9.1 et 1.9.2 ne proposent pas ce type de balises en standard.

Pour cette raison, j’ai créé des balises proposant ces services.

Le résultat donné n’est pas forcément toujours très juste mais cela donne simplement une indication sans avoir à surcharger la page avec des liens externes de type Xiti ou autres.

Si vous recherchez quelque chose de semblable mais beaucoup plus poussé , il existe d’autres contributions qui vous satisferont.

Installation :

-  Décompresser le fichier plugin.xml et vst_fonctions.php dans un dossier vst à l’intérieur du dossier plugins
-  Copier le fichier data.txt avec les propriétés lecture-écriture à la racine de votre site Spip (pour la version 0.2)
-  Utiliser les balises #TOTAL_VISITES, #NBPAGES_VISITEES, #NB_CONNECTES et #IP_LIVE (uniquement dans la version 0.2) dans vos squelettes
-  Pour plus de précision dans le contenu affiché par les balises, il est préférable de placer ces balises avec une inclusion possédant un cache de quelques secondes.
Exemple :

#CACHE{30}
#NB_CONNECTES visiteur(s) connecté(s).<br />
#POPULARITE_SITE visites par jour.<br />
IP : #IP_LIVE<br />
#TOTAL_VISITES visiteurs.<br />
#NBPAGES_VISITEES pages ont été vues.</p>

Explications et modifications

De façon à pouvoir faire évoluer ce plugin en l’adaptant à votre goût, je vous indique comment j’ai procédé :

Création du dossier

Ceci est à faire à l’intérieur du dossier plugins où sera placé le dossier du plugin (Choix du nom de dossier : vst)

Ecriture du fichier plugin.xml
(à modifier suivant les besoins) :

<plugin>
<nom>Balises simples pour statistiques visiteurs</nom>
<auteur>F. Arnould</auteur>
<version>0.1</version>
<etat>test</etat>
<description>
	<multi>
	[fr] Nombre de visiteurs sur le site et historique
	</multi>
</description>
<fonctions>vst_fonctions.php</fonctions>
<prefix>vst</prefix>
<lien>
[Auteur (fr)->physiquark@free.fr]
</lien>	
</plugin>

Réalisation du fichier vst_fonctions.php :

Le principe est assez simple, soit on va chercher des informations dans la base de données par un appel à celle-ci puis on le transforme en balise, soit on crée un fichier texte en lecture/écriture qui génère une chaine de caractère que l’on transforme en balise (attention aux permissions de lecture/écriture chez votre hébergeur)

Récupération dans la base

Comment récupérer des informations dans la base de données SPIP ?

function vst_total_visites() {
$query = "SELECT SUM(visites) AS total_abs FROM spip_visites";
$result = spip_query($query);
if ($row = spip_fetch_array($result))
	{ return $row['total_abs']; }
else { return "0";}
}

Commentaires :
-  la première ligne nomme la fonction utilisée avec un préfixe (vst ici)
-  on interroge la base de donnée $query en additionnant (SUM) les champs visites de la table spip_visites (on peut tester cette fonction dans phpmyadmin en tapant comme requête SQL : SELECT SUM(visites)
FROM `spip_visites`WHERE 1
-  le résultat retourné est attribué à la chaîne $result
-  un test conditionnel (existence ou non) retourne 0 ou la valeur total_abs

Création de la balise

Comment créer la balise ? On appelle la fonction précédemment créée :

function balise_TOTAL_VISITES($p) {
	$p->code = "vst_total_visites()";
	$p->statut = 'php';
	return $p;
}

Commentaires :
-  La balise s’appellera #TOTAL_VISITES
-  On réutilise la fonction créée pour l’occasion

Discussion

11 discussions

  • Peut-être plus parlant, image de gauche site distant sur Filizila et à droite l’état du plugin sur le site :
    vst.png

    Répondre à ce message

  • Je n’ai toujours rien compris, je suis pas top, un peu perdu dans les explications ! Je n’ai pas la réponse à toutes mes questions précédentes et l’installation décrite ci-dessus ne marche pas chez moi, ou je ne sais pas compléter les éléments qui me manques pour l’installer.

    Répondre à ce message

  • 3

    Je voudrais savoir si on peut mettre ce plugin version 0.2 sur SPIP 2.0.3
    Et aussi comment inscrire la balise #TOTAL_VISITES sur la première page

    • Bonjour
      Je l’utilise avec spip 2.0.1 sans soucis.
      J’ai intégré les balises avec un fichier inc-stat.html qui a la structure suivante :

      #CACHE0
      <div class=

    • Je n’ai rien compris.
      Tu modifies plugin.xml de vst ?
      Tu mets inc-stat.html dans ton squelette avec le contenu de vst_fonctions.php ?
      Tu utilises le fichier data.txt à la racine ?
      Tu indiques dans le "sommaire.html quoi ? #CACHE0 div class= ?

    • Non, il n’y a rien à toucher, il faut juste inclure le inc-stat.html dans le sommaire.html et c’est tout, le reste ne bouge pas.

    Répondre à ce message

  • 3
    Louison B.

    Bonjour,
    en activant le plugin (je suis en 192), le site n’est plus accessible (la fameuse page blanche). Il me suffit de le désactiver pour rendre le site de nouveau accessible. Mais j’aimerais quand même bien utiliser ce plugin très intéressant ! J’ai aussi vidé le cache, mais sans résultat positif.

    Ce que j’ai fait :
    -  J’ai bien mis data.txt a la racine de mon site (droits : essayé avec 644 et 666) et les reste dans un dossier vst dans plugins.

    -  j’ai créé un fichier inc-stats.html avec :

    #CACHE{30}
    
    <p>#NB_CONNECTES visiteur(s) connecté(s) | #POPULARITE_SITE visites par jour | IP : #IP_LIVE | #TOTAL_VISITES visiteurs | #NBPAGES_VISITEES pages ont été vues depuis 08#2007</p>

    -  j’ai fait une inclusion : <INCLURE{fond=inc-stats}> dans mon fichier inc-pied.html

    ET patatra !!

    Merci pour votre aide

    • FranckA

      Bonsoir,
      Utilisez-vous d’autres plugins ?
      Si oui, avez vous essayé de les désactiver ?
      Vous avez quelle version ? 1.9.2c, 1.9.2.d ou autre.

    • Louison B.

      Bonjour, j’ai 1.9.2a [8878].
      Mes autres plugins :
      Le Couteau suisse, Formulaires&Tables (SPIP 1.9.1+) , Notation des articles, PHPMyVisites, Nuage, Envoyer par mail, Imprimer document, Recherche avancée, Recherche Etendue, SPIP-Lettres, SPIP-Notifications(avec SPIP-Lettres), SPIP-Surcharges (avec SPIP-Lettres), Statistiques visiteurs.

      j’ai désactivé tout tout à tour mais aussi tous ensemble ==> la page « accueil » est blanche, les pages « rubriques » aussi, ET quand elles ne sont pas vides aussi, les pages « article » sont quasi vides (le contenu s’arrête après le titre de la page mais pb avec les caractères (ê au lieu de ê par exemple) ...

      merci

    • FranckA

      Bonjour
      Franchement, je ne vois pas d’où peut venir le problème. Désolé.
      Pour les caractères, c’est peut-être un problème de codage utf-8 ou latin...

    Répondre à ce message

  • Bonjour,

    Ce plug-in devrait être inscrit sur la liste des plugins de SPIP :
    http://files.spip.org/spip-zone/

    Sinon on passe à côté...

    Répondre à ce message

  • 5

    Bonjour,

    Je viens de voir qu’il existait une nouvelle version 0.2

    Qu’elles sont les nouveautés de cette version ?

    Merci

    • C’est pas dans la version 0.2 mais un truc tout bête qui serait pratique c’est d’avoir un lien vers cette page de SPIP Contrib dans la partie plugin de l’espace privé.

      Cela éviterait de passer par le moteur de recherche (très lent) de SPIP Contrib pour retrouver cette page et se tenir ainsi au courant des nouveautés de ce plug-in.

    • Bon en relisant un petit peu je me suis aperçu que l’on pouvait afficher l’adresse IP du visiteur

      C’est d’ailleurs la fonction du fichier data.txt.

      Est ce la seule nouveauté ?

    • Bonsoir,

      Oui, c’est la seule nouveauté apparente. Mais le comptage devient plus rigoureux parce que le plugin fonctionne par identification de l’adresse IP.
      Je compte également proposer un fichier html à inclure directement dans le squelette.

    • Ok merci.

      Je compte également proposer un fichier html à inclure directement dans le squelette.

      Je ne sais pas ce que cela va apporter de plus mais on verra ça dans la version 0.3 alors.

    • Bonsoir
      Les fichiers à inclure directement via un inclure sont plus faciles à installer pour les débutants avec Spip. C’est tout !

    Répondre à ce message

  • 2

    Bonjour,

    Il est indiqué plus haut que : SPIP 1.9.1 ne propose pas ce type de balises en standard.

    Pourquoi, la 1.9.2 les proposes ?

    Si oui comment se nomment elles ?

    Merci

    • Bonjour
      L’article a été écrit avant la parution de Spip 1.9.2 donc c’est la raison pour laquelle Spip 1.9.2 n’est pas mentionné.
      Je ne crois pas que ces balises existent pour Spip 1.9.2

    Répondre à ce message

  • 3

    J’adore ce plugin, d’ailleurs je l’installe sur tous les sites que je conçois.

    J’ai un seul petit soucis avec la valeur « Internautes connectés ». Il ne s’incrémente que si les auteurs sont connectés à la partie privée du site et non à la partie public avec #LOGIN_PUBLIC. Est-ce qu’il existe une solution à cela ?

    Merci d’avance.

    • zerocool

      moi aussi je cherche cette fonction est ce quelqu’un a trouver ?

      Merci

    • FranckA

      Bonsoir

      C’est bizarre parce que sur mon site, je n’ai aucun membre enregistré en partie privée (uniquement des auteurs de posts sur les forums publics) et pourtant mon compteur s’incrémente quand même.

    • Xébiaut

      Sur mon site, j’ai des rédacteurs et des visiteurs. Mon module de statistique affiche le nombre d’internautes connectés et le nombre d’auteurs inscrits. Si le second s’incrémente bien, le premier ne se met pas à jour lors des connections d’auteur quelque soit son statut (administrateur, rédacteur, visiteur).

      Y aurait-il un problème de cache ? Bien que mon module est intégré dans un fichier INCLUDE avec un #CACHE{0}.

      Pour voir le résultat : Le site de Xeb

    Répondre à ce message

  • 1

    Bonjour,

    J’ai remarqué un petit problème avec le plugin.
    Il fonctionne bien après l’installation, mais celui si affiche un total de visite à 17, alors que quand je clique sur statistique dans l’interface d’administration j’en ai 21.

    Savez vous à quoi cela pe être du ?

    • FranckA

      Bonjour
      Je pencherais pour le cache, à voir !

    Répondre à ce message

  • 3

    Bonjour,

    Question bête, mais le nombre de visiteurs en ligne c’est pour la page en cours ou pour tous les visiteurs du site.

    Je m’explique : si je met le compteur sur la page d’acceuil cela m’affiche les visiteurs présent uniquement sur la page d’accueil ou également ceux qui lisent un article ?

    Merci

    • Je dois avoir un problème parce que je n’ai toujours qu’un seul visiteur en ligne même si on va à plusieurs sur le même site.

    • Bonsoir
      Le mieux est que ce compteur soit présent sur une entête ou un pied de page présent sur toutes les pages du site, cela donnera un résultat plus satisfaisant.
      Est-ce que l’hébergeur accepte la création de fichier ? Car il y a un fichier créé pour le comptage des visiteurs connectés.
      Le fichier est réactualisé toutes les 4 minutes et avec rechargement de la page.

    • Tiens aujourd’hui ça marche !!

      Merci

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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

Dernière modification de cette page le 7 décembre 2007