<?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>La Case de l&#039;Oncle Tom &#187; firefox</title>
	<atom:link href="http://case.oncle-tom.net/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.oncle-tom.net</link>
	<description>Développement Web, bonnes pratiques et performances</description>
	<lastBuildDate>Sun, 25 Dec 2011 19:33:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="search"
           href="http://case.oncle-tom.net/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" />		<item>
		<title>Rencontres Mondiales du Logiciel Libre : appel à conférences</title>
		<link>http://case.oncle-tom.net/2010/rmll-2010-appel-conferences/</link>
		<comments>http://case.oncle-tom.net/2010/rmll-2010-appel-conferences/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 07:00:10 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[call for paper]]></category>
		<category><![CDATA[conférences]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[rmll]]></category>
		<category><![CDATA[xmpp]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1492</guid>
		<description><![CDATA[Les Rencontres Mondiales du Logiciel Libre (RMLL) sont un cycle de conférences autour du logiciel libre. Ces rencontres se déroulent en 2010 à Bordeaux du 6 au 11 juillet. Je co-organise les sessions <em>Internet</em> avec <a href="http://prendreuncafe.com/">Nicolas Perriault</a>. Nous sommes ouvert à vos propositions de sujets, en français ou en anglais.]]></description>
			<content:encoded><![CDATA[<p>Les <a href="http://rmll.info/">Rencontres Mondiales du Logiciel Libre</a> (RMLL) sont un cycle de conférences autour du logiciel libre. Ces rencontres se déroulent en 2010 à Bordeaux du 6 au 11 juillet. Je co-organise les sessions <em>Internet</em> avec <a href="http://prendreuncafe.com/">Nicolas Perriault</a>. C&#8217;est dans ce cadre que je relaie l&#8217;appel à conférences. Et puis tant qu&#8217;à faire, histoire de présenter cet évènement réunissant plus de 5000 visiteurs.</p>
<p>Pour cette édition 2010, il y a 2 thématiques transversales : le développement durable et l&#8217;accessibilité.</p>
<p><img class="aligncenter size-full wp-image-1496" title="Tux" src="http://case.oncle-tom.net/images/2010/01/1264010146_tux.png" alt="Tux" width="128" height="128" /></p>
<p><span id="more-1492"></span></p>
<h3>Les thèmes des RMLL</h3>
<p>Les logiciels libres sont un vaste domaine, couvrant de multiples aspects de notre vie ordinaire &#8230; et de l&#8217;informatique. C&#8217;est pourquoi ce cycle est composé de thèmes, regroupés sur 2 jours chacun :</p>
<ul>
<li>Technique</li>
<li> Loisirs, Culture, Arts, libre diffusion</li>
<li> Économie sociale et solidaire – Développement durable</li>
<li> Accessibilité et handicap</li>
<li> Sciences, Éducation, Éducation populaire</li>
<li> Entreprises et Logiciel Libre</li>
<li> Collectivités, administrations, politiques publiques</li>
</ul>
<p>Chacune de ces thématiques comporte ensuite des sessions. Ces sessions agissent comme des sous-thèmes, afin d&#8217;affiner et guider le visiteur au sein de la centaine de conférences réparties sur 5 jours.</p>
<h3>La session Internet</h3>
<p><a href="http://prendreuncafe.com/">Nicolas</a> et moi-même nous occupons de la session Internet, sous-thème de « Technique ». Le <a href="http://2009.rmll.info/-Internet-et-communication-.html">programme 2009</a> est à disposition si cela peut vous donner des idées.<br />
Allez, quelques pistes :</p>
<ul>
<li>Firefox</li>
<li>WordPress</li>
<li>eZ Publish</li>
<li>Drupal</li>
<li>Apache, Nginx, Lighttpd &amp; cie</li>
<li>Zend Framework, Symfony, CodeIgniter</li>
<li>Jabber/XMPP/PubSubHubbub</li>
<li>OpenStreetMap</li>
<li>Licences − CreativeCommons etc.</li>
</ul>
<p>Soyez créatifs, proposez des sujets <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Internet != Web</h3>
<p>À titre de précision : si le Web fait partie de l&#8217;Internet ; l&#8217;Internet est bien plus que le Web. Cela concerne aussi bien <acronym title="Internet Relay Chat">IRC</acronym>, le transport de mails, les protocoles de transport que l&#8217;infrastructure permettant à ce nuage d&#8217;exister.</p>
<p>Donc n&#8217;hésitez pas à avoir une vision large et de ne pas vous restreindre qu&#8217;au Web − aussi bien soit-il.</p>
<h3>Pour en savoir plus</h3>
<p>Le site Web de l&#8217;édition 2010 des RMLL est en ligne à l&#8217;adresse permanente <a href="http://2010.rmll.info">http://2010.rmll.info</a>. On y trouve, entre autre, d&#8217;autres <a href="http://2010.rmll.info/Appel-a-conferences.html">informations sur l&#8217;appel à  conférences</a>.<br />
<strong>Vous avez jusqu&#8217;au début du mois de mars pour y songer</strong>.</p>
<p>Si vous avez « juste » peur d&#8217;être timide, établissez au moins le contact pour obtenir des informations.<br />
Nous sommes également passés par là donc on pourra vraisemblablement vous assister.</p>
<p>Un email vers <span class="gI"><a href="mailto:internet@listes2010.rmll.info">internet@listes2010.rmll.info</a> fera l&#8217;affaire. On vous guidera le reste du processus.</span></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">http://2010.rmll.info/Appel-a-conferences.html</div>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2010/rmll-2010-appel-conferences/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Connexion à un serveur Citrix depuis Firefox sous Linux</title>
		<link>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/</link>
		<comments>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 05:00:54 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[citrix]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ica]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[metaframe]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[xenapp]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1172</guid>
		<description><![CDATA[Pour les besoins du boulot et non plus pour le plaisir, j&#8217;ai eu pour impératif de me connecter à un Intranet client via un VPN Citrix. Je ne sais pas pour vous, mais quand j&#8217;entends VPN, je commence à avoir des sueurs froides en me disant que la galère ne fait que commencer. Et bien [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1186" title="Chargement du serveur de présentation Citrix" src="http://case.oncle-tom.net/images/2008/10/citrix-loading.png" alt="" width="336" height="190" /></p>
<p>Pour les besoins du boulot et non plus pour le plaisir, j&#8217;ai eu pour impératif de me connecter à un Intranet client via un <a href="http://fr.wikipedia.org/wiki/Citrix_Presentation_Server">VPN Citrix</a>. Je ne sais pas pour vous, mais quand j&#8217;entends VPN, je commence à avoir des sueurs froides en me disant que la galère ne fait que commencer.</p>
<p>Et bien pour une fois, je peux dire que je n&#8217;ai presque pas ramé. Vous allez voir, c&#8217;est <strong>simple et rapide</strong>.<br />
<span id="more-1172"></span></p>
<h3>Citrix Presentation Server en 2 minutes</h3>
<p>Citrix Presentation Server c&#8217;est une manière d&#8217;offrir une connexion à des applications à distance indépendamment de la machine que l&#8217;on utilise. En clair, que l&#8217;on soit sous Linux, MacOS X ou Windows, on est censé pouvoir accéder à des applications d&#8217;une infrastructure distante.</p>
<p>Tout se fait via son navigateur Web préféré (Iceweasel sous Debian, Firefox sous Ubuntu dans mon cas). Seulement voilà, quand je souhaitais lancer l&#8217;application Putty pour profiter d&#8217;une jolie connexion <acronym title="Secure Shell">SSH</acronym>, <em>que nenni</em> !<br />
À la place, j&#8217;avais le droit de télécharger un fichier <em>launch.ica</em> qui, j&#8217;avoue, ne m&#8217;évoquais pas grand chose.</p>
<div id="attachment_1185" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-1185" title="Téléchargement d'un fichier .ica" src="http://case.oncle-tom.net/images/2008/10/citrix-ica.png" alt="Si on en est là, c'est qu'il y a un soucis" width="500" height="466" /><p class="wp-caption-text">Si on en est là, c&#39;est que ça ne va pas</p></div>
<h3>Installer le plugin ICA pour Linux</h3>
<p><a title="Citrix ICA Client How-To for Linux" href="http://www.agaveblue.org/howtos/Citrix_ICA_How-To.shtml ">Une recherche Google plus tard</a>, je découvre donc sans surprise qu&#8217;il me faut installer un client Citrix. J&#8217;ai un peu peur en imaginant qu&#8217;il ne fonctionne que sur des systèmes d&#8217;exploitation arriérés.</p>
<p>Et pourtant, quand on sait ce qu&#8217;il faut installer c&#8217;est tellement plus simple :</p>
<ol>
<li><a href="http://www.citrix.com/English/ss/downloads/details.asp?downloadId=3323&amp;productId=186&amp;c1=sot2755">Téléchargez le client ICA pour Linux</a>
<ol>
<li>En prenant la version <em>.tar.gz</em> puis en lançant <kbd>./setupwfc</kbd></li>
<li>En convertissant le .rpm par un petit <kbd>sudo alien -i ICAClient-10.6-1.i386.rpm</kbd></li>
<li>En <a title="ICAClient-10.6-1.i386.deb" href="http://dl.free.fr/nnJyoE8KW">utilisant le .deb</a> que j&#8217;ai créé avec <em>alien</em></li>
</ol>
</li>
<li>Liez le plugin ICA à votre navigateur Web
<ul>
<li>Sous Ubuntu : <kbd>ln –s /usr/lib/ICAClient/npica.so /usr/lib/mozilla/plugins/npica.so</kbd></li>
<li>Sous Debian : <kbd>ln –s /usr/lib/ICAClient/npica.so /usr/lib/iceweasel/plugins/npica.so</kbd></li>
</ul>
</li>
<li>Fermez et relancer Firefox/Iceweasel si nécessaire</li>
<li>Dans les modules complémentaires, vérifiez que le plugin apparaît bien (ou bien dans <kbd>about:plugins</kbd>)</li>
</ol>
<div id="attachment_1188" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-1188" title="Plugin Citrix vu depuis le gestionnaire de modules Firefox" src="http://case.oncle-tom.net/images/2008/10/citrix-plugin.png" alt="Plugin Citrix vu depuis le gestionnaire de modules Firefox" width="500" height="125" /><p class="wp-caption-text">Plugin Citrix vu depuis le gestionnaire de modules Firefox</p></div>
<h3>Conclusion</h3>
<p>Bref ça marche bien même sous Firefox 3 et j&#8217;en suis content. Le chargement des applications est relativement rapide. Ça fait presque bizarre de voir une application Windows bien se lancer !</p>
<p>C&#8217;est également la première fois que je peux me connecter à un VPN distant sans sérieux problèmes. J&#8217;ai déjà eu droit aux VPN Cisco à <em>passphrase</em> aléatoire généré par un badge &#8230; même le support technique n&#8217;a pas pu m&#8217;aider : j&#8217;étais le premier à les appeler en étant sous Linux !</p>
<div id="attachment_1187" class="wp-caption aligncenter" style="width: 295px"><img class="size-full wp-image-1187" title="Chargement de Citrix MetaFrame" src="http://case.oncle-tom.net/images/2008/10/citrix-loading-2.png" alt="Chargement de l'application Windows à distance" width="285" height="145" /><p class="wp-caption-text">Chargement de l&#39;application Windows à distance</p></div>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/connexion-serveur-citrix-firefox-linux/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Microformats : comment microformater du contenu déjà existant ?</title>
		<link>http://case.oncle-tom.net/2008/microformats-comment-microformater-du-contenu-deja-existant/</link>
		<comments>http://case.oncle-tom.net/2008/microformats-comment-microformater-du-contenu-deja-existant/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 21:07:42 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Standards du Web]]></category>
		<category><![CDATA[adr]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[clever age]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[hatom]]></category>
		<category><![CDATA[hcalendar]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[wikia]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[xoxo]]></category>
		<category><![CDATA[yahoo]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/2008/04/03/microformats-comment-microformater-du-contenu-deja-existant/</guid>
		<description><![CDATA[Nous avions dressé un panorama des microformats dans un précédent article intitulé « microformats : republier et donner du sens aux contenus ». Nous avions notamment conclu que leur intégration était rapide, peu coûteuse et surtout bénéfique tant pour le visiteur que pour la visibilité du contenu. Nous nous intéresserons cette fois-ci à une partie [...]]]></description>
			<content:encoded><![CDATA[
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/07/logo-microformats.gif" alt="Microformats logo" /></p>
<p>Nous avions dressé un panorama des microformats dans un précédent article intitulé « <a href="http://case.oncle-tom.net/2008/01/29/microformats-republier-donner-sens-aux-contenus/">microformats : republier et donner du sens aux contenus</a> ». Nous avions notamment conclu que leur<strong> intégration était rapide, peu coûteuse et surtout bénéfique</strong> tant pour le visiteur que pour la visibilité du contenu.</p>
<p>Nous nous intéresserons cette fois-ci à une partie plus pratique des microformats : leur <strong>intégration</strong>. Toutefois ce rapide apprentissage sera didactique puisque nous apprendrons à identifier visuellement quels contenus d’une page peuvent être microformatés mais aussi comment microformater du code <acronym title="HyperText Markup Language">HTML</acronym> déjà existant.<br />
<span id="more-896"></span></p>
<h3>Des sites déjà microformatés</h3>
<p>Intéressons-nous toutefois à des sites ayant déjà microformaté leurs contenus. Nous pourrons ainsi éveiller notre curiosité et préparer le travail de réflexion de la prochaine étape.</p>
<p><strong><a href="http://maps.google.fr/?q=clever-age&amp;near=paris">Exemple avec Google Maps</a></strong> :</p>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2008/04/microformats-sites-google-maps.jpg" alt="Microformats sur Google Maps" /></p>
<p>Google Maps est un service de recherche cartographique accessible via un simple navigateur Web. Le moteur donne un accès à des recherches de lieux, de calculs d&#8217;itinéraires mais aussi d&#8217;emplacement d&#8217;entreprises.</p>
<p>Le support des microformats sur Google Maps est relativement léger mais suffisant pour être utile.<br />
Contrairement à ce que l&#8217;on aurait pu penser, Google n&#8217;a pas intégré le <a href="http://microformats.org/wiki/geo">microformat geo</a> pour exporter les coordonnées GPS d&#8217;un point. La société s&#8217;est concentrée sur les données personnelles au moyen de deux microformats combinés :</p>
<ul>
<li> <a href="http://microformats.org/wiki/hcard">microformat hCard</a> (correspond à la réunion des encadrés bleu et vert)</li>
<li> <a href="http://microformats.org/wiki/adr">microformat adr</a> (correspond à l&#8217;encadré vert uniquement)</li>
</ul>
<p>Cette combinaison facilite l&#8217;extraction des adresse postales et des entités (individus ou entreprises).</p>
<p><strong><a href="http://upcoming.yahoo.com/search/?loc=paris">Exemple avec Yahoo ! Upcoming</a></strong> :</p>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2008/04/microformats-sites-yahoo-upcoming.jpg" alt="Microformats sur Yahoo! Upcoming" /></p>
<p>Yahoo ! Upcoming est un service gratuit cataloguant tous les évènements à venir par pays, ville, date et même par catégories (cinéma, concerts, expositions etc.).</p>
<p>Le microformat par excellence à adopter était bien évidemment le <a href="http://microformats.org/wiki/hcalendar">microformat hCalendar</a>. Chaque occurence microformatée est représentée par un rectangle vert et peut contenir ces différents attributs, entre autre :</p>
<ul>
<li> date de début de l&#8217;évènement</li>
<li> date de fin de l&#8217;évènement</li>
<li> titre de l&#8217;évènement</li>
<li> description de l&#8217;évènement</li>
<li> le lieu de l&#8217;évènement (sous forme d&#8217;adresse complète ou pas)</li>
<li> une <acronym title="Uniform Resource Locator">URL</acronym> menant à un descriptif plus approfondi de l&#8217;évènement</li>
</ul>
<p>Ce microformatage permet d&#8217;aller au-delà d&#8217;une lecture classique puisque de manière simple, elle permet au visiteur de récupérer les évènements qui l&#8217;intéresse pour les ajouter à son gestionnaire de temps favoris, qu&#8217;il soit logiciel ou en ligne.</p>
<h3>Identifier visuellement les microformats à intégrer</h3>
<p>Identifier des microformats déjà implémenté est assez simple avec les outils adéquats. En revanche pour décider de microformater du contenu, deux outils sont indispensables :</p>
<ul>
<li> la documentation des microformats pour savoir <strong>quoi implémenter</strong></li>
<li> un peu de jugeotte pour savoir <strong>comment implémenter</strong> <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p>Avec un peu de pratique et de connaissance des différents microformats, il ne faut pas plus de 5 à 10 minutes pour identifier les contenus microformatables. La difficulté d&#8217;intégration dépendra uniquement de la structure technique affichant les données : plus elle sera complexe, plus le microformatage pourra être long &#8230; au même titre que toute autre modification basique.</p>
<p><strong><a href="http://re.search.wikia.com/search#clever%20age">Exemple avec Wikia Search</a></strong> :</p>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2008/04/microformats-tomicroformat-wikia-search.jpg" alt="Microformats sur Wikia Search" /></p>
<p>Wikia Search est un moteur de recherche lancé au tout début de l&#8217;année 2008 par un des fondateurs de l&#8217;encyclopédie en ligne Wikipédia. Ce moteur en reprend d&#8217;ailleurs le principe du wiki pour contribuer à l&#8217;élaboration et la notation de meilleurs résultats.</p>
<p>Il est d&#8217;ailleurs étonnant de voir qu&#8217;aucun microformat ne soit présent malgré de tels objectifs. La capture d&#8217;écran ci-dessus découpe la page en 3 zones microformatables distinctes :</p>
<ol>
<li> le lien sur logo aurait pu se voir agrémenter d&#8217;un <a href="http://microformats.org/wiki/rel-home">rel-home</a> pour signifier un retour vers la page d&#8217;accueil ;</li>
<li> les résultats auraient pu quant à eux embarquer :
<ul>
<li> le <a href="http://microformats.org/wiki/hatom">microformat hAtom</a> pour faciliter la syndication de contenu et l&#8217;extraction des résultats.</li>
<li> le <a href="http://microformats.org/wiki/hreview">microformat hReview</a> ou <a href="http://microformats.org/wiki/vote-links">VoteLinks</a> sur les encadrés orangés identifiant les zones de votes.</li>
</ul>
</li>
<li> enfin le <a href="http://microformats.org/wiki/hcard">microformat hCard</a> aurait été le bienvenu sur la liste des résultats correspond à des personnes.</li>
</ol>
<p>On peut constater que plus il y a d&#8217;emplacement représentant des contenus différents sur une page, plus on a de chances qu&#8217;un microformat corresponde.</p>
<p><strong><a href="http://www.clever-age.com/">Exemple avec Clever Age</a></strong> :</p>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2008/04/microformats-tomicroformat-cleverage.jpg" alt="Microformats sur Clever Age" /></p>
<p>J&#8217;ai dénombré pas moins de 5 zones pouvant accueillir des microformats :</p>
<ol>
<li> les dernières actualités pourraient utiliser le <a href="http://microformats.org/wiki/hatom">microformat hAtom</a>. Un flux <acronym title="Really Simple Syndication">RSS</acronym> est déjà disponible sur la page mais ce serait offrir un chemin de traverse pour les visiteurs et les moteurs d&#8217;indexation ;</li>
<li> le <a href="http://microformats.org/wiki/hcalendar">microformat hCalendar</a> aiderait à la réutilisation des données dans les gestionnaires de temps. Imaginez un chef d&#8217;entreprise affairé désireux de transmettre à ses collaborateurs une ressource contenant toutes les informations de leur future formation : peu d&#8217;effort et un gain de communication ;</li>
<li> ajouter facilement Clever Age dans votre carnet de contacts et de prestataires serait également facilité si le <a href="http://microformats.org/wiki/hcard">microformat hCard</a> redistribuait le nom et les moyens de contact de la société ;</li>
<li> en complément au moyen de contact, l&#8217;emplacement géographique des agences serait à portée de clic avec le <a href="http://microformats.org/wiki/geo">microformat geo</a>. Après tout, Google Maps proposera peut-être un jour d&#8217;importer des <acronym title="Uniform Resource Locator">URL</acronym> microformatée en plus des fichiers KMZ (Google Earth) <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ;</li>
<li> enfin, le microformatage de la dernière partie dépend de ce qu&#8217;on aimerait redistribuer :
<ul>
<li> le <a href="http://microformats.org/wiki/hatom">microformat hAtom</a> pour offrir 3 flux de syndication mais le peu d&#8217;éléments (2 à chaque fois) tende à infirmer la pertinence de ce microformat dans le cas présent ;</li>
<li> le <a href="http://microformats.org/wiki/xoxo">microformat XOXO</a> est adapté à décrire des types de contenus embarqués dans une page ; ici des flux <acronym title="Really Simple Syndication">RSS</acronym>. Il serait à placer sur chaque lien pointant vers les flux <acronym title="Really Simple Syndication">RSS</acronym> ;</li>
<li> le <a href="http://microformats.org/wiki/xfolk">microformat Xfolk</a> est adapté aux collections d&#8217;<acronym title="Uniform Resource Locator">URL</acronym> plus communément appelés « favoris » ou « marque-pages »</li>
</ul>
</li>
</ol>
<p>Avec ce dernier exemple, nous venons de voir que le microformatage était facilement adaptable à un site Web de société. Dans ce cas précis, il y a énormément de contenu republiable mais pas systématiquement de manière pertinente.</p>
<h3>Intégrer les microformats dans du (X)<acronym title="HyperText Markup Language">HTML</acronym></h3>
<p>Les précédents exemples, sur de l&#8217;existant et ce qui pourrait exister, avaient pour but de former notre esprit à reconnaitre des zones susceptibles d&#8217;être microformatées.</p>
<p>La difficulté de l&#8217;exercice est d&#8217;ajouter du balisage sans altérer la présentation actuelle. Je traiterai du site de Clever Age dont nous avons parlé précédemment.</p>
<p><strong>Microformater des données d&#8217;entités</strong></p>
<p>Voici le code de départ, repris tel quel :</p>
<pre><code>Clever Age - Siège social : 01.53.34.66.10</code></pre>
<p>Comme nous avons pu le voir, la gestion d&#8217;identités passe par le <a href="http://microformats.org/wiki/hcard">microformat hCard</a> :</p>
<pre><code>&lt;span class="vcard"&gt;
&lt;span class="fn org"&gt;Clever Age&lt;/span&gt; - Siège social : &lt;span class="tel"&gt;&lt;span class="value"&gt;01.53.34.66.10&lt;/span&gt;&lt;/span&gt;
&lt;/span&gt;</code></pre>
<p>La balise <em>span</em> est une balise en-ligne neutre au sens où &#8230; n&#8217;en a pas justement. <em>div</em> est son pendant de type bloc.</p>
<p><strong>Microformater des ressources syndiquées</strong><br />
Voici le code de départ (simplifié par rapport à l&#8217;exemple afin de réduire le code à lire) :</p>
<pre><code>&lt;dl&gt;
&lt;dt&gt;&lt;a href="/rss/blog.xml"&gt;derniers billets du blog&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;dt&gt;&lt;a href="/rss/publications.xml"&gt;dernières publications&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;dt&gt;&lt;a href="/rss/cleverlink.xml"&gt;derniers Clever Links&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;/dl&gt;</code></pre>
<p>Le <a href="http://microformats.org/wiki/xoxo">microformat XOXO</a> nous permet de définir une liste d&#8217;éléments en fonction des <a href="http://microformats.org/wiki/xoxo#The_XOXO_Document_Type">modules <acronym title="eXtensible HyperText Markup Language">XHTML</acronym></a> :</p>
<pre><code>&lt;dl class="xoxo"&gt;
&lt;dt&gt;&lt;a href="/rss/blog.xml" rel="feed" type="text/xml"&gt;derniers billets du blog&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;dt&gt;&lt;a href="/rss/publications.xml" rel="feed" type="text/xml"&gt;dernières publications&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;dt&gt;&lt;a href="/rss/cleverlink.xml" rel="feed" type="text/xml"&gt;derniers Clever Links&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;...&lt;/dd&gt;
&lt;/dl&gt;</code></pre>
<p>Le microformatage a été rendu possible uniquement en utilisant de manière standardisée des attributs définis par <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>.<br />
Malgré cet aspect de simplicité, il faut s&#8217;investir dans la compréhension des spécifications <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>. Ce n&#8217;est un problème que pour les personnes produisant du code <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> non-conforme.</p>
<h3>Valider l&#8217;intégration des microformats</h3>
<p>La question qui se pose toujours après avoir produit un code quelconque c&#8217;est comment le tester ? Il existe à l&#8217;heure actuelle trois outils gratuits :</p>
<ul>
<li> la relecture manuelle avec la documentation à côté <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li> l&#8217;<a href="https://addons.mozilla.org/firefox/addon/4106">extension Operator pour Firefox</a>. Elle n&#8217;est toutefois pas complète et ne permettra pas de tester tous les microformats existants. Cette extension propose dans ses options un <em>mode débogage</em> très utile ;</li>
<li> le service en ligne <a href="http://microformatique.com/optimus/">Optimus</a>. Ce service polyvalent est capable de retourner sous forme de flux <acronym title="eXtensible Markup Language">XML</acronym> ou JSON les microformats présents dans une page Web. Il propose également un validateur, toujours pour une page Web, décrivant les erreurs de microformatage.</li>
</ul>
<h3>Conclusion</h3>
<p>Il est difficile d&#8217;infuser en un article la manière de microformater du contenu. Fort heureusement la documentation des microformats abonde d&#8217;exemples en traitant des cas de figure concrets. Les spécifications restent là pour savoir quels sont les attributs, obligatoires ou pas.</p>
<p>De manière générale <strong>l&#8217;intégration des microformats est relativement aisée</strong> mais il existe 3 difficultés principales à l&#8217;intégration des microformats :</p>
<ul>
<li> difficultés liées à la <strong>plate-forme technique</strong> d&#8217;intégration ;</li>
<li> difficultés liées à un <strong>manque de données</strong>. Certaines spécifications exigent la présence de données particulières que l&#8217;on n&#8217;a pas ou que l&#8217;on ne peut afficher, rendant invalide le contenu ;</li>
<li> difficultés liées à un <strong>code <acronym title="HyperText Markup Language">HTML</acronym> désorganisé</strong>. L&#8217;abus de <em>div</em> et le non-respect de hiérarchie est une source de problèmes et si elle rend pénible l&#8217;intégration des microformats, elle pose problème à la maintenance du code et des <acronym title="Cascading Style Sheets">CSS</acronym>.</li>
</ul>
<p>Intégrer les microformats c&#8217;est finalement mener une <strong>réflexion sur la qualité du code produit</strong>. Un bon code, respectueux des standards et sémantique sera pérenne dans le temps, facilitera le microformatage et aura davantage de chances d&#8217;être accessible.</p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/microformats-comment-microformater-du-contenu-deja-existant/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firebug : bonnes pratiques pour le développement Web</title>
		<link>http://case.oncle-tom.net/2007/bonnes-pratiques-firebug-developpement-web/</link>
		<comments>http://case.oncle-tom.net/2007/bonnes-pratiques-firebug-developpement-web/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 07:00:44 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Standards du Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[logiciels libres]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performances]]></category>
		<category><![CDATA[yslow]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/2007/12/25/bonnes-pratiques-firebug-developpement-web/</guid>
		<description><![CDATA[Firebug fait partie de mes extensions préférées depuis un bon moment. Je l&#8217;estime aujourd&#8217;hui même plus importante que l&#8217;extension Web Developer, c&#8217;est dire. J&#8217;ai pourtant constaté que la plupart de ses utilisateurs la sous-exploitait en se limitant à la console pour consulter les erreurs et éventuellement à l&#8217;inspecteur HTML pour remonter rapidement dans l&#8217;arborescence des [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-logo.gif" alt="Logo Firebug" /></p>
<p><a href="http://case.oncle-tom.net/2007/08/07/facebook-rock-your-firefox/">Firebug fait partie de mes extensions préférées</a> depuis un bon moment. Je l&#8217;estime aujourd&#8217;hui même plus importante que l&#8217;extension <a href="https://addons.mozilla.org/fr/firefox/addon/60">Web Developer</a>, c&#8217;est dire.</p>
<p>J&#8217;ai pourtant constaté que la plupart de ses utilisateurs la sous-exploitait en se limitant à la console pour consulter les erreurs et éventuellement à l&#8217;inspecteur <acronym title="HyperText Markup Language">HTML</acronym> pour remonter rapidement dans l&#8217;arborescence des balises en 1 clic. C&#8217;est bien mais pas assez.<br />
Firebug est tout simplement énorme ! Suffisamment énorme pour <strong>gagner un temps incroyable</strong> dans le développement d&#8217;applications JavaScript et pour <strong>mieux comprendre les incohérences</strong> des <acronym title="Cascading Style Sheets">CSS</acronym> dans une page, entre autre.</p>
<p>Je vous offre aujourd&#8217;hui mon cadeau de Noël pour gagner en productivité et maîtriser cet outil ô combien indispensable.<br />
<span id="more-819"></span><br />
Le plus amusant dans l&#8217;histoire c&#8217;est que le site officiel de Firebug dévoile (succinctement certes) tous les petits <em>plus</em> qui simplifient la vie. Je vais m&#8217;atteler à les éplucher en fonction des domaines d&#8217;utilisation :</p>
<ol>
<li><a href="#firebug-html">pour le <acronym title="HyperText Markup Language">HTML</acronym> et les <acronym title="Cascading Style Sheets">CSS</acronym></a></li>
<li><a href="#firebug-javascript">pour le JavaScript</a></li>
<li><a href="#firebug-performances">pour gagner en performances</a></li>
</ol>
<h3 id="firebug-html">Firebug pour le <acronym title="HyperText Markup Language">HTML</acronym></h3>
<h4>L&#8217;inspection <acronym title="HyperText Markup Language">HTML</acronym></h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-html-inspector.png" alt="Inspecteur HTML Firebug" /></p>
<p>J&#8217;apprécie l&#8217;inspection <acronym title="HyperText Markup Language">HTML</acronym> car elle me permet de retrouver simplement le code lié au visuel. Après avoir activé l&#8217;inspecteur, je survole l&#8217;élément sur lequel je veux travailler, je clique dessus et le volet Firebug se fige dessus en m&#8217;indiquant <strong>toutes ses propriétés <acronym title="Cascading Style Sheets">CSS</acronym>, le modèle de boîte et ses propriétés <acronym title="Document Object Model">DOM</acronym></strong>. On en reparle tout de suite après.<br />
L&#8217;inverse est également possible. C&#8217;est à dire qu&#8217;en survolant le code, la correspondance visuelle dans la page est établie. C&#8217;est rudement pratique pour repérer des éléments qui sortent du flux. Ça l&#8217;est d&#8217;autant plus que les différentes marges (internes, externes, bordures) sont elles aussi mises en surbrillance.</p>
<p>Le gros atout de cet inspecteur c&#8217;est également l&#8217;<strong>édition à la volée de toutes les balises</strong> ! Idéal pour tester diverses classes d&#8217;un objet ayant un impact visuel fort sur son affichage. Cet outil présente un gain de temps énorme par rapport à la modification du code dans son éditeur et un petit coup de touche <kbd>F5</kbd> dans la foulée.</p>
<p>Il faut également retenir que <strong>toute balise est sélectionnable en cliquant sur son nom</strong> (<code>div</code>, <code>h3</code> etc.). Cela a a pour effet de mettre à jour le panneau latéral de Firebug. Panneau latéral qui est également fort utile.</p>
<h4>L&#8217;inspection <acronym title="Cascading Style Sheets">CSS</acronym>, Layout et <acronym title="Document Object Model">DOM</acronym></h4>
<p>Le panneau latéral de l&#8217;inspecteur <acronym title="HyperText Markup Language">HTML</acronym> se compose de 3 onglets, tous très utiles.</p>
<h5>Inspecteur <acronym title="Cascading Style Sheets">CSS</acronym></h5>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-css-inspector.png" alt="Inspecteur CSS Firebug" /></p>
<p>Les propriétés <acronym title="Cascading Style Sheets">CSS</acronym> affichées concernent uniquement l&#8217;objet actif et c&#8217;est ce qui en fait sa force. Ce panneau indique en effet la <strong>cascade <acronym title="Cascading Style Sheets">CSS</acronym> en cours</strong> ce qui permet de comprendre rapidement pourquoi sa feuille de style n&#8217;est pas appliquée comme il faudrait. Elle a la bonne idée de mentionner quelle feuille de style est utilisée et quelle ligne. De quoi corriger ça dans son éditeur favori rapidement.</p>
<p>Ou pas. En effet l&#8217;inspecteur <acronym title="Cascading Style Sheets">CSS</acronym> permet, tout comme l&#8217;inspecteur <acronym title="HyperText Markup Language">HTML</acronym>, de <strong>modifier les propriétés à la volée et sans fioriture</strong>. Si je précise sans fioriture c&#8217;est parce que l&#8217;éditeur à la volée de <em>Web Developer</em> rend parfois l&#8217;affichage de la page bancale en décalant des éléments. Là vous pouvez totalement compter sur l&#8217;éditeur intégré et ce n&#8217;est pas un luxe !<br />
Désactiver, supprimer, modifier ou ajouter des propriétés sont quelques-unes des actions que vous pourrez effectuer à même la page.</p>
<p>Là encore c&#8217;est une des parties où les gains de temps sont énormes. On peut en effet <strong>modifier ses <acronym title="Cascading Style Sheets">CSS</acronym> et les tester tout en observant l&#8217;impact immédiat de ses modifications</strong>.</p>
<h5>Inspecteur du modèle de boîte (<em>Layout</em>)</h5>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-layout-inspector.png" alt="Modèle de boîte avec Firebug" /></p>
<p>Le <a href="http://www.yoyodesign.org/doc/w3c/css2/box.html">modèle de boîte <acronym title="Cascading Style Sheets">CSS</acronym></a> peut vite devenir pénible à gérer et plus particulièrement quand on visualise mal le <strong>cumul des différentes marges</strong>.<br />
Dans tous les cas c&#8217;est appréciable de pouvoir constater les marges en présence et encore, de pouvoir <strong>modifier leurs dimensions à la volée</strong>. Firebug a la bonne idée de colorer les marges intérieures (<code>padding</code>), extérieures (<code>margin</code>) et les bordures (<code>border</code>) d&#8217;une couleur différente.</p>
<p>Il a également la bonne idée d&#8217;afficher une <strong>double règle millimétrée</strong> au survol du panneau <em>layout</em>. Très pratique dans le cas de design en grilles ou nécessitant un certain rythme de visualisation.</p>
<h5>Inspecteur <acronym title="Document Object Model">DOM</acronym></h5>
<p>Ah l&#8217;inspecteur <acronym title="Document Object Model">DOM</acronym> ! S&#8217;il n&#8217;existait pas il faudrait l&#8217;inventer. Firefox proposait déjà un tel outil à la différence près qu&#8217;il était moins pratique d&#8217;utilisation.<br />
L&#8217;inspecteur <acronym title="Document Object Model">DOM</acronym> m&#8217;est moyennement utile dans le cas d&#8217;une simple inspection du code <acronym title="HyperText Markup Language">HTML</acronym> bien que ce soit toujours pratique de visualiser la présence ou pas d&#8217;objets JavaScript dans tel ou tel élément. C&#8217;est fortement appréciable pour la <a href="http://www.prototypejs.org">librairie Prototype</a> étant donné les dégâts causés par son extension du <acronym title="Document Object Model">DOM</acronym> à gogo.</p>
<h3 id="firebug-javascript">Firebug pour le JavaScript</h3>
<h4>L&#8217;inspecteur JavaScript</h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-javascript-watcher.png" alt="Inspecteur JavaScript Firebug" /></p>
<p>C&#8217;est l&#8217;autre <strong>outil indispensable de Firebug</strong>. Avec lui, c&#8217;en est fini des <code>alert(mavariable);</code>. L&#8217;inspecteur <acronym title="Document Object Model">DOM</acronym> prend avec lui toute son utilité.</p>
<p>J&#8217;illustre sur l&#8217;image ci-dessus l&#8217;utilisation des points d&#8217;arrêt (<em>breakpoints</em>). Il suffit d&#8217;un clic à gauche d&#8217;un numéro de ligne pour en placer/retirer un. Concrètement quand l&#8217;exécution du JavaScript arrivera au premier point d&#8217;arrêt, elle va se stopper.<br />
Quel intérêt ? Observer. En agissant ainsi, vous avez la main sur toutes les variables connues au sein de votre code/fonction. Très utile pour <strong>connaître les paramètres passées à la fonction et détecter les erreurs</strong>. C&#8217;est pour cette raison que les <code>alert()</code> deviennent inutiles : tout est à portée de main. Vous ne pesterez plus contre un <code>undefined</code> mal placé <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>En parallèle de ça, l&#8217;inspecteur <acronym title="Document Object Model">DOM</acronym> est à utiliser pour <strong>visualiser d&#8217;un coup d&#8217;œil les différentes variables actives ainsi que leur arborescence</strong>. Comme tout est cliquable, l&#8217;inspecteur vous transporte sur n&#8217;importe quel objet pour en étudier le contenu.</p>
<h4>La console Firebug <em>alias</em> <code>console.*</code></h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-console.png" alt="Console Firebug" /></p>
<p><strong>La console Firebug est l&#8217;autre tueuse d&#8217;<code>alert()</code></strong> et s&#8217;utilise de deux manières.</p>
<p>La plus accessible est d&#8217;<strong>interagir avec</strong>. Vous saisissez votre code, la console l&#8217;exécute et retourne le ou les résultats. Encore une fois les objets sont cliquables et navigable au travers de l&#8217;inspecteur <acronym title="Document Object Model">DOM</acronym>.<br />
La console est utile pour utiliser des fonctions sorties du contexte de l&#8217;initialisation : il devient tout à fait possible de piloter des éléments après le chargement de la page. Ça évite encore une fois des <kbd>F5</kbd> inutiles et consommateurs de temps.</p>
<p>L&#8217;autre manière d&#8217;utiliser la console c&#8217;est de ne pas l&#8217;utiliser. Ou pas de manière active tout du moins puisqu&#8217;<strong>elle est également un objet JavaScript</strong> (<code>console</code>) utilisable dans votre code auquel sont rattachées plusieurs fonctions au nom explicite :</p>
<ul>
<li><code>console.log()</code> : affiche une information standard</li>
<li><code>console.info()</code> : affiche une information de type &laquo;&nbsp;information&nbsp;&raquo;</li>
<li><code>console.warn()</code> : affiche une information de type &laquo;&nbsp;avertissement&nbsp;&raquo;</li>
<li><code>console.error()</code> : affiche une information de type &laquo;&nbsp;erreur&nbsp;&raquo;</li>
<li><code>console.debug()</code> : débogue le contenu d&#8217;un objet directement dans la console</li>
</ul>
<p>Autrement dit, si l&#8217;inspecteur ne suffisait pas, au lieu de lancer un <code>alert(mavariable)</code> (potentiellement dangereux dans une grande boucle <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  qui n&#8217;a jamais cliqué 50 fois sur &laquo;&nbsp;OK&nbsp;&raquo; à cause de ça ?), il vaudra mieux utiliser <code>console.log(mavariable)</code>. Il y a de quoi faire, surtout avec la possibilité de créer des groupes de messages et l&#8217;utilisation de la syntaxe <code>printf</code>.</p>
<p>Et top du top, en cas d&#8217;erreur JavaScript, la console affiche un petit cercle rouge qui rappelle fortement le point d&#8217;arrêt. Normal puisque c&#8217;en est un. Un clic et on évite de rechercher la ligne problématique dans le code. Encore une fois, du temps de gagné.</p>
<h3 id="firebug-performances">Firebug pour les performances</h3>
<p>Après avoir bien développé, Firebug propose de mieux développer. L&#8217;extension magique propose quelques outils sympathiques pour rapidement déceler les problèmes, notamment de scripts trop gourmands ou à optimiser.</p>
<h4>Le traceur réseau</h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-net-tracer.png" alt="Traceur réseau Firebug" /></p>
<p>Avec le traceur réseau c&#8217;est simple, tout ce qui est chargé sur la page est chronométré. Si un élément est systématiquement long à charger en tête de liste, pourquoi ne pas essayer de le déplacer dans le bas de la pile ? Je pense notamment aux appels vers des fichiers JavaScripts externes. Les appeler en bas de page permet d&#8217;éviter des gels de page. C&#8217;est ce que YSlow nous recommandera <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Outre une petite prévisualisation des contenus, le traceur affiche aussi les <strong>statuts des contenus</strong> s&#8217;ils sont différent du statut 200 (<em>found</em>). Et de surligner ça en rouge en cas de fichier introuvable.</p>
<p>J&#8217;aime beaucoup le traceur pour le <strong>suivi des requêtes XHR (appels <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>)</strong>. Un clic sur un appel affiche à la fois les entêtes, les données transmises au serveur et sa réponse. Fini les requêtes <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> qui ne produisent rien sans qu&#8217;on puisse savoir pourquoi. Le clic droit sera également un fidèle allié, notamment pour ouvrir l&#8217;appel <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> dans un nouvel onglet. C&#8217;est plus lisible pour déboguer quand même <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h4>Le profileur JavaScript</h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-profiler.png" alt="Profileur JavaScript Firebug" /></p>
<p>Le profileur (<em>profiler</em>) JavaScript s&#8217;utilise un peu à la manière de la console : de manière active ou au travers de l&#8217;objet <code>console</code>.</p>
<p><strong>Le profileur enregistre tout ce qui se passe entre le moment où il est enclenché et le moment où il est stoppé</strong>. Il va ainsi dénombrer toutes les appels (<em>calls</em>), leur durée d&#8217;exécution et leur fichier d&#8217;origine, entre autre. L&#8217;idée est bien entendu de voir ce qui consomme le plus d&#8217;appels et de temps pour savoir si ce comportement est normal ou pas. À ce stade là, difficile de pousser la granularité du profileur plus loins.</p>
<p>Sauf en utilisant le profileur directement dans le code comme on a déjà pu le faire pour les <em>logs</em>. <code>console.profile()</code> et <code>console.profileEnd()</code> seront vos amis. C&#8217;est vraiment l&#8217;idéal pour <strong>profiler l&#8217;exécution d&#8217;une fonction</strong>, voire même les portions de code exécutée en son sein.</p>
<h4>L&#8217;extension YSlow</h4>
<p style="text-align:center"><img src="http://case.oncle-tom.net/images/2007/12/firebug-yslow.png" alt="Firebug YSlow" /></p>
<p>L&#8217;<a href="https://addons.mozilla.org/en-US/firefox/addon/5369">extension YSlow</a> est une extension pour Firefox mais elle nécessite toutefois la présence de Firebug. Elle s&#8217;articule autour de trois critères.</p>
<p>Il y&#8217; a d&#8217;une part la surveillance des performances. YSlow se base sur la <a href="http://developer.yahoo.com/performance/rules.html">liste des bonnes pratiques établies par Yahoo!</a> (14 à l&#8217;heure actuelle). YSlow passe ces critères en revue et accorde une note en conséquence. Si certaines sont difficiles à tenir, c&#8217;est un bon moyen de s&#8217;intéresser à de <strong>nouvelles pratiques d&#8217;optimisation et de performances</strong>.</p>
<p>Le second critère est affiché dans le panneau <em>stats</em>. Il s&#8217;agit de la capture d&#8217;écran ci-dessus. Certes il s&#8217;agit d&#8217;un simple tableau mais dont les chiffres sont intéressants à étudier. YSlow analyse la page pour un premier et un second chargement. La différence entre les deux ? C&#8217;est que le cache est passé par là et normalement, je dis bien normalement, <strong>le second chargement se doit d&#8217;être beaucoup plus rapide</strong>.<br />
Si ce n&#8217;est pas le cas, il y a de l&#8217;optimisation à faire et cela peut aussi signifier du côté serveur Web. Pas forcément du développement donc.</p>
<p>Enfin on termine sur une partie complémentaire aux stats : les composants (<em>components</em>). Elle distille des informations plus verbeuses que le traceur réseau de Firebug en se focalisant sur les E-Tag, la présence ou pas de compression, la date de validité du cache ainsi que la taille des objets.</p>
<h3>Conclusion</h3>
<p>J&#8217;espère avoir éclairé quelques lanternes sur l&#8217;utilisation de Firebug. Cette extension est suffisamment puissante pour gagner en confort de développement ; il serait dommage de s&#8217;en priver. <strong>On gagne du temps, du confort et surtout, de la qualité de développement</strong>.<br />
À noter qu&#8217;il existe aussi Firebug Lite. Il s&#8217;agit d&#8217;un script JavaScript compatible avec les principaux navigateurs du marché mais comme le <em>Lite</em> l&#8217;indique, les fonctionnalités sont plutôt limitées. Seule la console JavaScript persiste.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2007/bonnes-pratiques-firebug-developpement-web/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Transcender CSS : sublimez le design Web !</title>
		<link>http://case.oncle-tom.net/2007/critique-transcender-css-sublimez-design-web/</link>
		<comments>http://case.oncle-tom.net/2007/critique-transcender-css-sublimez-design-web/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 07:00:59 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Standards du Web]]></category>
		<category><![CDATA[andy clarke]]></category>
		<category><![CDATA[bonnes pratiques]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[eyrolles]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[semantique]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[xhtml]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/2007/12/11/critique-transcender-css-sublimez-design-web/</guid>
		<description><![CDATA[Concevoir un site Internet dans les règles de l&#8217;art demande de multiples compétences : architecture technique, programmation, graphismes, intégration, ergonomie et du bon sens. Transcender CSS : sublimez le design Web ! s&#8217;intéresse à l&#8217;aspect esthétique au travers des CSS. Ou comment CSS, sémantique, intégration XHTML, microformats, sources d&#8217;inspirations et approche du design en grilles [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/12/transcencer-css-couverture.jpg' alt='Couverture de Transcender CSS' /></p>
<p>Concevoir un site Internet dans les règles de l&#8217;art demande de multiples compétences : architecture technique, programmation, graphismes, intégration, ergonomie et du bon sens. <a href="http://www.transcendingcss.com/">Transcender <acronym title="Cascading Style Sheets">CSS</acronym> : sublimez le design Web !</a> s&#8217;intéresse à l&#8217;aspect esthétique au travers des <acronym title="Cascading Style Sheet"><acronym title="Cascading Style Sheets">CSS</acronym></acronym>.</p>
<p>Ou comment <acronym title="Cascading Style Sheets">CSS</acronym>, sémantique, intégration <acronym title="eXtensible HyperText Markup Language">XHTML</acronym>, microformats, sources d&#8217;inspirations et approche du design en grilles sont indispensables pour tirer partie du meilleur du Web.<br />
<span id="more-823"></span><br />
<strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym> : sublimez le design Web !</strong> est un ouvrage paru en France en août 2007 aux éditions Eyrolles ; en novembre 2006 dans le monde anglophone. Le livre est broché sur 360 pages ce qui en fait un livre imposant et propice à de riches illustrations d&#8217;excellente qualité. <strong>Andy Clarke</strong>, son auteur, s&#8217;est permis ce plaisir pour montrer au mieux qu&#8217;un site visuellement alléchant et bien structuré est un succès assuré pour capter l&#8217;attention du visiteur.</p>
<p><strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> ne s&#8217;adresse pas aux débutants puisqu&#8217;il ne s&#8217;attardera pas à vous expliquer les modèles de boîte ou les innombrables bugs d&#8217;Internet Explorer. Son contenu évolue toutefois en douceur de la facilité à la complexité ce qui le rend néanmoins abordable par des néophytes.</p>
<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/12/transcencer-1-decouverte.jpg' alt='Extrait du chapitre “Découverte” de Transcender CSS' /></p>
<h3>Découverte</h3>
<p><q>Organiser les contenus avant tout</q>, tel est le credo de <strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong>. C&#8217;est l&#8217;objectif majeur de cette première partie ; partie qui devrait être lue et transmise par tous les enseignants puisqu&#8217;elle explique <strong>comment on adapte le design au contenu</strong> et non l&#8217;inverse.</p>
<p>La mise en pratique du balisage <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> est menée avec pédagogie. Vous apprendrez comment <strong>traduire une image en balises <acronym title="HyperText Markup Language">HTML</acronym></strong> de manière adaptée. Et un bon balisage c&#8217;est déjà la moitié du travail, l&#8217;autre restant son habillage. Il faut dissocier le contenu et la mise en page tout en n&#8217;oubliant pas un point essentiel : <strong>donner du sens au contenu</strong>.<br />
Il existe de nombreuses balises <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> qui ont chacune leur propre signification : il faut les utiliser pour donner du sens. C&#8217;est non seulement important pour le référencement mais aussi pour ancrer les feuilles de style de manière propre et efficace. Nos professeurs de français nous ont appris à utiliser des verbes riches au lieu de verbes pauvres (être, avoir, aller, prendre etc.) alors faisons de même avec les balises <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> :</p>
<ul>
<li><code>&lt;h1 à h6&gt;</code> pour afficher des titres hiérarchiques</li>
<li><code>&lt;p&gt;</code> pour des paragraphes de textes (les images sont du texte)</li>
<li><code>&lt;ul/ol/li&gt;</code> pour des listes de contenus</li>
<li><code>&lt;q/cite/blockquote&gt;</code> pour des citations de textes</li>
<li><code>&lt;pre/code/kbd&gt;</code> pour des saisies de texte au clavier ou des extraits de code</li>
<li><code>&lt;span/div&gt;</code> dans les autres cas ; <strong>ce sont des balises neutres vides de tout sens</strong></li>
</ul>
<p>Et d&#8217;aborder dans la foulée les <a href="http://case.oncle-tom.net/2007/07/31/semantique-microformats-internet/">microformats</a>. Ça a été ma première surprise car je ne m&#8217;attendais pas à les retrouver dans ce livre. Un duo de page les aborde et montre (un peu trop succinctement) que microformater du contenu n&#8217;a rien d&#8217;impossible, surtout quand la structure <acronym title="eXtensible HyperText Markup Language">XHTML</acronym> est bonne dès le départ.</p>
<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/12/transcencer-2-processus.jpg' alt='Extrait du chapitre “Processus” de Transcender CSS' /></p>
<h3>Processus</h3>
<p><strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> s&#8217;intéresse à une approche industrielle du processus de création. Autrement dit : <strong>comment proposer efficacement une interface graphique à un client/décideur sans investir trop de temps</strong>. Nous savons tous qu&#8217;il y a toujours du changement, mineur mais surtout majeur, et qu&#8217;il est difficile de chambouler toute une feuille de style pour repositionner des éléments en conservant une cohérence.</p>
<p>C&#8217;est là que l&#8217;approche par la <a href="http://jasonsantamaria.com/archive/2004/05/24/grey_box_method.php">méthode de la boîte grise</a> prend tout son sens. Elle définit à l&#8217;aide de boîtes grises l&#8217;<strong>agencement des contenus de la page</strong>. Une boîte, un contenu et le charme opère. Les classiques <em>story-board</em> s&#8217;en approchent.<br />
Cette méthode peut se compléter à l&#8217;aide de symboles pour représenter des éléments annexes (textes, formulaires etc.) mais est surtout très facilement réalisable à partir d&#8217;un logiciel de présentation de type <a href="http://fr.openoffice.org/docs/impress.html">OpenOffice Impress</a> ou <a href="http://office.microsoft.com/fr-fr/powerpoint/">Microsoft Powerpoint</a>.</p>
<p>Une fois les bases de la structure mise en place, l&#8217;heure est venue de présenter une maquette statique. Autrement dit du <acronym title="HyperText Markup Language">HTML</acronym> et des <acronym title="Cascading Style Sheets">CSS</acronym>. Les ajustements resteront possibles puisque la première partie du livre a expliqué comment mettre en œuvre une structure pérenne et libre de mise en forme.<br />
<strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> recommande fortement, et je suis on ne peut plus d&#8217;accord, d&#8217;utiliser de manière poussée les <a href="http://case.oncle-tom.net/2007/08/07/facebook-rock-your-firefox/">extensions indispensables de Firefox</a> que sont <a href="https://addons.mozilla.org/fr/firefox/addon/1843">Firebug</a> et <a href="https://addons.mozilla.org/fr/firefox/addon/60">Web Developer</a>.<br />
J&#8217;y consacrerai un billet mais les éditeurs intégré modifiant à la volée votre page sont des <strong>outils précieux offrant des gains de développement mésestimés</strong>.</p>
<p>L&#8217;ouvrage poursuit sur des <strong>bonnes pratiques d&#8217;organisation de son code</strong> au sein même des feuilles de style. Des pratiques qui permettent de retrouver facilement ses petits sans avoir à chercher inutilement. Des pratiques qui suggèrent également de bien coder pour mieux réutiliser son travail dans d&#8217;autres projets. Si vous estimez votre travail, pourquoi le recommencer intégralement lors du projet suivant ?</p>
<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/12/transcencer-3-inspiration.jpg' alt='Extrait du chapitre “Inspiration” de Transcender CSS' /></p>
<h3>Inspiration</h3>
<p>Cette troisième partie a été mon deuxième choc pendant la lecture. C&#8217;est la partie dans laquelle j&#8217;ai le plus appris car <strong>elle explore des aspects finalement peu abordés</strong> dans les ouvrages liés aux <acronym title="Cascading Style Sheets">CSS</acronym>.</p>
<p>J&#8217;ai commencé à mieux percevoir l&#8217;<a href="http://www.biologeek.com/journal/index.php/l-importance-du-rythme-vertical-en-design-css">intérêt et l&#8217;ingéniosité du rythme vertical</a> grâce à la <strong>divine proportion</strong>. Qui aurait cru que les maths se cachaient aussi subtilement dans le design Web ? Certainement pas moi. Retenez bien le nombre 1,62 (φ) car c&#8217;est le <a href="http://goldennumber.net/">nombre d&#8217;or</a> qui régira avec majesté les designs <acronym title="Cascading Style Sheets">CSS</acronym> les plus réussis.<br />
En français, il s&#8217;agit de la règle des tiers. Au lieu de choisir arbitrairement la taille des contenus, divisez les espaces en largeurs proportionnelles, elles-mêmes divisibles par 1,62 etc. <strong>La clarté en résultat est tout simplement saisissante</strong>.</p>
<p>Tout ceci nous amène à parler du <a href="http://subtraction.com/">design par grille</a>. Vous venez de suivre le lien ? Vous aurez probablement remarqué, consciemment ou pas, que la page est découpée en 8 colonnes de largeur identiques. Certains contenus occupent davantage de place mais devinez-quoi ? Cela correspond toujours à un certain nombre de colonnes, pas une largeur hasardeuse.<br />
Cette lubie n&#8217;est pas si excentrique que cela puisqu&#8217;elle nous provient directement des &#8230; journaux papiers. Qui aurait cru que le New York Times aurait pu inspirer les meilleurs designers du Web ? Et pourtant, on ne regardera plus les journaux de la même manière en observant leur structure à 6 ou 8 colonnes. Du nombre d&#8217;or en veux-tu en voilà.</p>
<p><strong>Andy Clarke</strong> termine ce chapitre sur les sources d&#8217;inspirations. Là non plus il n&#8217;y a pas de frein à l&#8217;imagination puisque <strong>tout est susceptible de catalyser créativité</strong> : architectures d&#8217;immeubles, coupures de presse, publicités de magazines, affiches diverses et variées. Vous l&#8217;aurez compris, <strong>tous les supports visuels</strong> facilement agrégeables. </p>
<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/12/transcencer-4-transcendance.jpg' alt='Extrait du chapitre “Transcendance” de Transcender CSS' /></p>
<h3>Transcendance</h3>
<p>Cette partie termine en apothéose <strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong>. Nous savons intégrer, nous savons structurer et nous savons imaginer alors maintenant il va falloir sublimer. Au prix du livre, ça serait dommage que notre côté créatif n&#8217;aie pas pris du galon <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Il n&#8217;y a d&#8217;ailleurs qu&#8217;un point sur lequel j&#8217;ai du mal à adhérer : cette <strong>adhésion au positionnement absolu/relatif et le dénigrement déguisé des flottants</strong>. Si les positionnements relatifs permettent de forcer le positionnement d&#8217;un bloc, c&#8217;est en revanche une solution beaucoup moins flexible dans la majorité des cas. Cette technique oblige, à mes yeux, de connaître les tailles des éléments à positionner. <strong>C&#8217;est parfois impossible</strong>, <em>surtout</em> si on veut pouvoir s&#8217;affranchir de largeurs fixes pour profiter de <strong>designs élastiques</strong>.<br />
<em>Je comprends néanmoins</em> que c&#8217;est une pratique appréciable pour les designs en grilles.</p>
<p>De très nombreux cas pratiques abondent dans cette partie. Ces exemples stimulent l&#8217;imagination avec des mises en pages (et des variantes) convaincantes, attractives et on ne peut plus déclinables dans le monde réel. Réel ou presque puisqu&#8217;ils se basent sur des navigateurs valides uniquement.<br />
C&#8217;est l&#8217;occasion d&#8217;aborder le génie de <strong>Dean Edwards</strong> avec <a href="http://dean.edwards.name/IE7/">IE7, la librairie Javascript ultime pour Internet Explorer</a>. Cette librairie permet de mettre à niveau <em>Internet Explorer 5</em> et <em>Internet Explorer 6</em> au niveau d&#8217;<em>Internet Explorer 7</em>. Ce n&#8217;est certes pas la panacée mais ce n&#8217;est plus l&#8217;enfer truffé d&#8217;incertitude que l&#8217;on haït tant.</p>
<p><strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> conclut sur une quarantaine de pages avec les <acronym title="Cascading Style Sheets">CSS</acronym> 3 en mêlant exemples pratiques et des comparaisons entre <acronym title="Cascading Style Sheets">CSS</acronym> 2 et <acronym title="Cascading Style Sheets">CSS</acronym> 3. J&#8217;ai été ravi de voir en pratique l&#8217;affichage multi-colonnes sans jouer avec les flottants, l&#8217;habillage d&#8217;un bloc avec plusieurs bordures en images (sans balises superflues) et surtout l&#8217;<strong>Advanced Layout</strong>.<br />
L&#8217;Advanced Layout est probablement l&#8217;avancée la plus attendue car elle permet de <strong>s&#8217;affranchir des positions absolues pour repositionner du contenu sur la page</strong> simplement. Et de retrouver les notions de grilles puisque des régions sont définies dans la feuille de style. Au designer de déplacer un contenu dans le flux sans le faire quitter.</p>
<p>Autant dire que les <strong>designs bâtis sur <acronym title="Cascading Style Sheets">CSS</acronym> 3 seront riches en créativité</strong>. Et ce n&#8217;est pas l&#8217;initiative <a href="http://www.gotocss3.com/">Goto CSS3</a> qui dira le contraire <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Conclusion</h3>
<p>Cet ouvrage m&#8217;a énormément plu pour 2 raisons :</p>
<ul>
<li>j&#8217;ai failli croire que je n&#8217;allais rien apprendre</li>
<li>le contenu est ouvert vers l&#8217;avenir</li>
</ul>
<p>En effet plutôt que de nous dire <strong>quoi faire</strong>, <strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> explique <strong>comment mieux faire</strong>. C&#8217;est véritablement appréciable car en lisant le livre on adapte son contenu à ses besoins. Ses pages sont généreusement émargées de conseils, d&#8217;astuces et de ressources qui enrichissent la perception de la conception du design Web. Je me suis d&#8217;ailleurs surpris à relire le livre mais uniquement ses marges de peur d&#8217;avoir raté un lien essentiel &#8230;</p>
<p>Vous le savez tout aussi bien que moi, le gros problème des ouvrages réside dans des cas pratiques difficilement réutilisables au quotidien. <strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> a l&#8217;intelligence de proposer des recettes pour <strong>mieux aborder la conception des sites</strong>, des sources d&#8217;inspiration jusqu&#8217;aux secrets du découpage en grilles. Qui eût cru que la presse papier avait encore de belles leçons à donner au Web ?</p>
<p><strong>Transcender <acronym title="Cascading Style Sheets">CSS</acronym></strong> ne livre pas clé en mains des solutions mais vous aidera à y voir plus clair, à comprendre pour mieux réagir. En soi c&#8217;est ce que j&#8217;attends d&#8217;un livre à 30€. <strong>Une valeur sure</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2007/critique-transcender-css-sublimez-design-web/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Rock your Firefox : mes extensions Firefox préférées</title>
		<link>http://case.oncle-tom.net/2007/facebook-rock-your-firefox/</link>
		<comments>http://case.oncle-tom.net/2007/facebook-rock-your-firefox/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 11:00:26 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[optimisation]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/2007/08/07/facebook-rock-your-firefox/</guid>
		<description><![CDATA[Read/WriteWeb fait partie de mes sources d&#8217;informations quotidiennes. Je suis tombé aujourd&#8217;hui sur un article concernant le lancement d&#8217;une nouvelle application Facebook permettant de recommander ses extensions favorites : Rock your Firefox. Ca tombe bien puisque je songeais depuis quelques jours à parler des extensions que j&#8217;utilise quotidiennement dans Firefox. Certaines n&#8217;intéresseront que les développeurs, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/08/rock-your-firefox.gif' alt='Rock your Firefox logo' /></p>
<p><a href="http://www.readwriteweb.com/">Read/WriteWeb</a> fait partie de mes sources d&#8217;informations quotidiennes. Je suis tombé aujourd&#8217;hui sur un article concernant le <a href="http://www.readwriteweb.com/archives/firefox_launches_facebook_app.php">lancement d&#8217;une nouvelle application Facebook permettant de recommander ses extensions favorites</a> : <a href="http://www.facebook.com/apps/application.php?api_key=b342b55715483ad3ff6a5495b9368702">Rock your Firefox</a>.</p>
<p>Ca tombe bien puisque je songeais depuis quelques jours à parler des extensions que j&#8217;utilise quotidiennement dans Firefox. Certaines n&#8217;intéresseront que les développeurs, d&#8217;autres les amateurs de praticité.<br />
<span id="more-735"></span></p>
<h3>Extensions Firefox</h3>
<p>Avant toute chose, si jamais vous vous posiez la question <q>où trouver de nouvelles extensions pour Firefox</q> (ou <em>Thunderbird</em> ou d&#8217;autres produits <em>Mozilla</em>), rendez-vous sur <a href="https://addons.mozilla.org/fr/">Mozilla Add-ons</a>.<br />
L&#8217;application Facebook <strong>Rock your Firefox</strong> reprend la liste des extensions et des thèmes en vous proposant de choisir vos préférées et de les partager sur votre profil. C&#8217;est un bon moyen pour afficher votre qualité d&#8217;utilisation de ce navigateur libre et gratuit.</p>
<h3>Extensions &laquo;&nbsp;Pratiques&nbsp;&raquo;</h3>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/10">Adblock</a></h4>
<p>Certains sites sont envahis de publicités qui gênent affreusement la navigation. Plutôt que de se passer d&#8217;un contenu intéressant, autant supprimer les nuisances. <strong>Adblock</strong> est là pour ça. Que ça soit des images,des animations Flash ou bien encore des scripts JavaScript, <strong>Adblock liste le contenu des ressources bloquables</strong> et permet même de créer des filtres génériques à l&#8217;aide du caractère <code>*</code> (<em>wildcard</em>, remplace un à plusieurs caractères, peu importe lesquels).<br />
<strong>Attention</strong> toutefois, la <em>publicité est vitale pour de nombreux sites</em> donc bloquez avec intelligence.</p>
<h4><a href="https://www.google.com/tools/firefox/browsersync/">Google Browser Sync</a></h4>
<p>C&#8217;est certainement l&#8217;extension que j&#8217;installe en premier et pour cause : <strong>Google Browser Sync sauvegarde tous mos favoris, cookies et historique de navigation de manière sécurisée</strong>.<br />
Je l&#8217;utilise sur plusieurs ordinateurs et plusieurs installations de Firefox ce qui me permet de retrouver tous mes favoris peu importe où je me trouve, à partir du moment où il y a une connexion Internet. A utiliser pour vos sauvegardes ou vos besoins de mobilité.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/636"><acronym title="Portable Document Format">PDF</acronym> Download</a></h4>
<p>Je n&#8217;aime pas que les documents <acronym title="Portable Document Format"><acronym title="Portable Document Format">PDF</acronym></acronym> s&#8217;ouvrent directement dans un onglet ou une fenêtre de mon navigateur Web. Surtout quand les plus lourds le font planter. <strong><acronym title="Portable Document Format">PDF</acronym> Download</strong> affiche systématiquement plusieurs choix tels que <q>Afficher dans la page</q>, <q>Ouvrir en tant que <acronym title="Portable Document Format">PDF</acronym></q> ou encore <q>Télécharger directement</q>.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/1146">Screengrab!</a></h4>
<p><strong>Screengrab</strong> est une <strong>solution propre pour effectuer une capture d&#8217;écran</strong> de sa portion visible, d&#8217;une page Web complète ou bien d&#8217;une portion d&#8217;écran bien définie. Vous l&#8217;aurez compris, pas besoin de faire 10 000 captures pour une page étalée en hauteur et pas besoin d&#8217;avoir <em>Photoshop</em> ou <em>The Gimp</em> d&#8217;installé pour s&#8217;en sortir.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/1122">Tab Mix Plus</a></h4>
<p><strong>Tab Mix Plus</strong> apporte un <strong>lot considérable d&#8217;options pour mieux régler le comportement de vos onglets</strong>. Personnellement je l&#8217;utilise pour que toute nouvelle fenêtre se charge obligatoirement dans un nouvel onglet <em>sans me déranger</em> (chargement en arrière-plan). Je profite aussi de son indicateur de chargement allant de 0 à 100%.<br />
En revanche j&#8217;évite son système de récupération en cas de plantage, il fonctionne moins bien que celui intégré à Firefox (pour les rares cas où cela s&#8217;est produit chez moi).</p>
<p style="text-align:center"><img src='http://case.oncle-tom.net/images/2007/08/firefox-extensions.gif' alt='Extensions Firefox' /></p>
<h3>Extensions &laquo;&nbsp;Développeur Web&nbsp;&raquo;</h3>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/271">ColorZilla</a></h4>
<p><strong>ColorZilla</strong> est une simple <strong>pipette colorimétrique</strong> mais ô combien efficace. Un clic sur un endroit de la page mémorise automatiquement le code couleur associé et permet de l&#8217;utiliser sous plusieurs formats dans n&#8217;importe quel autre programme dont <em>Photoshop</em> ou votre éditeur <acronym title="Cascading Style Sheets"><acronym title="Cascading Style Sheets">CSS</acronym></acronym> favori.</p>
<h4><acronym title="Document Object Model">DOM</acronym> Inspector</h4>
<p>C&#8217;est la seule extension qui ne se télécharge pas/plus (jusqu&#8217;à la version 1.5 c&#8217;était encore possible). L&#8217;inspecteur <acronym title="Document Object Model"><acronym title="Document Object Model">DOM</acronym></acronym> s&#8217;installe en même temps que Firefox (si vous cochez la case adéquate) et permet comme son nom l&#8217;indique, d&#8217;<strong>inspecter les noeuds de votre document</strong> (<acronym title="HyperText Markup Language"><acronym title="HyperText Markup Language">HTML</acronym></acronym> ou <acronym title="eXtensible Markup Language"><acronym title="eXtensible Markup Language">XML</acronym></acronym>), d&#8217;en voir leurs attributs, fonctions et ce de <em>manière récursive</em>.<br />
L&#8217;analyse en temps réel permet même de voir les modifications apportées à l&#8217;arbre <acronym title="Document Object Model">DOM</acronym> par le biais du JavaScript.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/1843">Firebug</a></h4>
<p><strong>Firebug</strong> est obligatoire lorsqu&#8217;on souhaite <strong>explorer avec aisance la structure <acronym title="HyperText Markup Language">HTML</acronym></strong> d&#8217;un document, <strong>exécuter du JavaScript à même la page</strong> ou <strong>déboguer efficacement son code</strong>, ne serait-ce qu&#8217;en se rendant compte des temps de chargement des différents fichiers (<acronym title="Cascading Style Sheets">CSS</acronym>, JavaScript, Flash etc.).<br />
Ca incite notamment à taper son code directement dans sa console plutôt qu&#8217;à le modifier et recharger la page pour déceler des erreurs ou étudier le comportement de la page. On gagne du temps et votre employeur de l&#8217;argent.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/5369">Firebug : YSlow</a></h4>
<p><strong>YSlow</strong> est une extension Firefox mais dédiée à Firebug. Une petite première <em>made in Yahoo!</em> très utile. Cette extension permet de calculer les <strong>performances de la page</strong>, <strong>suggère des optimisations</strong> et <strong>analyse les différents composants</strong> ainsi que leurs caractéristiques (<acronym title="Uniform Resource Locator">URL</acronym>, poids, temps de réponse et ETag).<br />
Indispensable pour les phases d&#8217;<strong>optimisation</strong> et de <em>fine tuning</em> comme dirait l&#8217;autre.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/4106">Operator</a></h4>
<p>Je vous ai déjà parlé de l&#8217;<a href="http://case.oncle-tom.net/2007/07/31/semantique-microformats-internet/">intérêt des microformats</a> ? <strong>Operator</strong> est un outil notifiant des microformats actifs sur les pages que vous visitez. Outre la navigation interactive procurée, Operator signale dans la console de débogage d&#8217;éventuelles erreurs (élément absent, malformé ou invalidant un microformat).</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/2063">TimeStamp Converter</a></h4>
<p>Le nombre 1198533599 vous dit quelque chose ? Avec <strong>TimeStamp Converter</strong> ça sera le cas. Cette extension convertit les temps Unix en heure humainement compréhensible et vice-versa. Elle le fait également à partir de sélections de texte, évitant ainsi toute saisie pénible.</p>
<h4><a href="https://addons.mozilla.org/fr/firefox/addon/60">Web Developer</a></h4>
<p>Le Saint-Graal du développeur Web. Triturer la page, modifier ses mécanismes, débloquer des champs en lecture seule, afficher les champs masqués, topographie de la page, modifier la résolution et afficher l&#8217;arborescence en cascade de la page jusqu&#8217;à un élément pointé de la souris sont le genre d&#8217;outils fournis par <strong>Web Developer</strong>. Couplée avec Firebug, vous transformez un &laquo;&nbsp;simple&nbsp;&raquo; navigateur Web en machine de guerre du développement Web propre et efficace.</p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2007/facebook-rock-your-firefox/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

