Flash, attention au cache
les fichiers flash sont une plaie pour le poids des pages, mais ça vous le saviez déjà . Ils sont lourds, difficilement modifiables, jamais remplaçables. Mais ils plaisent au marketing et aident à vendre plein de mobiles, de lecteurs mp3, des portefeuilles ou des montres sur mesure o๠vous gravez votre nom. Difficile de les refuser...
Le plus génant est qu'ils sont faits par des gens qui n'ont aucune considération pour le cache, et je sais de quoi je parle (vous voulez voir toutes mes réalisations en Flash?). Notamment, une méthode très utilisée pour passer des paramètres à un flash est de mettre comme url de source le nom de fichier suivi d'un point d'interrogation puis tous les paramètres. Attention danger! Ce n'est pas cachable.
C'est même à l'origine le meilleur moyen utilisé par les développeurs pour être surs de charger le flash ou une autre ressource sans cache : forcer un paramètre variant à chaque requête. Quelque chose comme compteur.swf?now=2543985.
Vous pouvez mettre une directive de cache sur le fichier swf, cela ne changera malheureusement pas le comportement du navigateur au premier chargement : il téléchargera le fichier flash plusieurs fois comme s'il était différent à chaque fois.
Il existe une solution pourtant bien documentée qui permet d'éviter ce comportement et de pousser le flash dans le cache. Quand vous passez du stade développement au stade recette ou production, pensez à utiliser les flashvars. C'est l'autre moyen de passer des paramètres au lecteur Flash, sans utiliser l'url. C'est tellement bien documenté que des objets comme swfobject, la librairie la plus utilisée pour intégrer les flash a des méthodes pour faire ce passage de paramètres.
Maintenant, si vous utilisez un énorme fichier ou que vous avez besoin d'informations toujours garanties fraiches, vous devrez utiliser d'autres méthodes pour améliorer le temps de chargement. Je vous conseille le résau de distribution de contenu.