<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="rss.css" type="text/css"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
 <title>Nico's dreams - Blog et pensées d'un intégrateur/développeur web - Nicolas Hoffmann</title>
 <link>http://www.nicolas-hoffmann.net/rss/index.php</link>
 <atom:link href="http://www.nicolas-hoffmann.net/rss/index.php" rel="self" type="application/rss+xml" />
 <description>Nico's dreams - Nouveautés et mises à jour - Nicolas Hoffmann</description>
 <language>fr-fr</language>
 <ttl>120</ttl>
 <pubDate>Fri, 18 May 2012 04:56:28 +0200</pubDate>
 <lastBuildDate>Fri, 18 May 2012 04:56:28 +0200</lastBuildDate>
 <managingEditor>contact@nicolas-hoffmann.net (Nico)</managingEditor>

 <webMaster>contact@nicolas-hoffmann.net (Nico)</webMaster>
 <image>
  <title>Nico's dreams - Blog et pensées d'un intégrateur/développeur web - Nicolas Hoffmann</title>
  <url>http://www.nicolas-hoffmann.net/rss/nicos_dreams.jpg</url>
  <link>http://www.nicolas-hoffmann.net/rss/index.php</link>
  <description>Nouveautés et mises à jour</description>
 </image>
 <item>
  <title><![CDATA[ Retour sur la Kiwiparty édition 2012 ]]></title>
  <description><![CDATA[ La Kiwiparty a eu lieu le 4 Mai à Strasbourg, cet événement a été organisé par <a href="http://www.alsacreations.com/">Alsacréations</a>. C'était la première fois que je me rendais à cet événement, et qui plus est la première fois en tant qu'orateur.</p>
<p>Si j'avais à reprocher quelque chose à l'organisation et les conférences, je dirais<br />je dirais<br /><br /></p>
<p>Bref, j'ai beau chercher, je ne trouve pas quoi que ce soit à leur reprocher&#160;! :)</p>
<p>En prime, en tant qu'orateur, j'ai été vraiment choyé&#160;: entre l'accueil cordial, la prise en charge du moindre de vos soucis que ce soit pour la présentation ou purement logistique, c'est ni-ckel. Et encore, je ne parle pas de la tablette Play offerte par RIM (Blackberry), de la jolie peluche <span lang="en" xml:lang="en">Cut the Rope</span> offerte par Microsoft (trop mignonne), les livres offerts par Eyrolles ou Dunod, etc. être gâté à ce point-là, c'est proprement indécent&#160;!</p>
<p>Côté conférences, le moins qu'on puisse dire, c'est que c'était varié et très intéressant, voici celles que j'ai suivies (et j'aurais bien suivi les autres, malheureusement, le clonage n'existe pas encore)&#160;: </p>
<p></p><ul><li><strong>Le référencement sur Google</strong> par Olivier Andrieu&#160;: les choses à faire et à ne pas faire, les retours sur les différentes mises à jour (Panda, Penguin, etc.), bref,  une bonne vision globale de ce domaine qui évolue constamment,</li><li>Une <strong>présentation des divers profils de handicaps</strong> par Laurie-Anne Bourdain, efficace et concis, qui permet de réfléchir à améliorer l'accessibilité des sites pour ces derniers.</li><li><strong>Les applications web avec <span lang="en" xml:lang="en">Phone Gap</span> et <span lang="en" xml:lang="en">Sensha Touch</span></strong>, un domaine également très intéressant qui évolue vite,</li><li><strong>Les effets graphiques très avancés</strong>, par Vincent de Oliveira, qui donne un aperçu des futures possibilités monstrueuses que <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> va nous offrir dans quelques temps (imaginez un <span lang="en" xml:lang="en">Photoshop</span> dans un navigateur cela n'a rien d'extravagant, d'ailleurs Adobe travaille beaucoup sur <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5),</li><li><strong>L'industrialisation des bonnes pratiques et des savoir-faire du web</strong>, par les incontournables Élie Sloim et Delphine Malassingne, toujours à la pointe de la gestion de la qualité web,</li><li><strong>Les solutions de tests automatiques</strong> par Karl Dubost, toujours prompt à partager sa grande expérience du web en toute simplicité,</li><li><strong>L'état de l'art et les aspects méconnus de l'image</strong>, par Frédéric Kayser, un sujet étonnant et très instructif,</li><li>et enfin Jérémie Patonnier qui clôt cette journée avec <strong>les transitions et animations <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3</strong>.</li></ul><p></p>
<p>S'en est suivi un petit concours, <span lang="en" xml:lang="en">after</span> très sympathique, et un <span lang="en" xml:lang="en">after-after</span> tout aussi agréable au bord de l'eau.</p>
<p>Reste encore une fois le plaisir de rencontrer plein de nouvelles personnes (connues ou moins connues), d'en revoir certaines très appréciées, d'avoir des discussions de grande qualité je connais peu d'endroits où il m'arrive dans la même journée de discuter avec Karl Dubost, David Rousset, Elie Sloim, Corinne Schillinger, etc. (j'en oublie, et je vous invite à vous renseigner sur ce que font ces personnes si vous êtes intéressé par le web)</p>
<p>Un point qui me fascine à chaque événement web&#160;: même si certains d'entre nous ne bossent pas du tout dans les mêmes structures, ne se sont jamais rencontrés dans aucune des 5 dimensions (espace, temps et Internet), <strong>nous nous posons les mêmes questions, nous réfléchissons aux mêmes problématiques à peu de choses près en même temps</strong> (sans compter que nos anecdotes se ressemblent beaucoup).</p>
<p>D'un côté, cela fait sourire, même si je code dans mon petit village ou dans une agence web, je me dis que je ne suis pas seul à me casser la tête sur des problèmes d'intégration <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> ou à réfléchir sur le web mobile, etc. </p>
<p>De l'autre, je me dis que partager son savoir, ses expériences, ses questions, etc. est vraiment un choix qui me donne du bonheur à l'état le plus brut qui soit. Sans aucun artifice de bisounours, je pense qu'il est difficile de mesurer l'enrichissement de ces échanges.</p>
<p>En conclusion, définitivement&#160;: <strong>Alsacréations, vos <code>id</code> ont de la <code>class</code>&#160;!</strong></p>
<p><abbr title="Post Scriptum" lang="la" xml:lang="la">P.S</abbr>&#160;: je crois que j'ai oublié quelque chose dans l'élan.<br />La présentation que j'ai utilisée pour ma conférence est disponible&#160;: <a href="http://www.slideshare.net/nico3333fr/jquery-mobile-applications-web">jQuery Mobile et applications web</a>.<br />L'exemple que j'ai créé pour cette présentation est également consultable en ligne&#160;: <a href="http://kiwiparty.nicolas-hoffmann.net/">le site de la KiwiParty refait avec jQuery Mobile</a>. N'hésitez pas à me donner des retours sur la présentation ou sur l'exemple via le formulaire ou autre. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1480-Retour-sur-la-Kiwiparty-edition-2012.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1480-Retour-sur-la-Kiwiparty-edition-2012.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Thu, 17 May 2012 11:18:59 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Nouvelle convention d'intégration des réseaux sociaux ]]></title>
  <description><![CDATA[ Nouvelle convention d'intégration personnelle&#160;: désormais sur les intégrations que j'aurai l'occasion de faire, les trucs de partage des réseaux sociaux seront autant que possible contenus dans une <code>div</code> nommée ainsi&#160;: <code>div id="rsalc"</code> (ou une classe le cas échéant).</p>
<p>Pourquoi ce mot&#160;? Très simple, pour <strong>Réseaux Sociaux À La Con</strong>.</p>
<p>Disons-le franchement, je n'ai rien contre en particulier contre les réseaux sociaux, j'en suis un utilisateur à peu près comme tout le monde. </p>
<p>Toutefois, en tant qu'intégrateur un poil soucieux de <span lang="en" xml:lang="en">web design</span>, des performances, etc. je constate une tendance actuelle à transformer les sites en guirlandes de Noël avec ces boutons de partage qui sont partout&#160;! Plus grave, certains sites préfèrent supprimer ou diminuer la place du contenu pour afficher ces guirlandes.</p>
<p>Des boutons «&#160;j'aime&#160;» sur la moindre portion de contenu, des +1 de partout, des <span lang="en" xml:lang="en">widgets</span> Facebook/Pinterest à plein d'endroits différents <strong>trop c'est trop&#160;!</strong></p>
<p>Mon travail d'intégrateur soucieux des performances est parfois ruiné via une profusion de boutons <span lang="en" xml:lang="en">like</span> et autres <span lang="en" xml:lang="en">widgets</span>, et accessoirement, <strong>cela n'apporte RIEN à la plupart des sites</strong>. Et encore, je n'aborde même pas la qualité desdits boutons, certaines portions de code sont proprement vomitives.</p>
<p>Aux décideurs, est-ce que votre business a <strong>réellement un besoin capital</strong> d'autant d'outils de partage de vos sites&#160;? Est-ce que vous pensez <strong>réellement que votre site sera plus apprécié parce qu'il propose 42 façons de le partager sur les réseaux sociaux</strong>&#160;? Est-ce que vous croyez que Facebook, Pinterest, Google Plus, etc. vous apporteront autant de publicité que vous leur en faites&#160;?</p>
<p>Et surtout est-ce vraiment le point le plus critique à traiter&#160;? Ne serait-il pas <strong>plus intelligent de d'abord proposer un contenu très intéressant AVANT de proposer aux internautes 42 façons de le partager&#160;?</strong> ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1479-Nouvelle-convention-integration-reseaux-sociaux.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1479-Nouvelle-convention-integration-reseaux-sociaux.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Tue, 15 May 2012 14:31:29 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Quelques enseignements d'accessibilité ]]></title>
  <description><![CDATA[ Chose promise, chose due (même avec un peu de retard), voici quelques enseignements ou confirmations de bonnes habitudes à prendre, suite à la <a href="http://www.nicolas-hoffmann.net/source/1477-Conference-Romande-sur-l-Accessibilite-du-Web.html">Conférence Romande sur l'accessibilité</a>. Elles ne sont pas très difficiles à faire, donc n'hésitez pas. J'ai pu en voir <strong>le bénéfice direct et net en démonstration durant la conférence</strong>.</p>
<p>J'espère sincèrement <strong>enfoncer des portes ouvertes pour la plupart des points</strong> ci-dessous.</p>
<p>Les synthèses vocales proposent <strong>plusieurs façons d'aborder un document web</strong> (et ce afin de faciliter et d'accélérer la navigation), notamment via la structure des titres et des sous-titres. Si vous doutiez encore de l'utilité d'avoir une structure <code>Hx</code> correcte et explicite, ne doutez plus.<br />Autre possibilité, ces synthèses vocales peuvent <strong>sortir la liste des liens de la page</strong>. Hors contexte, l'utilité d'avoir des liens avec des énoncés pertinents est donc importante dans ce cas (imaginez si tous les liens sont de type «&#160;lire la suite&#160;».</p>
<p>Côté navigation, il est également possible de naviguer en utilisant la touche de tabulation, j'en ai déjà parlé plusieurs fois ici. Il faut garder à l'esprit qu'une synthèse vocale va lire séquentiellement chaque page, donc pour le dire simplement, <strong>la personne va devoir supporter à chaque changement de page la lecture de tout le contenu&#160;!</strong> C'est également valable pour ceux qui naviguent au clavier bien sûr. On parle dans ce cas de navigation séquentielle (littéralement «&#160;à la suite&#160;»).<br />Si vous doutiez de l'utilité des liens d'évitements, n'en doutez plus. Dans le cas de sites ayant un nombre de liens conséquent en navigation (notamment les sites d'e-commerce), l'économie de tabulations (et donc de temps) peut être vraiment importante. Certains sites pourraient <strong>faire économiser pas moins de 4 à 500 tabulations à leurs visiteurs en ajoutant quelques «&#160;pauvres&#160;» liens d'évitement</strong>.</p>
<p>Une bonne habitude toute simple pour les formulaires&#160;: quand un utilisateur de synthèse vocale soumet un formulaire, et en supposant que certains champs n'aient pas été remplis correctement, le formulaire va indiquer dans son contenu un message du style «&#160;les champs suivants doivent être remplis&#160;». Seul souci, l'utilisateur de synthèse vocale n'a pas de retour immédiat sur ce problème (en supposant qu'il en ait un, de retour&#160;!), il doit <strong>attendre que sa synthèse arrive sur ce message d'erreur</strong>, ce qui risque d'être gênant&#160;: l'utilisateur peut croire que son formulaire a été correctement soumis. Pour éviter ce risque, une solution toute simple existe&#160;: il faut <strong>indiquer clairement dans la balise <code>title</code> de la page qu'il y a une erreur</strong>, ainsi, l'utilisateur est tout de suite prévenu qu'il existe un problème. C'est également valable si le formulaire a été correctement soumis&#160;: il faut informer rapidement l'utilisateur.</p>
<p>Une autre bonne idée&#160;: parfois, on vous impose un bouton <code>submit</code> pas très explicite, le classique «&#160;envoyer&#160;». Il pourra être intéressant d'ajouter un attribut <code>title</code> sur ce <code>submit</code> indiquant un complément d'action, par exemple, «&#160;envoyer mon message&#160;».</p>
<p>Côté <abbr title="Accessible Rich Internet Application" lang="en" xml:lang="en">ARIA</abbr>, des possibilités assez simples sont d'ores et déjà implémentables, et notamment une&#160;: les <span lang="en" xml:lang="en">landmarks</span>.</p>
<p>Sous ce nom bizarre se cache quelque chose d'extrêmement simple et pourtant très puissant&#160;: ce sont des attributs <code>role</code> qui permettent de définir le rôle (!) de certaines portions de codes. ainsi, cela permet à l'utilisateur d'une synthèse vocale de pouvoir mieux appréhender la précieuse vue d'ensemble qui lui manque. En pratique, cela consiste à indiquer par exemple les rôles suivants&#160;:</p>
<p></p><ul><li><code>role="contentinfo"</code> indique des notes de pages, un <span lang="en" xml:lang="en">copyright</span>, un lien vers la déclaration de confidentialité, etc.</li><li><code>role="main"</code> indique le contenu principal du document.</li><li><code>role="navigation"</code>, comme son nom l'indique, indique des liens de navigation (internes ou externes).</li></ul><p></p>
<p>Pour une liste beaucoup plus complète, je vous invite à consulter&#160;: <a href="http://www.lesintegristes.net/2008/12/09/introduction-a-wai-aria-traduction/">Introduction à <abbr title="Web Accessibility Initiative" lang="en" xml:lang="en">WAI</abbr>-<abbr title="Accessible Rich Internet Application" lang="en" xml:lang="en">ARIA</abbr></a>.</p>
<p>C'est par exemple implémenté sur ce site, et c'est très facile à prévoir sur un site, il suffit d'ajouter quelques attributs sur son <span lang="en" xml:lang="en">template</span> de base.</p>
<p>Autre idée facile à prévoir, il arrive d'avoir une zone qui se met à jour toute seule (une zone qui affiche des nouvelles, etc.). Pour l'indiquer à la synthèse vocale, il suffit d'utiliser l'attribut <code>aria-live</code>. La valeur spécifiée indique à la synthèse quand elle doit notifier le changement à l'internaute, <code>aria="polite"</code> va attendre que l'utilisateur ait fini ce qu'il est en train de faire pour indiquer le changement.</p>
<p>La liste est très loin d'être exhaustive, toutefois, je me suis limité à des choses vraiment très faciles à implémenter. Ce ne sont que quelques bonnes habitudes à prendre, et quelques choses à savoir. Chose intéressante, <strong>le bénéfice est immédiat pour les utilisateurs d'aides techniques, donc faites-le&#160;!</strong> ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1478-Quelques-enseignements-d-accessibilite.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1478-Quelques-enseignements-d-accessibilite.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sun, 13 May 2012 10:56:30 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Conférence Romande sur l'Accessibilité du Web, j'y étais ! ]]></title>
  <description><![CDATA[ J'ai eu le plaisir d'assister à la Conférence Romande sur l'Accessibilité du Web, un événement organisé par Telono, une société de conseil en expérience utilisateur basée à Genève.</p>
<p>C'était le premier événement du genre en Suisse, juste à côté de chez moi donc.</p>
<p>Ne tournons pas autour du pot&#160;: <strong>pour une première fois, c'est une réussite&#160;!</strong></p>
<p>Je le dis souvent&#160;: en matière d'accessibilité, je refuse de croire que les développeurs ou les intégrateurs comme moi s'en foutent.<br /><strong>Nous ne demandons qu'à bien faire</strong>. Par contre, nous faisons mal par méconnaissance, et simplement car nous ne pouvons pas toujours deviner tous les problèmes qui peuvent se poser, selon les technologies d'assistance.</p>
<p>Donc, je le redis encore et encore <strong>aux personnes qui surfent autrement&#160;: montrez-nous&#160;! Expliquez-nous&#160;! Nous sommes les handicapés, car incapables d'utiliser vos aides techniques.</strong> Pas de grandes paroles, mais du concret.</p>
<p>Et là, à mon humble avis, la journée remplit son rôle, partant d'une simple introduction à l'accessibilité, j'ai pu apprécier une gamme très étendue du domaine&#160;:</p>
<p></p><ul><li>les classiques préjugés du domaines,</li><li>la navigation avec une plage braille et/ou une synthèse vocale,</li><li>la navigation avec un agrandisseur/lecteur d'écran,</li><li>les recommandations <abbr title="Web Content Accessibility Guidelines" lang="en" xml:lang="en">WCAG</abbr> 2.0 et <abbr title="Accessible Rich Internet Application" lang="en" xml:lang="en">ARIA</abbr>, ainsi que les nouvelles technologies,</li><li>le côté législatif en Suisse,</li><li>les convergences entre l'ergonomie et l'accessibilité,</li><li>et l'intégration de l'accessibilité dans les projets.</li></ul><p></p>
<p>Reste <strong>le plaisir de voir de mes oreilles, bref, de comprendre ce que peut impliquer de faire des sites accessibles</strong>.</p>
<p>La grosse surprise de cette journée a été de rencontrer Jean-Pierre Villain. De nombreux experts en accessibilité m'avaient confié que sa présence justifiait à elle seule le déplacement. Ils avaient raison.</p>
<p>Quelle énergie durant les deux présentations qu'il a animées, plein de choses apprises pour ma part, et même certaines dont je ne soupçonnais pas l'existence. En prime, le personnage ne se prend pas au sérieux une seconde, ce qui ne gâche rien.</p>
<p>Quelques moments forts&#160;:</p>
<p></p><ul><li>Des exemples avec <abbr title="Accessible Rich Internet Application" lang="en" xml:lang="en">ARIA</abbr> utilisé à bon escient, la synthèse vocale prend le relai, et tout semble tellement simple que je me demande pourquoi cela n'a pas été fait avant&#160;!</li><li>La synthèse vocale fait sauter aux oreilles les petits détails qui n'en sont pas du tout. Le diable se cache dans les détails en matière d'accessibilité.</li><li>Le débit de la synthèse vocale est parfois impressionnant.</li><li>Certaines démos, notamment les aides techniques sur <span lang="en" xml:lang="en">smartphone</span>, sont étonnantes, j'étais loin d'imaginer toutes ces possibilités.</li></ul><p></p>
<p>Reste le plaisir des rencontres, Carine Rivière, Laetitia Giannettini, Victor Brito, Jean-Pierre Villain, Romain Gervois, Muriel de Dona, etc. Sans oublier les intervenants qui vous impressionnent par leur utilisation d'internet.</p>
<p>Un second billet devrait arriver d'ici peu, sur des enseignements techniques que je tiens à partager, facilement déployables et avec un bénéfice immédiat, que j'ai pu voir lors de cette journée. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1477-Conference-Romande-sur-l-Accessibilite-du-Web.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1477-Conference-Romande-sur-l-Accessibilite-du-Web.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sun, 29 Apr 2012 08:09:07 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Chambé-Carnet, j'y serai également ! ]]></title>
  <description><![CDATA[ Jamais deux sans trois&#160;: après <a href="http://www.nicolas-hoffmann.net/source/1462-La-Kiwi-Party-j-y-serai-aussi.html">une participation à la Kiwi Party</a>, après <a href="http://www.nicolas-hoffmann.net/source/1461-Sud-Web-2012-j-y-serai.html">une autre participation à Sud Web</a>, j'aurai le plaisir de co-animer une conférence à Chambéry le 7 Juin.</p>
<p>L'événement est organisé par l'association Chambé-Carnet, son titre est <a href="http://www.chambe-carnet.com/2012/04/05/mobile-war-web-applications-responsive-design/">Mobile W.A.R&#160;: Web mobile, Applications et <span lang="en" xml:lang="en">Responsive design</span></a>.</p>
<p>Comme vous l'aurez deviné à la lecture de ce titre évocateur, <strong>nous allons parler de web mobile, sous toutes ses formes</strong>. Le prix est très modique, donc n'hésitez pas une seconde.</p>
<p>Le site de Chambé-Carnet présente brièvement <a href="http://www.chambe-carnet.com/2012/04/16/presentation-de-nicolas-hoffmann/">mon parcours et comment j'en suis venu aux problématiques du web mobile</a> (ça c'est si vous êtes curieux). ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1476-Chambe-Carnet-mobile-WAR.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1476-Chambe-Carnet-mobile-WAR.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Tue, 24 Apr 2012 12:43:37 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ 8 ans, en temps web, c'est ]]></title>
  <description><![CDATA[ Il y a 8 ans, jour pour jour, je relançais la base de ce site. <strong>8 ans, en temps web, ce n'est pas rien</strong>. Cela représente une quantité d'ajouts, de modifications, de nouvelles technologies assez étonnante. Et curieusement, <strong>certains choix mis en perspective font sourire</strong>.</p>
<p>La sélection des points abordés ci-dessous est totalement subjective.</p>
<p><h3>2004</h3></p>
<p>J'ai vite <a href="http://www.nicolas-hoffmann.net/source/16-Le-fil-RSS-est-pret.html">ajouté un fil <abbr title="Rich Site Summary" lang="en" xml:lang="en">RSS</abbr></a>, mais au tout début, je doutais de sa réelle utilité. De ce que je peux voir, il a été consulté plus de 850 000 fois depuis son lancement. Je consulte maintenant des sites via fil <abbr title="Rich Site Summary" lang="en" xml:lang="en">RSS</abbr> sur iPad, en widget sur le bureau, via mon client mail, etc. ainsi. Encore des doutes&#160;?</p>
<p>Un peu plus tard, je lançais notamment un petit projet, un <a href="http://www.nicolas-hoffmann.net/source/27-Une-mise-a-jour-consequente.html" rel="nofollow">générateur de formulaires</a>. J'imaginais pas que ce projet finirait par intégrer des nouveaux types <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5.</p>
<p>Curieusement, j'expliquais déjà <a href="http://www.nicolas-hoffmann.net/source/37-De-l-interet-des-standards.html">l'intérêt des standards</a>, notamment sur des <strong>questions de performances</strong> qui a dit que ce sujet ne prendrait jamais d'importance&#160;?</p>
<p>D'ailleurs, toujours à la même époque, je vantais <a href="http://www.nicolas-hoffmann.net/source/41-Encore-un-interet-des-standards.html">les mérites des <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> destinées à l'impression</a>. Encore actuellement, je vois des gens se prendre la tête avec ça.</p>
<p>Toujours dans la même période, très féconde en qualité web, un projet nommé Opquast me donnait quelques <a href="http://www.nicolas-hoffmann.net/source/109-30-000-visites.html">bonnes idées d'améliorations</a> à prodiguer sur mon site. <a href="http://www.nicolas-hoffmann.net/source/253-Des-bonnes-pratiques.html">La version 1.0 a suivi en septembre 2004</a>. D'ailleurs, de nombreux billets suivants ont montré que je me suis approprié ces bonnes pratiques. Qui a dit que 8 ans après, ce projet aurait tellement grandi&#160;?</p>
<p>Un <a href="http://www.nicolas-hoffmann.net/source/308-forum-interessant.html">forum a ouvert sur un site très sympathique</a> nommé <strong>Alsacréations</strong>. A l'époque, je me disais que ces petits gars iront loin</p>
<p>Un <a href="http://www.nicolas-hoffmann.net/source/325-Mozilla-Firefox-1-0.html">navigateur nommé Firefox sortait en version 1.0</a>. 8 ans après, c'est devenu un tout grand. D'ailleurs, son alter ego en client mail <a href="http://www.nicolas-hoffmann.net/source/369-Une-bonne-nouvelle.html">Thunderbird sortait quelques mois plus tard</a>.</p>
<p><a href="http://www.nicolas-hoffmann.net/source/339-Inserer-du-Flash-proprement.html">Insérer du flash proprement</a>&#160;? Mais voyons ma bonne dame, qui a dit que Flash ne serait pas supporté un jour et qu'il faudrait prévoir une solution de repli&#160;!</p>
<p><h3>2005</h3></p>
<p>En Mars 2005, <a href="http://www.nicolas-hoffmann.net/source/529-Openweb-fete-ses-deux-ans.html">un projet fantastique nommé Openweb fêtait ses deux ans</a>, avec pas moins de 4 articles. C'est là que j'y ai publié mon premier article, article qui proposait l'idée des <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> alternatives. Même si l'idée des <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> alternatives a un peu évolué depuis 7 ans, les conseils de structure sont toujours valables.</p>
<p>L'idée d'<a href="http://www.nicolas-hoffmann.net/source/559-Une-CSS-pour-les-petits-ecrans-media-handheld.html">une <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> pour les petits écrans</a> était un truc de geek. Certes, c'est revenu sous une autre forme, mais <strong>qui a dit que les petits écrans devraient rester sans <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>&#160;?</strong></p>
<p><a href="http://www.nicolas-hoffmann.net/source/569-Retour-du-week-end.html">Adobe rachetait Macromédia</a>, ou la fusion de deux géants du web. Oui <abbr title="Usine à gaz générant du code immonde indigne d'un vrai développeur web" lang="en" xml:lang="en">Dreamweaver</abbr> n'était pas un produit Adobe à la base.</p>
<p>Rions un peu, <a href="http://www.nicolas-hoffmann.net/source/602-Suite-et-fin-du-retour-du-week-end.html"><abbr title="Internet Explorer" lang="en" xml:lang="en">IE</abbr>7 annonçait des nouveautés que tous les autres navigateurs avaient déjà</a>.</p>
<p><a href="http://www.nicolas-hoffmann.net/source/624-10-15-Ko-c-est-beaucoup.html">Les performances web, c'est surtout une histoire de gros sous</a>. Et dire qu'on me riait au nez au boulot quand je disais ça.</p>
<p><a href="http://www.nicolas-hoffmann.net/source/728-Opera-gratuit-aujourd-hui.html">Opera offrait une license gratuite de son navigateur</a>, oui, Opera a été sponsorisé par la pub et payant pendant une longue période.</p>
<p><h3>2006</h3></p>
<p><a href="http://www.nicolas-hoffmann.net/source/942-Bonne-surprise-pour-moi-au-dernier-concours-d-Alsacreations.html">Alsacréations, et vos <code>id</code> ont de la <code>class</code></a>. Je mets encore régulièrement le t-shirt avec ce slogan.</p>
<p>La validation du code étant du bon sens, je décidais de <a href="http://www.nicolas-hoffmann.net/source/990-Petites-ameliorations-ca-et-la.html">servir mes pages en <code>application/xhtml+xml</code></a>. 6 ans après, elles utilisent toujours ce principe, mais avec le pendant <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5. Ce qui m'a permis de faire évoluer mon site de <strong>4 versions d'<abbr title="eXtensive HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr></strong>, vu qu'il est passé de <abbr title="eXtensive HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr> 1.0 à <abbr title="eXtensive HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>5.</p>
<p><a href="http://www.nicolas-hoffmann.net/source/1011-Reprise-en-douceur-sortie-de-Firefox-2.html">Firefox 2.0 sortait</a> avec plein d'améliorations. D'ailleurs, <a href="http://www.nicolas-hoffmann.net/source/1048-Installer-Firefox-Facile.html">Installer Firefox règle de petits conflits familiaux</a>.</p>
<p><h3>2007, 2008</h3></p>
<p>Là, le rythme s'est un peu tassé sur mon site personnel, néanmoins beaucoup de réalisations côté professionnel, des boutiques en lignes, des sites tout plus variés les uns que les autres.</p>
<p>Ceci dit, j'aurai mis un certain temps <a href="http://www.nicolas-hoffmann.net/source/1158-Passage-en-UTF-8.html">pour migrer mon site vers UTF-8</a>.</p>
<p><a href="http://www.nicolas-hoffmann.net/source/1162-Google-Chrome.html">Un navigateur nommé Google Chrome fait beaucoup parler de lui</a>, quoi qu'il en soit, Firefox restera mon favori, et cela n'a pas changé au fil de ces années. Et d'ailleurs, je remarque que Tristan Nitot apparait souvent dans mes billets, j'espère quand même avoir <strong>le plaisir de le saluer en vrai une fois</strong>. :)</p>
<p><a href="http://www.nicolas-hoffmann.net/source/1181-Validateur-mobile-W3C.html">Des initiatives pour le web mobile arrivent</a>, mais le domaine n'est pas encore totalement mûr.</p>
<p>Je commence à <a href="http://www.nicolas-hoffmann.net/source/1170-Nouveau-skin-propulse-par-Jquery.html">triturer une bibliothèque nommée jQuery</a>. Si on m'avait dit que cela deviendrait <strong>un quasi-standard</strong> dans mes projets 5 ans plus tard, et que les premiers effets que j'ai pu faire avec se feraient avec des <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> quelques années plus tard, je crois que j'aurais été surpris&#160;!</p>
<p><h3>2009</h3></p>
<p>En 2009, je réalisais un très gros site quasiment tout seul, après avoir eu une année 2008 plutôt difficile point de vue santé. <a href="http://www.nicolas-hoffmann.net/source/1271-Nouvelle-realisation-PNL-Coach-le-site-de-BrieF-R-Formations.html">Je présenterai PNL Coach, le site de BrieF'R Formations au tout début de 2010</a>. C'est resté longtemps le plus gros site que j'ai pu créer. Et cela reste une expérience unique d'aventure humaine notamment grâce à Floriane Briefer. J'évoquerai d'ailleurs quelques bribes de cette expérience <a href="http://www.nicolas-hoffmann.net/source/1410-Hommage-a-une-femme-extraordinaire.html">lors d'un hommage quand elle a rejoint les anges</a>. <br />A une période où l'on me faisait douter de moi, vous m'avez montré que <strong>les seules barrières qu'on a sont celles que l'on se pose</strong>. Encore merci Floriane.</p>
<p><h3>2010</h3></p>
<p>De gros bouleversements sont sur le point d'éclore, <a href="http://www.nicolas-hoffmann.net/source/1280-Salve-d-optimisations-et-de-changements.html">je fais mes armes dans le domaine des performances web</a>. <a href="http://www.nicolas-hoffmann.net/source/1290-CSS-speciale-iPhone.html">Une première <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> spéciale iPhone</a> arrive sur mon site. C'est très imparfait, mais c'est là, le web mobile prend un goût très concret. </p>
<p>En parallèle, <a href="http://www.nicolas-hoffmann.net/source/1298-Passage-a-XHTML5.html">je fais également mes armes sur <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5</a>. En résultera un tutoriel fleuve <a href="http://www.nicolas-hoffmann.net/source/1299-Pour-migrer-mon-site-vers-XHTML5.html">sur la migration d'un site vers <abbr title="eXtensive HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>5</a>. Et mes animations Terragen viendront s'inviter sur mon site grâce à la balise <code>video</code> d'<abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5.</p>
<p>Cause, conséquence ou simple coïncidence, je change de travail à cette époque. Et je me suis mis à Twitter, mais ça c'est une autre histoire. C'est d'ailleurs le seul réseau social que je trouve réellement indispensable.</p>
<p>Le <span lang="en" xml:lang="en"><abbr title="Cascading Style Sheets">CSS</abbr> Summer Refresh</span> d'Alsacréations aura été l'occasion pour moi de <a href="http://www.nicolas-hoffmann.net/source/1333-Nouvelle-CSS-ND-Egypt.html">tester les media-queries</a>. Non pas pour adapter un site aux <span lang="en" xml:lang="en">smartphones</span>, mais pour l'agrandir&#160;! Même si à l'époque le terme <span lang="en" xml:lang="en">responsive web design</span> était peu répandu.</p>
<p>D'ailleurs, <a href="http://www.nicolas-hoffmann.net/source/1349-Refonte-du-site-d-Optimum-Selection.html">mes premières réalisations avec des <span lang="en" xml:lang="en">media-queries</span> en milieu professionnel</a> arrivent à cette période.</p>
<p><h3>2011</h3></p>
<p><a href="http://www.nicolas-hoffmann.net/source/1371-Test-de-Firefox-4-un-navigateur-qui-rime-avec-bonheur.html">Firefox 4 arrive, et c'est un vrai bonheur</a>. Je suis adepte de Panorama, qui m'aide beaucoup dans mon travail.</p>
<p>Enfin, je refonds <a href="http://www.nicolas-hoffmann.net/source/1397-Nouvelle-CSS-en-ligne-CSS3-mediaquery-smartphone.html">mon site perso avec la 25<sup>ème</sup> <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> alternative</a>, celle utilisée actuellement. <span lang="en" xml:lang="en">Media-queries</span>, <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3, <span lang="en" xml:lang="en">jQuery</span>, <span lang="en" xml:lang="en">Webperfs</span>, tout y passe sans concession&#160;!</p>
<p>C'est cette année que <a href="http://www.nicolas-hoffmann.net/source/1425-Paris-Web-2011-en-resume.html">je fais mon premier Paris-Web</a>, et c'était de la balle. D'ailleurs, <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5 continue son petit chemin, je teste de nouvelles possibilités <a href="http://www.nicolas-hoffmann.net/source/1432-Cache-manifest-HTML5-application-site-offline.html">comme le cache manifest</a>.</p>
<p><h3>2012</h3></p>
<p>8 ans après, je me refais <a href="http://www.nicolas-hoffmann.net/source/1448-Une-interface-d-admin-revue-et-corrigee-via-Jquery-Mobile.html">une interface d'administration via <span lang="en" xml:lang="en">jQuery Mobile</span></a>. Si on m'avait dit à ce moment que je ferai une petite conférence à la Kiwi Party cette année, je n'y aurais pas cru. Et je vais d'étonnement en étonnement avec <span lang="en" xml:lang="en">jQuery Mobile</span> et ce que j'arrive à faire avec pour un investissement très léger en temps.</p>
<p>Voilà, <strong>8 ans en temps web</strong>, c'est&#160;:</p>
<p></p><ul><li>La différence entre Firefox 1.0 et 11.0, ou entre IE7 et IE10.</li><li>C'est la longévité du forum Alsacréations.</li><li>Ce sont des milliers de trucs nouveaux, comme <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5, <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3, les performances, le web mobile, le <span lang="en" xml:lang="en">responsive web design</span>, etc. </li><li>Ce sont des connaissances accumulées pendant un quart de ma vie, relatées ici, même de manière très incomplète (je ne peux pas raconter tout ce que j'apprends faute de temps).</li><li>La différence entre <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>1 et <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3.</li><li>Etc.</li></ul><p></p>
<p>Et vous savez quoi&#160;? Je pense que le meilleur est encore à venir, en tout cas, les projets sont légion, et j'en ai un à titre personnel qui risque d'être énorme. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1475-8-ans-en-temps-web-c-est.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1475-8-ans-en-temps-web-c-est.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sat, 21 Apr 2012 13:22:25 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ 8 ans, jour pour jour ]]></title>
  <description><![CDATA[ Cela fait exactement <a href="http://www.nicolas-hoffmann.net/source/2-ENFIN-j-y-suis-arrive.html">8 ans que j'ai relancé la base de ce site</a>. Et le moins que je puisse dire, c'est que 8 ans, en temps web, ce n'est pas rien.</p>
<p>Je prépare un petit <span lang="en" xml:lang="en">best-of</span> de ces huit années de bons et loyaux services ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1474-8-ans-jour-pour-jour.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1474-8-ans-jour-pour-jour.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Fri, 20 Apr 2012 23:32:49 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Un exemple de responsive web design ]]></title>
  <description><![CDATA[ Avant que je sache que ce que je faisais était du <em lang="en" xml:lang="en">responsive webdesign</em> (je voulais surtout tester les <span lang="en" xml:lang="en">media-queries</span> moi !), j'ai fait plusieurs petits sites ou j'ai pu m'exercer à ce type d'intégration un peu nouveau.</p>
<p>En voici un exemple relativement facile qui montre quelques grands principes&#160;: le site <a href="http://www.propulsion.ch/">ProPulsion</a>. C'est un exemple assez simple, car il a peu de contenu, une navigation simple (un seul niveau), néanmoins, il y a <strong>quelques pièges dans lesquels il ne faut pas tomber</strong>.</p>
<p>Le graphisme <span lang="en" xml:lang="en">desktop</span> ayant une disposition un peu «&#160;originale&#160;», il ne doit pas écarter un grand principe&#160;: c'est <strong>la structure <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5 et l'ordre logique de lecture hors mise en page qui dicte l'intégration <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr></strong>, et <strong>certainement pas le contraire</strong>&#160;! D'ailleurs, vous verrez que cette rigueur va rendre les versions <span lang="en" xml:lang="en">smartphone</span> et <span lang="en" xml:lang="en">print</span> bien plus faciles à produire par la suite.</p>
<p>Donc avant de se lancer dans du grand n'importe quoi, revenons aux bases, la page d'accueil étant un petit peu plus compliquée, étudions la page <a href="http://www.propulsion.ch/fr/methode.php">méthode de l'agence ProPulsion</a> qui est très simple, en voici le code&#160;:</p>
<p><pre><code>&lt;div id="menuaccess"&gt;<br /> <br />&lt;/div&gt;<br /><br />&lt;div id="page"&gt;<br /> &lt;div id="header"&gt;<br /><br />  &lt;h1 id="logo"&gt;<br />   &lt;a href="./" accesskey="1"&gt;<br />   &lt;img src="../layout/images/logo-page.gif" alt="" width="266" height="34" /&gt;<br />   &lt;span&gt;ProPulsion - Agence Conseil en Communication&lt;/span&gt;<br />   &lt;/a&gt;<br />  &lt;/h1&gt;<br /><br />  &lt;div id="navigation"&gt;<br />  &lt;ul&gt;<br />   <br />  &lt;/ul&gt;<br />  &lt;/div&gt;<br /><br /> &lt;/div&gt;<br /><br /> &lt;div id="main"&gt;<br />  &lt;div id="content"&gt;<br /><br />   &lt;h2&gt;Le bon sens, cest aussi une méthode de travail.&lt;/h2&gt;<br /><br />   &lt;p&gt;&lt;/p&gt;<br /><br />  &lt;/div&gt;<br /> &lt;/div&gt;<br /><br />&lt;/div&gt;<br /><br />&lt;div id="footer"&gt;<br /> <br />&lt;/div&gt;</code></pre></p>
<p>J'ai supprimé les contenus et les parties non intéressantes. On a donc une structure assez simple dans un ordre logique, le menu d'évitement, le titre avec le logo, la navigation, ensuite le contenu et le pied de page. <strong>Et ce même si la disposition du site n'est à priori pas dans cet ordre visuel</strong> sur un navigateur de type <span lang="en" xml:lang="en">desktop</span>.</p>
<p>Une fois ce code posé, appliquons les styles pour la version <span lang="en" xml:lang="en">desktop</span>&#160;: la navigation et le logo vont être sortis du flux pour être positionnés en bas en <code lang="en" xml:lang="en">absolute</code>, quelques propriétés pour les largeurs pour le contenu, et nous y sommes.</p>
<p>Note&#160;: j'aurais pu partir de la version mobile en premier, mais l'approche <em lang="en" xml:lang="en">mobile first</em> a certains inconvénients, entre autre de priver les anciens <abbr title="Internet Explorer" lang="en" xml:lang="en">IE</abbr> des propriétés <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> contenues dans les <span lang="en" xml:lang="en">media-queries</span>. <abbr title="Internet Explorer" lang="en" xml:lang="en">IE</abbr> étant plus important que les navigateurs mobiles dans ce projet, la version <span lang="en" xml:lang="en">desktop</span> et ses performances seront prioritaires.</p>
<p>La version <span lang="en" xml:lang="en">smartphone</span> va être directement déduite de la version <span lang="en" xml:lang="en">desktop</span>, on garde tout et on adapte seulement les propriétés nécessaires dans <code>@media screen and (max-width: 800px){}</code></p>
<p>L'idée se résume à <strong>rétablir le flux normal</strong>, la navigation et le logo vont se voir attribuer un <code>position:static</code>, la page et le contenu voient leurs propriétés en quelque sorte remises à 0 via&#160;:</p>
<p><pre><code> width:auto;<br /> height:auto;  <br /> margin:auto; <br /> background-color:#fff; <br /> color:#000; <br /> background-image:none; <br /> padding:0;<br /></code></pre></p>
<p>Ainsi, ces derniers vont profiter de tout l'espace qu'ils auront à disposition, que le navigateur soit en portrait ou en paysage.</p>
<p>Petite particularité&#160;: dans un souci d'économie de requêtes <abbr title="HyperText Transfer Protocol" lang="en" xml:lang="en">HTTP</abbr>, j'utilise le logo pour la version <span lang="en" xml:lang="en">print</span> et également pour la version smartphone, ça évite d'utiliser trop d'images.</p>
<p>La version <span lang="en" xml:lang="en">print</span> est très semblable, je rétablis le flux normal, je cache les éléments inutiles comme la navigation ou le menu d'évitement, quelques adaptations, et le tour est joué&#160;!</p>
<p>Comme vous pouvez le voir, produire une version mobile à été simple, surtout parce que le code de base était de bonne qualité&#160;! En résulte une <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> très légère&#160;: 7&#160;<abbr title="kilo-octets">ko</abbr> non compressée, et encore j'aurais pu la minifier pour gagner un peu plus. En version compressée, la <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> pèse 2&#160;<abbr title="kilo-octets">ko</abbr>, ce qui est vraiment léger&#160;!</p>
<p>Même si l'approche n'est pas totalement de type <em lang="en" xml:lang="en">mobile first</em>, il est aisé de constater que le fait d'appliquer quelques grands principes des standards du web, notamment celui d'un contenu correctement linéarisé hors <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> a grandement facilité la tâche.</p>
<p>C'est la preuve &#160;s'il y en avait besoin&#160; qu'<strong>un principe de bonne conception correctement appliqué apporte des bénéfices ailleurs que dans son domaine propre</strong>. Là dans cet exemple, les bénéfices sont en l'occurrence pour l'accessibilité&#160;:</p>
<p></p><ul><li>la navigation au clavier est facilitée,</li><li>l'ordre logique du contenu hors <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> facilite également la lecture par certaines synthèses vocales,</li><li>le document garde un sens logique, ce qui amène d'autres avantages,</li><li>etc.</li></ul><p></p>
<p>mais également les bénéfices abordent d'autres terrains, comme la production d'une version <span lang="en" xml:lang="en">smartphone</span> et <span lang="en" xml:lang="en">print</span> dans le même fichier, ce qui sera appréciable pour les performances web.</p>
<p>Ajoutez à cela que des conseils basiques de performance web comme avoir des sélecteurs efficaces vont également vous faciliter la production d'une version <span lang="en" xml:lang="en">print</span> et <span lang="en" xml:lang="en">smartphone</span>, car vous pourrez réutiliser ces sélecteurs simples dans la <span lang="en" xml:lang="en">media-query</span> pour modifier les propriétés <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>.</p>
<p>Bref, je pourrais encore ajouter d'autres avantages, mais vous avez dû comprendre l'idée&#160;: <strong>tout est interconnecté dans la qualité web, les bénéfices d'un domaine dépassent très souvent ce domaine</strong>. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1473-exemple-responsive-webdesign-css-accessibilite-webperfs.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1473-exemple-responsive-webdesign-css-accessibilite-webperfs.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sat, 14 Apr 2012 16:25:01 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Note de lecture : CSS3 pour les web designers ]]></title>
  <description><![CDATA[ J'ai eu le plaisir de lire le deuxième tome de la collection «&#160;<span lang="en" xml:lang="en">A book apart</span>&#160;»&#160;: <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3 pour les web designers, écrit cette fois par Dan Cederholm.</p><div class="centre"><img src="http://www.nicolas-hoffmann.net/images/divers/css3-pour-webdesigners.gif" width="115" height="180" alt="CSS3 pour les web designers" /></div><p>J'avais déjà vanté les mérites de cette collection via la lecture de <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5 pour les web designers. <abbr lang="la" xml:lang="la" title="Les choses répétées plaisent">Bis repetita placent</abbr>, on retrouve ce qui fait le succès de cette collection, et c'est tant mieux&#160;:</p>
<p></p><ul><li>le format peu volumineux qui permet de vite lire le bouquin,</li><li>le style simple et agréable à lire,</li><li>et on est toujours ancré dans la réalité, pas de délire ultra-expérimental&#160;!</li></ul><p></p>
<p>De prime abord, on pourrait être tenté de penser que le sujet est traité un peu légèrement (ou alors j'ai de très solides connaissances en <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr>3&#160;!), il n'en est rien&#160;: à l'instar de la sémantique <abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5 dans le premier tome, l'auteur se concentre ici sur un sujet qu'il maîtrise, à savoir le design web, <strong>il reste donc dans cette optique tout le long du livre</strong>. Exit les nouveaux types de positionnements par exemple.</p>
<p>Et ce parti pris fonctionne bien&#160;: l'auteur maîtrise bien le sujet de l'amélioration progressive, et montre comment de petits détails bien travaillés peuvent améliorer des éléments aussi simples que des champs de formulaires. Il prône notamment <strong>une utilisation raisonnée et raisonnable des nouveaux effets</strong> et disons-le franchement, <strong>c'est une très bonne chose&#160;!</strong> Déjà je me sens moins seul &#160;certains de mes clients devraient l'écouter&#160; et les exemples qu'il montre sont élégamment pensés.</p>
<p>Au final, c'est une lecture rapide et efficace que, comme vous l'aurez déjà compris, je vous recommande vivement. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1472-Note-de-lecture-CSS3-pour-les-web-designers.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1472-Note-de-lecture-CSS3-pour-les-web-designers.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sat, 07 Apr 2012 14:30:28 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Une micro-astuce CSS sur les input de type submit ]]></title>
  <description><![CDATA[ Voici un truc tout simple qui donne envie de cliquer sur un <code lang="en" xml:lang="en">input</code> de type <code lang="en" xml:lang="en">submit</code>&#160;:</p>
<p><pre><code>input[type="submit"]{<br /> cursor:pointer;<br />}</code></pre></p>
<p>Cela permet de changer le curseur de la souris quand on survole un <code lang="en" xml:lang="en">input</code> de type <code lang="en" xml:lang="en">submit</code>, comme pour les liens.</p>
<p>Évidemment, c'est extensible aux <code lang="en" xml:lang="en">input</code> de type <code lang="en" xml:lang="en">reset</code>, aux balises <code lang="en" xml:lang="en">button</code>, etc.</p>
<p>C'est tellement évident que je me demande pourquoi je ne l'ai pas mis en standard sur tous mes sites. Et histoire de se faire plaisir, ça marche partout sauf sur <abbr title="Internet Explorer" lang="en" xml:lang="en">IE</abbr> 6, donc ne vous en privez pas pour si peu&#160;! ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1471-astuce-CSS-input-type-submit-reset-button.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1471-astuce-CSS-input-type-submit-reset-button.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Wed, 04 Apr 2012 15:04:29 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Contexte, schizophrénie, CSS et préfixes constructeurs ]]></title>
  <description><![CDATA[ Faisant suite à mon billet qui indiquait de <a href="http://www.nicolas-hoffmann.net/source/1465-Ne-soyez-pas-sectaires-dans-vos-approches.html">ne pas être sectaire dans ses approches des sites</a>, je veux vous montrer que la même personne, en l'occurrence moi, peut faire des choix radicalement différents selon le contexte, en matière d'intégration <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> bien sûr&#160;!</p>
<p>Et tant qu'à prendre un sujet trollesque, prenons celui <a href="http://www.nicolas-hoffmann.net/source/1452-Les-prefixes-constructeurs-comment-bien-les-utiliser.html">des préfixes constructeurs</a>&#160;! </p>
<p>Imaginons <strong>deux cas de figure volontairement très différents</strong>&#160;:</p>
<p></p><ul><li>dans le premier, je me place dans le cas de la création d'un site pour un client au travail,</li><li>dans le second, je vais parler des préfixes <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> dans mon admin jQuery Mobile.</li></ul><p></p>
<p>Vous avez sûrement pu constater que dans le billet sur les préfixes, je conseille de tous les utiliser, pour tout un tas de raisons très valables&#160;: </p>
<p></p><ul><li>garantir que tous les navigateurs auront leur préfixe et profiteront de la propriété,</li><li>éviter d'avoir à y revenir par manque de temps,</li><li>ne plus avoir à gérer les mises à jour des navigateurs et le support de ces propriétés, etc.</li></ul><p></p>
<p>Typiquement, quand je conseille cette façon de faire, je suis dans le premier cas, à savoir la création d'un site au travail pour un client. Je n'aurais certainement pas la possibilité d'y revenir en détail, et donc je choisis d'alourdir un peu ma <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> pour être tranquille vis à vis de tous les navigateurs et des spécifications futures.</p>
<p>Second cas, je peux aisément constater dans les <abbr lang="en" xml:lang="en" title="Cascading Style Sheets">CSS</abbr> de jQuery Mobile que certains préfixes sont omis volontairement pour certaines parties, les transitions utilisant <span lang="en" xml:lang="en"><abbr title="Cascading Style Sheets">CSS</abbr> <abbr title="3 dimensions">3D</abbr> transform</span> et <span lang="en" xml:lang="en"><abbr title="Cascading Style Sheets">CSS</abbr> animation</span>. La raison est tout à fait valable&#160;: ces propriétés ne sont supportées à l'heure où j'écris ce billet que par les navigateurs utilisant WebKit et par Firefox. Comme il est stipulé sur <a href="http://jquerymobile.com/blog/2012/02/28/announcing-jquery-mobile-1-1-0-rc1/" hreflang="en">l'annonce de jQuery Mobile RC 1.10</a>, les développeurs ne mettront les préfixes que quand le rendu de ces propriétés sera jugé satisfaisant sur ces navigateurs. De leur côté, <strong>le raisonnement de ne pas mettre tous les préfixes se tient</strong>.</p>
<p>Au vu de mon billet sur les préfixes, vous pourriez être tenté de croire que je vais les ajouter pour le tas de bonnes raisons que j'ai énumérées ci-dessus. Et pourtant il n'en est rien&#160;: <strong>je n'utiliserai pas de préfixes supplémentaires dans ce cas&#160;!</strong></p>
<p>Et voici les très bonnes raisons qui motivent cette décision dans ce cas&#160;:</p>
<p></p><ul><li>j'ai le temps de tenir à jour cette administration basée sur jQuery Mobile,</li><li>je fais confiance à l'équipe de jQuery Mobile qui fait des tests poussés pour savoir si le support des propriétés est satisfaisant ou non,</li><li>et je peux ajouter que dans ce cas, je ne discrimine personne&#160;: cette admin est pour mon utilisation personnelle, et quand bien même j'utiliserais un navigateur différent, ces propriétés ne sont pas reconnues.</li></ul><p></p>
<p>Quid de mon propos&#160;: double langage&#160;? Schizophrénie&#160;? Un coup je dis oui il faut mettre tous les préfixes constructeurs, et l'autre je m'en moque&#160;? La même personne qui tient deux discours diamétralement opposés&#160;?</p>
<p>Non bien entendu, je ne pratique pas le double langage ni ne suis schizophrène&#160;: c'est juste que <strong>le contexte est différent</strong>, <strong>mes buts sont différents dans ces deux cas</strong>, et les arguments annoncés dans ces deux cas sont tout à fait valables selon ces buts.</p>
<p>Tout ce propos pour dire&#160;: <strong>adaptez-vous à votre contexte</strong>. Je suis effaré des fois de voir des personnes qui tiennent tout le temps le même discours face à des choix ou des projets radicalement différents.</p>
<p>Que cela soit clair&#160;: <strong>il y a des réponses courantes aux sites internet</strong>, mais <strong>il n'y a pas de réponse type à tous les cas de figure rencontrables</strong> en matière de sites internet. L'éventail est bien trop large. ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1470-Contexte-schizophrenie-CSS-et-prefixes-constructeurs.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1470-Contexte-schizophrenie-CSS-et-prefixes-constructeurs.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Mon, 02 Apr 2012 14:05:48 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Revue de web ]]></title>
  <description><![CDATA[ Au menu, que du beau linge en matière de sites internet&#160;!</p>
<p>Olivier Nourry pose des questions <a href="http://accessiblog.fr/2012/03/levaluation-de-laccessibilite-des-sites-web-selon-le-w3c/">l'évaluation de l'accessibilité des sites internet par le <abbr title="World Wide Web Consortium" lang="en" xml:lang="en">W3C</abbr></a>. C'est un peu technique, mais c'est intéressant, surtout les réactions que cela suscite dans les commentaires.</p>
<p>Raphaël Goetter nous fait part sur son blog personnel des recherches qu'il fait sur les <a href="http://blog.goetter.fr/post/19739602751/media-queries-et-performances-web-mobile">media-queries et les performances web</a>, instructif&#160;!</p>
<p>Mozilla a présenté une démonstration technologique des possibilités techniques d'<abbr title="HyperText Markup Language" lang="en" xml:lang="en">HTML</abbr>5 et surtout du web en tant que plateforme. Ce jeu s'appelle <a href="http://browserquest.mozilla.org/"  lang="en" xml:lang="en" hreflang="en">Browser Quest</a>. Et le résultat est bluffant, en résulte un jeu de rôle multijoueur ne nécessitant qu'un navigateur moderne pour fonctionner. Certes le jeu est sympathique avec un graphisme délicieusement rétro et se termine rapidement, mais quelle surprise de voir cela fonctionner aussi bien dans un «&#160;simple navigateur&#160;».</p>
<p>Bonne lecture&#160;! ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1469-Revue-de-web.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1469-Revue-de-web.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sat, 31 Mar 2012 18:17:06 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Je déteste les coups forcés ]]></title>
  <description><![CDATA[ Si vous jouez aux échecs, vous connaissez peut-être le terme dit des <strong>coups forcés</strong>. Ce terme indique que votre adversaire vous a mis dans une situation où quoi que vous fassiez, il vous mettra en échec et mat en un certain nombre de coups.</p>
<p>Comme vous vous en doutez, un joueur d'échec n'aime pas se retrouver dans cette situation. Je fais un parallèle avec le travail, avec un exemple totalement fictif, mais inspiré de la réalité.</p>
<p>Un client m'envoie en début de matinée une liste de contacts à importer dans une base mysql avec une demande formulée ainsi&#160;: «&#160;pouvez-vous importer cette liste dans notre base&#160;?&#160;». Étant littéralement débordé de travail urgent pour le même client et sans aucune autre précision, je réponds que oui, mais pas de suite. Aucune réponse de la part du client.</p>
<p>La journée se passe, je reçois un coup de fil de mon patron qui me relance sur le sujet. Surpris, j'explique à ce dernier que j'ai déjà répondu au client que ça serait fait, mais pas de suite vu que je n'ai aucune indication temporelle vu que je bosse déjà à fond pour eux. Il m'indique que c'est urgent, et que le client a hurlé comme quoi il en avait besoin ce soir, car la newsletter doit partir demain.</p>
<p>Ce n'est <strong>pas le fait d'avoir à gérer une urgence qui me dérange</strong> &#160;ça arrive souvent&#160;, c'est surtout de <strong>n'avoir aucune information précise en briefing</strong>, et qu'un petit job qui devrait se traiter sans stress doive être traité en priorité absolue où &#160;loi de Murphy oblige&#160; j'ai le moins de temps. Accessoirement, même si mon boss sait que j'ai été mal briefé comme lui, ça nous met les deux dans une situation désagréable qui pourrait être si facilement évitée.</p>
<p>Peut-être que certaines personnes ont besoin de stresser pour se sentir en vie, cela n'est pas mon cas, je pars de l'idée que <strong>tout stress qui peut être évité doit l'être</strong>.</p>
<p>La demande aurait été formulée ainsi&#160;: «&#160;pouvez-vous importer cette liste dans notre base mysql&#160;? Nous en avons besoin pour demain.&#160;»</p>
<p>Ok, c'est peut-être court comme délai (c'est encore mieux si nous avons un délai plus long, mais je sais que cela n'est pas toujours possible), mais <strong>la différence est que je sais à quoi m'en tenir</strong>. Ajoutez à ça que comme toute personne humaine, j'aime rendre service autant que faire se peut, je vais arriver à trouver un moment dans une journée pour le faire.</p>
<p>Résultat, je serai content d'avoir rendu service, mon boss également, et le client le sera aussi. Il est aisé de constater que dans un cas tout le monde est frustré ou énervé, et dans l'autre tout le monde est content.</p>
<p>Autre exemple&#160;:<br /> tu peux faire ça&#160;?<br /> oui je peux, dans deux heures ça te va&#160;?<br /> en fait j'en aurais besoin de suite.</p>
<p>Encore un coup forcé, tout simplement parce que <strong>le demandeur espère éviter d'avoir à contraindre celui à qui il fait sa demande</strong> et <strong>pense que l'autre amènera lui-même l'issue favorable sans que le demandeur ait eu à en faire la demande</strong>.</p>
<p>Moralité&#160;: au lieu de déléguer une angoisse ou une responsabilité et/ou au  lieu d'être imprécis dans vos demandes, <strong>allez droit au but</strong>. Pensez-y quand vous formulez une demande ou quand vous serez victime de cette gaffe de communication&#160;! :) ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1468-Je-deteste-coups-forces-communication.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1468-Je-deteste-coups-forces-communication.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Fri, 30 Mar 2012 21:25:52 +0200</pubDate>
 </item>
 <item>
  <title><![CDATA[ Pas un modèle d'accessibilité pour la bonne cause ]]></title>
  <description><![CDATA[ Qui aura penché regard sur mon <span lang="la" xml:lang="la">curriculum</span>,<br />verra en bas de ce dernier entre autre <span lang="la" xml:lang="la">decorum</span>,<br />une passion discrète et sensible pour les mythes,<br />discrètement logée au sein de celle des sites.</p>
<p>J'aimerais un jour rassembler ces deux hobbies,<br />si semblables à l'oreille, assez proches à l'écrit,<br />mais tout les oppose, comme Soleil et Lune,<br />si moderne pour l'autre, si ancienne pour l'une.</p>
<p>Il y a bien le héros qui a vaincu moult Troyens,<br />Ajax le grand, mais le rapport est assez moyen,<br />et je pense vraiment que l'acronyme en fasse fi,<br />je ne m'attarderai donc point sur cette homographie&#160;!</p>
<p>Je n'ai la prétention d'avoir la connaissance d'Ulysse,<br />tel un Prométhée qui serait pris en péché d'<em lang="la" xml:lang="la">hybris</em>,<br />sans technique et humble se veut mon propos,<br />partager le plaisir de l'illustre beau mot.</p>
<p>Je sais qu'un homme seul soulève montagnes,<br />alors je ne crains quolibets et autres bagnes.<br />Nulle Moire ne doit dicter le chemin d'un homme,<br />dût-il affronter Éris pour en détruire la pomme.</p>
<p>Du Tartare j'ai pu lentement remarcher,<br />la condition étant de ne pas se retourner.<br />Simple à comprendre&#160;: toujours regarder en avant,<br />Eurydice n'est jamais derrière mais loin devant.</p>
<p>Aller toujours plus loin, animé par une vision,<br />je ne m'explique pas cette étrange passion,<br />parfois je sens le poids de cette conviction,<br />Atlas, nos colonnes ont souffert à l'unisson.</p>
<p>J'ignore si ces mots seront immortels dans une odyssée,<br />sûrement plus fugaces, sitôt publiés sitôt oubliés,<br />mais je me prends à rêver en ce jour dédié à la poésie,<br />qu'un jour ces mots numériques franchissent l'oubli.</p>
<p>Alors en ce jour troublé ou Chronos agite et déforme,<br />je prends le temps de poser mot, avec la forme,<br />pas un modèle d'accessibilité, tant pis pour la cause,<br />heureux celui qui aura pénétré la raison de la prose&#160;!</p>
<p><abbr title="Post Scriptum" lang="la" xml:lang="la">P.S</abbr>&#160;: Le 21 mars a été proclamé Journée mondiale de la poésie par la Conférence générale de l'Organisation des Nations-Unies pour l'éducation, la science et la culture, lors de sa trentième session, à Paris, en octobre et novembre 1999.</p>
<p>Il eut été dommage de ne pas se prêter au jeu, même si j'ai quelques doutes sur mes talents dans le domaine et sur l'intérêt qu'ils peuvent générer. :) ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1466-Pas-un-modele-d-accessibilite-pour-la-bonne-cause.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1466-Pas-un-modele-d-accessibilite-pour-la-bonne-cause.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Wed, 21 Mar 2012 23:04:58 +0100</pubDate>
 </item>
 <item>
  <title><![CDATA[ Ne soyez pas sectaires dans vos approches ]]></title>
  <description><![CDATA[ Certes il est bien d'avoir une habitude de méthode de travail &#160;heureusement d'ailleurs&#160; toutefois, je constate une curiosité. Elle n'est pas propre au web, mais comme c'est mon domaine, je la vois assez souvent dans ce dernier.</p>
<p>Ne le cachons pas, le domaine a pour avantage (ou inconvénient, c'est selon) de <strong>constamment devoir se remettre en cause</strong>. Les connaissances évoluent, les méthodes aussi, il faut inclure dans sa méthode régulièrement de nouveaux enjeux, penser à 4 choses en même temps quand on fait un <span lang="en" xml:lang="en">template</span> <abbr title="Cascading Style Sheet" lang="en" xml:lang="en">CSS</abbr> par exemple, etc.</p>
<p>Vous avez déjà rencontré des personnes qui pensent avoir trouvé une technique, un outil, une méthode et qui ne savent plus faire autrement mais pour tout&#160;?</p>
<p>Genre un site de 4 pages à pondre, et ils vous sortent un cahier des charges type de 60 pages parce que «&#160;c'est écrit dans ma méthodologie&#160;!&#160;» Ou ils vont utiliser un énorme <abbr title="Content Management System" lang="en" xml:lang="en">CMS</abbr> pour un pauvre site statique qui aurait été tout aussi bien créé sans. Les exemples pourraient être nombreux.</p>
<p>Pire, quand <strong>ces habitudes interdisent d'augmenter la qualité de la prestation, sclérosent la réactivité au travail ou gênent l'ajout d'une nouvelle possibilité</strong> c'est un excellent indicateur de danger.</p>
<p>Ce propos m'inspire plusieurs conseils&#160;: le métier a la chance d'être extrêmement varié, c'est bien d'avoir une approche ou des méthodes, mais <strong>ne soyez pas sectaire ni borné</strong>. Il n'y a pas de réponse parfaite à une question, il y a plein d'approches. Au contraire, je trouve intéressant d'avoir plein de techniques à sa disposition, qui sait, si un jour un cas improbable se présente, vous serez ravi de dire&#160;: ah mais j'ai une idée/solution élégante pour ce cas.</p>
<p>Idem pour certaines astuces&#160;: <strong>relativisez</strong>. Aucun truc n'a force de vérité absolue ou intangible. Ce n'est pas parce qu'une astuce n'est pas idéale dans la majorité des cas qu'elle est bonne à jeter. Ni parce qu'elle est bonne qu'elle le restera indéfiniment. De ma petite expérience, il arrive d'être surpris de voir resurgir une technique ou une astuce là où on ne l'attendait pas du tout.</p>
<p>À mon sens, être sectaire dans un métier autant en mouvement, au mieux  on n'évolue que très lentement, au pire, on est <strong>déjà hors jeu sans le savoir</strong>, comme dirait Ken le Survivant. Sachant que le deuxième cas est la conséquence directe du premier.</p>
<p>Si votre <abbr title="Content Management System" lang="en" xml:lang="en">CMS</abbr> chéri vous bloque dans certains cas, ou si un ajout relativement simple met un long moment pour se faire, il faut se poser des questions ]]>
  </description>
  <guid>http://www.nicolas-hoffmann.net/source/1465-Ne-soyez-pas-sectaires-dans-vos-approches.html</guid>
  <link>http://www.nicolas-hoffmann.net/source/1465-Ne-soyez-pas-sectaires-dans-vos-approches.html</link>
  <author>contact@nicolas-hoffmann.net (Nico)</author>
  <pubDate>Sun, 18 Mar 2012 21:14:34 +0100</pubDate>
 </item>
</channel>
</rss>
