On ven., 2012-06-29 at 20:19 +0200, Philippe Verdy wrote: > en fouillant un peu les métadonnées des dizaines de copies de la même > tuile je vois en fait que toutes ces copies ont été effectuées avec > des requêtes de type POST en principe non cachables de la façon dont > elles sont formées, et que même les métadonnées retournées sont toutes > différentes. Pourtant elles semblent être interprétées comme > soignifiant "l'image n'a pas changé, continuer à utiliser l'ancienne > image encore dans le cache). > > En foulliant en mémoire, je vois que toutes ces images s'y accumulent > et y restent référencées (dans un IFRAME invisible non attaché au > document). Il s'agirait donc d'un memory leak empêchant les purges de > données. De plus les cookies de session ne sont pas conservés même si > on reste connecté, il y a a chaque fois création d'une nouvelle > session.
Des IFrame et du POST, voilà enfin un peu de précisions, on va pouvoir avancer. Il y a des tas de manière de requêter de l'image carto. Deux manières très courantes sont : - protocole WMS pour des emprises arbitraires et/ou des données dynamiques - pyramide de tuiles avec des adresses du genre Z/X/Y.png Il se trouve que le protocole WMS est assez riche et surtout très verbeux. Il arrive alors que l'URL des images avec tous les paramètres GET ait une taille excessive pour certains navigateurs (IE limite l'URL à ~2000 caractères de mémoire). Dans ce cas, OpenLayers permet au développeur d'utiliser une méthode d'envoi basée sur un formulaire dans une IFrame pour contourner le problème. C'est une solution peu satisfaisante et tout le monde en est conscient. Elle est à réserver seulement aux cas (rares) d'extrême nécessité. Les développeurs d'OL t'écouteront probablement avec intérêt si tu as mieux à proposer. Cela dit... Il me paraît difficile d'atteindre la taille limite d'URL en dehors du cas WMS. Et même en WMS, il faut un certain nombre de paramètres facultatifs pour toucher cette limite. La limite est donc atteinte seulement dans le cas de cartes fortement paramétrées, donc très dynamiques et donc non cachable ! Dans ton cas, tu parles de tuiles. Or le tuilage est utilisé principalement pour favoriser la cachabilité. Comme tu n'as pas jugé nécessaire de mettre un lien vers l'application que tu analyses, je ne peux pas en savoir plus. Mais j'ai des doutes quant à l'usage qui est fait d'OpenLayers par le développeur de cette application. Il ne me paraît pas raisonnable d'utiliser en même temps une couche tuilée et un envoi en POST. Tiens, au fait, comment font les autres frameworks qui sont tellement mieux pour contourner la taille limite d'URLs de IE ? Cordialement -- Gilles Bassière - Web/GIS software engineer http://gbassiere.free.fr/ _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr