<?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>Tavarn Ty Pwyll</title>
	<atom:link href="http://pwyll.webetprint.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pwyll.webetprint.com</link>
	<description>Un blog utilisant WordPress</description>
	<lastBuildDate>Wed, 19 May 2010 14:58:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Réponse à l&#8217;article &#171;&#160;La liseuse numérique est-elle l&#8217;avenir de la presse ?&#160;&#187;</title>
		<link>http://pwyll.webetprint.com/2010/05/19/reponse-a-larticle-la-liseuse-numerique-est-elle-lavenir-de-la-presse/</link>
		<comments>http://pwyll.webetprint.com/2010/05/19/reponse-a-larticle-la-liseuse-numerique-est-elle-lavenir-de-la-presse/#comments</comments>
		<pubDate>Wed, 19 May 2010 14:41:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[D2D ( Day To Day )]]></category>
		<category><![CDATA[fracture numérique commentaires]]></category>
		<category><![CDATA[presse]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=245</guid>
		<description><![CDATA[Je ne pouvais pas résister à répondre à l&#8217;article de Delphine Dumont ( que je lis au demeurant avec plaisir ) paru dans le RedacBox de ce jour
Je cite : 

La parution en ligne offre de nombreux avantages sur la presse papier : l&#8217;espace y coûte beaucoup moins cher, chaque article peut être enrichi de [...]]]></description>
			<content:encoded><![CDATA[<p>Je ne pouvais pas résister à répondre à l&#8217;<a href="http://www.redacbox.fr/Blog/2010/05/lavenir-de-la-presse/">article</a> de Delphine Dumont ( que je lis au demeurant avec plaisir ) paru dans le RedacBox de ce jour<br />
Je cite : </p>
<blockquote><p>
La parution en ligne offre de nombreux avantages sur la presse papier : l&#8217;espace y coûte beaucoup moins cher, chaque article peut être enrichi de liens complémentaires ou contradictoires internes ou externes, l&#8217;utilisation de tags permet au visiteur de naviguer aisément par thème dans les archives, enfin, les lecteurs peuvent souvent écrire des commentaires. Même si ces derniers ne sont pas toujours dignes d&#8217;intérêts, on y trouve parfois des pépites.
</p></blockquote>
<p>Si les arguments évoqués dans ce paragraphe sont tous censé, ils souffrent d&#8217;une contre argumentation qui n&#8217;est pas négligeable.<span id="more-245"></span><br />
Non l&#8217;espace n&#8217;y est pas forcément moins cher il faudrait pour comparer justement, réintégrer à tout cela outre le coût des infrastructure, le coût des matériels nécessaires pour accéder à l&#8217;information ainsi que leur coût d&#8217;entretien, sans compter les éventuelles formations&#8230; bon là je pinaille un peu. Mais ce discours je l&#8217;ai tellement entendu dans la SSII ou je bossais, que je ne peux pas en voir les failles. Disons pour mettre tout le monde d&#8217;accord que le coût de publication est moindre.</p>
<p>En ce qui concerne les tags mon avis est plus mitigé, la taxonomie est un art que je maîtrise assez mal, les idées sont déjà difficile à exprimer de manière à ce qu&#8217;elle soient comprises par tout le monde, alors résumé une idée de portée générale, avec un mot de portée général est un exercice dans lequel je m&#8217;abîme, et à en voir les nuages de tags plutôt brouillons de certains blogs je ne dois pas être le seul. De plus je n&#8217;en vois l&#8217;intérêt qu&#8217;en cas de non linéarité de lecture, c&#8217;est à dire dans le cas d&#8217;un blog à la ligne éditoriale assez flou.<br />
En fin de compte j&#8217;avoue personnellement ne jamais m&#8217;en servir. Cependant force m&#8217;est de reconnaître, que ce peut être un plus, quand il s&#8217;agit de butiner d&#8217;une idée à l&#8217;autre.</p>
<p>Les commentaires, j&#8217;en conviens, sont un plus quand ils sont fait à bon escient ; et à condition bien entendu que l&#8217;auteur de l&#8217;article source du commentaire joue le jeu de la transparence ( il n&#8217;est ni timoré  pour éviter la critique ni censeur des commentaires moins élogieux )</p>
<p>Je voudrais revenir sur la discussion de base qui est le support son accessibilité, sa richesse. Je reviendrais a mon expérience précédente en SSII où j&#8217;ai entendu prêché pendant plus de 10 ans la révolution du 0 papier&#8230;. qu&#8217;on attends a priori depuis plus de 20 ans, et qu&#8217;on attendra encore longtemps. L&#8217;argument ressassé par les clients est toujours le même l&#8217;accessibilité à l&#8217;information plus aisé, l&#8217;effet cognitif plus important (&#8216; je l&#8217;ai lu en page en fin de chapitre &#8230; &#8216;) , la capacité à repérer une information simplement ( surligner, corner, mettre un post-it, griffonner sans problème de comptabilité, ou d&#8217;outils &#8230;.), sans parler d&#8217;effets plus physique fatigue oculaire&#8230;,<br />
J&#8217;en veux pour meilleur preuve que les théoriciens du projet tels les scrum master mettent en avant les papiers,crayons,post-its et autres tableaux blancs, alors qu&#8217;ils travaillent dans un milieu hautement informatisés, ou l&#8217;argument du coûts n&#8217;a pas d&#8217;objets.<br />
Les personnes travaillant dans le domaine web ont souvent recours à des brouillon papier avant de se jeter sur leur &#8217;sketcheur favori&#8217;, pas facile de &#8216;prototyper&#8217; avec un client sur un ordinateur.</p>
<p>Personnellement pour créer j&#8217;ai besoin de passer par des états successifs d&#8217;amélioration d&#8217;une idée, d&#8217;affinement de raffinement. L&#8217;outil informatique m&#8217;en dédouane, je coupe, je colle, j&#8217;efface mais je ne rature pas, je ne griffonne pas de dessin en marge&#8230;. Je me souviens cette réflexion d&#8217;une amie photographe :&nbsp;&raquo; je déteste le numérique car on fait et on détruit trop facilement &laquo;&nbsp;( l&#8217;argentique imposait du soin pour réaliser une photo aussi les résultats étaient généralement de meilleur qualité, et les photos ratés pouvaient se révéler en fait très réussi car très originales ou révélatrices de détails qui passent inaperçus au premier coup d&#8217;œil ).</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/05/19/reponse-a-larticle-la-liseuse-numerique-est-elle-lavenir-de-la-presse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mort du papier</title>
		<link>http://pwyll.webetprint.com/2010/05/17/mort-du-papier/</link>
		<comments>http://pwyll.webetprint.com/2010/05/17/mort-du-papier/#comments</comments>
		<pubDate>Mon, 17 May 2010 09:58:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[fracture numérique commentaires]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=239</guid>
		<description><![CDATA[Un article de Loïc Le Meur et une réaction viennent de réveiller mon lundi matin.
Je ne sais pas si le papier est l’avenir ou le passé, et je m’en fou à vrai dire ; par contre le numérique, trop facile, trop rapide, trop imparfait, n’est pas l’avenir que je choisirais.
Pour toutes les raisons cités dans [...]]]></description>
			<content:encoded><![CDATA[<p>Un <a href="http://www.loiclemeur.com/france/2010/03/les-kiosques-a-journaux-et-la-presse-papier-auront-disparu-dans-10-ans.html">article</a> de Loïc Le Meur et une <a href="http://tout-ca.com/2010/03/05/du-papier/comment-page-1/#comment-450">réaction</a> viennent de réveiller mon lundi matin.</p>
<p>Je ne sais pas si le papier est l’avenir ou le passé, et je m’en fou à vrai dire ; par contre le numérique, trop facile, trop rapide, trop imparfait, n’est pas l’avenir que je choisirais.</p>
<p>Pour toutes les raisons cités dans l&#8217;<a href="http://tout-ca.com/2010/03/05/du-papier/comment-page-1/#comment-450">article</a> et dans les commentaires , que je ne répéterais pas, mais encore parce que l’odeur du papier, et la texture de l’encre m’inspire bien plus qu’un clavier, mais enfin parce que l’empreinte matérielle de ses constituants, m’impose un certain respect, je suis soucieux de ce que j’écris, de ce que je réalise et de mon public.</p>
<p>Le numérique nous ancre dans une civilisation « Undo » : fais ce que tu veux, de toutes façons il y aura toujours quelque chose ou quelqu’un pour te ramener en arrière, pour effacer ce que tu viens de dire, d’écrire.<br />
Aujourd’hui on ne passe plus son temps à chercher une information on passe son temps à vérifier sa crédibilité, est-cela le progrès ?</p>
<p>Technophile, j&#8217;apprends pourtant à mes enfants à lire sur des livres papiers, et j&#8217;espère bien pouvoir un jour leur voir faire de même avec leurs propres enfants.</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/05/17/mort-du-papier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser RightJS pour l’effet ‘Sliding Label’ v2</title>
		<link>http://pwyll.webetprint.com/2010/04/07/utiliser-rightjs-pour-l%e2%80%99effet-%e2%80%98sliding-label%e2%80%99-v2/</link>
		<comments>http://pwyll.webetprint.com/2010/04/07/utiliser-rightjs-pour-l%e2%80%99effet-%e2%80%98sliding-label%e2%80%99-v2/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 17:24:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rightjs]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=224</guid>
		<description><![CDATA[Suite à un premier jet dans l&#8217;articleUtiliser RightJS pour l’effet ‘Sliding Label’, je vous présente une nouvelle version de ce script. Au menu des améliorations Script plus élégant Animations  A l&#8217;origine de cette mise à jour il y a le  message de Nikolay sur le site de CSS Karma, en utilisant ce morceau [...]]]></description>
			<content:encoded><![CDATA[<p>Suite à un premier jet dans l&#8217;article<a href="http://pwyll.webetprint.com/?p=168">Utiliser RightJS pour l’effet ‘Sliding Label’</a>, je vous présente une nouvelle version de ce script.<br /> Au menu des améliorations<br /> Script plus élégant<br /> Animations<br /> <span id="more-224"></span><br /> A l&#8217;origine de cette mise à jour il y a le  <a href="http://www.csskarma.com/blog/sliding-labels/comment-page-3/#comment-84234">message de Nikolay sur le site de CSS Karma</a>, en utilisant ce morceau de script et les fonctions <a href="http://rightjs.org/docs/fx/morph">FX.Morph </a>de RightJS vont nous permettre d&#8217;améliorer le script</p>
<pre class="brush: xml;">
		var slidingLabelInit = function(e,el,margin)
		{
			var el = el || '.slider';	// by default use slider class
			var margin = margin || 0;	// padding between last char of label and box of input
			$$( el+' label').each( function(label)
			{
				var input = $(label.get('for'));
				// some css to obtain a size for element
				label.setStyle('display','inline');
				label.setStyle('position','absolute');
				var sizes = label.sizes();
				var text = label.hide().textContent;
				$ext(input,
				{
					showHint: function() {
						if (this.value.blank())
						{
							this.addClass('hint').setValue(text);
							label.setStyle({
								top: sizes.y/2+'px',
								background: 'white',
								left: '0px',
							}).hide();

						}
					},
					hideHint: function() {
					  if (this.value == text)
						{
						this.removeClass('hint').setValue('');
						label.setStyle('top',sizes.y/2+'px').show();
						new Fx.Morph(label).start(
							{
								background: 'yellow',
								left: '-'+ ( sizes.x + margin ) +'px',
							})
						}
					}
				}).on(
				{
					focus: 'hideHint',
					blur: 'showHint'
				}).showHint();
			});
		};
		document.on('ready', slidingLabelInit,'.slider', 5);
</pre>
<p>quelques précisions<br /> ligne 3 &amp; 4 ces variables ne servent qu&#8217;a apporter un peu de dynamisme à la fonction<br /> ligne 09 &amp; 10 ces deux lignes permettent de modifier le style de l&#8217;élément label afin d&#8217;une part d&#8217;obtenir sa taille, et d&#8217;autre part de modifier son placement de manière absolue.<br /> ligne 13 à 38 , on retrouve le code à la sauce Nikolay, qui permet d&#8217;étendre les fonctionnalités des éléments &lt;input&gt;, j&#8217;ai au passage agrémenté le code d&#8217;un petit effet de translation/coloration en jaune<br /> ligne 39 on utilise le gestionnaire d&#8217;évènement de rightJS pour appeler les nouvelles fonctions en réaction à l&#8217;événement &#8216;blur&#8217; et &#8216;focus&#8217;.<br /> ligne 46 : on appelle la fonction quand le document est complétement chargé, on lui passe également deux paramètres la classe sur lesquels opérer la manipulation et une marge à insérer entre le texte et le bord du cadre lorsque le texte se déplacera de l&#8217;intérieur de l&#8217;élément du formulaire vers la gauche</p>
<p><a href="http://pwyll.webetprint.com/sandbox/sliding_label/v2.html">Une petite démonstration de l&#8217;effet obtenu </a></p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/04/07/utiliser-rightjs-pour-l%e2%80%99effet-%e2%80%98sliding-label%e2%80%99-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RightJS : Evenement &#8216;Behave&#8217;</title>
		<link>http://pwyll.webetprint.com/2010/03/16/right-js-evenement-behave/</link>
		<comments>http://pwyll.webetprint.com/2010/03/16/right-js-evenement-behave/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 14:54:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=197</guid>
		<description><![CDATA[Ça sert à quoi ?
Cet évènement permet d'attacher au niveau du <strong>document</strong> un 'handler' pour gérer des évènements.]]></description>
			<content:encoded><![CDATA[<p>Ça sert à quoi ?<br />
Cet évènement permet d&#8217;attacher au niveau du <strong>document</strong> un &#8216;handler&#8217; pour gérer des évènements.</p>
<p>En pratique dans les exemples ci dessous  on va indiquer à tous les éléments &lt;li&gt; de la page de gérer l&#8217;évènement &#8216;click&#8217;; en d&#8217;autres termes, la fonction sera appelée à chaque fois qu&#8217;un élément &lt;li&gt; sera cliqué.<br />
Chose intéressante, si vous ajoutez de nouveaux éléments &lt;li&gt; au bloc existant, le comportement leur sera également appliqué.<br />
Enfin quelque soit l&#8217;endroit où le comportement est défini. Le script va re-scanner toute la page une fois que celle-ci sera complétement chargée.</p>
<p><span id="more-197"></span></p>
<p>Comme la doc manque d&#8217;exemple à ce sujet je vous ai pondu un petit lot d&#8217;exemple</p>
<p>Dans un premier temps nous allons commencer par ajouter une zone de liste, un clique sur un élément de la liste le fait disparaitre, pour éviter de tourner court par manque d&#8217;élément, je vous ai aussi inclus un bouton pour en ajouter</p>
<h2>Explication</h2>
<p>Ligne 02 vous noterez la nouvelle url pour appeler la version la plus à jour de RightJS<br/><br />
Ligne 05 on défini un ensemble d&#8217;éléments de la page en l&#8217;occurrence les éléments du dom correspondant à <strong>#todos-1 li</strong> comme devant être réactif à l&#8217;évènement <strong>click</strong>. Lorsque l&#8217;événement sera déclenché on appellera la fonction défini inline <strong>function() { this.remove(); }</strong>, qui détruira l&#8217;élément cliqué<br/><br />
Ligne 06 Pour éviter de tomber à cours de ligne, on décide d&#8217;ajouter un bouton qui va permettre d&#8217;ajouter un élément à l&#8217;intérieur du bloc <strong>#todos-1 li</strong>. Pour ceux à qui $$(&laquo;&nbsp;#todos-1 ul&nbsp;&raquo;)[0] semble hermétique je vous rappelle que $$() permet d&#8217;aller chercher un élément en fonction d&#8217;un descripteur CSS mais renvoi un tableau d&#8217;élément, $$(&laquo;&nbsp;#todos-1 ul&nbsp;&raquo;)<strong>[0]</strong> permet d&#8217;en prendre la première valeur ( j&#8217;aurais pu aussi écrire $$(&laquo;&nbsp;#todos-1 ul&nbsp;&raquo;).first() ). Enfin le $$(&laquo;&nbsp;#todos-1 ul&nbsp;&raquo;)[0].get(&laquo;&nbsp;childElementCount&nbsp;&raquo;), récupère du DOM le nombre d&#8217;élément &lt;li&gt;contenu dans la liste ( en passant la méthode <strong>[string].on()</strong> est juste un raccourci plus &#8217;sexy&#8217; sur la méthode Event.behave ) </p>
<pre class="brush: xml;">
...
&lt;script type='text/javascript' src='http://rightjs.org/hotlink/right.js'&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
// with usual functions
var h1 = Event.behave(&quot;#todos-1 li&quot;, &quot;click&quot;, function() { this.remove(); });
&quot;button#add-c&quot;.on('click', function(event) {
  $$(&quot;#todos-1 ul&quot;)[0].insert(new Element('li', {html: 'new-li '+$$(&quot;#todos-1 ul&quot;)[0].get(&quot;childElementCount&quot;)}));
});

....

&lt;h2&gt; Exemple 1 &lt;/h2&gt;
Cliquez pour supprimer...
&lt;div id=&quot;todos-1&quot;&gt;
	&lt;ul&gt;
		&lt;li&gt;A&lt;/li&gt;
		&lt;li&gt;B&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
&lt;button type=&quot;button&quot; id=&quot;add-c&quot;&gt;Ajouter un element&lt;/button&gt;
</pre>
<p>On peut aussi appeller Event.behave avec des chaines de caractère, ou bien avec une hashlist</p>
<pre class="brush: xml;">
Event.behave(&quot;#todos-2 li&quot;, &quot;click&quot;, &quot;addClass&quot;, &quot;marked&quot;);

// with a hash of handlers
Event.behave(&quot;#todos-3 li&quot;, {
	mouseover: function() { this.addClass('hovered'); },
	mouseout: ['removeClass', 'hovered'],
	click: 'remove'
});
</pre>
<p>Si vous devez arrêter certains comportement, il suffit d&#8217;ajouter les éléments suivants</p>
<pre class="brush: xml;">
// garder une reference sur le couple élément/évènement
var handlers = Event.behave(.....);
...
// stopper son observation
document.stopObserving(handlers);
</pre>
<p>Pour activer manuellement un élément il suffit de le déclencher au moyen de <strong>document.fire</strong>, deux paramètres suffiront :<br />
  l&#8217;évènement attendu,<br />
  un objet pseudo event contenant au moins la propriété [target] faisant référence à l&#8217;élément visé</p>
<p>Attention toutefois cette fonction est un peu &#8216;border line&#8217;, et peut avoir quelques effets de bord ( la fonction ne génère aucun évènement mais appelle les &#8216;écouteurs d&#8217;évènements&#8217; uns à uns )</p>
<pre class="brush: xml;">
// activation de l'événement 'click' sur le premier élément #todos-1 li
 document.fire('click',{target:$$(&quot;#todos-1 li&quot;).first()});
</pre>
<p><a href="http://pwyll.webetprint.com/sandbox/rightjs_4/event.behave_full.html">Demonstration Complète</a></p>
<p><em>Merci à l&#8217;auteur de RightJS, pour les éclaircissements sur certains points</em></p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/03/16/right-js-evenement-behave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>whatever-happened-to-programming</title>
		<link>http://pwyll.webetprint.com/2010/03/08/193/</link>
		<comments>http://pwyll.webetprint.com/2010/03/08/193/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 12:10:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[copier coller code]]></category>
		<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=193</guid>
		<description><![CDATA[Je ne résiste pas à mettre en exergue cet article; que je traduirais si j&#8217;en ai le temps
whatever-happened-to-programming
]]></description>
			<content:encoded><![CDATA[<p>Je ne résiste pas à mettre en exergue cet article; que je traduirais si j&#8217;en ai le temps<br />
<a href="http://reprog.wordpress.com/2010/03/03/whatever-happened-to-programming/">whatever-happened-to-programming</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/03/08/193/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RightJS et l&#8217;evenement OnLoad</title>
		<link>http://pwyll.webetprint.com/2010/02/09/rightjs-et-levenement-onload/</link>
		<comments>http://pwyll.webetprint.com/2010/02/09/rightjs-et-levenement-onload/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 16:39:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rightjs]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=185</guid>
		<description><![CDATA[Dans rightJS nous avons plusieurs options pour notifier le chargement du document
.::RightJS::. Documentation/Document

document.onReady(function() {&#8230;});
document.on(&#8216;ready&#8217;, function() {&#8230;});
document.observe(&#8216;ready&#8217;, function() {&#8230;});

Pour illustrer tout ça je vous ai fait un fichier de test à la sauce riot.js 
Demonstration
Comment s&#8217;y retrouver ?
En lisant la documentation on s&#8217;aperçoit en fait que onReady est un raccourci sur on(&#8216;ready&#8217;), et que observe sera [...]]]></description>
			<content:encoded><![CDATA[<p>Dans rightJS nous avons plusieurs options pour notifier le chargement du document<br />
<a href="http://rightjs.org/docs/document">.::RightJS::. Documentation/Document</a></p>
<ul>
<li>document.onReady(function() {&#8230;});</li>
<li>document.on(&#8216;ready&#8217;, function() {&#8230;});</li>
<li>document.observe(&#8216;ready&#8217;, function() {&#8230;});</li>
</ul>
<p>Pour illustrer tout ça je vous ai fait un fichier de test à la sauce <a href="http://github.com/alexyoung/riotjs">riot.js</a> </p>
<p><a href="http://pwyll.webetprint.com/sandbox/rightjs_1/test.html">Demonstration</a></p>
<p><strong>Comment s&#8217;y retrouver ?</strong><br />
En lisant la documentation on s&#8217;aperçoit en fait que onReady est un raccourci sur on(&#8216;ready&#8217;), et que observe sera à éviter&#8230; privilégions donc onReady qui à l&#8217;avantage d&#8217;être plus lisible</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/02/09/rightjs-et-levenement-onload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser RightJS pour l&#8217;effet &#8216;Sliding Label&#8217;</title>
		<link>http://pwyll.webetprint.com/2010/01/22/utiliser-rightjs-pour-leffet-sliding-label/</link>
		<comments>http://pwyll.webetprint.com/2010/01/22/utiliser-rightjs-pour-leffet-sliding-label/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 13:50:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rightjs]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=168</guid>
		<description><![CDATA[En regardant mes tweet, un lien SmashingMagazine faisant référence à cet article a attiré mon attention.
Le principe est de déplacer les label des zone de saisie des formulaire à l&#8217;intérieur de la zone de saisie lorsque cette dernière ne contient pas le focus, et de le remettre à sa place lors du focus.
L&#8217;article original utilisait [...]]]></description>
			<content:encoded><![CDATA[<p>En regardant mes tweet, un lien SmashingMagazine faisant référence à cet <a href="http://www.csskarma.com/blog/sliding-labels/">article</a> a attiré mon attention.<br />
Le principe est de déplacer les label des zone de saisie des formulaire à l&#8217;intérieur de la zone de saisie lorsque cette dernière ne contient pas le focus, et de le remettre à sa place lors du focus.<br />
L&#8217;article original utilisait JQuery , je vous propose son adaptation pour RightJS.</p>
<p><span id="more-168"></span></p>
<p><a href="http://pwyll.webetprint.com/sandbox/rightjs_3/test.html">demo</a></p>
<pre class="brush: xml;">
&lt;head&gt;
	&lt;style&gt;
	body { font:12px/1.3 Arial, Sans-serif; }
	form { width:380px;padding:0 90px 20px;margin:auto;background:#f7f7f7;border:1px solid #ddd; }
	div { clear:both;position:relative;margin:0 0 10px; }
	label { cursor:pointer;display:block; }
	input[type=&quot;text&quot;] { width:300px;border:1px solid #999;padding:5px;-moz-border-radius:4px; }
	input[type=&quot;text&quot;]:focus { border-color:#777; }
	input[name=&quot;zip&quot;] { width:150px; }

	/* submit button */
	input[type=&quot;submit&quot;] { cursor:pointer;border:1px solid #999;padding:5px;-moz-border-radius:4px;background:#eee; }
	input[type=&quot;submit&quot;]:hover,
	input[type=&quot;submit&quot;]:focus { border-color:#333;background:#ddd; }
	input[type=&quot;submit&quot;]:active{ margin-top:1px; }
	&lt;/style&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;js/right-min.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
	// &lt;!--
		var slidingLabelInit = function slidingLabelInit() {
		// wanna collect all labels wrapped in a slider tag class
		$$('form#info .slider label').each(function(el){

		var labelColor = '#999';
		var restingPosition = '5px';
		// put label in input
		el.setStyle({
			'color' 	: labelColor,
			'position' 	: 'absolute',
			'top' 		: '6px',
			'left' 		: restingPosition,
			'display' 	: 'inline',
			'z-index' 	: '99'
		});
		// grab the input value
		var inputval = el.next('input').value;

		// grab the label width, then add 5 pixels to it
		var labelMoveLeft = (el.dimensions()).width + 5;
		if ((typeof inputval !== &quot;undefined&quot; &amp;&amp; inputval !== null)) {
			//moveTo
			el.moveTo( -labelMoveLeft,7 );
		}

		el.siblings('input').first().on( 'focus', function(){
			el = this.siblings('label').first();
				if ((typeof this.value !== &quot;undefined&quot; &amp;&amp; this.value !== null)) {
				//moveTo
				el.moveTo( -((el.dimensions()).width+5),7 );
			}
		}).on( 'blur', function(){
			el = this.siblings('label').first();
			if ((typeof this.value == &quot;undefined&quot; || this.value == null || this.value.length ==0 )) {
				//moveTo
				el.moveTo( 5 ,7 );
			}
		   });
	       });
         };
         document.observe('ready', slidingLabelInit);
         // --&gt;
	&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div id=&quot;element-id1&quot;&gt;&lt;/div&gt;
&lt;h1&gt;Sliding Labels Original by &lt;a href=&quot;http://www.csskarma.com&quot; rel=&quot;home&quot;&gt;CSSKarma&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;http://www.csskarma.com/blog/sliding-labels/&quot;&gt;Back to the Original article&lt;/a&gt;&lt;/p&gt;
&lt;form action=&quot;&quot; method=&quot;post&quot; id=&quot;info&quot;&gt;
	&lt;h2&gt;Contact Information&lt;/h2&gt;
	&lt;div id=&quot;name-wrap&quot; class=&quot;slider&quot;&gt;
		&lt;label for=&quot;name&quot;&gt;Name&lt;/label&gt;
		&lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot;&gt;

	&lt;/div&gt;&lt;!--/#name-wrap--&gt;

	&lt;div id=&quot;email-wrap&quot;  class=&quot;slider&quot;&gt;
		&lt;label for=&quot;email&quot;&gt;E&amp;ndash;mail&lt;/label&gt;
		&lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;&gt;
	&lt;/div&gt;&lt;!--/#email-wrap--&gt;

	&lt;div id=&quot;street-wrap&quot;  class=&quot;slider&quot;&gt;
		&lt;label for=&quot;st&quot;&gt;Street&lt;/label&gt;

		&lt;input type=&quot;text&quot; id=&quot;st&quot; name=&quot;st&quot;&gt;
	&lt;/div&gt;&lt;!--/#street-wrap--&gt;

	&lt;div id=&quot;city-wrap&quot;  class=&quot;slider&quot;&gt;
		&lt;label for=&quot;city&quot;&gt;City &amp;amp; State&lt;/label&gt;
		&lt;input type=&quot;text&quot; id=&quot;city&quot; name=&quot;city&quot;&gt;
	&lt;/div&gt;&lt;!--/#city-wrap--&gt;

	&lt;div id=&quot;zip-wrap&quot;  class=&quot;slider&quot;&gt;

		&lt;label for=&quot;zip&quot;&gt;Zip code&lt;/label&gt;
		&lt;input type=&quot;text&quot; id=&quot;zip&quot; name=&quot;zip&quot;&gt;
	&lt;/div&gt;&lt;!--/#zip-wrap--&gt;

	&lt;input type=&quot;submit&quot; id=&quot;btn&quot; name=&quot;btn&quot; value=&quot;submit&quot;&gt;
&lt;/form&gt;

&lt;/body&gt;
</pre>
<p>Il reste l&#8217;animation a améliorer, ça fera partie d&#8217;un prochaine tutorial</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/01/22/utiliser-rightjs-pour-leffet-sliding-label/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Premiers Pas avec JSClass et Right.js</title>
		<link>http://pwyll.webetprint.com/2010/01/22/premiers-pas-avec-jsclass-et-right-js/</link>
		<comments>http://pwyll.webetprint.com/2010/01/22/premiers-pas-avec-jsclass-et-right-js/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 11:17:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rightjs]]></category>
		<category><![CDATA[ruby-like]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=158</guid>
		<description><![CDATA[Voilà quelques jours que je suis avec attention ce projets :   rightjs, certes il y a déjà jquery ( que je suis depuis quelques années déjà ) dans notre panoplie de développeur mais un petit nouveau est toujours une chose stimulante. En plus il a des airs de ruby comme je les aime
Pour [...]]]></description>
			<content:encoded><![CDATA[<p>Voilà quelques jours que je suis avec attention ce projets :  <a href="http://rightjs.org/"> rightjs</a>, certes il y a déjà jquery ( que je suis depuis quelques années déjà ) dans notre panoplie de développeur mais un petit nouveau est toujours une chose stimulante. En plus il a des airs de ruby comme je les aime<br />
Pour corser le tout, j&#8217;ai eu envie de le croiser avec <a href="http://jsclass.jcoglan.com/">JS.Class</a> la librairie javascript à la sauce ruby<br />
<span id="more-158"></span><br />
Ce premier exemple a pour seule vocation de charger et d&#8217;afficher la version de rightjs directement sur le site du concepteur</p>
<p>pour ce faire nous aurons besoin dans JSClass de<br />
 core.js<br />
 package.js qui gère les dépendances de package</p>
<pre class="brush: xml;">
	&lt;head&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;JSClass/core.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot; src=&quot;JSClass/package.js&quot;&gt;&lt;/script&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		JS.Packages(function() { with(this) {
			file('http://rightjs.org/builds/current/right-min.js').provides('RightJS');
			}
		});
		require('RightJS', function() {
        	var el = $('element-id1');
			el.insert('&lt;p&gt;Succesful Load Right JS Version :'+RightJS.version+'&lt;/p&gt;');
		});
		&lt;/script&gt;
	&lt;/head&gt;

	&lt;body&gt;
	&lt;div id=&quot;element-id1&quot;&gt;&lt;/div&gt;
	&lt;/body&gt;
</pre>
<p>Remarque :<br />
la ligne 06 et la ligne 09 travaillent de paire ; la ligne 06 précise que le chargement de la librairie définira un espace de nom appelé &#8216;RightJS&#8217; et la ligne 09 précise que le code qui suivra ne pourra s&#8217;exécuter que si l&#8217;espace de nom &#8216;RightJS&#8217; est défini.</p>
<p>Affiche<br />
<a href="http://pwyll.webetprint.com/sandbox/rightjs_2/test.html">Demo</a><br />
Succesful Load Right JS Version :1.5.3</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2010/01/22/premiers-pas-avec-jsclass-et-right-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prestashop : mon mode debug</title>
		<link>http://pwyll.webetprint.com/2009/12/03/prestashop-mon-mode-debug/</link>
		<comments>http://pwyll.webetprint.com/2009/12/03/prestashop-mon-mode-debug/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 23:12:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[prestashop]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firephp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=117</guid>
		<description><![CDATA[Quand on développe un module ou une fonctionnalité Prestashop on aimerait bien pouvoir avoir sous les yeux certaines valeurs.
Voilà ma petite recette personnelle :

télécharger si ce n&#8217;est pas encore fait Firebug
télécharger si ce n&#8217;est pas encore fait FirePHP
recopier le repertoire &#8216;FirePHPCore&#8217; dans le répertoire classe de prestashop
ajouter la fonction suivante dans le module


static private function [...]]]></description>
			<content:encoded><![CDATA[<p>Quand on développe un module ou une fonctionnalité Prestashop on aimerait bien pouvoir avoir sous les yeux certaines valeurs.</p>
<p>Voilà ma petite recette personnelle :</p>
<ul>
<li>télécharger si ce n&#8217;est pas encore fait <a href="https://addons.mozilla.org/fr/firefox/addon/1843">Firebug</a></li>
<li>télécharger si ce n&#8217;est pas encore fait <a href="http://www.firephp.org/">FirePHP</a></li>
<li>recopier le repertoire &#8216;FirePHPCore&#8217; dans le répertoire classe de prestashop</li>
<li>ajouter la fonction suivante dans le module</li>
</ul>
<pre class="brush: css;">
static private function dbg($m_data,$i_severity=1)
{
	require_once(_PS_CLASS_DIR_.'FirePHPCore/FirePHP.class.php');
	$m_fp = FirePHP::getInstance(true); 

	switch( $i_severity )
	{
		case 1:
			$m_fp-&gt;log($m_data);
			break;
		case 2:
			$m_fp-&gt;info($m_data);
			break;
		case 3:
			$m_fp-&gt;warn($m_data);
			break;
		case 4:
			$m_fp-&gt;error($m_data);
			break;
		default:
			$m_fp-&gt;log($m_data);
	}

}
</pre>
<p>Ce n&#8217;est certes pas une fonction très évoluée, mais elle me suffit largement ; de plus comme je l&#8217;ai souvent expérimentés à mes dépends ( et je ne pense pas être le seul ) &laquo;&nbsp;au plus simple au mieux&nbsp;&raquo;.</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2009/12/03/prestashop-mon-mode-debug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sass ou Less ?</title>
		<link>http://pwyll.webetprint.com/2009/12/03/sass-ou-less/</link>
		<comments>http://pwyll.webetprint.com/2009/12/03/sass-ou-less/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 22:42:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://pwyll.webetprint.com/?p=89</guid>
		<description><![CDATA[Quel rapport me direz vous ? En fait  Sass est le prédécesseur de Less, l&#8217;auteur de ce dernier explique d&#8217;ailleurs ici les raisons qui l&#8217;ont poussé à écrire ce nouvel outil. 
Puisque je connais un peu less j&#8217;ai eu envie de goûter au grand frère. 
A première vue rien de bien différent, si ce [...]]]></description>
			<content:encoded><![CDATA[<p>Quel rapport me direz vous ? En fait  <a href="http://sass-lang.com/try.html">Sass</a> est le prédécesseur de Less, l&#8217;auteur de ce dernier explique d&#8217;ailleurs <a href="http://lesscss.org/about.html">ici</a> les raisons qui l&#8217;ont poussé à écrire ce nouvel outil. </p>
<p>Puisque je connais un peu less j&#8217;ai eu envie de goûter au grand frère. </p>
<p>A première vue rien de bien différent, si ce n&#8217;est l&#8217;indentation rendue obligatoire par la non présence des accolades dans le code sass, et quelques différences de langage : !ma_variable plutôt que @ma_variable.</p>
<p>à l&#8217;utilisation quelques différences apparaissent</p>
<p><span id="more-89"></span></p>
<p>les variables sass peuvent être modifiées</p>
<pre class="brush: css;">
// test.sass
!primary_color = #eeeeee
!primary_color = #ffffff

#contents
  #sidebar
    color= !primary_color

!primary_color = red

.toto
  color = !primary_color
</pre>
<p>génère le resultat suivant</p>
<pre class="brush: css;">
#contents #sidebar {
  color: white; }

.toto {
  color: red; }
</pre>
<p>Comme précisé dans la <a href="http://lesscss.org/docs.html">documentation en ligne</a> less n&#8217;autorise pas ce genre d&#8217;opérations.<br />
&#8230;</p>
<blockquote><p>Note that variables are actually &#8216;constants&#8217; in that they can only be defined once. </p></blockquote>
<pre class="brush: css;">
// test.less
@primary_color: #eeeeee;
@primary_color: #ffffff;

#contents {
  #sidebar {
    color: @primary_color;
	}
}

@primary_color: red;

.toto {
  color: @primary_color;
}
</pre>
<p>génère le resultat suivant</p>
<pre class="brush: css;">
#contents #sidebar { color: #eeeeee; }
.toto { color: #eeeeee; }
</pre>
<p>au niveau des autres différences nous avons les directives de contrôle : if, for, while qui n&#8217;existe pas dans less, ainsi que la possibilité d&#8217;inclure dans les css générée des commentaires à partir du fichier sass ; ainsi que l&#8217;Interpolation: #{} permettant d&#8217;evaluer une variable lors du processus de transformation ( exemple extrait de la documentation )</p>
<pre class="brush: css;">
!name = foo
!attr = border
p.#{!name}
  #{!attr}-color: blue
</pre>
<p>is compiled to:</p>
<pre class="brush: css;">
p.foo {
  border-color: blue; }
</pre>
<p>par contre je n&#8217;ai pas trouvé dans sass comment récupérer la valeur d&#8217;une propriété d&#8217;une règle précédemment définie comme on peut le faire dans less</p>
<pre class="brush: css;">
.article { color: #294366; }

.comment {
  color: .article['color'];
}
</pre>
<h2>Conclusion</h2>
<p>Les deux systèmes se valent, j&#8217;ai personnellement une préférence pour Less, en effet je préfère sa syntaxe et surtout j&#8217;aime bien l&#8217;idée des &#8216;variables constantes&#8217;, et des sélecteur de propriété.</p>
]]></content:encoded>
			<wfw:commentRss>http://pwyll.webetprint.com/2009/12/03/sass-ou-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
