<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Antistatique.net Blog</title>
	
	<link>http://antistatique.net/blog</link>
	<description>Les médias interactifs, on adore !</description>
	<lastBuildDate>Wed, 22 May 2013 21:48:48 +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>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/antistatique" /><feedburner:info uri="antistatique" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>46.52331247900008</geo:lat><geo:long>6.615325212478638</geo:long><item>
		<title>Webshaped.fi — conférence sur le design et le développement web à Helsinki</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/TtwjOgUl4M0/</link>
		<comments>http://antistatique.net/blog/2013/05/22/webshaped-fi-conference-sur-le-design-et-le-developpement-web-a-helsinki/#comments</comments>
		<pubDate>Wed, 22 May 2013 21:48:14 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=2020</guid>
		<description><![CDATA[Marc sera à Helsinki ce jeudi 23 mai à la conférence webshaped. Des présentations sur les thèmes du webdesign, de l'expérience utilisateur et du développement frontend sont proposés. Voici sa sélection avant-conférence.]]></description>
				<content:encoded><![CDATA[<p>Dans l&rsquo;offre européenne des conférences sur le webdesign, l&rsquo;expérience utilisateur et le développement frontend, nous avons choisi Helsinki. Capitale 2012 du design, Helsinki compte parmi les scènes web les plus actives en Europe. Déjà très tentante l&rsquo;année dernière (je vous invite à découvrir quelques vidéos), l&rsquo;édition 2013 de <a href="http://webshaped.fi/">webshaped</a> propose des sujets et des profils captivants.</p>
<p>Deux tracks sont proposés en parallèle. Puisqu&rsquo;il faut choisir, voici ma sélection:</p>
<h3>Responsive Web Design: Clever Tips and Techniques par Vitaly Friedman</h3>
<p>Souvent plus pour la présence et l&rsquo;énergie que pour le contenu, j&rsquo;apprécie les talks de Vitaly Friedman. Le contenu est évidemment de qualité, mais, et c&rsquo;est assez logique, reprit des Smashing Books et des articles sur Smashing Mag.</p>
<h3>Backbone.js in production at SoundCloud par Darrell Stephenson </h3>
<p>Développeur frontend chez SoundCloud, Darrell va présenter un retour d&rsquo;expérience sur leur utilisation de Backbone.js. Les talks de retour d&rsquo;expérience sont toujours enrichissants. Surtout quand ils surviennent après avoir nous-mêmes fait nos expériences avec Backbone.js.</p>
<h3>Hacking into User Experience par Henrik Rydberg</h3>
<p>Organisateur de IxDA à Helsinki, Herik est aussi spécialiste UX à Shapeways, une stratup active dans l&rsquo;impression 3D. J&rsquo;hésite encore avec le talk en parallèle sur les single-page apps par Ben Firschman.</p>
<h3>Rendering without lumpy bits par Jake Archibald</h3>
<p>Développeur chez Google dans l&rsquo;équipe Chrome, Jake parelera d&rsquo;optimisation à l&rsquo;ère du retina. Des performances dans le travail avec le DOM et où sont les goulets d&rsquo;étranglement.</p>
<h3>Prototyping in the browser par Florian Plank</h3>
<p>Florian propose une démonstration des techniques pour récolter des feedbacks et comportements des utilisateurs directement dans le browser.</p>
<h3>The Future is Responsive par Jonathan Smiley</h3>
<p>Jonathan est un des développeurs de Zurb derrière le projet Foundation. Sa présentation sur le responsive s&rsquo;annonce passionnante. Peut-être pourra-t-on discuter de la suite de leur framework.</p>
<p>Si vous y êtes également présent, n&rsquo;hésitez pas à me contacter via <a href="http://twitter.com/zufrieden">Twitter</a>. Je me ferai un plaisir de vous présenter Helsinki si vous ne la connaissez pas déjà bien.</p>
<ul>
<li>Le site de la conférence Webshaped : <a href="http://webshaped.fi" target="_blank">webshaped.fi</a></li>
<li>le programme : <a href="http://webshaped.fi/program" target="_blank">webshaped.fi/program</a></li>
<li>Les speakers : <a href="http://webshaped.fi/speakers" target="_blank">webshaped.fi/speakers</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=TtwjOgUl4M0:0dYI0X234Pw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=TtwjOgUl4M0:0dYI0X234Pw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=TtwjOgUl4M0:0dYI0X234Pw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=TtwjOgUl4M0:0dYI0X234Pw:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/TtwjOgUl4M0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/05/22/webshaped-fi-conference-sur-le-design-et-le-developpement-web-a-helsinki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/05/22/webshaped-fi-conference-sur-le-design-et-le-developpement-web-a-helsinki/</feedburner:origLink></item>
		<item>
		<title>See Conference in Wiesbaden</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/nd8ugzKLsDc/</link>
		<comments>http://antistatique.net/blog/2013/05/02/see-conference-in-wiesbaden/#comments</comments>
		<pubDate>Thu, 02 May 2013 07:51:20 +0000</pubDate>
		<dc:creator>Renato Kempter</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=2000</guid>
		<description><![CDATA[Feedback of the Wiesbaden COnference about informations visualisation. The conference brands itself as the conference on visualisation of information, so I expected the talks to cover the subject of data visualisation, especially talks about visualisation of big data - since it is one of our biggest challenge of these days.
]]></description>
				<content:encoded><![CDATA[<p>Last weekend, I travelled all the way to Germany for the <a href="http://www.see-conference.org/">See Conference</a>. The conference brands itself as the conference on visualisation of information, so I expected the talks to cover the subject of data visualisation, especially talks about visualisation of big data &#8211; since it is one of our biggest challenge of these days.</p>
<p><iframe src="http://player.vimeo.com/video/62363662?title=0&amp;byline=0&amp;portrait=0&amp;color=ed6e00" frameborder="0" width="500" height="281"></iframe></p>
<p><a href="http://vimeo.com/62363662">see#8 | the conference on visualization of information | 20. April 2013 | Schlachthof Wiesbaden</a> from <a href="http://vimeo.com/user1665731">Scholz &amp; Volkmer GmbH</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>The conference started with a talk by Wolfgang Ullrich, which was actually my favourite. In a one hour talk, he reflected about product design in a consumer &amp; capitalistic world. With examples, he showed us how companies are using the new medias (Facebook, instagram, …) to create an image of themselves and how they use their clients to actually spread this image into the world. As an example, he used the notebook brand &laquo;&nbsp;Moleskine&nbsp;&raquo;: You find thousands of beautiful photos of Moleskine notebooks in a calm, inspirational environment, often with tea cups or candles in the same picture &#8211; symbols for creativity and ideas. See the examples on flickr <a href="http://www.flickr.com/photos/cloughridge/3547853410/in/faves-41735463@N05/">here</a> and <a href="http://www.flickr.com/photos/louphotography/4695891884/in/faves-41735463@N05/">here</a>. A very interesting talk that changed a little bit my view on product design.</p>
<p>A second talk I did like was hold by <a href="http://www.jam3.com/">Pablo Vio from jam3</a> about the <a href="http://bear71.nfb.ca/#/bear71">Bear71 project</a>. The project is a new, interactive approach to documentary movies on the web and won a Gold Cyber Lion Award at the Cannes Lions International Advertising Festival. He talked about the collaboration between designers and developers and how both need to be involved in the creative brainstorming part of the project. It was interesting to see, that jam3 builds their own custom tools for working with the data visualisation. For the Bear71 project for example, the developers built a relatively simply tool so that the designers were able to go beyond photoshop and work directly on the data.</p>
<p>In the afternoon, Dries Verbruggen from <a href="http://unfold.be/pages/projects">unfold.be</a> reflected about the future challenges in a world of 3d printers, personalisation and copyrights. He presented <a href="http://vimeo.com/43664926">his project &laquo;&nbsp;The Kiosk&nbsp;&raquo;</a>, a portable 3d printer capable of producing and copying objects. They are using their machine to copy art objects and push the discussion about copying into mainstream.</p>
<p>For me, a developer, it was indeed very interesting to hear for a complete day talks about art &amp; design and to deepen the topics through discussion with other participants. Especially the dinner with about 50 visualisation enthusiasts was pretty amazing. A big plaudit for the conference organisation as well, it was very well organised and the videos &amp; sound effects were amazing.</p>
<p>On the choice of topics, I was a little bit disappointed. Branding a conference about the visualisation of information, I expected more on the topic of data and how to visualise huge quantities of it, since these are challenges designers have to deal with in the future. And I expected a more interdisciplinary field of participants. Visualisation of information is the last part of a long chain &#8211; from getting the data, to bring it in the right format, analyse it and extracting the relevant things. Designers are only a part of the chain and should know the concepts about what developers and data analysts are doing before (inverse is of course necessary as well). Like Pablo Vio said, everybody working on the project needs to be involved in the creative process and brainstorming &#8211; and this was a point I was clearly missing at this conference.</p>
<p>Nevertheless, I am happy that I did the long journey to Germany!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=nd8ugzKLsDc:sNMTDf3suC8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=nd8ugzKLsDc:sNMTDf3suC8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=nd8ugzKLsDc:sNMTDf3suC8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=nd8ugzKLsDc:sNMTDf3suC8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/nd8ugzKLsDc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/05/02/see-conference-in-wiesbaden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/05/02/see-conference-in-wiesbaden/</feedburner:origLink></item>
		<item>
		<title>Réunion Symfony ce jeudi à Lausanne</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/wGd2HIg2fig/</link>
		<comments>http://antistatique.net/blog/2013/04/23/reunion-symfony-ce-jeudi-a-lausanne/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 07:24:29 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[C'est de Lausanne]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1996</guid>
		<description><![CDATA[Nous organisons ce jeudi 25 avril au soir, une réunion de développeur Symfony pour promouvoir et échanger sur le framework. Cette première édition «alpha» permettra de discuter et décider les sujets et formats des futures rencontres. ]]></description>
				<content:encoded><![CDATA[<p>Nous organisons ce jeudi 25 avril au soir, une réunion de développeur Symfony pour promouvoir et échanger sur le framework. Cette première édition «alpha» permettra de discuter et décider les sujets et formats des futures rencontres. </p>
<h2>Au programme ce jeudi</h2>
<ul>
<li>Déploiement avec Capistrano</li>
<li>Feedback du <a href="http://www.meetup.com/sfugzh/events/109244922/">Meetup Symfony Zurich</a> du 24 avril sur Elastic Search</li>
<li>Discussion sur les tests</li>
</ul>
<p><a href="http://www.meetup.com/Symfony-User-Group-Romand/events/107713392/" class="btn">Inscription via Meetup</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=wGd2HIg2fig:8etTXRO1seI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=wGd2HIg2fig:8etTXRO1seI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=wGd2HIg2fig:8etTXRO1seI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=wGd2HIg2fig:8etTXRO1seI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/wGd2HIg2fig" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/23/reunion-symfony-ce-jeudi-a-lausanne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/23/reunion-symfony-ce-jeudi-a-lausanne/</feedburner:origLink></item>
		<item>
		<title>Conférence sur l’accessibilité web à Lausanne</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/8sSWqfCDfaQ/</link>
		<comments>http://antistatique.net/blog/2013/04/22/accessibilite-conference/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 07:34:59 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[C'est de Lausanne]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1988</guid>
		<description><![CDATA[Nous étions présents à la conférence sur l’accessibilité du web. Une journée dédiée aux techniques et pratiques pour un web accessible à tous. ]]></description>
				<content:encoded><![CDATA[<p>Nous étions présents mardi dernier à la conférence sur l’accessibilité du web. L’occasion de se rafraichir la mémoire sur l’importance des balises descriptives et de la sémantique. Nous avons eu notamment une démonstration d’utilisation d’applications iPhone par une personne non voyante. Les applications Postfinance, twitter ou encore CFF peuvent être utilisées car elles respectent les standards d’accessibilité des applications iOS. </p>
<p>A l&rsquo;image, Jean-Pierre Villain de Qelios qui a présenté un état des lieux d&rsquo;HTML5 concernant l&rsquo;accessibilité.</p>
<p><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/DSC_3700.jpg" alt="Jean-Pierre Villain de Qelios"  /></p>
<p>Retrouvez <a href="https://gist.github.com/alienlebarge/5390173">les notes de Cédric sur gist</a> et le <a href="http://www.telono.com/fr/societe/conference-romande-accessibilite-web-2013">programme complet sur le site de Telono</a> qui a organisé l’événement.</p>
<p><small>Crédits photo : <a href="https://twitter.com/boloshon" title="Twitter Thomas Joubert">Thomas Joubert</a></small></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=8sSWqfCDfaQ:PxPW-LPvgzM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=8sSWqfCDfaQ:PxPW-LPvgzM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=8sSWqfCDfaQ:PxPW-LPvgzM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=8sSWqfCDfaQ:PxPW-LPvgzM:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/8sSWqfCDfaQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/22/accessibilite-conference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/22/accessibilite-conference/</feedburner:origLink></item>
		<item>
		<title>Les tendances de l’E-commerce cette année</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/SPhlqXAxXL8/</link>
		<comments>http://antistatique.net/blog/2013/04/11/les-tendances-de-le-commerce-cette-annee/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 07:20:46 +0000</pubDate>
		<dc:creator>Alberto</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Web marketing]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[e-shop]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[shop]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1909</guid>
		<description><![CDATA[Ce n'est pas un secret, les ventes sur le web vont continuer à augmenter. Voici les tendances qui devraient se confirmer en 2013.]]></description>
				<content:encoded><![CDATA[<h2>Chat en ligne, dialogue en direct avec le client</h2>
<p>Cet outil permet d&rsquo;offrir aux clients un service aussi complet que lors d&rsquo;un achat non virtuel. Explications, réponses et compléments d&rsquo;informations peuvent être communiqués par ce biais. Ce qui a pour objectif de rassurer l&rsquo;acheteur et le conforter dans son idée d&rsquo;achat. Même si la vente n&rsquo;a pas lieu, ce service est bénéfique pour l&rsquo;image du site web. </p>
<h2>Newsletter, canal indispensable</h2>
<p>Malgré certaines contraintes telles que tenir à jour une base de donnée d&rsquo;adresses; envoyer une newsletter avec un  contenu de qualité ; respecter un rythme d&rsquo;envoi (hebdomadaire ou mensuel), ce système reste encore aujourd&rsquo;hui un des meilleurs moyens pour déclencher une envie d&rsquo;achat chez le consommateurs. </p>
<p><br/></p>
<aside>
<br/><br />
Des outils tels que <a href="http://www.campaignmonitor.com/">Campaign Monitor</a> ou <a href="http://mailchimp.com/">MailChimp</a> assurent une grande qualité de lecture et de retour sur investissement.<br />
</aside>
<p><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/das-neue-campaign-monitor-reports-full1.png" alt="" title="CM"  /></p>
<h2>Réseaux sociaux pour la promotion et le dialogue</h2>
<p>Après la course aux followers, aux likes, au nombre de vues et à la création de communauté, il est temps de se repositionner sur les réseaux sociaux. Il est bon de canaliser la diffusion de vos offres sur un nombre restreint de réseaux, où votre clientèle se trouve, afin d&rsquo;améliorer votre ROI.</p>
<h2>E-commerce mobile</h2>
<p>La diffusion sur le marché des smartphones et des tablettes favorise l&rsquo;achat en ligne à tout moment et dans n&rsquo;importe quelle situation. Il est donc judicieux de créer un E-shop compatible avec ces supports. Tout ce qui facilite l&rsquo;acte d&rsquo;achat est bon à prendre. </p>
<h2>UX, l&rsquo;expérience utilisateur toujours aussi importante dans le domaine</h2>
<p>Diminuer les freins, faciliter la compréhension et utiliser les bonnes pratiques sont la base d&rsquo;une bonne expérience sur un site e-Commerce. Un moteur de recherche permet aux internautes de rapidement trouver l&rsquo;article de leur choix. Un comparateur de produits, des filtres intelligents sur le prix, les tailles et les couleurs sont tant d&rsquo;outil développés et éprouvés dont on peut s&rsquo;inspirer pour la réalisation d&rsquo;un site e-Commerce.</p>
<h2>Quelle plate-forme choisir ?</h2>
<p>Une question toujours essentiel, quel est l&rsquo;outil idéal pour mettre en place un site e-Commerce. Nous avons développé <a href="http://www.uchitomi.ch">Uchitomi</a>, <a href="http://www.marche-cuendet.ch">Marché-Cuendet</a> ou <a href="http://www.coolkidz.ch">Coolkidz</a> sur Magento pour gérer des besoins bien spécifiques à leurs marchés. Pour ouvrir un site en quelques heures il existe des outils clés en main comme <a href="http://www.shopify.com/">shopify</a> ou <a href="http://www.etsy.com/">etsy</a>. Amazon, Ricardo sont aussi des plate-formes de vente qu&rsquo;il faut envisager comme marché.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=SPhlqXAxXL8:t5wXaOw40tM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=SPhlqXAxXL8:t5wXaOw40tM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=SPhlqXAxXL8:t5wXaOw40tM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=SPhlqXAxXL8:t5wXaOw40tM:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/SPhlqXAxXL8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/11/les-tendances-de-le-commerce-cette-annee/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/11/les-tendances-de-le-commerce-cette-annee/</feedburner:origLink></item>
		<item>
		<title>Antistatique ouvre un Open Device Lab à Lausanne</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/P5FzQlsaMSE/</link>
		<comments>http://antistatique.net/blog/2013/04/08/antistatique-ouvre-un-open-device-lab-a-lausanne/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 14:35:53 +0000</pubDate>
		<dc:creator>Yann G.</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1943</guid>
		<description><![CDATA[Avec l'avénement des support mobiles, le travail des acteurs du web s'est passablement compliqué de par la multiplicité de formats et de rendus. Afin d'augmenté la qualité des sites et un meilleur web mobile, Antistatique vous propose un laboratoire de test en libre accès.]]></description>
				<content:encoded><![CDATA[<p>Antistatique vous propose, au sein même de ses bureaux, un laboratoire de test avec smartphone et tablettes librement mis à disposition.</p>
<h2>Qu&rsquo;est-ce qu&rsquo;un devicelab ?</h2>
<p>Un deviceLab est un lieu dans lequel on trouve des téléphones, ordinateurs et tablettes pour pouvoir tester son site ou son application.</p>
<h2>Gratuit, ouvert à tous pour un meilleur web mobile.</h2>
<p>Une initiative pour la communauté web de romandie qui doit créer de l&rsquo;émulation chez les développeurs web. 2009 était l&rsquo;année du mobile, du responsive design et du mobile first. En 2013, ce constat est encore plus vrai, d&rsquo;où la nécessité de devoir tester sur le plus grand panel de supports possible</p>
<p>Le deviceLab est un lieu d&rsquo;échange et de rencontre des passionnés du web mobile. En accord avec les buts de l&rsquo;<a href="http://opendevicelab.com/">Open Device Lab</a> et de son association <a href="http://lab-up.org/">LabUp!</a>, nous proposons un accès gratuit et libre au lab durant les heures d&rsquo;ouverture de l&rsquo;agence.</p>
<p><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/IMG_3363_croped.jpg"/></p>
<h2>Pourquoi tester sur autant de mobiles?</h2>
<p>Nous sommes pour la qualité dans les réalisations web; et qui dit qualité, dit test. Afin d&rsquo;assurer à nos clients la meilleure compatibilité de leur site sur mobile, nous devons le tester sur un maximum de supports. Il existe, en effet, beaucoup de systèmes d&rsquo;exploitations et de navigateur qui font varier le rendu de votre site internet. Il est donc indispensable d&rsquo;avoir une vision globale de la façon dont le site va s&rsquo;afficher sur chaque écran.</p>
<aside>Tester sur un émulateur de smartphone restera toujours en deçà du test en condition réelle. Le résultat affiché par l&rsquo;émulateur ne sera déjà pas le même et pensez simplement à la zone cachée par le doigt qui est différente de celle du curseur de votre ordinateur.</aside>
<p><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/Screen-Shot-2013-04-08-at-2.02.08-PM.png"/></p>
<p>Nous espérons que les développeurs, designers et professionnels du web en général viendront profiter du deviceLab. </p>
<p><a href="http://devicelab.ch" class="btn">DeviceLab.ch</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=P5FzQlsaMSE:8TcMpASg4aI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=P5FzQlsaMSE:8TcMpASg4aI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=P5FzQlsaMSE:8TcMpASg4aI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=P5FzQlsaMSE:8TcMpASg4aI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/P5FzQlsaMSE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/08/antistatique-ouvre-un-open-device-lab-a-lausanne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/08/antistatique-ouvre-un-open-device-lab-a-lausanne/</feedburner:origLink></item>
		<item>
		<title>Devenez un maître cartographe !</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/ZzG1M1LMHlg/</link>
		<comments>http://antistatique.net/blog/2013/04/05/devenez-un-maitre-cartographe/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 06:40:38 +0000</pubDate>
		<dc:creator>Yann G.</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[Graphisme]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[carte]]></category>
		<category><![CDATA[cloudmade]]></category>
		<category><![CDATA[leaflet]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[mapbox]]></category>
		<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[osm]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1875</guid>
		<description><![CDATA[À l’heure actuelle, il existe pléthore de services cartographiques online qui vous permettront d’intégrer vos cartes préférées sur votre page perso. Certains, gratuits, ne permettront qu’une personnalisation limitée alors que d’autres, à des tarifs plus ou moins abordable, proposent des cartes plus adaptées à vos besoins. Dans ce paysage, il existe une solution open source plus complète et entièrement gratuite: Openstreetmap !]]></description>
				<content:encoded><![CDATA[<p>
  Google Maps s’est imposé comme <strong>un poids lourd de la cartographie web</strong> ces dernières années et à force de manger de la Google Maps à tous les repas, votre appréhension du fabuleux monde de la cartographie commence à avoir la bouche pâteuse.
</p>
<p>
  Heureusement, rassurez-vous, il existe une alternative et non des moindres ! Openstreetmap, OSM pour les intimes, est un magnifique projet open source qui <strong>a pour but de cartographier la totalité de notre chère planète</strong>, permettant ainsi de créer des cartes sous licence libre. Grâce au courage de milliers de contributeurs volontaires et aux données GPS libres récolté de-ci de-là, OSM est vite devenu <strong>une des bases de donnée cartographique les plus riches du moment</strong>.
</p>
<aside>Openstreetmap permet d&rsquo;exporter des iframes directement depuis son site.</aside>
<p><a href="http://www.openstreetmap.org/"><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/osm.jpg" alt="Openstreetmap" /></a></p>
<p>
  N’hésitez plus et inscrivez-vous sur <a href="http://www.openstreetmap.org/">le site officiel</a> !
</p>
<h2>Ouais, mais Google Maps c’est plus facile à intégrer</h2>
<p>Openstreetmap peut sembler extrêmement intimidant pour un profane qui souhaite seulement afficher une petite carte sur sa page et c’est justifié. Étant très (trop) complet, on se perd facilement dans les méandres de cette technologie aux possibilités infinies. Il existe néanmoins un havre de simplicité qui vous permettra d’intégrer une Openstreetmap sur votre site : <a href="http://leafletjs.com/"><strong>Leaflet</strong></a> !</p>
<p>Cette bibliothèque JavaScript open source s’est vite imposé comme l’API de référence dans l’utilisation d’OSM.</p>
<aside>N&rsquo;hésitez pas à parcourir la doc afin de saisir toute la puissance de l&rsquo;outil !</aside>
<p><a href="http://leafletjs.com/reference.html"><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/leaflet.jpg" alt="leaflet" /></a></p>
<p>Tout d’abord, installez la librairie :</p>
<div class="codecolorer-container html4strict geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://cdn.leafletjs.com/leaflet-0.5/leaflet.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Ensuite, incorporer les styles sans quoi votre carte va exploser :</p>
<div class="codecolorer-container html4strict geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">link</span></a> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://cdn.leafletjs.com/leaflet-0.5/leaflet.css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br />
&nbsp; !--[if lte IE 8]&gt;<br />
&nbsp; &nbsp; &nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">link</span></a> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://cdn.leafletjs.com/leaflet-0.5/leaflet.ie.css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br />
&nbsp; ![endif]--&gt;</div></td></tr></tbody></table></div>
<p>Et pour finir, ajoute simplement ces quelques lignes dans votre fichier de scripts :</p>
<div class="codecolorer-container javascript geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">// Crée la map en définissant les coordonnées géographiques et le niveau de zoom</span><br />
<span style="color: #003366; font-weight: bold;">var</span> map <span style="color: #339933;">=</span> L.<span style="color: #660066;">map</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ID-de-mon-bloc-Map'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">setView</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">46.523335</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">6.615654</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">17</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">// Ajoute un calque pour les tuiles (tile) Openstreetmap. Sans ça, vous n'aurez rien affiché. C'est le Web Map Service de votre carte, ici celui par défaut.</span><br />
L.<span style="color: #660066;">tileLayer</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'http://{s}.tile.osm.org/{z}/{x}/{y}.png'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #006600; font-style: italic;">// Ajoute un copyright custom</span><br />
&nbsp; &nbsp; attribution<span style="color: #339933;">:</span> <span style="color: #3366CC;">'&amp;copy; &lt;a href=&quot;http://osm.org/copyright&quot;&gt;OpenStreetMap&lt;/a&gt; contributors'</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addTo</span><span style="color: #009900;">&#40;</span>map<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #006600; font-style: italic;">// Ajoute un marqueur ainsi qu'une légende contenue dans une infobulle personnalisable.</span><br />
L.<span style="color: #660066;">marker</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">46.523335</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">6.615654</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addTo</span><span style="color: #009900;">&#40;</span>map<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; .<span style="color: #660066;">bindPopup</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Antistatique, des artisans du web, curieux et exigeants. '</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// La légende</span><br />
&nbsp; &nbsp; .<span style="color: #660066;">openPopup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>N&rsquo;oubliez pas de créer le bloc HTML dans lequel vous allez placer votre map et de déclarer l&rsquo;ID correctement !</p>
<h2>OK, mais c’est un peu moche</h2>
<p>Il apparait assez rapidement <strong>qu’Openstreetmap ne brille pas par ses qualités graphiques</strong>. En effet, les quelques calques disponibles (Standard, Cycle Map, Transport Map et MapQuest Open) ne sont clairement pas des modèles d’esthétisme.</p>
<p>Leaflet c&rsquo;est bien, mais couplé à <a href="http://cloudmade.com/">Cloudmade</a> et son éditeur c&rsquo;est mieux. En effet, à par une tripotée de services et technologies liées à la cartographie, <strong>Cloudmade propose une interface hyperintuitive</strong> de personnalisation de cartes pour Openstreetmap. Et si je vous dis que les bougres s&rsquo;investissent pleinement dans le projet OSM, vous comprendrez certainement l&rsquo;intérêt qu&rsquo;ils ont à proposer un tel service. <strong>En plus, Leaflet, c&rsquo;est simplement eux qui en sont à l&rsquo;origine !</strong></p>
<p>Comprenez une chose, Leaflet n&rsquo;est qu&rsquo;une API de navigateur de carte, elle propose par défaut les tuiles de base d&rsquo;Openstreetmap, <strong>mais ce n&rsquo;est pas elle qui vous fournira les précieuses tuiles</strong>. Pour cela il vous faudra vous rediriger vers un Web Map Service comme <a href="http://www.mapquest.com/">Mapquest</a>, <a href="http://cloudmade.com/">Cloudmade</a> ou même <a href="https://maps.google.com/">Google Maps</a> et <a href="http://www.bing.com/maps/">Bing</a> qui vous fourniront les layers nécessaires à l&rsquo;affichage de votre carte. Cloudmade semble donc être un bon choix de par sa gratuité et sa capacité à proposer une certaine personnalisation.</p>
<aside>Cloudmade dispose d&rsquo;une énorme librairie de styles tous customisables.</aside>
<p><a href="http://maps.cloudmade.com/editor"><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/cloudmade.jpg" alt="Cloudmade map editor" /></a></p>
<h3>Le précieux sésame</h3>
<p>Premièrement, <a href="http://account.cloudmade.com/register?ref=http%3A%2F%2Faccount.cloudmade.com%2Fuser">créez-vous un compte</a>. Cette inscription vous servira à générer vos précieuses API KEY nécessaires au bon fonctionnement de vos styles.</p>
<h3>Laissez libre cours au Picasso qui sommeille en vous</h3>
<p>Ensuite, <a href="http://maps.cloudmade.com/editor">rendez-vous dans l&rsquo;éditeur</a> et <strong>faites votre choix parmi un des nombreux styles déjà créés par la communauté</strong>. Si aucun ne vous sied, libre à vous de créer un nouveau style de zéro ou à partir d&rsquo;un style existant. N&rsquo;oubliez pas de rafraichir votre carte à chaque changement, sans quoi vous ne verrez rien. Une fois satisfait de votre oeuvre, enregistrer et avant de quitter, relevez l&rsquo;ID de votre style en cliquant sur «share» et en le repérant dans le code ( styleId= ? ).</p>
<aside>Cloudmade permet de styler tous les éléments d&rsquo;une carte, un à un.</aside>
<p><a href="http://maps.cloudmade.com/editor"><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/map-editor.jpg" alt="Cloudmade map editor" /></a></p>
<h3>Créez la clef&#8230;</h3>
<p>Pour finir, rendez-vous <a href="http://account.cloudmade.com/user">sur votre page de profil</a> et cliquez sur &nbsp;&raquo; Get API Key&nbsp;&raquo; pour ajouter une nouvelle clef. Rentrez toutes les infos relatives à votre page en gardant à l&rsquo;esprit qu&rsquo;une URL erronée ne permettra pas l&rsquo;affichage de votre style.</p>
<h3>… et laissez la magie opérer</h3>
<p>Il ne vous reste qu&rsquo;à paramétrer votre calque dans vos scripts</p>
<div class="codecolorer-container html4strict geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">L.tileLayer('http://{s}.tile.cloudmade.com/{key}/{styleId}/256/{z}/{x}/{y}.png', {<br />
&nbsp; &nbsp; key: 'XXXXXXXXXXXXXXXXXXXXXXXX', // Votre clef<br />
&nbsp; &nbsp; styleId: XXXXX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// L'ID de votre style<br />
}).addTo(map);</div></td></tr></tbody></table></div>
<p>Tadda ! Vous disposez maintenant d&rsquo;une magnifique carte personnalisée et sans avoir dépenser un centime.</p>
<h2>Le mot de la fin</h2>
<p>Il existe bien sûr des alternatives comme <a href="http://mapbox.com/">Mapbox</a> qui propose de vous fournir des cartes personnalisables sans toucher une ligne de code. <strong>Cependant ce service à un coût non négligeable</strong> qui augmente en fonction du nombre de consultations. Personnellement, je trouve que lâcher un peu des Google Maps ternes et sans saveur ne fera que diversifier le paysage de la cartographie online.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=ZzG1M1LMHlg:nj9czF5rcoE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=ZzG1M1LMHlg:nj9czF5rcoE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=ZzG1M1LMHlg:nj9czF5rcoE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=ZzG1M1LMHlg:nj9czF5rcoE:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/ZzG1M1LMHlg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/05/devenez-un-maitre-cartographe/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/05/devenez-un-maitre-cartographe/</feedburner:origLink></item>
		<item>
		<title>Le retour du statique, simplement des fichiers HTML pour la performance et l’agilité</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/Dx8RgmqeZRs/</link>
		<comments>http://antistatique.net/blog/2013/04/02/le-retour-du-statique-simplement-des-fichiers-html-pour-la-performance-et-lagilite/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 05:00:20 +0000</pubDate>
		<dc:creator>Marc</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1861</guid>
		<description><![CDATA[Les sites internet statiques sont de retour. Utilisés pour des petits projets où un CMS n'est pas toujours requis et où la performance et la compatibilité sont importantes. 
Cet article présente des outils et techniques pour améliorer la qualité et la rapidité de développement de sites statiques. L'hébergement via github ou Amazon S3 est également facilité avec des fichiers statiques.]]></description>
				<content:encoded><![CDATA[<p>Les sites internet statiques sont de retour. Utilisés pour des petits projets où un CMS n&rsquo;est pas toujours requis et où la performance et la compatibilité sont importantes. </p>
<h2>Les sites statiques ont bien des avantages.</h2>
<p>Chez Antistatique, nous prêchons pour les solutions sur mesure. Les sites sans script côté serveur reviennent à la mode. En effet, une solution basée sur WordPress, Drupal ou Symfony n&rsquo;est pas nécessaire s&rsquo;il s&rsquo;agit d&rsquo;un site de quelques pages dont le trafic est très élevé.</p>
<h2>Une zone d&rsquo;administration du contenu n&rsquo;est pas toujours nécessaire.</h2>
<p>Certains sites composés de quelques pages seulement n&rsquo;ont ni besoin d&rsquo;un CMS (Système de gestion de contenu) ni de logique coté serveurs (PHP, Python, Ruby, etc.). Dans le cas d&rsquo;une landing page ou d&rsquo;une page de présentation d&rsquo;un produit, le contenu a peu besoin d&rsquo;être édité. La mise en page est également souvent liée au contenu.</p>
<h2>10 ans d’évolution dans les CMS est nous revenons aux sites statiques écrit a la main en html. </h2>
<p>Cette pratique est un constat positif. les CMS ont été tordus souvent dans le mauvais sens. Utiliser un gros système pour un petit site ou un système de blog pour gérer des pages multilingues sont des pratiques peu durables. </p>
<h2>La mise en cache et le souci des performances.</h2>
<p>Pour les moteurs d&rsquo;indexation de Google, pour les visiteurs mobiles et pour les internautes, la rapidité d&rsquo;un site est un élément clé. <a href="http://developer.yahoo.com/performance/rules.html">Les 10 règles de l&rsquo;optimisation frontend</a> sont une chose, mais dans certains cas éviter au serveur de générer une page HTML permet également d&rsquo;augmenter les performances.</p>
<h2>Hébergement simplifié.</h2>
<p>Pour les questions d&rsquo;hébergement ensuite, des solutions à moindre coût et même gratuites existent. Il y&rsquo;a les github pages  que nous avons utilisés pour <a href="http://devicelab.ch">devicelab.ch</a> et <a href="http://bookedup.ch">bookedup.ch</a>. Mais également <del>Dropbox</del> ou Amazon S3.</p>
<h2>Du statique, mais pas n&rsquo;importe comment.</h2>
<aside><br/><br/><br/>Des applications Mac, par exemple, CodeKit ou plus récemment <a href="http://hammerformac.com">Hammer</a> permettent de générer un site statique, minimifier et combiner les codes Javascript et CSS</aside>
<p><a href="http://hammerformac.com"><img src="http://antistatique.net/blog/wp-content/uploads/2013/04/Screen-Shot-2013-04-01-at-11.13.34-PM.png" alt="" title="Hammer for mac" width="100%" /></a><br />
Il existe beaucoup de solutions pour faciliter et optimiser le processus de création d&rsquo;un site statique. Des applications en ruby telles que <a href="http://jekyllrb.com/">Jekyll</a> ou <a href="http://middlemanapp.com/">Middlman</a> permettent également de le faire.</p>
<h2>Ces applications évitent de dupliquer du code.</h2>
<p>Le menu, le header et le footer sont souvent communs à toutes les pages du site. Ces applications permettent de ne pas dupliquer ces éléments et les éditer à une seule place. Pioché dans notre grenier du web personnel, il existe une méthode pour inclure des éléments provenant d&rsquo;un autre fichier dans la page. </p>
<p>Utilisation des includes de Apache</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;!--#include virtual=&quot;./menu.html&quot; --&gt;</div></td></tr></tbody></table></div>
<p>Modifier la configuration du vhosts ou via le fichier .htaccess</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Options +Includes<br />
AddType text/html .html<br />
AddOutputFilter INCLUDES .html</div></td></tr></tbody></table></div>
<h2>Maturité et utilisation avisée de la technologie</h2>
<p>Le retour aux standards et la simplification sont toujours une bonne chose. Surtout quand ils permettent de mieux servir l&rsquo;expérience de l&rsquo;utilisateur.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=Dx8RgmqeZRs:sc5a1FR-m0I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=Dx8RgmqeZRs:sc5a1FR-m0I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=Dx8RgmqeZRs:sc5a1FR-m0I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=Dx8RgmqeZRs:sc5a1FR-m0I:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/Dx8RgmqeZRs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/04/02/le-retour-du-statique-simplement-des-fichiers-html-pour-la-performance-et-lagilite/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/04/02/le-retour-du-statique-simplement-des-fichiers-html-pour-la-performance-et-lagilite/</feedburner:origLink></item>
		<item>
		<title>Install PHP Oracle OCI Extension (11.2) on Mac OS X (10.8)</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/jKM3CcerqKg/</link>
		<comments>http://antistatique.net/blog/2013/03/25/install-php-oracle-oci-extension-11-2-on-mac-os-x-10-8/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 15:17:33 +0000</pubDate>
		<dc:creator>Gilles</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[base de données]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[homebrew]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1851</guid>
		<description><![CDATA[I will show you how to install PHP Oracle OCI8 Extension in a homebrew environnement.]]></description>
				<content:encoded><![CDATA[<h2>Installation</h2>
<p>This procedure is tested on Mac OS X 10.8 with Developpers tools installed (xCode).</p>
<p>PHP 5.4 installed with <a href="http://mxcl.github.com/homebrew/">Homebrew</a>.</p>
<h2>Preparation</h2>
<p>Download the following files from <a href="http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html">Oracle website</a> (yes, you need to create an account and accept terms):</p>
<ul>
<li><a href="http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html">instantclient-basic-macos.x64-11.2.0.3.0.zip</a></li>
<li><a href="http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html">instantclient-sqlplus-macos.x64-11.2.0.3.0.zip</a></li>
<li><a href="http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html">instantclient-sdk-macos.x64-11.2.0.3.0.zip]</a></li>
</ul>
<p>Create and unzip all theses files into a the directory `<em>/usr/local/instantclient/11.2.0.3/</em>`.<br />
This directory will looks like:</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">.<br />
├── BASIC_README<br />
├── SQLPLUS_README<br />
├── adrci<br />
├── genezi<br />
├── glogin.sql<br />
├── libclntsh.dylib.11.1<br />
├── libnnz11.dylib<br />
├── libocci.dylib.11.1<br />
├── libociei.dylib<br />
├── libocijdbc11.dylib<br />
├── libsqlplus.dylib<br />
├── libsqlplusic.dylib<br />
├── ojdbc5.jar<br />
├── ojdbc6.jar<br />
├── sdk<br />
│   ├── SDK_README<br />
│   ├── demo<br />
│   ├── include<br />
│   ├── ott<br />
│   └── ottclasses.zip<br />
├── sqlplus<br />
├── uidrvci<br />
└── xstreams.jar</div></td></tr></tbody></table></div>
<h3>Create symlinks</h3>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp;ln -s /usr/local/instantclient/11.2.0.3/sdk/include/*.h /usr/local/include/<br />
&nbsp; &nbsp;ln -s /usr/local/instantclient/11.2.0.3/sqlplus /usr/local/bin/<br />
&nbsp; &nbsp;ln -s /usr/local/instantclient/11.2.0.3/*.dylib /usr/local/lib/<br />
&nbsp; &nbsp;ln -s /usr/local/instantclient/11.2.0.3/*.dylib.11.1 /usr/local/lib/<br />
&nbsp; &nbsp;ln -s /usr/local/lib/libclntsh.dylib.11.1 /usr/local/lib/libclntsh.dylib</div></td></tr></tbody></table></div>
<h3>Test with sqlplus instantclient</h3>
<p>I recommand to install Oracle Server with a VirtualBox VM preinstalled.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp;/usr/local/bin/sqlplus oracle/oracle@192.168.2.2</div></td></tr></tbody></table></div>
<h3>Install extension with pecl</h3>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp;pecl install oci8</div></td></tr></tbody></table></div>
<p>If the script prompt you to provide the path to ORACLE_HOME directory, respond with:</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">instantclient,/usr/local/lib</div></td></tr></tbody></table></div>
<p>And your are done, normally pecl will automatically load the extension in your `php.ini`. If not, add the following line to your `php.ini`:</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">extension=oci8.so</div></td></tr></tbody></table></div>
<p>Restart your HTTP Server and test.</p>
<p>Enjoy (or try to&#8230;) !</p>
<p>Feel free to fork and adapt <a href="https://gist.github.com/gido/5237100">this gist</a> !</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=jKM3CcerqKg:XCQJOQAm1CI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=jKM3CcerqKg:XCQJOQAm1CI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=jKM3CcerqKg:XCQJOQAm1CI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=jKM3CcerqKg:XCQJOQAm1CI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/jKM3CcerqKg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/03/25/install-php-oracle-oci-extension-11-2-on-mac-os-x-10-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/03/25/install-php-oracle-oci-extension-11-2-on-mac-os-x-10-8/</feedburner:origLink></item>
		<item>
		<title>Déploiement d’application web</title>
		<link>http://feedproxy.google.com/~r/antistatique/~3/e9t0WxbXNuY/</link>
		<comments>http://antistatique.net/blog/2013/03/19/deploiement-application-web/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 07:10:32 +0000</pubDate>
		<dc:creator>Gilles</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://antistatique.net/blog/?p=1503</guid>
		<description><![CDATA[Automatiser le processus de publication vous fait gagner un temps fou !
Découvrez quels outils nous utilisons chez Antistatique.]]></description>
				<content:encoded><![CDATA[<p>Depuis plusieurs années nous nous intéressons à simplifier le déploiement de nouvelles versions (release) de nos applications web. Nous avons commencé par documenter les instructions à suivre sur un wiki ou un dans un fichier texte (le fameux README). Nous utilisons toujours cette méthode pour documenter l&rsquo;installation d&rsquo;un projet.</p>
<h2>Déploiement <em>&laquo;&nbsp;old school&nbsp;&raquo;</em></h2>
<p>J&rsquo;ai retrouvé dans nos archives (2007-2008) une procédure de déploiement:</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;1. Pré-requis (version PHP, Extensions, SGBD, ...)<br />
&nbsp;2. Installation<br />
&nbsp; &nbsp; 2.1 Création de la base de données (et utilisateurs) (dump sql)<br />
&nbsp; &nbsp; 2.2 Importation des données initiales (dump sql)<br />
&nbsp; &nbsp; 2.3 Configuration de l'application (édition d'un fichier config.php)<br />
&nbsp; &nbsp; 2.4 Transfert des fichiers (via FTP)<br />
&nbsp; &nbsp; 2.5 Configuration du serveur HTTP (Apache)<br />
&nbsp;3. Tests fonctionnels (liste des tâches à réaliser pour vérifier que tout est OK)</div></td></tr></tbody></table></div>
<p>C&rsquo;est fastidieux, non ?<br />
&#8230; surtout si l&rsquo;on doit répéter l&rsquo;opération encore et encore.</p>
<h2>Scripts Bash basé sur rsync et ssh</h2>
<p>Par la suite, fatigué, nous avons écris des scripts <em>BASH</em> se basant sur <em><a href="http://en.wikipedia.org/wiki/Rsync">rsync</a></em> et <em><a href="http://en.wikipedia.org/wiki/SSH">SSH</a></em>. Cela fonctionne relativement bien dans la majorité des cas.</p>
<h3>Allez plus loin !</h3>
<p>Très vite, nous nous sommes rendu compte que nos besoins dépassait largement le transfert de fichier. Nous voulions:</p>
<ul>
<li>Mettre le site en maintenance (ou stopper les écritures)</li>
<li>Backup de la version actuelle</li>
<li>Mise à jour du schema de la base de données</li>
<li>Vider (ou Warm-up) le cache applicatif</li>
<li>Mettre le site en maintenance</li>
</ul>
<h2>Framework de déploiement</h2>
<p>Pour répondre à ces besoins et faciliter la vie du développeur, il existe plusieurs outils libre en open-source. comme <a href="http://capistranorb.com">Capistrano</a> (Ruby) ou <a href="http://fabfile.org">Fabrik</a> (Python).</p>
<p>Nous avons porté notre choix sur Capistrano principalement pour les raisons suivantes :</p>
<ul>
<li>Des recettes existantes pour nos outils favoris (Symfony)</li>
<li>Le système de <em>rollback</em> intégré (pouvoir revenir à une version précédente en un clin d&rsquo;oeil) est plutôt cool et te permet de rester détendu du slip lors d&rsquo;une publication.</li>
</ul>
<h2>Capistrano</h2>
<p>Capistrano est un framework de déploiement pour des applications web initialement écrites pour <a href="http://rubyonrails.org">Ruby On Rails</a> mais qui reste suffisamment souple et extensible pour être utilisé pour déployer d&rsquo;autre types applications web. Dans notre cas, des applications basée sur PHP.</p>
<h3>Pré-requis</h3>
<ul>
<li>Un accès SSH au serveur distant</li>
<li>Aimez ligne de commande</li>
<li>Savoir que Ruby n&rsquo;est pas uniquement un jolie pierre flashy (bien que&#8230; <img src='http://antistatique.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )</li>
</ul>
<h3>Installation</h3>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; $ gem install capistrano</div></td></tr></tbody></table></div>
<h3>Déployer</h3>
<aside>
<h4>&laquo;&nbsp;Push the red button&nbsp;&raquo;</h4>
</aside>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; $ cap deploy</div></td></tr></tbody></table></div>
<p>Cool, non ?</p>
<p>Mais attention, avant de lancer le premier déploiement vous devez définir la configuration du projet (<em>Capfile</em>, <em>config.rb</em>).</p>
<h3>En gros, comment ça marche ?</h3>
<p>La structure de répertoires créée sur le serveur distant va ressembler à ça:</p>
<aside>Le répertoire <em>releases</em> contient les X dernières versions de l&rsquo;application.<br />
<em>current</em> est un lien symbolique vers la dernière release.<br />
<em>shared</em> contient les fichiers/dossiers qui sont partagé entre les différentes releases (config, logs, uploads).</aside>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;.<br />
&nbsp;|-- current -&gt; ./releases/20130311184017<br />
&nbsp;|-- releases<br />
&nbsp;| &nbsp; |-- 20130301152536<br />
&nbsp;| &nbsp; |-- 20130311180450<br />
&nbsp;| &nbsp; `-- 20130311184017<br />
&nbsp;`-- shared<br />
&nbsp; &nbsp; &nbsp;|-- app<br />
&nbsp; &nbsp; &nbsp;| &nbsp; |-- config<br />
&nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; `-- parameters.yml<br />
&nbsp; &nbsp; &nbsp;|-- app<br />
&nbsp; &nbsp; &nbsp;| &nbsp; |-- logs<br />
&nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; `-- production.log<br />
&nbsp; &nbsp; &nbsp;`-- web<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;`-- uploads</div></td></tr></tbody></table></div>
<p>A chaque fois que vous déployez, un nouveau répertoire va être créer sous le dossier <em>&laquo;&nbsp;releases&nbsp;&raquo;</em>. Le code de la nouvelle version de l&rsquo;application est copié dans ce répertoire en fonction de la <em>stratégie</em> choisie. Par défaut via un checkout du code via git, subversion, mercurial, etc.</p>
<p>Il est possible de définir des fichiers (ou dossier) qui seront partagés entre les releases (configuration à la base de données, logs, uploads, &#8230;). Capistrano s&rsquo;occupe de créer des liens symboliques vers chaque ressources partagées (exemple: <em>/releases/20130311184017/app/config/parameters.yml</em> -> <em>/shared/app/config/parameters.yml</em>)</p>
<p>Finalement, le lien symbolique <em>&laquo;&nbsp;current&nbsp;&raquo;</em> est mis à jour pour pointer vers la dernière &laquo;&nbsp;release&nbsp;&raquo;.</p>
<p>Vous devez configurer votre serveur web pour servir les fichiers à partir de <em>/path/to/project/current/web</em>.</p>
<p>Ci-joint, un <a href="https://github.com/capistrano/capistrano/wiki/2.x-Default-Deployment-Behaviour">schéma expliquant ce qui se passe durant un <em>cap deploy</em></a>.</p>
<p>La tâche suivante permet de créer cette structure de base avant le premier déploiement:</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; $ cap deploy:setup</div></td></tr></tbody></table></div>
<h3>Un bug inattendu, page blanche ? Rollback!</h3>
<p>Cette structure basé sur des liens symboliques permet de <em>switcher</em> rapidement d&rsquo;une release à une autre en cas de problème.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; $ cap deploy:rollback</div></td></tr></tbody></table></div>
<p>Permet de revenir à la version précédente, et vous laisse tout le temps pour corriger le bug.<br />
Mega-cool, non ?</p>
<h3>Configuration &amp; recettes</h3>
<p>Ce blog post est le premier d&rsquo;une série sur nos recettes et configuration utilisées pour déployer nos applicaitons <strong>Symfony</strong>, <strong>Drupal</strong>, <strong>Magento</strong> ou encore <strong>WordPress</strong>.</p>
<p>En attendant, voici <a href="https://github.com/leehambley/railsless-deploy">un exemple</a> de configuration utilisant les extensions <a href="https://github.com/leehambley/railsless-deploy">railsless</a> et<br />
<a href="https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension">capistrano-ext</a>.</p>
<h2>Conclusion</h2>
<p>Industrialiser ses déploiements offre beaucoup d&rsquo;avantages, notamment:</p>
<ul>
<li>Documentation par le code !</li>
<li>Standardisation de la procédure</li>
<li>Augmentation de la cadence des déploiements (tous les semaines, voir tous les jours)</li>
<li>Diminution du risque d&rsquo;erreur humaine</li>
<li>Réduction des coûts (omoins de temps a déployer, plus à développer)</li>
</ul>
<p>De plus, le fait d&rsquo;automatiser la procédure nous force à créer des scripts de migrations (changement du schéma de base de données, migrations de données, &#8230;) ce qui est une bonne chose.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/antistatique?a=e9t0WxbXNuY:eD0L6kg0DSo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/antistatique?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=e9t0WxbXNuY:eD0L6kg0DSo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/antistatique?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/antistatique?a=e9t0WxbXNuY:eD0L6kg0DSo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/antistatique?i=e9t0WxbXNuY:eD0L6kg0DSo:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/antistatique/~4/e9t0WxbXNuY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://antistatique.net/blog/2013/03/19/deploiement-application-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://antistatique.net/blog/2013/03/19/deploiement-application-web/</feedburner:origLink></item>
	</channel>
</rss>
