<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://hanblog.info/blog/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Hanblog - Mot-clé - planetmozfr</title>
  <link>http://hanblog.info/blog/</link>
  <atom:link href="http://hanblog.info/blog/feed/tag/planetmozfr/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Sun, 15 Apr 2012 17:07:21 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Relancer les soirées performances web</title>
    <link>http://hanblog.info/blog/post/2012/01/Relancer-les-soir%C3%A9es-performances-web</link>
    <guid isPermaLink="false">urn:md5:0db7dd2ea8b2bd60832578835a977b32</guid>
    <pubDate>Wed, 11 Jan 2012 02:09:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;Depuis décembre, j'ai repris l'organisation des &lt;a href=&quot;https://twitter.com/WebperfParis&quot;&gt;soirées parisiennes concernant les performances des sites web&lt;/a&gt;. Mon but premier est d'installer un rendez-vous mensuel afin de pérenniser l'événement. Grâce à &lt;a href=&quot;https://twitter.com/jeuxweb&quot;&gt;JF&lt;/a&gt;, nous avons &lt;a href=&quot;http://www.webperf-france.net/&quot;&gt;un site un peu plus sympa&lt;/a&gt; à manipuler que le précédent.&lt;/p&gt;


&lt;p&gt;Et la &lt;a href=&quot;http://www.webperf-france.net/2012/01/soiree-de-janvier-le-16/&quot;&gt;deuxième soirée arrive bientôt&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2012/01/Relancer-les-soir%C3%A9es-performances-web#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2012/01/Relancer-les-soir%C3%A9es-performances-web#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/140</wfw:commentRss>
      </item>
    
  <item>
    <title>pdf.js, ça déchire.</title>
    <link>http://hanblog.info/blog/post/2012/01/pdf.js-ca-d%C3%A9chire</link>
    <guid isPermaLink="false">urn:md5:34a196066d9ab4850844b73dfedf843f</guid>
    <pubDate>Sat, 07 Jan 2012 01:10:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;Le &lt;a href=&quot;https://github.com/mozilla/pdf.js&quot; hreflang=&quot;en&quot;&gt;projet pdf.js&lt;/a&gt; a démarré en mai 2011. Le but est de créer un moteur de rendu de PDF en utilisant simplement les technologies du web.&lt;/p&gt;


&lt;p&gt;Normalement, le rendu des PDFs dans les navigateurs est délégué à un autre programme. Que ça soit une application complète comme le lecteur Acrobat ou Aperçu sur Mac ou un programme intégré au navigateur pour Chrome. Cette approche augmente les problèmes de sécurité puisque cela augmente la surface de code attaquable. En n'utilisant que les APIs des navigateurs, on n'augmente pas cette surface. Cela permet aussi de voir ce qu'il est possible de faire avec les technologies web et de les améliorer lorsque quelque chose n'est pas possible.&lt;/p&gt;


&lt;p&gt;Le travail est suffisamment avancé aujourd'hui pour avoir &lt;a href=&quot;https://addons.mozilla.org/firefox/addon/pdfjs/&quot;&gt;une extension Firefox&lt;/a&gt; capable de rendre un bon nombre des PDFs dans la nature. Je vous invite à lire &lt;a href=&quot;http://andreasgal.com/2011/06/15/pdf-js/&quot; hreflang=&quot;en&quot;&gt;l'annonce initiale&lt;/a&gt; expliquant les buts du projet et les pointeurs vers tout ce qu'il y a à savoir. La présentation suivante de Julian Viereck est aussi très intéressante.&lt;/p&gt;

&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/Iv15UY-4Fg8?fs=1&amp;feature=oembed&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2012/01/pdf.js-ca-d%C3%A9chire#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2012/01/pdf.js-ca-d%C3%A9chire#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/135</wfw:commentRss>
      </item>
    
  <item>
    <title>NSID</title>
    <link>http://hanblog.info/blog/post/2012/01/NSID</link>
    <guid isPermaLink="false">urn:md5:8eb45d16ad3d038f748447f79ef67c72</guid>
    <pubDate>Mon, 02 Jan 2012 22:13:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;C'est l'acronyme de &lt;a href=&quot;http://noshavingindecember.org/&quot;&gt;No Shaving In December&lt;/a&gt;, autrement dit &quot;Pas de rasage en décembre&quot;. C'est une petite coutume chez Mozilla et je l'ai suivie cette année pour voir.&lt;/p&gt;


