IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afficher des données en temps réel


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Par défaut Afficher des données en temps réel
    Bonjour,

    s'il vous plait, avez vous une idée sur la manière d'afficher des données en temps réel, provenant d'une base de données, sans utiliser les techniques de rafraîchissement tout x secondes comme "setTimeout".

    Merci.

  2. #2
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 099
    Par défaut
    Salut,

    hélas, le temps réel sur Internet, ça n'existe pas ! Les latences du réseau nous l'interdisent. Mais on peut s'en approcher, en faisant des setTimeout suffisamment fréquents.
    Attention toutefois à ne pas choisir une trop haute fréquence de refresh, ça pourrait surcharger la bande passante ! Tout dépend du volume de données moyen transmis à chaque requête.
    À toi de juger quelle fréquence est suffisamment haute pour être suffisamment « temps réel », mais suffisamment basse pour ne pas saturer ta connexion
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Salut,

    A vrai dire, il y a l'émergence d'une nouvelle technologie, les websockets, qui permettent de faire du quasi temps réel (on va dire quasi par rapport à l'éventuelle latence du réseau comme l'a dit Waitlin).

    Je n'ai pas encore eu l'occasion de me pencher dessus, mais Node.js (http://nodejs.org/) est un framework permettant de créer un serveur http qui supporte les websocket.

    C'est relativement récent comme technologie, mais d'après ce que j'ai pu lire, c'est en pleine expansion et cela pourrait devenir un standard comme l'est ajax de nos jours (d'ailleurs, certains appellent cette méthode de communication "reverse ajax").

    A+

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 123
    Par défaut juste pour info
    alors, la technique du "selecting" en base de données n'a jamais existé.
    c'est toujours un "polling" donc un rafraichissement toutes les x secondes.

    je doute que Node.js arrive à faire du vrai "selecting" puisque c'est la base de données qui devra elle-même envoyer un message au serveur web pour dire "hey, something has changed in my database".

    et ça pour l'heure, je ne connais que presque Firebird (interbase) qui soit peut-être (je n'ai pas testé) capable de faire du vrai "selecting" /

    sinon, peut-être un request broker en MS SQL 2005 mais encore une fois, ce n'est pas du vrai "selecting"

    un selecting, c'est un callback (rappel) qui est émis par le "owner", possesseur.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Jusqu'a présent à ma connaissance la requete est toujours émise par le client et le serveur répond. Je ne connais pas de technologie qui permette l'inverse
    => setInterval
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2011
    Messages : 104
    Par défaut
    Merci pour votre réponse, mais vraiment je ne trouve pas la solution même la technologie sur laquelle je vais travailler , lorsque je vois par exemple les système qu'il utilise dans la bourse dans des différente site et las mise à jours des information relatif aux actions je pense pas que c'est un rafraîchissement tout les x seconde parce que si on suppose quand rafraîchissement toutes les 10 secondes donc va rater pas mal d’information et on va avoir une information décalé .


    Merci une autre fois pour vos réponses.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Avez-vous réellement regardé ce qu'étaient les websockets ?

    J'ai évoqué Node.js car c'est une implémentation coté serveur pour supporter ces websockets, mais il existe une multitude de serveur supportant cette méthode de communication...

    J'ai trouvé un commentaire sur le forum plutôt intéressant sur les bénéfices des websocket :
    http://www.developpez.net/forums/d11...s/#post6336831

    Pour répondre à olivieram, ma réponse ne concernait que la communication temps réel (via justement les websockets), la problématique de "sélecting" est un tout autre problème qui est à la charge du serveur web, et aucunement le client...

    Bref, je pense malgré tout que les websockets sont la solution si tu veux utiliser une architecture utilisant un client léger (libre à toi d'utiliser un client lourd avec de bonnes vieilles sockets en mode connecté...).

    Jusqu'a présent à ma connaissance la requete est toujours émise par le client et le serveur répond. Je ne connais pas de technologie qui permette l'inverse
    => setInterval
    Les websockets changent justement ce mode de fonctionnement ! puisque la websocket n'est jamais fermée entre le client et le serveur, et la communication étant bi-directionnelle, ainsi l'échange est instantané.

    Certes, les websockets sont une technologie relativement récente mais qui est intégrée à HTML5, il y a de grandes chances que cela se popularise sur le web...

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par BaBeuH Voir le message
    Avez-vous réellement regardé ce qu'étaient les websockets ?
    Les websockets ne changent rien au fait qu'Oracle ne va pas t'appeler à chaque fois qu'une donnée change. C'est donc le serveur qui fait le polling au lieu du navigateur... Bon, ça fait une différence, mais pas énorme.

    Citation Envoyé par BaBeuH Voir le message
    J'ai évoqué Node.js car c'est une implémentation coté serveur pour supporter ces websockets, mais il existe une multitude de serveur supportant cette méthode de communication...
    Nettement moins du côté navigateurs, par contre. Du coup, c'est peut-être une solution prometteuse pour l'avenir, mais pour l'instant pas très réaliste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. afficher des valeur en temps réel en utilisant chart control
    Par zikose dans le forum Windows Forms
    Réponses: 0
    Dernier message: 18/04/2015, 11h52
  2. [AJAX] Afficher des valeurs en temps réel
    Par fatimazahra kachiri dans le forum AJAX
    Réponses: 4
    Dernier message: 12/04/2014, 22h06
  3. [PHPExcel] Télechargement d'un export des données en temps réel
    Par spark_legion dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 31/05/2011, 09h35
  4. Réponses: 0
    Dernier message: 29/01/2011, 17h40
  5. Réponses: 7
    Dernier message: 27/01/2006, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo