Bonjour à tous,
voilà j'ai une question d'ordre méthodologique/conceptuelle sur Ajax.
J'aimerais avoir recours à Ajax pour réaliser le rafraîchissement automatisé de données extraites d'une BDD vers ma page applicative.
Plus précisément, il s'agirait de produire le même effet que n'importe quel client web mail, qui affiche en gras les nouveaux messages (messages non lus).
Dans mon cas, il ne s'agit pas de mails mais plutôt de notices/articles accessibles aux membres de l'application que je développe.
J'aimerais vous soumettre mon idée afin que vous puissiez me dire si elle est bien adaptée, ou si au contraire il existerait une alternative plus souple.
Mon modèle:
- Créer une nouvelle table appelée ArticleViewer en définissant un couple de clés primaires: Article_ref et Member_ref .
- Définir également un champ "last_viewed" (type DATETIME) et un flag "highlight" (type VARCHAR(1) 'Y' = yes: on présentera le titre de l'article en gras, 'N' : pas de mise en forme particulière).
Ainsi pour chaque couple (article;membre) je procède à une pré-analyse de la liste d'article en comparant à la fois la date de parution de chaque article avec la dernière date de connexion du membre, mais également la dernière date d'édition de l'article (si modifications) avec la date de dernière lecture de l'article par le membre.
Autre point: pour tout article apparaîssant comme nouveau/non-lu (cad titre mis en gras), dès lors que le membre clique sur le lien de l'article, je dois lancer une requête ajax pour faire passer le flag "highlight" du couple (article;membre) à 'N' (ne plus considérer l'article comme non lu pour ce membre).
Question 1:
Est-ce donc une bonne solution de reposer entièrement sur l'enregistrement d'historique dans une BDD ? Cette méthode ne risque t-elle pas de faire exploser la BDD ? Autre solutions possibles, plus "dynamiques" en utilisant JScript et les actions du browser ?!
Question 2:
Ayant fait l'analogie avec le rafraichissement automatique de clients web mail (e.g gmail), quelle méthode "trigger" jscript utilise-t'on pour déclencher une requête de mise à jour de façon périodique (ttes les 5mn) ?
Merci de votre aide,
B.
Partager