<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.clever-age.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel xml:lang="fr">
	<title>Clever Garden, Clever Age, Clever Presence - 100% digital</title>
	<link>http://www.clever-age.com/</link>
	<description>1/3 de communication multi-canal
1/3 d'architecture technique
1/3 d'optimisation des dispositifs Web-Mobile
Pour une couverture de vos besoins sur la totalité de la chaîne digitale</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	

	<image>
		<title>Clever Garden, Clever Age, Clever Presence - 100% digital</title>
		<url>http://www.clever-age.com/local/cache-vignettes/L144xH75/siteon0-2b16d.png</url>
		<link>http://www.clever-age.com/</link>
		<height>75</height>
		<width>144</width>
	</image>



<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.clever-age.com/Clever-Age-All" /><feedburner:info uri="clever-age-all" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item xml:lang="fr">
		<title>Utiliser, optimiser et servir des fichiers SVG</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/eGv0iMccc-U/utiliser-optimiser-et-servir-des-fichiers-svg.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/blog/utiliser-optimiser-et-servir-des-fichiers-svg.html</guid>
		<dc:date>2012-02-15T13:53:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jérémie Patonnier</dc:creator>


		<dc:subject>XML</dc:subject>
		<dc:subject>Webdesign</dc:subject>

		<description>
