Accueil > Forum > > > > Gestion particulière de sessions
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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|