11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde, ma question est peut être compliqué.

Je voulais savoir si il y avait un moyen que quand ma base de donnée à une nouvelle entrée je puisse la récupérer.

Exemple:

- Je ne fais absolument rien sur le site.
- Quelqu'un m'envoie un message sur le site (ce qui créer une nouvelle entrée dans ma base de donnée "message_prive").
- Sans avoir à chercher par moi même les message, afficher un message (genre notification) à l'écran pour dire que j'ai un message.

Je sais que je suis dans la partie JS jQuery et tout mais je pense que ça doit est dans l'ordre du Ajax.
tu peux mettre un statut ou un état sur ta table "message_prive" qui est à zéro lorsque tu ne l'as pas lu et à 1 lorsque tu l'as lu (afficher à l'écran), dans un script tu cherches tous les messages qui ont un statut à 0 (et concernant le compte connecté s'il peut y en avoir plusieurs), tu peux retourner un count qui affichera le nombre de message non lu.

Ceci n'est en rien un script JS sauf si tu tiens à refraichir tous les x secondes les messages non lu (ce que je ne conseille pas si tu comptes avoir beaucoup de comptes connectés simultanément)

Deuxième étape lorsque tu affiche ton message, une requête ajax qui passe ton message à l'état 1.

Fini c’était pas bien compliqué ; il faut parfois juste écrire sur une feuille ce que l'on souhaite faire ...
En faite c'est pas compliqué du tout, je suis d'accord ^^ mais c'est pas tout à fais ça que je cherche.

Je voudrais que quand la personne 2 envoie un message à la personne 1, chez la personne il y a une notification qui s'affiche. Alors que la personne 1 ne touché pas à la souris ni rien (Comme quand tu reçois une notif sur fb, tu as pas cliqué sur "mes notifications" et pourtant ça t'affiche direct en bas à gauche qu'une personne à répondu).
Bah .... c'est comme je te l'ai dit au dessus Smiley smile

Requête Ajax, mais comme je te l'ai dit aussi attention au flux de personnes ! Je ne pense pas que tu es des serveurs comme ceux de facebook donc c'est à éviter à moins que ce soit un site qui restera toujours avec un nombre de visite faible sinon tu risques de faire exploser plusieurs fois ton serveur Smiley langue

Donc si tu veux malgré tout suivre cette voie ; il te faudra faire une jolie requête Ajax combiné à un setInterval (environ toute les 3-5sec pour une messagerie instantanée) .

Ensuite tu suis la procédure habituel, état du message, destinataire, expéditeur etc ...