<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>Openweb.eu.org</title>
	<link>http://openweb.eu.org/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>

	<image>
		<title>Openweb.eu.org</title>
		<url>http://openweb.eu.org/local/cache-vignettes/L144xH38/siteon0-74129.png</url>
		<link>http://openweb.eu.org/</link>
		<height>38</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>Contrastes de texte</title>
		<link>http://openweb.eu.org/articles/accessibilite_contrastes_textes_sites</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/accessibilite_contrastes_textes_sites</guid>
		<dc:date>2012-02-16T19:51:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Nicolas Hoffmann</dc:creator>


		<dc:subject>D&#233;butant</dc:subject>
		<dc:subject>Expert</dc:subject>
		<dc:subject>Accessibilit&#233;</dc:subject>

		<description>Les contrastes de textes sont un &#233;l&#233;ment essentiel d'accessibilit&#233; des sites internet. Un choix judicieux permet de garantir une lisibilit&#233; maximale aux personnes ayant un handicap visuel permanent (d&#233;ficience visuelle, etc.), temporaire (fatigue, &#233;cran de mauvaise qualit&#233;, etc.)&#8230; et toutes les autres. Bien souvent par m&#233;connaissance, les contrastes de textes sont trait&#233;s rapidement, pour ne pas dire ignor&#233;s. Ils sont pourtant un point tr&#232;s important d'accessibilit&#233;, et plus largement de lisibilit&#233; (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/debutant" rel="tag"&gt;D&#233;butant&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/expert" rel="tag"&gt;Expert&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/accessibilite" rel="tag"&gt;Accessibilit&#233;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les contrastes de textes sont un &#233;l&#233;ment essentiel d'accessibilit&#233; des sites internet. Un choix judicieux permet de garantir une lisibilit&#233; maximale aux personnes ayant un handicap visuel permanent (d&#233;ficience visuelle, etc.), temporaire (fatigue, &#233;cran de mauvaise qualit&#233;, etc.)&#8230; et toutes les autres.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Bien souvent par m&#233;connaissance, les contrastes de textes sont trait&#233;s rapidement, pour ne pas dire ignor&#233;s. Ils sont pourtant un point tr&#232;s important d'accessibilit&#233;, et plus largement de lisibilit&#233; des contenus des sites internet. Qui plus est, en pleine connaissance du sujet, c'est un point d'accessibilit&#233; en g&#233;n&#233;ral assez facile &#224; traiter gr&#226;ce aux &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; et qui apporte de grands b&#233;n&#233;fices.&lt;/p&gt; &lt;p&gt;M&#234;me les personnes n'ayant pas &#224; proprement parler de handicap en b&#233;n&#233;ficient &#233;galement : l'exp&#233;rience de lecture est d'autant plus agr&#233;able si l'internaute n'a pas &#224; plisser les yeux pour lire un texte !&lt;/p&gt; &lt;p&gt;Quelques statistiques :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; il est estim&#233; que 15% &#224; 20% de la population des &#201;tats-Unis ont des difficult&#233;s pour lire (en incluant la dyslexie), &lt;br /&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; selon l'&lt;abbr title=&quot;Institut national de la statistique et des &#233;tudes &#233;conomiques&quot; xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;INSEE&lt;/abbr&gt; (2002), 3,346 millions de personnes en France d&#233;claraient avoir une d&#233;ficience visuelle,
&lt;br /&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; environ 8 &#224; 12% de la population mondiale serait dyslexique, dont 5 &#224; 15% des enfants,
&lt;br /&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; la fr&#233;quence des daltoniens est, en moyenne, de 8% dans la population masculine et 0,5% dans la population f&#233;minine mondiale.&lt;/p&gt; &lt;p&gt;Les probl&#232;mes de vue s'accentuant avec l'&#226;ge et le secret de l'&#233;ternelle jeunesse n'ayant pas encore &#233;t&#233; d&#233;couvert, il est ais&#233; de comprendre qu'un jour ou l'autre, in&#233;vitablement, la question de la lisibilit&#233; des textes va se poser &#224; une grande majorit&#233; de personnes.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Recommandations &lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt;, un bon indicateur&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Contrastes&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Selon les recommandations &lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt; 2.0 du &lt;abbr title=&quot;World Wide Web Consortium&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;W3C&lt;/abbr&gt;, pour obtenir le niveau AA, la r&#232;gle 1.4.3 nous indique ceci :&lt;/p&gt; &lt;blockquote class=&quot;spip&quot;&gt;
&lt;p&gt;
Le texte (ou les images de texte informatif) de moins de 18 points (ou moins de 14 points en gras) devrait poss&#233;der un contraste de luminosit&#233; d'au moins 4,5 pour 1 avec son arri&#232;re-plan.
Le texte (ou les images de texte informatif) de plus de 18 points (ou plus de 14 points en gras) devrait poss&#233;der un contraste de luminosit&#233; d'au moins 3 pour 1 avec son arri&#232;re-plan.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Toujours selon les m&#234;mes recommandations &lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt; 2.0, pour obtenir le niveau AAA, la r&#232;gle 1.4.6 nous indique :&lt;/p&gt; &lt;blockquote class=&quot;spip&quot;&gt;
&lt;p&gt;
Le texte (ou les images de texte informatif) de moins de 18 points (ou moins de 14 points en gras) devrait poss&#233;der un contraste de luminosit&#233; d'au moins 7 pour 1 avec son arri&#232;re-plan.
Le texte (ou les images de texte informatif) de plus de 18 points (ou plus de 14 points en gras) devrait poss&#233;der un contraste de luminosit&#233; d'au moins 4,5 pour 1 avec son arri&#232;re-plan.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Note importante : les chiffres et recommandations de contrastes &#233;nonc&#233;s dans cet article ne sont applicables qu'&#224; une lecture sur &#233;cran.&lt;/p&gt; &lt;p&gt;Vous pouvez trouver &lt;a href=&quot;http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef&quot; class='spip_out' rel='external'&gt;les formules math&#233;matiques pour calculer les contrastes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Luminosit&#233; et diff&#233;rence de tonalit&#233;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;D'autres indicateurs sont int&#233;ressants en plus du calcul de contraste : la luminosit&#233; et la diff&#233;rence de tonalit&#233;. Les &lt;a href=&quot;http://www.visionaustralia.org.au/info.aspx?page=961&quot; class='spip_out' rel='external'&gt;formules pour calculer la luminosit&#233; et la diff&#233;rence de tonalit&#233;&lt;/a&gt; sont &#233;galement disponibles. Toutefois vu leur complexit&#233;, les expliquer en d&#233;tail impliquerait un article bien plus long.&lt;/p&gt; &lt;p&gt;Il est recommand&#233; d'avoir une luminosit&#233; sup&#233;rieure ou &#233;gale &#224; 125 et une diff&#233;rence de tonalit&#233; sup&#233;rieure ou &#233;gale &#224; 500 pour garantir une bonne lisibilit&#233;.&lt;/p&gt; &lt;p&gt;Bien s&#251;r, il est hors de question de faire &#224; chaque fois des calculs laborieux pour chaque couleur de texte et sa couleur de fond, des utilitaires permettent de le faire rapidement, d'obtenir ces informations&#8230; et bien s&#251;r d'agir en cons&#233;quence.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Des utilitaires pour &#233;tudier les contrastes des textes&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Color contrast check&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L275xH285/color-contra07b3-6450e.png&quot; width='275' height='285' alt=&quot;Color contrast check&quot; style='height:285px;width:275px;' /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.snook.ca/technical/colour_contrast/colour.html&quot; class='spip_out' rel='external'&gt;Color contrast Check&lt;/a&gt; est un utilitaire web tr&#232;s pratique, il affiche les valeurs des contrastes et si ces derniers sont conformes aux recommandations &lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt;. Il indique &#233;galement la luminosit&#233; ainsi que la diff&#233;rence de tonalit&#233;.
Plus pratique encore, il permet d'adapter les couleurs directement et de voir l'impact sur les r&#233;sultats. Ainsi, cela permet d'&#233;tudier et d'adapter les choix de couleurs rapidement et efficacement.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Contrast-A&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L408xH333/contrastApng5dfb-22399.png&quot; width='408' height='333' alt=&quot;Contrast-A&quot; style='height:333px;width:408px;' /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.dasplankton.de/ContrastA/&quot; class='spip_out' rel='external'&gt;Contrast-A&lt;/a&gt; est plus orient&#233; &#171; recherche de couleurs &#187; et &#171; choix de palettes &#187;. N&#233;anmoins, il est tr&#232;s complet :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; il permet &#233;galement de visualiser ces choix avec diff&#233;rents types de handicaps, comme les diff&#233;rents types de daltonisme (la protanopie, la deut&#233;ranopie et la tritanopie) et la d&#233;ficience totale de vision des couleurs (&lt;i&gt;color blindness&lt;/i&gt; en anglais), &lt;/li&gt;&lt;li&gt; des notes sont attribu&#233;es aux choix des couleurs selon chacun des handicaps,&lt;/li&gt;&lt;li&gt; et toutes les valeurs sont calcul&#233;es : les contrastes ainsi que la luminosit&#233; et les diff&#233;rences de tonalit&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Color contrast analyser&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L366xH364/color-contra0cfe-a25cf.png&quot; width='366' height='364' alt=&quot;Color contrast analyser&quot; style='height:364px;width:366px;' /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.visionaustralia.org.au/info.aspx?page=961&quot; class='spip_out' rel='external'&gt;Color contrast analyser&lt;/a&gt; est un logiciel (sous Windows et Macintosh) qui permet de calculer la luminosit&#233; et la diff&#233;rence de tonalit&#233; ainsi que ces valeurs pour les diff&#233;rents types de daltonisme, ce qui permet de voir si les pages sont correctement consultables par des personnes souffrant de ces handicaps. Il est tr&#232;s complet et tr&#232;s simple d'utilisation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Extensions Firefox&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L280xH364/wcag-contras41c5-ae47a.png&quot; width='280' height='364' alt=&quot;WCAG contrast checker&quot; style='height:364px;width:280px;' /&gt;&lt;/p&gt; &lt;p&gt;Des extensions comme &lt;a href=&quot;https://addons.mozilla.org/en-us/firefox/addon/wcag-contrast-checker/&quot; class='spip_out' rel='external'&gt;&lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt; contrast checker pour Firefox&lt;/a&gt; permettent de rapidement &#233;valuer les contrastes des textes. Un simple clic vous permet de rapidement voir si vos textes sont conformes aux recommandations &lt;abbr title=&quot;Web Content Accessibility Guidelines&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;WCAG&lt;/abbr&gt; 2.0.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Autres outils sur les logiciels de graphisme&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Photoshop int&#232;gre depuis la version CS4 des filtres pour le daltonisme, ils sont sous Affichage &gt; Format d'&#233;preuve &gt; Dyschromatopsie (protanopie et deut&#233;ranopie). Il existe &#233;galement des plugins comme ceux propos&#233;s par &lt;a href=&quot;http://www.vischeck.com/downloads/&quot; class='spip_out' rel='external'&gt;VisCheck&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Gimp a lui aussi des &lt;a href=&quot;http://registry.gimp.org/taxonomy/term/1187&quot; class='spip_out' rel='external'&gt;outils d&#233;di&#233;s aux probl&#232;mes de visions&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Inkscape, un logiciel libre de graphisme vectoriel, a &#233;galement des &lt;a href=&quot;http://kaioa.com/node/91&quot; class='spip_out' rel='external'&gt;extensions d&#233;di&#233;es aux probl&#232;mes de vision des couleurs&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note importante :&lt;/strong&gt; m&#234;me si l'article se concentre uniquement sur les contrastes (pour d'&#233;videntes raisons de longueur), la lisibilit&#233; des textes ne se r&#233;sume pas uniquement &#224; cette question. Certains des outils pr&#233;sent&#233;s ci-dessus tiennent compte de la taille du texte, mais d'autres facteurs peuvent influencer la perception des contrastes de couleurs et modifier la g&#234;ne occasionn&#233;e pour l'utilisateur :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; le choix de la police (avec ou sans s&#233;rif, la forme et l'&#233;paisseur des caract&#232;res),&lt;/li&gt;&lt;li&gt; les styles appliqu&#233;s (gras, italique, lettres capitales),&lt;/li&gt;&lt;li&gt; l'espace entre les lettres et entre les lignes (pensez &#224; une valeur suffisante pour &lt;code&gt;line-height&lt;/code&gt; en &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;),&lt;/li&gt;&lt;li&gt; la longueur du texte (ce qui est acceptable pour un titre ne le sera pas forc&#233;ment pour de longs paragraphes),&lt;/li&gt;&lt;li&gt; le comportement de la police au redimensionnement effectu&#233; par l'utilisateur,&lt;/li&gt;&lt;li&gt; la qualit&#233; de l'anticr&#233;nelage de la police selon le syst&#232;me d'exploitation et/ou le logiciel utilis&#233;, &lt;/li&gt;&lt;li&gt; etc.&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;Des recommandations, des valeurs&#8230; mais pas une finalit&#233;&lt;/h3&gt;
&lt;p&gt;En prenant les recommandations &#233;nonc&#233;es et en utilisant &#171; b&#234;tement &#187; les outils propos&#233;s ci-dessus, nous pourrions croire par exemple que les contrastes tr&#232;s forts conviennent parfaitement, que ce soit une couleur claire sur fond sombre ou une couleur sombre sur fond clair&#8230; ce n'est pas du tout aussi simple !&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Contraste n&#233;gatif ou positif ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les recherches ont prouv&#233; que les textes &#224; contraste positif (texte fonc&#233; sur fond clair) sont plus lisibles que ceux &#224; contraste n&#233;gatif (texte clair sur fond sombre).&lt;/p&gt; &lt;p&gt;Ajoutons &#224; cela d'autres cas de figure :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; un fond sombre accentue les probl&#232;mes de reflets, tr&#232;s g&#234;nants notamment en situation de mobilit&#233;, encore plus si vous avez un soleil puissant dans le dos,&lt;/li&gt;&lt;li&gt; autre cas en situation de mobilit&#233;, l'&#233;cran d'un ordinateur portable sera bien moins lumineux pour &#233;conomiser de la batterie, un contraste n&#233;gatif insuffisant risque d'handicaper la lecture. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Note : rappelons bien que le but n'est pas de proscrire des combinaisons de couleurs ou d'interdire les contrastes n&#233;gatifs, mais de chercher une lisibilit&#233; maximale.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;De forts contrastes positifs ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les trop forts contrastes, m&#234;me positifs, agressent l'&#339;il, g&#234;nent la lecture et accentuent la fatigue oculaire.&lt;/p&gt; &lt;p&gt;Le noir pur &lt;code&gt;#000&lt;/code&gt; sur fond blanc pur &lt;code&gt;#fff&lt;/code&gt; g&#234;ne par exemple les dyslexiques : le contraste trop &#233;lev&#233; a tendance &#224; faire &#171; trembler &#187; ou &#171; bouger &#187; les textes. Ce ph&#233;nom&#232;ne est d&#233;crit sous le nom de &#171; syndrome d'Irlen &#187; ou &#171; syndrome de sensibilit&#233; scotopique &#187; et ne concerne pas uniquement les dyslexiques.&lt;/p&gt; &lt;p&gt;Pour donner un autre exemple, un texte noir pur sur fond blanc pur accentue l'effet de halo pour les personnes &#226;g&#233;es et/ou sensibles &#224; la lumi&#232;re. Pour avoir une id&#233;e de cet effet, il suffit d'imaginer lire un texte dans une pi&#232;ce sombre sur un &#233;cran tr&#232;s lumineux, il faudra plisser les yeux pour distinguer le texte car la forte lumi&#232;re du fond blanc aura tendance &#224; &#234;tre aveuglante.&lt;/p&gt; &lt;p&gt;Dans ces cas, il faudra soit utiliser un gris tr&#232;s l&#233;ger en couleur de fond au lieu d'un blanc pur, soit &#233;claircir l&#233;g&#232;rement le noir pur du texte.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Tout est dans l'&#233;quilibre : un bon contraste est n&#233;cessaire et important, toutefois, les valeurs trop extr&#234;mes sont &#224; &#233;viter. De tr&#232;s nombreux outils permettent de trouver des valeurs satisfaisantes, et ce aussi bien au niveau de la cr&#233;ation du graphisme qu'au niveau de l'int&#233;gration &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;.&lt;/p&gt; &lt;p&gt;Il est m&#234;me m&#234;me fr&#233;quent de constater qu'une tr&#232;s l&#233;g&#232;re adaptation avec les outils pr&#233;cit&#233;s apportera beaucoup de confort de lecture en plus, m&#234;me pour les publics n'ayant pas &#224; proprement parler de handicap visuel.&lt;/p&gt; &lt;p&gt;R&#233;f&#233;rences, compl&#233;ments :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.snook.ca/technical/colour_contrast/colour.html&quot; class='spip_out' rel='external'&gt;Colour Contrast Check (en anglais)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.vischeck.com/&quot; class='spip_out' rel='external'&gt;Vischeck (en anglais)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://gmazzocato.altervista.org/fr/colorwheel/wheel.php&quot; class='spip_out' rel='external'&gt;Le Cercle Chromatique Accessible&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.paciellogroup.com/resources/contrast-analyser.html&quot; class='spip_out' rel='external'&gt;Color Contrast Analyser (page en anglais, logiciel en plusieurs langues)&lt;/a&gt; &lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://uxmovement.com/content/6-surprising-bad-practices-that-hurt-dyslexic-users/&quot; class='spip_out' rel='external'&gt;6 pratiques surprenantes qui g&#234;nent les dyslexiques (en anglais)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://vision.arc.nasa.gov/personnel/al/papers/03vss/03vsstext.htm&quot; class='spip_out' rel='external'&gt;Une &#233;tude montrant la lisibilit&#233; sup&#233;rieure des contrastes positifs face aux contrastes n&#233;gatifs (en anglais)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.irlen.ch/index-fr.htm&quot; class='spip_out' rel='external'&gt;Le syndr&#244;me d'Irlen, ou syndr&#244;me de sensibilit&#233; scotopique&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://fr.wikipedia.org/wiki/Daltonisme&quot; class='spip_out' rel='external'&gt;Le daltonisme (Wikip&#233;dia)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.webaccessibilite.fr/liens-utiles-accessibilite-documents-concernant-le-handicap-en-france.php&quot; class='spip_out' rel='external'&gt;Statistiques concernant le handicap en France&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ne perdez plus vos internautes, faites du card sorting / tri de cartes - Troisi&#232;me partie : R&#233;sultats, analyse et (re)conception</title>
		<link>http://openweb.eu.org/articles/card-sorting-analyse-reconception</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/card-sorting-analyse-reconception</guid>
		<dc:date>2012-02-02T19:32:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Eric Mazzone, Gautier Barr&#232;re</dc:creator>


		<dc:subject>D&#233;butant</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>
		<dc:subject>M&#233;thodes</dc:subject>

		<description>Vous savez d&#233;sormais ce qu'est le tri de cartes et comment le mettre en place. D&#233;couvrez sans plus attendre comment analyser les r&#233;sultats et pr&#233;parer le terrain pour une reconception efficace. Au d&#233;part, vous obtiendrez des donn&#233;es brutes par participant. Ces donn&#233;es doivent &#234;tre consolid&#233;es avant d'&#234;tre analys&#233;es. Sachez que le travail &#224; mener mobilise une expertise assez pointue. Si vous avez ces comp&#233;tences &#224; disposition, il faut vous en servir et si ce n'est pas le cas, il faudra sans doute faire (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/debutant" rel="tag"&gt;D&#233;butant&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/methodes" rel="tag"&gt;M&#233;thodes&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Vous savez d&#233;sormais ce qu'est &lt;a href=&quot;http://openweb.eu.org/articles/card-sorting-overview&quot; class='spip_in'&gt;le tri de cartes&lt;/a&gt; et &lt;a href=&quot;http://openweb.eu.org/articles/card-sorting-mise-en-oeuvre&quot; class='spip_in'&gt;comment le mettre en place&lt;/a&gt;. D&#233;couvrez sans plus attendre comment analyser les r&#233;sultats et pr&#233;parer le terrain pour une reconception efficace.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Au d&#233;part, vous obtiendrez des donn&#233;es brutes par participant. Ces donn&#233;es doivent &#234;tre consolid&#233;es avant d'&#234;tre analys&#233;es. Sachez que le travail &#224; mener mobilise une expertise assez pointue. Si vous avez ces comp&#233;tences &#224; disposition, il faut vous en servir et si ce n'est pas le cas, il faudra sans doute faire appel &#224; un sp&#233;cialiste.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Faites l'analyse sans le client&lt;/strong&gt; afin de garantir une objectivit&#233; maximale et d'&#233;viter toute forme d'influence. Le client aura toutefois un r&#244;le important pour aligner les solutions que vous proposerez &#224; son organisation.&lt;/p&gt; &lt;p&gt;Pour analyser les donn&#233;es vous devrez combiner 2 techniques :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; analyse quantitative ;&lt;/li&gt;&lt;li&gt; analyse exploratoire. &lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;Analyse quantitative&lt;/h3&gt;
