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

Discussion :

Affichage temps réel

  1. #1
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut Affichage temps réel
    Bonjour,

    Je me pose la question de quelle techno employer dans mon cas de figure par rapport à mon site web (à l'origine entièrement en PHP/MYSQL).

    Voici ce que j'aurais besoin de faire :
    J'ai des lignes de données stockées dans une base. Ces lignes contiennent un ensemble d'informations ainsi qu'un temps en secondes.
    Chaque ligne serait à restituer en temps réel à l'utilisateur en fonction du temps entre 2 évènements.

    Par exemple :
    Ligne A : temps 0sec - Ligne B : temps 4sec - Ligne C : temps 10sec

    Ces 3 lignes seraient restitués de la manière suivante :
    Dès le déclenchement d'un minuteur par l'utilisateur, on lui affiche immédiatement la Ligne A, puis 4 sec après la Ligne B, et pour finir 6 sec après la ligne C.

    L'utilisateur pourrait également accélérer la restitution de ces évènements sur la page web affiché en accélérant le déroulé du minuteur (accélération x2, x3...).

    Quelle serait la ou les méthodes possibles avec leurs avantages/inconvénients en prenant en compte également le temps d'apprentissage pour mettre en place ceci pour un débutant ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    A priori je récupérerais toutes les lignes en php et je les ferait afficher en javascript à l'aide de la fonction setTimeout en fonction des données récupérées en php.

    Plus simple peut-être, plutôt que de récupérer toutes les données avec php et les transmettre à javascript, tu pourrais récupérer les lignes une par une avec ajax. Dans ce cas c'est javascript qui fera les requêtes complémentaires.

    Le temps nécessaire sera en fonction de tes connaissances php/javascript, quelques heures ou quelques jours si tu ne connais pas les interactions php/javascript.

  3. #3
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Merci beaucoup pour ta réponse. Ca me donne quelques pistes sur le principe à mettre en place.

    Je voulais quand même ajouter, et ça a peut-être son importance, que le volume de données serait de l'ordre de plusieurs milliers de lignes d'informations à restituer sur un intervalle total d'environ 1 à 2h (pour restituer un évènement sportif).

    De plus, le nombre d'utilisateurs simultanés pourrait être de plusieurs centaines.

    Est-ce que ces solutions sont compatibles avec ces contraintes malgré tout ?
    Ou une autre méthode serait-elle envisageable (je ne sais pas.. transmettre l'ensemble des informations par un autre biais que par la base de données ?.. fichier.. ?) ?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu peux toujours optimiser en fonction de tes besoins. Pour éviter de nombreuses requêtes sql tu peux aussi stoker le résultat dans des variables de sessions... après faudrait connaître plus précisément le cahier des charges pour définir un fonctionnement précis.
    Sinon plusieurs centaines de visiteurs simultanés cela peut générer de nombreuses requêtes sql et t'obliger à utiliser un serveur dédié et l'infogérence qui va avec...

  5. #5
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Pour éviter de nombreuses requêtes sql tu peux aussi stoker le résultat dans des variables de sessions...
    Comment ça "stocker en variable de session" ? Je connais les variables de session mais je ne vois comment stocker autant de volumétrie d'information...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par memento80 Voir le message
    Comment ça "stocker en variable de session" ? Je connais les variables de session mais je ne vois comment stocker autant de volumétrie d'information...
    Une variable de session ce n'est rien d'autre qu'un fichier texte que tu écris sur le serveur. Je ne sais pas qu'il y ait des limites à part si la création de la variable dépasse la quantité de mémoire allouée pour ton script. Sinon si les données sont identiques pour tous les visiteurs tu peux aussi penser à un système de cache.

  7. #7
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Merci pour ces réponses. Je vais étudier tout ça.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Points : 142
    Points
    142
    Par défaut
    Je ne pense pas que les sessions soient bonnes dans son cas puisqu'il souhaite afficher en temps réel, donc ce qui est vrai maintenant, ne le sera plus dans 5 secondes.
    La seule possibilité que je vois, c'est effectivement ajax mais temps réel, signifie un nombre récurent de requêtes sql et apparemment, tu aurais pas mal d'info à restituer.
    Pour commencer ton projet, tu devras choisir un serveur qui puisse supporter correctement la charge, n'oublies pas et je te le souhaite... tu auras bon nombre de membres d'où requêtes exponentielles SQL !!
    L'affichage temps réel a ses contraintes!

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Tsoko Voir le message
    Je ne pense pas que les sessions soient bonnes dans son cas puisqu'il souhaite afficher en temps réel, donc ce qui est vrai maintenant, ne le sera plus dans 5 secondes.
    Je ne pense pas que ce soit un véritable temps réel mais plutôt un temps réel simulé, sinon "L'utilisateur ne pourrait pas accélérer la restitution de ces évènements"... ?

  10. #10
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Je ne pense pas que ce soit un véritable temps réel mais plutôt un temps réel simulé, sinon "L'utilisateur ne pourrait pas accélérer la restitution de ces évènements"... ?
    Effectivement, c'est bien une restitution d'un temps réel déjà passé.. donc avec possibilité d'accélérer l'affichage des évènements passés.

    Néanmoins, j'ai un peu de mal à voir vraiment la mise en pratique des variables de session dans mon cas de figure.
    Auriez-vous un exemple d'utilisation sans forcément rentrer dans les détails (méthodologie) svp ?

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par memento80 Voir le message
    Néanmoins, j'ai un peu de mal à voir vraiment la mise en pratique des variables de session dans mon cas de figure.
    Auriez-vous un exemple d'utilisation sans forcément rentrer dans les détails (méthodologie) svp ?
    Je suggérais cela pour enregistrer le résultat de la requête globale. Ainsi cela t'éviterais de faire appel trop fréquemment au serveur de bdd mais simplement au serveur pour lire le fichier de la session qui par exemple contiendrait un tableau contenant le résultat de la requête...

  12. #12
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    Je déterre un peu mon post car après avoir mis de côté ce sujet pendant quelques temps pour prioriser d'autres choses, le voila qui revient sur la table..

    Rappel des faits :
    Je me pose la question de quelle techno employer dans mon cas de figure par rapport à mon site web (à l'origine entièrement en PHP/MYSQL).

    Voici ce que j'aurais besoin de faire :
    J'ai des lignes de données stockées dans une base. Ces lignes contiennent un ensemble d'informations ainsi qu'un temps en secondes.
    Chaque ligne serait à restituer en temps réel à l'utilisateur en fonction du temps entre 2 évènements.

    Par exemple :
    Ligne A : temps 0sec - Ligne B : temps 4sec - Ligne C : temps 10sec

    Ces 3 lignes seraient restitués de la manière suivante :
    Dès le déclenchement d'un minuteur par l'utilisateur, on lui affiche immédiatement la Ligne A, puis 4 sec après la Ligne B, et pour finir 6 sec après la ligne C.

    L'utilisateur pourrait également accélérer la restitution de ces évènements sur la page web affiché en accélérant le déroulé du minuteur (accélération x2, x3...).

    Quelle serait la ou les méthodes possibles avec leurs avantages/inconvénients en prenant en compte également le temps d'apprentissage pour mettre en place ceci pour un débutant ?
    Ce qui m'a été proposé, c'était de passer par le Javascript. Ok, il me reste à trouver un bon tutoriel pour ça.

    Par contre, il me reste une zone d'ombre :
    Il m'a été suggéré de passer en variable de session, j'avais un peu de mal à bien jauger comment mettre ça en place mais depuis, les informations que je souhaite afficher, je les ai également à disposition dans un fichier csv (en plus d'être dans la base de données).
    Du coup, j'imagine que le principe d'utiliser la variable de session était un peu similaire à aller scanner en javascript le contenu de mon fichier csv ? Je me trompe ?

    J'étends un peu ma question en me demandant si c'était vraiment la meilleure méthode à faire (scanner le fichier csv) et quels seraient les points sensibles dont je devrais faire attention par rapport à mon volume d'utilisateur relativement important et mes fichiers csv d'environ 2 à 3Mo chacun (ex : mémoire serveur, ...) ?
    Comme c'est encore un peu fouillis pour moi (dû à la limitation de mes compétences techniques dans ce domaine), question plus basique : si je pars sur le scan d'un fichier csv, dans le principe comment cela pourrait se passer techniquement parlant ? Le fichier doit être downloadé par l'utilisateur ? Non, j'imagine... Alors c'est par un cache quelconque... ?

  13. #13
    Membre habitué Avatar de memento80
    Homme Profil pro
    Boulot : ne rentre pas dans une case
    Inscrit en
    Novembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Boulot : ne rentre pas dans une case
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2004
    Messages : 163
    Points : 125
    Points
    125
    Par défaut
    Bonjour,

    Corrigé ici.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Comment faire => resultat de mysql en affichage temps réel
    Par noellepere dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/09/2007, 09h55
  2. Affichage temps-réel d'une séquence d'image
    Par Copros dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 30/05/2007, 15h13
  3. [AJAX] Affichage temps réel.
    Par AMS78 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/01/2007, 20h38
  4. Architecture: ré-affichage temps réel
    Par SGJ dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 20/06/2006, 13h51
  5. Réponses: 19
    Dernier message: 20/12/2005, 10h03

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