<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The World is mine &#187; eclipse</title>
	<atom:link href="http://grozeille.com/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://grozeille.com</link>
	<description>Just another Wordpress.com weblog</description>
	<lastBuildDate>Sat, 07 Jan 2012 12:00:31 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='grozeille.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The World is mine &#187; eclipse</title>
		<link>http://grozeille.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://grozeille.com/osd.xml" title="The World is mine" />
	<atom:link rel='hub' href='http://grozeille.com/?pushpress=hub'/>
		<item>
		<title>Episode 7 : Mathias découvre Unity+WPF+MVVM aux Techdays 2010</title>
		<link>http://grozeille.com/2010/11/25/episode-7-mathias-decouvre-unitywpfmvvm-aux-techdays-2010/</link>
		<comments>http://grozeille.com/2010/11/25/episode-7-mathias-decouvre-unitywpfmvvm-aux-techdays-2010/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 21:07:07 +0000</pubDate>
		<dc:creator>Mathias Kluba</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[DotNetServer]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[IOC]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[mvvm]]></category>
		<category><![CDATA[rcp]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://grozeille.com/?p=511</guid>
		<description><![CDATA[Je vous ai parlé de ma découverte de .Net dans l&#8217;épisode 6. J&#8217;ai constaté un gros contraste avec Java: j&#8217;avais l&#8217;impression que Java était compliqué (EJB et tout ça) et que .Net était simple. Cette simplicité n&#8217;est pas toujours positive, on peut même dire que Microsoft est &#8220;maudit&#8221; par ce fléau: rester attractif pour les développeurs débutants. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=511&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Je vous ai parlé de ma découverte de .Net dans l&#8217;<a href="http://grozeille.com/2010/11/13/episode-6-mathias-decouvre-net/">épisode 6</a>.<br />
J&#8217;ai constaté un gros contraste avec Java: j&#8217;avais l&#8217;impression que Java était compliqué (EJB et tout ça) et que .Net était simple.</p>
<p>Cette simplicité n&#8217;est pas toujours positive, on peut même dire que Microsoft est &#8220;maudit&#8221; par ce fléau: rester attractif pour les développeurs débutants.</p>
<p>En général, cela donne des frameworks &#8220;sales&#8221; avec un fort couplage du code métier avec les interfaces, impossible à tester unitairement bien sûr.</p>
<p>Pour pouvoir découpler tout cela, on distingue 3 couches:</p>
<ul>
<li>L&#8217;interface, appelée &#8220;view&#8221; ou &#8220;presenter&#8221;, c&#8217;est le moyen d&#8217;afficher l&#8217;information</li>
<li>La logique métier, appelée &#8220;model&#8221;, c&#8217;est ce que l&#8217;on va pouvoir tester à l&#8217;aide de tests unitaires</li>
<li>Les actions ou commandes, qui représente une action de l&#8217;interface par l&#8217;utilisateur qui va déclencher un traitement</li>
</ul>
<p>Mais quand on sépare les responsabilités en plusieurs objets, on se retrouve avec un nouveau problème : comment coupler les <span style="text-decoration:underline;">vues</span>, <span style="text-decoration:underline;">contrôleurs</span>, etc. ? Comment &#8220;broker&#8221; les <span style="text-decoration:underline;">actions </span>?</p>
<p>Il y a une solution à cela: l&#8217;<a href="http://en.wikipedia.org/wiki/Inversion_of_control">IOC</a>. On peut dire aussi que le<a href="http://msdn.microsoft.com/en-us/library/ms752347.aspx"> Databinding</a> en est une autre.<br />
Si Microsoft avait un train de retard sur les Framework IOC, ils connaissaient néanmoins déjà le problème depuis un moment, puisqu&#8217;ils l&#8217;avaient en partie résolu dans <a href="http://msdn.microsoft.com/en-us/library/ff648747.aspx">CAB</a>.<br />
C’est donc sans surprise que Microsoft nous livre son framework d’IOC &#8220;officiel&#8221; basé sur l’existant de CAB : <a href="http://unity.codeplex.com/">Unity</a>.</p>
<p>A la sortie d&#8217;Unity, j&#8217;étais déjà tellement convaincu par Spring.net que je n&#8217;ai jamais adopté le framework de Microsoft. De plus, les alternatives OpenSources étaient  bien présentes: <a href="http://www.castleproject.org/container/">Castle Windsor</a>, <a href="http://ninject.org/">Ninject</a>, <a href="http://code.google.com/p/autofac/">Autofac</a>, etc.</p>
<p>A noter que les framework tel que CAB/RCP rendent vos clients lourds &#8220;extensibles&#8221;, ce qui veut dire qu&#8217;un plugin va pouvoir greffer de &#8220;vues&#8221; dans l&#8217;interface, et s&#8217;abonner aux &#8220;commandes&#8221;: chose tout à fait faisable avec de l&#8217;IOC.</p>
<p>Mais les frameworks IOC ne font pas tout, et ne suffisent pas à fournir une véritable architecture MVC pour client lourd, même s&#8217;ils peuvent nous y aider (<a href="http://grozeille.com/2010/11/13/episode-6-mathias-decouvre-net/">voir mon poste précédent</a>).</p>
<p>Pour résoudre le fléau du couplage fort entre l&#8217;interface et le code métier, Microsoft a sortie quelque chose de révolutionnaire: WPF et Silverlight!<br />
Avec la venue de WPF et Silverlight, la communauté .Net OpenSource a commencé à se pencher alors sur le problème du MVC pour les applications lourdes. Divers frameworks apparaissent alors, comme Prism: <a href="http://compositewpf.codeplex.com/">http://compositewpf.codeplex.com/</a></p>
<p style="text-align:center;"><a href="http://grozeille.files.wordpress.com/2010/11/compositewpfapp1.png"><img class="aligncenter" title="CompositeWpfApp1" src="http://grozeille.files.wordpress.com/2010/11/compositewpfapp1.png?w=300&h=221" alt="" width="300" height="221" /></a></p>
<p><a href="http://grozeille.files.wordpress.com/2010/11/compositewpfapp1.png"></a></p>
<p>Mais le MVC, comme on le connait dans le monde Web, ne s&#8217;applique pas bien aux clients lourds, surtout si on veut exploiter le Databinding et les événements.</p>
<p>Très franchement, je ne me suis jamais vraiment passionné pour WPF/Prism/etc. mais je voyais bien que quelque chose de gros était en train de venir&#8230;<br />
J&#8217;ai ensuite assisté aux <a href="http://www.microsoft.com/france/vision/mstechdays10/">Techdays 2010</a> et j&#8217;en ai profité pour me mettre à jours sur le sujet.<br />
Les sessions étaient d’ailleurs très accès sur Silverlight/WPF mais aussi sur le nouveau modèle <a href="http://en.wikipedia.org/wiki/Model_View_ViewModel">MVVM</a> (Model-View-ViewModel), et avec une bonne dose d’Unity bien sûr…<br />
J’ai alors été très agréablement surpris par ces présentations, surtout celle qui montre comment supprimer tout le « code behind » des interfaces XAML avec des ViewModel et des Commands.</p>
<p><strong>Pour mieux comprendre de quoi je parle, aller voir vite le <a href="http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=5740b16f-770a-459c-9a93-4a321f4e8059">screencast ici</a>!!!</strong></p>
<p>Bref, je ne sais pas si vous me suivez, mais l’IOC, le RCP, le MVC, la gestion de plugins, tout ça c’est intimement lié !</p>
<p>Petit à petit, .Net rattrape le retard vis-à-vis d’Eclipse RCP !<br />
On peut même dire que .Net a pris de l&#8217;avance avec Silverlight/WPF, puisque la rédaction des interfaces en XML n&#8217;est qu&#8217;au stade de proposition pour Eclipse 4: <a href="http://wiki.eclipse.org/images/a/ab/XWT.pdf">http://wiki.eclipse.org/images/a/ab/XWT.pdf</a></p>
<br /> Tagged: <a href='http://grozeille.com/tag/net/'>.Net</a>, <a href='http://grozeille.com/tag/eclipse/'>eclipse</a>, <a href='http://grozeille.com/tag/ioc/'>IOC</a>, <a href='http://grozeille.com/tag/mvc/'>mvc</a>, <a href='http://grozeille.com/tag/mvvm/'>mvvm</a>, <a href='http://grozeille.com/tag/rcp/'>rcp</a>, <a href='http://grozeille.com/tag/unity/'>unity</a>, <a href='http://grozeille.com/tag/wpf/'>WPF</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grozeille.wordpress.com/511/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grozeille.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grozeille.wordpress.com/511/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=511&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grozeille.com/2010/11/25/episode-7-mathias-decouvre-unitywpfmvvm-aux-techdays-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcf307a3a2899d162cabfd41241f17b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grozeille</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2010/11/compositewpfapp1.png?w=300" medium="image">
			<media:title type="html">CompositeWpfApp1</media:title>
		</media:content>
	</item>
		<item>
		<title>Episode 6: Mathias découvre .Net!</title>
		<link>http://grozeille.com/2010/11/13/episode-6-mathias-decouvre-net/</link>
		<comments>http://grozeille.com/2010/11/13/episode-6-mathias-decouvre-net/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 00:25:08 +0000</pubDate>
		<dc:creator>Mathias Kluba</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[DotNetServer]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[rcp]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://grozeille.com/?p=503</guid>
		<description><![CDATA[En fait, je triche, les épisodes ne sont pas dans l’ordre chronologique. Je n’ai pas découvert .Net après Java, mais en même temps. C’était le 6 Janvier 2005, j avais blogué à ce sujet: j’avais découvert qu’avec Mono, il était possible d&#8217;exécuter un même programme EXE sous Windows comme sous Linux ! J&#8217;en avais la larme [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=503&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En fait, je triche, les épisodes ne sont pas dans l’ordre chronologique.<br />
Je n’ai pas découvert .Net après Java, mais en même temps.</p>
<p>C’était le 6 Janvier 2005, <a href="http://grozeille.com/2005/01/06/mono-le-retour/">j avais blogué</a> à ce sujet: j’avais découvert qu’avec Mono, il était possible d&#8217;exécuter un même programme EXE sous Windows comme sous Linux ! J&#8217;en avais la larme à l&#8217;œil&#8230;</p>
<p>Ce qui m&#8217;a le plus impressionné c&#8217;était de voir qu&#8217;il était possible d&#8217;exécuter du Java dans .Net grâce à <a href="http://www.ikvm.net/">IKVM </a>! Cela marchait tellement bien qu’ils ont réussi à exécuter <a href="http://weblog.ikvm.net/PermaLink.aspx?guid=1aecaf4e-24c0-4f96-861b-f3b4473c7525">Eclipse sous .Net</a> ! Mais ce n’était qu’expérimental à l&#8217;époque…</p>
<p>En découvrant .Net, j’ai tout de suite pris conscience du retard par rapport à Java, et j’ai alors voulu m’y atteler.<br />
J’ai alors commencé à réaliser un framework « RCP » comme celui d’Eclipse, mais full .Net. Voici le résultat à l’époque :</p>
<p><a href="http://grozeille.files.wordpress.com/2010/11/oldrcp.png"><img class="aligncenter size-medium wp-image-505" title="OldRCP" src="http://grozeille.files.wordpress.com/2010/11/oldrcp.png?w=300&h=247" alt="" width="300" height="247" /></a></p>
<p>On pouvait réaliser des plugins qui fournissent des vues qui s’encrent dans différents endroits, que ce soit dans la fenêtre principale ou dans un onglet d’édition.<br />
J&#8217;en était plutôt fier, encore aujourd&#8217;hui&#8230; j&#8217;ai bien envie de le porter avec les technos modernes d&#8217;aujourd&#8217;hui&#8230;</p>
<p>C’est aussi à cette époque que j’ai découvert <a href="http://www.springsource.org/about">Spring</a>, et au même titre <a href="http://www.springframework.net/">Spring.Net</a>, que j’ai utilisé dans mon entreprise pour réaliser, avec <a href="http://codingly.com/">Romain</a>, un <span style="text-decoration:underline;">framework MVC Winforms</span>.</p>
<p>J’ai aussi découvert d’autres framework IOC, et par la même occasion CAB de Microsoft (<a href="http://msdn.microsoft.com/en-us/library/ff648747.aspx">Composite Application Bloc</a>), mais sans en être convaincu.</p>
<p><a href="http://grozeille.files.wordpress.com/2010/11/ic15563.gif"><img class="aligncenter size-medium wp-image-506" title="IC15563" src="http://grozeille.files.wordpress.com/2010/11/ic15563.gif?w=300&h=225" alt="" width="300" height="225" /></a></p>
<p>A l&#8217;époque, on commençait à parler d&#8217;OSGI, mais je n’avais pas assez de connaissance dans le domaine</p>
<p>En conclusion, je restais sur ma fin avec .Net, et j&#8217;en étais même frustré. Mais j&#8217;ai toujours été convaincu que c&#8217;était aussi &#8220;une terre d’opportunités&#8221; et que je pouvais faire quelque chose&#8230;<br />
L&#8217;IOC, le MVC pour client riche, RCP, OSGI&#8230; les idées émergeaient déjà, mais n&#8217;était pas matures.</p>
<br /> Tagged: <a href='http://grozeille.com/tag/net/'>.Net</a>, <a href='http://grozeille.com/tag/eclipse/'>eclipse</a>, <a href='http://grozeille.com/tag/mvc/'>mvc</a>, <a href='http://grozeille.com/tag/osgi/'>osgi</a>, <a href='http://grozeille.com/tag/rcp/'>rcp</a>, <a href='http://grozeille.com/tag/spring/'>spring</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grozeille.wordpress.com/503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grozeille.wordpress.com/503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grozeille.wordpress.com/503/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=503&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grozeille.com/2010/11/13/episode-6-mathias-decouvre-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcf307a3a2899d162cabfd41241f17b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grozeille</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2010/11/oldrcp.png?w=300" medium="image">
			<media:title type="html">OldRCP</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2010/11/ic15563.gif?w=300" medium="image">
			<media:title type="html">IC15563</media:title>
		</media:content>
	</item>
		<item>
		<title>Episode 3 : Mathias découvre Eclipse (et un peu OSGI)</title>
		<link>http://grozeille.com/2010/06/29/episode-3-mathias-decouvre-eclipse/</link>
		<comments>http://grozeille.com/2010/06/29/episode-3-mathias-decouvre-eclipse/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 18:24:59 +0000</pubDate>
		<dc:creator>Mathias Kluba</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[DotNetServer]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://grozeille.com/?p=395</guid>
		<description><![CDATA[Dans l&#8217;épisode 2, je vous ai dit à quel point les serveurs J2EE pouvaient être complexe dans la gestion d&#8217;application. Il en est de même dans le monde des IDE avec la gestion des plugins. Tout en étudiant J2EE, je suis tombé amoureux de mon IDE Java préféré : Eclipse. Pas seulement pour sont utilisation, mais [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=395&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dans l&#8217;épisode 2, je vous ai dit à quel point les serveurs J2EE pouvaient être complexe dans la gestion d&#8217;application.<br />
Il en est de même dans le monde des IDE avec la gestion des plugins.</p>
<p>Tout en étudiant J2EE, je suis tombé amoureux de mon IDE Java préféré : Eclipse. Pas seulement pour sont utilisation, mais aussi pour son architecture.</p>
<p>En effet, la réalisation de plugins pour Eclipse se fait de manière ultra puissante. A tel point que le « noyau » d’Eclipse peut être complètement extrait pour faire sa propre application qui n’a rien à voir avec un IDE : c’est le framework RCP (Rich Client Platform).<br />
J’ai d’ailleurs à l’époque réalisé une application RCP pour la gestion de budget d’achat de livres pour les bibliothèques.</p>
<p><a href="http://grozeille.files.wordpress.com/2010/06/bibliographievista.jpg"><img src="http://grozeille.files.wordpress.com/2010/06/bibliographievista.jpg?w=630" alt="" title="BibliographieVista"   class="aligncenter size-full wp-image-397" /></a></p>
<p>Malheureusement, la pauvreté des composants graphique en Java faisait du tors à cette plateforme.<br />
Mais je restais subjugué par le moteur de plugins :</p>
<ul>
<li>Les plugins sont isolés afin que si un plugin crash, les autres continuent leur vie</li>
<li>Les plugins sont aussi isolé coté sécurité : un plugin ne peut pas accéder aux codes d’un autre plugin si ce dernier ne l’a pas explicitement rendu « publique »</li>
<li>Les plugins peuvent publier et consommer des services, avec un model très élégant</li>
<li>Il y a une gestion de dépendance entre les plugins, avec la prise en compte des versions</li>
<li>L’installation et la mise à jour des plugins se fait d’une simplicité déconcertante</li>
</ul>
<p><a href="http://grozeille.files.wordpress.com/2010/06/16279.png"><img src="http://grozeille.files.wordpress.com/2010/06/16279.png?w=630" alt="" title="16279"   class="aligncenter size-full wp-image-398" /></a></p>
<p>En fait, si la gestion des plugins est si balaise c’est car elle provient d’un standard de « développement par composant » : OSGI.</p>
<p>L’alliance OSGI est un organisme de personnes qui se mette d’accord ensemble sur des specs concernant les frameworks OSGI. C’est encore la que Java écrase .Net par sa maturité : il n’y a pas de monopole, il y a bien plusieurs acteurs derrière un « standard » ouvert qui va connaitre de multiples implémentations.</p>
<p>OSGI est donc un framework complexe de gestion de « modules » qui exposent des « services ». N’hésitez pas à lire le WIKI qui explique ça très bien : <a href="http://en.wikipedia.org/wiki/OSGi">http://en.wikipedia.org/wiki/OSGi</a></p>
<p>En conclusion, Eclipse est une plateforme riche en plugins grâce au coté Open-Source de l&#8217;IDE, à l&#8217;API de plugins très bien faite mais aussi à l&#8217;aide du plugins pour développer des plugins <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Qu&#8217;en est-il du coté .Net? VisualStudio a-t-il le même succès concernant le développement ce plugins? Offre-t-il une architecture de plugin aussi puissante? On verra ça dans un autre épisode <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://grozeille.com/tag/net/'>.Net</a>, <a href='http://grozeille.com/tag/eclipse/'>eclipse</a>, <a href='http://grozeille.com/tag/j2ee/'>J2EE</a>, <a href='http://grozeille.com/tag/java/'>java</a>, <a href='http://grozeille.com/tag/osgi/'>osgi</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grozeille.wordpress.com/395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grozeille.wordpress.com/395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grozeille.wordpress.com/395/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=395&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grozeille.com/2010/06/29/episode-3-mathias-decouvre-eclipse/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcf307a3a2899d162cabfd41241f17b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grozeille</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2010/06/bibliographievista.jpg" medium="image">
			<media:title type="html">BibliographieVista</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2010/06/16279.png" medium="image">
			<media:title type="html">16279</media:title>
		</media:content>
	</item>
		<item>
		<title>Cloud computing</title>
		<link>http://grozeille.com/2009/04/29/cloud-computing/</link>
		<comments>http://grozeille.com/2009/04/29/cloud-computing/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 21:14:02 +0000</pubDate>
		<dc:creator>Mathias Kluba</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://grozeille.com/?p=134</guid>
		<description><![CDATA[OK, je ne suis pas original, je parle d&#8217;un sujet &#8220;dans le vent&#8221; : le Cloud Computing&#8230; Cloud Computing: introduction avec Azure et Amazon Grâce à la présentation chez Fastconnect par Romain, j&#8217;ai pu découvrir les joies de Azure. C&#8217;est la solution Cloud de Microsoft qui est bien sûr très orientée .Net + VisualStudio. On [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=134&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK, je ne suis pas original, je parle d&#8217;un sujet &#8220;dans le vent&#8221; : le <a href="http://en.wikipedia.org/wiki/Cloud_computing">Cloud Computing</a>&#8230;</p>
<p><strong>Cloud Computing: introduction avec Azure et Amazon<br />
</strong></p>
<p>Grâce à la présentation chez <a href="http://www.fastconnect.fr/">Fastconnect</a> par <a href="http://codingly.com/">Romain</a>, j&#8217;ai pu découvrir les joies de <a href="http://www.microsoft.com/azure/default.mspx">Azure</a>. C&#8217;est la solution Cloud de Microsoft qui est bien sûr très orientée .Net + VisualStudio.</p>
<p>On parle ici de &#8220;<a href="http://en.wikipedia.org/wiki/Platform_as_a_service">Plateform as a Service</a>&#8221; puisque Azure nous offre de quoi héberger nos applications (web ou service) à l&#8217;aide d&#8217;une architecture &#8220;cloud&#8221;.<br />
On développe des applications qui effectuent des calcules distribués sur X machines, ou on héberge X sites web ASP.Net dont la charge est répartie entre eux.<br />
En plus d&#8217;offrir une architecture &#8220;scalable&#8221;, on a droit à certains services &#8220;bas niveau&#8221; comme le service de stockage de données binaires (full REST), une queue ou un stockage &#8220;à la <a href="http://en.wikipedia.org/wiki/BigTable">BigTable</a>&#8220;. On peut ensuite bénéficier de services plus &#8220;haut niveau&#8221; comme &#8220;<a href="http://en.wikipedia.org/wiki/Live_Search">Live Search</a>&#8221; ou &#8220;<a href="http://en.wikipedia.org/wiki/Windows_Live_Calendar">Live Calendar</a>&#8220;.</p>
<p>Par comparaison, <a href="http://aws.amazon.com/ec2/">Amazon avec EC2</a> propose un service &#8220;Cloud&#8221; orienté &#8220;Hardware as a Service&#8221; car on loue ici à des machines virtuelles, vierges ou avec des choses pré-installé (comme Linux Apache Msql PHP). La puissance de ces machines est aussi &#8220;scalable&#8221; à la demande, et on ne paie que ce que l&#8217;on utilise.<br />
A la différence d&#8217;Azure, où la partie &#8220;Hardware&#8221; est complètement masquée (IIS7, WindowsServer2008, etc.). Azure offre une interface web d&#8217;administration pour surveiller l&#8217;utilisation du CPU ou de la mémoire, et on peut rapidement changer le nombre d&#8217;instances d&#8217;un site web à la demande.<br />
Ceci dit, Amazon offre aussi des couches techniques comme le service de <a href="http://aws.amazon.com/s3/">stockage Amazon S3</a>.</p>
<p>Bref, le Cloud ce n&#8217;est pas qu&#8217;un hébergeur de site web ou une <a href="http://www.dedibox.fr/">Dedibox</a>, c&#8217;est surtout le fait de bénéficier des serveurs des gros mastodontes tel qu&#8217;Amazon ou Microsoft pour louer la puissance dont on a besoin, et profiter d&#8217;applications et de services pré-installés utilisables tout de suite. C&#8217;est aussi la possibilité d&#8217;utiliser des services techniques (Database, etc.) ou haut niveaux (Map, Calendar, etc.).</p>
<p><strong>Nouvelle solution de Cloud avec Aptana</strong></p>
<p>Azure offre de quoi développer un site ASP.Net Scalable rapidement, mais je vais faire le chieur en voulant développer une application Rails sous Eclipse!</p>
<p>C&#8217;est la que j&#8217;ai découvert <a href="http://www.aptana.com/cloud">Aptana Cloud</a>.<br />
<span id="more-134"></span><br />
La solution d&#8217;Aptana est la suivante :</p>
<ul>
<li>Comme Azure, Aptana masque la complexité et l&#8217;installation des machines virtuelles. On a donc du &#8220;Plateform as a Service&#8221;. On a droit à une machine pré-installée avec Apache, MySQL, SFTP, SSH, SVN, etc.</li>
<li>Comme Azure, Aptana offre un IDE (Eclipse) avec un grand nombre de plugins pour développer, déployer et administrer le Cloud rapidement et facilement.</li>
<li>Comme Azure, Aptana offre une interface Web pour gérer sa machine, la puissance consommée et ce que ça nous coûte en fin de compte. Aptana fournit aussi la possibilité d&#8217;héberger un site en &#8220;staging mode&#8221;, puis quand on est sûr de soi, on a la possibilité de le basculer en &#8220;public mode&#8221;.<br />
<img class="aligncenter size-full wp-image-149" title="Staging" src="http://grozeille.files.wordpress.com/2009/04/image-172.png?w=630" alt="Staging"   /></li>
<li>Comme Amazon, la puissance et les prix sont scalables: on ne paye que ce dont on a besoin et on peut changer la puissance à la volé (le site indique $20 par mois, c&#8217;est parce qu&#8217;une machine de 256mo de RAM avec 5GB de disque coûte $0,027/heure)</li>
</ul>
<p><img class="aligncenter size-medium wp-image-146" title="Pricing" src="http://grozeille.files.wordpress.com/2009/04/image-131.png?w=300&h=282" alt="Pricing" width="300" height="282" /></p>
<p>Les points négatifs :</p>
<ul>
<li>Pas d&#8217;architecture applicative &#8220;scalable&#8221;: contrairement à Azure qui permet de changer en 3 clicks le nombre de processus ou le nombre d&#8217;instances d&#8217;un site. On dépend ici de la scalabilité de la machine virtuelle. Aptana est en partenariat avec <a href="http://www.joyent.com/">Joyent</a> qui héberge ces machines.</li>
<li>Pas de services &#8220;haut niveau&#8221; comme ceux de Google (Google Maps, Google search, etc.) ou de Microsoft (Live Calendar, etc.). Mais rien ne nous empêche de les utiliser&#8230;</li>
<li>Services bas niveau limités: MySQL est OK, mais si l&#8217;on a besoin d&#8217;un stockage performant et distribué, on utilisera en plus les services d&#8217;Amazon (S3) ou Google (BigTable).</li>
</ul>
<p><img class="aligncenter size-medium wp-image-145" title="Services" src="http://grozeille.files.wordpress.com/2009/04/image-16.png?w=300&h=276" alt="Services" width="300" height="276" /></p>
<p>Voici pour moi les PLUS d&#8217;Aptana:</p>
<ul>
<li>Plugins Eclipse de qualité avec un éditeur HTML/Javascript bien meilleur que celui par défaut (de <a href="http://www.eclipse.org/webtools/">WTP</a>)</li>
<li>Permet de faire des applications HTML classiques, PHP, Rails, Java, mais aussi Python, Adobe AIR, iPhone, Nokia WRT.</li>
<li>En quelques clicks dans le Wizard de création du projet, permet de choisir des frameworks Ajax parmi les plus connus (<a href="http://jquery.com/">jQuery</a>, <a href="http://www.dojotoolkit.org/">Dojo</a>, <a href="http://extjs.com/">ExtJS</a>, et j&#8217;en passe).</li>
<li>Fournit une documentation riche à l&#8217;aide de vidéos sur <a href="http://tv.aptana.com/">Aptana TV</a>.</li>
<li>Offre un nouveau type de développement full HTML+Javascript : <a href="http://aptana.com/jaxer">Jaxer</a>.</li>
</ul>
<p>En résumé, Aptana offre mieux que de simples machines virtuelles :</p>
<ul>
<li>un IDE puissant pour développer différents types d&#8217;applications</li>
<li>des machines virtuelles scalables pré-installées pour déployer dessus</li>
<li>une interface claire pour les administrer (statistiques, etc.)</li>
</ul>
<p>Le Cloud donne des idées, et Aptana est une solution qui m&#8217;a l&#8217;air bien sérieuse. Je me suis laissé séduire grâce à l&#8217;offre d&#8217;essai gratuite, et je pense qu&#8217;à l&#8217;avenir j&#8217;utiliserai ce type de solutions si je veux développer et héberger un site Web.</p>
<p><img class="aligncenter size-medium wp-image-150" title="Eclipse" src="http://grozeille.files.wordpress.com/2009/04/image-12.png?w=300&h=228" alt="Eclipse" width="300" height="228" /></p>
<p>J&#8217;ai cité Jaxer dans les PLUS de la solution d&#8217;Aptana, mais j&#8217;en parlerai dans <a href="http://grozeille.com/2009/04/29/jaxer/">mon prochain billet</a> <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br /> Tagged: aptana, azure, cloud, eclipse <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grozeille.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grozeille.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grozeille.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=134&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grozeille.com/2009/04/29/cloud-computing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcf307a3a2899d162cabfd41241f17b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grozeille</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2009/04/image-172.png" medium="image">
			<media:title type="html">Staging</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2009/04/image-131.png?w=300" medium="image">
			<media:title type="html">Pricing</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2009/04/image-16.png?w=300" medium="image">
			<media:title type="html">Services</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2009/04/image-12.png?w=300" medium="image">
			<media:title type="html">Eclipse</media:title>
		</media:content>
	</item>
		<item>
		<title>Eclipse Vista</title>
		<link>http://grozeille.com/2006/06/13/eclipse-vista/</link>
		<comments>http://grozeille.com/2006/06/13/eclipse-vista/#comments</comments>
		<pubDate>Tue, 13 Jun 2006 22:15:40 +0000</pubDate>
		<dc:creator>Mathias Kluba</dc:creator>
				<category><![CDATA[Blabla]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">https://grozeille.wordpress.com/2006/06/13/eclipse-vista/</guid>
		<description><![CDATA[Juste parceque les gens adorent les screenshots : Eclipse sous Vista Beta 2.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=21&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Juste parceque les gens adorent les screenshots :<br />
Eclipse sous Vista Beta 2.</p>
<p><a href="http://grozeille.files.wordpress.com/2006/06/eclipsevista.PNG" title="EclipseVista2" class="imagelink"><img src="http://grozeille.files.wordpress.com/2006/06/eclipsevista.thumbnail.PNG?w=630&h=96" alt="EclipseVista2" height="96" /></a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/grozeille.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/grozeille.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/grozeille.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/grozeille.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/grozeille.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=grozeille.com&#038;blog=173450&#038;post=21&#038;subd=grozeille&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://grozeille.com/2006/06/13/eclipse-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fcf307a3a2899d162cabfd41241f17b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">grozeille</media:title>
		</media:content>

		<media:content url="http://grozeille.files.wordpress.com/2006/06/eclipsevista.thumbnail.PNG" medium="image">
			<media:title type="html">EclipseVista2</media:title>
		</media:content>
	</item>
	</channel>
</rss>