&lt;p&gt;Du coup, je suis impressionné par la différence de pousse des poils en fonction des personnes. Certains ont en 10 jours ce que j'ai en 30.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/rik24d/6619066775/&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7008/6619066775_55b0fe5cca.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/rik24d/6619069437/&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7017/6619069437_0be47d57fd.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;C'était rigolo mais demain c'est rasage&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2012/01/NSID#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2012/01/NSID#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/132</wfw:commentRss>
      </item>
    
  <item>
    <title>Mes deux premières extensions</title>
    <link>http://hanblog.info/blog/post/2011/12/Mes-deux-premi%C3%A8res-extensions</link>
    <guid isPermaLink="false">urn:md5:38a57cfeb7e57270c087be096e862247</guid>
    <pubDate>Sun, 18 Dec 2011 22:13:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;Cet été, j'ai voulu voir un peu ce que donnait la création d'extensions pour Firefox via le &lt;a href=&quot;https://addons.mozilla.org/en-US/developers/builder&quot;&gt;Addon SDK&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Longdesk&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.nota-bene.org/_Stephane_&quot;&gt;Stéphane&lt;/a&gt; publiait cet été une photo par jour. Il utilise l'attribut &lt;code&gt;longdesc&lt;/code&gt; pour décrire la photo. Là où ce jeune est taquin, c'est qu'en plus, il y glissait des explications sur l'origine de la photo, des remarques personnelles, etc. Donc il était indispensable de lire aussi cette page de description. Voici l'origine de cette extension qui rajoute un lien vers la description sous les images.&lt;/p&gt;


&lt;p&gt;Et comme Stéphane a bon gout, il utilise cette extension et a même proposé &lt;a href=&quot;https://github.com/Rik/longdesk/pull/2&quot;&gt;une correction&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/addon/longdesk/&quot;&gt;L'extension sur AMO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Rik/longdesk&quot;&gt;Le code sur Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;au-revoir-utm&lt;/h2&gt;

&lt;p&gt;Là ce sont les multiples liens que l'on voit fleurir via RSS, Twitter ou autres avec des paramètres. Ils sont utilisés par Google Analytics et polluent les URLs. Cette extension ne fait que remplacer l'adresse actuelle, via la méthode &lt;a href=&quot;https://developer.mozilla.org/en/DOM/window.history&quot;&gt;history.replaceState()&lt;/a&gt; de HTML5. Il n'y a donc aucune perte de performance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/addon/au-revoir-utm/&quot;&gt;L'extension sur AMO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Rik/au-revoir-utm&quot;&gt;Le code sur Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le code étant disponible, si vous voulez porter ces extensions (très simples) sur d'autres navigateurs, allez-y&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2011/12/Mes-deux-premi%C3%A8res-extensions#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2011/12/Mes-deux-premi%C3%A8res-extensions#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/128</wfw:commentRss>
      </item>
    
  <item>
    <title>Le cycle accéléré de Firefox</title>
    <link>http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox</link>
    <guid isPermaLink="false">urn:md5:64c709f60c57eebd51dccc0d19ed521d</guid>
    <pubDate>Wed, 15 Jun 2011 13:29:00 +0200</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;Avec la sortie de Firefox 4 plus de un an et deux mois après Firefox 3.6, Mozilla a décidé de changer de rythme de sortie de nouveautés. Il était très frustrant d'avoir des nouveautés dans les versions de développement et d'attendre 6 mois ou plus pour les délivrer au grand public.&lt;/p&gt;


&lt;p&gt;On peut regarder l'exemple flagrant de WebM. Ce codec vidéo a été annoncé le 19 mai 2010. Nous avons des versions de développement disponible dès le premier jour. Le temps de stabiliser et tester tout ça, il aurait été possible d'avoir une version stable à l'été 2010. C'est d'ailleurs ce qu'ont fait Opera (10.6 le 1er juillet) et Chrome (6 le 2 septembre). Par contre, il faudra attendre le 22 mars 2011 pour voir le support de WebM dans Firefox 4. Frustrant, non&amp;nbsp;?&lt;/p&gt;


&lt;h2&gt;Le nouveau cycle&lt;/h2&gt;

&lt;p&gt;Avec la nouvelle organisation, une nouvelle version stable (ou finale) est prête toutes les &lt;strong&gt;six semaines&lt;/strong&gt;. Voyons voir comment c'est possible avec les différents parfums de Firefox disponibles.&lt;/p&gt;


