BBclone: des statistiques pour votre site

StéphaneStéphane Member, Former PluXml Project Manager
25/12/2009 : Mise à jour de la procédure pour prendre en compte "Les 10 premières Pages"

BBclone est un script pour fournir des statistiques sur les fréquentions de votre site.

Son implémentation avec pluxml est très simple et rapide

1. Récupérez la version de bbclone sur cette page

2. Décompressez l'archive dans /plugins/bbclone de manière à avoir tous les fichiers dans le dossier bbclone
(créez le dossier plugins s'il n'existe pas)

3. Dans le dossier plugins, créer un fichier plx.bbclone.php et coller dedans le code suivant
<?php
function pageTitle() {
global $plxMotor;

	if($plxMotor->mode == 'home') {
		if(!empty($plxMotor->aConf['description']))
			return plxUtils::strCheck($plxMotor->aConf['title'].' - '.$plxMotor->aConf['description']);
		else
			return plxUtils::strCheck($plxMotor->aConf['title']);
	}
	if($plxMotor->mode == 'categorie') {
		return plxUtils::strCheck($plxMotor->aConf['title'].' - '.$plxMotor->aCats[ $plxMotor->cible ]['name']);
	}
	if($plxMotor->mode == 'article') {
		return plxUtils::strCheck($plxMotor->plxRecord_arts->f('title').' - '.$plxMotor->aConf['title']);
	}
	if($plxMotor->mode == 'static') {
		return plxUtils::strCheck($plxMotor->aConf['title'].' - '.$plxMotor->aStats[ $plxMotor->cible ]['name']);
	}
	if($plxMotor->mode == 'erreur') {
		return plxUtils::strCheck($plxMotor->aConf['title']).' - '.$plxMotor->plxErreur->getMessage();
	}
}

//------ Counter -----------------------------------
define("_BBC_PAGE_NAME", pageTitle());
define("_BBCLONE_DIR", PLX_ROOT."plugins/bbclone/");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
if (is_readable(COUNTER)) include_once(COUNTER);
?>
4. Éditez le fichier header.php de votre thème et en dessous de la ligne
<?php if(!defined('PLX_ROOT')) exit; ?>
ajoutez le code suivant
<?php include(PLX_ROOT.'plugins/plx.bbclone.php') ?>
5. Éditez le fichier /plugins/bbclone/conf/config.php et modifiez les variables suivantes de cette façon
$BBC_MAINSITE = "../..";
$BBC_LANGUAGE = "fr";
$BBC_TIME_OFFSET = 60;
(timezone x 60, exemple pour la france: +1 * 60)

Personnellement j'ai laissé les autres variables avec leur valeur par défaut, mais vous pouvez les adapter en fonction de vos besoins.

Ici bbclone est donc configuré pour stocker les statistiques dans des fichiers et non pas une base de donnée mysql. Ainsi votre pluxml reste portable.

Si vous voulez utiliser une base de données, veuillez lire la doc de bbclone.

5. Pour consulter les stats de votre site, connectez vous sur

http://monsite.com/plugins/bbclone

Les stats sont consultables par tout le monde, il sera peut être intéressant de protéger le dossier par un .htacces, .htpassword. Si quelqu'un peut suggérer le paramétrage de ces 2 fichiers, cela profitera à tout le monde.

Si vous rencontrez des difficultés ou si vous pouvez apporter des améliorations, n'hésitez pas à en parler ici.

Stéphane

EDIT : 03/01/2010
Pour protéger l'accès à votre dossier plugins/bbclone

Très simple, voici la procédure http://www.phpdebutant.org/article51.php

un site pour générer votre htpassdw:

http://cobalt.golden.net/generator/index.cgi

Consultant PluXml

Ancien responsable et développeur de PluXml (2010 à 2018)

«1

