<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soluo, mise en place de plateformes de blogs WordPress MU et intranets métier</title>
	<atom:link href="http://soluo.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://soluo.fr</link>
	<description>Soluo est spécialisée dans le déploiement de la plateforme de blogs WordPress MU, sites WEB2.0 ainsi que dans la réalisation d’intranets métiers riches.</description>
	<lastBuildDate>Thu, 12 Jan 2012 15:53:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Revue de site : l&#8217;interface de LifeInMyShoes.org</title>
		<link>http://soluo.fr/2012/01/l-experience-utilisateur-d-un-site-simple-et-attractif/</link>
		<comments>http://soluo.fr/2012/01/l-experience-utilisateur-d-un-site-simple-et-attractif/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 15:53:10 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Ergonomie]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=376</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Je vous propose de décortiquer un site web chaque mois afin d&#8217;examiner son interface utilisateur. Je tâcherai de choisir des sites plutôt bien exécutés, utilisant des techniques actuelles et ayant des designs intéressants.
Pour la première édition de l&#8217;année, nous allons nous pencher sur le site Life In My Shoes. Quelles sont ses forces au niveau [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p>Je vous propose de décortiquer un site web chaque mois afin d&#8217;examiner son interface utilisateur. Je tâcherai de choisir des sites plutôt bien exécutés, utilisant des techniques actuelles et ayant des designs intéressants.</p>
<p>Pour la première édition de l&#8217;année, nous allons nous pencher sur le site <a href="http://lifeinmyshoes.org/">Life In My Shoes</a>. Quelles sont ses forces au niveau du design et de l&#8217;expérience utilisateur ? Quelles sont ses points faibles ?</p>
<h3>Présentation du site</h3>
<p>La campagne <strong><a href="http://lifeinmyshoes.org/">Life In My Shoes</a></strong> a pour vocation de combattre les idées reçues sur les personnes atteintes par le VIH. Il a été commissionné par l&#8217;association <a href="http://bodyandsoulcharity.org/">Body and Soul</a> qui lutte pour le respect, la dignité et le bien-être des enfants, des jeunes et des familles vivant avec le VIH. </p>
<p>Le site vise un public jeune qu&#8217;il tente de sensibiliser à ces problématiques.</p>
<p>J&#8217;ai choisi de parler de <a href="http://lifeinmyshoes.org/">Life In My Shoes</a> car tout en étant un site relativement simple, le sujet est traité de manière intéressante et attractive, avec une expérience utilisateur assez riche.</p>
<h3>Le style graphique</h3>
<p>Le design de ce site est relativement épuré, voire minimaliste. </p>
<h4>Couleur</h4>
<p>La palette de couleurs est très réduite : en fait, une seule couleur est utilisée : le jaune. Pour l&#8217;accompagner, le designer a choisi d&#8217;utiliser toute une gamme de gris. Le gris, et les <strong>aplats de gris clair</strong> en particulier, on l&#8217;avantage de créer une <strong>atmosphère posée et propre</strong>, propice à la <strong>lisibilité de texte</strong> gris foncé ou noir.</p>
<h4>Imagerie</h4>
<p>Le travail sur les graphismes et les photos est intéressant. La plupart des visuels sont des mélanges de photographie et dessin manuel. Les photos on été découpées afin d&#8217;éliminer le fond et de ne conserver que le sujet principal.<br />
<img src="http://soluo.fr/wp-content/uploads/2012/01/pic02.jpg" alt="page du site Life In My Shoes"  /><br />
Ce traitement de l&#8217;imagerie a permis d&#8217;<strong>harmoniser les visuels</strong> entre eux. Même si les différentes photos fournies étaient de style hétérogènes, leurs différences sont gommées par leur découpage et leur assemblage avec du dessin. </p>
<h4>Typographie</h4>
<p>Le travail typographique a été réalisé avec beaucoup d&#8217;habileté même si je ne suis pas une adepte du texte centré (sauf exception). La police d&#8217;écriture à l&#8217;honneur est <a href="http://new.myfonts.com/fonts/fw-g-type/houschka-rounded/">Houschka Rounded</a>. C&#8217;est une police sans empâtement, à la fois très lisible et agréable à regarder.</p>
<p>La police utilisée pour les titres en lettres capitales est <a href="http://new.myfonts.com/fonts/reserves/sevigne-st/">Sevigne ST</a>.</p>
<p>La taille du corps de texte varie entre 16px sur le blog, et 19px sur d&#8217;autres pages. L&#8217;interligne est très bien ajusté, ce qui fait que le tout est très facile et plaisant à lire.</p>
<p><img src="http://soluo.fr/wp-content/uploads/2012/01/pic03.png" alt="exemple de typographie sur le site Life In My Shoes" /></p>
<p>Beaucoup de web designers (moi y compris) se permettent des tailles de police de 12px ou 11px sans se rendre compte que c&#8217;est très difficile à lire. L&#8217;interligne est souvent beaucoup trop serré, ce qui ne donne pas envie d&#8217;aller au bout du premier paragraphe.</p>
<p>Comme l&#8217;explique <a href="http://www.typographe.com/article/1143/lisibilite-des-sites-web-font-size-100-16px">cet article du Typographe</a>, un corps de texte en 16px est idéal car cette taille correspond à peu près à <strong>la taille de texte que nous avons l&#8217;habitude de lire sur papier</strong>.</p>
<p>Depuis que ma vue a baissé légèrement, je réalise à quel point il est important de ne pas proposer des tailles de textes <strong>en dessous de 14px</strong>. Très faible est la portion de la population ayant une vision à la Superman.</p>
<p>C&#8217;est la mode des <strong>designs minimalistes</strong> sur internet, bien qu&#8217;ils ne soient pas appréciés de tous. On peut le comprendre ; même si l&#8217;équilibre entre vides et pleins est harmonieux et que la typographie est belle, ces designs peuvent être visuellement <strong>un peu fade</strong>.</p>
<p>Dans le cas de <a href="http://lifeinmyshoes.org/">Life In My Shoes</a>, je trouve que cet écueil a été évité grâce à <strong>plusieurs techniques et astuces subtilement utilisées</strong>.</p>
<h3>L&#8217;interactivité</h3>
<blockquote><p>&laquo;&nbsp;(Design is) not just what it looks like and feels like.Design is how it works.&nbsp;&raquo;<br />
Steve Jobs</p></blockquote>
<p>Pour paraphraser cette citation du brillant Steve Jobs, <strong>le design n&#8217;est pas uniquement affaire d&#8217;esthétique et de cosmétique</strong>. Le design comprend aussi la manière dont le produit &#8211; ici le site web &#8211; va réagir aux interactions. <strong>Pour résumer, ce qui importe ce n&#8217;est pas seulement si c&#8217;est &laquo;&nbsp;joli&nbsp;&raquo;, c&#8217;est l&#8217;expérience utilisateur dans son ensemble.</strong></p>
<p>J&#8217;ai trouvé que l&#8217;expérience utilisateur sur ce site était subtilement enrichie par différents niveaux d&#8217;interactivité et de réactivité.</p>
<h4>Les transitions</h4>
<p>Lors du passage d&#8217;une page à l&#8217;autre, la zone de contenu est balayée avec un effet de transition. On aurait pu simplement charger la nouvelle page de manière traditionnelle, mais cet effet est un petit plus assez attractif. </p>
<p>Les contenus de la page d&#8217;accueil et de la page <a href="http://lifeinmyshoes.org/journey-so-far/">Journey So Far</a> apparaissent de manière animée eux aussi. Notez l&#8217;effet subtil de parallax sur la page d&#8217;accueil, c&#8217;est à dire que la photo de l&#8217;homme apparait en premier et le fond dessiné circulaire s&#8217;insère en décalé dans le temps. On retrouve cet effet sur les différentes pages de <a href="http://lifeinmyshoes.org/journey-so-far/">Journey So Far</a> lorsqu&#8217;on navigue avec les flèches jaunes.</p>
<p>Sur la page <a href="http://lifeinmyshoes.org/about-us/">About us</a>, on retrouve l&#8217;effet de parallax qui est cette fois vertical. Lorsque l&#8217;on descend dans la page, que ce soit en utilisant la molette de la souris ou les boutons présents dans la page, on voit que les morceaux de textes et les éléments graphiques bougent à des vitesses différentes. C&#8217;est une bonne manière d&#8217;inciter à parcourir toute la page, et de faire lire le texte à l&#8217;audience.</p>
<h4>User input</h4>
<p>Autre aspect sympa du site se passe sur la page <a href="http://lifeinmyshoes.org/be-involved/">Be Involved</a> dont le contenu est généré par les utilisateurs. On leur propose d&#8217;uploader une photo de leurs pieds chaussés (référence au nom de la campagne) et de partager en une phrase un moment où ils se sont sentis différents, mis à l&#8217;écart.</p>
<p><img src="http://soluo.fr/wp-content/uploads/2012/01/pic04.jpg" alt="page Be Involved du site"  /></p>
<p>C&#8217;est une manière simple et ludique pour l&#8217;internaute de s&#8217;impliquer et de partager avec d&#8217;autres. Visuellement, cela crée ces petites vignettes que l&#8217;on peut retourner d&#8217;un clic. La simplicité du concept et de l&#8217;interface donne envie d&#8217;explorer les différentes vignettes, et pourquoi pas d&#8217;y ajouter son emprunte.</p>
<h4>Responsiveness</h4>
<p>Le site a été conçu de manière a s&#8217;afficher correctement sur toutes les plateformes et résolutions d&#8217;écran. Que vous le consultiez sur un smartphone ou un grand écran d&#8217;ordinateur, l&#8217;interface devrait à peu près s&#8217;adapter. Je dis &laquo;&nbsp;à peu près&nbsp;&raquo; car le résultat n&#8217;est pas parfait sur certaines pages.</p>
<p><img src="http://soluo.fr/wp-content/uploads/2012/01/pic06.jpg" alt="Le site s'adapte aux différentes résolutions"  /></p>
<p>Si vous voulez en savoir plus sur ce sujet, je vous recommande de lire ce <a href="http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/">cas d&#8217;étude que j&#8217;ai écrit sur le &laquo;&nbsp;responsive design&nbsp;&raquo;</a>.</p>
<h4>Vidéos</h4>
<p>Dans la liste des interactions avec le site, j&#8217;aimerais ajouter une petite note sur les vidéos car ce site en comprend plusieurs.<br />
Il n&#8217;est pas a la portée de tous de proposer des vidéos sur un site, cependant lorsque c&#8217;est possible et que c&#8217;est pertinent, cela peut être une vraie valeur ajoutée. En tant qu&#8217;utilisateur on n&#8217;a pas toujours envie de lire du texte. Regarder une vidéo bien faite peut être tout aussi informatif et demander moins d&#8217;effort.</p>
<h4>Rollovers</h4>
<p>Sur la page <a href="http://lifeinmyshoes.org/journey-so-far/">Journey So Far</a>, j&#8217;ai apprécié les petites bulles qui apparaissent lorsqu&#8217;on passe la souris sur les noms en noir des personnes citées. C&#8217;est une manière ludique de présenter plus d&#8217;informations à l&#8217;internaute tout en les rendant &laquo;&nbsp;optionnelles&nbsp;&raquo;. De cette manière elles ne polluent pas la page en étant tout le temps présente.</p>
<p><img src="http://soluo.fr/wp-content/uploads/2012/01/pic05.png" alt="exemple de bulle lorsque le curseur passe un lien"  /></p>
<p>J&#8217;aurais aimé retrouver ce comportement sur d&#8217;autres liens du site, dans les contenus mais aussi par exemple sur les icônes des réseaux sociaux ou les logos des partenaires en bas de page.</p>
<h3>Note sur l&#8217;ergonomie</h3>
<p>Elle est plutôt bien pensée dans l&#8217;ensemble. La navigation est aisée, le texte est découpé en blocs faciles à lire. J&#8217;aurais cependant quelques critiques à émettre.</p>
<h4>Navigation</h4>
<p>L&#8217;état sélectionné d&#8217;un élément de navigation ne saute pas aux yeux. Lorsqu&#8217;on se trouve sur une page, l&#8217;élément de navigation correspondant est d&#8217;un gris un peu plus foncé que les autres éléments mais la distinction entre les deux états n&#8217;est à mon sens pas suffisante.</p>
<p>La navigation sur la page <a href="http://lifeinmyshoes.org/about-us/">About us</a> grâce à la barre verticale de droite n&#8217;est pas très explicite. J&#8217;ai mis du temps à comprendre pourquoi plusieurs points étaient en jaune. Je vous laisse deviner la raison mais voici un indice : cela dépend de la hauteur de votre fenêtre et de votre écran. </p>
<p>Heureusement, l&#8217;utilisateur a deux autres options pour naviguer dans cette page : en scrollant à l&#8217;aide de la souris ou de la barre de défilement du navigateur et à l&#8217;aide des boutons noirs sur jaune situés dans la zone de contenu. </p>
<h4>URLs</h4>
<p>La section <a href="http://lifeinmyshoes.org/journey-so-far/">Journey So Far</a> est divisée en trois écrans. Au niveau du code il s&#8217;agit d&#8217;une seule et même page, mais du point de vue de l&#8217;utilisateur ce sont trois pages séparées. On navigue de l&#8217;une à l&#8217;autre à l&#8217;aide des flèches jaunes. </p>
<p>Une bonne pratique consiste à donner des URLs différentes à ces pages, même si en réalité il n&#8217;y a qu&#8217;une seule page. Dans cet exemple l&#8217;URL ne change pas.</p>
<h3>En résumé</h3>
<h4>Les &laquo;&nbsp;plus&nbsp;&raquo;</h4>
<ul>
<li>Palette de couleurs lumineuse et épurée</li>
<li>Style d&#8217;imagerie créatif et homogène</li>
<li>Typographie de qualité et hautement lisible</li>
<li>Interactivité variée</li>
<li>Animations par petites touches</li>
<li>Site &laquo;&nbsp;responsive&nbsp;&raquo;, c&#8217;est à dire qui s&#8217;adapte aux différentes résolutions d&#8217;écrans</li>
<li>Vidéos qui égayent et informent</li>
</ul>
<h4>Les &laquo;&nbsp;moins&nbsp;&raquo;</h4>
<ul>
<li>Ergonomie médiocre de la navigation</li>
<li>Le texte centré est à éviter</li>
<li>Utilisation de javascript pour répartir du contenu sur plusieurs pages, sans changer l&#8217;URL</li>
</ul>
<h3>Conclusion</h3>
<p>J&#8217;ai aimé ce site à la fois pour sa simplicité et pour tous les détails qui apportent un &laquo;&nbsp;plus&nbsp;&raquo; à l&#8217;expérience utilisateur.</p>
<p>On sent que ce projet a nécessité beaucoup de temps et de réflexion afin d&#8217;aborder ce sujet sensible de manière ludique, interactive et attractive pour les jeunes (et les moins jeunes), sans tomber dans l&#8217;excès au niveau des animations.</p>
<p><strong>Le mois prochain, je vous présenterai la critique d&#8217;un autre site.<br />
D&#8217;ici là si n&#8217;hésitez pas à poster vos commentaires. Êtes-vous d&#8217;accord avec mon analyse ? Pas d&#8217;accord du tout ? </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2012/01/l-experience-utilisateur-d-un-site-simple-et-attractif/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Faire varier le format d&#8217;une date avec CSS et les media-queries</title>
		<link>http://soluo.fr/2011/08/faire-varier-le-format-dune-date-avec-css-et-les-media-queries/</link>
		<comments>http://soluo.fr/2011/08/faire-varier-le-format-dune-date-avec-css-et-les-media-queries/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 13:01:26 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[intégration]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=372</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Nous allons voir comment dans un blog &#171;&#160;responsive&#160;&#187; on peut afficher un format de date différent, comme par exemple avoir tantôt le mois en toutes lettres (ex : Septembre), tantôt l&#8217;abréviation du mois (ex : SEP), le tout en gardant une syntaxe HTML propre. 
