Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Étant de ceux qui pensent que toute explication passe mieux quand elle est associée à un exemple, je vais attaquer ce semblant de doc par un exemple d'un descripteur d'application complet. =)
Ne vous étonnez pas si le contenu du descripteur est en anglais, je l'ai honteusement emprunté au répertoire du SDK contenant des exemples d'applications et de descripteurs.
Code : XML 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 | <?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.0" minimumPatchLevel="0">
<id>com.example.ExampleApplication</id>
<name>Example Co. Example Application 1.0</name>
<version>1.0</version>
<filename>Example Application</filename>
<description>This is a sample Adobe AIR application.</description>
<copyright>Copyright 2008, Example Co., Inc.</copyright>
<initialWindow>
<content>ExampleApplication.swf</content>
<title>Example Application</title>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>false</visible>
<minimizable>true</minimizable>
<maximizable>true</maximizable>
<resizable>true</resizable>
<width>500</width>
<height>500</height>
<x>150</x>
<y>150</y>
<minSize>300 300</minSize>
<maxSize>800 800</maxSize>
</initialWindow>
<installFolder>Example Company/Example Application</installFolder>
<programMenuFolder>Example Company/Example Application</programMenuFolder>
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
<allowBrowserInvocation>false</allowBrowserInvocation>
</application>
|
Allez, au boulot :
Code : XML1
2
3 | <application version="1.0"
xmlns="http://ns.adobe.com/air/application/1.0"
minimumPatchLevel="5331">
|
À la racine du descripteur nous découvrons la balise
application, et ses trois attributs (parmi lesquels un seul est obligatoire).
Tout ce qui se trouve compris dans la balise
application affectera d'une manière ou d'une autre le comportement général de l'application. Elle est de ce fait
obligatoire !
Il ne peut y avoir aucune information définie en dehors de cette balise !
xmlns, tout comme en xHTML, sert à définir
le NameSpace (ou espace de nom) du document, et dans ce cas particulier, il sert aussi à préciser la version du runtime que doit posséder le client (la version 1.0 dans cet exemple). Si la version du client n'est pas celle requise par l'application, AIR se charge d'afficher une boite de dialogue pour demander à l'utilisateur de remédier au problème (en mettant à jour le runtime par exemple).
Cet élément est obligatoire.
minimumPatchLevel, couplé avec
xmlns, permet de définir de manière très précise la version d'AIR que doit posséder le client. Alors que
xmlns ne permet de définir que la version du runtime,
minimumPatchLevel permet d'exiger qu'un patch précis de cette version ait été appliqué. En cas d'absence du patch demandé, AIR demande au client de le télécharger.
Définition des informations élémentaires de l'application
Les lignes suivantes définissent l'ID, la version, le nom, le nom du fichier principal, la description, et le copyright de l'application :
Code : XML1
2
3
4
5
6 | <id>com.example.samples.TestApp</id>
<version>2.0</version>
<filename>TestApp</filename>
<name>Example Co. Test Application</name>
<description>An MP3 player.</description>
<copyright>Copyright (c) 2006 [YourCompany, Inc.]</copyright>
|
id, c'est une chaîne d'un minimum d'un caractère et d'un maximum de 212 qui fait office d'identifiant unique, ce qui permet au runtime de pouvoir identifier cette application parmi les autres.

