<?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>Grummfy&#039;s project &#187; découverte</title>
	<atom:link href="http://grummfy.be/blog/key/decouverte/feed" rel="self" type="application/rss+xml" />
	<link>http://grummfy.be/blog</link>
	<description>Mes projets, mes rêves, mes envies, ...</description>
	<lastBuildDate>Mon, 02 Jan 2012 00:03:47 +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>WebHook Google Code &#8211; recevoir un mail à chaque commit</title>
		<link>http://grummfy.be/blog/310#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/310#comments</comments>
		<pubDate>Fri, 18 Jun 2010 23:58:59 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=310</guid>
		<description><![CDATA[Google code et webhook : envoyer un email a chaque commit]]></description>
			<content:encoded><![CDATA[<p>Dans Google code il y a la possibilité d&#8217;utiliser un gestionnaire de version tel que subversion (svn) ou mercurial (hg). C&#8217;est bien pratique, mais malheureusement, de base, rien n&#8217;est prévu pour prévenir (excepté par flux RSS) les gens de ces mises à jour. Cependant, Google code permet d&#8217;utiliser un webhook en post commit.</p>
<h2>Qu&#8217;est-ce qu&#8217;un webhook?</h2>
<p>Un webhook c&#8217;est un &laquo;&nbsp;crochet web&nbsp;&raquo;, c&#8217;est-à-dire une URL a appelée après (avant ou pendant) une action X. Dans notre cas, après chaque commit une URL est appelée.</p>
<h2>Utilisation</h2>
<p>Voici un exemple de code que j&#8217;utilise pour plusieurs de mes projets :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// project name</span>
<span style="color: #000088;">$projects</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'mon-super-projet'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// google code webhook key</span>
<span style="color: #000088;">$keys</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
	<span style="color: #0000ff;">'b-box'</span>	<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Top-Secret_key_fourni_par_google-dans-l-adminsitration'</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//user agent from google code</span>
<span style="color: #000088;">$useragent</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Google Code Project Hosting (+http://code.google.com/p/support/wiki/PostCommitWebHooks)'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//email of all owner (eg. project chief)</span>
<span style="color: #000088;">$owners</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'vous@example.com'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//email of all team members except owners</span>
<span style="color: #000088;">$users</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'toi@example.com'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//sender of email</span>
<span style="color: #000088;">$sender</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'WebHook mailer&lt;webmaster@exemple.com&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//----------------------------------------------------------------------</span>
<span style="color: #000088;">$project</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'p'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'p'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$revision</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'r'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'r'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:-</span><span style="color: #cc66cc;">99</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'php://input'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$digest</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_GOOGLE_CODE_PROJECT_HOSTING_HOOK_HMAC'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_GOOGLE_CODE_PROJECT_HOSTING_HOOK_HMAC'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//----------------------------------------------------------------------</span>
<span style="color: #009933; font-style: italic;">/**
 * Send a mail
 * @param string $from email of the sender : sample@example.com or &quot;name&quot;&lt;sample@example.com&gt;;
 * @param array $to [a] =&gt; list of email [cc], [bcc] (hidden), ...
 * @param string $subject
 * @param string $body
 * @return bool true if success
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> mailer<span style="color: #009900;">&#40;</span><span style="color: #000088;">$from</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span> <span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$body</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</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: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'From: '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$from</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bcc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bcc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Bcc: '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'bcc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Cc: '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span> <span style="color: #000088;">$to</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cc'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'MIME-Version: 1.0'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Content-Type: text/plain; charset=&quot;UTF-8&quot;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Content-Transfer-Encoding: 8bit'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'X-Mailer: PHP/'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">phpversion</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'[webhook]'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$body</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> failed<span style="color: #009900;">&#40;</span><span style="color: #000088;">$test_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$sender</span><span style="color: #339933;">,</span> <span style="color: #000088;">$owners</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$msg</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>--<span style="color: #000099; font-weight: bold;">\n</span>WebHook mail from the Google code project&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	mailer<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sender</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'bcc'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$owners</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'failed test #'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$test_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$msg</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'KO'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> get_ip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> 
	<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_CLIENT_IP'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//----------------------------------------------------------------------</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$useragent</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// failed 1</span>
	failed<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'User agent is bad : '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_USER_AGENT'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>From : &quot;</span> <span style="color: #339933;">.</span> get_ip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$project</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #339933;">!</span><span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$project</span><span style="color: #339933;">,</span> <span style="color: #000088;">$projects</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// failed 2</span>
	failed<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'No project set : '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlspecialchars</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$project</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>From : &quot;</span> <span style="color: #339933;">.</span> get_ip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$hmac</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hash_hmac</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'md5'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$keys</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$project</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">json_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$digest</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$digest</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$hmac</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// failed 3</span>
		failed<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Bad digest : '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$digest</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' vs '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$hmac</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>From : &quot;</span> <span style="color: #339933;">.</span> get_ip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revision_count'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revisions'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// failed 4</span>
		failed<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Bad count : '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revisions'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' vs '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revision_count'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>From : &quot;</span> <span style="color: #339933;">.</span> get_ip<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revisions'</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$_revision</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Revision : '</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'revision'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' from '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'author'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' at '</span> <span style="color: #339933;">.</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y-m-d H:i'</span><span style="color: #339933;">,</span> <span style="color: #990000;">intval</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'timestamp'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Added : '</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'added'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Modified : '</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'modified'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Removed : '</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'removed'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//			$mail_body .= 'URL : ' . &quot;\t\t&quot; . htmlentities($_revision['url']) . &quot;\n\n&quot;;</span>
			<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'Message : '</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_revision</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//			$_revision['path_count'];</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$mail_body</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>--<span style="color: #000099; font-weight: bold;">\n</span>WebHook mail from the Google code project : &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$project</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>http://code.google.com/p/&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$project</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		mailer<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sender</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'bcc'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$owners</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$users</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'['</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$project</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">']New revision #'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$revision</span><span style="color: #339933;">,</span> <span style="color: #000088;">$mail_body</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'OK'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># EOF</span></pre></div></div>

</p>
<p>Plus d&#8217;info : <a href="http://code.google.com/p/support/wiki/PostCommitWebHooks">PostCommitWebHooks</a></p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/310/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wampserver : quick switch xdebug menu</title>
		<link>http://grummfy.be/blog/250#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/250#comments</comments>
		<pubDate>Wed, 24 Mar 2010 22:22:42 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[deboguage]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[jouons]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[XDebug]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=250</guid>
		<description><![CDATA[Activer et désactiver XDebug sur Wampserver à souhait! Ceci via un menu supplémentaire.]]></description>
			<content:encoded><![CDATA[<p>Pour une fois, un article sous Ms Windows. Stage oblige, je passe du temps sous celui-ci (XP <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ). Afin d&#8217;optimiser son travail, il y a parfois des petites choses bien pratiques, telles que ce que je vais vous présenter.</p>
<p>XDebug est un outil merveilleux, parfois capricieux, certes, mais très utile. Il permet, notamment<sup class='footnote'><a href='#fn-250-1' id='fnref-250-1'>1</a></sup> :</p>
<ul>
<li>Affichage de tracé d&#8217;erreur</li>
<li>Meilleures lectures des exceptions</li>
<li>Débogage pas-à-pas</li>
<li>Profiling d&#8217;application</li>
<li>&#8230;</li>
</ul>
<p>Bref, des choses essentielles en développement. Et, contrairement à ce que certains IDE<sup class='footnote'><a href='#fn-250-2' id='fnref-250-2'>2</a></sup> font, il permet surtout de le faire sur un serveur &laquo;&nbsp;réel&nbsp;&raquo;, donc avec une utilisation &laquo;&nbsp;réel&nbsp;&raquo;.</p>
<p>Le but de ce billet n&#8217;est pas de présenter XDebug, d&#8217;autres le font mieux que moi <sup class='footnote'><a href='#fn-250-3' id='fnref-250-3'>3</a></sup>, mais bien de vous présenter un petit script vous permettant d&#8217;activer et désactiver XDebug sur wampserver.</p>
<h2>Installation</h2>
<ol>
<li>Téléchargez le fichier <sup class='footnote'><a href='#fn-250-4' id='fnref-250-4'>4</a></sup> et décompressez-le.</li>
<li>Suivez les instructions d&#8217;installation décrite dans le fichier installe. Il y a seulement 1 fichier à modifier + 1 fichier par version de PHP installée.</li>
<li>Relancer wampserver et tester!</li>
</ol>
<p>Si vous avez des questions, n&#8217;hésitez pas.</p>
<h2>Plus d&#8217;informations</h2>
<ul>
<li><a href="http://blog.pascal-martin.fr/post/xdebug-installation-premiers-pas" target="_blank">Xdebug : Installation et premier pas</a></li>
<li><a href="http://blog.wampserver.com/index.php/2009/08/28/debugger-avec-wampserver-xdebug-et-pdt/" target="_self" class="broken_link">Débugger avec WampServer, Xdebug et PDT</a></li>
<li><a href="http://evoilliot.u7n.org/2010/02/installer-xdebug-avec-xampp/" target="_blank" class="broken_link">Installer Xdebug avec XAMPP</a></li>
<li><a href="http://www.wampserver.com" target="_blank">Wampserver</a></li>
<li><a href="http://xdebug.com/" target="_blank">XDebug</a></li>
<li>Pièce jointe : <a href="http://grummfy.be/blog/250/xdebug-tar">XDebug quick switch menu for wampserver</a></li>
</ul>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-250-1'>On parle de serveur web avec PHP &#8230; <span class='footnotereverse'><a href='#fnref-250-1'>&#8617;</a></span></li>
<li id='fn-250-2'>Par exemple, Zend Studio permet un débogage pas à pas mais en interne donc réduit &#8230;  <span class='footnotereverse'><a href='#fnref-250-2'>&#8617;</a></span></li>
<li id='fn-250-3'>cf. plus d&#8217;informations <span class='footnotereverse'><a href='#fnref-250-3'>&#8617;</a></span></li>
<li id='fn-250-4'><a href="http://grummfy.be/blog/250/xdebug-tar">XDebug quick switch menu for wampserver</a> <span class='footnotereverse'><a href='#fnref-250-4'>&#8617;</a></span></li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/250/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[note]Zend Framework et dojo : auto-complétion</title>
		<link>http://grummfy.be/blog/216#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/216#comments</comments>
		<pubDate>Sat, 02 Jan 2010 15:32:29 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=216</guid>
		<description><![CDATA[Ceci est une note rapide ... j'espère produire un article plus intéressant une autre fois ...
Nous allons regarder les bases de l'auto-complétion  avec ZF et Dojo. Dojo simplement parce qu'il est le mieux intégré des frameworks javascript. Sachant que pour l'instant seul jQuery et Dojo sont intégré...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ceci est une note rapide &#8230; j&#8217;espère produire un article plus intéressant une autre fois &#8230;</p>
<p style="text-align: justify;">Nous allons regarder les bases de l&#8217;auto-complétion  avec <a href="./?tag=zf#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">ZF</a> et Dojo. Dojo simplement parce qu&#8217;il est le mieux intégré des frameworks javascript. Sachant que pour l&#8217;instant seul jQuery et Dojo sont intégré</p>
<h2>Le code</h2>
<p><em>application/views/scripts/test/index.phtml</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">enable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//activation de dojo</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comboBox</span><span style="color: #009900;">&#40;</span>
	<span style="color: #0000ff;">'toto'</span><span style="color: #339933;">,</span>	<span style="color: #666666; font-style: italic;">//id html de l'élément</span>
	<span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>	<span style="color: #666666; font-style: italic;">//valeur par défaut</span>
	<span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'autocomplete'</span>	<span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>								<span style="color: #666666; font-style: italic;">//activation de l'auto-complétion</span>
		<span style="color: #0000ff;">'store'</span>		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'stateStore'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'storeType'</span>		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dojo.data.ItemFileReadStore'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'storeParams'</span>	<span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">baseUrl</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/test/records'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>	<span style="color: #666666; font-style: italic;">//url où les données JSON sont récupérée</span>
		<span style="color: #0000ff;">'searchAttr'</span>		<span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'title'</span><span style="color: #339933;">,</span>								<span style="color: #666666; font-style: italic;">//donnée recherchée pour remplir le combobox</span>
	<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><em>application/layoutes/scripts/layout.phtml</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// ...</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">isEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//Évite les chargement inutile ....</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setDjConfigOption</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'isDebug'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span>APPLICATION_ENV <span style="color: #339933;">==</span> <span style="color: #0000ff;">'development'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//affiche une console de deboguage si on est en mode dev</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setDjConfigOption</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'usePlainJson'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>						<span style="color: #666666; font-style: italic;">//utilise du json texte</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setLocalPath</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">baseUrl</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/themes/js/dojo/dojo/dojo.js'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			<span style="color: #666666; font-style: italic;">//chemin vers les fichier dojo</span>
			<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addStyleSheetModule</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dijit.themes.tundra'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>					<span style="color: #666666; font-style: italic;">//thème à chargé</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">dojo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>												<span style="color: #666666; font-style: italic;">//affichage du tout ...</span>
		<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// viennent ensuite nos jabvascript, css, etc</span>
<span style="color: #666666; font-style: italic;">//...</span>
<span style="color: #666666; font-style: italic;">//&lt;/head&gt;</span>
<span style="color: #666666; font-style: italic;">// ne pas oublier la class tundra dans le body</span>
<span style="color: #339933;">&lt;</span>body <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;tundra&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #666666; font-style: italic;">//...</span></pre></div></div>

<p><em>application/Bootstrap.php</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//...</span>
<span style="color: #666666; font-style: italic;">//dans _initView()</span>
		<span style="color: #666666; font-style: italic;">//dojo</span>
		Zend_Dojo<span style="color: #339933;">::</span><span style="color: #004000;">enableView</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$view</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//...</span></pre></div></div>

<p><em>application/controllers/TestController.php</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> TestController <span style="color: #000000; font-weight: bold;">extends</span> Zend_Controller_Action
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> indexAction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> recordsAction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// on désactive l'affichage</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_helper<span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">disableLayout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//on va cherchée les données et les met dans un objet Zend_Dojo_Data</span>
		<span style="color: #000088;">$book</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Default_Model_DbTable_Book<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$dojo</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Dojo_Data<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$book</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$dojo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">toJson</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// on sort ... c'est pas joli mais en attendant cela fonctionne!</span>
		<span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># EOF</span></pre></div></div>

<h2>Choses à <span style="text-decoration: line-through;">retenir</span> comprendre</h2>
<p>Les choses à retenir :</p>
<ul>
<li><em>storeParams</em> est l&#8217;url où les donnée au format JSON seront prise</li>
<li><em>searchAttr</em> est l&#8217;élément qui va servir pour recherchée les données dans la masse de donnée JSON</li>
<li>ne pas oublier de mettre la class css &#8216;tundra&#8217;</li>
<li>Dojo peut, via ses styles css modifier votre rendu &#8230;</li>
</ul>
<h2>Remarque</h2>
<p>Version de ZF : 1.9.6</p>
<p>Version de Dojo (fourni avec zf dans extras) : 1.3</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/216/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Framework aide de vue partialLoop et cycle</title>
		<link>http://grummfy.be/blog/199#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/199#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:16:39 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=199</guid>
		<description><![CDATA[Il y a des moment où l&#8217;on se dit que la doc est vraiment incomplète &#8230; Voici un exemple assez tordu&#8230; Rappel L&#8217;aide de vue (view helper)  cycle permet d&#8217;alterner des valeurs dans la vue, L&#8217;aide de vue partialLoop permet de faire une boucle sur une vue (fichier) afin de l&#8217;incorporer dans un autre fichier&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il y a des moment où l&#8217;on se dit que la doc est vraiment incomplète &#8230; Voici un exemple assez tordu&#8230;</p>
<h2>Rappel</h2>
<ul>
<li>L&#8217;aide de vue (view helper)  <a href="http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.cycle">cycle</a> permet d&#8217;alterner des valeurs dans la vue,</li>
<li>L&#8217;aide de vue <a href="http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.partial">partialLoop</a> permet de faire une boucle sur une vue (fichier) afin de l&#8217;incorporer dans un autre fichier&#8230;</li>
</ul>
<h2>Utilisation</h2>
<p style="text-align: justify;">Pour utiliser les deux ensembles, par exemple dans le cas d&#8217;un listing dont la sortie serait dans un tableau, il vous suffit de définir les valeurs assigner au cycle <strong><em>avant</em></strong> de faire le partialLoop.<br />
Exemple :<br />
Vue <em>views/scripts/membres/listing.phtml</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;table class=&quot;table&quot;&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th&gt;Nom&lt;/th&gt;
			&lt;th&gt;Prénom&lt;/th&gt;
			&lt;th&gt;Adresse&lt;/th&gt;
			&lt;th&gt;Code postal&lt;/th&gt;
			&lt;th&gt;Ville&lt;/th&gt;
			&lt;th&gt;Pays&lt;/th&gt;
			&lt;th&gt;Téléphone&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cycle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">assign</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'tr_1'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'tr_2'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'tr_3'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_user_listing'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">partialLoop</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'utilisateurs/_user_list_listing.phtml'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">entries</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;/tbody&gt;
&lt;/table&gt;</pre></div></div>

<p>Vue <em>views/scripts/utilisateurs/_user_list_listing.phtml</em></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;tr class=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cycle</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'_user_listing'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">firstName</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Addrese</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">postCode</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cityName</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">countryName</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
	&lt;td&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tel_prefix</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/td&gt;
&lt;/tr&gt;</pre></div></div>
</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;linkname=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F199&amp;title=Zend%20Framework%20aide%20de%20vue%20partialLoop%20et%20cycle" id="wpa2a_2"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/199/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Openvibe everywhere in the future?</title>
		<link>http://grummfy.be/blog/182#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/182#comments</comments>
		<pubDate>Sat, 14 Nov 2009 23:22:56 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Grummfy grrrrumf, ou comment raller]]></category>
		<category><![CDATA[My comment]]></category>
		<category><![CDATA[Réflexion du jour]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[future]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=182</guid>
		<description><![CDATA[Pour le titre j&#8217;aurais pu mieux faire Donc commençons ma réflexion du jour &#8230; Openvibe est un logiciel permettant de faire du BCI c&#8217;est-à-dire un logiciel permettant d&#8217;utiliser sont cerveaux comme interface d&#8217;accès à un ordinateur remplaçant ainsi une souris ou un clavier&#8230; Les ondes qu&#8217;émet le cerveau sont captés par des capteurs et traité [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong>Pour le titre j&#8217;aurais pu mieux faire <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Donc commençons ma réflexion du jour &#8230;</strong></p>
<p style="text-align: justify;">Openvibe est un logiciel permettant de faire du <acronym title="Brain Computer Interface">BCI </acronym> c&#8217;est-à-dire un logiciel permettant d&#8217;utiliser sont cerveaux comme interface d&#8217;accès à un ordinateur remplaçant ainsi une souris ou un clavier&#8230; Les ondes qu&#8217;émet le cerveau sont captés par des capteurs et traité en un signal utilisable pour le logiciel d&#8217;interphasage. Ce genre de logiciel permet le contrôle -expérimental- de chaise roulante ou d&#8217;un tas d&#8217;autres trucs &#8230;. (suffit de chercher et youtube regorge de vidéo à ce sujet).</p>
<p style="text-align: justify;">Ceci fait très sciences-fiction mais c&#8217;est la réalité d&#8217;aujourd&#8217;hui et se sera le quotidien de demain, sachant qu&#8217;il existe déjà des produits commerciaux pour jouer! Mais côté sciences-fiction cela n&#8217;est rien comparé à l&#8217;ordinateur biologique! Ordinateur fonctionnant avec une interaction d&#8217;enzyme et d&#8217;ADN. D&#8217;après ce que j&#8217;ai lu, les dernières recherches en était &laquo;&nbsp;seulement&nbsp;&raquo; à la conception de puce mémoire stockant l&#8217;information sur l&#8217;ADN.</p>
<p style="text-align: justify;">À force de voir ce genre de choses j&#8217;en vient à me dire que dans le futur les interfaces BCI devrait se généraliser et permettre ainsi d&#8217;imaginer un téléphone dont le clavier serait supprimé et où il ne resterait que : un haut parleur et un micro &#8230; ou encore, avec la bio-informatique, l&#8217;homme bio-informatisé, et pourquoi pas tel qu&#8217;on le voit dans les livres de Hamilton (L&#8217;étoile de pandore), des &laquo;&nbsp;tatouage&nbsp;&raquo; informatique permettant d&#8217;étendre les possibilités de l&#8217;homme!</p>
<p style="text-align: justify;">Voilà c&#8217;était la petite réflexion du jour, le délire futuris d&#8217;un fou, maintenant j&#8217;attends vos commentaires &#8230; ou alors j&#8217;écouterai vos ricanements ou vos pas lorsque vous vous encourerez.</p>
<p style="text-align: justify;">ps : oui je sais aucune référence &#8230;. mais j&#8217;ai la flemme &#8230;.</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;linkname=Openvibe%20everywhere%20in%20the%20future%3F" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F182&amp;title=Openvibe%20everywhere%20in%20the%20future%3F" id="wpa2a_4"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/182/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>java : Drag &amp; Drop sur un JTable</title>
		<link>http://grummfy.be/blog/141#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/141#comments</comments>
		<pubDate>Mon, 07 Sep 2009 23:26:32 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=141</guid>
		<description><![CDATA[Drag &#38; Drop sur un JTable Dans nos application moderne il semble logique de pouvoir faire du DND à gogo, pourtant ce n&#8217;est pas des plus simple, avec certain langage de le faire,  d&#8217;où cette exemple qui m&#8217;a fait un peu travaillez et arrachez un ou deux cheveux de ma longue chevelure de geek&#8230; Bref, [...]]]></description>
			<content:encoded><![CDATA[<h1>Drag &amp; Drop sur un JTable</h1>
<p style="text-align: justify;">Dans nos application moderne il semble logique de pouvoir faire du <acronym title="Drag&amp;Drop">DND</acronym> à gogo, pourtant ce n&#8217;est pas des plus simple, avec certain langage de le faire,  d&#8217;où cette exemple qui m&#8217;a fait un peu travaillez et arrachez un ou deux cheveux de ma longue chevelure de geek&#8230;</p>
<p style="text-align: justify;">Bref, voici l&#8217;essentiel :</p>
<ol>
<li>Il faut que le composant puisse être pris (drag) et/ou déposé (drop)</li>
<li>Il faut convertir le composant en donnée exportable et transportable (Transferable)</li>
<li>Il faut pouvoir restaurer les donnée correctement et suivant le type les restaurer de tel ou tel manière &#8230;</li>
</ol>
<p><span id="more-141"></span>Par défaut, java implémente tout une série de composant déjà &laquo;&nbsp;drag&amp;drop ready&nbsp;&raquo; :</p>
<p><img src="file:///tmp/moz-screenshot.jpg" alt="" /><img class="alignnone size-full wp-image-159" title="Tableau DND java" src="http://grummfy.be/blog/wp/wp-content/uploads/2009/09/Sans-titre.png" alt="Tableau DND java" width="340" height="338" /></p>
<p>Dans notre cas le JTable peut-être pris par copie mais on ne peux droper dedans&#8230;</p>
<p>Donc nous devons géré :</p>
<ul>
<li>Transport des données : ici nos lignes → Class JTableRowTransferable</li>
<li>Faire en sorte que le gestionnaire de DND accepte le drop et surtout l&#8217;accepte de notre transport de donnée → Class MyTransferHandler (class interne)</li>
<li>Et bien entendu faire comprendre à notre Jtable → il suffit de faire myJtable.setDragEnable(true); <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p style="text-align: justify;">Une fois tout cela fait je me suis vite rendu compte que pour l&#8217;utilisateur ce n&#8217;était pas simple!!! En fait, l&#8217;utilisateur devait sélectionner la ligne (et pas plusieurs) et ensuite légèrement décalé sur le coté (pour ne pas partir vers la sélection d&#8217;autre ligne) et puis seulement bouger le tout &#8230; INGÉRABLE ! Bref, je me suis dit &laquo;&nbsp;let&#8217;s go pour un bouton de <span style="text-decoration: line-through;">drague</span> drag!&nbsp;&raquo; J&#8217;ai donc chercher avec un JButton.  Mais<sup class='footnote'><a href='#fn-141-1' id='fnref-141-1'>1</a></sup> malheureusement pour utiliser un JButton il faudrait implémenter un render (une class qui dit comment doit s&#8217;afficher un objet dans une JTable) pour la JTable. Donc on oublie!</p>
<p style="text-align: justify;">Pour finir, je me suis rabattu vers une ImageIcon <img class="size-full wp-image-143" title="Appuyez sur le &quot;bouton&quot; vert et glissez la ligne vers le haut ou le bas ..." src="http://grummfy.be/blog/wp/wp-content/uploads/2009/09/drag_me_green.png" alt="Appuyez sur le &quot;bouton&quot; vert et glissez la ligne vers le haut ou le bas ..." width="47" height="14" /> (ou rien du tout cela aurait été pareil&#8230;) et un MouseListener sur mon JTable.</p>
<p style="text-align: justify;">Bref, je ne vais pas vous faire un cours, pour cela je vous renvoi plus bas! Donc, je vous propose de télécharger l&#8217;exemple : <a title="Télécharger l'exemple" rel="attachment wp-att-148" href="http://grummfy.be/blog/?attachment_id=148">DragTableExample.tar</a></p>
<h2>Plus d&#8217;info sur le DND en java ?</h2>
<ul>
<li>Excellent article sur le fonctionnement du DND : <a href="http://mbaron.developpez.com/javase/dnddt/" target="_blank">Introduction au Drag and Drop : transfert de données</a>[fr]</li>
<li><a href="http://gfx.developpez.com/tutoriel/java/swing/drag/" target="_blank">Drag &amp; Drop avec Style et l&#8217;API Swing</a>[fr]</li>
<li>Larticle de sun : <a href="http://java.sun.com/docs/books/tutorial/uiswing/dnd/index.html">Lesson: Drag and Drop and Data Transfer</a>[en]</li>
<li>Encore un autre très bon article : <a href="http://www.javaworld.com/javaworld/jw-03-1999/jw-03-dragndrop.html">How to drag and drop with Java 2</a>[en]</li>
</ul>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-141-1'>puisque mais il y a sinon cela ne serait pas marrant <span class='footnotereverse'><a href='#fnref-141-1'>&#8617;</a></span></li>
</ol>
</div>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;title=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" id="wpa2a_6"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de l&#8217;ellipse en java ou comment avoir un nombre indéfini de paramètre</title>
		<link>http://grummfy.be/blog/136#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/136#comments</comments>
		<pubDate>Sat, 29 Aug 2009 23:52:04 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=136</guid>
		<description><![CDATA[Depuis Tiger (java 5.0 ou 1.5 &#8230;), la structure du langage java à intégré l&#8217;ellipse. Voici un exemple d&#8217;utilisation JPanel mkEntry(String label, javax.swing.JComponent... jc) { JPanel p = new JPanel(new FlowLayout()); p.add(new JLLabel(label)); for (javax.swing.JComponent comp: jc) p.add(comp); return p; } void test() { JPanel p = new JPanel(); p.add(mkEntry("test", new JTextField(), new JButton("valider")); } [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis Tiger (java 5.0 ou 1.5 &#8230;), la structure du langage java à intégré l&#8217;ellipse.</p>
<p>Voici un exemple d&#8217;utilisation<br />
<code><br />
JPanel mkEntry(String label, javax.swing.JComponent... jc)<br />
{<br />
JPanel p = new JPanel(new FlowLayout());<br />
p.add(new JLLabel(label));<br />
for (javax.swing.JComponent comp: jc)<br />
p.add(comp);<br />
return p;<br />
}</p>
<p>void test()<br />
{<br />
JPanel p = new JPanel();<br />
p.add(mkEntry("test", new JTextField(), new JButton("valider"));<br />
}<br />
</code></p>
<p>Bon malheureusement on est obligé de n&#8217;avoir qu&#8217;un seul paramètre avec ellipse mais perso je trouve cela plus élégant que d&#8217;utiliser un tableau créer d&#8217;un côté puis de l&#8217;autre. Au passage cela revient au même que de créer un tableau (puisque ce qu&#8217;on récupère est un tableau) mais l&#8217;écriture en est simplifié.</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;linkname=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F136&amp;title=Utilisation%20de%20l%26%238217%3Bellipse%20en%20java%20ou%20comment%20avoir%20un%20nombre%20ind%C3%A9fini%20de%20param%C3%A8tre" id="wpa2a_8"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/136/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java : chargement de class et instanciantion depuis une chemin</title>
		<link>http://grummfy.be/blog/130#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/130#comments</comments>
		<pubDate>Fri, 28 Aug 2009 23:54:51 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Projet]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[fsb-tools]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=130</guid>
		<description><![CDATA[J'ai toujours trouvé frustrant de ne pas pouvoir me dire que connaissance le nom d'une classe (sous format de String) je ne pouvait, comme je le fait en PHP, instancier un objet. En fait, cela un bout de temps que c'est réalisable mais je n'avais jamais réussi à trouvé comment, malgré des piste déjà essayé ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">J&#8217;ai toujours trouvé frustrant de ne pas pouvoir me dire que connaissance le nom d&#8217;une classe (sous format de String) je ne pouvait, comme je le fait en PHP, instancier un objet. En fait, cela un bout de temps que c&#8217;est réalisable mais je n&#8217;avais jamais réussi à trouvé comment, malgré des piste déjà essayé &#8230;</p>
<p style="text-align: justify;">Donc, pour ceux qui comme mois désire faire cela :</p>
<p style="text-align: justify;">Chargement d&#8217;une classe situé dans le package test, nommé MaClasse (<strong><span style="text-decoration: underline;">/!\</span> java est case-sensitive</strong>)<code> et création de l'objet lié.<br />
Object monInstance = Class.forName("test.MaClasse").newInstance();</code></p>
<p style="text-align: justify;">En espérant que cela serve à plus d&#8217;un!</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questionnaire &#8211; sondage en ligne</title>
		<link>http://grummfy.be/blog/125#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/125#comments</comments>
		<pubDate>Wed, 26 Aug 2009 22:13:35 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Grummfy grrrrumf, ou comment raller]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=125</guid>
		<description><![CDATA[J'en ai vu passé des questionnaires de fin de thèse ou des sondage pour tel ou tel société mais jamais je n'avais songé prendre note des références des logiciel ou des sociétés utilisé pour créer ces sondages-enquêtes! Du coup, en ayant eu besoin j'ai du chercher...]]></description>
			<content:encoded><![CDATA[<p>J&#8217;en ai vu passé des questionnaires de fin de thèse ou des sondage pour tel ou tel société mais jamais je n&#8217;avais songé prendre note des références des logiciel ou des sociétés utilisé pour créer ces sondages-enquêtes! Du coup, en ayant eu besoin j&#8217;ai du chercher&#8230;</p>
<p>Et là cela se complique, on se rend vite compte que beaucoup de société propose des service payant et là ou pour n&#8217;importe quel script on trouve facilement des réponses à droite et à gauche, ici rien! Bien embêté me voila sur le chemin de la recherche.</p>
<p>Bref après quelques recherche et élimination je trouve deux sites proposant des services gratuits et qui semble correcte :<br />
<a href="http://www.paxonta.com">http://www.paxonta.com</a> et <a href="http://www.sondageonline.com">http://www.sondageonline.com</a></p>
<p>Cependant, je me dit qu&#8217;il y avait certainement un projet open-source qui se devait d&#8217;exister et que si ce n&#8217;est pas le cas, alors le moment de hurler et de se lancer dans la bataille en faisant son William Walace devait arriver. Mais heureusement, pas besoin de tête tranchée le script fut trouvé :  <a href="http://www.limesurvey.org">LimeSurvey</a></p>
<p>Je ne suis pas déçu et ils propose même un service en ligne : <a href="http://www.limeservice.com">http://www.limeservice.com</a><br />
Par contre, il m&#8217;a fallu un peu de temps pour comprendre &#8230;. En gros, toujours cliquer sur l&#8217;icône à droite (l&#8217;espèce de feuille &#8230;.) et voila!</p>
<p>Perso je trouve que c&#8217;est encore fort compliqué &#8230; mais bon on peux pas tout avoir &#8230;.</p>
<p>J&#8217;en profite pour vous le faire tester en répondant a ce magnifique <a href="http://forum.limequery.net/index.php?sid=24955&amp;lang=fr" target="_blank">questionnaire sur les forums</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>petit retour sous blender &#8230;..</title>
		<link>http://grummfy.be/blog/109#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/109#comments</comments>
		<pubDate>Sat, 13 Sep 2008 21:47:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[libre]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=109</guid>
		<description><![CDATA[Cela fait longtemps que j&#8217;ai envie de faire de la 3D, seulement pas de temps encore moins de patience et surtout pas de technique! Bref, me disant que c&#8217;était sympa d&#8217;explorer un peu le logiciel, sachant que se lancer dans un gros projet (enfin pour moi, dans le sens&#160;: idée de ce que je veux [...]]]></description>
			<content:encoded><![CDATA[<p>Cela fait longtemps que j&#8217;ai envie de faire de la 3D, seulement pas de temps encore moins de patience et surtout pas de technique!</p>
<p>Bref, me disant que c&#8217;était sympa d&#8217;explorer un peu le logiciel, sachant que se lancer dans un gros projet (enfin pour moi, dans le sens&nbsp;: idée de ce que je veux modeler + texture + éventuelle animation + &#8230;.) précis m&#8217;est encore inaccessible. De temps en temps je fait un peu de modélisation, enfin je joue à faire de la modélisation soit en suivant un tuto, soit en touchant a tout et regardant ce que cela donne. Puis un peu de muscle et puis dernièrement un peu d&#8217;animation &#8230;</p>
<p>Bref, je commence à avoir fait un tour léger du logiciel, une fois que j&#8217;aurais vu un peu plus les textures et autres je pourrais envisager d&#8217;aller plus en profondeur. <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Vu que je suis content d&#8217;avoir réussis quelque chose je vous invite à voir la chose (je voix pas d&#8217;autre nom &#8230;) que j&#8217;ai faite! Le but était de m&#8217;entrainer pour jouer un peu avec l&#8217;animation.</p>
<p>Je suis parti d&#8217;un cube déformé en taille, que j&#8217;ai tourner puis sculpté. Après j&#8217;ai ajouter un texte. J&#8217;ai mis des couleurs dans les différents matériaux de tout ceci, joué un peu avec la transparence. Et ensuite ajouté l&#8217;animation.</p>
<p>C&#8217;était la première fois que je jouait avec l&#8217;animation, et franchement c&nbsp;&raquo;est assez simple, cela prend du temps (enfin pour le moment) mais je suis content. Pour plus d&#8217;info sur l&#8217;animation dans blender je vous invite à regarder <a href="http://www.blender.org/education-help/tutorials/animation/" hreflang="en">ici</a> et pour les débutants surtout de <a href="http://feeblemind.tuxfamily.org/dotclear/index.php/2005/03/08/17-didacticiel-animations-simples-1ere-partie---tutorial-simple-animations-1st-part" hreflang="en">ce coté</a>. Malheureusement, tout ceci est en anglais&#8230;</p>
<p>La <a href="http://fr.youtube.com/watch?v=TKjWxh00RTo">vidéo</a>&nbsp;:</p>
<p> <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/TKjWxh00RTo&#038;hl=fr&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/TKjWxh00RTo&#038;hl=fr&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
<p>Plus d&#8217;info sur blender&nbsp;:</p>
<ul>
<li><a href="http://www.blender.org" hreflang="en">Le site officiel</a></li>
<li><a href="http://www.blender.org/download/documentation/" hreflang="en">La documentation</a></li>
<li><a href="http://fr.wikibooks.org/wiki/Blender3D" hreflang="fr">La documentation en français</a></li>
<li><a href="http://www.blender.org/education-help/tutorials/" hreflang="en">Les tutoriaux</a></li>
</ul>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;linkname=petit%20retour%20sous%20blender%20%26%238230%3B.." title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F109&amp;title=petit%20retour%20sous%20blender%20%26%238230%3B.." id="wpa2a_10"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/109/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AnySurfer ou l&#8217;accessibilité belge!</title>
		<link>http://grummfy.be/blog/95#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/95#comments</comments>
		<pubDate>Fri, 02 Nov 2007 19:11:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[belge]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=95</guid>
		<description><![CDATA[Je vient de découvrir ce site&#160;: http://www.anysurfer.be via le module de payement en ligne de ma banque Dexia. Je trouve cette idée vraiment génial, de plus, pour une fois, les explications et conseils donnée sont clairs! Bref allez-y&#160;: Le site de AnySurfer Les pages conseils]]></description>
			<content:encoded><![CDATA[<p>Je vient de découvrir ce site&nbsp;: <a href="http://www.anysurfer.be" title="http://www.anysurfer.be">http://www.anysurfer.be</a> via le module de payement en ligne de ma banque <a href="http://www.dexia.be">Dexia</a>.</p>
<p>Je trouve cette idée vraiment génial, de plus, pour une fois, les explications et conseils donnée sont clairs!</p>
<h4>Bref allez-y&nbsp;:</h4>
<p>Le site de <a href="http://www.anysurfer.be">AnySurfer</a><br />
Les <a href="http://www.anysurfer.be/fr/directives/">pages conseils</a></p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;linkname=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F95&amp;title=AnySurfer%20ou%20l%26%238217%3Baccessibilit%C3%A9%20belge%21" id="wpa2a_12"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/95/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un site de livres &#8230;</title>
		<link>http://grummfy.be/blog/94#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/94#comments</comments>
		<pubDate>Tue, 30 Oct 2007 12:54:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Présentation]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[géniale]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=94</guid>
		<description><![CDATA[Il y a peu je suis tombé sur un site qui m&#8217;intéresse fortement j&#8217;ai nomé lisons.info. Je le trouve assez pationnant, rempli de fiche de lecture sur les auteurs ou les livres. Même si c&#8217;est une bibliothèque personnel, je trouve que ce genre d&#8217;expériences est vraiment plus qu&#8217;intéressant et mérite d&#8217;être propagé dans le web! [...]]]></description>
			<content:encoded><![CDATA[<p>Il y a peu je suis tombé sur un site qui m&#8217;intéresse fortement j&#8217;ai nomé <a href="http://www.lisons.info/">lisons.info</a>.</p>
<p>Je le trouve assez pationnant, rempli de fiche de lecture sur les auteurs ou les livres.</p>
<p>Même si c&#8217;est une bibliothèque personnel, je trouve que ce genre d&#8217;expériences est vraiment plus qu&#8217;intéressant et mérite d&#8217;être propagé dans le web!</p>
<p>Bref allez tous sur  <a href="http://www.lisons.info/">lisons.info</a></p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;linkname=Un%20site%20de%20livres%20%26%238230%3B" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F94&amp;title=Un%20site%20de%20livres%20%26%238230%3B" id="wpa2a_14"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/94/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PyDev : ide pyrthon via Eclipse</title>
		<link>http://grummfy.be/blog/84#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/84#comments</comments>
		<pubDate>Tue, 04 Sep 2007 01:45:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=84</guid>
		<description><![CDATA[Afin de programmer en python avec le confort d&#8217;une ide abouti, je me suis dit cherchons ce qui existe&#8230; et après avoir tester quelques outils je fut convaincu par PyDev. Cependant, il est nécessaire de configurer l&#8217;interpréteur de python voir de jython! Installer PyDev Python doit être installé ainsi que Eclipse. Lancer Eclipse en mode [...]]]></description>
			<content:encoded><![CDATA[<p>Afin de programmer en python avec le confort d&#8217;une ide abouti, je me suis dit cherchons ce qui existe&#8230; et après avoir tester quelques outils je fut convaincu par <a href="http://pydev.sourceforge.net/" hreflang="en">PyDev</a>.</p>
<p>Cependant, il est nécessaire de configurer l&#8217;interpréteur de python voir de jython!</p>
<h3>Installer PyDev</h3>
<p>Python doit être installé ainsi que Eclipse.</p>
<p>Lancer Eclipse en mode super utilisateur (root ou administrateur)&nbsp;:</p>
<p><code>sudo eclipse</code> sous linux</p>
<p>Dans le menu &laquo;&nbsp;Help&nbsp;&raquo; cliquer sur &laquo;&nbsp;Software Updates / Find and Install&#8230;&nbsp;&raquo;,</p>
<p>Ensuite &laquo;&nbsp;Search for new features to install&nbsp;&raquo; et Next, 2 fois,</p>
<p>Ajouter un site dans &laquo;&nbsp;New update site&nbsp;&raquo; et mettre&nbsp;:</p>
<blockquote><p>Name&nbsp;: pydev</p>
</blockquote>
<blockquote><p>URL&nbsp;: http://pydev.sf.net/updates/</p>
</blockquote>
<p>Valider en cliquant sur &laquo;&nbsp;Finish&nbsp;&raquo;</p>
<p>Sélectionner Pydev, et valider en acceptant le contrat d&#8217;utilisation. Terminer via &laquo;&nbsp;install all&nbsp;&raquo;</p>
<p>Relancer Eclipse en mode normal!</p>
<h3>Configurer PyDev</h3>
<p>&laquo;&nbsp;Window&nbsp;&raquo;&gt;&nbsp;&raquo;Preferences&nbsp;&raquo;</p>
<p>Dans Pydev, cliquer sur Interpreter &#8211; Python</p>
<p>Dans le champs &laquo;&nbsp;Python interpreters (eg python.exe) cliquer sur new et mettez, par exemple <code>/usr/bin/python</code></p>
<p>En principe, Eclipse vous proposera toute les dépendance accessible, etc &#8230;. de manière automatique.</p>
<p>Vous êtes prêt à utiliser PyDev!</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;linkname=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F84&amp;title=PyDev%20%3A%20ide%20pyrthon%20via%20Eclipse" id="wpa2a_16"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/84/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP : fonction callback et méthode</title>
		<link>http://grummfy.be/blog/72#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/72#comments</comments>
		<pubDate>Mon, 20 Aug 2007 01:15:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[jouons]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=72</guid>
		<description><![CDATA[PHP permet bien des choses, notamment l&#8217;utilisation de fonction de callback. Les fonction de callback sont des fonctions qui seront appeler durant l&#8217;exécution d&#8217;une autre fonction, et ce de manière automatique. C&#8217;est bien souvent le cas lors d&#8217;expression régulière ou encore lors d&#8217;une session php passant par ses propres fonctions (via session_set_save_handler() )! Les fonctions [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/index.php?tag/PHP#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">PHP</a> permet bien des choses, notamment l&#8217;utilisation de fonction de callback. Les fonction de callback sont des fonctions qui seront appeler durant l&#8217;exécution d&#8217;une autre fonction, et ce de manière automatique.</p>
<p>C&#8217;est bien souvent le cas lors d&#8217;expression régulière ou encore lors d&#8217;une session php passant par ses propres fonctions (via session_set_save_handler() )!</p>
<p>Les fonctions de callback peuvent être rpésente sous différentes forme&nbsp;:</p>
<ul>
<li>Fonction de PHP</li>
<li>Fonction que vous avez définie</li>
<li>Méthode static</li>
<li>Méthode non-static</li>
</ul>
<p>Dans le cas de fonctions, il suffit de mettre le nom de la fonction entre guillemet. </p>
<p></p>
<p></p>
<p>Mais dans le cas de méthode, il vous faut utiliser un array</p>
<p>Pour les méthodes static, ce sera&nbsp;: <code>array('NOMDELACLASS', 'NOMDELAMETHODE')</code></p>
<p>Pour les méthodes non-static, ce sera&nbsp;: <code>array(INSTANCEDELACLASS, 'NOMDELAMETHODE')</code></p>
<p>Exemple&nbsp;:</p>
<pre> class maClass {     static function toto()     {         echo 'on a appellé toto';     }     public function totor()     {         echo 'on a appellé totor';     } } //cas static call_user_func(array('maClass', 'toto')); //on a appellé toto //cas non-static $maClass = new maClass(); call_user_func(array($maClass, 'totor')); //on a appellé totor </pre>
<p>J&#8217;espère que ce petit truc vous sera utile.</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;linkname=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F72&amp;title=PHP%20%3A%20fonction%20callback%20et%20m%C3%A9thode" id="wpa2a_18"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/72/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend Framework, simple?</title>
		<link>http://grummfy.be/blog/56#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/56#comments</comments>
		<pubDate>Wed, 01 Aug 2007 15:17:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[My comment]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[ZF]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=56</guid>
		<description><![CDATA[Cela fait longtemps que je zyeut Zend Framework, sans pour autant plonger, aujourd&#8217;hui j&#8217;ai gouter, apprécier, dévorer, bref l&#8217;applaudit. En gros, c&#8217;est le framework comme je le voix ou presque! Simple, claire, extensible, gestion d&#8217;exception, sans des dépendance inutiles, passant par pdo, &#8230; I like D&#8217;ailleurs je pense que MyWsp se basera dessus, je delete [...]]]></description>
			<content:encoded><![CDATA[<p>Cela fait longtemps que je zyeut Zend Framework, sans pour autant plonger, aujourd&#8217;hui j&#8217;ai gouter, apprécier, dévorer, bref l&#8217;applaudit.</p>
<p>En gros, c&#8217;est le framework comme je le voix ou presque!</p>
<p>Simple, claire, extensible, gestion d&#8217;exception, sans des dépendance inutiles, passant par pdo, &#8230;</p>
<p>I like</p>
<p>D&#8217;ailleurs je pense que MyWsp se basera dessus, je delete les 3/4 de ce que j&#8217;ai fait et hop je repart, simplement parceque c&#8217;est vraiment pratique et rapide!</p>
<p>Bientôt, je sortirait certainement quelques tuto sur Zend Framework!</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;linkname=Zend%20Framework%2C%20simple%3F" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F56&amp;title=Zend%20Framework%2C%20simple%3F" id="wpa2a_20"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/56/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Daimos</title>
		<link>http://grummfy.be/blog/52#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/52#comments</comments>
		<pubDate>Fri, 20 Jul 2007 01:10:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Projet]]></category>
		<category><![CDATA[bave]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[sortie]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=52</guid>
		<description><![CDATA[Daimos Daimos, mais qu&#8217;est-ce donc? Daimos serait-ce un manga? Oui =&#62; animeka te réponds Et c&#8217;est tout? Non Mais&#8230; Quoi? Ben &#8230; je t&#8217;ai demandé s&#8217;il y avait autre chose! Et je t&#8217;ai répondu, que oui, via mon non! Mhhh &#8230; tu sais être @#*# par moment! Pour ça oui! &#8230; Quoi encore, j&#8217;ai répondu, [...]]]></description>
			<content:encoded><![CDATA[<h2>Daimos</h2>
<h3>Daimos, mais qu&#8217;est-ce donc?</h3>
<p>Daimos serait-ce un manga?</p>
<blockquote><p>Oui =&gt; <a href="http://www.animeka.com/animes/detail/daimos.html">animeka te réponds</a></p>
</blockquote>
<p>Et c&#8217;est tout?</p>
<blockquote><p>Non</p>
</blockquote>
<p>Mais&#8230;</p>
<blockquote><p>Quoi?</p>
</blockquote>
<p>Ben &#8230; je t&#8217;ai demandé s&#8217;il y avait autre chose!</p>
<blockquote><p>Et je t&#8217;ai répondu, que oui, via mon <q>non</q>!</p>
</blockquote>
<p>Mhhh &#8230; tu sais être @#*# par moment!</p>
<blockquote><p>Pour ça oui!</p>
</blockquote>
<p>&#8230;</p>
<blockquote><p>Quoi encore, j&#8217;ai répondu, non!</p>
</blockquote>
<p>Ben, c&#8217;est-à-dire que</p>
<blockquote><p>C&#8217;était une affirmation, tu voix bien le <q>!</q> prononcer avec habilité, non?</p>
</blockquote>
<p>Oui, enfin je le lit surtout</p>
<blockquote><p>Ben alors, no comment please!</p>
</blockquote>
<p>Non, mais j&#8217;ai une autre question!</p>
<blockquote><p>Pff&#8230;. Je t&#8217;écoute!</p>
</blockquote>
<h3>Mais encore&#8230;</h3>
<p>Merci. Donc qu&#8217;y a t&#8217;il d&#8217;autre qu&#8217;un manga?</p>
<blockquote><p>Ben c&#8217;est évident&nbsp;: Daimos Je ne devrait même pas devoir en parler!</p>
</blockquote>
<p>Parle m&#8217;en, quand même un peu plus, *ton ironique* j&#8217;ai des problème de mémoire</p>
<blockquote><p>Si cela peux te rafraichir la mémoire Daimos, est un jeux de rôle jour par forum (JDRJF ou JDRJPF), créer par des Belges en février ou  avril 2004. Et de puis il n&#8217;a pas cessé d&#8217;évoluer parfois vers du mieux, parfois non. Actuellement, il est en migration vers sa quatrième version, supportant un forum <a href="http://grummfy.be/blog/key/FSB">FSB</a> et la technologie <a href="/blog/index.php?tag/PHP#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">PHP</a> rehausser de <a href="/blog/index.php?tag/MyWsp#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed">MyWsp</a>. De plus un nouveau design accompagnera le tout.</p>
</blockquote>
<p>Ah oui, la mémoire me revient, je vient de me souvenir que je ne savait rien de tout cela avant, et que maitenant je me suiis encombré le cerveau d&#8217;un truc inutile!</p>
<blockquote><p>Oui, mais qui dit inutiles, dit indispensable!</p>
</blockquote>
<h3>Où?</h3>
<p>Oh merci, mais tu ah oublier de me rappeler le lien de ce merveilleux forum!</p>
<blockquote><p>Certes, j&#8217;y venait! Le voici&nbsp;: <a href="http://forum.daimos.org">Daimos</a></p>
</blockquote>
<p>Merci, maintenant je vais pouvoir m&#8217;éclater et dominer le monde avec plein de super pouvoir</p>
<blockquote><p>Heu, non, c&#8217;est moi qui suis le maitre du monde, en tout cas celui-là</p>
</blockquote>
<p>Hé me*de!</p>
<blockquote><p>&#8230;</p>
</blockquote>
<h3>Conclusion</h3>
<p>A bientôt pour de nouvelle aventure</p>
<blockquote><p>Oui, mais n&#8217;oublie pas certaine chose sont en développement &#8230; et l&#8217;équipe de daimos est réduite.. car c&#8217;est les vacances!</p>
</blockquote>
<h3>Pour finir</h3>
<ul>
<li>Allez sur <a href="http://forum.daimos.org">Daimos</a>!</li>
<li>Inscrivez-vous!</li>
<li>Jouez!</li>
<li>Transmettez</li>
</ul>
<p>ps&nbsp;: remarquer le ton impératif, souligné par des <q>!</q> pss&nbsp;: Daimos décline toute responsabilité quand à des problèmes d&#8217;addictions</p>
<hr />
<p>Écrit le 13/07/2007, publié le 20/07/2007</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;linkname=Daimos" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F52&amp;title=Daimos" id="wpa2a_22"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/52/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Je test, tu tests, ils bugent</title>
		<link>http://grummfy.be/blog/51#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/51#comments</comments>
		<pubDate>Mon, 16 Jul 2007 00:59:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Grummfy grrrrumf, ou comment raller]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=51</guid>
		<description><![CDATA[En ce moment, je test un compte sur un serveur Microsoft, avec IIS comme serveur HTTP. Au première abord je me dit, chouette, vais pouvoir voire ce que ASP à dans le ventre, le comparer avec PHP Bon après quelques test, le regret énorme des fichiers htaccess, uniquement présent sur Apache, l&#8217;absence d&#8217;url rewriting, le [...]]]></description>
			<content:encoded><![CDATA[<p>En ce moment,</p>
<p>je test un compte sur un serveur Microsoft, avec <a href="http://fr.wikipedia.org/wiki/Internet_Information_Services" hreflang="fr">IIS</a> comme <a href="http://fr.wikipedia.org/wiki/Serveur_HTTP" hreflang="fr">serveur HTTP</a>.</p>
<p>Au première abord je me dit, chouette, vais pouvoir voire ce que <a href="http://fr.wikipedia.org/wiki/Active_server_pages" hreflang="fr">ASP</a> à dans le ventre, le comparer avec <a href="http://fr.wikipedia.org/wiki/PHP" hreflang="fr">PHP</a></p>
<p>Bon après quelques test, le regret énorme des fichiers <a href="http://fr.wikipedia.org/wiki/.htaccess">htaccess</a>, uniquement présent sur <a href="http://fr.wikipedia.org/wiki/Apache_HTTP_Server" hreflang="fr">Apache</a>, l&#8217;absence d&#8217;url rewriting, le fait de devoir a chaque fois demander que l&#8217;on fasse un &laquo;&nbsp;deny from all&nbsp;&raquo; sur un dossier, etc &#8230;.</p>
<p>Je test&#8230;</p>
<p>Et je suis &#8230;</p>
<p>&#8230;</p>
<p>je suis&#8230;</p>
<pre>déçu!</pre>
<p>Trop de bug PHP à mon goût.</p>
<p>Certes ASP.net est intéressant mais bon &#8230; sans plus.</p>
<hr />
<p>Écrit le 13/07/2007, publié le 16/07/2007!</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;linkname=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F51&amp;title=Je%20test%2C%20tu%20tests%2C%20ils%20bugent" id="wpa2a_24"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mingle2.com ou le truc a sondage qui servent a rien &#8230;.</title>
		<link>http://grummfy.be/blog/48#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/48#comments</comments>
		<pubDate>Tue, 03 Jul 2007 01:18:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[délire]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[jouons]]></category>
		<category><![CDATA[santé]]></category>
		<category><![CDATA[sbé]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=48</guid>
		<description><![CDATA[<p>mingle2.com ou le truc a sondage qui servent a rien ....</p> <p>j'y ai répondu, je vous met donc les réponses ....</p>]]></description>
			<content:encoded><![CDATA[<p>mingle2.com ou le truc a sondage qui servent a rien &#8230;.</p>
<p>j&#8217;y ai répondu, je vous met donc les réponses &#8230;.</p>
<p><span id="more-48"></span><br />
<a href="http://mingle2.com/blog-addiction" style="color: #D64B32; text-decoration: none; display: block; width: 286px; height: 128px; padding-top: 50px; padding-left: 17px; background: url(http://mingle2.com/img/bb/blog_addiction/badge.jpg) no-repeat; font-family: Times New Roman, sans-serif; font-size: 30px;">84%<span style="display: none;">How Addicted to Blogging Are You?</span></a>
<p style="text-align: center;">Mingle<sup>2</sup></p>
<p>
<a href="http://mingle2.com/blog-rating"><img style="border: none;" src="http://mingle2.com/img/bb/blog_rating/g.jpg" alt="Free Online Dating" /></a>
<p>Mingle<sup>2</sup></p>
<p><a href="http://mingle2.com/cadaver-calculator" style="color: #fff; text-decoration: none; display: block; width: 395px; height: 184px; padding-top: 121px; background: url(http://mingle2.com/img/bb/body_worth/badge.jpg) no-repeat; font-family: Arial, sans-serif; font-size: 24px; text-align: center;"><strong style="font-weight: normal;">$4640.00</strong><span style="display: none;">The Cadaver Calculator &#8211; Find out how much your body is worth</span></a>
<p style="text-align: center;">Mingle<sup>2</sup></p>
<p>
<a href="http://mingle2.com/geek-quiz" style="text-decoration: none; background: url('http://mingle2.com/css/img/quiz/badge1_orange.jpg') no-repeat; display: block; width: 268px; height: 82px;"><span style="display: block; padding-left: 125px; padding-top: 28px; color: #000; font-family: Arial; font-size: 22px;">57% Geek</span></a>Mingle<sup>2</sup> </p>
<p><a id="mingle2_badge" href="http://mingle2.com/html-elements-quiz" style="display: block; background:url(http://mingle2.com/css/img/badges/html_elements.jpg) no-repeat top left; height: 147px; width: 335px; text-decoration: none; color: #fff;"><em style="display: none;"><strong>Mingle<sup>2</sup> &#8211; Free Online Dating</strong></em><strong id="mingle2_badge_score" style="display: block; padding-left: 125px; padding-top: 44px; font-weight: normal; font-family: Times New Roman, Arial; font-size: 45px;">65</strong></a> </p>
<p>
<a id="mingle2_badge" href="http://mingle2.com/css-quiz" style="display: block; background: url(http://mingle2.com/css/img/badges/css_properties.jpg) no-repeat top left; height: 93px;  width: 335px; text-decoration: none; color: #fff;"><em style="display: none;">Free Online Dating</em><strong id="mingle2_badge_score" style="display: block; padding-left: 123px; padding-top: 20px;  font-weight: normal; font-family: Times New Roman, Arial; font-size: 20px;">62</strong></a>
<div style="width: 335px; text-align: center; font-size: 11px;"></div>
<p></p>
<p>plus de truc débile&nbsp;: <a href="http://mingle2.com/bb" title="http://mingle2.com/bb">http://mingle2.com/bb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/48/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enregistrer son écran sous GNU/Linux</title>
		<link>http://grummfy.be/blog/47#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/47#comments</comments>
		<pubDate>Sun, 01 Jul 2007 17:15:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[FSB]]></category>
		<category><![CDATA[GNU|Linux]]></category>
		<category><![CDATA[jouons]]></category>
		<category><![CDATA[MyWsp]]></category>
		<category><![CDATA[Projet]]></category>
		<category><![CDATA[trucs et astuces]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=47</guid>
		<description><![CDATA[Lors de la création de de tuto vidéo il est très intéressant de pouvoir enregistrer son écran et ainsi permettre une compréhension plus élevée de ce qu&#8217;explique le dit tuto. Ainsi, cherchant a m&#8217;entrainer à faire quelques tuto pour MyWsp, je me suis dit mais pourquoi pas en faire pour FSB. J&#8217;ai donc réfléchi a [...]]]></description>
			<content:encoded><![CDATA[<p>Lors de la création de de tuto vidéo il est très intéressant de pouvoir enregistrer son écran et ainsi permettre une compréhension plus élevée de ce qu&#8217;explique le dit tuto.</p>
<p>Ainsi, cherchant a m&#8217;entrainer à faire quelques tuto pour <a href="/blog/index.php?tag/MyWsp#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed"><acronym title="My Web Site Plugins">MyWsp</acronym></a>, je me suis dit mais pourquoi pas en faire pour <acronym title="Fire Soft Board">FSB</acronym>.</p>
<p>J&#8217;ai donc réfléchi a comment faire les meilleurs video, et me suis dit la capture d&#8217;écran est encore le plus simple.<br />
Donc, comment faire. Faire des recherches, je connais deux trois logiciel mais sans plus. Et hop grâce à Google je tombe sur ceci&nbsp;: <a href="http://www.coagul.org/article.php3?id_article=611">petit description de logiciel de capture video</a></p>
<p>Bref génial, je vous laisse lire l&#8217;article. Moi je compte utiliser xvidcap.</p>
<p>Repasser via Kino et Audacity pour remettre le tout ensemble (son, video, texte).</p>
<p>Je dirait une dernière choses, pensez aussi que si vous utiliser un texte en sous-titre cela permet d&#8217;être traduit plus facilement&#8230; (et permet aussi au sourd de comprendre ce que vous faites &#8230;.)</p>
<p><strong>Edit</strong> :<br />
j&#8217;en profite pour rajouter ceci&nbsp;: <a href="http://www.funix.org/fr/linux/main-linux.php?ref=montage&amp;page=full" title="http://www.funix.org/fr/linux/main-linux.php?ref=montage&amp;page=full">http://www.funix.org/fr/linux/main-&#8230;</a><br />
et le site de funix en général&nbsp;: <a href="http://www.funix.org/" title="http://www.funix.org/">http://www.funix.org/</a> qui contient pas mal de truc intéressant</p>
<p>et surtout <a href="http://www.lprod.org">Lprod</a> tout sous la production sous linux!</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;linkname=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F47&amp;title=Enregistrer%20son%20%C3%A9cran%20sous%20GNU%2FLinux" id="wpa2a_26"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/47/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Miniville</title>
		<link>http://grummfy.be/blog/45#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/45#comments</comments>
		<pubDate>Thu, 28 Jun 2007 12:35:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[sortie]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=45</guid>
		<description><![CDATA[Hé oui, il y a des jeux débile sur le net, ici un sim city à la sauce web 2.0 http://islaberu.miniville.fr/ http://islaberu.miniville.fr/ind Seul regret, on est obligé de joué en France! ps&#160;: penser à cliquer chaque jour dessus!]]></description>
			<content:encoded><![CDATA[<p>Hé oui, il y a des jeux débile sur le net,<br />
ici un sim city à la sauce web 2.0</p>
<p><a href="http://islaberu.miniville.fr/" hreflang="fr" class="broken_link">http://islaberu.miniville.fr/</a> <a href="http://islaberu.miniville.fr/ind" hreflang="fr" class="broken_link">http://islaberu.miniville.fr/ind</a></p>
<p>Seul regret, on est obligé de joué en France!</p>
<p>ps&nbsp;: penser à cliquer chaque jour dessus!</p>
<p><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a><a class="a2a_button_technorati_favorites" href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a><a class="a2a_button_facebook" href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a><a class="a2a_button_google_bookmarks" href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a><a class="a2a_button_netvibes_share" href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;linkname=Miniville" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fgrummfy.be%2Fblog%2F45&amp;title=Miniville" id="wpa2a_28"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/45/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 2.132 seconds -->

