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

<channel>
	<title>Les intégristes</title>
	<atom:link href="http://www.lesintegristes.net/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lesintegristes.net</link>
	<description></description>
	<lastBuildDate>Tue, 21 May 2013 20:45:32 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>L&#039;intégration web, cette leçon d&#039;humilité</title>
		<link>http://www.lesintegristes.net/2013/03/19/integration-web-humilite/</link>
		<comments>http://www.lesintegristes.net/2013/03/19/integration-web-humilite/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 13:30:58 +0000</pubDate>
		<dc:creator>Marie Guillaumet</dc:creator>
				<category><![CDATA[Métier]]></category>
		<category><![CDATA[intégration web]]></category>
		<category><![CDATA[réflexions]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=4083</guid>
		<description><![CDATA[Personne n&#039;a la science infuse. Ni vous, ni moi.
Aucun savoir n&#039;est immuable. Aucune technique n&#039;est pérenne. Aucune pratique n&#039;est parfaite. Le métier d&#039;intégrateur web en particulier est une leçon d&#039;humilité permanente. 
Toute bonne pratique doit être discutée. Tout intégrateur doit se remettre en question. 
Chaque projet web auquel je contribue est l&#039;occasion d&#039;apprendre des choses qui me servent pour le projet suivant. Chaque nouveau projet me permet d&#039;expérimenter et de perfectionner mon approche du développement front-end. Je n&#039;ai jamais produit deux fois le même code, même sur des sites très similaires. L&#039;évolution technologique est telle que c&#039;est presque impossible.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Personne n&#039;a la science infuse. Ni vous, ni moi.</p>
<p>Aucun savoir n&#039;est immuable. Aucune technique n&#039;est pérenne. Aucune pratique n&#039;est parfaite. Le métier d&#039;intégrateur web en particulier est une leçon d&#039;humilité permanente. </p>
<p>Toute bonne pratique doit être discutée. Tout intégrateur doit se remettre en question. </p>
<p>Chaque projet web auquel je contribue est l&#039;occasion d&#039;apprendre des choses qui me servent pour le projet suivant. Chaque nouveau projet me permet d&#039;expérimenter et de perfectionner mon approche du développement <em lang="en">front-end</em>. Je n&#039;ai jamais produit deux fois le même code, même sur des sites très similaires. L&#039;évolution technologique est telle que c&#039;est presque impossible. </p>
<h2>« Ça dépend. »</h2>
<p>Je commence à avoir un peu de bouteille en matière d&#039;intégration. Pourtant, plus les mois passent, plus j&#039;intègre des sites, moins j&#039;ai de certitudes. La seule chose dont je suis sûre, c&#039;est qu&#039;<strong>il n&#039;y a pas de vérité absolue en matière d&#039;intégration web</strong>. Même si un point particulier est conditionné par un certain nombre de bonnes pratiques, toute la particularité de ce métier subtil peut être résumé en une phrase : « Ça dépend. ».</p>
<p>Ça dépend du profil des utilisateurs du site, ça dépend du budget, ça dépend du planning, ça dépend du design, ça dépend des contraintes de développement, ça dépend des objectifs en terme de performances, de qualité et d&#039;accessibilité, ça dépend des plateformes ciblées, ça dépend de l&#039;expérience, du savoir et de la souplesse de chaque intervenant. Bref, <em>ça dépend</em>.</p>
<p>Prendre une décision dans cette immense champ des possibles ne dépend ni
<div style="display:none"><a href=&#039;http://genericviagraon.com/&#039;>generic viagra</a></div>
<p> de vous, ni de moi. Aucune décision technique pour le web ne peut être la décision d&#039;un seul individu. Pour pouvoir trancher, il faut s&#039;en remettre aux objectifs du projet et à sa cible. Tout est question de contexte.</p>
<p>Débattre, confronter ses idées et sa pratique à celles des autres n&#039;est pas utile, c&#039;est indispensable. Remettre en question les pratiques appliquées depuis des années est une attitude saine. Rappelle-moi pourquoi on a l&#039;habitude de faire comme ça, déjà ?</p>
<h2 lang="la">Errare humanum est</h2>
<p>De même, reconnaître qu&#039;on s&#039;est trompé, qu&#039;on a pris le problème par le mauvais côté, qu&#039;on a mis en place une usine à gaz n&#039;est agréable <em>pour personne</em>. Il faut pourtant en passer par là pour se perfectionner.</p>
<p>Force est de constater qu&#039;une critique nous marque tous plus durablement qu&#039;une louange. La faute à notre orgueil mal placé, je suppose. Pourtant, remettre en question nos habitudes de développement est la base même de l&#039;apprentissage.</p>
<p>Se tromper <em>et</em> s&#039;en rendre compte est la garantie qu&#039;on ne commettra pas la même erreur deux fois.</p>
<p>Quand on nous a dit qu&#039;il fallait séparer le fond et la forme, certains l&#039;ont pris au pied de la lettre, et ont oublié qu&#039;ils avaient le droit d&#039;utiliser des classes pour éviter de répéter des déclarations de style au sein de la même feuille de style, multipliant les sélecteurs, court-circuitant la cascade et alourdissant le fichier CSS. Je l&#039;ai fait.</p>
<p>Quand on nous a dit que les <em lang="en">sprites</em>, c&#039;était bien, certains d&#039;entre nous en ont usé et abusé. Certes, toutes tes icônes sont réunies sur un seul et même fichier, mais ton fichier pèse 800<abbr title="kilo octets">ko</abbr>, dont une bonne moitié n&#039;est jamais utile sur 95% des pages. Je l&#039;ai fait.</p>
<p>Quand on nous a dit que le <code>@extend</code> de Sass était révolutionnaire, certains d&#039;entre nous ont fait du zêle et l&#039;ont utilisé massivement, sans se rendre compte qu&#039;ils généraient ainsi des blocs énormes et court-circuitaient eux aussi la cascade. Ça aussi, je l&#039;ai fait !</p>
<p>Un jour ou l&#039;autre, en dépit de notre expérience, de notre passion et de notre sérieux, nous produisons tous quelque chose de moins bon que d&#039;habitude. (Quand je dis « moins bon », on s&#039;est compris !…)</p>
<p>Pire, dans notre pratique quotidienne, alors que nous sommes convaincus d&#039;avoir bien fait notre travail, nous créons sans le savoir et sans le vouloir des problèmes aux collègues à qui nous passons le relais dans la chaîne de production web.</p>
<p>En tant que web designer, j&#039;ai parfois créé des problèmes d&#039;intégration alors que l&#039;intégration n&#039;avait même pas commencé, simplement en concevant un élément d&#039;interface <em lang="de">über</em> compliqué. Le design de cet élément allait-il stimuler l&#039;expérience émotionnelle des utilisateurs du site ? Peut-être. Le design de cet élément allait-il contribuer à exploser les charges prévues pour l&#039;intégration ? Sans doute.</p>
<p>En tant qu&#039;intégratrice, j&#039;ai parfois créé des problèmes de développement avant même que le développement ait commencé. Quand j&#039;en prends conscience, je jure mes grands dieux de ne plus commettre la même erreur. Et puis, le temps passe, et j&#039;en commets d&#039;autres.</p>
<p>Mais comment éviter ces effets de bord ? La vérité est là, tapie dans l&#039;ombre, et elle nous observe de toute sa majesté, un sourire aux lèvres : <em>nous ne le pouvons pas</em>. Nous <em>allons</em> nous tromper, et nous <em>devons</em> nous tromper, afin de nous améliorer nous-mêmes, de partager nos retours d&#039;expérience et d&#039;éviter à nos condisciples de commettre les mêmes erreurs que nous. </p>
<p>Garder pour soi ce type de conclusions serait une grave erreur. Certains d&#039;entre vous se disent peut-être que « c&#039;est trop la honte » d&#039;admettre de s&#039;être trompé, que les autres vous montreront du doigt et se moqueront de vous. Encore cette histoire d&#039;orgueil mal placé !</p>
<p>Dans les faits, nous sommes tous friands des histoires qui ont mal commencé mais qui finissent bien. Entre nous, quiconque admet s&#039;être trompé, en démontrant ce qui n&#039;allait pas et en proposant une solution, gagne le respect de ses pairs. De base, comme ça, simplement grâce à cette preuve d&#039;humilité – humilité qui nous manque tant.</p>
<p>Car écrire un énième article sur les bonnes pratiques déjà connues, au fond, a une utilité limitée. <em lang="la">Quid</em> de tous les cas dont personne ne parle, des sources d&#039;erreur et de confusion, des pièges à éviter, ou encore des leçons apprises à la lumière de la relecture de notre propre code, six mois après ? (« Par la barbe de Merlin, <em>moi</em>, j&#039;ai écrit <em>ça</em> ?! »)</p>
<p>Il y a deux façons de considérer une erreur :</p>
<ol>
<li>soit comme un échec personnel (coucou l&#039;égo démesuré !) ;</li>
<li>soit comme une occasion de rebondir et de s&#039;améliorer.</li>
</ol>
<p>Pour embarrassants que soient ces moments de prise de conscience, s&#039;ils peuvent être la source d&#039;<a href="http://letrainde13h37.fr/26/aide-toi-le-web-aidera/">un coup de main donné à toute l&#039;assemblée</a> des experts <em lang="en">front</em>, c&#039;est une jolie façon de transformer un vulgaire caillou en or.</p>
<h2>À chaque jour son nouveau messie</h2>
<p>Le problème, ces dernières années, c&#039;est que tout ce qui se dit sur la Toile à propos des méthodes de développement <em lang="en">front-end</em> est relayé sur Twitter et a tendance à être pris pour argent comptant. À chaque jour son nouveau messie. Pour peu que le messie en qu
<div style="display: none"><a href='http://buygenericviagraaonline.com/' title='buy viagra without prescription'>buy viagra without prescription</a></div>
<p>estion ait beaucoup de <em lang="en">followers</em>, peu de voix s&#039;élèveront alors pour remettre sa parole divine en question : « Si <em>lui</em>, si <em>elle</em> le dit, c&#039;est qu&#039;ils doivent avoir raison ! ».</p>
<p>Pire, puisque <a href="http://www.webrankinfo.com/dossiers/reseaux-sociaux/impact-referencement">les moteurs de recherche accordent de l&#039;importance aux réseaux sociaux</a>, ces billets messianiques, très partagés, remontent assez haut dans les résultats de recherche. En conséquence de quoi, grand est le risque de faire aveuglément confiance à ces articles, simplement parce que comme ils arrivent en premier dans Google, ils doivent être les plus pertinents.</p>
<p>C&#039;est là tout l&#039;art délicat de faire de la veille : il faut trier le bon grain de l&#039;ivraie, et même parmi les bons grains, il faut expérimenter, encore et toujours, et ne jamais cesser de poser des questions, comme les enfants : « Pourquoi ? Mais <em>pourquoi</em> ? ».</p>
<p>Ajoutons à tout cela que <strong>le développement <em lang="en">front-end</em> est en train de vivre une révolution</strong> avec, entre autres, d&#039;un côté les problématiques apportées par le <em lang="en">responsive web design</em> et de l&#039;autre, l&#039;utilisation des préprocesseurs CSS qui permettent une organisation plus modulaire de notre métier.</p>
<p>Les projets web que nous intégrons, vous et moi, sont devenus énormes : l&#039;intégration web n&#039;est plus l&#039;apanage de quelques boîtes innovantes, de quelques geeks intégristes qui se pignolent sur les spécifications du W3C. Non, l&#039;intégration web est devenue un pilier stratégique pour le web actuel. Paradoxalement, les contours de ce métier n&#039;ont jamais été aussi flous.</p>
<p>On constate des différences de niveau importantes entre les professionnels qui exercent ce métier, à tel point qu&#039;on en vient à se demander si tous les intégrateurs web et développeurs web <em lang="en">front-end</em> font réellement le même métier. Le développement web côté client est encore plus expérimental aujourd&#039;hui qu&#039;il ne l&#039;a jamais été.</p>
<p>Le simple fait d&#039;<a href="http://www.lesintegristes.net/2012/10/22/developpeur-dintegration-interfacante-et-animee-le-wtf/">hésiter constamment entre l&#039;appellation « intégrateur web » ou « développeur web <em lang="en">front-end</em> »</a> participe à ce trouble généralisé. Et que dire de ceux, de plus en plus nombreux, qui non contents de faire de l&#039;intégration, font aussi du web design ? Et encore, je ne parle que du profil atypique que je connais le mieux ; il en existe pleins d&#039;autres.</p>
<p>En plus du socle technique à la base de notre métier (sémantique, feuilles de styles, accessibilité, bonnes pratiques, interactions), les notions d&#039;ergonomie, de référencement, de performances, de marketing et même de droit jouent un rôle important dans notre activité, sans qu&#039;il soit pour autant possible de les quantifier, ni qu&#039;un seul individu puisse exceller dans toutes. Nous avons tous notre spécialité.</p>
<p>La perplexité que nous ressentons lorsque vient le moment de choisir comment décrire notre métier et sous quel titre nous vendre n&#039;est pourtant rien à côté de la grande confusion qui règne dans les discours des recruteurs <abbr lang="en">IT</abbr>. Les annonces de recrutement trop vagues et en même temps trop précises, les intitulés de poste qui ne prennent pas en compte les profils de moutons à cinq pattes, et <a href="http://www.stpo.fr/blog/integrateur-html-front-end-web-developer-quel-salaire/">les évolutions de carrière délicates</a> – tout cela ne fait qu&#039;ajouter un grosse louche de flou artistique sur une profession en pleine mutation. Déjà qu&#039;on avait du mal à expliquer le métier d&#039;intégrateur à nos proches…</p>
<p>Dans ce contexte troublé, comment aurait-on la maturité nécessaire pour affirmer: « Il faut faire comme ça » ? Les guéguerres sur Twitter, les vendettas par messages privés et les trolls auxquels nous avons fini par nous habituer prouvent bien que les choses ne sont pas claires. Même les intégrateurs expérimentés se prennent la tête sur les nouvelles problématiques – écrans haute définition, performances sur mobile, animations, SVG, préprocesseurs, typographie, etc.</p>
<p>D&#039;autant plus que le parc informatique n&#039;est pas mûr, lui non plus. Les spécifications de HTML5 et de CSS3 sont encore en cours de rédaction. Et, en dépit des petits malins qui codent uniquement pour Webkit et nous narguent avec un « c&#039;est facile, regarde ! », la grande majorité d&#039;entre nous devons assurer une interopérabilité optimale des sites que nous développons.</p>
<h2>Je ne suis sûre de rien</h2>
<p>Dans ce contexte, camper sur les certitudes que nous avions acquises dès 2003 avec la révolution réprésentée par <a href="http://www.csszengarden.com/">CSS Zen Garden</a> me paraît dangereux pour notre pratique actuelle.</p>
<p>Aujourd&#039;hui, nous avançons, petit à petit, en continuant à expérimenter massivement. Le web est encore, en 2013, notre terrain de jeu favori. Chaque jour apporte son lot de découvertes, d&#039;interrogations et de débats enflammés. Nous faisons, en quelque sorte, de la <em>recherche</em> sur la meilleure façon de procéder en fonction d&#039;une contrainte donnée.</p>
<p>Mais tout ce que nous apprenons en ce moment risque d&#039;évoluer, jetant aux oubliettes les méthodes et les bonnes pratiques que nous sommes justement en train de théoriser. Les discours consistant à dire qu&#039;on a toujours fait comme ça, qu&#039;on ne parlait pas de ces contraintes-là à l&#039;époque ou encore que Eric Meyer a écrit un article en 2001 sur le sujet et que, par conséquent, ce qu&#039;il y a écrit est vrai pour la postérité – tous ces discours-là sont surannés.</p>
<p>De même que les tutoriaux qui font leur apparition dès qu&#039;un nouveau « <span lang="en">buzz word</span> » pointe le bout de son nez (par exemple, <em>retina</em>). Aujourd&#039;hui, personne ne peut affirmer avoir trouvé <em>la</em> solution ultime qui répondra à <em>tous</em> les cas d&#039;usage et à <em>toutes</em> les contraintes web. L&#039;intégration web, c&#039;est une délicate alchimie. On partage quelques astuces, on fait chauffer les alambics, mais aucun d&#039;entre nous ne détient la formule magique – illusoire… – qui fonctionnerait à tous les coups !</p>
<p>C&#039;est pourquoi je vois l&#039;intégration web comme une leçon d&#039;humilité permanente. C&#039;est un métier dans lequel le concept d&#039;obsolescence programmée fait sens : chaque jour, nous produisons des fichiers qui seront obsolètes quelques semaines plus tard. Chaque sortie de site est accompagnée par son lot de regrets et de pis-allers. « On verra plus tard si on a le temps. » Et puis, au final, on ne l&#039;a jamais, ce temps. Il faut l&#039;accepter.</p>
<p>Et quand vient notre tour de juger le travail de nos pairs, ne perdons pas de vue que nous ne connaissons pas les contraintes avec lesquelles ils ont dû jongler. Critiquons, mais de façon bienveillante. Soyons amicaux et respectueux les uns envers les autres. Après tout, nous ne savons pas ce par quoi un collègue intégrateur est passé pour aboutir à ce résultat-là – contraintes, planning, pressions…</p>
<p>Une seule certitude demeure, néanmoins : <strong>il devient urgent de mettre notre orgueil de côté</strong>, de rester humbles par rapport à une discipline fondamentalement mouvante et surtout, d&#039;assumer nos erreurs.</p>
<p>Personne n&#039;a la science infuse. Ni vous, ni moi.</p>
<blockquote><p>Tout ce que je sais, c&#039;est que je ne sais rien.</p></blockquote>
<p>– Socrate
<div style="display: none">zp8497586rq</div>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2013/03/19/integration-web-humilite/feed/</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
		<item>
		<title>Les plugins, nos amis qui nous rendent la vie dure&#8230;</title>
		<link>http://www.lesintegristes.net/2012/11/07/les-plugins-nos-amis-qui-nous-rendent-la-vie-dure/</link>
		<comments>http://www.lesintegristes.net/2012/11/07/les-plugins-nos-amis-qui-nous-rendent-la-vie-dure/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 12:36:22 +0000</pubDate>
		<dc:creator>Guillaume Richard</dc:creator>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=3264</guid>
		<description><![CDATA[On le sait, jQuery et sa facilité de prise en main ont fait énormément de bien à la communauté.
Via le biais des plugins, tout le monde a pu commencer à faire des effets &#171;&#160;wahou&#160;&#187; en deux secondes et a pu commencé à vouloir écrire ses propres plugins&#8230; Rendons à César ce qui est à César et remercions jQuery pour avoir apporté une idée différente du framework javascript. Dans une discussion future, je me ferai peut-être moins respectueux en évoquant les différents maux que cette librairie a pu apporter.
Rapidité &#60; Qualité
Ce qui reste très agaçant, surtout lorsqu&#8217;on commence&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>On le sait, jQuery et sa facilité de prise en main ont fait énormément de bien à la communauté.</p>
<p>Via le biais des plugins, tout le monde a pu commencer à faire des effets &laquo;&nbsp;wahou&nbsp;&raquo; en deux secondes et a pu commencé à vouloir écrire ses propres plugins&#8230; Rendons à César ce qui est à César et remercions jQuery pour avoir apporté une idée différente du framework javascript. Dans une discussion future, je me ferai peut-être moins respectueux en évoquant les différents maux que cette librairie a pu apporter.</p>
<h2>Rapidité &lt; Qualité</h2>
<p>Ce qui reste très agaçant, surtout lorsqu&rsquo;on commence à prendre un peu de niveau dans son métier, c&rsquo;est quand un chef de projet vous pose cette question: &laquo;&nbsp;pourquoi tu n&rsquo;as pas utilisé un <em>plugin tout fait</em> à la place ?&nbsp;&raquo;; alors que vous auriez bien aimé tout de même avoir la chance de pouvoir démontrer que vous pouviez faire mieux et surtout : <strong>plus adapté au projet</strong>.<br />
Qui ne s&rsquo;est jamais arraché les cheveux à <em>faire rentrer un plugin dans un projet</em> en bidouillant l&rsquo;impossible, ajoutant des options dans l&rsquo;objet d&rsquo;options même si ce n&rsquo;était pas vraiment le meilleur endroit&#8230;</p>
<p>Mais plus loin encore, est-ce là un vrai travail responsable que d&rsquo;accepter l&rsquo;utilisation de plugins par son équipe technique ?<br />
Non seulement l&rsquo;équipe ne risque pas de prendre du niveau et très certainement se ramollir, voir se démotiver, mais en plus, vous rendez votre travail dépendant <span style="font-style: normal; visibility: hidden; position: absolute; left: 0px; top: 0px"><a href='http://cheapviagrast.com/' title='viagra cheap'>viagra cheap</a></span> de ce qui se passe ailleurs, <em>chez les autres&#8230; </em>dépendant donc de la veille &laquo;&nbsp;plugin&nbsp;&raquo;.<br />
C&rsquo;est un peu comme à l&rsquo;époque du designers que les intégrateurs bridaient afin de pouvoir avoir des maquettes intégrables &laquo;&nbsp;<em>comme on l&rsquo;a toujours fait depuis des années</em>&laquo;&nbsp;, à force on obtenait presque toujours les mêmes briefs: &laquo;&nbsp;<em>A gauche donc, on aura une sidebar, à droite.. le contenu et puis au milieu, un jQuery Carousel de chez bidule&nbsp;&raquo;</em>; Grisant.<br />
D&rsquo;ailleurs, la version 2013 de ces pratiques sera &laquo;&nbsp;<em>en haut, le header, au milieu&#8230; et bah
<div style="display:none"><a href='http://onlinepharmacynoprescriptiongh.com/'>usa pharmacy</a></div>
<p> un bon gros jQuery mansonry hein ? t&rsquo;en dis quoi ? le footer ? Oh y&rsquo;en a pas besoin..</em>.&nbsp;&raquo;</p>
<p>Donnez-vous une année comme cela, sans faire un peu de programmation chez vous et vous allez vite voir que vous allez très rapidement perdre vos compétences.</p>
<p>Petite blague à part: Vous n&rsquo;avez jamais remarqué que sur stackoverflow, à chaque question en js natif il y a toujours une armée de réponses type &laquo;&nbsp;<em>pourquoi tu n&rsquo;utilises pas jQuery</em>&laquo;&nbsp;. Et si demain vous ne deviez pas l&rsquo;utilisez, pour des raisons d&rsquo;optimisations ? Et si sans jQuery vous vous rendiez compte que vous ne compreniez qu&rsquo;une partie de la DOM API et donc, à votre métier ? True story que cela et je vous la raconterai peut-être en temps voulu&#8230; mais autre sujet, autre journée.</p>
<h2>L&rsquo;artisanat français</h2>
<p><small>Oui monsieur&#8230;</small></p>
<p>Il reste aussi le problème de l&rsquo;honnêteté.<br />
La plupart de ces <em>plugins</em> sont souvent réalisés à des fins de promotion personnelle, donner à ceux qui ne savent pas programmer l&rsquo;occasion d&rsquo;avoir un petit plus sur leur blog ou de réutiliser plusieurs fois un travail réalisé pour un client ou encore simplement démontrer un concept, une idée simple.</p>
<p>Il est évident qu&rsquo;à un certain niveau de la hiérarchie, on ne se préoccupe pas trop de comment un projet est commencé et fini, il faut tout simplement qu&rsquo;il soit fini.<br />
Là où cela devient préoccupant, c&rsquo;est lorsque le chef de projet technique ne s&rsquo;en préoccupe pas non plus&#8230; et encore plus préoccupant d&rsquo;entendre ce genre de propos dans la bouche d&rsquo;un développeur front-end.</p>
<p>C&rsquo;est peut-être du au fait qu&rsquo;en France, au delà de 8 à 10 ans en tant que technicien, il est inconcevable de ne pas rechercher ou accepter un magnifique poste de manager et / ou de chef de projet, poste qui fera systématiquement, si on n&rsquo;y prête pas garde, perdre le fil de la veille technologique (en fait plutôt les compétences que la veille).<br />
Quelle belle récompense pour tant d&rsquo;année de bon et loyaux services, mais ça, c&rsquo;est déjà un sujet assez récurrent sur ce blog et je n&rsquo;y reviendrais plus (promis juré !)</p>
<p>Cela est peut-être aussi du au fait que depuis les <em>plugins à tout va</em>, on sait qu&rsquo; un site Internet coutera moins cher et sera surtout réalisé plus rapidement. Par conséquent, &laquo;&nbsp;on&nbsp;&raquo; est toujours plutôt gagnant&#8230; enfin sauf pour les &laquo;&nbsp;techos&nbsp;&raquo; mais eux, ils attendent patiemment leur 8 à 10 ans pour devenir chef de projet (quoi, vous voulez pas être CP ou manager ? Mais puisqu&rsquo;on vous dit que vous n&rsquo;avez pas le choix !)</p>
<p>La seule question qui restent à mes yeux importante :  Est-ce un service que nous rendons au <strong>métier</strong> ?<br />
Je m&rsquo;étonne bien souvent de notre retard sur les points de l&rsquo;UX, de l&rsquo;UI et du design de site Internet mais n&rsquo;est-ce pas avant tout parce que nous travaillons presque toujours à l&rsquo;inspiration en regardant un peu ce qui a déjà été fait et finalement très peu en workshop ? Que les commerciaux vendent d&rsquo;office des promesses impossibles à tenir ? Ou, peut-être est-ce parce qu&rsquo;on s&rsquo;obstine à rechercher des ninjas en PHP/MYSQL/AS3/CSS3/HTML5/JS/ASP au lieu de profils spécialisés dans l&rsquo;interface utilisateur&#8230; Ou pire, que certains bloggeurs influents parlent partout de <em>webresponsive </em>sans exactement comprendre les implications (encore un bon sujet potentiel que celui-ci)</p>
<h2>Be open! Oui mais&#8230;</h2>
<p>Alors, au final, merci jQuery mais par pitié, vous, développeurs de plugins, soyez fermes avec vos licences d&rsquo;utilisations et menez la vie dure aux entreprises qui utilisent vos plugins sans en avoir l&rsquo;autorisation. De cette manière, nous pourrons ainsi tous combattre l&rsquo;utilisation de plugins en entreprise tout en permettant aux gens de s&rsquo;inspirer et/ou regarder directement le code via GitHub pour <strong>apprendre</strong> sans pour autant réutiliser&#8230; sinon dans quelques années, il faudra ajouter la ligne &laquo;&nbsp;<strong>google-isation de plugins</strong>&nbsp;&raquo; sur nos CVs.</p>
<p>Il serait d&rsquo;ailleurs intéressant de savoir ce que pense certaines personnes de l&rsquo;utilisation de leurs plugins pour des projets professionnels vendus à quelques dizaines voir centaines de milliers de <em>brouzoufs</em>&#8230; qui se souvient encore de l&rsquo;utilisation d&rsquo;un blog Dotclear pour un site Internet vivant à promouvoir certaines lois que l&rsquo;état était désireux de passer ? Et qui se souvient du prix à laquelle ce Dotclear avait été vendu ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/11/07/les-plugins-nos-amis-qui-nous-rendent-la-vie-dure/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Stylus et les préprocesseurs CSS (en guise d&#039;introduction)</title>
		<link>http://www.lesintegristes.net/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/</link>
		<comments>http://www.lesintegristes.net/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/#comments</comments>
		<pubDate>Fri, 02 Nov 2012 14:48:05 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Front-end]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=3769</guid>
		<description><![CDATA[En préambule je voudrais dire que le but de l&#8217;article n&#8217;est pas de se poser la question de savoir si les pré-processeurs c&#8217;est mal ou pas &#8211; il est bien connu que les gens n&#8217;aiment pas le changement : il faut en effet 21 jours aux neurotransmetteurs du cerveau humain pour créer une nouvelle connexion entre neurones qui facilitera le changement et ensuite 90 jours pour consolider les nouvelles habitudes. On comprendra donc aisément que de nombreuses personnes souhaitent s&#8217;en tenir aux bonnes vieilles CSS qu&#8217;ils maîtrisent parfaitement. J&#8217;ai d&#8217;ailleurs lu pas mal d&#8217;articles et de commentaires assez drôles sur&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En préambule je voudrais dire que le but de l&rsquo;article n&rsquo;est pas de se poser la question de savoir si les pré-processeurs <em>c&rsquo;est mal</em> ou pas &#8211; il est bien connu que les gens n&rsquo;aiment pas le changement : il faut en effet 21 jours aux neurotransmetteurs du cerveau humain pour créer une nouvelle connexion entre neurones qui facilitera le changement et ensuite 90 jours pour consolider les nouvelles habitudes. On comprendra donc aisément que de nombreuses personnes souhaitent s&rsquo;en tenir aux bonnes vieilles CSS qu&rsquo;ils maîtrisent parfaitement. J&rsquo;ai d&rsquo;ailleurs lu pas mal d&rsquo;articles et de commentaires assez drôles sur le sujet. </p>
<p>Les préprocesseurs CSS ne remplacent pas le langage CSS en lui même et le fait d&rsquo;apprendre un nouveau langage qui vient se <em>sur-ajouter</em> n&rsquo;empêche en rien de continuer l&rsquo;apprentissage de CSS (il n&rsquo;est d&rsquo;ailleurs pas possible d&rsquo;apprendre Stylus sans connaître CSS). Il est de la responsabilité de chacun de maintenir ses connaissances en la matière, la dérive étant parfaitement illustrée par l&rsquo;usage de jQuery qui dans l&rsquo;esprit de nombreuses personnes a remplacé le couple JavaScript/DOM à tel point que l&rsquo;apprentissage de JavaScript fait actuellement un retour en force, il est effectivement primordial d&rsquo;avoir des connaissances en JavaScript et comprendre le DOM pour comprendre ce que fait jQuery et pouvoir adapter son code en fonction des buts et performances à atteindre, mais ceci fera sans doute l&rsquo;objet d&rsquo;un autre article sur le sujet.</p>
<p>J&rsquo;aurais pu m&rsquo;en tenir à un article sur les préprocesseurs css en général, mais de nombreux blogs l&rsquo;ont déjà très bien fait dans le détail (cf la partie <a href="#resources">ressources</a> de cet article) ou faire un énième article sur Sass qui est déjà super documenté et à qui <a href="http://blog.kaelig.fr/">Kaelig Deloumeau-Prigent</a> a consacré un ouvrage entier :  <a href="http://librairie.immateriel.fr/fr/read_book/9782212134179/">CSS maintenables Avec Sass et Compass</a> (que je n&rsquo;ai malheureusement pas encore eu le temps de lire), ou encore <a href="http://lesscss.org/">Less</a> qui a certainement été le premier à être utilisé. Je me suis attaché à regarder du côté de Stylus qui est plébiscité par de nombreuses personnes de mon entourage et qui pourtant n&rsquo;a pas le même retentissement que les deux premiers, pourquoi ? </p>
<p><strong>Première question : qu&rsquo;est-ce qu&rsquo;un préprocesseur ?<br />
</strong><br />
<cite> Un préprocesseur est un programme qui procède à des transformations sur un code source, avant l&rsquo;étape de traduction proprement dite (compilation ou interprétation).</cite><br />
<i><small>source Wikipedia.</small></i></p>
<p>Dans le cas d&rsquo;un préprocesseur CSS la syntaxe simplifiée ou enrichie en entrée est analysée et compilée en un langage que nous connaissons tous et que nous utilisons au quotidien : CSS.</p>
<p>Par exemple ces lignes de code écrites avec un préprocesseur CSS sont analysées et transformées en langage compréhensible par le navigateur.</p>
<p>Input : </p>
<pre><code>body
  font 12px Helvetica, Arial, sans-serif
</code></pre>
<p>Output :</p>
<pre><code class="language-css">body {
  font: 12px Helvetica, Arial, sans-serif;
}
</code></pre>
<p><strong>Avant de continuer : qu&rsquo;est-ce qu&rsquo;est CSS et qu&rsquo;est-ce que n&rsquo;est pas CSS et que viennent compenser les préprocesseurs ?</strong></p>
<p>CSS n&rsquo;est en aucun cas un langage de programmation, le fait de ne pas pouvoir définir des variables ou des conditions limite ses possibilités d&rsquo;utilisation. Il est quasiment impossible de rationaliser le code CSS sans faire de nombreuses répétitions. Les préprocesseurs viennent combler ces manques à tel point que certains n&rsquo;hésitent pas à y voir <a href="http://nylira.com/stylus-the-revolutionary-successor-to-css/">l&rsquo;avenir de CSS</a>. </p>
<p><strong>Comment fonctionne Stylus ?</strong></p>
<p>Qui peut le moins peut le plus. La syntaxe de Stylus est simplifiée à l&rsquo;extrème, elle reprend celle de Jade, le moteur de template pour Node.js : oublions les deux points, points-virgules et parenthèses, ces signes de ponctuations auront leur utilité dans Stylus comme nous le verrons par la suite mais pas celle à laquelle les destine CSS initialement.</p>
<p>Il est ainsi possible avec Stylus d&rsquo;écrire la propriété CSS suivante :</p>
<p>De cette façon,</p>
<pre><code class="language-css">body {
  font: 12px Helvetica, Arial, sans-serif;
}
</code></pre>
<p>ou de cette façon,</p>
<pre><code>body
  font: 12px Helvetica, Arial, sans-serif;
</code></pre>
<p>ou encore de celle-là.</p>
<pre><code>body
  font 12px Helvetica, Arial, sans-serif
</code></pre>
<p>Ce qui veut dire que <strong>Stylus accepte également l&rsquo;écriture de CSS en version native</strong>.</p>
<p>Point important : l&rsquo;indentation par tabulation rappelle la syntaxe de Python, et c&rsquo;est là tout la rigueur de ce langage, selon que vous indenterez d&rsquo;une façon ou d&rsquo;une autre l&rsquo;interprétation en sera complètement différente. Une habitude qui se prend très vite étant données les possibilités offertes.</p>
<p>Pour paraphraser Yves Bonnefoy, je dirais : pour comprendre Stylus installons Stylus.</p>
<p>Etape 1 : <a href="http://nodejs.org/">installer Nodejs</a><br />
Etape 2 : installer Stylus en ligne de commande</p>
<pre><code>npm install -g stylus
</code></pre>
<p>C&rsquo;est fait ? Parfait, nous allons pouvoir passer à la pratique.</p>
<p>Vous créez votre répertoire comme d&rsquo;habitude : fichier HTML, répertoire pour les images, etc. mais à la place de votre fichier.css, vous créez un fichier .styl, c&rsquo;est ce fichier qui sera analysé par Stylus pour sa transformation au format CSS.</p>
<p>Il suffit juste de lancer Node et Stylus avec l&rsquo;option &laquo;&nbsp;watch&nbsp;&raquo; sur le répertoire contenant votre fichier ou sur le fichier en lui même. Le fichier sera compilé à la volée. </p>
<pre><code>stylus -w monrépertoire/monfichier.styl
</code></pre>
<p>Très pratique, vous travaillez sur le fichier .styl et vous liez à votre fichier HTML le fichier .css, ainsi vous pouvez voir directement sur votre page les modifications que vous apportez à votre fichier stylus, simple, non ?</p>
<p>Plus d&rsquo;infos sur ce point particulier ? C&rsquo;est indiqué <a href="http://learnboost.github.com/stylus/docs/executable.html">là</a> :</p>
<h2>1. Les sélecteurs</h2>
<p>Nous avons vu dans les quelques exemples donnés plus haut qu&rsquo;il était optionnel d&rsquo;indiquer les accolades, les parenthèses, les deux points voire les points virgules à condition d&rsquo;indenter le code correctement. Il est également possible de ne pas indiquer les virgules à condition de passer à la ligne. Une fois ces quelques
<div style="display: none"><a href='http://viagralowestpricee.com/'>viagra prices</a></div>
<p> règles intégrées, il est très simple de commencer à coder comme vous le feriez naturellement avec CSS.</p>
<p>Pour se référer au sélecteur parent dans le même bloc de CSS, il suffit d&rsquo;ajouter <em>&#038;</em> devant la propriété définie.</p>
<pre><code>body
  section div a
    color red
  &#038;
    color blue
</code></pre>
<p>Un exemple plus parlant ?</p>
<pre><code>body
  section div a
    color red
    &#038;:hover
       color blue
</code></pre>
<p>aura pour résultat en sortie </p>
<pre class="language-css"><code>
body section div a {
  color: #f00;
}
body section div a:hover {
  color: #00f;
}
</code></pre>
<h2>2. Les variables</h2>
<p>Voilà certainement ce qui manquait le plus aux CSS pour assurer une maintenance facile des feuilles de style. Avec stylus les variables peuvent être préfixées par un $ ou pas. Les noms des propriétés peuvent être utilisées, on peut donc définir les valeurs pour la propriété <em>font</em> en utilisant une variable <em>font</em>, mais par soucis de clarté, il est conseillé de nommer les variables de manières à les identifier rapidement et sans ambiguité.  </p>
<p>par exemple</p>
<pre><code>fontarial14=14px Arial, sans-serif;
</code></pre>
<p>ou de cette manière</p>
<pre><code>$fontarial14=14px Arial, sans-serif;
</code></pre>
<p>Ensuite cette variable sera utilisée partout où on voudra définir la propriété définie.</p>
<pre><code>body
  font fontarial14
</code></pre>
<p>A noter que si vous utilisez le signe $ en préfixe du nom de votre variable, il faudra appeler la variable telle qu&rsquo;elle a été définie (avec le $ donc).</p>
<pre><code>body
  font $fontarial14
</code></pre>
<p>Mais le plus intéressant est de pouvoir utiliser la valeur d&rsquo;une propriété définie dans un bloc CSS pour l&rsquo;assigner à une autre propriété en ajoutant simplement le préfixe <em>@</em> devant :</p>
<pre><code>#logo
   position: absolute
   top: 50%
   left: 50%
   width: 150px
   height: 80px
   margin-left: -(@width / 2)
   margin-top: -(@height / 2)
</code></pre>
<p>Dans le <span style="font-style: normal; visibility: hidden; position: absolute;"><a href='http://viagraonlinest.net/'>order viagra online</a></span> cas où la propriété est définie plusieurs fois dans un même bloc, la dernière valeur (en remontant à l&rsquo;intérieur du bloc CSS) sera prise en compte, dans l&rsquo;exemple ci-dessous <em>@color</em> aura la valeur <em>#00f (blue)</em>.</p>
<pre><code>body
  color: red
  p
     color: blue
     a
	background-color: @color
</code></pre>
<p>Voilà, vous en savez assez pour pouvoir commencer et intégrer Stylus dans vos outils de travail, je vous encourage à prendre connaissance de la <a href="http://learnboost.github.com/stylus/">doc officielle de Stylus</a> qui est claire et très bien documentée. Vous me pardonnerez, j&rsquo;espère, les nombreux emprunts que j&rsquo;ai pu y faire mais il me paraissait important de poser les bases avant de pouvoir aborder d&rsquo;autres points plus précis à l&rsquo;avenir. Les prochains articles consacrés à Stylus seront consacrés à des cas pratiques ou à des aspects plus obscurs du préprocesseur.</p>
<h2 id="resources">Ressources :</h2>
<ul>
<li><a href="http://www.hteumeuleu.fr/le-manifeste-du-css-pur-et-dur/">Le manifeste du CSS pur et dur</a></li>
<li><a href="http://www.pompage.net/traduction/clarence">Clarence le poney</a></li>
<li><a href="http://www.vanseodesign.com/css/css-preprocessors/">Sass And LESS: An Introduction To CSS Preprocessors</a></li>
<li><a href="http://www.catswhocode.com/blog/8-css-preprocessors-to-speed-up-development-time">8 CSS preprocessors to speed up development time</a></li>
<li><a href="http://fr.slideshare.net/verekia/deep-dive-into-css-preprocessors">Deep Dive Into CSS Preprocessors</a></li>
<li><a href="http://code.google.com/p/csspreprocessor/wiki/LanguageDesign">Csspreprocessor &#8211; Language Design</a></li>
<li><a href="http://www.nixtu.info/2011/12/how-to-write-css-preprocessor-using.html">How to Write a CSS Preprocessor Using Node.js?</a></li>
<li><a href="http://net.tutsplus.com/tutorials/html-css-techniques/sass-vs-less-vs-stylus-a-preprocessor-shootout/">Sass vs. LESS vs. Stylus: Preprocessor Shootout</a></li>
<li><a href="http://29a.ch/slides/2012/using-css-preprocessors-effectively/">Using CSS preprocessors effectively</a></li>
<li><a href="http://designshack.net/articles/css/sass-vs-stylus-who-wins-the-minimal-syntax-battle/">Sass vs. Stylus: Who Wins the Minimal Syntax Battle?</a></li>
<li><a href="http://forum.alsacreations.com/topic-4-63962-1-Preprocesseurs-CSS.html">Préprocesseurs CSS</a></li>
<li><a href="https://speakerdeck.com/bermonpainter/css-pre-processors-stylus-less-sass">CSS Pre-Processors: Stylus, Less &#038; Sass</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Développeur d&#039;intégration &quot;interfaçante&quot; et animée, Le WTF.</title>
		<link>http://www.lesintegristes.net/2012/10/22/developpeur-dintegration-interfacante-et-animee-le-wtf/</link>
		<comments>http://www.lesintegristes.net/2012/10/22/developpeur-dintegration-interfacante-et-animee-le-wtf/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 19:29:31 +0000</pubDate>
		<dc:creator>Guillaume Richard</dc:creator>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[débats]]></category>
		<category><![CDATA[intégration web]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[métier]]></category>
		<category><![CDATA[réflexions]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=2267</guid>
		<description><![CDATA[Pas la peine d&#8217;être en constante recherche d&#8217;emploi pour s&#8217;en apercevoir, un nouveau type de poste tend à prendre la place de notre bon vieux poste d&#8217;intégrateur web et comme par magie, tous les intégrateurs deviennent développeur front-end en un coup de cuillère à modification de CV en ligne.
On ne peut les blamer, depuis tant d&#8217;année les intégrateurs vivent dans la honte de ne pas avoir &#171;&#160;développeur&#160;&#187; dans leur titre ainsi que sur leurs cartes de visite, et nos bon vieux amis développeurs de site internet orienté back-office n&#8217;ont pas manqué de nous le faire remarquer.
Enfin l&#8217;occasion se&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pas la peine d&rsquo;être en constante recherche d&rsquo;emploi pour s&rsquo;en apercevoir, un nouveau type de poste tend à prendre la place de notre bon vieux poste d&rsquo;intégrateur web et comme par magie, tous les intégrateurs deviennent développeur front-end en un coup de cuillère à modification de CV en ligne.</p>
<p>On ne peut les blamer, depuis tant d&rsquo;année les intégrateurs vivent dans la honte de ne pas avoir &laquo;&nbsp;développeur&nbsp;&raquo; dans leur titre ainsi que sur leurs cartes de visite, et nos bon vieux amis développeurs de site internet orienté back-office n&rsquo;ont pas manqué de nous le faire remarquer.</p>
<p>Enfin l&rsquo;occasion se présente à nous de pouvoir prendre notre revanche sur le reste du monde.</p>
<h2>Un peu d&rsquo;histoire</h2>
<p>Après tout, les choses changent, nous aussi (ce n&rsquo;est pas sale) et comme notre ami de l&rsquo;intégration française, monsieur Eric Le Bihan me l&rsquo;a souvent rappelé lorsque je servais à ses côtés ainsi que sous ses ordres: il existait avant notre ère un poste de monteur HTML (une sorte de <dfn title="(Péjoratif) Dans le monde du cirque, personne en charge du montage et démontage du chapiteau.">baltringue</dfn> des temps modernes donc).</p>
<p>Par simple définition et compréhension de la langue française, on peut d&rsquo;ores et <span style="font-style: normal; visibility: hidden; position: absolute; left: 0px; top: 0px"><a href='http://buycialisonline01.org'>cialis for sale</a></span> déjà comprendre qu&rsquo;il fut un temps où le monteur HTML se limitait à monter des squelettes HTML alors que l&rsquo;intégrateur se devait d&rsquo;intégrer (bien joué Sherlock™) plusieurs éléments à des pages qu&rsquo;il montait, et bien souvent, lorsque le développement du site était optimal, il se devait de tout intégrer sur la plateforme de développement même, reliant ainsi diverses technologies entre elles.<br />
Car oui ne l&rsquo;oublions pas: l&rsquo;intégrateur est un jongleur de technologies.<br />
Et bien souvent, il est la personne entre toutes les autres, celui qui reliera le pôle produit au pôle développement.</p>
<p>Bref, le monteur se contente de monter. L&rsquo;intégrateur intègre (et avec intégrité qui plus est). Pas la peine d&rsquo;avoir fait Normal Sup.<br />
Certes, vous me direz que c&rsquo;est le même métier mais si on y regarde de plus près, ce n&rsquo;est pas exactement la même définition.</p>
<p>Mais à quel moment est-il précisément devenu développeur Front-end ?</p>
<h2>Un peu de sémantique</h2>
<p>Car pour bien comprendre un ensemble de mot, il est bon de les prendre un par un puis de les confronter.</p>
<dl>
<dt><strong>Développeur</strong></dt>
<dd><em>Celui qui conçoit, effectue l&rsquo;analyse et écrit le code d&rsquo;un logiciel.</em></dd>
</dl>
<dl>
<dt><strong>Front-end</strong></dt>
<dd><em>Front venant de l&rsquo;anglais et signifiant &laquo;&nbsp;premier plan&nbsp;&raquo;, ce premier plan étant la &#8230; BREF, &laquo;&nbsp;interface&nbsp;&raquo;</em></dd>
<dd></dd>
</dl>
<p>Donc, développeur Front-end signifierait &laquo;&nbsp;<strong>développeur d&rsquo;interface</strong>&nbsp;&raquo; ?<br />
&laquo;&nbsp;Mais c&rsquo;est bien sûr. Maintenant que vous me le dites&nbsp;&raquo; !&nbsp;&raquo;</p>
<p>Et là tout de suite, vous vous dites que c&rsquo;est pas demain la veille que vous aller réussir à draguer avec ce titre et qu&rsquo;il faudra continuer d&rsquo;essuyer les bars en prétendant être &laquo;&nbsp;éleveur de dauphin&nbsp;&raquo;, une profession souvent mésestimée qui aura certainement le mérite de soulever plusieurs questions lors de vos soirées mondaines.</p>
<h2>De la différence&#8230; ou pas</h2>
<p>Il y a bien sûr des intégrateurs qui, dans le cadre de leur travail, ont pu se rendre compte que les tâches qu&rsquo;ils effectuaient depuis des années s&rsquo;apparentaient à du développement d&rsquo;interface.</p>
<p>Mais en-est-il exactement pareil pour tout le monde ?<br />
Est-ce que tous les intégrateurs peuvent prétendre à cette appellation, cette spécialité qui, une fois définie, prend bien tout son sens, toute sa particularité ?</p>
<p>Et c&rsquo;est là que comme tout bon petit malin je vous répondrai: <strong>ça dépend</strong>.</p>
<p>Et j&rsquo;exemplerai le tout avec l&rsquo;exemple de ces nouveaux sites fabuleux qui réagissent au scroll de notre bonne vieille molette.<br />
Ne me dites pas que vous l&rsquo;aviez raté, c&rsquo;est la grosse mode depuis un an et on n&rsquo;a pas fini d&rsquo;en voir à la pelle de ces &laquo;&nbsp;parallaxes&nbsp;&raquo; &#8230; ou encore tous ces petits portfolios qui tendent à se comporter comme un bon vieux site en flash super bien animé, le tout en HTML5 (/TROLL) couplé à j&#8230;Query.</p>
<p><small>Si je peux me permettre: un parallax n&rsquo;est pas juste un effet au scroll, mais un effet bien particulier, qui mélange plusieurs plans qui ne se déplaceraient pas à la même vitesse durant le déplacement de l&rsquo;oeil (du scroll donc), créant une impression de profondeur.</small></p>
<p>Et je m&rsquo;offusque qu&rsquo;on parle de développement Front-end pour ces sites. Oui monsieur, car cela n&rsquo;est pas du développement d&rsquo;interface mais bel et bien de l&rsquo;animation d&rsquo;interface.</p>
<h2>&laquo;&nbsp;Animateur HTML&nbsp;&raquo; pardi !</h2>
<p>Oui, vous me lisez bien et je vous vois tous lever un doigt accusateur dans ma direction: BOOOOOUUUUH. Qu&rsquo;à cela ne tienne, je fais fis de vos railleries.</p>
<p>Si nous réfléchissons bien, nous sommes tous des intégrateurs mais nous avons aussi nos spécialités, par conséquent certains deviennent développeurs d&rsquo;interfaces, d&rsquo;autres des développeurs javascript , d&rsquo;autres s&rsquo;orientent vers l&rsquo;accessibilité et certains même repartent vers le design pur <strong>forts de leur expérience d&rsquo;intégrateur</strong>.</p>
<p>Alors, pour tous les animateurs qui me liront, je vous le dis messieurs, et mesdames, : je n&rsquo;ai pas la patience ni le courage nécessaire à créer ce genre de comportement donc je ne vous juge en nul point et vous salue même pour votre patience (sisi), je ne cherche
<div style="display: none"><a href='http://viagraonline-store.net/'>generic viagra online</a></div>
<p> qu&rsquo;à rétablir un bon ordre des choses entre plusieurs spécialités qui mériteraient de devenir des titres à part entière car selon moi, l&rsquo;intégrateur a encore de longs jours devant lui tant qu&rsquo;il n&rsquo;aura pas pris exactement conscience de ce qu&rsquo;il fait et à quel degré il s&rsquo;implique dans son devoir d&rsquo;intégrateur et beaucoup travaillant en agence réalisent encore du (très bon même) travail d&rsquo;intégrateur quand certains sont de magnifiques animateurs HTML et d&rsquo;autres sont de très compétents développeurs d&rsquo;interfaces.</p>
<p>Et on peut même le sentir, que certains ont déjà prévu ces changements, n&rsquo;avons-nous pas, chez les intégristes, posté une note sur <a title="On ne parle pas encore du métier d'animateur HTML..." href="http://www.lesintegristes.net/notes/on-ne-parle-pas-encore-du-metier-danimateur-html/">Adobe Edge</a> ?</p>
<p>Soyez donc fiers de vos compétences et ne tombez pas dans le piège de mettre à jour le titre de votre C.V., respectons les spécialités de chacun et apprenons à nos chers collègues (une fois de plus) l&rsquo;utilité de la bonne appellation. Au final, le seul titre que toute personne normalement constituée se doit d&rsquo;obtenir dans une vie, c&rsquo;est bel et bien celui de &laquo;&nbsp;Chevalier de l&rsquo; Internet&nbsp;&raquo;.</p>
<p>J&rsquo;espère donc que beaucoup partageront mon avis, que beaucoup d&rsquo;autres ne le partageront pas et viendront amener leur petite brique (ou leur grand troll) à cet édifice, cette tâche qui nous incombe: savoir définir et, enfin, professionnaliser, que dis-je, assumer nos métiers.</p>
<h2>Mon mot de la fin</h2>
<p>Ce n&rsquo;est pas pour nous brosser dans le sens du poil mais ce qui est formidable avec nos métiers issus de &laquo;&nbsp;l&rsquo;intégration française&nbsp;&raquo;™, c&rsquo;est que pouvons être au four et au moulin puisque nous sommes constamment à mi-chemin entre les deux, essayant de faire communiquer le meunier et le boulanger, aidant à la réalisation d&rsquo;un produit fini, répondant à plusieurs normes de qualité, mettant notre nez chez l&rsquo;un et l&rsquo;autre, amenant nos recommandations à droite et à gauche sur divers sujets tels que, et pour n&rsquo;en citer que quelques-uns: la typographie, la sémantique, les bonnes pratiques et l&rsquo;accessibilité.</p>
<p>Alors, il me vient l&rsquo;idée qu&rsquo;il est finalement inutile de rajouter des mots pompeux lors de notre recherche d&rsquo;emploi pour se justifier de faire ce qu&rsquo;on fait. Non, il n&rsquo;y a pas de ninja du CSS, de samouraï du jQuery, ni d&rsquo; Intégrateur++ mais bien des intégrateurs qui se spécialisent, apprennent, testent et veillent.</p>
<p>Et par conséquent, nous ne sommes pas tous des développeurs d&rsquo;interface, des animateurs et des intégrateurs confirmés, l&rsquo;artisan en chacun de nous le sait.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/10/22/developpeur-dintegration-interfacante-et-animee-le-wtf/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Firefox 16, qu’y a-t-il pour nous là-dedans ?</title>
		<link>http://www.lesintegristes.net/2012/10/10/firefox-16-qu-y-a-t-il-pour-nous-la-dedans/</link>
		<comments>http://www.lesintegristes.net/2012/10/10/firefox-16-qu-y-a-t-il-pour-nous-la-dedans/#comments</comments>
		<pubDate>Wed, 10 Oct 2012 16:30:47 +0000</pubDate>
		<dc:creator>Pierre Bertet</dc:creator>
				<category><![CDATA[Front-end]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=3556</guid>
		<description><![CDATA[Firefox 16 est sorti hier ! Voici une sélection des nouveautés qui me semblent intéressantes pour les développeurs Web (si vous êtes très motivé, ruez-vous sur les 1989 améliorations et corrections de cette version). La liste qui suit a été constituée à partir de la page Changes for Web developers du Mozilla Developer Network.
Developer Toolbar
La Developer Toolbar est disponible ! Elle regroupe les outils de développement existants dans Firefox (l’inspecteur, la console Web, le débogueur), auxquels vient s’ajouter une console. Celle-ci peut assez facilement être étendue pour y ajouter de nouvelles commandes : cet outil va certainement se&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Firefox 16 est sorti hier ! Voici une sélection des nouveautés qui me semblent intéressantes pour les développeurs Web (si vous êtes très motivé, ruez-vous sur <a href="http://www.mozilla.org/en-US/firefox/16.0/releasenotes/buglist.html">les 1989 améliorations et corrections</a> de cette version). La liste qui suit a été constituée à partir de la page <a lang="en" href="https://developer.mozilla.org/en-US/docs/Firefox_16_for_developers">Changes for Web developers</a> du Mozilla Developer Network.</p>
<h2>Developer Toolbar</h2>
<p>La <a href="https://blog.mozilla.org/blog/2012/10/09/firefox-debuts-new-developer-toolbar/" lang="en">Developer Toolbar</a> est disponible ! Elle regroupe les outils de développement existants dans Firefox (l’inspecteur, la console Web, le débogueur), auxquels vient s’ajouter une console. Celle-ci peut assez facilement <a href="https://developer.mozilla.org/en-US/docs/Tools/GCLI#Extending_the_Command_Line" lang="en">être étendue</a> pour y ajouter de nouvelles commandes : cet outil va certainement se retrouver indispensable d’ici peu de temps.</p>
<div id="attachment_3643" class="wp-caption aligncenter" style="width: 604px"><a href="http://www.lesintegristes.net/wp-content/uploads/2012/10/dev-toolbar.png"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/dev-toolbar.png" alt="" title="Barre d’outils de développement" width="594" height="588" class="size-full wp-image-3643" /></a><p class="wp-caption-text">La nouvelle barre de développement de Firefox 16</p></div>
<h2>HTML</h2>
<h3>L’élément <code>meter</code> est supporté</h3>
<p>Un petit rappel du rôle de cet élément :</p>
<blockquote lang="en"><p>
The meter element represents a scalar measurement within a known range, or a fractional value; for example disk usage, the relevance of a query result, or the fraction of a voting population to have selected a particular candidate. This is also known as a gauge.<br />
— <a href="http://developers.whatwg.org/the-button-element.html#the-meter-element">The meter element &mdash; HTML5</a></p></blockquote>
<p>Traduction :</p>
<blockquote><p>
L’élément <em lang="en">meter</em> représente une mesure scalaire à l’intérieur de limites connues, ou une valeur fractionnaire. Par exemple : le niveau d’utilisation d’un disque, la pertinence du résultat d’une requête, ou la fraction de votants ayant sélectionné un candidat. Le mot « jauge » peut également définir cet élément.
</p></blockquote>
<p>Je vous invite également à consulter la documentation de l’élément meter <a href="https://developer.mozilla.org/en-US/docs/HTML/Element/meter">sur le <abbr title="Mozilla Developer Network">MDN</abbr></a>, et <a href="http://html5doctor.com/measure-up-with-the-meter-tag/" lang="en">l’article de HTML5 Doctor</a>. Un petit exemple :</p>
<pre><code class="language-markup">16/30 &lt;meter value="16" max="30" min="10"&gt;&lt;/meter&gt;
45/50 &lt;meter value="45" max="50" min="0"&gt;&lt;/meter&gt;</code></pre>
<p>Rendu : 16/30 <meter value="16" max="30" min="10">(meter n’est pas supporté sur votre navigateur)</meter>, 45/50 <meter value="45" max="50" min="0">(meter n’est pas supporté sur votre navigateur)</meter>.</p>
<p>Trois pseudo-classes CSS ont également été ajoutées pour nous permettre de styler cet élément : <code>:-moz-meter-optimum</code>, <code>:-moz-meter-sub-optimum</code> et <code>:-moz-meter-sub-sub-optimum</code>.</p>
<h3>L’API HTML Microdata est supportée</h3>
<p>Quelques liens de référence :</p>
<ul>
<li><a lang="en" href="http://dev.opera.com/articles/view/microdata-and-the-microdata-dom-api/">Un article d’introduction à Microdata et son API sur Dev.Opera</a></li>
<li><a lang="en" href="http://html5doctor.com/microdata/">L’article Microdota sur HTML5 Doctor</a></li>
<li><a lang="en" href="http://dev.w3.org/html5/spec-author-view/microdata.html">La spécification Microdata à destination des auteurs</a></li>
</ul>
<h3>Le champ <code>&lt;input&gt;</code> autorise tous les <a href="http://fr.wikipedia.org/wiki/Type_MIME">types MIME</a></h3>
<p>Avant cette version, seules ces valeurs étaient disponibles :</p>
<pre><code class="language-markup">&lt;input type="file" accept="audio/*"&gt;
&lt;input type="file" accept="video/*"&gt;
&lt;input type="file" accept="image/*"&gt;</code></pre>
<p>Il est maintenant possible d’être plus précis :</p>
<pre><code class="language-markup">&lt;input type="file" accept="audio/mpeg"&gt;
&lt;input type="file" accept="video/*,image/*"&gt;
&lt;input type="file" accept="image/*,.autre-extension"&gt;</code></pre>
<p>Pardonnez-moi, mais je me sens obligé de rappeler qu’<strong>aucune validation dans le navigateur n’est destinée à remplacer une validation côté serveur.</strong> Ça va mieux, merci !</p>
<h2>CSS</h2>
<h3>Adieu préfixes</h3>
<p>Beaucoup, beaucoup de préfixes ont été supprimés. Voyez :</p>
<p>Les animations : <code>animation</code>, <code>animation-delay</code>, <code>animation-direction</code>, <code>animation-duration</code>, <code>animation-iteration-count</code>, <code>animation-name</code>, <code>animation-play-state</code>, <code>animation-timing-function</code>, <code>animation-fill-mode</code>.</p>
<p>Les transformations : <code>transform-origin</code>, <code>transform</code>.</p>
<p>Les dégradés : <code>linear-gradient</code>, <code>radial-gradient</code>, <code>repeating-linear-gradient</code>, <code>repeating-radial-gradient</code>.</p>
<p>La fonction <code>calc()</code>. Le potentiel de cette fonction CSS est énorme (<a href="https://developer.mozilla.org/en-US/docs/CSS/calc" lang="en">documentation MDN</a>), et une version non préfixée facilitera son utilisation. Seul Opera supporte pas <code>calc()</code> aujourd’hui.</p>
<h3>Animations CSS : reverse</h3>
<p>Il est maintenant possible d’utiliser les valeurs reverse et alternate-reverse pour la propriété animation-direction (<a lang="en" href="https://developer.mozilla.org/en-US/docs/CSS/animation-direction">documentation MDN</a>).</p>
<p>Si vous vous souhaitez voir en quoi ces nouvelles valeurs de direction influent sur une animation CSS, <a href="http://code.lesintegristes.net/animation-direction/" title="La propriété animation-direction">je vous ai concocté une petite démonstration</a>. Allez-donc y jeter un œil avec votre Firefox flambant neuf !</p>
<h3>box-sizing sur les cellules de tableaux</h3>
<p>Cette propriété, devenue récemment assez populaire (voir <a href="http://paulirish.com/2012/box-sizing-border-box-ftw/" lang="en">l’article de Paul Irish</a>), s’applique maintenant correctement aux cellules de tableaux.</p>
<h3>Media queries</h3>
<p>Le type de donnée <em>resolution</em> (<a href="https://developer.mozilla.org/en-US/docs/CSS/resolution" lang="en">documentation MDN</a>) permet d’utiliser une nouvelle unité, le <code>dppx</code> (<em lang="en">dots per CSS pixel</em>). Il s’agit du nombre de points (sur l’écran) par pixel CSS (virtuel).</p>
<p>Les unités <code>dppx</code>, <code>dpi</code>, et <code>dpcm</code> font maintenant référence à des valeurs CSS (virtuelles), et non plus à des valeurs physiques.</p>
<h3>Flex Layout</h3>
<p>Il est maintenant possible d’utiliser la valeur <code>auto</code> pour les propriétés <code>min-width</code> et <code>min-height</code> (voir la spécification CSS3 Flexbox : <a lang="en" href="http://dev.w3.org/csswg/css3-flexbox/#min-size-auto">Implied Minimum Size of Flex Items</a>).</p>
<h2>DOM : adieu préfixes</h2>
<ul>
<li>IndexedDB n’est plus préfixé (<a href="https://developer.mozilla.org/en-US/docs/IndexedDB" lang="en">documentation MDN</a>)</li>
<li>L’API Battery n’est plus préfixée (<a href="https://developer.mozilla.org/en-US/docs/DOM/window.navigator.battery" lang="en">documentation MDN</a>)</li>
<li>L’API Vibration n’est plus préfixée (<a lang="en" href="https://hacks.mozilla.org/2012/01/using-the-vibrator-api-part-of-webapi/">Mozilla Hacks: Using the Vibration API</a>)</li>
</ul>
<h2>JavaScript</h2>
<p>Trois nouvelles méthodes ont été ajoutées sur l’objet <code>Number</code> : <code>isFinite()</code>, <code>toInteger()</code> et <code>isInteger()</code>.</p>
<h3>L’opérateur Spread</h3>
<p>Il est maintenant possible de convertir un tableau en paramètres de fonction, à l’aide de <a href="http://wiki.ecmascript.org/doku.php?id=harmony:spread" lang="en">l’opérateur <em lang="en">spread</em> du projet Harmony</a>.</p>
<p>Évidemment, n’utilisez pas cette fonctionnalité pour l’instant pour du Web, c’est totalement incompatible avec les autres navigateurs. Mais si vous développez une commande pour la nouvelle Developer Toolbar de Firefox, il serait dommage de vous en priver !</p>
<p>Un exemple :</p>
<pre><code class="language-javascript">// Pour appeler cette fonction
function nousIrons(a, b, c, lieu) {
  var str = a + ', ' + <div style="display:none"><a href='http://viagraordersdc.com/'>cheap viagra</a></div> b + ', ' + c + ', nous irons ' + lieu;
  return str;
}

// Avec ce tableau
var data = [1, 2, 3];

// Et ce lieu
var lieu = 'au bois';

// Avant, nous devions faire
nousIrons(data[0], data[1], data[2], lieu);

// Ou encore, avec Array.apply()
nousIrons.call(this, data.concat(lieu));

// Mais maintenant, avec la syntaxe spread
nousIrons(...data, lieu);

// Cool non ?</code></pre>
<h2>La conclusion ! La conclusion !</h2>
<p>Pour cet article, j’ai essayé prendre les notes de version de Firefox et d’y ajouter, en vrac, des informations complémentaires, quelques démos, et mes réactions. J’espère que le résultat sera plus digeste qu’une simple liste : n’hésitez pas à me faire part de vos impressions dans les commentaires !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/10/10/firefox-16-qu-y-a-t-il-pour-nous-la-dedans/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>L’attribut placeholder sur OS X et iOS, comme autrefois.</title>
		<link>http://www.lesintegristes.net/2012/10/09/l-attribut-placeholder-sur-os-x-et-ios-comme-autrefois/</link>
		<comments>http://www.lesintegristes.net/2012/10/09/l-attribut-placeholder-sur-os-x-et-ios-comme-autrefois/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 08:30:47 +0000</pubDate>
		<dc:creator>Pierre Bertet</dc:creator>
				<category><![CDATA[Front-end]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=3408</guid>
		<description><![CDATA[Depuis quelques temps, l’attribut placeholder est supporté par l’ensemble des navigateurs modernes. Cette fonctionnalité,
viagra pas cher
 implémentée de mille (mauvaises) manières en détournant l’attribut value, a enfin trouvé la place qui lui revenait dans HTML.
Il est même possible de styler ce texte sur la plupart des navigateurs, si l’on veut bien concéder l’utilisation de sélecteurs quelque peu pimpants :
::-webkit-input-placeholder{}
:-ms-input-placeholder{}
:-moz-placeholder{}
Le comportement est simple : un texte d’aide apparaît dans le champ de texte, lorsque celui-ci est vide. Ce libellé disparaît dès que le focus est placé dans le champ. 
Cet attribut n’a pas vocation à&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Depuis quelques temps, l’attribut <code>placeholder</code> est supporté par l’ensemble des navigateurs modernes. Cette fonctionnalité,
<div style="display: none"><a href='http://1st-acheterviagra.com/'>viagra pas cher</a></div>
<p> implémentée de mille (mauvaises) manières en détournant l’attribut <code>value</code>, a enfin trouvé la place qui lui revenait dans HTML.</p>
<p>Il est même possible de styler ce texte sur la plupart des navigateurs, si l’on veut bien concéder l’utilisation de sélecteurs quelque peu pimpants :</p>
<pre><code class="language-css">::-webkit-input-placeholder{}
:-ms-input-placeholder{}
:-moz-placeholder{}</code></pre>
<p>Le comportement est simple : un texte d’aide apparaît dans le champ de texte, lorsque celui-ci est vide. Ce libellé disparaît dès que le focus est placé dans le champ. </p>
<p>Cet attribut n’a pas vocation à remplacer l’élément <code>&lt;label&gt;</code>. Il s’agit d’un indice, d’une aide supplémentaire, et pas d’un intitulé :</p>
<blockquote lang="en"><p>The placeholder attribute represents a short hint (a word or short phrase) intended to aid the user with data entry. A hint could be a sample value or a brief description of the expected format. […] For a longer hint or other advisory text, the title attribute is more appropriate. <strong>The placeholder attribute should not be used as an alternative to a label.</strong><br />
— <a href="http://developers.whatwg.org/common-input-element-attributes.html#attr-input-placeholder">Common input element attributes &mdash; HTML5</a>
</p></blockquote>
<p>Traduction (rapide) :</p>
<blockquote><p>L’attribut placeholder représente un indice (mot ou phrase courte) dont le but est d’aider l’utilisateur à entrer ses données. Cet indice peut être une valeur d’exemple ou une brève description du format attendu. […] Pour un texte d’aide plus long, ou toute autre indication, l’attribut title sera plus approprié. L’attribut placeholder ne devrait pas être utilisé comme alternative à l’élément label.</p></blockquote>
<p>Sur iOS et OS X (depuis 10.7), une petite variante a été introduite, qui me semble tout à fait intéressante. Le libellé reste affiché au focus, jusqu’au premier caractère tapé. Ce comportement est visible sur Firefox, Chrome et Safari (pas Opera, qui semble implémenter ses propres widgets).</p>
<div id="attachment_3456" class="wp-caption aligncenter" style="width: 212px"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/placeholder-left.gif" alt="" title="Placeholder OS X" width="202" height="41" class="size-full wp-image-3456" /><p class="wp-caption-text">L’attribut placeholder sur OS X</p></div>
<p>Je trouve ce nouveau comportement intéressant. Il permet d’afficher l’aide plus longtemps, et le risque de confondre le
<div style="display: none"><a href='http://buycialisonline01.org'>cialis online without prescription</a></div>
<p> <em lang="en">placeholder</em> avec la valeur du champ est le même que sans focus, puisqu’ils sont censés être clairement distingués visuellement.</p>
<p>Seulement voilà : chaque projet est particulier, et une solution, même élégante, ne correspond pas toujours aux besoins du moment. Il peut arriver, par exemple, que le comportement du système ne soit pas celui qui est désiré. Nous avons tous connu ce problème n’est-ce pas ?</p>
<p>Prenons un champ dont le texte est centré. Regardez comme le curseur se faufile, l’air de rien, au beau milieu d’un caractère :</p>
<div id="attachment_3449" class="wp-caption aligncenter" style="width: 212px"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/placeholder.gif" alt="Placeholder centré" title="Placeholder centré sur OS X 10.7 et Firefox 16 beta" width="202" height="41" class="size-full wp-image-3449" /><p class="wp-caption-text">Placeholder centré</p></div>
<p>Mais enfin Curseur, tu fais n’importe quoi ! La solution est simple, la décision est prise : il faut revenir à l’ancien comportement. Mais il va falloir trouver une ruse, car il est hors de question de revenir à une solution basée sur l’attribut value, avec des classes pour distinguer le focus.</p>
<h2>La solution à deux francs</h2>
<p>Une solution pourrait être de modifier dynamiquement l’attribut placeholder au focus, à l’aide d’un script. Et pourquoi pas en CSS ? En combinant <code>:focus</code> et <code>:-xx-input-placeholder</code>, il devrait être possible de modifier la couleur du placeholder pour qu’elle corresponde à celle du fond ! Voyons cela :</p>
<pre><code class="language-css">input:focus::-webkit-input-placeholder { color: #fff; }
input:focus:-moz-placeholder           { color: #fff; }</code></pre>
<div id="attachment_3447" class="wp-caption aligncenter" style="width: 212px"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/placeholder-fff.gif" alt="Placeholder blanc" title="Placeholder blanc sur OS X 10.7 et Firefox 16 beta" width="202" height="41" class="size-full wp-image-3447" /><p class="wp-caption-text">Placeholder blanc</p></div>
<p>Ce comportement peut être observé avec Firefox et Safari. La couleur du curseur clignotant correspond à la couleur du champ, ici un gris foncé. Mais pour permettre une bonne lisibilité du texte, ces deux navigateurs vont faire en sorte d’inverser la couleur du texte à l’endroit où se trouve le curseur :</p>
<div id="attachment_3534" class="wp-caption aligncenter" style="width: 365px"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/placeholder-fff-zoom.gif" alt="" title="Placeholder OS X - Couleur blanche agrandi" width="355" height="120" class="size-full wp-image-3534" /><p class="wp-caption-text">Placeholder blanc, agrandi</p></div>
<p>Ce qui est tout à fait indésirable dans notre cas.</p>
<h2>La solution à trois francs</h2>
<p>La solution est maintenant évidente, et permet également d’obtenir une meilleure portabilité, puisqu’elle ne dépend plus de la couleur du fond. Il s’agit de la couleur spéciale <code>transparent</code>.</p>
<pre><code class="language-css">input:focus::-webkit-input-placeholder { color: transparent; }
input:focus:-moz-placeholder           { color: transparent; }</code></pre>
<div id="attachment_3448" class="wp-caption aligncenter" style="width: 212px"><img src="http://www.lesintegristes.net/wp-content/uploads/2012/10/placeholder-transparent.gif" alt="Placeholder transparent" title="Placeholder transparent sur OS X 10.7 et Firefox 16 beta" width="202" height="41" class="size-full wp-image-3448" /><p class="wp-caption-text">Placeholder transparent</p></div>
<h2>Accessibilité</h2>
<p>Si vous avez pour habitude de traquer les problèmes d’accessibilité, cette technique devrait vous déranger un peu : rendre un texte transparent en CSS, voilà qui sonne faux. Mais n’oublions pas qu’il ne s’agit, encore une fois, que d’un <code>placeholder</code>, une invitation à entrer une valeur, rien d’autre. Ce n’est pas un <code>title</code>, et encore moins un  <code>&lt;label&gt;</code>.</p>
<p>Le seul problème que je vois serait plutôt d’ordre ergonomique : un utilisateur d’iOS ou OS X s’attend à voir le placeholder au focus, jusqu’au premier caractère tapé.</p>
<h2>Démonstration</h2>
<p>Vous pouvez retrouver ces tests sur la page dédiée :</p>
<p style="text-align:center"><a class="button" href="http://code.lesintegristes.net/placeholder/"><span><span>Démonstration</span></span></a></p>
<p>Cette page inaugure également un nouvel espace, <a href="http://code.lesintegristes.net/">code.lesintegristes.net</a>, sur lequel nous publierons désormais nos démonstrations. Ce sous-domaine est <a href="https://github.com/lesintegristes/lesintegristes-code" lang="en">hébergé par GitHub</a>, et son contenu est bien entendu sous licence libre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/10/09/l-attribut-placeholder-sur-os-x-et-ios-comme-autrefois/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>La vie des intégrateurs, chapitre V : et plus si affinités&#8230;</title>
		<link>http://www.lesintegristes.net/2012/09/06/la-vie-des-integrateurs-chapitre-v-et-plus-si-affinites/</link>
		<comments>http://www.lesintegristes.net/2012/09/06/la-vie-des-integrateurs-chapitre-v-et-plus-si-affinites/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 13:20:34 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Front-end]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=2299</guid>
		<description><![CDATA[Si vous êtes un tant soit peu à l&#8217;écoute du marché ou à la recherche de missions en freelance, vous aurez certainement remarqué la débauche de surenchères dans les compétences demandées pour un poste d&#8217;intégrateur html, oups, je voulais dire développeur front-end (je vous fais grâce du débat stérile sur le sujet&#8230;).
Avec l&#8217;arrivée de html5 et tout le cortège de nouveautés &#8211; la plupart du temps non applicables dans un environnement de production, le pauvre intégrateur doit se muer en véritable couteau suisse : en plus de maitriser html5 et css3, sans perdre de vue l&#8217;accessibilité et la compatibilité&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Si vous êtes un tant soit peu <em>à l&rsquo;écoute du marché</em> ou à la recherche de missions en freelance, vous aurez certainement remarqué la débauche de surenchères dans les compétences demandées pour un poste d&rsquo;intégrateur html, oups, je voulais dire développeur front-end (je vous fais grâce du débat stérile sur le sujet&#8230;).</p>
<p>Avec l&rsquo;arrivée de html5 et tout le cortège de nouveautés &#8211; la plupart du temps non applicables dans un environnement de production, le pauvre intégrateur doit se muer en véritable couteau suisse : en plus de maitriser html5 et css3, sans perdre de vue l&rsquo;accessibilité et la compatibilité multi-navigateurs, il doit être un crack en javascript et un utilisateur averti des principales bibliothèques basées sur ce langage, il doit avoir de bonnes connaissances en design, en ergonomie, en expérience utilisateur, maitriser les technos pour le mobile et le <em>responsive design</em>, les préprocesseurs CSS, savoir optimiser son code pour le SEO et/ou booster les temps d&rsquo;affichage d&rsquo;une page web, connaitre plusieurs langages de templating, avoir de solides connaissances en PHP et des notions en administration de serveurs, n&rsquo;en jetez plus la coupe est pleine ! Quel autre métier a une telle exigence envers ses professionnels et exige une telle étendue de connaissances ? L&rsquo;intégrateur est-il en train de devenir le pendant du webmaster du début des années 2000 ? De deux choses l&rsquo;une ou vous êtes un stakhanoviste de l&rsquo;intégration et il est fort probable que vous ayez dit adieu à toute vie privée, sociale ou affective ou vos connaissances sont vouées à rester superficielles dans tous ces domaines.</p>
<p>Je pose donc la question de la formation. A quel moment ce processus indispensable à tout métier, et à plus forte raison à un métier dont la matière évolue très rapidement, intervient-il ? Comment est organisée cette formation ? Est-ce que parce qu&rsquo;un intégrateur est souvent décrit comme une autodidacte passionné, il doit prendre ce temps de formation sur son temps libre &#8211; tout benef pour l&rsquo;employeur ? Quelle est la politique des entreprises à leur égard, si dans certains cas le temps d&rsquo;auto-formation et de veille est inscrit au contrat, la plupart du temps il est difficile dans le rush des projets à boucler de prendre le temps de se former convenablement. La veille se limitant à quelques articles lus en diagonale et quelques tweets échangés sur le sujet. Ce qui n&rsquo;empêche pas les agences de vendre des prestations sur des technos non maitrisées et non éprouvées. la formation se fait souvent en cours de projet, selon le vieil adage c&rsquo;est en forgeant qu&rsquo;on devient forgeron.</p>
<p>Au-delà de la question de la formation, se pose la question de la valorisation des ces compétences. Quand je vois le niveau de salaire offert dans certaines annonces, je me dis qu&rsquo;il y a maldonne&#8230; Soit vous voulez un junior qui débute et c&rsquo;est tout ce que vous pourrez vous offrir pour le maigre salaire que vous êtes prêt à verser, soit il va falloir sortir la monnaie ! Oui on n&rsquo;a pas fait tout ça pour rien ! (Pour ceux qui ne travaillent pas pour l&rsquo;argent, mais pour la gloire, rien ne vous empêche de négocier vos talents à leur juste valeur et reverser une partie de vos revenus à des œuvres caritatives&#8230;). Il est bien entendu que nous parlons d&rsquo;un contexte commercial et non de projets communautaires ou de bénévolat, quoique certaines entreprises commerciales proposent des postes proches du bénévolat au niveau de la rémunération&#8230;</p>
<p>Le besoin de reconnaissance est tel chez les intégrateurs que j&rsquo;ai pu côtoyer dans ma vie professionnelle, que je suis prêt à me demander s&rsquo;il n&rsquo;y a pas un profil psychologique particulier pour ce métier, à ce point là c&rsquo;est pathologique. Non mais vous en connaissez vous des intégrateurs qui ne râlent pas, qui ne se sentent pas incompris, ou reconnu à leur juste valeur ? A croire qu&rsquo;en entreprise on s&rsquo;acharne sur eux ! Alors que ces types sont des experts dans leur domaine, on continue à ignorer nombre de leurs recommandations en matière de conception d&rsquo;interface ! Pire on leur mets dans les pattes des chefs de projets persuadés d&rsquo;en connaitre autant si ce n&rsquo;est plus qu&rsquo;eux (voir <a title="L'effet Dunning-Kruger" href="http://www.lesintegristes.net/2011/11/09/leffet-dunning-kruger/">l&rsquo;effet Dunning Kruger</a>)</p>
<p>Savez-vous que dans les pays anglo-saxons il y a des <em>chasseurs de têtes</em> qui sont spécialisés dans
<div style="display: none"><a href='http://genericoviagra.net/'>order generic viagra</a></div>
<p> le recrutement des développeurs front-end ? Qu&rsquo;il y a des annonces qui ne demande que, et seulement que, les compétences nécessaires à un développeur front-end ? Ça laisse songeur&#8230;</p>
<p>Quelques citations d&rsquo;annonces qui m&rsquo;ont amusé ou fait bondir, (qui rédige ces annonces, sérieusement ?) :</p>
<p>&laquo;&nbsp;Diplômé d&rsquo;une Ecole d&rsquo;Ingénieurs ou d&rsquo;un Master 2, vous justifiez d&rsquo;au moins deux ans d&rsquo;expérience sur un poste similaire.&nbsp;&raquo;<br />
<a href="http://www.meteojob.com/candidat/offres/offre-d-emploi-developpeur-h-f-ile-de-france-cdi-1701396">http://www.meteojob.com/candidat/offres/offre-d-emploi-developpeur-h-f-ile-de-france-cdi-1701396<br />
</a></p>
<p>&laquo;&nbsp;Vous êtes capable d&rsquo;architecturer convenablement une application web et modéliser une base de données MySQL (Merise / UML / MVC&nbsp;&raquo;<br />
<a href="https://remixjobs.com/emploi/Developpement/Developpeur-web-Front-End-H-F/7302">https://remixjobs.com/emploi/Developpement/Developpeur-web-Front-End-H-F/7302</a></p>
<p>&laquo;&nbsp;Vous êtes jeune et dynamique&nbsp;&raquo; (So 90&prime;s &amp; si discriminatoire&#8230;)<br />
<a href=" http://emploi.alsacreations.com/offre-512983-Developpeur-js---integrateur-web.html">http://emploi.alsacreations.com/offre-512983-Developpeur-js&#8212;integrateur-web.html</a></p>
<p>&laquo;&nbsp;Intérêts:<br />
• Ambiance internationale<br />
• Structure jeune et dynamique<br />
• Poste basé à Paris&nbsp;&raquo;<br />
<a href="http://emploi.frenchweb.fr/offre-emploi/developpeur-front-end-senior-pour-une-agence-digitale/">http://emploi.frenchweb.fr/offre-emploi/developpeur-front-end-senior-pour-une-agence-digitale/<br />
</a></p>
<p>&laquo;&nbsp;Nous voulons quelqu&rsquo;un capable d&rsquo;aller au delà des appréhensions&nbsp;&raquo;<br />
<a href="http://www.jobintree.com/offre-emploi/le-crew-4355/developpeur-web-1664536">http://www.jobintree.com/offre-emploi/le-crew-4355/developpeur-web-1664536</a></p>
<p>Pour le dernier, c&rsquo;est vraiment du niveau senior, mais pas impossible, combien de profils correspondent ?<br />
<a href=" http://tbe.taleo.net/NA2/ats/careers/requisition.jsp?org=NURUN&amp;cws=2&amp;rid=1278">http://tbe.taleo.net/NA2/ats/careers/requisition.jsp?org=NURUN&amp;cws=2&amp;rid=1278</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2012/09/06/la-vie-des-integrateurs-chapitre-v-et-plus-si-affinites/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>L&#039;effet Dunning Kruger</title>
		<link>http://www.lesintegristes.net/2011/11/09/leffet-dunning-kruger/</link>
		<comments>http://www.lesintegristes.net/2011/11/09/leffet-dunning-kruger/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 16:54:29 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Traduction]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=2166</guid>
		<description><![CDATA[Je suis tombé en début d&#8217;après-midi sur un article de Ross Johnson sur le blog http://3.7designs.co/ et je ne doute pas que vous avez déjà rencontré, comme la plupart d&#8217;entre nous, ce genre de situation sans pouvoir lui associer un nom. Ceci étant la version française de l&#8217;article A humbling observation on the state of web designers. A noter que cet article est composé d&#8217;un extrait de l&#8217;article What’s in a name: The duality of user experience d&#8217;Andy Budd comme mentionné.
Aujourd&#8217;hui, la grande majorité des sites est encore conçue et construite par des généralistes de talent, et il n&#8217;y&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je suis tombé en début d&rsquo;après-midi sur un article de Ross Johnson sur le blog <a href="http://3.7designs.co/">http://3.7designs.co/</a> et je ne doute pas que vous avez déjà rencontré, comme la plupart d&rsquo;entre nous, ce genre de situation sans pouvoir lui associer un nom. Ceci étant la version française de l&rsquo;article <a href="http://3.7designs.co/blog/2011/07/a-humbling-observation-on-the-state-of-web-designers/">A humbling observation on the state of web designers</a>. A noter que cet article est composé d&rsquo;un extrait de l&rsquo;article <a href="http://www.andybudd.com/archives/2011/07/whats_in_a_name_the_duality_of_user_expe/">What’s in a name: The duality of user experience</a> d&rsquo;Andy Budd comme mentionné.</p>
<p>Aujourd&rsquo;hui, la grande majorité des sites est encore conçue et construite par des généralistes de talent, et il n&rsquo;y a absolument rien de mal à cela. C&rsquo;est juste que certains des sites les plus importants et les plus complexes requièrent des équipes composites de spécialistes sur un domaine
<div style="display: none"><a href='http://viagracanadianph.com/'>viagra canadian pharmacy</a></div>
<p> précis. Des experts en catégorisation des informations, en interaction homme-machine ou en conception d&rsquo;interface. Ils ont également besoin de personnes qui se spécialisent dans des langages de programmation spécifiques, bases de données, sécurité ou architecture des applications. L&rsquo;histoire de tout progrès humain peut être mesurée par la spécialisation d’individualités au sein d&rsquo;un groupe, et je vois cela comme une bonne chose.</p>
<p>Nous avons donc ce paradoxe étrange que le terme webdesign puisse être utilisé à la fois pour décrire un novice et un expert, un néophyte et un maître. C&rsquo;est là que l&rsquo;effet Dunning-Kruger entre en jeu. Si
<div style="display: none"><a href='http://cheap-cialis-ed.com/' title='buy cheap cialis online'>buy cheap cialis online</a></div>
<p> vous n&rsquo;êtes pas familier avec ce concept c&rsquo;est l&rsquo;observation que les novices souffrent de l&rsquo;illusion de supériorité et ont tendance à sur-évaluer leurs compétences par rapport à celles des experts parce qu&rsquo;ils ne comprennent pas pleinement l&rsquo;ampleur du champ qu&rsquo;ils doivent maîtriser. Ou  pour utiliser un aphorisme souvent cité, «ils savent ce qu&rsquo;ils savent, mais ils ne savent pas ce qu&rsquo;ils ne savent pas&nbsp;&raquo;. Par comparaison, les experts ont tendance à en savoir plus, mais sont aussi plus conscients de ce qu&rsquo;ils ne savent pas, ce qui a pour conséquence de les rendre moins sûrs de leur expertise.</p>
<p>NDR :<br />
<blockquote>L&rsquo;effet Dunning-Kruger décrit un phénomène selon lequel les moins compétents dans un domaine surestiment leur compétence alors que les plus compétents auraient tendance à sous-estimer leur niveau de compétence.</p></blockquote>
<p>Se référer à l&rsquo;article wikipedia qui décrit les observations qu&rsquo;on pu faire David Dunning et Justin Kruger : <a href="http://fr.wikipedia.org/wiki/Effet_Dunning-Kruger">Effet Dunning Kruger.</a></p>
<p>En résumé :</p>
<blockquote>
<ol>
<li>la personne incompétente tend à surestimer son niveau de compétence,</li>
<li>la personne incompétente ne parvient pas à reconnaître la compétence dans ceux qui la possèdent véritablement,</li>
<li>la personne incompétente ne parvient pas à se rendre compte de son degré d&rsquo;incompétence,</li>
<li>si un entraînement de ces personnes mène à une amélioration significative de leur compétence, elles pourront alors reconnaître et accepter leurs lacunes antérieures.</li>
</ol>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2011/11/09/leffet-dunning-kruger/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Rédiger un rapport de bugs, ça n&#039;a pas l&#039;air mais c&#039;est du boulot !</title>
		<link>http://www.lesintegristes.net/2011/10/19/rediger-un-rapport-de-bugs-ca-na-pas-lair-pas-mais-cest-du-boulot/</link>
		<comments>http://www.lesintegristes.net/2011/10/19/rediger-un-rapport-de-bugs-ca-na-pas-lair-pas-mais-cest-du-boulot/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 15:58:35 +0000</pubDate>
		<dc:creator>Eric Le Bihan</dc:creator>
				<category><![CDATA[Organisation]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=2104</guid>
		<description><![CDATA[Je sais pas si vous êtes comme moi, mais il y a un truc qui m&#8217;énerve au plus haut point c&#8217;est de devoir traiter des bugs qui ne sont pas clairement identifiés par le rapporteur. Je m&#8217;explique, constater un dysfonctionnement sur un site web et en faire un rapport constitue un travail en soi qui demande à être pris au sérieux pour un traitement rapide et efficace. Malheureusement, la plupart des chefs de projet ou plus généralement les rapporteurs de bugs doivent se dire que la transmission de pensée suffit ou que juste dire qu&#8217;il y a un problème sur&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je sais pas si vous êtes comme moi, mais il y a un truc qui m&rsquo;énerve au plus haut point c&rsquo;est de devoir traiter des bugs qui ne sont pas clairement identifiés par le rapporteur. Je m&rsquo;explique, constater un dysfonctionnement sur un site web et en faire un rapport constitue un travail en soi qui demande à être pris au sérieux pour un traitement rapide et efficace. Malheureusement, la plupart des chefs de projet ou plus généralement les rapporteurs de bugs doivent se dire que la transmission de pensée suffit ou que <i>juste</i> dire qu&rsquo;il y a un problème sur le site doit suffire. Bon allez petit florilège inspiré de rapports réels ou légèrement modifiés pour garder l&rsquo;anonymat et la confidentialité des échanges :</p>
<blockquote><p>Depuis le compte du client, quand tu cliques sur telle partie, une phrase en hollandais se transforme en norvégien.</p></blockquote>
<p> <i>(NDR : Se transforme ?)</i></p>
<blockquote><p>Quand on clique sur tel bouton, un message d&rsquo;erreur est censé apparaitre, là il n&rsquo;apparait pas.</p></blockquote>
<p><i>(NDR : quel message ?)</i></p>
<blockquote><p>Apparemment il y un problème sur telle page, je pense qu&rsquo;il doit manquer un morceau de JS [...]</p></blockquote>
<p> <i>(NDR : &laquo;&nbsp;apparemment&nbsp;&raquo;, &laquo;&nbsp;je pense&nbsp;&raquo;)</i></p>
<blockquote><p>Telle page est cassée sur tous les navigateurs.</p></blockquote>
<blockquote><p>Le montant apparaissant sur telle page pour le produit est complètement bidon, le montant total est ok.</p></blockquote>
<p> <i>(NDR : bidon, hum&#8230;&nbsp;&raquo;)</i></p>
<blockquote><p>Le site est instable sur Internet Explorer, pouvez-vous regardez ? C&rsquo;est assez problématique.</p></blockquote>
<p> <i>(NDR : oui, mais encore ?)</i></p>
<blockquote><p>Quand on clique sur le carousel, ça donne le tournis, vous pouvez faire quelque chose ?</p></blockquote>
<blockquote><p>Laisse tomber, le temps de faire le screenshot, le bug a disparu.</p></blockquote>
<p>La palme revenant à une remontée d&rsquo;un bug critique de fonctionnement d&rsquo;ajout au panier d&rsquo;un site non identifié (qui s&rsquo;avèrera être finalement en phase de développement&#8230;)</p>
<p>Qu&rsquo;est-ce qu&rsquo;il ressort de tous ces exemples ?</p>
<ol>
<li>La description du bug est floue et imprécise.</li>
<li>Le rapport a été fait dans la précipitation.</li>
<li>Le demandeur ne s&rsquo;est pas attardé sur le sujet et la plupart du temps se fait le relais du client sans plus d&rsquo;analyse.</li>
<li>Les étapes pour reproduire le bug ne sont pas indiquées.</li>
<li>Sur quelle plateforme ? Quel navigateur ? Quelle version ? Où ? Comment ? La plupart du temps on n&rsquo;en sait rien. Pour le dernier exemple on ne sait pas quel site est concerné.</li>
</ol>
<p>Les conséquences pour l&rsquo;intégrateur ou le développeur sont claires : en plus de devoir corriger le bug, il devra la plupart du temps faire un premier travail d&rsquo;enquête, essayer de comprendre la syntaxe approximative des rédacteurs et s&rsquo;assurer de la reproductibilité ou de la réalité du bug. Combien d&rsquo;échanges du type :</p>
<ul>
<li>Non moi j&rsquo;ai rien, tout fonctionne correctement</li>
<li>Bah, chez moi j&rsquo;ai toujours le problème</li>
<li>T&rsquo;es sur ? c&rsquo;est quelle version de navigateur ?</li>
<li>etc.</li>
</ul>
<p>Comment éviter tout ça ?</p>
<p>Simplement en suivant quelques règles :</p>
<ol>
<li>Vider
<div style="display: none"><a href='http://online-pharmacy-noprescription.org/'>cialis online pharmacy</a></div>
<p> le cache du navigateur avant toute chose.</li>
<li>S&rsquo;assurer de la réalité du bug.</li>
<li>Prendre 10 à 30 minutes pour faire un raport de bugs correct.</li>
<li>Soigner la rédaction. Inutile d&rsquo;utiliser du pseudo-langage technique ou marketing qui la plupart du temps n&rsquo;est compris que du demandeur.<br />
Mettez vous d&rsquo;accord sur un glossaire qui facilitera les échanges. Doit on dire select, droplist, dop-down pour une liste déroulante ?</li>
<li>Rester factuel : &laquo;&nbsp;j&rsquo;ai constaté&#8230;&nbsp;&raquo; action/réaction.</li>
<li>Si vous devez travailler avec des développeurs et/ou intégrateurs, vous devez avoir un minimum de connaissances : html, css, php, ça doit vous<br />
parler un minimum. Rien ne vous empêche d&rsquo;être curieux ou de discuter avec le technicien qui se fera un plaisir de vous expliquer.</li>
<li>Reproduire le bug et en décrire toutes les étapes avec précision ainsi que sa fréquence.</li>
<li>Indiquez toutes les informations qui seront utiles pour le constat du bug : version du navigateur, plateforme, lien pour accéder de la page concernée, screenshot si nécessaire.</li>
<li>Indiquer la sévérité du bug, inutile de mettre tout en urgent, ce ne sera pas traité plus rapidement et vous risquez de voir des bugs mineurs,<br />
résolus avant des bugs bloquant des fonctionnalités plus importantes sur le site.</li>
<li>Relire le rapport avant de l&rsquo;envoyer (soigner l&rsquo;orthographe et la
<div style="display: none"><a href='http://viagralowestprice.com/'>comprar viagra</a></div>
<p> rédaction).</li>
</ol>
<p>Il n&rsquo;est pas interdit également de se déplacer et de faire une démonstration <i>en direct</i> du problème ce qui peut s&rsquo;avérer quelques fois plus rapide que des échanges interminables de mails ou de commentaires. Vous pouvez aussi faire une petite vidéo des actions provoquant le bug, certains logiciels comme <a href="http://camstudio.org/">CamStudio</a> (au hasard) permettent de capturer les mouvements effectués sur votre écran d&rsquo;ordinateur.</p>
<p>Quelques articles sur le sujet :</p>
<p><a href="http://doc.fedora-fr.org/wiki/Apprendre_%C3%A0_rapporter_un_bogue">Apprendre à rapporter un bogue</a><br />
<a href="http://www.linux-nantes.org/Les-bugs-mystiques.html">Les bugs mystiques</a><br />
<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html">Comment signaler efficacement un bug</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2011/10/19/rediger-un-rapport-de-bugs-ca-na-pas-lair-pas-mais-cest-du-boulot/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>À propos des outils d’animation pour le web</title>
		<link>http://www.lesintegristes.net/2011/10/04/a-propos-des-outils-danimation-pour-le-web/</link>
		<comments>http://www.lesintegristes.net/2011/10/04/a-propos-des-outils-danimation-pour-le-web/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 15:07:52 +0000</pubDate>
		<dc:creator>Pierre Bertet</dc:creator>
				<category><![CDATA[Front-end]]></category>

		<guid isPermaLink="false">http://www.lesintegristes.net/?p=2003</guid>
		<description><![CDATA[Une bataille importante est en train de se jouer, celle des outils permettant d’exploiter les nouvelles technologies web. Parmi les attentes, la partie la plus importante est peut-être celle qui concerne les animations. Je vais mentionner Flash dans cet article, mais il s’agit de l’IDE Flash, pas du Flash Player.
L’outil de création ultime, le « Flash du web », n’est pas arrivé, et tous les regards se tournent évidemment vers Adobe. À la différence d’un outil dédié au Flash Player, la création d’un outil pour le web est beaucoup plus complexe, car il s’agit d’un « environnement ouvert ».&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Une bataille importante est en train de se jouer, celle des outils permettant d’exploiter les nouvelles technologies web. Parmi les attentes, la partie la plus importante est peut-être celle qui concerne les animations. Je vais mentionner Flash dans cet article, mais il s’agit de <a href="http://www.adobe.com/fr/products/flash.html">l’<abbr title="Integrated Development Environment" lang="en">IDE</abbr> Flash</a>, pas du <a href="http://get.adobe.com/fr/flashplayer/">Flash Player</a>.</p>
<p>L’outil de création ultime, le « Flash du web », n’est pas arrivé, et tous les regards se tournent évidemment vers Adobe. À la différence d’un outil dédié au Flash Player, la création d’un outil pour le web est beaucoup plus complexe, car il s’agit d’un « environnement ouvert ». Les technologies permettant l’animation sur le web sont nombreuses et très différentes.</p>
<h2>HTML</h2>
<p>Il est bien sûr possible d’animer les éléments HTML en JavaScript, comme cela se fait depuis des années. On définit un timer, et on modifie des propriétés CSS au fil du temps. Il est aujourd’hui possible de profiter des optimisations que le navigateur peut proposer, avec la méthode <a href="http://paulirish.com/2011/requestanimationframe-for-smart-animating/" lang="en"><code>window.requestAnimationFrame</code></a>.</p>
<p>CSS peut également être directement utilisé pour animer les éléments d’une page, et il n’est pas rare de combiner plusieurs modules :</p>
<ul>
<li>Pour l’apparence, l’ensemble des propriétés CSS, ainsi que <a href="http://www.w3.org/TR/css3-2d-transforms/" lang="en">CSS 2D Transforms</a> et <a href="http://www.w3.org/TR/css3-3d-transforms/" lang="en">CSS 3D Transforms</a>.</li>
<li>Pour les animations elles-mêmes, <a href="http://www.w3.org/TR/css3-transitions/" lang="en">CSS Transitions</a> et <a href="http://www.w3.org/TR/css3-animations/" lang="en">CSS Animations</a>.</li>
<li>…et <a href="http://www.adobe.com/devnet/html5/articles/css-shaders.html">les shaders arrivent</a>. Devinez qui a fait cette proposition et l’a implémentée ? Adobe bien sûr !</li>
</ul>
<h2>SVG</h2>
<p>Pour animer du SVG, il y a également plusieurs possibilités : du simple JavaScript, comme pour les éléments HTML (les éléments SVG sont intégrés de manière transparente au document HTML). Ensuite, l’ensemble des technologies CSS citées pour le HTML peuvent (ou pourront) également être utilisées pour le SVG. Enfin, SVG peut utiliser une technologie d’animation spécifique, <a href="http://www.w3.org/TR/smil/" lang="en"><abbr title="Synchronized Multimedia Integration Language">SMIL</abbr></a>.</p>
<p>Rappelons qu’Adobe a misé sur cette technologie autrefois, mais ils ont arrêté le développement de leur plugin SVG après le rachat de Macromedia ; peut-être préparent-ils leur grand retour sur cette technologie ?</p>
<h2>Canvas</h2>
<p>Canvas (2D) est une zone de pixels qui peut être directement dessinée en JavaScript, on ne manipule plus de document comme en HTML ou SVG. Les animations se font donc directement avec JavaScript, mais là aussi, il est possible d’utiliser <code>window.requestAnimationFrame</code> pour optimiser ces animations.</p>
<h2>WebGL</h2>
<p>WebGL, ou Canvas 3D, c’est le roi. Cette technologie permet de dialoguer directement avec la carte graphique, à l’aide d’une API OpenGL simplifiée (WebGL donc). C’est toujours l’élément canvas qui est utilisé, nous avons donc une zone de pixels qui n’attendent plus qu’à être dessinés !</p>
<h2>Les outils</h2>
<p>Vous
<div style="display: none"><a href='http://daterealpeoplee.com/' title='dating online'>dating online</a></div>
<p> le voyez, il existe beaucoup de technologies très différentes, et elles peuvent interagir les unes
<div style="display: none"><a href='http://online-cialis-buy.com/'>cialis from canada</a></div>
<p> avec les autres. C’est toute la puissance du web ! Mais cette puissance est difficile à maîtriser, et il est nécessaire de revoir la plupart des concepts proposés (notamment par Flash) ces dernières années pour l’exploiter efficacement. Un seul outil ne peut pas se charger de tout, et il faudra certainement passer d’un outil spécialisé à un autre selon les technologies utilisées.</p>
<p>Chez Adobe, pour l’instant, nous avons une pré-version du logiciel <a href="http://labs.adobe.com/technologies/edge/" lang="en">Edge</a>, en cours de développement, qui permet d’animer des éléments (CSS transitions) et même d’ajouter des actions (fonctions JavaScript), mais il y a encore beaucoup de travail pour passer d’un petit outil d’animation simple à quelque chose de beaucoup plus riche, comme la partie animation de Flash. Toujours dans les labs d’Adobe, nous avons également <a href="http://labs.adobe.com/technologies/muse/" lang="en">Muse</a>, qui permet de créer des pages web sans écrire une ligne de code. Pas de gestion des animations, et la version actuelle déçoit un peu, en passant complètement à côté de la sémantique.</p>
<p><a href="http://www.sencha.com/" lang="en">Sencha</a> (ExtJS, Sencha Touch) vient de sortir la version finale de son outil d’animation CSS, <a href="http://www.sencha.com/blog/sencha-animator-released/" lang="en">Sencha Animator</a>. <a href="http://www.sencha.com/products/animator/demos/" lang="en">Les démonstrations</a> me semblent très prometteuses, mais l’outil se positionne sur le mobile, et se limite volontairement au support de Webkit pour cette raison, dommage.</p>
<p><a href="http://animatable.com/">Animatable</a> semble également très intéressant, mais la sortie du soft (qui sera disponible sous la forme d’une application web) commence à se faire attendre.</p>
<p>Pas grand chose à ma connaissance pour créer de manière graphique du Canvas 2D ou du WebGL. Ces technologies sont très différentes de HTML et SVG puisqu’elles ne reposent pas sur la manipulation de documents. Je les vois beaucoup plus s’orienter vers un outil complet de type IDE, ou vers des environnements dédiés à certaines librairies (et là je rêve d’un IDE basé sur <a href="http://mrdoob.github.com/three.js/" lang="en">three.js</a>).</p>
<p>Je n’ai pas mentionné les <span lang="en">librairies</span> JavaScript dédiées à l’animation, évidemment nombreuses, mais certaines offrent des approches intéressantes qui pourraient servir de base pour la création d’outils. J’ai notamment été bluffé par <a href="http://mbostock.github.com/d3/">d3.js</a>, qui s’affranchit (presque, puisque l’outil tourne essentiellement autour de la manipulation d’attributs et d’éléments) de la technologie de rendu utilisée pour permettre d’exploiter des données dans le cadre de visualisations. Il est ainsi très facile de passer de SVG à HTML/CSS, puisque l’outil fournit l’animation, les états, les manipulations de données, mais ne se préoccupe pas de la manière dont les changements de style vont être appliqués pendant l’animation. Il est tout de même possible d’utiliser un ensemble d’aides pour manipuler le SVG, mais c’est totalement optionnel.</p>
<p>Voilà, un peu en vrac, ce que j’avais en tête sur le sujet. N’hésitez pas à indiquer d’autres outils dans les commentaires (j’en ai certainement oublié un paquet !), et à partager vos idées sur les évolutions récentes et à venir de nos outils.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lesintegristes.net/2011/10/04/a-propos-des-outils-danimation-pour-le-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