&lt;p&gt;L'analyse quantitative permet d'identifier rapidement les &#233;l&#233;ments qui posent probl&#232;mes et ceux qui peuvent &#234;tre valid&#233;s en exploitant uniquement les donn&#233;es chiffr&#233;es collect&#233;es. Pour &#234;tre analys&#233;es, ces donn&#233;es peuvent &#234;tre consolid&#233;es dans diff&#233;rentes matrices.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;&lt;i&gt;Matrice de co-occurrences&lt;/i&gt;&lt;/h3&gt;
&lt;p&gt;La matrice de co-occurrences permet d'identifier les cartes les plus souvent associ&#233;es entre-elles par les participants et ainsi de constituer des grappes de cartes (un ensemble de cartes qui pourront &#234;tre rassembl&#233;es dans un groupe).&lt;/p&gt; &lt;p&gt;D&#232;s lors que deux contenus sont associ&#233;s par au moins &#190; des participants, on peut consid&#233;rer qu'ils peuvent &#234;tre cat&#233;goris&#233;s ensemble d'un point de vue utilisateur. Les taux inf&#233;rieurs n&#233;cessitent une analyse plus approfondie afin de v&#233;rifier les raisons pour lesquelles l'association n'est pas syst&#233;matique.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_368 spip_documents spip_documents_center'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L498xH300/co-occurence-94255.jpg' width='498' height='300' alt=&quot;Matrice de co-occurences&quot; title=&quot;Matrice de co-occurences&quot; style='height:300px;width:498px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Ci-dessus, la carte &#8220;Atelier 5 - 14h00-15h30 le &#8230;&#8221; a &#233;t&#233; class&#233;e par 96% des utilisateurs avec la carte &#8220;Atelier 7 - 14h00 - 15h30. Les cartes doivent donc bien &#234;tre plac&#233;es dans la m&#234;me cat&#233;gorie.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;&lt;i&gt;Matrice de propagation&lt;/i&gt;&lt;/h3&gt;
&lt;p&gt;La matrice de propagation illustre les diff&#233;rents groupes dans lesquels les participants ont plac&#233; les cartes. Contrairement au mode de tri de cartes ferm&#233;, lors d'un tri de cartes ouvert, la d&#233;finition des groupes est enti&#232;rement libre (les utilisateurs peuvent nommer les groupes comme ils le souhaitent) ce qui rend l'analyse plus complexe car des termes diff&#233;rents peuvent &#234;tre utilis&#233;s pour d&#233;signer une m&#234;me cat&#233;gorie. Une analyse des cat&#233;gories et une fusion des termes ayant le m&#234;me sens doit &#234;tre faite avant d'analyser la matrice.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_365 spip_documents spip_documents_center'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L500xH311/co-occurence-bis-2-9f28a.jpg' width='500' height='311' alt=&quot;Matrice de propagation&quot; title=&quot;Matrice de propagation&quot; style='height:311px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Ci-dessus, on peut voir que la carte &#8220;Dossiers dans lesquels on &#8230;&#8221; a &#233;t&#233; class&#233;e par 67% des utilisateurs dans le groupe nomm&#233; &#8220;Cat&#233;gories&#8221;.&lt;/p&gt; &lt;p&gt;Certaines cartes ont une forte propagation et sont class&#233;es de mani&#232;re &#233;gale avec toutes les autres cartes et/ou cat&#233;gories. C'est &#224; double tranchant : cela veut soit dire que la carte doit &#234;tre propos&#233;e partout de mani&#232;re contextuelle, soit qu'elle ne se rapproche d'aucune autre.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;&lt;i&gt;Dendrogramme&lt;/i&gt;&lt;/h3&gt;
&lt;p&gt;Le dendrogramme propose une vue compl&#233;mentaire &#224; la matrice de co-occurrences en illustrant la distance entre les cartes. La distance est calcul&#233;e en fonction de la fr&#233;quence d'association de deux cartes ou deux groupes de cartes. Plus la fr&#233;quence d'association est &#233;lev&#233;e, plus les cartes sont consid&#233;r&#233;es comme proche.&lt;/p&gt; &lt;p&gt;Avec les dendrogrammes, il est ais&#233; de faire varier le nombre de groupe souhait&#233;. Par exemple si vous souhaitez constituer sept groupes, il suffit de diviser le dendrogramme en sept sections d&#233;finies par la distance euclidienne la plus longue &#224; consid&#233;rer.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_366 spip_documents spip_documents_left' style='float:left; width:500px;'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L500xH254/dendrogramme-139e0.jpg' width='500' height='254' alt=&quot;Dendrogramme&quot; title=&quot;Dendrogramme&quot; style='height:254px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Analyse exploratoire&lt;/h3&gt;
&lt;p&gt;Selon l'objectif souhait&#233; il est possible de r&#233;aliser l'analyse exploratoire avant ou apr&#232;s l'analyse quantitative. Par exemple, si vous souhaitez d'abord identifier une tendance, vous pouvez commencer une l'analyse exploratoire sans requ&#233;rir &#224; des matrices complexes.&lt;/p&gt; &lt;p&gt;L'analyse exploratoire peut compl&#233;ter ou remplacer l'analyse statistique. Elle permet notamment :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; d'illustrer les tendances ou les logiques de classement ;&lt;/li&gt;&lt;li&gt; d'identifier les raisons d'une forte dispersion d'une carte (dans ce cas elle compl&#232;te l'analyse statistique) ;&lt;/li&gt;&lt;li&gt; d'identifier la compr&#233;hension des contenus.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le card sorting in situ est plus propice &#224; l'analyse exploratoire : on peut revenir sur ce que les gens ont fait et en discuter avec eux. A distance, c'est plus d&#233;licat.&lt;/p&gt; &lt;p&gt;Reconception avec ou sans le client ?&lt;/p&gt; &lt;p&gt;Faites la reconception avec le client. Cela vous permettra d'int&#233;grer les besoins organisationnels et marketing dans la reconception.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Proposition de solutions&lt;/h3&gt;
&lt;p&gt;Une fois l'analyse r&#233;alis&#233;e, vous aurez un ensemble de donn&#233;es &#224; votre disposition vous permettant d'&#233;mettre des hypoth&#232;ses de structure.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Faites la reconception avec le client.&lt;/strong&gt; Suite aux s&#233;ances de tri de cartes vous devrez fournir &#224; votre client une structure d'informations qui devra s'int&#233;grer avec ses contraintes. Par exemple certains termes devront &#234;tre obligatoirement utilis&#233;s parce qu'ils sont d&#233;j&#224; employ&#233;s dans d'autres supports commerciaux. &lt;strong&gt;Votre proposition devra allier les r&#233;sultats issus des s&#233;ances de tri de cartes et les contraintes de votre client.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Votre &#233;tat des lieux devra mettre en avant :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; les contenus mal intitul&#233;s ;&lt;/li&gt;&lt;li&gt; les contenus qui ne sont pas &#224; la bonne place et cat&#233;gories mal intitul&#233;es ; &lt;/li&gt;&lt;li&gt; les besoins d'une nouvelle cat&#233;gorie (m&#234;me si ce n'est pas la finalit&#233; d'un tri) ;&lt;/li&gt;&lt;li&gt; les besoins de liens r&#233;ciproques ; &lt;/li&gt;&lt;li&gt; les diff&#233;rences de cat&#233;gorisation selon les profils cibl&#233;s.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lors de la reconception, &lt;strong&gt;n'oubliez pas les fondamentaux&lt;/strong&gt;, qui ne ressortiront pas forc&#233;ment des r&#233;sultats du card sorting :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; organisez votre arborescence de mani&#232;re th&#233;matique et non organisationnelle ; &lt;/li&gt;&lt;li&gt; faites une arborescence d'abord en largeur puis en profondeur ;&lt;/li&gt;&lt;li&gt; faites une arborescence r&#233;guli&#232;re ;&lt;/li&gt;&lt;li&gt; limitez la profondeur de l'arborescence.&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;Utilisez des visuels pour communiquer&lt;/h3&gt;
&lt;p&gt;&lt;span class='spip_document_367 spip_documents spip_documents_center'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L448xH327/cartographie-3f46c.jpg' width='448' height='327' alt=&quot;Cartographie&quot; title=&quot;Cartographie&quot; style='height:327px;width:448px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&#201;vitez de venir avec des matrices de co-occurence et des dendrogrammes aupr&#232;s de votre client. Venez avec la &lt;strong&gt;cartographie visuelle de l'arborescence&lt;/strong&gt; que vous proposez.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Il y a tellement de profils utilisateurs, de contextes d'utilisation et de logique d'utilisation diff&#233;rentes que l'on n'est jamais s&#251;r de rien sans impliquer les utilisateurs.&lt;/p&gt; &lt;p&gt;On ne peut d&#233;finitivement pas se mettre dans la peau de l'utilisateur et faire une arborescence dans son coin.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SVG ou Canvas, que choisir ?</title>
		<link>http://openweb.eu.org/articles/canvas_svg_que_choisir</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/canvas_svg_que_choisir</guid>
		<dc:date>2012-01-25T16:35:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jeremie Patonnier</dc:creator>


		<dc:subject>Expert</dc:subject>
		<dc:subject>(X)HTML</dc:subject>

		<description>Depuis plusieurs ann&#233;es que je m'int&#233;resse &#224; SVG et aux nouvelles possibilit&#233;s qu'offre HTML5, on me pose r&#233;guli&#232;rement cette m&#234;me question : &#171; Quel est le mieux entre SVG et Canvas ? &#187;. Je r&#233;ponds alors sto&#239;quement et laconiquement : &#171; Les deux mon capitaine, &#231;a d&#233;pend &#187;. En effet, &#231;a d&#233;pend, voil&#224; donc un petit guide pour vous aider &#224; choisir entre ces deux technologies. Voyons tout d'abord ce que ces technologies ont en commun. Apr&#232;s tout, s'il est si difficile de choisir entre l'une et l'autre c'est (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/expert" rel="tag"&gt;Expert&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/xhtml" rel="tag"&gt;(X)HTML&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Depuis plusieurs ann&#233;es que je m'int&#233;resse &#224; SVG et aux nouvelles possibilit&#233;s qu'offre HTML5, on me pose r&#233;guli&#232;rement cette m&#234;me question : &#171; Quel est le mieux entre SVG et Canvas ? &#187;. Je r&#233;ponds alors sto&#239;quement et laconiquement : &#171; Les deux mon capitaine, &#231;a d&#233;pend &#187;. En effet, &#231;a d&#233;pend, voil&#224; donc un petit guide pour vous aider &#224; choisir entre ces deux technologies.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Voyons tout d'abord ce que ces technologies ont en commun. Apr&#232;s tout, s'il est si difficile de choisir entre l'une et l'autre c'est qu'elles semblent offrir les m&#234;mes choses... Mais quoi exactement ? Pour m&#233;moire, &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; est un format d'image vectoriel et Canvas une balise &lt;abbr title=&quot;Hypertext Markup Language&quot;&gt;HTML5&lt;/abbr&gt; permettant d'y dessiner ce que l'on veut. Toutes deux permettent donc de cr&#233;er des images directement dans le navigateur. D&#232;s l'instant o&#249; vous allez vouloir utiliser les capacit&#233;s de votre navigateur pour produire des images, vous allez donc vous poser la fatidique question. Et soyons honn&#234;tes, les cas d'usage de ces deux technologies se recoupent souvent.&lt;/p&gt; &lt;p&gt;Il est tr&#232;s rare que dans le cadre du Web nous ayons deux standards qui fassent la m&#234;me chose... En fait, cela n'arrive jamais. En effet, si ces deux technologies cherchent en apparence &#224; atteindre le m&#234;me objectif (dessiner), elles ne vont pas du tout le faire de la m&#234;me mani&#232;re ni dans des conditions identiques, et c'est l&#224; que va se nicher le d&#233;licat choix entre l'une et l'autre. J'en profite ici pour &#233;vacuer imm&#233;diatement une question r&#233;currente li&#233;e au support des standards : tous les navigateurs supportant l'une de ces technologies supportent &#233;galement l'autre, ce qui inclut Internet Explorer 9 et suivants.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Vecteurs contre bitmap&lt;/h3&gt;
&lt;p&gt;La premi&#232;re diff&#233;rence entre ces deux technologies tient aux types de donn&#233;es qu'elles manipulent. &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; est un format vectoriel, l&#224; o&#249; Canvas est un format bitmap. On a donc d'un c&#244;t&#233;, des formes d&#233;finies &#224; l'aide de points et de courbes, et de l'autre une bouillie de pixels anonymes.&lt;/p&gt; &lt;p&gt;La diff&#233;rence entre les deux va donc se jouer sur des questions assez simples finalement : si vous devez envisager un &lt;a href=&quot;http://svg-wow.org/blog/2010/08/14/camera/&quot; class='spip_out' rel='external'&gt;redimensionnement sans perte de qualit&#233;&lt;/a&gt;, &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; sera plus indiqu&#233;. &#192; l'inverse, si vous devez r&#233;aliser des op&#233;rations complexes sur les pixels (ce qui est le cas quand vous devez interpoler deux images ou si vous &lt;a href=&quot;http://www.xanthir.com/demos/video/demo3.html&quot; class='spip_out' rel='external'&gt;travaillez sur un flux vid&#233;o en temps r&#233;el&lt;/a&gt; par exemple) c'est Canvas qui sera le plus indiqu&#233;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;D&#233;claratif contre programmatif&lt;/h3&gt;
&lt;p&gt;Une autre diff&#233;rence de fond entre ces deux technologies tient &#224; la fa&#231;on de les utiliser. &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; est un langage qui repose sur une syntaxe &lt;abbr title=&quot;eXtensible Markup Language&quot;&gt;XML&lt;/abbr&gt;, il est dit d&#233;claratif : en clair, vous dites explicitement au navigateur ce qu'il doit dessiner et il se d&#233;brouillera au mieux de ses capacit&#233;s pour le faire. Canvas lui, repose sur une &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; (plusieurs en fait, mais l&#224;, je vais me concentrer sur l'&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; de dessin 2D qui est la plus proche de &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt;) qui est accessible via JavaScript : vous allez devoir programmer la fa&#231;on dont le navigateur va devoir dessiner ce que vous voulez.&lt;/p&gt; &lt;p&gt;Ces deux approches ont chacune leurs avantages et leurs d&#233;fauts. Par exemple, si vous avez une question de performance &#224; g&#233;rer, Canvas sera sans doute plus appropri&#233;. En effet, dans une approche programmative, vous contr&#244;lez la m&#233;thode de dessin avec beaucoup plus de pr&#233;cision et pouvez mettre en place des strat&#233;gies d'optimisations sp&#233;cifiques selon vos propres besoins. Par contre, dans une approche d&#233;clarative, c'est le navigateur qui d&#233;cidera de la fa&#231;on de dessiner votre image en effectuant lui m&#234;me les op&#233;rations d'optimisation qu'il estime n&#233;cessaires.&lt;/p&gt; &lt;p&gt;Prenons le probl&#232;me sous un autre angle : si vous devez &lt;a href=&quot;http://mbostock.github.com/d3/ex/cartogram.html&quot; class='spip_out' rel='external'&gt;dessiner des objets complexes&lt;/a&gt;, &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; sera sans doute plus adapt&#233;. En effet, la m&#233;thode d&#233;clarative de &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; propose, par essence, un degr&#233; d'abstraction plus important que l'&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; 2D de la balise canvas (et je ne vous parle m&#234;me pas de WebGL). Elle vous permet donc de dessiner des courbes extr&#234;mement complexes avec un effort ridicule en comparaison de Canvas (sans m&#234;me parler des logiciels de dessin qui vous offrent une interface hyper intuitive pour dessiner ces formes et les exporter directement en &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt;). &#192; l'inverse, si vous devez mettre en &#339;uvre &lt;a href=&quot;http://paperjs.org/examples/meta-balls/&quot; class='spip_out' rel='external'&gt;des interactions complexes&lt;/a&gt; entre formes, la souplesse de l'&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; Canvas 2D vous offrira des outils bien plus simples &#224; manipuler pour contr&#244;ler l'efficacit&#233; et les performances de vos dessins.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;DOM or not DOM, zat iz ze question&lt;/h3&gt;
&lt;p&gt;&lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; reposant sur une syntaxe &lt;abbr title=&quot;eXtensible Markup Language&quot;&gt;XML&lt;/abbr&gt;, son interpr&#233;tation par un navigateur conduit &#224; la construction d'un arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; qui comprendra l'ensemble des &#233;l&#233;ments qui constituent l'image. De son c&#244;t&#233;, Canvas n'est pas encombr&#233; par cette contrainte et une image dessin&#233;e via cette &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; ne donnera pas lieu &#224; sa repr&#233;sentation dans un arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;.&lt;/p&gt; &lt;p&gt;La question est donc : &#171; Avez-vous besoin d'un arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; li&#233; &#224; votre image ? &#187;.
Disposer d'un tel arbre offre certains avantages. D'un point de vue accessibilit&#233; par exemple, un arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; sera visible par les technologies d'assistance et en cas de besoin, vous pouvez m&#234;me envisager de rajouter des r&#244;les Aria &#224; votre arbre pour qu'il soit plus facilement compris. D'un point de vue plus technique, chaque &#233;l&#233;ment de l'image &#233;tant accessible via l'&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt;, il est extr&#234;mement facile de les manipuler individuellement et partiellement sans avoir &#224; vous soucier de garder &#224; la main un &#233;tat pour chacun d'entre eux.&lt;/p&gt; &lt;p&gt;Mais ne pas avoir d'arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; a aussi de nombreux avantages en particulier pour les performances. En effet, cr&#233;er et maintenir un arbre &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; requiert d'importantes ressources surtout en terme de m&#233;moire. Accessoirement, l'&lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; &lt;abbr title=&quot;Document Object Model&quot;&gt;DOM&lt;/abbr&gt; est notoirement lente et cela se fera particuli&#232;rement ressentir si vous devez traiter de tr&#232;s nombreux &#233;l&#233;ments tr&#232;s vite (par exemple pour certaines animations) ou simultan&#233;ment (pour les jeux par exemple)&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Consid&#233;rations annexes&lt;/h3&gt;
&lt;p&gt;Un dernier point qu'il ne faut pas oublier : &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt;, contrairement &#224; Canvas, est un vrai format d'image ind&#233;pendant. En cons&#233;quence, vous pouvez l'utiliser partout o&#249; l'on peut traditionnellement utiliser des images : en temps qu'arri&#232;re-plan ou contenu g&#233;n&#233;r&#233; via &lt;abbr title=&quot;Cascading Style Sheet&quot;&gt;CSS&lt;/abbr&gt; ou au sein d'une balise &lt;code class='spip_code' dir='ltr'&gt;img&lt;/code&gt; en &lt;abbr title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/abbr&gt;. De m&#234;me en temps que format d'image, il existe pl&#233;thore de logiciels qui permettent d'exporter au format &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; ce qui n'est pas du tout le cas avec Canvas.&lt;/p&gt; &lt;p&gt;Je vous ai &#233;galement &#233;pargn&#233; les &#233;vidences comme, par exemple, le fait qu'en l'absence de JavaScript, les images Canvas ne seront pas affich&#233;es l&#224; o&#249; les images &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt;, elles, le seront.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Chacune des ces technologies a donc ses avantages et ses inconv&#233;nients. L&#224; o&#249; cela devient int&#233;ressant, c'est quand vous commencez &#224; mixer les deux : les possibilit&#233;s ouvertes sont alors quasi infinies. En effet, certaines fonctionnalit&#233;s natives de &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; sont tr&#232;s complexes &#224; impl&#233;menter avec Canvas (par exemple, les formes de d&#233;coupe via l'&#233;l&#233;ment &lt;code class='spip_code' dir='ltr'&gt;clipPath&lt;/code&gt;). De m&#234;me r&#233;aliser des transformations au niveau des pixels est impossible avec &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; (par exemple r&#233;aliser un d&#233;tourage dynamique de type &quot;fond vert&quot; sur la base d'une image rasteris&#233;e). Ainsi, si vous utilisez les deux technologies simultan&#233;ment, vous arriverez &#224; faire des choses &#233;tonnantes. Par exemple un d&#233;tourage vid&#233;o r&#233;alis&#233; avec Canvas qui, via Javascript, g&#233;n&#232;re dynamiquement un &#233;l&#233;ments &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt; &lt;code class='spip_code' dir='ltr'&gt;clipPath&lt;/code&gt; permettant de superposer cet &#233;l&#233;ment vid&#233;o sur du contenu &lt;abbr title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/abbr&gt;, tout en laissant ce contenu &lt;abbr title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/abbr&gt; s&#233;lectionnable. Les possibilit&#233;s &#233;tant &#233;normes, voila deux petits exemples concrets pour vous faire une id&#233;e : &lt;a href=&quot;http://jeremie.patonnier.net/experiences/svg/inline/puzzle.en.xhtml&quot; class='spip_out' rel='external'&gt;Un puzzle vid&#233;o&lt;/a&gt; (&#224; voir avec Firfox pour un meilleur r&#233;sultat) et &lt;a href=&quot;http://svg-wow.org/blog/2010/09/18/picture-shuffle/&quot; class='spip_out' rel='external'&gt;une galerie d'image composite&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Prenez le temps d'exp&#233;rimenter les deux technologies et de bien regarder celle qui correspondra le mieux &#224; vos cas d'usage. C&#233;der &#224; la facilit&#233; en n'en utilisant qu'une seule vous conduira n&#233;cessairement &#224; des impasses ou &#224; des pertes de temps li&#233;es au syndrome &quot;r&#233;invention de la roue&quot;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Sprites CSS : performance et maintenabilit&#233;</title>
		<link>http://openweb.eu.org/articles/performances_web_les_sprites_CSS</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/performances_web_les_sprites_CSS</guid>
		<dc:date>2011-08-16T15:09:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Nicolas Hoffmann</dc:creator>


		<dc:subject>Expert</dc:subject>
		<dc:subject>Gourou</dc:subject>
		<dc:subject>CSS</dc:subject>
		<dc:subject>&#201;tudes de cas</dc:subject>
		<dc:subject>Mise en page</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>

		<description>L'optimisation des performances des sites implique de diminuer le nombre de requ&#234;tes HTTP. Pour ce faire, il est possible de regrouper les images utilis&#233;es dans les CSS, cette technique s'appelle les sprites CSS. Pr&#233;sentation de la technique La technique dites des sprites CSS consiste &#224; exploiter un fichier unique pour stocker de multiples images, positionn&#233;es les unes &#224; c&#244;t&#233; des autres. Celles-ci seront ensuite appel&#233;es dans la feuille de style, et la fen&#234;tre d'affichage sur l'une ou l'autre image (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/expert" rel="tag"&gt;Expert&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/gourou" rel="tag"&gt;Gourou&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/css" rel="tag"&gt;CSS&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/etude_cas" rel="tag"&gt;&#201;tudes de cas&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/mise_en_page" rel="tag"&gt;Mise en page&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;L'optimisation des performances des sites implique de diminuer le nombre de requ&#234;tes &lt;abbr title=&quot;Hyper Text Transfer Protocol&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;HTTP&lt;/abbr&gt;. Pour ce faire, il est possible de regrouper les images utilis&#233;es dans les &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;, cette technique s'appelle les sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Pr&#233;sentation de la technique&lt;/h3&gt;