Réponses

  • Et après, une intégration pour chaque article ? :p

    Un genre de : articles vus 100 fois. Non ?

    Merci pour la méthode en tout cas. ;)
  • très bien ce système de stats mais il ne précise pas les pages sur lesquelles les visiteurs naviguent dans la partie "les 10 premières pages", il n'affiche qu'une ligne "site principal : xxx"

    avez vous une idée ?
    Au fait, quelle version faut-il télécharger car il y en 3 ou 4 je crois ?

    moi j'ai pris : BBClone 0.4.9b-utf8
  • StéphaneStéphane Member, Former PluXml Project Manager
    Perso j'ai pris la version bbclone-0.4.9d.zip

    Pour le reste effectivement ça demande a être peaufiné. A suivre donc...

    Stéphane

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    Mise à jour de la procédure pour prendre en compte "Les 10 premières Pages"

    voir post #1

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    Pöur protéger l'accès à votre dossier plugins/bbclone

    Très simple, voici la procédure http://www.phpdebutant.org/article51.php

    un site pour générer votre htpassdw:

    http://cobalt.golden.net/generator/index.cgi


    Testé et approuvé ;)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • FrédéricFrédéric Member
    janvier 2010 modifié
    Possible de mettre l'archive ici en pièce jointe svp?

    Sur le site quand je clique sur le lien de téléchargement, sa m'affiche tout plein de caractères bizarre sans avoir le fichier :(
    Même en faisant un "enregistrer sous"

    Merci

    Édite: j'ai récupéré un fichier download.php que j'ai renommé en .zip et du coup c'est bon.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Rockmount a écrit:
    Stéphane a écrit:
    5. Éditez le fichier /plugins/bbcode/conf/config.php et modifiez les variables suivantes de cette façon
    Tu as fais une légère coquille, il faut remplacer bbcode par bbclone ^^ ;)
    C'est corrigé merci !

    Et très bien ton idée de rajouter un lien dans l'admin pour accéder aux stats. Fallait y penser ;)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Pour ma part, j'ai fait une intégration un peu différente pour rester dans l'admin et garder tous les menus.

    Il faut pour cela créer le fichier stastitiques.php dans /core/admin avec le contenu suivant :
    <?php
    include(dirname(__FILE__).'/prepend.php');
    include(dirname(__FILE__).'/top.php');
    ?>
    
    <iframe src="../../plugins/bbclone/index.php" height="800" width="870">
    </iframe>
    
    <?php
    include(dirname(__FILE__).'/foot.php');
    ?>
    
    Pour le lien depuis le menu, j'ai repris les éléments de Rockmount pour avoir son icône.
    Le code devient :
    <li><a href="../../plugins/bbclone" id="link_stats" title="Statistiques">Statistiques</a></li>
    
    J'ai fait le code PHP rapidement donc il y a peut être des implémentations plus propre.

    Paul.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Mobyone

    Très bien l'idée de l'iframe. ça permet de garder la mise en page de l'administration.
    Merci pour le partage de tes modifs

    Stéphane

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • FrédéricFrédéric Member
    janvier 2010 modifié
  • apparemment BBclone fonctionne sans base de données à l'inverse de Piwik ou spongestats
    par contre quelles différences entre BBclone et awstats/betterawstats cité ici http://linuxfr.org/comments/924177.html#924177 et qui "qui utilise les log d'apache" ?
  • Vous pouvez aussi utiliser google analytics. C'est très complet, gratuit et géré par les serveurs de Google
  • pioc : oui mais dans mon cas je voudrais un truc indépendant de google
  • GzygGzyg Member
    janvier 2010 modifié
    Petite modification que j'ai eu à faire :

    Dans le fichier bbclone/language/fr/php à la ligne 20 :

    remplacer iso-8859-15 par utf8

    permet d'avoir les accents dans les noms des pages visitées.

    <edit>

    Par contre je n'ai pas l'intégration à la page admin... ??

    </edit>


    à plus,

    Gzyg
  • HamtaroHamtaro Member
    février 2010 modifié
    J'ai tenté de le faire fonctionner sur mon blog mais pas de stats...
    http://www.customtaro.fr/blog/plugins/bbclone/

    Quelqu'un peut m'aider ? J'ai suivi le wiki...

    P.S. : au passage, j'utilise le système de cache développé ici : http://amoweb.fr/?article68/booster-encore-plus-pluxml
    Mais uniquement sur le home.php et je ne pense pas que cela soit la raison de l'absence de stats...

    Edit : problème résolu...
    Mon logiciel de transfert FTP était en mode "j'affiche pas les fichiers cachés" et donc n'avait pas transféré quelques fichiers... Maintenant, c'est bon :p

    Edit 2 : par contre, les liens de page me renvoient tous sur la page d'accueil, pas moyen d'aller sur l'article en question...
  • Rockmount a écrit:
    Stéphane a écrit:
    5. Éditez le fichier /plugins/bbcode/conf/config.php et modifiez les variables suivantes de cette façon
    Tu as fais une légère coquille, il faut remplacer bbcode par bbclone ^^ ;)

    Pour avoir un lien dans l'administration menant aux statistiques, il faut faire cela :

    Dans la page core/admin/top.php, rajouter après la ligne 44 ceci :
    <li><a href="../../plugins/bbclone" id="link_stats" title="Statistiques">Statistiques</a></li>
    
    Ouvrez ensuite le fichier core/admin/admin.css et rajouter après la ligne 83 ceci :
    a#link_stats { background : url('img/stats.png') no-repeat; outline : none; }
    
    Enfin, enregistrez cette image : http://icons3.iconfinder.netdna-cdn.com/data/icons/humano2/16x16/apps/gnome-power-statistics.png que vous devrez renommer "stats.png" et que vous devrez placer dans le dossier core/admin/img.

    Voilà ;)
    bonjour si je me trompe c'est pas :
    <li><a href="../../plugins/bbclone" id="link_stats" title="Statistiques">Statistiques</a></li>
    
    mai :
    <li><a href="../../core/admin/stastitiques.php" id="link_stats" title="Statistiques">Statistiques</a></li>
    
    bien a vous :)
  • Oui effectivement, c'est bien cela.
    C'est une erreur de copier / coller quand j'ai écrit le post.
    Mais cela doit être bon dans le wiki.

    Paul.
  • Bonjour, non, cela n'est pas corrigé sur le wiki, et Madtrix a fait une coquille dans le mot statistiques :)

    Je me suis permis de corriger.
  • Bonjour,

    J'ai installé bbclone hier sur mon blog d'après les instructions du Wiki (+ option 2), sans résultat. C'est à dire que les compteurs restent désespérément à 0.

    J'ai vérifié que tous les fichiers (y compris cachés) étaient présents (cf. messages d'Hamtaro plus haut). Et tout y est.

    Header.php comprend bien la ligne supplémentaire.

    J'ai téléchargé la version 0.49c.

    Bon là, je suis arrivé au bout de mes possibilités et j'ai besoin d'aide.

    A bientôt.

    Philippe.

    P.S : je profite de ce message (même si ce n'est pas l'endroit pour complimenter) pour remercier toute l'équipe du travail réalisé. C'est vraiment formidable. Bravo.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour alpaph

    est-ce que ton dossier bbclone a les droits en écriture, car les stats sont stockées dans des fichiers. C'est peut être une piste

    Merci pour le PS ;)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Oui, ils ont les droits (drwx
    ). De plus, je n'ai pas constaté de problèmes de ce type dans les arborescences.

    Philippe.
  • Alors je pense aussi a un problème de Chmodd sur ton dossier bbclone/var => 755
    Et ensuite un Chmodd 777 sur tout les fichiers de ce dossier sauf le htaccess et htalock qui eux sont en 644.
  • J'ai tenté, sans succès, de faire un chmod sur le répertoire et les fichiers => sans succès. Apparemment, Free ne laisse pas faire ce type de commande (le serveur retourne "500 SITE not understood"). J'ai essayé avec Filezilla et fireftp.

    Du coup, je me retrouve coincé. Je pense qu'il faudrait que je fasse cette action en local sur une machine Linux et ça, ce n'est pas avant lundi ... à moins qu'il y ait une autre solution ...

    @ +

    Philippe.
  • znkznk Member
    alpaph a écrit:
    J'ai tenté, sans succès, de faire un chmod sur le répertoire et les fichiers => sans succès. Apparemment, Free ne laisse pas faire ce type de commande (le serveur retourne "500 SITE not understood"). J'ai essayé avec Filezilla et fireftp.

    Du coup, je me retrouve coincé. Je pense qu'il faudrait que je fasse cette action en local sur une machine Linux et ça, ce n'est pas avant lundi ... à moins qu'il y ait une autre solution ...

    @ +

    Philippe.
    J'ai trouvé la solution sur le net pour Free, il suffit (au choix) :
    # de télécharger cette version (0.4.8)
    # d'utiliser ce patch pour forcer Free

    J'ai utilisé la deuxième méthode.

    N.B.: "BBClone chez Free" sur Google pour + d'info.

    Azrielo
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bien jouer Azrielo. ça aidera du monde comme ça. Merci pour eux

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • znkznk Member
    Ca aide énormément d'avoir des statistiques complets !! :D
  • Bonjour et merci Azrielo,

    Ca marche impeccable. J'ai aussi choisi la deuxième option.

    Au risque de paraître un peu pénible, les caractères accentués des titres de mes pages s'affichent mal dans la page de synthèse que j'ai choisi d'afficher dans la zone d'administration de plumxml. Ce n'est bien évidemment pas vital, mais je me demandais si je n'aurai pas du choisir une version bbclone UTF-8.

    Y a t'il des spécialistes de l'encodage de caractères ???

    A +

    Philippe
  • Exactement il te faut la version Utf-8 de bbclone qui corrige donc ce soucis.
  • Allez, j'aime bien finir les choses. Je recommence le téléchergement. ;-))

    Merci et à bientôt.
  • BBClone utilise un système de blocage pour éviter que les fichiers access et last soient écrits. Donc il stock les informations dans les fichiers counter1.inc counter2.inc... en attendant d'avoir le droit d'écrire dans les fichiers access.php et last.php (s'il y a plusieurs client en même temps par exemple). Pour savoir s'il a le droit il utilise un fichier .htalock. Si le fichier existe il peut écrire, s'il n'existe pas... il ne peut pas. D'où, il me semble, ton problème.

    Pour résoudre ton problème il faut : soit activer l'affichage des fichiers cachés dans ton client FTP et envoyer le fichier .htalock du dossier bbclone/var, soit créer directement le fichiers (vide) .htalock dans le dossier var.

    Amaury
Connectez-vous ou Inscrivez-vous pour répondre.