<?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>Javascript &#38; Webdesign &#187; Javascript</title>
	<atom:link href="http://js.4design.tl/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://js.4design.tl</link>
	<description>Les meilleures ressources Javascript pour développeurs web front-end (et quelques questions que je me pose)</description>
	<lastBuildDate>Mon, 21 May 2012 16:31:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>3 outils pour gérer les dates en Javascript</title>
		<link>http://js.4design.tl/gerer-les-dates-en-javascript-jquery-1481</link>
		<comments>http://js.4design.tl/gerer-les-dates-en-javascript-jquery-1481#comments</comments>
		<pubDate>Mon, 14 May 2012 17:44:19 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Plugin jQuery]]></category>
		<category><![CDATA[Bibliothèque]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Timestamp]]></category>

		<guid isPermaLink="false">http://js.4design.tl/?p=1481</guid>
		<description><![CDATA[La gestion des dates et autre timestamps peut s&#8217;avérer légèrement compliquée. Heureusement, il y a pléthore de bibliothèques Javascript qui se proposent de vous faciliter la vie. Voici déjà trois script rapides et légers pour commencer. Moment.js &#8212; Bibliothèque Javascript pour parser, manipuler et formater les dates. Timeago &#8212; Plugin jQuery qui rend la gestion [...]]]></description>
			<content:encoded><![CDATA[<p>La gestion des dates et autre timestamps peut s&#8217;avérer légèrement compliquée. Heureusement, il y a pléthore de bibliothèques Javascript qui se proposent de vous faciliter la vie. Voici déjà trois script rapides et légers pour commencer.<span id="more-1481"></span></p>
<ul>
<li><a href="http://momentjs.com/">Moment.js</a> &#8212; Bibliothèque Javascript pour parser, manipuler et formater les dates.</li>
<li><a href="http://timeago.yarp.com/">Timeago</a> &#8212; Plugin jQuery qui rend la gestion des timestamps plus humain ( ex. : &laquo;&nbsp;Il y a 4 minutes&nbsp;&raquo; ou &laquo;&nbsp;Il y a presque 1 jour&nbsp;&raquo;).</li>
<li><a href="http://www.datejs.com/">Datejs</a> &#8212; Bibliothèque Javascript open-source, intuitive et rapide. Datejs a passé tous les tests et est prêt à se battre.</li>
</ul>
<p>Via @n1k0 @antoineguiral</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/gerer-les-dates-en-javascript-jquery-1481/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moobile &#8212; Framework pour application mobile avec MooTools</title>
		<link>http://js.4design.tl/moobile-framework-application-mobile-mootools-1452</link>
		<comments>http://js.4design.tl/moobile-framework-application-mobile-mootools-1452#comments</comments>
		<pubDate>Sat, 21 Apr 2012 16:14:04 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Application mobile]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Moobile]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://js.4design.tl/?p=1452</guid>
		<description><![CDATA[Moobile est un framework basé sur la bibliothèque Javascript Mootools qui vous permettra de faire des applications mobiles. Le package propose un environnement complet avec un simulateur fonctionnel sur Google Chrome à partir de la version 18 ou Safari à partir de la version 5.1.5. Moobile est composé des éléments suivants : MooTools, en version [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://moobilejs.com">Moobile</a> est un framework basé sur la bibliothèque Javascript <a title="MooTools is a compact, modular, Object-Oriented JavaScript framework" href="http://mootools.net/">Mootools</a> qui vous permettra de faire des applications mobiles. Le package propose un environnement complet avec un simulateur fonctionnel sur Google Chrome à partir de la version 18 ou Safari à partir de la version 5.1.5. <span id="more-1452"></span></p>
<p>Moobile est composé des éléments suivants :</p>
<ul>
<li>MooTools, en version minifiée ou non,</li>
<li>Moobile, en version minifiée ou non,</li>
<li>Simulateur Moobile,</li>
<li>Feuilles de styles CSS,</li>
<li>Documentation,</li>
<li>Scripts,</li>
<li>YUI Compressor.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/moobile-framework-application-mobile-mootools-1452/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>microjs &#8212; 200 micro-frameworks Javascript</title>
		<link>http://js.4design.tl/microjs-200-micro-frameworks-javascript-1384</link>
		<comments>http://js.4design.tl/microjs-200-micro-frameworks-javascript-1384#comments</comments>
		<pubDate>Sun, 18 Mar 2012 15:59:03 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Helper CSS]]></category>
		<category><![CDATA[Helper Javascript]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Asynchrone]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Césures]]></category>
		<category><![CDATA[Classes]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Couleur]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Graphique]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Liste]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Performances]]></category>
		<category><![CDATA[Polyfills]]></category>
		<category><![CDATA[Responsive]]></category>
		<category><![CDATA[Sélecteur]]></category>
		<category><![CDATA[Stockage]]></category>
		<category><![CDATA[Templating]]></category>
		<category><![CDATA[Tests]]></category>
		<category><![CDATA[Tri]]></category>
		<category><![CDATA[typographie]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://js.4design.tl/?p=1384</guid>
		<description><![CDATA[Microjs.com présente près de 200 frameworks Javascript petits mais costauds. De combien de lignes de code avez-vous besoin pour votre projet de site web : 50K, 100K, 150K ? Ok, nous aimons tous nos bons vieux gros frameworks comme jQuery ou Mootools et nous en tirons souvent le meilleur. Mais combien de fois les avons-nous utilisés [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://microjs.com/">Microjs.com</a> présente près de 200 frameworks Javascript petits mais costauds. De combien de lignes de code avez-vous besoin pour votre projet de site web : 50K, 100K, 150K ? Ok, nous aimons tous nos bons vieux gros frameworks comme jQuery ou Mootools et nous en tirons souvent le meilleur. Mais combien de fois les avons-nous utilisés à mauvais escient ? Combien de fois avons-nous tenté d&#8217;écraser une mouche avec un tank, alors que des solutions bien plus adaptées étaient à notre portée ?<span id="more-1384"></span></p>
<p>Les micro-frameworks sont le couteau suisse des bibliothèques Javascript. Pour souvent moins de 5 K, ils nous sortent le grand jeu dans leur domaine uniquement, mais il le font bien, sans excès.</p>
<p>Pour trouver le mini-framework dont vous avez besoin, il suffit de sélectionner une des 30 thématiques.</p>
<p>Vous avez besoin de  :</p>
<ol>
<li><a href="http://microjs.com/#base">Framework multi-fonctions</a>,</li>
<li><a href="http://microjs.com/#dom">Utilitaires DOM</a>,</li>
<li><a href="http://microjs.com/#templating">Templating</a>,</li>
<li><a href="http://microjs.com/#animation">Animations CSS</a>,</li>
<li><a href="http://microjs.com/#jsanimation">Animations Javascript</a>,</li>
<li><a href="http://microjs.com/#css">Moteur de sélecteur CSS</a>,</li>
<li><a href="http://microjs.com/#data">Manipulation de données</a>,</li>
<li><a href="http://microjs.com/#class">Gestion des classes Javascript</a>,</li>
<li><a href="http://microjs.com/#functional">Programmation fonctionnelle</a>,</li>
<li><a href="http://microjs.com/#loader">Chargeur de script</a>,</li>
<li><a href="http://microjs.com/#json">JSON</a>,</li>
<li><a href="http://microjs.com/#ajax">Ajax</a>,</li>
<li><a href="http://microjs.com/#testing">Faire des tests</a>,</li>
<li><a href="http://microjs.com/#games">Créer des jeux</a>,</li>
<li><a href="http://microjs.com/#canvas">Graphiques 2D/Canvas</a>,</li>
<li><a href="http://microjs.com/#color">Conversion de couleur</a>,</li>
<li><a href="http://microjs.com/#list">Faire des recherches et trier des listes</a>,</li>
<li><a href="http://microjs.com/#spa">Faire une application en une seule page</a>,</li>
<li><a href="http://microjs.com/#storage">Stockage persistant de données</a>,</li>
<li><a href="http://microjs.com/#mvc">MVC côté client</a>,</li>
<li><a href="http://microjs.com/#feature">Détection de fonctionnalités et/ou de navigateurs</a>,</li>
<li><a href="http://microjs.com/#events">Gestion des événements</a>,</li>
<li><a href="http://microjs.com/#webkit">Bibliothèques Webkit</a>,</li>
<li><a href="http://microjs.com/#mobile">Bibliothèques mobiles</a>,</li>
<li><a href="http://microjs.com/#responsive">Webdesign «responsive»</a>,</li>
<li><a href="http://microjs.com/#polyfill">Polyfills</a>,</li>
<li><a href="http://microjs.com/#analytics">Google Analytics</a>,</li>
<li><a href="http://microjs.com/#hyphenation">Typographie (césures)</a>,</li>
<li><a href="http://microjs.com/#async">Développement asynchrone</a>,</li>
<li><a href="http://microjs.com/#compose">Créer votre framework Javascript</a>,</li>
<li>Créer votre liste de micro-framework ?</li>
</ol>
<p>→ Envie d&#8217;ajouter votre framework Javascript «petit mais costaud» dans cette liste ? <a href="https://github.com/madrobby/microjs.com">Proposez votre projet sur GitHub</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/microjs-200-micro-frameworks-javascript-1384/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaScript Garden &#8212; La documentation du Jedi !</title>
		<link>http://js.4design.tl/javascript-garden-la-documentation-du-jedi-1358</link>
		<comments>http://js.4design.tl/javascript-garden-la-documentation-du-jedi-1358#comments</comments>
		<pubDate>Tue, 28 Feb 2012 13:04:35 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Performances]]></category>

		<guid isPermaLink="false">http://js.4design.tl/?p=1358</guid>
		<description><![CDATA[Javascript Garden est une documentation sur les points les plus obscurs de Javascript. Vous y trouverez des conseils pour éviter les erreurs les plus communes, les bugs les plus subtils ou les problèmes de performances souvent liés aux mauvaises pratiques de développement. Il ne s&#8217;agit pas à proprement parler d&#8217;un cours sur Javascript : la [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bonsaiden.github.com/JavaScript-Garden/">Javascript Garden</a> est une documentation sur les points les plus obscurs de Javascript. Vous y trouverez des conseils pour éviter les erreurs les plus communes, les bugs les plus subtils ou les problèmes de performances souvent liés aux mauvaises pratiques de développement. Il ne s&#8217;agit pas à proprement parler d&#8217;un cours sur Javascript : la connaissance des bases de la programmation est  fortement recommandée. Si vous désirez apprendre les bases de Javascript, vous pouvez consulter <a href="https://developer.mozilla.org/en/JavaScript/Guide">l&#8217;excellent guide</a> disponible sur le réseau des développeurs de Mozilla, ou lire un des articles de la rubrique <a href="http://js.4design.tl/category/documentation">Documentation</a> sur ce site.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/javascript-garden-la-documentation-du-jedi-1358/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Devenez un p***** de développeur</title>
		<link>http://js.4design.tl/devenez-developpeur-1328</link>
		<comments>http://js.4design.tl/devenez-developpeur-1328#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:01:15 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1328</guid>
		<description><![CDATA[Programming, motherfucker est une communauté de développeurs humiliés depuis des années par les programmes, les méthodologies et le management, tous centrés sur les heures facturables et les tests sans intérêt. Alors que le développeur veut surtout&#8230; développer. Tiens, en parlant de développement web, voici une sacrée liste de tutoriels qui devrait faire de vous un [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://programming-motherfucker.com">Programming, motherfucker</a> est une communauté de développeurs humiliés depuis des années par les programmes, les méthodologies et le management, tous centrés sur les heures facturables et les tests sans intérêt. Alors que le développeur veut surtout&#8230; développer. Tiens, en parlant de développement web, voici une <a href="http://programming-motherfucker.com/become.html">sacrée liste de tutoriels</a> qui devrait faire de vous un p***** de développeur ^__^<span id="more-1328"></span></p>
<h3>Graphics Programming</h3>
<ul>
<li><a href="http://http.developer.nvidia.com/GPUGems/gpugems_part01.html">GPU Gems</a></li>
<li><a href="http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html">GPU Gems 2</a> - <a href="ftp://download.nvidia.com/developer/GPU_Gems_2/">ch 8,14,18,29,30 as pdf</a></li>
<li><a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html">GPU Gems 3</a></li>
<li><a href="http://www.gamedev.net/reference/articles/article1698.asp">Graphics Programming Black Book</a></li>
<li><a href="http://tog.acm.org/resources/shaderx/">ShaderX series</a></li>
<li><a href="http://www.xmission.com/~legalize/book/download/index.html">DirectX manual</a> (draft)</li>
<li><a href="http://www.arcsynthesis.org/gltut/">Learning Modern 3D Graphics Programming</a> (draft)</li>
</ul>
<h3>Language Agnostic</h3>
<ul>
<li><a href="http://scg.unibe.ch/download/oorp/">Object-Oriented Reengineering Patterns</a></li>
<li><a href="http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx">Foundations of Programming</a></li>
<li><a href="http://scpd.stanford.edu/knuth/index.jsp">Computer Musings</a> (lectures by Donald Knuth)</li>
<li><a href="http://www.catb.org/esr/writings/cathedral-bazaar/">The Cathedral and the Bazaar</a></li>
<li><a href="http://www.codeplex.com/AppArchGuide">Patterns and Practices: Application Architecture Guide 2.0</a></li>
<li><a href="http://www.cl.cam.ac.uk/~rja14/book.html">Security Engineering</a></li>
<li><a href="http://www.dspguide.com/">Digital Signal Processing For Engineers and Scientists</a></li>
<li><a href="http://gettingreal.37signals.com/">Getting Real</a></li>
<li><a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">Domain Driven Design Quickly</a></li>
<li><a href="http://homepage.mac.com/s_lott/books/oodesign.html">OO Design</a></li>
<li><a href="http://smartbear.com/codecollab-code-review-book.php">Best Kept Secrets of Peer Code Review</a></li>
<li><a href="http://www.scribd.com/doc/7181362/NASA-Software-Measurement-Guidebook">NASA Software Measurement Handbook</a></li>
<li><a href="http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf">NASA Manager Handbook for Software Development</a> (PDF)</li>
<li><a href="http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/">Introduction to Functional Programming</a> (class lectures and slides)</li>
<li><a href="http://www.htdp.org/">How to Design Programs</a></li>
<li><a href="http://www.computer.org/portal/web/swebok">Guide to the Software Engineering Body of Knowledge</a></li>
<li><a href="http://ocw.mit.edu/OcwWeb/web/home/home/index.htm">Online Course Materials</a></li>
<li><a href="http://www.cs.berkeley.edu/~vazirani/algorithms.html">Algorithms</a> (draft)</li>
<li><a href="http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/">Data Structures and Algorithms</a></li>
<li><a href="http://www.agileskills.org/download.html.en">Essential Skills for Agile Development</a></li>
<li><a href="http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/">Programming Languages: Application and Interpretation</a></li>
<li><a href="http://pine.fm/LearnToProgram/">Learn to Program</a></li>
<li><a href="http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf">Patterns of Software: Tales from the Software Community</a> (PDF)</li>
<li><a href="http://mindprod.com/jgloss/unmain.html">How to write Unmaintainable Code</a></li>
<li><a href="http://catb.org/esr/writings/taoup/html/">The Art of Unix Programming</a></li>
<li><a href="http://nexus.realtimepublishers.com/dgbcq.php">The Definitive Guide to Building Code Quality</a></li>
<li><a href="http://openbookproject.net/thinkcs/">How to Think Like a Computer Scientist</a></li>
<li><a href="http://planning.cs.uiuc.edu/">Planning Algorithms</a></li>
<li><a href="http://www.ii.uib.no/~michal/und/i227/book/book.pdf">Mathematical Logic &#8211; an Introduction</a> (PDF)</li>
<li><a href="http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html">An Introduction to the Theory of Computation</a></li>
<li><a href="http://devshaped.com/book">Developers Developers Developers Developers</a> (broken download link?)</li>
<li><a href="http://www.iecc.com/linker/">Linkers and loaders</a></li>
<li><a href="http://www.stack.nl/~marcov/compiler.pdf">Let&#8217;s Build a Compiler</a></li>
<li><a href="http://producingoss.com/">Producing Open Source Software</a></li>
<li><a href="http://www.lindaspaces.com/book/">How to Write Parallel Programs</a></li>
<li><a href="http://www.neildavidson.com/dontjustrollthedice.html">Don&#8217;t Just Roll the Dice</a></li>
<li><a href="http://programmer.97things.oreilly.com/">97 Things Every Programmer Should Know</a></li>
<li><a href="http://www.fastchip.net/howcomputerswork/p1.html">How Computers Work</a></li>
<li><a href="http://nlp.stanford.edu/IR-book/information-retrieval-book.html">Introduction to Information Retrieval</a></li>
<li><a href="http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html">Is Parallel Programming Hard, And, If So, What Can You Do About It?</a></li>
<li><a href="http://www.jjj.de/fxt/#fxtbook">Matters Computational</a></li>
<li><a href="https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/">Type Theory and Functional Programming</a></li>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf">Getting started with Open source development</a> (PDF)</li>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf">Database Fundamentals</a> (PDF)</li>
<li><a href="http://www.cleveralgorithms.com/nature-inspired/index.html">Clever Algorithms</a></li>
<li><a href="http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc">Summary of the GoF Design Patterns</a></li>
<li><a href="http://jpaulmorrison.com/fbp/#book">Flow based Programming</a></li>
<li><a href="http://www-old.oberon.ethz.ch/WirthPubl/AD.pdf">Algorithms and Data-Structures</a> (PDF)</li>
<li><a href="http://www-old.oberon.ethz.ch/WirthPubl/CBEAll.pdf">Compiler Construction</a> (PDF)</li>
<li><a href="http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf">Project Oberon</a> (PDF)</li>
<li><a href="http://greenteapress.com/semaphores/">The Little Book of Semaphores</a></li>
<li><a href="http://elliottback.com/wp/essential-skills-for-agile-development/">Essential Skills for Agile Development</a></li>
<li><a href="http://www.amibug.com/iamabug/p01.html">I Am a Bug</a></li>
<li><a href="http://infolab.stanford.edu/~ullman/mmds.html">Mining of Massive Datasets</a></li>
<li><a href="http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf">Data-Intensive Text Processing with MapReduce</a> (PDF)</li>
<li><a href="http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf">Understanding IP Addressing: Everything you ever wanted to know</a>(PDF)</li>
<li><a href="https://gustavus.edu/mcs/max/os-book/">Operating Systems and Middleware</a> (PDF and LaTeX)</li>
<li><a title="Think Stats: Probability and Statistics for Programmers" href="http://greenteapress.com/thinkstats/">Think Stats: Probability and Statistics for Programmers</a> (PDF, code written in Python)</li>
<li><a href="http://www.aosabook.org/en/index.html">The Architecture of Open Source Applications</a></li>
</ul>
<h3>ASP.NET MVC</h3>
<ul>
<li><a href="http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx">NerdDinner Walkthrough</a></li>
</ul>
<h3>Assembly Language</h3>
<ul>
<li><a href="http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf">ProgrammingGroundUp</a> (PDF)</li>
<li><a href="http://drpaulcarter.com/pcasm/">Paul Carter&#8217;s Tutorial on x86 Assembly</a></li>
<li><a href="http://www.agner.org/optimize/">Software optimization resources by Agner Fog</a></li>
</ul>
<h3>Bash</h3>
<ul>
<li><a href="http://tldp.org/LDP/abs/html/">Advanced Bash-Scripting Guide</a></li>
<li><a href="http://mywiki.wooledge.org/BashGuide">Lhunath&#8217;s Bash Guide</a></li>
</ul>
<h3>C / C++</h3>
<ul>
<li><a href="http://www.knosof.co.uk/cbook/cbook.html">The new C standard &#8211; an annotated reference</a></li>
<li><a href="http://www.jjj.de/fxt/fxtbook.pdf">Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt</a></li>
<li><a href="http://publications.gbdirect.co.uk/c_book/">The C book</a></li>
<li><a href="http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html">Thinking in C++, Second Edition</a></li>
<li><a href="http://cppannotations.sourceforge.net/">C++ Annotations</a></li>
<li><a href="http://www.agner.org/optimize/">Software optimization resources by Agner Fog</a></li>
<li><a href="http://cartan.cas.suffolk.edu/oopdocbook/opensource/index.html">Introduction to Design Patterns in C++ with Qt 4</a> (<a href="http://www.informit.com/store/product.aspx?isbn=0131879057">PDF</a>)</li>
<li><a href="http://www.planetpdf.com/codecuts/pdfs/ooc.pdf">Object Oriented Programming in C</a> (PDF)</li>
<li><a href="http://beej.us/guide/bgnet/">Beej&#8217;s Guide to Network Programming</a></li>
<li><a href="http://c.learncodethehardway.org/book/">Learn C the hard way</a></li>
<li>Also see: <a href="http://stackoverflow.com/q/388242/511601">The Definitive C++ Book Guide and List</a></li>
</ul>
<h3>C#</h3>
<ul>
<li><a href="http://www.programmersheaven.com/2/CSharpBook">C# School</a> (covers C# 1.0 and 2.0)</li>
<li><a href="http://www.albahari.com/threading/">Threading in C#</a></li>
<li><a href="http://www.csharpcourse.com/">C# Yellow Book</a> (intro to programming)</li>
<li><a href="http://en.wikibooks.org/wiki/C_Sharp_Programming">C# Programming &#8211; Wikibook</a></li>
<li><a href="http://www.techotopia.com/index.php/C_Sharp_Essentials">C# Essentials</a></li>
<li><a href="http://www.brpreiss.com/books/opus6/">Data Structures and Algorithms with Object-Oriented Design Patterns in C#</a></li>
<li><a href="http://downloads.red-gate.com/ebooks/DotNet/illustratedcsharp2008.zip">Illustrated C# 2008</a> (.zip, dead link)</li>
</ul>
<h3>Clojure</h3>
<ul>
<li><a href="http://en.wikibooks.org/wiki/Clojure_Programming">Clojure Programming</a></li>
</ul>
<h3>ColdFusion</h3>
<ul>
<li><a href="https://github.com/mhenke/CFML-in-100-minutes/blob/master/cfml100mins.markdown">CFML In 100 Minutes</a></li>
</ul>
<h3>DB2</h3>
<ul>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_IBM_Data_Studio_for_DB2_p3.pdf">Getting started with IBM Data Studio for DB2</a> (PDF)</li>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_App_Dev_p2.pdf">Getting started with IBM DB2 development</a> (PDF)</li>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.7_p4.pdf">Getting started with DB2 Express-C</a> (PDF)</li>
</ul>
<h3>Delphi / Pascal</h3>
<ul>
<li><a href="http://www.marcocantu.com/epascal/">Essential Pascal Version 1 and 2</a></li>
<li><a href="http://www.lulu.com/content/435417">The Tomes of Delphi</a></li>
</ul>
<h3>Django</h3>
<ul>
<li><a href="http://djangobook.com/">Djangobook.com</a></li>
</ul>
<h3>Erlang</h3>
<ul>
<li><a href="http://learnyousomeerlang.com/">Learn You Some Erlang For Great Good</a></li>
</ul>
<h3>Flex</h3>
<ul>
<li><a href="http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_Adobe_Flex_p2.pdf">Getting started with Adobe Flex</a> (PDF)</li>
</ul>
<h3>F#</h3>
<ul>
<li><a href="http://www.ctocorner.com/fsharp/book/ch0.aspx">The F# Survival Guide</a></li>
<li><a href="http://en.wikibooks.org/wiki/F_Sharp_Programming">F Sharp Programming</a> in Wikibooks</li>
<li><a href="http://msdn.microsoft.com/en-us/library/hh314518.aspx">Real World Functional Programming</a> (MSDN Chapters)</li>
</ul>
<h3>Forth</h3>
<ul>
<li><a href="http://home.iae.nl/users/mhx/sf.html">Starting Forth</a></li>
<li><a href="http://thinking-forth.sourceforge.net/">Thinking Forth</a></li>
</ul>
<h3>Git</h3>
<ul>
<li><a href="http://progit.org/book/">Pro Git</a></li>
<li><a href="http://book.git-scm.com/index.html">The Git Community Book</a></li>
<li><a href="http://ftp.newartisans.com/pub/git.from.bottom.up.pdf">Git From The Bottom Up</a> (PDF)</li>
</ul>
<h3>Grails</h3>
<ul>
<li><a href="http://www.infoq.com/minibooks/grails-getting-started">Getting Start with Grails</a></li>
</ul>
<h3>Haskell</h3>
<ul>
<li><a href="http://learnyouahaskell.com/chapters">Learn You a Haskell</a></li>
<li><a href="http://book.realworldhaskell.org/read/">Real World Haskell</a></li>
</ul>
<h3>HTML / CSS</h3>
<ul>
<li><a href="http://fortuito.us/diveintohtml5/">Dive Into HTML5</a></li>
<li><a href="http://www.htmldog.com/">HTML Dog Tutorials</a></li>
</ul>
<h3>Java</h3>
<ul>
<li><a href="http://download.oracle.com/javase/tutorial/">Sun&#8217;s Java Tutorials</a></li>
<li><a href="http://www.mindview.net/Books/TIJ/">Thinking in Java</a></li>
<li><a href="http://greenteapress.com/thinkapjava/">How to Think Like a Computer Scientist</a></li>
<li><a href="http://www.redbooks.ibm.com/redbooks/SG245118.html">Java Thin-Client Programming</a></li>
<li><a href="http://njbartlett.name/files/osgibook_preview_20091217.pdf">OSGi in Practice</a> (PDF)</li>
<li><a href="http://download.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf">Java 6 Tutorial</a> (PDF)</li>
</ul>
<h3>JavaScript</h3>
<ul>
<li><a href="http://eloquentjavascript.net/">Eloquent JavaScript</a></li>
<li><a href="http://www.crockford.com/javascript/">Crockford&#8217;s JavaScript</a></li>
<li><a href="http://www.rebeccamurphey.com/jqfundamentals/">jQuery Fundamentals</a> (starts with JavaScript basics)</li>
<li>Mozilla Developer Network&#8217;s <a href="https://developer.mozilla.org/en/JavaScript/Guide">JavaScript Guide</a></li>
<li><a href="http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/">Essential Javascript &amp; jQuery Design Patterns for Beginners</a></li>
</ul>
<p>JavaScript (Node.js specific)</p>
<ul>
<li><a href="http://ofps.oreilly.com/titles/9781449398583/">Up and Running with Node</a></li>
<li><a href="http://nodebeginner.org/">The Node Beginner Book</a></li>
<li><a href="http://visionmedia.github.com/masteringnode/">Mastering Node.js</a></li>
</ul>
<h3>Latex</h3>
<ul>
<li><a href="http://tobi.oetiker.ch/lshort/lshort.pdf">The Not So Short Introduction to LATEX</a> (perfect for beginners)</li>
</ul>
<h3>Linux</h3>
<ul>
<li><a href="http://www.advancedlinuxprogramming.com/">Advanced Linux Programming</a></li>
</ul>
<h3>Lisp</h3>
<ul>
<li><a href="http://www.cse.buffalo.edu/~shapiro/Commonlisp/">COMMON LISP: An Interactive Approach</a></li>
<li><a href="http://www.cse.buffalo.edu/~shapiro/Courses/CSE202/Summer2004/">A Short Course in Common Lisp</a></li>
<li><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">Structure And Interpretation of Computer Programs</a></li>
<li><a href="http://www.cs.cmu.edu/~dst/LispBook/book.pdf">A Gentle Introduction to Symbolic Computation</a> (PDF)</li>
<li><a href="http://www.gigamonkeys.com/book/">Practical Common Lisp</a></li>
<li><a href="http://www.paulgraham.com/onlisp.html">On Lisp</a></li>
<li><a href="http://www.paulgraham.com/acl.html">ANSI Common Lisp</a></li>
<li><a href="http://www.cs.cmu.edu/Groups/AI/html/cltl/mirrors.html">Common Lisp the Language, 2nd Edition</a></li>
<li><a href="http://psg.com/~dlamkins/sl/contents.html">Successful Lisp</a></li>
<li><a href="http://letoverlambda.com/index.cl/toc">Let Over Lambda &#8211; 50 Years of Lisp</a></li>
<li><a href="http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-lisp/index.html">Natural Language Processing in Lisp</a></li>
</ul>
<h3>Lua</h3>
<ul>
<li><a href="http://www.lua.org/pil/">Programming In Lua</a> (for v5 but still largely relevant)</li>
<li><a href="http://www.lua.org/gems/">Lua Programming Gems</a> (not entirely free, but has a lot of free chapters and accompanying code)</li>
</ul>
<h3>Maven</h3>
<ul>
<li><a href="http://www.maestrodev.com/better-build-maven">Better Builds with Maven</a></li>
<li><a href="http://www.sonatype.com/books/mvnex-book/reference/public-book.html">Maven by Example</a></li>
<li><a href="http://www.sonatype.com/books/mvnref-book/reference/public-book.html">Maven: The Complete Reference</a></li>
<li><a href="http://www.sonatype.com/books/nexus-book/reference/">Repository Management with Nexus</a></li>
<li><a href="http://www.sonatype.com/books/m2eclipse-book/reference/">Developing with Eclipse and Maven</a></li>
</ul>
<h3>Mercurial</h3>
<ul>
<li><a href="http://hgbook.red-bean.com/">Mercurial: The Definitive Guide</a></li>
<li><a href="http://hginit.com/">HGInit &#8211; Mercurial Tutorial by Joel Spolsky</a></li>
</ul>
<h3>Nemerle</h3>
<ul>
<li><a href="http://asaha.com/ebook/AMTQ2NjA-/Nemerle.pdf#">Nemerle</a></li>
</ul>
<h3>.NET</h3>
<ul>
<li><a href="http://www.programmersheaven.com/2/CSharpBook">C# School</a> (covers C# 1.0 and 2.0)</li>
<li><a href="http://www.infoq.com/minibooks/vsnettt">Visual Studio Tips and Tricks</a> (VS 2003-2005 only)</li>
<li><a href="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/05/my-christmas-present-to-the-entity-framework-community.aspx">Entity Framework</a></li>
<li><a href="http://www.charlespetzold.com/dotnet/index.html">Charles Petzold&#8217;s .NET Book 0</a></li>
<li><a href="http://www.albahari.com/threading/">Threading in C#</a></li>
<li><a href="http://www.csharpcourse.com/">C# Yellow Book</a> (intro to programming)</li>
<li><a href="http://en.wikibooks.org/wiki/C_Sharp_Programming">C# Programming &#8211; Wikibook</a></li>
<li><a href="http://www.techotopia.com/index.php/C_Sharp_Essentials">C# Essentials</a></li>
<li><a href="http://www.brpreiss.com/books/opus6/">Data Structures and Algorithms with Object-Oriented Design Patterns in C#</a></li>
<li><a href="http://asaha.com/ebook/AMTQ2NjA-/Nemerle.pdf#">Nemerle</a></li>
</ul>
<h3>NoSQL</h3>
<ul>
<li><a href="http://books.couchdb.org/relax/">CouchDB: The Definitive Guide</a></li>
<li><a href="http://openmymind.net/2011/3/28/The-Little-MongoDB-Book">The Little MongoDB Book</a></li>
</ul>
<h3>Oberon</h3>
<ul>
<li><a href="http://www-old.oberon.ethz.ch/WirthPubl/ProgInOberon.pdf">Programming in Oberon</a> (PDF)</li>
</ul>
<h3>Objective-C</h3>
<ul>
<li><a href="http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/">The Objective-C Programming Language</a></li>
</ul>
<h3>OCaml</h3>
<ul>
<li><a href="http://ocamlunix.forge.ocamlcore.org/">Unix System Programming in OCaml</a></li>
<li><a href="http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf">Introduction to OCaml</a> (PDF)</li>
</ul>
<h3>Oracle Server</h3>
<ul>
<li>Oracle&#8217;s <a href="http://tahiti.oracle.com/">Guides and Manuals</a></li>
</ul>
<h3>Oracle PL/SQL</h3>
<ul>
<li><a href="http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm">PL/SQL Language Reference</a></li>
<li><a href="http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/toc.htm">PL/SQL Packages and Types Reference</a></li>
<li><a href="http://www.toadworld.com/Knowledge/DatabaseKnowledge/StevenFeuersteinsPLSQLObsession/tabid/153/Default.aspx">Steven Feuerstein&#8217;s PL/SQL Obsession &#8211; Videos and Presentations</a></li>
</ul>
<h3>Parrot / Perl 6</h3>
<ul>
<li><a href="http://github.com/perl6/book/">Using Perl 6</a> (work in progress)</li>
</ul>
<h3>Perl</h3>
<ul>
<li><a href="http://hop.perl.plover.com/book/">Higher-Order Perl</a></li>
<li><a href="http://www.greenteapress.com/perl/">Perl The Hard Way</a></li>
<li><a href="http://www.extremeperl.org/bk/home">Extreme Perl</a></li>
<li><a href="http://linkmingle.com/list/13-plus-List-of-Free-Great-Perl-Books-available-Online-freebooksandarticles">Perl Free Online EBooks</a> (meta-list)</li>
<li><a href="http://www.masonbook.com/book/">The Mason Book</a></li>
<li><a href="http://modperlbook.org/">Practical mod_perl</a></li>
<li><a href="http://www.perl.org/books/beginning-perl/">Beginning Perl</a></li>
<li><a href="http://www.masonbook.com/book/">Embedding Perl in HTML with Mason</a></li>
<li><a href="http://lwp.interglacial.com/index.html">Perl &amp; LWP</a></li>
<li><a href="http://www.globalspin.com/thebook/">Perl for the Web</a></li>
<li><a href="http://oreilly.com/openbook/webclient/">Web Client Programming with Perl</a></li>
<li><a href="http://www.onyxneon.com/books/modern_perl/index.html">Modern Perl 5</a></li>
</ul>
<h3>PHP</h3>
<ul>
<li><a href="http://symfony.com/doc/current/book/index.html">Symfony2</a></li>
<li><a href="http://www.tuxradar.com/practicalphp">Practical PHP Programming</a> (wiki containing O&#8217;Reilly&#8217;s <em>PHP In a Nutshell</em>)</li>
<li><a href="http://www.survivethedeepend.com/">Zend Framework: Survive the Deep End</a></li>
</ul>
<h3>PowerShell</h3>
<ul>
<li><a href="http://powershell.com/cs/blogs/ebook/">Mastering PowerShell</a></li>
</ul>
<h3>Prolog</h3>
<ul>
<li><a href="http://www.amzi.com/ExpertSystemsInProlog/">Building Expert Systems in Prolog</a></li>
<li><a href="http://www.amzi.com/AdventureInProlog/advfrtop.htm">Adventure in Prolog</a></li>
<li><a href="http://computing.unn.ac.uk/staff/cgpb4/prologbook/">Prolog Programming A First Course</a></li>
<li><a href="http://www.ida.liu.se/~ulfni/lpp/">Logic, Programming and Prolog (2ed)</a></li>
<li><a href="http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html">Introduction to Prolog for Mathematicians</a></li>
<li><a href="http://www.learnprolognow.org/">Learn Prolog Now!</a></li>
<li><a href="http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-prolog/index.html">Natural Language Processing in Prolog</a></li>
<li><a href="http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/">Natural Language Processing Techniques in Prolog</a></li>
<li><a href="http://bookboon.com/int/student/it/prolog-techniques-applications-of-prolog">Prolog techniques</a></li>
<li><a href="http://bookboon.com/int/student/it/applications-of-prolog">Applications of Prolog</a></li>
<li><a href="http://www.cs.bris.ac.uk/~flach/SimplyLogical.html">Simply logical</a></li>
</ul>
<h3>PostgreSQL</h3>
<ul>
<li><a href="http://www.commandprompt.com/ppbook/">Practical PostgreSQL</a></li>
</ul>
<h3>Python</h3>
<ul>
<li><a href="http://www.swaroopch.com/notes/Python">Byte of Python</a></li>
<li><a href="http://homepage.mac.com/s_lott/books/python.html">Building Skills in Python Version 2.5</a></li>
<li><a href="http://openbookproject.net/pybiblio/">Python Bibliotheca</a></li>
<li><a href="http://www.greenteapress.com/thinkpython/thinkpython.pdf">Think Python</a> (PDF)</li>
<li><a href="http://www.brpreiss.com/books/opus7/html/book.html">Data Structures and Algorithms in Python</a></li>
<li><a href="http://www.diveintopython.net/">Dive into Python</a></li>
<li><a href="http://www.greenteapress.com/thinkpython/thinkCSpy/">How to Think Like a Computer Scientist: Learning with Python</a></li>
<li><a href="http://www.openbookproject.net/py4fun/">Python for Fun</a></li>
<li><a href="http://inventwithpython.com/">Invent Your Own Computer Games With Python</a></li>
<li><a href="http://learnpythonthehardway.org/">Learn Python The Hard Way</a></li>
<li><a href="http://www.mindview.net/Books/TIPython/">Thinking in Python</a></li>
<li><a href="http://djangobook.com/">The Django Book</a></li>
<li><a title="SWFK" href="http://www.briggs.net.nz/log/writing/snake-wrangling-for-kids/">Snake Wrangling For Kids</a></li>
<li><a href="http://www.nltk.org/book">Natural Language Processing with Python</a></li>
</ul>
<h3>R</h3>
<ul>
<li><a href="http://cran.r-project.org/manuals.html">The R Manuals</a></li>
<li><a href="http://stat.ethz.ch/R-manual/R-patched/doc/html/">The R Language</a></li>
<li><a href="http://www.mayin.org/ajayshah/KB/R/index.html">R by example</a></li>
<li><a href="http://stats.lse.ac.uk/penzer/ST419materials/">Computational Statistics, Jeremy Penzer</a></li>
</ul>
<h3>Ruby</h3>
<ul>
<li><a href="http://www.ruby-doc.org/docs/ProgrammingRuby/">Programming Ruby</a></li>
<li><a href="http://mislav.uniqpath.com/poignant-guide/">Why&#8217;s (Poignant) Guide to Ruby</a> (<a href="http://www.scribd.com/doc/2236084/Whys-Poignant-Guide-to-Ruby">mirror</a>)</li>
<li><a href="http://www.humblelittlerubybook.com/">Mr. Neighborly&#8217;s Humble Little Ruby Book</a></li>
<li><a href="http://rubybestpractices.com/">Ruby Best Practices</a></li>
<li><a href="http://macruby.labs.oreilly.com/">MacRuby: The Definitive Guide</a></li>
<li><a href="http://ruby.learncodethehardway.org/book/">Learn Ruby the hard way</a></li>
</ul>
<h3>Ruby on Rails</h3>
<ul>
<li><a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book">Ruby on Rails Tutorial: Learn Rails By Example</a></li>
</ul>
<h3>Scala</h3>
<ul>
<li><a href="http://www.artima.com/pins1ed/">Programming in Scala, First Edition</a></li>
<li><a href="http://www.scala-lang.org/docu/files/ScalaTutorial.pdf">A Scala Tutorial for Java programmers</a> (PDF)</li>
<li><a href="http://www.scala-lang.org/docu/files/ScalaByExample.pdf">Scala By Example</a> (PDF)</li>
<li><a href="http://programming-scala.labs.oreilly.com/index.html">Programming Scala</a></li>
<li><a href="http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/">Xtrace</a> (Github)</li>
<li><a href="http://github.com/tjweir/liftbook">Lift</a> (Github)</li>
<li><a href="http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/">Pro Scala: Monadic Design Patterns for the Web</a></li>
<li><a href="http://exploring.liftweb.net/">Exploring Lift</a> (published earlier as &laquo;&nbsp;The Definitive Guide to Lift&nbsp;&raquo;,<a href="http://groups.google.com/group/the-lift-book">PDF</a>)</li>
</ul>
<h3>Scheme</h3>
<ul>
<li><a href="http://www.scheme.com/tspl4/">The Scheme Programming Language (Edition 4)</a></li>
</ul>
<h3>Smalltalk</h3>
<ul>
<li><a href="http://stephane.ducasse.free.fr/FreeBooks.html">Free Online Smalltalk Books</a> (meta-list)</li>
<li><a href="http://www.squeakbyexample.org/">Squeak By Example</a> (Smalltalk IDE)</li>
</ul>
<h3>Subversion</h3>
<ul>
<li><a href="http://www.phptr.com/content/images/0131855182/downloads/Nagel_book.pdf">Subversion Version Control</a> (PDF)</li>
<li><a href="http://svnbook.red-bean.com/">Version Control with Subversion</a></li>
</ul>
<h3>SQL</h3>
<ul>
<li><a href="http://www.cs.arizona.edu/people/rts/publications.html">Developing Time-Oriented Database Applications in SQL</a></li>
<li><a href="http://use-the-index-luke.com/">Use The Index, Luke!</a> (a guide to SQL database performance for developers)</li>
<li><a href="http://programming-motherfucker.com/sql.learncodethehardway.org">Learn SQL The Hard Way</a></li>
</ul>
<h3>Vim</h3>
<ul>
<li><a href="http://www.swaroopch.com/notes/Vim">A Byte of Vim</a></li>
<li><a href="http://vim.runpaint.org/toc/">Vim Recipes</a></li>
</ul>
<h3>Emacs</h3>
<ul>
<li><a href="http://www.gnu.org/software/emacs/emacs-lisp-intro/">An Introduction to Programming in Emacs Lisp (Third Edition)</a></li>
<li><a href="http://www.gnu.org/software/emacs/manual/emacs.html">GNU Emacs manual</a></li>
</ul>
<p>Merci à :</p>
<ul>
<li>@yann_madeleine <a href="http://www.yann-madeleine.com/">yann-madeleine.com</a></li>
<li>@DirtyF <a href="http://frank.taillandier.me/">frank.taillandier.me</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/devenez-developpeur-1328/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Codecademy : un cours Javascript interactif et ludique</title>
		<link>http://js.4design.tl/codecademy-cours-javascript-1284</link>
		<comments>http://js.4design.tl/codecademy-cours-javascript-1284#comments</comments>
		<pubDate>Sat, 03 Sep 2011 19:23:58 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Apprendre]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1284</guid>
		<description><![CDATA[Apprennez les bases de la programmation Javascript de manière interactive et pro-active avec Codecademy. Ce site propose une console dans laquelle l&#8217;apprenant est inviter à saisir des lignes de code pour voir ce que ça donne. Très simple, voire basique, cette initiative permettra néanmoins à celles et ceux qui veulent se lancer dans la programmation [...]]]></description>
			<content:encoded><![CDATA[<p>Apprennez les bases de la programmation Javascript de manière interactive et pro-active avec <a href="http://www.codecademy.com/">Codecademy</a>. Ce site propose une console dans laquelle l&#8217;apprenant est inviter à saisir des lignes de code pour voir ce que ça donne. Très simple, voire basique, cette initiative permettra néanmoins à celles et ceux qui veulent se lancer dans la programmation d&#8217;avoir quelques bases tout en s&#8217;amusant. Vous pourrez partager votre avancement dans les leçons avec vos amis pour une saine émulation et un système de badges vous donnera des jalons pour mesurer vos progrès. Via <a href="http://roget.biz/">roget.biz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/codecademy-cours-javascript-1284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Développer une application avec HTML5 et Javascript</title>
		<link>http://js.4design.tl/developper-application-html5-javascript-1247</link>
		<comments>http://js.4design.tl/developper-application-html5-javascript-1247#comments</comments>
		<pubDate>Fri, 15 Jul 2011 11:54:21 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1247</guid>
		<description><![CDATA[Ce tutoriel HTML5  intitulé «Retours sur un développement HTML5 &#38; JavaScript avec Visual Studio 2010» présente les différentes étapes pour réaliser un mur d&#8217;images et avoir la possibilité de zoomer sur une carte et de dézoomer pour retrouver une vue d&#8217;ensemble. Le tutoriel est composé de 12 parties que je vous laisse découvrir : Présentation de [...]]]></description>
			<content:encoded><![CDATA[<p>Ce <a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx">tutoriel HTML5</a>  intitulé «Retours sur un développement HTML5 &amp; JavaScript avec Visual Studio 2010» présente les différentes étapes pour réaliser un mur d&#8217;images et avoir la possibilité de zoomer sur une carte et de dézoomer pour retrouver une vue d&#8217;ensemble. Le tutoriel est composé de 12 parties que je vous laisse découvrir :<span id="more-1247"></span></p>
<ol>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap01">Présentation de l’application</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap02">Les outils</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap03">La page HTML 5</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap04">Récupération des données</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap05">Chargement des cartes et gestion du cache</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap06">Affichage des cartes</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap07">Gestion de la souris</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap08">Stockage de l’état</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap09">Animations</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap10">Gestion des différents types de clients</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap11">Conclusion</a></li>
<li><a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx#chap12">Pour aller plus loin</a></li>
</ol>
<p>→ Lire <a href="http://blogs.msdn.com/b/eternalcoding/archive/2011/07/13/retours-sur-un-d-233-veloppement-html5-amp-javascript.aspx">Retours sur un développement HTML5 &amp; JavaScript avec Visual Studio 2010</a></p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/developper-application-html5-javascript-1247/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>yepnope.js &#8212; Chargement conditionnel de scripts pour vos « Polyfills »</title>
		<link>http://js.4design.tl/yepnope-js-chargement-conditionnel-scripts-polyfills-1178</link>
		<comments>http://js.4design.tl/yepnope-js-chargement-conditionnel-scripts-polyfills-1178#comments</comments>
		<pubDate>Fri, 11 Mar 2011 16:00:17 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Helper CSS]]></category>
		<category><![CDATA[Helper HTML]]></category>
		<category><![CDATA[Helper Javascript]]></category>
		<category><![CDATA[Asynchrone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Modernizr]]></category>
		<category><![CDATA[Polyfills]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1178</guid>
		<description><![CDATA[yepnope.js permet de charger un script de manière asynchrone selon qu&#8217;une fonctionnalité est disponible ou non dans le but de ne charger que l&#8217;essentiel. C&#8217;est le compagnon idéal de Modernizr qui se charge de détecter les fonctionnalités en question (cf. Modernizr — Détection des fonctionnalités CSS3 et HTML5). Un Polyfills est une fonction (généralement en Javascript) [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://yepnopejs.com/">yepnope.js</a> permet de charger un script de manière asynchrone selon qu&#8217;une fonctionnalité est disponible ou non dans le but de ne charger que l&#8217;essentiel. C&#8217;est le compagnon idéal de <em>Modernizr</em> qui se charge de détecter les fonctionnalités en question (cf. <a href="http://js.4design.tl/modernizr-detection-des-fonctionnalites-css3-et-html5-690">Modernizr — Détection des fonctionnalités CSS3 et HTML5</a>). Un <em>Polyfills</em> est une fonction (généralement en Javascript) qui émule une fonctionnalité pour les navigateurs ne la prenant pas en charge (cf. <a href="http://remysharp.com/2010/10/08/what-is-a-polyfill/">What is a Polyfill?</a>). Grâce à <em>Modernizr</em> et <em>yepnope.js</em> il est possible d&#8217;utiliser les fonctionnalités HTML5 et CSS3 en première intention tout en ménageant une porte de sortie pour les navigateurs plus anciens.<span id="more-1178"></span></p>
<h2>Exemple avec la géolocalisation</h2>
<pre>yepnope({
    test : Modernizr.geolocation,
    yep  : 'normal.js',
    nope : ['polyfill.js', 'wrapper.js']
});</pre>
<p>Si le navigateur prend en charge la géolocalisation, nous chargeons le script normal.js, sinon, nous chargeons  les deux scripts passés en paramètres.</p>
<h2>Devoirs à rendre pour lundi ;-)</h2>
<ol>
<li>→ Télécharger <a href="https://github.com/SlexAxton/yepnope.js/archives/master">yepnope.js sur GitHub</a>,</li>
<li>→ Télécharger <a href="http://www.modernizr.com/">Modernizr</a>,</li>
<li>→ Lire <a href="http://blogs.sitepoint.com/2011/03/08/regressive-enhancement-with-modernizr-and-yepnope/">Regressive Enhancement with Modernizr and Yepnope</a>.</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/yepnope-js-chargement-conditionnel-scripts-polyfills-1178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minify &#8212; Accélérez l&#8217;affichage des pages en réduisant le nombre de requêtes HTTP</title>
		<link>http://js.4design.tl/minify-accelerer-affichage-pages-reduction-requetes-http-1166</link>
		<comments>http://js.4design.tl/minify-accelerer-affichage-pages-reduction-requetes-http-1166#comments</comments>
		<pubDate>Sat, 26 Feb 2011 15:00:52 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Compression]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Encodage]]></category>
		<category><![CDATA[Gzip]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Minifier]]></category>
		<category><![CDATA[Minify]]></category>
		<category><![CDATA[Requête]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1166</guid>
		<description><![CDATA[Minify est un script PHP5 dont l&#8217;objectif est d&#8217;aider les webmasters à atteindre un des objectifs les plus importants des règles de hautes performances pour les sites web proposées par Yahoo! : diminuer le nombre de requêtes HTTP. Pour y parvenir, Minify combine (concatène) les fichiers CSS ou Javascript. En prime, il supprime les commentaires [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/minify/">Minify</a> est un script PHP5 dont l&#8217;objectif est d&#8217;aider les webmasters à atteindre un des objectifs les plus importants des <a href="http://developer.yahoo.com/performance/index.html#rules">règles de hautes performances</a> pour les sites web proposées par Yahoo! : <a href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/">diminuer le nombre de requêtes HTTP</a>. Pour y parvenir, <em>Minify</em> combine (concatène) les fichiers CSS ou Javascript. En prime, il supprime les commentaires et les espaces en trop. Minify se charge même de l&#8217;encodage <em>gzip</em> tout en envoyant les bons en-têtes (<em>headers</em>) au navigateur.<span id="more-1166"></span></p>
<div id="attachment_1169" class="wp-caption aligncenter" style="width: 457px"><a href="http://js.4design.tl/files/2011/02/minify-fiddler_before.png"><img class="size-full wp-image-1169" src="http://js.4design.tl/files/2011/02/minify-fiddler_before.png" alt="" width="447" height="139" /></a><p class="wp-caption-text">Avant Minify</p></div>
<div id="attachment_1170" class="wp-caption aligncenter" style="width: 490px"><a href="http://js.4design.tl/files/2011/02/minify-fiddler_after.png"><img class="size-full wp-image-1170" src="http://js.4design.tl/files/2011/02/minify-fiddler_after.png" alt="" width="480" height="54" /></a><p class="wp-caption-text">Après Minify</p></div>
<p>Ces deux images issues d&#8217;un <a href="http://www.mrclay.org/2008/09/19/minify-21-on-mrclayorg/">test complet de Minify</a> montrent comment ce script PHP élimine 5 requêtes HTTP et réduit la bande passante nécessaire aux fichiers Javascript et CSS de 70% !</p>
<p>Grosses cerises sur le bouquet déjà bien garni de Minify :</p>
<ul>
<li><a rel="nofollow" href="http://wordpress.org/extend/plugins/wp-minify/">WP-Minify</a> &#8212; Plugin pour WordPress</li>
<li><a rel="nofollow" href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> &#8212; Ce plugin indispensable pour tout site WordPress est prêt pour Minify, il ne reste plus qu&#8217;à l&#8217;activer et à spécifier les fichiers Javascript et CSS que vous voulez concaténer et minifier. Attention toutefois à bien respecter l&#8217;ordre d&#8217;apparition des différents fichiers dans votre code et l&#8217;endroit où le script affichera le lien pour le fichier généré. En cas de problème, la version autonome permet de créer des groupes de fichiers que l&#8217;on pourra placer où l&#8217;on veut dans la page : dans le head ou juste avant la fermeture de la balise body selon vos besoins.</li>
<li><a href="https://github.com/bubba-h57/zf-helpers">Un Helper</a> pour Zend Framework est également disponible.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/minify-accelerer-affichage-pages-reduction-requetes-http-1166/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Treesaver &#8212; Framework Javascript pour créer des maquettes de type magazine</title>
		<link>http://js.4design.tl/treesaver-framework-javascript-maquettes-magazine-1162</link>
		<comments>http://js.4design.tl/treesaver-framework-javascript-maquettes-magazine-1162#comments</comments>
		<pubDate>Wed, 09 Feb 2011 17:03:49 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[Magazine]]></category>
		<category><![CDATA[Maquette]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1162</guid>
		<description><![CDATA[Treesaver est un framework Javascript conçu pour faciliter la création de maquettes de sites web de type magazine qui s&#8217;adaptent automatiquement à une large variété de périphérique de sortie, le tout à l&#8217;aide des langages standards du web : HTML et CSS. Aucune connaissance en programmation Javascript n&#8217;est nécessaire. L&#8217;ensemble ne pèse que 25 ko gzippé [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://treesaverjs.com">Treesaver</a> est un framework Javascript conçu pour faciliter la création de maquettes de sites web de type magazine qui s&#8217;adaptent automatiquement à une large variété de périphérique de sortie, le tout à l&#8217;aide des langages standards du web : HTML et CSS. Aucune connaissance en programmation Javascript n&#8217;est nécessaire. L&#8217;ensemble ne pèse que 25 ko gzippé pour un affichage assez rapide sur les périphériques mobiles.<span id="more-1162"></span></p>
<p><em>Treesaver</em> est compatible avec la plupart des navigateurs modernes et se dégrade avec grâce dans les anciens, ou lorsque Javascript est désactivé. La licence est sympathique elle aussi, puisque <em>Treesaver</em> est disponibles à la fois sous licence MIT et GPL.</p>
<p>Treesaver est conçu pour donner le meilleur de lui-même pour l&#8217;affichage de textes et d&#8217;images. Les tableaux complexes, l&#8217;affichage de vidéos, les scripts Javascript peuvent fonctionner, ou pas : Treesaver est encore jeune.</p>
<ul>
<li>Une <a href="http://demo.nomadeditions.com/real-eats/">démonstration</a>,</li>
<li>Une <a href="http://www.publicintegrity.org/treesaver/tuna/">autre démonstration</a>,</li>
<li>La <a href="https://github.com/Treesaver/treesaver/wiki">documentation</a>,</li>
<li>Treesaver est <a href="http://github.com/Treesaver/treesaver/downloads">disponible sur GitHub</a>,</li>
<li>Suivez @treesaverjs sur Twitter.</li>
</ul>
<p>Via @Sventovit (Monsieur <a href="http://on-air.hiseo.fr/">CSS3 &amp; autres geekeries</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/treesaver-framework-javascript-maquettes-magazine-1162/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lettering.js &#8212; La typographie dit «merci» à jQuery !</title>
		<link>http://js.4design.tl/lettering-js-typographie-jquery-1064</link>
		<comments>http://js.4design.tl/lettering-js-typographie-jquery-1064#comments</comments>
		<pubDate>Mon, 20 Dec 2010 06:49:51 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Plugin jQuery]]></category>
		<category><![CDATA[Caractère]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Mot]]></category>
		<category><![CDATA[Phrase]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[typographie]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1064</guid>
		<description><![CDATA[Lettering.js est un plugin jQuery qui devrait plaire aux amoureux de la typographie et aux bidouilleurs de CSS. Avec Lettering vous pourrez contrôler précisément le découpage de vos textes pour afficher les caractères ou les mots qui les composent comme bon vous semble ! On pourra appliquer un style CSS pour chacun des mots ou des [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://letteringjs.com/">Lettering.js</a> est un plugin jQuery qui devrait plaire aux amoureux de la typographie et aux bidouilleurs de CSS. Avec <em>Lettering</em> vous pourrez contrôler précisément le découpage de vos textes pour afficher les caractères ou les mots qui les composent comme bon vous semble ! On pourra appliquer un style CSS pour chacun des mots ou des caractères composant un titre.<span id="more-1064"></span></p>
<p>Par exemple, avec le marquage HTML :</p>
<pre>&lt;h1 class="fancy_title"&gt;Some Title&lt;/h1&gt;</pre>
<p>Et le plugin <em>Lettering</em> appliqué avec les paramètres adéquats :</p>
<pre>&lt;script src="path/to/jquery-1.4.2.min.js"&gt;&lt;/script&gt;
&lt;script src="path/to/jquery.lettering.min.js"&gt;&lt;/script&gt;
&lt;script&gt;
    $(document).ready(function() {
        $(".fancy_title").lettering();
    });
&lt;/script&gt;</pre>
<p>On obtiendra le résultat suivant :</p>
<pre>&lt;h1 class="fancy_title"&gt;
    &lt;span class="char1"&gt;S&lt;/span&gt;
    &lt;span class="char2"&gt;o&lt;/span&gt;
    &lt;span class="char3"&gt;m&lt;/span&gt;
    &lt;span class="char4"&gt;e&lt;/span&gt;
    &lt;span class="char5"&gt;&lt;/span&gt;
    &lt;span class="char6"&gt;T&lt;/span&gt;
    &lt;span class="char7"&gt;i&lt;/span&gt;
    &lt;span class="char8"&gt;t&lt;/span&gt;
    &lt;span class="char9"&gt;l&lt;/span&gt;
    &lt;span class="char10"&gt;e&lt;/span&gt;
&lt;/h1&gt;</pre>
<p>Et c&#8217;est aussi simple que cela si l&#8217;on désire envelopper des mots ou des lignes plutôt que des caractères individuels. Ensuite, à vous de jouer avec les CSS !</p>
<p><a href="https://github.com/davatron5000/Lettering.js">Téléchargez et documentez-vous</a> à propos de Lettering.js sur Github</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/lettering-js-typographie-jquery-1064/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SimpleTabs &#8212; Onglets Javascript non-intrusif</title>
		<link>http://js.4design.tl/simpletabs-onglets-javascript-non-intrusif-1054</link>
		<comments>http://js.4design.tl/simpletabs-onglets-javascript-non-intrusif-1054#comments</comments>
		<pubDate>Thu, 16 Dec 2010 20:40:11 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[Onglets]]></category>
		<category><![CDATA[Tabs]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1054</guid>
		<description><![CDATA[SimpleTabs est un script autonome écrit en Javascript par Fotis Evangelou. Il permet de mettre en place facilement un système de navigation à base d&#8217;onglets (tabs). J&#8217;aime bien le côté autonome du script qui ne dépend ainsi d&#8217;aucune bibliothèque tierce pour fonctionner. Pas besoin de jQuery ou de Mootools ! Le script se souvient du dernier [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://komra.de/labs/simpletabs/">SimpleTabs</a> est un script autonome écrit en Javascript par Fotis Evangelou. Il permet de mettre en place facilement un système de navigation à base d&#8217;onglets (<em>tabs</em>). J&#8217;aime bien le côté autonome du script qui ne dépend ainsi d&#8217;aucune bibliothèque tierce pour fonctionner. Pas besoin de jQuery ou de Mootools ! Le script se souvient du dernier onglet cliqué et se place sur celui-ci après un rechargement de page ou l&#8217;utilisation du bouton &laquo;&nbsp;Retour&nbsp;&raquo; du navigateur. <em>SimpleTabs</em> est simple à mettre en place, léger (2,4 Kio) et compatible avec tous les navigateurs.<span id="more-1054"></span></p>
<p>Voici le marquage HTML pour utiliser <em>SimpleTabs</em> :</p>
<pre>&lt;div class="simpleTabs"&gt;
    &lt;ul class="simpleTabsNavigation"&gt;
        &lt;li&gt;&lt;a href="#"&gt;Tab 1&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Tab 2&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Tab3 (and so on)&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;div class="simpleTabsContent"&gt;Content here to be called when "Tab 1" is clicked.&lt;/div&gt;
    &lt;div class="simpleTabsContent"&gt;Content here to be called when "Tab 2" is clicked.&lt;/div&gt;
    &lt;div class="simpleTabsContent"&gt;Content here to be called when "Tab 3" is clicked.&lt;/div&gt;
&lt;/div&gt;</pre>
<p>PS : Il existe un script de gestion d&#8217;onglets sous la forme d&#8217;un plugin Mootools appelé également <a href="http://digitarald.de/project/simple-tabs/">SimpleTabs</a> écrit par Harald Kirschner.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/simpletabs-onglets-javascript-non-intrusif-1054/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 Media Queries en Javascript pour les vieux navigateurs</title>
		<link>http://js.4design.tl/css3-media-queries-javascript-1045</link>
		<comments>http://js.4design.tl/css3-media-queries-javascript-1045#comments</comments>
		<pubDate>Mon, 06 Dec 2010 07:57:07 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Helper CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Ecran]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Largeur]]></category>
		<category><![CDATA[Media Queries]]></category>
		<category><![CDATA[Résolution]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1045</guid>
		<description><![CDATA[CSS3-MediaQueries-JS est une bibliothèque Javascript qui permet d&#8217;utiliser les Medias Queries dans IE 5+, Firefox 1+ et Safari 2 &#8212; Firefox 3.5+, Opera 7+ et Safari 3+ étant nativement compatibles avec cette propriété CSS3. Les Medias Queries offre un mécanisme pour isoler certaines propriétés ou pré-requis techniques pour appliquer aux agents utilisateurs correspondants une déclaration [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/css3-mediaqueries-js/">CSS3-MediaQueries-JS</a> est une bibliothèque Javascript qui permet d&#8217;utiliser les <a href="http://www.w3.org/TR/css3-mediaqueries/">Medias Queries</a> dans IE 5+, Firefox 1+ et Safari 2 &#8212; Firefox 3.5+, Opera 7+ et Safari 3+ étant nativement compatibles avec cette propriété CSS3. Les <em>Medias Queries</em> offre un mécanisme pour isoler certaines propriétés ou pré-requis techniques pour appliquer aux agents utilisateurs correspondants une déclaration ou une feuille de style CSS spécifique.<span id="more-1045"></span></p>
<p>L&#8217;appel à la feuille de style externe suivante :</p>
<pre>&lt;link rel="stylesheet" type="text/css" media="screen and (max-device-width: 480px)" href="shetland.css"/&gt;</pre>
<p>Permet d&#8217;adresser la CSS `shetland.css` uniquement aux navigateurs possédant une résolution horizontale (`max-device-width`) inférieure ou égale à 480px.</p>
<p>Voir aussi le plugin jQuery <a href="http://protofunc.com/scripts/jquery/mediaqueries/">CSS 3 Media Queries for all Browser</a>. via</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/css3-media-queries-javascript-1045/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS Text Wrapper &#8212; Habiller vos textes avec des formes non rectangulaires</title>
		<link>http://js.4design.tl/css-text-wrapper-1010</link>
		<comments>http://js.4design.tl/css-text-wrapper-1010#comments</comments>
		<pubDate>Sun, 17 Oct 2010 10:12:19 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Enveloppe]]></category>
		<category><![CDATA[Forme]]></category>
		<category><![CDATA[Habillage]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=1010</guid>
		<description><![CDATA[Fini les textes rectangulaires ! CSS Text Wrapper habille votre textes HTML avec n&#8217;importe quelle forme : courbe, zig-zag ou ce que vous voulez. Suivez les instructions et copiez-collez le code généré. Parmi les options possibles, on trouve la largeur et la hauteur de la zone de texte, l&#8217;interlignage, la taille de la police de caractère, [...]]]></description>
			<content:encoded><![CDATA[<p>Fini les textes rectangulaires ! <a href="http://www.csstextwrap.com/">CSS Text Wrapper</a> habille votre textes HTML avec n&#8217;importe quelle forme : courbe, zig-zag ou ce que vous voulez. Suivez les instructions et copiez-collez le code généré. Parmi les options possibles, on trouve la largeur et la hauteur de la zone de texte, l&#8217;interlignage, la taille de la police de caractère, et la zone de saisie de votre texte au format HTML.<span id="more-1010"></span></p>
<p>Choisissez ensuite entre les trois méthodes :</p>
<ol>
<li>CSS en ligne dans un attribut HTML `style`,</li>
<li>HTML avec des classes CSS séparée,</li>
<li>Javascript.</li>
</ol>
<p>Merci à @martin1975 (<a title="Une araignée au plafond" href="http://unearaigneeauplafond.fr/">Une araignée au plafond</a>) pour le lien o/</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/css-text-wrapper-1010/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TinyFader &#8212; Slideshow poids-plume avec effet de fading</title>
		<link>http://js.4design.tl/tinyfader-slideshow-fading-970</link>
		<comments>http://js.4design.tl/tinyfader-slideshow-fading-970#comments</comments>
		<pubDate>Tue, 12 Oct 2010 06:44:17 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Diaporama]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Slider]]></category>
		<category><![CDATA[Slideshow]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=970</guid>
		<description><![CDATA[TinyFader &#8212; Malgré son nom, la particularité de ce diaporama n&#8217;est pas de proposer des effets de transitions à base de fading. C&#8217;est plutôt son poids &#8212; 1,4 KB seulement &#8212; qui mérite le détour ! Il s&#8217;agit d&#8217;une variante de TinySlider en version autonome : TinyFader n&#8217;a pas besoin d&#8217;un framework Javascript pour fonctionner. L&#8217;initialisation et [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.leigeber.com/2010/09/fading-slideshow-script/">TinyFader</a> &#8212; Malgré son nom, la particularité de ce diaporama n&#8217;est pas de proposer des effets de transitions à base de <em>fading.</em> C&#8217;est plutôt son poids &#8212; 1,4 KB seulement &#8212; qui mérite le détour ! Il s&#8217;agit d&#8217;une variante de <a href="http://js.4design.tl/tinyslider-un-diaporama-leger-en-javascript-324">TinySlider</a> en version autonome : <em>TinyFader</em> n&#8217;a pas besoin d&#8217;un framework Javascript pour fonctionner. L&#8217;initialisation et le paramétrage de <em>TinyFader</em> sont très simple :<span id="more-970"></span></p>
<pre><code>var slideshow=new TINY.slider.slide('slideshow',{
    id:'slides', // ID of the parent slideshow unordered list
    auto:3, // Seconds to auto-advance, defaults to disabled
    resume:true, // Resume after interrupted, defaults to false
    navid:'pagination', // Optional ID of direct navigation UL
    activeclass:'current', // If navid, class to set on the current LI
    visible:true, // Initially display the first slide vs fading it in
    position:0 // Initial slide position, defaulting to the 0 index
});
</code></pre>
<ul>
<li><a href="http://sandbox.leigeber.com/tinyfader/">Voir la démonstration</a>,</li>
<li><a href="http://forum.leigeber.com/index.php?app=downloads&amp;showfile=11">Télécharger TinyFader</a>,</li>
<li>Via <a href="http://www.jonathan-menet.fr/blog/2010/09/30/tinyfader-un-nouveau-slideshow-javascript/">John&#8217;s Graphisme</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/tinyfader-slideshow-fading-970/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Smokescreen &#8212; Convertir Flash en HTML5 et Javascript</title>
		<link>http://js.4design.tl/smokescreen-convertir-flash-en-html5-et-javascript-814</link>
		<comments>http://js.4design.tl/smokescreen-convertir-flash-en-html5-et-javascript-814#comments</comments>
		<pubDate>Wed, 02 Jun 2010 11:33:23 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=814</guid>
		<description><![CDATA[Smokescreen est un projet open-source dont l&#8217;objectif est de convertir une animation Flash vers le format HTML5 et Javascript. Même si tout n&#8217;est pas encore parfait (version bêta oblige), le projet semble prometteur. Il semblerait en tout cas que la conversion des animations simples, comme les publicités, soit bien rendue. Lire Convertir du Flash à [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://smokescreen.us">Smokescreen</a> est un projet open-source dont l&#8217;objectif est de convertir une animation Flash vers le format HTML5 et Javascript. Même si tout n&#8217;est pas encore parfait (version bêta oblige), le projet semble prometteur. Il semblerait en tout cas que la conversion des animations simples, comme les publicités, soit bien rendue. Lire <a href="http://code18.blogspot.com/2010/06/convertir-du-flash-html-5-et-javascript.html">Convertir du Flash à HTML 5 et JavaScript</a> pour en savoir plus.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/smokescreen-convertir-flash-en-html5-et-javascript-814/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Burst Engine &#8212; Un peu de Flash et d&#8217;After Effects dans Canvas</title>
		<link>http://js.4design.tl/burst-engine-flash-et-after-effects-dans-canvas-752</link>
		<comments>http://js.4design.tl/burst-engine-flash-et-after-effects-dans-canvas-752#comments</comments>
		<pubDate>Tue, 27 Apr 2010 15:27:39 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Vecteur]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=752</guid>
		<description><![CDATA[Burst Engine est un moteur Javascript pour réaliser des animations vectorielles pour l&#8217;élément HTML5 Canvas. Il fournit des fonctionnalités similaires à Flash et permet de créer des animations à la manière d&#8217;After Effects. Burst est Open Source et léger, ce qui ne gâte rien.]]></description>
			<content:encoded><![CDATA[<p><a href="http://hyper-metrix.com/#Burst">Burst Engine</a> est un moteur Javascript pour réaliser des animations vectorielles pour l&#8217;élément HTML5 Canvas. Il fournit des fonctionnalités similaires à Flash et permet de créer des animations à la manière d&#8217;After Effects. Burst est Open Source et léger, ce qui ne gâte rien.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/burst-engine-flash-et-after-effects-dans-canvas-752/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>simpleCart (js) &#8212; Votre caddie e-commerce en Javascript</title>
		<link>http://js.4design.tl/simplecart-js-votre-caddie-e-commerce-en-javascript-697</link>
		<comments>http://js.4design.tl/simplecart-js-votre-caddie-e-commerce-en-javascript-697#comments</comments>
		<pubDate>Sat, 10 Apr 2010 18:33:36 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Caddie]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Paypal]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=697</guid>
		<description><![CDATA[simpleCart (js) est un script de moins de 20 ko qui vous permettra de mettre en place un caddie e-commerce en quelques minutes. Le marquage HTML attendu est très simple : tout se passe dans les classes CSS de sorte que vous êtes totalement libre de faire comme bon vous semble : &#60;div class="simpleCart_shelfItem"&#62;    [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://simplecartjs.com/">simpleCart (js)</a> est un script de moins de 20 ko qui vous permettra de mettre en place un caddie e-commerce en quelques minutes. Le marquage HTML attendu est très simple : tout se passe dans les classes CSS de sorte que vous êtes totalement libre de faire comme bon vous semble :<span id="more-697"></span></p>
<pre>&lt;div class="simpleCart_shelfItem"&gt;
    &lt;h2 class="item_name"&gt;Awesome T-Shirt&lt;/h2&gt;
    &lt;span class="item_price"&gt;$35.95&lt;/span&gt;
    &lt;input type="text" class="item_quantity" value="1"&gt;
    &lt;a href="javascript:;" class="item_add"&gt;Add to Cart&lt;/a&gt;
&lt;/div&gt;</pre>
<h2>En bref</h2>
<ul>
<li>Système de paiement Paypal,</li>
<li>La <a href="http://simplecartjs.com/documentation.html">documentation</a> est complète,</li>
<li>La <a href="http://demo.simplecartjs.com/">démo</a> est bien jolie,</li>
<li>Le <a href="http://wiki.github.com/thewojogroup/simplecart-js/">Wiki</a> est là pour aller plus loin.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/simplecart-js-votre-caddie-e-commerce-en-javascript-697/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Modernizr &#8212; Détection des fonctionnalités CSS3 et HTML5</title>
		<link>http://js.4design.tl/modernizr-detection-des-fonctionnalites-css3-et-html5-690</link>
		<comments>http://js.4design.tl/modernizr-detection-des-fonctionnalites-css3-et-html5-690#comments</comments>
		<pubDate>Thu, 01 Apr 2010 13:26:53 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[Revue de Web]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[border-radius]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=690</guid>
		<description><![CDATA[Modernizr est une petite bibliothèque Javascript qui détecte la prise en charge (ou non) des fonctionnalités CSS3 et HTML5 comme `@font-face`, `canvas`, `video`, `rgba()`, `border-radius`, les fonds multiples, CSS Columns, etc. Modernizr teste plus de 20 fonctionnalités en quelques millisecondes pour ajouter des classes spécifiques dans la balise `html` indiquant indiquer la prise en charge [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.modernizr.com/">Modernizr</a> est une petite bibliothèque Javascript qui détecte la prise en charge (ou non) des fonctionnalités CSS3 et HTML5 comme `@font-face`, `canvas`, `video`, `rgba()`, `border-radius`, les fonds multiples, CSS Columns, etc. Modernizr teste plus de 20 fonctionnalités en quelques millisecondes pour ajouter des classes spécifiques dans la balise `html` indiquant indiquer la prise en charge (ou non) des propriétés testés par le navigateur.<span id="more-690"></span></p>
<p>Voici un exemple assez parlant. Si le navigateur accepte les images de fond multiples, la classe `.multiplebgs` est ajoutée à l&#8217;élément html, sinon c&#8217;est la classe `.no-multiplebgs` qui s&#8217;inscrit, ce qui simplifie la mise en place de <em>fallbacks</em>.</p>
<pre>.multiplebgs div p {
    /* properties for browsers that
    support multiple backgrounds */
}
.no-multiplebgs div p {
    /* optional fallback properties
    for browsers that don't */
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/modernizr-detection-des-fonctionnalites-css3-et-html5-690/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IE7.js : ce n’est pas de la magie, c’est de la technologie !</title>
		<link>http://js.4design.tl/ie7-js-ce-nest-pas-de-la-magie-cest-de-la-technologie-682</link>
		<comments>http://js.4design.tl/ie7-js-ce-nest-pas-de-la-magie-cest-de-la-technologie-682#comments</comments>
		<pubDate>Fri, 26 Mar 2010 15:41:00 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[IE5.5]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[Standa]]></category>
		<category><![CDATA[Transparence]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=682</guid>
		<description><![CDATA[IE7 { css2: auto; } &#8212; Après mes Quelques notes sur la bibliothèque Javascript IE7 parue début 2008 concernant le script de Dean Edwards qui transforme une citrouille à base de IE5.5/6 en carrosse IE7 ou IE8, voici que IE7.js s&#8217;attaque à la dernière ligne droite avec la transmutation du plomb en or : faire [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/ie7-js/">IE7 { css2: auto; }</a> &#8212; Après mes <a href="http://css.4design.tl/quelques-notes-sur-la-bibliotheque-javascript-ie7-de-dean-edwards">Quelques notes sur la bibliothèque Javascript IE7</a> parue début 2008 concernant le script de <a href="http://dean.edwards.name/">Dean Edwards</a> qui transforme une citrouille à base de IE5.5/6 en carrosse IE7 ou IE8, voici que IE7.js s&#8217;attaque à la dernière ligne droite avec la transmutation du plomb en or : faire fonctionner IE8 comme devrait le faire IE9 !<span id="more-682"></span></p>
<h2>Utiliser IE7.js</h2>
<pre>&lt;!--[if lt IE 9]&gt;
    &lt;script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"&gt;IE7_PNG_SUFFIX=".png";&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<p>Note : la partie `IE7_PNG_SUFFIX=&nbsp;&raquo;.png&nbsp;&raquo;;` entre les balises script est là pour appliquer la gestion de la <a href="http://css.4design.tl/ie6-gerer-la-transparence-du-format-png-24-bits">transparence des images PNG 24 bits</a> sur les images dont l&#8217;extension se termine par `.png` (par défaut, les images concernées par le script doivent se terminer par `-trans.png`).</p>
<p>L&#8217;algorithme de IE7.js ne gère pas la transparence des PNG lorsque les propriétés `background-repeat` ou `background-position` sont utilisées. Si vous préférez un autre script comme <a href="http://www.dillerdesign.com/experiment/DD_belatedPNG/">DD_belatedPNG</a> &#8212; et pour éviter d&#8217;éventuels conflits &#8211;, il sera judicieux d&#8217;utiliser la variable  `IE7_PNG_SUFFIX = &laquo;&nbsp;:&nbsp;&raquo;;`.</p>
<h2>Quoi de neuf par rapport à 2008 ?</h2>
<ul>
<li>Arrêt de la prise en compte de IE5.0,</li>
<li>Les largeurs fixes ne sont appliquées qu&#8217;à IE5.5 en <em>Quirks Mode,</em></li>
<li>Ajout de IE9.js qui ajoute les fonctionnalités manquantes à IE8 pour s&#8217;approcher des standards,</li>
<li>Gestion de l&#8217;opacité transférée dans IE9.js.</li>
</ul>
<h3>Nouveaux sélecteurs CSS (IE9.js):</h3>
<ul>
<li>:first-of-type,</li>
<li>:last-of-type,</li>
<li>:only-of-type,</li>
<li>:nth-of-type(),</li>
<li>:nth-last-of-type(),</li>
<li>:contains() a été supprimé car aucun autre navigateur ne l&#8217;a implémenté.</li>
</ul>
<h3>Changement pour la gestion des PNG</h3>
<ul>
<li>Correction de nombreux bugs,</li>
<li>Moteur de sélection plus rapide et plus précis (le même dont sera doté la prochaine version de base2,</li>
<li>Le problème des liens non cliquable devrait également être réglé.</li>
</ul>
<p>Lire le <a href="http://ie7-js.googlecode.com/svn/test/index.html">détail des fonctionnalités</a> prises en charge par IE.7.js pour plus d&#8217;information.</p>
<h2>Dean Edwards ?</h2>
<p>Ce gourou du Javascript est également l&#8217;auteur des projets suivants à consommer sans modération :</p>
<ul>
<li><a href="http://code.google.com/p/ie7-js/">IE7.js</a></li>
<li><a href="http://code.google.com/p/base2/">base2</a></li>
<li><a href="http://dean.edwards.name/packer/">/packer/</a></li>
<li><a href="http://base2.googlecode.com/svn/trunk/src/apps/MiniWeb/MiniWeb.html">MiniWeb</a></li>
<li><a href="http://dean.edwards.name/weblog/2006/03/base/">Base</a></li>
<li><a href="http://dean.edwards.name/my/cssQuery/">cssQuery()</a></li>
<li><a href="http://dean.edwards.name/moz-behaviors/">moz-behaviors.xml</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/ie7-js-ce-nest-pas-de-la-magie-cest-de-la-technologie-682/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>DLink &#8212; Afficher le type de cible des liens avec Javascript</title>
		<link>http://js.4design.tl/dlink-afficher-le-type-de-cible-des-liens-avec-javascript-667</link>
		<comments>http://js.4design.tl/dlink-afficher-le-type-de-cible-des-liens-avec-javascript-667#comments</comments>
		<pubDate>Mon, 22 Mar 2010 03:34:42 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Liens]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=667</guid>
		<description><![CDATA[DLink est un script qui affiche une icône significative à côté des liens présents dans votre site : liens internes, externes, vers un sous-domaine, une ancre ou un lien vers une adresse email. L&#8217;idée est d&#8217;améliorer l&#8217;apparence des liens tout en ajoutant une information sur la destination du lien. L&#8217;auteur encourage le hotlinking depuis son [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://oopstudios.com/dlink/index.html">DLink</a> est un script qui affiche une icône significative à côté des liens présents dans votre site : liens internes, externes, vers un sous-domaine, une ancre ou un lien vers une adresse email. L&#8217;idée est d&#8217;améliorer l&#8217;apparence des liens tout en ajoutant une information sur la destination du lien.<span id="more-667"></span></p>
<p>L&#8217;auteur encourage le <em>hotlinking</em> depuis son serveur ce qui peut être un plus en terme de bande passante mais aussi un moins en terme de sécurité. Dans le doute, il est possible de télécharger DLink sur son propre serveur. Le plugin <a href="http://wordpress.org/extend/plugins/link-improver/">Link Improver</a> pour WordPress permet de personnaliser la palette des couleur utilisées par DLink en plus d&#8217;ajouter le script.</p>
<p>Revue complète chez <a href="http://blog.websourcing.fr/dlink-javascript-decoration-liens-web/">Web Sourcing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/dlink-afficher-le-type-de-cible-des-liens-avec-javascript-667/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Splash &#8212; un diaporama en pur Javascript</title>
		<link>http://js.4design.tl/splash-un-diaporama-en-pur-javascript-664</link>
		<comments>http://js.4design.tl/splash-un-diaporama-en-pur-javascript-664#comments</comments>
		<pubDate>Fri, 19 Mar 2010 17:30:00 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Diaporama]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Lightbox]]></category>

		<guid isPermaLink="false">http://js4design.com/?p=664</guid>
		<description><![CDATA[Splash est un script permettant d&#8217;afficher une image par-dessus le contenu dans le sillage de Lightbox (devenu en quelques années une marque générique comme Frigidaire) sans être obligé d&#8217;installer jQuery ou Prototype, ce qui est assez rare pour être signalé. Xuxu voulait une lightbox à son goût, simple, bien codée et rapide, alors il a associé [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xuxu.fr/splash-diaporama-javascript-simple-et-leger/">Splash</a> est un script permettant d&#8217;afficher une image par-dessus le contenu dans le sillage de <em>Lightbox</em> (devenu en quelques années une marque générique comme Frigidaire) sans être obligé d&#8217;installer jQuery ou Prototype, ce qui est assez rare pour être signalé. <a href="http://xuxu.fr/">Xuxu</a> voulait une <em>lightbox</em> à son goût, simple, bien codée et rapide, alors il a associé le talent à l&#8217;envie, et Splash !<span id="more-664"></span></p>
<h2>Raccourcis claviers</h2>
<p>Durant l’affichage du plein écran, vous pouvez faire défiler les images, démarrer/arrêter le mode diaporama, et sortir du mode plein écran, à l’aide des touches de claviers suivantes :</p>
<ul>
<li><kbd>Page up</kbd>, <kbd>flèche gauche</kbd>, <kbd>-</kbd> : Image précédente.</li>
<li><kbd>Page down</kbd>, <kbd>flèche droite</kbd>, <kbd>+</kbd> : Image suivante.</li>
<li><kbd>Entrée</kbd>, <kbd>espace</kbd>, <kbd>flèche bas</kbd> : Démarrer/arrêter le slide.</li>
<li><kbd>Esc</kbd>, <kbd>Suppr</kbd>, <kbd>flèche haut</kbd>, <kbd>x</kbd> : Sortir du plein écran.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/splash-un-diaporama-en-pur-javascript-664/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser jQuery depuis les serveurs de Google</title>
		<link>http://js.4design.tl/utiliser-jquery-depuis-les-serveurs-de-google-652</link>
		<comments>http://js.4design.tl/utiliser-jquery-depuis-les-serveurs-de-google-652#comments</comments>
		<pubDate>Thu, 18 Mar 2010 02:21:50 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Le saviez-vous ?]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=652</guid>
		<description><![CDATA[jQuery hosted on Google and some implications for developers est un billet qui répond à trois questions que l&#8217;on se pose généralement avant d&#8217;utiliser une version de jQuery hébergée  sur les serveurs de Google : 1. Google peut tomber en panne C&#8217;est peu probable, mais au cas où, nous pouvons détecter si la variable `jQuery` a été [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.derekallard.com/blog/post/jquery-hosted-on-google-and-some-implications-for-developers/">jQuery hosted on Google and some implications for developers</a> est un billet qui répond à trois questions que l&#8217;on se pose généralement avant d&#8217;utiliser une version de jQuery hébergée  sur les serveurs de Google :<span id="more-652"></span></p>
<h2>1. Google peut tomber en panne</h2>
<p>C&#8217;est peu probable, mais au cas où, nous pouvons détecter si la variable `jQuery` a été initialisée ou pas, auquel cas, on peut aller chercher jQuery sur notre serveur.</p>
<pre>&lt;script src="<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js</a>"&gt;&lt;/script&gt;
&lt;script&gt;
if (!jQuery) {
    document.write('&lt;script src="/js/jquery.min.js"&gt;&lt;/script&gt;');
}
&lt;/script&gt;</pre>
<h2>2. Google peut en profiter pour modifier notre DOM</h2>
<p>C&#8217;est un risque que l&#8217;on court chaque fois que l&#8217;on installe un script. Mais si vous utilisez déjà un outil de mesure d&#8217;audience comme <em>Google Analytics</em>, vous avez déjà pris ce risque&#8230;</p>
<h2>3. Google peut collecter des données personnelles</h2>
<p>Idem.</p>
<p>Plus d&#8217;information dans le billet <a href="http://css.4design.tl/avec-ajax-libraries-api-cest-si-simple-de-mettre-a-jour-son-jquery">Avec AJAX Libraries API, c&#8217;est si simple de mettre à jour son jQuery !</a> et plus particulièrement dans les commentaires.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/utiliser-jquery-depuis-les-serveurs-de-google-652/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Créez votre framework Javascript</title>
		<link>http://js.4design.tl/creez-votre-framework-javascript-512</link>
		<comments>http://js.4design.tl/creez-votre-framework-javascript-512#comments</comments>
		<pubDate>Thu, 04 Feb 2010 15:19:01 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=512</guid>
		<description><![CDATA[Les frameworks Javascript sont aussi répandus que les critiques qui les accompagnent : trop lourds, pas assez rapides, des bugs, des mises à jour trop espacées ou trop rapprochées, etc. S&#8217;il vous est déjà arrivé de tenir tout ou partie de ses propos vous êtes peut-être mûrs pour mettre en place votre propre framework Javascript, [...]]]></description>
			<content:encoded><![CDATA[<p>Les frameworks Javascript sont aussi répandus que les critiques qui les accompagnent : trop lourds, pas assez rapides, des bugs, des mises à jour trop espacées ou trop rapprochées, etc. S&#8217;il vous est déjà arrivé de tenir tout ou partie de ses propos vous êtes peut-être mûrs pour mettre en place votre propre framework Javascript, suivant en cela l&#8217;adage selon lequel on n&#8217;est jamais si bien servi que par soi-même !<span id="more-512"></span></p>
<h2>Comment faire ?</h2>
<p>Suivez simplement les conseils prodigués par <a href="http://www.admixweb.com">Teylor Feliz</a> qui ont été traduits par KalyParker dans <em>Comment créer facilement un framework JavaScript</em> <a href="http://kalyparker.developpez.com/articles/js/VOZ-partie-1/">Partie 1</a> et <a href="http://kalyparker.developpez.com/articles/js/VOZ-partie-2/">Partie 2</a>. Au menu, vous trouverez des conseils concernant la méthode à utiliser pour : créer l&#8217;objet principal de votre framework (constructeur <em>vs</em> objet littéral) ; naviguer dans le DOM ; concevoir une méthode de chainage, etc.</p>
<h2>Les articles originaux</h2>
<p>Au cas où, voici les tutoriels en anglais :</p>
<ol>
<li><a href="http://www.admixweb.com/2009/05/20/how-to-easily-create-a-javascript-framework-part-1/">How to Easily Create a JavaScript Framework, Part 1</a></li>
<li><a href="http://www.admixweb.com/2009/06/05/how-to-easily-create-a-javascript-framework-part-2/">How to Easily Create a JavaScript Framework, Part 2</a></li>
<li><a href="http://www.admixweb.com/2009/06/23/how-to-easily-create-a-javascript-framework-part-3/">How to Easily Create a JavaScript Framework, Part 3</a></li>
<li><a href="http://www.admixweb.com/2009/10/25/how-to-easily-create-a-javascript-framework-part-4/">How to Easily Create a JavaScript Framework, Part 4</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/creez-votre-framework-javascript-512/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le web en temps réel avec Ajax Push Engine</title>
		<link>http://js.4design.tl/le-web-en-temps-reel-avec-ajax-push-engine-87</link>
		<comments>http://js.4design.tl/le-web-en-temps-reel-avec-ajax-push-engine-87#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:05:40 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Push]]></category>
		<category><![CDATA[Temps réel]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=87</guid>
		<description><![CDATA[A.P.E (Ajax Push Engine) est un serveur web de type Comet : Il s&#8217;agit d&#8217;une approche nouvelle du web, qui permet au serveur d&#8217;envoyer des informations au navigateur sans que celui-ci ne lui ait demandé quoi que ce soit. L&#8217;intérêt est bien entendu de pouvoir échanger des données en temps réel sur un navigateur, sans [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://www.ape-project.org">A.P.E</a> (<em>Ajax Push Engine</em>) est un serveur web de type <a href="http://fr.wikipedia.org/wiki/Comet_%28informatique%29">Comet</a> : Il s&#8217;agit d&#8217;une approche nouvelle du web, qui permet au serveur d&#8217;envoyer des informations au navigateur sans que celui-ci ne lui ait demandé quoi que ce soit. L&#8217;intérêt est bien entendu de pouvoir échanger des données en temps réel sur un navigateur, sans avoir à recharger la page !</p></blockquote>
<p>Lire également <a href="http://geekarlier.com/?article=113">Ajax Push Engine : Un serveur web open-source solide et novateur</a> pour plus d&#8217;informations.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/le-web-en-temps-reel-avec-ajax-push-engine-87/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Hightcharts &#8212; une bibliothèque Javascript pour des «camemberts» à point</title>
		<link>http://js.4design.tl/hightcharts-une-bibliotheque-javascript-pour-des-camemberts-a-point-345</link>
		<comments>http://js.4design.tl/hightcharts-une-bibliotheque-javascript-pour-des-camemberts-a-point-345#comments</comments>
		<pubDate>Mon, 28 Dec 2009 23:58:10 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Frameworks Javascript]]></category>
		<category><![CDATA[Camembert]]></category>
		<category><![CDATA[Diagramme]]></category>
		<category><![CDATA[Graphique]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tableau de bord]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=345</guid>
		<description><![CDATA[Hightcharts est une bibliothèque Javascript spécialisée dans la création de diagrammes, graphiques et autres camemberts pour illustrer vos données brutes. Hightcharts fonctionne dans tout les navigateurs modernes, dont l&#8217;iPhone et Internet Explorer à partir de la version 6 !  Les navigateurs standarts utilisent l&#8217;élément `canvas`, dans certains cas, SVG est utilisé. Quant à Internet Explorer, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.highcharts.com/">Hightcharts</a> est une bibliothèque Javascript spécialisée dans la création de diagrammes, graphiques et autres camemberts pour illustrer vos données brutes. <em>Hightcharts</em> fonctionne dans tout les navigateurs modernes, dont l&#8217;iPhone et Internet Explorer à partir de la version 6 !  Les navigateurs standarts utilisent l&#8217;élément `canvas`, dans certains cas, SVG est utilisé. Quant à Internet Explorer, c&#8217;est VML qui sollicité. Voir la <a href="http://www.highcharts.com/demo/">page de démonstration</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/hightcharts-une-bibliotheque-javascript-pour-des-camemberts-a-point-345/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinySlider &#8212; un diaporama léger en Javascript</title>
		<link>http://js.4design.tl/tinyslider-un-diaporama-leger-en-javascript-324</link>
		<comments>http://js.4design.tl/tinyslider-un-diaporama-leger-en-javascript-324#comments</comments>
		<pubDate>Sat, 26 Dec 2009 18:19:40 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Applications autonomes]]></category>
		<category><![CDATA[Revue de Web]]></category>
		<category><![CDATA[Diaporama]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Slideshow]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=324</guid>
		<description><![CDATA[TinySlider est un diaporama Javascript autonome très léger de 1,5 ko facilement personnalisable via les CSS. On peut intégrer autre chose que des images et la gracieuse dégradation est assurée en l&#8217;absence de Javascript sur l&#8217;agent utilisateur du visiteur. Le script possède des options pratiques comme vous pouvez le voir sur l&#8217;exemple d&#8217;appel au script [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.leigeber.com/2009/12/slideshow-script/">TinySlider</a> est un diaporama Javascript autonome très léger de 1,5 ko facilement personnalisable via les CSS. On peut intégrer autre chose que des images et la gracieuse dégradation est assurée en l&#8217;absence de Javascript sur l&#8217;agent utilisateur du visiteur. Le script possède des options pratiques comme vous pouvez le voir sur l&#8217;exemple d&#8217;appel au script :</p>
<pre>var slideshow=new TINY.slider.slide('slideshow',{
	id:'slider', // ID of the parent slideshow div
	auto:3, // Seconds to auto-advance, defaults to disabled
	resume:true, // Resume auto after interrupted, defaults to false
	vertical:false, // Direction, defaults to false
	navid:'pagination', // Optional ID of direct navigation UL
	activeclass:'current', // Class to set on the current LI
	position:0 // Initial slide position, defaulting to index 0
});</pre>
<p>Voir <a href="http://sandbox.leigeber.com/tinyslider/">la démonstration</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/tinyslider-un-diaporama-leger-en-javascript-324/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Excargot &#8212; Une mine de liens sur Javascript vient de rouvrir !</title>
		<link>http://js.4design.tl/excargot-une-mine-de-liens-sur-javascript-vient-de-rouvrir-278</link>
		<comments>http://js.4design.tl/excargot-une-mine-de-liens-sur-javascript-vient-de-rouvrir-278#comments</comments>
		<pubDate>Fri, 11 Dec 2009 12:48:29 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Revue de Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.js4design.com/?p=278</guid>
		<description><![CDATA[Marie Neff est de retour à la barre d&#8217;Excargot qui propose depuis plus de 4 ans des ressources sur Javascript, CSS et le Webdesign en général. Faites chauffer les aggrégateurs et restez connectés ;)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.marieneff.com">Marie Neff</a> est de retour à la barre d&#8217;<a href="http://excargot.net/">Excargot</a> qui propose depuis plus de 4 ans des ressources sur Javascript, CSS et le Webdesign en général. Faites chauffer les aggrégateurs et restez connectés ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://js.4design.tl/excargot-une-mine-de-liens-sur-javascript-vient-de-rouvrir-278/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

