<?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>Chloé - Arts &#38; Sciences &#187; R&amp;D</title>
	<atom:link href="http://chloe.desoutter.org/category/informatique/rd/feed/" rel="self" type="application/rss+xml" />
	<link>http://chloe.desoutter.org</link>
	<description>Chloé Desoutter parle de sa vie et de ses travaux.</description>
	<lastBuildDate>Wed, 12 May 2010 22:22:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Think Snippy !</title>
		<link>http://chloe.desoutter.org/2010/05/13/think-snippy/</link>
		<comments>http://chloe.desoutter.org/2010/05/13/think-snippy/#comments</comments>
		<pubDate>Wed, 12 May 2010 22:22:04 +0000</pubDate>
		<dc:creator>Chloé</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[R&D]]></category>

		<guid isPermaLink="false">http://chloe.desoutter.org/?p=213</guid>
		<description><![CDATA[Ces derniers temps j&#8217;ai quelque peu travaillé sur Snippy. Snippy est la modélisation informatique de mon bureau et de mes écrans, couverts soigneusement de post-its, papiers griffonnés pleins d&#8217;idées, et me donne les pouvoirs magiques de Harry Potter. Accio information sur SNMP.
Plus sérieusement, Snippy est un site quelque peu novateur, qui permet de stocker des [...]]]></description>
			<content:encoded><![CDATA[<p>Ces derniers temps j&#8217;ai quelque peu travaillé sur Snippy. Snippy est la modélisation informatique de mon bureau et de mes écrans, couverts soigneusement de post-its, papiers griffonnés pleins d&#8217;idées, et me donne les pouvoirs magiques de Harry Potter. <em>Accio information sur SNMP.</em></p>
<p>Plus sérieusement, Snippy est un site quelque peu novateur, qui permet de stocker des <em>idées</em> publiques ou privées en les catégorisant à l&#8217;aide de #hashtags. Il permet de stocker des scripts, des URLs dont on veut se souvenir avec un commentaire, des recettes de cuisine, l&#8217;adresse de quelqu&#8217;un, etc.</p>
<p>Ces informations peuvent être catégorisées mais aussi regroupées et retrouvées aisément. En effet, les hashtags placés apparaissent sur le site et on peut donc retrouver ce qui nous intéresse dans la masse d&#8217;informations que l&#8217;on est amené à stocker. Pas besoin de recherche texte ou de paramétrage complexe, ici c&#8217;est l&#8217;auto-convention qui est mise en place: si je décide que tous mes post-its sysadmin sont taggés #sysadmin alors je sais comment retrouver une info rapidement.</p>
<p>Les snippets (unités de Snippy) peuvent être édités, mis à jour et, si jamais l&#8217;envie de le faire prend leur auteur, effacés.</p>
<p>La force principale de Snippy est que les snippets peuvent être publics. J&#8217;espère que cet outil deviendra une base de connaissances variées et consultée par le plus grand  nombre.</p>
<p>Pour découvrir Snippy par vous-même: <a href="http://www.think-snippy.net">http://www.think-snippy.net</a>.</p>
<div class="sexy-bookmarks sexy-bookmarks-expand"><ul class="socials"><li class="sexy-myspace"><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://chloe.desoutter.org/2010/05/13/think-snippy/&amp;t=Think+Snippy+%21" rel="nofollow" title="Post this to MySpace">Post this to MySpace</a></li><li class="sexy-facebook"><a href="http://www.facebook.com/share.php?u=http://chloe.desoutter.org/2010/05/13/think-snippy/&amp;t=Think+Snippy+%21" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li class="sexy-digg"><a href="http://digg.com/submit?phase=2&amp;url=http://chloe.desoutter.org/2010/05/13/think-snippy/&amp;title=Think+Snippy+%21" rel="nofollow" title="Digg this!">Digg this!</a></li><li class="sexy-delicious"><a href="http://del.icio.us/post?url=http://chloe.desoutter.org/2010/05/13/think-snippy/&amp;title=Think+Snippy+%21" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li class="sexy-technorati"><a href="http://technorati.com/faves?add=http://chloe.desoutter.org/2010/05/13/think-snippy/" rel="nofollow" title="Share this on Technorati">Share this on Technorati</a></li><li class="sexy-twitter"><a href="http://twitter.com/home?status=Think Snippy !+-++(via+@chloedesoutter)" rel="nofollow" title="Tweet This!">Tweet This!</a></li><li class="sexy-friendfeed"><a href="http://www.friendfeed.com/share?title=Think+Snippy+%21&amp;link=http://chloe.desoutter.org/2010/05/13/think-snippy/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a></li><li class="sexy-google"><a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://chloe.desoutter.org/2010/05/13/think-snippy/&amp;title=Think+Snippy+%21" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a></li><li class="sexy-comfeed"><a href="http://chloe.desoutter.org/2010/05/13/think-snippy/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li></ul><div style="clear:both;"></div></div>]]></content:encoded>
			<wfw:commentRss>http://chloe.desoutter.org/2010/05/13/think-snippy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QuickTime Streaming Server / Darwin Streaming Server / PlaylistBroadcaster, notes</title>
		<link>http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/</link>
		<comments>http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 22:08:11 +0000</pubDate>
		<dc:creator>Chloé</dc:creator>
				<category><![CDATA[Audiovisuel]]></category>
		<category><![CDATA[Informatique]]></category>
		<category><![CDATA[R&D]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[dss]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://chloe.desoutter.org/?p=128</guid>
		<description><![CDATA[J&#8217;ai constaté que la documentation du Darwin Streaming Server (dss) n&#8217;est pas à jour au sujet du broadcaster de listes. En effet, le module d&#8217;insertion/remplacement de playlists ne fonctionne pas avec un fichier .updatelist.
Il s&#8217;agit en fait de fichiers &#171;&#160;.replacelist&#160;&#187; et &#171;&#160;.insertlist&#160;&#187; (respectivement, pour remplacer la liste, ou insérer une liste à l&#8217;emplacement courant de [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai constaté que la documentation du Darwin Streaming Server (dss) n&#8217;est pas à jour au sujet du broadcaster de listes. En effet, le module d&#8217;insertion/remplacement de playlists ne fonctionne pas avec un fichier .updatelist.<span id="more-128"></span></p>
<p>Il s&#8217;agit en fait de fichiers &laquo;&nbsp;.replacelist&nbsp;&raquo; et &laquo;&nbsp;.insertlist&nbsp;&raquo; (respectivement, pour remplacer la liste, ou insérer une liste à l&#8217;emplacement courant de la lecture, selon le code source et mes tests).</p>
<p>Ainsi, si j&#8217;ai un tv.plb lié à un tv.pls, et que je veux insérer une liste de lecture à l&#8217;emplacement courant de la lecture, je vais créer ma liste sous le nom tv.insertlist.</p>
<p>Si je veux remplacer la liste de lecture avec une liste mise à jour, je vais créer ma nouvelle liste sous le nom tv.replacelist.</p>
<p>A la prochaine bascule de fichier, la playlist est chargée. Attention, le fichier &laquo;&nbsp;.replacelist&nbsp;&raquo; ou &laquo;&nbsp;.insertlist&nbsp;&raquo; est alors effacé.</p>
<p>I noticed that Darwin Streaming Server&#8217;s (dss) documentation about the playlist broadcast is not correct. Indeed, the playlist insertion/replacement module does not use &laquo;&nbsp;.updatelist&nbsp;&raquo; files.</p>
<p>Actually, it uses &laquo;&nbsp;.replacelist&nbsp;&raquo; and &laquo;&nbsp;.insertlist&nbsp;&raquo; files (resp., for playlist replacement or playlist insertion at current point, according to PlaylistBroadcaster.cpp and my tests)</p>
<p>So, if I have a tv.plb file bound to a tv.pls playlist and I want to insert a playlist just after the file currently playling, I copy my standard PlaylistBroadcaster list of to-be-inserted files as tv.insertlist.</p>
<p>And if I want to replace the playlist just after the current file has finished playing, I copy my new standard playlist file as tv.replacelist.</p>
<p>I hope this helps</p>
<div class="sexy-bookmarks sexy-bookmarks-expand"><ul class="socials"><li class="sexy-myspace"><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/&amp;t=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes" rel="nofollow" title="Post this to MySpace">Post this to MySpace</a></li><li class="sexy-facebook"><a href="http://www.facebook.com/share.php?u=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/&amp;t=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li class="sexy-digg"><a href="http://digg.com/submit?phase=2&amp;url=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/&amp;title=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes" rel="nofollow" title="Digg this!">Digg this!</a></li><li class="sexy-delicious"><a href="http://del.icio.us/post?url=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/&amp;title=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li class="sexy-technorati"><a href="http://technorati.com/faves?add=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/" rel="nofollow" title="Share this on Technorati">Share this on Technorati</a></li><li class="sexy-twitter"><a href="http://twitter.com/home?status=QuickTime Streaming Server / Darwin Streaming Server / PlaylistBroadcaster, note[..]+-+http://b2l.me/bwbm+(via+@chloedesoutter)" rel="nofollow" title="Tweet This!">Tweet This!</a></li><li class="sexy-friendfeed"><a href="http://www.friendfeed.com/share?title=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes&amp;link=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a></li><li class="sexy-google"><a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/&amp;title=QuickTime+Streaming+Server+%2F+Darwin+Streaming+Server+%2F+PlaylistBroadcaster%2C+notes" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a></li><li class="sexy-comfeed"><a href="http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li></ul><div style="clear:both;"></div></div>]]></content:encoded>
			<wfw:commentRss>http://chloe.desoutter.org/2009/09/26/quicktime-streaming-server-darwin-streaming-server-playlistbroadcaster-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mashup d&#8217;informations fournies par divers services, en JavaScript</title>
		<link>http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/</link>
		<comments>http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 16:08:10 +0000</pubDate>
		<dc:creator>Chloé</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[R&D]]></category>
		<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Developpement]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Prado]]></category>
		<category><![CDATA[Recherche]]></category>

		<guid isPermaLink="false">http://chloe.desoutter.org/?p=120</guid>
		<description><![CDATA[L&#8217;un de mes travaux actuels consiste en l&#8217;agrégation de données venant de diverses sources assez hétérogènes: les big three, les trois principaux moteurs de recherche du marché: Google, Yahoo! (à travers BOSS) et Bing.
J&#8217;ai pris le parti de développer mon mashup à l&#8217;aide de JavaScript, parce que les informations seront recueillies uniquement sur demande des [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;un de mes travaux actuels consiste en l&#8217;agrégation de données venant de diverses sources assez hétérogènes: les <em>big three</em>, les trois principaux moteurs de recherche du marché: Google, Yahoo! (à travers BOSS) et Bing.</p>
<p>J&#8217;ai pris le parti de développer mon mashup à l&#8217;aide de JavaScript, parce que les informations seront recueillies uniquement sur demande des utilisateurs de mon service.<span id="more-120"></span></p>
<p>L&#8217;idée est de proposer l&#8217;ensemble des résultats sur une phrase donnée pour les 3 moteurs cités ci-dessus, sous la forme d&#8217;onglets. Dans la mesure où l&#8217;on veut un site rapide et confortable d&#8217;utilisation, j&#8217;ai pris la décision de faire du tout-Ajax.</p>
<h2>Problématique n°1: dans quel langue me parle-t-on ?</h2>
<p>En effet, bien que les trois systèmes d&#8217;API externes proposent des résultats au format JSON (compris par pas mal de langages, PHP, C# et bien entendu JavaScript), le formatage des informations est complètement différent.</p>
<p>Yahoo! BOSS est laconique: tout est contenu dans un champ resultset_web (ou resultset_image, etc&#8230;) qui contient un tableau de champs result.<br />
Microsoft Bing est très verbeux au contraire, et il faut parcourir trois ou quatre profondeurs dans l&#8217;objet JSON pour arriver enfin aux résultats<br />
Google Ajax Search est le plus simple au niveau structure de renvoi mais sa limitation à 8 résultats par requête le rend fastidieux à utiliser, parfois. Mais bon, ça me fait jouer à l&#8217;algorithmique.</p>
<p>Les noms des champs, leur ordre et leur contenu varient évidemment selon le moteur que l&#8217;on interroge. Il s&#8217;agit donc, pour le salut de l&#8217;utilisabilité, de traduire cela dans un format universel (je vous laisse deviner le contenu, description, URL, &#8230;).</p>
<p>On écrit donc des algorithmes de traduction dans notre langage universel pour chaque résultat que l&#8217;on a récupéré en Ajax (une bonne utilisation des callbacks est requise pour ne pas se retrouver le bec dans l&#8217;eau).</p>
<p>A l&#8217;exécution, on va récupérer les résultats, traduire chacun de nos jeux de résultats dans le langage universel, et créer un objet d&#8217;agrégat (disons pour utiliser un terme branchouille un mashup) qu&#8217;on va pouvoir exploiter à l&#8217;affichage.</p>
<h2>Problématique n° 2: la performance</h2>
<p>Je suppose que vous vous rendez compte que dans le cadre de mon projet le volume de données à échanger avec des serveurs tiers est important. Afin d&#8217;optimiser l&#8217;expérience utilisateur, il peut être intéressant d&#8217;améliorer les performances de l&#8217;application.</p>
<p>La partie longue et ennuyeuse est la récupération des données et leur traduction en langage universel (l&#8217;affichage peut être fait assez simplement, avec un petit postback/callback vers PHP qui se chargera d&#8217;afficher les données à l&#8217;aide d&#8217;un moteur de template). Réduisons la donc à zéro pour les requêtes fréquentes (par exemple, &laquo;&nbsp;Jiwa&nbsp;&raquo;, &laquo;&nbsp;Warez&nbsp;&raquo;,  &nbsp;&raquo;porn with horses and ponies&nbsp;&raquo;, &#8230;) .</p>
<p>A la fin de la génération de l&#8217;objet JSON en langage universel, on le poste en Ajax vers un moteur de cache. Le fichier est alors mis en base de données, avec un timestamp en plus.</p>
<p>Au début de notre code de recherche, on ajoute une vérification: en Ajax, on interroge le moteur de cache pour savoir si les termes recherchés sont disponibles pour le type de recherche que l&#8217;on fait (web, images, news, &#8230;). &laquo;&nbsp;Disponible&nbsp;&raquo; signifie ici existant en base et récent (par exemple, moins de 8 heures). Si l&#8217;information est disponible en cache, alors au lieu de s&#8217;ennuyer à fabriquer notre objet universel à partir de requêtes toutes neuves, on se contente de donner à l&#8217;application le mashup déjà fabriqué.</p>
<h2>Problématique n°3: Mais&#8230; &lt;mon moteur de templates favori&gt; n&#8217;est pas disponible pour JavaScript</h2>
<p>C&#8217;est le problème épineux. En effet, faire du templating/formatage de HTML en JavaScript, ce n&#8217;est pas la joie, ni agréable, ni même esthétique. En plus, ça peut plantouiller. Heureusement, on fait du Web 2.0. Rappel de définition: on discute de manière asynchrone entre le client et différents serveurs. Good news, on va pouvoir se servir de cela pour faciliter notre affichage.</p>
<p>On a à disposition un mashup en JSON, que l&#8217;on souhaite afficher sous une forme agréable pour nos utilisateurs. Dans mon cas, par exemple, je souhaite me servir de contrôles Prado pour faciliter l&#8217;affichage. On va donc créer un service Ajax du côté serveur (en C#/ASP.Net, PHP, CFP ou ce que vous voulez) qui va manger le mashup que l&#8217;on va lui poster et ressortir du HTML. Une fois cela fait, il suffira de remplacer le .innerHTML de nos blocs de contenu.</p>
<p>C&#8217;est vraiment bien, le 2.0. C&#8217;est &laquo;&nbsp;The best of both worlds&nbsp;&raquo;, côté client et côté serveur, servi dans un plat en argent, avec une grosse moto Yamaha en prime.</p>
<div class="sexy-bookmarks sexy-bookmarks-expand"><ul class="socials"><li class="sexy-myspace"><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/&amp;t=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript" rel="nofollow" title="Post this to MySpace">Post this to MySpace</a></li><li class="sexy-facebook"><a href="http://www.facebook.com/share.php?u=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/&amp;t=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li class="sexy-digg"><a href="http://digg.com/submit?phase=2&amp;url=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/&amp;title=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript" rel="nofollow" title="Digg this!">Digg this!</a></li><li class="sexy-delicious"><a href="http://del.icio.us/post?url=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/&amp;title=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li class="sexy-technorati"><a href="http://technorati.com/faves?add=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/" rel="nofollow" title="Share this on Technorati">Share this on Technorati</a></li><li class="sexy-twitter"><a href="http://twitter.com/home?status=Mashup d'informations fournies par divers services, en JavaScript+-+http://b2l.me/bwbp+(via+@chloedesoutter)" rel="nofollow" title="Tweet This!">Tweet This!</a></li><li class="sexy-friendfeed"><a href="http://www.friendfeed.com/share?title=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript&amp;link=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a></li><li class="sexy-google"><a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/&amp;title=Mashup+d%27informations+fournies+par+divers+services%2C+en+JavaScript" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a></li><li class="sexy-comfeed"><a href="http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li></ul><div style="clear:both;"></div></div>]]></content:encoded>
			<wfw:commentRss>http://chloe.desoutter.org/2009/09/12/mashup-dinformations-fournies-par-divers-services-en-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Site &#171;&#160;full-flash&#160;&#187; intelligent et référençable</title>
		<link>http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/</link>
		<comments>http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 09:57:44 +0000</pubDate>
		<dc:creator>Chloé</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[R&D]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Developpement]]></category>
		<category><![CDATA[draft]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[site]]></category>

		<guid isPermaLink="false">http://chloe.desoutter.org/?p=106</guid>
		<description><![CDATA[Juste une réflexion sur comment se dépatouiller avec un site &#171;&#160;full-flash&#160;&#187; pour obtenir un référencement.

Contenu stocké dans une base de données ou un fichier XML, bref, séparé du contenant.
Menus stockés de même en statique.
Une seule page et des anchors.
Le contrôleur est une page php.  On teste l&#8217;User Agent.

S&#8217;il s&#8217;agit d&#8217;un crawler, alors on affiche une [...]]]></description>
			<content:encoded><![CDATA[<p>Juste une réflexion sur comment se dépatouiller avec un site &laquo;&nbsp;full-flash&nbsp;&raquo; pour obtenir un référencement.<span id="more-106"></span></p>
<ul>
<li>Contenu stocké dans une base de données ou un fichier XML, bref, séparé du contenant.</li>
<li>Menus stockés de même en statique.</li>
<li>Une seule page et des anchors.</li>
<li>Le contrôleur est une page php.  On teste l&#8217;User Agent.
<ul>
<li>S&#8217;il s&#8217;agit d&#8217;un crawler, alors on affiche une version HTML basique du contenu (pas de CSS, on simplifie au maximum, mais respect de la sémantique, titres, paragraphes, etc).</li>
<li> Sinon on affiche une version Flash avec l&#8217;affichage désiré.</li>
</ul>
</li>
</ul>
<p>Pour savoir quelle page afficher, on teste l&#8217;ancre (ce qui est après le # d&#8217;une page, qui permet de se rendre à un point précis de cette page), ancre qui contient par exemple un chemin XPath ou un identifiant de contenu. De cette façon toutes les pages sont différenciées au niveau de leur URL et le référencement peut se faire (on peut pointer vers un contenu précis depuis une page externe). On a ainsi un site mono-page mais avec des URLs distinctes pour chaque contenu.</p>
<p>Ce qui nous aide dans le cas présent, c&#8217;est que PHP comme Flash savent lire l&#8217;anchor d&#8217;une page (pourvu qu&#8217;elle soit directement dans la requête). Pour faire en sorte que dans les liens PHP les pages soient individuelles (que la page recharge  à chaque fois) on met une valeur ?uniqid=un_identifieur_unique  pour obliger à recharger. Ainsi on s&#8217;affranchit de JavaScript, qui n&#8217;est pas supporté par la plupart des crawlers. Il va de soi que ce paramètre est ignoré par le contrôleur: il sert juste à différencier les pages pour le crawler.</p>
<p>Juste quelques notes de travail, inspirez-vous en si ça vous chante <img src='http://chloe.desoutter.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div class="sexy-bookmarks sexy-bookmarks-expand"><ul class="socials"><li class="sexy-myspace"><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/&amp;t=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able" rel="nofollow" title="Post this to MySpace">Post this to MySpace</a></li><li class="sexy-facebook"><a href="http://www.facebook.com/share.php?u=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/&amp;t=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li class="sexy-digg"><a href="http://digg.com/submit?phase=2&amp;url=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/&amp;title=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able" rel="nofollow" title="Digg this!">Digg this!</a></li><li class="sexy-delicious"><a href="http://del.icio.us/post?url=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/&amp;title=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li class="sexy-technorati"><a href="http://technorati.com/faves?add=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/" rel="nofollow" title="Share this on Technorati">Share this on Technorati</a></li><li class="sexy-twitter"><a href="http://twitter.com/home?status=Site "full-flash" intelligent et référençable+-+http://b2l.me/bwbt+(via+@chloedesoutter)" rel="nofollow" title="Tweet This!">Tweet This!</a></li><li class="sexy-friendfeed"><a href="http://www.friendfeed.com/share?title=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able&amp;link=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a></li><li class="sexy-google"><a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/&amp;title=Site+%22full-flash%22+intelligent+et+r%C3%A9f%C3%A9ren%C3%A7able" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a></li><li class="sexy-comfeed"><a href="http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li></ul><div style="clear:both;"></div></div>]]></content:encoded>
			<wfw:commentRss>http://chloe.desoutter.org/2009/06/29/site-full-flash-intelligent-et-referencable/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Protéger un logiciel PHP</title>
		<link>http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/</link>
		<comments>http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 12:08:41 +0000</pubDate>
		<dc:creator>Chloé</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[R&D]]></category>
		<category><![CDATA[Professionnel]]></category>
		<category><![CDATA[Recherche]]></category>
		<category><![CDATA[Sécurité]]></category>

		<guid isPermaLink="false">http://chloe.desoutter.org/?p=12</guid>
		<description><![CDATA[Aujourd&#8217;hui j&#8217;ai écrit un brouillon (en LaTeX bien sûr, je suis fétichiste, n&#8217;oubliez pas) sur la protection de logiciels PHP.
J&#8217;ai eu envie de le mettre à disposition ici, afin de recevoir des suggestions, et peut-être d&#8217;inspirer des auteurs.
J&#8217;ai pour ma part réalisé une implémentation légère et efficace, CodeGuardian que je propose à la vente et [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui j&#8217;ai écrit un brouillon (en LaTeX bien sûr, je suis fétichiste, n&#8217;oubliez pas) sur la protection de logiciels PHP.</p>
<p>J&#8217;ai eu envie de le mettre à disposition ici, afin de recevoir des suggestions, et peut-être d&#8217;inspirer des auteurs.</p>
<p>J&#8217;ai pour ma part réalisé une implémentation légère et efficace, CodeGuardian que je propose à la vente et à l&#8217;intégration. Ce n&#8217;est pas sous licence libre pour le moment.</p>
<p>Voilà le papier : <a rel="attachment wp-att-13" href="http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/protection_php/">Protéger une application PHP</a></p>
<div class="sexy-bookmarks sexy-bookmarks-expand"><ul class="socials"><li class="sexy-myspace"><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/&amp;t=Prot%C3%A9ger+un+logiciel+PHP" rel="nofollow" title="Post this to MySpace">Post this to MySpace</a></li><li class="sexy-facebook"><a href="http://www.facebook.com/share.php?u=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/&amp;t=Prot%C3%A9ger+un+logiciel+PHP" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li class="sexy-digg"><a href="http://digg.com/submit?phase=2&amp;url=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/&amp;title=Prot%C3%A9ger+un+logiciel+PHP" rel="nofollow" title="Digg this!">Digg this!</a></li><li class="sexy-delicious"><a href="http://del.icio.us/post?url=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/&amp;title=Prot%C3%A9ger+un+logiciel+PHP" rel="nofollow" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li class="sexy-technorati"><a href="http://technorati.com/faves?add=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/" rel="nofollow" title="Share this on Technorati">Share this on Technorati</a></li><li class="sexy-twitter"><a href="http://twitter.com/home?status=Protéger un logiciel PHP+-++(via+@chloedesoutter)" rel="nofollow" title="Tweet This!">Tweet This!</a></li><li class="sexy-friendfeed"><a href="http://www.friendfeed.com/share?title=Prot%C3%A9ger+un+logiciel+PHP&amp;link=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/" rel="nofollow" title="Share this on FriendFeed">Share this on FriendFeed</a></li><li class="sexy-google"><a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/&amp;title=Prot%C3%A9ger+un+logiciel+PHP" rel="nofollow" title="Add this to Google Bookmarks">Add this to Google Bookmarks</a></li><li class="sexy-comfeed"><a href="http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/feed" rel="nofollow" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li></ul><div style="clear:both;"></div></div>]]></content:encoded>
			<wfw:commentRss>http://chloe.desoutter.org/2009/03/19/proteger-un-logiciel-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
