<?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>Jmini Dev &#187; Eclipse Scout</title>
	<atom:link href="https://blog.developpez.com/jmini/pcategory/eclipse/eclipse-scout/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/jmini</link>
	<description></description>
	<lastBuildDate>Wed, 05 Nov 2014 05:00:21 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Intégrer des diagrammes BIRT dans une application Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p12329/eclipse/eclipse-scout/diagrammes-birt-eclipse-scout</link>
		<comments>https://blog.developpez.com/jmini/p12329/eclipse/eclipse-scout/diagrammes-birt-eclipse-scout#comments</comments>
		<pubDate>Sat, 16 Nov 2013 13:33:07 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Eclipse BIRT]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=195</guid>
		<description><![CDATA[Dans mon application MCQS je représente les réponses aux questions sous forme de diagramme. Je viens de remplacer ma petite solution maison contre une vraie librairie chargée de calculer les diagrammes : Eclipse BIRT (Eclipse Charting Engine). Le résultat obtenu fait tout de suite beaucoup plus professionnel : J’avais déjà utilisé JFreeChart il y a longtemps… Mais [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dans mon application MCQS je représente les réponses aux questions sous forme de diagramme. Je viens de remplacer ma petite solution maison contre une vraie librairie chargée de calculer les diagrammes : <strong>Eclipse BIRT (Eclipse Charting Engine)</strong>.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/birt_logo.png" alt="birt_logo" width="150" height="30" class="aligncenter size-full wp-image-196" /></p>
<p>Le résultat obtenu fait tout de suite beaucoup plus professionnel :</p>
<p><a href="http://blog.developpez.com/jmini/files/2013/11/avant_apres.png"><img src="http://blog.developpez.com/jmini/files/2013/11/avant_apres.png" alt="avant_apres" width="795" height="450" class="aligncenter size-full wp-image-197" /></a></p>
<p>J’avais déjà utilisé JFreeChart il y a longtemps… Mais BIRT étant un projet Eclipse sous licences EPL, je l’avais mis depuis longtemps sur ma liste des choses à regarder. Le projet Eclipse BIRT est assez vaste, en fait c’est une solution de Business Intelligence complet qui est comparable à la suite Jaspersoft. Je me concentre ici sur le module Eclipse Charting Engine de BIRT : c’est lui qui dessine les diagrammes et qui est donc plus comparable à JFreeChart.<br />
<span id="more-195"></span></p>
<p>Finalement, ces librairies fonctionnent de la même manière. Au travers d’une API le modèle du diagramme est défini : le type de diagramme, les différentes séries qui vont être représentées, les éléments graphiques (couleur, légende, titre…).<br />
Pour s’en sortir, rien ne vaut une petite recherche Google pour trouver les extraits de codes qui permettent de partir d’un exemple déjà défini. Je suis surpris de ne pas trouver de galerie présentant les différents types de diagramme (histogramme, diagramme circulaire…). D’autant plus qu’il existe un projet contenant des exemples: <a href="http://git.eclipse.org/c/birt/org.eclipse.birt.git/tree/chart/org.eclipse.birt.chart.examples">org.eclipse.birt.chart.examples</a></p>
<p>Rapidement j’ai obtenu ce que je souhaitais… La plus grande difficulté concerne les dépendances… En fait le morceau de code que j’avais trouvé marchait bien en Java SE, mais j’ai mis un certain temps à comprendre comment cela fonctionnait dans mon application Eclipse Scout. Sans y faire attention (ayant copié collé du code venant de StackOverflow), j’utilisais le mode STANDALONE de BIRT. Dans une application Eclipse Scout, on est évidemment dans un contexte OSGi.</p>
<p><a href="http://blog.developpez.com/jmini/files/2013/11/mcqs_swing.png"><img src="http://blog.developpez.com/jmini/files/2013/11/mcqs_swing.png" alt="mcqs_swing" width="740" height="675" class="aligncenter size-full wp-image-198" /></a></p>
<p><strong>Aller plus loin :</strong><br />
Pour aller plus loin, il me semble que passer par le champ SVG d’Eclipse Scout n’est pas vraiment une bonne solution. D’après ce que j’ai vu, BIRT dispose de widgets d’affichage pour Swt et Swing. Il serait plus malin d’avoir un ChartField dans Eclispe Scout avec les renderer appropriés.</p>
<p>Une autre réflexion à mener concerne la répartition client server de la logique de diagramme. Il me semble que BIRT propose un découpage plutôt intéressant qu’il serait possible de reprendre en réfléchissant à l’intégration client/serveur.</p>
<p>Au final l’utilisation d’Eclipse BIRT Chart-Engine se révèle être une bonne expérience.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mes trois EclipseCon en 2013</title>
		<link>https://blog.developpez.com/jmini/p12310/eclipse/eclipse-scout/mes-trois-eclipsecon-en-2013</link>
		<comments>https://blog.developpez.com/jmini/p12310/eclipse/eclipse-scout/mes-trois-eclipsecon-en-2013#comments</comments>
		<pubDate>Mon, 04 Nov 2013 05:40:02 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[EclipseCon]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=188</guid>
		<description><![CDATA[J’ai eu la chance de participer aux trois EclipseCon de 2013 (Boston, Toulouse et Ludwigsburg en Allemagne). J’y étais pour présenter Eclipse Scout, le framework de création d’application métier que nous développons avec mon entreprise au sein de la fondation Eclipse. Après avoir été nommé comiteur en début d’année, je travaille maintenant sur ce projet [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J’ai eu la chance de participer aux trois EclipseCon de 2013 (<a href="http://eclipsecon.org/2013/">Boston</a>, <a href="http://eclipsecon.org/france2013/">Toulouse</a> et <a href="http://eclipsecon.org/europe2013/">Ludwigsburg</a> en Allemagne). J’y étais pour présenter <a href="http://eclipse.org/scout/">Eclipse Scout</a>, le framework de création d’application métier que nous développons avec mon entreprise au sein de la fondation Eclipse. Après avoir été nommé comiteur en début d’année, je travaille maintenant sur ce projet à plein temps. EclipseCon, c’est la conférence de la fondation Eclipse, un véritable rendez-vous pour la communauté.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipsecon_badges.jpg" alt="eclipsecon_badges" width="500" height="375" class="aligncenter size-full wp-image-189" /></p>
<p>Pour moi, chacune de ces EclipseCon m’a donné la possibilité de rencontrer des gens, de replacer les choses dans leur contexte, de réexpliquer notre projet en partant du début… Voici quelques réflexions que je souhaite partager ici.<br />
<span id="more-188"></span></p>
<p>A la différence d’autres stands consacrés à la promotion d’outils payants, nous présentons un projet Eclipse. J’ai été surpris de voir qu’il y a toujours de la pédagogie à faire. Un projet Eclipse cela signifie : du code open-source, du code dont la licence permet une réutilisation, y compris dans des projets commerciaux, et enfin du code dont la propriété intellectuelle a été contrôlée. Plusieurs fois les visiteurs du stand n’imaginaient pas qu’ils allaient pouvoir utiliser ce que nous montrons gratuitement, sans aucun engagement. Evidemment mon entreprise propose des préstations commerciales autour des projets Eclipse. Mais ce n’est qu’une possibilité, pas une obligation.</p>
<p>Pour Eclipse scout les signaux sont bons. J’ai présenté ce framework la première fois en 2011 lors d’un <a href="http://www.eclipsedayparis.com/">Eclipse Day à Paris</a>. A l’époque il fallait beaucoup justifier ce que nous proposions. Même si le projet Scout existe en interne dans notre entreprise depuis plus de 10 ans, passer en open-source c’est se trouver sur la place publique au milieu de tout ce qui existe déjà. Aujourd’hui davantage de gens nous connaissent déjà ou ont envie de savoir qui nous sommes. Nous avons des éléments tangibles pour montrer ce que nous faisons : <a href="http://wiki.eclipse.org/Scout/Demo">nos applications de démonstration</a>, <a href="http://www.eclipse.org/forums/eclipse.scout">notre forum</a>, <a href="http://wiki.eclipse.org/Scout/Book/">notre livre à télécharger</a> (voir aussi les <a href="http://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours">premiers retours</a> sur le livre eclipse scout).</p>
<p>Parler avec les visiteurs de la conférence, c’est l’occasion de se (re)définir : nous sommes un framework pour réaliser des applications métiers, avec une architecture client-serveur. Notre force est de ne pas dépendre d’une librairie graphique en particulier, mais de proposer une couche d’abstraction dans laquelle nos formulaires sont définis. Cela permet de suivre les évolutions du marché sans avoir à tout réécrire. Les applications que nous développons avec Eclipse Scout ont un cycle de vie assez long : disons au-delà de 10 ans. Or les librairies graphiques, les plateformes applicatives, les attentes des utilisateurs en termes de charte graphique évoluent. Pouvoir en profiter, en mutualisant les coûts au niveau d’un framework est un avantage. C’est le message que mes collègues ont essayé de faire passer durant <a href="http://eclipsecon.org/europe2013/which-ui-technology-should-i-marry" title="Which UI technology should I marry?">leur talk</a>.</p>
<p>Montrer Eclipse Scout c’est l’occasion de redécouvrir ce que nous faisons et ce que nous proposons. Le premier soir j’ai relu mes articles de 2011 <a href="http://blog.developpez.com/jmini/p10074/eclipse/scout/nouveau-eclipse-scout/" title="Nouveau avec Indigo : Eclipse Scout">sur</a> <a href="http://blog.developpez.com/jmini/p10412/eclipse/scout/mieux-comprendre-eclipse-scout/" title="Quelques points pour mieux comprendre Eclipse Scout">ce</a> <a href="http://blog.developpez.com/jmini/p11115/eclipse/eclipse-scout/eclipse_scout_applications_entreprise" title="Eclipse Scout, fait pour les applications d'entreprises ?">blog</a>. Beaucoup de choses sont toujours valables. De plus à l’époque j’avais une vision neuve du projet. Les applications Eclipse Scout disposent par défaut de plusieurs éléments vraiment intéressants pour les utilisateurs finaux. Par exemple toutes les tables qui affichent des données peuvent être réorganisées par les utilisateurs (tri multiple, filtre, ordre des colonnes…). Il est facile d’y brancher un export vers Excel. Les champs de saisie disposent de nombreuses petites fonctionnalités qui facilitent le travail au quotidien. Ce sont des avantages indéniables pour les utilisateurs des applications réalisées avec Eclipse Scout. Cela leur facilite la vie dans leur travail quotidien. Sans Eclipse Scout, ce sont autant de choses qu’il faudrait redévelopper à chaque fois.</p>
<p>Un dernier très bon moment de ce dernier EclipseCon en Allemagne : mon interview avec <a href="http://www.infoq.com/fr">InfoQ France</a>… Une vidéo devait bientôt être mise en ligne.</p>
<p>Je n’ai pas résisté à l’envie de mettre quelques photos :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_boston.jpg" alt="EclipseCon 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-190" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_toulouse.jpg" alt="EclipseCon France 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-191" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_ludwigsburg.jpg" alt="EclipseCon Europe 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-192" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le livre Eclipse Scout &#8211; Quelques retours</title>
		<link>https://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours</link>
		<comments>https://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours#comments</comments>
		<pubDate>Sun, 25 Aug 2013 08:23:11 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[publication]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=155</guid>
		<description><![CDATA[Matthias Zimmerman a écrit un livre sur Eclipse Scout. Sous une licence libre, ce livre est consultable en ligne (html, pdf, epub). En anglais, ce livre donne un bon aperçu des possibilités d&#8217;Eclipse scout au travers de deux tutoriaux. Un chapitre est consacré aux outils « Scout SDK » intégrés à Eclipse, qui permettent un [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Matthias Zimmerman a écrit un livre sur Eclipse Scout. Sous une licence libre, ce livre est consultable en ligne (<a href="http://tools.bsiag.com/scoutbook/3.9/latest/html/book.html" title="Eclipse Scout book (html)">html</a>, <a href="http://tools.bsiag.com/scoutbook/3.9/latest/pdf/book.pdf" title="Eclipse Scout Book (pdf)">pdf</a>, <a href="http://tools.bsiag.com/scoutbook/3.9/latest/epub/book.epub">epub</a>).</p>
<p>En anglais, ce livre donne un bon aperçu des possibilités d&rsquo;Eclipse scout au travers de deux tutoriaux. Un chapitre est consacré aux outils « Scout SDK » intégrés à Eclipse, qui permettent un accès facile à Eclipse Scout et un développement efficace. Le tout commençant par un chapitre d&rsquo;introduction donnant en quelques pages une description d&rsquo;Eclipse Scout et sa philosophie.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/08/scout_book.png" alt="Eclipse Scout Book" width="414" height="596" class="size-full wp-image-156" /></p>
<p>J&rsquo;avais envie de partager quelques notes sur les coulisses de rédaction du livre.<br />
<span id="more-155"></span></p>
<p>L&rsquo;infrastructure du livre a été pensée avec les valeurs de l&rsquo;open source. Le code est sur GitHub, le contenu est au format Creative Commons (<a href="https://creativecommons.org/licenses/by/3.0/">CC-BY</a>), les scripts de compilation sont fournis (les livrables sont générés avec LaTeX).</p>
<p>Si durant la phase de rédaction il a eu peu de retours, le fait de « sortir » une première version du livre a fait bouger les choses. Les premières contributions arrivent : certaines personnes souhaitant creuser certains sujets ont posé des questions dans <a href="http://www.eclipse.org/forums/eclipse.scout" title="Forum Eclipse Scout">notre forum</a>. D&rsquo;autres ont <a href="https://github.com/BSI-Business-Systems-Integration-AG/scoutbook/issues?state=open">ouvert des tickets sur GitHub</a> pour signaler des coquilles de frappe. Enfin les personnes les plus à l&rsquo;aise avec Git et GitHub ont envoyés des changements par commit git. Ces retours ont de la valeur. Ils améliorent le produit final.</p>
<p>Il s&rsquo;agit d&rsquo;une première version. Certaines ambitions ont dû être revues à la baisse pour pouvoir sortir cette version en coïncidence avec le release train Eclipse (Kepler en juin 2013). L&rsquo;idée est de fixer les bugs sur la version Kepler et d&rsquo;enrichir le livre dans le courant de l&rsquo;année pour revenir en juin 2014 avec une version Luna plus étoffée.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Scout: obtenir une version web mobile de son application</title>
		<link>https://blog.developpez.com/jmini/p12150/eclipse/eclipse-scout/eclipse-scout-mobile</link>
		<comments>https://blog.developpez.com/jmini/p12150/eclipse/eclipse-scout/eclipse-scout-mobile#comments</comments>
		<pubDate>Fri, 26 Jul 2013 05:27:05 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Mcqs]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=133</guid>
		<description><![CDATA[La version 3.9 d’Eclipse Scout livrée avec Kepler (nom du release train Eclipse 2013) permet d’obtenir une version mobile de son application. Je viens de porter ma petite application de QCM (série d’articles sur mcqs, site du projet, tutoriel – premiers pas avec Eclipse Scout) sur cette nouvelle version me permettant ainsi d’obtenir une déclinaison [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La version 3.9 d’<a href="http://eclipse.org/scout/">Eclipse Scout</a> livrée avec Kepler (nom du release train Eclipse 2013) permet d’obtenir une version mobile de son application. Je viens de porter ma petite application de QCM (<a href="http://blog.developpez.com/jmini/pcategory/demo/mcqs">série d’articles sur mcqs</a>, <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/">site du projet</a>, <a href="http://jmini.developpez.com/eclipse_scout/articles/premiers_pas/">tutoriel – premiers pas avec Eclipse Scout</a>) sur cette nouvelle version me permettant ainsi d’obtenir une déclinaison mobile de mon application. </p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_mobile.png" alt="Version mobile de MCQS dans un iPhone" width="388" height="809" class="size-full wp-image-134" /></p>
<p>C’est une possibilité de plus qui confirme la stratégie multi front-end d’Eclipse Scout. En effet la même application peut-être rendue sous différente forme : application desktop, application web et maintenant application web mobile.<br />
<span id="more-133"></span></p>
<p>Depuis toujours, une idée principale d’Eclipse Scout consiste en une surcouche pour définir l’application qui soit indépendante de toute librairie graphique (SWT ou Swing). Les formulaires ainsi que les champs qu’ils contiennent sont définis dans un modèle d’application qui sera rendu sous forme d’interface graphique à l’exécution. Cette technique permet d’obtenir plusieurs déclinaisons de la même application :</p>
<p>Version SWT :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_swt.png" alt="Version SWT de MCQS" width="583" height="590" class="aligncenter size-full wp-image-136" /></p>
<p>Version Swing :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_swing_rayo.png" alt="Version Swing de MCQS" width="571" height="572" class="aligncenter size-full wp-image-137" /></p>
<p>Version web :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_web.png" alt="Version Web de MCQS" width="574" height="575" class="aligncenter size-full wp-image-138" /></p>
<p>Le mobile étant une plateforme différente, il a fallu ajouter une étape supplémentaire lors du rendu. Les composants sont adaptés pour tenir compte des spécifiés de la plateforme. Voici quelques exemples :</p>
<p><strong>Smartfield :</strong></p>
<p>Le smartfield est un champ assez puissant : à la manière d’un combo-box, il permet de choisir parmi plusieurs choix. Il est également possible de saisir du texte dans le champ pour réduire les choix proposés. En version mobile, pour reproduire toutes ces possibilités, il a fallu ajouter une vue annexe sur la droite.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_smartfield_desktop.png" alt="SmartField Desktop" width="382" height="247" class="aligncenter size-full wp-image-140" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_smartfield_mobile.png" alt="SmartField Mobile" width="643" height="444" class="aligncenter size-full wp-image-141" /></p>
<p><strong>Absence de menu contextuel :</strong></p>
<p>L’action proposée dans le menu contextuel apparait sous forme de bouton sous la table.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_contextmenu_desktop.png" alt="Menu contextuel Desktop" width="477" height="495" class="aligncenter size-full wp-image-142" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_contextmenu_mobile.png" alt="Menu contextuel mobile" width="320" height="444" class="aligncenter size-full wp-image-143" /></p>
<p><strong>Représentation des tableaux :</strong></p>
<p>La largeur offerte par le téléphone est limitée. La hauteur des lignes d’un tableau doit être suffisante pour permettre une sélection avec le doigt « sélection touch ». Du coup, les colonnes d’un tableau sont rassemblées sous forme de lignes dans une cellule plus haute. Les colonnes d’une ligne du tableau vont être représentées dans un formulaire annexe accessible en sélectionnant une cellule dans la liste mobile.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_desktop.png" alt="Table Desktop" width="521" height="506" class="aligncenter size-full wp-image-144" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_mobile.png" alt="Table Mobile" width="644" height="444" class="aligncenter size-full wp-image-145" /></p>
<p>L’action principale du menu contextuel (celle qui aurait été proposée en double cliquant sur la ligne du tableau) et qui correspond souvent à l’opération d’édition se retrouve déportée en haut à droite. Les opérations restantes sont disponibles dans un menu supplémentaire.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_action_desktop.png" alt="Menu dans table Desktop" width="479" height="495" class="aligncenter size-full wp-image-146" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_action_mobile.png" alt="Menu dans table Mobile" width="320" height="444" class="aligncenter size-full wp-image-147" /></p>
<p><strong>Masquer certaines fonctionnalités :</strong></p>
<p>Toutes les fonctionnalités ne font pas forcément sens sur mobile. Pour mon application, j’ai décidé de masquer la représentation sous forme graphique (déjà rudimentaire dans la version desktop) en supprimant l’onglet correspondant.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_tabs_desktop.png" alt="Onglets Desktop" width="625" height="463" class="aligncenter size-full wp-image-150" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_tabs_mobile.png" alt="Onglets Mobile" width="320" height="444" class="aligncenter size-full wp-image-151" /></p>
<p><strong>En conclusion</strong></p>
<p>Cette transformation du modèle applicatif permet d’adapter le rendu web aux spécificités du mobile. Évidement l’application obtenue n’est pas aussi efficace qu’un développement dédié, mais le résultat est plus que convainquant par rapport au temps investi.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Je deviens Commiter Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p11701/eclipse/eclipse-scout/je-deviens-commiter-eclipse-scout</link>
		<comments>https://blog.developpez.com/jmini/p11701/eclipse/eclipse-scout/je-deviens-commiter-eclipse-scout#comments</comments>
		<pubDate>Tue, 08 Jan 2013 07:52:54 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=72</guid>
		<description><![CDATA[Mon entreprise m’a fait nommer comme nouveau commiter dans le projet Eclipse Scout. Pour mémoire j’avais écrit sur ce blog plusieurs articles autour de ce projet. * Nouveau avec Indigo : Eclipse Scout * Quelques points pour mieux comprendre Eclipse Scout * Eclipse Scout, fait pour les applications d&#8217;entreprises ? C’est pour moi un nouveau [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Mon entreprise m’a fait nommer comme nouveau commiter dans le projet <a href="http://www.eclipse.org/scout">Eclipse Scout</a>. </p>
<p><a href="http://www.eclipse.org/scout"><img src="http://blog.developpez.com/jmini/files/2013/01/scout-logo.png" alt="" width="150" height="150" class="aligncenter size-full wp-image-73" /></a></p>
<p>Pour mémoire j’avais écrit sur ce blog plusieurs articles autour de ce projet.<br />
* <a href="http://blog.developpez.com/jmini/p10074/eclipse/eclipse-scout/nouveau_eclipse_scout">Nouveau avec Indigo : Eclipse Scout</a><br />
* <a href="http://blog.developpez.com/jmini/p10412/eclipse/eclipse-scout/mieux_comprendre_eclipse_scout">Quelques points pour mieux comprendre Eclipse Scout</a><br />
* <a href="http://blog.developpez.com/jmini/p11115/eclipse/eclipse-scout/eclipse_scout_applications_entreprise">Eclipse Scout, fait pour les applications d&rsquo;entreprises ?</a></p>
<p><span id="more-72"></span></p>
<p>C’est pour moi un nouveau défi professionnel. J’ai hâte de pouvoir écrire mes premières contributions (ou de pouvoir commiter celles des contributeurs).</p>
<p>Si tout va bien, mon premier travail devrait être de rendre open-source notre suite de test. Il s’agit également de faire le ménage dans le code, de proposer quelque chose de plus systématique et d’utiliser des technologies standard (JUnit, Maven, &#8230;) de manière à se trouver intégrer au build de manière correcte.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fichiers *.product et Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p11464/eclipse/eclipse-scout/eclipse-scout-product-file</link>
		<comments>https://blog.developpez.com/jmini/p11464/eclipse/eclipse-scout/eclipse-scout-product-file#comments</comments>
		<pubDate>Tue, 30 Oct 2012 19:23:46 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=34</guid>
		<description><![CDATA[En lisant un bon article sur les fichiers *.product (Create a product configuration), je me suis dit que je n&#8217;avais jamais écrit sur la manière dont Eclipse Scout les utilisait. Une application Eclipse Scout propose par défaut deux manières de lancer chaque application (le serveur, et chaque client). S&#8217;il n&#8217;existe côté client, qu&#8217;une seule application [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>En lisant un bon article sur les fichiers <span style="font-family:Courier New">*.product</span> (<a href="http://www.modumind.com/2012/10/30/rcp-best-practices-create-a-product-configuration/">Create a product configuration</a>), je me suis dit que je n&rsquo;avais jamais écrit sur la manière dont Eclipse Scout les utilisait.</p>
<p>Une application Eclipse Scout propose par défaut deux manières de lancer chaque application (le serveur, et chaque client). S&rsquo;il n&rsquo;existe côté client, qu&rsquo;une seule application (reposant sur SWT par exemple), cela fait tout de même 4 lanceurs différents:</p>
<p><img src="http://blog.developpez.com/jmini/files/2012/10/Eclipse_scout_product_launchers.png" alt="Eclipse Scout - product launchers" width="570" height="323" class="alignnone size-full wp-image-36" /></p>
<p>Ce mécanisme repose sur les fichiers <span style="font-family:Courier New">*.product</span> et n&rsquo;est pas si difficile à comprendre.</p>
<p><span id="more-34"></span></p>
<p>Pour chaque application, Eclipse Scout se propose de définir un fichier product «dev» et un fichier product «prod». Le fichier «dev» est pensé pour l&rsquo;exécution à partir d&rsquo;Eclipse. Le fichier «prod» est pensé pour la compilation.</p>
<p>Avec chaque fichier <span style="font-family:Courier New">*.product</span> se trouve également le fichier <span style="font-family:Courier New">config.ini</span> qui sera utilisé (il est référencé dans le fichier <span style="font-family:Courier New">*.product</span>. Le fait qu&rsquo;il se trouve dans le même dossier est une simple convention).</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Workspace<br />
&nbsp; &nbsp;|-org.eclipselabs.mcqs.server<br />
&nbsp; &nbsp;|---products<br />
&nbsp; &nbsp;|-----development<br />
&nbsp; &nbsp;|--------config.ini<br />
&nbsp; &nbsp;|--------mcqs-server-dev.product<br />
&nbsp; &nbsp;|-----production<br />
&nbsp; &nbsp;|--------config.ini<br />
&nbsp; &nbsp;|--------mcqs-server.product<br />
&nbsp; &nbsp;|-org.eclipselabs.mcqs.ui.swt<br />
&nbsp; &nbsp;|---products<br />
&nbsp; &nbsp;|-----development<br />
&nbsp; &nbsp;|--------config.ini<br />
&nbsp; &nbsp;|--------mcqs-swt-client-dev.product<br />
&nbsp; &nbsp;|-----production<br />
&nbsp; &nbsp;|--------config.ini<br />
&nbsp; &nbsp;|--------mcqs-swt-client.product</div></div>
<p>Même si comme le mentionne l&rsquo;article de Patrick Paulin il est possible d&rsquo;utiliser le même fichier pour l&rsquo;exécution et la compilation, faire la distinction entre les deux apporte plus de flexibilité.</p>
<p><strong>Serveur: Jetty vs war</strong><br />
Dans l&rsquo;application serveur, le produit «dev» va inclure les composants nécessaires (jetty) pour fonctionner de manière autonome. Le produit «prod» est quant à lui pensé pour un <em>servlet container</em> comme tomcat (on obtiendra un fichier war).</p>
<p><strong>Reglage du port</strong><br />
Bien souvent le port 8080 est occupé par le serveur tomcat. Aussi il peut être pratique de tester son application à partir d&rsquo;un autre port. Côté serveur, un paramètre dans le fichier config.ini va indiquer à Jetty sur quel port il doit travailler.<br />
Fichier: <span style="font-family:Courier New">{{application_scout}}.server/products/development/config.ini</span></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">org.eclipse.equinox.http.jetty.http.port=8090</div></div>
<p>Côté client, un paramètre va indiquer l&rsquo;url du serveur:<br />
Fichier: <span style="font-family:Courier New">{{application_scout}}.client/products/development/config.ini</span></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">server.url=http://localhost:8090/mcqs/process</div></div>
<p>Il suffit que le client et le serveur soient réglé de manière compatible pour que cela marche sur n&rsquo;importe quel port. (nb: voir <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/source/detail?r=537cfcc7451b9c414485b02392bc380c47649563">ce commit</a>)</p>
<p><strong>Laisser des <em>placeholders</em> dans le fichier de config</strong><br />
Bien souvent, en tant que devellopeur, il faut laisser des <em>placeholders</em> dans les fichiers de configuration.  Au moment de l&rsquo;installation, ils seront remplacés avec les vraies valeurs (peut-être même de manière différente s&rsquo;il s&rsquo;agit d&rsquo;une installation en production ou sur l&rsquo;environnement d&rsquo;intégration).</p>
<p>Pour cela, les fichiers de config «prod» sont génériques et contiennent ces chaines de caractères qui seront remplacées plus tard.</p>
<p><strong>D&rsquo;autres lanceurs</span></strong><br />
Il est évidement possible de créer d&rsquo;autres fichiers. Par exemple, j&rsquo;ai un fichier <span style="font-family:Courier New">*.product</span> pour lancer mon serveur sans base de données. Voir: <a href="http://blog.developpez.com/jmini/p10851/eclipse/eclipse-scout/fragment_nodb_serveur_eclipse_scout">Un fragment NoDB pour le serveur de mon application Eclipse Scout</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Scout, fait pour les applications d&#8217;entreprises ?</title>
		<link>https://blog.developpez.com/jmini/p11115/eclipse/eclipse-scout/eclipse_scout_applications_entreprise</link>
		<comments>https://blog.developpez.com/jmini/p11115/eclipse/eclipse-scout/eclipse_scout_applications_entreprise#comments</comments>
		<pubDate>Tue, 26 Jun 2012 12:05:38 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il m’arrive souvent de m’interroger ou d&#8217;être interrogé sur la pertinence et la nécessité d’Eclipse Scout. Là où je travaille (l’entreprise derrière Eclipse Scout), son emploi pose certainement moins de questions que pour ceux qui découvriraient ce framework pour la première fois. Lorsque je suis amené à parler d’Eclipse Scout, je commence toujours par dire [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il m’arrive souvent de m’interroger ou d&rsquo;être interrogé sur la pertinence et la nécessité d’<a href="http://eclipse.org/scout/">Eclipse Scout</a>. Là où je travaille (l’entreprise derrière Eclipse Scout), son emploi pose certainement moins de questions que pour ceux qui découvriraient ce framework pour la première fois.</p>
<p><img src="http://blog.developpez.com/media/mcqs_rayo.png" width="560" height="480" alt="Mcqs - une application Eclipse Scout" /></p>
<p>Lorsque je suis amené à parler d’Eclipse Scout, je commence toujours par dire qu’Eclipse Scout ne répond pas à tous les besoins. C’est un point crucial, car selon moi, il faut bien avoir compris ce que le projet propose pour pouvoir en évaluer la pertinence pour soi-même.</p>
<p>Il ne faut pas survendre le framework, mais parler de ses qualités en expliquant ses limites. Dans ce billet, j’ai essayé de m’intéresser à différents points en pensant aux entreprises.</p>
<p><span id="more-14"></span></p>
<p><strong>Uniformité du fonctionnement de l&rsquo;application.</strong></p>
<p>Eclipse Scout se concentre sur les applications métiers. Les besoins de ce type d’application sont limités. On se trouve face à des listes de données représentant des entités avec une certaine dépendance entre elles. La plupart du temps, ces données doivent pouvoir être éditées. Enfin on souhaite pouvoir compléter ces données avec des éléments graphiques (diagramme&#8230;).</p>
<p>De ce point de vue, la liberté offerte par la plateforme Eclipse (RCP ou maintenant e4) est trop grande :<br />
l’expérience utilisateur va dépendre de ce que les développeurs auront défini. Sur un gros projet, cette liberté aura pour effet de ne pas proposer d’expérience uniforme sur l’ensemble de l’application.</p>
<p>En se focalisant sur les besoins des applications métier, des choix ont été faits dans Eclipse Scout. Ils limitent les possibilités pour le développeur, mais garantissent l’uniformité de l’application.</p>
<p><img src="http://blog.developpez.com/media/bsi_crm.jpg" width="570" height="437" alt="BSI CRM - une application Eclipse Scout" /></p>
<p><strong>Avec un framework, tout le monde travaille de la même manière.</strong></p>
<p>Un framework comme Eclipse Scout force les développeurs à coder de la même manière. L’architecture est prédéfinie par les outils du SDK. Il n’y a pas de questions à se poser : les règles de validation métier vont à un endroit, le code de persistance des données se retrouve à un autre endroit et ainsi de suite.</p>
<p>Avantage certain pour une entreprise avec plusieurs projets fondés sur le même framework : un développeur s’y retrouve très vite. S’il débute sur le projet, il va être très vite opérationnel. S’il intervient en tant qu’expert, il saura où chercher et comment s’y retrouver.</p>
<p>Dans une application RCP plus classique, l’organisation cohérente du code n’est pas impossible, mais elle dépend de la volonté de l’équipe (et du temps qui y est consacré).</p>
<p><img src="http://blog.developpez.com/media/eclipse_scout_juno_sdk.jpg" width="570" height="430" alt="Eclipse Scout SDK" /></p>
<p><strong>Le modèle d’application : une garantie de pérennité.</strong></p>
<p>Avoir un modèle d’application (indépendant de la bibliothèque de rendu) permet de garder une certaine flexibilité et évolutivité. Les besoins et les technologies changent. Travailler au niveau d’un modèle d’application permet de séparer la logique métier de la manière dont l’application fonctionne en interne.</p>
<p>Eclipse change sa plateforme applicative ? Par une adaptation de la couche «runtime» d&rsquo;Eclipse Scout, la nouvelle version est supportée. À long terme Swing n’est plus maintenu par Oracle ? Ce jour-là, le runtime aura été adapté pour utiliser la technologie qui remplace Swing (JavaFx ou autre chose).</p>
<p>Dans le même ordre d’idée : le besoin d’avoir une instance web de nos applications s’est fait sentir. Nous avons étendu le runtime pour pouvoir en disposer pour toutes nos applications de cette possibilité (c’est une nouveauté de la version 2012. Cette extension est fondée sur Eclipse RAP).</p>
<p><img src="http://blog.developpez.com/media/mcqs_rap.png" width="570" height="531" alt="Une application Eclipse Scout dans Firefox" /></p>
<p>Tout n’est pas parfait pour autant : les applications créées sont dépendantes de la couche «runtime». Par exemple avec Eclipse Juno, le mécanisme d’internationalisation a changé : de l’utilisation d’un Singleton, on est passé à un Service OSGi (comme partout ailleurs dans Eclipse Scout). Lors de la migration d&rsquo;une application utilisant la version 2011 à la version 2012, cette partie-là est à remanier (à grands coups de rechercher remplacer &#8211; mais tout de même).</p>
<p>Autre limite, celle des éléments disponibles dans le modèle d’application : il n’existe pour le moment pas de composant «Table Tree». Cela ne veut pas dire que le modèle ne peut pas être étendu pour en disposer (c’est possible), mais aujourd’hui, cela ne fait pas partie du standard. Autre exemple de limite : il n’est pas prévu de pouvoir modifier le fonctionnement de la tabulation dans une fenêtre. Il faut se contenter de ce qui est proposé par défaut. Ce sera bien suffisant dans l&rsquo;immensité des cas, mais pour des besoins spécifiques, pour le moment, cela ne fait pas partie du périmètre d’Eclipse Scout.</p>
<p><strong>Ce qu&rsquo;il manque à Eclipse Scout</strong></p>
<p>Si le framework Scout existe en interne depuis longtemps, il est encore jeune en tant que projet open source. Eclipse Scout doit passer du statut de framework interne d’une entreprise, à un outil que chacun puisse utiliser. Les efforts accomplis dans ce domaine sont très importants, mais le résultat n’est pas encore à la hauteur des attentes des standards du domaine.</p>
<p>Il ne s’agit pas d’ajouter des couches ou des fonctionnalités dans le framework, mais plutôt de mieux expliquer et documenter ce qu’il est possible de faire. Évidemment c’est un processus qui demande du temps et pour lequel une certaine demande doit exister. Pour le moment, cette demande s&rsquo;exprime à travers <a href="http://www.eclipse.org/forums/eclipse.scout">le forum du projet</a>. Toutes les questions posées sont traitées avec une grande attention.</p>
<p>J’imagine qu’en cela Eclipse Scout n’est pas différent de n’importe quel autre projet open source.</p>
<p>En savoir plus ?<br />
* Lisez mon article : <a href="http://jmini.developpez.com/eclipse_scout/articles/premiers_pas/">premiers pas avec Eclipse Scout</a>.<br />
* Retrouvez <a href="http://jmini.developpez.com/eclipse_scout/">ma page Eclipse Scout</a> rassemblant une collection de ressources.<br />
* La <a href="http://eclipse.org/scout/" title="Eclipse scout">page officielle</a> (en anglais) constitue également un bon point d’entrée.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Un fragment NoDB pour le serveur de mon application Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p10851/eclipse/eclipse-scout/fragment_nodb_serveur_eclipse_scout</link>
		<comments>https://blog.developpez.com/jmini/p10851/eclipse/eclipse-scout/fragment_nodb_serveur_eclipse_scout#comments</comments>
		<pubDate>Sat, 17 Mar 2012 12:23:07 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Mcqs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Les applications Eclipse Scout reposent sur un registre de service. Ces services sont définis par une interface, placé dans le plug-in shared accessible côté client comme côté serveur. L’appel à l’un de ces services s’effectue toujours de la même manière: IQuestionsListProcessService service = SERVICES.getService(IQuestionsListProcessService.class); Côté client, deux cas se présentent: * une implémentation est disponible [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Les applications Eclipse Scout reposent sur un registre de service. Ces services sont définis par une interface, placé dans le plug-in shared accessible côté client comme côté serveur. L’appel à l’un de ces services s’effectue toujours de la même manière:</p>
<p><code class="codecolorer text default"><span class="text">IQuestionsListProcessService service = SERVICES.getService(IQuestionsListProcessService.class);</span></code></p>
<p>Côté client, deux cas se présentent:<br />
* une implémentation est disponible côté client. Dans ce cas elle est retournée par cet appel.<br />
* l’implémentation se trouve côté serveur. Dans ce cas, un proxy est retourné, et l’appel à la fonction est transmis au serveur par Eclipse Scout. </p>
<p>Ce registre de services gère plusieurs implémentations pour une même interface. Il est possible de définir une priorité pour donner un ordre entre les implémentations.</p>
<p>D’où <a href="http://blog.developpez.com/jmini/p10257/demo/sakilapp/sans-base-de-donnees-utilisation-priorit/">mon idée de septembre dernier</a> de proposer pour chaque service une implémentation se passant de la base de données. Dans ce cas il n’y a plus de persistance des informations, mais dans le cas de démonstration ou de tests cela peut être suffisant.</p>
<p>Je l’ai mis en oeuvre pour mon <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/">application MCQS</a>.</p>
<p>Depuis <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/source/detail?r=730a1a58a314586eb416ca663fba129faadc3574">ce commit</a>, je dispose maintenant d’un fragment <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/source/browse/#git%2Forg.eclipselabs.mcqs.server.nodb.frament">org.eclipselabs.mcqs.server.nodb.frament</a> qui propose une implémentation des services avec une priorité plus haute. Lorsque le fragment est chargé avec le serveur (ce qui est le cas avec le produit <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/source/browse/#git%2Forg.eclipselabs.mcqs.server%2Fproducts%2Fnodb">server/products/nodb</a>), ce sont ses implémentations qui ont la priorité.</p>
<p>Ce n’est pas encore tout à fait parfait, car pour faire les choses proprement il ne faudrait pas avoir de dépendance à la base de données dans le plug-in serveur principal, mais dans un deuxième fragment (et utiliser l’un ou l’autre).</p>
<p>Mon fragment NoDB est rudimentaire. Il ne garde rien en mémoire, ce qui devrait être possible.</p>
<p>Dans tous les cas, c’est un bon cas d’exemple de l’annotation <strong>@Priority</strong> que l’on peut ajouter sur chacun des services.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Personnaliser son application Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p10717/eclipse/eclipse-scout/personnaliser_application_eclipse_scout</link>
		<comments>https://blog.developpez.com/jmini/p10717/eclipse/eclipse-scout/personnaliser_application_eclipse_scout#comments</comments>
		<pubDate>Sat, 18 Feb 2012 08:20:38 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Mcqs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Donner une apparence finie à son application est une étape importante. Certains petits détails témoignent du soin apporté à l’application (ou de son bâclage dans le cas contraire). Par défaut, une application Eclipse Scout contient un certain nombre d’images qui sont des «place-holders» pour l’application finale. Il s’agit de tous les remplacer pour avoir une [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Donner une apparence finie à son application est une étape importante. Certains petits détails témoignent du soin apporté à l’application (ou de son bâclage dans le cas contraire).</p>
<p><img src="http://blog.developpez.com/media/splash-scout.png" width="452" height="282" alt="Splash screen - Eclipse Scout" /></p>
<p>Par défaut, une application Eclipse Scout contient un certain nombre d’images qui sont des «place-holders» pour l’application finale. Il s’agit de tous les remplacer pour avoir une application à l’apparence correcte.</p>
<p><img src="http://blog.developpez.com/media/splash-mcqs.png" width="452" height="282" alt="Splash screen - Mcqs" /></p>
<p><span id="more-19"></span><br />
<strong>Splash Screen</strong><br />
Affiché lors du chargement de l’application, il permet à l’utilisateur de savoir qu’il doit patienter et qu’il se passe quelque chose.</p>
<p>Il suffit d’ajouter un fichier splash.xxx à la racine du plug-in de lancement (Swing ou SWT en fonction du moteur de rendu choisi. Pour SWT sans changer les réglages par défaut de l’application RPC, il faudra utiliser un fichier bmp). Ne pas oublier de l’inclure dans le ficher build.properties (dans la catégorie binary build).</p>
<p><strong>Logo</strong><br />
Ce logo (grand) est notamment affiché dans la fenêtre «à propos de cette application».</p>
<p><img src="http://blog.developpez.com/media/about_dialog.png" width="400" height="318" alt="About dialog - Mcqs" /></p>
<p>Voir <a href="http://wiki.eclipse.org/Scout/HowTo/Exchange_Default_Images">ce tutoriel</a>.</p>
<p><strong>Icône</strong><br />
L’icône est également un élément important.</p>
<p><img src="http://blog.developpez.com/media/icon-mcqs.png" width="148" height="129" alt="Icone - Mcqs" /></p>
<p>Voir ce <a href="http://www.eclipse.org/forums/index.php/t/263221/" title=" Specific Application Icon">sujet de forum</a>. </p>
<p><strong>Page de téléchargement sur le serveur</strong><br />
Lorsque l’on se connecte en HTTP sur le serveur où est déployée l’application, on obtient une page de téléchargement. Il est important de personnaliser cette page.</p>
<p>La page en question se trouve dans le plug-in de l’application server sous /resources/html. </p>
<p><img src="http://blog.developpez.com/media/download_page-mcqs.png" width="400" height="391" alt="Page de téléchargement - Mcqs" /></p>
<p>Je n’ai pas fait beaucoup de modifications sur cette page, mais mon idée est de toute façon de proposer un installateur (voir ci après). J’ai donc laissé le texte en anglais et la description correspondant à une application windows.</p>
<p><strong>Installation</strong><br />
La prochaine étape va consister à se préoccuper de l’installation d’un produit fini. Il doit être possible:<br />
* d’installer ou de choisir une base de données Derby.<br />
* de configurer l’adresse à laquelle les clients devront se connecter.<br />
&#8230;</p>
<p>Encore un peu de travail en perspective&#8230;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>config.ini et setter dans Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p10494/demo/eclipse_scout_config_ini_et_setter</link>
		<comments>https://blog.developpez.com/jmini/p10494/demo/eclipse_scout_config_ini_et_setter#comments</comments>
		<pubDate>Mon, 14 Nov 2011 16:39:09 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Demo]]></category>
		<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Mcqs]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Les applications Eclipse Scout sont opérationnelles dès leur création à l’aide du template initial, mais pour bien comprendre leur fonctionnement, il y a pas mal de petits détails. Je voulais obtenir un code indépendant de la configuration de la base de données, c&#8217;est-à-dire utiliser le fichier config.ini (qui doit de toute façon être mis à [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Les applications Eclipse Scout sont opérationnelles dès leur création à l’aide du template initial, mais pour bien comprendre leur fonctionnement, il y a pas mal de petits détails.</p>
<p>Je voulais obtenir un code indépendant de la configuration de la base de données, c&rsquo;est-à-dire utiliser le fichier <code class="codecolorer text default"><span class="text">config.ini</span></code> (qui doit de toute façon être mis à jour leur d’un changement d’environnement).<br />
<span id="more-13"></span></p>
<p>Fidèle à sa logique, Eclipse Scout propose d’étendre la classe <code class="codecolorer text default"><span class="text">AbstractSqlService</span></code> pour définir la configuration d’accès à la base de données.</p>
<p>Il existe une propriété privée <code class="codecolorer text default"><span class="text">m_jdbcMappingName</span></code> qui est accessible par des getters et des setters publics. Dans la classe fille, il est d’usage d’indiquer une constante dans la fonction <code class="codecolorer text default"><span class="text">getConfigured*()</span></code> correspondante (<code class="codecolorer text default"><span class="text">getConfiguredJdbcMappingName()</span></code> dans ce cas). C’est ce que la perspective Eclipse fait si l’on utilise la «Scout Properties View».</p>
<p><img src="http://blog.developpez.com/media/object_properties_view_db.png" width="485" height="251" alt="Object Properties View - Sql Service" /></p>
<p>Le code correspondant:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">@Override <br />
protected String getConfiguredJdbcMappingName() { <br />
&nbsp; return &quot;jdbc:derby:/Users/jebr/code/mcq/mcq_db.derby&quot;; <br />
}</div></div>
<p>À l’initialisation, cette valeur va être lue et devenir la valeur courante (accessible ensuite par le getter traditionnel).</p>
<p>Pourtant il existe une autre manière d’initialiser cette valeur. Il est possible d’utiliser dans le fichier config.ini une ligne respectant ce pattern:</p>
<p><code class="codecolorer text default"><span class="text">&lt;Qualified Name&gt;#&lt;Setter name without set prefix&gt;=&lt;value&gt;</span></code></p>
<p>Ainsi dans notre cas:<br />
<code class="codecolorer text default"><span class="text">org.eclipselabs.mcqs.server.services.common.sql.McqDerbySqlService#JdbcMappingName=jdbc:derby:/Users/jebr/code/mcq/mcq_db.derby</span></code></p>
<p>C’est magique&#8230;</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
