Plugins - Statistiques

2»

Réponses

  • bonsoir
    @ludo_17 si tu as de nombreux visiteurs regarde du coté de flock : http://www.manuelphp.com/php/function.flock.php

    ça permet d'eviter un telescopage à l'ouverture/ecriture/fermeture des fichiers . D'ailleurs BBclone s'appuie dessus et propose une version patché pour free qui ne supporte pas flock();

    J'ai deja eu ce genre de probleme sur des fichiers textes , mais sans les vider je finissais par avoir des données loufoques :) .
    (LES BDD sont blindée pour ce type d'erreur pas les données stockées et ecrites dans des fichiers)

    Cordialement
    GC


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonsoir GC,
    @ludo_17 si tu as de nombreux visiteurs
    Non, le blog n'est même pas référencé pour l'instant. Par contre, qu'il y ait eu des connexions simultanées n'est malgré tout pas impossible.
    regarde du coté de flock : http://www.manuelphp.com/php/function.flock.php

    ça permet d'eviter un telescopage à l'ouverture/ecriture/fermeture des fichiers . D'ailleurs BBclone s'appuie dessus et propose une version patché pour free qui ne supporte pas flock(); ...
    Dommage, je suis justement chez Free. Mais je vais regarder ça. Cela dit, pour l'instant, l'essai d'une version texte est concluant. J'ai tenté de générer des connexions simultanées en passant par plusieurs proxy en ayant ainsi jusqu'à 7 visiteurs en ligne sans soucis.

    Le script en question est inspiré de ce lien ainsi que celui-ci en adaptant un peu (remplacé 'session_register(' par '($_SESSION par exemple).

    Il y a néanmoins moins de chance que le soucis se produise à nouveau. Le visiteur est pris en compte en fonction de sa session. L'écriture se borne à ajouter un point dans un fichier texte. Le nombre de visiteur est alors égal à la taille du fichier connue grâce à filesize() (je suppose que cette action n'ouvre donc pas le fichier, une opération en moins du coup).
    J'imagine que tout cela nécessite moins de ressouces que le compteur précédent.

    Je vais donc le laisser en place pour l'instant, on verra bien. Merci de ta réponse en tout cas, je vais voir ça avec intéret (enfin, demain parce que là, il est 1h du mat... :))
    Cordialement,
    Ludo
  • Ludo_17 a écrit:
    Je vais donc le laisser en place pour l'instant, on verra bien.
    Ludo
    Aucun soucis depuis. Je n'ai plus de remise à zéro intempestive et ce qui était provisoire vient de devenir définitif. Ce compteur simple me suffit (nombre de visiteurs + nombre de visiteurs en ligne).
    Merci encore pour les réponses, en tout cas.
    Cordialement,
    Ludo
  • <li style="-moz-border-radius: 0 0 4px 4px;">Nombre de visiteurs: <?php $plxStats->TotalVisitors() ?></li>
    
  • Salut,

    Ludo y a moyen que tu explique la marche à suivre pour installer/modifier le compteur que ta ?

    Je t'en remercie d'avance.
  • Ludo_17Ludo_17 Member
    septembre 2010 modifié
    Bonjour aSoKiMoZ,

    voici le code que j'utilise (à placer dans un fichier texte qui sera nommé cpt.php). Le commentaire au début donne la marche à suivre pour l'installation :
    <?php 
    /*
    Script compteur de visites et compteur de visiteurs en ligne pour PluXml V4 ou V5.
    Inspiré de cet article : http://www.asp-php.net/scripts/asp-php/compteurs.php
    
    Installation :
    -------------
    - Créer un dossier plugins/compteur/
    - y ajouter deux fichiers txt vides nommés : cpt.txt et online.txt ainsi que le présent fichier cpt.php
    - Modifier le début du fichier header.php de votre thème, juste après le premier "<?php if(!defined('PLX_ROOT')) exit;" en ajoutant :
     session_start();
     include_once(PLX_ROOT.'plugins/compteur/cpt.php');
    - Enfin, modifier le fichier footer.php (par exemple) pour l'affichage du résultat, en ajoutant :
    <p><?php
    echo $cpt." visiteurs | ";
    echo $online." visiteur".$nbtemp;
    echo " en ligne";
    ?></p>
    
    Ce qui affichera par exemple : 324 visiteurs | 2 visiteurs en ligne
    
    Pour info, la variable $nbtemp contient un 's' lorsqu'il y a plus d'un visiteur en ligne ;o)
    
    Ludovic AMATHIEU
    http://ludo.qbf.free.fr/
    */
    
    ### Compteur de visites ###
    if(!isset($_SESSION['visite'])) {$_SESSION['visite'] = "";}
    $fichier=PLX_ROOT."plugins/compteur/cpt.txt";
    // si c'est le premier hit de la session
    if($_SESSION['visite'] == "") {
       // marque la session
       $_SESSION['visite'] = "ok";
    
       // Incrémente le compteur
       $inF = fopen($fichier,"a");
       fputs($inF,"."); 
       fclose($inF);
    }
    
    // Lecture de la taille du fichier
    $cpt = filesize($fichier);
    
    ### Compteur de visiteurs en ligne ###
    
    $Fnm = PLX_ROOT."plugins/compteur/online.txt";
    
    // IP du visiteur
    $IP=$_SERVER["REMOTE_ADDR"];
    
    // Date/heure courante en minutes
    $date0 = time()/60;
    // Durée de vie max
    $vie = 5;
    
    // Si le fichier existe, on le lit
    if (file_exists($Fnm)) {
       $inF = fopen($Fnm,"r");
       while (!feof($inF)) {
          // on lit chaque IP|minutes
          $ligne=fgets($inF, 4096);
          $temp = explode("|",$ligne);
          // différente de l'IP courante ?
          if($temp[0]!=$IP) {
             // non périmée ?
             if($date0-intVal($temp[1])<=$vie) {
                $online++;
                $result .= $ligne . "\n";
             }
          }
       }
       fclose($inF);
    }
    // On ajoute le hit
    $result .= $IP . "|" . $date0 . "\n";
    $online++;
    // Et on sauve
    $inF = fopen($Fnm,"w");
    fputs($inF,$result);
    fclose($inF);
    
    if ($online <= 1){$nbtemp = "";} else {$nbtemp = "s";}
    ?>
    
    Le compteur de visites :
    Tant que la session existe, la visite n'est comptabilisée qu'une seule fois. Lorsqu'une visite est détectée, un simple point est ajouté au fichier texte. Ainsi, pour connaître le nombre de visites, il suffit de lire la taille du fichier.
    La durée d'une session dépend de la configuration serveur (en général, une demi-heure).
    Chez Free, ne pas oublier de créer (s'il ne l'est pas déjà), le dossier 'sessions' à la racine du site.

    Le compteur de visiteurs en ligne
    Il se base sur l'Ip du visiteur récupérée + date/heure.
    On fixe une durée de vie (5 mn).
    On lit le fichier texte, si l'Ip n'est pas présente ou la durée de vie expirée, on écrit le fichier avec ces données Ip et date/heure. Comme la lecture se fait avec une boucle while jusqu'à la fin du fichier, il suffit d'incrémenter la variable $online à chaque boucle pour qu'elle reflète le nombre de lignes et donc le nombre de visiteurs connectés.

    Ce compteur est utilisé sur mon site et a été testé avec jusqu'à 20 visiteurs simultanés sans soucis (en me connectant via de multiples proxy :))

    Cordialement,
    Ludo
  • Bonjour, serait-il possible d'uploader à nouveau ce plugin : chez moi le lien est mort.
    Merci ! :D
  • Bonjour Diwabado

    Peut-être parce qu’il n'y a rien à télécharger et de juste faire ce qui est indiqué en page 1 ? :)
  • Bonjour à tous
    J'ai fais comme Zorn. J'ai mis le compteur dans une page statique.ça fonctionne bien. Mais je me rends compte que quand je suis dessus et que j'actualise mon browser, il incrémente mon compteur.
    Est-ce normal ?
  • Arno_Strasbourg a écrit:
    Je me rends compte que quand je suis dessus et que j'actualise mon browser, il incrémente mon compteur.
    Est-ce normal ?
    Sur ce genre de compteur de "base", oui, c'est normal.
    C'est pour cela qu'à un moment ou à un autre, on passe à des trucs plus sympas qui savent compter des visiteurs "uniques"
  • RootardRootard Member
    Bonjour à tous,

    Je remonte ce message au sujet du compteur de visiteurs issu du plugins.

    Je l'ai installé, il fonctionne sauf que de temps à autre, les valeurs dans le fichier xml se remettent à zéro !... C'est un peu gênant surtout que je prévoie une augmentation de la fréquentation du blog et comme je suspecte un problème d'accès concurents au fichier, cela risque de s'amplifier !...

    J'ai essayé d'utiliser la méthode flock mais je suis hébergé chez OVH et cette méthode semble avoir été supprimée chez eux (incompatibilité sur NFS si j'ai bien pigé).

    Est-ce que quelqu'un aurait trouvé l'explication de ce fonctionnement "remise à zéro intempestif" ? Y aurait-il une solution que je pourrais tenter ?

    D'avance merci et à bientôt de vous lire.
    Cordialement,
    Rootard.
  • zornzorn Member
    Bonjour,
    XITI propose un excellent module de stats, simple à mettre en oeuvre et gratuit.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    Peux-être que cette autre solution t'interessera également: http://bit.ly/15pvyEZ

    Consultant PluXml

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

  • RootardRootard Member
    Bonjour Stéphane,

    Et merci pour cette réponse...
    J'ai regardé le lien et le site fournissant le service de compteur. Je ne connaissais pas et ça a l'air très intéressant.

    Hélas, si j'ai bien compris, c'est qu'un compteur affichant le nombre de personnes connectées au site (ou au blog). J'aurais aimé avoir un comptage du nombre total de visiteurs.

    Je garde toutefois le lien car il pourra me servir prochainement. Et si d'autres suggestions sont là, je suis preneur :P

    Bonne journée,
    Cordialement, Rootard.
  • RootardRootard Member
    Re-Bonjour,

    Bon finalement j'ai choisi de désinstaller le plugins "stats" pour installer la solution proposée par Ludo... Pour l'instant ça à l'air de marcher, je verrai à l'usage quand il y aura plus de monde sur le blog. Mais comme en général la solution précédente se remettait à zéro presqu'une fois par jour, je devrais être fixé rapidement, croisons les doigts.

    Encore merci à Stéphane et à Ludo pour leur aide.

    Cordialement, Rootard.
  • RootardRootard Member
    Bonjour,

    Bon alors si ça peut servir à d'autres utilisateurs... Après quelques jours d'utilisation, je n'ai plus eu de remise à zéro du nouveau compteur... Je pense donc que celui-ci est plus sûr dans son fonctionnement.

    Bonne journée à tous,
    Rootard.
  • Hello.

    Je viens de le tester aussi. Et chez moi, je n'ai trouvé aucun dysfonctionnement (excellent).

    Par contre, j'ai constaté que si l'on avait 2 blog à la même adresse ftp (je ne connais pas le terme approprié) il n'y en qu'un seul qui incrémente.
    (perso, il ne s'agit que d'un détail, n'étant pas à vocation professionnelle)


    Amicalement Steph ;)
  • mr-tocmr-toc Member
    Le compteur se réinitialise trop souvent (au bout de quelques jours).
    Je désinstalle car c'est pas fonctionnel. Dommage, si on pouvait éventuellement stocker les résultats puis les agrégés pour faire les comptes, ça pourrait peut être marché.
  • mr-tocmr-toc Member
    Jormun a écrit:
    il y a un plugin de stat, il répondra peut-etre a ton besoin ?
    http://forum.pluxml.org/viewtopic.php?id=4913

    j'ai installé. Je vais voir ce que ça donne mais faut un minimum de données
    Je comparerai avec d'autres données de statitisques de URCHIN et Awstats fourni par mon héébergeur même si un peu biaisé parce que.
  • GariGari Member
    Salut,
    Petit bémol sur le plugin de stat dont parle Jormun (et que j'ai écrit) : il est en version béta et, bien qu'il fonctionne correctement, il pose actuellement des problèmes de performances dues aux tailles de fichiers de log (2 mois de log sur un site peu fréquenté provoque des temps d'attente pour afficher les stats de l'ordre de 30 secondes). Ces problèmes de performance n'impactent cependant rien d'autre (uniquement la page d'admin du plugin plnStatistiques donc). Il faut que je fasse une passe dessus pour améliorer ça.
    Bref : utilisable mais peu exploitable pour l'instant.
  • zorn a écrit:
    Stéphane a écrit:
    ...
    5) Pour afficher les statistiques coller le code ci-dessous par exemple dans le fichier sidebar.php du thème
    <h2>Statistiques</a></h2>
    	<ul>
    		<li>Total des pages vues: <?php $plxStats->TotalViews() ?></li>
    		<li>Pages vues aujourd'hui:  <?php $plxStats->TodayViews() ?></li>
    		<li>Visiteurs connectés: <?php $plxStats->OnlineVisitors() ?></li>
    		<li>Nombre de visiteurs: <?php $plxStats->TotalVisitors() ?></li>
    	</ul>
    
    Bonsoir,

    Question, est ce que je peux coller ce code dans une page normale ou sinon dans une page statique ? J'ai fait quelques essais mais je n'ai pas trouvé comment faire pour que ça marche...
    D'avance merci

    Bonjour
    dans le titre il faut mettre
    <h2>Statistiques</h2>
    
    
    et non
    <h2>Statistiques</a></h2>
    
Connectez-vous ou Inscrivez-vous pour répondre.