Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  1. #1
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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 Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 570
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 570
    Points : 4 016
    Points
    4 016

    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.
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

  3. #3
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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 Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 570
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 570
    Points : 4 016
    Points
    4 016

    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...
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

  5. #5
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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 Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 570
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 570
    Points : 4 016
    Points
    4 016

    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.
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

  7. #7
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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 : 117
    Points
    117

    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 Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 570
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 570
    Points : 4 016
    Points
    4 016

    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"... ?
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

  10. #10
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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 Confirmé Sénior

    Homme Profil pro Alain Bontemps
    Développeur Web
    Inscrit en
    septembre 2010
    Messages
    2 570
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Bontemps
    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 : 2 570
    Points : 4 016
    Points
    4 016

    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...
    - Réalisations
    - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.

  12. #12
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    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
    Nouveau Membre du Club Avatar de memento80
    Homme Profil pro
    Mon boulot ?? En ce moment, j'me l'demande...
    Inscrit en
    novembre 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Mon boulot ?? En ce moment, j'me l'demande...
    Secteur : Industrie

    Informations forums :
    Inscription : novembre 2004
    Messages : 104
    Points : 34
    Points
    34

    Par défaut

    Bonjour,

    Corrigé ici.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •