<?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>Benjamin Cabé &#187; Eclipse</title>
	<atom:link href="http://blog.benjamin-cabe.com/tag/eclipse/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.benjamin-cabe.com</link>
	<description>Eclipse, the birds and yo momma</description>
	<lastBuildDate>Wed, 17 Mar 2010 09:21:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Query &#8220;Eclipse Community Forums&#8221; from online Help</title>
		<link>http://blog.benjamin-cabe.com/2009/07/30/query-eclipse-community-forums-from-online-help</link>
		<comments>http://blog.benjamin-cabe.com/2009/07/30/query-eclipse-community-forums-from-online-help#comments</comments>
		<pubDate>Thu, 30 Jul 2009 15:02:26 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[forums]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[newsgroups]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=676</guid>
		<description><![CDATA[There is a generally not-known feature in the Eclipse Help which allows to configure the scope of searches. By default, whenever you perform a query, the search scope is restricted to your local help repository (i.e. Javadocs, API references, user guides contributed by plug-ins). However, it is possible to add new &#8220;search engines&#8221; to this [...]]]></description>
			<content:encoded><![CDATA[<p>There is a generally not-known feature in the Eclipse Help which allows to configure the scope of searches.</p>
<p>By default, whenever you perform a query, the search scope is restricted to your local help repository (i.e. Javadocs, API references, user guides contributed by plug-ins).<br />
However, it is possible to add new &#8220;search engines&#8221; to this scope. For example, even if you don&#8217;t have (and I hope you don&#8217;t), every Galileo plug-in in your environement, you may want to search information in the whole Galileo help without leaving your workbench. This is as simple as:</p>
<ul>
<li>Opening the search UI using &#8220;Help &gt; Search&#8221; menu</li>
<li>From the query form, opening the &#8220;advanced settings&#8221; of your <em>search scope</em></li>
<li>Adding a new search engine. Select the &#8220;Info Center&#8221; type, and use the following URL : <a href="http://help.eclipse.org/galileo" target="_blank"><span style="font-family: 'courier new', courier;">http://help.eclipse.org/galileo</span></a>.</li>
</ul>
<p>Similarly, you can use any website allowing to perform queries through URL parameters (e.g. Google) as an Eclipse Help search engine.<br />
That&#8217;s exactly what we are going to do in order to allow search on <a title="Eclipse Community Forums" href="http://www.eclipse.org/forums/" target="_blank">Eclipse Community Forums</a>, the <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/2009/07/28/ready-to-kick-the-tires/" target="_blank">new</a> &amp; sexy Web UI on top of Eclipse newsgroups.</p>
<p>This time, you are going to add  a new &#8220;Web Search&#8221; search engine,</p>
<p style="text-align: center;"><a href="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step1.PNG" rel="lightbox[676]"><img class="size-full wp-image-680 aligncenter" title="step1" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step1.PNG" alt="step1" width="240" height="182" /></a></p>
<p>and you will use the following URL pattern: <em><span style="font-family: 'courier new', courier;">http://www.eclipse.org/forums/index.php?SQ=0&amp;t=search&amp;srch={expression}&amp;btn_submit=Search&amp;field=subject</span></em></p>
<p style="text-align: center;"><a href="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step2.PNG" rel="lightbox[676]"><img class="size-full wp-image-681 aligncenter" title="step2" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step2.PNG" alt="step2" width="464" height="290" /></a></p>
<p>And voila! Starting from now, you&#8217;ll have search results coming from the online Galileo info center <strong><span style="text-decoration: underline;">and</span></strong> from the Eclipse Community Forums  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step3.PNG" rel="lightbox[676]"><img class="size-full wp-image-684 aligncenter" title="step3" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step3.PNG" alt="step3" width="545" height="373" /></a></p>
<p style="text-align: center;"><a href="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step4.PNG" rel="lightbox[676]"><img class="size-full wp-image-683 aligncenter" title="step4" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/step4.PNG" alt="step4" width="545" height="373" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/07/30/query-eclipse-community-forums-from-online-help/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Model my PDE!</title>
		<link>http://blog.benjamin-cabe.com/2009/07/29/model-my-pde</link>
		<comments>http://blog.benjamin-cabe.com/2009/07/29/model-my-pde#comments</comments>
		<pubDate>Wed, 29 Jul 2009 21:46:38 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[databinding]]></category>
		<category><![CDATA[declarative services]]></category>
		<category><![CDATA[emf]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=643</guid>
		<description><![CDATA[I&#8217;ve been working for quite a while on finding solutions to the problems we are having in PDE as soon as we need to add support for new OSGi headers, to create new editors for cheatsheet files, p2 categories, etc. Declarative Services tooling is a good illustration of all these problems. As part of the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working for quite a while on finding solutions to the problems we are having in PDE as soon as we need to add support for new OSGi headers, to create new editors for cheatsheet files, p2 categories, etc.</p>
<p>Declarative Services tooling is a good illustration of all these problems. As part of the <a title="Eclipse GSoC 2008" href="http://wiki.eclipse.org/Google_Summer_of_Code_2008" target="_blank">Google Summer of Code 2008</a>, Rafael Oliveira worked on the creation of some cool tooling to help people wanting to use OSGi Declarative Services. This tooling is great, and available in Eclipse Galileo as many of you may know but, unfortunately, it introduces a lot of boilerplate code (Java model of what a DS component is, Java model of what the textual representation of a DS component is, JFace label and content providers, etc.)</p>
<p>Indeed, since day 1 of PDE, despite the fact there is a sort of generic framework behind PDE (undo/redo support for operations done both programmatically or through the UI/text editors, compiler to check models consistency and create markers, outline, etc.), it is, and always has been kind of a pain to &#8220;instantiate&#8221; this framework for each new usecase.</p>
<p>People familiar with EMF, and modeling technologies in general, are probably thinking right now that the framework behind PDE should probably model-based, and of course they are right! That&#8217;s exactly the purpose of the ongoing &#8220;model my PDE&#8221; work being done in the <a title="PDE Incubator (modeling)" href="http://dev.eclipse.org/viewcvs/index.cgi/pde-incubator/modeling/" target="_blank">PDE incubator</a>. In this post, I will quickly explain what is currently available in HEAD of the project, further explanations may come in later posts (by the way, feel free to ask precisions on specific topics!).</p>
<h1>Generic Forms editor</h1>
<p>The <strong><span style="font-family: 'courier new', courier;">org.eclipse.pde.emfforms</span></strong> bundle proposes some abstractions of what is generally needed to create a Forms editor for any kind of <span style="font-family: 'courier new', courier;">EObject</span>. Thanks to EMF.Edit and Databinding framework, it makes it really simple –sometimes you won&#8217;t even need to write a single line of code– to create your UI and bind it to the model, display the errors on your model, show an outline, and stuff.</p>
<p>Since the project is still incubating, there is of course no clear API of this bundle at the moment, but if you need to quickly hack a model editor, you should probably have a look at it, and at the &#8220;exemplary&#8221; implementation which has been done for the &#8220;next-gen&#8221; DS Component editor.</p>
<p>A non-exhaustive list of the feature provided by this framework (coupled to the features of EMF/EMF.Edit/Databinding and Forms) would be:</p>
<ul>
<li>full undo/redo support</li>
<li>full copy/paste support (both locally to the editor, and from an editor instance to another),</li>
<li>automatic refresh of the editor if the model is changed on disk,</li>
<li>model live-validation; displaying error(s) in front of the &#8220;guilty&#8221; controls, in the forms header, and on the nodes of the elements displayed in Master/Details blocks,</li>
<li>full drag&amp;drop support in Master/Details blocks&#8217; viewers,</li>
<li>generic Outline view,</li>
<li>generic Properties view,</li>
<li>…  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </li>
</ul>
<h1>Extensibility</h1>
<p>There are many OSGi vendors who work on their own implementation of the standard, and they obviously need tooling for these specificities. In an ideal world, they should be able to extend vanilla PDE instead of reinventing the wheel. We, at PDE, expose some APIs for people to do that (SpringSource Tool Suite proposes tooling for SpringDM, and it is built on top of PDE), but there are many things that are still internal. Our models, our editors, our compilers, are not really designed to be extensible. A model-based approach is the right solution to this lack of extensibility:</p>
<ul>
<li>An EMF model is <strong>very</strong> easily extensible. In order to extend the &#8220;Declarative Services&#8221; model, create you own, let&#8217;s say <span style="font-family: 'courier new', courier;">scr-equinox.ecore</span>, referencing just take the <span style="font-family: 'courier new', courier;">scr.core</span> model. You can now have an <span style="font-family: 'courier new', courier;">EquinoxComponent</span>, extending the standard <span style="font-family: 'courier new', courier;">Component</span>, and bringing some nice Equinox-specific additions. When you will generate the corresponding Java code, you&#8217;ll end up with a model which will be 100% editable in the &#8220;legacy&#8221; Component editor.</li>
</ul>
<p><img class="aligncenter size-full wp-image-650" title="scr-equinox-1.1" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/scr-equinox-1.1.png" alt="scr-equinox-1.1" width="278" height="348" /></p>
<ul>
<li>It is very easy to add new <strong>validation rules</strong>, either enhancing the <span style="font-family: 'courier new', courier;">EValidator</span> generated by EMF, or, way better, using the EMF Validation framework which allows to contribute new rules in a declarative fashion. Not only it allows anybody to &#8220;plug&#8221; additional rules on top of an existing model, but it also avoids to clutter the model API with dependencies needed only for validation purposes. Indeed, to perform a meaningful validation of a Declarative Services component, you have to query JDT and PDE to check method signatures, visibility of referenced services, etc. For people interested in how an EMF Validation constraint extension, here is an example taken from the incubator code:</li>
</ul>
<pre class="brush:xml">
&lt;extension point=&quot;org.eclipse.emf.validation.constraintProviders&quot;&gt;
      &lt;category
            id=&quot;org.eclipse.pde.ds.builder.validation&quot;
            mandatory=&quot;true&quot;
            name=&quot;Declarative Services Validation&quot;&gt;
      &lt;/category&gt;
      &lt;constraintProvider cache=&quot;true&quot;&gt;
         &lt;package
               namespaceUri=&quot;http://www.osgi.org/xmlns/scr/v1.1.0&quot;&gt;
         &lt;/package&gt;
         &lt;constraints
               categories=&quot;org.eclipse.pde.ds.builder.validation&quot;&gt;
            &lt;constraint
                  class=&quot;o.[...].ComponentMethodsAreValidAndAccessible&quot;
                  id=&quot;o.[...].constraintComponentMethodsAreValidAndAccessible&quot;
                  lang=&quot;Java&quot;
                  mode=&quot;Live&quot;
                  name=&quot;Components methods validation&quot;
                  severity=&quot;ERROR&quot;
                  statusCode=&quot;2&quot;&gt;
               &lt;message&gt;
                  Method {0}: {1}
               &lt;/message&gt;
               &lt;target class=&quot;Component&quot;&gt;
                  &lt;event name=&quot;Set&quot;&gt;
                     &lt;feature name=&quot;activate&quot;&gt;
                     &lt;/feature&gt;
                  &lt;/event&gt;
                  &lt;!-- ... --&gt;
               &lt;/target&gt;
            &lt;/constraint&gt;
         &lt;/constraints&gt;
      &lt;/constraintProvider&gt;
   &lt;/extension&gt;
</pre>
<ul>
<li>EMF allows to version models, and has solutions to ensure compatibility between an <em>N-1</em> and an <em>N </em>model instance. This way, we could probably be a bit less shy when it comes to updating old APIs. Tooling would be written to handle models in version <em>N</em>, but APIs for <em>N-1</em>, <em>N-2</em>, etc. would still be available, and mappers to convert from <em>N-X</em> to <em>N</em> would be too.</li>
</ul>
<h1>Model-aware builder</h1>
<p>In order to report errors to the end-user, the editor performs live validation (thus the nice Forms decorators in the screencast below), but there is also a specific builder (once again, designed to be extensible) listening for model changes, and calling EMF Validation behind the scene to check the consistency and create <strong>resource markers</strong> for every encountered problem.</p>
<h1 style="font-size: 2em;">Screencast</h1>
<p>A screencast being IMHO worth a thousand words, here is a live demo of the DS Editor:</p>
<p style="text-align: center;"><a href="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/demo_DS_incubator.swf" target="_blank"><img class="size-full wp-image-647 aligncenter" title="pde modeling" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/07/pde-modeling.png" alt="pde modeling" width="450" height="266" /></a></p>
<p>If you want to play with this  &#8221;experimental&#8221; tool, you can install in your SDK the <a href="https://build.eclipse.org/hudson/job/cbi-pde.ds.modeling.incubator-0.1.0/lastSuccessfulBuild/artifact/build/repository/" target="_blank">experimental feature</a> served by build.eclipse.org and corresponding to the result of continuous integration of the HEAD of the project, thanks to Hudson and <a href="http://wiki.eclipse.org/Common_Build_Infrastructure" target="_blank">Athena</a>!</p>
<p>I guess the next important step is now to find an elegant way to propose a Source tab which, as you may have noticed, is almost the only feature being present in the Galileo editor and not in this prototype. Another important step will also be to write the Xtext grammar of an OSGi Manifest, and leverage this &#8220;EMF-Forms&#8221; framework to propose a cool and extensible editor on top of a Manifest <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/07/29/model-my-pde/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Given a class, how to retrieve its bundle?</title>
		<link>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle</link>
		<comments>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle#comments</comments>
		<pubDate>Thu, 16 Jul 2009 15:34:13 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/2009/05/13/osgi-retrouver-le-bundle-auquel-appartient-une-classe</guid>
		<description><![CDATA[OSGI R4.2 (thus Equinox 3.5) comes (well, will come, since the spec. is not final yet) with a new simple and handy utility: the org.osgi.framework.FrameworkUtil.getBundle(Class) static method, which allows to retrieve the bundle a given class belongs to. More specifically, this method will give you the bundle who loaded the given class, or null if the class has [...]]]></description>
			<content:encoded><![CDATA[<p><strong>OSGI R4.2</strong> (thus <strong>Equinox 3.5</strong>) comes (well, will come, since the spec. is not final yet) with a new simple and handy utility: the <span style="font-family: courier new,courier;">org.osgi.framework.FrameworkUtil.getBundle(Class)</span> static method, which allows <strong>to retrieve the bundle a given class belongs to</strong>.</p>
<p>More specifically, this method will give you the bundle who loaded the given class, or <span style="font-family: courier new,courier;">null</span> if the class has not been loaded by the OSGi framework (e.g. if it is a class belonging to the boot classpath&#8230;).</p>
<p>Thus, whenever you want to access information such as the version of a bundle, its headers,  etc. without having to query its <span style="font-family: courier new,courier;">Activator </span>(perhaps you don&#8217;t even have an Activator for this bundle&#8230;), you know what you&#8217;ve got to use! Of course, whoever says <span style="font-family: courier new,courier;">Bundle</span>, means <span style="font-family: courier new,courier;">BundleContext</span>, and this handy helper is also very convenient to easily publish/consume OSGi services on behalf of the bundle&#8230;  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hello, Planet Eclipse!</title>
		<link>http://blog.benjamin-cabe.com/2009/07/14/hello-planet-eclipse</link>
		<comments>http://blog.benjamin-cabe.com/2009/07/14/hello-planet-eclipse#comments</comments>
		<pubDate>Tue, 14 Jul 2009 21:08:12 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[planet]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=606</guid>
		<description><![CDATA[After about 3 years of activity in the Eclipse community, and about 2 years of –not always&#8230;– regular blogging in French, I&#8217;m finally ready to join Planet Eclipse and start sharing with the community! I&#8217;m interested in many topics, thus expect posts about PDE, OSGi, Modeling (EMF, xText, &#8230;), Continuous Integration, e4 , etc. etc. See [...]]]></description>
			<content:encoded><![CDATA[<p>After about 3 years of activity in the Eclipse community, and about 2 years of –not always&#8230;– regular blogging in French, I&#8217;m finally ready to join <a title="Planet Eclipse" href="http://planeteclipse.org/planet/" target="_blank">Planet Eclipse</a> and start sharing with the community!  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I&#8217;m interested in many topics, thus expect posts about PDE, OSGi, Modeling (EMF, xText, &#8230;), Continuous Integration, e4 , etc. etc.  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<p>See you soon and, by the way, you can also <a title="kartben@twitter" href="http://twitter.com/kartben" target="_blank">follow me on twitter</a>!</p>
<p>PS: kudos to the author of the excellent  <a title="qTranslate" href="http://www.qianqin.de/qtranslate/" target="_blank">qTranslate</a> WordPress &#8220;multilingual&#8221; plug-in, which will hopefully allow me to keep my beloved french readers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/07/14/hello-planet-eclipse/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Eclipse Icons</title>
		<link>http://blog.benjamin-cabe.com/2009/06/02/icones-eclipse</link>
		<comments>http://blog.benjamin-cabe.com/2009/06/02/icones-eclipse#comments</comments>
		<pubDate>Tue, 02 Jun 2009 16:25:38 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[icons]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=580</guid>
		<description><![CDATA[I just found this useful link which gathers ALL the Eclipse Ganymede icons, in one and easy to browse place. It also provides  OpenOffice icons (needless to say they are way less cool! ). Also, for everyone looking for a way to automatically retrieve all these icons, the following script does a huge par of the [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:right; margin-left:2em;" title="eclipse-icons" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/06/eclipse-icons2.png" alt="eclipse-icons" width="187" height="183" />I just found this useful <a title="http://xantorohara.110mb.com/core-icons/Eclipse.html" href="http://xantorohara.110mb.com/core-icons/Eclipse.html" target="_blank">link</a> which gathers ALL the Eclipse Ganymede icons, in one and easy to browse place. It also provides  <a title="http://xantorohara.110mb.com/core-icons/OpenOffice.html" href="http://xantorohara.110mb.com/core-icons/OpenOffice.html" target="_blank">OpenOffice icons</a> (needless to say they are way less cool! <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>Also, for everyone looking for a way to automatically retrieve all these icons, the following script does a huge par of the job since it automatically fetches the icons from the most icon prolific Eclipse projects directly from the eclipse.org CVS:</p>
<p>[bash] #!/bin/sh<br />
CVSROOT=:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse<br />
export CVSROOT<br />
mkdir -p eclipse<br />
cd eclipse<br />
cvs -q co org.eclipse.debug.ui/icons<br />
cvs -q co org.eclipse.pde.ui/icons<br />
cvs -q co org.eclipse.jdt.ui/icons<br />
cvs -q co org.eclipse.vcm.ui/icons<br />
cvs -q co org.eclipse.team.ui/icons<br />
cvs -q co org.eclipse.ant.ui/icons<br />
cvs -q co org.eclipse.help.ui/icons<br />
cvs -q co org.eclipse.ui/icons<br />
cvs -q co org.eclipse.ui.views/icons<br />
cvs -q co org.eclipse.ui.console/icons<br />
cd ..<br />
rm -f ~/public_html/eclipse-icons.zip<br />
find eclipse -name &amp;quot;*.gif&amp;quot; -print | zip ~/public_html/eclipse-icons.zip -@ [/bash]</p>
<p>At last, one of my favorite generalist icons directory is probably <a href="http://www.iconlet.com/">http://www.iconlet.com</a>. It will let you search for an icon by keyword, of course, but will also tell you whether the icon is free or not, and under which license it is available if need be&#8230; <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/06/02/icones-eclipse/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse Time : 4ème édition !</title>
		<link>http://blog.benjamin-cabe.com/2009/05/19/eclipse-time-4eme-edition</link>
		<comments>http://blog.benjamin-cabe.com/2009/05/19/eclipse-time-4eme-edition#comments</comments>
		<pubDate>Tue, 19 May 2009 09:56:05 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[eclipsetime]]></category>
		<category><![CDATA[evenement]]></category>
		<category><![CDATA[toulouse]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=545</guid>
		<description><![CDATA[La quatrième édition d&#8217;EclipseTime se tiendra les 23 et 24 juin 2009 à Toulouse. Cette année, vous aurez en quelque sorte droit à trois évènements en un puisque la conférence se voit divisée en deux journées (au lieu d&#8217;une seule les années précédentes), et que la soirée du 23 juin sera l&#8217;occasion de se réunir [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">La quatrième édition d&#8217;<strong><a title="EclipseTime 2009" href="http://www.eclipsetime.org" target="_blank">EclipseTime</a></strong> se tiendra les 23 et 24 juin 2009 à Toulouse.</p>
<p style="text-align: center;"><a href="http://www.eclipsetime.org" target="_blank"><img class="aligncenter size-full wp-image-546" title="eclipsetime" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/05/eclipsetime.jpg" alt="eclipsetime" width="450" height="70" /></a></p>
<p style="text-align: left;">
<p>Cette année, vous aurez en quelque sorte droit à <strong>trois évènements en un</strong> puisque la conférence se voit divisée en deux journées (au lieu d&#8217;une seule les années précédentes), et que la soirée du 23 juin sera l&#8217;occasion de se réunir autour du <strong>Galileo DemoCamp</strong> français.</p>
<ul>
<li><strong>La journée de conférences</strong> sera l&#8217;occasion pour les participants d&#8217;être informés des dernières tendances : implémentation de certains composants, applications développées pour des clients… Elle se tiendra à la Cité de l&#8217;Espace et sera animée par des acteurs majeurs du monde Eclipse : membres de la fondation Eclipse, éditeurs de logiciels, industriels utilisateurs d&#8217;applications basées sur Eclipse.</li>
<li><img style="float:right;" title="democamp" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/05/democamp.gif" alt="democamp" width="90" height="76" />Le <strong>DemoCamp</strong> sera, comme son nom l&#8217;indique, orienté… démos (et bières !). L&#8217;objectif sera d&#8217;une part de fêter la sortie de Galileo (Eclipse 3.5), mais aussi et surtout de présenter les différents usages qui sont faits des technologies Eclipse.<br />
<a title="DemoCamp 2009 Toulouse" href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Toulouse" target="_blank">Inscrivez-vous</a> dès maintenant si vous avez l&#8217;intention de venir (et, encore mieux, de présenter un sujet !). On me glisse dans l&#8217;oreillette qu&#8217;il sera par exemple montré comment Eclipse peut servir à programmer une brique &#8220;Lego Mindstorms&#8221;, ou comment Eclipse RCP peut être mis en oeuvre pour proposer des interfaces conviviales pour le diagnostic automobile ! Ce DemoCamp se tiendra dans la soirée du 23 juin, à la Cité de l&#8217;Espace.</li>
<li>La <strong>session du 24 juin</strong> se veut un peu plus <strong>technique</strong>, et sera découpée en deux demi-journées de formation, permettant aux participants d&#8217;aborder le développement orienté composants grâce à <strong>OSGi</strong> et Equinox, les <strong>technologies clients riches</strong> sur le marché (Flex, GWT, RAP, …),  le futur <strong>Eclipse 4</strong>, la réalisation d&#8217;IDE à destination du monde de l&#8217;<strong>embarqué</strong>, la mise en oeuvre d&#8217;un serveur d&#8217;<strong>intégration continue</strong> d&#8217;applications Eclipse RCP avec <strong>Hudson</strong>, etc.</li>
</ul>
<p>Pour plus d&#8217;informations, et pour vous inscrire, ça se passe <a title="EclipseTime 2009" href="http://www.eclipsetime.org" target="_blank">ici</a> !</p>
<p>J&#8217;espère bien avoir l&#8217;occasion de rencontrer certains lecteurs de ce blog lors de l&#8217;évènement&#8230; <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/05/19/eclipse-time-4eme-edition/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webinar Anyware Technologies/Ingres</title>
		<link>http://blog.benjamin-cabe.com/2009/03/11/webinar-anyware-technologiesingres</link>
		<comments>http://blog.benjamin-cabe.com/2009/03/11/webinar-anyware-technologiesingres#comments</comments>
		<pubDate>Wed, 11 Mar 2009 10:40:37 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[anyware technologies]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[evenement]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=495</guid>
		<description><![CDATA[A noter dans vos agendas ! Le 19 mars, à 16h30, je co-animerai avec Vincent Ducrohet de la société Ingres, un webinar destiné à présenter Eclipse (tant l&#8217;atelier de développement que la plateforme), le SGBD Open Source Ingres, et les utilisations qui peuvent être faites de ces deux technologies. Un cas d&#8217;utilisation concret d&#8217;Eclipse pour [...]]]></description>
			<content:encoded><![CDATA[<p>A noter dans vos agendas !</p>
<p><img style="float:left;margin-right:2em;" title="logo anyware" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/03/anyware-tech1.gif" alt="logo anyware" width="250" height="76" />Le <strong>19 mars, à 16h30</strong>, je co-animerai avec Vincent Ducrohet de la société Ingres, un webinar destiné à présenter Eclipse (tant l&#8217;atelier de développement que la plateforme), le SGBD Open Source Ingres, et les utilisations qui peuvent être faites de ces deux technologies.<br />
<img style="float:right;margin-left:2em;margin-top:1em;" title="logo ingres" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/03/ingres_logo1.png" alt="logo ingres" width="175" height="45" /></p>
<p>Un cas d&#8217;utilisation concret d&#8217;Eclipse pour la réalisation d&#8217;une application métier (plateforme d&#8217;analyse et visualisation de données d&#8217;observations satellite) sera également exposé sous forme d&#8217;une démonstration.</p>
<p>C&#8217;est <strong><span style="text-decoration: underline;">gratuit</span></strong>, et les inscriptions se passent <a href="https://ingres.webex.com/ingres/onstage/g.php?d=800191828&amp;t=a" target="_blank">ici</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/03/11/webinar-anyware-technologiesingres/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Première milestone pour Eclipse 4</title>
		<link>http://blog.benjamin-cabe.com/2009/02/10/premiere-milestone-pour-eclipse-4</link>
		<comments>http://blog.benjamin-cabe.com/2009/02/10/premiere-milestone-pour-eclipse-4#comments</comments>
		<pubDate>Tue, 10 Feb 2009 11:05:18 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[e4]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[milestone]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=466</guid>
		<description><![CDATA[La première version, déjà prometteuse, d&#8217;Eclipse 4 a été livrée hier. Au programme, une démo mettant en œuvre les grands principes retenus dans le cadre de cette refonte architecturale qu&#8217;est e4, à savoir : Le &#8220;workbench&#8221; de cette démo modélisé de A à Z : les vues, les menus, les commandes attachées aux entrée de [...]]]></description>
			<content:encoded><![CDATA[<p>La première version, déjà prometteuse, d&#8217;Eclipse 4 a été <a href="http://download.eclipse.org/e4/downloads/drops/S-0.9M1-200902061045/index.html" target="_blank">livrée</a> hier.</p>
<p>Au programme, une <strong>démo</strong> mettant en œuvre les grands principes retenus dans le cadre de cette refonte architecturale qu&#8217;est e4, à savoir :</p>
<ul>
<li>Le &#8220;workbench&#8221; de cette démo modélisé de A à Z : les vues, les menus, les commandes attachées aux entrée de ces menus, etc. sont des éléments d&#8217;un même modèle, et leur représentation graphique est automatiquement synchronisée avec leur représentation en mémoire (mais pas encore en utilisant l&#8217;API de Databinding..!).<br />
Ainsi, persister l&#8217;état de l&#8217;application entre deux exécutions devient trivial : il suffit de recharger le modèle que l&#8217;on a pris soin de sérialiser lors de l&#8217;arrêt de l&#8217;application !  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </li>
<li>Le styling de l&#8217;IHM en utilisant des CSS est supporté, et c&#8217;est assez impressionant à voir fonctionner !</li>
</ul>
<p style="text-align: center;"><img title="e4-m1-photo-demo" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/02/e4-m1-photo-demo.png" alt="e4-m1-photo-demo" width="466" height="346" /></p>
<p style="text-align: center;">
<hr style="width: 50%; color: #ffffff; border: 1px solid #CCCCCC;" noshade="noshade" />Un travail particulièrement intéressant a été réalisé au niveau de la couche de gestion des <strong>ressources</strong> (au sens <em>IResource</em>) Eclipse.</p>
<p>En effet, cela fait plusieurs années que le modèle existant a commencé à montrer ses limites : impossibilité d&#8217;imbriquer des projets les uns dans les autres, mauvaise gestion des liens symboliques, etc. Il est ainsi désormais possible, par exemple, de créer des &#8220;groupes&#8221; logiques de ressources, afin de gérer des topologies de projets particulièrement complexes, indépendamment de leur structuration physique.</p>
<p style="text-align: center;"><img title="groups" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/02/groups.png" alt="groups" width="443" height="416" /></p>
<hr style="width: 50%; color: #ffffff; border: 1px solid #CCCCCC;" noshade="noshade" />Enfin, le portage de SWT vers le Web a continué —un premier prototype prometteur avait déjà été montré il y a quasiment un an, lors de l&#8217;EclipseCon&#8217;08—. Le compilateur Java→ActionScript a été perfectionné, et il est désormais possible de poser des points d&#8217;arrêts dans le code Java ayant servi à produire&#8230; une animation Flash!</p>
<p style="text-align: center;"><img title="runas" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/02/runas.png" alt="runas" width="466" height="413" /></p>
<hr style="width: 50%; color: #ffffff; border: 1px solid #CCCCCC;" noshade="noshade" />Pour un &#8220;New &amp; Noteworthy&#8221; plus complet, ça se passe <a title="New &amp; Noteworthy E4 M1" href="http://download.eclipse.org/e4/downloads/drops/S-0.9M1-200902061045/e4-news-M1.html" target="_blank">ici</a>.</p>
<p>N&#8217;oubliez pas non plus d&#8217;aller faire un tour sur la page du <a href="http://wiki.eclipse.org/E4" target="_blank">wiki</a> qui commence à être assez fournie !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/02/10/premiere-milestone-pour-eclipse-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Equinox p2: Large Scale Deployment</title>
		<link>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment</link>
		<comments>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment#comments</comments>
		<pubDate>Tue, 03 Feb 2009 09:19:04 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[p2]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=453</guid>
		<description><![CDATA[Last year&#8217;s Eclipse release (Ganymede) came with a new provisioning platform called p2. For years, Eclipse has been shipped along with a component called the &#8220;Update Manager&#8221;, which allowed users to easily update their Eclipse installations. Nevertheless, year after year, and especially when Eclipse 3.0 came out, it has become much more than just an [...]]]></description>
			<content:encoded><![CDATA[<p>Last year&#8217;s Eclipse release (Ganymede) came with a new provisioning platform called p2. For years, Eclipse has been shipped along with a component called the &#8220;Update Manager&#8221;, which allowed users to easily update their Eclipse installations. Nevertheless, year after year, and especially when Eclipse 3.0 came out, it has become much more than just an IDE: it is now a software platform, built on top of Equinox (the reference implementation of the OSGi specification).</p>
<p>Thus, deployment needs are not limited to installing and updating only plug-ins anymore. People building software on top of Eclipse need to be able to deliver an installer for their product, which may come with a license manager which needs provisioning too, they need to have their own UI for the updating process, &#8230; and p2 answers to virtually all these needs.</p>
<h2>p2: a provisioning platform&#8230;</h2>
<p>To be able to provision virtually everything, the main strength of p2 is to have no a priori knowledge of the way Eclipse plug-ins or even Java applications must be handled. It&#8217;s indeed a very light framework to describe the parts that are to be installed (the Installable Units), and how they depend on each other. p2 comes with some basic instructions about how an OSGi bundle or an Eclipse product should be installed, but nothing else.</p>
<p>It&#8217;s up to the software vendor who wants to deliver, let&#8217;s say, a Windows executable program (which may require adding keys to the registry, or icons on the desktop, for instance) together with its Eclipse RCP application, to write the code (in fact, a p2 plug-in!) to explain p2 how this particular Installable Unit should be handled when provisioned in a given system.</p>
<h2>&#8230; and, the next deployment standard?</h2>
<p>Of course, although p2 is still a very young project, and may not seem mature enough for industrial usage. It is still not 100% reliable yet and lacks tooling, but the quality of this very first release is still pretty high. Since it was released, p2 has started gathering a community which is leveraging p2 in other domains than just the Eclipse project itself. Software companies like Cloudsmith, EclipseSource and Anyware Technologies are already developing tools on top of p2 ; and IBM, among others, is working hard to improve the p2 core and design a clear API.</p>
<p>The massive adoption of OSGi in many different areas (Eclipse runtime technologies like Equinox itself or RAP, applications servers like Websphere or Glassfish, etc.) will definitely make p2 the smartest way to deploy not only Eclipse-based applications, but any sort of scalable application as well. Indeed, when high availability is an important requirement (in other words &#8212; almost always), then you need to be able to dynamically install new modules into the running system, update existing ones, sometimes even do this remotely.</p>
<p>Since there is currently no real sustainable alternative for industrial deployments – did you ever try to use Java Web Start for more than just a very simple Swing or RCP application? – p2 will probably come up as a de facto provisioning technology standard.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Eclipse Community Awards</title>
		<link>http://blog.benjamin-cabe.com/2009/01/30/eclipse-community-awards</link>
		<comments>http://blog.benjamin-cabe.com/2009/01/30/eclipse-community-awards#comments</comments>
		<pubDate>Fri, 30 Jan 2009 13:26:16 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[awards]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[eclipsecon]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=445</guid>
		<description><![CDATA[C&#8217;est aujourd&#8217;hui le dernier jour pour nommer des candidats pour les Eclipse Community Awards ! Si le travail de certains contributeurs ou committers vous a particulièrement impressionnés, si des membres de la communauté font selon vous un travail d&#8217;évangélisation et de promotion d&#8217;Eclipse qui mérite d&#8217;être cité, alors n&#8217;hésitez pas à aller vous exprimez sur [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:left; margin-right:2em;" src="http://farm1.static.flickr.com/44/108265856_219b2f2fb5_m.jpg" alt="" width="240" height="160" />C&#8217;est aujourd&#8217;hui le dernier jour pour nommer des candidats pour les <a title="Eclipse Community Awards" href="http://www.eclipse.org/org/foundation/eclipseawards/index.php" target="_blank"><span style="text-decoration: underline;"><strong>Eclipse Community Awards</strong></span></a> !</p>
<p>Si le travail de certains contributeurs ou committers vous a particulièrement impressionnés, si des membres de la communauté font selon vous un travail d&#8217;évangélisation et de promotion d&#8217;Eclipse qui mérite d&#8217;être cité, alors n&#8217;hésitez pas à aller vous exprimez sur <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257950" target="_blank">les</a> <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257952" target="_blank">bugs</a> <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=257953" target="_blank">correspondants</a> du bugzilla Eclipse!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/01/30/eclipse-community-awards/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Identifier le deadlock d&#8217;une application Java</title>
		<link>http://blog.benjamin-cabe.com/2009/01/28/identifier-le-deadlock-dune-application-java</link>
		<comments>http://blog.benjamin-cabe.com/2009/01/28/identifier-le-deadlock-dune-application-java#comments</comments>
		<pubDate>Wed, 28 Jan 2009 10:58:35 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[deadlock]]></category>
		<category><![CDATA[jvm]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=220</guid>
		<description><![CDATA[Le wiki Eclipse détaille très clairement la procédure pour obtenir un dump de la JVM au moment précis où celle-ci semble soit complétement bloquée, soit tombée dans un mode dans lequel un thread s&#8217;est emballé et occupe 100% du CPU&#8230; Pour faire court, si vous avez un JDK 1.6 ou supérieur, il ne vous faudra [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:right; margin-left:2em;" title="lock" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/01/443924168_7e6a6d55bb_m1.jpg" alt="lock" width="168" height="240" />Le <a href="http://wiki.eclipse.org" target="_blank">wiki Eclipse</a> détaille très clairement la <a href="http://wiki.eclipse.org/How_to_report_a_deadlock" target="_blank">procédure pour obtenir un dump de la JVM</a> au moment précis où celle-ci semble soit complétement bloquée, soit tombée dans un mode dans lequel un thread s&#8217;est emballé et occupe 100% du CPU&#8230;</p>
<p>Pour faire court, si vous avez un <strong>JDK 1.6</strong> ou supérieur, il ne vous faudra que quelques secondes pour obtenir un état de la pile, puisqu&#8217;il suffit d&#8217;exécuter :</p>
<ul>
<li><strong><span style="font-family: courier new,courier;">jps</span></strong>, afin d&#8217;obtenir le PID de la JVM qui vous intéresse</li>
<li><strong><span style="font-family: courier new,courier;">jstack &lt;pid&gt;</span></strong>, pour obtenir le dump sur la sortie standard</li>
</ul>
<p>Avec une version de JDK plus ancienne, il faut avoir lancé la JVM (de Sun&#8230;) avec l&#8217;option <span style="font-family: courier new,courier;">-Dcom.sun.management.jmxremote</span>. Cela permet de s&#8217;y connecter par la suite avec l&#8217;outil <strong><span style="font-family: courier new,courier;">jconsole</span></strong>. Bien qu&#8217;assez peu contraignante, cette pratique a tout de même l&#8217;inconvénient d&#8217;obliger à savoir à l&#8217;avance que l&#8217;application va tomber dans un deadlock, ce qui n&#8217;est pas toujours le cas&#8230; <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Si vous êtes <strong>sous Linux</strong>, vous avez gagné puisque quelle que soit votre version de Java, un <strong><span style="font-family: courier new,courier;">kill -3 &lt;pid_JVM&gt;</span></strong> fonctionnera à coup sûr !</p>
<p>Le wiki détaille d&#8217;autres procédures, et notamment comment s&#8217;y prendre si l&#8217;on veut obtenir le dump d&#8217;une application à distance.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/01/28/identifier-le-deadlock-dune-application-java/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update sites Eclipse</title>
		<link>http://blog.benjamin-cabe.com/2008/11/14/update-sites-eclipse</link>
		<comments>http://blog.benjamin-cabe.com/2008/11/14/update-sites-eclipse#comments</comments>
		<pubDate>Fri, 14 Nov 2008 16:01:50 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[galileo]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[mise à jour]]></category>
		<category><![CDATA[p2]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=394</guid>
		<description><![CDATA[Parce que j&#8217;en ai marre de galérer à chaque fois que je veux retrouver les URLs des entrepôts p2 d&#8217;Eclipse 3.4, ou des builds d&#8217;intégration de la 3.5, les voici&#8230; Update Site Update Site URL Integration builds toward 3.5 http://download.eclipse.org/eclipse/updates/3.5-I-builds Nightly builds toward 3.5 http://download.eclipse.org/eclipse/updates/3.5-N-builds 3.5 milestones http://download.eclipse.org/eclipse/updates/3.5milestones Maintenance builds toward 3.4.x http://download.eclipse.org/eclipse/updates/3.4.x 3.4.x releases [...]]]></description>
			<content:encoded><![CDATA[<p>Parce que j&#8217;en ai marre de galérer à chaque fois que je veux retrouver les URLs des entrepôts p2 d&#8217;Eclipse 3.4, ou des builds d&#8217;intégration de la 3.5, les voici&#8230;</p>
<table border="1" cellspacing="0" cellpadding="3" align="center">
<tbody>
<tr>
<th>Update Site</th>
<th>Update Site URL</th>
</tr>
<tr>
<td><strong>Integration builds toward 3.5</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.5-I-builds" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.5-I-builds">http://download.eclipse.org/eclipse/updates/3.5-I-builds</a></td>
</tr>
<tr>
<td><strong>Nightly builds toward 3.5</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.5-N-builds" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.5-N-builds">http://download.eclipse.org/eclipse/updates/3.5-N-builds</a></td>
</tr>
<tr>
<td><strong>3.5 milestones</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.5milestones" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.5milestones">http://download.eclipse.org/eclipse/updates/3.5milestones</a></td>
</tr>
<tr>
<td><strong>Maintenance builds toward 3.4.x</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.4.x" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.4.x">http://download.eclipse.org/eclipse/updates/3.4.x</a></td>
</tr>
<tr>
<td><strong>3.4.x releases</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.4" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.4">http://download.eclipse.org/eclipse/updates/3.4</a></td>
</tr>
<tr>
<td><strong>3.5.x releases</strong></td>
<td><a class="external free" title="http://download.eclipse.org/eclipse/updates/3.5" rel="nofollow" href="http://download.eclipse.org/eclipse/updates/3.5">http://download.eclipse.org/eclipse/updates/3.5</a></td>
</tr>
</tbody>
</table>
<p><strong><span style="text-decoration: underline;">Attention</span></strong>, ces entrepôts ne sont pas ceux de Ganymede et de Galileo, ils contiennent simplement le SDK Eclipse !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/11/14/update-sites-eclipse/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Présentation p2 @ Eclipse Now You Can</title>
		<link>http://blog.benjamin-cabe.com/2008/10/21/presentation-p2-eclipse-now-you-can</link>
		<comments>http://blog.benjamin-cabe.com/2008/10/21/presentation-p2-eclipse-now-you-can#comments</comments>
		<pubDate>Tue, 21 Oct 2008 20:43:11 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[p2]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[présentation]]></category>
		<category><![CDATA[provisioning]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=340</guid>
		<description><![CDATA[Voici les transparents de la présentation de p2 que j&#8217;ai réalisée aujourd&#8217;hui lors de l&#8217;évènement Eclipse Now You Can, à Paris. L&#8217;objectif était de présenter les défauts de l&#8217;ancien mécanisme de gestion des mises à jour d&#8217;Eclipse (l&#8217;Update Manager), et d&#8217;indiquer comment ils sont corrigés par son remplaçant : p2. Il est important de comprendre [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left; ">Voici les transparents de la présentation de <strong>p2</strong> que j&#8217;ai réalisée aujourd&#8217;hui lors de l&#8217;évènement Eclipse Now You Can, à Paris.</div>
<div style="text-align: left; "></div>
<div style=" text-align: center;"><object width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=p2export-1224618845638332-8&amp;stripped_title=p2-the-new-eclipse-provisioning-system-presentation" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=p2export-1224618845638332-8&amp;stripped_title=p2-the-new-eclipse-provisioning-system-presentation" /><param name="allowfullscreen" value="true" /></object></div>
<div style="text-align: left; "></div>
<div style="text-align: left; ">L&#8217;objectif était de présenter les défauts de l&#8217;ancien mécanisme de gestion des mises à jour d&#8217;Eclipse (l&#8217;<strong>Update Manager</strong>), et d&#8217;indiquer comment ils sont corrigés par son remplaçant : p2.</div>
<div style="text-align: left; "></div>
<div style="text-align: left; ">Il est important de comprendre que <strong>p2 </strong>est à la fois un <strong>outil </strong>&#8220;fini&#8221; utilisable par tout développeur voulant simplifier la gestion de ses installations Eclipse, mais aussi –et surtout– une <strong>plateforme</strong> tout à fait générique pour adresser les multiples problématiques liées au <strong>déploiement </strong>(et pas nécessairement dans un contexte pur Eclipse&#8230;)</div>
<div style="text-align: left; "></div>
<div style="text-align: left; ">Enfin, j&#8217;ai énuméré une (petite) partie des évolutions en cours de développement pour la prochaine version d&#8217;Eclipse (Galileo) : définition d&#8217;une véritable <strong>API</strong> p2, amélioration de l&#8217;<strong>utilisabilité</strong>, création d&#8217;outils pour gérer les entrepôts p2, etc.</div>
<div style="text-align: left; ">
<hr /></div>
<div style="text-align: left; "><em><strong>NDR : il est possible que votre aggrégateur de flux RSS n&#8217;affiche pas correctement l&#8217;animation Flash contenant les slides de la présentation, auquel cas je vous invite à consulter ce post directement sur le blog !</strong></em></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/10/21/presentation-p2-eclipse-now-you-can/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sortie de uDig 1.1.0</title>
		<link>http://blog.benjamin-cabe.com/2008/10/18/sortie-de-udig-1_1</link>
		<comments>http://blog.benjamin-cabe.com/2008/10/18/sortie-de-udig-1_1#comments</comments>
		<pubDate>Sat, 18 Oct 2008 06:58:39 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[cartographie]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[rcp]]></category>
		<category><![CDATA[sig]]></category>
		<category><![CDATA[udig]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=316</guid>
		<description><![CDATA[L&#8217;outil de cartographie Open Source (licence LGPL) vient de sortir sa version 1.1, et je vous encourage vivement à y jeter un coup d&#8217;oeil (bon, il faut télécharger 90 Mo&#8230;), car c&#8217;est un outil assez bluffant dans sa catégorie ! uDig propose une application Eclipse RCP permettant la visualisation et l&#8217;édition d&#8217;un grand nombre de [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;<strong>outil de cartographie Open Source</strong> (licence LGPL) vient de sortir sa version 1.1, et je vous encourage vivement à y jeter un coup d&#8217;oeil (bon, il faut télécharger 90 Mo&#8230;), car c&#8217;est un outil assez bluffant dans sa catégorie !</p>
<p><strong>uDig</strong> propose une application Eclipse <strong>RCP</strong> permettant la visualisation et l&#8217;édition d&#8217;un grand nombre de formats de données géospatiales (fichiers shapefile, GeoTIFF, services web WFS et WMS, bases Oracle Spatial, PostGIS, etc.) par des utilisateurs pas nécessairement familiers de l&#8217;outil informatique. En effet, un gros effort est porté sur l&#8217;ergonomie de l&#8217;outil, ainsi que sur son internationalisation (italien, français, espagnol, coréen, &#8230; basque !, &#8230;).</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.benjamin-cabe.com/wp-content/uploads/2008/10/udig11.png" alt="" width="400" height="300" /></p>
<p>Pour les curieux, un peu plus d&#8217;infos sur cette nouvelle release ici :</p>
<ul>
<li><a href="http://udig-news.blogspot.com/2008/10/udig-110-released.html">http://udig-news.blogspot.com/2008/10/udig-110-released.html</a></li>
</ul>
<p>Pour télécharger (Windows, MacOSX &amp; Linux), c&#8217;est par là-bas :</p>
<ul>
<li><a href="http://udig.refractions.net/download/">http://udig.refractions.net/download/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/10/18/sortie-de-udig-1_1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Français) Une nouvelle série de formations Eclipse dans 31 villes</title>
		<link>http://blog.benjamin-cabe.com/2008/09/24/une-nouvelle-serie-de-formations-eclipse-dans-31-villes</link>
		<comments>http://blog.benjamin-cabe.com/2008/09/24/une-nouvelle-serie-de-formations-eclipse-dans-31-villes#comments</comments>
		<pubDate>Wed, 24 Sep 2008 17:52:05 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[anyware]]></category>
		<category><![CDATA[rcp]]></category>
		<category><![CDATA[technologies]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=285</guid>
		<description><![CDATA[Sorry, this entry is only available in Français.]]></description>
			<content:encoded><![CDATA[<p>Sorry, this entry is only available in <a href="http://blog.benjamin-cabe.com/fr/tag/eclipse/feed">Français</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/09/24/une-nouvelle-serie-de-formations-eclipse-dans-31-villes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT 1.5 est de sortie !</title>
		<link>http://blog.benjamin-cabe.com/2008/08/29/gwt-15-est-de-sortie</link>
		<comments>http://blog.benjamin-cabe.com/2008/08/29/gwt-15-est-de-sortie#comments</comments>
		<pubDate>Fri, 29 Aug 2008 22:22:12 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[1.5]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[emf]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=268</guid>
		<description><![CDATA[3 mois, presque jour pour jour, après la RC1, voici enfin la version 1.5 de GWT, qui devrait mettre du piment dans la vie de pas mal de développeurs (private joke inside) ! Vous le savez peut-être, mais l&#8217;apport majeur de cette nouvelle version du framework Google de développement d&#8217;applications Web est le support de [...]]]></description>
			<content:encoded><![CDATA[<p><a title="lgo-gwt" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/03/logo.png" rel="lightbox[268]"><img style="float: right; margin-left: 28px; margin-bottom: 10px" src="http://blog.benjamin-cabe.com/wp-content/uploads/2008/03/logo.png" alt="lgo-gwt" /></a>3 mois, presque jour pour jour, après la RC1, voici enfin la version 1.5 de GWT, qui devrait mettre du piment dans la vie de pas mal de développeurs <em>(private joke inside)</em> !</p>
<p>Vous le savez peut-être, mais l&#8217;apport majeur de cette nouvelle version du framework Google de développement d&#8217;applications Web est le <strong>support de Java 5</strong> : generics, boucles &#8220;for each&#8221;, etc.</p>
<p>Même si certaines APIs peuvent vous manquer (impossible de faire de l&#8217;introspection par exemple <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  ), l&#8217;émulation de la JRE est particulièrement complète et d&#8217;une utilisation tout à fait transparente.<br />
La compatibilité est d&#8217;ailleurs telle que l&#8217;on peut tout à fait <a href="http://tom-eclipse-dev.blogspot.com/2007/11/emf-databinding-gwt-15-it-works.html">faire tourner le noyau d&#8217;EMF</a> (oui oui !) sur GWT.</p>
<p>Parmi les autres nouveautés, il faut noter :</p>
<ul>
<li>amélioration des <strong>performances</strong> (tant au niveau de la compilation que de l&#8217;exécution),</li>
<li>mécanisme de <strong>styling</strong> simplifié</li>
<li>support du <strong>BiDi</strong> (inversion de l&#8217;IHM de droite à gauche pour des langues comme l&#8217;arabe)</li>
<li>couche d&#8217;interaction Javascript, pour <strong>accéder en Java à des librairies Javascript legacy</strong></li>
</ul>
<p>De plus amples information sur le <a href="http://googlewebtoolkit.blogspot.com/2008/08/gwt-15-now-available.html">blog officiel</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/08/29/gwt-15-est-de-sortie/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ouvrir une URL dans le navigateur interne d&#8217;Eclipse</title>
		<link>http://blog.benjamin-cabe.com/2008/08/07/ouvrir-une-url-dans-le-navigateur-interne-declipse</link>
		<comments>http://blog.benjamin-cabe.com/2008/08/07/ouvrir-une-url-dans-le-navigateur-interne-declipse#comments</comments>
		<pubDate>Thu, 07 Aug 2008 17:38:16 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[workbench]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=249</guid>
		<description><![CDATA[Pour ouvrir une URL (par un clic sur un widget SWT &#8220;Link&#8221;, par exemple) dans le navigateur Web interne d&#8217;Eclipse, il suffit de faire ceci : [sourcecode language='java'] PlatformUI.getWorkbench(). getBrowserSupport(). createBrowser(&#8220;myId&#8221;). openURL(url); [/sourcecode] myId étant un identifiant unique qui permet, éventuellement, de réutiliser le même navigateur pour ouvrir d&#8217;autres pages. NB : il existe une [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ouvrir une URL (par un clic sur un widget SWT &#8220;Link&#8221;, par exemple) dans le navigateur Web interne d&#8217;Eclipse, il suffit de faire ceci :</p>
<p>[sourcecode language='java']<br />
PlatformUI.getWorkbench().<br />
            getBrowserSupport().<br />
            createBrowser(&#8220;myId&#8221;).<br />
            openURL(url); [/sourcecode]</p>
<p><span style="font-family: courier new,courier;">myId</span> étant un identifiant unique qui permet, éventuellement, de réutiliser le même navigateur pour ouvrir d&#8217;autres pages.</p>
<p><em><strong>NB :</strong></em> il existe une version de la méthode createBrowser() qui prend en paramètre un style, permettant de préciser si l&#8217;on veut afficher ou non la barre d&#8217;URL, la barre de navigation, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/08/07/ouvrir-une-url-dans-le-navigateur-interne-declipse/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mirroring p2</title>
		<link>http://blog.benjamin-cabe.com/2008/07/09/mirroring-p2</link>
		<comments>http://blog.benjamin-cabe.com/2008/07/09/mirroring-p2#comments</comments>
		<pubDate>Wed, 09 Jul 2008 20:41:42 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[mirroring]]></category>
		<category><![CDATA[p2]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=193</guid>
		<description><![CDATA[Une des fonctionnalités apportées par p2 est de pouvoir facilement créer des miroirs d&#8217;entrepôts de métadonnées et d&#8217;artefacts. J&#8217;essaierai de préciser dans les jours à venir quelques notions clés de p2 comme celles-ci ; mais en attendant, vous pouvez d&#8217;ores et déjà —coucou David !— réaliser un miroir de l&#8217;entrepôt Ganymede, et le partager avec vos [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/camil_t/82021585/"><img style="float:left; margin-right:15px; " title="miroir" src="http://blog.benjamin-cabe.com/wp-content/uploads/2008/07/82021585_22046a7621_m.jpg" alt="Miroir" width="160" height="240" /></a>Une des fonctionnalités apportées par p2 est de pouvoir facilement créer des <strong>miroirs</strong> d&#8217;entrepôts de métadonnées et d&#8217;artefacts.</p>
<p>J&#8217;essaierai de préciser dans les jours à venir quelques notions clés de p2 comme celles-ci ; mais en attendant, vous pouvez d&#8217;ores et déjà —<em>coucou David !</em>— réaliser un miroir de l&#8217;entrepôt Ganymede, et le partager avec vos collègues !<br />
D&#8217;ailleurs, cela me fait penser qu&#8217;il faudrait que je vérifie si celui que j&#8217;ai fait à Anyware est bien d&#8217;équerre&#8230; <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Le miroir de l&#8217;entrepôt d&#8217;artéfacts (i.e. les binaires des plug-ins et des features) se réalise de la façon suivante :</p>
<p>[sourcecode language='java']./eclipse -nosplash<br />
-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication<br />
-source http://download.eclipse.org/releases/ganymede<br />
-destination file:/home/benjamin/miroirArtefactsGanymede[/sourcecode]</p>
<p>Même principe pour celui de métadonnées (basiquement, ce sont les descriptions des dépendances entre chaque élément de l&#8217;entrepôt)</p>
<p>[sourcecode language='java']./eclipse -nosplash<br />
-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication<br />
-source http://download.eclipse.org/releases/ganymede<br />
-destination file:/home/benjamin/miroirMetadonneesGanymede[/sourcecode]</p>
<p><span style="text-decoration: underline;"><em>Nota :</em></span> Il n&#8217;est à l&#8217;heure actuelle pas possible de descendre dans le même dossier local les deux entrepôts, mais vous pouvez tout à faire la manip&#8217; manuellement. Il suffit de recopier le fichier <span style="font-family: courier new,courier;">content.xml</span> de l&#8217;entrepôt de métadonnées à côté du fichier <span style="font-family: courier new,courier;">artifacts.xml</span> de celui d&#8217;artéfacts, et le tour sera joué !</p>
<p><em><span style="text-decoration: underline;">Nota2 :</span></em> <strong>Attention</strong>, le mirroring des artéfacts est <span style="text-decoration: underline;"><strong>très</strong></span> long (plusieurs heures). En effet, on demande bien à ne répliquer qu&#8217;un et un seul miroir, et on ne peut donc pas bénéficier du téléchargement simultanés de plusieurs artéfacts depuis plusieurs miroirs (parfois très rapides) comme cela peut se faire dans l&#8217;utilisation habituelle de p2&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/07/09/mirroring-p2/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Changer la variable ${user}</title>
		<link>http://blog.benjamin-cabe.com/2008/07/08/changer-la-variable-user</link>
		<comments>http://blog.benjamin-cabe.com/2008/07/08/changer-la-variable-user#comments</comments>
		<pubDate>Tue, 08 Jul 2008 07:48:19 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=201</guid>
		<description><![CDATA[Lorsque vous créez une nouvelle classe Java, Eclipse utilise par défaut le template de code suivant pour générer sa Javadoc : [sourcecode language='java']/** * @author ${user} * */[/sourcecode] Vous aurez sûrement remarqué que ${user} est remplacé par le login que vous utilisez dans votre OS, et ce n&#8217;est pas toujours ce que l&#8217;on veut. Ainsi,  [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsque vous créez une nouvelle classe Java, Eclipse utilise par défaut le template de code suivant pour générer sa Javadoc :</p>
<p>[sourcecode language='java']/**<br />
* @author ${user}<br />
*<br />
*/[/sourcecode]</p>
<p>Vous aurez sûrement remarqué que <strong><span style="font-family: courier new,courier;">${user}</span></strong> est remplacé par le <em>login</em> que vous utilisez dans votre OS, et ce n&#8217;est pas toujours ce que l&#8217;on veut.</p>
<p>Ainsi,  pour employer un nom d&#8217;utilisateur plus parlant que votre simple login, il vous suffit de passer la propriété<strong><span style="font-family: courier new,courier;"> user.name</span></strong> à votre Eclipse, afin de surcharger la valeur que Java lui attribue par défaut.<br />
Ce qui donne, par exemple (vous pouvez bien sûr, et c&#8217;est même conseillé, faire cela en modifiant directement le fichier <span style="font-family: courier new,courier;">eclipse.ini</span>):</p>
<p>[sourcecode language='java']eclipse.exe -vmargs -Duser.name=&#8221;Benjamin Cabé&#8221;[/sourcecode]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/07/08/changer-la-variable-user/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>OSGi en bref : La directive singleton</title>
		<link>http://blog.benjamin-cabe.com/2008/06/25/osgi-en-bref-la-directive-singleton</link>
		<comments>http://blog.benjamin-cabe.com/2008/06/25/osgi-en-bref-la-directive-singleton#comments</comments>
		<pubDate>Wed, 25 Jun 2008 21:55:21 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pde]]></category>
		<category><![CDATA[singleton]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=179</guid>
		<description><![CDATA[En développant vos plug-ins, vous avez peut-être un jour été confronté à une erreur, à première vue obscure, due à une directive singleton soit disant manquante&#8230; En effet, le PDE lève une erreur lorsqu&#8217;un plug-in qui n&#8217;est pas &#8220;singleton&#8221; souhaite définir des extensions ou des points d&#8217;extension. Pourquoi, et qu&#8217;est-ce au juste que cette directive  [...]]]></description>
			<content:encoded><![CDATA[<p>En développant vos plug-ins, vous avez peut-être un jour été confronté à une erreur, à première vue obscure, due à une directive singleton soit disant manquante&#8230;<br />
En effet, le PDE lève une erreur lorsqu&#8217;un plug-in qui n&#8217;est pas &#8220;<strong>singleton</strong>&#8221; souhaite définir des extensions ou des points d&#8217;extension.</p>
<p><strong>Pourquoi, et qu&#8217;est-ce au juste que cette directive  ?</strong></p>
<table border="1" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td style="text-align: center;">
<p style="text-align: center;"><span style="font-family: courier new,courier;">Bundle-SymbolicName: com.acme.module.test; singleton:=true</span></p>
</td>
</tr>
</tbody>
</table>
<p>Dans la <strong>norme OSGi</strong>, il est indiqué que &#8220;<strong><span style="font-family: courier new,courier;">singleton</span></strong>&#8221; (renseigné dans l&#8217;entrée de MANIFEST <span style="font-family: courier new,courier;">Bundle-SymbolicName</span>) doit être placé à <span style="font-family: courier new,courier;">true</span> lorsque l&#8217;on souhaite interdire la résolution par le framework de plusieurs versions d&#8217;un même bundle.</p>
<p>C&#8217;est donc tout à fait logique qu&#8217;un plug-in amenant des extensions ou des points d&#8217;extension soit impérativement un singleton ; car il serait sans cela très difficile, voire impossible, de gérer les différentes versions résolues au runtime&#8230;<br />
Imaginez simplement un plug-in amenant une vue, que l&#8217;on pourrait déployer dans deux, trois, &#8230; versions différentes au sein du même Eclipse : à quoi devrait-on s&#8217;attendre lors de l&#8217;affichage du menu &#8220;Show View &gt; Other&#8230;&#8221; ???</p>
<p>Dans le cas où on écrit un plug-in n&#8217;amenant ni extension ni point d&#8217;extension —un <strong>plug-in de librairies</strong>, par exemple—, on sera en revanche ravi de pouvoir dire que ce n&#8217;est pas un singleton (c&#8217;est le comportement par défaut), et ainsi <strong>faire coexister différentes versions</strong> de nos librairies dans le même Eclipse. C&#8217;est d&#8217;ailleurs exactement ce qui se passe avec les plug-ins ICU, Ant ou log4j, dont les utilisateurs viennent dépendre en venant préciser le numéro (ou l&#8217;intervalle) de version qui les intéresse&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/06/25/osgi-en-bref-la-directive-singleton/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
