<?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>Anthor.Net &#187; CSS</title>
	<atom:link href="http://www.anthor.net/blog/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anthor.net</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 16:29:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>L&#8217;importance de compresser les fichiers statiques</title>
		<link>http://www.anthor.net/blog/developpement/limportance-de-compresser-les-fichiers-statiques/</link>
		<comments>http://www.anthor.net/blog/developpement/limportance-de-compresser-les-fichiers-statiques/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 11:45:15 +0000</pubDate>
		<dc:creator>Anthor</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.anthor.net/?p=453</guid>
		<description><![CDATA[Lorsque j&#8217;ai commencé Tarschool, j&#8217;ai immédiatement mis en place un système de compression des fichiers. Celui-ci est de deux sortes : Minification des fichiers JS et CSS Compression avec le mode deflate des fichiers JS et CSS Faciles et rapides à mettre en place, ces solutions permettent souvent d&#8217;économiser au minimum 75% de la bande [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsque j&#8217;ai commencé Tarschool, j&#8217;ai immédiatement mis en place un système de compression des fichiers. Celui-ci est de deux sortes : </p>
<ul>
<li>Minification des fichiers JS et CSS</li>
<li>Compression avec le mode deflate des fichiers JS et CSS</li>
</ul>
<p>Faciles et rapides à mettre en place, ces solutions permettent souvent d&#8217;économiser au minimum 75% de la bande passante utilisé par le serveur en mode normal.</p>
<p>Voici un petit récapitulatif des solutions que nous avons mis en place et de leurs économies associées.<br />
<span id="more-453"></span><br />
Pour la minification, je vous laisse voir de votre côté, personnellement, j&#8217;ai plusieurs scripts qui tournent avec <a href="http://developer.yahoo.com/yui/compressor/" target="_blank">YUICompressor</a>, mais d&#8217;autres solutions sont possibles.<br />
Par exemple: JSmin, CSSminifier, DOJO Compressor&#8230; C&#8217;est au choix, je pense qu&#8217;elles ont toutes leurs avantages et leurs inconvénients. YUICompressor est, dans mon cas utilisé en local avant upload des fichiers.</p>
<p>Pour le DEFLATE, un simple copier/coller suffit dans un .htaccess à la racine, ces lignes ayant déjà été donné dans mon <a href="http://www.anthor.net/blog/developpement/htaccess-par-defaut/" target="_blank">.htaccess par défaut</a>, cette méthode doit normalement resté active le plus souvent possible, et être activé de façon transparente. Notons que si le mod_deflate n&#8217;est pas initié par Apache, la ligne est purement et simplement ignorée.</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">IfModule</span> mod_deflate.c&gt;
	&lt;<span style="color: #000000; font-weight:bold;">FilesMatch</span> <span style="color: #7f007f;">&quot;<span style="color: #000099; font-weight: bold;">\.</span>(js|css)$&quot;</span>&gt;
		<span style="color: #00007f;">SetOutputFilter</span> DEFLATE
	&lt;/<span style="color: #000000; font-weight:bold;">FilesMatch</span>&gt;
&lt;/<span style="color: #000000; font-weight:bold;">IfModule</span>&gt;</pre></div></div>

<p>Pour montrer la bande passante économisée, je prend les logs d&#8217;accès du mois de juillet. Je vais effectuer la comparaison sur deux fichiers CSS et deux fichiers JS.<br />
Sur Tarschool, les plus utilisés sont : </p>
<table width="100%" cellspacing="0" cellpadding="4" style="font-size: 11px;border:1px solid #EEEEEE;">
<thead style="background-color: #F8F8FF">
<tr>
<th>Nom du fichier</th>
<th>Taille originale</th>
<th>Taille minifié</th>
<th>Taille après DEFLATE</th>
</thead>
<tbody>
<tr>
<td>global.css</td>
<td align="right">22 566</td>
<td align="right">18 260 <span style="color: #00AA00">[80.9%]</span></td>
<td align="right">3 664 <span style="color: #00AA00">[20%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>globalMember.css</td>
<td align="right">2 185</td>
<td align="right">1 732 <span style="color: #00AA00">[79.2%]</span></td>
<td align="right">679 <span style="color: #00AA00">[39.2%]</span></td>
</tr>
<tr>
<td>jquery.tarschool.js</td>
<td align="right">113 480</td>
<td align="right">55 283 <span style="color: #00AA00">[48.7%]</span></td>
<td align="right">17 264 <span style="color: #00AA00">[31.2%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>jquery.tarschool.voirCombat.js</td>
<td align="right">4 458</td>
<td align="right">2 655 <span style="color: #00AA00">[59.1%]</span></td>
<td align="right">1 048 <span style="color: #00AA00">[39.4%]</span></td>
</tr>
</tbody>
</table>
<p>Pour le mois de Juillet, voici donc le nombre d&#8217;accès total, dans lequel nous allons séparer les fichiers effectivement transmis et ceux dont le cache a été utilisé.<br />
En effet par défaut, on peux déjà économiser une quantité significative. Pour contrôler un peu mieux ce cache, il existe différentes solutions qui ne seront pas abordées ici.<br />
Pour ma part je rajoute simplement un time de la dernière modification du bootstrap lors de l&#8217;appel des fichiers à mettre en cache. Je laisse le reste à Apache et pour le moment cela me convient.</p>
<table width="100%" cellspacing="0" cellpadding="4" style="font-size: 11px;border:1px solid #EEEEEE;">
<thead style="background-color: #F8F8FF">
<tr>
<th>Nom du fichier</th>
<th>Nombre d&#8217;accès Total</th>
<th>200 (OK)</th>
<th>304 (Not Modified)</th>
<th>Ratio</th>
</thead>
<tbody>
<tr>
<td>global.css</td>
<td align="right">18 298</td>
<td align="right">5 078</td>
<td align="right">13 220</td>
<td align="right"><span style="color: #00AA00">[27.7%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>globalMember.css</td>
<td align="right">14 962</td>
<td align="right">3 082</td>
<td align="right">11 880</td>
<td align="right"><span style="color: #00AA00">[20.5%]</span></td>
</tr>
<tr>
<td>jquery.tarschool.js</td>
<td align="right">18 006</td>
<td align="right">5 004</td>
<td align="right">13 002</td>
<td align="right"><span style="color: #00AA00">[27.7%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>jquery.tarschool.voirCombat.js</td>
<td align="right">3 892</td>
<td align="right">1 978</td>
<td align="right">1 914</td>
<td align="right"><span style="color: #00AA00">[50.8%]</span></td>
</tr>
</tbody>
</table>
<p>En ne prenant en compte que les fichiers effectivement transmis, je peux donc calculer la bande passante utilisée avec la compression, la bande passante théorique (basée sur la taille réelle du fichier source), et les pourcentages de gains réalisés :</p>
<table width="100%" cellspacing="0" cellpadding="4" style="font-size: 11px;border:1px solid #EEEEEE;">
<thead style="background-color: #F8F8FF">
<tr>
<th>Nom du fichier</th>
<th>Nombre d&#8217;accès</th>
<th>Bande Passante Théorique</th>
<th>Bande Passante Réelle</th>
<th>Ratio</th>
</thead>
<tbody>
<tr>
<td>global.css</td>
<td align="right">5 078</td>
<td align="right">114 590 148</td>
<td align="right">18 605 792</td>
<td align="right"><span style="color: #00AA00">[16.2%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>globalMember.css</td>
<td align="right">3 082</td>
<td align="right">6 734 170</td>
<td align="right">2 092 678</td>
<td align="right"><span style="color: #00AA00">[31%]</span></td>
</tr>
<tr>
<td>jquery.tarschool.js</td>
<td align="right">5 004</td>
<td align="right">567 853 920</td>
<td align="right">86 389 056</td>
<td align="right"><span style="color: #00AA00">[15.2%]</span></td>
</tr>
<tr style="background-color: #F5FBFF;">
<td>jquery.tarschool.voirCombat.js</td>
<td align="right">1 978</td>
<td align="right">8 817 924</td>
<td align="right">2 072 944</td>
<td align="right"><span style="color: #00AA00">[23.5%]</span></td>
</tr>
</tbody>
</table>
<p>En conclusion, l&#8217;apport du module deflate, couplé à une minification des fichiers permet d&#8217;économiser d&#8217;énormes quantités de bandes passantes, généralement de l&#8217;ordre de 75%.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anthor.net/blog/developpement/limportance-de-compresser-les-fichiers-statiques/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Font-Family en CSS &#8211; Compatiblité Windows/Mac/Linux</title>
		<link>http://www.anthor.net/blog/developpement/font-family-en-css-compatiblite-windowsmaclinux/</link>
		<comments>http://www.anthor.net/blog/developpement/font-family-en-css-compatiblite-windowsmaclinux/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 10:54:27 +0000</pubDate>
		<dc:creator>Anthor</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.anthor.net/?p=393</guid>
		<description><![CDATA[Il est parfois embêtant de ne pas disposer de polices à peu près égales en taille et en forme suivant les différents systèmes d&#8217;exploitation. Voici une liste de quelques polices avec leurs équivalents sous la forme Windows/Mac/Linux : font-family: Verdana,Geneva,Kalimati,sans-serif; font-family: &#34;Lucida Sans Unicode&#34;,&#34;Lucida Grande&#34;,Garuda,sans-serif; font-family: &#34;Arial Black&#34;,Gadget,sans-serif; font-family: Arial,Helvetica,Garuda,sans-serif; font-family: Georgia,&#34;Nimbus Roman No9 L&#34;,serif; [...]]]></description>
			<content:encoded><![CDATA[<p>Il est parfois embêtant de ne pas disposer de polices à peu près égales en taille et en forme suivant les différents systèmes d&#8217;exploitation.<br />
Voici une liste de quelques polices avec leurs équivalents sous la forme Windows/Mac/Linux :</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Verdana<span style="color: #00AA00;">,</span>Geneva<span style="color: #00AA00;">,</span>Kalimati<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Lucida Sans Unicode&quot;</span><span style="color: #00AA00;">,</span><span style="color: #ff0000;">&quot;Lucida Grande&quot;</span><span style="color: #00AA00;">,</span>Garuda<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Arial Black&quot;</span><span style="color: #00AA00;">,</span>Gadget<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Arial<span style="color: #00AA00;">,</span>Helvetica<span style="color: #00AA00;">,</span>Garuda<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Georgia<span style="color: #00AA00;">,</span><span style="color: #ff0000;">&quot;Nimbus Roman No9 L&quot;</span><span style="color: #00AA00;">,</span><span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Palatino Linotype&quot;</span><span style="color: #00AA00;">,</span><span style="color: #ff0000;">&quot;Book Antiqua&quot;</span><span style="color: #00AA00;">,</span>Palatino<span style="color: #00AA00;">,</span>FreeSerif<span style="color: #00AA00;">,</span><span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Tahoma<span style="color: #00AA00;">,</span>Geneva<span style="color: #00AA00;">,</span>Kalimati<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Trebuchet MS&quot;</span><span style="color: #00AA00;">,</span>Helvetica<span style="color: #00AA00;">,</span>Jamrul<span style="color: #00AA00;">,</span><span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;Times New Roman&quot;</span><span style="color: #00AA00;">,</span>Times<span style="color: #00AA00;">,</span>FreeSerif<span style="color: #00AA00;">,</span><span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.anthor.net/blog/developpement/font-family-en-css-compatiblite-windowsmaclinux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Carte Javascript en 3D isométrique héxagonale</title>
		<link>http://www.anthor.net/blog/divers/carte-javascript-en-3d-isometrique-hexagonale/</link>
		<comments>http://www.anthor.net/blog/divers/carte-javascript-en-3d-isometrique-hexagonale/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 09:16:10 +0000</pubDate>
		<dc:creator>Anthor</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.anthor.net/?p=262</guid>
		<description><![CDATA[Hein ? Mais c&#8217;est quoi ce terme barbare ?!! Donc voilà, en ce moment, je bosse pas mal, sur les représentations en 3D isométrique pour noNamé Game, le but étant de pouvoir fournir aux joueurs une immersion importante. Voici quelques captures des simulations photoshop : Essai de déformation d&#8217;un hexagone orthonormé pour la 3d Isométrique. [...]]]></description>
			<content:encoded><![CDATA[<p>Hein ? Mais c&#8217;est quoi ce terme barbare ?!! Donc voilà, en ce moment, je bosse pas mal, sur les représentations en 3D isométrique pour <a href="http://www.noname-game.net/" target="_blank">noNamé Game</a>, le but étant de pouvoir fournir aux joueurs une immersion importante.</p>
<p>Voici quelques captures des simulations photoshop :</p>
<p style="clear:both">
    <img src="http://www.anthor.net/wp-content/uploads/2008/09/test-2D-3D.jpg" alt="" title="" width="300" height="150" class="alignleft size-full wp-image-265" /><br />
    Essai de déformation d&#8217;un hexagone orthonormé pour la 3d Isométrique.<br />
    Afin d&#8217;obtenir une meilleure contenance de la surface, seule la texture de la tuile est convertie, et l&#8217;on depose sur cette tuile une deuxième couche en 2D classique.
</p>
<p><span id="more-262"></span></p>
<p style="clear:both">
    <img src="http://www.anthor.net/wp-content/uploads/2008/09/maquette_carte.jpg" alt="" title="" width="251" height="147" class="alignleft size-full wp-image-266" /><br />
    Une simulation d&#8217;agencement des tuiles, pour valider mon modèle de base.<br />
    On constate que les tuiles s&#8217;imbriquent parfaitement entres elles.
</p>
<p><br style="clear:both" /></p>
<p style="text-align:center">
    <img src="http://www.anthor.net/wp-content/uploads/2008/09/maquette_carte-html_m.jpg" alt="" title="" width="448" height="188" class="alignnone size-full wp-image-267" style="float:none;" /><br />
    Cette simulation illustre l&#8217;empilement des tuiles de fonds et des différentes tuiles de couches sur la carte</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anthor.net/blog/divers/carte-javascript-en-3d-isometrique-hexagonale/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

