mise a jour table bd avertir l'utilisateur

Répondre
vazajo
le 25/07/2008 à 17:26
vazajo
Sur mon site j'aimerai 'avertir' l'utilisateur qu'une table bd le concernant est mis à jour.

Il y a bien un moyen avec php en faisant une requête toutes les 2 secondes.

Ou bien avec ajax?

La solution parfaite serait que l'on avertisse l'utilisateur que si la table est mis à jour.

des requetes sql répétées y a t ils d'autres solutions?


merci! (j'espère que je n'étais pas trop brouillon... smiley )
vazajo
le 25/07/2008 à 17:36
vazajo
j'ai oublie de précisé un truc énorme! (mais vous avez du vous en douter)

pas d'action au niveau de l'utilisateur (rafraichissement de la page, lien, bouton )
LupusMic
le 25/07/2008 à 18:00
LupusMic
Effectivement, il n'est pas possible de prévenir un client d'une action sur le serveur. Il faut que le client surveille une ressource.

Comme tu l'as deviné, tu peux effectivement utiliser XmlHttpRequest pour interroger périodiquement le serveur. En fonction de la réponse, tu préviendras le client, ou non.

Il faut alors avoir à l'esprit que ça va rapidement augmenter la charge de ton serveur. Donc en fonction de l'usage de la fonctionnalité, il faudra adapter le serveur en conséquence.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
vazajo
le 25/07/2008 à 19:40
vazajo
la charge du serveur, reste mon gros problème.
Mais j'ai peut-être un début de solution mais je n'ai pas la connaissance.

La mise à jour de cette terrible table se fait par un autre utilisateur alors je peu peut-être faire en sorte de prévenir l'utilisateur de cette mise à jour...

Je prend un exemple:
un jeux de dames en php.
Se qui implique un tour par tour... ou y a mieux?

1-joueur1 déplace sont pion => mise à jour de la table. fin du tour pour joueur 1.

2-c'est là que mon avertisseur doit retentir! prévenir le joueur 2 que c'est à lui de jouer.

Je m'étais plongé dans les sockets mais ne sachant pas trop où j'allai...
LupusMic
le 26/07/2008 à 08:24
LupusMic
Effectivement, si la synchronisation est importante, il te faudra jouer directement avec les sockets.

Mais en Javascript, c'est tendu (pour ne pas dire, quasiment impossible). Il faut que tu passes par un applet, qui sait ouvrir un socket. Donc du Java, du Flash, du Silverlight, etc.
Tu peux d'ailleurs n'utiliser une telle applet simplement pour utiliser le socket. Mais tu risque des problèmes de compatibilité avec des outils de sécurité tels que Flashblock, ou les pare-feu.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
vazajo
le 29/07/2008 à 11:50
vazajo
j'avais pensé à utiliser une applet flash juste pour la communication. Mais je n'avais pas pensé à la sécurité smiley

Je vais donc faire au plus simple une interrogation périodique de ma base.

merci !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours