Maintenant que vous savez comment créer un projet AS3 avec FlashDevelop, nous allons voir comment créer un projet AIR et comment le packager pour pouvoir l’installer comme application autonome tournant dans AIR.
D’abord, qu’est-ce que AIR ? Adobe Integrated Runtime. Vous trouverez toutes les explications nécessaires sur le site d’Adobe mais, en gros, c’est un moyen de faire tourner vos animations Flash (à ce stade, on parle d’applications et non plus d’animations) comme des applications de bureau, tournant sur votre machine. Avec quelques avantages par rapport à Flash comme les accès aux fichiers locaux, l’utilisation de bases de données SQlite, la possibilité d’utiliser un moteur de rendu HTML (WebKit), etc…
Pour être précis, il faut dire que AIR permet aussi de créer des applications basées uniquement sur du HTML ou du HTML+Javascript. On n’est donc pas obligés d’utiliser Flash pour créer une application AIR.
Mais c’est pourtant ce que nous allons faire :)
Commençons par créer un nouveau projet dans FlashDevelop. Si vous avez un projet d’ouvert, fermez le et fermez tous les onglets ouverts pour vous retrouver avec l’onglet Start Page seul ouvert.

Cliquez sur New Project et choisissez AIR AS3 Projector. Comme pour le projet AS3, choisissez un nom pour votre projet et un emplacement ou enregistrer vos fichiers.

Après avoir confirmé vos choix en cliquant sur ok, vous constaterez que la colonne Project contient quelques fichiers en plus que lors de la création d’un simple projet AS3. (Mon projet contient toujours le fichier SWCSettings.lxml qui ne se trouve pas dans le votre, toujours à cause d’un plugin que j’ai installé).

Nous reviendrons sur ces fichiers dans un instant mais d’abord, nous allons tester notre application.
Dans la classe Main, créez un TextField qui affichera le fameux « Hello World » connu de tous puis testez avec CTRL+Enter ou F5.

Et normalement, votre application devrait s’afficher à l’écran.

Vous constaterez que ce que fait en fait FlashDevelop, c’est ouvrir un exécutable qui s’appelle adl.exe (AIR Debugger Launcher), qui se trouve dans le SDK installé précédemment.
C’est cet exécutable qui sert de « player » et qui lance le swf généré par le compilateur de Flex. C’est lui aussi qui nous permettra de débugger notre application.
Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/CommandLineTools_4.html#1031914
Vous pouvez voir ce qui se passe exactement en analysant les lignes qui se trouve dans le panneau Output
A ce stade, nous n’utilisons pas encore réellement le Adobe Integrated Runtime mais nous simulons son utilisation.
Pour comprendre comment FlashDevelop « sait » qu’il doit utiliser adl, nous allons aller voir de plus près le panneau des propriétés du projet.
Cliquez sur Project -> Properties.
Dans l’onglet Output (ouvert par défaut), dans la partie Test Movie (en bas de la fenêtre) on constate que le choix dans la combo-box est défini sur « Run custom command ».
Et si on clique sur Edit, on a accès à cette « Custom command ».

Cette ligne indique à FlashDevelop que, au lieu d’ouvrir le player Flash, il doit lancer adl.exe (qui se trouve dans le SDK au chemin configuré lors de l’installation) et passer un fichier .xml (application.xml) comme paramètre à adl.exe. Il lui indique également le chemin d’un répertoire à inclure dans le « path » de l’application(bin).
Dans l’onglet Classpaths, on défini les différents endroit ou FlashDevelop va aller chercher les classes à utiliser dans le projet. Le classpath src est défini par défaut. On peut en ajouter autant qu’on veut (un par ligne) en entrant un chemin relatif au projet (../../../monClassPath fonctionne aussi).

Dans l’onglet Build, on peut demander à FlashDevelop de lancer des commandes avant (Pre-Build) ou après (Post-Build) la construction de l’application AIR. Dans le cas d’un projet AIR, une pre-build par défaut demande à FD d’arrêter tout process de adl avant de lancer la construction du projet.

Dans l’onglet Compiler Options, il y a énormément de paramètres modifiables mais celui qui va nous intéresser se trouve dans la rubrique Aditional Compiler Options. En cliquant sur le rectangle avec les « … », vous verrez que FlashDevelop est configuré pour créer une application AIR.

Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/help.html?content=CommandLineTools_2.html
Intéressons-nous maintenant à ces 4 fichiers supplémentaires qui se trouvent dans notre projet. Nous avons:
application.xml
CreateCertificate.bat
PackageApplication.bat
AIR_readme.txt
Le premier fichier, application.xml, est un fichier de description de votre application. C’est grâce à lui que vous aller déterminer le comportement de votre application par rapport à la machine: aspect de la fenêtre de l’application, icônes associées à votre application, version de l’application, etc…
Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/SDKHelloWorld_1.html#1030300

Les deux fichiers qui suivent, CreateCertificate.bat et PackageApplication.bat sont des fichiers batch qui contiennent les lignes de commande qui servent, pour le premier, à créer le certificat dont toute application AIR doit être munie, et pour le deuxième, à créer le fichier .air, qui sera le fichier d’installation que vos clients utiliseront pour installer votre application sur leur machine.
Ces deux fichiers doivent être exécutés pour créer votre package AIR. D’abord CreateCertificate.bat puis PackageApplication.bat
En effet, le second fichier aura besoin du certificat créé par le premier pour packager votre application.
Pour exécuter le fichier CreateCertificate.bat, faites un click-droit dessus dans la fenêtre Project et choisissez Execute. Une console s’ouvre pour exécuter ce fichier. Notez-bien le password indiqué, nous en aurons besoin plus tard.

Si vous obtenez un message d’erreur du type : »Troubleshotting: did you configure the Flex SDK path in this Batch file? », c’est que le fichier n’a pu trouver le chemin vers le sdk ou le chemin vers le jre Java.
Pour résoudre ce problème, vous devrez indiquer les chemins exacts au moyen des lignes suivantes dans le fichier CreateCertificate.bat:
:: Path to Flex SDK binaries
set PATH=%PATH%;E:\sdks\flex_sdk_4_1\bin
set PATH=%PATH%;C:\Program Files (x86)\Java\jre1.6.0_07\bin
Double-cliquez sur le fichier (colonne Project) pour l’ouvrir dans FlashDevelop et modifiez ces lignes.

Bien entendu, vous devez adapter les chemins en fonction de vos machines.
Enregistrez, fermez le fichier puis relancez le process et ça devrait fonctionner.
Vous pouvez appuyer sur une touche pour fermer la console. Vous constaterez qu’il y a un fichier en plus dans votre projet: SelfSigned.pfx. C’est le certificat personnel que AIR utilisera pour certifier votre application lors de son installation sur une machine client. Bien entendu, il faudra acheter un « vrai » certificat si vous voulez réellement être crédible et vendre votre application. Voir sur le site d’Adobe la marche à suivre.
Maintenant que le certificat est créé, nous allons « packager » notre .swf au format AIR. Simplement, nous allons créer un fichier regroupant toutes les sources dont le runtime aura besoin pour installer votre application sur la machine.
Dans la colonne Project, vous avez actuellement quelque-chose comme ceci:

Toujours dans la colonne Project , faites un click-droit sur PackageApplication.bat et choisissez Execute.
Vous obtenez la console suivante:

Vous voyez que la ligne d’invite vous demande d’entrer un mot de passe.
Tapez celui que vous avez noté juste avant (fd dans notre cas) et faites Enter.
Si vous avez un message d’erreur, faites la même modification que dans CreateCertificate.bat. (chemin vers sdk et jre java)
Si vous n’avez pas d’erreur, vous devriez avoir la réponse suivante:

Et dans la colonne Project, vous voyez un nouveau répertoire air avec un fichier de type .air à l’intérieur. C’est votre application packagée au format AIR :)

Pour installer l’application sur votre machine, vous n’avez plus qu’a exécuter ce fichier. Click-droit/Execute si vous êtes dans FlashDevelop ou DoubleClick depuis l’explorer. Suivez les consignes pour installer votre application et… c’est fait. :)
Voilà qui termine ce deuxième tuto consacré à FlashDevelop.
N’hésitez pas à me poser vos question par email ou par twitter en cas de besoin (twitter.com/baizone)
A bientôt pour la troisième partie: Porter notre application AIR sur Android.