pierreSabatier
Messages postés27Date d'inscriptionlundi 12 avril 2010StatutMembreDernière intervention15 octobre 20111 11 sept. 2011 à 18:24
Bonjour tout le monde, au lieu de maugréer comme vous le faites, j'ai écrit un petit script qui, à la lecture de vos commentaires peu élogieux, vous ravira ou le cas échéant, relancera la discussion sur cette fonctionnalité.
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 29 juil. 2011 à 16:28
phpAnonyme: Desole, je pensais que tu parlais du code.
Pour ce qui est de "faire un controle", ca depend de ce que tu veux mesurer. C'est vrai que "Compteur de visites" est un peu trompeur ici, puisqu'il s'agit plus d'un Compteur de pages vues".
Un cookie permettrait d'obtenir le nombre de visiteurs uniques / une periode de temps (heure/jour/mois/session) en fonction de la duree de vie de celui-ci.
J'avoue que je ne vois pas vraiment ce qu'on peut ajouter de plus mais si tu as un exemple precis en tete je suis curieux de le connaitre :o)
Selon un admin, mes remarques ne sont pas constructives. J'attend que le webmaster veuille bien supprimer mon compte (pas trouver l'option adequate dans le menu..). Ce que je disais sur une autre source la semaine dernière, à force de sur-noter des codes "bidons", de "plussoyer" les erreurs de programmation et d'aimer les "gros code moche", on ce retrouve avec des gars qui détectent des pixels mort de façon logiciels..
Mais ce n'est pas très étonnant, étant donné le peux de personne ayant les pieds sur terre ici.
phpAnonyme
Messages postés392Date d'inscriptionmercredi 28 octobre 2009StatutMembreDernière intervention23 mars 201255 29 juil. 2011 à 14:19
LeFauve42 : Rien n'est jamais TROP minimaliste : Si tu peux obtenir le meme resultat de 2 manieres, la plus courte est toujours la meilleure (par meme resultat, j'entend "qui fonctionne dans tous les cas").
Par minimaliste j'entends le problème qu'à soulevé Romano58 :
"Et si j'appuie 5 fois sur f5, il ce passe quoi? C'est sans intêret."
Ca manque de contrôle(vrai contrôle pas un simple cookie).
cod57
Messages postés1653Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 29 juil. 2011 à 14:11
bonjour
@LeFauve42++
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 29 juil. 2011 à 13:32
cod57: Ta version n'est pas tres lisible, et si le fichier n'existe pas elle le cree vide.
Si tu veux vraiment sauver quelques caracteres pour rendre le code illisible, essaie plutot comme ca:
PS: C'est marrant d'ecrire du code comme ca mais je ne peux que vous encourager a ne PAS le faire si vous comptez l'utiliser "en conditions reelles" :o)
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 29 juil. 2011 à 13:24
phpAnonyme: Rien n'est jamais TROP minimaliste : Si tu peux obtenir le meme resultat de 2 manieres, la plus courte est toujours la meilleure (par meme resultat, j'entend "qui fonctionne dans tous les cas").
De plus, il y a beaucoup d'exemples de 2 ou 3 lignes qui sont des horreurs (offrant au choix des trous de securite ou une utilisation de ressources sans communes mesures avec la fonction remplie) et ce n'est pas evident pour un debuttant de faire le tri.
En mettant une bonne note a ces 3 lignes-ci plutot qu'a d'autres, ca permet de aussi d'indiquer qu'il s'agit d'un bout de code qui fait correctement ce qu'on attend de lui sans mauvaise surprise.
Alors d'accord ce n'est pas de la "rocket-science" mais il faut bien commencer un jour :o)
cod57
Messages postés1653Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 28 juil. 2011 à 16:40
en fait 2 lignes (-: (surcharge cpu)
perso j'aime bien ce petit snippet mais je met que 8 parce que c'est un snippet
cod57
Messages postés1653Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 28 juil. 2011 à 16:34
bonjour
d'accord avec toi phpAnonyme un simple javascript de g..... anali..
en fait tu peux gagner une ligne SuperChouquette
phpAnonyme
Messages postés392Date d'inscriptionmercredi 28 octobre 2009StatutMembreDernière intervention23 mars 201255 28 juil. 2011 à 04:33
Je suis assez d'accord avec Romano58 sur le fond. C'est trop minimaliste, pour ne pas dire simpliste ! Du coup le niveau débutant est très justifié et encore !
[Mode - opinion perso]
Et puis, de nos jours à par ceux qui ne savent pas où chercher, il existe des tas de solutions gratuites ou payantes qui fournissent des informations de ce type et même beaucoup plus. Je ne dis pas que c'est sans intérêt, mais que c'est universellement accessible par tous(avec des solutions gratuites et éprouvés) pour avoir à s'emmerder à faire ce genre de script sauf si c'est pour le fun ou pour une solution plus poussée/personnalisée côté entreprise.
- opinion perso
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 27 juil. 2011 à 12:59
> Sinon, créer un cookie sur le Navigateur et n'incrémenter que si le cookie n'est pas présent.
C'est ce que je fais : Ca permet d'avoir un compteur genre "Cette page a ete vue xxx fois par yyy personnes differentes"...
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 26 juil. 2011 à 18:31
Bonsoir,
Sinon, créer un cookie sur le Navigateur et n'incrémenter que si le cookie n'est pas présent.
Certes, ce n'est pas parfait, mais ça reste simple.
J'en arrive à lire tellement de connerie sur ce site que je viens d'avoir une idée de génie pour un script de folie (et qui prend pas beaucoup de ligne).
Puisqu'on ce fiche de savoir si on en est à centaines de visites en plus ou en moins, vous devriez développer une fonction qui renvoie un nombre aléatoire, dans le genre "Aujourd'hui, vous êtes le 1 000 968 em visiteur sur le site, et XXXXX personnes sont mortes dans le monde depuis hier".
C'est vrai, après tout, puisque on ce fiche de la pertinence des informations à afficher dans la page.
Ou alors proposer un VRAI compteur, c'est pas beaucoup plus compliquer de rajouter les ip qui viennent sur la page dans un fichiers texte, et d'ajouter + 1 au compteur si l'ip n'est pas présente. Au moins, ça changera de l'exemple basique que tu viens mettre ici (et qu'on trouve partout sur le net soit dit en passant), et ça méritera une vrai note.
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 26 juil. 2011 à 15:52
C'est effectivement un bon exemple, et tres interessant (tout le monde n'a pas envie d'un framework de 2000 lignes de PHP pour faire des petits trucs simples).
"La perfection n'est pas atteinte quand on ne peut plus rien ajouter, mais quand on ne peut plus rien enlever" :o)
J'aurai mis la note max si tu avais mis ca dans une fonction et donne quelques explications sur le deploiement (comme choisir un repertoire dans lequel le serveur peut ecrire (et pas juste donner les droits sur le fichier comme je disais plus haut, car comme le fichier va etre cree par le premier appel du script, les droits seront forcement bons pour celui-ci)) mais FWIW je ne met pas souvent d'aussi bonnes notes ;o)
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 26 juil. 2011 à 15:40
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 26 juil. 2011 à 15:25
ce n'est pas tiré du sdz, montre moi la page ou tu as vu ça.. et on t'as dit la solution il suffit de mettre le locker si tu as un site extrêmement fréquenté..
Après ce n'est pas parce que c'est simple que c'est sans intérêt.. Il y'a pleins de codes de compteurs ultra compliqués sur ce site qui ont nettement moins d’intérêts à mes yeux.
C'est quasi un copier/coller d'un exo sur php du sdz...
Et si j'appuie 5 fois sur f5, il ce passe quoi? C'est sans intêret.
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 26 juil. 2011 à 13:14
Bien vu !
Je ne connaissais pas cette nouveaute.
Auquel cas, ca reste tres simple.
Par contre, tu devrais donner quelques details sur la mise en oeuvre (comme "penser a changer les droits du fichier .txt pour que le process du serveur HTTP puisse ecrire dedans) et mettre a jour le source avec le LOCK_EX.
Eric
cs_SuperChouquette
Messages postés37Date d'inscriptiondimanche 24 février 2008StatutMembreDernière intervention18 mai 2010 26 juil. 2011 à 12:28
on est pas obligé de perdre le file_put_contents()
on peut mettre file_put_contents($filename, $compteur, LOCK_EX);
LeFauve42
Messages postés239Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 avril 2009 25 juil. 2011 à 13:32
Oui, c'est minimaliste, mais je pense que tu as des problemes de re-entrence lorsque plusieurs visiteurs sont sur ta page en meme temps (c'est a dire a quelques ms pres).
Il faudrait utiliser flock() sur ton fichier (et complexifier un peu puisque du coup tu perds file_put_contents()).
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 22 juil. 2011 à 22:03
Bonsoir,
Au vu de la complexité du code, je pense que sa place serait sur Codyx.org.
C'est comme j'ai fais pour mon site, c'est très rudimentaire, mais quand on a pas de BDD, c'est vrai que c'est très utile.
11 sept. 2011 à 18:26
11 sept. 2011 à 18:24
29 juil. 2011 à 16:28
Pour ce qui est de "faire un controle", ca depend de ce que tu veux mesurer. C'est vrai que "Compteur de visites" est un peu trompeur ici, puisqu'il s'agit plus d'un Compteur de pages vues".
Un cookie permettrait d'obtenir le nombre de visiteurs uniques / une periode de temps (heure/jour/mois/session) en fonction de la duree de vie de celui-ci.
J'avoue que je ne vois pas vraiment ce qu'on peut ajouter de plus mais si tu as un exemple precis en tete je suis curieux de le connaitre :o)
29 juil. 2011 à 14:49
Mais ce n'est pas très étonnant, étant donné le peux de personne ayant les pieds sur terre ici.
29 juil. 2011 à 14:19
Par minimaliste j'entends le problème qu'à soulevé Romano58 :
"Et si j'appuie 5 fois sur f5, il ce passe quoi? C'est sans intêret."
Ca manque de contrôle(vrai contrôle pas un simple cookie).
29 juil. 2011 à 14:11
@LeFauve42++
29 juil. 2011 à 13:32
Si tu veux vraiment sauver quelques caracteres pour rendre le code illisible, essaie plutot comme ca:
file_put_contents('compteur.txt',$compteur=(file_exists('compteur.txt')?file_get_contents('compteur.txt')+1:1),LOCK_EX);
echo $compteur;
PS: C'est marrant d'ecrire du code comme ca mais je ne peux que vous encourager a ne PAS le faire si vous comptez l'utiliser "en conditions reelles" :o)
29 juil. 2011 à 13:24
De plus, il y a beaucoup d'exemples de 2 ou 3 lignes qui sont des horreurs (offrant au choix des trous de securite ou une utilisation de ressources sans communes mesures avec la fonction remplie) et ce n'est pas evident pour un debuttant de faire le tri.
En mettant une bonne note a ces 3 lignes-ci plutot qu'a d'autres, ca permet de aussi d'indiquer qu'il s'agit d'un bout de code qui fait correctement ce qu'on attend de lui sans mauvaise surprise.
Alors d'accord ce n'est pas de la "rocket-science" mais il faut bien commencer un jour :o)
28 juil. 2011 à 16:40
perso j'aime bien ce petit snippet mais je met que 8 parce que c'est un snippet
28 juil. 2011 à 16:34
d'accord avec toi phpAnonyme un simple javascript de g..... anali..
en fait tu peux gagner une ligne SuperChouquette
<?php
! file_exists('compteur.txt') ? fopen('compteur.txt','w+') : file_put_contents('compteur.txt', $compteur=file_get_contents('compteur.txt')+1, LOCK_EX);
if(isset($compteur)){echo $compteur;}
?>
28 juil. 2011 à 04:33
[Mode - opinion perso]
Et puis, de nos jours à par ceux qui ne savent pas où chercher, il existe des tas de solutions gratuites ou payantes qui fournissent des informations de ce type et même beaucoup plus. Je ne dis pas que c'est sans intérêt, mais que c'est universellement accessible par tous(avec des solutions gratuites et éprouvés) pour avoir à s'emmerder à faire ce genre de script sauf si c'est pour le fun ou pour une solution plus poussée/personnalisée côté entreprise.
- opinion perso
27 juil. 2011 à 12:59
C'est ce que je fais : Ca permet d'avoir un compteur genre "Cette page a ete vue xxx fois par yyy personnes differentes"...
26 juil. 2011 à 18:31
Sinon, créer un cookie sur le Navigateur et n'incrémenter que si le cookie n'est pas présent.
Certes, ce n'est pas parfait, mais ça reste simple.
26 juil. 2011 à 16:47
Puisqu'on ce fiche de savoir si on en est à centaines de visites en plus ou en moins, vous devriez développer une fonction qui renvoie un nombre aléatoire, dans le genre "Aujourd'hui, vous êtes le 1 000 968 em visiteur sur le site, et XXXXX personnes sont mortes dans le monde depuis hier".
C'est vrai, après tout, puisque on ce fiche de la pertinence des informations à afficher dans la page.
Ou alors proposer un VRAI compteur, c'est pas beaucoup plus compliquer de rajouter les ip qui viennent sur la page dans un fichiers texte, et d'ajouter + 1 au compteur si l'ip n'est pas présente. Au moins, ça changera de l'exemple basique que tu viens mettre ici (et qu'on trouve partout sur le net soit dit en passant), et ça méritera une vrai note.
26 juil. 2011 à 16:18
26 juil. 2011 à 15:52
"La perfection n'est pas atteinte quand on ne peut plus rien ajouter, mais quand on ne peut plus rien enlever" :o)
J'aurai mis la note max si tu avais mis ca dans une fonction et donne quelques explications sur le deploiement (comme choisir un repertoire dans lequel le serveur peut ecrire (et pas juste donner les droits sur le fichier comme je disais plus haut, car comme le fichier va etre cree par le premier appel du script, les droits seront forcement bons pour celui-ci)) mais FWIW je ne met pas souvent d'aussi bonnes notes ;o)
26 juil. 2011 à 15:40
tu trouves vraiment que ça ressemble ? ils parlent pas de ces deux fonctions file_get_contents() et file_put_contents() et encore moins du locker, ils se croient en C pour les fichiers..
26 juil. 2011 à 15:25
Après ce n'est pas parce que c'est simple que c'est sans intérêt.. Il y'a pleins de codes de compteurs ultra compliqués sur ce site qui ont nettement moins d’intérêts à mes yeux.
26 juil. 2011 à 15:19
Et si j'appuie 5 fois sur f5, il ce passe quoi? C'est sans intêret.
26 juil. 2011 à 13:14
Je ne connaissais pas cette nouveaute.
Auquel cas, ca reste tres simple.
Par contre, tu devrais donner quelques details sur la mise en oeuvre (comme "penser a changer les droits du fichier .txt pour que le process du serveur HTTP puisse ecrire dedans) et mettre a jour le source avec le LOCK_EX.
Eric
26 juil. 2011 à 12:28
on peut mettre file_put_contents($filename, $compteur, LOCK_EX);
25 juil. 2011 à 13:32
Il faudrait utiliser flock() sur ton fichier (et complexifier un peu puisque du coup tu perds file_put_contents()).
22 juil. 2011 à 22:03
Au vu de la complexité du code, je pense que sa place serait sur Codyx.org.
C'est comme j'ai fais pour mon site, c'est très rudimentaire, mais quand on a pas de BDD, c'est vrai que c'est très utile.