Aller au contenu

optimisation d'un compteur de visite


Sujets conseillés

Posté (modifié)

Bonsoir

je dois realiser un compteur des visites de mes articles en php.

Les articles les plus lu seront recompensés.

De ce fait je dois creer un systeme de visite qui ne compte qu'une fois chaque visiteurs afin de ne pas avoir trop de triche.

De plus je desirerais faire ressortir l'article le plus de la veille ainsi que de la semaine passée.

donc je pense que la maniere optimale de creer ma bdd est de creer

1 base articles avec l'id de l'article...

1 base visiteurs en enregistrant une id pour chaque visiteurs et une ip

1 basevisite_par_article avec un champs id 1 champs id_video 1 champs id_visiteur et un champs date.

malgré cela, ayant entre 3000 et 5000 visiteurs par jours, je pense que ma bdd va exploser. comptons 5000 visiteurs en moyenne pour voir large. sur 30 jours ca fait 150 000 entré. (5000*30) et donc 1 750 000 entrée sur l'année.

de quoi avoir une bdd d'1go dans quelques années :lol:

si vous aviez une idée pour améliorer tout cela? merci par avance ! tout est bon a prendre :)

Modifié par jer666
Posté (modifié)

Oui, peut être... je sais pas si j'ai bien compris ton problème, mais pourquoi ne pas regrouper ta base visiteurs et ta base visiteur article en une ?

A près il te suffit de compter le nbre d'ip pour les visites

Et puis si tu veux voir si quelqu'un repasse sur ton site, tu mets un champ date, et tu autorises le comptage d'une meme ip si c'est pas le meme jour par exemple. Ou un truc dans ce goût là

Une table de moins déjà!

Et puis t'es pas obligé de les garder tout le temps les entrées avec les ip, tu peux ajouter un champ visites à tes articles et te servir de la base visiteurs_articles juste pour filtrer, comme ça au bout de temps de temps, les entrées sont effacées...

Modifié par papyboingtown
Posté

Salut jer666,

as tu pensé à faire une limitation par cookie ?

Plus léger mais légèrement moins fiable si l'internaute vide les cookies de son ordoinateur, je te l'accorde.

Une fois qu'il est sur un article, tu places un cookie s'il n'en pas déjà un avec l'id de ton article. Si un cookie est déjà présent, tu parses les valeurs présentes pour chercher l'existence ou non de ton id. En fonction de tout cela tu UPDATE ta base de donnée pour ton compteur.

Posté

merci de vos reponses :)

pour le cookies c'est impossible. Pour la bonne et simple raison qu'on est limiter en nombre de cookies et qu'un visiteurs peut visiter une centaine d'article :)

pourquoi creer 2 base? et bien j'ai utilisé la methode d'optimisation dite merise. cette methode qui a fait ces preuves m'indique qu'en charge il serrait moins lourds de géré 2 table plutot qu'une. le nombre de table n'est pas super important ce qui est important c'est le nombre d'enregistrement total.

Si je cree 1 seule table alors elle va enregistrer toute les visite et toute les ip. si je creer 2 table elle va enregistrer toute les ip mais pas toute les visites :)

Posté
pour le cookies c'est impossible. Pour la bonne et simple raison qu'on est limiter en nombre de cookies et qu'un visiteurs peut visiter une centaine d'article :)
et alors ? pourquoi n'utiliser un cookie que pour une seule page ?
Posté

j'avous avoir poster la question sur plusieurs forums.

la reponse qui pour le moment ma parru la plus interressante est pour le moment l'utilisation des session,

- Pour chaque visiteur, tu ouvres une session.

- Dans les données de cette session, tu crées un tableau contenant les IDs des articles visités par l'utilisateur.

- Incrémente le compteur uniquement si l'utilisateur visite un article dont l'ID ne figure pas dans le tableau des articles déjà visités et rajoute l'ID au tableau.

qu'en pensez vous?

oracle?? je vais faire une petite recherche sur google pour voir

Leonick je ne dois pas etre suffisament doué dans la creation des coockies pour voir le fin mot de ta proposition :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...