<?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>Amicalement Web - Astuces et Bons plans dans le développement web &#187; javascript</title>
	<atom:link href="http://www.amicalement-web.net/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.amicalement-web.net</link>
	<description>Astuces et bons plans d&#039;un web developpeur</description>
	<lastBuildDate>Wed, 04 Jan 2012 14:54:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>jQuery : Rendez vos lignes cliquables!</title>
		<link>http://www.amicalement-web.net/jquery-rendez-vos-lignes-cliquables/2011/02/11/</link>
		<comments>http://www.amicalement-web.net/jquery-rendez-vos-lignes-cliquables/2011/02/11/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 10:00:28 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1692</guid>
		<description><![CDATA[Petit billet rapide pour une petite astuce jQuery, ca faisait longtemps! Le but ici est simplement de donner la possibilité de cliquer sur un élément parent d&#8217;un lien pour l&#8217;activer. Et comme j&#8217;ai un peu galéré je me suis dit que ca valait le coup de partager le code. Que se soit dans une liste [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/jquery-rendez-vos-lignes-cliquables/2011/02/11/line/" rel="attachment wp-att-1698"><img src="http://www.amicalement-web.net/wp-content/uploads/line.png" alt="" title="line" width="614" height="100" class="alignnone size-full wp-image-1698" /></a><br />
Petit billet rapide pour une petite astuce jQuery, ca faisait longtemps! Le but ici est simplement de donner la possibilité de cliquer sur un élément parent d&#8217;un lien pour l&#8217;activer. Et comme j&#8217;ai un peu galéré je me suis dit que ca valait le coup de partager le code.<br />
<span id="more-1692"></span><br />
Que se soit dans une liste ou dans un tableau, il y a parfois qu&#8217;un seul lien, et je trouve assez pratique souvent de donner la possibilité à l&#8217;utilisateur de cliquer sur toute la ligne pour l&#8217;activer sans pour autant dégrader mon code html. Et comme je suis du genre à aimer ouvrir des liens dans un nouvel onglet, je comptais bien reproduire ce comportement.</p>
<p>Voici donc le code, résultat de cette réflexion, ou un clic avec ctrl (ou cmd pour les mac) ou le bouton du milieu de la souris devrait ouvrir le lien dans un nouvel onglet, comme le ferait un lien normal :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.line-click'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">live</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'click'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  e.<span style="color: #660066;">stopPropagation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  href <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a:first'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'href'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>e.<span style="color: #660066;">ctrlKey</span> <span style="color: #339933;">||</span> e.<span style="color: #660066;">metaKey</span> <span style="color: #339933;">||</span> e.<span style="color: #660066;">which</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    window.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span>href<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
    window.<span style="color: #660066;">location</span> <span style="color: #339933;">=</span> href<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'cursor'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'pointer'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>A utiliser avec le code html suivant par exemple:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ul<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;line-click&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;monimage.jpg&quot;</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">&quot;youpi&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 10/02/11 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;monlien.html&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Titre de mon billet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;line-click&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;monimage2.jpg&quot;</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">&quot;youpi&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 07/02/11 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;monlien2.html&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Titre de mon 2e billet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;line-click&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;img</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;monimage3.jpg&quot;</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">&quot;youpi&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span> 21/01/11 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;monlien3.html&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Titre de mon 3e billet<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ul<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>A adapter selon vos envies. Ici c&#8217;est le premier lien trouvé dans l&#8217;élément avec la class <code>line-click</code> qui sera déclenché. Voilà, en attendant que j&#8217;arrive à finir un billet plus consistent!</p>
<p><small>Crédit photo : http://www.flickr.com/photos/flyingturtle/837938254</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/jquery-rendez-vos-lignes-cliquables/2011/02/11/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #26</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-26/2009/12/07/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-26/2009/12/07/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 10:00:40 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[icone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=1002</guid>
		<description><![CDATA[Premier billet hors bon plans de la semaine jeudi dernier depuis quelques temps, on est sur la bonne voie pour reprendre les choses en mains. Même si ce sont des billets pas vraiment techniques encore, j&#8217;ai bon espoir d&#8217;arriver à reprendre un rythme un peu plus régulier. Celui de mercredi est même déjà programmé, c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-26/2009/12/07"><img src="http://www.amicalement-web.net/wp-content/uploads/christmas.png" alt="christmas" title="christmas" width="614" height="100" class="alignnone size-full wp-image-1006" /></a> Premier billet hors bon plans de la semaine jeudi dernier depuis quelques temps, on est sur la bonne voie pour reprendre les choses en mains. Même si ce sont des billets pas vraiment techniques encore, j&#8217;ai bon espoir d&#8217;arriver à reprendre un rythme un peu plus régulier. Celui de mercredi est même déjà programmé, c&#8217;est pour dire!</p>
<p>C&#8217;était pour vous tenir au courant un peu. Mais voici ce que vous êtes venu chercher, les bons plans de la semaine.<br />
<span id="more-1002"></span></p>
<ul>
<li><a  href="http://www.highcharts.com/">Des graphs en jQuery qu&#8217;ils sont beaux</a><br />
Le flash, j&#8217;aime pas trop, mais son utilisation pour des graphiques m&#8217;a toujours semblé adapté. Mais petit à petit jQuery grignote ce secteur, en voici une nouvelle illustration très réussie.</li>
<li><a  href="http://techportal.ibuildings.com/2009/12/01/profiling-with-xhprof/">Profiler vos script PHP</a><br />
Une alternative à xdebug très bien introduite par ce billet</li>
<li><a  href="http://www.sitepoint.com/blogs/2009/11/30/online-presentation-tools/">12 sites pour vos présentations en lignes</a><br />
Parce que c&#8217;est devenu un peu une grosse source de connaissance, les présentations exposées en conférence puis mise en ligne, les outils ne manquent donc pas.</li>
<li><a  href="http://webworkerdaily.com/2009/12/05/twittering-causes-blindness-busting-social-media-myths/">Les myths des réseaux sociaux</a><br />
Très bon article sur un sujet d&#8217;actualité</li>
<li><a  href="http://www.webdesignerdepot.com/2009/12/25-funny-t-shirts-for-designers-and-developers/">Des Tshirt pour graphistes et développeurs</a><br />
C&#8217;est bientôt noël, peut-être une idée de cadeaux se cache dans ce billet. Ils ne sont pas tous en vente, mais ils sont tous bien pensés.</li>
<li><a  href="http://designreviver.com/articles/better-drop-shadows-in-photoshop/">Une jolie ombre portée en photoshop</a><br />
Toujours dans la rubrique &laquo;&nbsp;passons nous des graphistes&nbsp;&raquo;, voici un petit tutorial pour une ombre portée très réussie.</li>
<li><a  href="http://redotheoffice.com/?p=120">Plugin symfony sfCodeReview</a><br />
Je ne le connaissais pas, mais je le trouve parfaitement bien pensé. ce plugin vous permettra de balayer le code source de Symfony directement depuis la debug bar</li>
<li><a  href="http://davidwalsh.name/javascrip-reflection">Reflet d&#8217;image en jquery</a><br />
Ca reste toujours sympa, surtout quand c&#8217;est bien codé.</li>
<li><a  href="http://www.webiconset.com/cute-blogging-icon-set/">Encore un set d&#8217;icone pour blog très bien fichu</a><br />
Très travaillé et coloré, tous les icônes indispensables pour réussir son thème de blog</li>
<li><a  href="http://www.jaervelae.com/mollify/index.php">Un explorateur de fichier en PHP</a><br />
Très belle réalisation, ce script pour permettra de vous balader dans l&#8217;arborescence de votre serveur web avec un certain style. Ajax et graphisme sont aussi au rendez-vous.</li>
</ul>
<p><small>crédit photo: http://www.flickr.com/photos/besimo/4094334183/</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-26/2009/12/07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #22</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-22/2009/11/09/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-22/2009/11/09/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:00:47 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=950</guid>
		<description><![CDATA[De la chair fraîche pour cette semaine! Vous devriez avoir un autre billet que celui-ci cette semaine encore si vous êtes sage. On m&#8217;a soufflé que ca pourrait parler de WordPress! Un sujet un peu oublié depuis la V2 mais qui m&#8217;intéresse toujours autant. Wait and see mais en attendant voici la sélection de la [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/enveloppe.png" alt="enveloppe" title="enveloppe" width="614" height="100" class="alignnone size-full wp-image-956" /> De la chair fraîche pour cette semaine! Vous devriez avoir un autre billet que celui-ci cette semaine encore si vous êtes sage. On m&#8217;a soufflé que ca pourrait parler de WordPress! Un sujet un peu oublié depuis la V2 mais qui m&#8217;intéresse toujours autant.</p>
<p>Wait and see mais en attendant voici la sélection de la semaine.<br />
<span id="more-950"></span></p>
<ul>
<li><a  href="http://propel.posterous.com/propel-140-stable-is-there">Propel 1.4 stable</a><br />
C&#8217;est un peu l&#8217;annonce de la semaine. Propel 1.4 stable est sortie! Pas mal de nouveautés dont certaines reprises des bonnes idées de Doctrine, mais également quelques exclus. Peut-être un futur billet plus complet à ce sujet ;)</li>
<li><a  href="http://wordpress.digitalnature.ro/mystique/">Un joli thème wordpress</a><br />
Une fois n&#8217;est pas coutume, croisé au détour d&#8217;un clic, assez sobre mais bourré de petits détails.</li>
<li><a  href="http://demo.kreativethemes.com/furvious/?kreativestyle=02">Un autre joli thème wordpress</a><br />
Comme quoi ya des semaines comme ça. Celui-ci est plus poussé graphiquement mais a un vrai potentiel je pense</li>
<li><a  href="http://davidwalsh.name/text-selection-ajax">Event jquery sur la sélection de texte</a><br />
Fonctionnalité qui pourrait ouvrir la porte à quelques nouvelles possibilités sympa</li>
<li><a  href="http://validatious.org/">Un nouveau script de validation de formulaire</a><br />
Oui encore un. Ca faisait longtemps. Mais celui-ci est vraiment bien fini et permet de définir ses validations avec très peu de ligne js, tout étant calibré depuis le code html</li>
<li><a  href="http://papermashup.com/using-memcache-with-php/">Memcache et le PHP</a><br />
Une petite explication sur Memcache et ses bienfaits pour le PHP</li>
<li><a  href="http://webdeveloperplus.com/jquery/quick-easy-way-to-implement-drag-n-share-with-jquery/">Drag and share avec jQuery</a><br />
Une façon originale de penser le drag and drop et le partage sur les medias sociaux.</li>
<li><a  href="http://www.alsacreations.com/actu/lire/899-optimiser-les-javascripts-avec-google-closure-tools-et-closure-compiler.html">Un compilateur javascript par Google</a><br />
C&#8217;est le lien qui a fait le tour du web, cette semaine. Le voilà décrit par dew, même s&#8217;il s&#8217;avère très compliqué d&#8217;être utilisé avec jquery, ca reste un outil assez novateur.</li>
<li><a  href="http://www.phpactiverecord.org/">Un nouvel ORM PHP</a><br />
Basé sur l&#8217;ORM de Ruby, voici un ORM dont on pourrait bien entendre parler prochainement.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-22/2009/11/09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #19</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-19/2009/10/19/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-19/2009/10/19/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 12:00:21 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=899</guid>
		<description><![CDATA[Une semaine importante qui commence, avec le lancement de la V1 de chambres a part! Mais une semaine assez pauvre qui se termine, où j&#8217;ai trouvé peu de ressources vraiment de qualité. Peut-être aussi parce que j&#8217;avais le nez dans le nouveau code/job qui m&#8217;attend pour les prochains mois? Possible mais j&#8217;en quand même de [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/writing.png" alt="writing" title="writing" width="614" height="100" class="alignnone size-full wp-image-903" /> Une semaine importante qui commence, avec le lancement de la V1 de chambres a part! Mais une semaine assez pauvre qui se termine, où j&#8217;ai trouvé peu de ressources vraiment de qualité.<br />
Peut-être aussi parce que j&#8217;avais le nez dans le nouveau code/job qui m&#8217;attend pour les prochains mois? Possible mais j&#8217;en quand même de quoi faire un billet je vous rassure.<br />
<span id="more-899"></span></p>
<ul>
<li><a  href="http://woorkup.com/2009/10/14/jquery-lessons-how-to-interact-with-html-forms/">jQuery pour interagir avec les form</a><br />Un bon billet pour débutant pour apprivoiser jquery dans le contexte des formulaires. Ca permet de faire rapidement certaines choses élémentaires qu&#8217;on utiliser plus tard dans des scripts plus complexes.
</li>
<li><a  href="http://code.google.com/p/php-asset-packager/">Class PHP5 pour merger et compresser vos CSS</a><br />
Simple et efficace, cela reste une bonne pratique pour réduire les appels HTTP souvent pointé du doigt dans les performances d&#8217;un site.
</li>
<li><a  href="http://www.queness.com/post/798/5-techniques-to-style-buttons-using-images-and-css">Styler vos boutons</a><br />
Encore un, mais bien fait. Et quand on est développeurs, on est content d&#8217;avoir ce genre de ressource ;)
</li>
<li><a  href="http://net.tutsplus.com/articles/web-roundups/top-20-ways-for-web-developers-to-reduce-their-carbon-footprint/">20 moyens de réduire notre empreinte carbone en tant que développeur</a><br />
Et oui, c&#8217;est pas parce qu&#8217;on est bien au chaud derrière notre machine qu&#8217;on ne peut pas faire de petits gestes pour la planète.</li>
<li><a  href="http://srobbin.com/jquery-plugins/jquery-approach/">jQuery plugin d&#8217;approche</a><br />
Pour faire réagir un lien en fonction de la proximité de la souris. L&#8217;effet est très sympa!
</li>
<li><a  href="http://code.google.com/p/mysql-workbench-doctrine-plugin/">Doctrine plugin pour schema mysql workbench</a><br />
Dans le monde de la conception de modèle de données, mysql workbench commence à s&#8217;imposer grâce à un vrai look n feel. Voici donc un plugin qui permet de passer facilement d&#8217;un schema workbench à un schéma doctrine!
</li>
<li><a  href="http://javascript.developpez.com/cours/outils-vraiment-utiles-pour-developpeurs-javascript/">Outils pour développeurs javascript</a><br />
Parce que le javascript a bien évolué, voici une liste d&#8217;outils très pratiques pour tout ce qui touche de près ou de loin à ce langage.
</li>
<li><a  href="http://kovshenin.com/archives/automated-twitter-bot-in-php-remote-control/">Un robot twitter en PHP</a><br />
Pas vraiment d&#8217;utilisation précise mais le principe est sympa.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-19/2009/10/19/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Développement Web: Les bons plans de la semaine #11</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-11/2009/08/17/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-11/2009/08/17/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 09:00:35 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[behavior]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=565</guid>
		<description><![CDATA[Une nouvelle semaine qui commence. En espérant que ce billet soit le dernier sous ce thème graphique! D&#8217;ailleurs n&#8217;oubliez pas que vous pouvez encore donner votre avis sur les modifications que vous aimeriez voir sur amicalement-web. Pour vous ouvrir un peu l&#8217;esprit en ce lundi matin toujours très difficile, voici ma liste de bons liens [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/computer.png" alt="computer" title="computer" width="48" height="48" class="alignleft size-full wp-image-32" /> Une nouvelle semaine qui commence. En espérant que ce billet soit le dernier sous ce thème graphique! D&#8217;ailleurs n&#8217;oubliez pas que vous pouvez encore <a  href="/ce-que-vous-aimeriez-changer/2009/08/14/">donner votre avis sur les modifications que vous aimeriez voir sur amicalement-web</a>.<br />
<span id="more-565"></span><br />
Pour vous ouvrir un peu l&#8217;esprit en ce lundi matin toujours très difficile, voici ma liste de bons liens à parcourir sans plus attendre:</p>
<ul>
<li><a  href="http://www.neathighlighter.com/">Un colorateur synthaxique multilangage</a> (via <a  href="http://blogmotion.fr/internet/colorisateur-syntaxique-3791">blogmotion</a>)<br />
Le monde des colorateur synthaxique, c&#8217;est un peu comme les modalbox en jquery, il y en a partout. Pourtant celui-ci a encore réussi à innover, dans le sens où il arrive à colorer chaque langage présent dans une même page, très pratique pour le cas de code web alliant html, css, javascript et php. On attend une version portable avec impatience.</li>
<li><a  href="http://code.centresource.com/2009/08/how-to-write-a-doctrine-behavior/">Comment écrire un behavior pour doctrine</a><br />
Et oui, doctrine on va en parler de plus en plus. Et avec ces behavior bien pratique, on va forcément avoir la question, comment qu&#8217;on fait? J&#8217;anticipe donc! A noter qu&#8217;une rumeur suggèrerait que notre ami <a  href="http://blog.devorigin.fr/">Vincent pourrait en parler prochainement sur son blog</a></li>
<li><a  href="http://ennuidesign.com/blog/JSON%3A+What+It+Is%2C+How+It+Works%2C+and+How+to+Use+It/">JSON? Comment ca marche?</a><br />
Avec l&#8217;avènement du javascript, un format de données est sorti de sa cachette: le JSON. Il permet de modéliser des objets javascript, très simplement et est maintenant utilisé régulièrement comme format d&#8217;échange en ajax. Mais pour en savoir plus, il suffit de jeter un oeil au lien ci-dessus.</li>
<li><a  href="http://www.funstaff.ch/2009/08/14/passage-de-votre-site-en-maintenance-lors-de-vos-mises-a-jour">Passez votre site symfony en maintenance</a><br />
Un site web vivant, c&#8217;est un site qu&#8217;on met à jour. Mais quand ces modifications peuvent prendre du temps, plutôt que de donner un mauvais rendu ou des erreurs à vos visiteurs, il est préférable de leur fournir une page d&#8217;attente. Ce billet donne la marche à suivre pour le faire sous Symfony!</li>
<li><a  href="http://theodin.co.uk/blog/javascript/tweetable-jquery-plugin.html">Un plugin jquery pour récupérer des tweets très facilement</a><br />
C&#8217;est la mode, mettre ses derniers tweets sur son site. Voilà un moyen très simple d&#8217;y parvenir</li>
<li><a  href="http://theodin.co.uk/blog/development/truncatable-jquery-plugin.html">Un plugin jquery pour tronquer des textes</a><br />
Du même auteur, voici un autre plugin jquery qui permet de tronquer très facilement des textes sur notre site.</li>
<li><a  href="http://www.robertspeer.com/blog/symfony-refactor-of-the-zend-quick-start-tutorial/?dzone">Comparons Zend et Symfony</a><br />
Un très bon comparatif qui sort des benchmarks classiques où l&#8217;auteur montre les différences lors d&#8217;une création d&#8217;un nouveau projet sous ces 2 framework</li>
<li><a  href="http://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/">11 astuces pour protéger votre admin wordpress</a><br />
En plein d&#8217;actualité avec la faille découverte dans wordpress 2.8.3, voici un récapitulatif des meilleures techniques pour protéger votre admin wordpress.</li>
</ul>
<p>Une semaine très riche j&#8217;ai trouvé, comme quoi ca sentirait presque la fin des vacances déjà&#8230; </p>
<p>A demain si tout va bien sous de nouvelles couleurs!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-11/2009/08/17/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IE qui joue à cache cache avec l&#8217;ajax</title>
		<link>http://www.amicalement-web.net/ie-qui-joue-a-cache-cache-avec-lajax/2009/08/12/</link>
		<comments>http://www.amicalement-web.net/ie-qui-joue-a-cache-cache-avec-lajax/2009/08/12/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 12:00:15 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=563</guid>
		<description><![CDATA[Oui je sais encore un nouveau billet sans le nouveau thème. Mais il est bien fini à 90%. Il manque quelques tests et un petit module qui me tient à coeur. Bref, en attendant, pas de raison que je ne publie pas! Voici donc une mini astuce, sur un problème rencontré cette semaine, qui m&#8217;aura [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/applications-other.png" alt="applications-other" title="applications-other" width="48" height="48" class="alignleft size-full wp-image-30" /> Oui je sais encore un nouveau billet sans le nouveau thème. Mais il est bien fini à 90%. Il manque quelques tests et un petit module qui me tient à coeur.</p>
<p>Bref, en attendant, pas de raison que je ne publie pas! Voici donc une mini astuce, sur un problème rencontré cette semaine, qui m&#8217;aura un peu usé, surtout quand on voit la solution finale.</p>
<p>On va donc parler de IE et de l&#8217;AJAX.<br />
<span id="more-563"></span><br />
Commençons par poser le décor comme d&#8217;habitude. Quand on fait de l&#8217;AJAX avec symfony, il n&#8217;est pas rare d&#8217;essayer de le faire non intrusif (c&#8217;est même conseillé, mais ça dépend si le site a un intérêt à fonctionner sans javascript), et donc de rendre une même action symfony différemment selon qu&#8217;on l&#8217;attaque en normal ou en AJAX.</p>
<p>Pour cela, on utilise donc un code proche de celui-ci:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isXmlHttpRequest</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">renderPartial</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'panier/widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Au final pour le navigateur, la requête reste la même. Demandez donc maintenant à un navigateur obsolète du genre IE de gérer se genre de mécanisme.<br />
Vous vous attendez au résultat, et je confirme pour vous. De façon non systématique, mais il arrive que si vous chargez d&#8217;abord l&#8217;action par un appel GET classique et que vous exécuez ensuite une requête ajax sur cette même action, IE a tendance à vous renvoyer la page entière et non pas seulement notre partial comme on l&#8217;a défini.</p>
<p>On peut penser que le souci vient de nos entêtes non détectées, mais on s&#8217;aperçoit que d&#8217;autres requêtes AJAX fonctionne&#8230; Et là, on essaye une petite ligne jquery avant notre requête AJAX:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">ajaxSetup</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    cache<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Et par magie, IE arrête son jeu de cache cache!</p>
<p>C&#8217;est tout bête, mais il fallait le savoir.</p>
<p>Maintenant, je le sais, et vous aussi ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/ie-qui-joue-a-cache-cache-avec-lajax/2009/08/12/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Développement Web: Les bons plans de la semaine #10</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-10/2009/08/10/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-10/2009/08/10/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 11:00:17 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=554</guid>
		<description><![CDATA[Nouvelle semaine qui commence vraiment à sentir les vacances, vu la difficulté que j&#8217;ai eu à glaner de bons liens à cliquer la semaine passée. A croire que les gens partent en vacances majoritairement en août&#8230; Bref, j&#8217;ai quand même réussi à trouver des choses que je pense intéressantes. Mais en rédigeant la liste, il [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/applications-system.png" alt="applications-system" title="applications-system" width="48" height="48" class="alignleft size-full wp-image-31" /> Nouvelle semaine qui commence vraiment à sentir les vacances, vu la difficulté que j&#8217;ai eu à glaner de bons liens à cliquer la semaine passée. A croire que les gens partent en vacances majoritairement en août&#8230;<br />
Bref, j&#8217;ai quand même réussi à trouver des choses que je pense intéressantes. Mais en rédigeant la liste, il m&#8217;est venu une interrogation:<br />
<span id="more-554"></span><br />
En partant du principe que vous aimez bien mes petites listes et que vous cliquez sur les liens, est-ce que vous êtes dérangé par les articles en anglais (majoritaires qui plus est)? Parce que je me disais que si c&#8217;était le cas, vous avez le droit de le dire hein que vous êtes pas contents, c&#8217;est aussi là pour ça les commentaires! Même si l&#8217;anglais reste la langue de l&#8217;informatique, même moi j&#8217;apprécie de bonnes ressources francophones, mais cela se fait rare.</p>
<p>Du coup, la question qui s&#8217;impose c&#8217;est, est-ce que certains d&#8217;entre vous trouverez sympa d&#8217;avoir la traduction d&#8217;un de ces articles (à raison d&#8217;un par semaine grand max hein)? Voilà, c&#8217;est dit, à vous de jouer et de me dire, histoire que je me tracasse pas pour rien.</p>
<p>Pour vous aider à réfléchir, voici la liste de la semaine:</p>
<ul>
<li><a  href="http://www.wpbeginner.com/showcase/evolution-of-wordpress-user-interface-2003-2009/">Evolution de l&#8217;interface admin de WordPress</a><br />
Petit billet sympa qui retrace grâce à différent screenshot, l&#8217;évolution de l&#8217;interface admin de WordPress, pour ceux qui ne blog pas depuis 6ans.</li>
<li><a  href="http://www.cssstickyfooter.com/">Collez vos pieds de page en bas</a><br />
C&#8217;est un des détails que les graphistes aiment, mais que les intégrateurs ont vite dégagé, pouvoir collé le footer d&#8217;une page en bas du navigateur et ce même si le contenu fait la moitié de la fenêtre. Il y a des solutions JS qui existe, en voici une pure CSS, qui demande juste quelques contraintes pour fonctionner. Pour la plupart des cas, ca ne devrait pas poser de souci.</li>
<li><a  href="http://lirent.net/wordpress/100-most-popular-wordpress-plugins.html">Les 100 plugins wordpress les plus populaires</a><br />
On a souvent du mal à s&#8217;y retrouver dans les plugins wordpress, tellement il y en a et tellement la zone qui leur est réservée sur le site officiel est pas top. Voilà donc une liste qui s&#8217;avère pratique où on mentionne tous les leaders pour chaque fonction qu&#8217;on souhaite rajouter à notre blog préféré.</li>
<li><a  href="http://www.jcryption.org/">Librairie de cryptage en javascript</a><br />
Voici une petite librairie sympa vu qu&#8217;elle propose un premier niveau de sécurité au niveau des formulaires html, en cryptant leur envoi au serveur. Bien sûr, cela reste très rudimentaire dans une grosse politique de sécurité, mais l&#8217;initiative est bonne et dans certains cas, ne serait-ce que pour compliquer le snif de requête, elle peut s&#8217;avérer utile</li>
<li><a  href="http://www.danielbroche.com/daniel_broche/2009/08/paypal-ouvre-sa-technologie.html">Paypal va s&#8217;ouvrir aux développeurs</a><br />
Je n&#8217;ai pas eu le temps d&#8217;enquêter plus que ça, donc je vous met le lien d&#8217;origine où j&#8217;ai trouvé l&#8217;info. Mais ca promet!</li>
<li><a  href="http://briancray.com/2009/07/28/increase-form-usability-replace-form-button-submit/">Améliorer l&#8217;expérience utilisation avec des détails</a><br />
Une petite astuce toujours dans la quête de la meilleur expérience utilisateur. Le principe est simple, bien faire comprendre à votre utilisateur que vous avez reçu sa demande.</li>
<li><a  href="http://devlunch.smart.fm/2009/07/29/six-things-your-mom-never-told-you-about-debugging-javascript/">6 choses que votre mère ne vous a jamais dit sur le debug javascript</a><br />
Article très sympa, et se serait lui qui serait traduit cette semaine, si jamais vous décidiez qu&#8217;il faut que je le fasse.</li>
<li><a  href="http://www.davidmassiani.com/horinaja/">Un enième plugin jquery slideshow</a><br />
Au royaume du jquery, les slideshow sont rois. On ne compte plus le nombre différentes de plugins qu&#8217;il existe. Alors pourquoi je vous parle de celui-là? 2 particularités, il gère la roulette pour le défilement mais surtout il est francophone : )) Et oui quand je trouve de la qualité dans notre belle langue, je me gène pas</li>
</ul>
<p>Et bien sûr, stay tunes cette semaine, au cas où vous croiseriez un nouveau thème dans le coin&#8230; ou pas :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-10/2009/08/10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Développement Web: Les bons plans de la semaine #9</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-9/2009/08/03/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-9/2009/08/03/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 09:00:28 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=524</guid>
		<description><![CDATA[Voilà qu&#8217;on attaque déjà la 2e partie de l&#8217;été! Heureux ceux qui ont pas encore pris leurs vacances, dommage pour les autres :D Quant à ce blog, il a fété la semaine dernière ses 6mois et vous pouvez encore participer au tirage au sort pour gagner une BD pour l&#8217;occasion. Mais revenons à nos moutons, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/computer.png" alt="computer" title="computer" width="48" height="48" class="alignleft size-full wp-image-32" /> Voilà qu&#8217;on attaque déjà la 2e partie de l&#8217;été! Heureux ceux qui ont pas encore pris leurs vacances, dommage pour les autres :D<br />
Quant à ce blog, il a fété la semaine dernière ses 6mois et vous pouvez encore <a  href="/6-mois-deja-bilan-passe-objectifs-futurs-et-des-cadeaux/2009/07/31/">participer au tirage au sort pour gagner une BD</a> pour l&#8217;occasion.<br />
Mais revenons à nos moutons, enfin à nos clics de la semaine en l&#8217;occurrence.<br />
<span id="more-524"></span></p>
<ul>
<li><a  href="http://www.divine-project.com/">Passer de photoshop à wordpress</a> via (<a  href="http://twitter.com/alsacreations">@alsacreations</a>)<br />
Un projet très prometteur qui se présente sous la forme d&#8217;un plugin photoshop qui permet d&#8217;identifier les parties de votre design à un &laquo;&nbsp;élément&nbsp;&raquo; wordpress. Vous obtenez alors votre template wordpress prêt à emploi! Je n&#8217;ai pas encore eu l&#8217;occasion de tester, mais j&#8217;y compte bien. Et je suis preneur de tout retour du coup.</li>
<li><a  href="http://www.kelvinluck.com/assets/jquery/styleswitch/toggle.html">Switch CSS en jquery</a><br />
Il y a quelques années avec l&#8217;avènement du CSS dans les sites web, la mode a été au style switcher, ou comment changer l&#8217;habillage d&#8217;un site juste en changeant de CSS! Et bien ce petit plugin, très bien fichu remet cette mode au goût du jour en permettant de changer de css comme bon vous semble, via un lien, un évènement, ou tout autre action que vous jugerez intéressante. Personnellement j&#8217;y vois plein de possibilité!
</li>
<li><a  href="http://codingly.com/2008/12/29/degage-sale-programmeur/">Un billet sur la considération des autres envers les développeurs</a> via (<a  href="http://twitter.com/n1k0">@n1k0</a>)<br />
J&#8217;ai la chance de pas connaitre ce genre de considération, mais je ne m&#8217;étonne pas que cela existe. On fait un boulot quasi invisible pour le commun du mortel et pour certains, tout le monde peur le faire pour peu qu&#8217;il connaisse le langage. Ah si c&#8217;était si simple&#8230;</li>
<li><a  href="http://pelicansareevil.com/jquery/addtolist/examples/">Gérer vos listes via jquery</a><br />
J&#8217;ai souvent tenter de reproduire ce comportement, mais je dois avouer que l&#8217;idée est très bonne ici! Ajouter la possibilité d&#8217;ajouter un item à une liste déroulante directement dans cette liste, c&#8217;est du très bon! A tester très rapidement pour ma part.</li>
<li><a  href="http://www.addatweet.com/">AddATweet</a><br />
Quand une bonne idée, rencontre twitter, cela donne un nouveau genre de service qui va peut faire du bruit. Le principe est simple, un plugin firefox qui permet de donner son avis sur la page que vous être en train de visiter via un tweet, et donc de consulter les avis des autres! Un coup d&#8217;oeil sur le screencast de la home vous en dira plus. En cours de test chez moi.</li>
<li><a  href="http://www.domassistant.com/slickspeed/">Test de rapidité des framework JS</a><br />
Quand il faut choisir son framework javascript, on a parfois du mal à expliquer pourquoi on préfère celui-ci plutôt qu&#8217;un autre. Ici, on peut au moins juger les plus répandus sur un critère très simple, leur vitesse de sélection d&#8217;un élément selon les différents sélecteurs. Et devinez qui arrive en tête&#8230; Un indice, je ne parle quasi que de lui ;)</li>
<li><a  href="http://demo.marcofolio.net/jtypinghero/">Guitar Hero version Jquery</a><br />
C&#8217;est la mode en ce moment, les jeux jquery avec des animations de plus en plus impressionnantes. Ici, on reprend le concept de l&#8217;addictif Guitar Hero appliqué à un clavier d&#8217;ordinateur.</li>
<li><a  href="http://www.gravityforms.com/">Créer des formulaires sous wordpress</a><br />
Un projet à l&#8217;aube d&#8217;une grande carrière certainement. A quelques jours de son lancement officiel, il s&#8217;annonce déjà répondre à un réel besoin. Construire des formulaires, simplement, via l&#8217;interface wordpress. A suivre de très près.</li>
<li><a  href="http://carsonified.com/blog/work-smarter/how-to-create-a-memorable-super-secure-password/">Comment se créer un mot de passe sécurisé</a><br />
Aujourd&#8217;hui tout service, application, demande de renseigner un mot de passe. Et souvent, par facilité, on en choisit très (trop?) simple. Pourtant, les annonces de comptes piratés et autres exploits se font de plus en plus nombreux. Voici donc un moyen très simple de se créer un mot de passe, sans être infaillible, d&#8217;être au moins plus difficile à percer.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-9/2009/08/03/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Développement Web: les bons plans de la semaine #8</title>
		<link>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-8/2009/07/27/</link>
		<comments>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-8/2009/07/27/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 09:00:51 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Bons plans]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=474</guid>
		<description><![CDATA[Quelques changements dans notre rubrique hebdomadaire. Ceux qui suivent auront deviner de quoi il s&#8217;agit. Première modification, on passe du vendredi au lundi. Pourquoi? Ca me laissera le week end pour faire quelque chose de moins à l&#8217;arrache et essayer de voir si c&#8217;est parce que ces billets sortent le vendredi qu&#8217;ils sont moins lus [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/system-search.png" alt="system-search" title="system-search" width="48" height="48" class="alignleft size-full wp-image-39" /> Quelques changements dans notre rubrique hebdomadaire. Ceux qui suivent auront deviner de quoi il s&#8217;agit.<br />
Première modification, on passe du vendredi au lundi. Pourquoi? Ca me laissera le week end pour faire quelque chose de moins à l&#8217;arrache et essayer de voir si c&#8217;est parce que ces billets sortent le vendredi qu&#8217;ils sont moins lus ou juste moins intéressants.</p>
<p>La deuxième découle de la première, finalement, on aura un lien &laquo;&nbsp;lire la suite&nbsp;&raquo; histoire d&#8217;être sûr de mesurer toutes les lectures. Bref, des détails, rien de bien grave et voici la sélection de la semaine!<br />
<span id="more-474"></span></p>
<ul>
<li><a  href="http://lab.berkerpeksag.com/jGrow">jGrow</a><br />
C&#8217;est une des fonctionnalités des RTE assez populaires, pouvoir agrandir la hauteur d&#8217;un textarea en fonction de la taille de son contenu, le tout dans un petit plugin jquery</li>
<li><a  href="http://www.sitepoint.com/blogs/2009/07/22/how-to-develop-a-jquery-plugin/">Comment développer un plugin jquery</a><br />
Un très bon tutorial sur les bases de la création de plugin jquery. En anglais certes, mais réaliser par la fine équipe de Sitepoint.com, une très bonne référence</li>
<li><a  href="http://finnrudolph.de/ImageFlow">ImageFlow</a><br />
De toute les galeries jquery, en voici une très aboutie qui reproduit l&#8217;effet coverflow d&#8217;itunes. Très réussie!
</li>
<li><a  href="http://www.datejs.com/">DateJS</a><br />
Voici une librairie javascript très intéressante qui permet de transformer une date texte en une &laquo;&nbsp;vrai&nbsp;&raquo; date, un peu à la manière de strtotime en PHP.
</li>
<li><a  href="http://www.filamentgroup.com/lab/jquery_ipod_style_drilldown_menu/">Select box ipod style</a><br />
Un énième plugin jquery sur la customisation d&#8217;un selectbox qui s&#8217;inspire lui du menu de sélection d&#8217;un ipod. Plutôt bien pensé niveau ergonomie.</li>
<li><a  href="http://armeda.com/how-to-create-a-jquery-carousel-with-wordpress-posts/">Créer un carousel jquery de billets wordpress</a><br />
Tout est dans le titre, un tutorial en anglais qui indique comme créer simplement un carousel avec les billets de son blog que l&#8217;on souhaite mettre en avant</li>
<li><a  href="http://www.csslab.cl/2009/07/22/jquery-browsersizr/">Une classe CSS selon la taille du navigateur</a><br />
Avec l&#8217;avènement des grandes résolutions et du mobile, il devient parfois délicat de contenter tout le monde sur le rendu visuel d&#8217;un site. Voici un petit plugin qui va pouvoir aider, en donnant une class CSS au body de notre page html selon les dimensions de notre navigateur.</li>
<li><a  href="http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/">Une select box sexy</a><br />
Et voici encore une customisation de selectbox qui cette fois-ci, mise sur le look et l&#8217;effet est très réussi.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/developpement-web-les-bons-plans-de-la-semaine-8/2009/07/27/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to: Créer un plugin fckeditor</title>
		<link>http://www.amicalement-web.net/how-to-creer-un-plugin-fckeditor/2009/07/23/</link>
		<comments>http://www.amicalement-web.net/how-to-creer-un-plugin-fckeditor/2009/07/23/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:00:22 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[fckeditor]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.amicalement-web.net/?p=458</guid>
		<description><![CDATA[Dans le monde du développement web, il y a un domaine où je n&#8217;ai pas encore trouvé une recette miracle: La publication de contenu avec un éditeur WYSIWYG. En même temps, la problématique est costaud, faire éditer du HTML à des gens qui ont déjà du mal avec Word, sans qu&#8217;ils sachent qu&#8217;ils éditent du [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.amicalement-web.net/wp-content/uploads/applications-system.png" alt="applications-system" title="applications-system" width="48" height="48" class="alignleft size-full wp-image-31" /> Dans le monde du développement web, il y a un domaine où je n&#8217;ai pas encore trouvé une recette miracle: La publication de contenu avec un éditeur <acronym title="What You See Is What You Get">WYSIWYG</acronym>. En même temps, la problématique est costaud, faire éditer du HTML à des gens qui ont déjà du mal avec Word, sans qu&#8217;ils sachent qu&#8217;ils éditent du HTML.</p>
<p>Après avoir définitivement abandonné <a  href="http://tinymce.moxiecode.com/" class="extern">TinyMCE</a>, car trop usine à gaz et n&#8217;en faisant qu&#8217;à sa tête, j&#8217;ai essayé <a  href="http://nicedit.com/" class="extern">nicedit</a> comme je vous l&#8217;avais signalé dans <a  href="/developpement-web-les-bons-plans-de-la-semaine-3/2009/06/19/">un bon plan de la semaine</a>. Malheureusement, il reste un peu juste pour certains besoins.<br />
Sur les conseils de <a  href="http://blog.samuel-trocme.fr/12-07-2009/fckeditor-peut-etre-le-meilleur-rte.html" class="extern">Sam</a>, je me suis donc relancé dans une vieille connaissance, <a  href="http://www.fckeditor.net/" class="extern">FCKEditor</a>, un des plus vieux <acronym title="Rich Text Editor">RTE</acronym> avec TinyMCE.<br />
<span id="more-458"></span><br />
S&#8217;il est a noté de nets progrès, il fait encore un peu usine à gaz (mais moins que TinyMCE quand même) et je le trouve particulièrement moche, mais c&#8217;est un détail qui peut se modifier, donc on va le mettre de côté pour l&#8217;instant ;)</p>
<p>Un des impératifs par contre, c&#8217;est la personnalisation et donc la création de plugin permettant de rajouter des boutons avec des fonctionnalités que l&#8217;on aura déterminer nous même. Et vu les difficultés que j&#8217;ai pu rencontrer pour créer mon premier, je me suis dis que ca valait bien quelques explications. Dans un souci de clarté, je ne détaillerai pas l&#8217;installation de fck, je vous invite à faire un tour sur leur site pour ça.</p>
<p>Première chose quand on veut créer un plugin fck, créer son arborescence, dans <code>editor/plugins</code>. Ici, on va créer un plugin qui nous permettra de rajouter un bouton à notre toolbar qui lancera une fenêtre nous permettant de faire un peu ce qu&#8217;on veut, en l&#8217;occurrence dans notre cas, afficher une liste des pages de notre gestionnaire de contenus symfony afin de pouvoir insérer des liens internes entre elle.  </p>
<p>Dans notre nouveau dossier, vous créez donc un fichier plugin.js avec à l&#8217;intérieur:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// Ici je crée une action FCK qui s'appelle Internlink, et qui chargera le fichier test.html (qui sera au même niveau que ce fichier) lors de son appel</span>
FCKCommands.<span style="color: #660066;">RegisterCommand</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Internlink'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">new</span> FCKDialogCommand<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Internlink'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'Ajout lien interne'</span><span style="color: #339933;">,</span>FCKConfig.<span style="color: #660066;">PluginsPath</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'internlink/test.html'</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">300</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">300</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Ici je crée un bouton pour la toolbar auquel j'associe l'action précédemment définie</span>
FCKToolbarItems.<span style="color: #660066;">RegisterItem</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'Internlink'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">new</span> FCKToolbarButton<span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'Internlink'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'Lien interne'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> FCK_TOOLBARITEM_ICONTEXT<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p>Ensuite on enchaine avec le template de notre popup qu&#8217;on a appelé test.html plus haut (on le met bien où on veut mais j&#8217;ai définis au-dessus de le mettre au même niveau):</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">http-equiv</span>=<span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    // Cette partie est nécessaire pour pouvoir utiliser les fonctions de fck à l'intérieur de notre popup 
    var oEditor = window.parent.InnerDialogLoaded();
    var FCKConfig = oEditor.FCKConfig;
    var dialog = window.parent;
    document.write('<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;' + FCKConfig.BasePath + 'dialog/common/fck_dialog_common.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span>&lt;\/script<span style="color: #000000; font-weight: bold;">&gt;</span></span>');
    dialog.SetOkButton(true); // Par défaut, seul le bouton annuler est affiché, on rajoute le bouton ok	
&nbsp;
    // Maintenant on fait bien ce qu'on veux, ici j'ai décidé de récupérer en AJAX, une liste en JSON de toutes mes pages et d'alimenter ma selectbox avec
    jQuery(document).ready(function(){
      $.getJSON(&quot;/content/selectJson&quot;,{}, function(j){
        var options = '';
        for (var i = 0; i <span style="color: #009900;">&lt; j.length; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #009900;">          options += <span style="color: #ff0000;">'&lt;option value=&quot;'</span> + j<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.optionValue + <span style="color: #ff0000;">'&quot;&gt;</span></span>' + j[i].optionDisplay + '<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/option<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>';
        }
        $(&quot;select#intern-link&quot;).html(options);
      })
    });
&nbsp;
    // Puis on surdéfinit une fonction Ok qui est appelé par fck quand on appuye sur le bouton ... ok
    function Ok()
    {
      // Maintenant on utilise fck pour rajouter du contenu à notre RTE. Ici je rajoute simplement les valeurs de mes 2 champs définis dans mon HTML ci-dessous
      oEditor.FCK.InsertHtml( '<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;'+ jQuery('#intern-link').val() +'&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;extern&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>'+ jQuery('#intern-label').val() +'<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>' );
      return true; // Il faut renvoyer true pour fermer la popup
    }
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;add-intern-link&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>		
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">for</span>=<span style="color: #ff0000;">&quot;intern-link&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Lien interne<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;select</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;intern-link&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;intern-link&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/select<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>						
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;label</span> <span style="color: #000066;">for</span>=<span style="color: #ff0000;">&quot;intern-label&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Label<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/label<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;intern-label&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;intern-label&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>						
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Il ne reste plus qu&#8217;à charger notre plugin dans notre conf:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">FCKConfig.<span style="color: #660066;">Plugins</span>.<span style="color: #660066;">Add</span><span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'internlink'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span></pre></div></div>

<p>et ajouter le bouton à notre toolbar comme par exemple:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">FCKConfig.<span style="color: #660066;">ToolbarSets</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;nice&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'Internlink'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p> et on obtient:<br />
<a  href="http://www.amicalement-web.net/wp-content/uploads/Image-67.png"><img src="http://www.amicalement-web.net/wp-content/uploads/Image-67-300x37.png" alt="Image 67" title="Image 67" width="300" height="37" class="alignnone size-medium wp-image-461" /></a></p>
<p><a  href="http://www.amicalement-web.net/wp-content/uploads/Image-68.png"><img src="http://www.amicalement-web.net/wp-content/uploads/Image-68.png" alt="Image 68" title="Image 68" width="287" height="298" class="alignnone size-full wp-image-460" /></a></p>
<p>On a maintenant accès à toutes nos pages, et un clic sur ok, nous rajoutera un lien dans notre contenu avec le label renseigné. </p>
<p>Il ne reste plus qu&#8217;à adapter à vos besoins ces petits bouts de codes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.amicalement-web.net/how-to-creer-un-plugin-fckeditor/2009/07/23/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
