<?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>mart-e</title>
	<atom:link href="http://mart-e.tk/feed" rel="self" type="application/rss+xml" />
	<link>http://mart-e.tk</link>
	<description>about life, linux and everything</description>
	<lastBuildDate>Sun, 29 Aug 2010 12:08:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Stereomood la musique selon votre humeur</title>
		<link>http://mart-e.tk/post/stereomood-musique-humeur</link>
		<comments>http://mart-e.tk/post/stereomood-musique-humeur#comments</comments>
		<pubDate>Sun, 29 Aug 2010 12:08:21 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[stereomood]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=523</guid>
		<description><![CDATA[Stereomood est un service que j'utilise depuis déjà quelques mois et dont je pense qu'il vaut la peine d'être mentionné ici. J'ai une collection musicale déjà bien fournie et parfois c'est justement le problème. Souvent, je lance rythmbox/amarok/banshee et écoute toute ma musique. Dès qu'une musique ne me plait pas, je passe simplement à la [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://mart-e.tk/wp-content/uploads/2010/08/stereomood_button_lw.gif" alt="" title="stereomood_button_lw" width="193" height="101" class="alignright size-full wp-image-527" /><a href="http://stereomood.com">Stereomood</a> est un service que j'utilise depuis déjà quelques mois et dont je pense qu'il vaut la peine d'être mentionné ici.</p>
<p>J'ai une collection musicale déjà bien fournie et parfois c'est justement le problème. Souvent, je lance rythmbox/amarok/banshee et écoute toute ma musique. Dès qu'une musique ne me plait pas, je passe simplement à la suivante. Je n'ai jamais eu la patience (et ne n'aurai sans doute jamais) de classer tout cela autrement que par artiste. Si vous êtes comme moi, stereomood est sans doute le site dont vous avez besoin.<br />
<span id="more-523"></span><br />
Ce site propose une bonne centaine de playlist déjà triée selon votre activité ou humeur. Par exemple, en écrivant cet article, je suis en train d'écouter la <a href="http://www.stereomood.com/activity/working">playlist working</a>.</p>
<p>Mais là où stereomood devient vraiment bien c'est qu'en plus de permettre la connexion par OpenId (de la vrai inscription, pas de mot de passe à choisir, pas d'info à entrer à nouveau si vous les avez entrées sur votre compte OpenId), il possède une API.</p>
<p>Un script bash est proposé sur le site qui vous permet d'écouter depuis le terminal vos musiques favorites.</p>
<ul>
<li><a href="http://code.google.com/p/yjl/source/browse/#hg/Bash/OAuth">Téléchargez</a> les fichiers <strong>Basm.sh</strong>, <strong>OAuth.sh</strong> et <strong>StereomoodOAuth.sh</strong></li>
<li>Rendez les exécutables</li>
<li>Exécutez le fichier Basm.sh</li>
</ul>
<p><em>Si cela fonctionne</em>, on vous donnera une url où vous recevrez un code PIN a entrer pour garantir votre authentification via <a href="http://oauth.net/">OAuth</a> et vous pourrez exécuter le script via le terminal en rentrant le nom de votre playlist de cette façon :</p>
<div class="terminal">$ ./Basm.sh -q working -t activity</div>
<p>pour écouter la playlist working qui est une activité (si c'était dans la catégorie humeur, vous auriez du mettre "-t mood").<br />
Vous pouvez également faire des recherches avec l'option "-t site".</p>
<p>Je disais <em>Si cela fonctionne</em> car chez moi j'ai du adapter un peu le script Basm.sh.<br />
Premièrement, il ne me trouvait pas les deux fichiers qui se trouvait pourtant dans le répertoire courant. Pour régler ça, j'ai du rajouter au début du fichier</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">PATH</span>=<span style="color: #007800;">$PATH</span>:.</div></td></tr></tbody></table></div>
<p>Pour ajouter le répertoire courant.<br />
Ensuite, il y avait également une petite erreur de frappe à la ligne 232</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$basm_type</span>&quot;</span> == <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> uasge <span style="color: #000000;">1</span><br />
&nbsp; &nbsp;<span style="color: #666666; font-style: italic;"># devient</span><br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$basm_type</span>&quot;</span> == <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> usage <span style="color: #000000;">1</span></div></td></tr></tbody></table></div>
<p>Vous pouvez télécharger le fichier corrigé ici : <a href="http://paste.pocoo.org/raw/A1CjwAq2wRQDeTBqrriq/">Basm.sh</a></p>
<p>Autre chose qui rend stereomood si bien : pour chaque chanson, vous trouverez un lien vers le blog dont elle provient. Ce qui veut dire que vous pourrez la télécharger.</p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/stereomood-musique-humeur/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenOffice je te hais</title>
		<link>http://mart-e.tk/post/openoffice-je-te-hais</link>
		<comments>http://mart-e.tk/post/openoffice-je-te-hais#comments</comments>
		<pubDate>Thu, 19 Aug 2010 17:56:07 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[coup de gueule]]></category>
		<category><![CDATA[openoffice]]></category>
		<category><![CDATA[traitement de texte]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=508</guid>
		<description><![CDATA[*Attention cet article est un coup de gueule avec grande propension au troll* Aujourd'hui on peut dire qu'avec des distributions tel qu'ubuntu, la différence entre un OS commercial (j'ai deux noms sur le bout de la langue mais impossible de m'en rappeler ) et Linux est d'en plus en plus faible. Plus besoin d'utiliser la [...]]]></description>
			<content:encoded><![CDATA[<p>*Attention cet article est un coup de gueule avec grande propension au troll*</p>
<p>Aujourd'hui on peut dire qu'avec des distributions tel qu'ubuntu, la différence entre un OS commercial (j'ai deux noms sur le bout de la langue mais impossible de m'en rappeler <img src='http://mart-e.tk/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' />  ) et Linux est d'en plus en plus faible.</p>
<p>Plus besoin d'utiliser la ligne de commande pour des tâches basiques (comprenez ce que l'utilisateur lambda fait). Grâce à mozilla, on peut utiliser un navigateur et messagerie très évolué (battant même les alternatives propriétaires diront certains  <img src='http://mart-e.tk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Très bons lecteurs multimédias et outils en tous genre. Si on passe les jeux (quoique on fait de gros progrès de ce coté là), il reste une chose qui manque cruellement dans le monde du libre pour moi : un traitement de texte valable !</p>
<p>On considère d'habitude OpenOffice (OOo pour les intimes) comme ce qui se rapproche le plus d'une vrai solution (Ms Office Word® pour ne pas le citer) mais qui pour moi reste à des kilomètres de là. C'est contre celui-ci que je vais exprimer mon énervement.<br />
<span id="more-508"></span><br />
Le fait que ce soit moche (plus un fait qu'une opinion) n'est pas vraiment le problème mais plutôt toute les séries de petits comportements agaçants. Je préfère un logiciel moche et fonctionnel que l'inverse. Seulement ici, il a les deux vices.</p>
<p>Pourquoi quand je fais défiler la molette de la souris, il me met un cadre avec le numéro de page ? (celui qui sait comment le faire disparaitre gagnera toute ma gratitude)<br />
Comment j'utilise une couleur de texte qui ne soit pas dans celles proposées par défaut ? (solution : ça demande une dizaine de clic en passant par outil > option >...)<br />
Pourquoi il se veut me faire apparaitre des fenêtres popup dans tous les coins dès que je commence à mettre des puces ou à chipoter à une image ? (Intégrer ça dans la barre de menu ne me semble pourtant pas l'impossible)<br />
Pourquoi trouver un moyen de faire quelque chose un rien original devient vite si difficile ?<br />
Tout une série de petites choses comme ça vite irritantes quand misent toutes ensembles.</p>
<p>Un argument mis en avant pour OpenOffice est son format. L'odt (faisant partie des Open Document Format) est libre c'est vrai. Tout le monde peut donc avoir accès aux spécifications ce qui devrait favoriser l'interopérabilité. Seulement à ma connaissance, dans les fait l'utilisation d'un fichier odt fait avec OpenOffice n'aura pas le même rendu sous KOffice. Pire encore, deux versions d'OpenOffice sur des plateformes différentes ne donnent pas non plus la même chose. Encore heureux qu'il existe l'export en pdf pour éviter les soucis d'impression...<br />
Il faut reconnaitre une chose, du coté du OOXML de microsoft <a href="http://pro.01net.com/editorial/505383/odf-ou-ooxml-il-est-urgent-de-choisir/">la situation n'est pas meilleure</a>.</p>
<p>Le soucis est qu'OpenOffice est l'alternative la plus utilisée à Microsoft Office. Le fait qu'il soit gratuit n'y est évidement pas étranger. Seulement contrairement à ce dernier OOo ne me donne pas l'impression d'évoluer depuis quelques années (tous les problèmes que j'évoque et dont les gens se plaignent souvent).</p>
<p>J'utiliserais bien Abiword (qui du peu que je l'ai testé a moins de fonctionnalités qu'OOo mais mieux fait) mais il ne supporte pas les odt et son format abw n'est pas supporté très fort...</p>
<p>Bon heureusement qu'il me reste toujours LaTeX pour quand je dois faire des documents de qualité.</p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/openoffice-je-te-hais/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sherlock la serie</title>
		<link>http://mart-e.tk/post/sherlock-la-serie</link>
		<comments>http://mart-e.tk/post/sherlock-la-serie#comments</comments>
		<pubDate>Sun, 08 Aug 2010 18:37:57 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[IRL]]></category>
		<category><![CDATA[serie tv]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=491</guid>
		<description><![CDATA[Aujourd'hui j'ai regardé le premier épisode de la nouvelle série TV Sherlock dont le premier épisode est sortit fin juillet. Encore une utilisation du filon des livres de Conan Doyle ? Oui mais originalité de celle-ci : l'histoire se déroule au XXIe siècle. Sherlock Holmes et le Dr Watson vivent toujours tous les deux au [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://news.pinkpaper.com/Feature.aspx?id=2032"><img src="http://mart-e.tk/wp-content/uploads/2010/08/TV-SHERLOCK.jpg" alt="" title="tv_sherlock" width="213" height="297" class="alignleft size-full wp-image-495" /></a>Aujourd'hui j'ai regardé le premier épisode de la nouvelle série TV <a href="http://fr.wikipedia.org/wiki/Sherlock_%28s%C3%A9rie_t%C3%A9l%C3%A9vis%C3%A9e%29">Sherlock</a> dont le premier épisode est sortit fin juillet.</p>
<p>Encore une utilisation du filon des livres de Conan Doyle ? Oui mais originalité de celle-ci : l'histoire se déroule au <strong>XXIe siècle</strong>. Sherlock Holmes et le Dr Watson vivent toujours tous les deux au 221B Baker Street et aident l'inspecteur Lestrade dans des meurtres mystérieux mais cette fois ils utilisent smartphones, internet et relèvent les empreintes. Le Dr Watson revient bien de la guerre en Afghanistan, il ne s'agit simplement plus de la même guerre...</p>
<p>Attention, il ne s'agit pas, comme je le craignait au départ, d'un remixe des experts avec des personnages connus. L'on retrouve bel et bien l'esprit de déduction de déduction via la simple observation que l'on aime tant chez le personnage. La première rencontre entre Holmes et Watson vaut vraiment le détour. Je n'ai pas réussi à trouver d'extrait à vous montrer malheureusement.</p>
<p>Les réflexions de Holmes sont montrées par des flash ou des mots apparaissant à divers endroit de l'écran. Il faut parfois s'accrocher quand il donne des explications et j'ai du rapidement me rabattre sur des sous-titre en français parce que mon anglais ne suivait plus.</p>
<p>L'humour est au rendez-vous avec les petites remarques cinglantes de Sherlock. Le personnage de celui-ci rappelle assez fort Robert Downey dans le film sortit l'an passé (très bon aussi, je conseille à ceux qui ne l'ont pas vu). La musique me semble aussi assez similaire (très chouette).</p>
<p>On sent sans doute parfois que le réalisateur à voulu trop montrer le changement d'époque. La victime a écrit un mot sur le sol, elle possède un smartphone pouvant aller sur internet, c'est donc le mot de passe de sa messagerie et elle a laissé un indice dans ses emails. Mouhai bof quoi...<br />
Sinon pas d'ADN ou empreintes dans tous les sens, ouf on a éviter le pire.</p>
<p>Les épisodes sont longs (1h30) mais peu nombreux (3 pour la saison 1). On se rapproche plus du téléfilm que de la série mais ça fait toujours plaisir de suivre une histoire un peu développée.<br />
Je conseille à tout ceux qui ont 4h30 de libre, aiment l'esprit de déduction du grand détective et ne sont pas trop regardant sur le non-respect de détail tel que l'époque.<br />
Les deux directeurs de la série n'en sont d'ailleurs pas à leurs premier coup du style puisqu'il a déjà produit <strong>Jekyll</strong> qui est une série en 6 épisodes des aventures de Dr Jekyll et Mr Hide en 2006. Bon ils viennent de trouver un filon et compte bien l'exploiter.<br />
<a href="http://fr.wikipedia.org/wiki/Steven_Moffat">Un de ces deux</a> brave homme participe d'ailleurs à l'écriture du scénario du film de Tintin fait par Spielberg. et Peter Jackson. Pas peur de s'attaquer à des monument en tout cas !</p>
<p><a href="http://news.pinkpaper.com/Feature.aspx?id=2032">[Photo]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/sherlock-la-serie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fouillez votre code avec grep</title>
		<link>http://mart-e.tk/post/fouillez-votre-code-avec-grep</link>
		<comments>http://mart-e.tk/post/fouillez-votre-code-avec-grep#comments</comments>
		<pubDate>Fri, 06 Aug 2010 21:01:23 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[bash]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=486</guid>
		<description><![CDATA[Aujourd'hui j'ai du explorer le code source php d'un site web écrit par quelqu'un d'autre. Lorsque l'on veut faire des modifications, il est vite important d'identifier où est utilisé telle ou telle variable, fonction,... C'est donc via une petite commande bash en utilisant grep que je m'aide. $ grep -n -r '$address_db' * pour chercher [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd'hui j'ai du explorer le code source php d'un site web écrit par quelqu'un d'autre. Lorsque l'on veut faire des modifications, il est vite important d'identifier où est utilisé telle ou telle variable, fonction,...</p>
<p>C'est donc via une petite commande bash en utilisant <strong>grep</strong> que je m'aide.</p>
<div class="terminal">$ grep -n -r '$address_db' *</div>
<p>pour chercher dans tous les fichiers récursivement dans le dossier courant la chaine <em>$address_db</em>. Le <em>-n</em> sert à afficher les numéros de ligne pour identifier plus rapidement.</p>
<p>Seulement, pour une raison que je ne m'explique pas bien, avec certaines chaines (style celle plus haut fonctionne mais '$(' non), pour tout ce qui n'est pas fichier de texte, vous aurez une erreur du style "Binary file [nom du fichier] matches" ou "Fichier binaire...". Pour filtre cela vous pouvez utiliser un pipe.</p>
<div class="terminal">$ grep -n -r '$(' * | grep -v ^Binary</div>
<p>Si vous avez trop de résultat pour votre petit terminal, vous pouvez toujours rediriger le flux vers un fichier texte ou afficher progressivement avec <strong>less</strong></p>
<div class="terminal">$ grep -n -r 'a' * > ~/log-grep.txt<br />
$ grep -n -r 'a' * | less</div>
<p>Si vous connaissez d'autre moyen de faire la même chose, n'hésitez pas à partager <img src='http://mart-e.tk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/fouillez-votre-code-avec-grep/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abandon de Google Wave</title>
		<link>http://mart-e.tk/post/abandon-de-google-wave</link>
		<comments>http://mart-e.tk/post/abandon-de-google-wave#comments</comments>
		<pubDate>Thu, 05 Aug 2010 14:39:03 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[libre]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=463</guid>
		<description><![CDATA[Vous avez surement entendu parle de Google Wave, le service de Google qui avait l'air si prometteur lors de sa présentation l'an passé dans la conférence Google I/O. Google le présentait comme un moyen de révolutionner l'internet (ils disent souvent ça), entre le chat et l'email. Pour augmenter la demande, avec le bon vieux principe [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://mart-e.tk/wp-content/uploads/2010/08/google_wave_logo.jpg" alt="" title="google_wave_logo" width="300" height="300" class="alignright size-full wp-image-464" />Vous avez surement entendu parle de <a href="http://wave.google.com/">Google Wave</a>, le service de Google qui avait l'air si prometteur lors de <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ">sa présentation</a> l'an passé dans la conférence Google I/O.</p>
<p>Google le présentait comme un moyen de révolutionner l'internet (ils disent souvent ça), entre le chat et l'email.<br />
Pour augmenter la demande, avec le bon vieux principe de ce qui est rare est désirable, ils avaient mit en place un système d'invitation pour le tester (des gens en vendaient même sur ebay).</p>
<p>Et bien hier sur le <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">blog officiel de Google</a>, une annonce a été faite pour signaler l'arrêt du projet de par le manque de popularité.</p>
<p>Pourquoi ce désintérêt malgré le buzz (<a href="http://completewaveguide.com/">un livre</a> avait même été écrit) créé à sa sortie ? Sans doute les invitations trop compliquées à obtenir ? Le système trop compliqué à utiliser pour les non-geeks ? Assez obscure dans son but tout simplement ?<br />
Toujours est-il que le résultat est là.</p>
<p>Google Buzz avait aussi fait du bruit à sa sortie (mais plutôt à cause de son manque de respect de la vie privée) et n'a pas eu le succès attendu.<br />
Certains diront que ces deux services vont être fusionnés pour devenir Google Me, le futur réseau social made by Google dans le but de concurrencer Facebook.</p>
<p>Rappelons que le protocole Google Wave et un client console sont <a href="http://code.google.com/p/wave-protocol/">open source</a> sous licence apache et donc on peut espérer que le projet sera reprit par la communauté et qu'un fork va être créé.<br />
Cependant il avait été remarqué à sa sortie que la complexité du projet était telle qu'il ne risquait pas d'être utilisé par d'autres que des grandes compagnies qui avaient les moyens. C'est le moment de prouver le contraire le gens <img src='http://mart-e.tk/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://www.korben.info/google-wave-cest-fini-ou-presque-pensez-aux-backups.html">[Source]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/abandon-de-google-wave/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spotify pour Linux</title>
		<link>http://mart-e.tk/post/spotify-pour-linux</link>
		<comments>http://mart-e.tk/post/spotify-pour-linux#comments</comments>
		<pubDate>Thu, 29 Jul 2010 06:40:07 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[spotify]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=450</guid>
		<description><![CDATA[Bonne nouvelle pour tous les amateurs de musique, Spotify dont je vous avais parlé précédemment a sortit une version native pour Linux. Cela veut dire qu'il n'y a plus besoin de passer par skype et autres. Nuance à la bonne nouvelle, cela ne fonctionne que pour les comptes premium. Justifié par les développeurs car : [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mart-e.tk/wp-content/uploads/2010/07/spotify_logo.jpg"><img src="http://mart-e.tk/wp-content/uploads/2010/07/spotify_logo-150x150.jpg" alt="" title="spotify_logo" width="150" height="150" class="alignleft size-thumbnail wp-image-455" /></a> Bonne nouvelle pour tous les amateurs de musique, <a href="?p=55">Spotify</a> dont je vous avais parlé précédemment a sortit <a href="http://www.spotify.com/int/blog/archives/2010/07/12/linux/">une version native pour Linux</a>.</p>
<p>Cela veut dire qu'il n'y a plus besoin de passer par skype et autres. Nuance à la bonne nouvelle, cela ne fonctionne que pour les comptes premium. Justifié par les développeurs car :</p>
<blockquote><p>As we haven’t found a reliable way to display ads yet, this version is only available to Spotify Premium subscribers.</p></blockquote>
<blockquote><p>Comme nous n'avons pas encore trouvé un moyen fiable d'afficher les publicités, cette version est seulement disponible pour les comptes premiums.</p></blockquote>
<p>Bon l'effort est fait, on peut espérer que le reste suive bientôt <img src='http://mart-e.tk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pour la télécharger, sous Ubuntu vous pouvez vous rendre <a href="http://www.spotify.com/int/download/previews/">ici</a> pour suivre la procédure (en français chez <a href="http://www.korben.info/installer-spotify-linux.html">Korben</a>), sous Archlinux le paquet se trouve déjà dans AUR (<span class="terminal">yaourt -S spotify</span>). Pour les autres systèmes, vous pouvez utiliser <strong>deb2targz</strong>.</p>
<div class="terminal">deb2targz spotify.deb<br />
tar -xzf spotify.tar.gz</div>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/spotify-pour-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Edito 08/07/10</title>
		<link>http://mart-e.tk/post/edito-080810</link>
		<comments>http://mart-e.tk/post/edito-080810#comments</comments>
		<pubDate>Thu, 08 Jul 2010 20:43:04 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=396</guid>
		<description><![CDATA[Un rapide message pour signaler la création de la page codes sur laquelle je posterai les différents scripts et programmes que j'ai copié créé. J'ai commencé en mettant le code source remis à jour (il fonctionnait le précédent ?) concernant le changement de couleur du conky. Si vous avez des commentaires concernants ces (mini) programmes, [...]]]></description>
			<content:encoded><![CDATA[<p>Un rapide message pour signaler la création de la page <a href="http://mart-e.tk/?page_id=374">codes</a> sur laquelle je posterai les différents scripts et programmes que j'ai <del>copié</del> créé.</p>
<p>J'ai commencé en mettant le code source remis à jour (il fonctionnait le précédent ?) concernant le <a href="http://mart-e.tk/?p=61">changement de couleur du conky</a>.</p>
<p>Si vous avez des commentaires concernants ces (mini) programmes, n'hésitez pas.</p>
<p>J'ai profité également de la journée (j'ai été très productif aujourd'hui) pour mettre à jour wordpress vers la version 3. Pas de soucis d'incompatibilité à première vue.</p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/edito-080810/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Supprimer le son des vuvuzelas</title>
		<link>http://mart-e.tk/post/supprimer-le-son-des-vuvuzelas</link>
		<comments>http://mart-e.tk/post/supprimer-le-son-des-vuvuzelas#comments</comments>
		<pubDate>Sat, 19 Jun 2010 06:58:06 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[foot]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=352</guid>
		<description><![CDATA[Pas d'informatique pour cette fois. Avec les examens, je me suis découvert une passion pour le foot (ou une pause de 90min ça fait toujours plaisir). Une fois qu'on avait fini de m'expliquer les règles, j'ai cherché à supprimer le son de ses foutus vuvuzelas. Vous savez ces trompettes qui produisent un son d'abeille et [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mart-e.tk/wp-content/uploads/2010/06/vuvuzela.jpg"><img src="http://mart-e.tk/wp-content/uploads/2010/06/vuvuzela-150x150.jpg" alt="" title="vuvuzela" width="150" height="150" class="alignright size-thumbnail wp-image-353" /></a>Pas d'informatique pour cette fois. Avec les examens, je me suis découvert une passion pour le foot (ou une pause de 90min ça fait toujours plaisir).<br />
Une fois qu'on avait fini de m'expliquer les règles, j'ai cherché à supprimer le son de ses foutus vuvuzelas. Vous savez ces trompettes qui produisent un son d'abeille et que tout le monde semble haïr tel un président de partis de la NVA.</p>
<p>La chasse à la trompette avait commencé avec la lecture de cet <a href="http://www.korben.info/supprimer-vuvuzela.html">article de Korben</a>. Apparemment les fréquences capricieuses ont été identifiées et s'il on arrive à les isoler, il est simple de les supprimer.<br />
<span id="more-352"></span><br />
Korben donne une commande mplayer à faire à partir d'un fichier enregistré sur son pc</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-af</span> <span style="color: #007800;">pan</span>=<span style="color: #000000;">1</span>:<span style="color: #000000;">0.5</span>:<span style="color: #000000;">0.5</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">233</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">466</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">932</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">1864</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">232</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">465</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">931</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">1863</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">234</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">467</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">933</span>:<span style="color: #000000;">0.01</span>,<span style="color: #007800;">sinesuppress</span>=<span style="color: #000000;">1865</span>:<span style="color: #000000;">0.01</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.korben.info<span style="color: #000000; font-weight: bold;">/</span>wp-content<span style="color: #000000; font-weight: bold;">/</span>uploads<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2010</span><span style="color: #000000; font-weight: bold;">/</span>06<span style="color: #000000; font-weight: bold;">/</span>vuvuzela_avant.mp3</div></td></tr></tbody></table></div>
<p>Seulement si on est un vrai, on a envie de voir les matchs en direct. Il est facile de voir gratuitement sur internet ses match préférés (perso je vais sur le <a href="http://www.rtbf.be/sport/football">site de la rtbf</a> mais Korben a donné <a href="http://www.korben.info/regarder-tous-les-matchs-de-foot-gratuitement.html">une bonne petite liste</a>). Seulement tous ces sites fonctionnent avec flash et je n'ai pas trouvé le moyen d'isoler le flux pour utiliser la petite commande (je ne suis même pas sûr qu'elle aurait fonctionné).</p>
<p>C'était sans compter le pouvoir de google qui m'a donné cette jolie <a href="http://www.korben.info/regarder-tous-les-matchs-de-foot-gratuitement.html">page pastebin</a>. C'est en Allemand, j'ai rien compris mais suffisamment pour voir que ça parlait d'alsa et avec un lien encore plus intéressant vers cette image sur imageshack</p>
<p><a target='_blank' href='http://img132.imageshack.us/i/alsaequal.png/'><img src='http://img132.imageshack.us/img132/1279/alsaequal.th.png' class="aligncenter" border='0'/></a></p>
<p>Pour cela il faut installer le paquet<span class="terminal">alsaequal</span> (nom sur archlinux)<br />
Et de créer un fichier <em>.asoundrc</em> dans votre dossier home et y mettre.</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; ctl<span style="color: #6666ff;">.equal</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; type equal<span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #00AA00;">&#125;</span><br />
<br />
&nbsp; &nbsp; pcm<span style="color: #6666ff;">.plugequal</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; type equal<span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; &nbsp; # Modify the line <span style="color: #993333;">below</span> if you don<span style="color: #ff0000;">'t<br />
&nbsp; &nbsp; &nbsp; # want to use sound card 0.<br />
&nbsp; &nbsp; &nbsp; slave.pcm &quot;plug:dmix&quot;;<br />
&nbsp; &nbsp; }<br />
<br />
&nbsp; &nbsp; # pcm.equal {<br />
&nbsp; &nbsp; &nbsp; # Or if you want the equalizer to be your<br />
&nbsp; &nbsp; &nbsp; # default soundcard uncomment the following<br />
&nbsp; &nbsp; &nbsp; # line and comment the above line.<br />
&nbsp; &nbsp; pcm.!default {<br />
&nbsp; &nbsp; &nbsp; type plug;<br />
&nbsp; &nbsp; &nbsp; slave.pcm plugequal;<br />
&nbsp; &nbsp; }</span></div></td></tr></tbody></table></div>
<p>Ensuite avec<span class="terminal">$ alsamixer -D equal</span> reproduire ce qui est mentionné sur l'image et à vous le match calme !</p>
<p><a href="http://www.flickr.com/photos/51035677132@N01/3889770505">Photo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/supprimer-le-son-des-vuvuzelas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stocker des mots de passe dans une base de donnee</title>
		<link>http://mart-e.tk/post/stocker-des-mots-de-passe-dans-une-base-de-donnee</link>
		<comments>http://mart-e.tk/post/stocker-des-mots-de-passe-dans-une-base-de-donnee#comments</comments>
		<pubDate>Sun, 06 Jun 2010 16:08:54 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[cryptographie]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mot de passe]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[securite]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=323</guid>
		<description><![CDATA[Si vous êtes responsable d'un site internet où les utilisateurs doivent s'identifier, il est probable que vous deviez stocker leurs mots de passe dans une base de données. Pour cela, il existe plusieurs solutions dont souvent la simplicité est inversement proportionnelle à la sureté. Le risque Pour mieux comprendre comment sécuriser, il faut d'abord comprendre [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/carbonnyc/2294144289/"><img src="http://mart-e.tk/wp-content/uploads/2010/06/lock.jpg" alt="" title="lock" class="alignleft size-medium wp-image-336" /></a>Si vous êtes responsable d'un site internet où les utilisateurs doivent s'identifier, il est probable que vous deviez stocker leurs mots de passe dans une base de données.<br />
Pour cela, il existe plusieurs solutions dont souvent la simplicité est inversement proportionnelle à la sureté.<br />
<span id="more-323"></span></p>
<h2>Le risque</h2>
<p>Pour mieux comprendre comment sécuriser, il faut d'abord comprendre quels sont les risques.</p>
<h4>Brute Force :</h4>
<p>La manière la plus simple, barbare et efficace si l'on possède du temps et un ordinateur suffisamment puissant.<br />
Il suffit d'essayer toutes les combinaisons possibles de mots de passe jusque tomber sur la bonne.<br />
Notez qu'il est assez simple de s'en protéger en ajoutant un captcha (attention : chiant pour les utilisateurs, empêche les mal-voyants d'accéder à votre site) ou en faisant un compteur d'essai (via une variable de session, conseillé).</p>
<h4>Accès à la base de données :</h4>
<p>Que ce soit parce que l'attaquant à trouvé votre mot de passe, via une faille, une injection SQL ou n'importe quoi d'autre, il faut envisager la possibilité que l'attaquant accède au contenu de votre base de données. Dans le cas où il ne modifie pas le contenu, autant être sûr qu'il ne puisse pas trouver les mots de passe de vos utilisateurs trop facilement.</p>
<h2>Solutions</h2>
<h4>1. Stocker en clair</h4>
<p>Idée naïve que l'on a en premier lieux si l'on ne pense pas au fait que l'attaquant puisse accéder à la base de données.<br />
Est à éviter absolument dans n'importe quelle situation !<br />
Vous êtes peut-être quelqu'un d'intègre qui ne profitera pas du fait de connaitre les mots de passe de vos utilisateurs (souvent les gens utilisent le même mot de passe pour plusieurs comptes), mais il n'en est pas la même chose de tout le monde.<br />
Malheureusement, cette solution est encore utilisée à de nombreux endroits. Un certain nombre de sites internet vous proposent de vous renvoyer votre mot de passe si vous l'avez oublié, cela implique qu'il n'a pas été haché et c'est une grosse faille de sécurité potentielle.<br />
Il y a peu skyrock a subi une attaque où il serait possible que les attaquants aient mis la main sur les mots de passe du site (plusieurs millions de comptes) qui seraient stockés en clair.<br />
Il y a 4 ans, c'est Reddit qui a avoué avoir perdu un backup de sa base de donnée avec toutes les info et mots de passe en clair de ses utilisateurs.<br />
Même les gros sites font des conneries. Ne faites pas la même chose.</p>
<h4>2. MD5</h4>
<p>Plutôt que de les stocker en clair, il est conseillé d'utiliser un hash (de l'anglais to hash) du mot de passe, c'est-à-dire transformer, via des procédés mathématiques trop compliqués pour moi, transformer une phrase en une suite constante de caractère sans qu'il soit possible de faire l’opération inverse (fonction à sens unique). Cette méthode est très efficace, car l'attaquant ne trouvera dans votre base de données que des infos du style "login:admin ; pass:ab7z25t3d9" où "ab7z25t3d9" est le hash de mon mot de passe et non celui que je rentre dans le formulaire.</p>
<p>(<strong>note</strong> : les fonctions de hachage sont à ne confondre avec les fonctions de chiffrement qui permettent de retrouver le mot chiffré à partir d'un mot de passe. Cette méthode n'est pas beaucoup plus sûre que le stockage en clair et je n'en parle pas ici.)</p>
<p>exemple de code de connexion :</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$login_post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> md5sum<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_db</span> <span style="color: #339933;">=</span> getPassword<span style="color: #009900;">&#40;</span><span style="color: #000088;">$login_post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// fonction qui vous renvoit le hash associé au login dans la base de donnée</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$pass_db</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$pass_post</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// correct, connexion</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// incorrect, retourne une erreur</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Attention, code très simplifié ! Il faut absolument vérifier que les données sont valides (pas de champs vides, tentative d'injection...) avant.</p>
<p>Le problème des fonctions de hachage est qu'elles entrainent des collisions. Ça semble logique, elles transforment une suite de caractère de longueur non déterminée (infinité de possibilités) en une suite fixe de caractères (nombre fini de possibilités).<br />
Une bonne fonction entraine le moins possible de collision et surtout empêche de les trouver.<br />
Seulement, ce n'est pas le cas du md5 qui depuis quelques années déjà a été cassé et permet de trouver rapidement des collisions.<br />
Cela veut dire qu'à partir de la suite de 32 caractères produite, je peux trouver une autre suite qui n'est pas forcement le mot de base, mais produit le même hash et donc fonctionnera dans notre formulaire.<br />
De plus, il existe ce que l'on appelle des rainbow table qui sont de gigantesques bases de données stockant un grand nombre de hash possible et permettant de retrouver en quelques secondes les hashs les plus communs (dans tous vos utilisateurs, il y en aura bien un pour utiliser "1234" ou "password" comme mot de passe).<br />
<a href="http://www.authsecu.com/decrypter-dechiffrer-cracker-hash-md5/decrypter-dechiffrer-cracker-hash-md5.php">Un exemple de rainbow table de plus de 500 millions de hash</a>.</p>
<h4>3. Autres fonctions</h4>
<p>Comme le md5 a été cassé, on peut imaginer utiliser une fonction de hachage un peu plus complexe.<br />
La première qui vient à l'esprit est souvent sha1 mais il en existe beaucoup d'autres sha256, whirlpool, RIPEMD-160,...</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$login_post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// différentes fonction de hash</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/sha1"><span style="color: #990000;">sha1</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ripemd160'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'whirlpool'</span><span style="color: #339933;">,</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// ...</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// liste sur http://www.php.net/manual/fr/function.hash-algos.php</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_db</span> <span style="color: #339933;">=</span> getPassword<span style="color: #009900;">&#40;</span><span style="color: #000088;">$login_post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// fonction qui vous renvoi le hash associé au login dans la base de données</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #339933;">...</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Cependant, elles ne sont pas sûres non plus. À l’instar de md5, sha1 a été cassé et est donc a éviter.<br />
sha256 et compagnie résiste encore, mais rien ne garantit pour combien de temps.<br />
Il a été prouvé qu'elles étaient beaucoup moins sensibles aux collisions, mais ce n'est pas le seul problème.<br />
Les rainbow table encore une fois sont un risque à ne pas négliger. Il y aura toujours des utilisateurs qui utiliseront "1234" comme mot de passe et quelque soit l'algorithme utilisé, ils ne tiendront pas longtemps...</p>
<p>Il existe malheureusement de très nombreux sites utilisant md5 sans se poser de question pourtant ce n'est pas beaucoup plus sûr qu'en clair.</p>
<h4>4. Salt</h4>
<p>Pour lutter contre le maillon faible de la chaine de l’authentification (la stupidité de l'utilisateur), on peut manuellement renforcer la sécurité en rajoutant une suite de caractère pour rallonger le mot de passe.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'aZk!@14x32='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$pass</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>L'utilisateur utilisant "abc" comme mot de passe, se retrouvera donc avec "aZk!@14x32=abc", ce qui a déjà beaucoup moins de chance de se trouver dans une rainbow table.<br />
Il est possible de compliquer en l'insérant au milieu.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'aZk!@'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'14x32='</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$pass</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Un problème est que deux personnes ayant le même mot de passe auront le même hash. Un pirate ayant créé un compte avec "1234" comme mot de passe pourra rapidement voir tous ceux qui ont le même hash que lui et donc connaitra leur mot de passe aussi compliqué le salt soit il.</p>
<h4>5. Différencier les utilisateurs</h4>
<p>Pour éviter que deux utilisateurs avec le même mot de passe aient le même hash, une solution est d'ajouter le login qui est unique.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$login_post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'aZk!@14x32='</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$login_post</span><span style="color: #339933;">.</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$salt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Ou avec un simple salt spécifier une position choisie aléatoirement pour chaque utilisateur au moment de l'inscription et stockée dans la base données.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$login_post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$infos</span> <span style="color: #339933;">=</span> getInfo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$login_post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'aZk!@14x32='</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$part1</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$infos</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'position'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$part2</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/substr"><span style="color: #990000;">substr</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$salt</span><span style="color: #339933;">,</span> <span style="color: #000088;">$infos</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'position'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$part1</span><span style="color: #339933;">.</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #000088;">$part2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Une autre idée serait d'utiliser un salt différent pour chaque utilisateur stocké lui aussi dans la base de donnée.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$login_post</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$infos</span> <span style="color: #339933;">=</span> getInfo<span style="color: #009900;">&#40;</span><span style="color: #000088;">$login_post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$infos</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'salt'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><span style="color: #000088;">$pass</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Ou évidement combiner ces méthodes.<br />
Pour compliquer (c'est même conseillé de le faire) vous pouvez aussi insérer le salt et position directement dans le hash.<br />
Par exemple, vous stocker dans votre table $hash.$salt.$position en sachant que le hash fait 64 caractère, le salt 20 et la position 2, il suffit d'un peu de manipulation de string. Ou mieux les 2 premiers caractères sont la position du salt dans le hash qui a une taille fixe.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;2222222222&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$hash_pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;00000000000000000000&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$position_salt_hash</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;07&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$position_salt_pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;14&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$hash_db</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;07&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;0000000&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;2222222222&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;14&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;00000000000000&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// en stockant $hash_db dans votre bdd, vous pouvez facilement retrouver toutes les info</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// et lors de l'identification, vérifier que</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// hash('fct', insert_substr($_POST['pass'],&quot;2222222222&quot;,14)) est égal à &quot;00000000000000000000&quot;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Soyez imaginatif, ça compliquera la tâche de l'éventuel pirate.</p>
<h4>6. Ralentir les requêtes</h4>
<p>Le problème de ces solutions est que lorsque le pirate connait comment vous hachez vos mots de passe, il lui est toujours possible de générer une rainbow table spécifique à votre cas.<br />
Aussi surprenant que ça puisse paraitre, le problème des algorithmes de hachage classiques est qu'ils sont optimisés pour être rapides. Lorsque l'on parle de chiffrement de mot de passe, l'on ne veut PAS être rapide.<br />
Un pirate avec une machine assez puissante peut générer en quelques minutes/heures/jours une table de plusieurs millions d'éléments.<br />
Des fonctions telles que sha512 sont certes plus lentes que md5 mais toujours très (trop ?) rapides.</p>
<p>Pour lutter contre cela, il existe un programme appelé bcrypt qui utilise la méthode de chiffrement de Blowfish en permettant de choisir le temps d'exécution.</p>
<p>Pour vous et l'utilisateur, quelle différence y a il entre 0.000001 et 0.1 seconde pour générer le mot chiffré ? Aucune, ça reste très rapide dans les deux cas.<br />
Pour le pirate ? 10.000 fois moins de mot de passe généré, 10.000 fois plus de temps nécessaire...</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// disponible depuis PHP 5.3</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// execution en 0.09 seconde sur mon pc</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// a l'inscription</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$salt</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/hash"><span style="color: #990000;">hash</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'sha256'</span><span style="color: #339933;">,</span><a href="http://www.php.net/microtime"><span style="color: #990000;">microtime</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;this is a simple but still hard to guess salt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pass_post</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/crypt"><span style="color: #990000;">crypt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'$2a$10$'</span><span style="color: #339933;">.</span><span style="color: #000088;">$salt</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'$'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// au login</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$hash_db</span> <span style="color: #339933;">=</span> getPass<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/crypt"><span style="color: #990000;">crypt</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$hash_db</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$hash_db</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">...</span><br />
&nbsp; &nbsp; <br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>Pour ceux que ça intéresse, lisez cet article<br />
<a href="http://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-s.html">Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes</a></p>
<h4>7. Ne PAS stocker les mots de passe</h4>
<p>Mais au fond pourquoi voulez-vous stocker les mots de passes de vos utilisateurs ? Pourquoi ne pas laisser quelqu'un d'autre le faire ?<br />
Google, Facebook et d'autres vous permettent de vous connecter en utilisant un compte de chez eux.<br />
Vous n'avez confiance en eux ? Je vous comprends, moi non plus, utilisez plutôt <a href="http://openid.net/">OpenId</a> qui fonctionne sur un modèle décentralisé.<br />
Nombre de sites (les deux cités précédemment mais aussi myopenid, myID, ClaimID et autres) vous permettent d'utiliser votre identité sous la forme d'une url pour vous connecter sur tous les sites le proposant.<br />
De cette façon, vous laissez le stockage de mot de passe à la charge du service que l'utilisateur aura choisi.</p>
<h2>Pour finir</h2>
<p>Pour finir quelques remarques.<br />
- Il n'existe pas de méthode totalement sûre aujourd'hui et encore moins qui le seront toujours demain.<br />
- N'agissez pas que sur base que votre site n’intéresse personne et que personne n'essayera de le pirater.<br />
- La plupart des faiblesses se basent sur des scénarios catastrophes où l'attaquant à accès à beaucoup de ressources. Scénarios catastrophes mais qui arrive même aux grands sites...<br />
- Faites en sorte que l'utilisateur soit le moins possible responsable de sa sécurité (c'est bien connu, les gens sont cons et la démocratie est une très mauvaise idée)<br />
- Ne jouez pas les experts en essayant de bidouiller quelque chose, laissez ça aux pros.<br />
- Le fait d'utiliser plusieurs fois de suite la même méthode (ex: md5(md5m($pass))) ne renforce pas la sécurité, au contraire des mathématiciens ont montré que cela avait l'effet inverse.<br />
- Faire confiance aux mathématiciens en ce qui concerne la cryptographie (toujours bien de se répéter)<br />
- Ajouter des astuces basiques perso (salt, bourrage pour faire passer un sha256 pour un sha512,...) ne font pas perdre de sécurité, vous protège des attaques "classiques" mais retenez qu'une sécurité basée sur un secret est vouée à l'échec.<br />
- N'oubliez pas que ce n'est qu'un aspect de votre sécurité. Il existe de très nombreux autres aspects de la sécurité auquels il faut penser.</p>
<p><a href="http://xkcd.com/538/"><img src="http://mart-e.tk/wp-content/uploads/2010/06/crypto_nerd.png" alt="" title="crypto_nerd" width="448" height="274" class="aligncenter size-full wp-image-335" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/stocker-des-mots-de-passe-dans-une-base-de-donnee/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mon avis sur l&#8217;iPad</title>
		<link>http://mart-e.tk/post/mon-avis-sur-lipad</link>
		<comments>http://mart-e.tk/post/mon-avis-sur-lipad#comments</comments>
		<pubDate>Sun, 30 May 2010 16:13:14 +0000</pubDate>
		<dc:creator>mart</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[liberte]]></category>

		<guid isPermaLink="false">http://mart-e.tk/?p=285</guid>
		<description><![CDATA[A moins d'être resté enfermé dans bunker ces derniers mois, il est difficile, même pour un technophobe, de ne pas avoir entendu parler de l'iPad, la dernière nouveauté d'Apple. Ce micro-ordinateur a fait une sortie retentissante en Amérique avec une vente d'1 million de tablette en un mois (mieux que l'iPhone si je ne m'abuse). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mart-e.tk/wp-content/uploads/2010/05/ipad_crowd.jpg"><img src="http://mart-e.tk/wp-content/uploads/2010/05/ipad_crowd-300x225.jpg" alt="sortie de l&#039;iPad" title="ipad_crowd" width="300" height="225" class="alignright size-medium wp-image-290" /></a>A moins d'être resté enfermé dans bunker ces derniers mois, il est difficile, même pour un technophobe, de ne pas avoir entendu parler de l'iPad, la dernière nouveauté d'Apple. Ce micro-ordinateur a fait une sortie retentissante en Amérique avec une vente d'<a href="http://www.latribune.fr/technos-medias/electronique/20100503trib000504991/apple-a-deja-vendu-1-million-d-ipad.html">1 million</a> de tablette en un mois (mieux que l'iPhone si je ne m'abuse). Ce vendredi, la dite machine est sortie dans 9 pays dont la France.<br />
Avec cette sortie, la presse (journaux et tv) n'a pas manqué d'en parler. Pas étonnant certains considèrent l'iPad comme le sauveteur de la presse écrite en diminution face à la concurrence du tout gratuit sur internet.<br />
Certains l'adorent, certains le haïssent, je n'ai pas pu m’empêcher de donner mon avis <img src='http://mart-e.tk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<span id="more-285"></span><br />
Tout d'abord à quoi ça sert ? L'iPad est plus gros qu'un téléphone sans pouvoir téléphoner et est plus petit qu'un ordinateur en faisant moins. La machine n'est pas exceptionnellement puissante et manque de choses, qui pourtant pourraient être utiles, tel qu'un port USB ou une webcam.<br />
Mais le but de l'iPad n'est pas de remplacer l'ordinateur mais plutôt d'accéder facilement n'importe où à du contenu web, lire des ebooks et autres amusements.<br />
Il existe déjà une multitude d'application plus ou moins utile pour toute sorte de tâche et ça ne fait que commencer. L'utilisation est très variée et n'a de limite que votre imagination... et ce qu'Apple veut bien vous laisser faire.</p>
<p>Comme l'iPhone, il ne supporte flash donc n'espérez pas perdre votre temps sur les petits jeux flash ou naviguer sur ces sites full-flash. Steve Jobs semble vouloir enterrer le flash et le montre clairement.<br />
Autre point noir : l'absence du multitâche. Il vous sera impossible d'écouter de la musique en lisant un livre par exemple. Mince c'est pas malin ça... Mais rappelez vous, c'est pas un ordi.</p>
<p>Comme souvent avec les produits à la pomme, il faut passer à la caisse et pas un peu. Comptez de 600 à 800€ pour le modèle 3G. Et pourtant ça n'a pas empêché les plus fan de <a href="http://www.clubic.com/tablette-internet-mid/ipad/actualite-343002-ipad-officiellement-debuts-france.html">faire la file</a> devant les apps store de France. Je pense que ce qui m'a toujours plus sidéré voir révolté est de constater ces gens qui font la file tel des moutons pour se faire déplumer (lisez à ce sujet le post d'<a href="http://odieuxconnard.wordpress.com/2010/04/17/bonne-pomme/">un odieux connard</a>, ça vaut la peine).</p>
<p>Bien sûr je n'ai pas parlé de la liberté car c'est l'argument le plus avancé par la communauté libre. Toujours comme l'iPhone, pas d'applications qu'Apple n'a autorisé au préalable. Chez Apple on pense pour vous car ça vous évite beaucoup de problème (c'est pas faux mais ça sonne un peu totalitaire dit comme ça).</p>
<p>De plus on le présente souvent en premier comme un lecteur d'ebook. Personnellement je n'ai jamais cru à la réussite des ebooks. On peut lire de court articles sur le net mais dès qu'on arrive à quelque chose tel qu'un roman, il faut passer au support papier. Il ne faut pas forcement essayer de remplacer tout par du numérique. Dans mes auditoires, je vois de nombreuses personnes qui prennent note sur leur ordinateur. Ça a ses avantages (relectures, partage,...) mais pour moi ça ne remplacera pas mes notes à la main, les schéma au crayons, les tuyaux dans la marge et les parties de puissance 4 avec mon voisin.<br />
De nombreux journaux espèrent (à tord selon moi) beaucoup de l'iPad. Le New York Times avait reproché que l'iPad n'était pas adapté à son contenu. Mauvaise fois quand tu nous tient... A l'instar des compagnies de disques qui se donnent du mal à nous empêcher de copier leur disque (à défaut de nous donner envie de les acheter), la presse écrite essaye de nous faire payer pour accéder à l'information. Seulement je pense que c'est un mauvais calcul. Plutôt que d'essayer de faire la même chose que les blogs d'actualité en payant, il faut avoir une plus-value qui nous pousse à allez quand même chercher l'information chez eux (des analyses, des interviews, du professionnalisme,...)</p>
<p>Articles intéressants à lire concernant l'iPad : <a href="http://www.framablog.org/index.php/post/2010/05/29/ipad-pourquoi-je-ne-l-acheterai-pas">Pourquoi je n'achèterai pas d'iPad</a> et une réaction <a href="http://sylvain.gamel.free.fr/blog/?p=1323">Achèterais-je un iPad ?</a> qui permet de nuancer les choses.</p>
<p><a href="http://www.flickr.com/photos/niallkennedy/4487456861/">Photo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mart-e.tk/post/mon-avis-sur-lipad/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
