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

Intégration Discussion :

Chargement d'images dans Flash : mise à jour, cache, etc.


Sujet :

Intégration

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Chargement d'images dans Flash : mise à jour, cache, etc.
    Bonjour,

    J'étudie depuis un moment un moyen permettant, à une animation Flash de type diaporama, d'afficher les images mises à jour sur le serveur, plutôt que celles présentes dans le cache du navigateur.

    Attention, le but n'est pas de forcer le chargement des images toutes les n heures, mais uniquement lorsque celles-ci ont été changées.

    Voilà ce que je suis en train de tester (et qui semble marcher), et je voulais savoir si cela peut encore être amélioré, et ce que vous en pensez ?

    1. Avant le chargement de l'image, le script Flash interroge un script serveur qui détermine un ID de l'image (sur sa taille et sa date, par exemple).

    2. Flash va ensuite vérifier la présence d'un cookie. S'il existe, il va y lire l'ID de la dernière image chargée, sinon, il créé le cookie contenant l'ID de l'image à charger.

    3. Dans le premier cas, et si les ID sont différents, Flash va commander le chargement de l'image en ajoutant un paramètre dans le nom du fichier, genre maPhoto.jpg?p=time, pour forcer le chargement.

    Si les ID sont identiques, alors l'image n'a pas subie de mise à jour, et on la charge dans Flash sans paramètre dans le nom du fichier (c'est alors la version présente dans le cache du navigateur qui s'affiche)

    J'arrive ici au fonctionnement voulu. Par contre, si l'utilisateur refuse les cookies, Flash chargera l'image intégralement depuis le serveur distant, même si elle n'a pas été mise à jour.

    Pour remédier en partie à cela, je pensais introduire un chargement aléatoire avec un Rand(). Le but étant que, plutôt que de télécharger l'image à chaque fois, Flash la charge une fois sur 3 (enfin, comme c'est aléatoire, on ne peut pas savoir précisément, mais vous comprenez l'idée).

    On peut encore améliorer le tout :

    Plutôt que d'interroger le script distant à chaque fois, pour connaitre l'ID de l'image à charger, on peut le faire seulement toutes les n heures.

    On lit la date de création du cookie, et si, par exemple, elle est inférieure à 24h, alors on estime qu'il n'est pas nécessaire de vérifier si l'image à été changée, et on l'appelle sans paramètre dans le nom du fichier.

    Que pensez-vous de tout ça ??

    Actuellement, je bosse sur une autre méthode : l'emploi d'un fichier htaccess avec une commande du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Files ~ "\.(jpe?g)$">
      Header set Cache-Control "no-cache, must-revalidate"
      Header set Pragma "no-cache"
      Header set Expires %D
    </Files>
    Si cela fonctionne, alors il n'y a plus rien à gérer au niveau du Flash, et c'est le navigateur lui-même qui détermine s'il doit se servir dans son cache ou depuis le serveur distant (enfin, je n'en suis pas sûr, c'est à confirmer !)

    Si vous avez des avis sur la chose, merci d'en faire part.
    Si vous êtes intéressés pour avoir un fichier FLA de test avec l'emploi de cookie, dites-le aussi.

    Merci de m'avoir lu

  2. #2
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Pour ton logiciel tu utilises un cookie généré par le navigateur via php ou les cookies géré par le player flash?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Salut,

    C'est le player Flash qui créé le cookie et y enregistre l'ID de l'image, retourné par le script du serveur distant.

    Il ne s'agit pas d'un logiciel à proprement parlé, mais juste d'une astuce permettant de ne charger une nouvelle photo dans Flash que lorsqu'elle a réellement changée sur le serveur distant.

Discussions similaires

  1. [CS3] chargement d'images dans flash
    Par arzack dans le forum Flash
    Réponses: 0
    Dernier message: 16/08/2012, 09h03
  2. Réponses: 3
    Dernier message: 05/03/2007, 22h55
  3. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18
  4. Réponses: 2
    Dernier message: 21/12/2005, 19h05
  5. [JLabel] Chargement d'image dans une JFrame
    Par mr.t dans le forum Composants
    Réponses: 10
    Dernier message: 27/01/2005, 18h32

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