&lt;h3&gt;Nightly (ou trunk ou mozilla-central)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ici, on trouve le code le plus récent et le moins testé&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#pnote-123-1&quot; id=&quot;rev-pnote-123-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. C'est là que toutes les nouveautés ajoutées la veille sont disponibles. Pour avoir du code plus récent que ça, il vous faudra compiler vous même Firefox.&lt;/li&gt;
&lt;li&gt;Au moment où j'écris ces lignes, la &lt;strong&gt;version 7&lt;/strong&gt; se prépare dans ce canal.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://nightly.mozilla.org&quot; hreflang=&quot;en&quot;&gt;Où télécharger&lt;/a&gt; - Pas très stable, gare aux doigts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Aurora&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ici, on prend une copie à un instant T de ce qui se passe dans Nightly. Pendant que le développement dans Nightly continue, dans Aurora, on peaufine les nouveautés ou on décide de les enlever. Par contre, on n'ajoute pas de nouveautés. Donc si une fonctionnalité que vous attendez n'est pas dans Aurora, elle ne sera pas ajoutée dans la version finale portant le même numéro de version.&lt;/li&gt;
&lt;li&gt;C'est donc plus stable que Nightly mais avec encore quelques aspérités.&lt;/li&gt;
&lt;li&gt;Au moment où j'écris ces lignes, la &lt;strong&gt;version 6&lt;/strong&gt; se prépare dans ce canal.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.com/firefox/channel/&quot;&gt;Où télécharger&lt;/a&gt; - Assez stable&lt;/li&gt;
&lt;li&gt;On recherche beaucoup d'utilisateurs pour cette version qui est nouvelle.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Beta&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Là on prend ce qui était dans Aurora et on l'envoie à tous les bêta-testeurs. Ce qui fait quelques millions de personnes. Ça permet de mettre le dernier coup de polish et d'avoir le plus de retours possibles sur les coins sombres du web. Par exemple les intranet ou les sites bancaires.&lt;/li&gt;
&lt;li&gt;C'est du costaud, ça marche très bien, des millions de personnes l'utilisent.&lt;/li&gt;
&lt;li&gt;Au moment où j'écris ces lignes, la &lt;strong&gt;version 5&lt;/strong&gt; se prépare dans ce canal.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla.com/firefox/channel/&quot;&gt;Où télécharger&lt;/a&gt; - Go les yeux fermés&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Finale&lt;/h3&gt;

&lt;p&gt;Et évidemment, la version finale avec plusieurs centaines de millions d'utilisateurs. Actuellement, c'est la version 4 mais le 21 juin sortira la version 5. Cela signifie que Beta passera en version 6, Aurora en 7 et Nightly en 8&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#pnote-123-2&quot; id=&quot;rev-pnote-123-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;. Il y a en permanence n, n+1, n+2 et n+3 en préparation. Et le changement suivant de n interviendra début août avec la sortie de Firefox 6&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#pnote-123-3&quot; id=&quot;rev-pnote-123-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;On peut voir tout cela comme un système de filtrage. Nightly a du contenu brut, Aurora est passé à travers un premier tamis pour dégrossir, Beta prend un tamis plus fin et dans Finale, il ne reste que des pépites :)&lt;/p&gt;


&lt;p&gt;&lt;em&gt;NB&amp;nbsp;: Pour éviter les trolls, je supprimerai tout commentaire sur les numéros de versions.&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#rev-pnote-123-1&quot; id=&quot;pnote-123-1&quot;&gt;1&lt;/a&gt;] Il est pourtant d'une belle qualité, grâce à de nombreux tests automatisés&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#rev-pnote-123-2&quot; id=&quot;pnote-123-2&quot;&gt;2&lt;/a&gt;] pas immédiatement, il faut environ une semaine pour que tout migre&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#rev-pnote-123-3&quot; id=&quot;pnote-123-3&quot;&gt;3&lt;/a&gt;] si tout se passe bien&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2011/06/Le-cycle-acc%C3%A9l%C3%A9r%C3%A9-de-Firefox#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/123</wfw:commentRss>
      </item>
    
  <item>
    <title>Les formulaires HTML5 dans Firefox 4</title>
    <link>http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4</link>
    <guid isPermaLink="false">urn:md5:76788fd89fddb0b137d47a453a970ca2</guid>
    <pubDate>Thu, 19 May 2011 17:37:00 +0200</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>&lt;p&gt;Firefox 4 est sorti il y a plus d'un mois (&lt;a href=&quot;http://firefox.com&quot;&gt;et il faut aller le télécharger d'ailleurs !&lt;/a&gt;). Parmi la &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/check-marks/&quot; hreflang=&quot;en&quot;&gt;liste des nombreuses améliorations&lt;/a&gt;, on trouve un bien meilleur support des formulaires HTML5. De nouveaux champs (email, url, tel, search), de nouveaux attributs (placeholder, autofocus, list), des formulaires découplés et différents mécanismes de validations. On doit principalement remercier &lt;a href=&quot;http://blog.oldworld.fr/&quot;&gt;Mounir Lamouri&lt;/a&gt; pour cela.&lt;/p&gt;


&lt;p&gt;Cet article est basé sur celui publié en novembre sur &lt;a href=&quot;http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/&quot; hreflang=&quot;en&quot;&gt;hacks.mozilla.org&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Précision: certains exemples fonctionneront dans d'autres navigateurs mais vous aurez besoin de Firefox 4 pour les voir tous.&lt;/p&gt;


&lt;h2&gt;Nouveaux types de champs&lt;/h2&gt;


&lt;p&gt;À l'instar des nouveaux éléments, HTML5 introduit de nouveaux types de champs pour mieux exprimer le genre d'informations que l'on souhaite recevoir. Le comportement et l'apparence de la plupart de ces nouveaux champs ne s'éloignent pas beaucoup du champ texte mais ils apportent un nouveau sens. Cela permet aux navigateurs de fournir une meilleure expérience aux utilisateurs. Par exemple, un navigateur mobile pourra fournir un clavier spécial pour certains champs&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#pnote-122-1&quot; id=&quot;rev-pnote-122-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. Ou alors il pourra pré-remplir les champs téléphoniques en se basant sur votre carnet d'adresses. Et si ce n'est pas le navigateur, des extensions pourront imaginer d'autres usages en s'appuyant sur ces nouveaux champs.&lt;/p&gt;


