App avec temporisation + action

Avatar du membre
Eléphanteau du PHP | 30 Messages

05 oct. 2018, 17:23

Bonjour,

Je suis en train de coder une app de type chat (1 à 1 ou A à B, sachant que A reste toujours A (même locuteur) et B est cheangeant) qui, jusqu'à présent, fonctionne en PHP/MySQL essentiellement.

Je suis particulièrement bloquée sur la temporisation et le déclenchement d'actions au bout de X minutes d'inactivité.

Concrètement, je pensais procéder de la sorte :
1/ - Stocker dans la table "messages" de ma DB la date et l'heure de chaque message envoyé sur le chat
2/ - Déclencher le message automatique après 5mn de silence de l'utilisateur B
3/ - Redéclencher une fermeture automatique de la conversation au bout de 8 mn si silence prolongé après les 5 mn (soit après l'avertissement généré au point 2.)

Quelle fonction me me conseilleriez- vous en PHP ou JS pour arriver à mes fins, sachant que j'utilise un hébergement mutualisé (et n'ai pas accès à la ligne de commande) ?
Il me semble que le cron de wget/curl nécessite forcément un serveur dédié / accès à la ligne de commande. Dès lors, ai-je des alternatives ? Comment les mettre en place ?

D'avance, un grand merci pour vos pistes ! :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

08 oct. 2018, 11:53

Comment fais-tu pour rafraichir les messages du tchat ?

Probablement, un appel Ajax toutes les X secondes (avec setTimeout() en javascript) à ton serveur pour récupérer les derniers messages, non ?

Et bien il suffit que tu lances un setTimeout() de 5 minutes et un deuxième de 8 minutes à chaque envoi d'un message par l'utilisateur. Et si l'utilisateur envoie un autre message entre temps alors tu réinitialises le timeout précédent avec clearTimeout()
https://developer.mozilla.org/fr/docs/W ... earTimeout
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Eléphanteau du PHP | 30 Messages

09 oct. 2018, 13:30

Je teste ça demain ! Un tout grand merci, Arthur.