<?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="/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Thu, 31 Mar 2016 16:44:02 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0</generator>
	<item>
		<title>À fournir avant de lancer un développement front</title>
		<link>/2014/12/08/a-fournir-avant-de-lancer-un-developpement-front/</link>
					<comments>/2014/12/08/a-fournir-avant-de-lancer-un-developpement-front/#comments</comments>
		
		<dc:creator><![CDATA[Vincent Valentin]]></dc:creator>
		<pubDate>Mon, 08 Dec 2014 10:27:11 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[gestion de projet]]></category>
		<category><![CDATA[métier]]></category>
		<guid isPermaLink="false">/?p=4744</guid>

					<description><![CDATA[Quels sont les « entrants » nécessaires pour lancer un projet front-end ?

Derrière cette simple question, il s’agit de faciliter le travail des chefs de projets, mais aussi de tous les corps de métiers qui sont amenés à travailler avec nous autres intégrateurs.
Après avoir réuni quelques éléments de réponse personnels, j’ai posé cette question sur Twitter afin d’obtenir un regard extérieur (encore merci aux nombreux participants). J’ai dû faire des choix, pour en limiter la taille et aller à ce qui me semble essentiel ; mais même si cette checklist n’est pas parfaite, vous avez là une base&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<blockquote>
<p>Quels sont les « entrants » nécessaires pour lancer un projet <i lang="en">front-end</i> ?</p>
</blockquote>
<p>Derrière cette simple question, il s’agit de faciliter le travail des chefs de projets, mais aussi de tous les corps de métiers qui sont amenés à travailler avec nous autres intégrateurs.</p>
<p>Après avoir réuni quelques éléments de réponse personnels, j’ai <a href="https://twitter.com/htmlvv/status/517700204062326784">posé cette question sur Twitter</a> afin d’obtenir un regard extérieur (encore merci aux nombreux participants). J’ai dû faire des choix, pour en limiter la taille et aller à ce qui me semble essentiel ; mais même si cette checklist n’est pas parfaite, vous avez là une base de travail que j’espère néanmoins très complète.</p>
<p><strong>Notre métier est fait de choix techniques : il nous faut des contextes précis pour y apporter des réponses adaptées. Cette liste permet de mieux les définir.</strong></p>
<h2>Bloquant</h2>
<h3>Informations fournies par le chef de projet</h3>
<h4>Contexte projets précis. (Qui est le client ? Y a-t-il un site existant ? Quels seront les intervenants sur le projet ? Quel est le budget ? Quelle cible ? Quelle durée de développement ? <abbr lang="la" title="Et cætera">Etc</abbr>.)</h4>
<p>C’est important pour éviter de faire de la sur-qualité, pour comprendre les enjeux, pour adapter les contraintes ou pour se sentir impliqué…</p>
<h3>Informations fournies par la partie <span lang="en">design</span></h3>
<h4>Maquettes graphiques validées. (Avec éventuellement des prototypes et/ou des <i lang="en">wireframes</i>.)</h4>
<p>Les maquettes graphiques permettent de se projeter avant de lancer les phases plus techniques de réalisation. C’est une manière de simuler le résultat final sans engager tout le processus.<br />
Si les maquettes ne sont pas validées, le processus sera déjà engagé et les modifications techniques se révèleront plus lourdes.</p>
<h4>Sources des polices non web utilisées.</h4>
<p>Les polices sont parfois payantes et doivent également être testées avant de les adopter. Elles sont fournies normalement pour un usage « web » clefs en main.<br />
Si ce n’est pas le cas, il faudra se pencher sur les problématiques de licence et de conversion, ce qui demande plus de temps et de nombreux aller-retours.</p>
<h4>Animations complexes ? Préciser les déroulements et les <i lang="en">timings</i>.</h4>
<p>Les animations complexes demandent bien souvent une structure et un code très spécifiques. Ainsi, il faut définir très tôt leurs comportements car il sera très difficile d’en changer en cours de route.</p>
<h4>Liste des formats et ratios des images contribuées.</h4>
<p>Les images contribuées ou issues d’une base de donnée existante seront plus difficilement déclinables en différents formats, et encore moins en différents ratios. Il est important d’identifier quels seront les formats courants pour faciliter le travail de développement en aval et s’assurer de la bonne homogénéité de l’ensemble.</p>
<h4>Planche de composants graphique avec états survolés, activés, désactivés ; palette de couleurs…</h4>
<p>Même si les maquettes sont statiques dans un premier temps et aident le client à se projeter, elles servent ensuite de référence pour les intégrateurs. De nombreux états et comportements doivent alors être définis précisément pour bien s’entendre sur le résultat attendu.</p>
<h3>Informations fournies par le client</h3>
<h4>Cible navigateurs. (Bureau, tablettes et mobiles. Indiquer s’il n’est pas possible de mettre en place une dégradation élégante et une amélioration progressive.)</h4>
<p>Les choix techniques associés à l’intégration des maquettes se feront en fonction du parc navigateur défini. Plus ce parc est moderne, plus des techniques avancées pourront être mises en place, au profit d’une bonne maintenabilité et de meilleures performances notamment.</p>
<h4>Niveau d&rsquo;accessibilité demandé ? (En précisant si ça entre dans le cadre d’une labellisation.)</h4>
<p>Bien que les bonnes pratiques du métier soient généralement appliquées, une contrainte forte en accessibilité changera l’approche technique des choses, il est important de le prévoir (avant même la partie <span lang="en">design</span>, cette contrainte va impacter tout les intervenants du projet).</p>
<h4>Multilingue ? (En précisant s’il y a du <i lang="en"><abbr title="Right To Left">RTL</abbr></i> ou des langues asiatiques le cas échéant.)</h4>
<p>Là encore, bien qu’il soit d’usage de toujours anticiper sur la longueur des contenus, il sera intéressant d’y porter une attention particulière sur les sites multilingue. Dans le cadre des intégrations <i lang="en"><abbr title="Right To Left">RTL</abbr></i> ou dans des langues asiatiques, de nouvelles contraintes viennent s’ajouter sur la conception ; mieux vaut anticiper les choses. <br />Quelle méthode de positionnement préférer quand la maquette doit pouvoir s’inverser verticalement, ou quelles polices utiliser pour les langues asiatiques ?</p>
<h4><i lang="en"><abbr title="High Dots Per Inch">HiDPI</abbr></i> ?</h4>
<p>Intégrer pour des écrans à haute densité de pixels demande des sources adaptées (soit des maquettes entières, soit des planches de composants). Il faut également faire des choix entre images matricielles et images vectorielles. Les techniques employées seront ensuite très différentes.</p>
<h4><i lang="en"><abbr title="Responsive Web Design">RWD</abbr></i> ? (Indiquer si le site sera fluide et/ou s’il y a des paliers.)</h4>
<p>Évidement, un travail plus conséquent est à prévoir quand le site doit s’adapter à une grande variété de tailles d‘écrans.<br />
D’un point de vue technique, penser une interface en fluide ou avec des paliers pourra complètement changer l’approche technique. Il est préférable d’avoir cette information dès le départ. </p>
<h4>Version imprimée à prévoir ?</h4>
<p>Cette partie peut impacter légèrement les plannings et est pourtant souvent oubliée. Les difficultés techniques associées imposent parfois de bien échanger sur le sujet si la demande est précise.</p>
<h3>Informations fournies par le client ou la partie développement</h3>
<h4><i lang="en">From scratch</i> ? (Ou sinon préciser le contexte de l’existant.)</h4>
<p>Il sera toujours plus facile de partir sur des bases saines. Hériter d’un existant demande de bien le définir pour mieux l’appréhender.</p>
<h4>Contraintes de production ? (Par exemple des bibliothèques imposées, des <i lang="en">plugins</i> ou une architecture particulière…)</h4>
<p>Il peut arriver que des clients imposent l’utilisation d’outils spécifiques. Il faudra alors maîtriser cette contrainte supplémentaire et sans doute adapter ses processus en fonction.</p>
<h4>Contraintes projet spécifiques ? (Par exemple les performances…)</h4>
<p>Définir un (ou des) axe(s) de travail permettra de savoir où porter son attention et à être en phase avec les attentes du client.</p>
<h3>Informations fournies par la partie développement</h3>
<h4>Contraintes en développement ? (Par exemple un <i lang="en">CMS</i> qui demande du code spécifique, un <i lang="en">framework</i>… Fournir les <i lang="en">templates</i> adaptés si besoin.)</h4>
<p>Il n’est pas toujours possible pendant la phase de développement d’adapter certaines structures imposées par les outils. Aussi, si cela est possible, il est intéressant de communiquer la contrainte aux intégrateurs, qui tacheront alors de contourner le problème différemment.</p>
<h4>Format d’échange des données avec les développeurs le cas échéant.</h4>
<p>Il sera nécessaire de bien s’entendre sur les formats de données échangées avec les développeurs, pour là encore gagner du temps et éviter des incompréhensions. </p>
<h3>Informations fournies par le client ou la partie <i lang="en"><abbr title="Search Engine Optimization">SEO</abbr></i></h3>
<h4>Contraintes <i lang="en"><abbr title="Search Engine Optimization">SEO</abbr></i> ? (Par exemple la présence d’un <i lang="en">sitemap</i> ou d’une hiérarchisation particulière de l’information, mise en place de microformats ou microdata…)</h4>
<p>Il arrive que des contraintes <i lang="en"><abbr title="Search Engine Optimization">SEO</abbr></i> ne soient pas en adéquation avec les bonnes pratiques du métier. Il faut pouvoir l’anticiper pour trouver un compromis, ou simplement ne pas oublier de coder la demande.</p>
<h2>Utile</h2>
<h3>Informations fournies par la partie <span lang="en">design</span></h3>
<h4>Grille verticale et/ou horizontale.</h4>
<p>Intégrer avec des grilles permet d’assurer un meilleur respect du <span lang="en">design</span>, tout en facilitant l’étape d’intégration.<br />
Les grilles permettent aussi d’assurer facilement une cohérence graphique tout au long de la vie du projet.</p>
<h4>Échelles typographiques.</h4>
<p>Les échelles typographiques peuvent être automatisées au niveau code, cette donnée doit être partagée pour qu’elle soit reprise.</p>
<h3>Informations fournies par le client ou par la partie <span lang="en">design</span></h3>
<h4>Contenus types.</h4>
<p>Les véritables contenus permettent de mieux appréhender les comportements des maquettes. Il est aussi plus facile d’en contrôler la bonne lisibilité et également d’y apporter les détails sémantiques et micro-typographiques nécessaires.</p>
<h3>Informations fournies par le client</h3>
<h4>Statistiques de navigation du site existant s’il en existe.</h4>
<p>Avec ses statistiques, le parc navigateur défini plus haut peut être ajusté plus finement. Les statistiques apportent également un axe supplémentaire sur les questions de contexte projet.</p>
<h2>Points d’attention</h2>
<h3>Informations fournies par la partie <span lang="en">design</span></h3>
<ul>
<li><span lang="en">Design</span> des messages d&rsquo;erreurs sur les interactions (formulaires, <i lang="en"><abbr title="Asynchronous JavaScript and XML">AJAX</abbr></i>…)</li>
<li><span lang="en">Design</span> des pages d’erreurs. (Erreur 404…)</li>
<li><span lang="en">Design</span> des <i lang="en">e-mails</i> éventuels ? (Avec des contraintes et des besoins dédiés.)</li>
<li><span lang="en">Design</span> de la <i lang="en">favicon</i> et de ses variantes mobiles.</li>
<li><span lang="en">Design</span> pour les chargements dynamiques (les <i lang="en">loaders</i>).</li>
<li><span lang="en">Design</span> du message relatif aux <i lang="en">cookies</i>.</li>
<li><span lang="en">Design</span> de la page mentions légales si nécessaire.</li>
</ul>
<p>Ces points sont très souvent oubliés lors de la phase de <span lang="en">design</span>. Pourtant ils sont presque toujours nécessaires, et mènent inévitablement à un nouvelle itération.</p>
<h2>À vous</h2>
<p>Peut-être serait-il intéressant de voir cette procédure copiée à d’autres corps de métiers ? Peut-être qu’il s’agit là d’un travers au travail en silos ? Peut-être qu’il manque quelque chose d’essentiel à cette liste ?</p>
<p>Je serais très heureux de lire vos commentaires.</p>
<ul>
<li><a href="https://trello.com/b/bMxd0h33/a-fournir-avant-de-lancer-un-developpement-front">Cette <i lang="en">cheklist</i> est également disponible sur Trello.</a></li>
<li><a href="/wp-content/uploads/2014/11/À-fournir-avant-de-lancer-un-développement-front.txt">Et également au format <i lang="en">markdown</i>.</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>/2014/12/08/a-fournir-avant-de-lancer-un-developpement-front/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Il était une fois… le Chef de projet idéal</title>
		<link>/2014/11/24/il-etait-une-fois-le-chef-de-projet-ideal/</link>
					<comments>/2014/11/24/il-etait-une-fois-le-chef-de-projet-ideal/#comments</comments>
		
		<dc:creator><![CDATA[Marie Guillaumet]]></dc:creator>
		<pubDate>Mon, 24 Nov 2014 10:30:51 +0000</pubDate>
				<category><![CDATA[Organisation]]></category>
		<category><![CDATA[gestion de projet]]></category>
		<category><![CDATA[humour]]></category>
		<category><![CDATA[intégration web]]></category>
		<guid isPermaLink="false">/?p=4675</guid>

					<description><![CDATA[Le dernier billet publié sur Les Intégristes parlait d’humilité et de bienveillance à l’égard de nos pairs.
Être bienveillant implique de soutenir nos collègues, d’être indulgent à leur égard, mais cela n’exclut pas d&#8217;avoir le courage de leur parler avec honnêteté en cas de problème.
C’est en écoutant des confrères et consœurs travailleurs du web me parler de leurs frustrations au quotidien, qui par email, qui sur Twitter, qui pendant Paris Web, que j’ai eu envie d’écrire sur la relation singulière entre intégrateurs et chefs de projet – une relation ô combien essentielle, sur laquelle on trouve pourtant bien peu&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_fairy-599x700.jpg" alt="Fée" width="599" height="700" class="aligncenter size-large wp-image-4681" srcset="/wp-content/uploads/2014/11/20141124_fairy-599x700.jpg 599w, /wp-content/uploads/2014/11/20141124_fairy-256x300.jpg 256w, /wp-content/uploads/2014/11/20141124_fairy.jpg 855w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p><strong><a href="/2013/03/19/integration-web-humilite/">Le dernier billet</a> publié sur Les Intégristes parlait d’humilité et de bienveillance à l’égard de nos pairs.</strong></p>
<p>Être bienveillant implique de soutenir nos collègues, d’être indulgent à leur égard, mais cela n’exclut pas d&rsquo;avoir le courage de leur parler avec honnêteté en cas de problème.</p>
<p>C’est en écoutant des confrères et consœurs travailleurs du web me parler de leurs frustrations au quotidien, qui par email, qui sur Twitter, qui pendant Paris Web, que j’ai eu envie d’écrire sur <strong>la relation singulière entre intégrateurs et chefs de projet</strong> – une relation ô combien essentielle, sur laquelle on trouve pourtant bien peu de littérature.</p>
<p>Derrière ce billet, il y a un constat : en 2014, j’ai été témoin d’une irritation sourde et croissante</strong> chez mes pairs, irritation souvent provoquée par des gestions de projet catastrophiques.</p>
<p>À l&rsquo;incompatibilité supposée entre intégrateurs et designers a succédé, semble-t-il, la lassitude de certains d’entre nous à l’égard de certains chefs de projet avec qui nous collaborons au quotidien. C&rsquo;est un ressenti que j’ai perçu de façon assez globale, mais que j’ai trouvé particulièrement exacerbé auprès de mes confrères et consœurs travaillant en agence.</p>
<p>Certes, il est toujours <strong>plus facile de voir la paille dans l’œil du voisin que la poutre qui est dans le sien</strong>.</p>
<p>J’ai conscience que pointer du doigt les mauvaises habitudes de mes pairs est, sinon politiquement incorrect, du moins délicat. C’est pourquoi je me suis essayée à une forme d’écriture plus légère que d’habitude, sous forme de conte de Noël, ceci afin de provoquer une prise de recul salvatrice.</p>
<p>J’espère de tout cœur que cette prise de risque donnera lieu à <strong>des débats enrichissants</strong> pour nous tous.</p>
<h2>Il était une fois…</h2>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_tannenbaum-599x651.jpg" alt="Sapin de Noël" width="599" height="651" class="aligncenter size-large wp-image-4689" srcset="/wp-content/uploads/2014/11/20141124_tannenbaum-599x651.jpg 599w, /wp-content/uploads/2014/11/20141124_tannenbaum-276x300.jpg 276w, /wp-content/uploads/2014/11/20141124_tannenbaum.jpg 920w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p><strong>Il était une fois, dans un pays très, très lointain, une petite agence web.</strong></p>
<p>Cette petite agence web réussissait toujours à décrocher les projets les plus excitants et les plus valorisants.</p>
<p>Ses clients étaient tous éduqués, sages et riches.</p>
<p>Pour ne rien gâcher, ses locaux rutilants et faciles d&rsquo;accès se trouvaient à deux pas de la meilleure boulangerie du pays.</p>
<p>C’est dans cette petite agence web que travaillaient main dans la main les Ergonomes, les Designers, les Intégrateurs, les Développeurs, les Commerciaux et les Managers :</p>
<ul>
<li><strong>Les Ergonomes</strong> avaient toujours le budget nécessaire pour réaliser des tests utilisateurs ;</li>
<li><strong>Les Designers</strong> bénéficiaient à chaque fois d&rsquo;au moins huit jours pour préparer les avant-ventes ;</li>
<li><strong>Les Intégrateurs</strong> convainquaient à tous les coups leurs interlocuteurs des bienfaits de l&rsquo;accessibilité ;</li>
<li><strong>Les Développeurs</strong> avaient toujours à leur portée des spécifications complètes et finement rédigées ;</li>
<li><strong>Les Managers</strong> suivaient les plannings à la perfection. Réactifs, c’était des forces positives sur lesquelles on pouvait compter en cas de coup dur ;</li>
<li><strong>Les Commerciaux</strong> quant à eux réussissaient toujours à négocier plus de charges pour que les Ergonomes, les Designers, les Intégrateurs et les Développeurs puissent travailler sereinement, sans pression.</li>
</ul>
<p>C’est aussi dans cette petite agence qu’officiaient des professionnels réputés : <strong>les Chefs de projet idéaux</strong>. Ceux-ci orchestraient tous les projets de la petite agence avec flair et doigté.</p>
<p>Que soient narrés aujourd’hui quelques-uns de leurs hauts faits, à travers le prisme de leurs interactions constantes avec les <del>Intégristes</del> Intégrateurs.</p>
<h2>Chiffrage et planification</h2>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_snowman-599x789.jpg" alt="Bonhomme de neige" width="599" height="789" class="aligncenter size-large wp-image-4687" srcset="/wp-content/uploads/2014/11/20141124_snowman-599x789.jpg 599w, /wp-content/uploads/2014/11/20141124_snowman-227x300.jpg 227w, /wp-content/uploads/2014/11/20141124_snowman.jpg 759w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>Avant toute chose, les Chefs de projet idéaux pensaient à mettre les Intégrateurs dans la boucle, non seulement pour <strong>valider la faisabilité du projet côté <i lang="en">front-end</i></strong> et pour <strong>macro-chiffrer la charge en intégration</strong>, mais également pour lister avec eux tous les éléments dont ils auraient besoin pour commencer à travailler sereinement.</p>
<p>Quand ils savaient qu’un apprenti prendrait part à un projet complexe, les Chefs de projet idéaux veillaient à <strong>solliciter un Intégrateur senior</strong> afin d&rsquo;estimer la charge en fonction de ce paramètre.</p>
<p>Les Chefs de projet idéaux faisaient tout leur possible pour <strong>éviter que les Intégrateurs soient envoyés du jour au lendemain dans une régie obscure</strong>. En effet, les Intégrateurs travaillaient mieux dans un contexte connu. Les régies sont bien souvent synonymes, au mieux, de <i lang="en">webmastering</i> désagréable, au pire, de gestion d’urgence, là où une organisation rigoureuse devrait pouvoir éviter ça.</p>
<p>Lorsque Ergonomes et Designers prenaient du retard dans la conception du projet, les Chefs de projet idéaux rassuraient les Intégrateurs en leur confirmant que la date butoir glissait également pour eux.</p>
<p>Enfin, <strong>les Chefs de projet idéaux étaient bien organisés</strong>, et briefaient les Intégrateurs avant qu’ils ne commencent à travailler.</p>
<h2>Qualité du projet</h2>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_rodolph-599x603.jpg" alt="Rodolph" width="599" height="603" class="aligncenter size-large wp-image-4684" srcset="/wp-content/uploads/2014/11/20141124_rodolph-599x603.jpg 599w, /wp-content/uploads/2014/11/20141124_rodolph-150x150.jpg 150w, /wp-content/uploads/2014/11/20141124_rodolph-297x300.jpg 297w, /wp-content/uploads/2014/11/20141124_rodolph.jpg 993w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>Les Chefs de projet idéaux avaient le cran de parler avec franchise des diverses contraintes à leurs Clients. Ils savaient que, s’ils y manquaient, le projet hériterait d’exigences supplémentaires pour le moins coûteuses.</p>
<p>Les Chefs de projet idéaux avaient à cœur la qualité des projets qui passaient entre leurs mains. <strong>Ils ne demandaient pas aux Intégrateurs de mettre en place des mauvaises pratiques par simple peur de devoir dire « non » aux Clients.</strong> Par exemple, les Chefs de projet idéaux savaient qu’il était important de former les contributeurs au sous-titrage des vidéos.</p>
<p><strong>Car, oui, les Chefs de projet idéaux accordaient de l’importance à l’accessibilité.</strong> Ils savaient que l’accessibilité du web ne concernaient pas uniquement les personnes en situation de handicap, mais qu&rsquo;elle bénéficiait à tous, et que, si elle était prévue dès la genèse du projet, il serait plus facile de la mettre en œuvre.</p>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_sexy-santa-599x898.jpg" alt="Père Noël roux" width="599" height="898" class="aligncenter size-large wp-image-4686" srcset="/wp-content/uploads/2014/11/20141124_sexy-santa-599x898.jpg 599w, /wp-content/uploads/2014/11/20141124_sexy-santa-200x300.jpg 200w, /wp-content/uploads/2014/11/20141124_sexy-santa.jpg 667w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>En début de projet, les Chefs de projet idéaux prenaient soin d’annoncer aux Intégrateurs que le site devait être responsive, multilingue, optimisé « retina » et/ou compatible avec Internet Explorer 6.</p>
<p>Et, lorsque les Intégrateurs leur demandaient la liste complète des navigateurs avec lesquels le projet devait être compatible, les Chefs de projet idéaux la leur fournissaient facilement.</p>
<p>Les Chefs de projet idéaux prenaient soin de <strong>rassembler tous les entrants nécessaires à la bonne exécution des tâches</strong>, notamment les maquettes graphiques validées.</p>
<p>Tout affables qu’ils étaient, les Chefs de projet idéaux savaient argumenter face aux demandes parfois surprenantes des Clients.</p>
<h2>Recette et maintenance</h2>
<p><strong>Les Chefs de projet idéaux apprirent un jour que le Chef de projet d’une autre petite agence web avait recetté un site 48 heures à peine avant la livraison,</strong> alors qu’il avait eu plusieurs mois pour le faire au fil de l’eau. Quand ils entendirent cela, les Chefs de projet idéaux éclatèrent d’un rire tonitruant mais noble, que l’on entendit jusqu&rsquo;au Mont Fuji et au-delà.</p>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_mannele-599x599.jpg" alt="Männele" width="599" height="599" class="aligncenter size-large wp-image-4682" srcset="/wp-content/uploads/2014/11/20141124_mannele-599x599.jpg 599w, /wp-content/uploads/2014/11/20141124_mannele-150x150.jpg 150w, /wp-content/uploads/2014/11/20141124_mannele-300x300.jpg 300w, /wp-content/uploads/2014/11/20141124_mannele.jpg 1000w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>Les Chefs de projet idéaux connaissaient très bien la différence entre ce qui relevait du design, du <i lang="en">front-end</i> et du <i lang="en">back-end</i>. Ils savaient aussi identifier les zones contribuables d’un site. Ainsi, les Chefs de projet idéaux étaient toujours à l’aise pour qualifier les tickets qui passaient entre leurs mains.</p>
<p>De même, les Chefs de projet idéaux assignaient <strong>un nombre raisonnable de tickets à une même personne</strong>, prenant en compte son degré de connaissance du projet et la difficulté des tâches attendues.</p>
<p>Les Chefs de projet idéaux évitaient aussi d&rsquo;assigner aux Intégrateurs un ticket concernant, au choix :</p>
<ul>
<li>un bug déjà soulevé à plusieurs reprises,</li>
<li>une anomalie repérée dans un navigateur hors périmètre,</li>
<li>un problème de contribution,</li>
<li>une erreur de traduction,</li>
<li>une demande d’évolution,</li>
<li>ou encore une majuscule manquante dans un texte, et ce sur 15 gabarits.</li>
</ul>
<p>Par ailleurs, dans le cadre d’un projet responsive, les Chefs de projet idéaux prenaient soin de <a href="/2011/10/19/rediger-un-rapport-de-bugs-ca-na-pas-lair-pas-mais-cest-du-boulot/">rédiger un rapport de bug complet</a>, qui précisait la résolution et le périphérique sur lesquels apparaissaient les anomalies.</p>
<h2>Diplomatie et confiance</h2>
<p><strong>Les Chefs de projet idéaux gardaient la tête froide.</strong> Ils savaient que leur rôle est essentiel pour mener les projets à bien, en particulier pour synchroniser les efforts des différents corps de métiers, et pour arbitrer en cas d’imprévu.</p>
<p>Si, d’aventure, un Intégrateur leur faisait part de ses inquiétudes, les Chefs de projet idéaux prenaient le temps de lui répondre, soit pour le rassurer, soit pour lui montrer qu’ils avaient bien pris en compte ses recommandations ou ses alertes.</p>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_meres-noel-599x551.jpg" alt="Mères Noël" width="599" height="551" class="aligncenter size-large wp-image-4683" srcset="/wp-content/uploads/2014/11/20141124_meres-noel-599x551.jpg 599w, /wp-content/uploads/2014/11/20141124_meres-noel-300x276.jpg 300w, /wp-content/uploads/2014/11/20141124_meres-noel.jpg 1086w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p><strong>Les Chefs de projet idéaux faisaient confiance aux équipes techniques et graphiques.</strong> Ils communiquaient suffisamment au quotidien pour que les premiers ne ressentent pas le besoin de devoir soumettre les autres à la question, jour après jour, pour savoir où ils en étaient.</p>
<p>Les Chefs de projet idéaux avaient <strong>la même considération</strong> pour HTML et CSS que pour n’importe quelle autre technologie web. Ils savaient que ces langages en apparence simples cachent des problématiques complexes.</p>
<p>Après une mise en production, les Chefs de projet idéaux <strong>citaient</strong> et <strong>remerciaient</strong>, dans les communications associées, <em>tous</em> les collègues ayant pris part au projet.</p>
<p>Lorsque les Intégrateurs terminaient un projet plus tôt que prévu, les Chefs de projet les incitaient à peaufiner le résultat, ou à rédiger un retour d’expérience lorsque le sujet était intéressant, ceci afin d&rsquo;améliorer la qualité et de favoriser la capitalisation des connaissances.</p>
<p>Les Chefs de projet idéaux savaient créer <strong>un esprit d’équipe stimulant</strong> pour que chacun puisse, en toute confiance, donner le meilleur de lui-même.</p>
<p>Enfin, les Chefs de projet idéaux considéraient les contraintes de chaque intervenant avec <strong>impartialité</strong>. Ils étaient attentifs aux besoins de chacun, et savaient faire preuve d’écoute.</p>
<h2>Épilogue</h2>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_snowqueen-599x814.jpg" alt="Reine des neiges" width="599" height="814" class="aligncenter size-large wp-image-4688" srcset="/wp-content/uploads/2014/11/20141124_snowqueen-599x814.jpg 599w, /wp-content/uploads/2014/11/20141124_snowqueen-220x300.jpg 220w, /wp-content/uploads/2014/11/20141124_snowqueen.jpg 735w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p>Le monde du travail n’est pas un conte de fées.</p>
<p>Derrière sa forme humoristique, ce billet a pour but d’<strong>attirer l’attention sur les éléments stratégiques d’une collaboration efficace entre chefs de projet et intégrateurs.</strong></p>
<p>Les chefs de projet ont une grande part de responsabilité dans le succès (ou l&rsquo;échec) des projets qu’ils gèrent, mais tout ne repose pas sur leurs épaules. Ils font souvent face à des clients qui n’y connaissent rien, persuadés que créer des sites web est facile et que ça ne coûte pas un rond.</p>
<p>Les chefs de projet doivent souvent réaliser un nombre de tâches indéfinies, qui fluctuent en fonction du milieu dans lequel ils évoluent (agence, annonceur) et surtout du client.</p>
<p>Quant à nous, nous ne sommes pas à la place de nos collègues. Nous ne percevons leur travail qu’à travers nos propres problématiques métier, notre sensibilité ainsi que nos a priori, parfois influencés par les tensions passagères que provoquent parfois les projets ambitieux.</p>
<p>C’est pourquoi nous manquons souvent de recul pour comprendre les contraintes particulières auxquelles les chefs de projet font face, ainsi que les décisions qu’ils sont amenés à prendre, d’autant plus lorsque la communication entre eux et nous est insuffisante.</p>
<p><strong>Ensemble, il est sans doute possible d’améliorer les choses.</strong></p>
<p>En tant qu’intégrateurs, nous avons souvent l’occasion de partager notre expérience professionnelle, que ça soit par tweet, par blog ou par conférence interposés.</p>
<p>Nous participons à l&rsquo;effort collectif de documentation et de communication, peut-être parce que l’intégration web est toujours, fin 2014, une discipline mouvante, difficile à aborder et à définir.</p>
<p>Donner à voir notre quotidien professionnel fournit – espérons-le – des clés à nos interlocuteurs pour mieux comprendre notre métier et ses particularités.</p>
<p><strong>Or, on n’entend que trop rarement les chefs de projet parler de leur métier et de leurs contraintes spécifiques</strong>, alors qu’il s’agit d’un métier tout aussi singulier et stratégique.</p>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_lutins-599x477.jpg" alt="Lutins" width="599" height="477" class="aligncenter size-large wp-image-4679" srcset="/wp-content/uploads/2014/11/20141124_lutins-599x477.jpg 599w, /wp-content/uploads/2014/11/20141124_lutins-300x239.jpg 300w, /wp-content/uploads/2014/11/20141124_lutins.jpg 1254w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p><strong>Une gestion de projet de qualité est cruciale à la réussite des projets web</strong> dont nous partageons la responsabilité et, pourtant, il me semble que les chefs de projet communiquent encore assez peu sur le web.</p>
<p>Les chefs de projet pourraient par exemple <strong>donner davantage à voir leur quotidien, leurs méthodes, leurs outils et leurs contraintes</strong>, quel que soit leur nombre d&rsquo;années d’expérience, leur statut ou le type de structure pour laquelle ils travaillent, afin qu’eux et nous puissions mieux travailler ensemble.</p>
<p>J’adorerais aussi lire <strong>des retours d’expérience rédigés à quatre mains</strong>, par un chef de projet et par un intégrateur, tout comme j’adorerais les voir sur scène ensemble pour nous raconter comment ils ont réussi, jour après jour, à améliorer leur collaboration.</p>
<p>Mais cette collaboration renouvelée pourrait sans doute prendre d&rsquo;autres formes encore…</p>
<p><img loading="lazy" src="/wp-content/uploads/2014/11/20141124_santa-599x590.jpg" alt="Père Noël" width="599" height="590" class="aligncenter size-large wp-image-4685" srcset="/wp-content/uploads/2014/11/20141124_santa-599x590.jpg 599w, /wp-content/uploads/2014/11/20141124_santa-300x295.jpg 300w, /wp-content/uploads/2014/11/20141124_santa.jpg 1014w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<p><strong>Maintenant, c’est à vous : connaissez-vous un∙e Chef de projet idéal∙e ?</strong> Quelles sont les caractéristiques de vos chefs de projet préférés ? Racontez-moi une belle histoire, soit dans un commentaire, soit sur Twitter, en mentionnant <a href="https://twitter.com/lesintegristes">@lesintegristes</a>.</p>
<p><strong>Et, d&rsquo;avance, belles fêtes de fin d&rsquo;année à tous !</strong></p>
<p><em>Merci à <a href="https://twitter.com/jusdefenouil">Anne</a>, <a href="https://twitter.com/kifkiflamouche">Corinne</a>, <a href="https://twitter.com/dameofr">Damien</a>, <a href="https://twitter.com/Nissone">Delphine</a>, <a href="https://twitter.com/elojolly">Élodie</a>, <a href="https://twitter.com/ericlebihan">Éric</a>, <a href="https://twitter.com/fl0_">Florian</a>, <a href="https://twitter.com/fredmayor">Fred</a>, <a href="https://twitter.com/_kuasa_">JP</a>, <a href="https://twitter.com/jubardy">Julien</a>, <a href="https://twitter.com/Twikito">Matthieu</a>, <a href="https://twitter.com/piouPiouM">Mehdi</a>, <a href="https://twitter.com/okeul">Olivier</a>, <a href="https://twitter.com/bpierre">Pierre</a>, <a href="https://twitter.com/Lythom">Samuel</a> et <a href="https://twitter.com/htmlvv">Vincent</a> pour leur relecture et leurs conseils avisés.</em></p>
<p><em>Et merci à ma maman, <a href="http://claireguillaumet.fr/">Claire Guillaumet</a>, pour ses illustrations.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>/2014/11/24/il-etait-une-fois-le-chef-de-projet-ideal/feed/</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
		<item>
		<title>Note&#160;: Je viens de recevoir ce matin la newsletter d&#8217;Urba&#160;[…]</title>
		<link>/notes/je-viens-de-recevoir-ce-matin-la-newsletter-durba/</link>
					<comments>/notes/je-viens-de-recevoir-ce-matin-la-newsletter-durba/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Tue, 26 Mar 2013 10:13:21 +0000</pubDate>
				<guid isPermaLink="false">/?post_type=lesintegristes_note&#038;p=4304</guid>

					<description><![CDATA[Je viens de recevoir ce matin la newsletter d&#8217;Urban Linker indiquant la sortie de leur V2. Je dis pas ça pour leur faire de la pub, mais le fait d&#8217;ajouter des fiches métiers sur leur site est un petit plus pas inutile. Quelques phrases qui font mouche pour les postes de développeur front-end :
Il y a souvent une différence de 10% de salaire entre un senior (4-6 ans d’expériences) qui gagne 47.5K et un simple développeur Front-End qui atteint seulement 34K.
[&#8230;] en général le salaire a tendance à progresser énormément et le taux d’évolution du salaire selon les&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Je viens de recevoir ce matin la newsletter d&rsquo;Urban Linker indiquant la sortie de leur V2. Je dis pas ça pour leur faire de la pub, mais le fait d&rsquo;ajouter des fiches métiers sur leur site est un petit plus pas inutile. Quelques phrases qui font mouche pour les postes de développeur front-end :</p>
<blockquote><p>Il y a souvent une différence de 10% de salaire entre un <strong>senior (4-6 ans d’expériences) qui gagne 47.5K</strong> et un simple développeur Front-End qui atteint <strong>seulement 34K</strong>.</p></blockquote>
<blockquote><p>[&#8230;] en général le salaire a tendance à progresser énormément et le taux d’évolution du salaire selon les années d’expériences pour un développeur Front End connaît une augmentation de <strong>près de 70%</strong> en moyenne.</p></blockquote>
<p><a href="http://www.urbanlinker.com/metiers-internet/developpeur-front-end-2/">Fiche Développeur Front-End</a></p>
<p>Il y a également une fiche <em>Intégrateur web</em> qui relègue définitivement ce dernier au rang du <em>webmaster</em> des années 90-2000.</p>
<p><a href="http://www.urbanlinker.com/metiers-internet/integrateur-web/">Fiche intégrateur web</a></p>
<p>Vous en pensez quoi de ces fiches ?</p>
<p>J&rsquo;aime bien cette partie qui est à mon avis trop souvent oubliée dans les compétences du métier du développeur front-end :</p>
<blockquote><p>L’objectif du Front-End est de rendre le site internet plus ergonomique (esthétisme visuelle) et de rendre plus accessible la partie fonctionnelle (navigation sur le site).</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>/notes/je-viens-de-recevoir-ce-matin-la-newsletter-durba/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>L&#8217;intégration web, cette leçon d&#8217;humilité</title>
		<link>/2013/03/19/integration-web-humilite/</link>
					<comments>/2013/03/19/integration-web-humilite/#comments</comments>
		
		<dc:creator><![CDATA[Marie Guillaumet]]></dc:creator>
		<pubDate>Tue, 19 Mar 2013 13:30:58 +0000</pubDate>
				<category><![CDATA[Métier]]></category>
		<category><![CDATA[intégration web]]></category>
		<category><![CDATA[réflexions]]></category>
		<guid isPermaLink="false">/?p=4083</guid>

					<description><![CDATA[Personne n&#8217;a la science infuse. Ni vous, ni moi.
Aucun savoir n&#8217;est immuable. Aucune technique n&#8217;est pérenne. Aucune pratique n&#8217;est parfaite. Le métier d&#8217;intégrateur web en particulier est une leçon d&#8217;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&#8217;occasion d&#8217;apprendre des choses qui me servent pour le projet suivant. Chaque nouveau projet me permet d&#8217;expérimenter et de perfectionner mon approche du développement front-end. Je n&#8217;ai jamais produit deux fois le même code, même sur des sites très similaires. L&#8217;évolution technologique est telle que c&#8217;est presque impossible.&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Personne n&rsquo;a la science infuse. Ni vous, ni moi.</p>
<p>Aucun savoir n&rsquo;est immuable. Aucune technique n&rsquo;est pérenne. Aucune pratique n&rsquo;est parfaite. Le métier d&rsquo;intégrateur web en particulier est une leçon d&rsquo;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&rsquo;occasion d&rsquo;apprendre des choses qui me servent pour le projet suivant. Chaque nouveau projet me permet d&rsquo;expérimenter et de perfectionner mon approche du développement <em lang="en">front-end</em>. Je n&rsquo;ai jamais produit deux fois le même code, même sur des sites très similaires. L&rsquo;évolution technologique est telle que c&rsquo;est presque impossible. </p>
<h2>« Ça dépend. »</h2>
<p>Je commence à avoir un peu de bouteille en matière d&rsquo;intégration. Pourtant, plus les mois passent, plus j&rsquo;intègre des sites, moins j&rsquo;ai de certitudes. La seule chose dont je suis sûre, c&rsquo;est qu&rsquo;<strong>il n&rsquo;y a pas de vérité absolue en matière d&rsquo;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&rsquo;accessibilité, ça dépend des plateformes ciblées, ça dépend de l&rsquo;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 de vous, ni de moi. Aucune décision technique pour le web ne peut être la décision d&rsquo;un seul individu. Pour pouvoir trancher, il faut s&rsquo;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&rsquo;est pas utile, c&rsquo;est indispensable. Remettre en question les pratiques appliquées depuis des années est une attitude saine. Rappelle-moi pourquoi on a l&rsquo;habitude de faire comme ça, déjà ?</p>
<h2 lang="la">Errare humanum est</h2>
<p>De même, reconnaître qu&rsquo;on s&rsquo;est trompé, qu&rsquo;on a pris le problème par le mauvais côté, qu&rsquo;on a mis en place une usine à gaz n&rsquo;est agréable <em>pour personne</em>. Il faut pourtant en passer par là pour se perfectionner.</p>
<p>Force est de constater qu&rsquo;une critique nous marque tous plus durablement qu&rsquo;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&rsquo;apprentissage.</p>
<p>Se tromper <em>et</em> s&rsquo;en rendre compte est la garantie qu&rsquo;on ne commettra pas la même erreur deux fois.</p>
<p>Quand on nous a dit qu&rsquo;il fallait séparer le fond et la forme, certains l&rsquo;ont pris au pied de la lettre, et ont oublié qu&rsquo;ils avaient le droit d&rsquo;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&rsquo;ai fait.</p>
<p>Quand on nous a dit que les <em lang="en">sprites</em>, c&rsquo;était bien, certains d&rsquo;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&rsquo;est jamais utile sur 95% des pages. Je l&rsquo;ai fait.</p>
<p>Quand on nous a dit que le <code>@extend</code> de Sass était révolutionnaire, certains d&rsquo;entre nous ont fait du zêle et l&rsquo;ont utilisé massivement, sans se rendre compte qu&rsquo;ils généraient ainsi des blocs énormes et court-circuitaient eux aussi la cascade. Ça aussi, je l&rsquo;ai fait !</p>
<p>Un jour ou l&rsquo;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&rsquo;habitude. (Quand je dis « moins bon », on s&rsquo;est compris !…)</p>
<p>Pire, dans notre pratique quotidienne, alors que nous sommes convaincus d&rsquo;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&rsquo;ai parfois créé des problèmes d&rsquo;intégration alors que l&rsquo;intégration n&rsquo;avait même pas commencé, simplement en concevant un élément d&rsquo;interface <em lang="de">über</em> compliqué. Le design de cet élément allait-il stimuler l&rsquo;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&rsquo;intégration ? Sans doute.</p>
<p>En tant qu&rsquo;intégratrice, j&rsquo;ai parfois créé des problèmes de développement avant même que le développement ait commencé. Quand j&rsquo;en prends conscience, je jure mes grands dieux de ne plus commettre la même erreur. Et puis, le temps passe, et j&rsquo;en commets d&rsquo;autres.</p>
<p>Mais comment éviter ces effets de bord ? La vérité est là, tapie dans l&rsquo;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&rsquo;expérience et d&rsquo;é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&rsquo;entre vous se disent peut-être que « c&rsquo;est trop la honte » d&rsquo;admettre de s&rsquo;être trompé, que les autres vous montreront du doigt et se moqueront de vous. Encore cette histoire d&rsquo;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&rsquo;être trompé, en démontrant ce qui n&rsquo;allait pas et en proposant une solution, gagne le respect de ses pairs. De base, comme ça, simplement grâce à cette preuve d&rsquo;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&rsquo;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&rsquo;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&rsquo;égo démesuré !) ;</li>
<li>soit comme une occasion de rebondir et de s&rsquo;améliorer.</li>
</ol>
<p>Pour embarrassants que soient ces moments de prise de conscience, s&rsquo;ils peuvent être la source d&rsquo;<a href="http://letrainde13h37.fr/26/aide-toi-le-web-aidera/">un coup de main donné à toute l&rsquo;assemblée</a> des experts <em lang="en">front</em>, c&rsquo;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&rsquo;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 question ait beaucoup de <em lang="en">followers</em>, peu de voix s&rsquo;élèveront alors pour remettre sa parole divine en question : « Si <em>lui</em>, si <em>elle</em> le dit, c&rsquo;est qu&rsquo;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&rsquo;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&rsquo;est là tout l&rsquo;art délicat de faire de la veille : il faut trier le bon grain de l&rsquo;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&rsquo;un côté les problématiques apportées par le <em lang="en">responsive web design</em> et de l&rsquo;autre, l&rsquo;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&rsquo;intégration web n&rsquo;est plus l&rsquo;apanage de quelques boîtes innovantes, de quelques geeks intégristes qui se pignolent sur les spécifications du W3C. Non, l&rsquo;intégration web est devenue un pilier stratégique pour le web actuel. Paradoxalement, les contours de ce métier n&rsquo;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&rsquo;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&rsquo;hui qu&rsquo;il ne l&rsquo;a jamais été.</p>
<p>Le simple fait d&rsquo;<a href="/2012/10/22/developpeur-dintegration-interfacante-et-animee-le-wtf/">hésiter constamment entre l&rsquo;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&rsquo;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&rsquo;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&rsquo;ergonomie, de référencement, de performances, de marketing et même de droit jouent un rôle important dans notre activité, sans qu&rsquo;il soit pour autant possible de les quantifier, ni qu&rsquo;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&rsquo;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&rsquo;ajouter un grosse louche de flou artistique sur une profession en pleine mutation. Déjà qu&rsquo;on avait du mal à expliquer le métier d&rsquo;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&rsquo;autant plus que le parc informatique n&rsquo;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&rsquo;est facile, regarde ! », la grande majorité d&rsquo;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&rsquo;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&rsquo;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&rsquo;une contrainte donnée.</p>
<p>Mais tout ce que nous apprenons en ce moment risque d&rsquo;é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&rsquo;on a toujours fait comme ça, qu&rsquo;on ne parlait pas de ces contraintes-là à l&rsquo;époque ou encore que Eric Meyer a écrit un article en 2001 sur le sujet et que, par conséquent, ce qu&rsquo;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&rsquo;un nouveau « <span lang="en">buzz word</span> » pointe le bout de son nez (par exemple, <em>retina</em>). Aujourd&rsquo;hui, personne ne peut affirmer avoir trouvé <em>la</em> solution ultime qui répondra à <em>tous</em> les cas d&rsquo;usage et à <em>toutes</em> les contraintes web. L&rsquo;intégration web, c&rsquo;est une délicate alchimie. On partage quelques astuces, on fait chauffer les alambics, mais aucun d&rsquo;entre nous ne détient la formule magique – illusoire… – qui fonctionnerait à tous les coups !</p>
<p>C&rsquo;est pourquoi je vois l&rsquo;intégration web comme une leçon d&rsquo;humilité permanente. C&rsquo;est un métier dans lequel le concept d&rsquo;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&rsquo;a jamais, ce temps. Il faut l&rsquo;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&rsquo;assumer nos erreurs.</p>
<p>Personne n&rsquo;a la science infuse. Ni vous, ni moi.</p>
<blockquote><p>Tout ce que je sais, c&rsquo;est que je ne sais rien.</p></blockquote>
<p>– Socrate</p>
]]></content:encoded>
					
					<wfw:commentRss>/2013/03/19/integration-web-humilite/feed/</wfw:commentRss>
			<slash:comments>61</slash:comments>
		
		
			</item>
		<item>
		<title>Note&#160;: Phosphor est un outil qui permet de convertir des &#160;[…]</title>
		<link>/notes/phosphor-est-un-outil-qui-permet-de-convertir-des/</link>
					<comments>/notes/phosphor-est-un-outil-qui-permet-de-convertir-des/#comments</comments>
		
		<dc:creator><![CDATA[Pierre Bertet]]></dc:creator>
		<pubDate>Wed, 30 Jan 2013 15:10:54 +0000</pubDate>
				<guid isPermaLink="false">/?post_type=lesintegristes_note&#038;p=3995</guid>

					<description><![CDATA[Phosphor est un outil qui permet de convertir des vidéos dans un format qui leur permet d’être décompressées et rendues en JS / Canvas, par le navigateur Web. Ce format est un assemblage d’instructions JSON et d’images, au format PNG ou JPG, qui vont être utilisés par leur script pour générer le rendu en canvas.
Cette technique a notamment été utilisée par Apple, sur la page de présentation de l’iPhone 5.
Les avantages sont nombreux par rapport à une &#60;video&#62; ou à un GIF : 

Seul le support de &#60;canvas&#62; est nécessaire
Pas de problème de codecs
Possibilité de lire&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://www.divergentmedia.com/phosphor" lang="en">Phosphor</a> est un outil qui permet de convertir des vidéos dans un format qui leur permet d’être décompressées et rendues en JS / Canvas, par le navigateur Web. Ce format est un assemblage d’<a href="https://raw.github.com/mikewoodworth/phosphorframework/15a752ecc6c0d7b0b4b6efc83f4dcfeb63cf4750/Samples/logospin/logospin_animationData.jsonp">instructions JSON</a> et <a href="https://raw.github.com/mikewoodworth/phosphorframework/15a752ecc6c0d7b0b4b6efc83f4dcfeb63cf4750/Samples/logospin/logospin_atlas000.png">d’images</a>, au format PNG ou JPG, qui vont être utilisés par leur script pour générer le rendu en canvas.</p>
<p>Cette technique a notamment été utilisée par Apple, sur <a href="http://www.apple.com/iphone/design/">la page de présentation de l’iPhone 5</a>.</p>
<p>Les avantages sont nombreux par rapport à une <code>&lt;video&gt;</code> ou à un GIF : </p>
<ul>
<li>Seul le support de <code>&lt;canvas&gt;</code> est nécessaire</li>
<li>Pas de problème de codecs</li>
<li>Possibilité de lire ces vidéos sans fullscreen sur iPhone</li>
<li>Contrôle total sur la vidéo</li>
<li>Niveaux de transparence (si PNG est utilisé)</li>
<li>Pas de limitation de couleurs</li>
<li>Compression sans perte (optionnel)</li>
</ul>
<p>Évidemment, il ne s’agit pas de l’utiliser pour intégrer de longues vidéos, mais plutôt pour présenter de courtes animations. Les performances sont excellentes, que ce soit en vitesse de rendu ou en temps de téléchargement (dans l’exemple présenté sur cette page, on passe de 7 Mo pour le GIF à 500 Ko).</p>
<p>Faute de mieux, cela permet de combler le manque laissé par les formats <a href="http://en.wikipedia.org/wiki/APNG">APNG</a> ou <a href="http://en.wikipedia.org/wiki/Multiple-image_Network_Graphics">MNG</a> qui n’ont jamais pu s’imposer. Notre salut viendra peut-être du format <a href="http://en.wikipedia.org/wiki/WebP">WebP</a> proposé par Google qui supporte également les animations, mais que Mozilla <a href="http://muizelaar.blogspot.fr/2011/04/webp.html">refuse d’intégrer à Firefox</a> pour l’instant.</p>
<p>Le script de décompression est open source (licence MIT) et a été <a href="https://github.com/mikewoodworth/phosphorframework">publié sur GitHub</a>.</p>
<p>Jon Skinner, l’auteur de l’éditeur Sublime Text, avait proposé <a href="http://www.sublimetext.com/~jps/animated_gifs_the_hard_way.html">une technique similaire</a> pour lire des screencasts. Cette fois, <a href="https://github.com/sublimehq/anim_encoder">l’outil de compression</a> est libre, multiplateforme (Python) et automatisable.</p>
]]></content:encoded>
					
					<wfw:commentRss>/notes/phosphor-est-un-outil-qui-permet-de-convertir-des/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Note&#160;: Vous pensiez tout connaître des tableaux en JavaSc&#160;[…]</title>
		<link>/notes/vous-pensiez-tout-connaitre-des-tableaux-en-javasc/</link>
		
		<dc:creator><![CDATA[Pierre Bertet]]></dc:creator>
		<pubDate>Mon, 10 Dec 2012 10:41:24 +0000</pubDate>
				<guid isPermaLink="false">/?post_type=lesintegristes_note&#038;p=3943</guid>

					<description><![CDATA[Vous pensiez tout connaître des tableaux en JavaScript ?
Saviez-vous que les index de tableaux étaient traités comme des chaînes de caractère en JavaScript ? Et que pour cette même raison, la valeur passée à l’opérateur square brackets ([]) était convertie en chaîne de caractère, ainsi que la première passée à l’opérateur in ? Quelle est la taille maximale d’un tableau ? Et que se passe-t-il lorsque la propriété length est modifiée ?
Pour connaître les réponses à ces questions, foncez lire cet article de Dr Axel Rauschmayer : Arrays in JavaScript.
Je vous invite également également à parcourir l’ensemble&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Vous pensiez tout connaître des tableaux en JavaScript ?</p>
<p>Saviez-vous que les index de tableaux étaient traités comme des chaînes de caractère en JavaScript ? Et que pour cette même raison, la valeur passée à l’opérateur <em lang="en">square brackets</em> (<code>[]</code>) était convertie en chaîne de caractère, ainsi que la première passée à l’opérateur <em lang="en">in</em> ? Quelle est la taille maximale d’un tableau ? Et que se passe-t-il lorsque la propriété <code>length</code> est modifiée ?</p>
<p>Pour connaître les réponses à ces questions, foncez lire cet article de Dr Axel Rauschmayer : <a href="http://www.2ality.com/2012/12/arrays.html" lang="en">Arrays in JavaScript</a>.</p>
<p>Je vous invite également également à parcourir l’ensemble du blog, et notamment <a href="http://www.2ality.com/2012/08/guide-jslang.html" lang="en">le guide JavaScript</a>, qui classe et regroupe tous les articles liés au langage.</p>
<p>Dr Axel Rauschmayer (<a href="https://twitter.com/rauschma">@rauschma</a> sur Twitter) prépare également un livre pour 2013, <a href="http://www.jsguide.org/" lang="en">A programmer’s guide to JavaScript</a>. Il ne fait nul doute que celui-ci s’imposera rapidement comme une référence !</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Note&#160;: Quel devenir pour les intégrateurs ou développeurs&#160;[…]</title>
		<link>/notes/quel-devenir-pour-les-integrateurs-ou-developpeurs/</link>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Thu, 08 Nov 2012 15:19:32 +0000</pubDate>
				<guid isPermaLink="false">/?post_type=lesintegristes_note&#038;p=3934</guid>

					<description><![CDATA[Quel devenir pour les intégrateurs ou développeurs front qui prennent de la bouteille ? Non, Guillaume, ils ne deviennent pas tous Chef de projet ou Manager. Les métiers changent, les technos évoluent, le nombre de terminaux explosent, et on en a parlé ici dans pas mal d&#8217;articles, il devient carrément impossible de tout maîtriser ; de nouveaux métiers sont nécessaires. Les experts sont demandés ! Florian Harmel, nous présente son métier de Creative Technologist chez Ekino. C&#8217;était à Paris Web cette année : Creative Technologist, Web Evangelist, Developer Advocate !?!&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Quel devenir pour les intégrateurs ou développeurs front qui prennent de la bouteille ? Non, Guillaume, ils ne deviennent pas tous Chef de projet ou Manager. Les métiers changent, les technos évoluent, le nombre de terminaux explosent, et on en a parlé ici dans pas mal d&rsquo;articles, il devient carrément impossible de tout maîtriser ; de nouveaux métiers sont nécessaires. Les experts sont demandés ! <a href="https://twitter.com/florianharmel">Florian Harmel</a>, nous présente son métier de Creative Technologist chez Ekino. C&rsquo;était à Paris Web cette année : <a href="http://www.paris-web.fr/2012/conferences/creative-technologist-web-evangelist-developer-advocate.php">Creative Technologist, Web Evangelist, Developer Advocate !?!</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Note&#160;: Et si nous devions revoir complètement les convent&#160;[…]</title>
		<link>/notes/et-si-nous-devions-revoir-completement-les-convent/</link>
					<comments>/notes/et-si-nous-devions-revoir-completement-les-convent/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Thu, 08 Nov 2012 14:46:56 +0000</pubDate>
				<guid isPermaLink="false">/?post_type=lesintegristes_note&#038;p=3927</guid>

					<description><![CDATA[Et si nous devions revoir complètement les conventions de navigations de nos interfaces clairement pensées pour les ordinateurs fixes ? Avec l&#8217;explosion des ventes de terminaux mobiles et la dégringolade des ventes de PC, il est temps de penser à des nouvelles idées, c&#8217;est ce qu&#8217;on fait Luke Wroblewski et Jason Weaver dans cet article : http://www.lukew.com/ff/entry.asp?1649. Des schémas et des démos pour illustrer le propos. C&#8217;est vrai qu&#8217;on utilise de plus en plus nos pouces&#8230;&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Et si nous devions revoir complètement les conventions de navigations de nos interfaces clairement pensées pour les ordinateurs fixes ? Avec l&rsquo;explosion des ventes de terminaux mobiles et la dégringolade des ventes de PC, il est temps de penser à des nouvelles idées, c&rsquo;est ce qu&rsquo;on fait Luke Wroblewski et Jason Weaver dans cet article : <a href="http://www.lukew.com/ff/entry.asp?1649">http://www.lukew.com/ff/entry.asp?1649</a>. Des schémas et des démos pour illustrer le propos. C&rsquo;est vrai qu&rsquo;on utilise de plus en plus nos pouces&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>/notes/et-si-nous-devions-revoir-completement-les-convent/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Les plugins, nos amis qui nous rendent la vie dure&#8230;</title>
		<link>/2012/11/07/les-plugins-nos-amis-qui-nous-rendent-la-vie-dure/</link>
					<comments>/2012/11/07/les-plugins-nos-amis-qui-nous-rendent-la-vie-dure/#comments</comments>
		
		<dc:creator><![CDATA[Guillaume Richard]]></dc:creator>
		<pubDate>Wed, 07 Nov 2012 12:36:22 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<guid isPermaLink="false">/?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 « wahou » 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&#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 « wahou » 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: « pourquoi tu n&rsquo;as pas utilisé un <em>plugin tout fait</em> à la place ? »; 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 de ce qui se passe ailleurs, <em>chez les autres&#8230; </em>dépendant donc de la veille « plugin ».<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 « <em>comme on l&rsquo;a toujours fait depuis des années</em>« , à force on obtenait presque toujours les mêmes briefs: « <em>A gauche donc, on aura une sidebar, à droite.. le contenu et puis au milieu, un jQuery Carousel de chez bidule »</em>; Grisant.<br />
D&rsquo;ailleurs, la version 2013 de ces pratiques sera « <em>en haut, le header, au milieu&#8230; et bah un bon gros jQuery mansonry hein ? t&rsquo;en dis quoi ? le footer ? Oh y&rsquo;en a pas besoin..</em>. »</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 « <em>pourquoi tu n&rsquo;utilises pas jQuery</em>« . 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, « on » est toujours plutôt gagnant&#8230; enfin sauf pour les « techos » 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 « <strong>google-isation de plugins</strong> » 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>/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&#8217;introduction)</title>
		<link>/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/</link>
					<comments>/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Fri, 02 Nov 2012 14:48:05 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<guid isPermaLink="false">/?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&#8217;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 « watch » 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 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
  &
    color blue
</code></pre>
<p>Un exemple plus parlant ?</p>
<pre><code>body
  section div a
    color red
    &: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 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>/2012/11/02/stylus-et-les-preprocesseurs-css-en-guise-dintroduction/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
