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_visitesWHERE 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

12 discussions

  • 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

  • 1

    Super plugin très simple d’usage.

    Mais j’ai un soucis car si mon site je n’arrive pas à afficher le nombre de pages visitées.

    Je n’ai même pas un zéro qui s’affiche. Est-ce normal docteur ??

    Sinon très bon travail.

    Cordialement,

    Xavier

    • Bonjour.
      J’ai eu ce soucis au départ, je pense qu’il faut vider le cache (plusieurs fois si nécessaire) et actualiser la page.
      Normalement, cela devrait marcher à moins que cela n’interfère avec un autre plugin.
      Cordialement
      Franck

    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