&lt;p&gt;La technique dites des sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; consiste &#224; exploiter un fichier unique pour stocker de multiples images, positionn&#233;es les unes &#224; c&#244;t&#233; des autres. Celles-ci seront ensuite appel&#233;es dans la feuille de style, et la fen&#234;tre d'affichage sur l'une ou l'autre image sera d&#233;finie en &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; gr&#226;ce &#224; la propri&#233;t&#233; &lt;code&gt;background-position&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Les avantages des sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; sont multiples :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; cela permet de se passer totalement de JavaScript : il n'y a pas besoin de pr&#233;chargement d'images ni de gestionnaire d'&#233;v&#233;nement comme &lt;code&gt;onmouseover&lt;/code&gt; pour d&#233;clencher l'effet survol&#233;, tout se fait via les propri&#233;t&#233;s &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;,&lt;/li&gt;&lt;li&gt; dans les cas de recherche de performances ou d'optimisations pointues, cette technique permet d'obtenir des r&#233;sultats tr&#232;s int&#233;ressants en r&#233;duisant le nombre de requ&#234;tes au serveur pour afficher plusieurs images,&lt;/li&gt;&lt;li&gt; comme cette technique se base sur &lt;abbr title=&quot;(eXtensible) Hyper Text Markup Language&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;(X)HTML&lt;/abbr&gt; et &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;, tous les avantages de ces derniers &lt;i&gt;utilis&#233;s &#224; bon escient&lt;/i&gt; sont pr&#233;sents : s&#233;paration pr&#233;sentation/structure, code lisible et l&#233;ger, accessibilit&#233;, etc.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; : la technique des sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; n'est utile que pour des images &#224; but d&#233;coratif, il ne faut pas remplacer toutes les images ainsi. Les images faisant partie du contenu doivent rester dans le code &lt;abbr title=&quot;Hyper Text Markup Language&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;HTML&lt;/abbr&gt;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Exemple d'int&#233;gration d'un menu de navigation&lt;/h3&gt;
&lt;p&gt;Plut&#244;t qu'un long discours, voyons comment construire un menu de navigation utilisant cette technique. Voici le code &lt;abbr title=&quot;Hyper Text Markup Language&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;HTML&lt;/abbr&gt; de ce menu :&lt;/p&gt;
&lt;pre&gt; &lt;ul id=&quot;navigation&quot; role=&quot;navigation&quot;&gt; &lt;li&gt; &lt;a href=&quot;&amp;#35&quot; id=&quot;aboutsprites&quot; class=&quot;active&quot;&gt;&lt;span&gt;A propos des sprites&lt;/span&gt;&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;&amp;#35&quot; id=&quot;spritesci&quot;&gt;&lt;span&gt;Sprites par ci&lt;/span&gt;&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;&amp;#35&quot; id=&quot;spritescss&quot;&gt;&lt;span&gt;Sprites via CSS&lt;/span&gt;&lt;/a&gt; &lt;/li&gt; &lt;li&gt; &lt;a href=&quot;&amp;#35&quot; id=&quot;spritesinside&quot;&gt;&lt;span&gt;Sprites inside&lt;/span&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/pre&gt;
&lt;p&gt;Nous avons donc une image contenant les trois &#233;tats possibles (de bas en haut) : actif (page courante), normal et survol&#233;.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L500xH192/sprites2jpg-6e0d-7a5c1.jpg&quot; alt=&quot;Image contenant les sprites&quot; width='500' height='192' style='height:192px;width:500px;' /&gt;&lt;/p&gt; &lt;p&gt;Il va de soi qu'il est possible d'utiliser les sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; de plein de mani&#232;res diff&#233;rentes. Le postulat de cet exemple est le suivant : l'image de fond de &lt;code&gt;#navigation&lt;/code&gt; contiendra la partie de l'image avec les liens dits &#171; actifs &#187;, et les liens seront positionn&#233;s chacun par dessus.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L300xH232/spriteshelp2b14a-f9096.jpg&quot; alt=&quot;Principe du sprite de l'exemple&quot; width='300' height='232' style='height:232px;width:300px;' /&gt;&lt;/p&gt; &lt;p&gt;Quand on survolera le lien, il suffira de d&#233;caler l'image. Si un &#233;l&#233;ment doit &#234;tre affich&#233; comme actif (pour indiquer &#224; l'internaute sur quelle partie il se situe), il utilisera une classe &lt;code&gt;active&lt;/code&gt;, qui fera dispara&#238;tre l'image du lien... ce qui fera appara&#238;tre l'image de fond.&lt;/p&gt; &lt;p&gt;Les propri&#233;t&#233;s g&#233;n&#233;rales permettent de positionner l'arri&#232;re-plan et le menu, ainsi que le texte du lien :&lt;/p&gt; &lt;pre&gt;#navigation{ margin:0 auto; padding:0; width:549px; height:70px; background:#fff url(sprites.jpg) 0 -140px no-repeat; } /* pour chaque lien, propri&#233;t&#233;s communes */ #navigation li{ float:left; list-style-type: none; } #navigation a{ margin:0; display:block; height:70px; width:97px; background:url(sprites.jpg) 0 0 no-repeat; font-size:17px; padding:20px 22px 0 18px; } &lt;/pre&gt;
&lt;p&gt;La liste &lt;code&gt;navigation&lt;/code&gt; prend donc en fond la partie de l'image contenant les images des liens actifs. Chaque lien vient se positionner et aura la m&#234;me image de fond, les textes sont &#233;galement positionn&#233;s &#224; l'aide du &lt;code&gt;padding&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Ensuite, chaque fond de chaque lien est positionn&#233;.&lt;/p&gt; &lt;pre&gt; #navigation #aboutsprites{ background-position:0 -70px; } #navigation #spritesci{ background-position:-137px -70px; } #navigation #spritescss{ background-position:-274px -70px; } #navigation #spritesinside{ background-position:-411px -70px; } &lt;/pre&gt;
&lt;p&gt;L'effet de survol se fera en d&#233;calant l'image de fond, dans notre exemple, elle sera d&#233;cal&#233;e de 70 px vers le haut pour chaque lien.&lt;/p&gt; &lt;pre&gt; #navigation #aboutsprites:hover, #navigation #aboutsprites:active, #navigation #aboutsprites:focus{ background-position:0 0; } #navigation #spritesci:hover, #navigation #spritesci:active, #navigation #spritesci:focus{ background-position:-137px 0; } #navigation #spritescss:hover, #navigation #spritescss:active, #navigation #spritescss:focus{ background-position:-274px 0; } #navigation #spritesinside:hover, #navigation #spritesinside:active, #navigation #spritesinside:focus{ background-position:-411px 0; } &lt;/pre&gt;
&lt;p&gt;Note : les propri&#233;t&#233;s &lt;code&gt;background-position-y&lt;/code&gt; et &lt;code&gt;background-position-x&lt;/code&gt; existent et auraient &#233;t&#233; bien utiles dans ce cas. Mais elles ne sont pas reconnues comme standards, et donc ne sont pas impl&#233;ment&#233;es dans tous les navigateurs. Dommage !&lt;/p&gt; &lt;p&gt;Le menu est presque termin&#233;, il ne nous reste plus qu'&#224; d&#233;sactiver le soulignement du texte des liens.&lt;/p&gt; &lt;pre&gt; #navigation a{ text-decoration:none; } &lt;/pre&gt;
&lt;p&gt;La classe &lt;code&gt;active&lt;/code&gt; est assur&#233;e simplement par cette ligne.&lt;/p&gt; &lt;pre&gt; #navigation .active{ background-image:none; } &lt;/pre&gt;
&lt;p&gt;Voici &lt;a href=&quot;http://www.nicolas-hoffmann.net/sprites_openweb/index_new.html&quot; class='spip_out' rel='external'&gt;le r&#233;sultat final de l'exemple de menu utilisant les sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; une &lt;a href=&quot;http://www.nicolas-hoffmann.net/sprites_openweb/&quot; class='spip_out' rel='external'&gt;pr&#233;c&#233;dente version utilisait une technique tr&#232;s l&#233;g&#232;rement diff&#233;rente&lt;/a&gt;, toutefois, un bug curieux sur toutes les versions d'Internet Explorer (9 comprise) emp&#234;che le fonctionnement optimal de ce menu (le clic droit sur le texte du lien pour l'ouvrir dans un nouvel onglet ne fonctionne pas correctement). &#192; ce jour, nous n'avons pas d'explication rationnelle &#224; vous donner... si ce n'est que le probl&#232;me semble venir de &lt;code&gt;display:inline-block&lt;/code&gt; sur le &lt;code&gt;span&lt;/code&gt; du menu. En contournement, la nouvelle version utilise la propri&#233;t&#233; &lt;code&gt;padding&lt;/code&gt; sur &lt;code&gt;#navigation a&lt;/code&gt; pour positionner le texte &#224; l'int&#233;rieur du lien.&lt;/p&gt; &lt;p&gt;L'exemple peut &#234;tre qualifi&#233; de cas d'&#233;cole et fonctionne tr&#232;s bien :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; au lieu de 12 requ&#234;tes (3 &#233;tats fois 4 images), nous avons &lt;strong&gt;une seule requ&#234;te &lt;abbr title=&quot;Hyper Text Transfer Protocol&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;HTTP&lt;/abbr&gt; pour l'image de notre menu de navigation&lt;/strong&gt;,&lt;/li&gt;&lt;li&gt; le code &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; est plut&#244;t l&#233;ger et relativement simple,&lt;/li&gt;&lt;li&gt; aucun code Javascript n'est n&#233;cessaire pour le faire fonctionner,&lt;/li&gt;&lt;li&gt; comme dans l'exemple, les images ont un lien logique entre elles (ce sont toutes les images du menu de navigation), &lt;strong&gt;g&#233;n&#233;rer cette image reste ais&#233;&lt;/strong&gt;, il n'y a pas de forte contrainte de positionnement pour le graphiste,&lt;/li&gt;&lt;li&gt; le d&#233;calage &#233;tant instantan&#233;, &lt;strong&gt;l'illusion d'image r&#233;active est parfaite&lt;/strong&gt;,&lt;/li&gt;&lt;li&gt; le code &lt;abbr title=&quot;Hyper Text Markup Language&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;HTML&lt;/abbr&gt; reste tr&#232;s &quot;naturel&quot;, ce qui implique une d&#233;gradation correcte si les &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; sont d&#233;sactiv&#233;es et une facilit&#233; d'&#233;volution (version smartphone, refonte, etc.),&lt;/li&gt;&lt;li&gt; les s&#233;lecteurs permettant de d&#233;finir le menu sont extr&#234;mement simples et efficaces : la vitesse de rendu en sera am&#233;lior&#233;e,&lt;/li&gt;&lt;li&gt; comme le texte de chaque lien n'est pas pris dans l'image de fond, le texte du lien reste visible si les images sont d&#233;sactiv&#233;es ou injoignables,&lt;/li&gt;&lt;li&gt; petit d&#233;tail qui a son importance : si les images sont effectivement d&#233;sactiv&#233;es ou injoignables, il faut penser &#224; v&#233;rifier que la couleur de fond du lien soit bien identique &#224; celle de l'image. Dans notre exemple, c'est assur&#233; par &lt;code&gt;background:#fff;&lt;/code&gt; dans &lt;code&gt;#navigation&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Cette technique dite des sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; permet de concilier une int&#233;gration &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; sans pr&#233;chargement avec des contraintes de performances, dans notre cas, sans pour autant perdre en accessibilit&#233;.&lt;/p&gt; &lt;p&gt;Evidemment, mettre toutes les images en une seule peut compliquer la maintenance du site. Pour des raisons pratiques, il sera pr&#233;f&#233;rable de regrouper les images ayant un lien logique entre elles. Si la qu&#234;te de performances doit &#234;tre pouss&#233;e &#224; l'extr&#234;me pour un site &#224; tr&#232;s fort trafic, toutes les images d&#233;coratives du site peuvent &#234;tre group&#233;es, dans ce cas, il sera n&#233;cessaire de d&#233;finir exactement o&#249; doivent &#234;tre positionn&#233;es chacune desdites images.&lt;/p&gt; &lt;p&gt;A titre d'exemple r&#233;cent, les sprites &lt;abbr title=&quot;Cascading Style Sheets&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS&lt;/abbr&gt; ont &#233;t&#233; utilis&#233;s pour le &lt;a href=&quot;http://www.google.com/logos/2011/lespaul.html&quot; class='spip_out' rel='external'&gt;logo de Google comm&#233;morant l'anniversaire de Les Paul&lt;/a&gt;. Vous pouvez voir &lt;a href=&quot;http://www.google.fr/logos/2011/guitar11-hp-sprite.png&quot; class='spip_out' rel='external'&gt;l'image utilis&#233;e pour r&#233;aliser le logo anim&#233;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;R&#233;f&#233;rences, compl&#233;ments :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.alsacreations.com/tuto/lire/1068-sprites-css-background-position.html&quot; class='spip_out' rel='external'&gt;Les Sprites CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://spritegen.website-performance.org/&quot; class='spip_out' rel='external'&gt;CSS Sprite Generator&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.floweringmind.com/sprite-creator/&quot; class='spip_out' rel='external'&gt;Sprite Creator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Les Performances web, pour aller plus loin</title>
		<link>http://openweb.eu.org/articles/performances_avancees_sites_internet</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/performances_avancees_sites_internet</guid>
		<dc:date>2011-07-03T15:42:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Nicolas Hoffmann</dc:creator>


		<dc:subject>Expert</dc:subject>
		<dc:subject>DOM</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>

		<description>Dans Introduction &#224; la performance web, les bases des bonnes pratiques et des enjeux de la performance web ont &#233;t&#233; pos&#233;es. Cet article a pour but d'aller plus loin dans ce vaste domaine en d&#233;cryptant l'affichage d'une page et les pistes pour l'acc&#233;l&#233;rer. Principe du chargement d'une page Le graphique en cascade (waterfall en anglais) permet de mieux comprendre comment une page s'affiche. Voyons un exemple r&#233;alis&#233; avec Web Page Test qui, dans ce cas, simule un chargement d'une page : Le vocabulaire (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/expert" rel="tag"&gt;Expert&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/dom" rel="tag"&gt;DOM&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans &lt;a href=&quot;http://openweb.eu.org/articles/performances_sites_internet&quot; class='spip_in'&gt;Introduction &#224; la performance web&lt;/a&gt;, les bases des bonnes pratiques et des enjeux de la performance web ont &#233;t&#233; pos&#233;es. Cet article a pour but d'aller plus loin dans ce vaste domaine en d&#233;cryptant l'affichage d'une page et les pistes pour l'acc&#233;l&#233;rer.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;Principe du chargement d'une page&lt;/h3&gt;
