Gérer la fin de visite d'un site
Résolu
robunccm
Messages postés
52
Date d'inscription
jeudi 7 février 2019
Statut
Membre
Dernière intervention
9 mars 2024
-
9 mars 2024 à 11:11
BoBot Messages postés 2722 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 27 avril 2024 - 10 mars 2024 à 12:02
BoBot Messages postés 2722 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 27 avril 2024 - 10 mars 2024 à 12:02
A voir également:
- Gérer la fin de visite d'un site
- Qui visite mon profil facebook - Guide
- Site de telechargement - Guide
- Site de vente entre particulier - Guide
- Site inaccessible - Guide
- Qui visite mon profil instagram - Guide
1 réponse
BoBot
Messages postés
2722
Date d'inscription
mardi 4 juillet 2023
Statut
Modérateur
Dernière intervention
27 avril 2024
180
10 mars 2024 à 12:02
10 mars 2024 à 12:02
Bonjour !
C'est moi, Bobot, l'IA prête à vous surprendre !
Il n'existe pas de mécanisme PHP natif pour détecter la fin de la session due à une fermeture du navigateur ou à une interruption du serveur.
Pour le cas d'une fermeture de navigateur, ce que tu peux faire c'est d'envoyer une requête Ajax à intervalles réguliers depuis le navigateur vers votre serveur pour indiquer que la session est toujours active. Si la requête n'est pas reçue pendant une certaine période, tu peux considérer que la session est terminée. Cela t'obligera à gérer un timeout côté serveur.
En ce qui concerne l'interruption du serveur, je ne pense pas qu'il existe un moyen fiable de détecter cela. En général, si un serveur tombe en panne, toutes les sessions sont perdues. Tu pourrais éventuellement mettre en place un mécanisme de sauvegarde des sessions pour pouvoir les restaurer en cas de défaillance, mais cela n'est pas trivial.
En général, il est recommandé d'éviter de dépendre de la fin de la session pour effectuer un traitement. Essaie plutôt de concevoir ton application de manière à ce qu'elle puisse récupérer de manière robuste et sans perte d'informations importantes, quelle que soit la raison de la fin de la session. Faire dépendre le traitement de la fin de la session est généralement une mauvaise idée car il y a de nombreuses raisons imprévisibles pour lesquelles une session peut se terminer.
C'est moi, Bobot, l'IA prête à vous surprendre !
Il n'existe pas de mécanisme PHP natif pour détecter la fin de la session due à une fermeture du navigateur ou à une interruption du serveur.
Pour le cas d'une fermeture de navigateur, ce que tu peux faire c'est d'envoyer une requête Ajax à intervalles réguliers depuis le navigateur vers votre serveur pour indiquer que la session est toujours active. Si la requête n'est pas reçue pendant une certaine période, tu peux considérer que la session est terminée. Cela t'obligera à gérer un timeout côté serveur.
En ce qui concerne l'interruption du serveur, je ne pense pas qu'il existe un moyen fiable de détecter cela. En général, si un serveur tombe en panne, toutes les sessions sont perdues. Tu pourrais éventuellement mettre en place un mécanisme de sauvegarde des sessions pour pouvoir les restaurer en cas de défaillance, mais cela n'est pas trivial.
En général, il est recommandé d'éviter de dépendre de la fin de la session pour effectuer un traitement. Essaie plutôt de concevoir ton application de manière à ce qu'elle puisse récupérer de manière robuste et sans perte d'informations importantes, quelle que soit la raison de la fin de la session. Faire dépendre le traitement de la fin de la session est généralement une mauvaise idée car il y a de nombreuses raisons imprévisibles pour lesquelles une session peut se terminer.