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

HTML Discussion :

[HTML 5] Ressources hors ligne


Sujet :

HTML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut [HTML 5] Ressources hors ligne
    Salutations a tous !

    J'ai un petit souci concernant l'utilisation des ressources hors ligne... (via le fichier manifest)
    Lorsque je fais mes tests en localhost ou sur mon serveur Free, a chaque fois il me télécharge rien et j'ai une erreur.
    Voici un peu de code :

    index.html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html manifest="iPhone.manifest">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    <script type="text/javascript" src="iPhone.js"></script>
    </head>
     
    <body onload="javascript:loaded();">
    <div style="text-align:center">
    	<img alt="" src="blah.jpg" align="bottom" />
    </div>
    </body>
    </html>
    iPhone.manifest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CACHE MANIFEST
     
    blah.jpg
    iPhone.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function loaded() {
    	document.body.addEventListener('offline', function () { alert('offline'); }, false);
    	document.body.addEventListener('online', function () { alert('online'); }, false);
     
    	var cache = window.applicationCache;
    	cache.addEventListener('error', function () { alert('error: '+cache.status); }, false);
    	cache.addEventListener('checking', function(){ alert('checking: '+cache.status); }, false);
    	cache.addEventListener('noupdate', function(){ alert('noupdate: '+cache.status); }, false);
    	cache.addEventListener('downloading', function(){ alert('downloading: '+cache.status); }, false);
    	cache.addEventListener('progress', function(){ alert('progress: '+cache.status); }, false);
    	cache.addEventListener('updateready', function(){ alert('updateready: '+cache.status); }, false);
    	cache.addEventListener('cached', function(){ alert('cached: '+cache.status); }, false);
    }
    Les messages du cache sont : "checking: 2" puis "error: 2". (le 2 correspond à : CHECKING 2 The application cache manifest is being fetched and checked for updates. ; dixit MDC)

    J'avais downloadé un exemple de TODO et "copié-collé-adapté" en localhost et sur mon serveur Free mais ca me faisait pareil, 0 octets en download, alors que la démo en ligne me dl bien des ressources (l'appli en elle-meme marche sinon).

    Quelqu'un aurait une idée de la procédure a suivre pr que ca marche ? é_è Et également comment afficher l'erreur qui est throwée ?

    Merci bcp d'avance !!!

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Type MIME
    Salut,

    Ton souci provient du fait que le type mime text/cache-manifest doit être associé au fichier d'estension .manifest

    Ajout ceci dans ta configuration de Apache
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        AddType text/cache-manifest .manifest

    ERE

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    wooooooow cooooool merci bcp !!! Trois jours de recherche et de tirages de cheveux pour juste une ligne... ><

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par Evangelia Voir le message
    wooooooow cooooool merci bcp !!! Trois jours de recherche et de tirages de cheveux pour juste une ligne... ><
    Cela fait plaisir à lire !



    ERE

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    J'en profite pour reporter deux autres problemes que je rencontre

    1. Mon cache n'est jamais updateready... est ce du a la version de Firefox ? (FF3.0.7 sous Ubuntu) vu qu'apparemment sur le site de MDC c'est a partir du 3.5 (je savais meme pas qu'il etait dispo... d'ailleurs j'arrive pas a le trouver en téléchargement...)
    2. Est-il possible de supprimer du disque les données qui ne sont plus dans le manifest ?

    Merci !!!

    EDIT >> Je viens d'installer FF 3.5 et ca change pas beacoups... en fait, mon cache.status est toujours a 0.... (mais ca fait bien le checking, downloading, progress et cached) :s

    EDIT 2 >> je te faisais la OLA egalement ^^

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut Idées
    Salut,

    Je n'ai pas Firefox 3.5 donc je ne peux pas trop t'en dire plus que ce que je sais de la version 3.

    Firefox 3 a un implémentation très partielle de la gestion du cache et le comportement que tu remontes ne m'étonne pas.
    Il faut se méfier car c'est le fait que le fichier manifest est modifié qui déclenchera une mise à jour du cache. Ce n'est pas la date de modification des uri présentes dans le manifest. C'est pour cela qu'on recommande de mettre un commentaire dans le fichier manifest sous le forme de son numéro de version. Ainsi à chaque changement de version, le manifest est à jour et le navigateur fait la mise à jour du cache.

    Enfin, de mémoire la mise à jour du cache écrase l'ancien cache. Mais tout cela change peut-être avec Firefox 3.5, étant donné que Firefox 3 ne gérait pas de groupe de cache (toutes les applications partageaient le même cache).

    Suis interessé si tu as des news plus fraiches

    A suivre,

    ERE

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Salut !

    merci de te pencher sur mes problemes...
    Alors mon code est devenu ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    function loaded() {
    	var cache = window.applicationCache;
    	cache.addEventListener('error', function () { alert('error: '+cache.status); }, false);
    	cache.addEventListener('checking', function(){ alert('checking: '+cache.status); }, false);
    	cache.addEventListener('noupdate', function(){ alert('noupdate: '+cache.status); }, false);
    	cache.addEventListener('downloading', function(){ alert('downloading: '+cache.status); }, false);
    	cache.addEventListener('progress', function(){ alert('progress: '+cache.status); }, false);
    	cache.addEventListener('updateready', function(){ alert('updateready: '+cache.status); }, false);
    	cache.addEventListener('cached', function(){ alert('cached: '+cache.status); }, false);
     
    	setInterval("refreshCache()", 60000);
    }
     
    function refreshCache(){
    	window.applicationCache.update();
    	window.applicationCache.swapCache();
    }
    Donc en gros, je rajoute un timer toutes les minutes pour recharger le cache.

    1er cas : je ne touche pas au cache-manifest entre le chargement de la page et le refresh JS.
    Sous FF3.0.7:
    - onLoad: checking 2, dl 3, progress 3, cached 1
    - refresh: checking 2, noupdate 2
    Sous FF3.5:
    - onLoad: checking 0, dl 0, progress 0, cached 0
    - refresh: checking 0, noupdate 1 (si FF3.0.7 est fermé, checking 2, noupdate 1 ; doit y avoir un conflit ou quelque chose du genre mais bon, ça rentre pas dans mon probleme)
    2nd cas : je rajoute des ressources au cache-manifest entre le chargement de la page et le refresh JS.
    Sous FF3.0.7:
    - onLoad: checking 2, dl 3, progress 3, cached 1
    - refresh: checking 2, dl 3, progress 3, cached 1
    Sous FF3.5:
    - onLoad: checking 0, dl 0, progress 0, cached 0
    - refresh: checking 0, dl 3, progress 3, updateready 4

    Si je me fie au MDC, tout ce qui est avant la version 3.5 n'est pas fiable, ce qui justifie le updateready, ainsi que le swap() qui me provoque une erreur dans la console. Par contre, aucune action est lancée lorsque je modifie le fichier manifest... et le updateready, c'est moi qui le declenche

    Sinon, par rapport au cache, apparemment Firefox 3.5 gère les groupes de caches (A cache group is a set of the different versions of a cache for the same cache manifest. ; dixit MDC).

    Enfin bref, apparemment les gens de ma boite sont un peu sceptiques quant a son utilisation donc je risque de pas m'attarder trop dessus... :s De toute façon, si c'est pas possible de supprimer du disque les ressources téléchargées, cette solution est refusée de suite et j'aurai pas beaucoup de temps a consacrer dessus... (du moins au taff...)

    Enfin voilà, je pense que pour utiliser avec un max de sécurité cette fonctionnalité, faut utiliser Firefox 3.5 au moins mais ça bug un chouillas (sous Ubuntu) et Firebug n'est pas encore adapté.

    Idem, je suis preneuse si tu as des news ou idées ^_^

    Merci !

    A suivre ... ?

  8. #8
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    'fin bref, apparemment les gens de ma boite sont un peu sceptiques quant a son utilisation dc je risque de pas m'attarder trop dessus... :s De tte facon, si c'est pas possible de supprimer du disque les ressources dldées, cette solution est refusée de suite et j'aurai pas bcp de tps a consacrer dessus... (du moins au taff...)
    A mon avis c'est encore trop jeune pour être jouable. Et si on prend en considération l'aspect multi-navigateurs, c'est encore pire !

    En attendant: Google gears ? (sais pas si c'est ok sur Linux)

    ERE

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Yep me suis déjà penchée sur Google Gears mais le truc c'est que je travaille sur un iPhone donc... Safari
    Mais si on travaille ensuite sur le GPhone, pitet

  10. #10
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par Evangelia Voir le message
    A suivre ... ?
    De mon côté je vais faire quelques tests prochainement pour le cache et le session storage. Je te passerai mes résultats.

    A+,

    ERE

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 28
    Points
    28
    Par défaut
    Oki ^^
    J'attends de tes news alors

Discussions similaires

  1. site HTML hors ligne sous ios/ipad3
    Par voxan16 dans le forum Développement iOS
    Réponses: 2
    Dernier message: 22/02/2014, 16h42
  2. [HTML] Supprimer le multi ligne d'une zone de text
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 29/11/2005, 14h49
  3. [HTML][DEBUTANT] centrer une ligne de texte.
    Par heider dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 20/11/2005, 16h15
  4. [HTML] Se placer à une ligne précise dans un tableau
    Par seb55555 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/10/2004, 15h06
  5. [HTML][débutant] saut de ligne ou interligne
    Par MatMeuh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/10/2004, 15h13

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