Résultats de 1 à 7 sur 7

Sujet : [graphStats] les visites sur le site

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823

    [graphStats] les visites sur le site

    Code:
    <!doctype html public \"-//W3C//DTD HTML 4.0 //EN\">
    <html>
    <head>
    </head>
    <body>
    <?php
    include($HTTP_SERVER_VARS[\'DOCUMENT_ROOT\'].dirname($_SERVER[\'PHP_SELF\']).\'/Connexion.php\');
    
    // LES VARIABLES UTILES
    $hote = DB_HOST;
    $utilisateur = DB_USER;
    $mot_de_passe = DB_PASSWORD;
    $hauteur_image = 250;
    $largeur_image = 400;
    $facteur_echelle_vertical = 0;
    $facteur_echelle_horizontal = 0;
    $max_visite = 0;
    $max_enregistrement = 0;
    
    // DEFINITION DES COULEURS UTILISEES
    $pic=ImageCreate($largeur_image,$hauteur_image);
    $colFond=ImageColorAllocate($pic,255,255,255); // fond de la Stat Blanc
    $col_jour=ImageColorAllocate($pic,100,100,200);
    $col_moyenne=ImageColorAllocate($pic,255,0,0);
    $col_echelle=ImageColorAllocate($pic,0,0,0);
    
    // CONNEXION A LA BASE ET PARCOUR DE LA TABLE DES VISITES
    $bd=mysql_connect($hote,$utilisateur,$mot_de_passe);
    mysql_select_db(\'test\')
    	or die(\'selection impossible de la base de donnee: \'.mysql_error().\'<br>\');
    
    $requete = \"SELECT * FROM  compteur_journalier\";
    
    $result= mysql_query($requete);
    $max_enregistrement = mysql_num_rows($result);
    $absice = 0;
    $somme_moyenne = 0 ;
    while($enregistrement=mysql_fetch_array($result)){
    	$compteur = $enregistrement[2];
    	$somme_moyenne = ($somme_moyenne + $compteur);
    	$moyenne_jour = $somme_moyenne / ($absice+1);
    	if ($max_visite<$compteur){
    		$max_visite=$compteur;
    	}
    	$point[$absice] = $compteur;
    	$moyenne[$absice] = $moyenne_jour;
        $absice++;
    }
    mysql_close();
    
    // TRACE DES LIGNES D ECHELLE
    ImageLine($pic, 0, $hauteur_image-($hauteur_image/3), $largeur_image, $hauteur_image-($hauteur_image/3), $col_echelle);
    imagestring ($pic, 1, 5, 5+$hauteur_image-($hauteur_image/3),  abs((int)($max_visite/3)), $col_echelle);
    ImageLine($pic, 0, $hauteur_image-($hauteur_image/3)*2, $largeur_image, $hauteur_image-($hauteur_image/3)*2, $col_echelle);
    imagestring ($pic, 1, 5, 5+$hauteur_image-($hauteur_image/3)*2,  abs((int)($max_visite/3))*2, $col_echelle);
    imagestring ($pic, 1, 5, 5, $max_visite, $col_echelle);
    
    // TRACE DES LEGENDES
    $text_color = imagecolorallocate ($pic, 233, 14, 91);
    imagestring ($pic, 1, 45, 25,  \"MoteurProg Visites moyennes\", $col_moyenne);
    imagestring ($pic, 1, 45, 35,  \"MoteurProg Visites journalières\", $col_jour);
    
    // TRACE DES GRAPH VISITE REEL ET VISITE MOYENNE
    $absice = 0;
    $facteur_echelle_horizontal = $largeur_image / $max_enregistrement;
    $facteur_echelle_vertical = $hauteur_image / $max_visite;
    
    for($i=0;$i<($max_enregistrement-1);$i++) {
    	ImageLine($pic, $absice, $hauteur_image-($point[$i]*$facteur_echelle_vertical), $absice + $facteur_echelle_horizontal, $hauteur_image-($point[$i+1]*$facteur_echelle_vertical), $col_jour);
    	ImageLine($pic, $absice, $hauteur_image-($moyenne[$i]*$facteur_echelle_vertical), $absice + $facteur_echelle_horizontal, $hauteur_image-($moyenne[$i+1]*$facteur_echelle_vertical), $col_moyenne);
    	$absice = $absice + $facteur_echelle_horizontal;
    }
    
    // AFFICHAGE DE QQUE CHIFFRES DE CONTROLE
    echo\'<br>Nombre de visite max : \'.$max_visite;
    echo\'<br>Nombre d\\\'enregistrement : \'.$max_enregistrement;
    echo\'<br>facteur vertical : \'.$facteur_echelle_vertical;
    echo\'<br>facteur horizontal : \'.$facteur_echelle_horizontal;
    
    ImagePNG($pic,\"stat1.png\");
    ImageDestroy($pic);
    ?>
    <br>
    <center><img src=\"stat1.png\" border=1></center>
    </body>
    </html>
    Voila brut de decofrage le premier graph que je propose.

    Dans le script, tout est basé sur la dimension (x et y ) de l\'image desirée. Le script fera son possible pour \'cadrer\' le resultat dans cette image qque soit les valeurs trouvées dans la base et qque soit leur nombre aussi.

    ce graph comprend pour l\'instant deux courbes.

    1/ la courbe des visites réelles (basé sur le nombre de visite jour) en bleu

    2/ la courbe de la moyenne des visites en rouge (plus parlant car \'plus linéaire\')

    tout est parametrable : dimension et couleurs des coubes, légendes associées et echelles de tracé.

    Le tout est encapsulé dans une page web qui utilise le fichier png crée pour l\'affichage.

    L\'imporatnt restant la constitution de l\'image, le reste n\'a que peu dimportance.

    Quelles modifications sont souhaitables ?
    Quelles autres graphes sont souhaitables ? sous quelle forme ?

    Je verai bien une page (dans un module d\'administration) avec plein de courbes permetant des anayses qualitatives sur le site.

    Affaire a suivre :wink:

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    Un exemple est visible ici :

    http://perso.wanadoo.fr/zebpm/stat1.html

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Ces normal que la courbe rouge ne passe pas par le mileu de la courbe bleue, comme une moyenne ?
    Ou c\'est un exemple ?
    Ou bien, j\'ai pas compris ce que ca représentait ?
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    Bonne question, Je le supose, il faudrai que tu regarde le calcul dans le script pour voir s\'il te semble normal ...

    Dans la mesure ou les visites augmentes regulièrement, il me semble normal qu\'elle soit en dessous. si cela se stabilisais, elle se confondrai et si les visites diminuais, alors la moyenne serait plus élevée que les visites il me semble.

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Il m\'est difficile de rentrer dans le code n\'étant pas initié auPHP/MySQL.

    La rouge est la moyenne des visites, mais par rapport au nbre de visite totale suivant le jour ?

    En fait, tu fais pour chaque jour, le nombre de visite depuis le début divisé par le nombre de jour, et ce pour chaque jour du début jusqu\'à la fin ?

    Et la courbe bleue représente le nombre de visite chaque jour ?

    Dans ce cas, c\'est normal que la rouge soit en dessous de la bleue.

    Une personne qui ouvre 10 pages de MoteurProg dans la journée à plusieurs moments différents compte pour 1 ou 10 visites ou ca dépend dun nombre de fenetres ouvertes ?

    Il est possible de faire bcp (trop ?) de choses en stats.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    1 823
    En fait, tu fais pour chaque jour, le nombre de visite depuis le début divisé par le nombre de jour, et ce pour chaque jour du début jusqu\'à la fin ?
    oui, c\'est cela (pour php, c\'est parceque tu essaie pas car la syntax est la même que C et les fonctions sont souvent explicites les variables sont toutes precédées d\'un symblo \'$\')

    Et la courbe bleue représente le nombre de visite chaque jour ?
    oui et tu te rend compte donc des chutes de frequentation durant les W.End . (les creux)

    Une personne qui ouvre 10 pages de MoteurProg dans la journée à plusieurs moments différents compte pour 1 ou 10 visites ou ca dépend dun nombre de fenetres ouvertes ?
    Je peux pas te repondre, c\'est le script de Dju qui comptabilise les visites pas le mien qui lui se contente de lire la base.

    Je vais essayer de faire un autre graph sur les inscriptions as tu une idée ?

  7. #7
    Visiteur MP
    Visiteur MP
    Allé moi je veux bien intégrer l\'équipe GraphStats. C\'est marrant je viens de poster un post en réponse de celui d\'Admin sur le forum MP et j\'ai demandé inocemment : \"c\'est pour quand les graphiques des courbes des visiteurs\".

    Allé je m\'inscrit à ce projet, dès que j\'ai du temps (soir et week end essentiellement) je tente d\'améliorer le code de zeb,

    ++
    :

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé