<?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>Gatellier.be &#187; Code</title>
	<atom:link href="http://www.gatellier.be/blog/tags/marin/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gatellier.be/blog</link>
	<description>Interwebs with passion.</description>
	<lastBuildDate>Thu, 01 Jul 2010 12:17:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<atom:link rel='hub' href='http://www.gatellier.be/blog/?pushpress=hub'/>
		<item>
		<title>Flic.kr Short URI Bookmarklet</title>
		<link>http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/</link>
		<comments>http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 12:43:20 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=312</guid>
		<description><![CDATA[Voici donc le bookmarklet permettant de faciliter la copie des short URI flic.kr]]></description>
			<content:encoded><![CDATA[<p>Sur <a href="http://twitter.com/maxvoltar/statuses/2014913008">Twitter</a>, on voit apparaître un nouveau type de Short <abbr title="Uniform Resource Identifier">URI</abbr> associées à <a href="http://www.flickr.com/photos/marin-gatellier/">Flickr</a>.</p>
<p>Ces adresses web abbréviées sont incluses dans le code source de la page d'une photo (récente) mais <a href="http://twitter.com/fred_dela/statuses/2015593657">ne sont pas facile à copier/coller</a>.</p>
<p>Voici donc le <strong>bookmarklet</strong> permettant de faciliter la <strong>copie des short URI flic.kr</strong></p>

<p><strong><a style="padding:5px;border:1px solid #4960A3" href="javascript:void((function(){var%20a=document.getElementsByTagName('link');for(var%20i=0,j=a.length;i%3Cj;i++){if(a[i].href.indexOf(('flic.kr'))%3E-1){prompt('copy...',a[i].href);}}})());">Flic.kr</a></strong></p>

<p>Je rappelle&nbsp;: un bookmarklet est une micro application JavaScript qui s'installe en glissant un lien dans ses bookmarks.</p>

<p>Pour les curieux, voici le code&nbsp;:</p>
<pre class="brush: javascript;">
void((function(){
	var a=document.getElementsByTagName(&quot;link&quot;);
	for (var i=0,j=a.length;i&lt;j;i++){
		if(a[i].href.indexOf(('flic.kr'))&gt;-1){
			prompt(&quot;copy...&quot;,a[i].href);
		}
	}
})())
</pre><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/">Permalink</a> |
<a href="http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/#comments">4 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/&title=Flic.kr Short URI Bookmarklet">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/bookmarklet/" rel="tag">bookmarklet</a>, <a href="http://www.gatellier.be/blog/tag/flickr/" rel="tag">flickr</a>, <a href="http://www.gatellier.be/blog/tag/javascript/" rel="tag">javascript</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/flickr-short-uri-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Retrouver la version d&#8217;un Framework JavaScript</title>
		<link>http://www.gatellier.be/blog/retrouver-version-framework-javascript/</link>
		<comments>http://www.gatellier.be/blog/retrouver-version-framework-javascript/#comments</comments>
		<pubDate>Thu, 14 May 2009 17:02:17 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Débogage]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=311</guid>
		<description><![CDATA[Je me dis que ça pourrait aider du monde d'avoir une compilation des méthodes pour retrouver les versions des différents frameworks JavaScript]]></description>
			<content:encoded><![CDATA[<p>Après avoir passé quelques temps à débugger le code d'un collègue, j'ai eu l'heureuse surprise de me rendre compte qu'une <strong>ancienne version d'un Framework</strong> était employée. Elle ne comprennait pas les dernières méthodes utilisées maintenant.</p>
<p>Je me dis que ça pourrait aider du monde d'avoir une compilation des méthodes pour retrouver les <strong>versions des Frameworks JavaScript</strong>.</p>
<p>Vous n'avez qu'à entrer les lignes suivantes dans une console firebug ou en faire un alerte JavaScript.</p>

<h3><a href="http://jquery.com/">jQuery</a></h3>
<pre class="brush: javascript;">
jQuery.fn.jquery;
//returns jQuery version number ie: &quot;1.2.6&quot;
</pre>

<h3><a href="http://www.prototypejs.org/">Prototype JS</a></h3>
<pre class="brush: javascript;">
Prototype.Version;
//returns Prototype version number ie: &quot;1.5.2_pre0&quot;
</pre>

<h3><a href="http://mootools.net/">Mootools</a></h3>
<pre class="brush: javascript;">
MooTools.version;
//returns MooTools version number ie: &quot;1.2.0&quot;
</pre>

<h3><a href="http://extjs.com/">ExtJS</a></h3>
<pre class="brush: javascript;">
Ext.version;
//returns ExtJS version number ie: &quot;2.2.1&quot;
</pre>

<h3>Yahoo! User Interface Library (YUI)</h3>
<h4><a href="http://developer.yahoo.com/yui/">YUI v2</a></h4>
<pre class="brush: javascript;">
YAHOO.VERSION;
//returns YUI version number ie: &quot;2.5.2&quot;
</pre>

<h4><a href="http://developer.yahoo.com/yui/3/">YUI v3</a></h4>
<pre class="brush: javascript;">
YUI().Env.meta.version;
//returns YUI version number ie: &quot;3.0.0pr2&quot;
</pre>

<h3><a href="http://www.dojotoolkit.org/">Dojo Toolkit</a></h3>
<pre class="brush: javascript;">
dojo.version;
/*
returns an object representing DOJO version number ie: &quot;1.3.0 (16807)&quot; major=1 minor=3 patch=0 revision=16807
with major, minor, patch and revision properties
dojo.version.major, dojo.version.minor, etc
*/
</pre>

<p>Si vous employez d'autres Frameworks JavaScript, n'hésitez pas à laisser un commentaire, je mettrai cette liste à jour.</p><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/retrouver-version-framework-javascript/">Permalink</a> |
<a href="http://www.gatellier.be/blog/retrouver-version-framework-javascript/#comments">5 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/retrouver-version-framework-javascript/&title=Retrouver la version d&#8217;un Framework JavaScript">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/retrouver-version-framework-javascript/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CSS: vertical-align:middle pour Internet Explorer 6 et 7</title>
		<link>http://www.gatellier.be/blog/ie-vertical-align-middle/</link>
		<comments>http://www.gatellier.be/blog/ie-vertical-align-middle/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 14:51:42 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[bugfix]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[vertical-align]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=276</guid>
		<description><![CDATA[Les expressions CSS de IE 6 et 7 permettent de centrer verticalement un élément et donc de simuler le 'vertical-align:middle'.]]></description>
			<content:encoded><![CDATA[<p>Depuis la fin des mises en pages en tableaux html, centrage vertical d'un élément dans son conteneur a toujours posé des problèmes.</p>

<h3>Internet Explorer et le vertical-align</h3>
<p>En cause, Internet Explorer dans les versions 6 et 7 (je ne parle même pas des versions antécédantes) ne supportent pas correctement la propriété <acronym title="Cascading Style Sheet">CSS</acronym> <strong><a href="http://www.w3.org/TR/CSS21/tables.html#value-def-table-cell" title="définition du display:table" hreflang="en"><code>display:table-cell</code></a></strong>.</p>

<p>En effet, le seul moyen correct de centrer verticalement un élément est de faire en sorte que l'élément parent se comporte comme une <a href="http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align" title="définition du vertical-align" hreflang="en">cellule de tableau</a> (d'où des <a href="http://giveupandusetables.com/" hreflang="en" title="Dois-je renoncer et employer des tableaux?">réactions folkloriques</a>). </p>

<p>Le <code>display:table-cell</code> a été introduit dans <a href="http://msdn.microsoft.com/en-us/library/ms530751.aspx" title="Propriétés CSS rajoutées dans IE8" hreflang="en">Internet Explorer 8</a>. Avant ça, toutes les solutions avaient leurs revers&nbsp;: <strong><code>line-height</code></strong> qui ne permet pas d'avoir des espacements de lignes correct, hauteur des éléments impérativement fixe, <strong>hacks CSS</strong> mystérieux (dont on ne connaîtra pas le comportement dans les futurs navigateurs).</p>

<p>Bref, rien qui ne me satisfait pleinement.</p>


<h3>CSS vertical-align:middle;</h3>

<p>Dans Firefox 2 (pc), Firefox 3 (pc/mac), Chrome 1.0.154, Safari (4 pc, 3.2.1 mac), Opera 9.64 (pc/mac), Camino, Shira, IE8, le code suivant est bien rendu.</p>

<p style="text-align:center;"><a href="http://noscript.be/demo/vertical-align-middle/IE6-fix.htm"><img src="http://static.gatellier.be/i/090426/vertical-align-middle.png" alt="texte centré verticalement correctement avec vertical-align:middle dans les browsers CSS" /></a></p>

<h4>Le code <acronym title="HyperText Markup Language">HTML</acronym></h4>
<pre class="brush: html;">
&lt;div class=&quot;v&quot;&gt;
	&lt;div&gt;Ce texte devrait être centré verticalement&lt;/div&gt;
&lt;/div&gt;
</pre>

<h4>Le code <acronym title="HyperText Markup Language">CSS</acronym></h4>
<pre class="brush: css;">
&lt;style type=&quot;text/css&quot;&gt;
.v {
	display:table-cell;
	vertical-align:middle;
	/*les 3 lignes suivantes ne sont pas nécessaires*/
	background:#900;
	height:250px;
	width:150px;
}
.v div {
	/*non nécessaire, juste de la décoration pour mieux visualiser*/
	background:#090;
}
&lt;/style&gt;
</pre>

<p>Par contre dans IE 6 et 7, l'alignement vertical n'est pas pris en compte et la boîte de texte reste en haut de la boîte bleue.</p>

<p style="text-align:center;"><a href="http://noscript.be/demo/vertical-align-middle/IE6-fail.htm"><img src="http://static.gatellier.be/i/090426/vertical-align-middle-IE6.png" alt="texte centré verticalement incorrectement dans IE6" /></a></p>

<h3>Expressions CSS à la rescousse</h3>

<p><a href="/blog/css-pseudo-classes-internet-explorer/" title="CSS: Pseudo classes sur Internet Explorer">Encore une fois</a>, les <strong>expressions CSS d'Internet Explorer</strong> &ndash; qui, je sais, ne sont pas recommandées pour des raisons de performances et qui ont été supprimées d'IE8 &ndash; peuvent nous être bien utiles.</p>

<h4>Code</h4>

<pre class="brush: css;">
&lt;!--[if lt IE 8]&gt;
&lt;style type=&quot;text/css&quot;&gt;
.v {
	position:relative;
	width:expression(this.childNodes[0].offsetWidth+&quot;px&quot;);
}
.v div {
	position:absolute;
	top:50%;
	margin-top:expression(-this.offsetHeight/2);
}
&lt;/style&gt;
&lt;![endif]--&gt;
</pre>

<p>Le contenu sera positionné en absolu, à cinquante pourcent du top, par rapport à son conteneur. Il aura aussi une <strong>marge négative de la moitié de sa hauteur</strong>.</p>
<p>Comme, le contenu est placé en absolu, il sort du flux de la page. Sa largeur est donc reportée sur le conteneur.</p>

<h3>Remarques et limitations&nbsp;:</h3>
<ul>
	<li>voir la <strong><a href="http://noscript.be/demo/vertical-align-middle/IE6-fix.htm">démo</a></strong></li>
	<li>Les commentaires conditionnels sont employés pour cibler les version d'Internet Explorer inférieures à 8.</li>
	<li>Les expressions css ne sont pas exécutées si le navigateur à le JavaScript désactivé.</li>
	<li>Les impacts de preformance sont à tenir en compte&nbsp;: les expressions CSS sont recalculées à chaque changement de propriétés CSS dans la page (redimensionnement du navigateur etc,...)</li>
	<li>Le comportement d'un élément en <code>display:table-cell</code> est différent de celui d'un <code>display:block</code>. S'il doit prendre la largeur d'un conteneur, il faudra spécifier celle-ci.</li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/ie-vertical-align-middle/">Permalink</a> |
<a href="http://www.gatellier.be/blog/ie-vertical-align-middle/#comments">6 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/ie-vertical-align-middle/&title=CSS: vertical-align:middle pour Internet Explorer 6 et 7">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/bugfix/" rel="tag">bugfix</a>, <a href="http://www.gatellier.be/blog/tag/expression/" rel="tag">expression</a>, <a href="http://www.gatellier.be/blog/tag/fix/" rel="tag">fix</a>, <a href="http://www.gatellier.be/blog/tag/vertical-align/" rel="tag">vertical-align</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/ie-vertical-align-middle/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IE: supprimer les alertes de sécurité en mode https</title>
		<link>http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/</link>
		<comments>http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 16:04:35 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Débogage]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webstandards]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[scheme]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[warning]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=265</guid>
		<description><![CDATA[Internet Explorer, dans toutes ses versions, affiche une alerte de sécurité lorsque l'on visite une page, servie via le protocole de sécurité https, si celle-ci contient des ressources servies via le protocole http. Voici comment les supprimer une fois pour toute.]]></description>
			<content:encoded><![CDATA[<p>Internet Explorer, dans toutes ses versions, affiche une <strong>alerte de sécurité</strong> lorsque l'on visite une page, servie via le <strong>protocole de sécurité <acronym title="Hypertext Transfer Protocol Secure">https</acronym></strong>, si celle-ci contient des ressources servies via le protocole <acronym title="Hypertext Transfer Protocol">http</acronym>.</p>

<h3>Alerte de sécurité sur <acronym title="Microsoft Internet Explorer">IE</acronym> &lt; 8.</h3>

<p><a href="https://noscript.be/demo/https-mixed-content-warning/"><img src="http://static.gatellier.be/i/090215/IE7-security-warning.png" width="332" height="150" alt="Capture d'écran IE7: Security Information, This page contains both secure and unsecure items. Do you want to display the nonsecure items?" /></a></p>
<dl>
	<dt><strong>Security Information</strong></dt>
	<dd>
		<p>This page contains both secure and unsecure items.</p>
		<p>Do you want to display the nonsecure items?</p>
		<p>[<em>Yes</em>] [No] [More Info]</p>
	</dd>
</dl>

<p>Ou en français&nbsp;:</p>

<dl>
	<dt><strong>Information sur la sécurité</strong></dt>
	<dd>
		<p>Cette page contient des éléments sécurisés et non sécurisés.</p>
		<p>Souhaitez-vous afficher les éléments non sécurisés&nbsp;?</p>
		<p>[<em>Oui</em>] [Non] [Plus d'infos]</p>
	</dd>
</dl>

<h3>Alerte de sécurité sur IE8b2.</h3>
<p>A l'heure actuelle, la version finale d'IE8 n'est pas encore sortie. J'ai donc fait des tests sur la version bêta 2.</p>
<p><a href="https://noscript.be/demo/https-mixed-content-warning/"><img src="http://static.gatellier.be/i/090215/IE8-security-warning.png" width="456" height="162" alt="Capture d'écran IE8b2: Security Warning, Do you want to view only the webpage content that was delivered securely?" /></a></p>
<dl>
	<dt><strong>Security Warning</strong></dt>
	<dd>
		<p><strong>Do you want to view only the webpage content that was delivered securely?</strong></p>
		<p>This webpage contains content that will not be delivered usin a secure HTTPS connection, which could compromise the security of the entire webpage.</p>
		<p>[More Info] [<em>Yes</em>] [No]</p>
	</dd>
</dl>
<p>Notez la tournure de la phrase qui est completement l'inverse du message de sécurité des versions précédantes...</p>

<h3>Examples d'alerte de sécurité.</h3>
<h4>Démonstration.</h4>
<p>J'ai mis en place une <a href="https://noscript.be/demo/https-mixed-content-warning/"><strong>page démontrant cette popup de sécurité</strong></a>. Je sais que le certificat n'est pas valable pour le domain, d'où la première alerte.</p>
<p>Cette page est servie via le protocole sécurisé https et contient un lien vers une image servie via http.</p>
<p>Sur Internet Explorer, vous devriez avoir le message d'alerte ci-dessus.</p>

<h4>Code.</h4>

<pre class="brush: html;">
&lt;div&gt;
&lt;img src=&quot;http://noscript.be/demo/https-mixed-content-warning/404.jpg&quot; alt=&quot;Un chat dans un pc démonté&quot; title=&quot;src: http://www.catswhocode.com/blog/404&quot; /&gt;
&lt;/div&gt;
</pre>


<h3>Supprimer l'alerte de sécurité une fois pour toute.</h3>
<p>Il y a plusieurs solutions pour cela. Dont une consiste à <a href="http://ask-leo.com/can_i_get_rid_of_the_this_page_contains_both_secure_and_nonsecure_items_warning.html" hreflang="en">changer les paramètres d'IE</a>.</p>
<p>Je me vois mal conseiller à mes clients de changer leurs paramètres.</p>
<p>La seule solution est d'employer correctement le <a href="http://tools.ietf.org/html/rfc1738#page-5" lang="en" hreflang="en">Common Internet Scheme Syntax</a>, en <strong>supprimant le protocole</strong>.</p>


<h4>Démonstration.</h4>
<p>Dans cet exemple, le <a href="https://noscript.be/demo/https-mixed-content-warning/fix.htm"><strong>protocole https du lien vers l'image à simplement été supprimé</strong></a>.</p>
<p>Le message de sécurité n'apparaît plus.</p>

<h4>Code.</h4>

<pre class="brush: html;">
&lt;div&gt;
&lt;img src=&quot;//noscript.be/demo/https-mixed-content-warning/404.jpg&quot; alt=&quot;Un chat dans un pc démonté&quot; title=&quot;src: http://www.catswhocode.com/blog/404&quot; /&gt;
&lt;/div&gt;
</pre>


<p>Notez que la même technique est d'application pour les fichiers <code>.swf</code> que vous pourriez avoir dans vos pages sécurisées.</p>

<pre class="brush: html;">
&lt;OBJECT classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;
codebase=&quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot;
WIDTH=&quot;550&quot; HEIGHT=&quot;400&quot; id=&quot;myMovieName&quot;&gt;
&lt;PARAM NAME=movie VALUE=&quot;myFlashMovie.swf&quot;&gt;
&lt;PARAM NAME=quality VALUE=high&gt;
&lt;PARAM NAME=bgcolor VALUE=#FFFFFF&gt;
&lt;EMBED src=&quot;/support/flash/ts/documents/myFlashMovie.swf&quot;quality=high bgcolor=#FFFFFF WIDTH=&quot;550&quot; HEIGHT=&quot;400&quot;
NAME=&quot;myMovieName&quot; ALIGN=&quot;&quot; TYPE=&quot;application/x-shockwave-flash&quot;
PLUGINSPAGE=&quot;http://www.macromedia.com/go/getflashplayer&quot;&gt;
&lt;/EMBED&gt;
&lt;/OBJECT&gt;
</pre>


<p><small>code vu sur la <a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_4150" hreflang="en">base de connaissance Macromedia</a></small></p>
<p>J'ai enlevé le protocole http de l'attribut <code>codebase</code> du tag <code>object</code>.</p>
<p>Maintenant, ceux qui utilisent encore Internet Explorer (et qui devraient vraiment <a href="http://getfirefox.com/">essayer</a> <a href="http://www.apple.com/safari/">un</a> <a href="http://www.opera.com/">meilleur</a> <a href="http://www.google.com/chrome/">browser</a>) n'ont plus de raisons de se plaindre de ces messages d'alerte&nbsp;!</p>


<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/">Permalink</a> |
<a href="http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/&title=IE: supprimer les alertes de sécurité en mode https">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/https/" rel="tag">https</a>, <a href="http://www.gatellier.be/blog/tag/ie/" rel="tag">IE</a>, <a href="http://www.gatellier.be/blog/tag/scheme/" rel="tag">scheme</a>, <a href="http://www.gatellier.be/blog/tag/security/" rel="tag">security</a>, <a href="http://www.gatellier.be/blog/tag/url/" rel="tag">url</a>, <a href="http://www.gatellier.be/blog/tag/warning/" rel="tag">warning</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/ie-https-supprimer-alertes-de-securite-en-mode-https/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaScript : Récupérer l&#8217;id d&#8217;une vidéo YouTube</title>
		<link>http://www.gatellier.be/blog/js-recuperer-id-youtube/</link>
		<comments>http://www.gatellier.be/blog/js-recuperer-id-youtube/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:18:40 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=263</guid>
		<description><![CDATA[Un bout de JavaScript pour retrouver l'id d'une vidéo YouTube.]]></description>
			<content:encoded><![CDATA[<p>Un de mes collègue m'a demandé un petit script pour retrouver l'<strong>id d'une Vidéo de YouTube</strong>.</p>
<p>Un namespace, une petite expression régulières et on obtient ceci&nbsp;:</p>
<pre class="brush: javascript;">
var YT=(function(){
	return {
		getId:function(u){
			var a=u.match(/(\/vi\/|v=)([^&amp;amp;]+)/);
			return (a&amp;amp;&amp;amp;a[a.length-1]);
		}
	};
})();
prompt(&quot;VideoId&quot;,YT.getId(&quot;http://www.youtube.com/watch?v=_TiQCJXpbKg&amp;amp;fmt=6&quot;));</pre>

<p>Cette version ne se base pas sur la <a href="http://www.abovetopsecret.com/forum/thread270269/pg1" rel="nofollow">longueur de l'id</a> vu que les id's sont susceptibles de changer...</p>
<p>Si &ccedil;a peut servir à quelqu'un d'autre...</p>

<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/js-recuperer-id-youtube/">Permalink</a> |
<a href="http://www.gatellier.be/blog/js-recuperer-id-youtube/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/js-recuperer-id-youtube/&title=JavaScript : Récupérer l&#8217;id d&#8217;une vidéo YouTube">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/javascript/" rel="tag">javascript</a>, <a href="http://www.gatellier.be/blog/tag/regexp/" rel="tag">regexp</a>, <a href="http://www.gatellier.be/blog/tag/snippet/" rel="tag">Snippet</a>, <a href="http://www.gatellier.be/blog/tag/youtube/" rel="tag">YouTube</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/js-recuperer-id-youtube/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Geotagging Bookmarklet</title>
		<link>http://www.gatellier.be/blog/geotagging-bookmarklet/</link>
		<comments>http://www.gatellier.be/blog/geotagging-bookmarklet/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 13:53:11 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Addons]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[geotagging]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[utilitaire]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[geode]]></category>
		<category><![CDATA[geolocalisation]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[google api]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=249</guid>
		<description><![CDATA[Via les spécifications disponibles et méthodes les plus faciles, je viens donc d'écrire un bookmarklet qui rajoute votre position géographique dans n'importe quel page web.]]></description>
			<content:encoded><![CDATA[<p>ou I CAN HAZ GEOTAGZ?</p>

<h2>Status actuel de la géolocalisation&nbsp;:</h2>

<ul>
	<li>Le <a href="http://www.w3.org/2008/geolocation/" hreflang="en">Groupe de Travail du W3C sur la géolocalisation</a> est en place depuis peu, avec pour but de mettre sur pied des recommandations pour la fin de l'année.</li>
	<li><a href="https://developer.mozilla.org/En/Using_geolocation" hreflang="en">Firefox 3.1 promet</a> l'implémentation d'une <abbr title="Application Programming Interface" lang="en">API</abbr> de géolocalisation (pas encore de tests concluants sur la v3.1b2).</li>
	<li>Une série de providers (tels <a href="http://dev3.maxmind.com/app/javascript_city" hreflang="en" lang="en">MaxMind</a>) fournissent des services de conversion d'adresse <abbr title="Internet Protocol">ip</abbr> vers un pays ou une adresse</li>
	<li>L'<a href="http://loki.com/download" hreflang="en">extension Firefox Loki</a> permet une localisation précise sur base de la triangulation des signaux des routeurs wifi alentours.</li>
	<li>L'<a href="http://labs.mozilla.com/2008/10/introducing-geode/" hreflang="en">extension Firefox Geode</a> promet d'employer les futures spécifications (<code>navigator.geolocation.getCurrentPosition()</code>)</li>
	<li>Google Gears a aussi une <a href="http://code.google.com/apis/gears/api_geolocation.html" hreflang="en">API de géolocalisation</a></li>
	<li><a href="http://code.google.com/apis/ajax/documentation/#ClientLocation" hreflang="en">Google JSAPI</a> (qui permet d'ajouter dans vos sites les librairies JavaScript les plus employées) a des méthodes pour retrouver la position du visiteur.</li>
	<li><a href="http://blog.brightkite.com/2008/05/02/new-features-georss-around-me-radius-nearby-notifications-and-more/" hreflang="en">BrightKite permet de Twitter et géotagguer</a> directement les photos prises avec son iPhone</li>
</ul>

<h2>Geotag bookmarklet</h2>

<p>Via les spécifications disponibles et méthodes les plus faciles, je viens donc d'écrire un bookmarklet qui rajoute votre position géographique dans n'importe quel page web.</p>

<p><strong><a style="padding:5px;border:1px solid #4960A3" href='javascript:var%20GT%3D%28function%28%29%7Bvar%20c%3D4%2Cb%3D%22undefined%22%2Cf%3Ddocument%3Bvar%20e%3Dfunction%28h%2Cg%29%7Bvar%20d%3DMath.pow%2810%2Cg%29%3Breturn%20Math.round%28h*d%29/d%7D%3Bvar%20a%3Dfunction%28g%29%7Bvar%20d%3Df.getElementsByTagName%28%22textarea%22%29%5B0%5D%3Bif%28d.value.indexOf%28%22%23geo%22%29%3C0%29%7Bd.value+%3D%22%23geo%3A%22+e%28g.latitude%2Cc%29+%22%2C%22+e%28g.longitude%2Cc%29%7D%7D%3Bthis.getLocation%3Dfunction%28%29%7Bvar%20d%3Dgoogle.loader.ClientLocation%3Bif%28d%21%3D%3Dnull%29%7Ba%28d%29%7D%7D%3Bthis.tag%3Dfunction%28%29%7Bif%28typeof%28navigator.geolocation%29%21%3Db%29%7Bnavigator.geolocation.getCurrentPosition%28function%28g%29%7Ba%28g%29%7D%29%7Delse%7Bif%28typeof%28google%29%3D%3Db%29%7Bvar%20d%3Ddocument.createElement%28%22script%22%29%3Bd.src%3D%22http%3A//www.google.com/jsapi%3Fcallback%3DGT.getLocation%22%3Bf.getElementsByTagName%28%22body%22%29%5B0%5D.appendChild%28d%29%7D%7D%7D%3Breturn%7Btag%3Atag%2CgetLocation%3AgetLocation%7D%7D%29%28%29%3BGT.tag%28%29%3B'>GeoTag Bookmarket</a></strong></p>

<p>Pour l'installer, il suffit de glisser déposer le lien ci-dessus dans votre barre de favoris.</p>
<p>En cliquant dessus, le bookmarket rajoutera votre position (s'il la trouve) au premier champ <code>textarea</code> de la page que vous visitez. Parfait pour Twitter.com</p>

<h2>Le script de mon Geotag bookmarklet</h2>

<pre class="brush: javascript;">
var GT=(function(){
	var P=4,u=&quot;undefined&quot;,d=document;
	var format=function(n,c){
		var m=Math.pow(10,c);
		return Math.round(n*m)/m;
	};
	var addMarker=function (p){
		var t=d.getElementsByTagName(&quot;textarea&quot;)[0];
		if(t.value.indexOf(&quot;#geo&quot;)&lt;0){t.value+=&quot;#geo:&quot;+format(p.latitude,P)+&quot;,&quot;+format(p.longitude,P);}
	};
	this.getLocation=function(){
		var p=google.loader.ClientLocation;
		if (p!==null){addMarker(p);}
	};
	this.tag=function(){
		if(typeof(navigator.geolocation)!=u){
			//https://developer.mozilla.org/En/Using_geolocation || geode
			navigator.geolocation.getCurrentPosition(function(p){addMarker(p);});
		} else {
			//http://code.google.com/apis/ajax/documentation/#ClientLocation
			if (typeof(google)==u){
				var jsapi=document.createElement(&quot;script&quot;);
				jsapi.src=&quot;http://www.google.com/jsapi?callback=GT.getLocation&quot;;
				d.getElementsByTagName(&quot;body&quot;)[0].appendChild(jsapi);
			}
		}
	};
	return {tag:tag,getLocation:getLocation};
})();
GT.tag();
</pre>

<p>Mon script vérifie si l'objet <code>navigator.geolocation</code> existe (donc, si c'est FF3.1b2 ou si Firefox a l'addon Geode installé), sinon, il utilisera les méthodes fournies par le <a href="http://code.google.com/apis/ajax/documentation/#ClientLocation" hreflang="en">JSAPI de Google</a>.</p>

<h3>Bugs connus&nbsp;:</h3>

<ul>
	<li>Si vous passez par un server proxi pour vous connecter à internet ou si simplement les services de géolocalisation ne reconnaissent pas, aucun tag ne sera affiché.</li>
	<li>Internet Explorer 6 ne supporte pas les longs bookmarklets, je vous recommande donc d'installer un autre navigateur.</li>
	<li>La géolocalisation avec Firefox 3.1 beta 2 ne marche pas encore super bien.</li>
	<li>Je limite la précision à quatre décimales.</li>
	<li>J'emploie le système de géotagging employé BrightKite (par soucis de brièveté pour le status Twitter <code>#geo:&lt;lat&gt;,&lt;long&gt;</code>) et pas <a href="http://en.wikipedia.org/wiki/Geotagging#Geotagging_in_tag-based_systems" hreflang="en">celui recommandé par Flickr</a> (<code>geo:lat=&lt;lat&gt;,geo:lon=&lt;long&gt;</code>)</li>
</ul>

<h3>Liens relatifs&nbsp;:</h3>

<ul>
	<li>Le <a href="http://almaer.com/whereareyou/" hreflang="en">script de Dion Almaer</a> qui emploie aussi Google Gears (via <a href="http://ajaxian.com/archives/firefox-31-beta-geolocation-font-face-video-and-audio-xhr-and-tracemonkey" hreflang="en">Ajaxians</a>)</li>
	<li><a href="http://www.wired.com/software/webservices/news/2008/12/YE8_web?currentPage=2" lang="en">6 technologies de 2008 que vous devez utiliser maintenant</a> (dont la géolocalisation) sur Wired</li>
	<li>Exemple de <a href="http://twitter.com/ryanstewart/status/1055867917" hreflang="en">Tweet géotaggué</a> via BrightKite</li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2009. |
<a href="http://www.gatellier.be/blog/geotagging-bookmarklet/">Permalink</a> |
<a href="http://www.gatellier.be/blog/geotagging-bookmarklet/#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/geotagging-bookmarklet/&title=Geotagging Bookmarklet">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/firefox/" rel="tag">Firefox</a>, <a href="http://www.gatellier.be/blog/tag/gears/" rel="tag">gears</a>, <a href="http://www.gatellier.be/blog/tag/geode/" rel="tag">geode</a>, <a href="http://www.gatellier.be/blog/tag/geolocalisation/" rel="tag">geolocalisation</a>, <a href="http://www.gatellier.be/blog/tag/geolocation/" rel="tag">geolocation</a>, <a href="http://www.gatellier.be/blog/tag/geotagging/" rel="tag">geotagging</a>, <a href="http://www.gatellier.be/blog/tag/google-api/" rel="tag">google api</a>, <a href="http://www.gatellier.be/blog/tag/twitter/" rel="tag">Twitter</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/geotagging-bookmarklet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Status 503 pour vos sites en maintenance</title>
		<link>http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/</link>
		<comments>http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 20:43:09 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[application.cfc]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[mise à jour]]></category>
		<category><![CDATA[mise en production]]></category>
		<category><![CDATA[web serveur]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/</guid>
		<description><![CDATA[Google recommande l'usage du status 503 lors de vos maintenances. Explications pour apache et .htaccess avec modrewrite, Coldfusion et application.cfc avec onRequestStart.]]></description>
			<content:encoded><![CDATA[<p>Lorsque vous faites des mises à jour importantes sur votre site, il est judicieux de mettre celui-ci en mode "<strong>maintenance</strong>".</p>

<p>En effet, vos visiteurs peuvent être perturbés par les erreurs éventuelles de design et de code. De même, les moteurs de recherche peuvent indexer votre site pendant les opérations de mise à jour.</p>
<p>Bref, imaginez les effets néfastes d'une telle opération...</p>



<h3>Les recommandations Google&nbsp;: le <strong>status 503</strong> (service non disponible)</h3>

<p>De plus <a href="http://googlewebmastercentral.blogspot.com/2006/08/all-about-googlebot.html" hreflang="en" title="Official Google Webmaster Central Blog: All About Googlebot">Google recommande</a> de renvoyer une erreur 503:</p>

<blockquote cite="http://googlewebmastercentral.blogspot.com/2006/08/all-about-googlebot.html" lang="en">
<dl>
	<dt>If my site is down for maintenance, how can I tell Googlebot to come back later rather than to index the "down for maintenance" page?</dt>
	<dd>You should configure your server to return a <strong>status of 503 (network unavailable)</strong> rather than 200 (successful). That lets Googlebot know to try the pages again later.</dd>
</dl>
</blockquote>

<p>Ce qui se traduit en gros par&nbsp;:</p>

<blockquote>
<dl>
	<dt>Si mon site est en mode de maintenance, comment puis-je indiquer à Google revenir plus tard au lieu d'indexer une page "Site en maintenance"?</dt>
	<dd>Vous devriez configurer votre serveur pour qu'il renvoie un <strong>status 503 (réseau indisponible)</strong> plutôt qu'un status 200 (requête satisfaite). Ceci fait comprendre à Googlebot qu'il doit retester ces pages plus tard.</dd>
</dl>
</blockquote>

<p>Maintenant qu'on sait ce qu'il faut faire, voici comment le faire&nbsp;:</p>
(...)<br/>Read the rest of <a href="http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/">Status 503 pour vos sites en maintenance</a> (387 words)</p>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2008. |
<a href="http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/">Permalink</a> |
<a href="http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/&title=Status 503 pour vos sites en maintenance">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gatellier.be/blog/tag/htaccess/" rel="tag">.htaccess</a>, <a href="http://www.gatellier.be/blog/tag/applicationcfc/" rel="tag">application.cfc</a>, <a href="http://www.gatellier.be/blog/tag/bonnes-pratiques/" rel="tag">Bonnes pratiques</a>, <a href="http://www.gatellier.be/blog/tag/coldfusion/" rel="tag">coldfusion</a>, <a href="http://www.gatellier.be/blog/tag/iis/" rel="tag">iis</a>, <a href="http://www.gatellier.be/blog/tag/maintenance/" rel="tag">maintenance</a>, <a href="http://www.gatellier.be/blog/tag/mise-a-jour/" rel="tag">mise à jour</a>, <a href="http://www.gatellier.be/blog/tag/mise-en-production/" rel="tag">mise en production</a>, <a href="http://www.gatellier.be/blog/tag/web-serveur/" rel="tag">web serveur</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/bonnes-pratiques-status-503-maintenance/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS: Pseudo classes sur Internet Explorer</title>
		<link>http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/</link>
		<comments>http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 15:42:12 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[productivité]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=176</guid>
		<description><![CDATA[Grâce aux expressions CSS d'Internet Explorer, il y a moyen de simuler les pseudo-classes qui ne sont pas supportées par IE6. Les expressions CSS d'Internet Explorer En effet, les expressions CSS (apparues avec IE5) permettent de calculer dynamiquement (via JScript) les différentes propriétés stylistiques. On attribue une valeur calculée par JScript à une propriété CSS [...]]]></description>
			<content:encoded><![CDATA[<p>Grâce aux <strong><a href="http://msdn.microsoft.com/workshop/author/dhtml/overview/recalc.asp" hreflang="en">expressions <acronym title="Cascading Style Sheet">CSS</acronym> d'Internet Explorer</a></strong>, il y a moyen de <strong>simuler les pseudo-classes</strong> qui ne sont pas supportées par IE6.</p>

<h3>Les expressions CSS d'Internet Explorer</h3>

<p>En effet, les expressions CSS (apparues avec IE5) permettent de calculer <strong>dynamiquement</strong> (via JScript) les différentes propriétés stylistiques.</p>

<p>On attribue une valeur calculée par JScript à une propriété CSS d'un élément html. Les différents objets du <acronym title="Document Object Model">DOM</acronym> sont supportés</p>

<pre class="brush: css;">
#centeredDiv {
	position:absolute;
	left:
		expression(
			(document.body.clientWidth/2)-
			(this.offsetWidth/2)
		);
	top:
		expression(
			(document.body.clientHeight/2)-
			(this.offsetWidth/2)
		);
}
</pre>


<p>Sur Internet Explorer, cet exemple positionnerait l'élément ayant un id <code>centeredDiv</code> au centre de la page en le positionnant à la différence de la moitié hauteur de la page (<code>document.body.clientHeight/2</code>) et de la moitié de sa hauteur (<code>this.offsetWidth/2</code>). Notez que <code><strong>this</strong></code> représente l'objet en lui-même.</p>

(...)<br/>Read the rest of <a href="http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/">CSS: Pseudo classes sur Internet Explorer</a> (566 words)</p>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2007. |
<a href="http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/">Permalink</a> |
<a href="http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/#comments">14 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/&title=CSS: Pseudo classes sur Internet Explorer">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/css-pseudo-classes-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Utilisabilité et flash : menus contextuels (m.à.j.)</title>
		<link>http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/</link>
		<comments>http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 16:49:39 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[emakina]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=161</guid>
		<description><![CDATA[Ceci est une mise à jour de mon article sur les liens utilisables dans flash à l'aide de menus contextuels. Un développeur flash d'Emakina a remanié mon script, avec une classe ActionScript 2, pour faciliter l'intégration des menus contextuels sur les liens dans les animations flash. Voici l'exemple : Exemple de menu contextuel sur les [...]]]></description>
			<content:encoded><![CDATA[<p>Ceci est une mise à jour de mon article sur les <a href="/blog/utilisabilite-flash-menus-contextuels/">liens utilisables dans flash à l'aide de menus contextuels</a>.</p>
<p>Un <a href="http://www.sakanadesign.com/blog/">développeur flash</a> d'<a href="http://www.emakina.com/" hreflang="en">Emakina</a> a remanié mon script, avec une <strong>classe ActionScript 2</strong>, pour faciliter l'intégration des <strong>menus contextuels</strong> sur les liens dans les animations flash.</p>
<p>Voici l'exemple :</p>
<div id="flashcontent-v02" style="text-align:center">Exemple de menu contextuel sur les liens en flash avec une classe ActionScript 2</div>
<p><script type="text/javascript">
//<![CDATA[
addEvent(window,"load",function(){
	var so = new SWFObject("/blog/posts/2007/01/flash-context-menu-v02/flash-context-menu-v02.swf", "mymovie", "220", "180", "7", "#cccccc");
	so.addParam("allowScriptAccess", "sameDomain");
	so.write("flashcontent-v02");
});
//]]&gt;
</script></p>
<p>Exemple qui, si vous cliquez avec le bouton droit de la souris sur l'un des trois derniers boutons, devrait donner ceci.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=flash_context_menu_v02.png"><img src="/blog/wp-content/photos/flash_context_menu_v02.png" alt="Menu contextuel sur les liens dans flash via une classe ActionScript 2" title="Menu contextuel sur les liens dans flash via une classe ActionScript 2" /></a></p>
<h3>Utilisation :</h3>
<p>Cette fois-ci, c'est encore plus simple :</p>
<p>Vous <strong>importez</strong> un fichier actionscript dans votre fichier <code>.fla</code> et, lorsque vous avez un lien, au lieu d'appeler la fonction <code>.getURL()</code>, vous employez la classe <strong><code>new addContextMenuLink()</code></strong> avec deux paramètres.</p>
<ol>
<li>le nom de l'instance d'un movieclip ou d'un bouton,</li>
<li>l'<acronym title="Uniform Resource Locator" xml:lang="en" lang="en">url</acronym> qui sera appelée lors du clic du lien.</li>
</ol>
<h3>Exemple :</h3>
<p>Voici le code source de l'exemple ci-dessus :</p>
<pre class="brush: javascript;">
import addContextMenuLink.as;
new addContextMenuLink(advancedButton,&quot;http://www.google.be&quot;);
new addContextMenuLink(advancedButton2,&quot;http://www.gatellier.be/blog/&quot;);
new addContextMenuLink(advancedButton3,&quot;http://blog.sakanadesign.com&quot;);
</pre>
<p>Les trois boutons derniers boutons de l'animation ont été nommés respectivement <code>advancedButton</code>, <code>advancedButton2</code> et <code>advancedButton3</code>. Chacun de ces trois boutons aura la série de liens contextuels pour ouvrir les <acronym title="Uniform Resource Locator" xml:lang="en" lang="en">url</acronym> vers laquelle ils pointent, dans la même fenêtre, dans une nouvelle fenêtre et pour copier cette <acronym title="Uniform Resource Locator" xml:lang="en" lang="en">url</acronym> dans votre <span xml:lang="en" lang="en" title="Presse-papiers en français">clipboard</span>.</p>
<h4>Liens relatifs :</h4>
<ul>
<li><strong><a href="/blog/posts/2007/01/flash-context-menu-v02/flash-context-menu-v02.zip" type="application/x-zip-compressed">Téléchargez les fichiers source</a></strong> de cet article.</li>
<li>Le <a href="http://www.sakanadesign.com/blog/">blog de Sakanadesign</a> qui a écrit la classe actionscript.</li>
</ul>
<p>Si vous avez des remarques ou des améliorations à apporter, n'hésitez pas à m'en faire part au travers des commentaires.</p>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2007. |
<a href="http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/">Permalink</a> |
<a href="http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/&title=Utilisabilité et flash : menus contextuels (m.à.j.)">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/utilisabilite-et-flash-menus-contextuels-maj/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Utilisabilité et flash : menus contextuels</title>
		<link>http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/</link>
		<comments>http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 16:01:37 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=160</guid>
		<description><![CDATA[Une version plus récente de cet article (avec l'emploi de classe ActionScript 2) est désormais disponible.date d'édition : 20/01/2007 Voici une animation flash que je viens de créer : elle contient tout simplement deux boutons. // Ces deux boutons font apparemment la même chose. Cliquez maintenant les deux boutons avec le bouton droit de votre [...]]]></description>
			<content:encoded><![CDATA[<p><em>Une <a href="/blog/utilisabilite-et-flash-menus-contextuels-maj/" title="Utilisabilité et flash: les menus contextuels sur les liens en actionscript">version plus récente de cet article</a> (avec l'emploi de classe ActionScript 2) est désormais disponible.</em><br /><small>date d'édition : 20/01/2007</small></p>
<p>Voici une animation flash que je viens de créer : elle contient tout simplement deux boutons.</p>
<div id="flashcontent" style="text-align:center"></div>
<p><script type="text/javascript">
//<![CDATA[
addEvent(window,"load",function(){
	var so = new SWFObject("/blog/posts/2007/01/flash-context-menu/flash-context-menu.swf", "mymovie", "220", "100", "7", "#cccccc");
	so.addParam("allowScriptAccess", "sameDomain");
	so.write("flashcontent");
});
//]]&gt;
</script></p>
<p>Ces deux boutons font apparemment la même chose.</p>
<p>Cliquez maintenant les deux boutons avec le bouton droit de votre souris (touche control et clic pour ceux qui n'ont qu'un bouton à leur souris.)</p>
<p>Un clic droit sur le second bouton devrait donner quelque chose comme ceci :</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=flash_context_menu.png"><img src="/blog/wp-content/photos/flash_context_menu.png" alt="Capture d'écran d'un menu contextuel d'un fichier flash permettant d'ouvrir les liens dans une nouvelle fenêtre ou copier l'url du lien" title="Capture d'écran d'un menu contextuel d'un fichier flash permettant d'ouvrir les liens dans une nouvelle fenêtre ou copier l'url du lien" /></a></p>
<p>Un <strong>menu contextuel</strong> permettant soit d'ouvrir le lien dans la <strong>même page</strong>, soit de l'ouvrir dans une <strong>nouvelle fenêtre</strong>, soit de <strong>copier le lien</strong> dans le <span xml:lang="en" lang="en" title="Presse-papiers en français">clipboard</span>.</p>
<p>Enfin un fichier flash mieux utilisable !</p>
<h3>Le code ActionScript :</h3>
<p>J'ai créé un fichier flash <a href="/blog/posts/2007/01/flash-context-menu/flash-context-menu.zip" type="application/x-zip-compressed">à votre disposition</a> (.zip - 6KB) contenant deux boutons (que j'ai nommés <code>simpleButton</code> pour le premier bouton et <code>advancedButton</code> pour le second) dans lequel j'ai écrit le code suivant :</p>

<pre class="brush: javascript;">
var url=&quot;http://www.gatellier.be/blog/&quot;;
//creation des éléments d'un menu contextuel
var usableContextMenu=new ContextMenu();
//les valeurs par défaut sont cachées
usableContextMenu.hideBuiltInItems();
usableContextMenu.customItems.push(
	//rajout d'un élément menu
	new ContextMenuItem(
		//définition du label du menu
		&quot;&amp;Open Link&quot;,
		//définition de la fonction qui sera exécutée
		function(){
			getURL(url,&quot;_self&quot;);
		}
	)
);
usableContextMenu.customItems.push(
	new ContextMenuItem(
		&quot;Open Link in New &amp;Window&quot;,
		function(){
			getURL(url,&quot;_blank&quot;);
		}
	)
);
usableContextMenu.customItems.push(
	new ContextMenuItem(
		&quot;&amp;Copy Link to Clipboard&quot;,
		function(){
			System.setClipboard(url);
		}
	)
);
//association du contexte menu à mon bouton
advancedButton.menu=usableContextMenu;
</pre>
<h3>Explications :</h3>
<p>aUR la ligne 3, je crée une instance d'un objet <code>ContextMenu</code>, je la nomme <strong><code>usableContextMenu</code></strong>.</p>
<p>La ligne 5 me sert à cacher les éléments par défaut d'un menu contextuel d'une animation flash.</p>
<p>Les lignes 8, 17 et 25 ajoutent un élément menu contextuel à mon menu. Chacun des ces éléments est défini en tant que <strong><code>ContextMenuItem</code></strong> avec un label, et une action.</p>
<p>Pour les trois liens, je reprends la variable définie ligne 1 : <code>url</code>. Mais chaque fois de manière différente :</p>
<ol>
<li>Ligne 13 : pour ouvrir le lien dans la même fenêtre.</li>
<li>Ligne 21 : pour ouvrir le lien dans une nouvelle fenêtre.</li>
<li>Ligne 29 : pour copier dans le <span xml:lang="en" lang="en" title="Presse-papiers en français">clipboard</span>.</li>
</ol>
<p>aUR ligne 34, je défini la propriété menu de l'objet advancedButton (le bouton que j'ai créé) comme étant l'objet menu que j'ai créé à la ligne 3 <code>usableContextMenu</code></p>
<p>J'ai aussi des petites actions sur les deux boutons pour qu'ils réagissent à un clic gauche de la souris.</p>
<h3>Petit Truc :</h3>
<p>Pour que les liens soient encore un petit peu plus accessibles, j'ai rajouté des <strong>raccourcis claviers</strong> (qui ne seront visibles qu'avec le menu contextuel ouvert et la touche ALT du clavier enfoncée).</p>
<p>Pour rajouter ces raccourcis clavier, il suffit de rajouter un <strong><code title="ampersand">&#038;</code></strong> devant la lettre définie comme raccourcis.</p>
<p>Je me suis basé pour ces raccourcis aux mêmes raccourcis que l'interface de Firefox pour plus de cohérence.</p>
<h3>Usage :</h3>
<p>L'usage de ce type de liens contextuels dans les animations flash n'a de sens, évidemment, que lorsque les liens appelés sont des <strong>liens externes</strong>. Ou que les différentes parties de l'animation ont une adresse propre.</p>
<p>Merci déjà à tous les flasheurs d'employer des menus contextuels sur les liens de leurs animations flash.</p>
<h4>Liens relatifs :</h4>
<ul>
<li>Le <a href="/blog/posts/2007/01/flash-context-menu/flash-context-menu.zip" type="application/x-zip-compressed">fichier source de l'animation flash de cette page</a> (.zip - 6KB)</li>
<li>Plus d'<a href="http://www.brajeshwar.com/reference/as2/ContextMenuItem.html" hreflang="en">infos sur la classe ActionScript 2.0 ContextMenuItem</a>.</li>
<li>Inspiration : le <a href="http://nea.fonetik.ca/">petit lien sur la splash page de Néa</a> (mais la en <abbr title="Action Script" lang="en">AS</abbr> 3)</li>
</ul>

<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2007. |
<a href="http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/">Permalink</a> |
<a href="http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/#comments">7 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/&title=Utilisabilité et flash : menus contextuels">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/utilisabilite-flash-menus-contextuels/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Valider son code (X)HTML avec Tidybot</title>
		<link>http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/</link>
		<comments>http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/#comments</comments>
		<pubDate>Tue, 16 Jan 2007 16:02:15 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Débogage]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[productivité]]></category>
		<category><![CDATA[utilitaire]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=159</guid>
		<description><![CDATA[Tidybot vous permet de vérifier rapidement la validité de la syntaxe de vos pages web tout en n'étant pas connecté à internet. Spécifiez les répertoires à valider, et scannez. Tidybot génèrera un rapport complet pour les pages contenant des erreurs de syntaxe (x)html voir l'exemple de rapport de page Tidybot. Des paramètres avancés vous permettent [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kronto.org/tidybot/" hreflang="en" lang="en"><strong>Tidybot</strong></a> vous permet de <strong>vérifier rapidement la validité de la syntaxe</strong> de vos pages web tout en n'étant pas connecté à internet.</p>

<p style="text-align:center;"><a href="/blog/?pp_album=1&amp;pp_image=tidybot_screenshot.png"><img src="/blog/wp-content/photos/tidybot_screenshot.png" alt="Capture d'écran de l'application Tidybot" title="Capture d'écran de l'application Tidybot" /></a></p>

<p>Spécifiez les répertoires à valider, et scannez. Tidybot génèrera un rapport complet pour les pages contenant des erreurs de syntaxe (x)<abbr title="HyperText Markup Language" lang="en">html</abbr> voir <a href="/blog/posts/2007/01/tidybot/tidybot.html" hreflang="en">l'exemple de rapport de page Tidybot</a>.</p>

<p>Des paramètres avancés vous permettent de spécifier, entre autres, de ne pas afficher tel type fichier ou tels types d'erreurs.</p>

<p>Dommage seulement de ne pas pouvoir vérifier des pages en ligne. Disponible pour Window et Unix avec ou sans interface</p>

<h3>Liens relatifs&nbsp;:</h3>
<ul>
	<li>La page du validateur <a href="http://www.kronto.org/tidybot/" hreflang="en" lang="en">Tidybot</a></li>
	<li>L'<a href="/blog/posts/2007/01/tidybot/tidybot.html" hreflang="en">exemple de rapport</a> de page tidybot</li>
	<li>Via&nbsp;: l'excellent <a href="http://www.wats.ca/show.php?contentid=46"><abbr title="Web Accessibility Technical Services" lang="en">WATS</abbr>.ca</a> (excellente ressource d'outils de développement).</li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2007. |
<a href="http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/">Permalink</a> |
<a href="http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/&title=Valider son code (X)HTML avec Tidybot">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/valider-code-x-html-avec-tidybot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin de recherche OpenSearch pour Firefox 2</title>
		<link>http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/</link>
		<comments>http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 17:05:30 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Addons]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[productivité]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=152</guid>
		<description><![CDATA[Firefox version 2 supporte le standard de formatage de données de recherche OpenSearch. Grâce à cela, on peut créer des petits plugins de recherche très utiles pour son navigateur préféré. Format XML OpenSearch Les définitions des différents éléments composant un XML OpenSearch nous aident à composer notre propre plugin de recherche. Pour une installation standard [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox version 2 supporte le standard de formatage de données de recherche <a href="http://www.opensearch.org/Home" lang="en">OpenSearch</a>. Grâce à cela, on peut créer des petits plugins de recherche très utiles pour son navigateur préféré.</p>
<h3>Format XML OpenSearch</h3>
<p>Les <a href="http://www.opensearch.org/Specifications/OpenSearch/1.1">définitions des différents éléments composant un XML OpenSearch</a> nous aident à composer notre propre plugin de recherche.<br />
Pour une installation standard de Firefox, vous trouverez les plugins déjà installés dans le répertoire <code>C:\Program Files\Mozilla Firefox\searchplugins</code>. Normalement ce répertoire ne contient que des fichiers .xml qui sont les définitions des plugins. Prenons-en un, le fichier amazon.xml</p>
<pre class="brush: xml;">
&lt;SearchPlugin xmlns=&quot;http://www.mozilla.org/2006/browser/search/&quot;&gt;
&lt;ShortName&gt;Amazon.com&lt;/ShortName&gt;
&lt;Description&gt;Amazon.com Search&lt;/Description&gt;
&lt;InputEncoding&gt;ISO-8859-1&lt;/InputEncoding&gt;
&lt;Image width=&quot;16&quot; height=&quot;16&quot;&gt;data:image/x-icon;base64,iVBORw0KGgoA...=&lt;/Image&gt;
&lt;Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://www.amazon.com/exec/obidos/external-search/&quot;&gt;
	&lt;Param name=&quot;field-keywords&quot; value=&quot;{searchTerms}&quot;/&gt;
	&lt;Param name=&quot;mode&quot; value=&quot;blended&quot;/&gt;
	&lt;Param name=&quot;tag&quot; value=&quot;mozilla-20&quot;/&gt;
	&lt;Param name=&quot;sourceid&quot; value=&quot;Mozilla-search&quot;/&gt;
&lt;/Url&gt;
&lt;SearchForm&gt;http://www.amazon.com/&lt;/SearchForm&gt;
&lt;/SearchPlugin&gt;
</pre>
<dl>
<dt><code>SearchPlugin</code></dt>
<dd>Définition du namespace des différents nodes du fichier xml (dans ce cas-ci, on parle de la définition de Firefox)</dd>
<dt><code>ShortName</code></dt>
<dd>Nom du plugin de recherche</dd>
<dt><code>Description</code></dt>
<dd>Description du plugin de recherche</dd>
<dt><code>InputEncoding</code></dt>
<dd>Encodage des caractères du formulaire</dd>
<dt><code>Image</code></dt>
<dd>Définition de l&#8217;icône qui sera ajoutée dans l&#8217;interface de recherche encodée en Base64</dd>
<dt><code>Url</code></dt>
<dd>Contient les différents attributs du formulaire de recherche
<dl>
<dt><code>type</code></dt>
<dd>Format dans lequel les données sont envoyées au serveur</dd>
<dt><code>method</code></dt>
<dd><strong>GET ou POST</strong> méthode d&#8217;envoi des données au serveur</dd>
<dt><code>template</code></dt>
<dd>C&#8217;est l&#8217;<strong>ACTION</strong> du formulaire de recherche</dd>
</dl>
</dd>
<dt><code>Param</code></dt>
<dd>Les différents champs qui sont passées au formulaire. Le champ sur lequel se fait la requête doit avoir la <code><strong>value="{searchTerms}"</strong></code>. C&#8217;est les termes qui seront entrés dans le formulaire de recherche de Firefox</dd>
<dt><code>SearchForm</code></dt>
<dd>C&#8217;est le lien vers les soumissions de formulaires vides iront.</dd>
</dl>
<h3>Analyse d&#8217;un formulaire à convertir en plugin.</h3>
<p>Pour un premier exemple, je me suis basé sur la <a href="http://www.tutmarks.com/">page d&#8217;accueil de Tutmaks.com</a> (excellente ressource de tutoriels). Le moteur de recherche du site ne fonctionnant pour l&#8217;instant que sur des pages /index.php et pas sur les pages de détail /story.php.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=tutmarks_com.png"><img src="/blog/wp-content/photos/tutmarks_com.png" alt="Ecran de recherche Tutmarks.com" title="Ecran de recherche Tutmarks.com" border="0" /></a></p>
<p>A l&#8217;aide de l&#8217;Inspector de Firebug, j&#8217;ai facilement repéré que le nom du champ du formulaire était &#8220;search&#8221; l&#8217;action est vide (d&#8217;où l&#8217;erreur ci-dessus).</p>
<pre class="brush: xml;">
&lt;InputEncoding&gt;ISO-8859-1&lt;/InputEncoding&gt;
&lt;Url type=&quot;text/html&quot; method=&quot;GET&quot; template=&quot;http://tutmarks.com/index.php&quot;&gt;
	&lt;Param name=&quot;search&quot; value=&quot;{searchTerms}&quot;/&gt;
&lt;/Url&gt;
</pre>
<p>Pour un second exemple, j&#8217;ai pris la <a href="http://1307.be/fr/jsp/1x07be_reverse_search.jsp">recherche inversée de numéros de téléphone sur 1307.be</a>.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=1307_be.png"><img src="/blog/wp-content/photos/1307_be.png" alt="Ecran de recherche inversée de numéros de téléphone 1307.be" title="Ecran de recherche inversée de numéros de téléphone 1307.be" border="0" /></a></p>
<p>Il y a plusieurs champs cachés dans ce formulaire-ci. J&#8217;ai repris les nom et valeurs de ces champs en tant que Param de mon XML</p>
<pre class="brush: xml;">
&lt;InputEncoding&gt;ISO-8859-1&lt;/InputEncoding&gt;
&lt;Url type=&quot;text/html&quot; method=&quot;POST&quot; template=&quot;http://1307.be/fr/servlets/ReverseServlet&quot;&gt;
	&lt;Param name=&quot;number&quot; value=&quot;{searchTerms}&quot;/&gt;
	&lt;Param name=&quot;iso_language&quot; value=&quot;fr&quot;/&gt;
	&lt;Param name=&quot;template&quot; value=&quot;1x07be&quot;/&gt;
&lt;/Url&gt;
</pre>
<h3>Ajout de l&#8217;icône du plugin de recherche.</h3>
<p>J&#8217;ai repris les favicônes des <a href="http://tutmarks.com/favicon.ico">sites</a> <a href="http://1307.be/favicon.ico">repectifs</a>. Je les ai enregistrées sur mon ordinateur et je les ai <a href="http://www.motobit.com/util/base64-decoder-encoder.asp" lang="en">converties en base64 avec cet outil</a>. De ce fait, les images sont transformées en code et sont plus facilement transportable d&#8217;un environnement à un autre (les images sont incluses dans le fichier XML sous forme de code).</p>
<p>La documentation OpenSearch précise qu&#8217;on peut aussi mettre une <acronym title="universal resource locator">url</acronym> vers une icône de favori ou autre image.<br />
<pre class="brush: xml;">
&lt;Image height=&quot;16&quot; width=&quot;16&quot; type=&quot;image/x-icon&quot;&gt;&lt;br /&gt;
http://example.com/favicon.ico&lt;br /&gt;
&lt;/Image&gt;&lt;br /&gt;
</pre>
<h3>Code à rajouter dans les pages html.</h3>
<p>Pour que le plugin soit à la disposition de tout le monde, il faut l&#8217;insérer dans les pages de votre site.</p>
<p>Cela se fait aisément en ajoutant une balise <code><strong>link real="search"</strong></code> dans le header de la page html.</p>
<pre class="brush: html;">
&lt;link rel=&quot;search&quot; type=&quot;application/opensearchdescription+xml&quot; title=&quot;Tutmarks.com&quot; href=&quot;/chemin-vers/définition.xml&quot;&gt;
</pre>
<h3>Ajouter les plugins créés à Firefox 2.</h3>
<p>Quand un plugin de recherche a été trouvé par Firefox, l&#8217;icône de la liste des moteurs de recherche prend un fond bleuté.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=ff2_search_plugin_found.png"><img src="/blog/wp-content/photos/ff2_search_plugin_found.png" alt="Un plugin de recherche a été trouvé par Firefox" title="Un plugin de recherche a été trouvé par Firefox" border="0" /></a></p>
<p>En cliquant sur cette icône, on peut voir la liste des plugins de recherche. Dans le bas du menu, on peut rajouter les différents plugins de recherches.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=ff2_search_plugin_add_multiple.png"><img src="/blog/wp-content/photos/ff2_search_plugin_add_multiple.png" alt="Ajout de plusieurs plugins de recherche dans Firefox" title="Ajout de plusieurs plugins de recherche dans Firefox" border="0" /></a></p>
<p>L&#8217;ordre des moteurs de recherche peut être modifié et on peut aussi en supprimer via l&#8217;interface de gestion des plugins de recherche</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=ff2_search_plugin_manage.png"><img src="/blog/wp-content/photos/ff2_search_plugin_manage.png" alt="écran pour ranger les plugin de recherche sur Firefox" title="écran pour ranger les plugin de recherche sur Firefox" border="0" /></a></p>
<p>Le plugin de recherche Tutmarks pour Firefox 2 prêt à l&#8217;usage.</p>
<p align="center"><a href="/blog/?pp_album=1&#038;pp_image=ff2_search_plugin_usage.png"><img src="/blog/wp-content/photos/ff2_search_plugin_usage.png" alt="Le plugin de recherche sur Tutmaks est prêt à l'usage" title="Le plugin de recherche sur Tutmaks est prêt à l'usage" border="0" /></a></p>
<h4>Liens relatifs</h4>
<ul>
<li><a href="http://www.opensearch.org/Home" lang="en">l&#8217;organisation OpenSearch</a></li>
<li><a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox" lang="en">Documentation sur le site Mozilla des plugin OpenSearch</a></li>
<li><a href="http://tutmarks.com/story.php?title=creer-un-plugin-pour-ajouter-un-moteur-de-recherche-Firefox" lang="fr">Tutorial pour les extensions Firefox avant la version 2</a></li>
<li><a href="http://www.motobit.com/util/base64-decoder-encoder.asp">Encoder et décoder en Base64</a> en ligne</li>
</ul>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2006. |
<a href="http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/">Permalink</a> |
<a href="http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/#comments">17 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/&title=Plugin de recherche OpenSearch pour Firefox 2">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/plugin-recherche-opensearch-firefox2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Je (re)découvre Firebug ou le débogage facile</title>
		<link>http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/</link>
		<comments>http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/#comments</comments>
		<pubDate>Wed, 11 Oct 2006 16:11:26 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Addons]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Débogage]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[emakina]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[productivité]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=144</guid>
		<description><![CDATA[En préparant un petit article, je suis tombé sur cette vidéo qui montre comment déboguer avec Firebug. Je suis presque tombé de ma chaise. Je ne connaissais pas la moitié des capacités de cette merveilleuse extension de débogage pour FireFox, que j'emploie quand même depuis un bout de temps (v0.2 si les souvenirs sont bons). [...]]]></description>
			<content:encoded><![CDATA[<p>En préparant un petit article, je suis tombé sur <a href="http://www.digitalmediaminute.com/screencast/firebug-js/">cette vidéo qui montre comment déboguer avec Firebug</a>.</p>

<p>Je suis presque tombé de ma chaise. Je ne connaissais pas la moitié des capacités de cette merveilleuse <a href="https://addons.mozilla.org/firefox/1843/">extension de débogage pour FireFox</a>, que j'emploie quand même depuis un bout de temps (v0.2 si les souvenirs sont bons).</p>

<p>Avant, je ne l'employais que pour <strong>tracer mes appels Ajax</strong> et les réponses du serveur et tester des variables et fonctions, le tout dans la console.</p>
<p>Je n'avais pas vraiment vu la puissance du débogueur.</p>
<h3>Une petit explication s'impose.</h3>
<p>Pour que Firebug s'arrête à chaque erreur, il faut que l'option soit activée. (onglet "Debugger", menu "Options").</p>
<p style="text-align:center;"><a href="/blog/?pp_album=1&#038;pp_image=option_activation_debogage_firebug.png"><img border="0" alt="L'option pour activer le débogueur de Firebug" title="L'option pour activer le débogueur de Firebug" src="/blog/wp-content/photos/option_activation_debogage_firebug.png" /></a></p>
<p>Je pensais que toutes les options étaient regroupées à un seul endroit. Soit, je m'encroûte, soit l'interface n'est pas super parlante.</p>

<p>Bon maintenant regardons tout ce que l'on peut faire avec ce débogueur.</p>

<p>Le principe est le suivant : on appelle des méthodes de l'objet console en lui passant des paramètres.</p>

<p>
<code>console.log("message" [,objects])</code><br />
<code>console.debug("message" [,objects])</code><br />
<code>console.info("message" [,objects])</code><br />
<code>console.warn("message" [,objects])</code><br />
<code>console.error("message" [,objects])</code><br />
etc...</p>

<p>La <a href="http://www.joehewitt.com/software/firebug/docs.php"><strong>liste complète des méthodes de Firebug</strong></a> est bien évidemment disponible en ligne.</p>

<p>Vraiment bien fait ces petites méthodes (surtout celles qui permettent d'évaluer le temps qu'un javascript met).</p>

<p>Adopté par toute l'équipe des intégrateurs, et certains développeurs. Merci Joe Hewitt !</p>
<h4>Liens relatifs :</h4>
<ul>
	<li><a href="https://addons.mozilla.org/firefox/1843/">Firebug, l'extension de débogage pour Firefox</a></li>
	<li>Le <a href="http://www.joehewitt.com/">blog du développeur</a> de l'extension Firefox</li>
	<li>La <a href="http://www.digitalmediaminute.com/screencast/firebug-js/"><strong>vidéo explicative</strong></a> - qui m'a révélé le potentiel de Firebug</li>
	<li>Un autre <a href="http://encytemedia.com/blog/articles/2006/05/12/an-in-depth-look-at-the-future-of-javascript-debugging-with-firebug">article intéressant sur Firebug</a></li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2006. |
<a href="http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/">Permalink</a> |
<a href="http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/&title=Je (re)découvre Firebug ou le débogage facile">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/je-redecouvre-firebug-debogage-facile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Messagerie instantanée : affichage de sa présence en ligne.</title>
		<link>http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/</link>
		<comments>http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/#comments</comments>
		<pubDate>Tue, 25 Jul 2006 13:57:00 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[browsing]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=117</guid>
		<description><![CDATA[Fans de messageries instantanées et qui possédez une page web ou un blog, vous pouvez afficher votre online status ou présence en ligne sur vos pages. Online Status pour Skype Il existe depuis un bout de temps le plugin Jyve pour la messagerie instantanée Skype. Plus récemment, Skype a ajouté la possibilité d'afficher, en 4 [...]]]></description>
			<content:encoded><![CDATA[<p>Fans de messageries instantanées et qui possédez une page web ou un blog, vous pouvez afficher votre <em>online status</em> ou <em>présence en ligne</em> sur vos pages.</p>

<h2><em>Online Status</em> pour Skype <img width="34" height="34" align="middle" style="border: medium none " alt="Call me!" src="http://download.skype.com/share/skypebuttons/buttons/call_blue_transparent_34x34.png" /></h2>

<p>Il existe depuis un bout de temps le <strong><a href="http://plugin.jyve.com/">plugin Jyve</a></strong> pour <a href="http://www.skype.com/">la messagerie instantanée Skype</a>.</p>
<p>Plus récemment, Skype a ajouté la possibilité d'afficher, en 4 clics de souris, son status en ligne avec les <strong><a href="http://www.skype.com/share/buttons/">Skype Buttons</a></strong>.</p>
<h2><em>Online Status</em> pour MSN Messenger <img border="0" alt="mon status MSN Messenger" src="http://www.bencastricum.nl/msn/status.php/bc3cc982-9b26-4564-9c38-154a3c25cc71.png" /></h2>
<p>Je viens de tomber sur un <strong><a href="http://www.bencastricum.nl/msn/help.php">service similaire pour MSN Messenger</a></strong>.</p>

<p>Le principe est simple:</p>

<p>Il vous faudra trouver votre msn uid.<br />
Il faut se connecter (rajouter à sa liste de contacts) à un <abbr title="robot informatique">bot</abbr>. Ce bot est la pour vous guider: avec la commande <span class="pre">!findbot</span>, vous trouverez une adresse d'un autre bot qui pourra vous donner votre uid via la commande <span class="pre">!uid</span>.</p>
<p>Une fois que vous avez votre uid, vous n'avez qu'a insérer une image dans votre page pointant vers votre uid:
<span class="pre">http://www.bencastricum.nl/msn/status.php/.png</span></p>
<h3>Protocole MSNIM pour MSN Messenger 7.5</h3>
<p>De plus, depuis la version 7.5, MSN Messenger a rajouté les protocoles msnim:</p>
<p>De sorte qu'il vous est dorénavant possible de faire un lien vers des actions Messenger:</p>
<ul>
	<li>ajouter un contact avec le lien <span class="pre">msnim:add?contact=adresse@hotmail.com</span></li>
	<li>commencer une conversation chat avec le lien <span class="pre">msnim:chat?contact=adresse@hotmail.com</span></li>
	<li>commencer une conversation vidéo avec le lien <span class="pre">msnim:video?contact=adresse@hotmail.com</span></li>
	<li>commencer une conversation audio avec le lien <span class="pre">msnim:voice?contact=adresse@hotmail.com</span></li>
</ul>
<h4>Liens relatifs</h4>
<ul>
	<li><a href="http://plugin.jyve.com/">Présence en ligne via le plugin Jyve pour Skype</a></li>
	<li><a href="http://www.skype.com/share/buttons/">Présence en ligne via les Skype Buttons</a></li>
	<li><a href="http://www.bencastricum.nl/msn/help.php">Présence en ligne via le bot Bencastricum</a></li>
	<li><a href="http://www.mess.be/msnmessengerfaq/idx/0/139/article/Are_there_any_HTML_codes_that_integrate_MSN_Messenger.html">Informations sur le protocole MSNIM sur Mess.be</a></li>
</ul><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2006. |
<a href="http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/">Permalink</a> |
<a href="http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/&title=Messagerie instantanée : affichage de sa présence en ligne.">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/messagerie-instantannee-affichage-presence-en-ligne/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>del.icio.us+blogger=Adobe NoteTag</title>
		<link>http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/</link>
		<comments>http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/#comments</comments>
		<pubDate>Tue, 30 May 2006 08:16:31 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=109</guid>
		<description><![CDATA[Une petite démo vaut beaucoup mieux qu'un long discours: Adobe NoteTag. Le concept: une application en Flex qui permet de partager des tâches entre différents utilisateurs. Ce qui est fort, c'est que le système publie le contenu des Notes dans un blog pour le contenu (Blogger ou TypePad) et classifie ces notes via Del.icio.us (par [...]]]></description>
			<content:encoded><![CDATA[<p>Une petite démo vaut beaucoup mieux qu'un long discours: <a title="Adobe NoteTag Demo" href="http://labs.adobe.com/technologies/notetag/demo/#"><strong>Adobe NoteTag</strong></a>.</p>

<p>Le concept: une application en Flex qui permet de partager des tâches entre différents utilisateurs. Ce qui est fort, c'est que le système publie le contenu des Notes dans un blog pour le contenu (<a title="blogs by Google" href="http://www.blogger.com/">Blogger </a>ou TypePad) et classifie ces notes via <a title="Content By Tags" href="http://del.icio.us/">Del.icio.us</a> (par système de tags).</p>

<p>Très Web2.0 !</p><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2006. |
<a href="http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/">Permalink</a> |
<a href="http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/&title=del.icio.us+blogger=Adobe NoteTag">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/delicious-blogger-adobe-notetag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diaporama sur internet html, javascript ou flash?</title>
		<link>http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/</link>
		<comments>http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 17:45:18 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[diaporama]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=94</guid>
		<description><![CDATA[Je me demande toujours quel est le meilleur moyen pour afficher une série de photos sur un site web: Il y a plusieurs solutions possible: une page html reprenant avec des vignettes à cliquer qui pointe vers, à chaque fois, vers une autre page reprenant le détail de la photo. Avantage: un très bon référencement. [...]]]></description>
			<content:encoded><![CDATA[<p>Je me demande toujours quel est le meilleur moyen pour afficher une série de photos sur un site web:</p>
<p>Il y a plusieurs solutions possible:</p>
<ul>
	<li><em>une page html</em> reprenant avec des vignettes à cliquer qui pointe vers, à chaque fois, vers une autre page reprenant le détail de la photo.<a target="_top" title="Diaporama Pupius.co.uk" href="http://pupius.co.uk/photos/travel/vietnam/hanoi/"><img width="450" height="438" class="centered" alt="Diaporama Pupius.co.uk" src="http://www.gatellier.be/blog/wp-content/photos/pupius_co_uk.jpg" /></a><br />
<br />
<strong>Avantage</strong>: un très bon référencement.<br />
<strong>Inconvéniant</strong>: peut-être compliqué parce que si on n'emploie pas d'outils pour générer ces pages, le travail peut être fastidieux. -> employer une base de donnée et une technologie server-side<br />
l'ergonomie de l'interface est assez limitée.<br />
<br />
ex: <a href="http://pupius.co.uk/photos/travel/vietnam/hanoi/">pupius</a>, <a href="http://bxl1.free.fr/genval/bruxelles.htm">photos tchorski</a></li>
	<li><em>un diaporama en javascript</em> permet de visualiser toutes les images sur un seul écran<a target="_top" title="Diaporama Couloir.org" href="http://www.couloir.org/js_slideshow/"><img width="450" height="413" class="centered" alt="Diaporama Couloir.org" src="http://www.gatellier.be/blog/wp-content/photos/couloir_org.jpg" /></a><br />
<br />
<strong>Avantage</strong>: l'interface peut être plus ergonomique; toutes les images peuvent tenir dans un écran<br />
<strong>Inconvéniant</strong>: portabilité cross-platform/cross-media, la mise en oeuvre peut-être plus complexe pour des novices.<br />
<br />
ex: <a href="http://www.couloir.org/js_slideshow/">couloir.org</a></li>
	<li><em>un diaporama en flash</em> bien construit pourrait-être la solution idéale. J'ai essayé <a href="http://slideshowpro.net/">slideshowpro.net</a> et, à vrai dire, j'aime bien<a target="_top" title="Diaporama flash photo.gatellier.be" href="http://photo.gatellier.be"><img width="450" height="379" class="centered" alt="Diaporama flash photo.gatellier.be" src="http://www.gatellier.be/blog/wp-content/photos/photo_gatellier_be.jpg" /></a><br />
<br />
<strong>Avantage</strong>: l'interface est complètement modulable, les images sont gérés par un fichier xml, les pages sont "bookmarkables", le player flash est disponible sur beaucoup de plateformes, etc<br />
<strong>Inconvéniant</strong>: <a href="http://slideshowpro.net/">slideshowpro.net</a> est une solution payante ($20) et elle requiert le logiciel Macromedia Flash</li>
</ul>
<p>Verdict? personnellement, je vote pour la solution flash. <a href="/blog/diaporama-html-javascript-flash-slideshowpro/#comments">Et vous?</a></p><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2006. |
<a href="http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/">Permalink</a> |
<a href="http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/#comments">12 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/&title=Diaporama sur internet html, javascript ou flash?">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/diaporama-html-javascript-flash-slideshowpro/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Homesite: Easter Egg ou s&#8217;amuser en créant des pages web.</title>
		<link>http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/</link>
		<comments>http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/#comments</comments>
		<pubDate>Mon, 19 Dec 2005 14:18:38 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=91</guid>
		<description><![CDATA[Je vous parlais récemment des Easter Eggs de contribute. Voici celui de Macromedia Homesite (mon éditeur de page web préféré - bien qu'il lui manque toujours le support d'encodage UTF-8). Comment accéder à cet oeuf de Pâques? Tout simplement en modifiant une de vos barre d'outils: soit en prenant le raccourcis clavier Shift+F8 soit en [...]]]></description>
			<content:encoded><![CDATA[<a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=AboutHomesite5.jpg" title="About Homesite" target="_top"><img src="http://www.gatellier.be/blog/wp-content/photos/thumb_AboutHomesite5.jpg" width="130" height="80" alt="About Homesite" class="centered" /></a>

Je vous parlais récemment des <a href="http://www.gatellier.be/blog/contribute-easter-egg-ou-samuser-en-creant-des-pages-web/">Easter Eggs de contribute</a>. Voici celui de Macromedia Homesite (mon éditeur de page web préféré - bien qu'il lui manque toujours le support d'encodage UTF-8).

<strong>Comment accéder à cet oeuf de Pâques?</strong>

Tout simplement en modifiant une de vos barre d'outils:
<ul>
	<li>soit en prenant le raccourcis clavier Shift+F8</li>
	<li>soit en cliquant une de vos barre d'outils avec le bouton droit de votre souris et en choisissant l'option "<em>Customize</em>"</li>
	<li>soit encore en sélectionnant le menu "<em>Options</em>" puis "<em>Customize</em>" de vos barres de menu.</li>
</ul>

L'écran de personnalisation apparaît:

<a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=CustomizeHomesite5.jpg" title="Customize Homesite" target="_top"><img src="http://www.gatellier.be/blog/wp-content/photos/CustomizeHomesite5.jpg" width="450" height="325" alt="Customize Homesite" class="centered" /></a>

Dans le bas de la liste qui est disponnible, vous trouverez l'icône Easter Egg. Glissez-et-déposez la sur une des barres d'outils

Et cliquez <em>OK</em>.

<a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=ModifiedToolbar.jpg" title="Modified toolbar" target="_top"><img src="http://www.gatellier.be/blog/wp-content/photos/ModifiedToolbar.jpg" width="450" height="58" alt="Modified toolbar" class="centered" /></a>

Voila, pouvez accéder au jeu en cliquant sur la nouvelle icône.

Le principe du jeu: faire des paires de tags en un temps imparti tout en évitant de bombes. Pas si captivant que <a href="http://www.womgames.com/snoodworld/index.php">Snood</a>  mais grâce à ce jeu, vous n'oublierai plus qu'il faut fermer ses tags!

<a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=EasterEgg2.jpg" title="Macromedia Homesite Easter Egg" target="_top"><img src="http://www.gatellier.be/blog/wp-content/photos/EasterEgg2.jpg" width="450" height="322" alt="Macromedia Homesite Easter Egg" class="centered" /></a><hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2005. |
<a href="http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/">Permalink</a> |
<a href="http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/&title=Homesite: Easter Egg ou s&#8217;amuser en créant des pages web.">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/homesite-easter-egg-ou-s%e2%80%99amuser-en-creant-des-pages-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS pour les humains: XSL et votre XML est lisible</title>
		<link>http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/</link>
		<comments>http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/#comments</comments>
		<pubDate>Tue, 08 Nov 2005 19:31:08 +0000</pubDate>
		<dc:creator>Marin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.gatellier.be/blog/?p=88</guid>
		<description><![CDATA[Il vous est certainement déjà arrivé de tomber sur des liens mystérieux: en cliquant une petite image labelisée rss vous arrivez sur une page illisible pour le commun des mortels. C'est un flux rss. A quoi servent-ils? A suivre de l'information rapidement sans devoir charger tout un site. Normalement, on emploie un aggrégateur de flux [...]]]></description>
			<content:encoded><![CDATA[<p>Il vous est certainement déjà arrivé de tomber sur des liens mystérieux: en cliquant une <a href="http://www.stervinou.com/">petite image labelisée rss</a> vous arrivez sur une page illisible pour le commun des mortels. C'est un <a href="http://fr.wikipedia.org/wiki/Really_Simple_Syndication">flux rss</a>.</p>

<p style="text-align:center;"><a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=rss_pour_les_logiciels.jpg" title="avant: RSS Illisible pour les humains"><img src="http://www.gatellier.be/blog/wp-content/photos/thumb_rss_pour_les_logiciels.jpg" width="130" height="86" alt="avant: RSS Illisible pour les humains" class="centered" /></a> <a href="http://www.gatellier.be/blog/?pp_album=1&#038;pp_image=rss_pour_les_humains.jpg" title="Apr&Atilde;&uml;s: RSS lisible par les humains."><img src="http://www.gatellier.be/blog/wp-content/photos/thumb_rss_pour_les_humains.jpg" width="130" height="86" alt="Apr&Atilde;&uml;s: RSS lisible par les humains." class="centered" /></a></p>



<p>A quoi servent-ils? A suivre de l'information rapidement sans devoir charger tout un site.</p>
<p>Normalement, on emploie un aggrégateur de flux pour les parcourir d'un coup d'oeil. Il en existe de <a href="http://www.hebig.org/blogs/archives/main/000877.php">nombreux logiciels</a> ou <a href="http://www.bloglines.com/?Lang=french">sous forme de</a> <a href="http://www.netvibes.com/">site web</a>.</p>

<p>Grâce à mon <a href="http://www.bradsoft.com/feeddemon/index.asp">aggrégateur préféré</a>, je surveille presque quotidiennement une bonne 50taine de sites grâce à leurs rss. Un titre m'article m'intéresse? Hop, je clique et je lis.</p>


<h3>Un RSS lisible</h3>

<p>Là où le bât blesse, c'est quand un utilisateur non-confirmé clique un lien pointant vers le fichier rss. Il se trouve confronté à une page incompréhesible faite de code. Ce sera une expérience vraiment mauvaise.</p>
(...)<br/>Read the rest of <a href="http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/">RSS pour les humains: XSL et votre XML est lisible</a> (294 words)</p>
<hr />
<p><small>© Marin for <a href="http://www.gatellier.be/blog">Gatellier.be</a>, 2005. |
<a href="http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/">Permalink</a> |
<a href="http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/#comments">4 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/&title=RSS pour les humains: XSL et votre XML est lisible">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.gatellier.be/blog/rss-pour-les-humains-xsl-et-votre-xml-est-lisible/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
