<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>style | Undisconnected</title>
	<atom:link href="https://undisconnected.com/tag/style/feed/" rel="self" type="application/rss+xml" />
	<link>https://undisconnected.com</link>
	<description>Reste connecté</description>
	<lastBuildDate>Sun, 01 Apr 2012 23:04:35 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Fini les problèmes de cache navigateur avec filemtime</title>
		<link>https://undisconnected.com/problemes-cache-navigateur-filemtime/</link>
					<comments>https://undisconnected.com/problemes-cache-navigateur-filemtime/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Fri, 06 Jan 2012 19:39:29 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[filemtime]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[tutoriel]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=1082</guid>

					<description><![CDATA[<p>Marre d&#8217;avoir des problèmes de cache lors de vos développements ? Marre de recevoir des appels…</p>
The post <a href="https://undisconnected.com/problemes-cache-navigateur-filemtime/">Fini les problèmes de cache navigateur avec filemtime</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Marre d&rsquo;avoir des problèmes de cache lors de vos développements ? Marre de recevoir des appels de vos clients mécontents car ils ne voient pas les changements que vous venez de mettre en place ? Vous souhaitez maîtriser le cache du navigateur pour les fichiers de style (css), javascript, images (png, jpg &#8230;) ?</p>
<h2>Le problème</h2>
<p>Les navigateurs (tous confondus) utilisent un système de cache local qui permet d&rsquo;afficher plus rapidement une page une fois que celle-ci a déjà été affichée. Le problème c&rsquo;est que si vous poussez une mise à jour d&rsquo;un fichier javascript ou un fichier de style, les visiteurs qui auront déjà ce fichier en cache ne verront aucun changement sur le site car leur navigateur sortira le fichier en cache.</p>
<h2>La solution</h2>
<p>Pour éviter ce problème très frustrant à la longue, il existe une pratique qui utilise une fonction PHP pour permettre de dater le fichier. Cette fonction s&rsquo;appelle <strong>filemtime </strong>et va renvoyer la date de dernière modification du fichier au format timestamp.</p>
<p><strong>Voici comment l&rsquo;utiliser : </strong></p>
<pre class="brush: html; gutter: true">&lt;script type=&#039;text/javascript&#039; src=&#039;js/monfichier.js?date=&lt;?=filemtime(&#039;js/monfichier.js&#039;)?&gt;&#039;&gt;&lt;/script&gt;</pre>
<p>il suffit donc de mettre un paramètre GET (ici « date ») avec comme valeur le timestamp de la date de dernière modification de votre fichier (donné par la fonction filemtime) pour que le navigateur pense qu&rsquo;il s&rsquo;agit d&rsquo;un nouveau fichier et aille le chercher sur le serveur.</p>
<p><em>Procédez comme cela pour chaque fichier javascript et css mais aussi pour les images si besoin.</em></p>
<p>Attention au chemin (path) que vous allez utiliser pour filemtime. Un chemin peut être relatif ou absolue. Si vous avez une erreur PHP contenant le terme « <strong>stat failed</strong>« , ceci veut dire que PHP n&rsquo;a pas réussit à récupérer les infos du fichier, ce qui le plus probablement sera une erreur de chemin. Alors relatif ? ou absolue ? Ceci va dépendre de votre configuration PHP, mais le plus souvent <strong>le chemin relatif fonctionnera.</strong></p>
<h2>Conclusion</h2>
<p>J&rsquo;espère que ce petit tutoriel vous aura aidé à comprendre une méthode simple pour vous éviter bien des problèmes de cache. J&rsquo;utilise maintenant cette méthode dans tous les projets que j&rsquo;entreprends, c&rsquo;est vraiment une « <strong>best practice</strong> » comme on dit dans le métier. <strong> </strong></p>The post <a href="https://undisconnected.com/problemes-cache-navigateur-filemtime/">Fini les problèmes de cache navigateur avec filemtime</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/problemes-cache-navigateur-filemtime/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
