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

  • 1

    Hello

    J’utilise avec bonheur la fonction pour la balise #TOTAL_VISITES de ce plugin dans mon plugin Escal juste en remplaçant spip_fetch_array par mysqli_fetch_array mais j’ai un souci avec 2 sites en SQLite (pas de souci en MySQL).

    J’ai l’erreur suivante :

    Erreur d’exécution plugins/auto/escal/v5.0.8/inclusions/inc-stats.html | File […]/plugins/auto/escal/v5.0.8/escal_fonctions.php Line 488 : mysqli_fetch_array() : Argument #1 ($result) must be of type mysqli_result, Spip\Sql\Sqlite\PDOStatement given

    Une idée de solution pour que ça fonctionne avec SQLite comme avec MySQL ?

    Répondre à ce message

  • 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

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