Bonjour,
je suis en train de concevoir une application web qui sera bien sur utilisée par plusieurs personnes simultanément.
chacun pouvant afficher les mêmes données, je veux que ces données soient rafraichies sur chacun des utilisateurs pour eviter plusieurs traitements de la meme donnée.
Avez-vous deja rencontré ce problème?
Comment vous en etes vous sortis sans trop galérer ?
technologies serveur: PHP, MySQL
technologies clients: AJAX
--------------------------------------------------------------------
pour illustrer tout ca, voici en gros ce que fait mon appli:
(la solution que j'envisage est tout en bas)
- afficher une liste de client non traités
- appel d'un client
- si appel about -> traitement fiche client -> retour à la liste (- client traité)
- sinon on passe a la ligne suivante (sans traitement de la fiche client)
Seulement voila le problème:
si 2 utilisateurs affichent une meme liste, il ne faut pas que l'utilisateur U2 appelle un client qui déjà été appelé par U1.
-> il faut donc mettre a jour la recherche U2 (et u3 et u4, ....) lorsque U1 effectue un traitement.
Voici la solution que j'ai envisagée:
utilisation du javascript avec un settimeout() pour relancer la requete de la recherche.
OK c'est lourd surtout si le delai est court ! (meme si on utilise ajax, pour recharcher uniquement la liste)
pour eviter de recharger toutes les données (plusieurs centaines de clients)
on peut faire ceci:
lorsqu'un client modifie un client, une table ClientsTraitésRecemment qui contient la liste des clients qu'un utilisateur a modifié est mise a jour.
périodiquement, cette table est consultée et on cherche si ses clients de sa liste actuelle sont dedans. si oui, on met a jour la recherche.
(quel courage d'être arrivé jusqu'ici !!!)
Que pensez-vous de mon approche ?
Partager