Cette chaîne est restreinte aux caractères suivants :
- 0-9
- a-zA-Z
- . (point)
- - (tiret)
Cet élément est obligatoire.
version, chaîne définissant le numéro de version de l'application. Cette information, bien qu'obligatoire, n'influe en rien sur le comportement du runtime ou du SDK et ne sera même pas interprétée par ces derniers.
Cet élément est obligatoire.
filename, nom du fichier HTML contenant l'application (sans l'extension). Sera utilisé comme nom d'application si
name n'est pas défini.
Cet élément est obligatoire.
name, titre affiché lors de l'installation. S'il est défini, il sera aussi utilisé comme nom du raccourci créé par l'installation.
Bien que facultatif, cet élément est fortement recommandé.
description, description de l'application. Elle sera affichée lors de l'installation.
copyright, informations de copyright concernant l'application.
Définition des propriétés d'installation
Le dossier d'installation et le menu dans lequel on peut retrouver l'application peuvent être modifiés par ces deux balises :
Code : XML1
2 | <installFolder>Acme</installFolder>
<programMenuFolder>Acme/Applications</programMenuFolder>
|
Ces éléments sont facultatifs.
installFolder définit le sous-dossier dans lequel l'application sera installée.
Si
installFolder vaut "mon_appli", il sera installé :
- dans le répertoire C:\Program Files\mon_appli\ sous Windows ;
- dans le répertoire /Applications/mon_appli/ sous Mac OS.
programMenuFolder, définit à quel endroit du menu seront placés les raccourcis concernant l'application (sous Windows : "Tous les programmes"). Ce paramètre est ignoré pour les OS différents de Windows.
Définition des propriétés de la fenêtre principale
Quand une application AIR est lancée, le runtime utilise le contenu de la balise
initialWindow pour créer la fenêtre principale de l'application :
Code : XML 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | <initialWindow>
<content>AIRTunes.html</content>
<title>AIR Tunes</title>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<visible>true</visible>
<minimizable>true</minimizable>
<maximizable>true</maximizable>
<resizable>true</resizable>
<width>400</width>
<height>600</height>
<x>150</x>
<y>150</y>
<minSize>300 300</minSize>
<maxSize>800 800</maxSize>
</initialWindow>
|
Les propriétés enfants de initialWindow ne seront appliquées qu'à la fenêtre principale.
content, URL relative du fichier (page HTML ou fichier SWF) à charger dans la fenêtre principale, à partir de la racine de l'application. Ce paramètre étant une URL, elle doit être encodée correctement.
Cet élément est obligatoire.
title, représente le titre de la fenêtre (le titre défini dans le fichier HTML écrasera cette valeur).
systemChrome, défini le
chrome (thème des fenêtres) de l'application. La valeur par défaut,
standard, utilise le chrome du système. La valeur none n'affichera pas de chrome.
Ce paramètre ne peut pas être modifié pendant le fonctionnement de l'application.
transparent, passez à
true si vous voulez que la fenêtre supporte l'
alpha blending (transparence). Cette option peut se révéler gourmande en ressources.
Vous pouvez passer transparent à true seulement si systemChrome vaut none.
visible, booléen contrôlant l'affichage immédiat (s'il vaut
true) ou retardé de la fenêtre principale (pour par exemple avoir le temps de déplacer la fenêtre, modifier sa taille, charger entièrement l'application, etc.). Si ce paramètre n'est pas renseigné, sa valeur par défaut étant
false, vous pouvez afficher la fenêtre pendant le fonctionnement de l'appli en mettant la variable stage.nativeWindow.visible à
true.
x, y, width, height, représentent respectivement l'abscisse, l'ordonnée, la largeur et la hauteur de la fenêtre. Si ces valeurs ne sont pas renseignées, la taille de la fenêtre dépendra de celle de son contenu (fichier SWF ou HTML).
minSize, maxSize, définissent la taille minimale et maximale de la fenêtre. Si ces valeurs sont vides, elles seront renseignées par l'OS.
minimizable, maximizable, resizable, définissent si la fenêtre peut être réduite, agrandie, et redimensionnée. Par défaut ces propriétés valent
true.
Avec Mac OS, maximizable et resizable doivent être mises à false si on veut interdire le redimensionnement/agrandissement d'une fenêtre.
Définition des icônes de l'application
Parce qu'avec une icône, c'est tout de suite plus joli.
Code : XML1
2
3
4
5
6 | <icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggestIcon.png</image128x128>
</icon>
|
L'adresse des icônes est l'URL relative vers ces dernières, à partir de la racine de l'application. Les images doivent être au format PNG.
Si vous donnez une image pour une taille précise, l'image doit impérativement être aux dimensions données ! Si toutes les tailles ne sont pas renseignées, l'OS choisira la taille la plus proche et l'adaptera selon ses besoins.
N'oubliez pas d'inclure les icônes lorsque vous compilez votre application, AIR ne les ajoute pas automatiquement !
Permettre l'appel d'une application à partir du navigateur
En changeant le paramètre ci-dessous à
true, il deviendra possible de lancer l'application à partir d'un navigateur (en cliquant sur un lien).
Code : XML1 | <allowBrowserInvocation>true</allowBrowserInvocation>
|
Avant de passer ce paramètre à
true, prenez bien en considération les failles potentielles de sécurité que cela peut créer.

Par défaut,
allowBrowserInvocation vaut
false.