&lt;p&gt;Le graphique en cascade (&lt;i&gt;waterfall&lt;/i&gt; en anglais) permet de mieux comprendre comment une page s'affiche. Voyons un exemple r&#233;alis&#233; avec &lt;a href=&quot;http://www.webpagetest.org/&quot; class='spip_out' rel='external'&gt;Web Page Test&lt;/a&gt; qui, dans ce cas, simule un chargement d'une page :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L500xH323/webperfs_wata9b6-71ea2.jpg&quot; alt=&quot;Affichage d'une page avec Web page test&quot; width='500' height='323' style='height:323px;width:500px;' /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Le vocabulaire&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Posons les bases du vocabulaire : ce graphique en cascade indique le chargement d'une page. Cet exemple est un premier acc&#232;s (&lt;i&gt;First view&lt;/i&gt;) : il faut tout t&#233;l&#233;charger, nous ne b&#233;n&#233;ficions pas de la mise en cache des contenus. Nous pourrons voir plus loin dans cet article les avantages cette mise en cache dans un second acc&#232;s (&lt;i&gt;Repeat view&lt;/i&gt;).&lt;/p&gt; &lt;p&gt;La requ&#234;te DNS (&lt;i&gt;DNS Lookup&lt;/i&gt;) permet de conna&#238;tre l'adresse IP correspondant au nom de domaine demand&#233;, ce qui permettra de s'y connecter.&lt;/p&gt; &lt;p&gt;La connexion initiale (&lt;i&gt;Initial Connection&lt;/i&gt;) indique le temps pour effectuer la connexion TCP/IP afin de lancer le t&#233;l&#233;chargement de chaque fichier.&lt;/p&gt; &lt;p&gt;Le d&#233;but de rendu (&lt;i&gt;Start Render&lt;/i&gt;) indique le moment o&#249; le navigateur commence &#224; effectuer son travail de rendu, apr&#232;s avoir t&#233;l&#233;charg&#233; les fichiers CSS (symbolis&#233; par la barre verticale verte sur l'image ci-dessus).&lt;/p&gt; &lt;p&gt;La barre bleue indique quand le document est complet (&lt;i&gt;Document Complete&lt;/i&gt;), c'est-&#224;-dire quand les &#233;l&#233;ments demand&#233;s pour le rendu de la page ont tous &#233;t&#233; t&#233;l&#233;charg&#233;s et rendus.&lt;/p&gt; &lt;p&gt;Une nuance importante : nous pourrions penser que le document est &#224; la fin du t&#233;l&#233;chargement des &#233;l&#233;ments. Il n'en est rien : le document est consid&#233;r&#233; comme totalement charg&#233; (&lt;i&gt;fully-loaded&lt;/i&gt;) peu apr&#232;s la barre du document complet. Dans notre exemple, l'ic&#244;ne de favori se charge apr&#232;s que la page ait &#233;t&#233; rendue. Nous y reviendrons.&lt;/p&gt; &lt;p&gt;Le nombre d'&#233;l&#233;ments dans le DOM indique &#233;galement la complexit&#233; de la page. Un DOM cons&#233;quent (sup&#233;rieur &#224; 1000 &#233;l&#233;ments) sera plus long &#224; afficher par les navigateurs, particuli&#232;rement les moins r&#233;cents comme Internet Explorer 6.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Premi&#232;res observations&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;M&#234;me si dans notre exemple il n'y a qu'un nom de domaine, il ne peut rien se passer sur un nom de domaine avant qu'il ne soit &#171; r&#233;solu &#187; (en vert fonc&#233; sur l'image) : cela peut handicaper fortement le rendu d'une page si ces derniers se sur-multiplient. Il est donc ais&#233; de comprendre pourquoi par exemple Google Page Speed recommande de minimiser les requ&#234;tes DNS &#224; r&#233;soudre.&lt;/p&gt; &lt;p&gt;N&#233;anmoins relativisons ce propos : la ligne de conduite g&#233;n&#233;ralement admise est la suivante : un navigateur peut effectuer six requ&#234;tes en parall&#232;le vers un m&#234;me domaine ou sous-domaine (comme par exemple Firefox 4 et Internet Explorer 9). Internet Explorer 6 et 7 par contre ne peuvent effectuer que deux requ&#234;tes simultan&#233;es vers un domaine.&lt;/p&gt; &lt;p&gt;A bon escient, cela peut &#234;tre utilis&#233; pour parall&#233;liser les chargements : 2 domaines = 4 requ&#234;tes simultan&#233;es pour Internet Explorer 7.&lt;/p&gt; &lt;p&gt;Toujours dans l'exemple, le d&#233;but de rendu de la page n'intervient pas avant le chargement des CSS et du Javascript plac&#233;s dans le &lt;code&gt;head&lt;/code&gt;&#8230; Tout comme la requ&#234;te DNS bloque le t&#233;l&#233;chargement des fichiers sur un domaine, le rendu d'une page ne d&#233;marre pas avant que les &#233;l&#233;ments plac&#233;s dans le &lt;code&gt;head&lt;/code&gt;. On comprend ais&#233;ment pourquoi il est conseill&#233; de minimiser le nombre de CSS et de fichiers Javascript, et pour ces derniers de les placer en bas de page.&lt;/p&gt; &lt;p&gt;Comme notre exemple simule un chargement d'un site en HTML5 sous Internet Explorer, le Javascript est obligatoire dans le &lt;code&gt;head&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;M&#234;me si l'exemple ne comporte que tr&#232;s peu d'images (une dizaine) sur une page plut&#244;t l&#233;g&#232;re (3 ko), on peut constater que &lt;strong&gt;la partie pure du rendu des contenus par le navigateur est d&#233;j&#224; plus longue que le temps &#233;coul&#233; avant le d&#233;but du rendu&lt;/strong&gt;. Sur des pages plus lourdes, plus complexes et avec plus de fichiers, cette partie augmente drastiquement. C'est pour cela que, souvent par abus de langage, on parle d'optimisation de performances web, on parle d'optimiser l'affichage &lt;i&gt;Front-end&lt;/i&gt; (c&#244;t&#233; navigateur), ce dernier prenant en g&#233;n&#233;ral le temps le plus cons&#233;quent.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Mise en cache avanc&#233;e&lt;/h3&gt;
&lt;p&gt;L'exemple de mise en cache des contenus donn&#233; dans l'&#171; Introduction &#224; la performance web &#187; &#233;tait volontairement simplifi&#233; &#224; l'extr&#234;me. Voyons un exemple plus avanc&#233; de mise en cache de contenus dits &#171; statiques &#187; (qui ne sont pas appel&#233;s &#224; &#233;voluer, images, CSS, etc.) via un fichier &lt;code&gt;htaccess&lt;/code&gt; :&lt;/p&gt; &lt;pre&gt; &lt;FilesMatch &quot;\.(js|css|gif|jpg|jpeg|png|ico)$&quot;&gt; Header unset Cookie Header unset Set-Cookie Header set Cache-Control &quot;max-age=31536000&quot; header set vary &quot;Accept-Encoding&quot; header append vary &quot;User-Agent&quot; header append Cache-Control &quot;public&quot; header append Connection &quot;Keep-Alive&quot; header append Keep-Alive &quot;timeout=5, max=100&quot; FileETag None &lt;/FilesMatch&gt; &lt;/pre&gt;
&lt;p&gt;&lt;code&gt;Header unset Cookie&lt;/code&gt; et &lt;code&gt;Header unset Set-Cookie&lt;/code&gt; permettent d'&#233;viter la gestion des cookies pour ces fichiers statiques (qui peuvent amener des requ&#234;tes HTTP inutiles).&lt;/p&gt; &lt;p&gt;&lt;code&gt;Header set Cache-Control &quot;max-age=31536000&quot;&lt;/code&gt; g&#232;re le contr&#244;le du cache : les &#233;l&#233;ments sont mis en cache pour une ann&#233;e (le nombre correspond &#224; une ann&#233;e en secondes), c'est-&#224;-dire que le cache est valide une ann&#233;e durant.&lt;/p&gt; &lt;p&gt;&lt;code&gt;header set vary &quot;Accept-Encoding&quot;&lt;/code&gt; : Cette instruction indique aux proxies de mettre en cache deux versions de la ressource : une compress&#233;e, et une non compress&#233;e. Ainsi, cela donne la possibilit&#233; aux proxies de proposer les deux versions, selon ce que l'utilisateur demande.&lt;/p&gt; &lt;p&gt;Les deux lignes concernant le &lt;i&gt;Keep-Alive&lt;/i&gt; permettent d'activer les connexions persistantes, c'est-&#224;-dire de laisser la connexion ouverte au cas o&#249; le navigateur ait d'autres requ&#234;tes (ce qui &#233;conomise des requ&#234;tes TCP/IP). Attention, si cela am&#233;liore les performances pour le client, cela peut faire consommer des ressources et surcharger le serveur&#8230; Et donc impacter les performances. En g&#233;n&#233;ral, il est recommand&#233; de r&#233;gler cette option sur un serveur de fichiers statiques.&lt;/p&gt; &lt;p&gt;&lt;code&gt;FileETag None&lt;/code&gt; : nous n'utilisons pas les Etags, la mise en cache est correctement assur&#233;e par le &lt;i&gt;Cache-Control&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;Observons le r&#233;sultat sur la m&#234;me page sur une seconde consultation :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L500xH198/webperfs_wat20d9-01356.jpg&quot; alt=&quot;Second affichage d'une page avec Web page test&quot; width='500' height='198' style='height:198px;width:500px;' /&gt;&lt;/p&gt; &lt;p&gt;Comme nous pouvons le voir, aucun fichier pr&#233;c&#233;demment mis en cache n'est ret&#233;l&#233;charg&#233;. En r&#233;sulte une &#233;conomie cons&#233;quente de requ&#234;tes HTTP et de bande passante, il ne reste que la page PHP en question. Cette derni&#232;re est charg&#233;e en 304 millisecondes, et le rendu total passe de 2 secondes &#224; 700 millisecondes (!).&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;D'autres pistes plus avanc&#233;es&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Lazy-loading&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Nous l'avons vu, une bonne utilisation de la mise en cache des contenus permet de bien am&#233;liorer la performance lors d'une seconde consultation. Toutefois, il est &#233;galement possible d'am&#233;liorer la premi&#232;re consultation en diff&#233;rant le chargement de certains &#233;l&#233;ments apr&#232;s que le document soit complet. Des sites comme Twitter ou Gmail utilisent beaucoup cette technique.&lt;/p&gt; &lt;p&gt;On appelle cette technique le &lt;i&gt;lazy-loading&lt;/i&gt; (litt&#233;ralement &#171; chargement fain&#233;ant &#187;, qu'on traduira plut&#244;t par chargement diff&#233;r&#233;, ou chargement &#224; la demande). Cela se fait via Javascript.&lt;/p&gt; &lt;p&gt;Exemple avec Jquery :&lt;/p&gt;
&lt;pre&gt; $(document).ready(function(){ // ici le chargement de vos fichiers // une fois la page charg&#233;e et rendue // exemple tr&#232;s simple $('#image_to_load').attr('src','img.gif'); }); &lt;/pre&gt;
&lt;p&gt;Ainsi, l'image ayant l'id &lt;code&gt;image_to_load&lt;/code&gt; aura sa source charg&#233;e apr&#232;s le rendu de la page.&lt;/p&gt; &lt;p&gt;Attention : ce code est donn&#233; juste &#224; titre d'exemple pour expliquer le principe de la m&#233;thode, il vaut mieux &#233;viter de laisser une balise &lt;code&gt;img&lt;/code&gt; vide.&lt;/p&gt; &lt;p&gt;On peut ainsi ne charger :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; que certains types de contenus (exemple : les images contenues dans la page),&lt;/li&gt;&lt;li&gt; que les contenus &#224; la demande (exemple : un syst&#232;me de recherche Javascript, qui ne sera actif que quand on utilise la recherche du site),&lt;/li&gt;&lt;li&gt; ou que les contenus visibles &#224; l'&#233;cran, selon que l'utilisateur scrolle sur la page.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Tout cela permet de r&#233;duire le temps de chargement de la page. Observons le chargement d'une page avec un chargement diff&#233;r&#233; d'une image :&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://openweb.eu.org/local/cache-vignettes/L500xH220/webperfs_watf47b-aa91a.jpg&quot; alt=&quot;Affichage d'une page avec un &#233;l&#233;ment diff&#233;r&#233;, avec Web page test&quot; width='500' height='220' style='height:220px;width:500px;' /&gt;&lt;/p&gt; &lt;p&gt;Web page test le confirme : l'image a bien &#233;t&#233; charg&#233;e apr&#232;s que le document soit rendu.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; certes le gain de performances peut &#234;tre important, mais ne sacrifiez pas tout aux performances. Pr&#233;voyez une solution de repli au cas o&#249; Javascript soit d&#233;sactiv&#233;, sinon il pourrait y avoir perte d'information et/ou de r&#233;f&#233;rencement si cette technique est utilis&#233;e &#224; mauvais escient ! Dans notre exemple, cela peut se faire via la balise &lt;/code&gt;noscript&lt;/code&gt; qui indiquera au navigateur n'ayant pas Javascript activ&#233; de charger l'image, ou via une redirection vers une version n'utilisant pas de chargement diff&#233;r&#233;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Diminution du nombre de requ&#234;tes HTTP via DATA-URL&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les Data-URL permettent de mettre du contenu directement en ligne dans vos CSS ou dans votre HTML.&lt;/p&gt; &lt;p&gt;Voici un exemple dans une CSS :&lt;/p&gt; &lt;p&gt;&lt;code&gt;background:#000 url(pattern_136.gif) repeat;&lt;/code&gt;&lt;html&gt; sera remplac&#233; par : &lt;html&gt;&lt;code&gt;background:#000 url(data:image/gif;base64,R0lGODlhOAA4AIAAABUVFQAAACH5 BAAAAAAALAAAAAA4AdgAAAK/TGB5asiuYJKNrWjpxS7zoXTJ 1ZgaW3juaLay5ou2dbyjas5HOv83PvZhDtaMUbUKZ NepnH51ESnQaoNWs2WnNpr0+oF47jA8lCMNY/R5HBKnXar20c4hR6vn7v6vo8NiBRoZ4Rn+DQo p7jGl+d4l+j31XgoSBn5d6m5hVn5JtlZGLoJStrnu ZiHWspp+ijqupoiu0obaWuKS7jLu6ibChmLOdrLW PxqeVxLDCzs3Py8pzwczSoNPZ2tbc2dVgAAOw==) repeat;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;(des retours &#224; la lignes ont &#233;t&#233; ajout&#233;s pour de simples raisons de lisibilit&#233;)&lt;/p&gt; &lt;p&gt;En g&#233;n&#233;ral, le code produit est un petit peu plus lourd que l'image originale sous forme de fichier. Toutefois, cela &#233;conomise une requ&#234;te HTTP. Pensez &#224; bien activer la compression GZIP ou DEFLATE pour optimiser cet &#233;quivalent textuel d'une image.&lt;/p&gt; &lt;p&gt;La mise en cache de ces contenus est fonction d'o&#249; ils ont &#233;t&#233; ins&#233;r&#233;s : si, comme dans l'exemple, l'image est dans une CSS mise en cache, elle sera donc de facto mise en cache (en tout cas, le code correspondant). Si par contre, le contenu se situe dans une page HTML ou PHP qui n'est pas mise en cache, le code correspondant ne le sera donc pas non plus.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; Les navigateurs r&#233;cents comme Firefox ou Opera supportent tr&#232;s bien cette possibilit&#233;. Quant &#224; Internet Explorer, il ne supporte cela qu'&#224; partir de la version 8&#8230; Et ce dernier limite la taille de la Data-URL &#224; 32 ko. On r&#233;servera donc cette technique aux tr&#232;s petites images et de pr&#233;f&#233;rence d&#233;coratives et non utiles &#224; la compr&#233;hension de la page. Encore une fois il ne faut pas tout sacrifier aux performances.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Commentaires conditionnels&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les commentaires conditionnels permettent d'appliquer des r&#232;gles CSS sp&#233;cifiques pour certaines versions d'Internet Explorer, et ce afin de patcher son moteur de rendu parfois d&#233;faillant ou illogique.&lt;/p&gt; &lt;pre&gt; &lt;!--[if lte IE 7]&gt; &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;fixes.css&quot; /&gt; &lt;![endif]--&gt; &lt;/pre&gt;
&lt;p&gt;Il a toutefois &#233;t&#233; constat&#233; que ces commentaires conditionnels bloquaient pendant un certain temps le t&#233;l&#233;chargement des fichiers.&lt;/p&gt; &lt;p&gt;Id&#233;alement, si les performances web sont critiques pour votre projet et si vous pouvez vous passer des commentaires conditionnels, &#233;vitez de les utiliser. Toutefois une solution curieuse, mais parfaitement fonctionnelle, r&#233;sout ce probl&#232;me : il suffit de mettre un commentaire conditionnel vide en haut de votre source. Exemple :&lt;/p&gt; &lt;pre&gt; &lt;html&gt; &lt;!--[if IE ]&gt;&lt;![endif]--&gt; &lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt;CONCLUSION&lt;/h3&gt;
&lt;p&gt;Une meilleure compr&#233;hension du mode de chargement et de construction des pages permet d'en optimiser la vitesse de chargement. Une mise en cache soign&#233;e ainsi que des chargements diff&#233;r&#233;s peuvent acc&#233;l&#233;rer le rendu de vos pages tr&#232;s efficacement.&lt;/p&gt; &lt;p&gt;Il va de soi que cet article n'est pas exhaustif, d'autres techniques sont possibles, elles feront l'objet de probables futurs articles.&lt;/p&gt; &lt;p&gt;R&#233;f&#233;rences et outils :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.webpagetest.org/&quot; class='spip_out' rel='external'&gt;Web Page Test&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://pagespeed.googlelabs.com/&quot; class='spip_out' rel='external'&gt;Google Page Speed Online&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://performance.survol.fr/2009/05/separer-en-plusieurs-domaines/&quot; class='spip_out' rel='external'&gt;S&#233;parer le chargement en plusieurs domaines&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.browserscope.org/&quot; class='spip_out' rel='external'&gt;Browserscope&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://code.bocoup.com/dataurl/&quot; class='spip_out' rel='external'&gt;Un convertisseur d'images en Data-URL&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_URI_scheme&quot; class='spip_out' rel='external'&gt;Les Datas-URL sur Wikipedia&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.phpied.com/conditional-comments-block-downloads/&quot; class='spip_out' rel='external'&gt;Les commentaires conditionnels bloquent le t&#233;l&#233;chargement&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Am&#233;liorez la qualit&#233; et l'accessibilit&#233; de vos sites web</title>
		<link>http://openweb.eu.org/articles/qualite-accessibilite</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/qualite-accessibilite</guid>
		<dc:date>2011-05-30T12:52:06Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Elie Slo&#239;m</dc:creator>



		<description>Pour r&#233;pondre aux &#233;volutions futures comme aux besoins en termes de qualit&#233; et d'accessibilit&#233;, la conception et le suivi d'un projet de site web suppose de respecter cinq &#233;tapes. Revue de d&#233;tail. Cet article est paru dans le num&#233;ro No 239 du journal Archimag (novembre 2010). Nous remercions la r&#233;daction de ce journal pour leur aimable autorisation. Concevoir un site internet peut sembler relativement simple. Mais lorsqu'il s'agit d'obtenir un site pratique, &#233;volutif et accessible, la t&#226;che devient (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Pour r&#233;pondre aux &#233;volutions futures comme aux besoins en termes de qualit&#233; et d'accessibilit&#233;, la conception et le suivi d'un projet de site web suppose de respecter cinq &#233;tapes. Revue de d&#233;tail.&lt;/p&gt; &lt;p&gt;Cet article est paru dans le num&#233;ro No 239 du journal Archimag (novembre 2010). Nous remercions la r&#233;daction de ce journal pour leur aimable autorisation.
&lt;span class='spip_document_362 spip_documents spip_documents_center'&gt;
&lt;a href=&quot;http://beta.archimag.com/&quot; class=&quot;spip_out&quot;&gt;&lt;img src='http://openweb.eu.org/IMG/png/Archimag-239.png' width=&quot;144&quot; height=&quot;196&quot; alt=&quot;Archimag 239 - novembre 2010&quot; title=&quot;Archimag 239 - novembre 2010&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Concevoir un site internet peut sembler relativement simple. Mais lorsqu'il s'agit d'obtenir un site &lt;strong&gt;pratique, &#233;volutif et accessible&lt;/strong&gt;, la t&#226;che devient beaucoup plus ardue. Pour cr&#233;er un site que vous n'aurez pas envie de jeter ou de refaire compl&#232;tement apr&#232;s quelques mois et, surtout, qui &lt;strong&gt;r&#233;ponde aux attentes de vos internautes&lt;/strong&gt;, il est essentiel de bien d&#233;finir vos objectifs et vos ambitions.
La production d'un cahier des charges d&#233;taill&#233; devrait vous aider &#224; mettre en ligne un service satisfaisant &#224; la fois ses utilisateurs et ses concepteurs. Cependant, m&#234;me avec un bon cahier des charges, les attentes et exigences que vous avez en mati&#232;re de qualit&#233; ou d'accessibilit&#233; peuvent &#234;tre interpr&#233;t&#233;es de mani&#232;re tr&#232;s diff&#233;rente par les prestataires. C'est pourquoi il existe des r&#233;f&#233;rentiels pour d&#233;finir &lt;strong&gt;le niveau attendu de qualit&#233; du site&lt;/strong&gt;. Ces standards peuvent vous aider &#224; pr&#233;ciser vos attentes en mati&#232;re de qualit&#233; ou d'accessibilit&#233;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;1 D&#233;marrez avec des id&#233;es claires&lt;/h3&gt;
&lt;p&gt;Pour commencer, parlons d'accessibilit&#233;. Rendre un site accessible consiste &#224; faire
en sorte qu'il soit &lt;strong&gt;consultable par tous les internautes, quel que soit leur contexte de navigation&lt;/strong&gt;. Par exemple, certains utilisateurs seront amen&#233;s &#224; &#233;couter vos pages gr&#226;ce &#224; une synth&#232;se vocale dans un logiciel de lecture d'&#233;cran. D'autres internautes, dans l'impossibilit&#233; d'utiliser leur souris, seront amen&#233;s &#224; naviguer au clavier, avec des dispositifs de pointage sp&#233;cifiques ou encore avec des outils ou logiciels d'assistance. Ces cibles peuvent a priori sembler minoritaires mais un cr&#233;ateur de site qui souhaite communiquer efficacement peut difficilement se passer des cibles seniors, par exemple.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Les r&#232;gles d'accessibilit&#233; d&#233;passent largement le cas des personnes handicap&#233;es. Elles concernent &#233;galement le r&#233;f&#233;rencement et la navigation avec des terminaux mobiles.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Dans ce domaine, le RGAA (R&#233;f&#233;rentiel g&#233;n&#233;ral d'accessibilit&#233; pour les administrations) fran&#231;ais, les standards SGQRI 008 au Qu&#233;bec, et les crit&#232;res Accessiweb contiennent des r&#232;gles permettant d'assurer une navigation sans difficult&#233; pour tous les internautes et une restitution correcte des contenus dans tous les contextes.&lt;/p&gt; &lt;p&gt;La qualit&#233; web est un concept plus large qui se penche sur la &lt;strong&gt;satisfaction de l'ensemble des exigences des internautes&lt;/strong&gt;. Le concepteur de site s'int&#233;resse &#224; l'accessibilit&#233; mais &#233;galement au r&#233;f&#233;rencement, &#224; l'ergonomie, &#224; la performance, &#224; la s&#233;curit&#233; ou encore &#224; la qualit&#233; des contenus. Dans ce domaine, le r&#233;f&#233;rentiel de bonnes pratiques Opquast (Open Quality Standards) est utilisable librement. [&lt;a href='#nb1' class='spip_note' rel='footnote' title='L'auteur de cet article est l'un des fondateurs de l'initiative Opquast, qui a (...)' id='nh1'&gt;1&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;A titre d'exemple, voici trois crit&#232;res issus de ce r&#233;f&#233;rentiel :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Les sons et vid&#233;os sont d&#233;clench&#233;s par les utilisateurs. &lt;/li&gt;&lt;li&gt; Le site propose une page d'erreur personnalis&#233;e.&lt;/li&gt;&lt;li&gt; Le site est accessible avec ou sans &#171; www &#187; avant le nom de domaine.&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;2 Faites le choix des r&#233;f&#233;rentiels d'accessibilit&#233; et de qualit&#233;&lt;/h3&gt;
&lt;p&gt;Faut-il choisir un r&#233;f&#233;rentiel d'accessibilit&#233;, un r&#233;f&#233;rentiel de qualit&#233; ou les deux ?&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Le choix d'un	r&#233;f&#233;rentiel d'accessibilit&#233; permettra d'atteindre un haut niveau d'accessibilit&#233; mais attention, le respect exclusif d'un tel r&#233;f&#233;rentiel peut conduire &#224; mettre de c&#244;t&#233; des points importants comme la performance ou la s&#233;curit&#233; [&lt;a href='#nb2' class='spip_note' rel='footnote' title='Attention, une formulation dans la version initiale de cet article pouvait (...)' id='nh2'&gt;2&lt;/a&gt;].&lt;/li&gt;&lt;li&gt; Le choix d'un r&#233;f&#233;rentiel de qualit&#233; permet quant &#224; lui de traiter de tous les aspects de la qualit&#233; d'un site mais ne permet pas d'atteindre un tr&#232;s haut niveau d'accessibilit&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si vous &#234;tes un acteur public &#8211; commune, acteur territorial...&#8211;, la mise en application d'un r&#233;f&#233;rentiel national comme le RGAA (en France) ou SGQRI 008 (au Qu&#233;bec) &#233;tant obligatoire, vous avez tout int&#233;r&#234;t &#224; choisir ce r&#233;f&#233;rentiel en priorit&#233; avant de vous pencher sur les aspects qualit&#233;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;3 Contr&#244;lez la conformit&#233; du cahier des charges&lt;/h3&gt;
&lt;p&gt;Une fois votre choix de r&#233;f&#233;rentiel effectu&#233;, il importe de passer en revue votre cahier des charges pour v&#233;rifier que celui-ci prend en compte les exigences fondamentales en mati&#232;re de qualit&#233; ou d'accessibilit&#233;. Attention, une simple r&#233;f&#233;rence &#224; un r&#233;f&#233;rentiel ne suffira pas. Il arrive tr&#232;s fr&#233;quemment que malgr&#233; un cahier des charges exigeant, par exemple, le respect d'un r&#233;f&#233;rentiel dans son ensemble, le site produit soit finalement tr&#232;s peu accessible. En effet, &lt;strong&gt;les r&#233;f&#233;rentiels de qualit&#233; et accessibilit&#233; contiennent 150 &#224; 250 crit&#232;res&lt;/strong&gt;. De nombreux prestataires qui les connaissent mal sous-estiment la charge de travail et la comp&#233;tence n&#233;cessaires pour les respecter. C'est pourquoi, au-del&#224; de la mention d'un r&#233;f&#233;rentiel dans le cahier des charges, il sera int&#233;ressant de demander aux futurs prestataires de quelle mani&#232;re ils comptent le mettre en application. Vous pouvez &#233;galement leur demander d'expliciter les solutions envisag&#233;es pour des fonctionnalit&#233;s pr&#233;cises.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;4 Suivez pas &#224; pas le processus de production&lt;/h3&gt;
&lt;p&gt;Par la suite, pour &#233;viter les &#233;carts entre les attentes et les r&#233;sultats, il importe de &lt;strong&gt;suivre la production du site web&lt;/strong&gt;. Un processus, &#224; la m&#233;thode de mieux en mieux d&#233;finie, guide cette production.&lt;/p&gt; &lt;p&gt;Le plus fr&#233;quemment, il consiste &#224; :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Produire des maquettes ergonomiques des principales pages du site &#8211; accueil, page de contenu, formulaire de contact, accueil de rubrique, etc. Ces maquettes sont quelquefois appel&#233;es story-boards. Cette phase permet d'obtenir une id&#233;e de la navigation sur le site et de l'emplacement des zones de menu, des contenus, du moteur de recherche.&lt;/li&gt;&lt;li&gt; Elaborer des maquettes graphiques, &#224; partir des maquettes ergonomiques, de mani&#232;re &#224; donner au site sa couleur et son allure et &#224; d&#233;finir les &#233;l&#233;ments graphiques du site.&lt;/li&gt;&lt;li&gt; Effectuer des d&#233;coupes pour transformer les maquettes graphiques dans le langage HTML. C'est ce qu'on appelle la phase d'int&#233;gration.&lt;/li&gt;&lt;li&gt; Mettre en place les contenus dans le CMS (content management system ou syst&#232;me de gestion des contenus, comme par exemple Spip, Wordpress, EZPublish ou encore Joomla). Ces CMS donnent acc&#232;s &#224; des formulaires permettant de cr&#233;er des rubriques, des pages et de mettre en place les contenus.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;A chacune des phases d&#233;crites ci-dessus, il est essentiel de faire des revues rapides de ce que produit votre prestataire en &#233;valuant le r&#233;sultat de chaque &#233;tape en fonction du r&#233;f&#233;rentiel choisi.
De mani&#232;re g&#233;n&#233;rale, plus un d&#233;faut est d&#233;tect&#233; tardivement, plus le co&#251;t de sa r&#233;paration sera &#233;lev&#233;. Il importe donc de d&#233;tecter les d&#233;fauts le plus t&#244;t possible dans le processus de production.
C'est pourquoi ce type d'&#233;valuation est indispensable pour garantir le r&#233;sultat final et pour &lt;strong&gt;minimiser les co&#251;ts de r&#233;alisation&lt;/strong&gt;. Pour le moins, l'examen des maquettes graphiques, des int&#233;grations et, bien &#233;videmment, de l'ensemble du site une fois les contenus mis en place sont essentiels.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;5 N'attendez pas la fin pour vous poser les bonnes questions&lt;/h3&gt;
&lt;p&gt;Dans tous les cas, sachez que rien n'est plus d&#233;sagr&#233;able que de se rendre compte qu'on a &lt;strong&gt;laiss&#233; passer des gros d&#233;fauts&lt;/strong&gt; pendant la production d'un site. De votre c&#244;t&#233;, vous devez bien d&#233;finir vos objectifs fonctionnels et de qualit&#233;, puis choisir un prestataire comp&#233;tent. Pour vous aider &#224; choisir, voici quelques questions &#224; se poser :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Le prestataire, conna&#238;t-il les r&#233;f&#233;rentiels de qualit&#233; et accessibilit&#233; ?&lt;/li&gt;&lt;li&gt; A-t-il d&#233;j&#224; d&#233;velopp&#233; des sites internet en les utilisant ?&lt;/li&gt;&lt;li&gt; Est-il en mesure de vous proposer un processus de production solide et s&#233;quenc&#233; ? Effectue-t-il des recettes et des contr&#244;les lors de chaque phase de production ?&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Si vous &#234;tes capables de r&#233;pondre par l'affirmative aux quatre questions pos&#233;es, votre projet a de &lt;strong&gt;fortes chances d'atteindre un bon niveau de qualit&#233; et d'accessibilit&#233;&lt;/strong&gt;. Dans le cas contraire, le succ&#232;s est possible, mais nettement plus al&#233;atoire. La connaissance des standards industriels du secteur est un gage de professionnalisme. C'est &#233;galement pour vous une &lt;strong&gt;assurance contre les &#233;checs et les refontes successives&lt;/strong&gt;. Enfin, cela garantit que le co&#251;t de r&#233;alisation du site sera calcul&#233; au plus juste et ne sera pas consacr&#233; &#224; la correction de d&#233;fauts faciles &#224; traiter en amont de la production.&lt;/p&gt; &lt;p&gt;Les r&#233;f&#233;rentiels de qualit&#233; et accessibilit&#233; peuvent vous aider &#224; produire un site &#233;volutif, correctement r&#233;f&#233;renc&#233;, facile &#224; utiliser dans tous les contextes de navigation et pour tous les utilisateurs. Certains prestataires vous proposeront des devis quelquefois un peu sup&#233;rieurs &#224; leurs concurrents mais l'&lt;strong&gt;investissement que vous ferez sur ce sujet en amont ne peut que vous b&#233;n&#233;ficier sur la dur&#233;e&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notes 1' rev='footnote'&gt;1&lt;/a&gt;] L'auteur de cet article est l'un des fondateurs de l'initiative Opquast, qui a conduit &#224; produire ce r&#233;f&#233;rentiel de bonnes pratiques&lt;/p&gt; &lt;p&gt;[&lt;a href='#nh2' id='nb2' class='spip_note' title='Notes 2' rev='footnote'&gt;2&lt;/a&gt;] Attention, une formulation dans la version initiale de cet article pouvait laisser penser que le choix d'un r&#233;f&#233;rentiel d'accessibilit&#233; impliquait forc&#233;ment de laisser de c&#244;t&#233; des sujets comme la performance ou la s&#233;curit&#233;. Ce n'est bien entendu pas notre propos. Mais ce risque existe et il faut en &#234;tre conscient.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Introduction &#224; la performance Web</title>
		<link>http://openweb.eu.org/articles/performances_sites_internet</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/performances_sites_internet</guid>
		<dc:date>2011-02-10T10:29:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Nicolas Hoffmann</dc:creator>


		<dc:subject>D&#233;butant</dc:subject>
		<dc:subject>Expert</dc:subject>
		<dc:subject>(X)HTML</dc:subject>
		<dc:subject>CSS</dc:subject>
		<dc:subject>DOM</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>

		<description>Travailler les performances d'un site web peut &#234;tre un travail de tr&#232;s longue haleine et extr&#234;mement technique, impliquant de multiples acteurs et de multiples comp&#233;tences. L'id&#233;e de cet article est de comprendre pourquoi ce domaine est en plein essor et d'en poser les bases. D&#233;finition et cadre de l'article Les performances web sont un domaine qui peut &#234;tre extr&#234;mement large. Cela peut aller de la rapidit&#233; du ou des serveur(s) jusqu'&#224; l'utilisation efficace d'une base de donn&#233;es et d'un langage de (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/debutant" rel="tag"&gt;D&#233;butant&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/expert" rel="tag"&gt;Expert&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/xhtml" rel="tag"&gt;(X)HTML&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/css" rel="tag"&gt;CSS&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/dom" rel="tag"&gt;DOM&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Travailler les performances d'un site web peut &#234;tre un travail de tr&#232;s longue haleine et extr&#234;mement technique, impliquant de multiples acteurs et de multiples comp&#233;tences. L'id&#233;e de cet article est de comprendre pourquoi ce domaine est en plein essor et d'en poser les bases.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt;D&#233;finition et cadre de l'article&lt;/h3&gt;
&lt;p&gt;Les performances web sont un domaine qui peut &#234;tre extr&#234;mement large. Cela peut aller de la rapidit&#233; du ou des serveur(s) jusqu'&#224; l'utilisation efficace d'une base de donn&#233;es et d'un langage de web dynamique comme PHP, tout en passant par des int&#233;grations HTML/CSS de qualit&#233;, l'optimisation des images, etc.&lt;/p&gt; &lt;p&gt;Cet article ne compte pas (et ne peut pas !) aborder tous ces multiples domaines. Nous allons plut&#244;t nous concentrer sur l'optimisation de la vitesse d'affichage d'un site dans un navigateur.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Les performances web, pourquoi ?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Am&#233;liorer l'exp&#233;rience utilisateur&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les visiteurs de votre site appr&#233;cieront que vos pages s'affichent le plus rapidement possible. De &lt;a href=&quot;http://sites.google.com/site/glinden/Home/StanfordDataMining.2006-11-28.ppt&quot; class='spip_out' rel='external'&gt;r&#233;centes &#233;tudes&lt;/a&gt; montrent qu'une baisse de la rapidit&#233; d'affichage d'un site peut induire une baisse de fr&#233;quentation significative, et cela tombe sous le sens : le visiteur d'un site de e-commerce aura tendance &#224; passer chez un concurrent plus efficace si le site en question met 10 secondes &#224; s'afficher. Pour prendre un autre exemple, attendre 3 &#224; 4 secondes &#224; chaque recherche sur Google serait extr&#234;mement p&#233;nible.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Envisager le web mobile&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Si la rapidit&#233; est importante sur un ordinateur disposant par exemple d'une bonne connexion ADSL, elle est quasiment critique en situation de mobilit&#233;. Les connexions sont en g&#233;n&#233;ral moins rapides, et paradoxalement, les utilisateurs sont moins patients et attendent autant de rapidit&#233; que sur un ordinateur de bureau classique.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Optimiser les co&#251;ts&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Un site dont les performances sont optimis&#233;es sera g&#233;n&#233;ralement moins gourmand en ressources (bande passante, processeur, ...). Sa configuration
d'h&#233;bergement pourra &#234;tre adapt&#233;e sur mesure et le site supportera facilement une charge importante de visites.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Am&#233;liorer son r&#233;f&#233;rencement&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Google a par exemple r&#233;cemment annonc&#233; que les performances web &#233;taient un des crit&#232;res pris en compte dans son algorithme de r&#233;f&#233;rencement.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Am&#233;liorer les performances en pratique&lt;/h3&gt;
&lt;p&gt;Avant de chercher des solutions plus complexes, travailler les
performances d'un site consiste d'abord par &lt;strong&gt;prendre de bonnes habitudes et de bons r&#233;flexes d&#232;s la conception&lt;/strong&gt;. Prendre ces bonnes habitudes est parfois plus int&#233;ressant et plus ais&#233; que de corriger apr&#232;s coup.&lt;/p&gt; &lt;p&gt;Il faut d&#233;j&#224; mettre les fichiers Javascript et CSS en fichiers externes. Pour vos CSS, placez-les dans le &lt;code&gt;head&lt;/code&gt; et non directement dans la page : le navigateur t&#233;l&#233;chargera ainsi rapidement les informations pour mettre en forme le site et pourra commencer son travail de stylage des &#233;l&#233;ments. Pour prendre une analogie, un ouvrier qui a d&#233;j&#224; tous ses outils &#224; port&#233;e de main travaillera plus vite que celui qui les a &#233;parpill&#233;s sur le chantier ou qui doit les trouver ou les d&#233;couvrir au fur et &#224; mesure de son travail.&lt;/p&gt; &lt;p&gt;Quant au Javascript, il est par contre conseill&#233; de le mettre le plus possible en bas de page, juste avant &lt;code&gt;&lt;/body&gt;&lt;/code&gt;, pour &#233;viter qu'il ne bloque le rendu et le t&#233;l&#233;chargement des autres composants. Pour reprendre une analogie, il vaut mieux mettre une surcouche de peinture &#224; la fin de la construction que pendant.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cr&#233;er des CSS et du HTML efficaces&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;C&#244;t&#233; HTML&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Privil&#233;giez une structure l&#233;g&#232;re, identifiez bien les &#233;l&#233;ments cl&#233;s permettant l'application des styles et &#233;vitez autant que possible le code redondant ou inutile.&lt;/p&gt; &lt;p&gt;Bannissez les erreurs 404 de votre vocabulaire, pensez &#224; v&#233;rifier les contenus de votre site avec un utilitaire comme &lt;a href=&quot;http://home.snafu.de/tilman/xenulink.html&quot; class='spip_out' rel='external'&gt;Xenu Link Sleuth&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;C&#244;t&#233; CSS&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Pensez &#224; utiliser autant que possible des s&#233;lecteurs efficaces. Par exemple : &lt;code&gt;#bandeau a&lt;/code&gt; au lieu de &lt;code&gt;#bandeau ul#navigation li a&lt;/code&gt; &lt;/li&gt;&lt;li&gt; &#201;vitez de terminer vos s&#233;lecteur par *, par un [xxx] ou par un pseudo s&#233;lecteur,&lt;/li&gt;&lt;li&gt; &#201;vitez &#233;galement les expressions CSS comme :
&lt;br /&gt;&lt;code&gt;background-color: expression( (new Date()).getHours()%2 ? &quot;#B8D4FF&quot; : &quot;#F08A00&quot; );&lt;/code&gt; &lt;br /&gt;Ce sont des &#233;l&#233;ments non standards uniquement reconnus par Internet Explorer. M&#234;me s'ils peuvent &#234;tre utiles pour &#233;muler des comportements standards non pris en charge par Internet Explorer 6 et 7, ces expressions sont plus longues &#224; rendre pour le navigateur et tr&#232;s fr&#233;quemment &#233;valu&#233;es... leur utilisation est donc &#224; bannir autant que possible.&lt;/li&gt;&lt;li&gt; Pensez &#224; bien factoriser vos propri&#233;t&#233;s CSS en utilisant judicieusement vos s&#233;lecteurs. Exemple : &lt;pre&gt;#bandeau a{ display:block; width:150px; height:65px; } /* en supposant que tous les liens de votre bandeau ont cette taille */ #bandeau #accueil{ width:200px; } /* inutile de r&#233;p&#233;ter les propri&#233;t&#233;s pour #bandeau, on ajuste seulement celle n&#233;cessaire */ &lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Partez autant que possible des propri&#233;t&#233;s g&#233;n&#233;rales pour aller aux plus sp&#233;cifiques afin d'&#233;viter des redondances ou des red&#233;finitions inutiles,&lt;/li&gt;&lt;li&gt; Utilisez les notations compactes, par exemple : &lt;code&gt;background:#fff url(/images/images.jpg) 0 0 no-repeat;&lt;/code&gt; au lieu de toutes les propri&#233;t&#233;s s&#233;par&#233;es : &lt;code&gt;background-color&lt;/code&gt;, &lt;code&gt;background-image&lt;/code&gt;, &lt;code&gt;background-position&lt;/code&gt;, etc.). Certes l'&#233;conomie est relative, mais sur de tr&#232;s grosses CSS elle est toujours bonne &#224; prendre.
&lt;br /&gt;Pour prendre un autre exemple : &lt;code&gt;margin:15px 0 10px 5px;&lt;/code&gt; remplacera avantageusement &lt;pre&gt; margin-top:15px; margin-right:0; margin-bottom:10px; margin-left:5px; &lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&#192; cet effet, vous pouvez utiliser un outil comme &lt;a href=&quot;http://www.minifycss.com/css-compressor/&quot; class='spip_out' rel='external'&gt;CSS Compressor&lt;/a&gt;. Ce dernier peut vous indiquer quelles notations sont &#224; raccourcir pour prendre de bonnes habitudes.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;C&#244;t&#233; images&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Indiquer les dimensions des images permet au navigateur de &quot;r&#233;server&quot; leurs places et de poursuivre l'affichage du reste de la page pendant leur chargement. Ainsi, le navigateur n'a pas &#224; &quot;d&#233;couvrir&quot; la taille des images apr&#232;s les avoir charg&#233;es.&lt;/p&gt; &lt;p&gt;Exemple : &lt;code&gt;&lt;img src=&quot;mon_image_200_150.jpg&quot; alt=&quot;&quot; /&gt;&lt;/code&gt;, une fois corrig&#233; pour &lt;code&gt;&lt;img src=&quot;mon_image_200_150.jpg&quot; alt=&quot;&quot; width=&quot;200&quot; height=&quot;150&quot; /&gt;&lt;/code&gt; ne demandera pas inutilement au navigateur des reconstructions de la page pour prendre en compte la nouvelle taille une fois l'image charg&#233;e.&lt;/p&gt; &lt;p&gt;Et surtout ne redimensionnez pas ces images via le HTML : charger une miniature en 200 x 150 pixels sera bien plus rapide que de charger une image dont la r&#233;solution est sup&#233;rieure (ex. : 800 x 600) pour la redimensionner via le navigateur (cette image sera beaucoup plus lourde).&lt;/p&gt; &lt;p&gt;En prime, l'affichage sera plus beau avec une image ayant une taille exacte, un navigateur n'est pas pr&#233;vu pour r&#233;-&#233;chantillonner une image.&lt;/p&gt; &lt;p&gt;Il va de soi que cette liste de conseils n'est pas exhaustive, n&#233;anmoins elle permet de poser une bonne base, voyons maintenant les optimisations proprement dites.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;R&#233;duire le nombre de fichiers &#224; t&#233;l&#233;charger&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Afficher une page implique pour votre navigateur des requ&#234;tes HTTP &#224; envoyer au serveur. Le navigateur ne peut demander tous les fichiers en m&#234;me temps (et particuli&#232;rement en situation de mobilit&#233;, o&#249; les connexions sont moins rapides). Ainsi envoyer moins de requ&#234;tes au serveur permettra &#224; votre navigateur de t&#233;l&#233;charger plus rapidement les &#233;l&#233;ments n&#233;cessaires &#224; l'affichage de la page, et donc de les afficher plus vite.&lt;/p&gt; &lt;p&gt;Dans cette optique, voici plusieurs points &#224; prendre en compte :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Combiner autant que possible les fichiers Javascript : si vos scripts peuvent &#234;tre tous group&#233;s dans un unique fichier, autant le faire !&lt;/li&gt;&lt;li&gt;C&#244;t&#233; CSS, il est &#233;galement souhaitable de diminuer le nombre de fichiers. Il est possible de proposer plusieurs CSS par exemple en utilisant la r&#232;gle &lt;code&gt;@media&lt;/code&gt; pour sp&#233;cifier dans le m&#234;me fichier CSS votre version &lt;code&gt;print&lt;/code&gt; et vos &lt;code class='spip_code' dir='ltr'&gt;media queries&lt;/code&gt; pour Smartphone : &lt;pre&gt; /* ici vos propri&#233;t&#233;s g&#233;n&#233;rales */ body{ background:#fff; color:#333; } /* supposons que seule la couleur du texte doive varier, on modifie juste cette propri&#233;t&#233;, le reste sera h&#233;rit&#233; des propri&#233;t&#233;s ci-dessus */ @media screen and (max-device-width:640px){ body{ color:#111; } } @media print{ body{ color:#000; } } &lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ainsi, vous n'utilisez qu'un seul fichier CSS pour votre site, sa version imprimable et sa version pour smartphone.&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Les images utilis&#233;es dans vos CSS peuvent &#234;tre combin&#233;es &#224; l'aide de la technique dite des &lt;span lang=&quot;en&quot;&gt;sprites&lt;/span&gt; CSS : les images sont combin&#233;es en une seule image et on utilise la propri&#233;t&#233; &lt;code&gt;background&lt;/code&gt; ou &lt;code&gt;background-position&lt;/code&gt; pour afficher la partie souhait&#233;e de l'image. &#192; cet effet, je vous invite &#224; lire &lt;a href=&quot;http://www.alsacreations.com/tuto/lire/1068-sprites-css-background-position.html&quot; class='spip_out' rel='external'&gt;les &lt;span lang=&quot;en&quot;&gt;sprites&lt;/span&gt; CSS&lt;/a&gt;. Cette technique pr&#233;sente l'avantage de fortement diminuer les requ&#234;tes HTTP et de se passer de Javascript pour d'&#233;ventuels pr&#233;chargements. La maintenance et l'int&#233;gration peuvent &#234;tre un peu plus difficiles en contrepartie.&lt;/li&gt;&lt;li&gt; Mettre en cache vos fichiers pouvant l'&#234;tre (CSS, images, Javascript, ic&#244;ne de favori) est une bonne habitude &#224; prendre, cela &#233;vite de devoir recharger des fichiers qui ne sont pas suppos&#233;s changer &#224; chaque consultation.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Exemple via un fichier .htaccess :&lt;/p&gt;
&lt;pre&gt; &lt;FilesMatch &quot;\.(gif|jpg|jpeg|png|ico)$&quot;&gt; Header set Cache-Control &quot;max-age=31536000&quot; # 1 an pour les extensions pr&#233;cit&#233;es header append Cache-Control &quot;public&quot; # public indique que la mise en cache est possible # pour tout le monde y compris pour les proxies # (sinon nous aurions mis private pour emp&#234;cher # les proxies de mettre en cache) &lt;/FilesMatch&gt; &lt;/pre&gt;
&lt;p&gt;Dans notre exemple, les images sont mises en cache pour une dur&#233;e d'un an. Autrement dit, pendant un an, cela &#233;vite au navigateur ayant d&#233;j&#224; charg&#233; ces images de les ret&#233;l&#233;charger : l'&#233;conomie en vitesse de rechargement (pour le navigateur) et en bande-passante (pour le serveur) peut &#234;tre consid&#233;rable. Toutefois, si un changement devait &#234;tre op&#233;r&#233; sur une image, il est recommand&#233; de changer le nom de l'image, afin d'&#233;viter que la mise en cache n'emp&#234;che de voir ce changement.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;R&#233;duire le poids des fichiers t&#233;l&#233;charg&#233;s&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Une fois que le nombre de fichiers a &#233;t&#233; r&#233;duit autant que faire se peut, il faut &#233;galement s'atteler &#224; en r&#233;duire le poids. Fort heureusement, de nombreux outils et techniques offrent des possibilit&#233;s efficaces et int&#233;ressantes.&lt;/p&gt; &lt;p&gt;PNG (le cas &#233;ch&#233;ant GIF) et JPG doivent &#234;tre optimis&#233;s. La plupart des logiciels proposent une option &quot;optimis&#233; pour le web&quot; pour les images. N&#233;anmoins, les r&#233;sultats peuvent &#234;tre insuffisants. Vous pouvez dans ce cas essayer des outils comme &lt;a href=&quot;http://www.smushit.com/ysmush.it/&quot; class='spip_out' rel='external'&gt;Yahoo Smush it&lt;/a&gt; ou &lt;a href=&quot;http://psydk.org/PngOptimizer.php&quot; class='spip_out' rel='external'&gt;PNG Optimizer&lt;/a&gt;, tr&#232;s efficaces et tr&#232;s pratiques.&lt;/p&gt; &lt;p&gt;Minifier CSS, Javascripts et m&#234;me HTML si cela est possible est une bonne habitude &#224; prendre. Pour les CSS, des outils comme &lt;a href=&quot;http://www.minifycss.com/css-compressor/&quot; class='spip_out' rel='external'&gt;CSS Compressor&lt;/a&gt; peuvent apporter des gains substantiels. C&#244;t&#233; Javascript, &lt;a href=&quot;http://code.google.com/intl/fr/closure/compiler/&quot; class='spip_out' rel='external'&gt;Google Closure Compiler&lt;/a&gt; permet de produire du code Javascript plus efficace : il enl&#232;ve le code inutilis&#233; et permet donc d'en r&#233;duire le poids.&lt;/p&gt; &lt;p&gt;Il est &#233;galement possible d'activer la compression de certains fichiers : en pratique le serveur compresse les donn&#233;es (code XHTML, CSS, ...), les fichiers transitent par le r&#233;seau, le navigateur d&#233;compresse les donn&#233;es avant de les interpr&#233;ter. Les deux types de compressions utilis&#233;es sur un serveur Apache standard sont GZIP et DEFLATE : elles sont support&#233;es par tous les navigateurs modernes.&lt;/p&gt; &lt;p&gt;Pour donner quelques exemples, une CSS de 8 ko peut voir son poids r&#233;duit &#224; 2 Ko via la compression DEFLATE, et une biblioth&#232;que comme Jquery voit son poids passer de 77 ko &#224; une vingtaine de ko.&lt;/p&gt; &lt;p&gt;En pratique, un fichier htaccess suffit pour les activer. Par exemple, pour activer la compression DEFLATE :&lt;/p&gt;
&lt;pre&gt; AddOutputFilterByType DEFLATE text/html text/css application/javascript #etc... &lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Premi&#232;re mise en garde :&lt;/strong&gt; ce type de compression est &#224; utiliser uniquement pour des contenus de type textuels. Il serait totalement inutile d'utiliser cela pour recompresser des images, cela consommerait beaucoup de ressources serveur pour un r&#233;sultat nul.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Seconde mise en garde :&lt;/strong&gt; ne misez pas tout sur la compression. Prenez bien le temps de travailler, d'optimiser et de minifier vos CSS &lt;strong&gt;avant&lt;/strong&gt; de les compresser via GZIP ou DEFLATE. La rapidit&#233; d'affichage n'en sera que meilleure.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Des outils pour apprendre... et aller plus loin&lt;/h3&gt;
&lt;p&gt;Deux extensions de &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/1843/&quot; class='spip_out' rel='external'&gt;Firebug&lt;/a&gt; permettent de travailler et d'apprendre &#224; perfectionner les performances des sites Internet : &lt;a href=&quot;http://developer.yahoo.com/yslow/&quot; class='spip_out' rel='external'&gt;Yahoo Yslow&lt;/a&gt; et &lt;a href=&quot;http://code.google.com/intl/fr/speed/page-speed/&quot; class='spip_out' rel='external'&gt;Google Page Speed&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Yslow propose des notes sur chaque point (mise en cache, compression, etc.) allant de A &#224; F avec un indice global sur 100, et Pagespeed propose une note globale sur 100 en fonction de plusieurs param&#232;tres. Ces deux extensions se compl&#232;tent bien et permettent d'&#233;valuer rapidement le travail effectu&#233; (ou &#224; effectuer) sur les performances d'une page.&lt;/p&gt; &lt;p&gt;Google propose une documentation compl&#232;te en rapport avec les points mentionn&#233;s via Page Speed : &lt;a href=&quot;http://code.google.com/intl/fr/speed/page-speed/docs/rules_intro.html&quot; class='spip_out' rel='external'&gt;Google Code Web Performance Best Practices&lt;/a&gt;
Yahoo en fait de m&#234;me et propose &#233;galement &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html&quot; class='spip_out' rel='external'&gt;Best Practices for Speeding Up Your Web Site&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;On peut &#233;galement signaler &lt;a href=&quot;http://gtmetrix.com/&quot; class='spip_out' rel='external'&gt;GT Metrix&lt;/a&gt;, qui se base sur ces deux extensions et qui permet de comparer les r&#233;sultats entre plusieurs pages.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.webpagetest.org/&quot; class='spip_out' rel='external'&gt;Web page test&lt;/a&gt; permet (entre autres possibilit&#233;s) de voir le temps que votre page va mettre &#224; s'afficher lors d'un premier chargement, et lors d'un deuxi&#232;me chargement. Cela peut vous permettre par exemple de voir l'efficacit&#233; de la mise en cache de vos contenus.&lt;/p&gt; &lt;p&gt;D'autres outils plus pouss&#233;s comme &lt;a href=&quot;http://www.yottaa.com/&quot; class='spip_out' rel='external'&gt;Yottaa&lt;/a&gt; permettent d'analyser de mani&#232;re plus globale les performances de pages internet : visualiser la vitesse d'affichage de votre site depuis divers points du globe, v&#233;rifier la complexit&#233; vos pages, etc.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Travailler et prendre en compte les performances des sites internet est une &#233;vidence qualitative. L'essor de la navigation en situation de mobilit&#233;, l'implication de divers acteurs majeurs du web comme Google ou Yahoo, et plus globalement le besoin d'afficher rapidement des sites parfois complexes et riches - d'autant plus dans des secteurs &#224; forte comp&#233;titivit&#233; - font que les performances des sites internet sont &#224; prendre en compte par tout professionnel du web, qu'il soit d&#233;cideur ou technicien.&lt;/p&gt; &lt;p&gt;Il va de soi que cet article n'est qu'une introduction au domaine des performances web. N&#233;anmoins, les techniques et outils abord&#233;s vous offrent la possibilit&#233; d'avoir des r&#233;sultats tr&#232;s satisfaisants. D'autres pistes sont envisageables et commencent &#224; voir le jour. Elles feront l'objet de tr&#232;s probables futurs articles.&lt;/p&gt; &lt;p&gt;R&#233;f&#233;rences :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;a href=&quot;http://www.alsacreations.com/article/lire/914-compression-pages-html-css-gzip-deflate.html&quot; class='spip_out' rel='external'&gt;Compression des pages via GZIP et DEFLATE&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.alsacreations.com/tuto/lire/1068-sprites-css-background-position.html&quot; class='spip_out' rel='external'&gt;Les sprites CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_6/&quot; class='spip_out' rel='external'&gt;Eviter les expressions CSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://home.snafu.de/tilman/xenulink.html&quot; class='spip_out' rel='external'&gt;Xenu Link Sleuth&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://code.google.com/intl/fr/closure/compiler/&quot; class='spip_out' rel='external'&gt;Google Closure Compiler&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://performance.survol.fr/2008/06/desactiver-les-etags/&quot; class='spip_out' rel='external'&gt;Gestion des ETags&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://code.google.com/intl/fr/speed/page-speed/&quot; class='spip_out' rel='external'&gt;Google Page Speed&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://developer.yahoo.com/yslow/&quot; class='spip_out' rel='external'&gt;Yahoo Yslow&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://code.google.com/intl/fr/speed/page-speed/docs/rules_intro.html&quot; class='spip_out' rel='external'&gt;Google Code Web Performance Best Practices&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html&quot; class='spip_out' rel='external'&gt;Best Practices for Speeding Up Your Web Site&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://gtmetrix.com/&quot; class='spip_out' rel='external'&gt;GT Metrix&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.yottaa.com/&quot; class='spip_out' rel='external'&gt;Yottaa&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.webpagetest.org/&quot; class='spip_out' rel='external'&gt;Web page test&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ne perdez plus vos internautes, faites du card sorting / tri de cartes - Deuxi&#232;me partie : Mise en oeuvre</title>
		<link>http://openweb.eu.org/articles/card-sorting-mise-en-oeuvre</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/card-sorting-mise-en-oeuvre</guid>
		<dc:date>2011-01-26T16:40:23Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Gautier Barr&#232;re</dc:creator>


		<dc:subject>D&#233;butant</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>
		<dc:subject>Industrialisation</dc:subject>
		<dc:subject>M&#233;thodes</dc:subject>

		<description>Dans le premier article, nous vous avons pr&#233;sent&#233; le principe du card sorting. D&#233;couvrez d&#233;sormais les diff&#233;rentes &#233;tapes de mise en oeuvre de cette technique, de la d&#233;finition du protocole au bilan avec les utilisateurs, en passant par le choix des cartes &#224; tester... C'est parti. L'&#233;valuation en ergonomie, que ce soit &#224; travers un card sorting ou toute autre technique impliquant des utilisateurs, n&#233;cessite l'intervention d'un expert dans le domaine et la mise en place d'un protocole rigoureux. Il est (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/debutant" rel="tag"&gt;D&#233;butant&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/industrialisation" rel="tag"&gt;Industrialisation&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/methodes" rel="tag"&gt;M&#233;thodes&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans le premier article, nous vous avons pr&#233;sent&#233; le &lt;a href=&quot;http://openweb.eu.org/articles/card-sorting-overview&quot;&gt;principe du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;&lt;/a&gt;. D&#233;couvrez d&#233;sormais les diff&#233;rentes &#233;tapes de mise en oeuvre de cette technique, de la d&#233;finition du protocole au bilan avec les utilisateurs, en passant par le choix des cartes &#224; tester... C'est parti.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;L'&#233;valuation en ergonomie, que ce soit &#224; travers un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ou toute autre technique impliquant des utilisateurs, n&#233;cessite l'intervention d'un &lt;strong&gt;expert dans le domaine&lt;/strong&gt; et la mise en place d'un &lt;strong&gt;protocole rigoureux&lt;/strong&gt;. Il est &#233;galement tr&#232;s important d'engager un &#233;valuateur neutre : ne faites jamais r&#233;aliser l'&#233;valuation par une personne impliqu&#233;e dans la conception. On ne peut pas &#234;tre juge et partie.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 1 : mettez en place un protocole rigoureux&lt;/h3&gt;
&lt;p&gt;Le protocole va permettre :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; de choisir la technique d'&#233;valuation &lt;strong&gt;appropri&#233;e&lt;/strong&gt; &#224; votre contexte (est-ce que le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; est adapt&#233; pour ce que vous souhaitez faire)&lt;/li&gt;&lt;li&gt; de d&#233;finir les hypoth&#232;ses que vous souhaitez tester&lt;/li&gt;&lt;li&gt; d'identifier les m&#233;triques et le type d'analyse adapt&#233;s &#224; vos besoins (analyse qualitative, analyse quantitative&#8230;)&lt;/li&gt;&lt;li&gt; de tester ce que vous souhaitez r&#233;ellement tester, sans biais, sans guider l'utilisateur&lt;/li&gt;&lt;li&gt; d'obtenir des r&#233;sultats fiables et utilisables pour la reconception&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La d&#233;finition du protocole est fondamentale car elle va conditionner le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; et la pertinence des r&#233;sultats que vous obtiendrez : si le protocole n'est pas correctement mis en place, le temps que vous investirez dans les tests peut d&#233;j&#224; &#234;tre consid&#233;r&#233; comme perdu !&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 2 : choisissez les bons utilisateurs&lt;/h3&gt;
&lt;p&gt;Assurez-vous que les utilisateurs que vous sollicitez soient &lt;strong&gt;repr&#233;sentatifs&lt;/strong&gt; de la population que vous ciblez. C'est l'analyse des &lt;strong&gt;profils utilisateurs&lt;/strong&gt; qui va vous permettre de d&#233;crire en d&#233;tails les caract&#233;ristiques cibl&#233;es et de d&#233;finir des &lt;strong&gt;profils types (personas)&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Les &#233;tudes scientifiques d&#233;montrent qu'il faut entre &lt;strong&gt;20 et 30 utilisateurs&lt;/strong&gt; par profil type identifi&#233;.&lt;/p&gt; &lt;p&gt;Vous pouvez recruter autour de vous, mais attention, il est important d'identifier d'abord la cible et ensuite de recruter. Faire appel aux personnes ne correspondant pas &#224; la cible an&#233;antirait vos r&#233;sultats. Choisissez les utilisateurs parce qu'ils correspondent &#224; votre cible et non par soucis de simplicit&#233; pour l'organisation de vos tests.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 3 : choisissez des contenus de cartes pertinents&lt;/h3&gt;
&lt;p&gt;D'une mani&#232;re g&#233;n&#233;rale, lors de tout test utilisateur, il est primordial de s'assurer que les &lt;strong&gt;sc&#233;narios&lt;/strong&gt; de test propos&#233;s aux utilisateurs (les objectifs que vous leur proposez d'atteindre) soient &lt;strong&gt;repr&#233;sentatifs de leurs besoins&lt;/strong&gt; (est-ce qu'ils correspondent vraiment aux attentes utilisateurs identifi&#233;es lors de la phase d'analyse).&lt;/p&gt; &lt;p&gt;Quand vous r&#233;digez vos cartes, faites tr&#232;s attention :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;&lt;strong&gt;&#224; la clart&#233; des contenus :&lt;/strong&gt; un contenu mal r&#233;dig&#233; vous emp&#234;chera de tester les hypoth&#232;ses de d&#233;part. Vous aurez des difficult&#233;s &#224; comprendre les raisons pour lesquelles il a &#233;t&#233; class&#233; &#224; l'endroit choisi par vos utilisateurs&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&#224; la granularit&#233; des contenus :&lt;/strong&gt; vous pouvez r&#233;diger une carte sous la forme d'un titre, d'un descriptif g&#233;n&#233;rique, d'un exemple r&#233;el de contenu, d'une image, etc. Vous pouvez combiner plusieurs approches (par exemple en mettant un titre et un exemple r&#233;el de contenu), mais quoi qu'il arrive conservez une approche de granularit&#233; identique &#224; travers toutes vos cartes&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_361 spip_documents'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L357xH173/exemples-cartes-8f78b.png' width='357' height='173' alt=&quot;&quot; style='height:173px;width:357px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Nombre de cartes&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;En moyenne, on pr&#233;conise d'utiliser au maximum entre &lt;strong&gt;50 et 60 cartes&lt;/strong&gt; par &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Des contenus testables&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Assurez-vous que les contenus &#224; trier soient &lt;strong&gt;vraiment&lt;/strong&gt; testables : par exemple cela n'a pas de sens de tester une loi, un organigramme ni m&#234;me la fa&#231;on dont une fonctionnalit&#233; doit interagir avec l'utilisateur.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tester plusieurs niveaux dans l'arborescence&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;G&#233;n&#233;ralement on s'arrange pour faire trier des contenus qui sont &lt;strong&gt;de m&#234;me niveau dans l'arborescence&lt;/strong&gt; (par exemple des contenus de niveau 2 dans des cat&#233;gories de niveau 1).&lt;/p&gt; &lt;p&gt;Si vous souhaitez tester plus de deux niveaux, vous devez proc&#233;der &lt;strong&gt;par &#233;tapes&lt;/strong&gt;. Admettons que vous testiez les trois premiers niveaux d'une arborescence, vous devez d&#233;finir une premi&#232;re &#233;tape pour faire trier des cartes de niveau 3 dans des cat&#233;gories de niveau 2, puis une seconde &#233;tape pour faire trier des cartes de niveau 2 dans des cat&#233;gories de niveau 1.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Trop de cartes ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Quand on souhaite aller plus en profondeur et tester les niveaux 3, 4 et 5, on est vite confront&#233; &#224; un nombre trop &#233;lev&#233; de cartes. Il vous faudra donc faire des choix et d&#233;finir des priorit&#233;s. Faire des &#233;chantillons sur base d'une s&#233;lection al&#233;atoire est une &#233;ventualit&#233; &#224; consid&#233;rer.&lt;/p&gt; &lt;p&gt;Une fois que vous disposez de tous les &#233;l&#233;ments pour commencer le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;, vous pouvez vous atteler &#224; &lt;strong&gt;l'organisation de la s&#233;ance, la pr&#233;paration du mat&#233;riel et le d&#233;roulement du test&lt;/strong&gt;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 4 : organisez les s&#233;ances de mani&#232;re rigoureuse&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; in situ&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;&lt;strong&gt;Nombre d'utilisateurs :&lt;/strong&gt; on pr&#233;conise g&#233;n&#233;ralement de faire intervenir entre &lt;strong&gt;5 et 8 utilisateurs&lt;/strong&gt; par s&#233;ance (on fait donc plusieurs s&#233;ances pour obtenir au moins 20 utilisateurs par profil type identifi&#233;). Attention, m&#234;me si l'on sollicite plusieurs utilisateurs en m&#234;me temps l'exercice est individuel&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dur&#233;e de la s&#233;ance :&lt;/strong&gt; &lt;strong&gt;1h30&lt;/strong&gt; avec &lt;strong&gt;45 minutes&lt;/strong&gt; de manipulation des cartes&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pr&#233;voyez &lt;strong&gt;deux &#233;valuateurs&lt;/strong&gt; par s&#233;ance : un animateur qui se consacre aux participants, puis une personne qui s'occupe de la logistique, qui note et g&#232;re la r&#233;ception des donn&#233;es.&lt;/p&gt; &lt;p&gt;Le grand avantage du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; in situ est qu'il permet une fois le test r&#233;alis&#233; de revenir sur certaines hypoth&#232;ses en direct avec les utilisateurs. Ces derniers peuvent ainsi expliquer leurs choix, indiquer les difficult&#233;s rencontr&#233;es, etc. Les informations recueillies sont pr&#233;cieuses car elles permettent d'identifier tr&#232;s rapidement les contenus incompris.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; &#224; distance&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;&lt;strong&gt;Nombre d'utilisateurs :&lt;/strong&gt; pas de limite&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dur&#233;e de la s&#233;ance :&lt;/strong&gt; pas plus de 45 minutes (g&#233;n&#233;ralement cela dure entre 20 et 30 minutes) &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le principal avantage du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; &#224; distance est que vous pouvez, sans grand souci logistique, faire appel plusieurs fois aux utilisateurs et organiser votre &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; en plusieurs &#233;tapes.&lt;/p&gt; &lt;p&gt;Pensez &#233;galement &#224; annoncer le temps global n&#233;cessaire &#224; la r&#233;alisation du test lors des consignes introductives. Cela vous &#233;vitera de perdre des utilisateurs en cours de route.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 5 : pr&#233;parez le mat&#233;riel&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; in situ&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cartes cartonn&#233;es (format 15*10cm), post-it, &#233;lastiques, stylos, une table assez spacieuse, etc. Pr&#233;voyez des cartes vierges pour les gens qui souhaitent ajouter des contenus ou placer une carte dans plusieurs rubriques.&lt;/p&gt; &lt;p&gt;N'h&#233;sitez pas &#224; recycler votre mat&#233;riel de bureau : les cartes peuvent par exemple &#234;tre d&#233;coup&#233;es dans des intercalaires.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; &#224; distance&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;De nombreux outils sont &#224; votre disposition tels que &lt;a href=&quot;http://www.optimalworkshop.com/optimalsort.htm&quot;&gt;Optimalsort&lt;/a&gt; ou &lt;a href=&quot;http://www.websort.net/&quot;&gt;Websort&lt;/a&gt; sont &#224; votre disposition.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Etape 6 : lancez le d&#233;roulement du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Phase 1 : accueil et consignes&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;Mettez les utilisateurs &#224; l'aise et en condition &lt;/li&gt;&lt;li&gt;Expliquez l'objectif du test pour obtenir ce que vous souhaitez, mais sans trop en dire pour ne pas biaiser les r&#233;sultats &lt;/li&gt;&lt;li&gt;Un seul mot d'ordre : Faites des regroupements qui font du sens pour vous !&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Lors d'un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; in situ, &#233;tant donn&#233; que vous avez la possibilit&#233; de r&#233;pondre plus facilement aux questions des utilisateurs, la formulation de la consigne est moins critique. Faites n&#233;anmoins tr&#232;s attention &#224; plonger les utilisateurs &lt;strong&gt;dans les m&#234;mes conditions en respectant le protocole &#233;tabli&lt;/strong&gt;. Pour un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; &#224; distance, faites vraiment attention &#224; la consigne et au d&#233;roulement du tri, vous n'aurez pas le droit &#224; l'erreur.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Phase 2 : demandez aux utilisateurs de trier les cartes&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;C'est parti, chaque utilisateur peut trier les cartes qu'il a &#224; sa disposition :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;Faites trier individuellement&lt;/li&gt;&lt;li&gt;Demandez aux utilisateurs de regrouper les cartes sans forc&#233;ment nommer les groupes&lt;/li&gt;&lt;li&gt;Laissez la possibilit&#233; aux utilisateurs de placer une carte &#224; deux endroits (pour cela proposez des cartes vierges)&lt;/li&gt;&lt;li&gt;Laissez aux utilisateurs la possibilit&#233; de constituer le nombre de cat&#233;gories qu'ils souhaitent. Vous pourrez ais&#233;ment revenir par apr&#232;s en leur demandant de r&#233;duire le nombre de groupes&lt;/li&gt;&lt;li&gt;Laissez la possibilit&#233; aux utilisateurs de cr&#233;er une cat&#233;gorie &#8220;Autre&#8221; s'ils n'arrivent pas &#224; trier une carte&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Phase 3 : demandez aux utilisateurs de nommer les cat&#233;gories&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cette phase vaut uniquement pour un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ouvert, lors duquel on demande aux utilisateurs de classer les cartes dans des cat&#233;gories qu'ils cr&#233;ent eux-m&#234;mes.&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;Faites apposer les titres des cat&#233;gories &#224; l'aide d'un post-it&lt;/li&gt;&lt;li&gt;Rappelez que l'objectif est de faire des titres de rubriques. Si vous obtenez des noms trop longs, demandez aux utilisateurs de surligner les mots cl&#233;s&lt;/li&gt;&lt;li&gt;Laissez la possibilit&#233; aux utilisateurs de renommer leurs groupes a posteriori &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_360 spip_documents'&gt;
&lt;img src='http://openweb.eu.org/local/cache-vignettes/L360xH233/mots-cles-575f8.jpg' width='360' height='233' alt=&quot;&quot; style='height:233px;width:360px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Phase 4 : faites le bilan avec les utilisateurs&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cette phase est normalement r&#233;alis&#233;e lors d'un card sorting in situ et plus difficilement applicable pour un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; &#224; distance.&lt;/p&gt; &lt;p&gt;A la fin du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; expliquez la finalit&#233; du test aux utilisateurs :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt;orientez les discussions pour obtenir le maximum d'informations&lt;/li&gt;&lt;li&gt;minimisez le travail de saisie (souvenez-vous : une personne pour animer et une personne pour noter) et int&#233;grez directement les r&#233;sultats dans un logiciel d&#233;di&#233; pour gagner du temps pour l'analyse&lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Vous avez d&#233;sormais toutes les &quot;cartes&quot; en main pour mettre en place un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;. Dans le prochain article de la s&#233;rie, nous verrons comment &lt;strong&gt;analyser les r&#233;sultats en vue de la reconception&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cr&#233;dit photo :&lt;/strong&gt; Gautier Barr&#232;re &lt;strong&gt;Licence :&lt;/strong&gt; &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/1.0/legalcode&quot;&gt;Creative Commons Attribution-ShareAlike&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Accessibilit&#233; du Web : les pi&#232;ges les plus fr&#233;quents</title>
		<link>http://openweb.eu.org/articles/planifier_accessibilite</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/planifier_accessibilite</guid>
		<dc:date>2011-01-19T14:33:12Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Denis Boudreau</dc:creator>



		<description>L'accessibilit&#233; ne constitue pas un simple maillon suppl&#233;mentaire que l'on peut ajouter &#224; la cha&#238;ne de production Web. Elle doit plut&#244;t s'int&#233;grer &#224; chacun des maillons de cette cha&#238;ne. La seule fa&#231;on de relever avec succ&#232;s le d&#233;fi de l'accessibilit&#233; est de r&#233;partir la responsabilit&#233; et de partager les t&#226;ches pour produire un contenu accessible. Bousculer les habitudes Les standards en mati&#232;re d'accessibilit&#233; pour les personnes handicap&#233;es et les populations vieillissantes bouleversent de nombreuses (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;L'accessibilit&#233; ne constitue pas un simple maillon suppl&#233;mentaire que l'on peut ajouter &#224; la cha&#238;ne de production Web. Elle doit plut&#244;t s'int&#233;grer &#224; chacun des maillons de cette cha&#238;ne. La seule fa&#231;on de relever avec succ&#232;s le d&#233;fi de l'accessibilit&#233; est de r&#233;partir la responsabilit&#233; et de partager les t&#226;ches pour produire un contenu accessible.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2&gt;Bousculer les habitudes&lt;/h2&gt;
&lt;p&gt;Les standards en mati&#232;re d'accessibilit&#233; pour les personnes handicap&#233;es et les populations vieillissantes bouleversent de nombreuses habitudes au sein des organisations qui entreprennent de les instaurer dans leurs pratiques de d&#233;veloppement Web. Les exigences de ces standards remettent en question des pratiques souvent jug&#233;es jusque-l&#224; ad&#233;quates, &#233;prouv&#233;es et optimales. La volont&#233; d'int&#233;grer ces nouvelles pr&#233;occupations de qualit&#233; au sein d'une &#233;quipe de production entra&#238;ne des changements soudains qui sont susceptibles de d&#233;stabiliser la rentabilit&#233; d'une production de site Web.&lt;/p&gt; &lt;p&gt;Bien que les principes appliqu&#233;s dans la pratique d'accessibilit&#233; ne soient pas difficiles &#224; mettre en &#339;uvre, grands sont les risques de tomber dans certains pi&#232;ges. Cet article vise &#224; identifier ceux dans lesquels les organisations sont les plus susceptibles de tomber. Cette liste n'est certes pas exhaustive, mais pour le bien de cet article, nous avons retenu uniquement ceux qui sont les plus fr&#233;quemment identifi&#233;s dans notre pratique.&lt;/p&gt; &lt;p&gt;Intimement li&#233;s les uns aux autres, ces pi&#232;ges entra&#238;nent souvent une cascade de cons&#233;quences d&#233;plorables pour le potentiel d'accessibilit&#233; des projets Web. En voici la liste :&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#p1&quot;&gt;Consid&#233;rer l'accessibilit&#233; comme une &#233;tape de fin de parcours et ignorer le caract&#232;re transversal de la pratique d'accessibilit&#233;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#p2&quot;&gt;Attribuer la responsabilit&#233; de l'accessibilit&#233; aux seuls int&#233;grateurs Web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#p3&quot;&gt;Limiter la validation de l'accessibilit&#233; aux seules exigences d&#233;crites dans les standards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#p4&quot;&gt;Confondre les notions de conformit&#233; au standard d'accessibilit&#233; et de mise en accessibilit&#233;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#p5&quot;&gt;Pr&#233;sumer que les outils de validation feront tout le travail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#p6&quot;&gt;Sous-estimer l'impact des plateformes technologiques&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour chaque pi&#232;ge identifi&#233;, nous tenterons d'analyser la nature et la cause du probl&#232;me. Nous pr&#233;senterons ensuite divers conseils pour rapidement int&#233;grer des m&#233;canismes de pr&#233;vention qui favoriseront leur &#233;vitement.&lt;/p&gt; &lt;h3&gt;Quelques pi&#232;ges fr&#233;quents&lt;/h3&gt;
&lt;h4 id=&quot;p1&quot;&gt;Consid&#233;rer l'accessibilit&#233; comme une &#233;tape de fin de parcours et ignorer le caract&#232;re transversal de la pratique d'accessibilit&#233;&lt;/h4&gt;
&lt;p&gt;Le premier pi&#232;ge dans lequel tombent plusieurs gestionnaires et charg&#233;s de projet, lors de la planification des diff&#233;rentes &#233;tapes d'un projet Web, consiste &#224; percevoir l'accessibilit&#233; comme un maillon suppl&#233;mentaire qui s'ajoute en fin de parcours &#224; la cha&#238;ne de production Web.&lt;/p&gt; &lt;p&gt;Dans cette perspective erron&#233;e, l'accessibilit&#233; appara&#238;t comme une grille de validation suppl&#233;mentaire &#224; pr&#233;voir au moment de la phase de contr&#244;le de la qualit&#233; du projet, tout juste avant la mise en ligne du r&#233;sultat. La notion de grille de contr&#244;le qui accompagne les standards d'accessibilit&#233; n'est certes pas &#233;trang&#232;re &#224; cette perception.&lt;/p&gt; &lt;p&gt;Dans le cas d'une mise en accessibilit&#233; en fin de parcours, les experts en accessibilit&#233; observent trop souvent que certaines d&#233;cisions ont min&#233; le potentiel d'accessibilit&#233; du projet. &#192; titre d'exemple, mentionnons les situations suivantes :&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;des syst&#232;mes de navigation sur un site Web qui sont enti&#232;rement d&#233;pendants de la souris, et donc inutilisables pour quiconque navigue avec le clavier ;&lt;/li&gt;
&lt;li&gt;des choix de technologies naturellement incompatibles avec les technologies d'adaptation informatiques ou exploit&#233;es de mani&#232;re incompatibles avec celles-ci ;&lt;/li&gt;
&lt;li&gt;des contenus mis en ligne dans des formats t&#233;l&#233;chargeables plut&#244;t qu'en format HTML et qui s'av&#232;rent impossibles &#224; interpr&#233;ter par les lecteurs d'&#233;cran ;&lt;/li&gt;
&lt;li&gt;des textes de remplacement aux contenus non textuels qui n'ont pas &#233;t&#233; pr&#233;vus par les d&#233;veloppeurs alors que le r&#233;dacteur, ou m&#234;me l'organisation, &#233;tait dispos&#233; &#224; les pr&#233;voir et y consacrer les efforts n&#233;cessaires ;&lt;/li&gt;
&lt;li&gt;des maquettes graphiques aux contrastes de couleurs insuffisants, alors que cette signature visuelle est d&#233;j&#224; placard&#233;e partout dans la ville et sur le Web.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En cons&#233;quence, l'organisation se retrouve souvent devant le constat qu'il est trop tard pour bien faire les choses. Soit parce que les budgets ou les &#233;ch&#233;anciers ne permettent plus de faire marche arri&#232;re, soit parce que les choix technologiques limitent la capacit&#233; d'une &#233;quipe &#224; produire des contenus accessibles. Or, le simple fait de se poser les bonnes questions au bon moment permet d'&#233;viter les &#233;checs dans la tr&#232;s grande majorit&#233; des cas.&lt;/p&gt; &lt;p&gt;Contrairement aux dimensions &#171; traditionnelles &#187; du Web, telles que le design, l'analyse, l'ergonomie, l'utilisabilit&#233;, la r&#233;daction, l'int&#233;gration et m&#234;me la programmation, l'accessibilit&#233; ne s'inscrit pas comme une &#233;tape distincte et suppl&#233;mentaire. Elle se r&#233;partit dans chacun des maillons d'une cha&#238;ne de production Web de mani&#232;re &#224; pr&#233;voir chaque intervention au moment opportun. Il s'agit d'une int&#233;gration transversale.&lt;/p&gt; &lt;p&gt;Certains choix faits en d&#233;but et en milieu de parcours facilitent la mise en place de l'accessibilit&#233; ou, au contraire, g&#233;n&#232;rent des barri&#232;res. L'int&#233;gration transversale de l'accessibilit&#233; permet d'&#233;viter des oublis importants, en particulier lors de choix techniques ou strat&#233;giques. Ces oublis peuvent occasionner des d&#233;lais et de co&#251;teux efforts suppl&#233;mentaires pour corriger la situation, lorsque des correctifs sont possibles. Comme on le sait, il est toujours plus avantageux de pr&#233;venir que de gu&#233;rir.&lt;/p&gt; &lt;p&gt;Tout gestionnaire ou charg&#233; de projet doit reconna&#238;tre cette particularit&#233; de la transversalit&#233; de l'accessibilit&#233;. Il comprendra alors la n&#233;cessit&#233; de d&#233;terminer &#224; quels maillons de la cha&#238;ne de production Web doivent &#234;tre assign&#233;es les diff&#233;rentes responsabilit&#233;s et t&#226;ches associ&#233;es aux exigences d&#233;crites dans les standards.&lt;/p&gt; &lt;h4 id=&quot;p2&quot;&gt;Attribuer la responsabilit&#233; de l'accessibilit&#233; aux seuls int&#233;grateurs Web&lt;/h4&gt;
&lt;p&gt;Actuellement, la responsabilit&#233; d'appliquer les exigences d'accessibilit&#233; revient encore trop souvent au seul int&#233;grateur Web. Il est illusoire de croire qu'elle peut reposer sur les seules &#233;paules d'un champion de l'accessibilit&#233; au sein d'une organisation.&lt;/p&gt; &lt;p&gt;S'il est vrai que la tr&#232;s grande majorit&#233; des exigences d'accessibilit&#233; n&#233;cessitent une intervention des int&#233;grateurs Web, plusieurs d&#233;cisions et orientations doivent &#234;tre prises dans les premi&#232;res &#233;tapes du projet afin d'assurer un travail efficace. Pour qu'une d&#233;marche d'accessibilit&#233; s'av&#232;re une r&#233;ussite, il importe que chaque intervenant d'une &#233;quipe comprenne les &#233;l&#233;ments d'accessibilit&#233; qui rel&#232;vent de sa responsabilit&#233;. On &#233;vitera ainsi de retourner :&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;aux r&#233;dacteurs pour demander les &#233;quivalents textuels des images ;&lt;/li&gt;
&lt;li&gt;aux designers pour qu'ils revoient leur charte graphique afin d'adopter des couleurs aux contrastes suffisants ;&lt;/li&gt;
&lt;li&gt;aux programmeurs pour assurer une association explicite entre les libell&#233;s et leurs champs correspondants dans un formulaire ;&lt;/li&gt;
&lt;li&gt;ou encore au charg&#233; de projet pour remettre en question des choix technologiques qui limitent ou emp&#234;chent le respect de certaines exigences.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Que l'on songe aux analystes, aux ergonomes, aux designers, aux r&#233;dacteurs ou aux architectes d'information, chacun est appel&#233; &#224; prendre des d&#233;cisions ou &#224; faire des actions qui peuvent influer sur le potentiel d'accessibilit&#233; du projet. Pour &#233;viter que ces interventions aient des cons&#233;quences n&#233;gatives quant au r&#233;sultat final, il importe que l'accessibilit&#233; devienne une responsabilit&#233; partag&#233;e.&lt;/p&gt; &lt;h4 id=&quot;p3&quot;&gt;Limiter la validation de l'accessibilit&#233; aux seules exigences d&#233;crites dans les standards&lt;/h4&gt;
&lt;p&gt;La mise en accessibilit&#233; d'un site Web est tr&#232;s souvent per&#231;ue comme une v&#233;rification &#224; effectuer &#224; partir d'une petite liste d'exigences, comme s'il suffisait de v&#233;rifier le respect de chaque exigence pour produire un site Web accessible. Dans les faits, ce n'est pas si simple.&lt;/p&gt; &lt;p&gt;L'application de toutes les exigences d&#233;crites dans les standards permet d'atteindre une conformit&#233; &#224; un standard. Toutefois, l'application syst&#233;matique de ces seules exigences n'est pas un gage suffisant d'accessibilit&#233; : il faut aussi pr&#233;voir des tests fonctionnels avec des technologies d'adaptation informatiques qui permettent de valider que l'exp&#233;rience utilisateur est positive. En effet, il est tout &#224; fait possible de produire un site Web satisfaisant &#224; toutes les exigences d'accessibilit&#233;, mais qui est tout de m&#234;me non accessible sur certains aspects. Quelques petites subtilit&#233;s manqu&#233;es suffisent &#224; engendrer un degr&#233; de confusion important pour l'utilisateur n'&#233;tant pas en mesure de percevoir visuellement l'interface.&lt;/p&gt; &lt;p&gt;Par tests fonctionnels on entend le recours &#224; des technologies d'adaptation informatiques, telles que synth&#232;ses vocales, lecteurs d'&#233;cran et progiciels de grossissement, pour v&#233;rifier que le r&#233;sultat interpr&#233;t&#233; par ces outils correspond bien au r&#233;sultat observ&#233; lors d'une validation visuelle des pages Web. &#192; titre d'exemple, une absence de ponctuation dans les textes de remplacement des images ou encore une ponctuation visuelle bas&#233;e seulement sur la disposition ou l'ordre de lecture de contenus pr&#233;sent&#233;s en tableau HTML, peuvent produire un r&#233;sultat tr&#232;s diff&#233;rent de ce que l'on avait imagin&#233;. De m&#234;me, c'est souvent en relisant une page Web avec un lecteur d'&#233;cran que l'on constate que certains renseignements transmis visuellement seront manquants en synth&#232;se vocale ou en Braille. La lecture en synth&#232;se vocale peut aussi r&#233;v&#233;ler des confusions dues &#224; la prononciation ou &#224; l'encha&#238;nement de certains contenus (exemple : &#171; standards et normes &#187; et &#171; standards &#233;normes &#187;).&lt;/p&gt; &lt;p&gt;En ajoutant les tests fonctionnels aux tests techniques, les producteurs de contenus Web s'assurent de ne rien laisser &#233;chapper lors des contr&#244;les de qualit&#233; li&#233;s &#224; l'accessibilit&#233;.&lt;/p&gt; &lt;h4 id=&quot;p4&quot;&gt;Confondre les notions de conformit&#233; aux standards d'accessibilit&#233; et de mise en accessibilit&#233;&lt;/h4&gt;
&lt;p&gt;Pour la plupart des charg&#233;s de projet et des d&#233;veloppeurs Web, les notions de conformit&#233; aux standards d'accessibilit&#233; et de mise en accessibilit&#233; des contenus Web sont interchangeables. Or, ces deux notions ont des significations tr&#232;s diff&#233;rentes, et l'une ne saurait constituer un gage d'assurance pour l'autre.&lt;/p&gt; &lt;p&gt;La notion de conformit&#233; aux standards d'accessibilit&#233; repose sur le respect efficace, satisfaisant et syst&#233;matique de toutes les exigences &#233;num&#233;r&#233;es dans un standard. Dans le domaine de la normalisation, la conformit&#233; &#224; un standard signifie que l'application satisfait &#224; toutes les exigences de celui-ci. Le r&#233;sultat est dichotomique : l'application est conforme ou elle ne l'est pas. En normalisation, un &#233;nonc&#233; tel que : &lt;q&gt;Ce site Web est conforme &#224; 60 % au standard&lt;/q&gt; n'a pas de sens. Cette notion est donc objective parce qu'elle se limite &#224; l'application des exigences prescrites et mesurables.&lt;/p&gt; &lt;p&gt;La notion de mise en accessibilit&#233; repose quant &#224; elle sur un effort visant &#224; faire tomber un maximum de barri&#232;res &#224; l'utilisation des contenus Web pour les personnes ayant des limitations fonctionnelles. Notion subjective, elle suppose la mise en place de plusieurs mesures d'adaptation des contenus pour r&#233;pondre aux besoins particuliers des utilisateurs. Contrairement &#224; la notion de conformit&#233; au standard d'accessibilit&#233;, elle suppose des tests fonctionnels pour assurer qu'au-del&#224; du respect des exigences des standards, les efforts d&#233;ploy&#233;s ont de r&#233;els effets b&#233;n&#233;fiques sur l'exp&#233;rience utilisateur des personnes handicap&#233;es qui consultent ces contenus.&lt;/p&gt; &lt;p&gt;Les r&#233;sultats de la mise en accessibilit&#233; ne se mesurent cependant pas objectivement, car il est impossible de juger &#224; partir de quel moment un site Web est &#171; suffisamment accessible &#187;. Ainsi, il revient au d&#233;veloppeur Web, en fonction des intentions de l'organisation ou des budgets disponibles, de d&#233;terminer le seuil &#224; partir duquel le r&#233;sultat sera consid&#233;r&#233; comme satisfaisant.&lt;/p&gt; &lt;p&gt;Il est donc possible de produire un site Web conforme aux standards qui ne r&#233;ponde pourtant pas tout &#224; fait aux besoins des utilisateurs parce que certains d&#233;tails auraient &#233;chapp&#233; aux d&#233;veloppeurs. Dans le m&#234;me esprit, un site Web jug&#233; &#171; suffisamment accessible &#187; aux yeux des m&#234;mes d&#233;veloppeurs pourrait ne pas r&#233;pondre en totalit&#233; aux besoins d'une client&#232;le particuli&#232;re qui aurait &#233;t&#233; laiss&#233;e de c&#244;t&#233; lors de la d&#233;marche. D'o&#249; l'importance de combiner les deux notions pour atteindre le r&#233;sultat le plus large possible.&lt;/p&gt; &lt;h4 id=&quot;p5&quot;&gt;Pr&#233;sumer que les outils de validation feront tout le travail&lt;/h4&gt;
&lt;p&gt;L'accessibilit&#233; ne peut se mesurer seulement par la pr&#233;sence ou l'absence de certains &#233;l&#233;ments cl&#233;s qu'un outil d'&#233;valuation pourrait automatiquement d&#233;celer. Tout comme l'ergonomie, l'accessibilit&#233; fait appel au bon jugement des d&#233;veloppeurs et donc aussi &#224; une &#233;valuation humaine comp&#233;tente.&lt;/p&gt; &lt;p&gt;Dans un monde id&#233;al, la notion de contr&#244;le de la qualit&#233; rel&#232;verait de machines. Il serait ainsi inutile de se pencher sur les besoins d'adaptation des personnes handicap&#233;es sur le Web, car les outils seraient en mesure de prendre en charge toute cette pr&#233;occupation. Selon les l&#233;gislations en place dans les pays respectifs d'o&#249; ils proviennent, les outils sont souvent accompagn&#233;s d'affirmations promotionnelles qui ont pour effet de gonfler leurs capacit&#233;s quant au potentiel d'accessibilit&#233;. Plusieurs gestionnaires et charg&#233;s de projet ont tendance &#224; croire que ces outils peuvent faire tout le travail &#224; leur place, mais dans les faits il n'en est rien. Quiconque remet la responsabilit&#233; de l'objectif d'accessibilit&#233; entre les mains des outils, ou des plateformes, qu'il utilise est vou&#233; &#224; conna&#238;tre de grandes d&#233;ceptions le jour o&#249; il entreprendra des tests d'&#233;valuation pour mesurer le niveau d'accessibilit&#233; r&#233;el du projet.&lt;/p&gt; &lt;p&gt;De l'ensemble des exigences d'accessibilit&#233; contenues dans les standards, la v&#233;rification d'une minorit&#233; seulement peut &#234;tre automatisable au point o&#249; l'intervention humaine deviendrait inutile. On estime g&#233;n&#233;ralement autour de 30 % le nombre d'exigences pour lesquelles la v&#233;rification peut &#234;tre compl&#232;tement automatis&#233;e. &#192; titre d'exemple, s'il est ais&#233; de v&#233;rifier par programmation la pr&#233;sence d'un attribut &lt;code&gt;alt&lt;/code&gt; pour le texte de remplacement d'une image, il est impossible de v&#233;rifier automatiquement si la valeur de l'&#233;quivalent textuel saisi reprend tout le texte apparaissant dans l'image.&lt;/p&gt; &lt;h4 id=&quot;p6&quot;&gt;Sous-estimer l'impact des plateformes technologiques&lt;/h4&gt;
&lt;p&gt;En plus des interventions requises pour chaque exigence &#224; r&#233;partir dans la cha&#238;ne de production Web, il est crucial que certains strat&#232;ges dans l'&#233;quipe de production Web (en g&#233;n&#233;ral les responsables des d&#233;cisions techniques tels les gestionnaires, les charg&#233;s de projets ou les analystes), s'interrogent sur le potentiel des outils et des choix technologiques envisag&#233;s. En effet, la meilleure des &#233;quipes Web, avec les processus les plus rigoureux pour l'accessibilit&#233;, ne pourra pas atteindre ses objectifs de conformit&#233; si les outils retenus lui rendent la t&#226;che impossible.&lt;/p&gt; &lt;p&gt;En outre, plusieurs gestionnaires et charg&#233;s de projet pr&#233;sument &#224; tort que puisqu'ils font appel &#224; des plateformes technologiques de haut niveau acquises &#224; fort prix, les enjeux d'accessibilit&#233; seront forc&#233;ment pris en charge de mani&#232;re automatique et satisfaisante.&lt;/p&gt; &lt;p&gt;Dans la pratique d'accessibilit&#233;, nombre d'organisations sont aux prises avec des plateformes technologiques de tout ordre o&#249; les exigences les plus &#233;l&#233;mentaires d'accessibilit&#233; se heurtent aux limites techniques des outils en place. Par exemple, des changements en apparence tr&#232;s simples qui requi&#232;rent une correction facile au code HTML ou XHTML s'av&#232;rent impossibles &#224; effectuer en pratique parce que les d&#233;veloppeurs Web n'ont pas acc&#232;s au code source de leurs outils. Dans un tel contexte, il n'est pas possible d'esp&#233;rer atteindre des objectifs de conformit&#233; aux standards.&lt;/p&gt; &lt;p&gt;S'il est vrai que les plateformes technologiques en logiciels libres pr&#233;sentent g&#233;n&#233;ralement un meilleur potentiel d'accessibilit&#233; en raison de la possibilit&#233; de modifier le code g&#233;n&#233;r&#233; &#224; m&#234;me les outils, il ne faudrait pas conclure pour autant que les outils propri&#233;taires ne peuvent assurer le respect des exigences d'accessibilit&#233;. Certains outils sont donc plus souples que d'autres. L'important est d'&#234;tre conscient de cette r&#233;alit&#233; et de se poser les &#171; bonnes questions &#187; lorsque vient le temps de choisir une plateforme plut&#244;t qu'une autre.&lt;/p&gt; &lt;p&gt;Voici quelques exemples de questions &#224; se poser :&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;Afin de r&#233;pondre aux pr&#233;occupations d'accessibilit&#233; de l'organisation, l'outil envisag&#233; permettra-t-il de modifier le code HTML g&#233;n&#233;r&#233; ?&lt;/li&gt;
&lt;li&gt;L'outil envisag&#233; sera-t-il suffisamment souple pour s'adapter aux pratiques de d&#233;veloppement interne de l'organisation ?&lt;/li&gt;
&lt;li&gt;L'outil envisag&#233; permet-il d&#233;j&#224; de r&#233;pondre &#224; certaines exigences &#233;l&#233;mentaires d'accessibilit&#233; du Web ?&lt;/li&gt;
&lt;li&gt;Le fournisseur de cet outil a-t-il clairement cibl&#233; l'accessibilit&#233; comme un &#233;l&#233;ment majeur du d&#233;veloppement de sa solution logicielle ?&lt;/li&gt;
&lt;li&gt;L'organisation &#233;valuera-t-elle de fa&#231;on d&#233;taill&#233;e le potentiel de l'outil quant &#224; l'accessibilit&#233; avant de s'engager avec le fournisseur qui le propose ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;border: 1px solid #ccc; background: #efefef; padding: 1em; margin: 2em 0 0;&quot;&gt;Cet article a d'abord &#233;t&#233; r&#233;dig&#233; par Denis Boudreau (Accessibilit&#233;Web) dans le cadre d'un mandat avec le minist&#232;re des Services gouvernementaux du Qu&#233;bec (MSG), en lien avec la d&#233;marche de normalisation menant &#224; la r&#233;daction des &lt;a href=&quot;http://www.msg.gouv.qc.ca/normalisation/standards/accessibilite/&quot;&gt;projets de standards sur l'accessibilit&#233; pour les personnes handicap&#233;es (SGQRI 008)&lt;/a&gt;. Il est &#233;galement disponible en version int&#233;grale sous le titre &#171; &lt;a href=&quot;http://www.msg.gouv.qc.ca/documents/standards/guide_pieges_accessibilite.pdf&quot;&gt;Guide sur les pi&#232;ges communs de l'accessibilit&#233; Document (PDF, 260ko)&lt;/a&gt; &#187;, sur le site du MSG.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ne perdez plus vos internautes, faites du card sorting - Premi&#232;re partie : Vue d'ensemble</title>
		<link>http://openweb.eu.org/articles/card-sorting-overview</link>
		<guid isPermaLink="true">http://openweb.eu.org/articles/card-sorting-overview</guid>
		<dc:date>2010-12-19T19:19:20Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Gautier Barr&#232;re</dc:creator>


		<dc:subject>D&#233;butant</dc:subject>
		<dc:subject>Qualit&#233;</dc:subject>
		<dc:subject>Industrialisation</dc:subject>
		<dc:subject>M&#233;thodes</dc:subject>

		<description>Trop souvent dans un projet web, on se rend compte au moment de la r&#233;daction qu'il y a beaucoup de contenus, que l'on se r&#233;p&#232;te, que l'organisation n'est pas fluide. Que faire pour organiser et nommer les informations afin que l'utilisateur trouve rapidement ce qu'il recherche ? Une possibilit&#233; est d'utiliser la technique du card sorting. Sans plus tarder, d&#233;couvrez le premier article de la s&#233;rie. Deux autres suivront pour cl&#244;turer le dossier. Le card sorting est issu des techniques de sciences (...)

-
&lt;a href="http://openweb.eu.org/articles" rel="directory"&gt;Articles&lt;/a&gt;

/ 
&lt;a href="http://openweb.eu.org/debutant" rel="tag"&gt;D&#233;butant&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/qualite" rel="tag"&gt;Qualit&#233;&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/industrialisation" rel="tag"&gt;Industrialisation&lt;/a&gt;, 
&lt;a href="http://openweb.eu.org/methodes" rel="tag"&gt;M&#233;thodes&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Trop souvent dans un projet web, on se rend compte au moment de la r&#233;daction qu'il y a beaucoup de contenus, que l'on se r&#233;p&#232;te, que l'organisation n'est pas fluide. Que faire pour organiser et nommer les informations afin que l'utilisateur trouve rapidement ce qu'il recherche ? Une possibilit&#233; est d'utiliser la technique du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;. Sans plus tarder, d&#233;couvrez le premier article de la s&#233;rie. Deux autres suivront pour cl&#244;turer le dossier.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; est issu des techniques de sciences humaines et sociales. Il &#233;tait initialement utilis&#233; par les chercheurs pour &#233;tudier la fa&#231;on dont sont structur&#233;es les &lt;strong&gt;connaissances chez l'&#234;tre humain&lt;/strong&gt;. Dans le contexte d'un site web, l'objectif du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; est de comprendre la logique de structuration et de nommage des utilisateurs pour mettre en place des arborescences efficaces.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Le principe du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img src='http://openweb.eu.org/local/cache-vignettes/L287xH216/session-card-sorting-5941b.png' width='287' height='216' alt=&quot;&quot; style='height:216px;width:287px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;La proc&#233;dure de base est simple :&lt;/p&gt; &lt;ol class=&quot;spip&quot;&gt;&lt;li&gt; vous recopiez les contenus et services que vous souhaitez proposer dans votre site sur des cartes ; &lt;/li&gt;&lt;li&gt; vous demandez aux utilisateurs de classer les cartes selon leur logique ; &lt;/li&gt;&lt;li&gt; vous demandez aux utilisateurs de nommer les tas de cartes qu'ils ont faits (uniquement lors d'un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ouvert). &lt;/li&gt;&lt;/ol&gt;
&lt;h3 class=&quot;spip&quot;&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; versus Analyse des besoins ?&lt;/h3&gt;
&lt;p&gt;Point important avant de commencer. M&#234;me si pendant le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; vos utilisateurs peuvent vous donner des indices sur l'importance d'un contenu ou pointer du doigt des contenus manquants, le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; &lt;strong&gt;n'est pas l&#224;&lt;/strong&gt; pour identifier les contenus r&#233;pondant aux besoins des utilisateurs. Il est uniquement l&#224; pour vous aider &#224; les organiser de mani&#232;re logique pour ces derniers.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Quand appliquer le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ?&lt;/h3&gt;
&lt;p&gt;Deux possibilit&#233;s :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; en mode &#171; &lt;strong&gt;conception&lt;/strong&gt; &#187; : vous arrivez en fin de phase d'analyse, vous avez notamment identifi&#233; les contenus et services qui r&#233;pondent aux besoins de vos utilisateurs, vous avez besoin d'organiser tout cela de mani&#232;re logique et parlante pour eux ; &lt;/li&gt;&lt;li&gt; en mode &#171; &lt;strong&gt;&#233;valuation&lt;/strong&gt; &#187; : vous disposez d'un site web et souhaitez avoir un retour utilisateur sur la logique de structuration et de nommage de l'existant. &lt;/li&gt;&lt;/ul&gt;
&lt;h3 class=&quot;spip&quot;&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; ouvert ou ferm&#233; ?&lt;/h3&gt;
&lt;p&gt;Il existe deux types de &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; &lt;strong&gt;ouvert&lt;/strong&gt; : les cat&#233;gories dans lesquelles vous demandez &#224; vos utilisateurs de classer les cartes ne sont pas d&#233;finies &#224; priori. Ce sont les utilisateurs qui les d&#233;finissent ; &lt;/li&gt;&lt;li&gt; &lt;strong&gt;ferm&#233;&lt;/strong&gt; : les cat&#233;gories dans lesquelles vous demandez &#224; vos utilisateurs de classer les cartes sont d&#233;j&#224; d&#233;finies (c'est le cas quand vous avez d&#233;j&#224; des id&#233;es pr&#233;cises pour l'arborescence). &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le choix d'un type ou d'un autre d&#233;pendra du contexte de votre projet et de vos objectifs.&lt;/p&gt; &lt;p&gt;Le &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ouvert est tr&#232;s int&#233;ressant car vous donnez &lt;strong&gt;les pleins pouvoirs aux utilisateurs&lt;/strong&gt;. Sachez malgr&#233; tout que cela n'est pas toujours tr&#232;s constructif : vous risquez d'avoir une multitude de titres de cat&#233;gories propos&#233;es sans pouvoir prendre de d&#233;cision.&lt;/p&gt; &lt;p&gt;Ainsi, si vous disposez d&#233;j&#224; d'une structure de site, il est plus simple de faire un &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; ferm&#233;, de cibler les lacunes et de les am&#233;liorer.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;&lt;span lang=&quot;en&quot;&gt;Card sorting&lt;/span&gt; in situ ou &#224; distance ?&lt;/h3&gt;
&lt;p&gt;Le grand avantage du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt; est qu'il peut &#234;tre r&#233;alis&#233; &lt;i lang=&quot;la&quot;&gt;in situ&lt;/i&gt; (sur place) ou &#224; distance. Cela implique bien &#233;videmment une pr&#233;paration diff&#233;rente avec des avantages et des inconv&#233;nients. Pour de meilleurs r&#233;sultats &lt;strong&gt;vous pouvez combiner les deux approches&lt;/strong&gt;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Vous avez d&#233;sormais une bonne vue th&#233;orique de la technique du &lt;span lang=&quot;en&quot;&gt;card sorting&lt;/span&gt;. Dans le prochain article de la s&#233;rie, nous d&#233;couvrirons comment la mettre en pratique.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Cr&#233;dit photo :&lt;/strong&gt; Gautier Barr&#232;re &lt;strong&gt;Licence :&lt;/strong&gt; &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/1.0/legalcode&quot;&gt;Creative Commons Attribution-ShareAlike&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>

