<?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>JegnuX'Blog &#187; Geek</title>
	<atom:link href="http://jegnux.com/category/geek/feed/" rel="self" type="application/rss+xml" />
	<link>http://jegnux.com</link>
	<description>Blog d'un développeur</description>
	<lastBuildDate>Sat, 29 Aug 2009 10:40:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Transformer une URL en TinyURL à la volée !</title>
		<link>http://jegnux.com/2009/02/22/transformer-une-url-en-tinyurl-a-la-volee/</link>
		<comments>http://jegnux.com/2009/02/22/transformer-une-url-en-tinyurl-a-la-volee/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 02:32:23 +0000</pubDate>
		<dc:creator>JegnuX</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Quicksilver]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tinyurl]]></category>

		<guid isPermaLink="false">http://www.jegnux.com/?p=60</guid>
		<description><![CDATA[Je viens récemment de me mettre au langage Ruby dans l&#8217;optique de commencer un projet basé sur Ruby On Rails. Pour m&#8217;exercer je m&#8217;amuse à faire quelques scripts et il y en a un qui je pense peux en intéressé plus d&#8217;un. Il s&#8217;agit de récupérer le contenu du presse papier et si celui-ci contient une URL [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens récemment de me mettre au langage Ruby dans l&#8217;optique de commencer un projet basé sur Ruby On Rails. Pour m&#8217;exercer je m&#8217;amuse à faire quelques scripts et il y en a un qui je pense peux en intéressé plus d&#8217;un. Il s&#8217;agit de récupérer le contenu du presse papier et si celui-ci contient une URL de plus de 25 caractères je la transforme en TinyURL, qui permet de partager des URL plus courtes (très utilisé sur Twitter notamment).<br />
<span id="more-60"></span><br />
Voici le code :</p>

<div class="wp_codebox"><table width="100%" ><tr id="p602"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p60code2"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'open-uri'</span>
&nbsp;
<span style="color:#008000; font-style:italic;">#On récupere le contenu du presse papier en enlevant les espaces de debut et de fin</span>
copyUrl = <span style="color:#CC00FF; font-weight:bold;">IO</span>.<span style="color:#9900CC;">popen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'pbpaste'</span>, <span style="color:#996600;">'r+'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">read</span>.<span style="color:#9900CC;">strip</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># Si c'est une URL de plus de 30 caractères</span>
<span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">/</span>^http:\<span style="color:#006600; font-weight:bold;">/</span>\<span style="color:#006600; font-weight:bold;">//</span>.<span style="color:#9900CC;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span>copyUrl<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">and</span> copyUrl.<span style="color:#9900CC;">length</span> <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#006666;">25</span>
&nbsp;
	<span style="color:#008000; font-style:italic;"># Si ce n'en est pas déjà une, on la transforme en tinyurl.</span>
	<span style="color:#9966CC; font-weight:bold;">unless</span> <span style="color:#006600; font-weight:bold;">/</span>tinyurl\.<span style="color:#9900CC;">com</span><span style="color:#006600; font-weight:bold;">/</span>.<span style="color:#9900CC;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span>copyUrl<span style="color:#006600; font-weight:bold;">&#41;</span>
		url = <span style="color:#CC00FF; font-weight:bold;">URI</span>.<span style="color:#9900CC;">escape</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'http://tinyurl.com/api-create.php?url='</span> <span style="color:#006600; font-weight:bold;">+</span> copyUrl<span style="color:#006600; font-weight:bold;">&#41;</span>
		resultURL = <span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">read</span>
&nbsp;
		<span style="color:#008000; font-style:italic;"># On copie le résultat dans le presse papier</span>
		<span style="color:#CC00FF; font-weight:bold;">IO</span>.<span style="color:#9900CC;">popen</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'pbcopy'</span>, <span style="color:#996600;">'w'</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#CC0066; font-weight:bold;">puts</span> resultURL
	<span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Comme vous pouvez le voir cela est très simple à faire. Bon, après avoir enregistrer ce code dans un fichier ruby (.rb) pensez à le rendre executable avec un <code>chmod +x tinythis.rb</code><br />
Maintenant vous pouvez appeller le script via un ./tinythis.rb vais vous avouerais que cela n&#8217;est pas très pratique. Le mieux serait de pouvoir exécuter ça rapidement sans passer par la ligne de commande.</p>
<p>Et il y a une solution pour ça, en tout cas sous Mac OS X : utiliser les triggers de Quicksilver ! Et oui, ce fabuleux lanceur d&#8217;application permet aussi d&#8217;effectuer plein d&#8217;action en les associants à des raccourcis clavier, et justement ou peux exécuter des scripts ! C&#8217;est pas beau <del>la vie</del> Quicksilver ?</p>
<p>Pour cela vous devez vous rendre dans l&#8217;onglet &#8220;Triggers&#8221; Quicksilver. Tout en bas de le fenêtre cliquez sur le <code>+</code> et choisissez <code>Hotkey</code>.</p>
<div style="text-align:center;width:100%; margin:20px 0px;">
 <img src="http://www.jegnux.com/wp-content/uploads/image-13.png" alt="Add Hotkey" style="border:solid 1px #000000;"/>
</div>
<p>Dans la nouvelle ligne qui apparaît double-cliquez sur la partie <code>command</code>. Dans le premier champs vous pouvez directement glisser-déposer votre script ruby comme sur la capture :</p>
<div style="text-align:center;width:100%; margin:20px 0px;">
 <img src="http://www.jegnux.com/wp-content/uploads/image-22.png" alt="Drag'n'Drop Script" style="border:solid 1px #000000;"/>
</div>
<p>Dans tout les cas, quelque soit la façon dont vous fassiez, vous devez obtenir cela :</p>
<div style="text-align:center;width:100%; margin:20px 0px;">
 <img src="http://www.jegnux.com/wp-content/uploads/image-3.png" alt="Config Trigger" style="border:solid 1px #000000;"/>
</div>
<p>Cliquez sur <code>save</code>. Maintenant cliquez dans dans la zone <code>trigger</code> de votre ligne et définissez votre raccourci clavier. Personnellement j&#8217;ai choisir <code>CMD+SHIFT+C</code> ainsi je copie avec <code>CMD+C</code> et je n&#8217;ai qu&#8217;à rajouter <code>SHIFT</code> pour transformer en Tinyurl.</p>
<div style="text-align:center;width:100%;margin:20px 0px;">
 <img src="http://www.jegnux.com/wp-content/uploads/image-42.png" alt="Config Trigger" style="border:solid 1px #000000;"/>
</div>
<p>Si cependant vous avez une solution pour effectuer <strong>en même temps</strong> la copie dans le presse papier <strong>et</strong> la transformation en TinyURL, n&#8217;hésitez pas à me l&#8217;indiquer dans les commentaires ;-)</p>
<p>Voilà c&#8217;est la fin de cet article, si vous avez un soucis avec l&#8217;une des étapes n&#8217;hésitez pas à poser votre question =)</p>
]]></content:encoded>
			<wfw:commentRss>http://jegnux.com/2009/02/22/transformer-une-url-en-tinyurl-a-la-volee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouveau Macbook Pro :)</title>
		<link>http://jegnux.com/2008/11/22/nouveau-macbook-pro/</link>
		<comments>http://jegnux.com/2008/11/22/nouveau-macbook-pro/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 14:34:23 +0000</pubDate>
		<dc:creator>JegnuX</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Macbook Pro]]></category>
		<category><![CDATA[Moi]]></category>

		<guid isPermaLink="false">http://www.jegnux.com/?p=43</guid>
		<description><![CDATA[Quand on est à SUPINFO, ou même tout simplement quand notre machine personnelle est aussi notre machine de travail, je pense qu&#8217;il est assez important d&#8217;avoir une machine sous garantie. Quand j&#8217;avais acheté mon premier Mac en Septembre 2007, je n&#8217;avais pas pris d&#8217;extension de garantie, faute de moyens sur le moment.
Un choix assez facile
C&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>Quand on est à SUPINFO, ou même tout simplement quand notre machine personnelle est aussi notre machine de travail, je pense qu&#8217;il est assez important d&#8217;avoir une machine sous garantie. Quand j&#8217;avais acheté mon premier Mac en Septembre 2007, je n&#8217;avais pas pris d&#8217;extension de garantie, faute de moyens sur le moment.</p>
<p><strong>Un choix assez facile</strong></p>
<p>C&#8217;est pourquoi en septembre dernier j&#8217;envisageais de me prendre un AppleCare qui pouvait étendre ma garantie à deux années supplémentaires. Mais voilà, ça faisait quelques jours que des rumeurs annonçaient des nouveaux Macbook Pro pour le 14 octobre avec un nouveau design. Après un bref calcul, je me suis dis &#8220;si j&#8217;arrive à vendre mon Mac minimum 1100€ avant le 21 septembre (date limite de ma garantie) je me prendrais le nouveau, sinon je me prend une extension de garantie&#8221; car comme à SUPINFO on a 15% de réductions sur les macs, cela me revenait quasiment au même prix de me prendre un AppleCare ou un nouveau Mac. Et devinez quoi ? j&#8217;ai réussi à le vendre =D</p>
<p>Bon c&#8217;était un peu dur de m&#8217;en séparer, surtout car j&#8217;allais me retrouver sans ordinateur, pendant plus d&#8217;un mois ^^ Heureusement Mayou&#8217;s (un ami de SUPINFO) a réussi à me dégotter un ordinateur portable. Bon ok, il était pas tout neuf et il tournait sur Windows, mais ça m&#8217;a bien dépanné :)</p>
<p><strong>Ils arrivent ou bien ?!</strong></p>
<p>Les jours passaient et Apple n&#8217;avait toujours pas annoncé de date pour un Special Event de présentation des nouvelles machines. Je commençais à me demander si j&#8217;avais bien fait, et si de nouvelles machines allaient vraiment sortir ^^ Heureusement certains sites dédiés au mac avaient réussi à prendre des photo volée des futures machines, ce qui me laissé un peu d&#8217;espoir ^^&#8221;</p>
<p>Seulement 5 jours avant la date estimée du 14 octobre, Apple envoie les cartons d&#8217;invitation pour un Special Event avec un slogan qui ne cachait rien &#8220;<em><span style="font-style: normal;">s</span><span style="font-style: normal;">potlight turns</span></em> to <em><span style="font-style: normal;">notebooks</span></em>&#8220;. Le jour J, de suite après le Keynote de Steve, je me rue sur l&#8217;Apple Store en ligne, qui bien sûr était surchargé, et passe commande.</p>
<p><strong>Enfin =D</strong></p>
<p>Après 3 semaines d&#8217;attente et après avoir vu <a href="http://woodgate.me">Woodgate</a>, ou encore <a href="http://maximegaillard.com">MGL</a> avoir reçu les leurs avant moi (pour un commande effectuée après moi :/ ) j&#8217;ai enfin reçu mon mien \o/</p>
<p>Ma première réaction &#8220;Waaoooooh&#8221; (oui je sais c&#8217;est censé être le slogan de windows Vista, mais il est plus approprié pour un Mac :p ).</p>
<p>L&#8217;écran brillant est assez lumineux pour estomper les éventuels reflets,  le trackpad géant et multitouch est un vrai plaisir quand on ne se sert pas du mulot, le design est sublime, et la coque unibody donne vraiment une impression de robustesse et de finesse =)</p>
<p><strong>Une photo ?</strong></p>
<div style="text-align:center;width:100%;">
 <img src="http://farm4.static.flickr.com/3196/3008753914_0ba32e8d42.jpg" alt="Macbook Pro" style="border:solid 1px #000000;"/><br />
Plus de photo sur mon<strong> <a style="color: #3366ff;;" href="http://www.flickr.com/photos/jegnux/sets/72157608709549644/">flick<span style="color: #ff00ff;">r</span></a></strong></div>
]]></content:encoded>
			<wfw:commentRss>http://jegnux.com/2008/11/22/nouveau-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flex Development</title>
		<link>http://jegnux.com/2008/07/06/adobe-flex-development/</link>
		<comments>http://jegnux.com/2008/07/06/adobe-flex-development/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 15:33:28 +0000</pubDate>
		<dc:creator>JegnuX</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Géolocalisation]]></category>
		<category><![CDATA[Stage]]></category>

		<guid isPermaLink="false">http://www.jegnux.com/?p=31</guid>
		<description><![CDATA[Pour mon stage de fin de 1ère année à SUPINFO, j&#8217;ai été pris dans la société Genezis à Grenoble. Pour ce stage j&#8217;ai été pris en tant que développeur Flex, bien que n&#8217;ayant jamais touché au Flex. 
Mais alors c&#8217;est quoi le &#8220;Flex&#8221; ? En fait comme vous le savez sûrement le Flash est plutôt orienté [...]]]></description>
			<content:encoded><![CDATA[<p>Pour mon stage de fin de 1ère année à SUPINFO, j&#8217;ai été pris dans la société <a href="http://genezis.fr">Genezis</a> à Grenoble. Pour ce stage j&#8217;ai été pris en tant que développeur Flex, bien que n&#8217;ayant jamais touché au Flex. </p>
<p>Mais alors c&#8217;est quoi le &#8220;Flex&#8221; ? En fait comme vous le savez sûrement le Flash est plutôt orienté sur l&#8217;animation plutôt que sur le contenu. Ainsi il est plutôt rare de voir de vraies <a href="http://fr.wikipedia.org/wiki/Rich_Internet_Application">RIA</a> en flash. C&#8217;est pour cela que Adobe à créer Flex (enfin&#8230; ils l&#8217;ont racheté à macromedia).</p>
<p>Flex est en gros un langage de programmation basé sur le <a href="http://fr.wikipedia.org/wiki/XML">XML</a> et permet de coder assez rapidement des applications web pourvu d&#8217;une interface assez agréable. Flex utilise également l&#8217;ActionScript qui ressemble fortement au JavaScript, ce qui permet de faire beaucoup d&#8217;interactions entre les éléments. On peut également interroger un serveur avec du <a href="http://fr.wikipedia.org/wiki/PHP">PHP</a>, <a href="http://fr.wikipedia.org/wiki/Coldfusion">ColdFusion</a> ou autre. Au final Flex compile le projet et génère un fichier SWF lisible avec le plugin Flash Player.</p>
<p>Bien que je ne soit pas totalement fan du Flash, une récente nouvelle commence à me faire changer d&#8217;avis. En effet <a href="http://www.pcinpact.com/actu/news/44529-adobe-google-yahoo-flash-indexation.htm">Adobe travaille avec Google et Yahoo</a> afin de rendre le contenu des fichiers SWF indexable ce qui le rend beaucoup plus orienté site web, et non seulement pour les jeux et animations.<br />
Par ailleurs le plugin Flash est estimé être installé sur <a href="http://www.adobe.com/products/player_census/flashplayer/">98%</a> du parc informatique connecté à internet.</p>
<p>Donc l&#8217;avantage principal du Flash par rapport au simple HTML, c&#8217;est que le plugin flash (multi-plateformes) offre le même rendu que ce soit sur Windows ou Mac, avec Internet Explorer ou avec Firefox. On n&#8217;a donc pas les problèmes d&#8217;affichages que les développeurs rencontrent souvent dû au fait que les navigateurs n&#8217;interprètent pas de la même façon le code XHTML, CSS et JavaScript.</p>
<p>Enfin bref, voici <a href="http://genezis.jegnux.com/itineraire/index.html">un exemple</a> de ce que j&#8217;ai pu réaliser en 4 jours de programmation sachant que lorsque j&#8217;ai commencé je n&#8217;avais que très peu touché au Flex (genre j&#8217;avais créé deux/trois boutons) et surtout il m&#8217;a fallu un peu de temps pour tester différentes API entre celles de Google Maps, Yahoo Maps et Via Michelin.</p>
<p>Si cette technologie vous intéresse et que vous souhaitiez vous y mettre voici quelque liens :<br />
<a href="http://www.adobe.com/devnet/flex/">Flex Developer Center</a> &#8211; onglet Getting Started<br />
<a href="http://livedocs.adobe.com/flex/3/html/help.html?content=Part2_DevApps_1.html">Flex 3 Developer&#8217;s Guide</a><br />
<a href="http://livedocs.adobe.com/flex/3/langref/index.html">Flex 3 Language Reference</a> &#8211; Contient toutes les informations sur chaque composants<br />
<a href="http://www.adobe.com/support/documentation/en/flex/">Flex Ressources</a> &#8211; Annuaire des ressources dispo sur Flex</p>
<p><a href="http://www.flex-tutorial.fr/">Flex Tutorial</a> &#8211; Site proposant de nombreux tutoriaux</p>
<p>Bonne continuation.</p>
]]></content:encoded>
			<wfw:commentRss>http://jegnux.com/2008/07/06/adobe-flex-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Trons : premier groupe de rock robotique</title>
		<link>http://jegnux.com/2008/06/21/the-trons-premier-groupe-de-rock-robotique/</link>
		<comments>http://jegnux.com/2008/06/21/the-trons-premier-groupe-de-rock-robotique/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 13:48:44 +0000</pubDate>
		<dc:creator>JegnuX</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Musique]]></category>
		<category><![CDATA[Robotique]]></category>
		<category><![CDATA[Rock]]></category>

		<guid isPermaLink="false">http://www.jegnux.com/?p=29</guid>
		<description><![CDATA[Que se passe t&#8217;il quand des geek décident de devenir musiciens ? Apprenent-ils à jouer d&#8217;un instrument ou à chanter ? Bien sûr que non, un bon geek va créer un robot pour jouer d&#8217;un instrument ! Ainsi des néo-zélandais ont créé un groupe de musique entièrement constitué de robots : The Trons.
Le résultat est [...]]]></description>
			<content:encoded><![CDATA[<p>Que se passe t&#8217;il quand des geek décident de devenir musiciens ? Apprenent-ils à jouer d&#8217;un instrument ou à chanter ? Bien sûr que non, un bon geek va créer un robot pour jouer d&#8217;un instrument ! Ainsi des néo-zélandais ont créé un groupe de musique entièrement constitué de robots : The Trons.</p>
<p>Le résultat est excellent ! Vivement une tournée que je puisse les voir en concert :)</p>
<div style="margin:auto;width:425px">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/c2JChnwv2Ws&#038;hl=en"></param><embed src="http://www.youtube.com/v/c2JChnwv2Ws&#038;hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jegnux.com/2008/06/21/the-trons-premier-groupe-de-rock-robotique/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
