Cache et historique IE : mythes et
réalité (Réagir)
Préambule : la lecture de ce sujet peut
avoir des conséquences inattendues comme une envie irrépressible de ne
plus jamais utilisé IE ou pire, Windows !
Si vous utilisez un des clones de
IE (comme MyIEx, CrazyBrowser, NetCaptor), ce sujet vous concerne aussi
puisque ces programmes utilisent le cache et l'historique de
IE.
Mon but n'est pas d'expliquer en détails le fonctionnement,
j'en serais d'ailleurs bien incapable, vu le peu d'informations que MS
fournit à ce propos. Il y aura plusieurs parties à ce sujet car la matière
est vaste et je dois essayer de me faire comprendre par tout le monde,
spécialistes mais aussi simples utilisateurs. Cela fait plus d'un an que
je collecte des informations sur différents sites et que j'étudie le
fonctionnement du cache, j'en apprends d'ailleurs tous les jours. Ce
document est donc basé sur mon expérience personnelle et sur des
informations (souvent en anglais) glanées sur la toile. Je vais parler
ici de IE 5.5 sous Win98, certaines fonctionnalités de IE 6 ne sont donc
pas expliquées et certains répertoires ne se trouvent pas au même endroit
pour d'autres versions de Win, merci d'en tenir compte en le lisant. Je
vais utiliser des abréviations pour des termes revenant souvent :
- IE pour Internet Explorer - OE pour Outlook Express - TIF
pour Temporary Internet Files, le répertoire par défaut où sont stockés
les fichiers du cache IE. Sous 2K/XP, il devrait se trouver ici \documents
and settings\ om de la session\local settings\Temporary internet files.
Par facilité, je ne spécifierai pas les chemins en entier mais on suppose
que je parle du disque C et du répertoire Windows.
C:\windows\TIF\Content.IE5 sera mentionné comme
TIF\Content.IE5
Lorsque je parle de l'index.dat sans dire dans quel
répertoire il se trouve, c'est celui dans TIF\Content.IE5
D'abord,
quelques Vrai/Faux pour tordre le cou à certains
mythes
VRAI
Le cache Internet sert à accélérer la
navigation
C'est son but principal, avec la navigation hors
connexion. A l'époque de la sortie de IE4, aucun navigateur ne permettait
d'accélérer la navigation en ne téléchargeant que ce qui a changé. Depuis
lors, Mozilla le permet aussi mais je ne l'ai jamais utilisé, donc je n'en
dirai rien de plus.
Il y a des bugs dans la gestion du cache et
de l'historique
Comme dans tout logiciel, il y a des bugs dans
IE et plus particulièrement, dans le cache et l'historique. Encore une
fois, MS est très silencieux à ce sujet mais il existe de petits
programmes pour remédier à la plupart d'entre eux. J'en parle plus
loin.
Il est possible de se passer complètement du cache de
IE
Ce n'est pas prévu en standard par MS mais il est possible
d'empêcher l'écriture dans TIF, c'est du bidouillage. J'explique plus loin
comment.
FAUX
Les index.dat sont des mouchards que
MS utilise à notre insu.
Les index.dat (leur nombre est
variable) sont des mouchards mais n'ont pas pour but d'être transmis à MS
et de voir ainsi les sites où vous allez. Il leur faudrait des millions de
personnes pour analyser chaque index.dat pour en tirer quelque chose
d'intéressant. C'est évidemment techniquement possible mais comme ces
fichiers sont gros, le transfert éventuel vers un serveur se remarquerait
directement puisqu'il occuperait votre bande passante. Sans parler des 56k
qui n'ont que 33k en upload !
Quand je nettoie les TIF, il n'y a
plus de traces du cache
A cause des bugs mentionnés ci-dessus
et à cause de la manière dont IE gère les TIF, le nettoyage n'est jamais
total. Je parle ici du nettoyage via les Options Internet ou Cleanmgr, un
outil de nettoyage disponible depuis Win98.
C'est une bonne
chose de nettoyer le cache et l'historique tous les jours
Je
dis faux mais certains le font pourtant. Chacun est libre, bien sûr mais
ça entraîne des conséquences qu'il ne faut pas négliger. Si on est en 56k,
c'est une très mauvaise idée. En effet, le cache sert à accélérer la
navigation en ne téléchargeant que les éléments qui ont changé depuis la
dernière visite sur le site. Si on prend l'exemple d'une page de ce forum,
elle est constituée d'éléments changeants comme les sujets, le nombre de
réponses, de lectures et d'une série d'éléments fixes comme les boutons,
les images gif et jpeg. Ces images peuvent évidemment être modifiées par
les webmasters mais ça n'arrive pas souvent et dans ce cas, c'est la
nouvelle image qui est téléchargée. Je ne vais pas entrer dans les détails
sur la manière dont IE opère pour savoir si un fichier a bougé depuis la
dernière visite, il y a plusieurs techniques pour ça dont entre autres,
une date d'expiration du fichier, une autre taille, etc. Si on a le
haut débit, il se pourrait que le cache ralentisse la navigation car la
vitesse de téléchargement est suffisamment élevée. MAIS, il ne faut pas
oublier qu'en liquidant le cache, on oblige IE à télécharger les mêmes
fichiers et ainsi, on encombre la bande passante d'Internet, on sollicite
plus le serveur où se trouve le forum ainsi que les FAI. Vous allez me
dire "oui mais ce sont de petits fichiers de quelques KB". En effet, mais
si on multiplie ça par le nombre de gens venant sur ce forum par le nombre
de fichiers qui ne sont pas souvent modifiés (dont les gif animés) par le
nombre de forums sur Internet, sans parler de tous les autres sites, on
arrive vite à des GB de données transférées "pour rien". Conclusion, on
ralentit Internet et je lis souvent ici que des gens se plaignent que
"c'est lent". Mais en liquidant votre cache, vous êtes en partie
responsable de cette lenteur. Je ne voudrais pas vous culpabiliser mais il
est parfois des vérités qu'il est bon de rappeler. Moi j'appelle ça
"surfer civique" puisque nous sommes les utilisateurs d'une technologie
fantastique mais comme dans tout, on oublie parfois qu'on n'est pas tout
seul. C'est comme ceux qui se plaignent de la pollution mais qui prennent
leur voiture pour faire 100 mètres. J'ai lu récemment que lorsqu'on
demande l'affichage d'une page, il y a autant de requêtes vers le serveur
qu'il y a d'images et de fichiers annexes sur cette page. On peut avoir
l'impression qu'en chargeant une page, elle forme un tout et qu'en une
seule requête, le serveur m'envoie le texte, les fichiers image, etc. mais
c'est faux. Vous comprenez pourquoi ça ralentit le serveur puisqu'il faut
une requête par fichier, qu'il fasse 1 KB ou 100 KB. Pendant le temps de
la requête, le serveur ne peut faire quelque chose de plus "utile". Si
vous avez votre cache, IE n'a pas besoin de lancer des requêtes vers le
serveur, sauf pour vérifier la validité du fichier.
Pour que
l'affirmation devienne vraie, il faudrait dire "de temps en temps" au lieu
de "tous les jours".
Le cache et l'historique, c'est la même
chose
Ce sont des notions liées mais qui sont différentes. On
peut très bien liquider l'historique tous les jours tout en continuant à
pouvoir consulter les sites hors connexion et en conservant son cache.
L'historique ne sert qu'à trier les pages visitées par
date/fréquence/sites. Donc, si vous cliquer sur "supprimer l'historique",
vous ne supprimez que des pointeurs vers le cache mais pas le cache
lui-même. Evidemment, si on liquide le cache, l'historique n'a plus
beaucoup de sens mais il n'est pas supprimé pour autant. Il continuera
seulement à vous montrer les liens visités en les affichant dans une autre
couleur.
Différentes méthodes pour nettoyer et/ou supprimer
cache et historique.
Pour supprimer le contenu du cache quand
on est dans IE, aller dans Options Internet, onglet Général, cliquer sur
"Supprimer les fichiers" et ne pas oublier de cocher la case "Supprimer
tout le contenu hors connexion". Le fichier Index.dat est seulement
nettoyé des url mais il ne diminue pas en taille, les fichiers du cache
sont eux par contre "normalement" tous détruits.
Même si on arrive
à nettoyer tous les fichiers temporaires, il reste toujours le fameux
index.dat qui peut faire facilement quelques MB et qui est souvent vérolé
à cause de plusieurs bugs dans IE. Pour Win9X/ME, il faut aller en DOS
pour le liquider mais pour éviter la manipulation à ceux qui ne sont pas
familiers, il y a un autre moyen détourné de liquider l'index.dat, et ce,
sans logiciel supplémentaire. Tout en étant hors connexion, renommer le
répertoire Content.IE5 (sous TIF) en n'importe quoi, disons, toto. Windows
ne devrait pas rouspéter. Redémarrer Windows qui recrée un nouveau
Content.IE5 puisque l'autre n'est plus là. Aller alors dans le répertoire
toto et le liquider, avec tout ce qu'il y a comme fichiers cachés, système
et sous-répertoires, sans passer par la corbeille (MAJ+DEL sur le
répertoire toto). En fait, quand on ne peut effacer un fichier,
l'astuce consiste à renommer au niveau supérieur, c'est-à-dire le
répertoire. A ne pas faire évidemment avec le répertoire Windows. Il
existe des logiciels (Spider entre autres) qui permettent de liquider
l'index.dat mais ils nécessitent un redémarrage de Windows. Avec ce que je
viens d'expliquer ci-dessus, ce n'est pas nécessaire de faire appel à un
logiciel. Cette procédure peut s'appliquer aussi au répertoire
Windows\Historique et Windows\Cookies.
Si vous avez XP/2K, il faut
être connecté en tant qu'administrateur et les index.dat peuvent
normalement être effacés sans problème. Sinon, vous pouvez toujours
renommer comme pour 9X/ME.
Pour ne plus du tout avoir de cache
Internet :
- Changer les attributs du fichier index.dat en faisant
attrib +r (read-only) en DOS. Je ne sais pas quelle manip est à faire pour
2K/XP, il faut sans doute passer par la console de récupération.
-
Ou supprimer le fichier index.dat (en DOS) et créer un répertoire
nommé index.dat à la même place que là où on trouvait le fichier
index.dat.
Au prochain reboot, Windows est bluffé et n'écrit plus
rien dans l'index.dat, soit parce qu'il est en lecture seule, soit parce
qu'il est devenu un répertoire.
Solution hybride : le RAM
disk
- J'ai déjà lu que certains créent un RAM disk (c'est un
disque virtuel qui occupe en fait une partie de la mémoire). Ce RAM disk
peut être assigné au répertoire TIF et pendant qu'on surfe, tous les
fichiers sont écrits en mémoire, ce qui va plus vite. Quand on éteint le
PC, le RAM disk disparaît et son contenu avec lui. C'est évidemment en
contradiction avec ce que j'explique sur le surf civique. La manipulation
pour créer le Ram disk n'est pas très évidente non plus.
Comment
IE gère une page web qu'on affiche.
Lorsque vous allez pour la
1ère fois sur un site, le cache ne contient forcément aucun des fichiers
que vous allez télécharger. IE envoie les requêtes au serveur qui lui
renvoie un par un les fichiers de la page concernée. Il suffit de regarder
la page du forum pour se rendre compte qu'il y a une série de petits
fichiers gif qui sont disséminés. Prenons l'exemple du gif animé
symbolisant un dossier chaud, qui a eu plus de 15 réponses.
(voir forum PcAstuces)
Il s'appelle dossier_new_chaud.gif, il fait 1642 bytes,
même pas 2 KB, trois fois rien. Mais il ne change (presque) jamais et il
n'y a donc pas de raison de le télécharger à chaque fois que vous vous
connecterez sur le site. IE écrit ce fichier dans son cache (un des
sous-répertoires au nom cryptique) et pour se souvenir de l'endroit où il
l'a écrit, il met à jour l'index.dat en y écrivant ceci
http://213.246.36.243/forum/images/dossier_new_chaud.gif dossier_new_chaud[1].gif HTTP/1.0
200 OK Content-Type: image/gif ETag:
"20c2e291cfec21:a37" Content-Length: 1642
Je n'entre pas dans
les détails sur ce que signifie les ETag et l'heuristic expiration, ça
sert justement à IE pour savoir quand le fichier "expire", c'est-à-dire
jusqu'à quand il est valide. On constate que l'url apparaît en clair dans
le fichier mais il y a aussi le nom réel du fichier sur le disque,
c'est-à-dire dossier_new_chaud[1].gif. Pourquoi ce nombre entre
crochets ? C'est parce que le nomdossier_new_chaud.gif pourrait très bien
être utilisé sur ce site ou sur un autre site tout en désignant un autre
fichier. IE rajoute donc systématiquement à chaque fichier qu'il écrit
dans le cache un suffixe qui est un nombre entre crochets, afin de ne pas
écraser un fichier homonyme. Il écrit aussi dans l'index.dat quel
sous-répertoire contient le fichier physique mais vous ne le voyez pas ici
car c'est une valeur en hexadécimal. On a fait le tour, IE a écrit dans le
cache le fichier dossier_new_chaud, il a mis à jour l'index.dat pour
pouvoir le retrouver la prochaine fois que vous viendrez sur ce site.
Pourquoi 4, 8 ou 12 sous-répertoires pour le cache ?
C'est parce qu'il est plus rapide de retrouver un fichier dans
un répertoire de 200 fichiers que dans un répertoire de 1000 ou 5000
fichiers. C'est donc pour des raisons techniques et de vitesse que IE crée
plusieurs répertoires au nom bizarre. Le nom est aléatoire soi-disant pour
empêcher des pirates d'avoir accès à votre cache mais c'est d'une naïveté
affligeante de la part de MS vu qu'une seule instruction de VBasic permet
de connaître le nom de ces répertoires. Le meilleur moyen de voir le
cache IE est d'utiliser Winfile, l'ancien gestionnaire de fichiers de
Win3.1, disponible sous Win9X/ME/NT. Pour quelle raison ? Car il ne tient
pas compte des fichiers desktop.ini, de petits fichiers système que
Explorer utilise pour vous montrer les répertoires sous une certaine forme
mais qui ne correspond pas à la réalité du point de vue des noms des
fichiers et de leur emplacement réel. Par exemple, la Corbeille est un
répertoire spécial du point de vue d'Explorer mais avec Winfile, vous
voyez qu'il est banal et que les noms des fichiers qui s'y trouvent n'ont
rien à voir avec ce que Explorer montre. Quand on clique sur le répertoire
TIF dans Explorer et qu'on a choisi affichage détails, on voit les
fichiers dans le cache mais aussi les cookies, qui se trouvent pourtant
physiquement dans le répertoire Windows\Cookies. Si on clique sur le signe
"+" devant TIF, l'arborescence s'ouvre, si on clique alors sur le signe
"+" devant Content.IE5, on voit les sous-répertoires et si on clique sur
l'un d'eux, on voit la même chose que si on clique seulement sur TIF.
De même, si on clique sur un autre sous-répertoire, on voit encore et
toujours la même chose. Ce n'est pas que le cache est en quadruple ou en
octuple sur votre disque, c'est le fichier desktop.ini qui est présent
dans chacun des sous-répertoires qui provoque cette situation qui
interloque pas mal de gens. Pour utiliser Winfile : Démarrer ->
Exécuter -> taper Winfile puis enter. Attention car les noms de
fichiers sont tronqués à 8 caractères, il vaut mieux ne rien modifier via
Winfile, c'est juste pour avoir un autre regard sur les répertoires.
Sinon, vous avez Total Commander dont on parle régulièrement sur ce forum
et sur d'autres aussi d'ailleurs et qui est pour moi, un logiciel
indispensable tellement il est intuitif et puissant. Il vous permettra
aussi de voir ce que Explorer ne montre pas mais en plus, vous pourrez
voir le contenu des fichiers index.dat et de tous les fichiers du cache,
jpeg, gif, htm, etc., sans risque car c'est en lecture
seule.
Où sont stockées les informations
que je tape dans IE et qu'est-ce qu'on trouve dans les index.dat
?
Les adresses que vous tapez dans la barre d'adresses d'IE
sont stockées dans le registre à la clé
:
HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\TypedUrls
Les adresses, tapées ou accédées via des clics
sont stockées dans l'index.dat sous Historique\History.IE5 (attention,
avec Explorer, vous ne verrez pas ce répertoire, même avec l'option
"afficher fichiers cachés/système"). C'est grâce à leur présence que
vous voyez certains liens soulignés dans une autre couleur, preuve que
vous avez déjà été sur cette page. Si on nettoie le cache mais pas
l'historique, les liens seront toujours soulignés. Si vous nettoyez
l'historique mais pas le cache, vous ne verrez plus les liens soulignés
malgré la présence des pages dans le cache. C'est aussi l'historique (et
non le cache) qui permet l'apparition d'adresses quand on tape une url
dans la barre d'adresses de IE, via la fonctionnalité "saisie
semi-auto".
Comme je l'ai déjà expliqué, l'index.dat sous
Content.IE5 permet à IE de collecter les renseignements sur les fichiers
stockés dans le cache.
L'index.dat dans Windows\Cookies sert à
stocker des informations connexes comme la date d'expiration d'un
cookie.
Les mots de passe qu'on demande à IE de conserver sont
cryptés ici :
HKEY_CURRENT_USER\Software\Microsoft\Internet
Explorer\IntelliForms\SPW
La clé ci-dessous sert à conserver
l'historique des valeurs encodées dans un champ sur une page Web. Par
exemple, vos recherches via
Google.
Hkey_Local_Machine\Software\Microsoft\Protected Storage
System\ 'Username' \Data\e161255a-37c3-11d2-bcaa-00c04fd929db\
e161255a-37c3-11d2-bcaa-00c04fd929db
Pour supprimer toutes les
valeurs, "Options Internet", onglet "Contenu", bouton "Saisie
semi-auto...", cliquer sur "Effacer les formulaires" et éventuellement
désactiver dans cette même fenêtre la saisie semi-automatique. Pour
supprimer une seule valeur : dans IE, aller sur le formulaire (la page
web), cliquer dans le champ et taper la 1ère lettre, la liste s'ouvre.
Descendre avec le curseur jusqu'au mot à effacer et appuyer sur la touche
Del (ou Suppr), la valeur disparaît de la liste. Mais la prochaine fois
qu'on retape le même mot, il revient dans la liste, sauf si on a désactivé
la saisie semi-auto.
On peut essayer une autre méthode pour
nettoyer différentes listes d'historique personnelles. Cliquer droit sur
la barre de tâches dans un endroit où il n'y a pas de bouton. Un menu
contextuel apparaît, cliquer Propriétés. Puis, cliquer sur l'onglet
"Programmes du Menu Démarrer". Ensuite, cliquer sur "Effacer". Pour les
valeurs dans Démarrer -> Exécuter, il faut redémarrer Windows. Les
clones dont j'ai parlé au début ont tous une fonction de nettoyage, plus
ou moins évoluée. Elle permet par exemple de supprimer une seule valeur de
la barre d'adresses, tout en laissant les autres. Mais aussi de nettoyer
tous les cookies, le cache, l'historique, etc.
Incidence du
cache sur les performances de Windows.
Lorsque des gens ont des
problèmes de performance ou des blocages, on lit régulièrement que la
solution consiste en un nettoyage du cache IE. Ce qui peut effectivement
aider. Mais même si on ne note aucune baisse de performance, il faut
savoir que chaque jour qu'on surfe, on accumule des fichiers dans le cache
(pour autant qu'on ne le limite pas à un nombre de jours très bas).
Parallèlement, les index.dat gonflent. J'utilise le pluriel car ce sont
plusieurs index.dat qui vont croître en taille, pendant que vous surfez.
Celui sous Content.IE5 évidemment mais aussi celui sous
Windows\Historique\History.IE5, ainsi que ceux présents dans les
sous-répertoires de l'historique, je ne m'étends pas sur ceux-là, ils ne
servent qu'à l'affichage de l'historique pour un jour donné. Enfin, celui
présent dans Windows\Cookies. Or, ces index.dat ont pour particularité
d'être ouverts en permanence par Explorer (le programme qui est la partie
visible de Windows). Explorer les ouvre lorsque vous démarrez votre PC,
pas lorsque vous démarrez IE. Ce qui pour moi est un paradoxe car il
m'arrive de démarrer mon PC sans avoir l'intention de surfer en ligne ou
même de consulter les pages hors connexion. Mais c'est ainsi (by design,
comme ils disent chez MS), c'est prévu et on ne peut rien y changer. Les
conséquences de cette ouverture permanente sont nombreuses. Impossibilité
de supprimer des fichiers ouverts (heureusement, d'un certain point de
vue), chargement de la mémoire avec le contenu de ces fichiers,
ralentissement subtil mais notable de Windows chaque jour puisque ces
fichiers croissent en taille et demandent donc plus de mémoire. Pour
vous en convaincre, Démarrer -> Exécuter -> taper Sysmon puis enter.
S'il n'est pas présent, vous le trouverez sur le CD-ROM Win98 et via
"Ajout/Suppression de programmes", onglet "installation de Windows",
composant "outils système", boutons "détails" et enfin "moniteur système",
vous pourrez l'installer. Donc, démarrer Sysmon, aller dans le menu
Affichage -> "Graphiques numériques" (c'est plus facile à lire). Dans
Edition, choisir "ajouter un élément" et cliquer dans la catégorie sur
"Gestionnaire de mémoire". Dans la partie droite, cliquer sur "mémoire
allouée". On peut mettre sysmon en "toujours visible" et l'amener en haut
à droite de l'écran, c'est comme un tableau de bord. Si vous appuyez sur
Escape (échapp), la barre de titres disparaîtra et vous n'aurez plus que
la valeur qui s'affiche. Si vous lancez Sysmon chaque matin et que vous
notez la valeur affichée chaque jour, vous verrez qu'elle augmentera
chaque fois, même si vous ne démarrez pas plus de logiciels que le jour
précédent. Ce sont donc les index.dat qui gonflent et qui prennent de la
place, indépendamment du fait que vous nettoyez le cache puisque comme je
l'ai déjà dit, MS n'a pas pensé à l'éventualité de supprimer les
index.dat. On pourrait avoir des index.dat de plusieurs MB mais qui sont
pleins de "vide", je veux dire que quand on nettoie le cache, les fichiers
gif, jpeg, htm ont disparu, leur nom a aussi disparu du fichier index.dat
mais ils ont été remplacés par des caractères en hexadécimal, du padding
pour les puristes (pas du pudding). Si vous supprimez un ou plusieurs
index.dat de plusieurs MB, vous verrez après redémarrage de Windows que la
quantité de "mémoire allouée" aura baissé, tout profit pour les autres
applications, le swap, etc.
Bugs dans IE
Aïe, Aïe,
l'affirmation qui fâche MS. C'est pourtant la réalité, il y a une série de
bugs (issues dans la terminologie MS, prononcez ichiouz). C'est surtout
frappant dans la gestion du cache et je vais en énumérer
quelques-uns. Tout d'abord, OE (Outlook Express). Vous me direz, d'où
il sort celui-là, quel rapport avec le cache ? Sachez que certaines pièces
jointes que vous ouvrez sont stockées dans le cache, en fonction de leur
type de fichier. Mais LE bug de OE, c'est d'écrire des fichiers fantômes
(stray files) dans le cache. Fantômes car ils sont vides (0 byte) et ils
n'apparaissent pas dans TIF, du moins quand on regarde avec Explorer. Pas
de traces non plus dans l'index.dat.
Pour les voir, cliquer sur
Démarrer -> Rechercher -> "Fichiers ou dossiers...". Puis, sur
l'onglet "Nom et emplacement" cliquer sur le bouton "parcourir" et choisir
"Windows\Temporary Internet Files\Content.IE5" et s'assurer que la case
"inclure les sous-dossiers" soit remplie. Puis, sur l'onglet "Avancées",
cliquer dans le champ "Taille" et choisir "au plus". Dans le champ à côté,
taper 1 (ne pas mettre 0 car il ne trouve rien dans ce cas). Puis, cliquer
sur "Rechercher maintenant". Quand c'est fini, cliquer sur la colonne
"Taille" afin de voir la liste des fichiers fantômes qui apparaîtront en
tête. On peut les supprimer sans problème. Leur nom est composé comme suit
[1] ou [2] ou [53], etc. Vous pouvez aussi les voir via Winfile ou Total
Commander.
Vous allez me dire, "oui mais, des fichiers de 0 byte,
ça ne prend pas de place". En effet, sauf que Windows réserve 4 KB (au
minimum) pour chaque fichier et que OE ne se contente pas d'en écrire un
ou deux mais à chaque fois que vous ouvrez un mail ou que vous le voyez
dans la fenêtre de prévisualisation, il y a des fichiers fantômes qui sont
créés et qui gonflent d'autant plus le fameux répertoire TIF, ils
induisent aussi en erreur l'index.dat car la taille du cache est faussée.
J'ai déjà vu des TIF contenant plusieurs centaines de ces fichiers
fantôme, ça ne peut que perturber le fonctionnement délicat du
cache.
Attention, la lecture du paragraphe qui suit peut
provoquer des migraines !
D'autres bugs
plus sournois concernent la taille allouée au cache. Vous pouvez adapter
cette taille via Options Internet, onglet Général, bouton "Paramètres"
-> Espace disque à utiliser. Si vous mettez 10 MB, couplé avec un
nombre de jours de stockage peu élevé, IE va nettoyer le cache lorsque
vous arrivez à la limite des 10 MB ou que vous arrivez au jour maximum.
C'est là que le bug se manifeste. On pourrait s'attendre à ce que IE
nettoie les fichiers les plus anciens. Et bien non, il nettoie de manière
aléatoire et même si MS a corrigé le tir au fur et à mesure des versions
de IE, ça reste encore déficient. Plus grave, la taille réelle du cache
est stockée dans l'index.dat mais pour des raisons mystérieuses, cette
taille ne correspond plus à la réalité physique. Soit, elle est trop
grande, soit, trop petite. Ce qui fait que si vous avez spécifié 10 MB de
taille maximum, IE va comparer la valeur présente dans l'index.dat (qui
est donc erronée) avec la valeur que vous avez spécifié dans les
paramètres et si vous avez atteint cette limite, IE commence à nettoyer le
cache alors que vous n'avez peut-être pas atteint la limite. L'autre cas
est possible, vous avez atteint la limite mais IE a une valeur plus petite
dans l'index.dat et il ne supprime pas de fichiers pour faire de la place.
Le fichier index.dat lui-même n'est pas compté dans les MB, ce qui fait
que certaines personnes s'étonnent de voir que les répertoires du cache
prennent plus de place que ce qu'ils ont spécifié.
C'est bien
compliqué tout ça, sachez qu'il existe un petit freeware
CacheSentry qui s'occupe de ces bugs, à télécharger ici
http://www.ticon.net/~dpoch/enigmatic/index.html
On
peut le laisser tourner en permanence car il ne prend pas tellement de
ressources, il y a une icône dans la barre de tâches changeant d'aspect
lorsque le programme agit. En fait, il n'est actif que quand on surfe et
il efface entre autres, les fichiers fantôme de OE, il gère aussi la
taille réelle du cache et celle stockée dans l'index.dat. Ce qui est
regrettable dans cette histoire, ce n'est pas qu'il y ait des bugs, c'est
que MS ne les corrige pas. Ils sont au courant depuis IE4 (1998) de ces
problèmes et ne prennent pas la peine de les résoudre. Ils sont pourtant
mieux placés que quiconque pour régler des problèmes aussi complexes et je
trouve que ce n'est pas normal que ce soit un programmeur n'ayant rien à
voir avec MS qui corrige ces bugs.
Félicitations si vous êtes
arrivés au bout de la lecture sans maux de tête ! J'ai pourtant fait un
résumé très succinct car il faudrait un bouquin de plusieurs centaines de
pages pour tout expliquer. Si vous avez des questions, n'hésitez
pas mais n'oubliez pas de spécifier à quelle partie du sujet vous faites
allusion et mentionnez aussi votre version de Win et de IE pour être sûr
qu'on parle de la même chose. ------------------------- Pierre.
|