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 :

[AJAX] Generation d images en temps reel


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut [AJAX] Generation d images en temps reel
    Bonjour a tous
    Je vous explique mon probleme:

    Je travaille sur des bases de donnees en temps reel. Je dois developper une appli qui permet de faire du monitoring sur une certaine table.


    dans mon code j ai donc quelque chose qui ressemble a ca :

    <div id="DisplayCalls" style="height:400px;overflow:auto;">
    </div>

    que je remplis tout simplement par :

    function getCalls()
    {
    new Ajax.Updater( 'DisplayCalls', 'calls.php',
    {
    onSuccess: function() { window.setTimeout( getCalls, 500 ); }
    } );
    }
    getCalls();

    toutes les demi secondes, je recois biens les resultats de ma requete sans problemes.

    Maintenant j'ai rajoute un autre div, dans lequel j'aimerai inserer des images generees a partir de la meme table en utilisant la GDLIB de PHP. Ce nouveau div malheureusement ne renvoit que ca :

    �PNG 

    Est ce que quelqu'un aurait une solution ?

    Merci

  2. #2
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Ton script php te renvoie quoi exactement?

    PS : pense à la balise code, le # dans l'éditeur

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Ton script php te renvoie quoi exactement?

    PS : pense à la balise code, le # dans l'éditeur
    J'ai un script calls.php qui me renvoie un tableau contenant des appels entrants et sortants. Celui-ci renvoit de l'html, donc pas de probs, tout s affiche et se raffraichit comme prevu.

    J'ai un deuxieme script qui s'appelle stats.php aui lui va faire certains calculs sur la meme table et generer des graphiques (genre camembert) en png, en utilisant GDGraph-2.1.0 (trouve sur sourceforge) se basant sur la gd lib de php. le script marche. quand je l'appelle seul il me renvoit bien une image. mais quand j'utilise cette fonction AJAX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function getStats()
    {
        new Ajax.Updater( 'DisplayStats', 'stats.php', 
                          {
                              onSuccess: function() { window.setTimeout( getStats, 500 ); }
                          } );
    }
    getStats();
    qui est la meme que celle citee precedemment, le div n affiche que le code esoterique que j ai deja cite aussi...

  4. #4
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Si tu renvoies l'image, c'est normal.

    Ajax.Updater récupère le xhr.responseText et le colles dans ta div. Si tu lui renvoies une image, du binaire donc, il va convertir ces bits en string et tu récupères effectivement tes caractères psychédéliques.

    Ta solution serait de retourner du html genre: <img src="laSourceDeTonImageGenerée" /> de facon à ce qu'a chaque update, il remplace l'ancienne balise img par la nouvelle.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ok, ca marche!
    J'ai cree un fichier stats2.php qui utilise la balise img avec come src le fichier stats.php.
    mais ca a fait apparaitre un autre probleme.
    L'image s'affiche bien, mais ne se raffraichit pas, je soupconne le cache d'y etre pour quelque chose...
    Ptite solution?

  6. #6
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="laSourceDeTonImageGenerée.png?cachebuster=xxxx" />
    Avec cachebuster une valeur aléatoire que tu génères pour forcer à re-télécharger l'image.

    Ou si ca marche pas, un nom d'image différent, aléatoire à chaque fois.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci c'est cool, ca marche. Mais vu la performance du truc en local, j'ose meme pas imaginer a distance ce que ca va donner. Je vais garder cette option sous le coude en dernier ressort, mais je pense qu il va falloir trouver un moyen plus efficace de generer des images a la volee et de les afficher
    (SVG ... ?)
    Si vous avez des suggestions je suis preneur.
    Merci

Discussions similaires

  1. Modifier des donnees en temps reel avec AjAX
    Par Speedy2k dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 25/01/2012, 10h31
  2. [AJAX] membre connecter en temps reel avec ajax
    Par ilameq dans le forum AJAX
    Réponses: 13
    Dernier message: 17/06/2011, 23h33
  3. Réponses: 3
    Dernier message: 09/02/2007, 16h01
  4. [c#] ListView affichant des images updates en temps reel
    Par elguignardo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/05/2006, 11h49
  5. Linux et le temps réel
    Par Shrem dans le forum Administration système
    Réponses: 6
    Dernier message: 11/12/2002, 08h21

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