<?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>Blog de Keran</title>
	<atom:link href="http://blog.keran.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.keran.fr</link>
	<description>Echos du quotidien</description>
	<lastBuildDate>Fri, 31 Dec 2010 10:09:28 +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>Jquery AutoComplete gérer le bouton submit</title>
		<link>http://blog.keran.fr/developpement-web/jquery-autocomplete-gerer-le-bouton-submit/</link>
		<comments>http://blog.keran.fr/developpement-web/jquery-autocomplete-gerer-le-bouton-submit/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 12:13:57 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Développement Web]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=199</guid>
		<description><![CDATA[La librairie de jQuery Autocomplete est, comme souvent pour ces plugins, rapide à implémenter et très robuste. Par contre quand il s&#8217;agit d&#8217;agrémenter le Js d&#8217;un dev spécifique, le chemin paraît d&#8217;un coup beaucoup plus long.
J&#8217;ai eu le problème avec ce plugin. Il ne gère pas le clic externe sur un bouton. Résultat si rien n&#8217;a été spécifié par l&#8217;utilisateur (clic de la liste, touche entrée, tab) le librairie ne récupère pas automatiquement le premièr élément de la liste.
Pour corriger ce soucis, passez le JS au beautifier pour le rendre lisible.
Ensuite, dans la zone de création des méthodes associée au plugin (flushcache, search, result,&#8230;) ajoutez le bloc suivant:
}).bind(&#171;&#160;flushCache&#160;&#187;, function () {
cache.flush();
}).bind(&#171;&#160;getSel&#160;&#187;, function ()
{
if (selectCurrent() )
{
blockSubmit = true;
return false;
}
else
searchFunc($(&#171;&#160;#input_recherche&#160;&#187;).val(),&#160;&#187;);
}).bind(&#171;&#160;setO
Cette nouvelle méthode permettra donc de récupérer la sélection courante, comme si l&#8217;utilisateur appuyait sur la touche &#171;&#160;entrée&#160;&#187;.
Voici une implémentation possible:
//Initialisation
$().ready(function() {
$(&#171;&#160;#input_recherche&#160;&#187;).autocomplete(&#8216;chemin_vers_script_php_par_exemple_qui_renvoie_liste&#8217;, {
width: 500,
scrollHeight: 500
});
//Lors d&#8217;une recherche
$(&#171;&#160;#input_recherche&#160;&#187;).result(function(event, data, formatted) {
if (data)
{
$(&#8216;#champ_hidden&#8217;).val(data[1]);
searchFunc(data[0],data[1]);
}
else
{
//Si pas de ...]]></description>
			<content:encoded><![CDATA[<p>La librairie de jQuery <a href="http://docs.jquery.com/Plugins/autocomplete" target="_blank">Autocomplete</a> est, comme souvent pour ces plugins, rapide à implémenter et très robuste. Par contre quand il s&#8217;agit d&#8217;agrémenter le Js d&#8217;un dev spécifique, le chemin paraît d&#8217;un coup beaucoup plus long.</p>
<p>J&#8217;ai eu le problème avec ce plugin. Il ne gère pas le clic externe sur un bouton. Résultat si rien n&#8217;a été spécifié par l&#8217;utilisateur (clic de la liste, touche entrée, tab) le librairie ne récupère pas automatiquement le premièr élément de la liste.</p>
<p>Pour corriger ce soucis, passez le JS au <a href="http://jsbeautifier.org/" target="_blank">beautifier</a> pour le rendre lisible.</p>
<p>Ensuite, dans la zone de création des méthodes associée au plugin (flushcache, search, result,&#8230;) ajoutez le bloc suivant:</p>
<p>}).bind(&laquo;&nbsp;flushCache&nbsp;&raquo;, function () {<br />
cache.flush();<br />
})<strong>.bind(&laquo;&nbsp;getSel&nbsp;&raquo;, function ()<br />
{<br />
if (selectCurrent() )<br />
{<br />
blockSubmit = true;<br />
return false;<br />
}<br />
else<br />
searchFunc($(&laquo;&nbsp;#input_recherche&nbsp;&raquo;).val(),&nbsp;&raquo;);<br />
})</strong>.bind(&laquo;&nbsp;setO</p>
<p>Cette nouvelle méthode permettra donc de récupérer la sélection courante, comme si l&#8217;utilisateur appuyait sur la touche &laquo;&nbsp;entrée&nbsp;&raquo;.</p>
<p>Voici une implémentation possible:</p>
<p>//Initialisation</p>
<p>$().ready(function() {</p>
<p>$(&laquo;&nbsp;#input_recherche&nbsp;&raquo;).autocomplete(&#8216;chemin_vers_script_php_par_exemple_qui_renvoie_liste&#8217;, {<br />
width: 500,<br />
scrollHeight: 500<br />
});<br />
//Lors d&#8217;une recherche</p>
<p>$(&laquo;&nbsp;#input_recherche&nbsp;&raquo;).result(function(event, data, formatted) {</p>
<p>if (data)<br />
{<br />
$(&#8216;#champ_hidden&#8217;).val(data[1]);<br />
searchFunc(data[0],data[1]);<br />
}<br />
else<br />
{<br />
//Si pas de valeur prend la ligne sélectionnée<br />
$(&laquo;&nbsp;#recherche&nbsp;&raquo;).getSel();<br />
}<br />
});<br />
});</p>
<p>function searchFunc(txt,id)<br />
{<br />
//votre appel après submit (ajax ou url)<br />
}</p>
<p>//pour bien gérer tous les cas, dès que l&#8217;utilisateur tape sur entrée après entrée un valeur inconnu du suggest, lr submit est malgré tout activé<br />
$(window).keypress(function(e) {<br />
if(e.keyCode == 13 ) {<br />
searchFunc($(&laquo;&nbsp;#input_recherche&nbsp;&raquo;).val(),&nbsp;&raquo;);<br />
}<br />
});</p>
<p><strong>Pour aller plus loin</strong></p>
<p>Cette dernière fonction pose problème s&#8217;il y a plusieurs champs input dans la page; résultat sur un autre champ, après avoir appuyé sur la touche entrée, le submit est activé. Pas terrible. Pour améliorer ça on peut ajouter un test à la fonction ci-dessus:</p>
<p>$(window).keypress(function(e) {<br />
if(e.keyCode == 13 &amp;&amp; focField == &#8216;input_recherche&#8217; ) {<br />
searchFunc($(&laquo;&nbsp;#input_recherche&nbsp;&raquo;).val(),&nbsp;&raquo;);<br />
}<br />
});</p>
<p>Et pour remplir focField à l&#8217;initialisation de la page:</p>
<p>focField        =    &nbsp;&raquo;;</p>
<p>listeInput            =    document.getElementsByTagName(&#8216;input&#8217;);<br />
if(listeInput.length &gt; 0)<br />
{<br />
for (i = 0 ; i &lt; listeInput.length ; i++)<br />
{<br />
if(listeInput[i].type == &#8216;text&#8217;)<br />
listeInput[i].onfocus = function(){<br />
focField = this.id;<br />
}<br />
}<br />
}</p>
<p>ainsi dès qu&#8217;un input est cliqué (focus) la variable focField stocke le nom de ce champ.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/developpement-web/jquery-autocomplete-gerer-le-bouton-submit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Supprimer email en doublons sous Outlook</title>
		<link>http://blog.keran.fr/astuces-softs-os/supprimer-email-en-doublons-outlook/</link>
		<comments>http://blog.keran.fr/astuces-softs-os/supprimer-email-en-doublons-outlook/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 12:13:34 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Astuces Softs / OS]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=197</guid>
		<description><![CDATA[Il arrive parfois que les PST bien remplis (&#62; 1.8Go) posent problème lors de leur nettoyage. Parmi ces problèmes, il arrive qu&#8217;Outlook, ne récupérant pas  lors d&#8217;une même session tous les emails, ne vide pas la source. Résultat les emails sont plusieurs fois récupérés. Voici deux astuces pour résoudre ce problème.
1- d&#8217;abord réussir à vider sa boite sans passer par Outlook. Je vous conseil le petit logiciel NoSpam . Il permet simplement de lister les mails d&#8217;un compte, éventuellement de créer des règles de filtrage automatique mais surtout de supprimer massivement ce que contient la boite mail. Vous apprécierez j&#8217;en suis sûr les bruitages du logiciel&#8230; un petit relent de Worms Armageddon.
2- Ensuite il s&#8217;agit de dédoublonner la boite. Si comme moi vous recevez un max de mail, disons plutôt un max de spams, enlever les doublons à la main risque de vous faire saturer rapidement, résultat vous risquez d&#8217;accélérer ...]]></description>
			<content:encoded><![CDATA[<p>Il arrive parfois que les PST bien remplis (&gt; 1.8Go) posent problème lors de leur nettoyage. Parmi ces problèmes, il arrive qu&#8217;Outlook, ne récupérant pas  lors d&#8217;une même session tous les emails, ne vide pas la source. Résultat les emails sont plusieurs fois récupérés. Voici deux astuces pour résoudre ce problème.</p>
<p>1- d&#8217;abord réussir à vider sa boite sans passer par Outlook. Je vous conseil le petit logiciel <a href="http://www.lelogicielgratuit.com/Telecharger-gratuit-logiciel-103.html" target="_blank">NoSpam </a>. Il permet simplement de lister les mails d&#8217;un compte, éventuellement de créer des règles de filtrage automatique mais surtout de supprimer massivement ce que contient la boite mail. Vous apprécierez j&#8217;en suis sûr les bruitages du logiciel&#8230; un petit relent de Worms Armageddon.</p>
<p>2- Ensuite il s&#8217;agit de dédoublonner la boite. Si comme moi vous recevez un max de mail, disons plutôt un max de spams, enlever les doublons à la main risque de vous faire saturer rapidement, résultat vous risquez d&#8217;accélérer brutalement la manœuvre et de tout dégager (je parle par expérience). La solution, cet Addon Outlook : <a rel="nofollow" href="http://www.vaita.com/Bin/ODIR.exe" target="_blank">http://www.vaita.com/Bin/ODIR.exe</a> . Après redémarrage d&#8217;Oultook vous aurez sur votre menu la rubrique ODIR. La routine est très bien faite et stocke les doublons trouvés dans un répertoire temporaire; à vous ensuite de vérifier avant supression définitive.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/astuces-softs-os/supprimer-email-en-doublons-outlook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Performance site &#8211; compression gzip</title>
		<link>http://blog.keran.fr/web-pratique-et-referencement/performance-site-compression-gzip/</link>
		<comments>http://blog.keran.fr/web-pratique-et-referencement/performance-site-compression-gzip/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 19:51:47 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Web pratique et référencement]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=188</guid>
		<description><![CDATA[Google semble se préparer à prendre en considération les performances globales d&#8217;un site internet (au niveau du positionnement). Via l&#8217;outil webmaster Tool, dans la zone Labo, un graph présente d&#8217;ailleurs une courbe du temps de chargement moyen de votre site Internet.
Une extension de Firefox est même conseillée pour améliorer ce point (Page Speed).
Les solutions que cet outil proposent sont souvent peu simple à mettre en oeuvre:

Multi Hostname (paralléliser les appels : images1.monsite.com/images/1.gif,  images2.monsite.com/images/2.gif, etc)
Grouper les CSS et JS (pas simple quand on utilise des framework, une api google, un adserver et ses propres scripts&#8230;)
Compresser les données (Gzip)
Bien préciser la taille des images (facile)
Valeur d&#8217;expiration pour le cache
etc.

Voici ce qui dans un premier temps peu vous faire gagner 40 à 50% de temps de chargement (la manip prend au moins 5min le temps de trouver les fichiers), il s&#8217;agit de configurer la compression GZip au niveau serveur:
Au niveau d&#8217;Apache, httpd.conf :

Décommenter ...]]></description>
			<content:encoded><![CDATA[<p>Google semble se préparer à prendre en considération les performances globales d&#8217;un site internet (au niveau du positionnement). Via l&#8217;outil webmaster Tool, dans la zone Labo, un graph présente d&#8217;ailleurs une courbe du temps de chargement moyen de votre site Internet.</p>
<p>Une extension de Firefox est même conseillée pour améliorer ce point (<a href="http://code.google.com/intl/fr/speed/page-speed/download.html" target="_blank">Page Speed</a>).</p>
<p>Les solutions que cet outil proposent sont souvent peu simple à mettre en oeuvre:</p>
<ul>
<li>Multi Hostname (paralléliser les appels : images1.monsite.com/images/1.gif,  images2.monsite.com/images/2.gif, etc)</li>
<li>Grouper les CSS et JS (pas simple quand on utilise des framework, une api google, un adserver et ses propres scripts&#8230;)</li>
<li>Compresser les données (Gzip)</li>
<li>Bien préciser la taille des images (facile)</li>
<li>Valeur d&#8217;expiration pour le cache</li>
<li>etc.</li>
</ul>
<p>Voici ce qui dans un premier temps peu vous faire gagner 40 à 50% de temps de chargement (la manip prend au moins 5min le temps de trouver les fichiers), il s&#8217;agit de configurer la compression GZip au niveau serveur:</p>
<p>Au niveau d&#8217;Apache, <span style="color: #666699;"><strong>httpd.conf </strong></span>:<br />
<strong><br />
Décommenter :</strong></p>
<p><code><br />
LoadModule deflate_module modules/mod_deflate.so<br />
</code></p>
<p><strong><br />
Ajouter </strong></p>
<p><code><br />
&lt;IfModule  mod_deflate.c&gt;<br />
&lt;FilesMatch "\.(html|php|txt|xml|js|css)$"&gt;  SetOutputFilter DEFLATE &lt;/FilesMatch&gt;<br />
&lt;/IfModule&gt;<br />
</code></p>
<p>Et redémarrer..</p>
<p><strong>Le header de vos page précisera:</strong></p>
<p>Accept-Encoding: gzip,deflate<br />
Content-Encoding: gzip</p>
<p>Pour tester la différence entre avant et après, une autre Extension, plus pratique je trouve: <a href="https://addons.mozilla.org/en-US/firefox/addon/5369" target="_blank">YSlow</a></p>
<p>Google Bot ne sera pas gêné par cette mise à jour, pour confirmer ce point essayer, après mise à jour, de consulter votre site avec <a href="http://fredlwm.googlepages.com/lynx.zip" target="_blank">Lynx</a>, vous verrez que tout s&#8217;affiche sans problème.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/web-pratique-et-referencement/performance-site-compression-gzip/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Fiona McIntosh &#8211; Le Dernier Souffle &#8211; Valisar</title>
		<link>http://blog.keran.fr/livres/fiona-macintosh-valisar/</link>
		<comments>http://blog.keran.fr/livres/fiona-macintosh-valisar/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 17:58:20 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Livres]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=163</guid>
		<description><![CDATA[Le DERNIER SOUFFLE, pitch :
Avec son cycle &#171;&#160;Le Dernier Souffle&#160;&#187; (Le Don, le Sang, l’Âme), Fiona McIntosh (Lauren Crow, écrivaine anglaise) nous avait emporté dans une histoire prenante, basée sur une idée peu habituelle dans le cadre d’un roman de Fantasy (bien plus répandue en SF): le transfert de conscience. Ce cycle où le héros Wyl Thirsk perd son statut de général auprès du roi pour être rapidement tué par un manipulateur sadique, Celimus.
Wyl n’est pourtant pas mort et au cours de la trilogie il passera de corps en corps pour préparer sa revanche.
A lire ?
Une énième histoire autour de la vengeance (comte de Monte-Cristo) mais on ne peut qu’adhérer, c’est prenant et comme souvent avec cet auteur en mouvement permanent.
 
VALISAR, pitch :
Dans la trilogie Valisar (l’Exil, le Tyran, 3ème à paraître), le schéma est fort ressemblant. Un tyran (Loethar) encore plus sanguinaire (mais aussi beaucoup moins caricatural que ...]]></description>
			<content:encoded><![CDATA[<p><strong>Le DERNIER SOUFFLE, pitch :</strong></p>
<p><img style="margin-left: 8px; float: right;" title="le-dernier-souffle" src="http://blog.keran.fr/wp-content/uploads/2010/04/le-dernier-souffle.jpg" alt="Cycle Le Dernier Souffle" width="242" height="135" />Avec son cycle &laquo;&nbsp;Le Dernier Souffle&nbsp;&raquo; (Le Don, le Sang, l’Âme), Fiona McIntosh (Lauren Crow, écrivaine anglaise) nous avait emporté dans une histoire prenante, basée sur une idée peu habituelle dans le cadre d’un roman de Fantasy (bien plus répandue en SF): le transfert de conscience. Ce cycle où le héros Wyl Thirsk perd son statut de général auprès du roi pour être rapidement tué par un manipulateur sadique, Celimus.</p>
<p>Wyl n’est pourtant pas mort et au cours de la trilogie il passera de corps en corps pour préparer sa revanche.</p>
<p><strong>A lire ?</strong></p>
<p>Une énième histoire autour de la vengeance (comte de Monte-Cristo) mais on ne peut qu’adhérer, c’est prenant et comme souvent avec cet auteur en mouvement permanent.</p>
<p><strong> </strong></p>
<p><strong>VALISAR, pitch :</strong></p>
<p><img style="margin-right: 8px; float: left;" title="le-dernier-souffle" src="http://blog.keran.fr/wp-content/uploads/2010/04/valisar.jpg" alt="Cycle Valisar" width="161" height="126" />Dans la trilogie Valisar (l’Exil, le Tyran, 3ème à paraître), le schéma est fort ressemblant. Un tyran (Loethar) encore plus sanguinaire (mais aussi beaucoup moins caricatural que Celimus) prend un royaume par la force sans que quiconque n’ait un instant présumé de sa capacité à réussir. Le pouvoir en place depuis huit générations est balayé et toute la famille royale trouve brutalement la mort. Le prince héritier arrive à s’échapper et prépare sa vengeance.<strong> </strong></p>
<p><strong>A lire ?</strong></p>
<p>Les personnages sont bien plus complexes et travaillés que dans le cycle « Le Dernier Souffle ». Le lecteur peut donc plus facilement se projeter dans cet univers ; l’intrigue est simple mais forte, l’action est à nouveau permanente, sur le fil ; en rythme autour des thèmes de la quête de soi, de la stratégie politique et bien sûr, notre axe central, de la vengeance vouée au renversement d’un usurpateur.</p>
<p>Vivement l’arrivée des prochains cycles arrivent en France :</p>
<ul>
<li><strong><em>Trinity </em></strong>2001,2002 (T1 <em>Betrayal</em>, T2 <em>Revenge </em>(tiens donc), T3 <em>Destiny</em>)</li>
<li><strong><em>Percheron </em></strong>2005, 2006, 2007 (T1 <em>Odalisque</em>, T2 <em>Emissary</em>, T3 <em>Goddess</em>)</li>
<li><strong><em>Shapeshifter </em></strong>2007 (T1 <em>Severo&#8217;s Intent</em>,  T2 <em>Saxten&#8217;s Secret</em>, T3 <em>Wolf Lair</em>, T4 <em>King of the Beasts</em>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/livres/fiona-macintosh-valisar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery &#8211; LightBox</title>
		<link>http://blog.keran.fr/developpement-web/156/</link>
		<comments>http://blog.keran.fr/developpement-web/156/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 10:00:57 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=156</guid>
		<description><![CDATA[Pour effectuer une petit mise à jour de l&#8217;article &#171;&#160;LightBox Versus MultiBox&#171;&#160;.
Depuis il semble clairement que jQuery soit en passe de devenir un FrameWork leader. En lice nous avons Scriptaculous, Mootools, Yui, ExtJs et Dojo.  Yui et Dojo sont légèrement derrières mais en gros 8 fois plus de personnes se sont axées sur jQuery.
Pour revenir à nos lightbox, qu&#8217;elles sont celles fonctionnant avec jQuery ?
Un moment leader Thickbox n&#8217;est plus mis à jour, en solutions alternatives vous avez donc:
- ShadowBox : très bien documenté et très souple.
- FancyBox
- ColorBox
]]></description>
			<content:encoded><![CDATA[<p>Pour effectuer une petit mise à jour de l&#8217;article &laquo;&nbsp;<a href="http://blog.keran.fr/developpement-web/lightbox-versus-multibox/">LightBox Versus MultiBox</a>&laquo;&nbsp;.</p>
<p>Depuis il semble clairement que jQuery soit en passe de devenir un FrameWork leader. En lice nous avons Scriptaculous, Mootools, Yui, ExtJs et Dojo.  Yui et Dojo sont légèrement derrières mais en gros 8 fois plus de personnes se sont axées sur jQuery.</p>
<p>Pour revenir à nos lightbox, qu&#8217;elles sont celles fonctionnant avec jQuery ?</p>
<p>Un moment leader Thickbox n&#8217;est plus mis à jour, en solutions alternatives vous avez donc:<br />
- <a href="http://www.shadowbox-js.com/" target="_blank">ShadowBox </a>: très bien documenté et très souple.<br />
- <a href="http://fancybox.net/" target="_blank">FancyBox</a><br />
- <a href="http://colorpowered.com/colorbox/" target="_blank">ColorBox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/developpement-web/156/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gmail / libellés en dossiers</title>
		<link>http://blog.keran.fr/web-pratique-et-referencement/gmail-libelles-en-dossiers/</link>
		<comments>http://blog.keran.fr/web-pratique-et-referencement/gmail-libelles-en-dossiers/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 07:59:26 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Web pratique et référencement]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=152</guid>
		<description><![CDATA[Ah, qui n&#8217;a pas été enthousiaste puis perplexe, puis à nouveau enthousiaste, puis&#8230; avec les libellés de Google. Excellente idée qui offre à l&#8217;utilisateur la possibilité d&#8217;associer un ou plusieurs tags à chaque message. Revers de la médaille, la classification de très nombreux messages devient complexe, le nombre de tags trop nombreux, etc. Résultat l&#8217;utilisateur ne fait plus qu&#8217;utiliser le moteur de recherche de l&#8217;outil, qui bien que performant, n&#8217;atteint pas toujours la logique de classement que l&#8217;on pourrait soi-même avoir.
Dans son faste Labo (petit icône vert en de l&#8217;écran) Gmail vient de sortir un outil de gestion des libellés imbriqués. Résultat, le système garde son originalité tout en recréant un cadre pour les stakhanovistes du rangement et du classement d&#8217;email. En pratique il suffit de renommer vos libellés, &#171;&#160;Tonton Charles&#160;&#187; par exemple en &#171;&#160;Famille/Tonton Charles&#160;&#187; et automatiquement dans un dossier Famille, le dossier Tonton Charles sera affiché. Vous pouvez ...]]></description>
			<content:encoded><![CDATA[<p>Ah, qui n&#8217;a pas été enthousiaste puis perplexe, puis à nouveau enthousiaste, puis&#8230; avec les libellés de Google. Excellente idée qui offre à l&#8217;utilisateur la possibilité d&#8217;associer un ou plusieurs tags à chaque message. Revers de la médaille, la classification de très nombreux messages devient complexe, le nombre de tags trop nombreux, etc. Résultat l&#8217;utilisateur ne fait plus qu&#8217;utiliser le moteur de recherche de l&#8217;outil, qui bien que performant, n&#8217;atteint pas toujours la logique de classement que l&#8217;on pourrait soi-même avoir.</p>
<p><img style="margin-right: 8px; float: left;" title="libelles-imbriques" src="http://blog.keran.fr/wp-content/uploads/2010/04/libelles-imbriques.gif" alt="Libellés Imbriqués" width="175" height="64" />Dans son faste Labo (petit icône vert en de l&#8217;écran) Gmail vient de sortir un outil de gestion des libellés imbriqués. Résultat, le système garde son originalité tout en recréant un cadre pour les stakhanovistes du rangement et du classement d&#8217;email. En pratique il suffit de renommer vos libellés, &laquo;&nbsp;Tonton Charles&nbsp;&raquo; par exemple en &laquo;&nbsp;Famille/Tonton Charles&nbsp;&raquo; et automatiquement dans un dossier Famille, le dossier Tonton Charles sera affiché. Vous pouvez bien sûr pousser encore vers &laquo;&nbsp;Famille/Bretagne/Tonton Charles&nbsp;&raquo;. Ajoutez à ça une gestion des libellés par couleur et après une réorganisation assez longue vous verrez plus que clair au sein de vos 450 libellés&#8230;</p>
<p>Petite astuce: Gmail n&#8217;arrivera pas gérer correctement le cas suivants si le libellé &laquo;&nbsp;Internet&nbsp;&raquo; n&#8217;existe pas:<br />
Mail 1 dans Internet/Achats<br />
Mail 2 dans Internet/Newsletters</p>
<p>Il faudra donc créer le libellé &laquo;&nbsp;Internet&nbsp;&raquo; même s&#8217;il n&#8217;est associer à aucun email.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/web-pratique-et-referencement/gmail-libelles-en-dossiers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pierre Grimbert &#8211; Ji</title>
		<link>http://blog.keran.fr/livres/pierre-grimbert-ji/</link>
		<comments>http://blog.keran.fr/livres/pierre-grimbert-ji/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 23:55:42 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Livres]]></category>
		<category><![CDATA[Fantasy]]></category>
		<category><![CDATA[Pierre Grimbert]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=97</guid>
		<description><![CDATA[Rares sont les auteurs français de Fantasy dont le talent nous permet d&#8217;oublier, et bien&#8230; qu&#8217;ils sont français 
Qui n&#8217;a pas un apriori mal placé sur les séries françaises? Justifié ou pas, nous avons, comme pour les séries, une tendance à nous reporter sur une littérature essentiellement anglo-saxone. Et pourtant les talents ne manquent pas ! (sans ordre chronologique) Réné Barjavel, Fabrice Colin, Henri Loevenbruck, Julia Verlanger, &#8230; Anne Robillard pour le Canada&#8230; Et beaucoup  d&#8217;autres. Néanmoins, de mon côté en tout cas, j&#8217;ai toujours une hésitation à aborder les auteurs français. Hésitation malvenue sans aucun doute, mais bon, problème de génération,  d&#8217;idées reçues nées de l&#8217;expérience ou de l&#8217;opinion commune, &#8230; aucune idée. En tout cas je suis plus difficile avec une œuvre française qu&#8217;étrangère. Ce laïus pour simplement mettre en avant que le talent occulte toutes ces fadaises. Quand c&#8217;est bon, et bien&#8230; c&#8217;est bon. Tout le cycle ...]]></description>
			<content:encoded><![CDATA[<p>Rares sont les auteurs français de Fantasy dont le talent nous permet d&#8217;oublier, et bien&#8230; qu&#8217;ils sont français <img src='http://blog.keran.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Qui n&#8217;a pas un apriori mal placé sur les séries françaises? Justifié ou pas, nous avons, comme pour les séries, une tendance à nous reporter sur une littérature essentiellement anglo-saxone. Et pourtant les talents ne manquent pas ! (sans ordre chronologique) Réné Barjavel, Fabrice Colin, Henri Loevenbruck, Julia Verlanger, &#8230; Anne Robillard pour le Canada&#8230; Et beaucoup  d&#8217;autres. Néanmoins, de mon côté en tout cas, j&#8217;ai toujours une hésitation à aborder les auteurs français. Hésitation malvenue sans aucun doute, mais bon, problème de génération,  d&#8217;idées reçues nées de l&#8217;expérience ou de l&#8217;opinion commune, &#8230; aucune idée. En tout cas je suis plus difficile avec une œuvre française qu&#8217;étrangère. Ce laïus pour simplement mettre en avant que le talent occulte toutes ces fadaises. Quand c&#8217;est bon, et bien&#8230; c&#8217;est bon. Tout le cycle de Ji est d&nbsp;&raquo;une efficacité indéniable&#8230; Redoutable&#8230;.</p>
<p><strong>Le Pitch</strong></p>
<p>Plusieurs cycles :<br />
- Le Secret de Ji <em>(LeSecret de Ji, Six Héritiers, Le Serment Orphelin, l&#8217;Ombre des anciens, le Doyen Eternel)</em><br />
- Les Enfants de Ji <em>(Le testament Oublié, la Veuve Barbare, la Voix des Aînés, le Patriarche, le Sang du Jal)</em><br />
- Les Gardiens de Ji <em>(La Volonté du Démon, le Deuil Écarlate, le Souffle des Aïeux)</em></p>
<p><em>Extrait Wikipedia:<br />
</em></p>
<p>118 ans avant le début de l&#8217;histoire, un certain Nol l&#8217;étrange manda un émissaire de chaque royaume du monde connu, pour l&#8217;accompagner sur l&#8217;île Ji, et effectuer un mystérieux voyage. Peu d&#8217;émissaires revinrent, et aucun ne raconta les évènements qui se sont passés sur l&#8217;île Ji. Les héritiers des émissaires survivants se réunissent régulièrement pour célébrer le voyage sur l&#8217;île Ji, et ils pensent être les seuls à se rappeler cette affaire vite étouffée, jusqu&#8217;au jour où des assassins se mettent à les éliminer un à un. Il ne reste alors qu&#8217;une chance de survie aux héritiers : percer le secret de Ji&#8230;</p>
<div id="attachment_106" class="wp-caption aligncenter" style="width: 400px"><img class="size-full wp-image-106" title="ji-cover" src="http://blog.keran.fr/wp-content/uploads/2009/12/ji-cover3.jpg" alt="Les trois cycles de Ji" width="390" height="236" /><p class="wp-caption-text">Les trois cycles de Ji</p></div>
<p><strong>A Lire ?</strong></p>
<p>Au fil des tomes les règles d&#8217;écriture sont identiques, jusqu&#8217;aux profils des personnages (générations après générations), mais entre nous ça n&#8217;a aucune importance. Le rythme est particulièrement bien agencé; entre réflexions ou introspections des personnages et séquences d&#8217;actions efficaces. Dans les Enfants de Ji l&#8217;auteur arrive à jouer avec quatorze protagonistes avec une dextérité qui personnellement me rend presque jaloux !</p>
<p>Sans atteindre la finesse d&#8217;une Robin Hobb les émotions et la psychologie des personnages sont habilement retranscrites.  Elles ont aussi l&#8217;énorme qualité de systématiquement servir l&#8217;histoire ! On ne part pas vers des métaphores intitules ou des brèves de comptoirs sans finalité.. tout à une utilité et une direction;  franchement c&#8217;est une clé forte dans ces bouquins pour accrocher le lecteur. Il y a une évolution qui elle même se nourrit de l&#8217;interaction avec l&#8217;ensemble des acteurs; c&#8217;est carré et très structuré.</p>
<p>Les scènes d&#8217;actions (mes préférées bien sûr) sont envoyées à un rythme effréné; je dirais même essoufflant ! En ayant lu l&#8217;ensemble du cycle j&#8217;avoue qu&#8217;en me projetant dans l&#8217;histoire j&#8217;aurai depuis longtemps fait un infarctus ou une crise d&#8217;apoplexie ! La séquence la plus exaltante est à mon avis les traversée des marais, sur l&#8217;île des Zuia, dans la deuxième partie du cycle (les Enfants de Ji). Le lecteur se retrouve projeté dans un remake mixant l&#8217;île mystérieuse et le dernier King Kong&#8230; entre insectes mortels, animaux carnassiers et plantes carnivores, on touche et sent cet environnement oppressant et terriblement dangereux&#8230; un bonheur à lire, même si en fermant la lumière à quatre heure du matin, les rêves s&#8217;illustreront de bestioles se glissant sous la peau, de sangsues cocainées  ou d&#8217;araignées OGM&#8230;</p>
<p>Fans de Fantasy lisez ce cycle de Pierre Grimbert. Il est d&#8217;une efficacité exceptionnelle et donne à chaque lecteur ce qu&#8217;il cherche : l&#8217;envie de tourner la page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/livres/pierre-grimbert-ji/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>James Barclay &#8211; Ravens &#8211; Actualité</title>
		<link>http://blog.keran.fr/livres/james-barclay-ravens-actualite/</link>
		<comments>http://blog.keran.fr/livres/james-barclay-ravens-actualite/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 08:56:25 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Livres]]></category>
		<category><![CDATA[Fantasy]]></category>
		<category><![CDATA[James Barclay]]></category>
		<category><![CDATA[Ravens]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=94</guid>
		<description><![CDATA[Excellente nouvelle pour les fans de la série : Les Chroniques des Ravens (3 Tomes) &#38; La Légende des Ravens (3 Tomes). Un quatrième et dernier opus s&#8217;ajoute après plusieurs années à la série &#171;&#160;La Légende des Ravens&#160;&#187;. Chez Bragelonne, ÂmeRaven à dévorer rapidement.
]]></description>
			<content:encoded><![CDATA[<p>Excellente nouvelle pour les fans de la série : Les Chroniques des Ravens (3 Tomes) &amp; La Légende des Ravens (3 Tomes). Un quatrième et dernier opus s&#8217;ajoute après plusieurs années à la série &laquo;&nbsp;La Légende des Ravens&nbsp;&raquo;. Chez Bragelonne, ÂmeRaven à dévorer rapidement.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/livres/james-barclay-ravens-actualite/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Client VPN Cisco sur Vista &#8211; problèmes d&#8217;installation</title>
		<link>http://blog.keran.fr/astuces-softs-os/client-vpn-cisco-sur-vista-problemes-dinstallation/</link>
		<comments>http://blog.keran.fr/astuces-softs-os/client-vpn-cisco-sur-vista-problemes-dinstallation/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 08:05:20 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Astuces Softs / OS]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=88</guid>
		<description><![CDATA[Pour ceux qui ont un Vista 32 et qui galèrent pour installer le client VPN de cisco voici la solution pour deux problèmes rencontrés lors de l&#8217;installation:

L&#8217;exécutable ne lance pas l&#8217;installe (.msi) et le message suivant apparait : 
Erreur lors l&#8217;application des différences

 Le bug vient d&#8217;un problème de localisation; pour résoudre le soucis ouvrez le fichier vpnclient_setup.ini et supprimez les lignes suivantes:
Language1=Japanese,1041
LanguageFile1=vpnclient_jp.mst;vpnclient_help_jp.mst
Language2=French (Canadian),1036,2060,3084,4108
LanguageFile2=vpnclient_fc.mst;vpnclient_help_fc.mst

Pendant l&#8217;installation (FR) du client vous pouvez rencontrer le message d&#8217;erreur suivant: 
Erreur 2738

Solution, exécutez le console de commande Vista en mode administration (important) ensuite tapez
cd %systemroot%\system32 puis regsvr32 vbscript.dll
Il ne reste plus qu&#8217;à placer votre fichier PCF dans le répertoire profiles (C:\Program Files\Cisco Systems\VPN Client\Profiles) que votre administrateur vous aura donné et le tour est joué.
]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui ont un Vista 32 et qui galèrent pour installer le <a title="Client VPN Cisco" href="http://support.ipacs.fr/index.php?_m=downloads&amp;_a=viewdownload&amp;downloaditemid=4&amp;nav=0,1" target="_blank">client VPN de cisco</a> voici la solution pour deux problèmes rencontrés lors de l&#8217;installation:</p>
<ul>
<li>L&#8217;exécutable ne lance pas l&#8217;installe (.msi) et le message suivant apparait : <strong><br />
Erreur lors l&#8217;application des différences</strong></li>
</ul>
<p><strong> </strong>Le bug vient d&#8217;un problème de localisation; pour résoudre le soucis ouvrez le fichier <strong>vpnclient_setup.ini</strong> et supprimez les lignes suivantes:</p>
<p><em>Language1=Japanese,1041<br />
LanguageFile1=vpnclient_jp.mst;vpnclient_help_jp.mst<br />
Language2=French (Canadian),1036,2060,3084,4108<br />
LanguageFile2=vpnclient_fc.mst;vpnclient_help_fc.mst</em></p>
<ul>
<li>Pendant l&#8217;installation (FR) du client vous pouvez rencontrer le message d&#8217;erreur suivant: <strong><br />
Erreur 2738</strong></li>
</ul>
<p>Solution, exécutez le console de commande Vista en mode administration (important) ensuite tapez<br />
<em>cd %systemroot%\system32</em> puis <em>regsvr32 vbscript.dll</em></p>
<p>Il ne reste plus qu&#8217;à placer votre fichier PCF dans le répertoire profiles (C:\Program Files\Cisco Systems\VPN Client\Profiles) que votre administrateur vous aura donné et le tour est joué.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/astuces-softs-os/client-vpn-cisco-sur-vista-problemes-dinstallation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Version améliorée de print_r: affichage et valeur retournée</title>
		<link>http://blog.keran.fr/developpement-web/version-amelioree-de-print_r-affichage-et-valeur-retournee/</link>
		<comments>http://blog.keran.fr/developpement-web/version-amelioree-de-print_r-affichage-et-valeur-retournee/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 22:42:03 +0000</pubDate>
		<dc:creator>Keran</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[print_r]]></category>
		<category><![CDATA[productivité]]></category>

		<guid isPermaLink="false">http://blog.keran.fr/?p=68</guid>
		<description><![CDATA[Quel magnifique outil que ce print_r, function indispensable en PHP pour débuguer. Chaînes ou tableaux, la fonction se dépatouille pour sortir un contenu lisible. D&#8217;autant plus pratique avec des tableaux à plusieurs dimensions (2,3,4&#8230;) ou des tableaux associatifs peu piqués des hannetons.
Pratique mais quand même deux gros défauts:
- la fonction ne retourne rien: affichage direct
- l&#8217;affichage se fait en mode texte: pour débuguer une page HTML, une petit CTRL U sous firefox ou afficher la source sous ie.
Pour gagner du temps en production voici quelques astuces pour améliorer un poil le fameur print_r.
Affichage directement en HTML (évitant de passer par la source):
function    PrePrint_r($tab)
{
     print '&#60;span style="white-space:pre;"&#62;';
     print_r($tab);
     print '&#60;/span&#62;';
}
Avantage: pas besoin de passer par la source
Défaut : affichage direct sur le navigateur
Affichage directement en HTML avec gestion de sortie
function HTMLprint_r($val)
{
     ob_start();
    ...]]></description>
			<content:encoded><![CDATA[<p>Quel magnifique outil que ce print_r, function indispensable en PHP pour débuguer. Chaînes ou tableaux, la fonction se dépatouille pour sortir un contenu lisible. D&#8217;autant plus pratique avec des tableaux à plusieurs dimensions (2,3,4&#8230;) ou des tableaux associatifs peu piqués des hannetons.</p>
<p>Pratique mais quand même deux gros défauts:<br />
- la fonction ne retourne rien: affichage direct<br />
- l&#8217;affichage se fait en mode texte: pour débuguer une page HTML, une petit CTRL U sous firefox ou afficher la source sous ie.</p>
<p>Pour gagner du temps en production voici quelques astuces pour améliorer un poil le fameur print_r.</p>
<p><strong>Affichage directement en HTML (évitant de passer par la source):</strong></p>
<pre lang="php">function    PrePrint_r($tab)
{
     print '&lt;span style="white-space:pre;"&gt;';
     print_r($tab);
     print '&lt;/span&gt;';
}</pre>
<p>Avantage: pas besoin de passer par la source<br />
Défaut : affichage direct sur le navigateur</p>
<p><strong>Affichage directement en HTML avec gestion de sortie</strong></p>
<pre lang="php">function HTMLprint_r($val)
{
     ob_start();
     print_r($val);
     $str =    ob_get_contents();
     ob_end_clean();
     return str_replace(
         array(" ","\n","\r"),
         array("&amp;nbsp;","&lt;br /&gt;","&lt;br /&gt;"),$str);
}</pre>
<p><em>Nota: il s&#8217;agit bien sûr de <span>&amp;nbsp; et non </span><span>&amp;amp;nbsp;.</span></em></p>
<p>Pas besoin de faire une function récursive; il suffit de gérer le tampon de sortie. On stocke la valeur renvoyée, on la maltraite au plaisir et bravement la fonction renvoie une chaîne.</p>
<p>Elle peut être appelée directement echo HTMLprint_r($monTableau) ou être stockée $maChaineDeDebug = HTMLprint_r($monTableau)</p>
<p>Bon après c&#8217;est ouvert, la fonction peut être configurée dans un fichier global et s&#8217;appeler seulement p() pour facilier le temps de debug.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.keran.fr/developpement-web/version-amelioree-de-print_r-affichage-et-valeur-retournee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

