<?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>mlb, Webdesigner &#38; Intégrateur Web Freelance</title>
	<atom:link href="http://www.maximelebreton.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maximelebreton.com</link>
	<description>webdesigner &#38; intégrateur freelance</description>
	<lastBuildDate>Wed, 30 May 2012 18:25:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Quick Javascript Switcher (Chrome Extension)</title>
		<link>http://www.maximelebreton.com/labs/quick-javascript-switcher/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quick-javascript-switcher</link>
		<comments>http://www.maximelebreton.com/labs/quick-javascript-switcher/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 12:52:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://www.maximelebreton.com/?p=216</guid>
		<description><![CDATA[Cette extension Chrome, permet d&#8217;activer / désactiver Javascript &#171;&#160;à la volée&#160;&#187;. Télécharger la dernière version de Quick Javascript Switcher (.crx) Quick Javascript Switcher sur le chrome webstore Actuellement, il n&#8217;existe aucun moyen de désactiver facilement Javascript sous Chrome, même avec l&#8217;extension web-developper, et Chris Pederick explique ici pourquoi. Cette fonction m&#8217;étant indispensable, j&#8217;ai décidé de me [...]]]></description>
			<content:encoded><![CDATA[<p><em>Cette extension Chrome, permet d&#8217;activer / désactiver Javascript &laquo;&nbsp;à la volée&nbsp;&raquo;.</em></p>
<ul>
<li><em><strong>Télécharger</strong> la dernière version de <strong><a href="https://github.com/downloads/maximelebreton/quick-javascript-switcher/quick-javascript-switcher.crx">Quick Javascript Switcher</a></strong> (.crx)</em></li>
<li><a href="https://chrome.google.com/webstore/detail/geddoclleiomckbhadiaipdggiiccfje">Quick Javascript Switcher sur le <strong>chrome webstore</strong></a></li>
</ul>
<p>Actuellement, il n&#8217;existe aucun moyen de désactiver facilement Javascript sous Chrome, même avec l&#8217;extension web-developper, et Chris Pederick <a href="http://chrispederick.com/work/web-developer/help/#disable-javascript">explique ici</a> pourquoi.<br />
Cette fonction m&#8217;étant indispensable, j&#8217;ai décidé de me pencher sur le problème, et ainsi est née l&#8217;extension <em>Quick Javascript Switcher</em>, les sources et la procédure d&#8217;installation sont disponibles sur <a href="https://github.com/maximelebreton/quick-javascript-switcher">github</a>.</p>
<p>N&#8217;hésitez pas à me faire des retours via <a href="http://twitter.com/#!/maximelebreton">twitter</a> ! (même un petit merci ça fait plaisir !)</p>
<ul>
<li><strong>Korben</strong> en parle : <a href="http://korben.info/chrome-javascript-extension.html">http://korben.info/chrome-javascript-extension.html</a></li>
</ul>
<p style="font-size: 1.1em;">J&#8217;avais aussi créé une <a href="https://chrome.google.com/webstore/detail/bplfgniooljehbfmfbhckfiecijgmadg">mini extension</a> (en fait juste un raccourci) et un <a href="http://www.maximelebreton.com/labs/open-javascript-panel/">bookmarklet</a> qui permettaient d&#8217;accéder directement au panneau Javascript de Chrome. (Plutôt que devoir faire Clé à Molette &gt; Outils &gt; Options &gt; Options avancées &gt; Paramètres de contenu &gt; Javascript&#8230;)</p>
<p style="font-size: 1.1em;">[en] Here is the extension to <a href="https://chrome.google.com/webstore/detail/geddoclleiomckbhadiaipdggiiccfje">disable javascript in chrome</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximelebreton.com/labs/quick-javascript-switcher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Javascript Panel (Chrome extension &amp; Bookmarklet)</title>
		<link>http://www.maximelebreton.com/labs/open-javascript-panel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=open-javascript-panel</link>
		<comments>http://www.maximelebreton.com/labs/open-javascript-panel/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 10:10:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://www.maximelebreton.com/?p=148</guid>
		<description><![CDATA[CHECK THE NEW EXPERIMENTAL VERSION HERE : https://github.com/maximelebreton/quick-javascript-switcher With this experimental version, now it&#8217;s possible to enable / disable javascript on the fly ! Because there is no way to enable/disable Javascript on the fly with the current Chrome API, i&#8217;ve made this simple extension for open quickly the JS panel. I hope this will [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CHECK THE NEW EXPERIMENTAL VERSION HERE : <a href="https://github.com/maximelebreton/quick-javascript-switcher">https://github.com/maximelebreton/quick-javascript-switcher</a></strong><br />
<strong> With this experimental version, now it&#8217;s possible to enable / disable javascript on the fly !</strong></p>
<h2><span style="font-size: 13px; font-weight: normal;">Because there is no way to enable/disable Javascript on the fly with the current Chrome API, i&#8217;ve made this simple extension for open quickly the JS panel. I hope this will be useful to webdeveloppers.</span></h2>
<p><a href="https://chrome.google.com/webstore/detail/bplfgniooljehbfmfbhckfiecijgmadg">https://chrome.google.com/webstore/detail/bplfgniooljehbfmfbhckfiecijgmadg</a></p>
<h2>Alternative method with Bookmarklets</h2>
<p><img class="alignnone" style="border-style: initial; border-color: initial;" title="Chrome JS Panel Switcher (Bookmarklet)" src="http://dl.dropbox.com/u/6074903/unreferenced/jspanelswitcher-bookmarklet.png" alt="" width="158" height="34" /></p>
<p>Just drag these 2 bookmarklets to your Bookmarks Toolbar</p>
<p>1. <a href="chrome://settings/content#javascript">JS Panel &gt;</a><br />
2. <a href="javascript:void(function(){var a,b;a = document.getElementsByName('javascript'); (a[0].checked) ? b = a[1].value : b = a[0].value; chrome.send('setContentFilter',['javascript',b]);})();">Switch</a></p>
<p>Now open JS Panel, and then just click on switch !</p>
<p>please make feedbacks on my twitter <a href="http://twitter.com/#!/maximelebreton">@maximelebreton</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximelebreton.com/labs/open-javascript-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Js fiddles</title>
		<link>http://www.maximelebreton.com/labs/js-fiddles/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=js-fiddles</link>
		<comments>http://www.maximelebreton.com/labs/js-fiddles/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 22:25:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://www.maximelebreton.com/?p=142</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/maximelebreton/DJDcL/embedded/"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximelebreton.com/labs/js-fiddles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mémo des variables Prestashop</title>
		<link>http://www.maximelebreton.com/labs/memo-des-variables-prestashop/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=memo-des-variables-prestashop</link>
		<comments>http://www.maximelebreton.com/labs/memo-des-variables-prestashop/#comments</comments>
		<pubDate>Thu, 05 May 2011 17:00:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://www.maximelebreton.com/wp/?p=105</guid>
		<description><![CDATA[Ne trouvant aucune documentation qui récapitule les variables Prestashop, j&#8217;ai décidé de commencer à en dresser une liste sous forme de Mémo. Ceci est un document collaboratif, vous pouvez donc simplement accéder au Mémo des variables Prestashop, mais aussi y contribuer (via google docs). Mémo des variables Prestashop Exemple d’utilisation pour récupérer la catégorie par défaut [...]]]></description>
			<content:encoded><![CDATA[<p>Ne trouvant aucune documentation qui récapitule les variables Prestashop, j&#8217;ai décidé de commencer à en dresser une liste sous forme de Mémo.</p>
<p>Ceci est un document collaboratif, vous pouvez donc simplement accéder au <a href="https://docs.google.com/document/pub?id=1PjWcWmJAlIRvgobvmnfMNaaYZwqxd9ijfdr1Yc-GTg4">Mémo des variables Prestashop</a>, mais aussi <a href="https://docs.google.com/document/d/1PjWcWmJAlIRvgobvmnfMNaaYZwqxd9ijfdr1Yc-GTg4/edit">y contribuer</a> (via google docs).<br />
<iframe src="https://docs.google.com/document/pub?id=1PjWcWmJAlIRvgobvmnfMNaaYZwqxd9ijfdr1Yc-GTg4&amp;embedded=true" style="width:100%; height:2500px;"></iframe></p>
<p><noframe style="display:none;"></p>
<div style="display:none;">
Mémo des variables Prestashop</p>
<p>Exemple d’utilisation pour récupérer la catégorie par défaut d&#8217;un produit : {$product.category}<br />
$category</p>
<p>$category->name<br />
$category->description<br />
$category->id_image<br />
$category->link_rewrite<br />
$category->id<br />
$category->active<br />
$subcategory</p>
<p>$subcategory.name<br />
$subcategory.description<br />
$subcategory.link_rewrite<br />
$subcategory.id_category<br />
$product</p>
<p>$product->category<br />
$product.category<br />
$product.name<br />
$product.description<br />
$product.link_rewrite<br />
$product.id_product_attribute<br />
$product.id_product<br />
$conf</p>
<p>$conf.PS_SHOP_ADDR1<br />
$conf.PS_SHOP_ADDR2<br />
$conf.PS_SHOP_CITY<br />
$conf.PS_SHOP_CODE<br />
$conf.PS_SHOP_COUNTRY<br />
$conf.PS_SHOP_DETAILS<br />
$conf.PS_SHOP_NAME<br />
Globals</p>
<p>$base_dir (root folder of your shop)<br />
$base_dir_ssl (root folder of your shop using HTTPS protocol)<br />
$content_dir (root folder of your shop depending on the SSL settings)<br />
$img_ps_dir (root folder containing images &laquo;&nbsp;/img/&nbsp;&raquo;)<br />
$img_dir (images folder in your current theme directory)<br />
$css_dir (css folder inside the current theme folder)<br />
$js_dir (JavaScript inside the theme folder)<br />
$tpl_dir (theme root folder)<br />
$modules_dir (modules root folder)<br />
$mail_dir (mail templates root folder)<br />
$lang_iso (current language ISO code)<br />
$come_from (previous page address [absolute])<br />
$shop_name (your specified shop name)<br />
$cart_qties (total number of products in the cart)<br />
$cart (shopping cart contents)<br />
$currencies (pulls available currencies)<br />
$id_currency_cookie (selected currency id [cookie dependent])<br />
$currency (active currency)<br />
$cookie (active cookie)<br />
$languages (grabs available languages)<br />
$logged (checks whether users is logged in)<br />
$page_name (current page&#8217;s name)<br />
$customerName (customer name [session dependent])<br />
$priceDisplay (current price display settings [currency dependent])<br />
Mots clés : variables prestashop<br />
Keywords : template tags prestashop<br />
Contributeurs :<br />
Globals : fixyourcms<br />
Auteur : Maxime Le Breton<br />
Document sous licence GPL
</p></div>
<p></noframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximelebreton.com/labs/memo-des-variables-prestashop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CIFR (Css Image Font Replacement)</title>
		<link>http://www.maximelebreton.com/labs/cifr-css-image-font-replacement/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cifr-css-image-font-replacement</link>
		<comments>http://www.maximelebreton.com/labs/cifr-css-image-font-replacement/#comments</comments>
		<pubDate>Thu, 05 May 2011 16:42:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://www.maximelebreton.com/wp/?p=97</guid>
		<description><![CDATA[Une petite démo technique qui permet de faire joujou (alpha) : http://www.maximelebreton.com/labs/cifr/alpha/ Petite mise en situation dans un site en cours de prod : http://www.maximelebreton.com/dev/gazettedudragon/tiroir.html CIFR est une solution libre en cours de développement, nous travaillons sur le projet durant notre temps libre, donc ça avance vraiment doucement et il reste beaucoup de choses à régler, mais si jamais le projet [...]]]></description>
			<content:encoded><![CDATA[<p>Une petite démo technique qui permet de faire joujou (alpha) : <a href="http://www.google.com/url?q=http%3A%2F%2Fwww.maximelebreton.com%2Flabs%2Fcifr%2Falpha%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNH0g5NUETVsCpYrRmKyh42C3V4adA">http://www.maximelebreton.com/labs/cifr/alpha/</a><br />
Petite mise en situation dans un site en cours de prod : <a href="http://www.google.com/url?q=http%3A%2F%2Fwww.maximelebreton.com%2Fdev%2Fgazettedudragon%2Ftiroir.html&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHUTowmioxcX5Ihy26QKUtoXPdFqQ">http://www.maximelebreton.com/dev/gazettedudragon/tiroir.html</a></p>
<p>CIFR est une solution libre en cours de développement, nous travaillons sur le projet durant notre temps libre, donc ça avance vraiment doucement et il reste beaucoup de choses à régler, mais si jamais le projet vous emballe, nous serions vraiment curieux d’avoir des retours, ou des encouragements !<br />
(Genre “wouah c mortel lé gars continué comme sa !”)</p>
<p>&nbsp;</p>
<p>Description du système CIFR</p>
<p>Pour que tout le monde comprenne bien de quelle manière fonctionne le core de cifr, je vais essayer d’expliquer (et je vous invite à me corriger si je me trompe ou si je formule mal quelque chose) chaque étape de la transformation.</p>
<p>&nbsp;</p>
<p>L’origine de CIFR part d’un besoin simple, qui est de pouvoir utiliser, à l’identique, une police complexe, qui ne peut être reproduite avec les solutions actuelles (@font-face, cùfon, flir, etc&#8230;), et ce, dynamiquement.<br />
Exemple, cette police à effet métallisé ne peut pas être reproduite fidèlement avec les solutions actuelles ::</p>
<p><img src="https://docs.google.com/document/pubimage?id=1PyDHuttMxC_pXCwf7xPb-6dCeh8tvPyfvYPGSREWIy4&amp;image_id=1Llk6g6ccaSJudjYCxJU17Uan_Okxqg" alt="" width="629" height="255" /></p>
<p>Et bien, avec CIFR, c’est possible.</p>
<p>&nbsp;</p>
<p>Le principe de CIFR se base sur la technique des sprites CSS.</p>
<p>La transformation se fait via php ou javascript, qui convertit le texte en code html et css.</p>
<p>Cela signifie que cifr peut fonctionner totalement sans javascript, qu’il peut également fonctionner totalement sans php, et qu’il peut même fonctionner sans php ni javascript, si on génère le code manuellement grâce à un outil online que nous proposerons.</p>
<p>&nbsp;</p>
<p>CIFR s’adresse surtout aux designers, qui souhaitent pouvoir aller plus loin dans le détail, la finesse, et la fidélité de leur police.<br />
qui aiment avoir la main sur chaque pixel, sur chaque propriété css sans avoir à mettre le nez dans un code javascript obscur.</p>
<p>&nbsp;</p>
<p>Avantages</p>
<ol>
<li>Liberté graphique totale</li>
<li>Fidelité de rendu absolue</li>
</ol>
<ol>
<li>Légalité : respecte les licences d’utilisation des polices commerciales (contrairement à @font-face, Typeface et Cùfon)</li>
</ol>
<ol>
<li>Lourdeur : consommation CPU, exécution côté client, temps d’affichage</li>
<li>Accessibilité : support par les lecteurs d’écrans, que javascript soit activé ou non</li>
</ol>
<p>&nbsp;</p>
<p>Inconvénients</p>
<ol>
<li>Souplesse : Si vous souhaitez utiliser une police dans plusieurs couleurs, avec une variante italique, et bold, il faut créer une sprite et une css pour chacune des versions</li>
<li>Rapidité de mise en place : avec cùfon on convertit la police en js, on insère le tout dans la page et hop c’est près. Avec CIFR, il y’a un peu plus d’étapes avant d’avoir quelque chose d’opérationnel.</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Il est mis à disposition un fichier psd, qui contient un tableau de caractères (basé sur le standard <a href="http://www.google.com/url?q=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FISO_8859-15&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF69rufCHmbWjXfz8Hvgp56ZJEl5Q">ISO 8859-15</a>). L’intérêt de ce tableau est que les caractères sont codés sur 2 octets, et donc il est possible de représenter un caractère via une coordonnée xy.<br />
Ce qui serait impossible avec l’utf8, codée sur 4 octets.</p>
<p>Attention, cela ne veut pas dire que CIFR est codé en ISO 8859-15, il se sert juste de ce standard pour représenter un tableau graphiquement parlant, mais en bien codé en UTF-8.<br />
Par contre, il n’affichera que les caractères ISO 8859-15 (il serait bien trop lourd de devoir générer une sprite en UTF-8).</p>
<p>Voici le fichier psd en question : <a href="http://www.google.com/url?q=http%3A%2F%2Fwww.maximelebreton.com%2Flabs%2Fcifr%2Fcifr_psd_sprite.zip&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNGw-eDDmdHvkV5YE_47WmWUuof71Q">http://www.maximelebreton.com/labs/cifr/cifr_psd_sprite.zip</a><img class="alignright" src="https://docs.google.com/document/pubimage?id=1PyDHuttMxC_pXCwf7xPb-6dCeh8tvPyfvYPGSREWIy4&amp;image_id=1oL2UbN88cZ9WjgJGDXAOPmA3rwo_6A" alt="" width="371" height="441" /></p>
<p>Cette sprite est composée de cellules de 100 x 100 px.</p>
<p>(Car une police de caractère dépasse très rarement les 100px.</p>
<p>Mais cela veut dire que si vous souhaitez utiliser une police avec une taille supérieure à 100px, la sprite d’origine et la css fournie ne fonctionnera pas.</p>
<p>Par contre, vous pouvez tout à fait l’adapter pour vos besoins, au niveau du noyau (php ou javascript), cela ne change rien.)</p>
<p>&nbsp;</p>
<p>Il est donc ensuite très simple de cibler une lettre via une background-position.</p>
<p>Exemple :<br />
la lettre b est codée 62.<br />
Le sens de lecture du tableau est de y, puis x (ne me demandez pas pourquoi, je l’ai signalé dans <a href="http://www.google.com/url?q=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FDiscussion%3AISO_8859-15&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHs0QNsp--tAFnL-KOf40GaNfsfUA">la discussion concernant l’article de wikipedia</a>).<br />
y6 et x2 valent sur le tableau -600px et -200px.</p>
<p>donc b = background-position:-200px -600px; (en css, le sens de lecture est de xy)</p>
<p>&nbsp;</p>
<p>Pour afficher cette lettre, je créé donc un span avec une classe .iso_62 qui contient la background position citée plus haut.</p>
<p>&nbsp;</p>
<p>Maintenant, il faut automatiser la transformation d’une lettre, en utilisant php ou javascript.</p>
<p>Et en voici les étapes :</p>
<p>&nbsp;</p>
<ol>
<li>Une fonction récupère le texte (brut ou html) à convertir.</li>
<li>Une boucle passe sur chaque caractère, et la stocke dans un tableau</li>
<li>Une regex détecte si c’est du code html ou non</li>
<li>Chaque lettre est englobée dans un span.iso_xx, et chaque mot dans un span.word, le tout dans un span.cifr qui porte la classe de la police utilisée. Exemple span.cifr.arial-14px</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maximelebreton.com/labs/cifr-css-image-font-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

