5568 sujets

Sémantique web et HTML

Bonjour à tous,

Je teste un cas très simple d'offline avec la page suivante :


<!DOCTYPE html>
<html manifest="test.manifest">
<head>
 
</head>
<body>
   <img src="http://www.somewebsite.com/picture.jpg"/>
</body>
</html>


et le manifest associé :


CACHE MANIFEST
#v0.1


Le cache semble fonctionner correctement car je peux accéder à la page même après avoir désactivé le serveur web qui la fournit.

Mais l'image (stockée ailleurs sur le web) ne s'affiche pas.

Bien sûr je pourrai la rajouter au manifest, mais pourquoi est-ce nécessaire alors que je suis online ? Smiley confus
Normalement, dans le manifest, tu dois indiquer tout ce qui doit être dans le cache. Je ne sais pas si il est possible de mettre en cache des images externes au site.
Modifié par Patidou (09 Apr 2010 - 10:42)
Les url dans le cache peuvent être relatives ou absolues et rien n'empêche effectivement de mettre en cache des ressources situées sur un autre domaine que celui de la page html qui déclare le manifest.

En fait c'est plutôt l'approche du offline sauce html 5 qui m'échappe, car en gros une fois qu'on a déclaré un manifest, seul ce qui est dans le cache ou dans la whitelist sera accessible par la page, ce qui est hyper restrictif.

Dans mon cas, la page que je souhaite rendre accessible offline pourra contenir des images provenant de n'importe où. Dès lors, il me parait logique que ces images ne puissent pas s'afficher lorsque je serai effectivement offline (car je ne peux pas toutes les déclarer dans le manifest) mais pourquoi sont elles également inaccessible alors que je suis online ?

En résumé, quel intérêt y a t-il dans l'approche offline du html 5 à bloquer l'accès aux ressources non déclarées dans le manifest lorsque la page a accès au réseau ? Smiley confus
Si c'est une sorte de catalogue d'images, tu dois détecter en javascript si tu es offline ou non et agir en conséquence.

Exemple.
Merci pour ce lien, l'exemple est impressionnant Smiley eek

Cependant, ça ne correspond pas tout à fait à mon cas de figure. Ce qui m'intéresse dans le offline, c'est plus le cache que le fonctionnement offline car l'application devrait s'exécuter en très grande majorité online.

J'ai creusé de mon côté et j'ai trouvé de nouveaux éléments :

En concervant la page html mentionnée plus haut et en modifiant le manifest de la sorte :

CACHE MANIFEST
#v0.1

NETWORK:
 http://www.somewebsite.com/


l'image s'affiche correctement car j'ai indiqué à la page de bypasser le cache et d'aller chercher les ressources directement sur somewebsite.com

Cette solution n'est pas viable, car je ne saurai pas à l'avance tout les domaines sur lesquels peuvent se trouver les ressources.

Dans les drafts du W3C, j'ai cru trouver la solution à mon problème :

a écrit :
To specify that all URLs are automatically whitelisted in this way, a U+002A ASTERISK character character (*) may be specified as one of the URLs.


Donc il suffirait de déclarer le manifest comme ça :

CACHE MANIFEST
#v0.1

NETWORK:
*


Malheureusement ça ne marche pas Smiley bawling