mozilla

Comparaison de révisions

Ressources hors ligne dans Firefox

Change Revisions

Révision 64163 :

Révision 64163 par Mgjbot le

Révision 64164 :

Révision 64164 par whoshallsucceed le

Titre :
Ressources hors ligne dans Firefox
Ressources hors ligne dans Firefox
Identifiant d'URL :
Ressources_hors_ligne_dans_Firefox
Ressources_hors_ligne_dans_Firefox
Étiquettes :
Toutes_les_catégories, Traduction_à_relire, Applications_web_hors_ligne, "Firefox 3"
Toutes_les_catégories, Traduction_à_relire, Applications_web_hors_ligne, "Firefox 3"
Contenu :

Revision 64163
Revision 64164
t7    <p>t7    REDIRECT <a class="redirect" href="/docs/en/Using_Application
 >_Cache">en/Using_Application_Cache</a>
8      {{ Fx_minversion_header("3") }} {{ Traduction_à_relire() }}
> Firefox 3 implémente en grande partie la gestion de la mise en c 
>ache de ressources pour les applications web de HTML 5. Celle-ci  
>s'effectue au travers du <i>cache d'application</i> — un ensemble 
> de ressources provenant d'un manifeste fourni par l'application  
>web. 
9    </p>
10    <h3 name="Le_cache_d.27application">
11      Le cache d'application
12    </h3>
13    <p>
14      {{ Note("Firefox ne gère pour l\'instant pas de contrôle de
> versions dans les caches d\'applications.") }} 
15    </p>
16    <p>
17      Étant donné que plusieurs applications web peuvent partager
> des ressources (et peuvent même partager une URI de manifeste),  
>chaque application web maintient son propre cache. Cependant, les 
> caches d'application sont groupés par leur URI de manifeste part 
>agé, et ont un <b>état de mise à jour</b> commun. L'état de mise  
>à jour est l'un des suivants&nbsp;: 
18    </p>
19    <dl>
20      <dt>
21        <code>idle</code>
22      </dt>
23      <dd>
24        Le cache d'application n'est pas en train de télécharger 
>des mises à jour. 
25      </dd>
26      <dt>
27        <code>checking</code>
28      </dt>
29      <dd>
30        Le cache est en train de vérifier le manifeste de ressour
>ces pour s'assurer qu'il est à jour. 
31      </dd>
32      <dt>
33        <code>downloading</code>
34      </dt>
35      <dd>
36        Le cache est en train d'être mis à jour avec du nouveau c
>ontenu sur base d'un manifeste de ressources modifié. 
37      </dd>
38    </dl>
39    <p>
40      {{ Fx_minversion_note("3") }}
41    </p>
42    <h4 name="Ressources">
43      Ressources
44    </h4>
45    <p>
46      Le cache contient toujours au moins une ressource, identifi
>ée par son URI, d'au moins une des catégories suivantes&nbsp;: 
47    </p>
48    <dl>
49      <dt>
50        Entrées implicites
51      </dt>
52      <dd>
53        Ce sont des ressources ajoutées au cache parce qu'un cont
>exte de navigation principal visité par l'utilisateur comprenait  
>un document indiquant que la ressource était dans son cache à l'a 
>ide de son attribut <code>manifest</code>. 
54      </dd>
55      <dt>
56        Le manifeste
57      </dt>
58      <dd>
59        Il s'agit du manifeste de ressource lui-même, chargé depu
>is l'URI spécifiée dans l'attribut <code>manifest</code> de l'élé 
>ment <code>html</code> d'une entrée implicite. Le manifeste est t 
>éléchargé et traité durant le processus de mise à jour du cache d 
>'application. Les entrées implicites doivent avoir le même protoc 
>ole, hôte et port que le manifeste. 
60      </dd>
61      <dt>
62        Entrées explicites
63      </dt>
64      <dd>
65        Ce sont les ressources listées dans le manifeste du cache
>. 
66      </dd>
67      <dt>
68        Entrées de récupération
69      </dt>
70      <dd>
71        Ce sont les ressources listées dans le manifeste du cache
> comme entrées de récupération. <b>Ne sont pas encore gérées dans 
> Firefox.</b> 
72      </dd>
73      <dt>
74        Entrées du cache opportuniste
75      </dt>
76      <dd>
77        Ce sont les ressources dont les URI correspondaient à un 
>espace de noms de mise en cache opportuniste au moment de leur ob 
>tention, et ont donc été mises automatiquement dans le cache de l 
>'application. <b>Ne sont pas encore gérées dans Firefox.</b> 
78      </dd>
79      <dt>
80        Entrées dynamiques
81      </dt>
82      <dd>
83        Ce sont les ressources ajoutées programmatiquement à l'ai
>de de la méthode <code><a href="fr/NsIDOMOfflineResourceList#add. 
>28.29">add()</a></code>. 
84      </dd>
85    </dl>
86    <h4 name="La_liste__blanche_en_ligne">
87      La liste blanche en ligne
88    </h4>
89    <p>
90      La liste blanche en ligne peut contenir une série d'URI de 
>ressources auxquelles l'application web aura besoin d'accéder dep 
>uis le serveur plutôt que depuis le cache hors ligne. Ceci permet 
> au modèle de sécurité du navigateur de protéger l'utilisateur de 
> failles de sécurité potentielles en limitant l'accès uniquement  
>à des ressources approuvées. 
91    </p>
92    <p>
93      {{ Note("La liste blanche en ligne n\'est pas utilisée dans
> Firefox 3 ; cependant vous devriez en fournir une si vous en ave 
>z besoin, à la fois pour rester compatible avec les futures versi 
>ons de Firefox et pour fonctionner dans d\'autres navigateurs imp 
>lémentant la gestion des ressources hors ligne.") }} 
94    </p>
95    <h3 name="Le_manifeste_de_cache">
96      Le manifeste de cache
97    </h3>
98    <p>
99      Les fichiers de manifestes de cache doivent être fournis av
>ec le type MIME <code>text/cache-manifest</code>, et toutes les r 
>essources servies avec ce type MIME doivent suivre la syntaxe d'u 
>n manifeste de cache d'application tel que défini plus bas. Les m 
>anifestes de cache sont des fichiers texte au format UTF-8 et peu 
>vent éventuellement contenir un caractère BOM. Les retours à la l 
>igne peuvent être représentés par les caractères <i>carriage retu 
>rn</i> (U+000D), <i>line feed</i> (U+000A), ou les deux à la suit 
>e. 
100    </p>
101    <p>
102      La première ligne du manifeste de cache doit être constitué
>e de la chaîne "CACHE MANIFEST" (avec un seul caractère espace U+ 
>0020 entre les deux mots), éventuellement suivie d'espaces ou de  
>tabulations. Tout autre texte sur cette ligne sera ignoré. 
103    </p>
104    <p>
105      Le reste du manifeste de cache doit être constitué des type
>s de lignes suivants (0 ou plus)&nbsp;: 
106    </p>
107    <dl>
108      <dt>
109        Ligne vide
110      </dt>
111      <dd>
112        Vous pouvez utiliser des lignes vides, éventuellement con
>stituées d'espaces ou de tabulations. 
113      </dd>
114      <dt>
115        Commentaire
116      </dt>
117      <dd>
118        Les commentaires sont formés d'espaces ou tabulations (0 
>ou plus), suivies d'un seul caractère "#", éventuellement suivi d 
>'autres caractères formant le texte du commentaire. Les commentai 
>res peuvent uniquement être utilisés sur leurs propres lignes, et 
> ne peuvent pas être ajoutés à d'autres lignes. 
119      </dd>
120      <dt>
121        En-tête de section
122      </dt>
123      <dd>
124        Les en-têtes de section indiquent la section du manifeste
> de cache en train d'être manipulée. Trois en-têtes de section so 
>nt possibles&nbsp;: 
125      </dd>
126    </dl>
127    <blockquote>
128      <table class="standard-table">
129        <tbody>
130          <tr>
131            <th>
132              En-tête de section
133            </th>
134            <th>
135              Description
136            </th>
137          </tr>
138          <tr>
139            <td>
140              <code>CACHE:</code>
141            </td>
142            <td>
143              Passe dans la section explicite. Il s'agit de la se
>ction par défaut. 
144            </td>
145          </tr>
146          <tr>
147            <td>
148              <code>FALLBACK:</code>
149            </td>
150            <td>
151              Passe dans la section de récupération (fallback).
152              <p>
153                {{ Note("Cette section n\'est pas encore gérée da
>ns Firefox, et sera ignorée.") }} 
154              </p>
155            </td>
156          </tr>
157          <tr>
158            <td>
159              <code>NETWORK:</code>
160            </td>
161            <td>
162              Passe dans la section de liste blanche en ligne.
163              <p>
164                {{ Note("Cette section n\'est pas encore gérée da
>ns Firefox, et sera ignorée ; il est cependant vivement recommand 
>é de fournir une liste blanche appropriée.") }} 
165              </p>
166            </td>
167          </tr>
168        </tbody>
169      </table>
170    </blockquote>
171    <dl>
172      <dd>
173        La ligne d'en-tête de section peut contenir des espaces v
>ides, mais les deux points en fin de nom de section sont obligato 
>ires. 
174      </dd>
175      <dt>
176        Données pour la section courante
177      </dt>
178      <dd>
179        Le format des lignes de données varie d'une section à l'a
>utre. Dans la section explicite, chaque ligne doit être une référ 
>ence URI ou IRI valide à une ressource en cache. Des blancs sont  
>permis avant et après l'URI ou IRI sur chaque ligne. 
180      </dd>
181    </dl>
182    <p>
183      Les manifestes de cache peuvent passer et repasser d'une se
>ction à l'autre à l'envi (chaque en-tête de section peut donc êtr 
>e utilisé plus d'une fois), et les sections peuvent être vides. 
184    </p>
185    <p>
186      {{ Note("Les URI relatives le sont par rapport à l\'URI du 
>manifeste de cache, pas à celle du document référençant le manife 
>ste.") }} 
187    </p>
188    <h4 name="Un_exemple_de_manifeste_de_cache">
189      Un exemple de manifeste de cache
190    </h4>
191    <p>
192      Ceci est un manifeste de cache simple pour le site web imag
>inaire <span class="nowiki">foo.com</span>. 
193    </p>
194    <pre class="eval">
195CACHE MANIFEST
196# v1
197# Ceci est un commentaire.
198<span class="nowiki">http://www.foo.com/index.html</span>
199<span class="nowiki">http://www.foo.com/header.png</span>
200<span class="nowiki">http://www.foo.com/blah/blah</span>
201</pre>
202    <p>
203      Dans cet exemple, il n'y a pas d'en-tête de section, toutes
> les lignes sont donc supposées faire partie de la section explic 
>ite. 
204    </p>
205    <p>
206      Le commentaire «&nbsp;v1&nbsp;» s'y trouve pour une bonne r
>aison. Comme le cache n'est mis à jour que lorsque le manifeste c 
>hange, si les ressources sont modifiées (par exemple en mettant à 
> jour l'image <code>header.png</code> avec du nouveau contenu), l 
>e manifeste doit être modifié afin de prévenir le navigateur qu'i 
>l doit rafraichir le cache. Cela peut se faire par n'importe quel 
>le modification du manifeste, mais l'utilisation d'un numéro de v 
>ersion est une excellente manière de le faire. 
207    </p>
208    <p>
209      Pour demander à Firefox d'utiliser le cache d'application h
>ors ligne pour un site web donné, celui-ci doit utiliser l'attrib 
>ut <code>manifest</code> sur l'élément <code>html</code>, comme c 
>eci&nbsp;: 
210    </p>
211    <pre class="eval">
212<span class="nowiki">&lt;html manifest="http://www.foo.com/cache-
>manifest"&gt;</span> 
213  …
214&lt;/html&gt;
215</pre>
216    <h3 name="Le_processus_de_mise_.C3.A0_jour">
217      Le processus de mise à jour
218    </h3>
219    <ol>
220      <li>Lorsque Firefox visite un document renseignant l'attrib
>ut <code>manifest</code>, il envoie un évènement <code>checking</ 
>code> à l'objet <code><a href="fr/DOM/window.applicationCache">wi 
>ndow.applicationCache</a></code>, et charge ensuite le fichier de 
> manifeste en suivant les règles de mise en cache HTTP appropriée 
>s. Si la copie du manifeste actuellement en cache est à jour, l'é 
>vènement <code>noupdate</code> est envoyé à <code>applicationCach 
>e</code>, et le processus de mise à jour est terminé. 
221      </li>
222      <li>Si le fichier de manifeste n'a pas changé depuis la der
>nière vérification de mise à jour, l'évènement <code>noupdate</co 
>de> est envoyé à <code>applicationCache</code>, et le processus d 
>e mise à jour est terminé. C'est pourquoi le fichier de manifeste 
> doit être modifié si les ressources ont changé afin que Firefox  
>sache qu'il doit remettre les ressources en cache. 
223      </li>
224      <li>Si le fichier de manifeste a changé, tous les fichiers 
>renseignés dans celui-ci — ainsi que ceux qui ont été ajouté dans 
> le cache par des appels à <code><a href="fr/NsIDOMOfflineResourc 
>eList#add.28.29">applicationCache.add()</a></code> — sont chargés 
> dans un cache temporaire, selon les règles de mise en cache HTTP 
> appropriées. Pour chaque fichier chargé dans le cache, un évènem 
>ent <code>progress</code> est envoyé à l'objet <code>applicationC 
>ache</code>. Si une erreur se produit, un évènement <code>error</ 
>code> est envoyé, et la mise à jour s'interrompt. 
225      </li>
226      <li>Une fois que tous les fichiers ont été effectivement ré
>cupérés, ils sont déplacés dans le véritable cache hors ligne en  
>une opération atomique, et un évènement <code>cached</code> est e 
>nvoyé à l'objet <code>applicationCache</code>. 
227      </li>
228    </ol>
229    <h3 name="Fonctionnalit.C3.A9s_non_encore_impl.C3.A9ment.C3.A
>9es_dans_Firefox"> 
230      Fonctionnalités non encore implémentées dans Firefox
231    </h3>
232    <p>
233      Comme le brouillon de standard pour HTML 5 était encore en 
>discussion à l'approche de la date de gel des fonctionnalités pou 
>r Firefox 3, certaines parties des possibilités de mise en cache  
>hors ligne ne sont pas encore implémentées&nbsp;: 
234    </p>
235    <ol>
236      <li>Le brouillon de spécification du WHATWG indique que tou
>tes les requêtes doivent venir du cache hors ligne, si disponible 
>, même lorsque le navigateur est en ligne. Firefox n'accède actue 
>llement au cache hors ligne que si le navigateur est hors ligne.  
>C'est pour cette raison que la liste blanche en ligne n'est pas e 
>ncore gérée. 
237      </li>
238      <li>Firefox ne maintient actuellement pas de caches séparés
> pour chaque application web. Celles-ci devraient éviter de parta 
>ger des ressources entre différents manifestes à moins de ne pas  
>se soucier de conflits de versions entre les ressources. En génér 
>al, cependant, les applications devraient conserver des copies sé 
>parées de chaque ressource. 
239      </li>
240      <li>Firefox ne gère pas encore la mise en cache opportunist
>e ou les entrées de récupération (fallback). 
241      </li>
242    </ol>
243    <h3 name="Voir_.C3.A9galement">
244      Voir également
245    </h3>
246    <ul>
247      <li>
248        <a class="external" href="http://www.w3.org/TR/2008/WD-ht
>ml5-20080122/#appcache">Brouillon de travail HTML 5&nbsp;: Applic 
>ation caches</a> 
249      </li>
250      <li>{{ Interface("nsIDOMOfflineResourceList") }}
251      </li>
252    </ul>
253    <p>
254      <br>
255    </p>
256    <div class="noinclude"></div>{{ languages( { "en": "en/Offlin
>e_resources_in_Firefox", "es": "es/Recursos_en_modo_desconectado_ 
>en_Firefox", "ja": "ja/Offline_resources_in_Firefox", "pl": "pl/Z 
>asoby_offline_w_Firefoksie", "zh-tw": "zh_tw/Offline_resources_on 
>_Firefox" } ) }} 

Retour à l'historique