Bonjour,

Tout d'abord bonne année 2016!
En ce qui concerne mon probleme j'ai un site internet (sans login), dans ce site un il y une zone qui peut etre accedé que par une personne à la fois sauf que je sais pas comment faire.
En gros j'aimerai un page web qui permet de rediriger vers cette zone s'il y a personne sinon afficher un message du genre zone occupé veuillez repasser plus tard.

Merci pour votre aide.

6 réponses


Humm, compliqué ton système dans le sens ou imagine quelqu'un se connecte à la zone mais est inactif (onglet perdu entre facebook et youtube).

Ce qu'il faudrait faire, d'après moi, à toi de me dire, c'est de "logger" la personne dans une base de données et la mettre à jour quand l'utilisateur est actif. Si l'utilisateur est inactif depuis 5min par exemple, il est enlevé de la base de données, et donc la zone est libre.

Je vois que ça perso

Tu peux faire un fichier lock créé lorsque la personne se connecte qui contient l'heure et l'ip par exemple et la date sera modifiée à chaque appel de la page par cet utilisateur. Tant que le fichier existe, toutes les minutes par exemple tu verifies que l'heure du fichier est inférieur à la minute, dans quel cas cel signifie que la personne n'utilise plus la page et tu effaces ce fichier, ainsi un prochain utilisateur peut se connecter à son tour.

Salut,

Autre alternative : tu lances une connection en Websocket. Quand la connection est closed, tu sais que la personne n'est plus connecté.

dans nginx il y a une option qui s'apelle limit_conn addr 1;

Qui permet d'alloué un seul user sur par exemple /dossier/

Ok merci je vais regarder et je reviendrais vers vous si bbesoin !

Slt,
Bonne année a toi aussi,
Tu pourrait créer un fichier txt ou il y a 0 si personne est sur la page et 1 si elle y est. Pour eviter que le systeme se bloque tu peut soit :

  • Verifier la date de modification du fichier et toute les x temps tu remet le fichier a zero
  • En js tu verifier si l'utilisateur est sur la page si il n'y es plus tu le redirige et tu appele une page en php qui remet le fichier a 0.
    Je sais que je ne suis pas forcement claire mais ma résolution pour 2016 c'est de faire des effeorts !
    Cordialement,
    TJ_