&lt;p&gt;Firefox 4 ajoute quatre nouveaux types de champs&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;search&quot;&gt;
&amp;lt;input type=&quot;tel&quot;&gt;
&amp;lt;input type=&quot;url&quot;&gt;
&amp;lt;input type=&quot;email&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Parmi ces quatre champs, &lt;code&gt;url&lt;/code&gt; et &lt;code&gt;email&lt;/code&gt; valideront aussi leur contenu. Mais on en parlera plus en détails plus loin.&lt;/p&gt;


&lt;p&gt;Il y a aussi une nouvelle sorte de champ:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;output for=&quot;i1 i2&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Vous pouvez utiliser cet élément pour représenter une partie de la page qui réagit aux interactions avec le formulaire. Pensez au prix total dans un panier d'achats après avoir changé la quantité d'articles ou les options d'envoi. Ce champ ne calculera rien de lui-même, il faudra le faire avec JavaScript, mais cela donnera des indications aux technologies d'assistance. L'attribut &lt;code&gt;for&lt;/code&gt; est la liste des ID des éléments qui ont participé au calcul.&lt;/p&gt;


&lt;p&gt;Les champs textes ont été améliorés par le support de &lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt;. Cela permet de fournir une liste de suggestions à l'utilisateur pendant qu'il tape. On associe le champ et les suggestions en utilisant l'attribut &lt;code&gt;list&lt;/code&gt;. Et pour les navigateurs qui ne supportent pas ce mécanisme, ils afficheront le contenu de l'élément &lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt;. Donc n'oubliez pas d'y mettre un balisage correct afin d'avoir une bonne dégradation.&lt;/p&gt;

&lt;label&gt;Entrez une ville : &lt;input list=&quot;cities&quot;&gt;&lt;/label&gt;
&lt;datalist id=&quot;cities&quot;&gt;
  ou
  &lt;label&gt;choisissez-en une
    &lt;select&gt;
      &lt;option value=&quot;Paris&quot;&gt;Paris&lt;/option&gt;
      &lt;option value=&quot;Londres&quot;&gt;Londres&lt;/option&gt;
      &lt;option value=&quot;Berlin&quot;&gt;Berlin&lt;/option&gt;
      &lt;option value=&quot;New York&quot;&gt;New York&lt;/option&gt;
      &lt;option value=&quot;Tokyo&quot;&gt;Tokyo&lt;/option&gt;
      &lt;option value=&quot;Sydney&quot;&gt;Sydney&lt;/option&gt;
      &lt;option value=&quot;Johannesburg&quot;&gt;Johannesburg&lt;/option&gt;
      &lt;option value=&quot;Melun&quot;&gt;Melun&lt;/option&gt;
    &lt;/select&gt;
  &lt;/label&gt;
&lt;/datalist&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;label&gt;Entrez une ville : &amp;lt;input list=&quot;cities&quot;&gt;&amp;lt;/label&gt;
&amp;lt;datalist id=&quot;cities&quot;&gt;
  ou
  &amp;lt;label&gt;choisissez-en une
    &amp;lt;select&gt;
      &amp;lt;option value=&quot;Paris&quot;&gt;Paris&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Londres&quot;&gt;Londres&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Berlin&quot;&gt;Berlin&amp;lt;/option&gt;
      &amp;lt;option value=&quot;New York&quot;&gt;New York&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Tokyo&quot;&gt;Tokyo&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Sydney&quot;&gt;Sydney&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Johannesburg&quot;&gt;Johannesburg&amp;lt;/option&gt;
      &amp;lt;option value=&quot;Melun&quot;&gt;Melun&amp;lt;/option&gt;
    &amp;lt;/select&gt;
  &amp;lt;/label&gt;
&amp;lt;/datalist&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;Nouveaux attributs&lt;/h2&gt;

&lt;h3&gt;Autofocus&lt;/h3&gt;


&lt;p&gt;Avec cet attribut sur un élément, il recevra le focus dès que possible. L'avantage direct pour l'utilisateur c'est que tous les sites utiliseront le même algorithme pour l'autofocus plutôt que d'avoir un bout de JavaScript différent sur chaque site. Et des navigateurs ou des extensions pourront facilement désactiver ce comportement si cela gêne l'utilisateur.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input autofocus&gt;&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;Placeholder&lt;/h3&gt;


&lt;p&gt;La valeur de cet attribut sera affichée lorsque le champ est vide et qu'il n'a pas le focus. Cela permet de donner un exemple de valeur attendue.&lt;/p&gt;

