<?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/"
	>

<channel>
	<title>Tangane - Solutions for Business Value &#187; Creative Suite</title>
	<atom:link href="http://blog.tangane.com/tag/creative-suite/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tangane.com</link>
	<description>Blog de la société Tangane</description>
	<pubDate>Mon, 06 Jul 2009 09:48:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Skinning de composants Flex avec la Creative Suite 4</title>
		<link>http://blog.tangane.com/ria/skinning-de-composants-flex-avec-la-creative-suite-4-4/</link>
		<comments>http://blog.tangane.com/ria/skinning-de-composants-flex-avec-la-creative-suite-4-4/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 09:05:02 +0000</pubDate>
		<dc:creator>Fabien Deshayes</dc:creator>
		
		<category><![CDATA[RIA]]></category>

		<category><![CDATA[Adobe]]></category>

		<category><![CDATA[Creative Suite]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.tangane.com/?p=4</guid>
		<description><![CDATA[Introduction
Il existe différentes manières de personnaliser l&#8217;aspect d&#8217;une application réalisée avec la technologie Flex. On peut par exemple changer simplement les couleurs de certains composants en utilisant les feuilles de styles CSS. Si l&#8217;on souhaite aller plus loin, il est possible de changer l&#8217;apparence des composants en leur appliquant un skin : c&#8217;est ce qu&#8217;on [...]]]></description>
			<content:encoded><![CDATA[<h3>Introduction</h3>
<p>Il existe différentes manières de personnaliser l&#8217;aspect d&#8217;une application réalisée avec la technologie Flex. On peut par exemple changer simplement les couleurs de certains composants en utilisant les feuilles de styles CSS. Si l&#8217;on souhaite aller plus loin, il est possible de changer l&#8217;apparence des composants en leur appliquant un skin : c&#8217;est ce qu&#8217;on appelle le <strong>skinning</strong>. On peut &#8220;skinner&#8221; un composant à partir d&#8217;une simple image de type .jpg ou .png, mais également à partir de fichiers Flash .swf ou .swc.</p>
<p>Le processus de skinning peut parfois se montrer délicat car il se situe à la frontière entre deux mondes : les designers qui produisent l&#8217;aspect des composants et les développeurs qui doivent lintégrer. Cette phase peut devenir lourde si le développeur ne sait pas ce qu&#8217;il souhaite avoir en entrée ou si le designer n&#8217;a pas une bonne vue d&#8217;ensemble sur la façon de produire des skins Flex. Il faut dire que l&#8217;offre d&#8217;Adobe est assez vaste, notamment au sein de la Creative Suite.</p>
<p>Nous allons donc vous présenter l&#8217;une des manières possibles (il y en a bien évidemment d&#8217;autres) pour skinner des composants Flex avec quatre outils de la Creative Suite, en l&#8217;occurrence Flash, Illustrator, Photoshop et Fireworks. Nous illustrerons chaque cas d&#8217;un exemple sous forme de mini tutoriel, et nous terminerons par un récapitulatif.</p>
<p>Il faut savoir que les skinnings ci-dessous ont été réalisés avec la version 4 de la Creative Suite (sauf pour Flash en version CS3 Professional) mais qu&#8217;il est tout à fait possible de faire les mêmes manipulations sur la version 3. Flex Builder est utilisé en version 3.0, en tant que plug-in d&#8217;Eclipse (version 3.3.2).</p>
<h3>Flash</h3>
<p>Le skinning depuis Adobe Flash semble à première vue le plus simple du fait des points communs entre ce logiciel et Flex, notamment le format (fichiers .swf) et le langage (l&#8217;ActionScript). Voyons dans la pratique un cas de skinning.<br />
Adobe propose quelques éléments permettant d&#8217;automatiser et de simplifier ce processus : nous allons donc les utiliser, sachant qu&#8217;il existe d&#8217;autres manières de faire mais qui peuvent se révéler plus couteuses.</p>
<p>Avant tout, il faut télécharger deux plug-ins :</p>
<ul>
<li><a id="s-uo" title="Flex Skin Design Extensions for Flash" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">Flex Skin Design Extensions for Flash</a></li>
<li><a id="llne" title="Flex Component Skin for Flash CS3 Professional" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">Flex Component Skin for Flash CS3 Professional</a> (compatible CS4)</li>
</ul>
<p>L&#8217;installation de ses éléments se fait très simplement, en ouvrant les fichiers .mxp qui sont en fait du format utilisé par l&#8217;Adobe Extension Manager.</p>
<p>Nous allons maintenant skinner un simple bouton Flex. Pour cela, lançons Flash et choisissons <em>File &gt; New</em>. Dans l&#8217;onglet <em>Templates </em>apparaît alors la catégorie Flex Skins (grâce aux plug-ins installés). Dans notre cas, nous allons choisir <em>Button</em>, mais nous pourrions décider de skinner tous les éléments en choisissant <em>flex_skins</em>.</p>
<div id="spfv" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-23" title="file_new_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/file_new_flash.jpg" alt="file_new_flash" width="656" height="449" /></div>
<p>Un template est alors créé, avec un bouton. Cela diffère des templates sur les autres logiciels de la suite, qui présentent les quatre états du bouton directement.</p>
<div style="text-align: center;"><img class="alignnone size-full wp-image-24" title="button_skin_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/button_skin_flash.jpg" alt="button_skin_flash" width="677" height="342" /></div>
<p>Un simple double clic sur ce bouton nous emmènera en mode édition où l&#8217;on verra apparaître les quatre états (up, over, down, disabled) au niveau de la timeline. Il sera alors possible de modifier ces quatre états séparément.</p>
<div id="t1ba" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-25" title="button_timeline_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/button_timeline_flash.jpg" alt="button_timeline_flash" width="704" height="244" /></div>
<p>Une fois les éléments modifiés, il faut les exporter sous forme de fichier .swc (bibliothèque ActionScript) en faisant <em>File &gt; Export &gt; Export Animation</em>. Après avoir choisi le nom du fichier (attention, ici Flash propose d&#8217;enregistrer en .swf : c&#8217;est après que nous spécifions que nous voulons également un .swc), nous remplissons les propriétés d&#8217;export : il faut bien spécifier la version d&#8217;ActionScript (3.0) pour que cela soit compatible avec Flex 3 (cette remarque est également valable pour la version 2) et cocher la case <em>Export SWC</em>.</p>
<div id="hlf4" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-26" title="export_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/export_flash.jpg" alt="export_flash" width="387" height="581" /></div>
<p>Le reste se déroulera dans le Flex Builder ! Nous allons devoir importer le skin du bouton. Pour cela, assurez vous tout d&#8217;abord que le fichier .swc se trouve dans l&#8217;arborescence de votre projet (dans assets/swc par exemple). Ensuite, choisissons <em>File &gt; Import&#8230;</em> puis <em>Artwork</em> dans le dossier <em>Flex Builder</em> puis <em>Next</em>. Cochons la case <em>SWC or SWF file</em> et cliquons sur <em>Browse </em>pour choisir le fichier fraîchement généré. Il est ensuite possible de choisir l&#8217;endroit où sera générée la feuille de style CSS, son nom ainsi que l&#8217;application dans laquelle elle sera incluse.</p>
<div id="ublg" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-27" title="import_flex_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/import_flex_flash.jpg" alt="import_flex_flash" width="632" height="571" /></div>
<p>Ensuite, cliquons sur <em>Next</em>. Flex proposera automatiquement les éléments du fichier .swc à importer dans le projet. Dans notre cas, il n&#8217;y a qu&#8217;un bouton. Cochons donc celui-ci et cliquons sur <em>Finish</em>. Que se passe-t-il alors ? Flex génère une feuille de style contenant les éléments suivants :</p>
<div id="u:jo" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-28" title="flex_css_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_css_flash.jpg" alt="flex_css_flash" width="401" height="144" /></div>
<p>Cela montre que nous importons une classe de skin complète, et non uniquement des éléments graphiques formant un skin. La feuille de style est également importée dans l&#8217;application :</p>
<div id="ecel" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-29" title="flex_app_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_app_flash.jpg" alt="flex_app_flash" width="681" height="171" /></div>
<p>Il ne nous reste plus qu&#8217;à lancer notre application pour constater le résultat. Nous voilà avec notre bouton skinné mais déformé. On constate qu&#8217;il ne perd pas pour autant sa qualité, ceci étant du au fait que c&#8217;est un élément vectoriel.</p>
<div id="wkro" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-30" title="flex_skin_final_flash" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_skin_final_flash.jpg" alt="flex_skin_final_flash" width="487" height="484" /></div>
<p>Pour résumer, nous avons donc pu créer un skin en utilisant le logiciel Adobe Flash de la Creative Suite via les étapes suivantes :</p>
<ul>
<li>Installation des plug-ins</li>
<li>Génération d&#8217;un fichier .swc à partir d&#8217;un template</li>
<li>Import de ce fichier dans Flex</li>
<li>Génération et inclusion automatique de la feuille de style CSS associée</li>
</ul>
<h3>Illustrator</h3>
<p>Le skinning depuis Adobe Illustrator ressemble à celui de Flash, du fait de sa ressemblance (génération de .swf, vectoriel, etc.). Nous allons donc parfois aller plus vite sur quelques étapes en commun.</p>
<p>De la même manière pour débuter, il faut télécharger un plug-in qui nous permettra de simplifier le processus de skinning : <a id="s-uo" title="Flex Skin Design Extensions for Flash" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">Flex Skin Design Extensions for Illustrator</a>.</p>
<p>Le fichier .zip est à décompresser dans le dossier d&#8217;installation d&#8217;Illustrator (CS3 ou CS4) (exemple : C:Program FilesAdobeAdobe Illustrator CS4). Il ajoutera de nouveaux templates ainsi que de nouveaux scripts. Lançons à présent Illustrator, puis choisissons <em>File &gt; Scripts &gt; Flex Skins &gt; Create Flex 3 Skin</em>. Nous pouvons alors choisir le composant à skinner, ou tous les composants ensemble. Dans notre exemple, nous skinnerons cette fois une CheckBox.</p>
<div id="gvtk" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-31" title="file_new_illustrator" src="http://blog.tangane.com/wp-content/uploads/2009/01/file_new_illustrator.jpg" alt="file_new_illustrator" width="316" height="379" /></div>
<p>Ici, pas de timeline : nous voyons l&#8217;ensemble des différents états, chacun sous forme d&#8217;un symbole. Nous pouvons donc les modifier séparément.</p>
<div id="oc1:" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-32" title="checkbox_skin_illustrator" src="http://blog.tangane.com/wp-content/uploads/2009/01/checkbox_skin_illustrator.jpg" alt="checkbox_skin_illustrator" width="525" height="336" /></div>
<p>Une fois votre skin créé, il faut l&#8217;exporter. Attention à ne pas choisir <em>File &gt; Export</em>, qui est l&#8217;export &#8220;normal&#8221;. Il faut bien penser à passer par <em>File &gt; Scripts &gt; Flex Skins &gt; Export Flex 3 Skin</em>. Il ne reste plus qu&#8217;à choisir le nom du fichier. Ici, ce sera un .swf qui sera généré. On peut par exemple l&#8217;enregistrer dans notre projet Flex, dans le dossier assets/swf. Il n&#8217;y a pas plus de paramètres à remplir avec Illustrator. Nous pouvons donc ouvrir notre projet Flex et, de la même manière que dans l&#8217;exemple sur Flash, importer notre skin en faisant <em>File &gt; Import&#8230;</em> puis <em>Artwork </em>dans le dossier <em>Flex Builder</em>. Cochons la case <em>SWC or SWF File</em> et sélectionnons le skin, exactement comme sous Flash. En faisant <em>Next</em>, nous voyons cependant une différence : il n&#8217;y a plus une seule ligne pour un composant (indiqué par la clé <em>skin</em> dans la colonne <em>Skin Part</em>) mais une ligne par état. Cela vient du fait qu&#8217;en Flash nous exportions une classe typée, alors qu&#8217;ici nous n&#8217;avons que des éléments graphiques.</p>
<div id="kmkd" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-33" title="import_flex_illustrator" src="http://blog.tangane.com/wp-content/uploads/2009/01/import_flex_illustrator.jpg" alt="import_flex_illustrator" width="549" height="478" /></div>
<p>Cliquons sur <em>Finish</em>. Nous avons donc généré un fichier CSS et son import dans notre application. Ce dernier est fait de la même manière que lors d&#8217;un import de skin Flash, mais le fichier CSS présente lui quelques différences :</p>
<div id="d164" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-34" title="flex_css_illustrator" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_css_illustrator.jpg" alt="flex_css_illustrator" width="694" height="185" /></div>
<p>La classe de skin n&#8217;est plus spécifié mais seulement les éléments graphiques skinnables (ici upIcon, downIcon, etc.). Ces différences sont importantes, nous reviendrons dessus par la suite. Au final, nous avons donc notre CheckBox skinnée telle que sous Illustrator :</p>
<div id="lwc7" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-35" title="flex_skin_final_illustrator" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_skin_final_illustrator.jpg" alt="flex_skin_final_illustrator" width="315" height="248" /></div>
<p>Pour résumer, nous avons donc pu créer un skin en utilisant le logiciel Adobe Illustrator de la Creative Suite via les étapes suivantes :</p>
<ul>
<li>Installation du plug-in</li>
<li>Génération d&#8217;un fichier .swf à partir d&#8217;un template</li>
<li>Import de ce fichier dans Flex</li>
<li>Génération et inclusion automatique de la feuille de style CSS associée</li>
</ul>
<h3>Photoshop</h3>
<p>Le skinning depuis Adobe Photoshop comporte quelques différences comparé à ceux précédemment présentés, notamment de part son format de sortie (des fichiers .png).</p>
<p>Pour débuter, nous allons également devoir télécharger un plug-in :<a id="s-uo" title="Flex Skin Design Extensions for Flash" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank"> Flex Skin Design Extensions for Photoshop</a>.</p>
<p>Le fichier .zip est à décompresser dans le dossier d&#8217;installation de Photoshop (CS3 ou CS4) (par exemple : C:Program FilesAdobeAdobe Photoshop CS4). Il ajoutera de nouveaux templates ainsi que de nouveaux scripts. Lançons à présent Photoshop, puis choisissons <em>File &gt; Scripts &gt; New Flex Skin</em>. Nous pouvons alors choisir le composant à skinner de la même manière que dans Illustrator. Pour cet exemple, nous allons skinner un Panel. Tous les éléments sont affichés, et disposés dans différents layers.</p>
<div id="t5gq" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-36" title="panel_skin_photoshop" src="http://blog.tangane.com/wp-content/uploads/2009/01/panel_skin_photoshop.jpg" alt="panel_skin_photoshop" width="640" height="482" /></div>
<p>Une fois le composant skinné, nous allons l&#8217;exporter par <em>File &gt; Scripts &gt; Export Flex Skins&#8230;</em> mais attention ! Avant cela, il faut cacher le dossier <em>_HIDE BEFORE EXPORTING</em> pour ne pas générer des éléments en trop. Lors de l&#8217;export, il est demandé de choisir le dossier d&#8217;export. Typiquement, nous pouvons choisir le dossier assets/png de notre projet Flex. Photoshop générera alors un dossier assets (ce qui n&#8217;est pas forcément pratique) contenant tous les .png des éléments du template, selon sa convention de nommage. Allons maintenant dans notre projet Flex et comme précédemment, nous allons passer par <em>File &gt; Import</em> puis nous choisirons <em>Artwork</em>. Ici, nous sélectionnerons <em>Folder of images</em> et pointerons sur le dossier contenant les .png générés.</p>
<div id="s9zh" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-37" title="import_flex_photoshop" src="http://blog.tangane.com/wp-content/uploads/2009/01/import_flex_photoshop.jpg" alt="import_flex_photoshop" width="653" height="560" /></div>
<p>L&#8217;écran suivant propose les mêmes choix que pour Illustrator : il liste en fait l&#8217;ensemble des images ainsi que leurs états associés. C&#8217;est là que leurs noms sont importants : sans cela les éléments ne seraient pas reconnus. Après avoir tout coché, nous avons donc une feuille de style CSS générée ainsi que l&#8217;import dans le fichier de l&#8217;application. Le fichier CSS se présente de la même manière que dans Illustrator, c&#8217;est à dire en séparant les composants graphiques. A la différence près que les éléments sont des images de type .png et non un nom de symboles dans un fichier .swf. Le résultat final sera donc un Panel ressemblant à cela :</p>
<div id="tqm0" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-39" title="flex_skin_final_photoshop" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_skin_final_photoshop.jpg" alt="flex_skin_final_photoshop" width="483" height="481" /></div>
<p>Il faut noter que l&#8217;on peut percevoir une perte de qualité, du fait que le skin est une image qui pourra se retrouver déformée. Le rendu final est donc moins propre qu&#8217;avec des éléments vectoriels.</p>
<p>Nous avons créé un skin en utilisant le logiciel Adobe Photoshop de la Creative Suite via les étapes suivantes :</p>
<ul>
<li>Installation du plug-in</li>
<li>Génération de fichiers .png à partir d&#8217;un template</li>
<li>Import de ces fichiers dans Flex</li>
<li>Génération et inclusion automatique de la feuille de style CSS associée</li>
</ul>
<h3>Fireworks</h3>
<p>Le skinning depuis Adobe Fireworks générera également en sortie des images de type .png. Pour cela, il nous faudra également un plug-in : <a id="s-uo" title="Flex Skin Design Extensions for Flash" href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins" target="_blank">Flex Skin Design Extensions for Fireworks</a>.</p>
<p>L&#8217;installation de ce plug-in s&#8217;effectue en ouvrant le fichier .mxp qui sera utilisé par l&#8217;Adobe Extension Manager. Lançons à présent Fireworks, puis choisissons <em>Commands &gt; Flex Skinning &gt; New Flex Skin</em>. Nous pouvons alors choisir le composant à skinner de la même manière que dans Illustrator et Photoshop. Pour cet exemple, nous allons skinner un TextInput. Tous les éléments sont affichés, et disposés dans différents layers.</p>
<div id="r06a" style="padding: 1em 0pt; text-align: center;"><img style="width: 569px; height: 347px;" src="http://docs.google.com/File?id=dgrvhczh_81dph6kjg7_b" alt="" /></div>
<p>Une fois le composant skinné, nous allons l&#8217;exporter par <em>Commands &gt; Flex Skinning &gt; Export Flex Skin </em>et choisir le dossier d&#8217;export comme par exemple assets/png dans notre projet Flex. Fireworks générera dans ce dossier les images .png se rapportant aux états du composant skinné. L&#8217;import de ces ressources s&#8217;effectuera dans le projet Flex de la même manière qu&#8217;auparavant, en choisissant <em>File &gt; Import&#8230;</em> puis <em>Artwork</em> dans <em>Flex Builder</em>. Ensuite, il faut choisir <em>Folder of images</em> et sélectionner le dossier contenant les images générées.</p>
<div id="p:3b" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-40" title="import_flex_fireworks" src="http://blog.tangane.com/wp-content/uploads/2009/01/import_flex_fireworks.jpg" alt="import_flex_fireworks" width="565" height="600" /></div>
<p>De nouveau, Flex Builder génère une feuille de style CSS ainsi que l&#8217;import de ce fichier dans l&#8217;application. La feuille de style pointe sur les fichiers .png. Ainsi, on obtiendra notre TextInput skinné :</p>
<div id="r56q" style="padding: 1em 0pt; text-align: center;"><img class="alignnone size-full wp-image-41" title="flex_skin_final_fireworks" src="http://blog.tangane.com/wp-content/uploads/2009/01/flex_skin_final_fireworks.jpg" alt="flex_skin_final_fireworks" width="340" height="345" /></div>
<p>Le skin étant une image, on pourra constater une perte de qualité dans le cas d&#8217;un agrandissement de la zone de texte. Cela vient du format d&#8217;image .png.</p>
<p>Nous avons donc pu créer un skin en utilisant le logiciel Adobe Illustrator de la Creative Suite via les étapes suivantes :</p>
<ul>
<li>Installation du plug-in</li>
<li>Génération de fichiers .png à partir d&#8217;un template</li>
<li>Import de ces fichiers dans Flex</li>
<li>Génération et inclusion automatique de la feuille de style CSS associée</li>
</ul>
<h3>Conclusion</h3>
<p>Voici un tableau récapitulatif des différences de skinning entre les 4 outils de la Creative Suite :</p>
<div>
<table id="felc" class="zeroBorder" border="0" cellspacing="0" cellpadding="3" width="100%">
<tbody>
<tr>
<td width="25%"><strong>Outil<br />
</strong></td>
<td width="25%"><strong>Fichier(s) généré(s)<br />
</strong></td>
<td width="25%"><strong>Import<br />
</strong></td>
<td width="25%"><strong>Type de skin<br />
</strong></td>
</tr>
<tr>
<td width="25%"><em><strong>Flash<br />
</strong></em></td>
<td width="25%">une bibliothèque .swc</td>
<td width="25%">CSS généré par Flex Builder</td>
<td width="25%">Classe skinnée</td>
</tr>
<tr>
<td width="25%"><em><strong>Illustrator<br />
</strong></em></td>
<td width="25%">un fichier .swf</td>
<td width="25%">CSS généré par Flex Builder</td>
<td width="25%">Eléments graphiques vectoriels</td>
</tr>
<tr>
<td width="25%"><em><strong>Photoshop<br />
</strong></em></td>
<td width="25%">un dossier avec des images .png</td>
<td width="25%">CSS généré par Flex Builder</td>
<td width="25%">Images</td>
</tr>
<tr>
<td width="25%"><em><strong>Fireworks<br />
</strong></em></td>
<td width="25%">un dossier avec des images .png</td>
<td width="25%">CSS généré par Flex Builder</td>
<td width="25%">Images</td>
</tr>
</tbody>
</table>
</div>
<p>De ce tableau ressort deux différences importantes. Tout d&#8217;abord au niveau du fichier généré : alors que Flash et Illustrator ne génèrent qu&#8217;un fichier pouvant contenir un ou plusieurs skins, Photoshop et Fireworks génèrent autant de fichiers que d&#8217;états par skin, ce qui peut vite devenir lourd dans le cas d&#8217;une application de taille importante où l&#8217;on aurait une dizaine de composants à skinner.</p>
<p>L&#8217;autre différence majeure se situe au niveau du type de skin : en effet, alors que Photoshop et Fireworks ne produisent que des bitmaps, Illustrator et Flash génèrent des images vectorielles, ce qui offrira une plus grande souplesse si l&#8217;on souhaite modifier les dimensions de certains composants. <strong>On comprend donc facilement que l&#8217;on préférera utiliser Illustrator ou Flash (si cela est possible) pour skinner nos applications Flex</strong>.</p>
<p>Il existe toutefois une différence intéressante entre les éléments générés par Flash et Illustrator. Ce dernier créé un fichier .swf contenant des symboles qui ne sont que des éléments graphiques qui serviront à surcharger l&#8217;apparence de composants sur l&#8217;un de ses états (par exemple : états up, down, over, disabled). Flash génère lui une bibliothèque contenant une classe de type &#8220;Skin&#8221;. Elle permet de définir plus de comportements sur un composant, comme par exemple les transitions entre ses différents états. On parle alors de <strong>programmatic skinning</strong>.</p>
<p>Au final, les outils de la Creative Suite permettent de créer de manière relativement automatisé des skins pour une application Flex. Mais ce qui reste le plus important pour garder une certaine flexibilité et une simplicité dans le processus est la communication entre les designers et les développeurs. L&#8217;idéal est de mettre en place un ensemble de bonnes pratiques pour le skinning, comme par exemple :</p>
<ul>
<li>Définir une règle de nommage (exemple : btn_red_up, btn_blue_down, txtarea_light, etc.).</li>
<li>N&#8217;utiliser qu&#8217;un seul logiciel pour produire des skins</li>
<li>Conserver une trace des différentes évolutions des skins</li>
</ul>
<p>En mettant ce genre de pratiques en places, il vous sera alors possible d&#8217;avoir un processus fiable de skinning de vos applications Flex en utilisant la Creative Suite d&#8217;Adobe.</p>
<p>Cet article a été écrit en se basant notamment sur l&#8217;<a href="http://www.adobe.com/devnet/flex/articles/skins_styles.html" target="_blank">article de référence d&#8217;Adobe : http://www.adobe.com/devnet/flex/articles/skins_styles.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tangane.com/ria/skinning-de-composants-flex-avec-la-creative-suite-4-4/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
