ZXPackager : application pour l’empaquetage ZXP d’extensions CS5
![]() |
Vous l’aurez peut être remarqué, nous avons ajouté une rubrique Applications au blog. Nous travaillons actuellement sur plusieurs applications AIR orientées « aide au développeur ». ZXPackager est la première d’entre elles.
Cette application propose un moyen simple de packager vos extensions CS5 développées avec le nouveau SDK Creative Suite. |
Les extensions ZXP
Depuis la CS5, Adobe propose un nouveau SDK de développement et un format d’extension commun a toute la suite logicielle.
Ce SDK, disponible ici, vous permet de développer vos propres panneaux et autres menus CS5. Le premier format de sortie est le MXP, toujours disponible, vous permettant d’exporter votre extension pour un logiciel cible.
Maintenant, avec la CS5, vous disposez d’un format commun, le ZXP, qui rend compatible votre extension avec toutes la suites CS.
Un fichier ZXP est défini par un manifeste xml, définissant le fonctionnement de l’extension (type, portée logiciel, …), et contient le (les) SWF de l’extension (une extension est en fait une pseudo application AIR, basée sur le SDK CS). Un fichier ZXP est signé numériquement. Vous devez donc avoir un certificat (PKCS12, PKCS11, JKS). Vous pouvez bien entendu utiliser votre certificat auto-signé préalablement créé avec Flash/Flex Buider.
Pour plus d’informations :
Un fichier ZXP doit (habituellement) être compilé en utilisant le packager Java UCF. Et c’est là l’idée de cette petite application : ne pas avoir a redéfinir vos certificats et autres options pour chaque package, et vous proposer une interface plus « user friendly » que le terminal.
Fonctionnement
Démarrage, et préférences
Au premier démarrage, l’application doit obtenir vos préférences de base.

-
Java Home
Vous devez indiquer le chemin vers votre JDK/JRE java, si celui-ci ne correspond pas à celui par défaut (l’application intègre le packager jar UCF, et elle doit connaître le répertoire racine de Java pour pouvoir le lancer). Les chemins racines par défaut sont:
- Pour Windows : ‘C:\Program Files\Java\jdk1.6.0′
- Pour Mac : ‘/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0′
-
Certificat
Vous devez préciser l’emplacement de votre certificat (généralement un fichier de type .p12 ou .p11), ainsi que votre mot de passe. Ces informations sont nécessaires pour la signature de l’extension.
-
Fichier cible
Vous devez indiquer le fichier de destination. L’extension .zxp est ajoutée automatiquement.
-
Source de l’extension
Les sources de l’extension, comme défini dans la nomenclature du SDK CS, doivent correspondre à ce schéma:

Ce répertoire est construit préalablement par la tâche ant de compilation, dans votre projet (cf. en fin d’article, le téléchargement du projet test d’extension)
Vous devez pointer sur le répertoire « bin ».- Démarrer un nouveau package;
- Ouvrir et installer l’extension via Extension Manager (vous devez bien entendu avoir préalablement installé Extension Manager CS5)
-
Définition de votre extension
Un package ZXP a besoin de 2 informations : le nom et l’emplacement de votre extension cible, et l’endroit où se trouve le répertoire « bin » de votre extension.

Une fois le packaging démarré, un message d’attente s’affiche.
![]()
Finalisation
Une fois le package créé, l’application vous propose de :

Téléchargements
ZXPackager
![]() |
![]() |
Extension de test
Tags: AIR, Applications, Flex, Lafabrick, linkedin, zxp




--> 2 août 2010 ( 8:52 )
C’est vraiment sympa, par contre ça ne vous embête pas de ne pas garder le look’n feel d’une application par rapport à son OS d’éxecution? C’était un peu ça l’intérêt de AIR au final, comme java sans les composants moches…
Après j’pose la question par curiosité, ça passe très bien sur mon mac :3
Ton extension UIGFX de démo fonctionne comment sous Fireworks? Je n’ai pas réussi à la faire fonctionner alors qu’elle est bien installée
--> 2 août 2010 ( 20:57 )
Qu’entends-tu par « ne pas garder le look’n feel d’une application par rapport à son OS d’exécution? » Si ça peut te rassurer, l’application a bien le même look’n feel sous Windows ou Mac, mais l’usage des NativeProcess implique de packager pour l’un et l’autre des OS.
A suivre, j’ai un joli post qui parcourt tout ça pour bientôt…
--> 2 août 2010 ( 22:31 )
@palleas ba je trouve pas que ce soit l’intérêt de AIR de garder le look de l’OS d’exécution…. Bien au contraire ! Le truc intéressant c’est de pouvoir enlevé le chrome par défaut et de mettre ce qu’on veut. Du coup de pouvoir avoir une interface graphique qui s’étend jusqu’au chrome de l’application. Et faire des trucs un peu plus classe. Parce-que globalement les fenêtres de windows son moches et celles de mac austère. Un peu de fun qe diable! même pour un packager d’appli
Pour Fireworks CS5 (que je m’est pas tester), c’est le seul de la suite qui est pris en charge d’une manière différente par le format ZXP et le SDK CS. Déjà, le wrapper actionscript n’est pas prix en charge. Du coup pas de levé d’événement entre votre extension et l’application. Et puis il y a le JSF, le javascript de Fireworks. C’est le seul de la suite avec flash et le JSFL à fournir une api complète. Du coup il est facile de créer une extension pour Fireworks par ce biais. Est-ce une raison de ne pas l’intégrer complètement dans le SDK CS? Je ne sais pas. Il faudrait demander a Adobe, mais je craint que les réponses me déplaises !
Sinon, j’admet, je n’ai pas tester sur toutes la suite CS5, pour la bonne raison que je ne l’ai pas en complet
--> 3 août 2010 ( 10:40 )
Quand je parlais du Look’n Feel, c’était plutôt pour parler du chrome de l’application justement. Comme je l’ai dis, sous mac ça passe très bien vu qu’on retrouve globalement les boutons fermer/agrandir/reduire au même endroit. Sous Windows/Linux cependant je suppose que c’est la même chose, et que justement les utilisateurs risques d’être perturbés, j’ai pas testé sous ces OS en même temps, j’avoue que je ne sais pas ce que ça rend.
--> 3 août 2010 ( 20:41 )
Je te rejoins dès lors qu’on parle d’une application grand public. Ici, c’est quand même super Adobe-geek comme appli, donc je reste à peu près sûr que ça ne perturbera pas grand monde…
En revanche, ça me semble clairement pertinent si la diffusion est plus large.