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
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |