<?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>La Geek Attitude &#187; WebDev&#8217;</title>
	<atom:link href="http://blog.kevingomez.fr/category/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kevingomez.fr</link>
	<description>Et vous, vous l'avez ?</description>
	<lastBuildDate>Sun, 24 Apr 2011 07:56:49 +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>Cheats sheets &#8211; n°2</title>
		<link>http://blog.kevingomez.fr/2009/07/25/cheats-sheets-n%c2%b02/</link>
		<comments>http://blog.kevingomez.fr/2009/07/25/cheats-sheets-n%c2%b02/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 21:28:48 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Dev']]></category>
		<category><![CDATA[Sur le web]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=474</guid>
		<description><![CDATA[Et hop, une petite liste de cheat sheet qu&#8217;elles sont goudes =P Gardez en quelques unes dans un coin, c&#8217;est toujours utile MooTools SEO HTML 5 Cheat Sheet dédiée à l&#8217;utilisation des Canvas dans HTML5 CSS 3 Vim Python Cheat sheet dédiée au framework web Django Ruby On Rails Subversion GIT Mercurial Apache&#8217;s Mod Rewrite [...]]]></description>
			<content:encoded><![CDATA[<p>Et hop, une petite liste de cheat sheet qu&#8217;elles sont goudes =P Gardez en quelques unes dans un coin, c&#8217;est toujours utile <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>MooTools</strong></p>
<p><a href="http://mediavrog.net/blog/2008/06/11/mootools/mootools-12-cheat-sheet/"><img class="alignnone size-full wp-image-666" title="mootools" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/mootools.jpg" alt="mootools" width="100" height="77" /></a></p>
<p><strong>SEO</strong></p>
<p><a href="http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet"><img class="alignnone size-thumbnail wp-image-667" title="seo" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/seo-150x150.png" alt="seo" width="150" height="150" /></a></p>
<p><strong>HTML 5<br />
</strong></p>
<p><a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/"><img class="alignnone size-thumbnail wp-image-668" title="html5" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/html5-150x150.gif" alt="html5" width="150" height="150" /></a></p>
<p><a href="http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html"><img class="alignnone size-thumbnail wp-image-669" title="HTML5-Canvas-Cheat-Sheet" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/HTML5-Canvas-Cheat-Sheet-150x148.png" alt="HTML5-Canvas-Cheat-Sheet" width="150" height="148" /></a></p>
<p>Cheat Sheet dédiée à l&#8217;utilisation des Canvas dans HTML5</p>
<p><strong>CSS 3</strong></p>
<p><a href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/"><img class="alignnone size-thumbnail wp-image-670" title="css3" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/css3-150x150.gif" alt="css3" width="150" height="150" /></a></p>
<p><span id="more-474"></span></p>
<p><strong>Vim</strong></p>
<p><a href="http://www.hafenscher.net/wiki/index.php?page=Vim_Cheat_Sheet"><img class="alignnone size-thumbnail wp-image-671" title="vim" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/vim-150x150.PNG" alt="vim" width="150" height="150" /></a></p>
<p><a href="http://www.tuxfiles.org/linuxhelp/vimcheat.html"><img class="alignnone size-thumbnail wp-image-672" title="vim2" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/vim2-150x150.PNG" alt="vim2" width="150" height="150" /></a></p>
<p><strong>Python</strong></p>
<p><a href="http://www.addedbytes.com/cheat-sheets/python-cheat-sheet/"><img class="alignnone size-thumbnail wp-image-673" title="python_v1_plain" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/python_v1_plain-150x150.png" alt="python_v1_plain" width="150" height="150" /></a></p>
<p><a href="http://www.mercurytide.co.uk/news/article/django-cheat-sheet/"><img class="alignnone size-thumbnail wp-image-674" title="django" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/django-150x150.PNG" alt="django" width="150" height="150" /></a></p>
<p>Cheat sheet dédiée au framework web Django</p>
<p><strong>Ruby On Rails</strong></p>
<p><a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/"><img class="alignnone size-thumbnail wp-image-675" title="ruby_on_rails_v1_1" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/ruby_on_rails_v1_1-150x150.png" alt="ruby_on_rails_v1_1" width="150" height="150" /></a></p>
<p><strong>Subversion</strong></p>
<p><a href="http://ariejan.net/svncheatsheet/"><img class="alignnone size-full wp-image-677" title="svncheatsheet-1.0.1" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/svncheatsheet-1.0.11.png" alt="svncheatsheet-1.0.1" width="150" height="150" /></a></p>
<p><a href="http://www.abbeyworkshop.com/howto/misc/svn01/"><img class="alignnone size-thumbnail wp-image-678" title="svn" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/svn-150x150.PNG" alt="svn" width="150" height="150" /></a></p>
<p><strong>GIT</strong></p>
<p><a href="http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html"><img class="alignnone size-thumbnail wp-image-679" title="git-cheet-sheet-small" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/git-cheet-sheet-small-150x150.png" alt="git-cheet-sheet-small" width="150" height="150" /></a></p>
<p><a href="http://github.com/guides/git-cheat-sheet"><img class="alignnone size-thumbnail wp-image-680" title="git2" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/git2-150x150.png" alt="git2" width="150" height="150" /></a></p>
<p><img src="file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot.png" alt="" /><img src="file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-1.png" alt="" /></p>
<p><strong>Mercurial</strong></p>
<p><a href="http://edong.net/2008v1/docs/dongwoo-Hg-PDF.pdf"><img class="alignnone size-thumbnail wp-image-681" title="mercurial" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/mercurial-150x150.PNG" alt="mercurial" width="150" height="150" /></a></p>
<p><strong>Apache&#8217;s Mod Rewrite</strong></p>
<p><a href="http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/"><img class="alignnone size-thumbnail wp-image-682" title="mod_rewrite_v2_plain" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/mod_rewrite_v2_plain-150x150.png" alt="mod_rewrite_v2_plain" width="150" height="150" /></a></p>
<p><strong>WordPress</strong></p>
<p><a href="http://wpcandy.com/articles/tutorials/the-wordpress-help-sheet.html"><img class="alignnone size-thumbnail wp-image-683" title="wordpress-help-sheet" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/07/wordpress-help-sheet-150x150.jpg" alt="wordpress-help-sheet" width="150" height="150" /></a></p>
<p>Enjoy ! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2009/07/25/cheats-sheets-n%c2%b02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP] Détecter correctement le navigateur et l&#8217;OS du client</title>
		<link>http://blog.kevingomez.fr/2009/06/14/php-detecter-correctement-le-navigateur-et-los-du-client/</link>
		<comments>http://blog.kevingomez.fr/2009/06/14/php-detecter-correctement-le-navigateur-et-los-du-client/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 14:19:28 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[WebDev']]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[détection]]></category>
		<category><![CDATA[navigateur]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=654</guid>
		<description><![CDATA[Une simple recherche via notre ami Google le confirmera, il existe une foule de fonctions dédiées à détecter le navigateur utilisé par nos chers utilisateurs. Le hic, c&#8217;est que ces fonctions sont souvent codées par &#8211; disons ce qui est &#8211; de bons gros débutants. Il en résulte donc des informations érronées, très imprécises voire [...]]]></description>
			<content:encoded><![CDATA[<p>Une simple recherche via notre ami Google le confirmera, il existe une foule de fonctions dédiées à détecter le navigateur utilisé par nos chers utilisateurs. Le hic, c&#8217;est que ces fonctions sont souvent codées par &#8211; disons ce qui est &#8211; de bons gros débutants. Il en résulte donc des informations érronées, très imprécises voire même d&#8217;importants ralentissements dans notre script à cause de cette satanée fonction !<br />
Vous ne voyez toujours pas de quel genre de code/fonction je veux parler ? Alors admirez la perle qui suit (trouvée en première page sur google avec la requête « détecter navigateur php ») :</p>
<pre class="brush: php; title: ; notranslate">
&lt;?
if (eregi('msie', $HTTP_USER_AGENT) &amp;&amp; !eregi('opera', $HTTP_USER_AGENT))
{
// Internet Explorer
$navigateur=&quot;Internet Explorer&quot;;
}
elseif (eregi('opera', $HTTP_USER_AGENT))
{
// Opera
$navigateur=&quot;Opera&quot;;
}
elseif (eregi('Mozilla/4.', $HTTP_USER_AGENT))
{
// Netscape 4.x
$navigateur=&quot;Netscape 4.x&quot;;
}
elseif (eregi('Mozilla/5.0', $HTTP_USER_AGENT) &amp;&amp; !eregi('Konqueror', $HTTP_USER_AGENT))
{
// Netscape 6
$navigateur=&quot;Netscape 6.x&quot;;
}
else
{
// Autres navigateurs
$navigateur=&quot;Navigateur inconnu&quot;;
}
echo $navigateur;
?&gt;
</pre>
<p>Comme vous pouvez le constater, c&#8217;est laid et imprécis à souhait =P</p>
<p>Parant de cette constatation, je me suis mis en quête d&#8217;une fonction ou d&#8217;une class plus performante, et je suis tombé sur la fonction standard de PHP <a href="http://fr2.php.net/manual/fr/function.get-browser.php">get_browser()</a>, qui est une vraie bénédiction comparée à notre fonction d&#8217;amateur disponible plus haut. Sans plus attendre, voici un bout de code (tiré de PHP.net) montrant son fonctionnement, et surtout les informations renvoyées :</p>
<pre class="brush: php; title: ; notranslate">
echo $_SERVER['HTTP_USER_AGENT'] . &quot;\n\n&quot;;

$browser = get_browser(null, true);
print_r($browser);
?&gt;
/*
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
[browser_name_regex] =&gt; ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
[browser_name_pattern] =&gt; Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] =&gt; Firefox 0.9
[platform] =&gt; WinXP
[browser] =&gt; Firefox
[version] =&gt; 0.9
[majorver] =&gt; 0
[minorver] =&gt; 9
[cssversion] =&gt; 2
[frames] =&gt; 1
[iframes] =&gt; 1
[tables] =&gt; 1
[cookies] =&gt; 1
[backgroundsounds] =&gt;
[vbscript] =&gt;
1 =&gt; 1
[javaapplets] =&gt; 1
[activexcontrols] =&gt;
[cdf] =&gt;
[aol] =&gt;
[beta] =&gt; 1
[win16] =&gt;
[crawler] =&gt;
[stripper] =&gt;
[wap] =&gt;
[netclr] =&gt;
)
*/
</pre>
<p>Le seul inconvénient à l&#8217;utilisation de cette fonction est qu&#8217;elle nécéssite un fichier browscap.ini à jour, fichier qui n&#8217;est bien évidemment pas distribué avec PHP =p</p>
<p>Qu&#8217;à cela ne tienne, <a href="http://browsers.garykeith.com/downloads.asp">le site</a> distribuant ce fameux browscap.ini met aussi à disposition une classe émulant le fonctionnement de get_browser(), mais étant capable de télécharger elle-même (pour ensuite mettre en cache) le fichier  browscap.ini dont elle a tant besoin. La solution ultime à notre problème est donc toute trouvée, et comble du bonheur elle est téléchargeable sur<a href="http://code.google.com/p/phpbrowscap/"> la page Google Code du projet</a> ! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2009/06/14/php-detecter-correctement-le-navigateur-et-los-du-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Réécrire et adapter le decorator &#171;&#160;login_required&#160;&#187; de Django</title>
		<link>http://blog.kevingomez.fr/2009/03/11/reecrire-et-adapter-le-decorator-login_required-de-django/</link>
		<comments>http://blog.kevingomez.fr/2009/03/11/reecrire-et-adapter-le-decorator-login_required-de-django/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 19:44:06 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[WebDev']]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=609</guid>
		<description><![CDATA[Hey la compagnie ! Pour mon dernier site web (coming soon &#8230;), j&#8217;ai décidé d&#8217;étendre mes connaissances en Python au développement web, et plus particulièrement à Django. Je ne m&#8217;étenderai pas sur ce choix, ce dernier n&#8217;étant fondé que sur des conseils d&#8217;utilisateurs de django (ceci dit je ne regrette pas du tout de les [...]]]></description>
			<content:encoded><![CDATA[<p>Hey la compagnie !</p>
<p><img class="alignright size-full wp-image-614" title="django-logo-negative-small" src="http://geek-attitude.fr.nf/wp-content/uploads/2009/03/django-logo-negative-small.png" alt="django-logo-negative-small" width="200" height="91" />Pour mon dernier site web (coming soon &#8230;), j&#8217;ai décidé d&#8217;étendre mes connaissances en Python au développement web, et plus particulièrement à Django. Je ne m&#8217;étenderai pas sur ce choix, ce dernier n&#8217;étant fondé que sur des conseils d&#8217;utilisateurs de django (ceci dit je ne regrette pas du tout de les avoir écoutés =D).</p>
<p>Parmi les &laquo;&nbsp;raccourcis&nbsp;&raquo; que met en place django, on retrouve le decorator &laquo;&nbsp;login_required&nbsp;&raquo; qui permet de restreindre l&#8217;accès à une vue aux utilisateurs authentifiés et de rediriger les autres vers la page de connexion. Sur le papier, c&#8217;était exactement ce qu&#8217;il me fallait. Mais en pratique, j&#8217;avais quelques améliorations à apporter =p</p>
<p>En effet, j&#8217;utilise dans tout le reste du site une fonction de redirection maison qui fait transiter le visiteur via une page dédiée à l&#8217;affichage d&#8217;un message explicitant la redirection (ex : &laquo;&nbsp;Vous devez être connecté pour voir cette page&nbsp;&raquo;, &laquo;&nbsp;Connexion réussie&nbsp;&raquo;, etc.). Mon but est donc de retrouver le même comportement avec le decorator de django, comportement qui est d&#8217;après mes recherches impossible d&#8217;obtenir &#8230;</p>
<p>Soit, je vais coder moi-même un decorator répondant à mes besoins <img src="./wp-includes/images/smilies/icon_cool.gif" alt=":cool:" /></p>
<pre class="brush: python; title: ; notranslate">
#-*- encoding:utf-8 -*-

from django.shortcuts import render_to_response

def if_logged_in(f, message='Vous devez être connecté pour pouvoir voir cette page.'):
    &quot;&quot;&quot; Décorator pour refuser l'accès à une page aux users non connectés &quot;&quot;&quot;

    def wrap(request, *args, **kwargs):
        if not request.user.is_authenticated():
            return redirection(request, '/connexion/', message)
        return f(request, *args, **kwargs)

    wrap.__doc__ = f.__doc__
    wrap.__name__ = f.__name__

    return wrap

def redirection(request, REDIR_URL, REDIR_MESSAGE='Erreur !', REDIR_TIME=4):
    &quot;&quot;&quot;
    Fonction permettant de rediriger un user
    les variables locales à la fonction pourront être utilisées dans le template
    &quot;&quot;&quot;

    return render_to_response('redirection.html', locals())
</pre>
<p>Pour ce qui est de l&#8217;utilisation, elle est identique à celle de n&#8217;importe quel decorator, y compris &laquo;&nbsp;login_required&nbsp;&raquo; <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Enjoy !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2009/03/11/reecrire-et-adapter-le-decorator-login_required-de-django/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mes conventions de codage en PHP</title>
		<link>http://blog.kevingomez.fr/2008/09/01/mes-conventions-de-codage-en-php/</link>
		<comments>http://blog.kevingomez.fr/2008/09/01/mes-conventions-de-codage-en-php/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 22:03:13 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Dev']]></category>
		<category><![CDATA[Musik Box]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[Conventions]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=501</guid>
		<description><![CDATA[Je profite du fait que j&#8217;ai récemment eu à « réfléchir » (c&#8217;est un bien grand mot, je vous le concède) à ce sujet pour exposer publiquement mes habitudes de programmation en PHP. Généralités J&#8217;utilise toujours les tags longs et en minuscules (&#60;?php &#8230; ?&#62;). Vous ne verrez jamais un de mes codes commencer par [...]]]></description>
			<content:encoded><![CDATA[<p>Je profite du fait que j&#8217;ai récemment eu à « réfléchir » (c&#8217;est un bien grand mot, je vous le concède) à ce sujet pour exposer publiquement mes habitudes de programmation en PHP.</p>
<h4>Généralités</h4>
<p>J&#8217;utilise toujours les tags longs et en minuscules (&lt;?php &#8230; ?&gt;). Vous ne verrez jamais un de mes codes commencer par un short tag (&lt;? &#8230;. ?&gt;) ou un tag en majuscules (&lt;?PHP &#8230; ?&gt;).<br />
Un fichier définissant une class sera nommé selon le modèle « NomDeLaClass.class.php » en vue de faciliter l&#8217;utilisation de la méthode __autoload().<br />
En ce qui concerne l&#8217;indentation, 4 espaces me suffisent pour marquer un niveau.</p>
<h4>Structures de contrôle</h4>
<p>Pour les instructions if, switch, for, while, foreach, etc. je laisse un espace entre le mot clé de l&#8217;instruction et la condition. Les accolades occupent à elles seules une ligne.<br />
Si une seule instruction est soumise à condition, j&#8217;omets souvent les accolades.<br />
Exemple :</p>
<pre class="brush: php; title: ; notranslate">
if (condition1 AND condition2)
{
    //action;
    //action;
}

if (condition1 AND condition2)
    //action;

foreach ($tableau as $key =&gt; $value)
{
    //action;
    //action;
}
</pre>
<h4>Définitions des fonctions</h4>
<p>Comme pour les structures de contrôle, les accolades de la fonctions sont placées sous le nom de la fonction et le code est indenté d&#8217;un niveau. Les paramètres sont espacés d&#8217;un seul espace, et je spécifie la valeur d&#8217;un paramètre optionnel en joignant avec le signe « = » et sans espace la définition du paramètre et sa valeur par défaut.<br />
Exemple :</p>
<pre class="brush: php; title: ; notranslate">
function somme($var1, $var2=0)
{
    return $var1+$var2;
}
</pre>
<h4>Utilisation des fonctions</h4>
<p>Les fonctions sont appelées sans aucun espace entre le nom de la fonction et les parenthèses. Cependant, un espace sépare chaque paramètre.<br />
Si la fonction est retournée dans une variable, on mettra au moins un espace de part et d&#8217;autre du signe égal.<br />
Exemple :</p>
<pre class="brush: php; title: ; notranslate">
$ma_var = ma_fonction($var1, $var2);
fait_quelque_chose();
</pre>
<h4>Règles de nommage</h4>
<p>Les noms des variables doivent avoir un sens et ne pas commencer par « _ ». Les mots sont en minuscules et séparés par un underscore, tout comme les fonctions.</p>
<p>Les noms de class sont en CamelCase et doivent aussi (évidemment ? =p) avoir un sens.</p>
<h4>Commentaires</h4>
<p>Là, j&#8217;avoue que c&#8217;est un peu freestyle <img  src="../wp-includes/images/smilies/he.gif" alt="xD" /> Je commente souvent assez bien les fonctions et méthodes de class, mais le reste du code est assez peu voire pas du tout commenté (honte à moi d&#8217;ailleurs).<br />
Exemple de commentaire d&#8217;une fonction :</p>
<pre class="brush: php; title: ; notranslate">
/**
 * Envoi d'un mail au format HTML
 * @param string $dest adresse mail du destinataire
 * @param string $titre sujet du mail
 * @param string $cont contenu du mail
 * @return bool
 */
</pre>
<p>Voilà, le principal est dit, n&#8217;hésitez pas à me poser des questions, à critiquer mes habitudes et aussi à nous expliquer les votres <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/09/01/mes-conventions-de-codage-en-php/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Un hologramme sur iPhone</title>
		<link>http://blog.kevingomez.fr/2008/08/28/un-hologramme-sur-iphone/</link>
		<comments>http://blog.kevingomez.fr/2008/08/28/un-hologramme-sur-iphone/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 12:45:15 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Geekeries]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Sur le web]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[geekerie]]></category>
		<category><![CDATA[hologramme]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=496</guid>
		<description><![CDATA[La petite application dont David Oreilly est le développeur utilise les capteurs de position de l&#8217;iPhone pour afficher le personnage selon le point de vue de l&#8217;utilisateur, de façon à donner un impression de relief. C&#8217;est inutile, mais tellement geek iHologram &#8211; iPhone application from David OReilly on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>La petite application dont <a href="http://www.davidoreilly.com/blog/2008/08/ihologram/">David Oreilly</a> est le développeur utilise les capteurs de position de l&#8217;iPhone pour afficher le personnage selon le point de vue de l&#8217;utilisateur, de façon à donner un impression de relief.</p>
<p>C&#8217;est inutile, mais tellement geek <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=1496857&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=1496857&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<a href="http://vimeo.com/1496857?pg=embed&amp;sec=1496857">iHologram &#8211; iPhone application</a> from <a href="http://vimeo.com/davidoreilly?pg=embed&amp;sec=1496857">David OReilly</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1496857">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/08/28/un-hologramme-sur-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Du nouveau pour le MP3 Finder</title>
		<link>http://blog.kevingomez.fr/2008/07/19/du-nouveau-pour-le-mp3-finder/</link>
		<comments>http://blog.kevingomez.fr/2008/07/19/du-nouveau-pour-le-mp3-finder/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 17:16:30 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Projets]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[moteur de recherche]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[nouveautés]]></category>
		<category><![CDATA[vente]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=480</guid>
		<description><![CDATA[Le défi que représente le MP3 Finder et que je me suis imposé de réaliser est en phase de l&#8217;être ! En effet, j&#8217;ai profité de ma période &#171;&#160;creuse&#160;&#187; du mois de juillet pour corriger quelques bugs sur le moteur, améliorer les performances globales/temps de chargement, et évidemment ajouter quelques nouveaux moteurs de recherches Ce [...]]]></description>
			<content:encoded><![CDATA[<p>Le défi que représente le <a href="http://mp3-search.fr.nf/">MP3 Finder</a> et que je me suis imposé de réaliser est en phase de l&#8217;être !</p>
<p>En effet, j&#8217;ai profité de ma période &laquo;&nbsp;creuse&nbsp;&raquo; du mois de juillet pour corriger quelques bugs sur le moteur, améliorer les performances globales/temps de chargement, et évidemment ajouter quelques nouveaux moteurs de recherches <img src="../wp-includes/images/smilies/smile.png" alt=":)" /><br />
Ce sont pas moins de 5 sources font leur apparition : BeeMP3, MP3gle, Seeqpod, Songza et Youtube !<br />
On peut donc désormais réellement dire que <a href="http://mp3-search.fr.nf/">MP3 Finder</a> est un &laquo;&nbsp;multi-moteurs&nbsp;&raquo; de recherche :p</p>
<p>Je l&#8217;ai dit plus haut, ce qui m&#8217;intéressait le plus dans ce site était le défi qu&#8217;il représentait. Ayant relevé ce défi, je dois avouer que je me retrouve avec un joli jouet, certe, mais avec lequel je ne jouerai pas. D&#8217;où ma décision de mettre en vente le <a href="http://mp3-search.fr.nf/">MP3 Finder</a>.<br />
Donc si ce site intéresse quelqu&#8217;un, n&#8217;hésitez pas à <a href="http://geek-attitude.fr.nf/portfolio/contact.html">me contacter</a> (par mail ou en laissant un commentaire), je vous dirai tout ce que vous voudrez savoir sur mon site =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/07/19/du-nouveau-pour-le-mp3-finder/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MP3 Finder :: pour la V2 hip hip hip</title>
		<link>http://blog.kevingomez.fr/2008/05/17/mp3-finder-pour-la-v2-hip-hip-hip/</link>
		<comments>http://blog.kevingomez.fr/2008/05/17/mp3-finder-pour-la-v2-hip-hip-hip/#comments</comments>
		<pubDate>Sat, 17 May 2008 14:58:30 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Projets]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[Finder]]></category>
		<category><![CDATA[moteur de recherche]]></category>
		<category><![CDATA[MP3]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=471</guid>
		<description><![CDATA[Bien que la V2 (bêta) du MP3 Finder soit en ligne depuis quelques semaines maintenant, je me décide enfin à en parler sur mon blog Parmi les nouveautés coté utilisateur (je vous parle même pas des changements dans le code et sa structure ) : un nouveau design, libre et créé par Arcsin un espace [...]]]></description>
			<content:encoded><![CDATA[<p>Bien que la V2 (bêta) du <a href="http://mp3-search.fr.nf/">MP3 Finder</a> soit en ligne depuis quelques semaines maintenant, je me décide enfin à en parler sur mon blog <img onclick="grin('mdr:');" src="http://geek-attitude.fr.nf/wp-includes/images/smilies/mdr.gif" alt="mdr:" /></p>
<p>Parmi les nouveautés coté utilisateur (je vous parle même pas des changements dans le code et sa structure <img onclick="grin(':-)');" src="http://geek-attitude.fr.nf/wp-includes/images/smilies/whistle.gif" alt=":-)" /> ) :</p>
<ul>
<li>un nouveau design, libre et créé par <a href="http://arcsin.se/">Arcsin</a></li>
<li>un espace membre</li>
<li>la possibilité de sauvegarder des chansons ou répertoires que vous aimez (les favoris)</li>
<li>la possibilité de créer des playlists avec vos chansons favorites</li>
<li>le partage de favoris</li>
<li>les nouvelles options de recherche (musique, torrents et archives)</li>
</ul>
<p>J&#8217;ajouterai même que le <a href="http://mp3-search.fr.nf/">MP3 Finder</a> compte au moment où j&#8217;écris ces quelques lignes pas moins de 34361 recherches totales, pour 2800 (tout pile !) mots-clés différents <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Conclusion :: bien que le <a href="http://mp3-search.fr.nf/">MP3 Finder</a> soit loin d&#8217;être terminé (toujours en version bêta), je suis assez content de moi <img onclick="grin('xD');" src="http://geek-attitude.fr.nf/wp-includes/images/smilies/he.gif" alt="xD" /></p>
<p>P.S : n&#8217;hésitez pas à vous inscrire et à me dire ce que vous aimeriez voir ajouté/modifié/enlevé sur le <a href="http://mp3-search.fr.nf/">MP3 Finder</a> <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/05/17/mp3-finder-pour-la-v2-hip-hip-hip/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La Class Packer d&#233;barque sur le portfolio</title>
		<link>http://blog.kevingomez.fr/2008/04/25/la-class-packer-dbarque-sur-le-portfolio/</link>
		<comments>http://blog.kevingomez.fr/2008/04/25/la-class-packer-dbarque-sur-le-portfolio/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 11:48:02 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[WebDev']]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[packer]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[portfolio]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/2008/04/25/la-class-packer-dbarque-sur-le-portfolio/</guid>
		<description><![CDATA[Malgré ce que laisse entrevoir ce blog, j&#8217;étais loin d&#8217;être inactif ces derniers jours :-° En effet, outre le développement de la V2 du MP3 Finder (V2 qui sera d&#8217;ailleurs disponible en bêta d&#8217;ici quelques jours, voire cet après-midi même :p ), j&#8217;ai ressorti de mes cartons ce que j&#8217;appelle une &#171;&#160;class Packer&#160;&#187; =) Les [...]]]></description>
			<content:encoded><![CDATA[<p>Malgré ce que laisse entrevoir ce blog, j&#8217;étais loin d&#8217;être inactif ces derniers jours :-°</p>
<p>En effet, outre le développement de la V2 du MP3 Finder (V2 qui sera d&#8217;ailleurs disponible en bêta d&#8217;ici quelques jours, voire cet après-midi même :p ), j&#8217;ai ressorti de mes cartons ce que j&#8217;appelle une &laquo;&nbsp;class Packer&nbsp;&raquo; =)</p>
<p>Les utilisateurs de Dotclear connaissent le principe, il s&#8217;agit d&#8217;un unique fichier qui permet l&#8217;installation d&#8217;un design ou d&#8217;une extension, ma class packer servant ici à &laquo;&nbsp;réunir&nbsp;&raquo; les fichiers et dossiers qui composent le thème dans un même fichier, et à les restituer sous leur forme originelle grâce à de simples commandes.</p>
<p>Pour ce qui est de la simplicité d&#8217;utilisation, je vais vous la démontrer =D :</p>
<p><code lang="php"><br />
$packer = new packer();<br />
$packer-&gt;pack('./js/', 'js_test');<br />
// "./js" étant l'adresse du dossier à "packer"<br />
//et "js_test" le nom du fichier une fois packé<br />
$packer-&gt;unpack('js_test.pk', './yop/');<br />
//"js_test.pk" est ici le fichier packé<br />
//et "./yop/" le répertoire dans lequel le pack sera extrait<br />
?&gt; </code></p>
<p>Comme d&#8217;hab, le reste se passe <a href="http://geek-attitude.fr.nf/portfolio/projets/class_packer.html">du coté du portfolio</a></p>
<p>Enjoy ! :jap:</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/04/25/la-class-packer-dbarque-sur-le-portfolio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Le meilleur des thèmes gratuits pour WordPress</title>
		<link>http://blog.kevingomez.fr/2008/04/15/le-meilleur-des-themes-gratuits-pour-wordpress/</link>
		<comments>http://blog.kevingomez.fr/2008/04/15/le-meilleur-des-themes-gratuits-pour-wordpress/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 15:56:52 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[Sur le web]]></category>
		<category><![CDATA[WebDev']]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[selection]]></category>
		<category><![CDATA[thèmes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/?p=451</guid>
		<description><![CDATA[1. Night Whimsy (démo) Thème à trois colonnes réalisé par Teresa. Peut-être légèrement féminin, ce thème n&#8217;en demeure pas moins très sympa =) 2. Xplosive (démo) Résolument &#171;&#160;Web 2.O&#160;&#187;, le thème à trois colonnes de Jai ravira les blogueurs les plus exigeants 3. Xplosive Reloaded (démo) La nouvelle version du thème Reloaded est, comme on [...]]]></description>
			<content:encoded><![CDATA[<h4>1. <a href="http://scribblescratch.com/2008/04/01/wp-theme-night-whimsy/">Night Whimsy</a> (<a href="http://demo.scribblescratch.com/index.php?wptheme=Night+Whimsy">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/nightwhimsy.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/nightwhimsy_thumb.jpg" border="0" alt="night whimsy" width="244" height="160" /></a>Thème à trois colonnes réalisé par <a href="http://scribblescratch.com/">Teresa</a>. Peut-être légèrement féminin, ce thème n&#8217;en demeure pas moins très sympa =)</p>
<h4>2. <a href="http://www.blogohblog.com/wordpress-theme-xplosive/">Xplosive</a> (<a href="http://wpthemes.blogohblog.net/index.php?wptheme=xplosive">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/xplosive.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/xplosive_thumb.jpg" border="0" alt="xplosive" width="244" height="148" /></a> Résolument &laquo;&nbsp;Web 2.O&nbsp;&raquo;, le thème à trois colonnes de <a href="http://www.blogohblog.com/">Jai</a> ravira les blogueurs les plus exigeants</p>
<h4>3. <a href="http://www.blogohblog.com/wordpress-theme-xplosive-reloaded/">Xplosive Reloaded</a> (<a href="http://wpthemes.blogohblog.net/index.php?wptheme=Xplosive+Reloaded">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/xplosivereloaded.gif"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/xplosivereloaded_thumb.gif" border="0" alt="xplosive-reloaded" width="240" height="229" /></a>La nouvelle version du thème Reloaded est, comme on pouvait s&#8217;y attendre, toujours aussi orientée &laquo;&nbsp;Web 2.0&#8243; et couleurs vives (ici, 4 couleurs prédéfinies sont proposées)</p>
<p><span id="more-451"></span></p>
<h4>4. <a href="http://www.briangardner.com/themes/vertigo-wordpress-theme.htm">Vertigo</a></h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/vertigo.png"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/vertigo_thumb.png" border="0" alt="vertigo" width="244" height="184" /></a>Disponible en version <a href="http://www.briangardner.com/demos/index.php?wptheme=Vertigo+2-Column">deux</a> ou <a href="http://www.briangardner.com/demos/index.php?wptheme=Vertigo+3-Column">trois</a> colonnes, ce thème sobre et professionnel se personnalise facilement, et accepte les widgets nativement <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>5. <a href="http://www.briangardner.com/themes/vertigo-electrified-wordpress-theme.htm">Vertigo Electrified</a></h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/vertigoelectrified.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/vertigoelectrified_thumb.jpg" border="0" alt="vertigo-electrified" width="244" height="184" /></a>Déclinaison &laquo;&nbsp;électrifiée&nbsp;&raquo; du thème Vertigo. Disponible aussi bien en version <a href="http://www.briangardner.com/demos/index.php?wptheme=Vertigo+Electrified+2-Column">deux colonnes</a> que <a href="http://www.briangardner.com/demos/index.php?wptheme=Vertigo+Electrified+3-Column">trois colonnes</a>.</p>
<h4>6. <a href="http://wpzone.net/free-wordpress-themes/light/">Light</a> (<a href="http://wpzone.net/demo/?wpzone_theme=Light&amp;KeepThis=true&amp;TB_iframe=true&amp;height=480&amp;width=900">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/light.gif"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/light_thumb.gif" border="0" alt="light" width="244" height="125" /></a>Comme l&#8217;annonce son nom, ce thème est sobre et léger, alors mangez-en ! =D</p>
<h4>7. <a href="http://www.kaushalsheth.com/indigo-wordpress-theme-released/">Indigo</a> (<a href="http://www.wpdemo.kaushalsheth.com/index.php?wptheme=Indigo">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/indigod.gif"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/indigod_thumb.gif" border="0" alt="indigod" width="244" height="184" /></a>Designé par Arcsin, ce thème  deux colonnes est simple, propre, agréable à utiliser, et il est &laquo;&nbsp;widget-ready&nbsp;&raquo;. Mais que demander de plus ? ^^</p>
<h4>8. <a href="http://nofieiman.com/2006/11/andharra-wordpress-themes/">Andharra</a></h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/andharrawordpressthemes.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/andharrawordpressthemes_thumb.jpg" border="0" alt="andharra-wordpress-themes" width="157" height="244" /></a>Minimaliste et agréable à utiliser, ce thème de <a href="http://nofieiman.com/">Nofie Iman</a> privilégie largement le contenu du blog.</p>
<h4>9. <a href="http://themespack.com/several3-wordpress-theme.html">Several3</a> (<a href="http://several3.jeremyreviews.com/">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/several3.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/several3_thumb.jpg" border="0" alt="several3" width="244" height="192" /></a>La couleur du header prédestinera sûrement ce design aux blogs féminins, mais je trouve ce design très réussi graphiquement et ergonomiquement =)</p>
<h4>10. <a href="http://www.paddsolutions.com/download/sexyback.zip">Sexy Back</a> (<a href="http://paddsolutions.com/wpthemes/switch.php?template=sexyback">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/demosmall.png"></a><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/demosmall_3.png"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/demosmall_thumb.png" border="0" alt="demosmall" width="240" height="194" /></a>Le très joli header de ce thème feront certainement tomber tous les hommes normalement conçus à la renverse <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h4>11. <a href="http://whalesalad.com/2007/07/23/elixir/">Elixir</a></h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/elixir.png"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/elixir_thumb.png" border="0" alt="elixir" width="244" height="118" /></a>Que se soit pas sa disposition (sidebar à gauche et colonne principale relativement étroite), ou par ses couleurs assez flashy, ce thème se démarque par son originalité <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>12. <a href="http://www.skinpress.com/fluid-yellow-black-wp-themes/">Fluid Yellow Black</a> (<a href="http://www.skinpress.com/askg/images/preview_theme1..gif">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/FluidYellowblack.gif"><img style="float: left; margin: 0px 5px 0px 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/FluidYellowblack_thumb.gif" alt="Fluid Yellow black" width="240" height="187" /></a> Thème sobre, passe-partout, alliant parfaitement le jaune et le noir afin de faire ressortir le titre du blog et les éléments de navigation</p>
<h4>13. <a href="http://www.dezinerfolio.com/2007/10/22/dfmarine-wordpress-theme/">dfMarine</a> (<a href="http://marine.dezinerfolio.com/">démo</a>)</h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/marinepreview.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/marinepreview_thumb.jpg" border="0" alt="marinepreview" width="244" height="116" /></a>Typiquement &laquo;&nbsp;web 2.0&#8243;, ce design associe un header graphiquement travaillé avec une sidebar simple et sobre pour une efficacité optimale, et surtout pour le plaisir des yeux ! mdr:</p>
<h4>14. <a href="http://jsbox.net/389">Jstheme &#8211; PolarLight</a></h4>
<p><a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/ss1.jpg"><img style="border-top-width: 0px; border-left-width: 0px; float: left; border-bottom-width: 0px; margin: 0px 5px 0px 0px; border-right-width: 0px" src="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/ss1_thumb.jpg" border="0" alt="ss1" width="232" height="244" /></a> Avec ce dernier thème, je vais vous surprendre (ou pas d&#8217;ailleurs :p ), puisque j&#8217;ai encore choisi un thème assez flashy, 2.0 à souhait, et multi-couleurs (comprendre que vous pouvez choisir celle qui vous plait le plus :p ). Notez que ce thème existe en version fixe (la largeur du thème est prédéfinie), ou en version large (la largeur s&#8217;adapte à la taille de l&#8217;écran)</p>
<p>Enjoy ! :jap:<a href="http://hosted.geek-attitude.fr.nf/8e35c521a9e4_C0F1/ss2.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/04/15/le-meilleur-des-themes-gratuits-pour-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Air : Introduction et Installation</title>
		<link>http://blog.kevingomez.fr/2008/04/08/air-introduction-et-installation/</link>
		<comments>http://blog.kevingomez.fr/2008/04/08/air-introduction-et-installation/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 19:31:16 +0000</pubDate>
		<dc:creator>Kévin G.</dc:creator>
				<category><![CDATA[WebDev']]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[tuto]]></category>

		<guid isPermaLink="false">http://geek-attitude.fr.nf/2008/04/10/air-introduction-et-installation/</guid>
		<description><![CDATA[Le 25 février dernier, si ma mémoire est bonne, était officiellement lancée la version finale de AIR, ce fameux outil permettant la création d&#8217;applications de bureau basées sur des technologies web. Introduction En effet, AIR permet aux développeurs qui, comme moi, n&#8217;ont pas beaucoup de connaissances dans la programmation &#171;&#160;logicielle&#160;&#187; de pouvoir construire des applications [...]]]></description>
			<content:encoded><![CDATA[<p><img style="padding-right: 10px; float: left; margin: 0px 5px 0px 0px" src="http://www.fredcavazza.net/wp/wp-content/uploads/Q1-08/on_adobe_air_logo.jpg" alt="" /> Le 25 février dernier, si ma mémoire est bonne, était officiellement lancée la version finale de  AIR, ce fameux outil permettant la création d&#8217;applications de bureau basées sur des technologies web.</p>
<h3>Introduction</h3>
<p>En effet, AIR permet aux développeurs qui, comme moi, n&#8217;ont pas beaucoup de connaissances dans la programmation &laquo;&nbsp;logicielle&nbsp;&raquo; de pouvoir construire des applications de bureau grâce à des langages qu&#8217;ils maîtrisent : HTML/CSS, Javascript, Flash/Flex/ActionScript, etc…<br />
De plus, une fois votre programme compilé, l&#8217;exécutable obtenu tournera sans problème sur n&#8217;importe quel OS, la seule condition étant, évidemment, d&#8217;avoir installé AIR ainsi que son <a href="http://fr.wikipedia.org/wiki/Kit_de_d%C3%A9veloppement">SDK</a> (si vous comptez compiler vos programmes =p ).</p>
<p><span id="more-448"></span></p>
<h3>Installation</h3>
<p>Pour installer AIR lui-même, rien de plus simple. Il suffit de vous rendre sur <a href="http://get.adobe.com/air/">cette page du site d&#8217;Adobe</a>, et de télécharger la version qui correspond à votre système (officiellement, seules les versions Windows et Mac sont disponibles, la version Linux étant encore une version Alpha).</p>
<p>En ce qui concerne le SDK, élément indispensable au développement d&#8217;applications AIR puisqu&#8217;il s&#8217;occupe de la compilation de ces derniers, les choses sont un poil plus laborieuses &#8230;<br />
Je ne détaillerai ici que l&#8217;installation du SDK sous Windows, n&#8217;ayant pas testé la version Linux (encore en Alpha), et ne possédant pas de Mac =p</p>
<p>Tout d&#8217;abord, commençons par <a href="http://www.adobe.com/products/air/tools/sdk/">télécharger le SDK</a>, puis par <strong>dé-zipper le fichier</strong> ainsi obtenu.<br />
<strong>Remarque</strong> : je vous conseille fortement de <strong>placer le contenu de cette archive dans un dossier &laquo;&nbsp;<em>AIR</em>&laquo;&nbsp;</strong> (par exemple), et se trouvant <strong>à la racine de votre disque dur principal</strong> (il porte le plus souvent la lettre &laquo;&nbsp;<em>C</em>&laquo;&nbsp;). En effet, nous serons très bientôt amené à configurer la variable d&#8217;environnement <em>Path</em>, variable qui représente l&#8217;adresse de de votre SDK =)</p>
<p align="center"><a href="http://hosted.geek-attitude.fr.nf/AirIntroductionetInstallation_14D5C/screen_air_1.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://hosted.geek-attitude.fr.nf/AirIntroductionetInstallation_14D5C/screen_air_1_thumb.jpg" border="0" alt="screen_air_1" width="244" height="196" /></a></p>
<p>Passons maintenant à la configuration de cette fameuse variable d&#8217;environnement. Pour ce faire, il suffit de cliquer-droit sur &laquo;&nbsp;<em>Poste de travail</em>&laquo;&nbsp;, d&#8217;aller dans l&#8217;onglet &laquo;&nbsp;<em>Avancé</em>&laquo;&nbsp;, et de cliquer sur le bouton &laquo;&nbsp;<em>Variables d&#8217;environnement</em>&nbsp;&raquo; en bas de la fenêtre.<br />
Dans la liste des variables d&#8217;environnement, <strong>trouvez la variable &laquo;&nbsp;<em>Path</em>&laquo;&nbsp;</strong>, et cliquez sur <strong>&laquo;&nbsp;<em>Modifier</em>&laquo;&nbsp;.</strong><br />
Afin <strong>d&#8217;ajouter l&#8217;adresse du répertoire &laquo;&nbsp;<em>bin</em>&laquo;&nbsp;</strong> du SDK, il vous faut placer votre curseur <strong>à la fin du champ</strong> &laquo;&nbsp;<em>Valeur de la variable</em>&laquo;&nbsp;, <strong>d&#8217;entrer un <span style="text-decoration: underline;">point-virgule</span></strong>, ainsi que le <strong>chemin <span style="text-decoration: underline;">complet</span></strong> vers le répertoire &laquo;&nbsp;<em>bin</em>&nbsp;&raquo; (dans mon cas : &laquo;&nbsp;<em>C:\AIR\bin\</em>&laquo;&nbsp;). Pour que les changements soient pris en compte par Windows, vous devez <strong>redémarrer votre PC</strong>.</p>
<p align="center"><a href="http://hosted.geek-attitude.fr.nf/AirIntroductionetInstallation_14D5C/screen_air_2.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://hosted.geek-attitude.fr.nf/AirIntroductionetInstallation_14D5C/screen_air_2_thumb.jpg" border="0" alt="screen_air_2" width="244" height="196" /></a></p>
<p>Et maintenant, le moment de vérité, celui de la vérification du bon déroulement de l&#8217;installation :p Pour ceci, ouvrez un terminal MS-DOS ( &laquo;&nbsp;<em>Exécuter &#8230;&nbsp;&raquo;</em> -&gt; &laquo;&nbsp;<em>cmd</em>&nbsp;&raquo; ), puis entrez la commande &laquo;&nbsp;<em>adl</em>&laquo;&nbsp;.<br />
Si le terminal vous insulte ou vous dit que la commande n&#8217;est pas reconnue, bon courage, il ne vous reste plus qu&#8217;à relire ce tuto car vous avez sûrement dû faire une bourde quelque part <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Dans la cas contraire, vous serez impatient de lire le prochain billet traitant de AIR et d&#8217;y apprendre comment coder un programme (vous aurez même droit à un programme d&#8217;exemple : un client Twitter <img src='http://blog.kevingomez.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Enjoy !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kevingomez.fr/2008/04/08/air-introduction-et-installation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