&lt;label&gt;Telephone: &lt;input placeholder=&quot;+33 1 16 64 33 42&quot;&gt;&lt;/label&gt;
&lt;label&gt;Comments: &lt;textarea placeholder=&quot;Dites nous ce que vous pensez de ce service…&quot;&gt;&lt;/textarea&gt;&lt;/label&gt;


&lt;pre&gt;&lt;code&gt;&amp;lt;label&gt;Telephone: &amp;lt;input placeholder=&quot;+33 1 16 64 33 42&quot;&gt;&amp;lt;/label&gt;
&amp;lt;label&gt;Comments: &amp;lt;textarea placeholder=&quot;Dites nous ce que vous pensez de ce service…&quot;&gt;&amp;lt;/textarea&gt;&amp;lt;/label&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;Formulaires découplés&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#pnote-122-2&quot; id=&quot;rev-pnote-122-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/h2&gt;


&lt;p&gt;Vous avez de nouvelles options pour configurer l'interaction entre les champs et les formulaires.&lt;/p&gt;


&lt;h3&gt;Attribut form&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;Les éléments &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; ne doivent plus obligatoirement être des enfants d'un élément &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt;.&lt;/strong&gt; Vous pouvez les définir où vous souhaitez et les rattacher à un formulaire en utilisant l'attribut &lt;code&gt;form&lt;/code&gt;. Sa valeur est l'ID du formulaire auquel il doit se rattacher.&lt;/p&gt;


&lt;p&gt;Voyons un exemple. Disons que vous travaillez sur un moteur de recherche pour un outil de blog. Vous voulez un formulaire très simple pour le cas général et quelques options avancées si l'utilisateur a besoin de plus de contrôle.&lt;/p&gt;


&lt;p&gt;En haut de votre page, vous pouvez placer:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;search&quot; name=&quot;search_field&quot; form=&quot;search_form&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Et plus bas:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;form id=&quot;search_form&quot; action=&quot;http://hanblog.info/blog/post/2011/05/search.php&quot; method=&quot;post&quot;&gt;
  &amp;lt;fieldset&gt;
    &amp;lt;legend&gt;Options avancées&amp;lt;/legend&gt;
    &amp;lt;input type=&quot;checkbox&quot;&gt;Inclure les articles privés
    &amp;lt;!-- Autres options --&gt;
  &amp;lt;/fieldset&gt;
&amp;lt;/form&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Tout ceci se comportera comme si le champ de recherche faisait partie du formulaire. Mais vous avez la flexibilité de le placer où bon vous semble.&lt;/p&gt;


&lt;h3&gt;Les options de formulaires pour chaque champ&lt;/h3&gt;


&lt;p&gt;Toutes les options pouvant être définies au niveau du formulaire peuvent être redéfinies au niveau du champ. Tous les champs de soumissions (&lt;code&gt;&amp;lt;button&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;input type=&quot;submit&quot;&amp;gt;&lt;/code&gt;) acceptent quatre nouveaux attributs&amp;nbsp;: &lt;code&gt;formenctype&lt;/code&gt;, &lt;code&gt;formaction&lt;/code&gt;, &lt;code&gt;formmethod&lt;/code&gt; et &lt;code&gt;formtarget&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;On peut imaginer les utiliser pour un formulaire avec des boutons publier et aperçu. Chacun a besoin des informations complètes du formulaire mais ils effectuent une action très différente.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;form action=&quot;http://hanblog.info/blog/post/2011/05/new_post.php&quot; method=&quot;post&quot;&gt;
&amp;lt;label&gt;Titre: &amp;lt;input type=&quot;text&quot;&gt;&amp;lt;/label&gt;
&amp;lt;label&gt;Contenu: &amp;lt;textarea&gt;&amp;lt;/textarea&gt;&amp;lt;/label&gt;
&amp;lt;input type=&quot;submit&quot; formaction=&quot;http://hanblog.info/blog/post/2011/05/preview.php&quot; formmethod=&quot;get&quot; value=&quot;Aperçu&quot;&gt;
&amp;lt;input type=&quot;submit&quot; value=&quot;Publier&quot;&gt;
&amp;lt;/form&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Quand l'utilisateur clique sur le bouton Aperçu, ces attributs écraseront ceux du formulaire. Dans ce cas, au lieu d'une requête POST vers new_post.php, la totalité du formulaire sera soumise au script preview.php avec une méthode GET.&lt;/p&gt;


&lt;h2&gt;Mécanismes de validation&lt;/h2&gt;

&lt;p&gt;La validation est l'une des grandes améliorations des formulaires. Afin de fournir la meilleure expérience, il est de bon ton de donner un retour dès que possible à l'utilisateur. Du coup, chacun écrit beaucoup de JavaScript pour gérer cela. Ne serait-ce pas mieux que les navigateurs se débrouillent tous seuls&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Depuis la parution de l'article original en novembre dernier, le style par défaut des champs invalides a été modifié et de nouvelles pseudo-classes &lt;code&gt;::-moz-ui-valid&lt;/code&gt; et &lt;code&gt;::-moz-ui-invalid&lt;/code&gt; ont été introduites. Du coup, les exemples ne sont plus aussi pertinents qu'à l'époque. Heureusement, &lt;a href=&quot;http://blog.oldworld.fr/index.php?post/2011/05/Improving-HTML5-Forms-user-experience-with-moz-ui-invalid-and-moz-ui-valid-pseudo-classes&quot; hreflang=&quot;en&quot;&gt;Mounir a expliqué tous les changements&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;