Voir l&#8217;exemple
Rappel sur le design &#171;&#160;responsive&#160;&#187; (ou &#171;&#160;réactif&#160;&#187;) : il s&#8217;agit [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><strong>Nous allons voir comment dans un blog &laquo;&nbsp;responsive&nbsp;&raquo; on peut afficher un format de date différent, comme par exemple avoir tantôt le mois en toutes lettres (ex : Septembre), tantôt l&#8217;abréviation du mois (ex : SEP), le tout en gardant une syntaxe HTML propre. </strong></p>
<p><a href="http://files.soluo.fr/soluo_playground/date.html">Voir l&#8217;exemple</a></p>
<p><em>Rappel sur le design &laquo;&nbsp;responsive&nbsp;&raquo; (ou &laquo;&nbsp;réactif&nbsp;&raquo;) : il s&#8217;agit d&#8217;utiliser les media-queries pour s&#8217;adapter à la taille du device et/ou du navigateur de manière intelligente et ergonomique. Pour plus d&#8217;infos, voir cet <a href="http://www.alsacreations.com/article/lire/930-css3-media-queries.html">article sur les media-queries</a> par Alsacréations.</em></p>
<h3>Nouveau site, nouveaux challenges</h3>
<p>Cet été nous préparons la refonte du site de <a href="http://soluo.fr">soluo.fr</a>. En fait, plus qu&#8217;une refonte, nous refaisons tout !</p>
<p>Notre nouveau site sera &laquo;&nbsp;responsive&nbsp;&raquo; (ou réactif), comme le site de Secri Gestion dont nous avons parlé dans des <a href="http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/">articles antérieurs</a>.</p>
<p>Pour le nouveau site, nous avons choisi de séparer le blog. Il reprendra la charte graphique du site mais aura une structure et un design différent. </p>
<p><strong>Tout blog qui se respecte contient des articles, auxquels certaines données &laquo;&nbsp;meta&nbsp;&raquo; sont associées.</strong> En général il y a au moins une date de publication et un auteur. L&#8217;article peut aussi être catégorisé et taggué par exemple.</p>
<p><strong>Concentrons nous sur la date de publication d&#8217;un article.</strong> Notre blog sera lui aussi réactif, c&#8217;est à dire que <strong>son interface va s&#8217;adapter à la taille du navigateur et de l&#8217;appareil utilisé</strong> pour le visualiser. </p>
<p>Dans mon design &laquo;&nbsp;grand format&nbsp;&raquo;, c&#8217;est à dire pour écrans d&#8217;ordinateurs classiques,<strong> j&#8217;ai choisi de montrer la date comme sur un petit bloc-calendrier</strong>. Je veux que <strong>l&#8217;abréviation du mois en 3 lettres</strong> s&#8217;affiche en haut, au dessous duquel on verra le jour en gros, puis l&#8217;année en plus petit, comme sur cette image : </p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/08/blog_date01.jpg" alt="date d'un article en format bloc-calendrier" class="alignnone size-full" /></p>
<p>Facile, sauf que dans le design pour petits formats (pour les smartphones par exemple)<strong> je veux montrer la date d&#8217;une autre manière</strong>. Le <strong>tout s&#8217;afficherait sur une ligne</strong> avec jour, mois, année, comme ceci :</p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/08/blog_date02.jpg" alt="date d'un article sur une ligne" class="alignnone size-full" /></p>
<p>Positionner les mêmes éléments de manières différentes ne me fait pas peur. Avec les media-queries, c&#8217;est facile. Dans le premier cas on peut se servir des positions absolute / relative, et dans le second cas, on laisse les éléments inline se positionner les uns après les autres naturellement.</p>
<h3>Le problème : le format de la date</h3>
<p>Je ne suis pas développeuse, mais je me doute que si je demande à mon collègue développeur de me fournir 2 formats de date différents selon que certaines media-queries sont déclenchées ou pas, il va me regarder de travers.</p>
<p>Une solution serait d&#8217;avoir la date 2 fois dans le code, dans 2 formats différents. Dans un cas on masque l&#8217;un, ou l&#8217;autre.</p>
<p><strong>Cette solution ne me satisfait pas car j&#8217;aime que mon code reste propre. </strong></p>
<p><a href="https://twitter.com/#!/gaspas/status/100933174326075392">J&#8217;ai posé la question sur Twitter</a> et on m&#8217;a suggeré le pseudo-element <strong><em>:after</em></strong> et la propriété <strong><em>content </em></strong> de CSS.</p>
<p>Même si je n&#8217;ai pas tout à fait compris la suggestion car je ne souhaitais pas utiliser de lien, cela m&#8217;a donné une bonne piste.</p>
<p>J&#8217;ai aussi demandé l&#8217;avis de la communauté de <a href="http://www.sitepoint.com/forums/general-development-issues-140/switching-date-format-responsive-web-design-775206.html">Sitepoint sur leur forum</a>, et j&#8217;y ai posté ma solution (English) </p>
<h3>La solution : utiliser l&#8217;attribut TITLE</h3>
<p>La solution qui me parait la meilleure est de <strong>générer la date dans 2 formats différents</strong>, du moins pour le mois, qui est l&#8217;élément problématique ici.</p>
<p><strong>La balise contiendra le nom entier</strong> du mois, et <strong>l&#8217;attribut TITLE contiendra l&#8217;abréviation</strong> en 3 lettres. </p>
<p>Après il suffit d&#8217;un peu de CSS avec des media-queries pour afficher l&#8217;un ou l&#8217;autre.</p>
<p>Voici le code que j&#8217;ai écrit assez rapidement. Je ne suis pas contente de la manière dont je cache le mot &laquo;&nbsp;juillet&nbsp;&raquo;, je pense qu&#8217;on peut mieux faire. Mais ça marche !</p>
<pre style="background:#eee; padding: 10px;">

&lt;head>

&lt;style type="text/css">

.dateBox {
	font-family: trebuchet ms, helvetica, arial;}

@media screen and (min-width: 800px) {
.dateBox {
	-moz-box-shadow: 2px 2px 0 #dcdcdc;
	-webkit-box-shadow: 2px 2px 0 #dcdcdc;
	box-shadow: 2px 2px 0 #dcdcdc;

	background: #eee;
	color: #000;
	font-size: 14px;
	overflow: hidden;
	padding: 15px 2px 2px;
	position: relative;
	text-align: center;
	width: 50px; }

.day {
	font-family: georgia, serif;
	font-size: 34px; }

.month {
	color: #eee;
	left: 3px;
	margin-top: -15px;
	position: absolute;
	text-transform: uppercase;
	top: 3px;
	width: 50px; }

.month:after {
	color: #000;
    content: attr(title);
    display: block; }
}

@media screen and (max-width: 800px) { 

.dateBox {
	color: #666;
	font-size: 12px;
	font-style: italic;}

}

&lt;/style>
&lt;/head>
&lt;body>

&lt;div class="dateBox">
	&lt;span class="day">12&lt;/span>
	&lt;span title="JUL" class="month">juillet&lt;/span>
	&lt;span class="year">2011&lt;/span>
&lt;/div>
</pre>
<p>Pour <a href="http://files.soluo.fr/soluo_playground/date.html">voir comment ça marche</a>, redimmensionnez la fenêtre de votre navigateur.</p>
<p><a href="http://files.soluo.fr/soluo_playground/date.html">Voir l&#8217;exemple</a></p>
<p><em>N&#8217;hésitez pas à me faire part d&#8217;améliorations éventuelles, notamment pour la manière de cacher le contenu de la balise &laquo;&nbsp;month&nbsp;&raquo;.</em></p>
<h3>Note sur la compatibilité</h3>
<p>Cet exemple ne fonctionnera que sur les navigateurs modernes, qui comprennent les media-queries. C&#8217;est un petit essai que j&#8217;ai fait rapidement, sans me soucier de la compatibilité avec mon très cher Internet Explorer (6, 7 et 8). Cependant il est tout à fait possible de faire fonctionner tout ça sur IE en utilisant un outil tel que <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> qui inclut des fichiers javascript.</p>
<p><em style="color:#777;">Credits : merci à <a href="http://iconsweets.com/">IconSweets</a> pour l&#8217;icône Calendrier.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/08/faire-varier-le-format-dune-date-avec-css-et-les-media-queries/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Responsive web design : Comment optimiser son site pour mobiles et tablettes (3ème partie)</title>
		<link>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-3eme-partie/</link>
		<comments>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-3eme-partie/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 08:14:08 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Cas client]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=369</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Après les phases initiales de recherche et de design que nous avons abordé dans deux articles précédents, vient le temps de l&#8217;intégration HTML et CSS. 
