<?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>Le Touilleur Express &#187; ajax</title>
	<atom:link href="http://www.touilleur-express.fr/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.touilleur-express.fr</link>
	<description>Blog sur Java, le métier de développeur et la vie de freelance par Nicolas Martignole</description>
	<lastBuildDate>Wed, 08 Feb 2012 11:54:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Soirée GWT et Restlet au Paris JUG</title>
		<link>http://www.touilleur-express.fr/2008/11/05/soiree-gwt-et-restlet-au-paris-jug/</link>
		<comments>http://www.touilleur-express.fr/2008/11/05/soiree-gwt-et-restlet-au-paris-jug/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 01:06:09 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.touilleur-express.fr/?p=445</guid>
		<description><![CDATA[Petit compte-rendu cher lecteur ce soir. D&#8217;abord il est tard (dans les 01h36 du matin) et ensuite je dois me lever tôt pour le boulot (dans les 06h50 du matin aussi).
Tout d&#8217;abord j&#8217;ai fait 3 soirées ce soir : tout d&#8217;abord la présentation de Didier Girard sur GWT qui était vraiment sympa, la présentation de Jérome Louvel sur RESTlet et enfin la troisième mi-temps avec toute l&#8217;équipe du JUG et une dizaine de geeks autour d&#8217;une petite bière.
De l&#8217;avis de tout le monde, Didier a donné l&#8217;envie d&#8217;essayer GWT. La ...]]></description>
			<content:encoded><![CDATA[<p>Petit compte-rendu cher lecteur ce soir. D&#8217;abord il est tard (dans les 01h36 du matin) et ensuite je dois me lever tôt pour le boulot (dans les 06h50 du matin aussi).</p>
<p>Tout d&#8217;abord j&#8217;ai fait 3 soirées ce soir : tout d&#8217;abord la présentation de Didier Girard sur GWT qui était vraiment sympa, la présentation de Jérome Louvel sur RESTlet et enfin la troisième mi-temps avec toute l&#8217;équipe du JUG et une dizaine de geeks autour d&#8217;une petite bière.</p>
<p>De l&#8217;avis de tout le monde, Didier a donné l&#8217;envie d&#8217;essayer GWT. La présentation rondement menée nous a permis de voir ce qu&#8217;est GWT. Cher lecteur ce soir je suis fainéant pour la première fois&#8230; Je ne vais pas bloguer des pages et des pages, je vous propose en attendant de relire des billets plus anciens sur GWT comme <a href="http://www.touilleur-express.fr/2008/06/20/compte-rendu-de-la-journee-valtech-ria/">celui-ci</a> ou <a href="http://www.touilleur-express.fr/2008/06/26/ext-gwt-ou-gwt-ext/">celui-la sur Ext-GWT vs GWT-Ext</a>.<br />
Comme discuté avec Antonio, cela fait plaisir d&#8217;avoir quelqu&#8217;un qui apporte son expérience et partage sa passion sans concessions. En effet, Didier étant directeur technique de SFEIR, il parle en connaissance de cause, ce qui m&#8217;a intéressé.<br />
Nous avons vu entre autre un plugin dans Eclipse facilitant l&#8217;écriture de code pour GWT, que GWT fonctionne avec Java 5 depuis le 28 août 2008, et un ensemble d&#8217;URL de sites d&#8217;exemples qui montrent GWT en action.<br />
Mon avis sur la question c&#8217;est que GWT est destiné à réaliser des applications riches, et qu&#8217;en terme de productivité c&#8217;est un moteur puissant qui permet facilement de construire son application. Maintenant d&#8217;un point de vue web, je pense qu&#8217;il serait dommage de penser que GWT permet de faire une application type &laquo;&nbsp;vente de billet de trains&nbsp;&raquo;&#8230; Mais j&#8217;aimerai être convaincu du contraire.<br />
En terme de mise en place, là où Adobe Flex propose avec BlazeDS et LiveCycle des solutions du côté du serveur, il n&#8217;y pas de solutions en GWT, car on parle bien d&#8217;un framework de présentation.<br />
Je trouve par contre génial ce concept d&#8217;écrire du Java, de débuger dans Eclipse (ou IDEA IntelliJ) puis ensuite seulement de produire son code Javascript pour chacun des navigateurs, chacunes des langues supportées. Google est sur une niche et ce concept est réellement novateur.<br />
Donc je reste fortement intéressé mais mon coeur balance plus pour Flex. Quitte à faire une application type client riche, je préfère travailler avec Flex. Cela me coûte une phase d&#8217;apprentissage du langage ActionScript, mais je gagne quelque chose par rapport à GWT, qui est le support de différents protocoles d&#8217;échanges entre le client et le serveur. Soit un échange de XML basique, soit du JSON, soit encore mieux, un format binaire propriétaire à Adobe qui permet d&#8217;optimiser encore plus la bande passante et les échanges entre le client et le serveur.<br />
Merci en tout cas à Didier et vous pouvez retrouver<a href="http://www.ongwt.com/">sur son site </a> les URLs des démonstrations.</p>
<p>Ensuite un petit break pour le buffet organisé par la société <a href="http://www.novedia-solutions.com/">Novedia Solutions</a>. Honnêtement merci à eux car j&#8217;ai réussi à me caser derrière le buffet avec <a href="http://www.touilleur-express.fr/2008/10/15/presentation-dosgi-au-paris-jug-naphtaline-et-peinture-fraiche/">Cyrille Leclerc</a>, Antonio Goncalves, <a href="http://www.tomsquest.com/blog/">Thomas</a> et Alexis Moussine-Pouchkine. A nous 4 nous avons appliqué le pattern &laquo;&nbsp;Interceptor&nbsp;&raquo; et &laquo;&nbsp;Introspection&nbsp;&raquo; sur les plats de petits fours, que du bonheur.<br />
Ma conclusion c&#8217;est que Spring n&#8217;a rien inventé. Au lieu de devoir faire un get et un set sur les petits fours, le serveur nous a tendu le plat et nous n&#8217;avions plus qu&#8217;à nous injecter ces bons petits gâteaux. Vive l&#8217;inversion de contrôle.</p>
<p>Bon reprenons la suite. Jérôme Louvel, membre de l&#8217;OSSGTP et auteur de Restlet nous a fait une démonstration plutôt pointue de Restlet. Tout d&#8217;abord ce que j&#8217;ai compris : Restlet est un framework léger REST en JAVA qui offre un système du côté client comme du côté serveur pour acceder à des Ressources. Je trouve que l&#8217;architecture REST est franchement intéressantante, et si vous voulez relire une présentation à ce sujet, <a href="http://www.touilleur-express.fr/2008/04/25/jsr-311-jax-rs-rest-une-histoire-de-restaurant/">voici un billet que j&#8217;aime bien</a> écris il y a quelques mois sur REST.<br />
Parlons un peu des choses qui fâche, désolé Jérôme si tu me lis. La présentation était vraiment très complète, voir un peu trop détaillé je pense pour le sujet de ce soir. Les efforts de migration et de portage vers la dernière version de GWT, quoique vraiment intéressant d&#8217;un point de vue technique, ont peut-être fait décrocher une partie de la salle.<br />
Je pense qu&#8217;il est difficile en une heure de parler à la fois de Restlet et à la fois de GWT, c&#8217;était le format de la soirée qui donnait peut-être le cadre.<br />
En tous les cas la présentation nous a donné un bon aperçu de Restlet et j&#8217;aurai aimé te poser des questions sur les annotations.<br />
J&#8217;ai pensé un moment que Restlet se propose d&#8217;être un &#8216;ESB&#8217; à la fois du côté du client et du côté du serveur, en simplifiant l&#8217;accès aux ressources et en utilisant les principes de REST. Durant la présentation, tu as cependant bien expliqué que grâce à Restlet, une application de type webmail a ajouté le support de GWT pour un coût de développement léger. Le système de sélection du type de rendu selon la source était bien expliqué.</p>
<p>Après la présentation nous nous sommes retrouvés au Falstaff à côté de l&#8217;ISEP autour d&#8217;une bonne bière. Moment agréable où j&#8217;ai écouté pas mal de monde, très sympa.</p>
<p>Sur ce, je vous donne rendez-vous la semaine prochaine pour un billet spécial pour fêter l&#8217;anniversaire du Touilleur Express ainsi que des nouveautés autour de Spring dès jeudi 13 novembre après la journée &laquo;&nbsp;<a href="http://www.rencontres-spring.com/">Les Rencontres Spring</a>&laquo;&nbsp;.</p>
<p>Je vous en reparlerai cette semaine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/11/05/soiree-gwt-et-restlet-au-paris-jug/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Petites réflexions autour du client riche, l&#039;heure du bilan</title>
		<link>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/</link>
		<comments>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 16:39:34 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[microsoft silverlight]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=16</guid>
		<description><![CDATA[Après avoir réalisé une maquette avec Adobe Flex j&#8217;ai testé il y a quelques jours la version Beta 2 de Microsoft Expression Blend. Quel est le positionnement de ces technologies aujourd&#8217;hui ? Le client léger basé sur les technologies du web (html,css,javacript) a-t-il encore un avenir ? Qu&#8217;en est-il de l&#8217;architecture service ?
Le coeur de mon métier, c&#8217;est le client riche. Avec mon équipe nous nous occupons d&#8217;un framework java propriétaire qui fonctionne en client léger dans IE ainsi qu&#8217;en mode client lourd (swing). Aujourd&#8217;hui je me rends compte qu&#8217;il ...]]></description>
			<content:encoded><![CDATA[<p><strong>Après avoir réalisé une maquette avec <a href="http://www.jroller.com/Trecollo/entry/flex2_premiers_pas">Adobe Flex</a> j&#8217;ai testé il y a quelques jours la version Beta 2 de Microsoft Expression Blend. Quel est le positionnement de ces technologies aujourd&#8217;hui ? Le client léger basé sur les technologies du web (html,css,javacript) a-t-il encore un avenir ? Qu&#8217;en est-il de l&#8217;architecture service ?</strong></p>
<p>Le coeur de mon métier, c&#8217;est le client riche. Avec mon équipe nous nous occupons d&#8217;un framework java propriétaire qui fonctionne en client léger dans IE ainsi qu&#8217;en mode client lourd (swing). Aujourd&#8217;hui je me rends compte qu&#8217;il est encore difficile de faire accepter l&#8217;évolution de l&#8217;architecture qui est en place. Nous passons d&#8217;un client lourd installé sur le poste de nos clients à une architecture déployée J2EE dont l&#8217;interface fonctionne dans un simple navigateur. Nous avons fait de gros efforts pour que l&#8217;application web soit aussi interactive que possible. En quelques sortes, cela fait plus de 2 ans que nous faisons de l&#8217;AJAX avant même que ce terme ne soit publié il y a maintenant 2 ans.<br/>Et honnêtement le résultat est là.<br/> Des tableaux éditables qui s&#8217;exportent vers Excel ou PDF, des graphiques avec JFreeChart, des blotters de données du marché qui se mettent à jour en temps réel&#8230; le tout avec du HTML, du CSS, des Javascripts et des composants HTC. Bref on est au limite de ce que peut faire un navigateur tel qu&#8217;IE6 sans aucuns plugins. Mais ça marche !</p>
<p>Aujourd&#8217;hui il y a encore quelques blocages qui font que nous avons ressorti le client lourd des cartons (Swing). Il y a aussi un coût plus important pour développer une interface riche web qu&#8217;une interface classique car les technologies actuelles (css,html,js,htc&#8230;) si l&#8217;on peut parler de technologies, ne sont pas très bien maîtrisées ou enseignées.</p>
<p>Ensuite sachez que tout n&#8217;est pas rose dans le monde AJAX. Ne vous emballez pas trop vite pour toutes ces librairies javascript comme Scriptaculous ou Prototype. Certes, elles vous font gagner du temps. Mais malheureusement elles ne sont pas toujours exemptes de bugs. Attention aussi au navigateur de Microsoft. Je pense particulièrement à Internet Explorer 6 (avant le SP2) et son moteur javascript. J&#8217;ai rencontré 2 fois un problème de fuite mémoire en javascript. Très difficile à identifier.</p>
<p>Pour revenir au débat &laquo;&nbsp;client riche/client lourd&nbsp;&raquo;, je vois 2 soucis: je pense qu&#8217;il faut maintenant se tourner vers des technologies plus avancées pour faire un vrai produit fonctionnant dans un navigateur. J&#8217;ai testé <a href="http://www.jroller.com/Trecollo/entry/flex2_premiers_pas">Adobe Flex2</a> ainsi que <a href="http://www.microsoft.com/expression/products/overview.aspx?key=blend">Microsoft Expression Blend</a>. Ces 2 produits sont adaptés pour construire un produit avancé qui fonctionnera en mode client lourd comme en mode client léger. Pour la technologie d&#8217;Adobe, <a href="http://labs.adobe.com/wiki/index.php/Apollo">Apollo AIR</a> permet de faire fonctionner une application Flex en mode client lourd. Une syntaxe XML permet de définir l&#8217;interface, le MXML.</p>
<p>Chez Microsoft, la Beta 2 d&#8217;Expression Blend m&#8217;a agréablement surpris. Elle permet de construire une application qui fonctionnera avec le .Net framework 3,5. Elle peut fonctionner en client lourd comme en client léger grâce à Silverlight.</p>
<p><a href="http://labs.adobe.com/technologies/flex/">Adobe Flex 3</a> m&#8217;a semblé plus pratique au niveau des Layout Manager pour construire mon interface. Il est possible de définir un ensemble de composant et de les sauver dans sa boîte à outil afin de pouvoir s&#8217;en resservir. C&#8217;est aussi vrai pour Expression Blend. Du côté de Microsoft, l&#8217;éditeur est plus puissant. Il est moins facile à prendre en main mais la séparation entre l&#8217;interface et la partie dynamique est plus simple que chez Adobe. Je pense qu&#8217;il ne faut pas néglier ce que propose Microsoft. Nous arrivons à une solution mature pour développer à la fois en mode client lourd et en mode client léger.</p>
<p>Maintenant réveillons-nous un peu: je ne suis pas entrain de jeter aux orties tout le boulot web, et ce qui se passe derrière le décor. Je pense qu&#8217;il faut investir et commencer à regarder sérieusement Adobe Flex et/ou la couche Windows Presentation Framework avec Silverlight de Microsoft. Par contre je ne pense pas qu&#8217;il faille jeter l&#8217;architecture service J2EE pour autant. Et c&#8217;est l&#8217;un de mes soucis. On me demande de faire du client lourd. Du vrai client lourd 2-tiers avec la base de données et des services financiers déportés. Pour ma part, ma vision est que l&#8217;on devrait conserver un serveur d&#8217;application afin d&#8217;effectuer un certain nombre de services (profiling, authentification, authorisation&#8230;). Sur le serveur d&#8217;application, le coeur du produit continue à fonctionner. EJB3 ou pas, peu importe. En conservant une architecture Web+J2EE il reste possible de fonctionner en mode client léger dans un navigateur comme en mode client lourd déporté. Je pense que la méconnaissance de l&#8217;architecture J2EE nous conduit aujourd&#8217;hui à revenir en arrière, ce qui est vraiment dommage&#8230;</p>
<p>Deuxième réflexion: nous avons plusieurs produits. Nous offrons à nos clients une Suite qui regroupe tout ou partie de ces produits. Or si vous pensez en terme de client lourd, il devient rapidement compliqué de construire et livrer le binaire adapté à ce que le client a acheté. Pareil pour ce qui concerne les installations de patches&#8230; Avec 6 produits majeurs financiers, je peux vous assurer que vos équipes vont passer leur temps à mettre à jour tel ou tel produit&#8230; Mais bon, c&#8217;est envisageable.</p>
<p>En conservant une architecture 3 tiers, il est possible facilement d&#8217;ajouter ou de retirer tout ou partie d&#8217;un produit, car le coeur du produit n&#8217;est pas dans le client riche mais déporté sur le serveur d&#8217;application J2EE. Par ailleurs on concentrera les efforts sur l&#8217;ergonomie, l&#8217;interface du client, mais on se contentera d&#8217;effecteur des appels vers le serveur pour les traitements&#8230;</p>
<p>Voilà c&#8217;est tout&#8230; ce sont quelques idées qui me trottent dans la tête. L&#8217;arrivée des technologies de type client riche va bousculer une nouvelle fois nos connaissances d&#8217;architecture. Il faut penser maintenant à ce qui se passe derrière l&#8217;écran et la jolie fenêtre animé dans un écran Flex&#8230; Pensez-y si vous faites du client riche&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2008/01/10/petites-reflexions-autour-du-client-riche-lheure-du-bilan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS, Ajax et DHTML sont sur un bateau&#8230; Ajax tombe à l&#039;eau, ça sent la javel</title>
		<link>http://www.touilleur-express.fr/2007/10/09/css-ajax-et-dhtml-sont-sur-un-bateau-ajax-tombe-a-leau-ca-sent-la-javel/</link>
		<comments>http://www.touilleur-express.fr/2007/10/09/css-ajax-et-dhtml-sont-sur-un-bateau-ajax-tombe-a-leau-ca-sent-la-javel/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 07:15:43 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=30</guid>
		<description><![CDATA[Un site qu&#8217;il est bien de connaitre si les mots CSS, Ajax, Javascript ou DHTML vous évoquent quelque chose: Smashing Magazine (prononcez &#171;&#160;ce machine mag azine&#160;&#187;). Voilà un petit nouveau que je ne connaissais pas et franchement, le contenu est très sympa. Pour les web designers, les graphistes ou les développeurs JSF/GWT, on y trouve de tout. Et pas trop de publicité pour une fois.On y apprend que 50.4% des visiteurs d&#8217;un site Internet seulement regardent en plein écran le contenu du site. Ce qui revient à dire qu&#8217;il faut ...]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.smashingmagazine.com/wp-content/themes/SM-theme/img/logo.gif" />Un site qu&#8217;il est bien de connaitre si les mots CSS, Ajax, Javascript ou DHTML vous évoquent quelque chose: <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> (prononcez &laquo;&nbsp;ce machine mag azine&nbsp;&raquo;). Voilà un petit nouveau que je ne connaissais pas et franchement, le contenu est très sympa. Pour les web designers, les graphistes ou les développeurs JSF/GWT, on y trouve de tout. Et pas trop de publicité pour une fois.On y apprend que 50.4% des visiteurs d&#8217;un site Internet seulement regardent en plein écran le contenu du site. Ce qui revient à dire qu&#8217;il faut éviter les designs bloqués à 1024/768 qui risquent de provoquer un agacement de vos visiteurs (je parle au web designer assis au fond à gauche).J&#8217;ai aussi vu <a href="http://www.w3counter.com/globalstats.php" target="new2">sur le site w3counter</a> qu&#8217;Internet Explorer ne représente <strong>que</strong> 66.28% des navigateurs utilisés aujourd&#8217;hui d&#8217;après ce site. Linux par contre est à des années lumières (1.38%) du monde Windows&#8230; Bref Microsoft rulez comme on dit chez les djeuns. Enfin un point important, ce sont les articles sur l&#8217;accéssibilité et l&#8217;ergonomie. Ici nous travaillons avec un ergonome qui nous aide à créer des interfaces &laquo;&nbsp;intelligentes&nbsp;&raquo; ou à améliorer le design de nos écrans. Trop souvent oublié, le design et l&#8217;accessibilité sont aussi 2 points importants à prendre en compte lorsque l&#8217;on crée un site web. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2007/10/09/css-ajax-et-dhtml-sont-sur-un-bateau-ajax-tombe-a-leau-ca-sent-la-javel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax4jsf 1.0.2 fonctionne avec JBoss Seam</title>
		<link>http://www.touilleur-express.fr/2006/10/12/ajax4jsf-102-fonctionne-avec-jboss-seam/</link>
		<comments>http://www.touilleur-express.fr/2006/10/12/ajax4jsf-102-fonctionne-avec-jboss-seam/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 07:04:33 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=62</guid>
		<description><![CDATA[Bonne nouvelle, Ajax4jsf fonctionne sans aucuns problèmes avec JBoss Seam. Ajax4jsf est une api open source qui offre à JSF (Java Server Faces) des possibilités AJAX sans devoir écrire une ligne de Javascript. Ajax4jsf utilise cependant toutes les fonctionalités de l&#8217;architecture JSF (validation, conversion, gestion du cycle de vie) tout en facilitant la mise en place de composants dynamiques.


Le site Ajax4jsf: https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/
]]></description>
			<content:encoded><![CDATA[<p>Bonne nouvelle, <a href="https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/" target="test">Ajax4jsf</a> fonctionne sans aucuns problèmes avec JBoss Seam. Ajax4jsf est une api open source qui offre à JSF (Java Server Faces) des possibilités AJAX sans devoir écrire une ligne de Javascript. Ajax4jsf utilise cependant toutes les fonctionalités de l&#8217;architecture JSF (validation, conversion, gestion du cycle de vie) tout en facilitant la mise en place de composants dynamiques.<br />
<img src="https://ajax4jsf.dev.java.net/nonav/images/a4jSimple.gif"/><br />
<br/><br />
Le site Ajax4jsf: <a href="https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/">https://ajax4jsf.dev.java.net/nonav/ajax/ajax-jsf/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/10/12/ajax4jsf-102-fonctionne-avec-jboss-seam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment AJAX-iser ses composants JSF</title>
		<link>http://www.touilleur-express.fr/2006/06/18/comment-ajax-iser-ses-composants-jsf/</link>
		<comments>http://www.touilleur-express.fr/2006/06/18/comment-ajax-iser-ses-composants-jsf/#comments</comments>
		<pubDate>Sun, 18 Jun 2006 13:05:10 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=66</guid>
		<description><![CDATA[Ajax Anywhere est une librairie open source qui permet de transformer des composants JSF existant en composant compatible AJAX. Ainsi au lieu de rafraichir l&#8217;ensemble d&#8217;une page lorsque l&#8217;utilisateur soumet un formulaire, vous pouvez d&#233;limiter des zones dans votre page et enchainer un rafraichissement uniquement de cette zone. L&#8217;avantage d&#8217;AJAX Anywhere contrairement &#224; d&#8217;autres JSF existant, c&#8217;est que cette API n&#8217;est pas orient&#233;e composant mais plut&#244;t &#171;&#160;zone&#160;&#187;. D&#8217;autre part il est possible d&#8217;ajouter ou retirer AJAX anywhere facilement car les composants JSF eux-m&#234;me ne sont pas impact&#233;s. Vous pouvez donc ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://ajaxanywhere.sourceforge.net/">Ajax Anywhere</a> est une librairie open source qui permet de transformer des composants JSF existant en composant compatible AJAX. Ainsi au lieu de rafraichir l&#8217;ensemble d&#8217;une page lorsque l&#8217;utilisateur soumet un formulaire, vous pouvez d&eacute;limiter des zones dans votre page et enchainer un rafraichissement uniquement de cette zone. L&#8217;avantage d&#8217;AJAX Anywhere contrairement &agrave; d&#8217;autres JSF existant, c&#8217;est que cette API n&#8217;est pas orient&eacute;e composant mais plut&ocirc;t &laquo;&nbsp;zone&nbsp;&raquo;. D&#8217;autre part il est possible d&#8217;ajouter ou retirer AJAX anywhere facilement car les composants JSF eux-m&ecirc;me ne sont pas impact&eacute;s. Vous pouvez donc ajouter une couche &laquo;&nbsp;AJAX&nbsp;&raquo; sur votre application JSF existante, et ce, tr&egrave;s facilement</p>
<p><b>Mise en oeuvre:</b><br/></p>
<ul>
<li>T&eacute;l&eacute;chargez l&#8217;api <a href="http://sourceforge.net/projects/ajaxanywhere">ici</a></li>
<li>Placer le fichier aa.js &agrave; la racine de votre r&eacute;pertoire web, les fichiers .class dans le r&eacute;pertoire WEB-INF/lib, le fichier ajaxanywhere.tld dans le r&eacute;pertoire META-INF\tlds.</li>
<li>Configurez un nouveau filter:<br />
<code xml>
<pre>
      &lt;filter&gt;
        &lt;filter-name&gt;AjaxAnywhere&lt;/filter-name&gt;
        &lt;filter-class&gt;org.ajaxanywhere.AAFilter&lt;/filter-class&gt;
    &lt;/filter&gt;

    &lt;filter-mapping&gt;
        &lt;filter-name&gt;AjaxAnywhere&lt;/filter-name&gt;
        &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;
    &lt;filter-mapping&gt;
        &lt;filter-name&gt;AjaxAnywhere&lt;/filter-name&gt;
        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt; &lt;!-- default Struts mapping --&gt;
    &lt;/filter-mapping&gt;
    &lt;filter-mapping&gt;
        &lt;filter-name&gt;AjaxAnywhere&lt;/filter-name&gt;
        &lt;url-pattern&gt;*.htm&lt;/url-pattern&gt; &lt;!-- other framewords mapping--&gt;
    &lt;/filter-mapping&gt;
</pre>
<p></code></li>
</p>
<p>Il faut maintenant brancher AjaxAnywhere sur vos composants JSF dans une page JSP. Vous pouvez voir <a href="http://ajaxanywhere.sweetdev-labs.org:8080/ajaxAnywhereDemo-1.0.1/facesFrame.jsp" target="est">ici</a> une d&eacute;mo avec les composants MyFaces et l&#8217;int&eacute;r&ecirc;t de ne pas recharger toute la page. Pour ajouter AjaxAnywhere &agrave; une page JSP existante il faut:</p>
<ul>
<li>Importer la librairie de tag</li>
<li>Appeler la methode AAUtil.addZones sur l&#8217;&eacute;lement JSF &agrave; ajaxiser</li>
<li>Importer les librairies JS et d&eacute;finir la FORM qui contient le composant</li>
<li>Changer la target action de la balise FORM pour appeler du code JS d&#8217;AjaxAnywhere</li>
<li>Pre et post fixer votre composant avec le tag JSF &lt;aa:zone&gt;</li>
</ul>
<p>Si vous avez d&eacute;j&agrave; une application avec JSF et que vous d&eacute;sirez tester le principe d&#8217;AJAX rapidement, alors AjaxAnywhere est pour vous</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/06/18/comment-ajax-iser-ses-composants-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JBoss Seam 1.0 GA est disponible depuis le 13 juin</title>
		<link>http://www.touilleur-express.fr/2006/06/15/jboss-seam-10-ga-est-disponible-depuis-le-13-juin/</link>
		<comments>http://www.touilleur-express.fr/2006/06/15/jboss-seam-10-ga-est-disponible-depuis-le-13-juin/#comments</comments>
		<pubDate>Thu, 15 Jun 2006 08:10:44 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=67</guid>
		<description><![CDATA[A peine une semaine après le séminaire JBoss, la version 1.0 GA de JBoss Seam est disponible. En fait les archives étaient disponibles dès samedi 11 juin. Suite à cela nous avons vu cette semaine une pluie d&#8217;article sur les sites anglophones. Parmis ceux-ci, je vous conseille la lecture d&#8217;une interview de Gavin King le  créateur d&#8217;Hibernate et de JBoss Seam sur InfoQ complète et intéressante. En deux pages il présente les idées phares de JBoss Seam qui en font un Framework de 3ème génération.
Pour ma part, depuis la ...]]></description>
			<content:encoded><![CDATA[<p>A peine une semaine après le séminaire JBoss, la version 1.0 GA de JBoss Seam est disponible. En fait les archives étaient disponibles dès samedi 11 juin. Suite à cela nous avons vu cette semaine une pluie d&#8217;article sur les sites anglophones. Parmis ceux-ci, je vous conseille la lecture d&#8217;une <a href="http://www.infoq.com/news/JBoss-SEAM-1.0-Gavin-interview">interview de Gavin King</a> le  créateur d&#8217;Hibernate et de JBoss Seam sur InfoQ complète et intéressante. En deux pages il présente les idées phares de JBoss Seam qui en font un Framework de 3ème génération.</p>
<p>Pour ma part, depuis la semaine passée j&#8217;ai avancé sur ma maquette. J&#8217;ai intégré les tags JSF de l&#8217;api <a href="http://www.jenia.org/">Jenia.org</a> pour permettre d&#8217;avoir accès facilement dans JBoss Seam à JFreeChart. J&#8217;en aurai besoin pour la partie charting de notre application financière. Promis dès que j&#8217;ai un peu de temps je poste ici les modifications effectuées dans la build pour tester tout cela. Il a fallut notamment changer le build.xml pour pouvoir packager des JAR à la racine de l&#8217;EAR et changer le Manifest.mf pour le jar packagé dans le WAR&#8230; mais bon c&#8217;est du charabia et je prendrai le temps d&#8217;expliquer les modifications pour intégrer ces différents tags.</p>
<p>Pour tester JBoss Seam Remoting, en fait il ne m&#8217;a fallut qu&#8217;une petite heure pour reprendre &laquo;&nbsp;helloWorld&nbsp;&raquo; et créer un tag inputSearch à la AJAX. C&#8217;est vraiment simple. Seam = Simplicité.</p>
<p>La prochaine étape sera de voir comment appeler un web service à partir de la partie Seam. Il y a des specifications en cours dans EJB3 mais pour l&#8217;instant je n&#8217;en sais pas trop&#8230; A suivre donc</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/06/15/jboss-seam-10-ga-est-disponible-depuis-le-13-juin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrer de JSF 1.2 vers JBoss Seam</title>
		<link>http://www.touilleur-express.fr/2006/06/11/migrer-de-jsf-12-vers-jboss-seam/</link>
		<comments>http://www.touilleur-express.fr/2006/06/11/migrer-de-jsf-12-vers-jboss-seam/#comments</comments>
		<pubDate>Sun, 11 Jun 2006 08:15:24 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=68</guid>
		<description><![CDATA[&#60;P&#62;Sur cet &#60;a href=&#160;&#187;http://weblogs.java.net/blog/bleonard/archive/2006/05/trying_out_jbos.html&#160;&#187; target=&#160;&#187;new2&#8243;&#62;article&#60;/a&#62; vous trouverez des explications claires et complètes pour intégrer JBoss Seam sur une application utilisant JSF 1.2. L&#8217;article comporte une deuxieme partie &#60;a href=&#160;&#187;http://weblogs.java.net/blog/bleonard/archive/2006/05/trying_out_jbos_1.html&#160;&#187; target=&#160;&#187;new22&#8243;&#62;ici&#60;/a&#62;. Seam permet de remplacer les backed-bean de JSF par des ejb3 rapidement et facilement.&#60;/P&#62; &#60;P&#62;J&#8217;ai commencé hier une maquette en reprenant une application financière qui utilise notre propre framework pour évaluer le coût, la complexité et l&#8217;intérêt de passer à Seam. A suivre&#8230;&#60;/P&#62; &#60;P&#62;Sinon la Suisse joue contre la France mardi soir&#8230; clin d&#8217;oeil à Luc et Thomas de Jboss ...]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: 'Lucida Grande'; font-size: 11px; line-height: normal; white-space: pre-wrap" class="Apple-style-span">&lt;P&gt;Sur cet &lt;a href=&nbsp;&raquo;http://weblogs.java.net/blog/bleonard/archive/2006/05/trying_out_jbos.html&nbsp;&raquo; target=&nbsp;&raquo;new2&#8243;&gt;article&lt;/a&gt; vous trouverez des explications claires et complètes pour intégrer JBoss Seam sur une application utilisant JSF 1.2. L&#8217;article comporte une deuxieme partie &lt;a href=&nbsp;&raquo;http://weblogs.java.net/blog/bleonard/archive/2006/05/trying_out_jbos_1.html&nbsp;&raquo; target=&nbsp;&raquo;new22&#8243;&gt;ici&lt;/a&gt;. Seam permet de remplacer les backed-bean de JSF par des ejb3 rapidement et facilement.&lt;/P&gt; &lt;P&gt;J&#8217;ai commencé hier une maquette en reprenant une application financière qui utilise notre propre framework pour évaluer le coût, la complexité et l&#8217;intérêt de passer à Seam. A suivre&#8230;&lt;/P&gt; &lt;P&gt;Sinon la Suisse joue contre la France mardi soir&#8230; clin d&#8217;oeil à Luc et Thomas de Jboss inc.&lt;/P&gt;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/06/11/migrer-de-jsf-12-vers-jboss-seam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script.aculo.us et fuites mémoires Javascript</title>
		<link>http://www.touilleur-express.fr/2006/05/14/scriptaculous-et-fuites-memoires-javascript/</link>
		<comments>http://www.touilleur-express.fr/2006/05/14/scriptaculous-et-fuites-memoires-javascript/#comments</comments>
		<pubDate>Sun, 14 May 2006 10:30:16 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=73</guid>
		<description><![CDATA[Une nouvelle version de la librairie JavaScript Script.aculo.us est disponible sur le site http://script.aculou.us. Cette librairie vous permet d&#8217;ajouter dans vos pages facilement et rapidement des comportements dynamiques et asynchrones afin d&#8217;ajouter une petite touche AJAX à vos pages.
Parmies les améliorations notables, on note une mise à jour de la version de la librairie Prototype qui corrige des fuites mémoires d&#8217;Internet Explorer. En effet, AJAX c&#8217;est bien beau mais lorsque la partie Javascript est mal programmée, cela conduit rapidement à des problèmes de fuites mémoires. J&#8217;en parle en connaissance de ...]]></description>
			<content:encoded><![CDATA[<p>Une nouvelle version de la librairie JavaScript Script.aculo.us est disponible <a href=http://script.aculo.us/>sur le site http://script.aculou.us</a>. Cette librairie vous permet d&#8217;ajouter dans vos pages facilement et rapidement des comportements dynamiques et asynchrones afin d&#8217;ajouter une petite touche AJAX à vos pages.</p>
<p>Parmies les améliorations notables, on note une mise à jour de la version de la librairie Prototype qui corrige des fuites mémoires d&#8217;Internet Explorer. En effet, AJAX c&#8217;est bien beau mais lorsque la partie Javascript est mal programmée, cela conduit rapidement à des problèmes de fuites mémoires. J&#8217;en parle en connaissance de cause puisque notre moteur souffre actuellement de ce souci. Pour aider les développeurs à rechercher les fuites mémoires du côté client dans le navigateur, il n&#8217;existe pas grand chose. Le seul outil pratique que j&#8217;ai trouvé s&#8217;appelle Drip. Il permet de suivre l&#8217;usage de la mémoire d&#8217;Internet Explorer et de voir les problèmes de <a href="http://jibbering.com/faq/faq_notes/closures.html">Javascripts closure</a>.<br />
L&#8217;adresse du site est: <a href="http://outofhanwell.com/ieleak/index.php?title=Main_Page">http://outofhanwell.com/ieleak/index.php?title=Main_Page</a>
</p>
<p>Une autre ressource pour suivre l&#8217;utilisation mémoire d&#8217;IE est expliquée <a href="http://ajaxian.com/archives/screencast-on-diagnosing-memory-leaks-in-ie">dans cet article du site Ajaxian.com</a>.</p>
<p>Attention donc aux problèmes de mémoire avec Internet Explorer</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/05/14/scriptaculous-et-fuites-memoires-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX, déjà un an, déjà 7 ans</title>
		<link>http://www.touilleur-express.fr/2006/03/28/ajax-deja-un-an-deja-7-ans/</link>
		<comments>http://www.touilleur-express.fr/2006/03/28/ajax-deja-un-an-deja-7-ans/#comments</comments>
		<pubDate>Tue, 28 Mar 2006 13:51:51 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=76</guid>
		<description><![CDATA[AJAX existe officiellement depuis un an suite à l&#8217;article d&#8217;un consultant en mars 2005. Cependant d&#8217;un point de vue
technique AJAX existe depuis 1999 comme l&#8217;explique l&#8217;article de Wikipedia.

Avez-vous entendu parler du Web 2.0 ? 

Basé sur des technologies comme AJAX, DHTML, XML ou Soap, le concept de &#171;&#160;Web 2.0&#8243; regroupe
l&#8217;annonce de l&#8217;arrivée prochaine d&#8217;application légère dans votre navigateur.
Microsoft ainsi commence à croire que Google pourrait être son plus sérieux compétiteur. La présentation de Google faites aux analystes financiers parle
ainsi d&#8217;un nouveau concept de Web. Google proposerait un espace de stockage
illimité ...]]></description>
			<content:encoded><![CDATA[<p>AJAX existe officiellement depuis un an suite à l&#8217;article d&#8217;un consultant en mars 2005. Cependant d&#8217;un point de vue<br />
technique AJAX existe depuis 1999 comme l&#8217;explique l&#8217;article de <a href="http://en.wikipedia.org/wiki/AJAX" target="new2">Wikipedia</a>.
</p>
<p><b>Avez-vous entendu parler du Web 2.0 ? </b><br />
<br />
Basé sur des technologies comme AJAX, DHTML, XML ou Soap, le concept de &laquo;&nbsp;Web 2.0&#8243; regroupe<br />
l&#8217;annonce de l&#8217;arrivée prochaine d&#8217;application légère dans votre navigateur.<br />
Microsoft ainsi commence à croire que Google pourrait être son plus sérieux compétiteur. La présentation de Google faites aux analystes financiers parle<br />
ainsi d&#8217;un nouveau concept de Web. Google proposerait un espace de stockage<br />
illimité pour vos fichiers, des applications légères embarquées dans votre<br />
navigateur pour les utiliser, et donc la fin des logiciels installés sur votre<br />
ordinateur personel. Un espace disque infini serait alors offert et accessible<br />
de votre travail, de votre téléphone mobile et de votre télévision à la maison&#8230;<br />
Peut-être que d&#8217;ici 4 à 5 ans, Google prendra la première place devant Microsoft ?</p>
<p>En attendant celui-ci cependant n&#8217;attend pas les bras croisés de se faire distancer. Microsoft annonce ainsi quelques nouveautés basé sur AJAX dont Atlas,<br />
un framework de développement qui devrait permettre aux éditeurs de logiciels<br />
d&#8217;offrir une version &laquo;&nbsp;Web 2.0&#8243; de leurs logiciels. La version CTP d&#8217;Atlas est<br />
sortie au début du mois de mars.<br />
Allez faire un tour (avec Internet Explorer) aussi sur <a href="http://www.live.com/">Live.com</a> de Microsoft.Vous y trouverez un moteur<br />
de recherche à la Google (sans publicité apparente) utilisant AJAX. Le logo<br />
&laquo;&nbsp;Windows Live Beta&nbsp;&raquo; fait cependant un peu croire à la sortie d&#8217;un OS en ligne,<br />
alors qu&#8217;il n&#8217;en n&#8217;est rien.</p>
<p><b>Et les développeurs&#8230;</b><br />
Depuis quelques mois, on voit ici et là de plus en plus de librairies et de<br />
frameworks d&#8217;application clairement orienté Web 2.0. Leur objectif est de faciliter<br />
la création de site &laquo;&nbsp;AJAX&nbsp;&raquo; tout en conservant du côté du serveur un modèle qui<br />
tienne la route. Vous pouvez trouver sur <a href="http://www.toutajax.info/doku.php">ToutAjax</a><br />
une liste assez complète d&#8217;applications,<br />
de démos et de librairies pour se lancer.
</p>
<p>Ce qui m&#8217;intéresse en temps qu&#8217;architecte J2EE, c&#8217;est la facilité de<br />
mise en oeuvre d&#8217;une ergonomie et d&#8217;une interactivité comme AJAX dans mes<br />
applications Webs, ainsi que la facilité de maintenance ensuite.<br />
Du côté du client, il existe désormais des librairies gratuites puissantes<br />
à intégrer dans une application qui nous permettent de construire nos interfaces<br />
en ayant l&#8217;interactivité d&#8217;AJAX. Quelques librairies comme <a href="http://script.aculo.us/" target="new2">Script.aculo.us</a>,<br />
<a href="http://rialto.application-servers.com/demoRialto.jsp" target="new2">Rialto</a> ou <a href="http://dojotoolkit.org/" target="new2">Dojo Toolkit</a> sont puissantes et efficaces mais pas toutes semblable.<br />
<a href="http://rialto.application-servers.com/wiki/jsf" target="new2">Rialto</a> est celle qui m&#8217;intéresse en ce moment, notamment à cause du support de Java Server Faces.</p>
<p><b>Il me semble que JSF + AJAX est un peu le couple à marier en 2006</b>.<br />
Java Server Faces apporte un modèle composant à une application et permet de<br />
définir ses composants tels qu&#8217;ils seront représentés dans le navigateur.<br />
Il n&#8217;a pas fallut attendre longtemps avant de voir apparaître ici et là des<br />
composants JSF utilisant AJAX <a href="http://today.java.net/pub/a/today/2006/02/09/file-uploads-with-ajax-and-jsf.html">comme ce composant pour télécharger uploader un fichier</a> vers une JSP.<br />
Si vous avez lu aussi mon post sur Shale (Struts 2.0 mais pas vraiment) vous savez déjà que Shale aura un composant de Rendering et s&#8217;intégrera avec Apache MyFaces pour pouvoir au final offrir des composants JSF utilisant AJAX (entre autre).<br />
Pour terminer, je vous donne un lien vers le fameux PetStore mais réalisé avec donc ces nouveaux composants qui font que dans quelques mois, le web va changer.<br />
<a href="http://pragmaticobjects.com/ajax-petstore/shop/index.do">Ajax PetStore</a> vu sur l&#8217;excellent site <a href="http://ajaxian.com/by/topic/examples/">Ajaxian.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2006/03/28/ajax-deja-un-an-deja-7-ans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Riche: XUL, AJAX, Flash ?</title>
		<link>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/</link>
		<comments>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/#comments</comments>
		<pubDate>Fri, 02 Dec 2005 08:40:11 +0000</pubDate>
		<dc:creator>Nicolas Martignole</dc:creator>
				<category><![CDATA[Dev Web]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://www.touillleur-express.fr/?p=88</guid>
		<description><![CDATA[J&#8217;ai assisté vendredi 25 novembre à une présentation de Valtech Training sur &#171;&#160;les Clients Riche, périmètre et solutions techniques&#160;&#187;. Cette présentation visait à nous présenter les dernières technologies pour porter ou réaliser un client riche.
Denis Peyrusaube de Valtech Training a tout d&#8217;abord présenté ce qu&#8217;est un client riche, pour expliquer ensuite XUL, AJAX, Flash, Java Web Start et enfin Eclipse SWT.
Je vais essayer de résumer sa présentation, en donnant au passage mon avis.
Qu&#8217;est-ce qu&#8217;un client riche ?
Un client riche est un système qui est hébergé sur un serveur pour faciliter ...]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai assisté vendredi 25 novembre à une présentation de Valtech Training sur &laquo;&nbsp;les Clients Riche, périmètre et solutions techniques&nbsp;&raquo;. Cette présentation visait à nous présenter les dernières technologies pour porter ou réaliser un client riche.<br />
Denis Peyrusaube de Valtech Training a tout d&#8217;abord présenté ce qu&#8217;est un client riche, pour expliquer ensuite XUL, AJAX, Flash, Java Web Start et enfin Eclipse SWT.<br />
Je vais essayer de résumer sa présentation, en donnant au passage mon avis.</p>
<p><b>Qu&#8217;est-ce qu&#8217;un client riche ?</b><br />
Un client riche est un système qui est hébergé sur un serveur pour faciliter les mises-à-jour et le déploiement, tout en offrant une interface riche à l&#8217;utilisateur. Il n&#8217;embarque pas toute la logique de l&#8217;application. La majorité des traitements sera effectuées côté serveur. Cependant l&#8217;ergonomie et la richesse fonctionnelle offertes à l&#8217;utilisateur sont très proches d&#8217;un client lourd classique.<br />
<br />
La conception d&#8217;une application en mode page au sens Web du terme tend à disparaître. Aujourd&#8217;hui une application doit offrir une ergonomie et une navigation par composant plutôt que par page d&#8217;état comme ce fut le cas au début des applications webs.<br />
<br />
Idéalement une techno doit proposer des composants graphiques de haut niveau tout en restant facilement déployable. D&#8217;autre part, quelque soit la techno retenue, la notion de conteneur sur le poste client apparaît. En règle général le navigateur internet est suffisant.</p>
<p><b>1.	XUL</b><br />
XUL (prononcer [Zool]) est le précurseur des technologies de présentation web. Il s&#8217;agit d&#8217;un langage XML décrivant des composants (Menu, ComboBox) destiné à remplacer le langage HTML. Dans les faits aujourd&#8217;hui, XUL est porté par la communauté open-source Mozilla, mais Microsoft s&#8217;y intéresse aussi.<br />
Un exemple de site utilisant XUL: <a href="http://www.georgenava.com/">http://www.georgenava.com/</a><br />
Ce site ne fonctionne que si vous avez Firefox ou Mozilla. Il ne fonctionne pas avec Internet Explorer.
</p>
<p><b>2.	AJAX</b><br />
AJAX (Asynchronous Javascript And XML) n&#8217;est pas réellement une nouveauté même si en ce moment c&#8217;est un sujet chaud dans la communauté Web. Au départ il ne s&#8217;agit que d&#8217;un article écrit par un consultant destiné à formaliser un mécanisme Asynchrone qui permet de rafraichir une page dans un navigateur sans devoir recharger toute la page. AJAX fonctionne avec Internet Explorer et Firefox car il s&#8217;agit ni plus ni moins que du? Javascript côté client. Premier avantage donc: la portabilité.<br />
AJAX du côté serveur n&#8217;impose pas de modèle de programmation. Il n&#8217;y a donc aucunes normes XML, ni DTD. Le message envoyé par le serveur est au format XML et le client le reçoit de manière indirecte. Il peut alors afficher des informations en utilisant du Javascript, du Dynamic HTML et des feuilles de style.<br />
Donc pour résumer: le serveur envoie un message XML, le navigateur le reçoit via un objet XMLHttpRequest de manière asynchrone. Une librairie Javascript modifie la page, change la couleur d&#8217;un combo, fait apparaître un menu déroulant ou masque un tableau par exemple.<br />
Puisqu&#8217;une démo est mieux qu&#8217;un long discours voici quelques sites utilisant AJAX:<br />
<a href="http://www.google.com/webhp?complete=1&#038;hl=en">GoogleSuggest</a><br />
Si vous tapez JAV puis vous attendez un instant, votre navigateur envoi au serveur ces 3 lettres. Le serveur retourne une réponse au format XML en utilisant un format propriétaire à Google. La partie Javascript d&#8217;AJAX dans le navigateur lit la réponse, construit alors un DIV en HTML (une boîte) et vous liste le nombre de site parlant de java, javascript&#8230;<br />
AJAX permet d&#8217;ajouter des mécanismes côté client pour ne recharger qu&#8217;une partie d&#8217;une page internet. Il existe aussi des librairies Javascript destinées à faciliter les développements d&#8217;application AJAX comme ScriptAcuLous (http://script.aculo.us/) ou surtout ProToType (http://prototype.conio.net/). Elles permettent de coder des fonctions de Drag-and-drop par exemple (http://wiki.script.aculo.us/scriptaculous/show/DragAndDrop)</p>
<p>Les inconvénients ?</p>
<ul>
<li>Pas de DTD/XSD côté serveur concernant le XML. Chacun fait ce qui lui plait.</li>
<li>Le Javascript est difficile à coder/débugger et n&#8217;est pas un langage très puissant.</li>
<li>Difficile à tester en phase de développement</li>
<li>Il existe des composants riches mais ils sont payant</li>
<li>Pertinence et pérennité du JavaScript dans 2 ou 3 ans ?</li>
</ul>
<p>Les avantages?</p>
<ul>
<li>Simple à mettre en ?uvre</li>
<li>Puissant</li>
<li>Effets intéressants offrant de nouvelles possibilités en terme d&#8217;ergonomie</li>
<li>Compatible Internet Explorer et Firefox dans la mesure où le code JS l&#8217;est</li>
<li>Communauté de développeur très active</li>
<li>Bientôt intégré dans des composants Java Server Faces (JSF) pour faciliter le codage.</li>
</ul>
<p>Outils AJAX:<br />
- ATLAS (Microsoft) framework intégré dans Visual Studio et .NET destiné à simplifier le développement d&#8217;application Web. A noter que Microsoft a annoncé que d&#8217;ici 2 ans, Office 13 sera majoritairement en mode serveur lourd-client riche et que c&#8217;est l&#8217;une des raisons qui font que Microsoft pousse cette techno. Voir l&#8217;article d&#8217;un des gourou de Microsoft http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx<br />
Est-ce un effet d&#8217;annonce de Microsoft ou vas-t-on voir un nouveau système pour créer une application riche ?<br />
<br />
- SAJAX: Toolkit de dév pour AJAX (http://www.modernmethod.com/sajax)<br />
<br />
- DoJoToolKit <a href="http://dojotoolkit.org">http://dojotoolkit.org</a>) API Javascript pour résoudre les problèmes de portabilité entre IE et les autres navigateurs.
</p>
<p><b>3.	Macromédia FLASH</b><br />
Sans doute pour moi la révélation de cette présentation. Je pensais que Macromedia Flash servait soi à faire un site joli et animé, soit à afficher des bandeaux de publicité lorsque Firefox bloque les pop-ups. Et bien non? nous sommes en 2005 et ce que j&#8217;ai vu était vraiment intéressant.<br />
<br />Flash est une techno créée par Macromédia (qui appartient à ADOBE) utilisant un plug-in installé sur un navigateur Web. Conçu à l&#8217;origine pour l&#8217;animation Web, Flash est un outil pour les graphistes ou les animateurs. Aujourd&#8217;hui l&#8217;évolution est le fait que Flash peut aussi servir à faire des applications type Client Riche.<br />
Exemple 1: <a href="http://www.clubmed.fr" target=22>Le site internet du Club Med</a> utilise Flash pour vous permettre de trouver un séjour sur mesure.<br />
L&#8217;évolution est du côté de la conception. La première monture du Studio Flash était destinée à des animateurs Web, avec une ligne de temps et des outils de déformation vectorielle. Ce qui est nouveau c&#8217;est la phase de développement et de rendu dynamique.</p>
<p>Il existe 2 solutions basées sur Flash: Macromedia Flex et Laszlo</p>
<p><b>Macromedia Flex</b>:<br />
Solution propriétaire et payante de Macromédia. Il s&#8217;agit d&#8217;un studio qui vous permet de construire votre page en utilisant des composants (Label, Buttons, ComboBox?).<br />
<br />
Flex se décompose d&#8217;un fichier MXML pour décrire l&#8217;interface et d&#8217;un fichiet ActionScript pour décrire ce qui se passe et les interactions entre les composants. Ces fichiers sont compilés par un conteneur de Servlet (comme JSP) pour générer un flux binaire de type Flash qui sera envoyé au client. Etant donné qu&#8217;il ne s&#8217;agit que d&#8217;une servlet il est donc possible de rendre dynamique une partie du contenu XML par exemple.<br />
<br />
Un plugin Eclipse pour FLEX est en cours de réalisation.
</p>
<p><b>OpenLaszlo</b> est basé sur le même système que Flex, à la différence prêt qu&#8217;il s&#8217;agit d&#8217;une initiative Open-source. Démo disponible à cette adresse : <a href="http://www.laszlosystems.com/demos" target=22>http://www.laszlosystems.com/demos</a>.<br />
La société LaszloSystem propose des services comme le fait Jboss Inc. en terme de support si nécessaire.<br />
Flash est finalement intéressant car les outils de conception de page existent déjà et permettent donc de bien séparer la partie GUI de la partie data. Cependant difficile de se rendre compte si les données dynamiques sont faciles à gérer ou non.
</p>
<p><b>4.	Java Web Start</b><br />
JWS ajoute à Java des fonctionnalités de déploiement, de gestion de cache et d&#8217;exécution distante. A ce titre c&#8217;est donc une technologie pour Client riche. JWS fonctionne via un navigateur internet ou non. Permet de mettre à jour rapidement les clients répartis, tout en ayant une richesse fonctionnelle complexe. <br />
En gros inconvénient, il faudra recoder un container pour remplacer ce qu&#8217;offre le navigateur Web (partie réseau, chargement du contenu, gestion Proxy, CSS?)<br />
JWS ne convient que si le client riche doit vraiment avoir des fonctions qu&#8217;un navigateur web ne peut pas offrir.<br />
En terme d&#8217;avantage, on revient au modèle client-serveur classique, ce qui est beaucoup plus facile à coder/débuger que via le Javascript par exemple.
 </p>
<p><b>5.	Eclipse Platform</b><br />
Eclipse est un éditeur Java bien connu mais surtout un moteur de rendu appelé Platform.<br />
Ce système est composé d&#8217;un ensemble de service, de widgets, de gestion des ressources qui permettent d&#8217;utiliser le squelette d&#8217;eclipse comme base de dévelopement de client lourd.<br />
D&#8217;autre part, il est possible d&#8217;intégrer d&#8217;autres plugins et donc d&#8217;enrichir son application facilement. A noter que l&#8217;on peut utiliser JWS pour installer une application basée sur Eclipse.</p>
<p>http://www.eclipse.org/platform/index.html</p>
<p><b>Conclusion</b><br />
Les clients riches seront fortement présent dans les années à venir car les navigateurs Web deviennent aussi de plus en plus puissant. La facilité de déploiement, l&#8217;absence de gestion de mise à jour sur le poste client et l&#8217;ergonomie riche sont les critères qui font un client riche. On parle beaucoup d&#8217;AJAX et je sais qu&#8217;il existe des composants JSF (côté serveur) qui permettent de s&#8217;interfacer via J2EE avec les applications métiers. Il sera donc certainement facile d&#8217;ici quelques mois de tester et voir si ce genre de solution peut nous intéresser.<br />
Flash via Flex ou Laszlo offre le meilleur résultat en terme de rendu côté client. N&#8217;ayant pas vu en détail le côté serveur, il est difficile d&#8217;estimer si cette technique est adaptée à des données très dynamique comme dans la finance. Java Web Start et Eclipse Platform sont deux solutions pour développer des clients riches sans retomber dans le modèle client-serveur.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.touilleur-express.fr/2005/12/02/client-riche-xul-ajax-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