&lt;h3&gt;required&lt;/h3&gt;


&lt;p&gt;Avec cet attribut, vous indiquez que ce champ est obligatoire. Pour les champs textes, cela signifie qu'ils ne doivent pas être vides. Pour les boutons checkbox, ils doivent être cochés. Et pour les boutons radios, l'un des boutons d'un groupe doit être sélectionné.&lt;/p&gt;


&lt;p&gt;Essayez les exemples suivants pour voir les changements d'états.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;text&quot; required&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;text&quot; required&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;checkbox&quot; required&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;checkbox&quot; required&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&amp;lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&amp;lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&lt;input type=&quot;radio&quot; name=&quot;radiogroup&quot; required&gt;
&lt;button onclick=&quot;
var radios = document.getElementsByName('radiogroup');
for (var i = 0; i &lt; radios.length; i++) {
  radios[i].checked = false;
}
&quot;&gt;Désélectionner les boutons radios&lt;/button&gt;



&lt;h3&gt;url&lt;/h3&gt;


&lt;p&gt;Les champs URLs sont automatiquement validés.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;url&quot; value=&quot;mozilla&quot;&gt;
&amp;lt;input type=&quot;url&quot; value=&quot;http://mozilla.org&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;url&quot; value=&quot;mozilla&quot;&gt;
&lt;input type=&quot;url&quot; value=&quot;http://mozilla.org&quot;&gt;



&lt;h3&gt;email&lt;/h3&gt;


&lt;p&gt;Les emails sont aussi validés automatiquement. En passant l'attribut &lt;code&gt;multiple&lt;/code&gt; (utilisable sur &lt;code&gt;type=&quot;file&quot;&lt;/code&gt; aussi), il validera une liste d'emails séparés par des virgules.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;email&quot; value=&quot;foo&quot;&gt;
&amp;lt;input type=&quot;email&quot; value=&quot;foo@bar.org&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;email&quot; value=&quot;foo&quot;&gt;
&lt;input type=&quot;email&quot; value=&quot;foo@bar.org&quot;&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input type=&quot;email&quot; multiple value=&quot;foo@bar.org, spongebob&quot;&gt;
&amp;lt;input type=&quot;email&quot; multiple value=&quot;foo@bar.org, spongebob@squarepants.org&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;input type=&quot;email&quot; multiple value=&quot;foo@bar.org, spongebob&quot;&gt;
&lt;input type=&quot;email&quot; multiple value=&quot;foo@bar.org, spongebob@squarepants.org&quot;&gt;



&lt;h3&gt;pattern&lt;/h3&gt;


&lt;p&gt;Les URLs et les emails ne sont pas les seuls types de données que vous voulez valider. Pour cela, vous pouvez fournir une expression rationnelle JavaScript à l'attribut &lt;code&gt;pattern&lt;/code&gt;. Elle sera utilisée pour valider la valeur d'un champ. Il est aussi conseillé de fournir un attribut &lt;code&gt;title&lt;/code&gt; pour expliquer le type de contenu demandé.&lt;/p&gt;


&lt;p&gt;Dans l'exemple suivant, survolez le champ. Vous devriez voir une aide vous expliquant comment remplir le champ.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;input pattern=&quot;[0-9][A-Z]{3}&quot; title=&quot;A part number is a digit followed by three uppercase letters.&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;input pattern=&quot;[0-9][A-Z]{3}&quot; title=&quot;A part number is a digit followed by three uppercase letters.&quot;&gt;



&lt;h2&gt;L'API de validation des contraintes.&lt;/h2&gt;


&lt;p&gt;Si vous avez besoin d'encore un peu plus de contrôle sur la validation, vous pouvez utiliser la méthode &lt;code&gt;setCustomValidity&lt;/code&gt;. Si vous l'appelez avec une chaîne vide, l'élément sera considéré comme valide. Sinon, il sera marqué invalide et la chaîne sera utilisée dans l'aide apparaissant pour l'utilisateur.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;label&gt;Mot de passe : &amp;lt;input type=&quot;password&quot; id=&quot;password1&quot; oninput=&quot;checkPasswords()&quot;&gt;&amp;lt;/label&gt;
&amp;lt;label&gt;Confirmer mot de passe : &amp;lt;input type=&quot;password&quot; id=&quot;password2&quot; oninput=&quot;checkPasswords()&quot;&gt;&amp;lt;/label&gt;
&amp;lt;script&gt;
function checkPasswords() {
  var password1 = document.getElementById('password1');
  var password2 = document.getElementById('password2');
  if (password1.value != password2.value) {
    password2.setCustomValidity('Les mots de passe ne sont pas identiques');
  } else {
    password2.setCustomValidity('');
  }
}
&amp;lt;/script&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;label&gt;Mot de passe : &lt;input type=&quot;password&quot; id=&quot;password1&quot; oninput=&quot;checkPasswords()&quot;&gt;&lt;/label&gt;
&lt;label&gt;Confirmer mot de passe : &lt;input type=&quot;password&quot; id=&quot;password2&quot; oninput=&quot;checkPasswords()&quot;&gt;&lt;/label&gt;
&lt;script&gt;
function checkPasswords() {
  var password1 = document.getElementById('password1');
  var password2 = document.getElementById('password2');
  if (password1.value != password2.value) {
    password2.setCustomValidity('Les mots de passe ne sont pas identiques');
  } else {
    password2.setCustomValidity('');
  }
}
&lt;/script&gt;



&lt;p&gt;Si l'un des champs dans un formulaire est invalide, la soumission du formulaire sera bloquée et le premier champ invalide sera mis en avant avec un message expliquant le problème. Si vous ne désirez pas ce comportement, vous pouvez ajouter l'attribut &lt;code&gt;novalidate&lt;/code&gt; sur le formulaire ou l'attribut &lt;code&gt;formnovalidate&lt;/code&gt; sur l'un des boutons de soumission.&lt;/p&gt;


&lt;p&gt;Pour plus de détails sur le mécanisme de validation, je vous recommande &lt;a href=&quot;http://blog.oldworld.fr/index.php?post/2010/11/17/HTML5-Forms-Validation-in-Firefox-4&quot; hreflang=&quot;en&quot;&gt;l'article de Mounir&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;Nouveaux sélecteurs CSS&lt;/h2&gt;

&lt;p&gt;Pour accompagner toutes ces magnifiques nouveautés, quelques nouveaux sélecteurs ne seront pas de trop.&lt;/p&gt;


&lt;h3&gt;:required, :optional&lt;/h3&gt;


&lt;p&gt;Tous les champs sont marqués &lt;code&gt;:optional&lt;/code&gt; par défaut. S'ils ont l'attribut &lt;code&gt;required&lt;/code&gt;, alors ils répondront à la pseudo-classe &lt;code&gt;:required&lt;/code&gt;.&lt;/p&gt;


&lt;h3&gt;:valid, :invalid&lt;/h3&gt;


&lt;p&gt;Ces pseudos-classes représentent l'état de validation d'un champ. Vous pouvez utiliser &lt;code&gt;:invalid&lt;/code&gt; pour redéfinir le style par défaut que Firefox 4 fournit.&lt;/p&gt;


&lt;p&gt;Voici un exemple de champ avec le style par défaut modifié.&lt;/p&gt;
&lt;style&gt;
#selectors :optional {
  border: 1px solid black;
}
#selectors :invalid {
  box-shadow: none;
  border: 1px solid red;
}
#selectors :valid {
  background: #ddffdd;
}
&lt;/style&gt;
&lt;form id=&quot;selectors&quot;&gt;
&lt;input required&gt;
&lt;input type=&quot;checkbox&quot;&gt;

&lt;/form&gt;



&lt;h3&gt;:-moz-placeholder&lt;/h3&gt;


&lt;p&gt;Cette pseudo-classe sélectionne les champs affichant un &quot;placeholder&quot;. Ce n'est pas encore défini par CSS donc vous aurez besoin d'utiliser un pseudo-élément pour les navigateurs basés sur WebKit.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;style&gt;
#selectors2 :-moz-placeholder {
  font-style: italic;
}
#selectors2 ::-webkit-placeholder {
  font-style: italic;
}
&amp;lt;/style&gt;
&amp;lt;form id=&quot;selectors2&quot;&gt;
  &amp;lt;input placeholder=&quot;Donnez moi du style !&quot;&gt;
&amp;lt;/form&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;style&gt;
#selectors2 :-moz-placeholder {
  font-style: italic;
}
#selectors2 ::-webkit-placeholder {
  font-style: italic;
}
&lt;/style&gt;
&lt;form id=&quot;selectors2&quot;&gt;
  &lt;input placeholder=&quot;Donnez moi du style !&quot;&gt;
&lt;/form&gt;



&lt;h2&gt;Conclusion&lt;/h2&gt;


&lt;p&gt;Les fonctionnalités HTML5 des formulaires sont très récentes et il y a encore de grandes différences entre les navigateurs. Opera a implémenté une partie de la spécification (elle s'appelait encore Webforms2 à l'époque) donc le support est plutôt bon même si vous trouverez des différences étant donné que la spécification a évolué depuis. Les navigateurs basés sur WebKit sont actuellement en train d'implémenter donc vous trouverez un peu de support de ce côté là aussi.&lt;sup&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#pnote-122-3&quot; id=&quot;rev-pnote-122-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&lt;/p&gt;


&lt;p&gt;Il n'y aura pas d'autres nouveautés concernant les formulaires dans Firefox 4. Mais il y a encore beaucoup à faire pour avoir un support complet: de nouveaux types de champs (number, color, date), de nouveaux attributs (step, min, max), etc. Cela viendra dans de prochaines versions.&lt;/p&gt;


&lt;p&gt;Ceci n'est qu'une vague introduction. Pour tous les détails, je recommande la documentation sur le &lt;a href=&quot;https://developer.mozilla.org/en/HTML/HTML5/Forms_in_HTML5&quot; hreflang=&quot;en&quot;&gt;Mozilla Developer Network&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#rev-pnote-122-1&quot; id=&quot;pnote-122-1&quot;&gt;1&lt;/a&gt;] Voir &lt;a href=&quot;http://hanblog.info/blog/post/2010/01/15/WebForms-HTML5-et-iPhone&quot;&gt;mon article sur le comportement de l'iPhone&lt;/a&gt;. D'ailleurs, Firefox 4 aussi s'adapte.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#rev-pnote-122-2&quot; id=&quot;pnote-122-2&quot;&gt;2&lt;/a&gt;] Je n'ai pas trouvé mieux pour exprimer cette idée.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#rev-pnote-122-3&quot; id=&quot;pnote-122-3&quot;&gt;3&lt;/a&gt;] Honnêtement, c'est implémenté n'importe comment mais je ne vais pas m'étendre.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2011/05/Les-formulaires-HTML5-dans-Firefox-4#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/122</wfw:commentRss>
      </item>
    
  <item>
    <title>Que se passe-t-il un 1er février ?</title>
    <link>http://hanblog.info/blog/post/2011/02/Que-se-passe-t-il-un-1er-f%C3%A9vrier</link>
    <guid isPermaLink="false">urn:md5:a40dc9ef077867a9bc826b5337847a76</guid>
    <pubDate>Wed, 02 Feb 2011 00:19:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;ul&gt;
&lt;li&gt;1er février 2007&amp;nbsp;: je commence mon stage (qui est devenu un CDI) chez Skyrock.&lt;/li&gt;
&lt;li&gt;1er février 2010&amp;nbsp;: mon dernier jour de travail chez Skyrock.&lt;/li&gt;
&lt;li&gt;1er février 2011&amp;nbsp;: j'apprends que je vais devenir employé de Mozilla dans l'équipe de développement web.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En tout cas pour moi, ce sont plutôt des événements positifs qui se déroulent les 1er février.&lt;/p&gt;</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2011/02/Que-se-passe-t-il-un-1er-f%C3%A9vrier#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2011/02/Que-se-passe-t-il-un-1er-f%C3%A9vrier#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/118</wfw:commentRss>
      </item>
    
  <item>
    <title>Remettre en place le bouton RSS avec Firefox 4</title>
    <link>http://hanblog.info/blog/post/2011/01/Remettre-en-place-le-bouton-RSS-avec-Firefox-4</link>
    <guid isPermaLink="false">urn:md5:63546b52d67f41520d2356e39049d2ec</guid>
    <pubDate>Wed, 19 Jan 2011 19:06:00 +0100</pubDate>
    <dc:creator>Anthony Ricaud</dc:creator>
        <category>planetmozfr</category>    
    <description>    &lt;p&gt;Vous en avez peut-être entendu parler, Firefox 4 n'aura plus de boutons pour signaler la présence de flux RSS dans la barre d'adresses. La fonctionnalité de détection n'a pas disparu, elle est toujours disponible dans le menu Bookmarks. Et si vous souhaitez avoir un bouton toujours visible pour vous signaler la présence de RSS, il suffit de personnaliser votre barre d'outils en quelques clics. &lt;a href=&quot;http://decafbad.com/blog/2011/01/15/how-to-use-feed-auto-discovery-in-firefox-4&quot; hreflang=&quot;en&quot;&gt;Les Orchard résume bien comment faire ça&lt;/a&gt; donc je ne vais pas le répéter ici.&lt;/p&gt;


&lt;p&gt;Par contre, vous voulez peut-être retrouver ce bouton à son emplacement précédent, dans la barre d'adresses&amp;nbsp;? Pas de problème, il y a une &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/rss-icon-in-awesombar/&quot;&gt;l'extension &quot;RSS icon in Awesombar&quot;&lt;/a&gt;. Et hop, tout va bien, vous avez retrouvé le bouton comme vous l'aimiez avec Firefox 3.6.&lt;/p&gt;</description>
    
    
    
          <comments>http://hanblog.info/blog/post/2011/01/Remettre-en-place-le-bouton-RSS-avec-Firefox-4#comment-form</comments>
      <wfw:comment>http://hanblog.info/blog/post/2011/01/Remettre-en-place-le-bouton-RSS-avec-Firefox-4#comment-form</wfw:comment>
      <wfw:commentRss>http://hanblog.info/blog/feed/atom/comments/117</wfw:commentRss>
      </item>
    
</channel>
</rss>
