06-06-2008, 11:11 AM
personnellement, je suis contre l'utilisation des caches en ce qui concerne des données utilisateurs. les caches doivent être réservés pour des données qui sont statiques, ou ne changent quasi pas (tel un menu que tu modifies tous les 36 du mois)
ici, si j'ai bien compris, il s'agit de "provocation en duel" sur une page. donc chaque utilisateur est susceptible d'en recevoir à tout moment. c'est du contenu dynamique !
je vois que certains répugnent à utiliser ajax pour ce genre de choses, mais pourtant, c'est la meilleure solution à ton problème. il suffit de s'y prendre intelligemment
je t'explique le principe. en général, quand on parle d'ajax, les gens s'imaginent charger un fichier xml ou un objet json de manière asynchrone. donc ici de faire une requête sql qui ramènerai, par ex, les 5 dernier duels. et de programmer ça genre toutes les secondes afin que ça soit réactif
essayons de voir ça différemment. supposons que les 5 derniers duels ne soient chargés qu'une fois, en même temps que la page. si tu mets l'id du dernier dans une variable javascript, tu es capable de savoir ou tu en es dans tes duels.
il te suffit donc d'exécuter une requête ajax toutes les x secondes (dans ton cas, 5 me parait un pas trop mauvais compromis) qui aille chercher tous les duels, pour l'utilisateur, supérieur à l'id que tu as sauvegardé et te ramène tout ça dans un objet json
il ne te reste donc plus qu'à regarder si ton objet est vide. si ce n'est pas le cas, alors tu supprimes dynamiquement les duels obsolètes et ajoutes les nouveaux
faire les choses ainsi ne coute pas grand chose, car la requête sql étant vide la plupart du temps, elle est quasi instantanée. idem pour l'objet json qui ne pèsera que quelques octect (car vide), et donc sera transféré très rapidement
voilà, j'espère que ça t'aidera. n'hésites pas à le demander si tu veux que je te fasse un snippet (exemple de code)
ici, si j'ai bien compris, il s'agit de "provocation en duel" sur une page. donc chaque utilisateur est susceptible d'en recevoir à tout moment. c'est du contenu dynamique !
je vois que certains répugnent à utiliser ajax pour ce genre de choses, mais pourtant, c'est la meilleure solution à ton problème. il suffit de s'y prendre intelligemment
je t'explique le principe. en général, quand on parle d'ajax, les gens s'imaginent charger un fichier xml ou un objet json de manière asynchrone. donc ici de faire une requête sql qui ramènerai, par ex, les 5 dernier duels. et de programmer ça genre toutes les secondes afin que ça soit réactif
essayons de voir ça différemment. supposons que les 5 derniers duels ne soient chargés qu'une fois, en même temps que la page. si tu mets l'id du dernier dans une variable javascript, tu es capable de savoir ou tu en es dans tes duels.
il te suffit donc d'exécuter une requête ajax toutes les x secondes (dans ton cas, 5 me parait un pas trop mauvais compromis) qui aille chercher tous les duels, pour l'utilisateur, supérieur à l'id que tu as sauvegardé et te ramène tout ça dans un objet json
il ne te reste donc plus qu'à regarder si ton objet est vide. si ce n'est pas le cas, alors tu supprimes dynamiquement les duels obsolètes et ajoutes les nouveaux
faire les choses ainsi ne coute pas grand chose, car la requête sql étant vide la plupart du temps, elle est quasi instantanée. idem pour l'objet json qui ne pèsera que quelques octect (car vide), et donc sera transféré très rapidement
voilà, j'espère que ça t'aidera. n'hésites pas à le demander si tu veux que je te fasse un snippet (exemple de code)