begin process at 2012 05 31 01:03:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Gestion particulière de sessions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gestion particulière de sessions

mardi 13 novembre 2007 à 10:04:33 | Gestion particulière de sessions

slhuilli

Bonjour,

je suis en train de developper un chat en PHP qui jusque là ne me pose pas de soucis particuliers sauf un detail que j'aimerais plus avoir confirmation qu'autre chose...(concerne les sessions)
Lorsque un utilisateur se connecte je creé une session pour garder ses infos dont j'ai besoin tout a long de se session. Un fichier dans le repertoire de sessions sur le serveur se crée (jusque là, pas de probleme). sauf que, je croyais que, lorsque cet utilisateur en question fermait le navigateur, ce fichier se supprimait. Or je m'aperçois que non.... Je souhaitais me fonder sur ce nombre de fichiers dans ce repertoire de sessions pour comptabiliser le nombre d'utilisateurs "en temps reel"

Aussi aurais je besoin soit d'autre idée, soit de précisions sur la "bonne utilisation" (je dois mal faire !) sur l'utilisation des sessions.

merci pour votre aide
mardi 13 novembre 2007 à 12:59:13 | Re : Gestion particulière de sessions

neigedhiver

Salut, Tout d'abord, le serveur n'a absolument aucun contrôle sur le navigateur. Il se contente de lui envoyer les fichiers que celui-ci demande, ça s'arrête là. Les sessions servent à conserver des informations lors de la navigation sur le site, sans avoir besoin de les demander à chaque fois. Le cas le plus courant étant l'identification d'un utilisateur, mais aussi le thème graphique, la langue, bref, quelques paramètres permettant une navigation plus agréable. Utiliser les sessions pour autre chose peut ne pas fonctionner comme on l'attend. Sache par ailleurs qu'il est tout à fait impossible d'avoir le nombre d'utilisateurs connectés en temps réel. Ce qu'on voit couramment sur les sites, ce sont les membres qui ont eu une activité pendant les X dernières minutes ou secondes. On ne peut pas faire mieux : c'est lié au premier point de mon explication. Ce qui se fait le plus souvent, c'est une gestion des connexions par une base de données. Toujours le plus souvent, la base de données sert à stocker les variables de session. En effet, les sessions ne permettent de conserver ces données qu'un temps limité et sont associées à une session, laquelle est identifiée par un paramètre dans l'url, ou un cookie. Sans la présence de ceux-ci, une nouvelle session est générée, les informations sont perdues. Stocker les variables de sessions dans une base de données permet de les associer non pas à un cookie ou un paramètre dans l'url, mais à un utilisateur, ce qui permet de les restituer à sa prochaine connexion. Pour en venir à ton problème, il te faut trouver ce qui te convient le mieux... Soit stocker tes informations de sessions dans une base de données, ou sur tout autre support (fichier, etc). Si la base de données est le mode de stockage le plus courant, ce n'est pas pour rien : c'est le plus facile à mettre en oeuvre, sans trop de pertes de performances (tout est relatif : disons simplement que les performances sont tout à fait acceptable quand le traffic n'est pas de plusieurs millions de visites par seconde). En stockant tes informations de sessions dans une base de données (avec la date de création et la date de mise à jour) tu peux facilement compter combien d'utilisateurs ont eu une activité dans les X dernières minutes. Tout ceci n'a de valeur que dans le contexte que tu décris : un chat en php. Pour avoir les statistiques de fréquentation en temps réel, il faudrait une application client/serveur, ce qui n'est pas le cas de php.
mardi 13 novembre 2007 à 14:24:18 | Re : Gestion particulière de sessions

slhuilli

D'accord. Donc ca veut aussi dire que les mesures de médiamétrie sont toutes fausses ?
mardi 13 novembre 2007 à 14:41:36 | Re : Gestion particulière de sessions

neigedhiver

Re, Je vois pas le rapport avec Médiamétrie... Pour PHP, le fait est que le serveur HTTP n'intéragit pas avec le client. Il envoie des données en fonction d'une requête reçue, c'est tout. Au contraire, une application client/serveur ne se contente pas de cela puisque le client envoie des informations au serveurs qui sont prises en compte à chaque instant. Ainsi, lors de la déconnexion, le serveur est aussitôt informé que l'utilisateur se déconnecte. En PHP, ce n'est pas le cas. En tout cas, pas forcément. Le script est exécuté une fois, point barre. Il ne tourne pas en tâche de fond, comme un démon (serveur). Avec un chat PHP, il y a deux manières de se déconnecter : cliquer sur un bouton déconnecter, ou fermer le navigateur. Dans le premier cas, on peut effectivement savoir que l'utilisateur s'est déconnecté et tenir compte instantanément de l'événement. Dans le second, il est IMPOSSIBLE de savoir si l'utilisateur est toujours connecté ou pas. La différence vient du fait que la déconnection est confiée à l'utilisateur, et pas à une application autonome. Si l'utilisateur omet de se déconnecter, le serveur le considère comme toujours connecté. D'où la nécessité d'avoir un temps de latence. On peut décemment considérer que les personnes connectées sur un chat sont celles qui ont une activité régulière et à petits intervalles (5 minutes pour un site web classique, 1 à 2 minutes maxi pour un chat). Je sais pas si je suis bien clair, mais il n'y a pas de connexion persistante entre le navigateur (IE, FF, Opera, Safari, Lynx, ou autre) et le serveur HTTP comme il y a une connexion persistante quand on passe un coup de téléphone. Dans une application client/serveur, le serveur peut envoyer une requête au client pour s'assurer qu'il est toujours connecté. PHP ne PEUT PAS faire ça.


Cette discussion est classée dans : utilisateur, gestion, particulière, session, sessions


Répondre à ce message

Sujets en rapport avec ce message

Multi sessions à partir d'un même ordi [ par pichpoich ] Bonjour, un petit souci avec les sessions sur le développement d'une interface à accés restreint :Voilà, lorsqu'un utilisateur se logge sur le site, j Problème de gestion de sessions [ par piccolo59 ] Bonjour, Dans un intranet j'utilise des sessions pour garder des tas d'informations concernant l'utilisateur et ses recherches sur le site. Les fichie gestion de contenu en fonction de la session utilisateur [ par skydiverca ] Bonjour a toutes et a tous, probleme pose : sur mon site multilingue, j'utilise les sessions notamment pour parametrer la langue choisie par l'utilis affichage d'un menu à un seul utilisateur [ par margChamo ] bonjour, je voudrais savoir si quelqu'un pourrait m'aider car voici mon problème: je voudrais, dans ma page de menu, afficher un autre menu mais que p Gestion des utilisateurs avec les session [ par nwija ] bonjours a ts, j'ai un problème avec les session je sais pas comment les utilise. mon probleme et que dans ma premier page index.php je demmare une probléme avec un script de gestion des sessions [ par gigikoko123 ] bonjour à tous En effet, je développe mon site web en php et je sollicite votre aide dans la mise sur pied d'un script php permettant de sécuriser un erreur de session [ par ouzb ] Bonjour a tous,J'ai crée un nouveau utilisateur dans mon site.Une fois la session de l'utilisateur démarre il me cette erreur :Warning: Cannot modify problème de démarrage de wampserver dans la session utilisateur simple de mon ordinateur [ par rustaflyx ] Bonjour à tous j'ai un autre problème, j'ai installé WAMPSERVER 2.1 dans la session Administrateur de mon ordinateur sous windows xp et là il démarre [BUG] Plusieurs sessions avec le même SID ouvertes en même temps provoque un freeze de l'interpréteur. [ par Flachy Joe ] Salut,le contexte : j'ai un script qui ouvre une session, enregistre des paramètres dedans et la ferme. Puis par l'intermédiaire de javascript je lanc Gestion d un serveur dedie [ par moho1 ] Bonjour a tous, bon au faite, j ai telecherge un espace membre et je l ai ameliore pour au il soit utiliser comme un espace d utilisateur qui fai des


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,434 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales