<?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>Les intégristes &#187; Eric Le Bihan</title>
	<atom:link href="http://www.lesintegristes.net/author/eric/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lesintegristes.net</link>
	<description></description>
	<lastBuildDate>Wed, 25 Aug 2010 21:21:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Stylez-moi ce formulaire !</title>
		<link>http://www.lesintegristes.net/2010/08/17/stylez-moi-ce-formulaire/</link>
		<comments>http://www.lesintegristes.net/2010/08/17/stylez-moi-ce-formulaire/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 13:52:16 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=1120</guid>
		<description><![CDATA[Après avoir essayé à plusieurs reprises et par tous les moyens de styler les éléments d’un formulaire html pour donner vie aux créations des graphistes, il a bien fallu se rendre à l’évidence : ce n’est pas possible ! Déjà les styles ne sont pas appliqués de façon identique selon les navigateurs, mais en plus ces éléments diffèrent selon les systèmes d’exploitation et leurs versions successives, CQFD. 
Après avoir tenu ce discours : &#171;Non les formulaires, on ne peut pas les styler, désolé&#187; pendant des années, les webdesigners les plus tenaces sont revenus avec des exemples de sites en nous&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Après avoir essayé à plusieurs reprises et par tous les moyens de styler les éléments d’un formulaire html pour donner vie aux créations des graphistes, il a bien fallu se rendre à l’évidence : ce n’est pas possible ! Déjà les styles ne sont pas appliqués de façon identique selon les navigateurs, mais en plus ces éléments diffèrent selon les systèmes d’exploitation et leurs versions successives, <a href="http://www.456bereastreet.com/archive/200409/styling_form_controls/">CQFD</a>. </p>
<p>Après avoir tenu ce discours : &laquo;Non les formulaires, on ne peut pas les styler, désolé&raquo; pendant des années, les webdesigners les plus tenaces sont revenus avec des exemples de sites en nous disant : &laquo;Tu me dis que c’est pas possible, mais là sur tel site, ils l’ont fait.&raquo;”</p>
<p>Ok, reprenons : styler des éléments de fomulaire html, ça ne donne pas un résultat terrible, mais&#8230; avec javascript on arrive à voir un résultat plutôt satisfaisant. La question est : faut-il utiliser du JS pour faire de la cosmétique ? Parce que la seule chose qu’on fait avec JS ce n’est pas styler des éléments de formulaires, mais au mieux cacher des éléments de formulaires (ou les rendre invisibles) pour leur substituer des éléments graphiques, au pire remplacer des éléments de formulaires par d’autres balises html qui elles pourront être stylées avec CSS. Par exemple, remplacer un select par une liste non ordonnée. Est-ce que le jeu en vaut la chandelle ? Est-ce qu’on va alourdir les pages et retarder leur affichage pour quelques effets que l’utilisateur ne remarquera même pas ?</p>
<p>La question que tout le monde se pose (ou peut-être qu’il n’y a que moi qui me la pose), c’est pourquoi on ne peut pas styler les éléments de formulaire ? Ok pour les input de type texte (et encore pas avec tous les navigateurs), mais pourquoi pas les listes déroulantes de type select, les cases à cocher ou autres boutons radio ? Y-a-t-il une raison à ça ou les fabricants de navigateurs, se sont dit : &laquo;oups, on a oublié les formulaires !&raquo; &laquo;Laisse tomber on va dire que c’est fait exprès.&raquo;</p>
<p>Argumentons dans le sens où c’est fait exprès : les internautes ont l’habitude de leur système d’exploitation, du coup ils vont toujours identifier ces éléments quelque soit le navigateur dans lequel ils sont, et ça en terme d’utilisabilité c’est imbattable ! Mouais, pas vraiment convaincant tout ça&#8230;</p>
<p>Est-ce qu’on se posait la question avant ? &laquo;Fais moi ça en flash c’est plus joli&raquo;. Ce serait de la faute de flash, alors ? Toujours est-il qu’on trouve de plus en plus de plugins qui permettent de faire ça facilement, tentant, non ? J’en ai essayé deux ou trois, je vous donne mon avis :</p>
<dl>
<dt><a href="http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/">jQuery UI selectmenu</a></dt>
<dd>Pas des plus facile à manipuler, mais très complet, il couvre largement le spectre des utilisations de menus avec des listes déroulantes. Trop de styles inline qui complique le skinning des css externes. A noter que ce plugin utilise les attributs ARIA pour l&#8217;accessibilité.</dd>
<dt><a href="http://www.protofunc.com/scripts/jquery/checkbox-radiobutton/">jQuery UI checkbox</a></dt>
<dd>Simplissime. Par exemple pour une case à cocher il suffit d’initialiser le script de cette façon <code>$('input').checkBox();</code><br />
Et la case à cocher est remplacée par un span avec la classe “ui-checkbox”, il ne reste plus qu’à appliquer les CSS.</dd>
<dt><a href="http://www.prismstudio.co.uk/plugins/stylish-select/0.4/">jQuery Stylish select</a></dt>
<dd>Je ne l’ai pas testé personnellement, mais ça a été utilisé sur un projet récent dans ma boîte. Complètement customisable en CSS et ultra light.</dd>
<dt><a href="http://pixelmatrixdesign.com/uniform/">Uniform</a></dt>
<dd>Je suis tombé sur celui-ci il y a quelques jours, il me parait assez complet et facilement skinnable, une image sprite pour tous les éléments (vous pouvez créer des thèmes et les proposer sur le site), une fois les éléments stylés la navigation au clavier me parait correcte, reste juste à mettre plus en avant le focus sur les éléments.</dd>
</dl>
<p></p>
<p>Après c’est vous qui voyez&#8230; Personnellement, je ne trouve pas ça indispensable, mais pourquoi pas si les contraintes de conception ne sont pas trop draconiennes.</p>
<p>Bon je repose ma question aux concepteurs de navigateurs : Pourquoi les éléments de formulaire ne peuvent être stylés de la même façon que les autres balises html ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2010/08/17/stylez-moi-ce-formulaire/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>La vie des intégrateurs, chapitre III : puis vint Html5</title>
		<link>http://www.lesintegristes.net/2010/08/11/la-vie-des-integrateurs-chapitre-iii-puis-vint-html5/</link>
		<comments>http://www.lesintegristes.net/2010/08/11/la-vie-des-integrateurs-chapitre-iii-puis-vint-html5/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 08:33:45 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Intégration]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=1052</guid>
		<description><![CDATA[Depuis plusieurs mois on ne lit plus que ça dans les nombreux blogs qui parlent d’intégration, de développement ou de webdesign. C’est venu timidement et puis la sortie des nouvelles versions des navigateurs a accéléré le processus, du coup les mêmes démonstrations se répètent inlassablement sans que concrètement on puisse dans un cadre professionnel utiliser pleinement toutes ces nouveautés. On peut maintenant faire des sites en HTML5 et CSS3 ! Ok mais seulement pour les dernières versions des navigateurs qui tous regroupés représentent à peu près 50% des utilisateurs. Difficile de vendre le truc à son patron ou à ses&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Depuis plusieurs mois on ne lit plus que ça dans les nombreux blogs qui parlent d’intégration, de développement ou de webdesign. C’est venu timidement et puis la sortie des nouvelles versions des navigateurs a accéléré le processus, du coup les mêmes démonstrations se répètent inlassablement sans que concrètement on puisse dans un cadre professionnel utiliser pleinement toutes ces nouveautés. On peut maintenant faire des sites en HTML5 et CSS3 ! Ok mais seulement pour les dernières versions des navigateurs qui tous regroupés représentent à peu près 50% des utilisateurs. Difficile de vendre le truc à son patron ou à ses clients en expliquant que la moitié aura une version dégradée du site, même &laquo;&nbsp;gracieusement dégradée&nbsp;&raquo; (<em>gracefully dégradation</em>).<br />
Après, attention tout ce qui bouge n’est pas CSS3, &#8211; j’ai vu (lu) de nombreuses personnes s’extasier devant des démonstrations CSS 2.1 particulièrement ingénieuses &#8211; et HTML5 n’est pas la solution à tout. Ajax, vous avez dit Ajax ? Voir le billet de Jeffrey Zeldman sur le terme HTML5 : <a href=" http://www.zeldman.com/2010/08/03/html5-fuzzies/">html5 fuzzies</a>
<p>D’abord pourquoi passer à HTML5 alors que pendant des années on a seriné à tous ceux qui voulaient l’entendre que XHTML, c’est l’avenir, il y a rien de mieux et que franchement HTML c’est has-been (ok je caricature, mais à peine). Est-ce que tous ces évangélistes aussi prompts à faire du prosélytisme auraient retourné leur veste ? Effectivement nous de notre côté on a pu avoir des doutes au début et puis on s’est rendu compte que ça changeait pas grand chose finalement, on peut très bien continuer à faire du XHTML dans la syntaxe en utilisant les nouvelles balises HTML5, c’est vrai que <em>Les Intégristes</em>  ont l’avantage de parler à des professionnels qui ne portent pas forcément Internet Explorer dans leur cœur. En revanche l’avantage et qui n’est pas des moindres c’est qu’HTML5 intègre ARIA et en terme d’accessibilité c’est un grand pas en avant. Si vous voulez un petit rafraichissement de mémoire allez voir par là, <a href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">la traduction</a> qu’avait faite Pierre de <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">Introduction to WAI ARIA</a>.</p>
<p>Si pour un blog ou l&#8217;administration d&#8217;un site on peut s’amuser avec HTML5 et CSS3 en ajoutant les JS qui vont corriger les déficiences d’Internet Explorer (<a href="http://code.google.com/p/html5shiv/">http://code.google.com/p/html5shiv/</a> et <a href="http://www.keithclark.co.uk/labs/ie-css3/">http://www.keithclark.co.uk/labs/ie-css3/</a>), il est moins possible de le faire pour un site grand public générant un chiffre d&#8217;affaires de plusieurs millions d’euros. Le moindre ko est traqué et il serait risqué de s’appuyer sur un script qui demain pourrait ne plus être mis à jour et créer pas mal de désagréments.</p>
<p>Plusieurs solutions :</p>
<ul>
<li>Continuer à faire du bon vieux XHTML 1 et CSS 2.1</li>
<li>Faire accepter qu’avec IE ce sera moins bien</li>
<li>Faire du code forking, comme on faisait avant que des bibliothèques JS gèrent ça pour nous : une version pour IE une version pour les autres</li>
<li>Prendre le risque des solutions JS quand même</li>
</ul>
<p>Aucune de ces solutions n’est parfaite mais les intégrateurs et développeurs sont tellement impatients d’utiliser des specs qui sont encore à l’état de brouillon, que je suis sur  que les arguments ne manqueront pas pour vanter les mérites d’une technologie balbutiante, quitte à faire le travail deux fois.</p>
<p>Un petit tour d’horizon sur ce qu’il faut savoir de HTML5 et CSS3, comment l’utiliser, quelles solutions JS, etc. :</p>
<ul>
<li>Les specs officielles :
<ul>
<li><a href="http://dev.w3.org/html5/spec/Overview.html">http://dev.w3.org/html5/spec/Overview.html</a></li>
<li><a href="http://www.w3.org/Style/CSS/current-work">http://www.w3.org/Style/CSS/current-work</a></li>
</ul>
<p>On n&#8217;y coupe pas !</p>
</li>
<li>HTML5 et l’accessibilité
<ul>
<li><a href="http://on-air.hiseo.fr/html5/html5-accessibilite-aria-wai-microformats/">http://on-air.hiseo.fr/html5/html5-accessibilite-aria-wai-microformats/</a></li>
<li><a href="http://www.cfit.ie/news-and-commentary-archive/96-wai-aria-in-html5">http://www.cfit.ie/news-and-commentary-archive/96-wai-aria-in-html5</a></li>
</ul>
</li>
<li>Quelques lectures intéressantes sur le sujet :
<ul>
<li><a href="http://diveintohtml5.org/">http://diveintohtml5.org/</a></li>
<li><a href="http://www.fredcavazza.net/2009/09/10/html-5-css-3-une-revolution-pour-les-interfaces-web/">http://www.fredcavazza.net/2009/09/10/html-5-css-3-une-revolution-pour-les-interfaces-web/</a></li>
<li><a href="http://html5doctor.com/">http://html5doctor.com/</a></li>
<li><a href="http://desgeeksetdeslettres.com/blog/programmation-java/html5-audio-et-video">http://desgeeksetdeslettres.com/blog/programmation-java/html5-audio-et-video</a></li>
<li><a href="http://www.seomix.fr/web/developpement/videolink-javascript-video-html5/">http://www.seomix.fr/web/developpement/videolink-javascript-video-html5/<a/></li>
<li>pas mal de liens sur html5 et css3 sur <a href="http://www.maxdesign.com.au/category/news/">maxdesign.com</a></li>
</ul>
</li>
<li>Faire du html5 quand même :
<ul>
<li><a href="http://52framework.com/">http://52framework.com/</a></li>
<li><a href="http://css3pie.com/">http://css3pie.com/</a></li>
<li><a href="http://code.google.com/p/html5shiv/">http://code.google.com/p/html5shiv/</a></li>
<li><a href="http://www.keithclark.co.uk/labs/ie-css3/">http://www.keithclark.co.uk/labs/ie-css3/</a></li>
<li><a href="http://media1.smashingmagazine.com/wp-content/uploads/images/html5-cheat-sheet/html5-cheat-sheet.pdf">http://media1.smashingmagazine.com/wp-content/uploads/images/html5-cheat-sheet/html5-cheat-sheet.pdf</a></li>
</ul>
</li>
<li>Démos et tutos
<ul>
<li><a href="http://www.1stwebdesigner.com/resources/css3-tutorials/">http://www.1stwebdesigner.com/resources/css3-tutorials/</a></li>
<li><a href="http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/">http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/</a></li>
<li><a href="http://html5tutorial.net/">http://html5tutorial.net/</a></li>
<li><a href="http://html5demos.com/">http://html5demos.com/</a></li>
<li><a href="http://ie.microsoft.com/testdrive/Default.html">http://ie.microsoft.com/testdrive/Default.html</a></li>
</ul>
</li>
<li>Où en est votre navigateur ?
<ul>
<li><a href="http://www.html5test.com/">http://www.html5test.com/</a></li>
<li><a href="http://www.findmebyip.com/litmus#target-selector">http://www.findmebyip.com/litmus#target-selector</a></li>
<li><a href="http://www.quirksmode.org/dom/html5.html">http://www.quirksmode.org/dom/html5.html</a></li>
<li><a href="http://html5readiness.com/">http://html5readiness.com/</a></li>
<li><a href="http://w3c.html5.free.fr/">http://w3c.html5.free.fr/</a></li>
</ul>
</li>
</ul>
<p>Et vous quel usage faites vous d’html5 et ses amis ? Applicable en milieu professionnel ou à réserver pour des projets isolés ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2010/08/11/la-vie-des-integrateurs-chapitre-iii-puis-vint-html5/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Comment utiliser les listes&#160;de définitions&#160;?</title>
		<link>http://www.lesintegristes.net/2009/12/28/comment-utiliser-les-listesde-definitions/</link>
		<comments>http://www.lesintegristes.net/2009/12/28/comment-utiliser-les-listesde-definitions/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 14:54:14 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=776</guid>
		<description><![CDATA[Je n&#8217;ai pas la prétention de répondre à cette question, mais j&#8217;aimerai vous faire partager mon interrogation. Si je relis les recommandations HTML 4.01 du W3C (Definition lists: the DL, DT, and DD elements), voilà ce qui est dit à ce sujet :
Les listes de définitions ne varient que légèrement par rapport à d&#8217;autres types de listes, ce type de liste est composé de deux parties : un terme et une description.
L&#8217;utilisation la plus appropriée est donc celle où un mot ou une expression : &#60;dt&#62; serait défini par une courte explication : &#60;dd&#62;, comme dans un dictionnaire&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Je n&#8217;ai pas la prétention de répondre à cette question, mais j&#8217;aimerai vous faire partager mon interrogation. Si je relis les recommandations <abbr title="Hypertext Markup Language">HTML</abbr> 4.01 du <abbr "world wide web consortium">W3C</abbr> (<a href="http://www.w3.org/TR/html401/struct/lists.html#h-10.3">Definition lists: the DL, DT, and DD elements</a>), voilà ce qui est dit à ce sujet :</p>
<blockquote><p>Les listes de définitions ne varient que légèrement par rapport à d&#8217;autres types de listes, ce type de liste est composé de deux parties : un terme et une description.</p></blockquote>
<p>L&#8217;utilisation la plus appropriée est donc celle où un mot ou une expression : <code>&lt;dt&gt;</code> serait défini par une courte explication : <code>&lt;dd&gt;</code>, comme dans un dictionnaire ou un glossaire, par exemple.</p>
<p>Mais si nous allons plus loin, les recommandations donnent également l&#8217;exemple d&#8217;un dialogue ou le personnage serait défini par la balise <code>&lt;dt&gt;</code> et son dialogue par la balise : <code>&lt;dd&gt;</code>, mais uniquement dans les recommandations de html 4.01 et xhtml 1.0. Dans html 5, les listes de définitions ne doivent pas servir à mettre en forme un dialogue, puisqu&#8217;initialement <a href="http://html5doctor.com/a-little-more-conversation-with-dialog/">la balise : <code>&lt;dialog&gt;</code> devait servir à cet effet</a>. Cette balise ayant été retirée en septembre dernier sans être (encore ?) remplacée. On reste dans l&#8217;expectative&#8230;</p>
<p>Concrètement, quel usage est-il fait de la liste de définition dans les sites que nous consultons tous les jours ? Est-ce qu&#8217;une liste de diffusion peut être utilisée pour un menu de navigation ? A mon sens non, puisqu&#8217;il existe les listes ordonnées : <code>&lt;ol&gt;</code> et non ordonnées : <code>&lt;ul&gt;</code> qui me semblent plus appropriées. Est-ce qu&#8217;une liste de diffusion peut remplacer un titre : <code>&lt;dt&gt; = &lt;h1&gt;</code> et un paragraphe : <code>&lt;dd&gt; = &lt;p&gt;</code> ? Réponse : non, mais c&#8217;est souvent la solution que nous avons trouvé pour répondre aux demandes des services chargés du référencement qui souhaitaient structurer les pages des sites avec des balises : <code>&lt;h1&gt; à &lt;h6&gt;</code> mais éviter certaines parties annexes dans les plans de document (mise en avant de promotions, services, etc.)</p>
<p>La seule utilisation parfaitement adaptée que j&#8217;ai pu trouver pour ces balises (hormis les exemples donnés par le W3C) concerne la structuration d&#8217;une <abbr title="Foire aux questions">FAQ</abbr>. <code>&lt;dt&gt;</code> pour la question et <code>&lt;dd&gt;</code> pour la réponse.</p>
<p>Est-ce qu&#8217;il ne faudrait pas créer un autre type de liste qui conviendrait mieux pour mettre en relation deux éléments comme acteur/personnage, auteur/titre de livre, action/résultat, etc. ? Ce qui, selon moi, n&#8217;est manifestement pas le rôle de la liste de définition telle qu&#8217;elle a été &laquo;&nbsp;pensée&nbsp;&raquo; initialement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2009/12/28/comment-utiliser-les-listesde-definitions/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>:hover vs :active</title>
		<link>http://www.lesintegristes.net/2009/09/13/hover-vs-active/</link>
		<comments>http://www.lesintegristes.net/2009/09/13/hover-vs-active/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 19:01:56 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Ergonomie]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=697</guid>
		<description><![CDATA[Qu&#8217;est-ce qui fait qu&#8217;une interface est agréable à utiliser ?
Qu&#8217;elle soit intuitive, claire, que le regroupement des catégories soit logique, que les risques d&#8217;erreurs soit limités, que les messages d&#8217;information soient clairs ?
Tout ça et bien d&#8217;autres choses encore.
Je voudrais aujourd&#8217;hui parler plus particulièrement des boutons d&#8217;actions que ce soit des boutons de validation de formulaire ou des liens de navigations. 
En général et dans la plupart des sites professionnels il sont particulièrement mis en valeur (avec plus ou moins de succès) pour que l&#8217;internaute sache comment naviguer et comment valider ses formulaires. Dans la vraie vie,&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Qu&#8217;est-ce qui fait qu&#8217;une interface est agréable à utiliser ?</p>
<p>Qu&#8217;elle soit intuitive, claire, que le regroupement des catégories soit logique, que les risques d&#8217;erreurs soit limités, que les messages d&#8217;information soient clairs ?<br />
Tout ça et bien d&#8217;autres choses encore.</p>
<p>Je voudrais aujourd&#8217;hui parler plus particulièrement des boutons d&#8217;actions que ce soit des boutons de validation de formulaire ou des liens de navigations. </p>
<p>En général et dans la plupart des sites professionnels il sont particulièrement mis en valeur (avec plus ou moins de succès) pour que l&#8217;internaute sache comment naviguer et comment valider ses formulaires. Dans la vraie vie, en appuyant sur un bouton on s&#8217;attend à ce qu&#8217;il s&#8217;enfonce ou du moins qu&#8217;il réagisse à notre action par un changement d&#8217;état ou par l&#8217;émission d&#8217;un son. Je me demande pourquoi cette convention parfaitement adaptée aux interfaces de sites web n&#8217;est pas appliquée systématiquement, surtout que pour les boutons de validation, le langage html intègre ce comportement par défaut ? Dans la plupart des cas le mode :hover et préféré au mode :active, si bien qu&#8217;on a l&#8217;impression d&#8217;avoir une réponse en décalage avec l&#8217;action. Je survole le bouton = changement d&#8217;état (voire état enfoncé), je clique = rien. ça peut paraitre anodin comme ça mais testez la différence sur un site qui se rapproche d&#8217;une interface physique avec des changement d&#8217;état au clic et vous me direz quelle version vous préférez.</p>
<p>Le site web <a href="http://metalabdesign.com/">Metalabdesign.com</a>, est un bon exemple de mise en application de ce principe :</p>
<p><a href="http://metalabdesign.com/"><img src="http://www.lesintegristes.net/wp-content/uploads/2009/09/we-make-interfaces_1252867397695.png" alt="Meta Lab Design" width="460" height="100" class="aligncenter size-full wp-image-698" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2009/09/13/hover-vs-active/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Centrer un texte en hauteur</title>
		<link>http://www.lesintegristes.net/2009/03/02/centrer-un-texte-en-hauteur/</link>
		<comments>http://www.lesintegristes.net/2009/03/02/centrer-un-texte-en-hauteur/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 17:00:08 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[centrer]]></category>
		<category><![CDATA[hauteur]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=611</guid>
		<description><![CDATA[Je réagis à un billet de Jay Salvat qui explique comment centrer un texte en hauteur (et en largeur). Je n&#8217;avais pas prévu de faire un billet à la base mais de laisser un commentaire sur http://blog.jaysalvat.com.  Devant l&#8217;impossibilité de laisser un commentaire avec du code html et css, je vais détailler ici deux différentes façons de centrer un texte en hauteur (deux manières qui, nous allons le voir, sont complémentaires).
Pour un code html donné :
&#60;div id=&#34;container&#34;&#62;
    &#60;div class=&#34;level1&#34;&#62;
        &#60;div class=&#34;level2&#34;&#62;
            Texte centré en hauteur&#60;br /&#62;
            sur plusieurs lignes
        &#60;/div&#62;
     &#60;/div&#62;
&#60;/div&#62;
Appliquons un code css qui va&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Je réagis à <a href="http://blog.jaysalvat.com/articles/snippet-centrer-du-texte-en-hauteur.php">un billet de Jay Salvat qui explique comment centrer un texte en hauteur</a> (et en largeur). Je n&#8217;avais pas prévu de faire un billet à la base mais de laisser un commentaire sur <a href="http://blog.jaysalvat.com">http://blog.jaysalvat.com</a>.  Devant l&#8217;impossibilité de laisser un commentaire avec du code html et css, je vais détailler ici deux différentes façons de centrer un texte en hauteur (deux manières qui, nous allons le voir, sont complémentaires).</p>
<p>Pour un code html donné :</p>
<pre class="brush:html;">&lt;div id=&quot;container&quot;&gt;
    &lt;div class=&quot;level1&quot;&gt;
        &lt;div class=&quot;level2&quot;&gt;
            Texte centré en hauteur&lt;br /&gt;
            sur plusieurs lignes
        &lt;/div&gt;
     &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Appliquons un code css qui va permettre de considérer la <em>div</em> contenant le texte comme une cellule de tableau :</p>
<pre class="brush:css;">div{width:500px;}
#container{height:80px;background-color:red;display:table;}
.level1{display:table-cell;vertical-align:middle;}</pre>
<p>Le conteneur (<em>#container</em>) est considéré comme étant l&#8217;élément <em>table</em> (cette ligne n&#8217;est pas obligatoire comme nous l&#8217;avons vu dans <a href="http://www.lesintegristes.net/2008/11/12/quoi-de-neuf-du-cote-des-layout/">un autre article des Intégristes qui explique le fonctionnement du <code class="prettyprint">display:table</code></a>), la <em>div</em> qui a la classe <em>level1</em> est considérée comme étant une cellule de tableau et se comportera de la même manière. Pour centrer le texte en hauteur on lui applique le couple propriété/valeur <code class="prettyprint">vertical-align:middle</code>.</p>
<p>Un petit tour des navigateurs les plus communément utilisés, nous permet de nous rendre compte que cette solution ne convient pas à Internet Explorer (6 et 7). Nous allons nous servir de la <em>div.level2</em> qui n&#8217;avait aucune utilité dans l&#8217;exemple précédent pour appliquer le code CSS suivant uniquement à Internet Explorer en utilisant les commentaires conditionnels HTML :</p>
<pre class="brush:css;">&lt;!--[if IE]&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
div{width:500px;}
#container{height:80px;position:relative;background-color:red;}
.level1{position:absolute;top:50%;}
.level2{position:relative;top:-50%;}
&lt;/style&gt;
&lt;![endif]--&gt;</pre>
<p>Pour que le code css précédemment créé et qui fonctionne dans les navigateurs hors IE ne s&#8217;applique pas à IE, nous allons ajouter, les commentaires suivants :</p>
<pre class="brush:html;">&lt;!--[if !IE]&gt;--&gt;

&lt;!--&lt;![endif]--&gt;</pre>
<p>Ce qui donne</p>
<pre class="brush:css;">&lt;!--[if !IE]&gt;--&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
div{width:500px;}
#container{height:80px;background-color:red;display:table;}
.level1{display:table-cell;vertical-align:middle;}
&lt;/style&gt;
&lt;!--&lt;![endif]--&gt;</pre>
<p>Vous allez certainement me poser ma question : pourquoi ne pas appliquer la deuxième solution à tous les navigateurs et pas uniqument à IE6 ?<br />
Tout bonnement parce que la deuxième solution ne fonctionne que dans IE !</p>
<p>Plus d&#8217;exemples dans ce <a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/">tutorial vraiment complet du blog In The Woods&nbsp;&raquo;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2009/03/02/centrer-un-texte-en-hauteur/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Concevoir un formulaire HTML qui tient la route</title>
		<link>http://www.lesintegristes.net/2009/02/03/concevoir-un-formulaire-html-qui-tient-la-route/</link>
		<comments>http://www.lesintegristes.net/2009/02/03/concevoir-un-formulaire-html-qui-tient-la-route/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 18:00:23 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=474</guid>
		<description><![CDATA[Il ne vous est jamais arrivé de remplir un long formulaire pour, par exemple, commander un voyage ou un vol et ne pouvoir le valider parce que le clic sur le bouton de validation du formulaire ne produit aucun résultat ? C&#8217;est ce qui m&#8217;est arrivé il y a quelques semaines de celà&#8230; C&#8217;est vrai que je suis passé de PC à Mac et que je fais maintenant partie d&#8217;une minorité. L&#8217;accessibilité prends dans ce cas tout son sens. J&#8217;ai eu beau essayer avec Safari, Firefox, Opéra, Google Chrome, rien n&#8217;y a fait. Bref si je n&#8217;avais pas eu un&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Il ne vous est jamais arrivé de remplir un long formulaire pour, par exemple, commander un voyage ou un vol et ne pouvoir le valider parce que le clic sur le bouton de validation du formulaire ne produit aucun résultat ? C&#8217;est ce qui m&#8217;est arrivé il y a quelques semaines de celà&#8230; C&#8217;est vrai que je suis passé de PC à Mac et que je fais maintenant partie d&#8217;une minorité. L&#8217;accessibilité prends dans ce cas tout son sens. J&#8217;ai eu beau essayer avec Safari, Firefox, Opéra, Google Chrome, rien n&#8217;y a fait. Bref si je n&#8217;avais pas eu un PC pas loin pour passer ma commande avec Internet Explorer cette compagnie aérienne aurait perdu un client.</p>
<p>Pourquoi ce formulaire ne fonctionnait pas , Tout bonnement parce que les personnes qui sont auteurs du code ont préféré se servir de javascript pour la validation des données plutôt que d&#8217;opter pour la solution html du bouton de type submit (<em>button ou input</em>) . Le script utilisé ne prenant visiblement en charge que certains navigateurs dans un seul environnement (windows), il est impossible pour l&#8217;internaute de valider les données qu&#8217;il a entré minitieusement dans les 45 champs du formulaire.</p>
<p>Le problème ne se pose pas uniquement lorsqu&#8217;on travaille avec os Mac ou Linux comme environnement, il se pose également pour quiconque se sert d&#8217;un autre navigateur qu&#8217;Internet Explorer pour commander, par exemple, sur un site de voyages qui a le monopole du transport ferroviaire&#8230;</p>
<p>Comment faire pour ne pas exclure des clients potentiels de votre site ?</p>
<p>Construisons notre formulaire en plusieurs étapes :</p>
<p> <br />
<strong>1° étape :  la construction du formulaire en html</strong></p>
<p>La balise <strong>&lt;form&gt;</strong> :  elle définit un formulaire dans une page web.</p>
<p>Ses attributs :</p>
<p><strong>* method</strong></p>
<p>-  method=&nbsp;&raquo;post&nbsp;&raquo;, indique que les données sont stockées dans le corps de la requête,  le contenu du formulaire est envoyé au serveur en tant que bloc de données pour y être traité.</p>
<p>- method=&nbsp;&raquo;get&nbsp;&raquo;, indique que les données sont codées dans l&#8217;url,  le contenu du formulaire est juxtaposé à l&#8217;adresse URL</p>
<p><strong>* action</strong></p>
<p>- action=&nbsp;&raquo;url&nbsp;&raquo;, action indique l&#8217;adresse d&#8217;envoi</p>
<p><strong>* enctype</strong></p>
<p>Ce paramètre ne peut être utilisé qu&#8217;accompagné par la méthode post. Il définit le type d&#8217;encodage des données, par exemple :</p>
<p>- enctype=&nbsp;&raquo;application/x-www-form-urlencoded&nbsp;&raquo;,  encode le contenu du formulaire selon une forme url</p>
<p>- enctype=&nbsp;&raquo;text/plain&nbsp;&raquo;, le contenu du formulaire est retourné en format texte.t texte lisible par le destinataire; option accompagnée le plus souvent de ACTION=mailto:</p>
<p>- enctype=&nbsp;&raquo;multipart/form-data&nbsp;&raquo;, permet d&#8217;expédier un fichier attaché au message.</p>
<p>La balise <strong>&lt;fieldset&gt;</strong> : elle regroupe des éléments dans un formulaire, par exemple état civil, adresse, etc.</p>
<p>Ses attributs : </p>
<p>- Tous les attributs habituels des autres balises (id, class, title, etc.)</p>
<p><strong>&lt;legend&gt;</strong></p>
<p>Les balises des champs des formulaires :</p>
<p><strong>&lt;input&gt;</strong></p>
<p>Cette balise dans ces différents type permet l&#8217;entrée des données, qu&#8217;elles soient libres (text), soumises à un choix (radio) ou pour la validation du formulaire (submit) </p>
<p>Ses attributs de type : text, password, radio, checkbox, submit, reset, image, hidden, file, button.<br />
Ses autres attributs : name, value, checked, disabled, readonly, size, maxlength, src (pour les input de type image), alt (pour les input de type image).</p>
<p><strong>&lt;textarea&gt;</strong></p>
<p>Comme son nom l&#8217;indique il s&#8217;agit d&#8217;une zone dans laquelle on peut saisir du texte (sur plusieurs lignes).</p>
<p>Ses attributs : name, rows, cols, disabled, readonly.</p>
<p><strong>&lt;select&gt;</strong></p>
<p>La balise &lt;select&gt; permet de présenter plusieurs options de choix sous forme d&#8217;une liste déroulante.</p>
<p><strong>&lt;option&gt;</strong></p>
<p>La balise &lt;option&gt; permet de définir une option dans un menu (select).</p>
<p><strong>&lt;optgroup&gt;</strong></p>
<p>Les options de même type peuvent être regroupées dans un groupe d&#8217;options.</p>
<p><strong>&lt;button&gt;</strong></p>
<p>La balise button (avec l&#8217;attribut type=&nbsp;&raquo;submit&nbsp;&raquo;) permet de valider les formulaires comme un input de type submit, tout en ayant la particularité de permettre d&#8217;insérer du code html (comme du simple  texte ou une image) entre sa balise ouvrante et sa balise fermante, ce qui laisse beaucoup plus de possibilités qu&#8217;un simple champs input.  Mais attention, dans Internet Explorer ce qui est compris entre &lt;button&gt; et &lt;/button&gt; sera interprété comme étant la valeur du bouton, même si un attribut <em>value </em>indique une valeur différente, de plus internet explorer ne retournera pas <em>exactemen</em>t ce qui est entre les deux balises mais une interprétation de ce qui se trouve entre les deux balises.</p>
<p>Ses attributs de type : button, submit, reset.<br />
Ses autres attributs : name, value, typename.</p>
<p>Concernant le type <em>reset</em> pour les boutons, qu&#8217;ils soient construit avec la balise &lt;input&gt; ou la balise &lt;button&gt;, l&#8217;utilité de cette option me semble pour le moins limitée, pourquoi voudrait-on remettre à zéro les champs d&#8217;un formulaire qu&#8217;on vient juste de remplir ? Ne risque-t-on pas d&#8217;effacer malencontreusement toutes les données saisies ? Un exemple parlant : essayez de remplir <a href="http://www.gtp.gr/RoutesForm.asp?OName=piraeus&amp;DName=santorini&amp;GoLocation1.x=0&amp;GoLocation1.y=0">ce formulaire</a> et de le valider ensuite&#8230; Sur quel bouton avez-vous été tenté de cliquer ?</p>
<p>L&#8217;attribut <em>name</em> des champs de formulaire permet d&#8217;identifier chacun des éléments du formulaire et est indispensable pour récuperer les données du formulaire (cet attribut est déprécié uniquement sur les balises suivantes : a, applet, form, frame, iframe, img, et map). L&#8217;ajout d&#8217;un id à chaque élément est nécessaire pour rattacher chaque champs à son label. <em>Id</em> ne fait pas double emploi avec <em>name</em></p>
<p><strong>La balise <strong>&lt;label&gt;</strong></strong></p>
<p>Littéralement,<em> label </em>signifie <strong><em><span style="font-weight: normal;">étiquette. </span><span style="font-style: normal;"><span style="font-weight: normal;">Cette balise permet de rattacher un nom au champs d&#8217;un formulaire, elle permet également d&#8217;agrandir la zone de focus ou de clic, très pratique notamment pour les boutons radio ou des cases à cocher dont la zone de clic est réduite.</span></span></em></strong></p>
<p>attribut : for</p>
<p>Un exemple de formulaire html conçu en suivant ces recommandations :</p>
<pre>
<code class="prettyprint">
&lt;form action="inscription.php" method="post"&gt;
     &lt;fieldset class="etat-civil"&gt;
          &lt;legend&gt;Etat civil&lt;/legend&gt;
         &lt;label for="nom"&gt;Nom&lt;/label&gt;
         &lt;input id="nom" name="nom" type="text" /&gt;&lt;br /&gt;
         &lt;label for="prenom"&gt;Prénom &lt;/label&gt;
         &lt;input id="prenom" name="prenom" type="text" /&gt;&lt;br /&gt;
         &lt;label for="date-de-naissance"&gt;Date de naissance&lt;/label&gt;
         &lt;input id="date-de-naissance" name="date-de-naissance" type="text" /&gt;
     &lt;/fieldset&gt;
     &lt;fieldset class="adresse"&gt;
          &lt;legend&gt;Adresse&lt;/legend&gt;
          &lt;label&gt;Rue&lt;/label&gt;
          &lt;input id="rue" name="rue" type="text" /&gt;&lt;br /&gt;
          &lt;label&gt;Code postal&lt;/label&gt;
          &lt;input id="code-postal" name="code-postal" type="text" /&gt;&lt;br /&gt;
          &lt;label&gt;Ville&lt;/label&gt;
          &lt;input id="ville" name="ville" type="text" /&gt;
     &lt;/fieldset&gt;
     &lt;button onclick="alert(this.value)"&gt;Valider&lt;/button&gt;</code>
</pre>
<p>Les éléments de formulaire sont de type inline, sauf les éléments &lt;form&gt; et &lt;fieldset&gt; qui sont de type bloc.</p>
<p>Selon les besoins de présentation du formulaire on pourra intercaler des éléments &lt;div&gt; ou &lt;p&gt; pour structurer le formulaire (le débat reste ouvert sur l&#8217;utilisation de l&#8217;une ou l&#8217;autre des balises)</p>
<p><strong>2° étape : Ne pas oublier les bonnes pratiques !</strong></p>
<ul>
<li>En cas de rejet des données saisies dans un formulaire, les champs contenant les données rejetées sont indiqués à l&#8217;utilisateur.</li>
<li>En cas de rejet des données saisies dans un formulaire, toutes les données saisies peuvent être modifiées par l&#8217;utilisateur.</li>
<li>Les champs obligatoires des formulaires sont indiqués.</li>
<li>En cas de rejet des données saisies dans un formulaire, les raisons du rejet sont indiquées à l&#8217;utilisateur.</li>
<li>Les étapes des processus comportant des interactions multiples (commande, formulaires répartis sur plusieurs pages, etc.) sont décrites et imprimables avant leur commencement.</li>
</ul>
<p>La liste exhaustive des bonnes pratiques pour les formulaires est consultable sur le site des <a href="http://fr.opquast.com/bonnes-pratiques/">bonnes pratiques Opquast</a></p>
<p><strong>3° étape : Utilisation du javascript : Ajout de fonctionnalités et vérification du format des données.</strong></p>
<p>Javascript est défini comme une surcouche à html et doit donc être distinct de ce dernier selon la règle de séparation du contenu, de la forme et des comportements. Un formulaire pour être accessible doit pouvoir fonctionner sans javascript. Javascript n&#8217;étant là que pour apporter plus de conforts à l&#8217;utilisateur. On pourra donc tester si un champs est vide ou bien compléter, si une date, un code postal ou un numéro de téléphone est renseigné dans le bon format. Cette première &laquo;&nbsp;validation&nbsp;&raquo; javascript peut être faite soit lorsque le bouton valider est cliqué, soit au fur et à mesure de la saisie en utilisant la techno  Ajax, la dernière solution étant la plus communément utilisée aujourd&#8217;hui.</p>
<p>Exemples de formulaires vérifiés avec javascript :</p>
<ol>
<li><strong>Formulaire d&#8217;inscription du site <a href="http://www.rememberthemilk.com" />Remember the milk</a></strong>
<p><img src="http://www.lesintegristes.net/wp-content/uploads/2010/03/remember-the-milk.png" alt="formulaire remember the milk" title="remember-the-milk" width="765" height="312" /></li>
<li><strong>Formulaire d&#8217;inscription du site <a href="http://www.jamendo.com" />Jamendo</a></strong>
<p><img src="http://www.lesintegristes.net/wp-content/uploads/2010/03/jamendo.png" alt="formulaire de jamendo" title="jamendo" width="500" height="304" />
</ol>
<p>Exemples d&#8217;Aide à la saisie avec javascript :</p>
<ol>
<li><strong>Formulaire d&#8217;inscription du site <a href="http://www.cdiscount.com" />CDiscount</a></strong>
<p><img src="http://www.lesintegristes.net/wp-content/uploads/2010/03/cdiscount.png" alt="Formulaire CDiscount" title="cdiscount" width="690" height="142" /></li>
<li>
<strong>Formulaire d&#8217;inscription du site <a href="http://www.twitter.com" />Twitter</a></strong></p>
<p><img src="http://www.lesintegristes.net/wp-content/uploads/2010/03/twitter-ss.jpg" alt="Formulaire d&#039;inscripton Twitter" title="twitter" width="690" height="244"  />
</li>
</ol>
<p><strong>4° étape : la validation des données</strong></p>
<p>L&#8217;utilisation de javascript nous a permis de vérifier le formulaire sur différents points : champs obligatoires non renseignés, formats non conformes, etc. au fur et à mesure de la saisie sans envoyer de requête inutile au serveur. Toutefois, il ne faut pas perdre de vue que sans javascript ces éléments doivent également pouvoir être testés. </p>
<p>Ce que nous ne pouvons pas tester en javascript sera testé après l&#8217;envoi des données, par exemple : est-ce que l&#8217;identifiant choisi n&#8217;existe pas déjà dans la base de donnée ?</p>
<p>Une fois toutes ces données testées, elle pourront être ajoutées à la base de données.</p>
<p>Dernier test à effectuer : désactivez javascript dans votre navigateur pour vérifier que le formulaire est accessible !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2009/02/03/concevoir-un-formulaire-html-qui-tient-la-route/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Accessibilité VS référencement : quelles méthodes pour (ré-)concilier les deux ?</title>
		<link>http://www.lesintegristes.net/2008/11/27/accessibilite-vs-referencement-quelles-methodes-pour-re-concilier-les-deux/</link>
		<comments>http://www.lesintegristes.net/2008/11/27/accessibilite-vs-referencement-quelles-methodes-pour-re-concilier-les-deux/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 14:40:21 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Accessibilité]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Référencement]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=357</guid>
		<description><![CDATA[Après avoir lu sur de nombreux sites traitant de la question du référencement des pages web par les moteurs de recherches que le javascript était néfaste au référencement dans la mesure où les robots ne peuvent lire le contenu pertinent qui serait généré par javascript, ce langage serait-il devenu l’arme ultime des référenceurs, dans une utilisation à contrario ?
Alors que les intégrateurs, développeurs, webmasters et au sens le plus large, les créateurs de sites web échangent sur la meilleure façon d’utiliser javascript pour maintenir un site accessible, les professionnels du référencement n’hésitent pas à conseiller à leurs clients de&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p>Après avoir lu sur de nombreux sites traitant de la question du référencement des pages web par les moteurs de recherches que le javascript était néfaste au référencement dans la mesure où les robots ne peuvent lire le contenu pertinent qui serait généré par javascript, ce langage serait-il devenu l’arme ultime des référenceurs, dans une utilisation à contrario ?</p>
<p>Alors que les intégrateurs, développeurs, webmasters et au sens le plus large, les créateurs de sites web échangent sur la meilleure façon d’utiliser javascript pour maintenir un site accessible, les professionnels du référencement n’hésitent pas à conseiller à leurs clients de <em>faire des liens en javascript</em> ou à générer des parties de leur code html via javascript de manière à ne pas référencer certaines pages ou certaines parties de leur contenu dans le but de favoriser des pages au profit d&#8217;autres. Les robots n’étant pas  à l’heure actuelle en mesure de comprendre et donc d’interpréter le javascript, les liens JS ne seront pas suivis et le contenu généré ne sera pas pris en compte. J&#8217;ai également lu dernièrement que les robots seraient (je mets cette information au conditionnel) en mesure de décrypter les url dans le code javascript et donc de suivre ces liens comme des liens html, ce qui oblige actuellement les référenceurs à adopter des méthodes de cryptages &#8211; dans la limite de ce qu&#8217;il est possible de faire en javascript &#8211; pour leurs url !</p>
<p>Cette pratique loin d’être confidentielle se répand comme une traînée de poudre sur les sites de e-commerce français où les liens <code class="prettyprint">&lt;a href="link"&gt;</code> sont remplacés par des  <code class="prettyprint">&lt;span onclick="fonction()"&gt;</code>. (L’exemple le plus flagrant en est donné sur la page d&#8217;accueil du site de vente en ligne <em>rueducommerce.fr</em> sur laquelle pratiquement aucun lien de type <code class="prettyprint">&lt;a href="link"&gt;</code> n’est présent.)</p>
<p>Pour bien comprendre ce que ça implique, il faut d’une part rappeler que cette pratique va totalement à l’encontre des règles d’accessibilité les plus élémentaires :</p>
<p>En effet toute personne ayant javascript désactivé pour une raison ou pour une autre ne pourra pas afficher la page liée. Les personnes ayant javascript activé ne pourront pas utiliser le clic milieu de leur souris ou l’option <em>ouvrir un nouvel onglet</em> de leur menu contextuel. Ce procédé restreint donc les possibilités de l’utilisateur qu’il ait ou pas javascript activé dans son navigateur. Il est important de rappeler que la conception de pages avec le langage html répond à des normes : <em>les standards du web</em>, dont les recommandations sont rédigés par le W3C, organisme qui supervise le développement des standards du web, et pour que ces pages puissent fonctionner de façon satisfaisante dans les principaux navigateurs du marché, ces recommandations ou règles doivent être suivies. Il est également important de rappeler que de nombreuses applications et extensions, notamment celles de Firefox sont basées sur ce socle commun qu&#8217;il est primordial de respecter, faute de quoi l&#8217;utilisateur s&#8217;en trouve obligatoirement lésé.</p>
<p>Lisons ce qu’il est dit dans la documentation du groupe <abbr title="Web Accessibility Initiative">WAI</abbr> du W3C, référence majeure pour l’accessibilité des sites web :</p>
<p><strong><abbr title="Web Content Accessibility Guideline">WCAG</abbr> 1.0  (version par lagrange.net)</strong></p>
<blockquote cite="http://www.la-grange.net/w3c/wcag1/wai-pageauth.html#gl-new-technologies"><p>Guideline 6. S’assurer que les pages qui contiennent de nouvelles technologies se transforment de façon élégante.</p>
<p>6.3 S&#8217;assurer que les pages soient visibles lorsque les scripts, les applets ou autres artefacts programmables sont désactivés ou non supportés. Lorsque ce n&#8217;est pas possible, fournissez une information équivalente sur une page alternative. [Priorité 1]<br />
Par exemple, assurez vous que les liens qui activent les scripts fonctionnent même lorsque ces derniers sont désactivés ou non supportés (par ex. Il ne faut pas utiliser &laquo;&nbsp;javascript:&nbsp;&raquo; comme cible des liens).</p></blockquote>
<p><strong>W3C : Techniques pour les règles d&#8217;accessibilité du contenu Web 1.0 (version par lagrange.net)</strong></p>
<blockquote cite="http://www.la-grange.net/w3c/WAI-WEBCONTENT-TECHS/#scripts"><p>4.12.1 Scripts de transformation</p>
<p>Les développeurs de contenu doivent s&#8217;assurer que les pages sont accessibles avec les scripts désactivés ou dans des navigateurs qui ne supportent pas les scripts.</p>
<p>* Eviter la création de contenu à la volée par le client. Si un navigateur d&#8217;utilisateur ne gère pas les scripts, aucun contenu ne sera généré ou affiché. Cependant, Ceci est différent lorsqu&#8217;il s&#8217;agit d&#8217;afficher ou de cacher un contenu déjà existant en utilisant une combinaison de feuilles de style et de scripting ; S&#8217;il n&#8217;y a pas de scripts, le contenu sera tout de même affiché. Cela ne s&#8217;applique pas aux pages générées à la volée par le serveur et distribuées au client.<br />
* Eviter la création de liens qui utilisent &laquo;&nbsp;javascript&nbsp;&raquo; pour l&#8217;URI. Si un utilisateur n&#8217;utilise pas les scripts, il sera alors incapable d&#8217;utiliser le lien car le navigateur ne pourra créé le lien.</p></blockquote>
<p>Que recommande Google à ce sujet ?</p>
<p><strong>Google (Centre d’aide Webmasters/propriétaires de sites web)</strong></p>
<blockquote><p>Si votre site contient du texte ou des liens cachés, il risque d&#8217;être considéré comme peu fiable, car il présente aux moteurs de recherche un contenu différent de celui destiné aux visiteurs […]</p></blockquote>
<blockquote cite=" http://www.google.com/support/webmasters/bin/answer.py?answer=66353&amp;hl=fr"><p>[…] Si votre site contient du texte et des liens cachés conçus pour induire les moteurs de rechercher en erreur, votre site peut être retiré de l&#8217;index Google et ne plus être affiché dans les pages de résultats de recherche. Lorsque vous évaluez votre site afin de vérifier s&#8217;il contient du texte ou des liens cachés, recherchez tout ce qui n&#8217;est pas facilement affichable par les visiteurs. Existe-t-il du texte ou des liens accessibles uniquement aux moteurs de recherche et non aux visiteurs ? […]</p></blockquote>
<blockquote cite="http://www.google.com/support/webmasters/bin/answer.py?answer=66355&amp;ctx=sibling"><p>[…] Lorsque Googlebot indexe une page contenant un script JavaScript, il ne peut pas suivre ou indexer les liens cachés dans le script lui-même. L&#8217;utilisation d&#8217;un script JavaScript est une pratique Web totalement légitime. Toutefois, son utilisation dans le but de tromper les moteurs de recherche ne l&#8217;est pas. […]</p></blockquote>
<p>Pour résumer, il n’est pas interdit d’utiliser des liens javascript dans la mesure où la page présentée aux moteurs de recherche est la même que celle présentée aux utilisateurs. Ce qui n’est pas le cas dans la mesure où les robots ne pouvant lire javascript considèrent que les liens n’existent pas et ne référencent pas la page liée…</p>
<p>Devons-nous considérer que puisque le nombre des visiteurs sans javascript est faible, il n’est plus utile de se préoccuper de faire du javascript non-intrusif ? Comment se maintenir dans un secteur où toutes les méthodes même les plus contestables sont utilisées pour maintenir un taux de visites important sur son site ? Est-il possible de rester concurrentiel en utilisant les bonnes pratiques et en maintenant un site accessible, sans pour autant négliger la partie référencement ?</p>
<p>Pour continuer la réflexion quelques liens utiles :</p>
<ul>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?hl=fr&amp;answer=35769">Support Google : Conseils aux webmasters</a></li>
<li><a href="http://www.pompage.net/pompe/accesibilitemoteursderecherche/">Vous aimez l’accessibilité ? Les moteurs de recherche aussi !</a></li>
<li><a href="http://www.wizishop.com/blog/les-dossiers-du-e-commerce/accessibilite-et-e-commerce-interets.html">Accessibilité et e-commerce : Pourquoi rendre son site accessible ?</a></li>
<li><a href="http://webyboom.canalblog.com/archives/2008/08/28/10378459.html">Target condamné pour l&#8217;inaccessibilité de son site aux non-voyants</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2008/11/27/accessibilite-vs-referencement-quelles-methodes-pour-re-concilier-les-deux/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Quoi de neuf du côté des mises en page CSS (CSS Layouts) ?</title>
		<link>http://www.lesintegristes.net/2008/11/12/quoi-de-neuf-du-cote-des-layout/</link>
		<comments>http://www.lesintegristes.net/2008/11/12/quoi-de-neuf-du-cote-des-layout/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 11:00:10 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=226</guid>
		<description><![CDATA[
Grégoire Dierendonck
Vous avez certainement lu comme moi, que tout ce que vous saviez sur les css étaient faux en lisant l&#8217;article de Digital Web par Rachel Andrew. Je n&#8217;ai pas lu le livre, mais à la lecture de l&#8217;article j&#8217;ai voulu tester une nouvelle manière de mettre en page mon code html. Avec l&#8217;arrivée d&#8217;IE8, on va pouvoir enfin utiliser les propriétés CSS display:table, display:table-row et autres display:cell. Et je me pose la question suivante : à quoi servent réellement ces propriétés ? Parce que si on a bataillé, argumenté et convaincu des dizaines de personnes que les tableaux&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<div style="margin: 0pt 0pt 5px 5px; float: right; width: 283px; font-size: 10px; text-align: center;"><a href="http://www.lesintegristes.net/wp-content/uploads/2008/11/chicken-css1.jpg"><img src="http://www.lesintegristes.net/wp-content/uploads/2008/11/chicken-css1.jpg" alt="Illustration par Grégoire Dierendonck" width="283" height="351" /></a><br />
<a style="margin-left:10px;text-decoration:none;" href="http://www.troispongdesign.fr/"><em>Grégoire Dierendonck</em></a></div>
<p>Vous avez certainement lu comme moi, que <em>tout ce que vous saviez sur les css étaient faux</em> en lisant l&#8217;article de <a href="http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/">Digital Web par Rachel Andrew</a>. Je n&#8217;ai pas lu le livre, mais à la lecture de l&#8217;article j&#8217;ai voulu tester une nouvelle manière de mettre en page mon code html. Avec l&#8217;arrivée d&#8217;IE8, on va pouvoir enfin utiliser les propriétés CSS <code>display:table</code>, <code>display:table-row</code> et autres <code>display:cell</code>. Et je me pose la question suivante : à quoi servent réellement ces propriétés ? Parce que si on a bataillé, argumenté et convaincu des dizaines de personnes que <em>les tableaux c&#8217;est mal</em>, c&#8217;est pas pour simuler des tableaux en CSS ! Justement l&#8217;auteure nous réponds à ce sujet :</p>
<blockquote><p>L&#8217;élément table en HTML est une structure sémantique, il décrit des données. Par conséquent, l&#8217;élément table est à utiliser uniquement pour des données tabulaires, par exemple un tableau mettant en forme des informations financières. Ces informations seraient normalement stockées dans une feuille de calcul sur votre ordinateur, il faudrait probablement un tableau pour les présenter en HTML.</p>
<p>La valeur <em>table</em> de la propriété <em>display</em>, d&#8217;un autre côté est simplement une indication de la présentation à afficher dans le navigateur &#8211; elle n&#8217;a pas de signification sémantique. Utiliser un élément <em>table</em> pour votre mise en page donne l&#8217;information suivante au <em>user-agent</em> : ces données sont tabulaires. Utiliser plusieurs divs qui ont la propriété <em>display</em> avec les valeurs <em>table</em> ou <em>table cell</em>, ne dit rien de plus au <em>user agent</em> que demander de les rendre visuellement d&#8217;une certaine façon, s&#8217;il en a la capacité.</p></blockquote>
<p>Donc pas de problème, du moment que notre code html reste sémantique, on peut y aller ?</p>
<p>Quels sont actuellement les moyens dont nous disposons pour mettre notre code html en forme ?</p>
<ol>
<li><strong>Mise en forme <em>à l&#8217;ancienne </em></strong>
<p>Il y a quelques années (au temps de netscape 4 et IE 5.5), j&#8217;aurais fait (à peu près) une mise en forme de ce style :</p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/table-layout.html"> </a></p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/table-layout.html">Mise en page en tableau</a></li>
<li><strong>Mise en page avec des éléments flottants * </strong>
<p>Pour moi la façon la plus fluide de mettre une page en forme, et qui permet beaucoup de flexibilité.</p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/float-css-layout.html"> </a></p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/float-css-layout.html">Mise en page avec des divs flottants</a></li>
<li><strong>Mise en page avec des éléments en absolu * </strong>
<p>Pratique dans certains cas mais je ne la conseillerais pas, trop figée pour des sites qui évoluent en permanence.<a href="http://www.lesintegristes.net/demos/2008/11/layouts/position-css-layout.html"></p>
<p>Mise en page avec des éléments en absolu</a></li>
<li><strong>Mise en page avec des display:table</strong>
<p>L&#8217;article de Digital web présente cette façon de faire. En lisant l&#8217;article, ça a l&#8217;air simple. <q cite="http://www.cineartistes.com/index.php?page=afficher&amp;id=Raymond+Souplex">Bon sang, mais c&#8217;est bien sur !</q> Pourquoi n&#8217;avions nous pas pensé à cette façon de faire plus tôt ? Bon, ok, on l&#8217;oublie à cause d&#8217;IE6, mais parfois on aime bien se projeter dans le futur et essayer de nouvelles choses, juste pour le sport&#8230; Je reprends donc mon design minimaliste : un header, une colonne de gauche, une colonne de droite et un footer. Simple. Je me base sur mon intégration <em>old school</em> et essaie d&#8217;appliquer la méthode vue dans l&#8217;article cité ci-dessus. Pas besoin de reprendre l&#8217;intégralité du code des tableaux (thead, tbody, tfoot, tr, etc&#8230;) puisque les éléments manquants sont créés virtuellement par le navigateur.</p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/table-css-layout.html"></a></p>
<p><a href="http://www.lesintegristes.net/demos/2008/11/layouts/table-css-layout.html">Une esquisse de résultat&#8230;</a></li>
</ol>
<p>Essayons maintenant de faire un colspan&#8230; hum, comment fait-on ? Puisque les propriétés du tableau sont définies en CSS et pas en HTML ? Après maintes recherches je déclare forfait. Avez-vous la réponse ?</p>
<p>En reprenant l&#8217;article, je me rends compte que ce n&#8217;est pas évoqué. Les seuls cas envisagés sont simples voire simplistes. Ok pour un site perso, mais ce n&#8217;est vraiment pas adapté pour un environnement professionnel. Loin de révolutionner notre façon d&#8217;utiliser les CSS, cette démonstration reste pour moi rien de plus qu&#8217;un exercice de styles&#8230;</p>
<p>On devra certainement attendre longtemps avant de voir arriver des CSS spécialement dédiés à la mise en forme de page web, en attendant vous pouvez toujours aller voir le document de travail <a href="http://www.w3.org/TR/css3-layout/">Advanced Layout</a> du W3C.</p>
<p>*<em> Des tas d&#8217;exemples de mise en page sur les sites suivants :</em></p>
<p><a href="http://layouts.ironmyers.com/100_percent_Layouts/">http://layouts.ironmyers.com/100_percent_Layouts/</a><br />
<a href="http://blog.html.it/layoutgala/"><span style="text-decoration: underline;">http://blog.html.it/layoutgala/</span></a><br />
<a href="http://sherina.blogsome.com/2008/07/29/10-css-layout-demos/">http://sherina.blogsome.com/2008/07/29/10-css-layout-demos/</a><br />
<a title="http://css-discuss.incutio.com/?page=CssLayouts" href="http://css-discuss.incutio.com/?page=CssLayouts">http://www.smashingmagazine.com/2007/01/12/free-css-layouts-and-templates</a><br />
<a href="http://css-discuss.incutio.com/?page=CssLayouts">http://css-discuss.incutio.com/?page=CssLayouts</a><br />
<a href="http://www.free-css.com/free-css-layouts/page1.php">http://www.free-css.com/free-css-layouts/page1.php</a><br />
<a href="http://www.code-sucks.com/css%20layouts/faux-css-layouts/">http://www.code-sucks.com/css%20layouts/faux-css-layouts/</a><br />
<a href="http://www.free-css.com/free-css-layouts/page1.php">http://www.free-css.com/free-css-layouts/page1.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2008/11/12/quoi-de-neuf-du-cote-des-layout/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Et les standards, dans tout ça ?</title>
		<link>http://www.lesintegristes.net/2008/10/28/article-du-2810/</link>
		<comments>http://www.lesintegristes.net/2008/10/28/article-du-2810/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 11:17:10 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Actualité]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=210</guid>
		<description><![CDATA[MAMA est un moteur de recherche développé par Opéra qui s&#8217;intéresse non pas au contenu des pages web mais à leur structure. Le résultat de leur première étude basée sur l&#8217;analyse de 3,5 millions de pages de 3 millions de domaines différents laisse apparaître que :

50% des pages n’ont pas de doctype
 la proportion des types de page est de l&#8217;ordre  de 1 doctype strict pour 10 doctypes transitionnels
4,13% des pages sont conformes
Les tableaux sont présents dans plus de 80% des documents, essentiellement pour faire de la mise en page et non pour présenter des données tabulaires

Autant dire que&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p><acronym title="Metadata Analysis and Mining Application"><a href="http://www.opera.com/pressreleases/en/2008/10/15/">MAMA</a></acronym> est un moteur de recherche développé par Opéra qui s&#8217;intéresse non pas au contenu des pages web mais à leur structure. <a href="http://dev.opera.com/articles/view/mama-key-findings/">Le résultat de leur première étude</a> basée sur l&#8217;analyse de 3,5 millions de pages de 3 millions de domaines différents laisse apparaître que :</p>
<ul>
<li><strong>50%</strong> des pages n’ont pas de doctype</li>
<li> la proportion des types de page est de l&#8217;ordre  de <strong>1 doctype strict pour 10 doctypes transitionnels</strong></li>
<li><strong>4,13%</strong> des pages sont conformes</li>
<li>Les tableaux sont présents dans <strong>plus de 80%</strong> des documents, essentiellement pour faire de la mise en page et non pour présenter des données tabulaires</li>
</ul>
<p>Autant dire que les automatismes ne sont pas acquis par tout le monde et que faire respecter les standards est un travail de longue haleine. Il n&#8217;est pas inutile de rappeler comment bien structurer ces pages et comment appliquer les bonnes pratiques. Ce que nous ne manquerons pas de faire dans nos prochains billets.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2008/10/28/article-du-2810/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Les Intégristes enquêtent</title>
		<link>http://www.lesintegristes.net/2008/10/22/les-integristes-enquetent/</link>
		<comments>http://www.lesintegristes.net/2008/10/22/les-integristes-enquetent/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 21:33:31 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Navigateurs]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=193</guid>
		<description><![CDATA[Save the developpers est une initiative du Conveyor Group, une société de design basée en Californie qui a lancé fin mars un site savethedevelopers.org qui enjoint les développeurs, intégrateurs, concepteurs de site web à ajouter un script destiné aux utilisateurs d’Internet Explorer 6 qui seront informés par une petite alerte s’affichant en haut à droite de leur navigateur qu’il existe maintenant d’autres alternatives à IE6. En cliquant sur cette alerte, l’internaute est redirigé vers le site lui expliquant pourquoi changer de navigateur et en lui proposant de télécharger les principaux navigateurs du marché.

Cette idée nous a paru sympathique et&#160;[&#8230;]]]></description>
			<content:encoded><![CDATA[<p><em>Save the developpers</em> est une initiative du <a href="http://www.conveyorgroup.com/news.php?build=view&amp;idr=37&amp;page2=1">Conveyor Group</a>, une société de design basée en Californie qui a lancé fin mars un site <em>savethedevelopers.org </em>qui enjoint les développeurs, intégrateurs, concepteurs de site web à ajouter un script destiné aux utilisateurs d’<strong>Internet Explorer 6</strong> qui seront informés par une petite alerte s’affichant en haut à droite de leur navigateur qu’il existe maintenant d’autres alternatives à <strong>IE6</strong>. En cliquant sur cette alerte, l’internaute est redirigé vers le site lui expliquant pourquoi changer de navigateur et en lui proposant de télécharger les principaux navigateurs du marché.</p>
<p style="text-align:center"><a href="http://www.lesintegristes.net/wp-content/uploads/2008/10/save-developers2.png"><img src="http://www.lesintegristes.net/wp-content/uploads/2008/10/save-developers2.png" alt="Save the developers" title="save-developers2" width="480" height="344" class="size-full wp-image-199" /></a></p>
<p>Cette idée nous a paru sympathique et séduisante et chez<em> Les Intégristes</em> nous avons choisi de l’adopter. Seulement voilà, en retournant sur le site cette semaine,  nous avons été fortement étonnés d’être redirigés vers la page de téléchargement des deux dernières versions d’Internet Explorer, chez <em>Microsoft</em>. J’ai donc essayé de rechercher des informations et je n&#8217;ai rien trouvé à ce sujet, nulle part…</p>
<p>La traduction française du site ayant été faite par <a href="http://www.ledetracteur.com/2008/03/26/sauvez-un-developpeur-debarassez-vous-dinternet-explorer-6/">Le détracteur constructif</a>, je suis donc allé leur poser la question :</p>
<blockquote><p>Q:Bonjour,<br />
Nous adhérons fortement, chez les “intégristes”, à l’idée de progressivement délaisser IE6 pour enfin évoluer vers d’autres possibilités d’intégration et de développement que ne permets pas IE6, alors forcément l’idée de “savethedeveloppers” nous parait sympathique. Cependant depuis quelques jours l’URL “http://www.savethedevelopers.org” renvoie vers “http://www.microsoft.com/windows/internet-explorer/download-ie.aspx” la page de téléchargement de la dernière version d’Internet Explorer. J’ai essayé de trouver des infos à ce sujet sans succès… Qu’en est-il ?</p>
<p>A:Wow en effet… Hmm il je me demande si le projet a été “avorté” par Microsoft, à grand coups d’argent. Je vais essayer de voir si j’ai encore mon contact avec les gens qui faisaient ce site, et je vous reviens là dessus…</p></blockquote>
<p>Si tel est le cas, cette initiative doit être très récente parce que <a href="http://twitter.com/SaveDevelopers">le dernier message</a> posté sur Twitter par <em>savethedeveloppers</em> est daté du 15 octobre dernier :&nbsp;&raquo; New products for winter and site supporters added.&nbsp;&raquo;</p>
<p>Est-on en présence d’une affaire du type <a href="http://en.wikipedia.org/wiki/MikeRoweSoft.com">Mikerowsoft</a> ? En tout cas chez <em>Les&nbsp;Intégristes</em> nous avons retiré ce script qui maintenant incite les internautes à télécharger exclusivement Internet Explorer…</p>
<p>Nous vous communiquerons plus d’informations dès que possible, si de votre côté vous pouvez éclairer notre lanterne n’hésitez pas à poster.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2008/10/22/les-integristes-enquetent/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