&lt;p&gt;SVG est un format d'images vectorielles qui repose sur une syntaxe XML. Il est actuellement supporté par tous les navigateurs du marché, y compris Internet Explorer depuis sa version 9. Le support de ce format s'améliorant rapidement, il devient de plus en plus utilisé. Ceci dit, le fait que ce format repose sur XML nécessite de prendre quelques précautions en termes de performance. Rappel : Inclure du SVG dans du HTML Si SVG peut se suffire à lui-même, le Web design moderne en fait une utilisation (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/blog/" rel="directory"&gt;Notre blog de veille&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/tags/xml" rel="tag"&gt;XML&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/tags/webdesign" rel="tag"&gt;Webdesign&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;abbr&gt;SVG&lt;/abbr&gt; est un format d'images vectorielles qui repose sur une syntaxe &lt;abbr&gt;XML&lt;/abbr&gt;. Il est actuellement supporté par tous les navigateurs du marché, y compris Internet Explorer depuis sa version 9. Le support de ce format s'améliorant rapidement, il devient de plus en plus utilisé. Ceci dit, le fait que ce format repose sur &lt;abbr&gt;XML&lt;/abbr&gt; nécessite de prendre quelques précautions en termes de performance.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class='h3 spip'&gt;Rappel : Inclure du SVG dans du HTML&lt;/h3&gt;
&lt;p&gt;Si &lt;abbr&gt;SVG&lt;/abbr&gt; peut se suffire à lui-même, le Web design moderne en fait une utilisation importante en conjonction avec les autres technologies Web que sont &lt;abbr&gt;HTML&lt;/abbr&gt;, &lt;abbr&gt;CSS&lt;/abbr&gt; et Javascript (à titre d'exemple, jetez donc un coup d'œil au site &lt;a href="http://vlog.it/" class='spip_out' rel='external'&gt;Vlog.it&lt;/a&gt;). Ainsi, avant de voir comment on optimise SVG, faisons d'abord un petit rappel sur les différentes façons d'inclure du SVG dans un document HTML.&lt;/p&gt; &lt;p&gt;Avec HTML, vous disposez de 4 techniques pour inclure du SVG dans le document :&lt;/p&gt; &lt;ol class="spip"&gt;&lt;li&gt; la balise &lt;code class='spip_code' dir='ltr'&gt;iframe&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; la balise &lt;code class='spip_code' dir='ltr'&gt;object&lt;/code&gt;, &lt;/li&gt;&lt;li&gt; la balise &lt;code class='spip_code' dir='ltr'&gt;img&lt;/code&gt; &lt;/li&gt;&lt;li&gt; et, avec l'arrivée de HTML5, vous pouvez aussi mettre des balises &lt;code class='spip_code' dir='ltr'&gt;svg&lt;/code&gt; directement dans du HTML. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Historiquement et techniquement, c'est la balise &lt;code class='spip_code' dir='ltr'&gt;object&lt;/code&gt; qui est la plus sûre et la plus appropriée pour inclure du SVG. Elle vous permet d'éviter tous les effets de bord liés aux &lt;code class='spip_code' dir='ltr'&gt;iframe&lt;/code&gt; (performances, accessibilité, etc.) tout en autorisant la propagation des événements DOM (ce que ne permet pas la balise &lt;code class='spip_code' dir='ltr'&gt;img&lt;/code&gt;). Cerise sur le gâteau, elle vous permet de gérer élégamment les solutions de repli pour l'accessibilité ou, plus trivialement, de gérer les vieilles versions d'Internet Explorer. En effet, pour mémoire, si l'objet référencé par la balise &lt;code class='spip_code' dir='ltr'&gt;object&lt;/code&gt; n'est pas compris par le navigateur, il affichera le contenu HTML présent à l'intérieur de la balise.&lt;/p&gt; &lt;p&gt;Du côté de CSS, il est possible d'inclure du SVG via :&lt;/p&gt; &lt;ol class="spip"&gt;&lt;li&gt; la propriété &lt;code class='spip_code' dir='ltr'&gt;background-image&lt;/code&gt; (extrêmement utile en conjonction avec la nouvelle propriété CSS 3 &lt;a href="https://developer.mozilla.org/en/CSS/background-size" class='spip_out' rel='external'&gt;&lt;code class='spip_code' dir='ltr'&gt;background-size&lt;/code&gt;&lt;/a&gt;) &lt;/li&gt;&lt;li&gt; la propriété &lt;code class='spip_code' dir='ltr'&gt;content&lt;/code&gt; utilisée avec les pseudo-éléments &lt;code class='spip_code' dir='ltr'&gt;::before&lt;/code&gt; et &lt;code class='spip_code' dir='ltr'&gt;::after&lt;/code&gt;. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Il sera également possible à terme de l'utiliser avec la propriété CSS 3 &lt;code class='spip_code' dir='ltr'&gt;border-image&lt;/code&gt;. Malheureusement, à ce jour, aucun navigateur ne supporte cette propriété correctement, en particulier avec SVG.&lt;/p&gt; &lt;p&gt;En résumé, navigateur par navigateur [&lt;a href='#nb2-1' class='spip_note' rel='footnote' title='Notez que je ne cite pas Safari, mais c'est la même chose que Chrome. En ce (...)' id='nh2-1'&gt;1&lt;/a&gt;], ça va donner ça :&lt;/p&gt; &lt;table class="spip"&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th scope='col'&gt; Intégration &lt;/th&gt;&lt;th scope='col'&gt; IE &lt;/th&gt;&lt;th scope='col'&gt; Firefox &lt;/th&gt;&lt;th scope='col'&gt; Chrome &lt;/th&gt;&lt;th scope='col'&gt; Opera &lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_even'&gt;
&lt;td&gt; iframe &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd'&gt;
&lt;td&gt; object &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even'&gt;
&lt;td&gt; img &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd'&gt;
&lt;td&gt; svg &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even'&gt;
&lt;td&gt; background-image &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd'&gt;
&lt;td&gt; content &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;
&lt;td&gt; ok &lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even'&gt;
&lt;td&gt; border-image &lt;/td&gt;
&lt;td&gt; non &lt;/td&gt;
&lt;td&gt; bug &lt;/td&gt;
&lt;td&gt; bug &lt;/td&gt;
&lt;td&gt; bug &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On notera un petit bug dans Firefox qui parfois pixelise les images SVG intégrées via CSS ou la balise &lt;code class='spip_code' dir='ltr'&gt;img&lt;/code&gt;.&lt;/p&gt; &lt;h3 class='h3 spip'&gt;SVG et performance, les principaux écueils&lt;/h3&gt;
&lt;p&gt;En terme de performances, SVG souffre de deux écueils qui sont liés au fait que SVG est un format XML.&lt;/p&gt; &lt;p&gt;Premièrement, qui dit XML dit &lt;abbr&gt;DOM&lt;/abbr&gt;. En effet, tous les navigateurs qui vont interpréter une image SVG vont d'abord construire un arbre DOM des éléments qui constituent cette image. Or, &lt;abbr&gt;DOM&lt;/abbr&gt; est une &lt;abbr&gt;API&lt;/abbr&gt; extrêmement lente qui peut consommer beaucoup de mémoire si l'on n'y prend pas garde. Ainsi, plus vous avez d'éléments dans votre image, plus son interprétation aura un impact sur les performances. Dans la mesure du possible, essayez toujours de réduire le nombre d'éléments nécessaires pour construire votre image.&lt;/p&gt; &lt;p&gt;Vous pouvez bien sûr toujours vous amuser à faire cette optimisation à la main, mais de vous à moi, ce n'est pas vraiment super &lt;i&gt;folichon&lt;/i&gt; à faire. De ce point de vue, les logiciels de dessin vectoriel comme Adobe Illustrator ou &lt;a href="http://inkscape.org/" class='spip_out' rel='external'&gt;Inkscape&lt;/a&gt; peuvent vous aider de manière assez efficace via les fonctions de « &lt;i&gt;pathfinder&lt;/i&gt; » pour fusionner des formes entre elles ou via les fonctions de simplification des courbes qui vont vous permettre de réduire le nombre de vecteurs d'une image. L'aspect délicat étant alors de trouver le bon point d'équilibre entre le respect du dessin original et la version optimisée.&lt;/p&gt; &lt;p&gt;Deuxièmement, le format XML est un format texte assez verbeux. Concrètement, cela signifie qu'une image SVG est facilement plus lourde qu'une image bitmap du seul fait de son format natif.&lt;/p&gt; &lt;p&gt;Pour éviter ce problème, il vous faut compresser vos images. SVG supporte très bien la compression avec des résultats parfois spectaculaires (il n'est pas rare de voir des taux de compression de l'ordre de 70% à 80% avec une simple compression GZip). Pour cela, vous avez deux options :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; produire du SVG compressé via GZip (qu'on identifie souvent avec l'extension .svgz au lieu de .svg)&lt;/li&gt;&lt;li&gt; demander à votre serveur Web de compresser le SVG à la volée lorsqu'il le sert.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La première option a l'avantage de réduire la consommation de CPU de votre serveur, tout en permettant de compresser le SVG au maximum, car les calculs de compression sont fait avant même la mise en production de vos fichiers.&lt;/p&gt; &lt;p&gt;De son côté, la deuxième option permet de gérer dynamiquement la compression en se basant sur de la négociation de contenu HTTP, afin de toujours servir aux navigateurs un format de compression qu'ils sont capables de gérer (GZip, Deflate, etc.).&lt;/p&gt; &lt;p&gt;En creux, les avantages de la première méthode sont les inconvénients de la seconde, et vice et versa.&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Configurez votre serveur&lt;/h3&gt;
&lt;p&gt;Point essentiel quand on sert des fichiers SVG, vérifiez toujours que votre serveur Web envoie les en-têtes HTTP qui vont bien. En particulier, vérifiez toujours que le type MIME envoyé est bien &lt;code class='spip_code' dir='ltr'&gt;image/svg+xml&lt;/code&gt;. Sans ça, certains navigateurs refuseront tous simplement d'afficher l'image, et les plus taquins vous afficheront un bel arbre XML lambda !&lt;/p&gt; &lt;p&gt;Si vous servez des fichiers compressés avec GZip, pensez bien à envoyer l'en-tête HTTP qui le signale, sinon, là encore, les navigateurs n'afficheront rien et les plus joueurs vous proposeront de télécharger le fichier.&lt;/p&gt; &lt;p&gt;Si vous utilisez le serveur Apache, il suffit d'ajouter ces deux lignes dans la configuration du &lt;code class='spip_code' dir='ltr'&gt;VirtualHost&lt;/code&gt; (ou dans un fichier &lt;code class='spip_code' dir='ltr'&gt;.htaccess&lt;/code&gt;) :&lt;/p&gt; &lt;pre&gt;&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;AddType image/svg+xml svg svgz&lt;br /&gt; AddEncoding gzip svgz&lt;/code&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;h3 class='h3 spip'&gt;Optimiser SVG lui-même&lt;/h3&gt;
&lt;p&gt;Au niveau du document SVG, il est également possible de réaliser un certain nombre d'optimisations qui peuvent en améliorer les performances.&lt;/p&gt; &lt;p&gt;Un petit avertissement avant de rentrer dans les détails : ces optimisations nécessitent du temps et ne sont pas toujours automatisables. Elles sont donc coûteuses en ressources, or, on sait tous ce que cela implique dans un projet. Prenez donc le temps de peser le pour et le contre avant d'entamer une optimisation du code. Dans la mesure du possible, je vous indiquerai le coût de chacune de ces optimisations.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Réduisez les décimales&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les outils de dessins génèrent souvent des fichiers avec une précision trop importante (parfois plus de 6 chiffres après la virgule pour les valeurs chiffrées). Il est assez facile de réduire cette précision sans perte visuelle (2 à 3 chiffres après la virgule).&lt;/p&gt; &lt;p&gt;&lt;i&gt;Coût de l'optimisation&lt;/i&gt; : Faible car facilement automatisable&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Supprimez les balises inutiles&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Les outils qui génèrent du SVG ont vite tendance à abuser des métadonnées (les balises &lt;code class='spip_code' dir='ltr'&gt;title&lt;/code&gt;, &lt;code class='spip_code' dir='ltr'&gt;desc&lt;/code&gt;, &lt;code class='spip_code' dir='ltr'&gt;metaData&lt;/code&gt;). À moins qu'elles ne soient indispensables pour des questions d'accessibilité ou de référencement, vous pouvez les supprimer sans risque. Le cas des balises &lt;code class='spip_code' dir='ltr'&gt;g&lt;/code&gt; ou &lt;code class='spip_code' dir='ltr'&gt;svg&lt;/code&gt;, qui sont des conteneurs génériques, est un peu plus délicat car leur usage est parfois nécessaire. Il faut donc voir au cas par cas.&lt;/p&gt; &lt;p&gt;&lt;i&gt;Coût de l'optimisation&lt;/i&gt; : Moyen, car même si c'est facilement automatisable, une part de travail manuel peut être nécessaire.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Préférez la balise &lt;code class='spip_code' dir='ltr'&gt;path&lt;/code&gt; aux formes de base&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;La syntaxe de l'attribut &lt;code class='spip_code' dir='ltr'&gt;d&lt;/code&gt; de la balise &lt;code class='spip_code' dir='ltr'&gt;path&lt;/code&gt; est très compacte et s'optimise facilement (en particulier en utilisant les notation de coordonnées relatives), il est donc conseillé de préférer cette balise aux balises des formes de base qui sont souvent plus verbeuses.&lt;/p&gt; &lt;p&gt;&lt;i&gt;Coût de l'optimisation&lt;/i&gt; : Élevé, car elle dépend fortement de votre outillage, de votre savoir-faire et du degrés d'optimisation que vous souhaitez atteindre.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Externalisez les attributs de présentation dans des feuilles de style&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Certains attributs SVG peuvent s'utiliser &lt;a href="https://developer.mozilla.org/en/SVG/Attribute/#Presentation_attributes" class='spip_out' rel='external'&gt;comme des propriétés CSS&lt;/a&gt;. Ainsi, ils peuvent être facilement externalisés dans des feuilles de styles externes qui seront mises en cache par les navigateurs. Les sélecteurs CSS permettent également de mutualiser facilement les propriétés communes à certains éléments, ce qui limitera la verbosité de SVG.&lt;/p&gt; &lt;p&gt;&lt;i&gt;Coût de l'optimisation&lt;/i&gt; : Moyen, car il repose sur le même outillage et le même savoir faire que pour les pages HTML. Cependant, il nécessite d'être bien pris en amont, surtout si vos fichiers SVG sont volumineux ou générés par des éditeurs d'images qui ne connaissent pas CSS.&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Comme toute technologie Web, SVG nécessite un savoir-faire qui lui est propre. Ceci étant, en vous reposant sur vos connaissances en HTML/CSS et en suivant les quelques conseil de cet article, vous pourrez rapidement utiliser SVG dans un contexte de production sans avoir à vous soucier des performances. Amusez-vous bien !&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;[&lt;a href='#nh2-1' id='nb2-1' class='spip_note' title='Notes 2-1' rev='footnote'&gt;1&lt;/a&gt;] Notez que je ne cite pas Safari, mais c'est la même chose que Chrome. En ce qui concerne IE, il s'agit bien sûr de IE9 ;)&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/blog/utiliser-optimiser-et-servir-des-fichiers-svg.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>Netvibes et les présidentielles ...</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/3Ls1F4xd6EQ/netvibes-et-les-presidentielles.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/netvibes-et-les-presidentielles.html</guid>
		<dc:date>2012-02-14T16:41:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Frédéric Bon</dc:creator>


		<dc:subject>Clever Garden</dc:subject>
		<dc:subject>Clever Age</dc:subject>
		<dc:subject>Clever Presence</dc:subject>

		<description>
&lt;p&gt;Le rachat surprise de Netvibes par Dassault Systèmes a été annoncé il y a quelques jours Si l'on peut se féliciter que cette ex-jeune pousse reste dans le giron de l'industrie française du logiciel, on doit également faire un constat très préoccupant sur la capacité de la France à faire émerger des leaders du Web. Parce que sous réserve que mes informations soient correctes, c'est tout de même pas brillant cette aventure, alors que Netvibes a apporté de vraies innovations sur le marché Web et une vraie (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/les-marques/clever-garden-176" rel="tag"&gt;Clever Garden&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-age,178" rel="tag"&gt;Clever Age&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-presence,179" rel="tag"&gt;Clever Presence&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h3 class='h3 spip'&gt;Le rachat surprise de Netvibes par Dassault Systèmes a été annoncé il y a quelques jours&lt;/h3&gt;
&lt;p&gt;Si l'on peut se féliciter que cette ex-jeune pousse reste dans le giron de l'industrie française du logiciel, on doit également faire un constat très préoccupant sur la capacité de la France à faire émerger des leaders du Web. Parce que sous réserve que mes informations soient correctes, c'est tout de même pas brillant cette aventure, alors que Netvibes a apporté de vraies innovations sur le marché Web et une vraie valeur d'usage pour bien des utilisateurs.&lt;/p&gt; &lt;p&gt;Quelques points :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; Netvibes aurait été rachetée 20 M€ (&lt;a href="http://www.kelblog.com/article-netvibes-naissance-vie-et-reussite-d-une-startup-98923919.html" class='spip_url spip_out' rel='nofollow external'&gt;http://www.kelblog.com/article-netv...&lt;/a&gt;), ce montant permettrait aux investisseurs de récupérer leur mise ... autrement dit, investisseurs si vous voulez gagner de l'argent ... évitez le secteur du numérique en France &lt;/li&gt;&lt;li&gt; Le CA Netvibes (2,7 M€ en 2010) reste anecdotique. Pourquoi ? Alors que Netvibes a bénéficié de financement important et que la boite était sur le haut de la vague ? Est-ce un problème purement interne à Netvibes ou un problème plus structurel : frilosité du tissu économique français numérique, difficulté à exporter les technos françaises ... ?&lt;/li&gt;&lt;li&gt; Dassault Systèmes a-t-il bien compris le marché du Web qui impose transparence et adhésion des communautés ? Je m'explique, Dassault Systèmes justifie son achat en expliquant "Netvibes aidera les clients à détecter des informations critiques telles que l'opinion de leurs propres clients, l'image de leur marque, le rythme d'adoption d'un produit par ses premiers utilisateurs. Tout écouter et apprendre de tous permettra aux entreprises d'agir en temps réel " ... Super. Je m'empresse donc de tester le service Netvibes Premium prévu à cet effet ... Et rien ne marche depuis 5 jours. Franchement, pas super crédible tout ça. Wake-up ! On a changé de monde, monsieur "Brick" et madame "Mortar". &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Maintenant que Netvibes vient allonger la longue liste des "non-succès" du Web français (Dassault Systèmes ne fera jamais exploser Netvibes sur le Web), continuons-nous à regarder les trains super-soniques des leaders du Web ? Profitons des présidentielles pour interroger nos candidats sur comment ils vont favoriser le lancement du TGV français du Web.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/netvibes-et-les-presidentielles.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>Un nouveau validateur pour le w3c</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/_Dpxirdg5z0/un-nouveau-validateur-pour-le-w3c.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/un-nouveau-validateur-pour-le-w3c.html</guid>
		<dc:date>2012-02-08T14:08:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Aurelien Masfrand</dc:creator>


		<dc:subject>Clever Garden</dc:subject>

		<description>
&lt;p&gt;Le W3C nous fait la surprise d'une nouvelle version de son validateur http://validator.w3.org/nu l'ancien est toujours valide http://validator.w3.org/ mais celui à l'avantage de gagner en clarté (avis très personnel). La page est valide html5 pour notre plus grand bonheur, à voir ensuite à l'usage si cela sera plus pratique ou pas. En tout cas c'est un très bon réflexe d'avoir conservé l'ancienne version, certains préférerons toujours ne pas (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/les-marques/clever-garden-176" rel="tag"&gt;Clever Garden&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Le W3C nous fait la surprise d'une nouvelle version de son validateur &lt;a href="http://validator.w3.org/nu" class='spip_url spip_out' rel='nofollow external'&gt;http://validator.w3.org/nu&lt;/a&gt; l'ancien est toujours valide &lt;a href="http://validator.w3.org/" class='spip_url spip_out' rel='nofollow external'&gt;http://validator.w3.org/&lt;/a&gt; mais celui à l'avantage de gagner en clarté (avis très personnel).
La page est valide html5 pour notre plus grand bonheur, à voir ensuite à l'usage si cela sera plus pratique ou pas. En tout cas c'est un très bon réflexe d'avoir conservé l'ancienne version, certains préférerons toujours ne pas changer.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/un-nouveau-validateur-pour-le-w3c.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>PostGIS et son utilisation avec un framework moderne</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/p7R2IaLpwb8/postgis-play-framework.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/blog/postgis-play-framework.html</guid>
		<dc:date>2012-02-02T13:07:29Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Paul Mallet</dc:creator>


		<dc:subject>Bases de données</dc:subject>
		<dc:subject>Développement</dc:subject>
		<dc:subject>Géolocalisation</dc:subject>

		<description>
&lt;p&gt;Pour rappel, PostGIS est une extension ajoutant des fonctionnalités géospatiales au systeme de gestion de base de données PostgreSQL, en se basant sur la spécification OpenGIS. Si votre application manipule des repères ou zones géographiques, des objets géométriques ou des distances, c'est donc un outil à ne pas négliger. Malgré ses 10 ans d'existence (dont 6 en version stable), PostGIS reste très peu utilisé dans les projets Web, souvent à cause de son intégration compliquée au sein des différents (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/blog/" rel="directory"&gt;Notre blog de veille&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/tags/bases-de-donnees" rel="tag"&gt;Bases de données&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/tags/developpement" rel="tag"&gt;Développement&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/tags/geolocalisation" rel="tag"&gt;Géolocalisation&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Pour rappel, PostGIS est une extension ajoutant des fonctionnalités géospatiales au systeme de gestion de base de données PostgreSQL, en se basant sur la spécification &lt;a href="http://www.opengeospatial.org/standards/is" class='spip_out' rel='external'&gt;OpenGIS&lt;/a&gt;. Si votre application manipule des repères ou zones géographiques, des objets géométriques ou des distances, c'est donc un outil à ne pas négliger.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Malgré ses 10 ans d'existence (dont 6 en version stable), PostGIS reste très peu utilisé dans les projets Web, souvent à cause de son intégration compliquée au sein des différents frameworks. Nous allons voir ici que ce n'est pourtant pas toujours le cas, en décrivant son installation et son utilisation au sein d'un projet &lt;a href="http://www.playframework.org/" class='spip_out' rel='external'&gt;Play ! Framework&lt;/a&gt;&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Installation &amp; Configuration&lt;/h3&gt;
&lt;p&gt;Les consignes ci-dessous se basent sur la distribution Ubuntu 10.04 et sur la version 8.4 de PostgreSQL, mais l'installation varie assez peu pour les autres distributions et/ou versions, des paquets étant disponibles soit nativement, soit sur internet (voir &lt;a href="http://trac.osgeo.org/postgis/wiki/UsersWikiMain#CompilationandInstallationGuides" class='spip_url spip_out' rel='nofollow external'&gt;http://trac.osgeo.org/postgis/wiki/...&lt;/a&gt; pour plus d'informations).&lt;/p&gt; &lt;p&gt;L'installation se fait grâce à deux paquets :&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;sudo apt-get install postgis&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;sudo apt-get install postgresql-8.4-postgis&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Une fois ces deux paquets téléchargés, l'installation de PostGIS sur votre machine est terminée. Néanmoins, vous ne pouvez pas encore utiliser ses fonctionnalités avec votre base de données : pour cela, quelques manipulations supplémentaires sont encore nécessaires :&lt;/p&gt; &lt;p&gt;1.Connexion en tant qu'administrateur de serveur PostgreSQL&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;sudo su postgres&lt;/code&gt;&lt;/p&gt; &lt;p&gt;2. Activation du langage PL/SQL sur votre base de données :&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;createlang plpgsql my_geo_database&lt;/code&gt;&lt;/p&gt; &lt;p&gt;3. Ajout des fonctions PostGIS dans la base de données :&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;psql -d my_geo_database -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;psql -d my_geo_database -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql&lt;/code&gt;&lt;/p&gt; &lt;p&gt;4. Changer le propriétaire des tables créées (et ainsi les rendre accessibles depuis vos applications)&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;psql my_geo_database -c "ALTER TABLE geometry_columns OWNER TO my_user"&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code class='spip_code' dir='ltr'&gt;psql my_geo_database -c "ALTER TABLE spatial_ref_sys OWNER TO my_user"&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Ça y est, votre base de donnée est prête ! Voyons maintenant comment l'utiliser dans un projet Play !&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Utilisation dans Play ! Framework&lt;/h3&gt;
&lt;p&gt;Imaginons une application Web répertoriant les célèbres cabines téléphoniques anglaises(lien), et fournissant un certain nombre de services au visiteur, notamment basés sur la géolocalisation.&lt;/p&gt; &lt;p&gt;Une fois le projet Play initialisé, la première étape est de télécharger les quelques librairies (JAR) nécessaires à l'utilisation de PostGIS :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; Le &lt;a href="http://repo1.maven.org/maven2/org/postgis/postgis-jdbc/1.3.3/postgis-jdbc-1.3.3.jar" class='spip_out' rel='external'&gt;JAR PostGIS&lt;/a&gt;, fournissant le connecteur JDBC ainsi que les classes utilisables dans l'application.&lt;/li&gt;&lt;/ul&gt;
&lt;ul class="spip"&gt;&lt;li&gt; &lt;a href="http://www.hibernatespatial.org/repository/org/hibernatespatial/hibernate-spatial/1.1/hibernate-spatial-1.1.jar" class='spip_out' rel='external'&gt;Hybernate spatial&lt;/a&gt; et &lt;a href="http://www.hibernatespatial.org/repository/org/hibernatespatial/hibernate-spatial-postgis/1.1/hibernate-spatial-postgis-1.1.jar" class='spip_out' rel='external'&gt;Hybernate spatial postgis&lt;/a&gt;
qui fournissent le dialecte JPA permettant d'utiliser PostGIS conjointement à Hibernate.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Une fois les &lt;code class='spip_code' dir='ltr'&gt;JAR&lt;/code&gt; ajoutés au répertoire &lt;code class='spip_code' dir='ltr'&gt;lib/&lt;/code&gt;, réfléchissons à la conception du modèle de l'application. Commençons simplement en créant une classe &lt;code class='spip_code' dir='ltr'&gt;PhoneBox&lt;/code&gt;, avec comme attributs un label, une latitude et une longitude :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code class="java"&gt;public class PhoneBox extends Model {&lt;br /&gt; &lt;br /&gt; public String label;&lt;br /&gt; public double latitude;&lt;br /&gt; public double longitude&lt;br /&gt; &lt;br /&gt; public PhoneBox(String label, double latitude, double longitude) {&lt;br /&gt; this.label = label;&lt;br /&gt; this.latitude = latitude;&lt;br /&gt; this.longitude = longitude;&lt;br /&gt; }&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Une cabine téléphonique est un élément assez petit (sur une carte du moins) pour être considéré comme un point (par opposition aux polygones). Ca tombe bien, PostGIS utilise justement cette notion de Point :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code class="java"&gt;import org.postgis.Point;&lt;br /&gt; &lt;br /&gt; public class PhoneBox extends Model {&lt;br /&gt; &lt;br /&gt; public String label;&lt;br /&gt; public Point location;&lt;br /&gt; &lt;br /&gt; public PhoneBox(String label, double latitude, double longitude) {&lt;br /&gt; this.label = label;&lt;br /&gt; this.location = new Point(longitude, latitude);&lt;br /&gt; }&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Nous avons donc remplacé le couple latitude / longitude par un seul attribut de la classe Point et modifié le constructeur afin d'instancier cet attribut à partir de ces mêmes latitudes et longitudes.&lt;/p&gt; &lt;p&gt;Comme beaucoup d'autres frameworks Java, Play ! se base sur &lt;a href="http://www.hibernate.org/" class='spip_out' rel='external'&gt;Hibernate&lt;/a&gt; pour gérer la persistence des objets en base de données. Malheureusement, Hibernate ne reconnait pas nativement les types utilisés par PostGIS : C'est là que va intervenir la bibliothèque Hibernate Spatial, installée précédemment.&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code class="java"&gt;import org.postgis.Point;&lt;br /&gt; &lt;br /&gt; @Entity&lt;br /&gt; @Table(name = "phonebox")&lt;br /&gt; public class PhoneBox extends Model {&lt;br /&gt; &lt;br /&gt; @Column(name = "label", length = 100, nullable = false)&lt;br /&gt; public String label;&lt;br /&gt; &lt;br /&gt; @Column(name = "position", columnDefinition = "GEOMETRY")&lt;br /&gt; @Type(type = "org.hibernatespatial.GeometryUserType")&lt;br /&gt; public Point location;&lt;br /&gt; &lt;br /&gt; // pas de changement au niveau du constructeur&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;En plus des annotations usuelles, l'attribut &lt;code class='spip_code' dir='ltr'&gt;columnDefinition&lt;/code&gt; de l'annotation &lt;code class='spip_code' dir='ltr'&gt;@Column&lt;/code&gt; détermine le type du champ en base de données, et l'annotation &lt;code class='spip_code' dir='ltr'&gt;@Type&lt;/code&gt; détermine quand à elle la classe à laquelle Hibernate doit se référer pour gérer la persistance de l'attribut, ainsi que les requêtes HQL le concernant.&lt;/p&gt; &lt;p&gt;Après avoir relancé l'application, on peut voir que la table &lt;code class='spip_code' dir='ltr'&gt;phonebox&lt;/code&gt; a bien été créée dans notre base de données, avec les champs correspondants.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_1873 spip_documents spip_documents_center'&gt;
&lt;img src='http://www.clever-age.com/local/cache-vignettes/L468xH69/phonebox_table-2-4310a.png' width='468' height='69' alt="" style='height:69px;width:468px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Ajoutons rapidement quelques cabines téléphoniques pour voir leur représentation dans la base de données :&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_1874 spip_documents spip_documents_center'&gt;
&lt;img src='http://www.clever-age.com/local/cache-vignettes/L468xH162/phonebox_records-7c1e0.png' width='468' height='162' alt="" style='height:162px;width:468px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Les objets sont donc correctement enregistrés avec leurs données. On peut remarquer que le champ &lt;code class='spip_code' dir='ltr'&gt;location&lt;/code&gt; est représenté par une chaîne de caractère peu lisible, c'est le cas avec PostGIS pour tous les champs de type &lt;code class='spip_code' dir='ltr'&gt;geometry&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Une fois nos cabines téléphoniques disponibles, voyons ce que PostGIS nous offre comme possibilités d'utilisations. Une fonctionnalité pourrait par exemple consister à récupérer les &lt;i&gt;n&lt;/i&gt; cabines téléphoniques les plus proches d'une position donnée. Pour cela, nous allons utiliser une requête SQL utilisant les fonctions PL/SQL ajoutées plus tôt :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code class="java"&gt;public static List&lt;PhoneBox&gt; closest(double latitude, double longitude, int nb)&lt;br /&gt; {&lt;br /&gt; TypedQuery&lt;PhoneBox&gt; q = JPA.em().createQuery("SELECT p FROM PhoneBox p ORDER BY ST_DISTANCE(ST_MAKEPOINT(:longitude:latitude,), position)", PhoneBox.class);&lt;br /&gt; &lt;br /&gt; List&lt;PhoneBox&gt; list = q&lt;br /&gt; .setParameter("latitude", latitude)&lt;br /&gt; .setParameter("longitude", longitude)&lt;br /&gt; .setMaxResults(nb)&lt;br /&gt; .getResultList();&lt;br /&gt; &lt;br /&gt; return list;&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;ul class="spip"&gt;&lt;li&gt; La fonction &lt;code class='spip_code' dir='ltr'&gt;ST_MAKEPOINT&lt;/code&gt; sert, comme son nom l'indique, à créer un point à partir des latitude et longitude fournies en arguments ;&lt;/li&gt;&lt;li&gt; la fonction &lt;code class='spip_code' dir='ltr'&gt;ST_DISTANCE&lt;/code&gt;, quant à elle, récupère la distance entre deux objets géométriques (quels qu'ils soient).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;En ordonnant les résultats de la requête en fonction de cette distance, on obtient bien les cabines attendues. En les affichant sur une carte Google Maps (les latitudes et longitudes sont directement récupérées depuis l'objet Point) :&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_1872 spip_documents spip_documents_center'&gt;
&lt;img src='http://www.clever-age.com/local/cache-vignettes/L468xH397/phonebox_map-a6854.png' width='468' height='397' alt="" style='height:397px;width:468px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Mais PostGIS ne se limite pas seulement au calcul de distances ! Le nombre de fonctions à disposition est assez impressionnant, et couvre énormément de cas d'usages. Pour s'en rendre compte, il suffit de regarder quelques projets où PostGIS a été mis à l'ouvrage :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; La &lt;a href="http://hubmaps1.cityofboston.gov/datahub/" class='spip_out' rel='external'&gt;ville de Boston&lt;/a&gt; utilise PostGIS pour stocker ses données "ouvertes" et les rendre disponibles à la consultation :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_1875 spip_documents spip_documents_center'&gt;
&lt;a href="http://hubmaps1.cityofboston.gov/datahub" class="spip_out"&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L468xH305/boston-4a2ad.png' width='468' height='305' alt="" style='height:305px;width:468px;' /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; L'&lt;a href="http://www.ign.fr/" class='spip_out' rel='external'&gt;IGN&lt;/a&gt;, stocke également une partie de son immense base de données sur PostgreSQL/PostGIS, avec des interfaces Web et natives à destination de ses chercheurs :&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span class='spip_document_1876 spip_documents spip_documents_center'&gt;
&lt;a href="http://www.postgis.org/documentation/casestudies/ign/" class="spip_out"&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L468xH308/postgis-ign-fd2ee.png' width='468' height='308' alt="" style='height:308px;width:468px;' /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Mais attention, malgré toutes ses qualités, PostGIS n'est pas bon à utiliser dans tous vos projets géospatiaux : dans la plupart des cas (et souvent pour les plus basiques), passer par une API tierce (Google, Bing, OSM...) apportera une simplicité et un découplage bienvenus.&lt;/p&gt; &lt;h3 class='h3 spip'&gt; Futures perspectives &lt;/h3&gt;
&lt;p&gt;Actuellement, la version stable de PostGIS est la 1.5. La version 2 est sur les rails, et apportera son lot de nouveautés, notamment au niveau de la topologie et du support de la 3D, ainsi qu'un nettoyage de rigueur des fonctions dépréciées.&lt;/p&gt; &lt;p&gt;Pour plus d'informations sur cette seconde version, je vous renvoie vers les présentations suivantes ayant eu lieu lors lors de la dernière session PostgreSQL en Juin dernier :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; &lt;a href="http://www.postgresql-sessions.org/2/sandro_santilli_-_topology_with_postgis_2.0" class='spip_out' rel='external'&gt;Topology with PostGIS 2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://www.postgresql-sessions.org/2/olivier_courtin_et_jonathan_derrough_-_support_3d_de_postgis_2.0" class='spip_out' rel='external'&gt;Support 3D de PostGIS 2.0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/blog/postgis-play-framework.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>L'e-commerce reste lent</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/aXdU8YXlutc/l-e-commerce-reste-lent.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/l-e-commerce-reste-lent.html</guid>
		<dc:date>2012-01-27T11:03:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Boris Schapira</dc:creator>


		<dc:subject>Clever Garden</dc:subject>
		<dc:subject>Clever Age</dc:subject>
		<dc:subject>Clever Presence</dc:subject>

		<description>
&lt;p&gt;StrangeLoop vient de publier son rapport annuel de sur la performance Web des sites e-commerces. Se basant sur le classement Alexa, ils ont moyenné les performances de plus de 2000 sites. Les résultats sont plutôt surprenants. 1. L'e-commerce est lent. Avec une moyenne à 10s, les sites e-commerce les mieux classés sont encore très lents. Les sites commerçants les plus rapides comme Nike.com ou Amazon.com ne sont donc que des arbres qui cachent la forêt. 2. Il faut vendre tout de suite, pas plus (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/les-marques/clever-garden-176" rel="tag"&gt;Clever Garden&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-age,178" rel="tag"&gt;Clever Age&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-presence,179" rel="tag"&gt;Clever Presence&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;StrangeLoop vient de publier son rapport annuel de sur la performance Web des sites e-commerces. Se basant sur le classement Alexa, ils ont moyenné les performances de plus de 2000 sites. Les résultats sont plutôt surprenants.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1. L'e-commerce est lent&lt;/strong&gt;. Avec une moyenne à 10s, les sites e-commerce les mieux classés sont encore très lents. Les sites commerçants les plus rapides comme Nike.com ou Amazon.com ne sont donc que des arbres qui cachent la forêt.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;2. Il faut vendre tout de suite, pas plus tard&lt;/strong&gt;. Alors que le temps moyen de chargement associé à une première visite s'est amélioré, celui associé à une seconde visite (avec cache) s'est dégradé. Les commerçants souhaitent donc offrir la meilleure expérience immédiate, quitte à négliger les visites ultérieures. En 2012, il faut vendre vite : la fidélité ne rapporte plus.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;3. La Perf ne rapporte pas&lt;/strong&gt;. Les sites les mieux classés sont plus lents, leurs pages sont plus lourdes et ils respectent de moins en moins les bonnes pratiques du Web. Il est regrettable que ce classement n'inclue pas les chiffres d'affaire mais toujours est-il que cela nuance l'idée reçue selon laquelle un site plus rapide est mécaniquement mieux classé.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4. Les CDN ne sont pas synonymes de performance&lt;/strong&gt;. Alors que de plus en plus de sites utilisent des CDN pour livrer leurs ressources, les performances ne sont pas au rendez-vous. Cela veut dire soit que les commerçants se reposent sur un CDN pour assurer la performance, soit que les sites les plus lents (pour diverses raisons autres qu'un problème de ressource) ont davantage tendance à recourir aux CDN, d'où leur surreprésentation. Dans les deux cas, le constat est le même : utiliser un CDN ne permet pas de se passer d'une réflexion interne.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.strangeloopnetworks.com/blog/free-report-2012-state-of-the-union-on-e-commerce-page-speed-and-website-performance/" class='spip_out' rel='external'&gt;Article sur le blog de StangeLoop&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/l-e-commerce-reste-lent.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>Retour du ParisJS du 25 janvier</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/whd-WSpubOU/retour-du-parisjs-du-25-janvier.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/retour-du-parisjs-du-25-janvier.html</guid>
		<dc:date>2012-01-26T10:27:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Damien Alexandre</dc:creator>



		<description>
&lt;p&gt;Comme tous les mois avait lieux hier une ParisJS - cette fois hébergée par l'agence Megalo dans le 17éme arrondissement à Paris. Nous y avons parlé de CoffeeScript avec une présentation détaillée de la solution. C'est une technologie intéressante mais je ne suis pas encore convaincu au point de l'utiliser sur des projets clients. Toute la partie "debug" me semble un peu fragile (mais c'est en phase d'amélioration). S'en est suivie une présentation du TDD en Javascript, rien de nouveau pour moi de ce (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Comme tous les mois avait lieux hier une &lt;a href="http://parisjs.org/" class='spip_out' rel='external'&gt;ParisJS&lt;/a&gt; - cette fois hébergée par l'agence &lt;a href="http://www.megalo-company.com/" class='spip_out' rel='external'&gt;Megalo&lt;/a&gt; dans le 17éme arrondissement à Paris.&lt;/p&gt; &lt;p&gt;Nous y avons parlé de &lt;a href="http://coffeescript.org/" class='spip_out' rel='external'&gt;CoffeeScript&lt;/a&gt; avec une présentation détaillée de la solution. C'est une technologie intéressante mais je ne suis pas encore convaincu au point de l'utiliser sur des projets clients. Toute la partie "debug" me semble un peu fragile (mais c'est en phase d'amélioration).&lt;/p&gt; &lt;p&gt;S'en est suivie une présentation du TDD en Javascript, rien de nouveau pour moi de ce côté. Présentation claire et intéressante, avec plein de bon conseils sur la mise en place de tests.&lt;/p&gt; &lt;dl class='spip_document_1877 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L500xH334/akbztjwcqaab_si-123f1.jpg' width='500' height='334' alt='JPEG - 103.1 ko' style='height:334px;width:500px;' /&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-1877 spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Photo par Nicolas Sommacal&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt;David Thevenin nous a ensuite présenté son Toolkit de développement mobile (VS-Toolkit). L'outil en lui même ne m'intéresse pas beaucoup mais les contraintes et problématiques liées au javascript sur mobile était instructives.&lt;/p&gt; &lt;p&gt;Les deux (et demi) dernières conférences sont celles qui m'ont le plus intéressées, car on y parlait de WebGL.&lt;/p&gt; &lt;p&gt;Cedric Pinson nous à fait un retour passionnant sur la création de &lt;a href="http://nouvellevague.ultranoir.com/" class='spip_out' rel='external'&gt;Nouvelle Vague&lt;/a&gt;. Les techniques utilisées pour les ombres, les nuages, mais aussi le scénario... pleins de problèmes qu'on a jamais eu à traiter avec du web standard. Les &lt;a href="http://cedricpinson.com/nouvellevague/conf/" class='spip_out' rel='external'&gt;slides sont ici&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Si la 3D dans le navigateur vous intéresse aussi, vous connaissez surement &lt;a href="http://threejs.org/" class='spip_out' rel='external'&gt;three.js&lt;/a&gt; (au moins de nom). Et bien sachez qu'il existe un boilerplate pour commencer à jouer avec ce moteur 3D en moins de 30 secondes ! Jerome Etienne a été encore plus loin en développant un builder pour ce boilerplate, et il nous en a fait &lt;a href="http://jeromeetienne.github.com/slides-boilerplate-builder/" class='spip_out' rel='external'&gt;la présentation&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;La soirée s'est poursuivie sur des bières et des pizzas, un grand merci aux organisateurs et à Megalo donc - je vous invite à vous JETER sur les places le mois prochain car ça part très vite !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/retour-du-parisjs-du-25-janvier.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>html5please.us</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/-PHZIE1oR30/html5please-us.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/html5please-us.html</guid>
		<dc:date>2012-01-24T16:36:36Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Jérémie Patonnier</dc:creator>


		<dc:subject>Clever Garden</dc:subject>
		<dc:subject>Clever Age</dc:subject>

		<description>
&lt;p&gt;Les gens derrière html5boilerplate.com viennent de mettre en place un chouette site : html5please.us. Son objectif est de permettre de savoir quelles technologies issues de HTML5/CSS3 sont utilisables dans quel contexte. Sur le papier, c'est génial. Dans les faits il faut quand même se méfier un peu pour éviter les grosses catastrophes. 2 exemples : WebGL est catalogué comme une technologie "sûre"... ben désolé, mais non. Il y a trop peu de support navigateur et même avec les navigateurs qui la (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/les-marques/clever-garden-176" rel="tag"&gt;Clever Garden&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-age,178" rel="tag"&gt;Clever Age&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Les gens derrière &lt;a href="http://html5boilerplate.com/" class='spip_out' hreflang='en' rel='external'&gt;html5boilerplate.com&lt;/a&gt; viennent de mettre en place un chouette site : &lt;a href="http://html5please.us/" class='spip_out' hreflang='en' rel='external'&gt;html5please.us&lt;/a&gt;. Son objectif est de permettre de savoir quelles technologies issues de HTML5/CSS3 sont utilisables dans quel contexte. Sur le papier, c'est génial. Dans les faits il faut quand même se méfier un peu pour éviter les grosses catastrophes. 2 exemples : WebGL est catalogué comme une technologie "sûre"... ben désolé, mais non. Il y a trop peu de support navigateur et même avec les navigateurs qui la supportent, il n'y a pas de garantie car cela dépend des drivers installés sur la machine qui fait tourner le tout. Donc pour moi, ce devrait être "à utiliser avec précaution". Autre exemple : SVG peut être utilisé avec des &lt;i&gt;&lt;a href="http://remysharp.com/2010/10/08/what-is-a-polyfill/" class='spip_out' hreflang='en' rel='external'&gt;polyfill&lt;/a&gt;&lt;/i&gt; pour IE. Ok, sauf que suggérer l'utilisation de &lt;a href="http://code.google.com/p/canvg/" class='spip_out' hreflang='en' rel='external'&gt;canvg&lt;/a&gt; pour IE conduit à devoir aussi utiliser également &lt;a href="http://flashcanvas.net/" class='spip_out' hreflang='en' rel='external'&gt;FlashCanvas&lt;/a&gt;... autant dire qu'avec ce combo, vous venez de tuer votre navigateur en bonne et due forme. Donc, une très bonne initiative, qui donne une bonne visibilité, mais soyez toujours critique vis à vis de votre propre contexte projet.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/html5please-us.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>Un connecteur Magento intégré à eZ Publish : enfin une solution au couplage CMS/e-commerce ?</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/p8_w4-u23aI/un-connecteur-magento-integre-a-ez-publish-enfin-une-solution-au-couplage-cms-e-commerce.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/reactions/un-connecteur-magento-integre-a-ez-publish-enfin-une-solution-au-couplage-cms-e-commerce.html</guid>
		<dc:date>2012-01-24T14:54:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Matthieu Severe</dc:creator>


		<dc:subject>Clever Age</dc:subject>

		<description>
&lt;p&gt;Interakting lance la commercialisation de son connecteur eZ Publish/Mangento dans le market eZ Publish (reservé aux clients entreprise donc). Le parti pris est de garder eZ Publish comme point d'entrée et d'intégrer les vues Magento dans son layout. La solution semble intéressante et pourrait combler une demande pour les sites e-commerce avec un fort besoin de gestion de contenus. Plus (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/reactions/" rel="directory"&gt;Nos réactions "à chaud"&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/les-marques/clever-age,178" rel="tag"&gt;Clever Age&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Interakting lance la commercialisation de son connecteur eZ Publish/Mangento dans le market eZ Publish (reservé aux clients entreprise donc). Le parti pris est de garder eZ Publish comme point d'entrée et d'intégrer les vues Magento dans son layout. La solution semble intéressante et pourrait combler une demande pour les sites e-commerce avec un fort besoin de gestion de contenus. &lt;a href="http://www.businessdecision.com/Actualite/1345/interakting-builds-a-gateway-between-two-web-leaders-ez-publish-and-magento/ebiz/1238-news.htm" class='spip_out' rel='external'&gt;Plus d'informations&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/reactions/un-connecteur-magento-integre-a-ez-publish-enfin-une-solution-au-couplage-cms-e-commerce.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>Web Storage, le stockage de données côté client</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/PhDh6tlx88w/web-storage-le-stockage-de-donnees-cote-client.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/veille/blog/web-storage-le-stockage-de-donnees-cote-client.html</guid>
		<dc:date>2012-01-17T13:24:31Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Damien Alexandre</dc:creator>


		<dc:subject>Logiciels libres, Open Source</dc:subject>
		<dc:subject>Javascript</dc:subject>
		<dc:subject>HTML</dc:subject>
		<dc:subject>Clever Age</dc:subject>

		<description>
&lt;p&gt;Les applications Web sont de plus en plus complexes, et utilisent de plus en plus Javascript. Un des points faibles du développement de ces applications est le stockage de données sur le poste du client. Ce problème est résolu avec l'API HTML5 Web Storage. HTML5 change la donne en terme de stockage de données. Alors qu'à une époque, tout ce qui devait être stocké passait par le serveur Web, il est maintenant possible de s'en passer intégralement. Nous faisons déjà du stockage côté client avec les (...)&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/veille/blog/" rel="directory"&gt;Notre blog de veille&lt;/a&gt;

/ 
&lt;a href="http://www.clever-age.com/tags/logiciels-libres-open-source" rel="tag"&gt;Logiciels libres, Open Source&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/tags/javascript" rel="tag"&gt;Javascript&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/tags/html" rel="tag"&gt;HTML&lt;/a&gt;, 
&lt;a href="http://www.clever-age.com/les-marques/clever-age,178" rel="tag"&gt;Clever Age&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les applications Web sont de plus en plus complexes, et utilisent de plus en plus Javascript. Un des points faibles du développement de ces applications est le stockage de données sur le poste du client. Ce problème est résolu avec l'API HTML5 Web Storage.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;dl class='spip_document_1864 spip_documents spip_documents_left' style='float:left;'&gt;
&lt;dt&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L256xH256/html5_offiline_storage_256-4ea87.png' width='256' height='256' alt='PNG - 3.1 ko' style='height:256px;width:256px;' /&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-1864 spip_doc_titre' style='width:256px;'&gt;&lt;strong&gt;Logo Web Storage&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt; HTML5 change la donne en terme de stockage de données. Alors qu'à une époque, tout ce qui devait être stocké passait par le serveur Web, il est maintenant possible de s'en passer intégralement.&lt;/p&gt; &lt;p&gt;Nous faisons déjà du stockage côté client avec les cookies, mais ils sont limités à 4Ko et ont quelques défauts (sécurité, difficultés à gérer le multi-tab...). Web Storage est bien plus puissant et facile à manipuler.&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Les différentes technologies de stockage&lt;/h3&gt;
&lt;p&gt;Le Web Storage a déjà fait couler beaucoup d'encre et 3 standards sont apparus :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; &lt;a href="http://dev.w3.org/html5/webstorage/" class='spip_out' rel='external'&gt;Web Storage&lt;/a&gt; qui nous intéresse aujourd'hui, il permet de stocker des chaînes de caractères sous une clé alphanumérique ;&lt;/li&gt;&lt;li&gt; &lt;a href="http://dev.w3.org/html5/webdatabase/" class='spip_out' rel='external'&gt;Web SQL Database&lt;/a&gt; qui porte une vraie base de donnée relationnelle dans le navigateur (mais qui a été abandonné par le W3C) ;&lt;/li&gt;&lt;li&gt; &lt;a href="http://www.w3.org/TR/IndexedDB/" class='spip_out' rel='external'&gt;Indexed Database&lt;/a&gt; qui est un peu entre les deux. Il permet aussi le stockage de clé / valeurs mais est indéxé comme une base de donnée et rend donc possible des recherches sur valeur (sans devoir itérer sur tous les enregistrements comme avec Web Storage).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Web Storage est la seule des trois à être déjà disponible relativement partout :&lt;/p&gt; &lt;p&gt;&lt;iframe width="500" height="410" src="http://caniuse.com/namevalue-storage/embed/stats=none"&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;Vous pouvez &lt;a href="http://html5demos.com/storage" class='spip_out' rel='external'&gt;faire le test sur cette petit démo&lt;/a&gt;.&lt;/p&gt; &lt;h3 class='h3 spip'&gt;Web Storage, comment ça marche&lt;/h3&gt;
&lt;p&gt;Le principe est vraiment très simple : c'est un stockage sous la forme clé / valeur. Il y en a deux différents :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; stockage uniquement pour la durée de la session (et uniquement pour cette instance du site, &lt;strong&gt;un autre onglet sur la même page n'est pas affecté&lt;/strong&gt;) ;&lt;/li&gt;&lt;li&gt; stockage permanent.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour chacun de ces stockages, on a un objet manipulable, respectivement &lt;strong&gt;sessionStorage&lt;/strong&gt; et &lt;strong&gt;localStorage&lt;/strong&gt;. Les deux objets exposent la même API.&lt;/p&gt; &lt;script src="https://gist.github.com/1507857.js?file=gistfile1.js"&gt;&lt;/script&gt;
&lt;p&gt;C'est tout ce dont vous avez besoin pour utiliser le stockage côté client.&lt;/p&gt; &lt;p&gt;Les navigateurs les plus récents ont déjà ajouté à leurs outils d'inspection de quoi manipuler les données stockées avec Web Storage :&lt;/p&gt; &lt;dl class='spip_document_1867 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L402xH196/chrome-8736d.png' width='402' height='196' alt='PNG - 19.8 ko' style='height:196px;width:402px;' /&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-1867 spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;L'inspecteur de Chrome&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;dl class='spip_document_1868 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;img src='http://www.clever-age.com/local/cache-vignettes/L489xH132/firefox-ea362.png' width='489' height='132' alt='PNG - 13.9 ko' style='height:132px;width:489px;' /&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-1868 spip_doc_titre' style='width:350px;'&gt;&lt;strong&gt;Firebug dans Firefox&lt;/strong&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;h3 class='h3 spip'&gt;Nous pouvons l'utiliser alors ?&lt;/h3&gt;
&lt;p&gt;Comme nous avons pu vous le montrer en introduction, certains navigateurs encore très présents (IE7) ne supportent pas &lt;strong&gt;localStorage&lt;/strong&gt;. Heureusement pour nous &lt;a href="https://github.com/TrippingTheBits/webStorage" class='spip_out' rel='external'&gt;un plugin jQuery existe&lt;/a&gt; ! Il utilise alors &lt;a href="http://www.clever-age.com/veille/publications/fiches-produits/gears.html" class='spip_out'&gt;Gears&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/ms531424(v=vs.85).aspx" class='spip_out' rel='external'&gt;userData&lt;/a&gt; (sous IE) ou en dernier recours, les cookies. C'est une solution complète qui doit encore faire ses preuves mais qui pose déjà une bonne base. Comme toute nouvelle technologie, c'est en fonction de vos besoins et de vos visiteurs que le choix doit se faire - si comme Facebook vous décidez de ne plus supporter IE7 [&lt;a href='#nb1' class='spip_note' rel='footnote' title='La Timeline de Facebook n'est pas compatible avec le navigateur de (...)' id='nh1'&gt;1&lt;/a&gt;], ou si vous développez un site mobile uniquement, vous êtes alors prêt à utiliser Web Storage !&lt;/p&gt; &lt;p&gt;Voici quelques raisons justifiant l'utilisation de Web Storage dans le développement d'applications :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; permettre à l'application de fonctionner en mode hors-ligne (stocker les données saisies en local et les synchroniser avec le serveur une fois connecté) ;&lt;/li&gt;&lt;li&gt; améliorer les performances (mettre en cache des données) ;&lt;/li&gt;&lt;li&gt; se passer d'un développement serveur ;&lt;/li&gt;&lt;li&gt; stocker par instance et non par domaine (contrairement aux cookies) ;&lt;/li&gt;&lt;li&gt; ne pas transmettre les données sur le réseau (contrairement aux cookies encore une fois) ;&lt;/li&gt;&lt;li&gt; disposer d'un espace de stockage important (5 Mo).&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Certains points négatifs sont aussi à prendre en compte :&lt;/p&gt; &lt;ul class="spip"&gt;&lt;li&gt; les données stockées sont vulnérables (visibles et modifiables par le client) ;&lt;/li&gt;&lt;li&gt; elles sont stockées dans un seul navigateur et il n'est donc pas possible d'y accéder depuis un autre ordinateur ou navigateur.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Quoi qu'il en soit, nous avons &lt;strong&gt;un nouveau jouet&lt;/strong&gt; qui marche déjà un peu partout - il est temps de repenser notre approche du stockage côté client en prenant sérieusement en compte cette nouvelle fonctionnalité des navigateurs.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notes 1' rev='footnote'&gt;1&lt;/a&gt;] La Timeline de Facebook &lt;a href="http://thenextweb.com/facebook/2011/12/30/not-a-fan-of-timeline-on-facebook-use-ie7-facebook-stopped-supporting-it/" class='spip_out' rel='external'&gt;n'est pas compatible&lt;/a&gt; avec le navigateur de Microsoft.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/veille/blog/web-storage-le-stockage-de-donnees-cote-client.html</feedburner:origLink></item>
<item xml:lang="fr">
		<title>e-Reputation à l'Espace Clubs de la CCIT de Rennes (16.01.12)</title>
		<link>http://feeds.clever-age.com/~r/Clever-Age-All/~3/EHL-rJ4Se4Y/e-reputation-a-l-espace-clubs-de-la-ccit-de-rennes.html</link>
		<guid isPermaLink="false">http://www.clever-age.com/actualites/la-vie-des-agences/e-reputation-a-l-espace-clubs-de-la-ccit-de-rennes.html</guid>
		<dc:date>2012-01-09T09:42:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Frédéric Bon</dc:creator>



		<description>
&lt;p&gt;Clever Age est invitée par l'Espace Clubs de la CCIT de Rennes à animer une conférence sur l'e-Reputation le 16 Janvier 2012 à 19h. Frédéric Bon abordera le thème : "e-Reputation : les enjeux d'une gestion active de la présence sur le Web (risques à surveiller : manipulation technique, de l'identité, de l'information etc) et méthodologie pour mesurer et suivre sa présence dans le temps"&lt;/p&gt;


-
&lt;a href="http://www.clever-age.com/actualites/la-vie-des-agences/" rel="directory"&gt;La vie de nos agences&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Clever Age est invitée par l'Espace Clubs de la CCIT de Rennes à animer une conférence sur l'e-Reputation le 16 Janvier 2012 à 19h. Frédéric Bon abordera &lt;strong&gt;le thème&lt;/strong&gt; : "e-Reputation : les enjeux d'une gestion active de la présence sur le Web (risques à surveiller : manipulation technique, de l'identité, de l'information etc) et méthodologie pour mesurer et suivre sa présence dans le temps"&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	<feedburner:origLink>http://www.clever-age.com/actualites/la-vie-des-agences/e-reputation-a-l-espace-clubs-de-la-ccit-de-rennes.html</feedburner:origLink></item>



</channel>

</rss>