En principe ce n&#8217;est pas très compliqué : il suffit de suivre la méthode de 320 and up qui consiste à intégrer d&#8217;abord pour la taille de fenêtre la plus [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><strong>Après les <a href="http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/">phases initiales de recherche</a> et <a href="http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/">de design</a> que nous avons abordé dans deux <a href="http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/">articles précédents</a>, vient le temps de l&#8217;intégration HTML et CSS. </strong></p>
<p><strong>En principe ce n&#8217;est pas très compliqué : il suffit de suivre la méthode de <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> qui consiste à intégrer d&#8217;abord pour la taille de fenêtre la plus petite.</strong></p>
<p><strong>Je dis &laquo;&nbsp;en principe&nbsp;&raquo;, car nous avons rencontré un certain nombre de difficultés, notamment avec Internet Explorer 7 et 8, malgré les outils javascript fournis dans le template. </strong></p>
<p><em>Note : Comme pour la majorité des sites que nous réalisons, nous avons décidé de <strong>ne pas supporter IE6</strong> pour ce projet.</em></p>
<h3>L&#8217;intégration pour 320px et 480px de large</h3>
<p><em>Note : Pour tester j&#8217;ai utilisé un iPhone 3GS ainsi que Firefox 3.6, Chrome, Safari, IE7 et IE8 sur desktop. J&#8217;aurais voulu pouvoir tester sur d&#8217;autres smartphones mais je n&#8217;avais pas cette possibilité.</em></p>
<p><a href="http://www.stuffandnonsense.co.uk/">Andy Clarke</a> propose deux versions du template : la première avec <strong>une feuille de style unique</strong> et la seconde avec de <strong>multiples feuilles de styles</strong>. J&#8217;ai préféré travailler avec plusieurs feuilles de styles car cela me paraissait plus &laquo;&nbsp;propre&nbsp;&raquo;, mais c&#8217;est un choix très personnel.</p>
<p>On commence donc par <strong><em>style.css</em></strong> qui est la feuille de style de base. Elle correspond à une largeur de fenêtre de 320px au maximum. </p>
<p><strong>La méthode de <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> consiste à intégrer d&#8217;abord pour les plus petits formats, et de rajouter des feuilles de styles les unes au dessus des autres en allant vers le format le plus large.</strong><br />
Cela signifie que les règles CSS contenues dans <strong><em>style.css</em></strong> seront prises en compte par toutes les tailles écrans. Certaines devront être écrasées par la suite afin de positionner les éléments d&#8217;une nouvelle manière pour une taille de fenêtre supérieure.</p>
<p>Pour les écrans allant jusqu&#8217;à 480px de large, on doit penser aux appareils mobiles de type smartphone. Les <strong>zones cliquables doivent être suffisamment larges</strong> pour effectuer un &laquo;&nbsp;clic&nbsp;&raquo; avec le doigt. On peut faire le choix de <strong>masquer certains éléments</strong>  s&#8217;ils sont superflus<strong> et si leur absence peut rendre l&#8217;interface plus claire et intuitive.</strong> </p>
<p>Dans une logique d&#8217;optimisation et de performance, <strong>on évitera l&#8217;utilisation d&#8217;images de fond volumineuses</strong>, et <strong>on limitera les effets graphiques</strong> d&#8217;une manière générale. </p>
<p><strong>L&#8217;utilisateur d&#8217;un appareil mobile a très peu de patience &#8211; encore moins que sur un ordinateur classique &#8211; c&#8217;est pourquoi il est si important de peaufiner l&#8217;ergonomie de l&#8217;interface pour les petits formats.</strong></p>
<p>Une fois satisfaite du résultat sur mon iPhone en mode portrait, je suis passée à l&#8217;intégration du mode paysage, c&#8217;est à dire en 480px de large.<strong> Rien ne nous oblige à tout changer pour chaque taille d&#8217;écran</strong>. Je pense que le passage de 320px à 480px demande <strong>un petit travail d&#8217;adaptation qui n&#8217;est pas radical</strong> dans un le cas d&#8217;un site comme celui-ci.</p>
<p>En l&#8217;occurrence j&#8217;ai principalement changé la présentation des biens sur la page d&#8217;accueil et sur les pages &laquo;&nbsp;A louer&nbsp;&raquo; et &laquo;&nbsp;A vendre&nbsp;&raquo; pour que la fiche du bien passe en mode horizontal. L&#8217;image est plus petite qu&#8217;en mode portrait mais au moins on voit toutes les informations en un clin d&#8217;oeil. </p>
<p>Si j&#8217;avais laissé exactement les même styles qu&#8217;en 320px de large, la photo du lieu aurait paru énorme et il aurait fallu scroller pour voir les information relatives à un lieu.</p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/06/secri_hp_portrait.jpg" alt="Visualisation d'une annonce sur iPhone en mode portrait" class="alignnone size-full wp-image-357" /><br />
<em>Annonce immobilière sur la page d&#8217;accueil en 320px de large (iPhone)</em></p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/06/secri_hp_landscape.jpg" alt="Visualisation d'une annonce sur iPhone en mode paysage"  class="alignnone size-full wp-image-356" /><br />
<em>Annonce immobilière sur la page d&#8217;accueil en 480px de large (iPhone)</em></p>
<h3>L&#8217;intégration pour 728px et 992px de large</h3>
<p>Le passage entre les versions 728px et 992px de large était un petit peu plus complexe, notamment à cause du header et de la navigation que je devais adapter. <strong>Je m&#8217;en suis souvent sortie en ajoutant plus de markup</strong> (généralement des DIVs), chose qui n&#8217;est pas idéale.</p>
<p><strong>En effet, si le site avait été de largeur statique, j&#8217;aurais utilisé beaucoup moins de balises</strong> mais puisque la disposition de certains éléments doit pouvoir changer, il faut de quoi les positionner de différentes manières : tantôt avec un positionnement absolu ou relatif, tantôt avec un <em>float</em>.</p>
<p>Il faut jongler avec les différents éléments du HTML et de CSS pour arriver à ses fins et <strong>ne pas oublier de tester le site sur différentes tailles d&#8217;écran et sur tous les navigateurs à supporter</strong> lorsque l&#8217;on apporte des changements à une feuille de style.</p>
<p>Pour les pages &laquo;&nbsp;A louer&nbsp;&raquo; et &laquo;&nbsp;A vendre&nbsp;&raquo; j&#8217;ai souhaité utiliser des selectors CSS3 grâce à <a href="http://selectivizr.com/">Selectivizr</a> et à un <a href="https://github.com/keithclark/JQuery-Extended-Selectors">plugin pour jQuery</a> qui étend le support des pseudo-class et selectors CSS3. J&#8217;aurais voulu pouvoir utiliser des selectors tels que nth-of-type(2n+4) sur tous les navigateurs, mais après quelques échecs nous avons abandonné cette belle idée car cela ne fonctionnait pas sur Internet Explorer.</p>
<p>Nous comptons revenir sur ce problème prochainement afin de comprendre d&#8217;où est venu cet échec.</p>
<p><img class="alignnone size-full wp-image-367" title="secri768_category" src="http://soluo.fr/wp-content/uploads/2011/06/secri768_category.jpg" alt="secri768_category" width="590" height="557" /><br />
<em>Page d&#8217;annonces en 768px de large</em></p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/06/secri960_category.jpg" alt="secri960_category" title="secri960_category" width="590" height="557" class="alignnone size-full wp-image-366" /><br />
<em>Page listing des annonces en 960px de large</em></p>
<h3>Adaptation de 320 and up</h3>
<p>Sur la page d&#8217;accueil j&#8217;avais prévu deux colonnes à hauteur égale pour &laquo;&nbsp;Syndic&nbsp;&raquo; et &laquo;&nbsp;Gestion locative&nbsp;&raquo;. Dans ce cas de figure j&#8217;étais obligée de recourir à un petit peu de javascript pour calculer la hauteur de la colonne la plus haute et forcer la hauteur de l&#8217;autre colonne. C&#8217;est très facile à implémenter, cependant le problème est que si la fenêtre est redimensionnée, la hauteur des colonnes ne change pas. </p>
<p>Pour résoudre ce problème j&#8217;ai &laquo;&nbsp;triché&nbsp;&raquo; en ajoutant suffisamment de <code>padding-bottom</code> pour que le texte ne déborde pas lorsque la largeur d&#8217;écran est réduite.</p>
<p>Cependant, le vrai problème était pour les versions 320px et 480px car étant très étroites, j&#8217;ai voulu positionner les colonnes l&#8217;une au dessus de l&#8217;autre. Comme je ne souhaitais plus qu&#8217;elles aient la même hauteur, j&#8217;ai ajouté une media-query et une feuille de style pour viser toutes les largeurs de fenêtre en dessous de 768px. </p>
<p>Le seul style que cette feuille de css contient est :<br />
<code><br />
section.homeMainContent article {<br />
    height: auto !important;<br />
}</code></p>
<p>Ainsi, la j&#8217;écrase la hauteur générée par le javascript afin que les deux colonnes prennent une hauteur &laquo;&nbsp;naturelle&nbsp;&raquo;, en fonction de leur contenu.</p>
<h3>Internet Explorer&hellip;</h3>
<p>En théorie <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> contient je javascript nécessaire au bon fonctionnement des media-queries sur Internet Explorer. </p>
<p>Lors de la phase d&#8217;intégration j&#8217;étais assez contente du résultat sur IE7 et IE8 sur XP et Windows 7, même si ce n&#8217;était pas parfait à 100% ; certains éléments de l&#8217;interface ne se positionnaient pas tout à fait comme ils auraient dû lors du redimensionnement de la fenêtre. Néanmoins, ces légers &laquo;&nbsp;bugs&nbsp;&raquo; me paraissaient suffisamment discrets pour que le site soit mis en ligne tel quel. </p>
<p>Après la mise en ligne du site, le client nous a signalé un problème que nous n&#8217;avons pas réussi à reproduire à ce jour : sur 2 de leurs ordinateurs, seule <strong><em>style.css</em></strong> était prise en compte, ce qui donnait un résultat catastrophique sur un écran classique.</p>
<p>Nous avons l&#8217;intention d&#8217;investiguer mais pour l&#8217;instant nous préférons fournir une version statique en 960px de large aux utilisateurs d&#8217;Internet Explorer 7 et 8. A suivre&#8230;</p>
<p><strong>Dans le prochain article je ferai le bilan de cette expérience : je vous donnerai quelques astuces pour réussir votre site réactif, et je vous ferai part des leçons apprises grâce à cette aventure, dans l&#8217;espoir de vous éviter de vous confronter aux mêmes problèmes.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-3eme-partie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Responsive web design : Comment optimiser son site pour mobiles et tablettes (2ème partie)</title>
		<link>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/</link>
		<comments>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 08:09:57 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Cas client]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Ergonomie]]></category>
		<category><![CDATA[intégration]]></category>
		<category><![CDATA[media-queries]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=364</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Dans un article précédent nous avons parlé des outils que nous avons choisi pour la réalisation du site secri.fr, afin d&#8217;en faire un site &#171;&#160;responsive&#160;&#187; (ou en français, &#171;&#160;réactif&#160;&#187;). 
Cependant, avant de passer à l&#8217;intégration du site il nous a fallu repenser le design. En effet, le visuel du site en 960px de large avait [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><strong><a href="http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/">Dans un article précédent</a> nous avons parlé des outils que nous avons choisi pour la réalisation du site <a href="http://www.secri.fr">secri.fr</a>, afin d&#8217;en faire un site &laquo;&nbsp;responsive&nbsp;&raquo; (ou en français, &laquo;&nbsp;réactif&nbsp;&raquo;). </p>
<p>Cependant, avant de passer à l&#8217;intégration du site il nous a fallu repenser le design. En effet, le visuel du site en 960px de large avait déjà été validé par le client, avant que nous décidions d&#8217;en faire un site réactif.</strong></p>
<p><em>Note : en principe une telle décision devrait se faire en amont et avec l&#8217;accord du client car cela représente plus de travail qu&#8217;un site statique (et donc un coût un peu plus important) mais nous avions envie d&#8217;expérimenter sur ce projet qui s&#8217;y prêtait bien.</em></p>
<h3>Le design initial</h3>
<p>Le design de départ, qui avait déjà été validé par le client, prenait la largeur classique de 960px.</p>
<p><img class="size-full" src="http://soluo.fr/wp-content/uploads/2011/06/secri9601.jpg" alt="Page d'accueil en 960px de large" /><br />
<em>Page d&#8217;accueil en 960px de large</em></p>
<p>&nbsp;</p>
<p><img src="http://soluo.fr/wp-content/uploads/2011/06/secri960_category.jpg" alt="secri960_category" title="secri960_category" width="590" height="557" class="alignnone size-full wp-image-366" /><br />
<em>Page listing des annonces en 960px de large</em></p>
<p>&nbsp;</p>
<p>J&#8217;ai estimé qu&#8217;il faudrait prévoir 4 &laquo;&nbsp;versions&nbsp;&raquo; du site réactif.</p>
<ul>
<li><strong>La plus petite irait jusqu&#8217;à 320px de large</strong> (ce qui correspond au mode portrait de l&#8217;iPhone)</li>
<li>La suivante serait utilisée pour <strong>les largeurs entre 320px et 480px</strong> (480px étant la largeur de l&#8217;iPhone en mode paysage)</li>
<li>La suivante pour <strong>les largeurs entre 480px et 768px</strong> (768px est la largeur de l&#8217;iPad en mode portrait)</li>
<li>La dernière correspondrait au design conçu pour le site statique en 960px, et irait<strong> de 768px à 1000px de large</strong>.</li>
</ul>
<p>Étant donné que le site <a href="http://www.secri.fr">secri.fr</a> contient relativement peu de contenu, je n&#8217;ai pas vu l&#8217;intérêt de prévoir une largeur supérieure car l&#8217;interface aurait perdu en ergonomie et en esthétique.</p>
<p>Pour d&#8217;autres types de projet on peut tout à fait envisager des largeurs de fenêtre supérieures, comme le fait le site de <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a>.</p>
<h3>Adaptations du design</h3>
<h4>Page d&#8217;accueil en 768px de large</h4>
<p>Je suis brièvement repassée par la case Photoshop pour visualiser la page d&#8217;accueil en largeur 768px. Il fallait surtout revoir la navigation car les éléments risquaient de ne pas tous rentrer à droite du logo. J&#8217;ai donc choisi de sortir le logo de la barre de navigation et de le centrer, ainsi que de centrer la liste des liens.</p>
<p>La liste des biens passe en mode horizontal, ce qui fonctionnera aussi très bien pour la version d&#8217;en dessous qui est de 480px de large, avec quelques adaptations.</p>
<p><img class="size-full" src="http://soluo.fr/wp-content/uploads/2011/06/secri7681.jpg" alt="Visualisation de la page d'accueil en 768px de large" /><br />
<em>Page d&#8217;accueil en 768px de large</em></p>
<p>&nbsp;</p>
<h4>Liste des annonces en 768px de large</h4>
<p>Pour les pages &laquo;&nbsp;A louer&nbsp;&raquo; et &laquo;&nbsp;A vendre&nbsp;&raquo;, il n&#8217;y a plus assez de place pour 4 annonces par ligne, on passe donc à 3 annonces seulement. Le reste ne change pas.</p>
<p><img class="alignnone size-full wp-image-367" title="secri768_category" src="http://soluo.fr/wp-content/uploads/2011/06/secri768_category.jpg" alt="secri768_category" width="590" height="557" /><br />
<em>Page d&#8217;annonces en 768px de large</em></p>
<p>&nbsp;</p>
<p><strong>Pour les deux versions les plus petites (320px et 480px), je n&#8217;ai pas eu besoin de travailler dans Photoshop car le travail effectué sur la version de largeur 768px m&#8217;a permis de les visualiser dans ma tête pour ensuite les implémenter directement pendant la phase d&#8217;intégration.</strong></p>
<h3>Ce que je ferai différemment à l&#8217;avenir</h3>
<ul>
<li>Je travaillerai probablement sur 2 ou 3 tailles du site en parallèle, sans forcément décliner tous les gabarits pour chacune d&#8217;entre elles. Il est très possible que je continue à me baser sur un design en 960px de large, tout en réfléchissant à chaque étape à mes choix graphiques et à la manière dont ils vont affecter la syntaxe HTML.</li>
<li>Je réfléchirai un peu plus aux conséquences de mes choix ergonomiques sur la phase d&#8217;intégration, notamment pour éviter l&#8217;ajout de scripts supplémentaires.</li>
</ul>
<p><strong><br />
Dans un prochain article je parlerai de la phase d&#8217;intégration. Celle-ci s&#8217;est déroulée relativement bien grâce à l&#8217;outil <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> mais il y a eu quelques petits soucis liés à javascript et à certains navigateurs, pour ne pas citer de noms&hellip;<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Responsive web design : Comment optimiser son site pour mobiles et tablettes (1ère partie)</title>
		<link>http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/</link>
		<comments>http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 16:43:33 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Cas client]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Ergonomie]]></category>
		<category><![CDATA[intégration]]></category>
		<category><![CDATA[media-queries]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=353</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Nous avons récemment mis en ligne le site secri.fr, pour une agence immobilière située en région parisienne. Nous l&#8217;avons intégré de sorte qu&#8217;il soit &#171;&#160;réactif&#160;&#187;. En anglais on parle de &#171;&#160;responsive web design&#171;&#160;. 
En pratique, cela signifie qu&#8217;on utilise les media-queries (CSS3) pour appliquer des styles différents selon la taille de l&#8217;écran, de la fenêtre, [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><strong>Nous avons récemment mis en ligne le site <a href="http://www.secri.fr">secri.fr</a>, pour une agence immobilière située en région parisienne. Nous l&#8217;avons intégré de sorte qu&#8217;il soit &laquo;&nbsp;réactif&nbsp;&raquo;. En anglais on parle de &laquo;&nbsp;<a href="http://gobanclub.net/2010/11/17/responsive_webdesign_ethan_marcotte_trad_fr/">responsive web design</a>&laquo;&nbsp;. </strong></p>
<p><strong>En pratique, cela signifie qu&#8217;on utilise les media-queries (CSS3) pour appliquer des styles différents selon la taille de l&#8217;écran, de la fenêtre, ou encore de l&#8217;orientation d&#8217;un appareil mobile (smartphones et tablettes).</strong></p>
<p><strong>Cela permet donc de présenter à l&#8217;utilisateur un design et une ergonomie optimisés pour chaque type d&#8217;appareil qu&#8217;il utilise ainsi que pour la taille de la fenêtre de son navigateur.</strong></p>
<p><strong>Pour voir de quoi il s&#8217;agit, amusez-vous à redimensionner la fenêtre de votre navigateur lorsque vous êtes sur <a href="http://www.secri.fr">secri.fr</a>.</strong></p>
<p><em>Notons que selon les projets, il peut être préférable de créer un site ou une application mobile séparés. Cependant, dans la plupart des cas, l&#8217;utilisation des media-queries est la meilleure option car elle est relativement facile à implémenter et reste peu coûteuse.</em></p>
<h3>Les problèmes liés à la création d&#8217;un site réactif</h3>
<p>Lorsqu&#8217;on approche le sujet pour la première fois, cela peut paraître très complexe car très vite, on comprend qu&#8217;il va falloir changer ses méthodes de travail.</p>
<p>Quelques questions peuvent venir à l&#8217;esprit :</p>
<ul>
<li>Dois-je créer une maquette graphique <em>pour chacune</em> des différentes apparences du site&nbsp;? Cela représente beaucoup de travail et d&#8217;échanges avec le client !</li>
<li>CSS3 ne fonctionne <em>que sur les navigateurs récents</em> ; que faire des navigateurs plus anciens ?</li>
<li>Comment aborder la phase d&#8217;intégration ?</li>
<li>Est-ce compliqué d&#8217;obtenir différentes &laquo;&nbsp;versions&nbsp;&raquo; d&#8217;un site en gardant la même syntaxe HTML ?</li>
</ul>
<p>Lors de la réalisation du site de <a href="http://www.secri.fr">Secri Gestion</a>, notre premier site réactif, je me suis confrontée à ces problématiques. Je vais vous faire part du cheminement que nous avons suivi en espérant que cela vous aidera à réaliser vos sites.</p>
<h3>L&#8217;idée de départ</h3>
<p>Peu avant de commencer l&#8217;intégration de <a href="http://www.secri.fr">secri.fr</a>, j&#8217;ai trouvé le template <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a>, créé par le talentueux Andy Clarke. C&#8217;est une extension de <a href="http://fr.html5boilerplate.com/">HTML5 Boilerplate</a> (par le tout aussi talentueux Paul Irish) que nous utilisions déjà pour tous nos sites.</p>
<p>Ces templates, composés de HTML, de CSS et de Javascript, sont une très bonne base pour créer un site réactif en bénéficiant des meilleures pratiques. Grâce au Javascript fourni, même Internet Explorer 6 se comportera comme un navigateur moderne. Enfin presque.</p>
<p>Plus qu&#8217;un template, <a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and up</a> est une méthode de travail. C&#8217;était ça la vraie nouveauté pour moi car j&#8217;ai dû repenser ma manière de travailler. En effet, pour un site statique on passe généralement du design à l&#8217;intégration d&#8217;une façon assez linéaire.</p>
<p>Dans le cas d&#8217;un site réactif ayant 4 apparences différentes (la première pour les fenêtres allant jusqu&#8217;à 320px de largeur, puis jusqu&#8217;à 480px, 768px, et supérieure à 992px), il va falloir travailler autrement. La méthode d&#8217;Andy Clarke consiste à intégrer d&#8217;abord la version la plus petite, puis à passer au cran au dessus et ainsi de suite, jusqu&#8217;à l&#8217;intégration de la version la plus large en dernier. Ayant tenté le procédé inverse par le passé, je ne suis pas prête de revenir en arrière car c&#8217;était laborieux !</p>
<p>A noter que nous souhaitions réaliser un site à la fois réactif et flexible, c&#8217;est à dire qu&#8217;au lieu de &laquo;&nbsp;sauter&nbsp;&raquo; d&#8217;une apparence à l&#8217;autre lors du redimensionnement de la fenêtre, les éléments devaient s&#8217;adapter à la largeur de la fenêtre avec souplesse. Il fallait donc utiliser des pourcentages pour les largeurs des différents éléments.</p>
<p><strong>Nous verrons <a href="http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/">dans un prochain article</a> comment je m&#8217;en suis sortie au niveau du design, puisque la maquette graphique faisant 960px de large avait déjà été validée par le client.</strong></p>
<p><em>Deuxième partie de cet article : <a href="http://soluo.fr/2011/07/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-2eme-partie/">la phase de design</a><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/06/responsive-web-design-comment-optimiser-son-site-pour-mobiles-et-tablettes-1ere-partie/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Concevoir des formulaires ergonomiques et accessibles</title>
		<link>http://soluo.fr/2011/03/concevoir-des-formulaires-ergonomiques-et-accessibles/</link>
		<comments>http://soluo.fr/2011/03/concevoir-des-formulaires-ergonomiques-et-accessibles/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 09:59:59 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Ergonomie]]></category>
		<category><![CDATA[accessibilité]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=337</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Dans cet article nous allons voir quelques points qui pourront nous aider à concevoir des formulaires ergonomiques et accessibles. La première partie concerne la phase de conception graphique, la seconde nécessite une connaissance du HTML car elle est technique.
Dans un précédent article sur l&#8217;accessibilité nous avons vu qu&#8217;il était facile de créer un site accessible [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><em>Dans cet article nous allons voir quelques points qui pourront nous aider à concevoir des formulaires ergonomiques et accessibles. La première partie concerne la phase de conception graphique, la seconde nécessite une connaissance du HTML car elle est technique.</em></p>
<p>Dans <a href="http://soluo.fr/2011/01/creer-des-sites-accessibles-cest-facile/">un précédent article sur l&#8217;accessibilité</a> nous avons vu qu&#8217;il était facile de créer un site accessible s&#8217;il est assez simple. Cela nécessite un tout petit peu de réflexion pendant la phase de création et une syntaxe HTML impeccable, ce qui n&#8217;est pas insurmontable.</p>
<p>Cependant, les choses se compliquent pour les formulaires &#8211; surtout lorsqu&#8217;ils sont complexes &#8211; ainsi que pour les <a href="http://fr.wikipedia.org/wiki/Rich_Internet_Application">applications riches</a>.</p>
<p>Pour ces types d&#8217;interfaces, plusieurs problèmes d&#8217;accessibilité se posent :</p>
<ul>
<li>La syntaxe HTML est trop limitée pour décrire certains éléments d&#8217;interfaces et leurs comportements</li>
<li>Il n&#8217;est pas toujours évident de choisir la bonne syntaxe HTML pour les éléments complexes,</li>
<li>Les technologies d&#8217;assistance sont nombreuses et leurs fonctionnalités varient. De plus, il existe de nombreuses combinaisons possibles de versions de navigateurs et de ces technologies,</li>
<li>Ces technologies d&#8217;assistance ne sont pas souvent en mesure de signaler le changement d&#8217;état d&#8217;un élément de l&#8217;application utilisant AJAX.</li>
</ul>
<p>Comment pallier à ces problèmes ? Le sujet étant vaste, nous nous concentrerons ici sur les formulaires en général. Mais d&#8217;abord un petit rappel… <strong>qu&#8217;est-ce que l&#8217;accessibilité et pourquoi est-ce important d&#8217;y penser ?</strong></p>
<h3>Pourquoi rendre son site ou application accessible ?</h3>
<h4>La raison noble</h4>
<p>La raison la plus noble est exprimée par Tim Berners Lee, inventeur du World Wide Web :</p>
<blockquote><p>Le pouvoir du Web est son Universalité. Qu&#8217;il soit accessible par n&#8217;importe qui quel que soit son handicap est un de ses aspects essentiels</p></blockquote>
<p>Si l&#8217;on adhère à cette idée que le web est un lieu de partage et de mise en commun des connaissances, il paraît essentiel de permettre à tous d&#8217;y accéder, sans discrimination (si ce n&#8217;est qu&#8217;il faut tout de même posséder un ordinateur et une connexion à Internet).</p>
<h4>La raison chiffrée</h4>
<p>Si cet argument ne vous suffit pas, sachez que 10 à 15% de la population européenne est considérée comme handicapée selon l&#8217;<a href="http://assembly.coe.int/">Assemblée Parlementaire du Conseil de l&#8217;Europe</a>.<br />
Cela représente une part non négligeable de vos clients potentiels. Ces personnes sont probablement encore plus susceptibles que les autres d&#8217;utiliser l&#8217;Internet pour s&#8217;informer, communiquer et consommer puisqu&#8217;elles peuvent le faire avec leurs outils, dans le confort de leur foyer ou de leur bureau.</p>
<h3>Le rôle majeur des formulaires</h3>
<p><img class="alignright size-full wp-image-342" src="http://soluo.fr/wp-content/uploads/2011/02/facebook.jpg" alt="aperçu d'un formulaire de Facebook" width="207" height="78" /></p>
<p>Dans son livre <cite lang="en"><a href="http://www.rosenfeldmedia.com/books/webforms/">Web Form Design, Filling the blanks</a></cite>, Luke Wroblewski met en évidence l&#8217;importance des formulaires sur le web : afin de faire un achat sur un site de ecommerce, il faut passer par un formulaire ; pour pouvoir interagir avec ses amis sur un réseau social, à nouveau des formulaires ; dans des applications web de collaboration professionnelle, <strong>les formulaires sont encore une fois incontournables</strong>.</p>
<p>Ayant débuté ma carrière dans le ecommerce, je sais combien les choix ergonomiques sont difficiles lorsque l&#8217;on veut faciliter la tâche à un utilisateur pour une transaction tout en &laquo;&nbsp;capturant&nbsp;&raquo; certaines données et en lui donnant envie de revenir sur le site par la suite.</p>
<p>Cependant, c&#8217;est surtout en tant qu&#8217;internaute qu&#8217;on se rend compte de l&#8217;importance des formulaires. Qui n&#8217;a pas abandonné une transaction par exaspération ? Qui n&#8217;a pas pensé &laquo;&nbsp;oh non… un formulaire&nbsp;&raquo; et mentalement croisé les doigts pour que tout se passe vite et bien ?</p>
<p>Wroblewski confirme que personne n&#8217;aime les formulaires, et c&#8217;est pour cette raison qu&#8217;il faut les rendre les plus simples et explicites possibles.</p>
<p><img class="alignright size-full wp-image-343" src="http://soluo.fr/wp-content/uploads/2011/02/stress.jpg" alt="Homme stressé" width="221" height="188" /></p>
<p><strong>Un internaute qui s&#8217;arrache les cheveux face à votre formulaire est un internaute stressé, pour qui l&#8217;image de votre marque sera altérée à jamais</strong>. Il est possible qu&#8217;il ne revienne pas sur votre site à cause d&#8217;une mauvaise expérience utilisateur.</p>
<p>Un travail sur l&#8217;ergonomie des formulaires sera bénéfique à tous les utilisateurs et rendra service à votre marque. Le livre de Wroblewski présente quelques cas pratiques où parfois un simple changement d&#8217;intitulé ou de couleur d&#8217;un bouton ont permis une augmentation fulgurante du chiffre d&#8217;affaire de l&#8217;entreprise.</p>
<h3>Quelques astuces pour une meilleure ergonomie de vos formulaires</h3>
<p>Entrons dans le vif du sujet avec quelques astuces pratiques pour le positionnement et les styles des éléments de formulaire.</p>
<ul>
<li><strong>Positionnement du label</strong>
<p>A une époque j&#8217;étais persuadée, après avoir lu quelques articles sur le sujet, qu&#8217;il fallait que le label se situe à gauche du champ et qu&#8217;il soit aligné à droite. Ce n&#8217;était pas toujours très pratique.</p>
<p><img class="alignright size-full wp-image-338" src="http://soluo.fr/wp-content/uploads/2011/02/campaign_monitor1.jpg" alt="Site de Campaign Monitor" width="300" height="274" /></p>
<p>En fait, tous les spécialistes s&#8217;accordent pour dire que le choix du positionnement du label associé à un élément de formulaire dépend du contexte. Les trois options valables sont :</p>
<ul>
<li>label à gauche, texte aligné à gauche,</li>
<li>label à gauche, texte aligné à droite</li>
<li>label au dessus (aligné à gauche)</li>
</ul>
<p>Ces trois options constituent des choix ergonomiques totalement acceptables, cependant en termes d&#8217;accessibilité, il semblerait que la troisième option soit la meilleure dans la majorité des cas.</p>
<p>En effet, il sera beaucoup plus confortable pour un utilisateur de loupe d&#8217;écran de voir le label et son élément de formulaire associé alignés à gauche. De cette manière ils n&#8217;auront pas besoin d&#8217;aller voir ce qui se passe plus à droite.</li>
<li><strong>Une seule colonne</strong>
<p>Pour la même raison, il est préférable que le formulaire se déroule sur une seule colonne car s&#8217;il y en a plusieurs, certains utilisateurs seraient susceptibles de passer à côté de certaines d&#8217;entre elles.</p>
<p>Il en va de même pour les messages d&#8217;erreur qu&#8217;il faut éviter de positionner à droite du formulaire.</li>
<li><strong>Signaler les erreurs de plusieurs manières</strong>
<p><img class="alignright size-full wp-image-340" src="http://soluo.fr/wp-content/uploads/2011/02/error.jpg" alt="Message d'erreur du site Foxycart" width="180" height="84" /></p>
<p>Pour signaler une erreur, on utilise souvent la couleur rouge. C&#8217;est une convention que l&#8217;on peut appliquer sans problème, à condition de ne pas tout miser dessus : pensons aux utilisateurs qui ont des troubles de la vision des couleurs et ajoutons une icône par exemple. On choisira de préférence un fond rouge pale avec du texte foncé plutôt que du texte rouge vif en petits caractères, afin d&#8217;optimiser la lisibilité.</p>
<p><strong>Note sur les erreurs :</strong> bien penser ses messages d&#8217;erreurs est essentiel, mais les éviter est encore une bien meilleure option. Faites tout pour que votre formulaire soit indulgent, en éliminant les espaces et les caractères indésirables côté serveur pour un numéro de téléphone par exemple, ou encore en acceptant plusieurs formats de date.</li>
</ul>
<h3>Accessibilité des formulaires : quel code ?</h3>
<p>Nous avons parcouru quelques règles d&#8217;ergonomie qui seront bénéfique à tous les utilisateurs voyants ou mal-voyants. Cependant, l&#8217;expérience utilisateur des personnes faisant usage de lecteurs d&#8217;écrans sera en grande partie dépendante du code de la page web. Comment rendre ses formulaires accessibles ?</p>
<ul>
<li><strong>Toujours utiliser un label</strong>
<p>Chaque élément de formulaire (champ texte, case à cocher, menu déroulant…) doit avoir un label associé. Parfois on ne souhaite pas afficher de label car il créerait une redondance. Dans ce cas, on utilise quand même un label mais on le masque avec CSS.</p>
<p><strong>Attention ! Ne pas utiliser display: none car cela masquerait l&#8217;élément des lecteurs d&#8217;écran aussi.</strong></p>
<p>J&#8217;utilise les définitions suivantes (tirées de <a lang="en" href="http://html5boilerplate.com/">HTML5 Boilerplate</a> par Paul Irish) :</p>
<pre>  .visuallyhidden {
   position: absolute !important;
   clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
   clip: rect(1px, 1px, 1px, 1px); }</pre>
<p>Si on ne peut vraiment pas utiliser de &lt;label&gt;, alors il faut ajouter un attribut <em>title</em> à l&#8217;élément de formulaire car c&#8217;est ce que la plupart des lecteurs d&#8217;écrans chercheront en second.</li>
<li><strong>Fieldset &amp; Legend</strong><br />
Avant de regarder la conférence vidéo <a lang="en" hreflang="en" href="http://store.furtherahead.com/virtual-seminar/in-top-form/">In Top Form: Designing and Building Accessible Forms</a> de Derek Featherstone, j&#8217;étais persuadée que l&#8217;utilisation de &lt;fieldset&gt; et &lt;legend&gt; était le top du top des meilleures pratiques. De plus, <a hreflang="en" href="http://reference.sitepoint.com/html/fieldset">j&#8217;avais lu quelque part qu&#8217;on était dans l&#8217;obligation d&#8217;utiliser &lt;fieldset&gt; et &lt;legend&gt; ensemble</a> à tous les coups.</p>
<p>La vérité est en fait plus nuancée. Comme pour beaucoup de choses en matière d&#8217;ergonomie, d&#8217;accessibilité et de code, nos choix doivent dépendre du contexte.</p>
<p>Le problème du tag &lt;legend&gt; est que certains lecteurs d&#8217;écran vont le lire avant chaque &lt;label&gt; du &lt;fieldset&gt;.</p>
<p>Considérons ce petit formulaire :</p>
<pre>&lt;fieldset&gt;
  &lt;legend&gt;Caractéristiques de votre projet&lt;/legend&gt;

  &lt;label for="nomDuProjet"&gt;Nom de votre projet&lt;/label&gt;
  &lt;input type="text" id="nomDuProjet" name="nomDuProjet" /&gt;

  &lt;span&gt;Type de projet&lt;/span&gt;

  &lt;input type="radio" id="typeWeb" name="projectType" /&gt;
  &lt;label for="typeWeb"&gt;Web&lt;/label&gt;

  &lt;input type="radio" id="typePrint" name="projectType" /&gt;
  &lt;label for="typePrint"&gt;Print&lt;/label&gt;

  &lt;input type="radio" id="typeVideo" name="projectType" /&gt;
  &lt;label for="typeVideo"&gt;Vidéo&lt;/label&gt;
  …
&lt;/fieldset&gt;</pre>
<p>Le problème de ce formulaire c&#8217;est qu&#8217;il crée trop d&#8217;accessibilité car certains lecteurs d&#8217;écrans répéteront le contenu du &lt;legend&gt; avant chacun des &lt;label&gt; comme ceci : <em>&laquo;&nbsp;Caractéristiques de votre projet, Nom de votre projet, champ texte. Caractéristiques de votre projet, Web, bouton radio. Caractéristiques de votre projet, print, bouton radio, Caractéristiques de votre projet, vidéo, bouton radio.&nbsp;&raquo;</em></p>
<p>On comprend bien que ça doit être très agaçant à entendre, surtout si le formulaire est long…</p>
<p>Alors que faire ? Les auteurs de <cite lang="en"><a hreflang="en" href="http://www.sitepoint.com/books/forms1/">Fancy Form Design</a></cite> suggèrent de garder le tag &lt;fieldset&gt; mais de substituer un titre au &lt;legend&gt; dans des cas de figure tels que celui que nous venons d&#8217;évoquer.</li>
<li><strong>L&#8217;importance du choix du texte</strong><br />
Vous avez peut-être remarqué un autre souci avec le code du formulaire que nous venons d&#8217;examiner. Avant les trois boutons radio, l&#8217;intitulé qui correspond à ce groupe est dans un &lt;span&gt;. Il est peu probable que l&#8217;utilisateur entende son contenu en mode formulaire.</p>
<p>Une méthode judicieuse suggérée par Derek Featherstone dans <a hreflang="en" href="http://store.furtherahead.com/virtual-seminar/in-top-form/">son tutoriel vidéo</a> consiste à ajouter un intitulé au début du label du premier élément de la liste.</p>
<p>Reprenons notre exemple pour illustrer cette technique :</p>
<pre>&lt;fieldset&gt;
  &lt;h3&gt;Caractéristiques de votre projet&lt;/h3&gt;

  &lt;label for="nomDuProjet"&gt;Nom de votre projet&lt;/label&gt;
  &lt;input type="text" id="nomDuProjet" name="nomDuProjet" /&gt;

  &lt;span&gt;Type de projet&lt;/span&gt;

  &lt;input type="radio" id="typeWeb" name="projectType" /&gt;
  &lt;label for="typeWeb"&gt;<strong>&lt;span class="visuallyhidden"&gt;Projet de type : &lt;/span&gt;</strong>Web&lt;/label&gt;

  &lt;input type="radio" id="typePrint" name="projectType" /&gt;
  &lt;label for="typePrint"&gt;Print&lt;/label&gt;

  &lt;input type="radio" id="typeVideo" name="projectType" /&gt;
  &lt;label for="typeVideo"&gt;Vidéo&lt;/label&gt;
…
&lt;/fieldset&gt;</pre>
<p>Le label correspondant au premier bouton radio contient un &lt;span&gt; dont le contenu sera lu par les lecteurs d&#8217;écrans tout en étant invisible à l&#8217;écran grâce à la classe <em>.visuallyhidden</em> expliquée auparavant.</p>
<p>Voici ce qu&#8217;un lecteur d&#8217;écran devrait dire (approximativement) en mode formulaires : <em>&laquo;&nbsp;Nom de votre projet, champ texte. Projet de type : web, bouton radio ; print, bouton radio ; vidéo, bouton radio.&nbsp;&raquo;</em></p>
<p>Cette lecture est beaucoup plus satisfaisante car elle est claire et succincte.</p>
<p>Il s&#8217;agit donc de faire preuve de bon sens et de réfléchir aux intitulés les plus pertinents pour les utilisateurs de lecteurs d&#8217;écrans comme pour les autres.</li>
<li><strong>Messages d&#8217;erreur et d&#8217;avertissement</strong><br />
Une bonne pratique consiste à mettre les messages d&#8217;erreur ainsi que certaines instructions dans un &lt;em&gt; ou &lt;strong&gt; à l&#8217;intérieur du &lt;label&gt;. Ce tag peut éventuellement être masqué à l&#8217;écran. Dans le cas d&#8217;une erreur, on peut tout à fait utiliser CSS pour styler ce tag de la manière que nous avons évoqué précédemment.</p>
<p>Voici un exemple d&#8217;utilisation :</p>
<ul>
<li> <strong>Avant soumission du formulaire :</strong>
<pre>&lt;label for="nomDuProjet"&gt;Nom de votre projet
    <strong>&lt;em&gt;saisir au moins 3 caractères&lt;/em&gt;</strong>
&lt;/label&gt;

&lt;input type="text" id="nomDuProjet" name="nomDuProjet" /&gt;</pre>
</li>
<li> <strong>En cas d&#8217;erreur si la personne a saisi moins de trois caractères, le formulaire pourra changer de cette manière :</strong>
<pre>&lt;label for="nomDuProjet"&gt;Nom de votre projet
    <strong>&lt;strong&gt;doit contenir moins 3 caractères&lt;/strong&gt;</strong>
&lt;/label&gt;

&lt;input type="text" id="nomDuProjet" name="nomDuProjet" /&gt;</pre>
</li>
<li><strong>Manque de syntaxe</strong><br />
Nous avons évoqué au début de cet article le problème du manque de syntaxe dans certains cas. En mode formulaire, nous savons qu&#8217;un lecteur d&#8217;écran se focalisera sur les éléments de formulaires. Le problème est que dans certains cas, un &lt;label&gt; n&#8217;est pas suffisant ; on souhaite apporter des indications supplémentaires à l&#8217;utilisateur. Si l&#8217;on utilise un &lt;label&gt; et un paragraphe de texte apportant de plus amples informations, ce dernier risque d&#8217;être ignoré par les lecteurs d&#8217;écrans, alors que faire ?</p>
<p>C&#8217;est une des problématiques auxquelles <a title="pour en savoir plus sur ARIA" href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">ARIA</a> tente de répondre en apportant plus de syntaxe.</p>
<p>Dans le cas de figure où l&#8217;on souhaite présenter un paragraphe de texte d&#8217;aide, on pourra utiliser l&#8217;attribut <em>aria-describedby</em> de cette manière :</p>
<pre>&lt;label for="nomDuProjet"&gt;Nom de votre projet &lt;em&gt;saisir au moins 3 caractères&lt;/em&gt;&lt;/label&gt;

&lt;input type="text" id="nomDuProjet" name="nomDuProjet" <strong>aria-describedby="aideNomDuProjet"</strong> /&gt;

&lt;p <strong>id="aideNomDuProjet"</strong>&gt;Vous ne pourrez pas modifier le nom de votre projet par la suite. Nous vous conseillons de blablabla.&lt;/p&gt;</pre>
<p>Même si vous utilisez un label de la manière classique, c&#8217;est une bonne pratique d&#8217;utiliser aussi l&#8217;attribut <em>aria-labelledby</em> de cette manière :</p>
<pre>&lt;label for="nomDuProjet" <strong>id="AnomDuProjet"</strong>&gt;Nom de votre projet &lt;em&gt;saisir au moins 3 caractères&lt;/em&gt;&lt;/label&gt;

&lt;input type="text" id="nomDuProjet" name="nomDuProjet" <strong>aria-labelledby="AnomDuProjet"</strong> /&gt;</pre>
<p>Tous les lecteurs d&#8217;écrans ne savent pas interpréter ARIA, et beaucoup d&#8217;utilisateurs ne connaissent pas l&#8217;existence de cette nouvelle syntaxe comme le montre ce <a href="http://webaim.org/projects/screenreadersurvey2/#landmarks">sondage datant de fin 2009 sur l&#8217;utilisation des lecteurs d&#8217;écran</a>.</p>
<p>Si le lecteur d&#8217;écran supporte ARIA, sa syntaxe aura la priorité sur les autres attributs, mais il faut prévoir tous les cas de figure et penser son formulaire pour qu&#8217;il soit accessible sans le support d&#8217;ARIA.</li>
</ul>
</li>
</ul>
<h3>Conclusion</h3>
<p>Nous avons survolé quelques règles d&#8217;ergonomie et d&#8217;accessibilité des formulaires mais il y en a bien d&#8217;autres. Je vous invite à consulter les ressources (listées ci-dessous) que j&#8217;ai moi même utilisé pour explorer ce sujet.</p>
<p>Ce qu&#8217;il faut retenir, c&#8217;est que l&#8217;on souhaite que l&#8217;internaute ait une expérience utilisateur positive, c&#8217;est à dire sans stress.</p>
<p>Pour ce faire, il faut avant tout :</p>
<ul>
<li>simplifier chaque formulaire au maximum et ne garder que les champs essentiels.</li>
<li>garder en tête les différents profils d&#8217;utilisateurs et les nombreux degrés de handicaps qui existent.</li>
<li>prendre chaque décision d&#8217;ergonomie ou d&#8217;accessibilité en fonction du contexte.</li>
<li>soigner son code et faire attention à son choix de vocabulaire pour éviter les erreurs et les incompréhensions.</li>
</ul>
<p>ARIA et HTML5 vont apporter des réponses aux problèmes de syntaxe mais en attendant que ceux-ci soient mieux supportés, il faut penser à tous les cas de figure et ne pas se reposer uniquement sur ces nouvelles syntaxes.</p>
<h3>Sources &amp; ressources</h3>
<p>Beaucoup de ces ressources sont en anglais.</p>
<ul>
<li><strong>Livres</strong></li>
<li><cite lang="en"><a href="http://www.sitepoint.com/books/forms1/">Fancy form design</a></cite> par Jina Bolton, Tim Connell et Derek Featherstone</li>
<li><cite lang="en"><a href="http://www.lukew.com/resources/web_form_design.asp">Web Form Design: Filling the blanks</a></cite> par Luke Wroblewski, 2008</li>
<li><strong>Vidéo</strong></li>
<li><cite lang="en"><a href="http://store.furtherahead.com/virtual-seminar/in-top-form/">In Top Form: Designing and Building Accessible Forms</a></cite> par Derek Featherstone</li>
<li><strong>Articles</strong></li>
<li><a href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">Introduction à WAI ARIA (traduction)</a> par Pierre Bertet sur Les Intégristes</li>
<li><a href="http://webaim.org/projects/screenreadersurvey2">Screen Reader User Survey Results</a> sur WebAIM</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/03/concevoir-des-formulaires-ergonomiques-et-accessibles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Créer des sites accessibles, c&#8217;est facile</title>
		<link>http://soluo.fr/2011/01/creer-des-sites-accessibles-cest-facile/</link>
		<comments>http://soluo.fr/2011/01/creer-des-sites-accessibles-cest-facile/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 09:39:49 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[intégration]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=333</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Dans cet article nous allons parcourir quelques règles d&#8217;accessibilité qui concernent le code HTML, l&#8217;écriture des contenus, ainsi que les phases de conception et de design. Ces règles rendent service à une multitude d&#8217;utilisateurs. En parallèle, elles favorisent un bon référencement naturel, ce qui n&#8217;est pas négligeable. Il y a donc tout à gagner en [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p><em>Dans cet article nous allons parcourir quelques règles d&#8217;accessibilité qui concernent le code HTML, l&#8217;écriture des contenus, ainsi que les phases de conception et de design. Ces règles rendent service à une multitude d&#8217;utilisateurs. En parallèle, elles favorisent un bon référencement naturel, ce qui n&#8217;est pas négligeable. Il y a donc tout à gagner en les implémentant. </em></p>
<h3>Accessibilité web : qui est concerné ?</h3>
<p><a href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web">Selon Wikipedia, l&#8217;accessibilité du Web</a> est <cite>la problématique de l&#8217;accès aux services et contenus en ligne pour les handicapés et les seniors.</cite></p>
<p>Avec 22% de plus de 60 ans (INSEE) et <a href="http://www.accessiweb.org/fr/definition_accessibilite_du_web/personnes_handicapees/" class="broken_link" >environ 15% de personnes ayant un certain degré de handicap</a>, on s&#8217;attendrait à ce que la majorité de sites web soient accessibles. Ils sont pourtant une faible minorité en ce début d&#8217;année 2011.</p>
<p>Il y a plusieurs causes à ce manque d&#8217;accessibilité du paysage web actuel :</p>
<ul>
<li>Les développeurs et intégrateurs ne sont pas formés en accessibilité ou ils ont du mal à communiquer au reste de leur équipe l&#8217;importance de l&#8217;accessibilité.</li>
<li>Les clients ne sont pas sensibilisés à ce sujet ou pensent que ça va leur coûter trop cher.</li>
<li>Les designers pensent qu&#8217;un site accessible ne peut pas être esthétique et que leur liberté de création va être réduite.</li>
</ul>
<p>Il y a probablement d&#8217;autres causes en jeu, mais un des problèmes certain est le manque d&#8217;information de tous les partis concernés. En réalité, il est relativement facile de créer des sites accessibles en respectant quelques règles de base.</p>
<h3>Règles de base pour un site accessible</h3>
<ul>
<li>
<strong>Une syntaxe HTML impeccable</strong><br />
C&#8217;est une évidence ! Il s&#8217;agit par exemple de n&#8217;utiliser des tableaux que pour les données tabulaires ; d&#8217;utiliser des balises de titres pour les titres etc. Une bonne syntaxe sera aussi bénéfique pour les moteurs de recherches donc il y a tout à gagner.
</li>
<li>
<strong>Des titres descriptifs</strong><br />
Selon <a href="http://webaim.org/projects/screenreadersurvey2/#images">un sondage réalisé par WebAIM en 2009 sur l&#8217;utilisation faite des lecteurs d&#8217;écrans</a>, 50% des personnes interrogées utilisent la fonctionnalité qui leur permet de naviguer d&#8217;un titre à l&#8217;autre lorsqu&#8217;ils cherchent une information. C&#8217;est leur manière de &laquo;&nbsp;lire en diagonale&nbsp;&raquo;, d&#8217;où l&#8217;importance d&#8217;utiliser le bon marquage, et de choisir une formulation qui décrira le contenu qui correspond à cette section.
</li>
<li>
<strong>Des liens descriptifs</strong><br />
De la même manière qu&#8217;un utilisateur de lecteur d&#8217;écran peut lister tous les titres d&#8217;une page, il peut aussi lister tous les liens qu&#8217;elle contient. 16% des personnes interrogées dans le même sondage utilisent cette fonctionnalité. Il est donc important de choisir la formulation de chaque lien avec soin, pour qu&#8217;il ait du sens une fois sorti de son contexte. Il faut éviter à tout prix les libellés de type &laquo;&nbsp;cliquer ici&nbsp;&raquo; ou &laquo;&nbsp;en savoir plus&nbsp;&raquo;.</p>
<p>Une méthode possible est de rajouter dans un span caché des internautes voyant une partie du lien :</p>
<p>Par exemple considérons le lien suivant :</p>
<pre>
&lt;a href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web"&gt;
en savoir plus &lt;span class="lecteurDecran"&gt; sur l'accessibilité du web&lt;/span&gt;
&lt;/a&gt;</pre>
<p>Dans la feuille de style, définissons <a href="http://webaim.org/techniques/css/invisiblecontent/">un style qui masquera à l&#8217;écran le texte contenu dans le span</a>, mais le laissant &laquo;&nbsp;visible&nbsp;&raquo; pour les lecteurs d&#8217;écran :</p>
<pre>
.lecteurDecran {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }
</pre>
<p>Dans cet exemple, les personnes utilisant un lecteur d&#8217;écran entendent la totalité du lien, au lieu de seulement &laquo;&nbsp;en savoir plus&nbsp;&raquo; qui ne veut rien dire une fois sorti de son contexte. Cependant, les personnes utilisant un navigateur classique ne voient que &laquo;&nbsp;en savoir plus&nbsp;&raquo; à l&#8217;écran.
</li>
<li>
<strong>L&#8217;importance des listes</strong><br />
Les listes sont très utiles car les lecteurs d&#8217;écrans annoncent le nombre d&#8217;items qu&#8217;elles contiennent avant de les énoncer. Ne pas oublier de créer des listes pour les menus de navigation. En fait, les listes sont assez fréquentes et elles ne doivent pas nécessairement être accompagnées de puces ou des numéros à gauche.</p>
<p>Une petite astuce consiste à se poser la question suivante : est-ce un titre ou un paragraphe ? Si la réponse est négative, il y a de grandes chances pour qu&#8217;il s&#8217;agisse d&#8217;une liste.
</li>
<li>
<strong>Mettre les contenus importants en haut de page</strong><br />
Dans le code HTML, il est préférable de mettre le contenu important avant les contenus contextuels ou secondaires. Les lecteurs d&#8217;écrans lisent les pages de haut en bas, il est donc logique de leur présenter les contenus importants en premier. Pour les internautes voyants, on se sert de CSS pour placer les différents contenus où on le souhaite sur la page.
</li>
<li><strong>L&#8217;attribut ALT</strong><br />
Toutes les images qui ne sont pas des images de fond (ces dernières sont définies dans les feuilles de style), doivent impérativement avoir un attribut ALT. Si ces images sont purement décoratives cet attribut doit être laissé vide. De cette manière, le lecteur d&#8217;écran l&#8217;ignorera totalement.<br />
Si en revanche une image apporte du sens, le texte contenu dans l&#8217;attribut devrait être descriptif mais bref.</p>
<p>77% des utilisateurs de lecteurs d&#8217;écrans veulent savoir qu&#8217;une photo représente une jeune femme qui sourit, contre seulement 12.8% qui préféreraient que ce genre d&#8217;image soit totalement ignorée par le lecteur d&#8217;écran. Ce type de visuel peut apporter une information sur le ton et l&#8217;image de marque d&#8217;une entreprise par exemple.
</li>
<li>
<strong>La conclusion en premier</strong><br />
Pour chaque paragraphe, il est conseillé de résumer le contenu de celui-ci dans la première phrase, pour que l&#8217;utilisateur de lecteur d&#8217;écran soit en mesure de décider s&#8217;il souhaite continuer à lire ou passer à une autre partie de la page. Tous les utilisateurs bénéficieront de ce style d&#8217;écriture.
</li>
<li><strong>Des titres de pages descriptifs</strong><br />
Le titre de la page web est le premier élément que lit un lecteur d&#8217;écran, c&#8217;est pourquoi il est essentiel qu&#8217;il soit pertinent et descriptif.
</li>
</ul>
<h3>Une multitude de déficiences et de handicaps</h3>
<p>Nous nous sommes focalisés sur les utilisateurs non voyants utilisant des lecteurs d&#8217;écrans, mais il existe bien d&#8217;autres profils d&#8217;utilisateurs handicapés auxquels il faut penser.</p>
<p>Selon <a href="http://www.accessiweb.org/fr/definition_accessibilite_du_web/personnes_handicapees/" class="broken_link" >une étude publiée en 2002 sur les handicaps</a>, il y a en France environ 12 millions de personnes souffrant d&#8217;un handicap, à des degrés très variés. Cela correspond à environ 15% de la population. De plus, ces chiffres ne prennent pas en compte des déficiences assez répandues qui ne sont pas des réellement des handicaps, mais qu&#8217;il faut tout de même inclure dans la problématique de l&#8217;accessibilité web. Il y a par exemple le daltonisme (8% de la population), la dyslexie (10% de la population) et l&#8217;épilepsie (environ 1% de la population).</p>
<p>Pour faciliter l&#8217;expérience de ces utilisateurs ainsi que de tous les autres, on peut ajouter quelques règles pour les phases de conception et de design :</p>
<ul>
<li>
<strong>Utilisation de contrastes forts</strong><br />
Le contraste entre le texte et la couleur de fond doit être important pour être facile à lire. De plus, il est recommandé d&#8217;utiliser des fonds clairs avec du texte foncé plutôt que l&#8217;inverse pour les sites avec beaucoup de contenu.</p>
<p>Il existe plusieurs outils en ligne pour vérifier que l&#8217;on a fait un bon usage des couleurs, comme <a href="http://www.checkmycolours.com/">Check my colours</a> et <a href="http://www.dasplankton.de/ContrastA/">Contrast-A</a></li>
<li>
<strong>Utilisation des couleurs avec parcimonie</strong><br />
Il peut être tentant, pour le web designer débutant, d&#8217;utiliser une palette chromatique large, cependant trop de couleurs peuvent nuire à la lisibilité de la page et distraire l&#8217;oeil. De plus, éviter les associations de couleurs telles que le rouge avec le vert car les daltoniens auront des difficultés à discerner les deux.</li>
<li>
<strong>Eviter à tout prix les animations rapides et répétitives</strong><br />
Avez vous essayé de lire un article avec plein de bannières de publicité animées à côté ? C&#8217;est très pénible pour beaucoup d&#8217;utilisateurs. Autant que possible, il faut éviter ces animations rapides et répétées. Si vous devez mettre de la pub sur une page, préférez des versions statiques ou des animations lentes et qui s&#8217;arrêtent au bout de quelques secondes.
</li>
</ul>
<h3>Conclusion</h3>
<p>Rendre un site web accessible, ce n&#8217;est pas très difficile, il y a quelques bonnes habitudes à prendre mais une fois qu&#8217;elles font parties de nos méthodes de travail, on ne peut pas dire qu&#8217;il y ait un travail supplémentaire à fournir.</p>
<p>Cependant l&#8217;accessibilité devient plus difficile à implémenter lorsqu&#8217;il s&#8217;agit d&#8217;applications internet riches plutôt que de simple sites web. En effet, celles-ci utilisent souvent des éléments de javascript et de AJAX qui permettent de rafraîchir une partie de la page seulement. D&#8217;autre part, ces applications comportent généralement des formulaires qu&#8217;il faut savoir intégrer correctement afin qu&#8217;ils soient accessibles. Nous explorerons ces domaines dans un prochain article.</p>
<h3>Ressources utilisées pour la rédaction de cet article</h3>
<ul>
<li><a href="http://www.webcredible.co.uk/user-friendly-resources/web-accessibility/screen-readers.shtml">Improving usability for screen reader users (Webcredible)</a></li>
<li><a href="http://webaim.org/projects/screenreadersurvey2/">Sondage réalisé par WebAIM en 2009 sur l&#8217;utilisation faite des lecteurs d&#8217;écrans (WebAIM)</a></li>
<li><a href="http://fr.wikipedia.org/wiki/Accessibilit%C3%A9_du_Web">Définition de l&#8217;accessibilité du web (Wikipedia)</a></li>
<li><a href="http://www.accessiweb.org/fr/definition_accessibilite_du_web/personnes_handicapees/" class="broken_link" >Personnes handicapées dans le monde, en Europe et en France<br />
 (accessiweb.org)</a></li>
<li><a href="http://webaim.org/techniques/css/invisiblecontent/">CSS in Action: Invisible Content Just for Screen Reader Users (WebAIM)<br />
</a></li>
<li><a href="http://webaim.org/projects/screenreadersurvey2">Screen reader user survey results (WebAIM)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2011/01/creer-des-sites-accessibles-cest-facile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Débats à Paris Web 2010</title>
		<link>http://soluo.fr/2010/10/debats-a-paris-web-2010/</link>
		<comments>http://soluo.fr/2010/10/debats-a-paris-web-2010/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 17:59:33 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Communauté]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=331</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Paris Web 2010 s’est déroulé du 14 au 16 octobre et a rassemblé des centaines de professionnels du web : des développeurs, des intégrateurs, des web designers, et d’autres profils du web, du marketing à l’accessibilité.
Les sujets abordés étaient tantôt méthodologiques, techniques ou quasi philosophiques. D’après ce que j’ai pu voir, les conférences qui ont [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p>Paris Web 2010 s’est déroulé du 14 au 16 octobre et a rassemblé des centaines de professionnels du web : des développeurs, des intégrateurs, des web designers, et d’autres profils du web, du marketing à l’accessibilité.</p>
<p>Les sujets abordés étaient tantôt méthodologiques, techniques ou quasi philosophiques. D’après ce que j’ai pu voir, les conférences qui ont généré le plus de réactions du publics étaient celles de <a href="http://www.fran6art.com/">Francis Chouquet</a>, <em>CSS3/Photoshop : quel avenir pour le métier de web designer ?</em> et d’<a href="http://eric.daspet.name/">Eric Daspet</a> <em>Le web, un métier de valeur</em>.</p>
<p>J’ai eu l’impression qu’il y avait un certain malaise dans une industrie jeune et dynamique où beaucoup cherchent leur place.</p>
<h3>Le designer et le code</h3>
<p>Il y a le débat (j’ai envie de dire “vieux comme le monde” mais ça me paraît un peu prématuré) : le web designer doit-il savoir coder ? Les opinions divergent fortement :</p>
<ul>
<li>Ne pas savoir coder peut brider la créativité car on ne comprend pas les possibilités liés à la technologie et on peut passer à côté de certaines choses.</li>
<li>Savoir coder peut aussi brider la créativité car on pense aux contraintes (ou “spécificités”) du web au lieu de donner libre cours à son imagination.</li>
</ul>
<p>Pour moi, les deux arguments sont valides mais est-ce que ça ne dépend pas de l’individu, de sa sensibilité et de ses méthodes de travail ? Je trouve que c&#8217;est tant mieux s&#8217;il y a <a href="http://soluo.fr/2010/03/maquettes-interactives-le-design-dans-le-navigateur/">plusieurs approches et outils possibles à la création Web</a>.</p>
<p>Dans des petites structures, les profils hybrides seront appréciés tandis que dans les grosses agences, on cherchera des personnes plus spécialisées. Ce n’est peut-être pas toujours vrai mais dans l’ensembe ça résume bien la situation.</p>
<h3>Des experts en mal de reconnaissance</h3>
<p>Lors de la conférence d’Eric Daspet sur la valeur des métiers du web, plusieurs membres du public ont parlé du problème de manque de reconnaissance de leur expertise. Dans beaucoup de leurs entreprises, le Web, c’est pour les stagiaires.</p>
<p>Les experts sont donc peu reconnus et leurs intitulés de postes reflètent ce problème, tout comme leurs minces salaires qui ne correspondent pas aux nombreuses compétences qu&#8217;on exige d&#8217;eux. Eric Daspet nous a parlé d&#8217;offres de stages non payés qu&#8217;il voit toujours passer et qui demandent des compétences solides dans des langages de programmation complexes et très spécifiques, ainsi que de nombreuses années d&#8217;expériences !</p>
<h3>Des solutions ?</h3>
<p>Certains proposent de s&#8217;accorder sur une nomenclature pour nos métiers. Je trouve dommage qu’on veuille à tout prix s’étiqueter comme dans d’autres industries. Ne peut-on pas tirer parti du légér flou qui règne quand on parle de “web designer” ? Chacun peut se façonner une casquette à sa taille en quelque sorte. D’autant plus que nos métiers évoluent tellement vite ; comment définir ce qui est en constante mutation ?</p>
<p>Selon Eric Daspet, les professionnels du Web ont tendance à se positionner en executants car ils disent trop souvent &laquo;&nbsp;oui&nbsp;&raquo; aux demandes déraisonnables des moins experts. C&#8217;est une piste.</p>
<p>Quelqu’un a évoqué l’artisanat pour parler de nos métiers. L’idée m’a plu instantanément. Quand on cherche une définition du mot “artisan” sur Google on trouve trois définitions dont deux qui me paraissent les plus pertinentes :</p>
<blockquote cite="http://fr.wiktionary.org/wiki/artisan"><p>Celui ou celle qui exerce un métier mécanique ou manuel, qui suit les règles d’un art établi, par opposition aux métiers dits industriels où la production est fournie par des automates; Celui qui est l’auteur, l’origine de quelque chose.</p></blockquote>
<blockquote cite="http://www.nirgos.com/meb2f.htm"><p>C’est un travailleur manuel. Il travaille pour des particuliers. L’artisan travaille seul, en famille ou avec des compagnons.</p></blockquote>
<p>On trouve ici l’idée d’un savoir-faire très humain, même s’il utilise la technologie. L’artisan est à la fois concepteur et executant : il est auteur de son oeuvre. L’autre notion qui me parait importante est que l’artisan travaille soit seul soit en groupe. Il peut donc être très polyvalent ou assez spécialisé, ce qui n’enlève rien à son savoir-faire.</p>
<h3>Conclusion</h3>
<p>En somme, ces débats confirment mes impressions à mon retour en France l&#8217;année dernière, après des années passées au Royaume Uni où les diplomes et les étiquettes ont une moindre importance : les métiers du Web et en particulier du Design Web sont peu valorisés notre pays. Les intitulés de postes sont nombreux et fourre-tout mais qu&#8217;importe, tout cela est en pleine mutation. Il y a un an j&#8217;avais l&#8217;impression que tout le monde  ne jurait que par Flash ici, mais déjà j&#8217;entends un autre son de cloche. Je garde donc espoir pour l&#8217;avenir des Artisans du Web.</p>
<ul>
<li><a href="http://twitter.com/#!/FlowerMountain">Suivez moi sur Twitter</li>
<li><a href="http://twitter.com/#!/Fran6">Suivez Francis Chouquet sur Twitter</li>
<li><a href="http://twitter.com/#!/edasfr"">Suivez Eric Daspet sur Twitter</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2010/10/debats-a-paris-web-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 types de notifications pour applications web</title>
		<link>http://soluo.fr/2010/05/5-types-de-notifications-pour-applications-web/</link>
		<comments>http://soluo.fr/2010/05/5-types-de-notifications-pour-applications-web/#comments</comments>
		<pubDate>Wed, 12 May 2010 15:26:37 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Applications web]]></category>
		<category><![CDATA[Ergonomie]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=317</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

Chez Soluo nous travaillons actuellement sur un projet d&#8217;application web. C&#8217;est dans ce cadre que je me suis penchée sur les différentes manières d&#8217;afficher des messages d&#8217;erreur, d&#8217;avertissement, d&#8217;information et de confirmation.
Les messages d&#8217;erreur sont probablement les plus connus, mais les autres types de notifications peuvent aussi être utiles. Parfois, on veut signaler à l&#8217;utilisateur [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<p>Chez Soluo nous travaillons actuellement sur un projet d&#8217;application web. C&#8217;est dans ce cadre que je me suis penchée sur les différentes manières d&#8217;afficher des messages d&#8217;erreur, d&#8217;avertissement, d&#8217;information et de confirmation.</p>
<p>Les messages d&#8217;erreur sont probablement les plus connus, mais les autres types de notifications peuvent aussi être utiles. Parfois, on veut signaler à l&#8217;utilisateur que l&#8217;action qu&#8217;il a déclenché s&#8217;est déroulée comme prévue, car si rien ne se passe à l&#8217;écran, il peut croire qu&#8217;une erreur s&#8217;est produite et c&#8217;est très frustrant. D&#8217;autres fois, une partie des actions ont réussi tandis que d&#8217;autres ont échoué. Il faut donc en informer l&#8217;utilisateur.<br />
<strong><br />
J&#8217;ai identifié 5 manières de présenter de telles informations au sein d&#8217;une interface web. Le souci est de savoir laquelle utiliser et dans quel cas. De plus, dans une application comme sur un site web, il faut faire preuve de cohérence : on évitera d&#8217;utiliser ces 5 styles de notifications sur une même interface, on risquerait de désorienter l&#8217;utilisateur.</strong></p>
<h3>1ère méthode :  la zone unique de notification</h3>
<p>C&#8217;est un emplacement, souvent situé en haut de l&#8217;interface, qui sert à afficher les notifications de tous types à travers l&#8217;application. Cette zone vient toujours se positionner à la même place. Si on décide de la situer dans le header, cela implique de la laisser vide en l&#8217;absence de notification. On peut aussi choisir de l&#8217;afficher sous le header de manière à ce qu&#8217;elle pousse le contenu vers le bas lorsqu&#8217;elle apparaît.<br />
<a href="http://images.patterntap.com/1/0/10853389964900893853cf9.png" rel="lightbox[317]">Exemple de zone unique de notification</a></p>
<p><strong>Avantages : </strong>Participe à la cohérence de l&#8217;application car les messages sont toujours au même endroit. Il n&#8217;y a donc pas de surprise, et c&#8217;est une bonne chose. De plus, rien ne nous empêche d&#8217;utiliser cette approche et de la combiner avec la suivante dans certains cas.</p>
<p><strong>Inconvénients :</strong> Quand l&#8217;utilisateur est descendu en bas d&#8217;une page longue, cette zone est alors masquée. Si on ne voit pas le message, on peut avoir l&#8217;impression que rien ne s&#8217;est passé. Si la page revient brusquement tout en haut afin que le message soit visible, cela peut être frustrant pour l&#8217;utilisateur que l&#8217;on a presque redirigé, sans lui demander son avis.</p>
<h3>2ème méthode : les messages contextuels</h3>
<p>Ce sont les messages que l&#8217;on positionne au sein même de la zone concernée. Le meilleur exemple est celui des formulaires. Si le formulaire ne valide pas car un champ comporte une erreur, on préférera mettre en valeur ce champ &#8211; en rouge par exemple &#8211; plutôt que de mettre un message générique en haut du formulaire. De cette manière l&#8217;utilisateur n&#8217;a pas trop d&#8217;effort à faire : il sait tout de suite ce qui s&#8217;est passé et comment rectifier le problème.</p>
<p>Pour faire encore mieux, on peut allier les méthodes 1 &#038; 2 en mettant un message en haut de page avec les détails de l&#8217;erreur ET en faisant ressortir les champs à modifier.<br />
<a href="http://images.patterntap.com/1/9/19210805554b2d3f7cbc9ad.png" rel="lightbox[317]">Exemple de message contextuel</a></p>
<p><strong>Avantages :</strong> Le message est positionné dans la zone de l&#8217;interface concernée, donc l&#8217;utilisateur a toutes les chances de le voir.</p>
<p><strong>Inconvénients :</strong> Représente un peu plus de travail pour les développeurs et intégrateurs car chaque message est un peu &laquo;&nbsp;sur mesure&nbsp;&raquo;.</p>
<h3>3ème méthode : la fenêtre modale</h3>
<p>Elles sont très à la mode, surtout pour la présentation de galeries photo, mais aussi pour les notifications importantes. En général elles sont positionnées de manière centrale dans la fenêtre, avec un calque transparent en fond, signifiant ainsi que le reste de l&#8217;interface est désactivé.<br />
<a href="http://images.patterntap.com/1/6/1653206604927259587c0b.png" rel="lightbox[317]">Exemple de fenêtre modale (lui-même présenté dans une fenêtre modale)</a></p>
<p><strong>Avantage :</strong> On peut être sûr que l&#8217;utilisateur va voir le message. Il y a une idée &laquo;&nbsp;d&#8217;urgence&nbsp;&raquo;, ou du moins à une situation critique qu&#8217;il faut examiner de plus près.</p>
<p><strong>Inconvénient : </strong>C&#8217;est une approche assez agressive car on empêche l&#8217;utilisateur d&#8217;interagir avec le reste de l&#8217;application. De plus, on l&#8217;oblige à prendre une décision, sans quoi il ne peut pas se débarrasser de la fenêtre. Bref, il ne faut pas abuser des fenêtres modales.</p>
<h3>4ème méthode : la boite de dialogue</h3>
<p>Par boite de dialogue, j&#8217;entends &laquo;&nbsp;l&#8217;alert box&nbsp;&raquo; du navigateur. Elle s&#8217;apparente à la fenêtre modale car elle requière une action de la part de l&#8217;utilisateur. Par contre le web designer n&#8217;a aucun contrôle sur son aspect visuel et son positionnement : cette boite appartient à l&#8217;interface du navigateur plutôt qu&#8217;à celle de l&#8217;application web ou site web.<br />
<a href="http://soluo.fr/wp-content/uploads/2010/05/confirm1.jpg" rel="lightbox[317]">Exemple de boite de dialogue</a></p>
<p><strong>Avantages :</strong> Le sentiment d&#8217;urgence et de gravité qu&#8217;elle procure si utilisée avec parcimonie.</p>
<p><strong>Inconvénient : </strong>C&#8217;est encore plus intrusif qu&#8217;une fenêtre modale : on l&#8217;associe plus à une &laquo;&nbsp;erreur fatale&nbsp;&raquo;. Son utilisation est troublante quand il s&#8217;agit de communiquer un message purement informatif ou de confirmation car on s&#8217;attend à un message d&#8217;une certaine gravité.<br />
Contrairement à la fenêtre modale, la boite de dialogue peut passer inaperçue : le reste de l&#8217;interface est désactivé mais ce n&#8217;est pas mis en évidence visuellement.<br />
Vous l&#8217;aurez compris, je n&#8217;ai pas beaucoup d&#8217;affection pour ce mode de notification et je ne vois pas très bien où il a sa place sur le web.</p>
<h3>5ème méthode : les notifications de type &laquo;&nbsp;Growl&nbsp;&raquo;</h3>
<p>Ce sont ces messages qui apparaissent assez discrètement dans un coin de l&#8217;écran ou de la fenêtre. Parfois ils disparaissent d&#8217;eux-même au bout de quelques secondes, d&#8217;autres fois il faut cliquer sur un bouton pour les fermer. Ces notifications se superposent donc à l&#8217;interface de manière plutôt subtile.<br />
<a href="http://www.erichynds.com/examples/jquery-notify/">Voir la démo d&#8217;un plugin de type &laquo;&nbsp;Growl&nbsp;&raquo;</a></p>
<p><strong>Avantages :</strong> Ce système permet d&#8217;afficher des messages dans une même zone de la fenêtre quelle que soit la longueur de la page. Cela résout donc le problème de la 1ère méthode où le message peut être masqué si on est en bas de page. Ce type de notification permet de discrètement afficher des messages informatifs et n&#8217;empêche pas l&#8217;utilisation du reste de l&#8217;interface.</p>
<p><strong>Inconvénients :</strong> Si on utilise ce système pour des notifications importantes, on risque de ne pas les voir ou de ne pas comprendre l&#8217;urgence du message car leur positionnement dans la page n&#8217;est pas contextuel. De plus il y a des zones auxquelles nous faisons moins attention (en bas à gauche/droite).</p>
<h3>Alternative aux notifications intrusives</h3>
<p><img src="http://soluo.fr/wp-content/uploads/2010/05/delete.png" alt="delete" title="delete" width="299" height="131" class="alignright size-full wp-image-319" />Je suis arrivée à la conclusion que toutes ces méthodes &#8211; à part peut être la boite de dialogue &#8211; sont des solutions valides, mais qu&#8217;il faut savoir utiliser au bon moment.</p>
<p>Les solutions intrusives telles que les fenêtres modales et les boites de dialogue sont à utiliser le moins possible, car leur problème est justement&#8230; qu&#8217;elles sont intrusives.<br />
<strong>Et si on pouvait s&#8217;en passer complètement ?</strong></p>
<p>En lisant le chapitre &laquo;&nbsp;Notifying and Confirming&nbsp;&raquo; du livre <em>About Face 2.0, The essentials of interaction design</em> (Alan Cooper &#038; Robert Reimann, Wiley Publishing, 2003), j&#8217;ai réalisé qu&#8217;il y avait presque toujours une alternative au message intrusif.</p>
<p>Par exemple, si l&#8217;utilisateur clique sur un bouton &laquo;&nbsp;supprimer&nbsp;&raquo; afin d&#8217;effacer un document de l&#8217;application, pourquoi afficher une fenêtre modale lui demandant de confirmer l&#8217;action à effectuer ? Dans 95% des cas, la personne veut vraiment effacer le document. Lui demander de confirmer cette action peut instiguer le doute et créer un certain stress. Par ailleurs, si la même fenêtre apparaît à chaque fois que l&#8217;utilisateur souhaite effacer quelque chose, il risque d&#8217;y être tellement habitué qu&#8217;il va machinalement cliquer sur &laquo;&nbsp;OK&nbsp;&raquo;.</p>
<p>Mieux vaut donc effacer le document sans rien demander, mais en donnant après coup la possibilité de le restaurer. Gmail fait ça très bien ; il m&#8217;arrive parfois de sélectionner un email et de cliquer sur &laquo;&nbsp;signaler comme spam&nbsp;&raquo; au lieu d&#8217;un autre bouton. Aussitôt l&#8217;action effectuée, la possibilité de l&#8217;annuler est bien visible dans la zone de header, sur fond jaune.</p>
<p>Cette manière de faire est beaucoup plus pertinente car elle traite des cas rares &#8211; ces 5% &#8211; où l&#8217;utilisateur s&#8217;est trompé, au lieu d&#8217;ajouter une étape pour les 95% des cas où tout se passe comme prévu.</p>
<p>Il faut tout de même savoir que la création d&#8217;une fonction &laquo;&nbsp;annuler&nbsp;&raquo; peut représenter une tonne de travail pour les développeurs. Il peut donc être plus rentable de s&#8217;en passer. Par exemple, permettre d&#8217;annuler la suppression d&#8217;un document est assez simple. En revanche, si l&#8217;élément à supprimer est relié à d&#8217;autres éléments, tout se complique. </p>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2010/05/5-types-de-notifications-pour-applications-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment utiliser CSS3 dès aujourd&#8217;hui</title>
		<link>http://soluo.fr/2010/04/comment-utiliser-css3-des-aujourdhui/</link>
		<comments>http://soluo.fr/2010/04/comment-utiliser-css3-des-aujourdhui/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 15:40:09 +0000</pubDate>
		<dc:creator>raphaelle</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[intégration]]></category>
		<category><![CDATA[navigateur]]></category>

		<guid isPermaLink="false">http://soluo.fr/?p=309</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

CSS3 en bref
CSS3 permet la création d&#8217;effets visuels qui ne pouvaient pas être réalisés auparavant, ou qui nécessitaient du marquage en plus et/ou du Javascript.
En bref, CSS3 simplifie le job de l&#8217;intégrateur et met plus d&#8217;outils à sa disposition.
Parmi les nouveautées inclues dans les specifications CSS3, on trouve :

text-shadow : en une ligne on peut [...]]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<script src="http://soluo.fr/wp-content/themes/soluo2010/sforms/sforms.js"></script>
<!-- End Of Script Generated By cforms -->


<!-- Start Of Style Generated By sforms v0.1 [Julien Casanova | juliencasanova.com] -->
<!-- End Of Style Generated By cforms -->

<h3>CSS3 en bref</h3>
<p>CSS3 permet la création d&#8217;effets visuels qui ne pouvaient pas être réalisés auparavant, ou qui nécessitaient du marquage en plus et/ou du Javascript.</p>
<p>En bref, CSS3 simplifie le job de l&#8217;intégrateur et met plus d&#8217;outils à sa disposition.</p>
<p>Parmi les nouveautées inclues dans les specifications CSS3, on trouve :</p>
<ul>
<li><strong>text-shadow</strong> : en une ligne on peut ajouter une ombre portée à du texte, et bien plus encore car on peut ajouter autant d&#8217;ombres qu&#8217;on le souhaite. Pour chaque ombre on définit les distances par rapport au texte d&#8217;origine sur les axes x et y, ainsi qu&#8217;une valeur de flou. <a href="/wp-content/uploads/html/css3_aujourdhui/text-shadow.html">Voici un exemple</a>.</li>
<li><strong>RGBA</strong> : avant on avait la propriété &laquo;&nbsp;opacity&nbsp;&raquo; qui permettait de rendre des objets translucides. L&#8217;inconvénient c&#8217;est que tout ce qui est contenu dans cet objet devient translucide, ce qui peut rendre les textes moins lisibles. Avec RGBA on peut définir des couleurs de fond et leur degré d&#8217;opacité avec la propriété &laquo;&nbsp;background&nbsp;&raquo;, donc pas de problème de texte illisible.</li>
<li><strong>Images de fond multiples</strong> : avec CSS3 on n&#8217;est plus limité à une image de fond par objet ; le nombre est a priori illimité.</li>
<li><strong>box-sizing</strong> : cette propriété permet de changer le &laquo;&nbsp;box model&nbsp;&raquo;. On a la possibilité d&#8217;inclure le padding dans la taille de l&#8217;objet, ou le padding + la bordure. </li>
</ul>
<p>Cette liste n&#8217;est pas exhaustive ; Il existe bien d&#8217;autres propriétés : dégradés, animations, rotations et autres.</p>
<h3>Le problème</h3>
<p>Toutes ne sont pas compatibles avec les mêmes navigateurs et à ma connaissance, aucune n&#8217;est compatible avec les versions 7 et 8 d&#8217;Internet Explorer. Il faudra attendre IE9 pour voir du CSS3 chez Microsoft. (Voir ce <a href="http://www.findmebyip.com/litmus#target-selector">tableau de compatibilité des navigateurs avec CSS3</a>.) </p>
<p><strong>Comment utiliser CSS3 dès aujourd&#8217;hui alors que Internet Explorer concerne plus du tiers des internautes ?</strong></p>
<p>Cela va dépendre du projet, car si vous créez un site pour un public en particulier qui utilise à 80% IE7, ce n&#8217;est peut-être pas très intéressant d&#8217;utiliser CSS3. En revanche si votre public se situe dans la moyenne avec 35% de IE, ou mieux, si vous vous adressez à un public assez &laquo;&nbsp;geek&nbsp;&raquo;, vous pouvez dès maintenant utiliser CSS3 tout en travaillant sur des vues alternatives pour les navigateurs moins évolués.</p>
<p>Par ailleurs, il faut savoir que certaines propriétés CSS3 peuvent être reproduites à l&#8217;aide de filtres pour IE (ombres, transparence, rotations). Ces filtres sont un peu pénibles à utiliser et ne produisent pas exactement les mêmes effets que CSS3 mais ça peut dépanner. Ne pas oublier de les mettre dans des feuilles de style séparées.</p>
<h3>Solution : la dégradation gracieuse</h3>
<p>Il est tout a fait possible de concevoir un site utilisant CSS3 pour des effets d&#8217;ombres, de rotations, de dégradés ou autre, et d&#8217;offrir une version alternative, plus simple, aux navigateurs moins évolués.</p>
<h4>Cas pratique : <a href="http://www.cannybill.com">CannyBill.com</a></h4>
<p>Le site <a href="http://www.cannybill.com">CannyBill.com</a> a été réalisé par <a href="http://www.stuffandnonsense.co.uk/">Andy Clarke</a>. Si vous visualisez ce site sur plusieurs navigateurs vous verrez quelques petites différences. Cet article écrit par <a href="http://forabeautifulweb.com/blog/about/what_does_browser_testing_mean_today/">Andy Clarke explique sa démarche</a> et présente des aperçus des différents navigateurs.</p>
<p>Selon Andy Clarke, star du Design Web et défenseur des standards Web, il ne faut pas chercher à obtenir exactement le même design dans tous les navigateurs ; il faut produire la meilleure version du site pour le meilleur navigateur (sa référence à lui est Safari 4), puis on descend la chaîne des navigateurs jusqu&#8217;à IE en adaptant le design. </p>
<p>Au final, l&#8217;utilisateur ne se rendra compte à aucun moment qu&#8217;il ne voit pas certains effets du fait du navigateur qu&#8217;il utilise. On parle donc de &laquo;&nbsp;dégradation gracieuse&nbsp;&raquo; car quel que soit le navigateur utilisé, l&#8217;internaute est face à un site cohérent visuellement. </p>
<h4>Cas pratique : <a href="http://forabeautifulweb.com/">For a beautiful web</a></h4>
<p>Sur <a href="http://forabeautifulweb.com/">la page d&#8217;accueil</a> il y a 3 jaquettes de DVD en vente. Sur Safari 4, quand on passe la souris sur une jaquette, le DVD sort vers la droite avec un effet de rotation. Sur Firefox 3.6 le DVD sort sans effet de rotation, et sur IE 7 et 8, le DVD ne bouge pas.<br />
Dans aucun de ces cas l&#8217;internaute se demande-t-il si c&#8217;est normal ou &laquo;&nbsp;cassé&nbsp;&raquo; &#8211; car peu de gens regardent un même site sur 5 navigateurs différents &#8211; donc il s&#8217;agit d&#8217;un petit plus pour les utilisateurs de Safari et Firefox.</p>
<h3>CSS3 en 2010</h3>
<p>Donc, pourquoi ne pas utiliser CSS3 dès aujourd&#8217;hui ? Il existe un outil qui permet de styler les éléments d&#8217;une page différemment selon qu&#8217;un navigateur supporte telle ou telle propriété CSS3 en incluant un simple fichier Javascript. Il s&#8217;agit de <a href="http://www.modernizr.com/">Modernizr</a>. Par exemple, si le navigateur utilisé ne supporte pas le RGBA, <a href="http://www.modernizr.com/">Modernizr</a> ajoute la classe &laquo;&nbsp;no-rgba&nbsp;&raquo; sur le tag HTML, ce qui permet de définir d&#8217;autres couleurs pour tous les navigateurs qui ne supportent pas RGBA.</p>
<p>Dans <a href="/wp-content/uploads/html/css3_aujourdhui/index2.html">cette expérience</a>, j&#8217;ai utilisé du RGBA, des images de fond multiples, et la propriété box-sizing pour inclure le padding et la bordure dans les tailles que j&#8217;ai défini.</p>
<h4>Quelques liens</h4>
<p>J&#8217;ai trouvé plusieurs outils qui génèrent les styles en donnant les versions des différents navigateurs. Chacun de ces outils ne propose pas les mêmes propriétés donc il faut en utiliser plusieurs.</p>
<ul>
<li><a href="http://css3please.com/">CSS3 please</a></li>
<li><a href="http://css3generator.com/">CSS3 generator</a></li>
<li>Plusieurs outils par Western Civilisation :
<ul>
<li><a href="http://westciv.com/tools/transforms/index.html">pour les transformations 2D et 3D</a></li>
<li><a href="http://westciv.com/tools/gradients/index.html">pour les dégradés</li>
<li><a href="http://westciv.com/tools/shadows/">pour les ombres de texte</a></li>
<li><a href="http://westciv.com/tools/textStroke/index.html">pour les contours de texte</a></li>
</ul>
</li>
<li><a href="http://gradients.glrzad.com/">CSS3 gradient generator</a> pour générer des dégradés</li>
<li><a href="http://border-radius.com/">Border radius</a> pour générer des coins arrondis</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://soluo.fr/2010/04/comment-utiliser-css3-des-aujourdhui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

