Principes de base de l’utilisation de l’API externe

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Même si, dans certains cas, un fichier SWF peut s’exécuter tout seul (si vous faites appel à Adobe® Flash® Professional pour créer un fichier de projection SWF, par exemple), une application SWF s’exécute généralement comme un élément intégré à une autre application. De façon générale, le conteneur dans lequel le fichier SWF est intégré est un fichier HTML ; un fichier SWF est utilisé, moins fréquemment, pour une partie ou l’intégralité de l’interface utilisateur d’une application de bureau.

Au fur et à mesure que vous utilisez des applications plus avancées, il se peut que vous souhaitiez définir une communication entre le fichier SWF et l’application du conteneur. Par exemple, il est courant pour une page Web d’afficher du texte ou d’autres informations en HTML, et d’inclure un fichier SWF pour afficher du contenu visuel dynamique (diagramme ou vidéo). Dans ce cas, vous souhaitez peut-être que lorsque les utilisateurs cliquent sur un bouton de la page Web, le fichier SWF soit modifié. ActionScript contient un mécanisme connu sous le nom d’API externe, qui facilite ce type de communication entre ActionScript dans un fichier SWF et d’autre code dans l’application conteneur.

Concepts importants et terminologie

La liste de référence suivante contient des termes importants relatifs à cette fonctionnalité.

Application conteneur
Application au sein de laquelle Flash Player exécute un fichier SWF, notamment un navigateur Web et une page HTML incluant le contenu Flash Player ou une application AIR qui charge le fichier SWF dans une page Web.

Fichier de projection
Fichier exécutable qui comprend un contenu SWF et une version intégrée de Flash Player. Pour créer un fichier de projection, faites appel à Flash Professional ou à la version autonome de Flash Player. Les fichiers de projection sont généralement utilisés pour distribuer des fichiers SWF par CD-ROM ou dans des situations semblables, lorsque le volume à télécharger n’est pas un problème et que l’auteur du SWF souhaite être sûr que l’utilisateur pourra exécuter le fichier SWF, indépendamment du fait que Flash Player est installé sur l’ordinateur de l’utilisateur.

Proxy
Code ou application intermédiaire qui appelle du code dans une application (l’application externe) au nom d’une autre application (l’application appelante), et renvoie des valeurs à l’application appelante. Un proxy peut être utilisé pour différentes raisons, notamment :
  • Pour simplifier le processus d’exécution d’appels de fonction externe en convertissant des appels de fonction native dans l’application appelante au format compris par l’application externe.

  • Pour contourner les limites de sécurité ou autres qui empêchent l’appelant de communiquer directement avec l’application externe.

Sérialiser
Convertir des objets ou des valeurs de données en un format qui permet de transmettre les valeurs dans des messages entre deux systèmes de programmation (par exemple, sur Internet ou entre deux applications qui s’exécutent sur un seul ordinateur).

Utilisation des exemples

La plupart des exemples sont des blocs de code de petite taille proposés à des fins de démonstration, plutôt que des exemples complets ou des codes qui vérifient des valeurs. Etant donné que l’utilisation de l’API externe exige (par définition) l’écriture de code ActionScript ainsi que de code dans une application conteneur, le test des exemples implique la création d’un conteneur (par exemple, une page Web contenant le fichier SWF) et l’utilisation des codes pour interagir avec le conteneur.

Pour tester un exemple de communication entre ActionScript et JavaScript :

  1. Créez un document vide à l’aide de Flash Professional et enregistrez-le dans votre ordinateur.

  2. Dans le menu principal, choisissez Fichier > Paramètres de publication.

  3. Dans l’onglet Formats de la boîte de dialogue Paramètres de publication, vérifiez que les cases à cocher Flash et HTML sont sélectionnées.

  4. Cliquez sur le bouton Publier. Ceci génère un fichier SWF et un fichier HTML dans le même dossier et avec le même nom que vous avez utilisé pour enregistrer le document Fermez la boîte de dialogue Paramètres de publication en cliquant sur le bouton OK.

  5. Désélectionnez la case à cocher HTML. Une fois que la page HTML est générée, vous pouvez la modifier pour ajouter le code JavaScript approprié. Lorsque vous désactivez l’option HTML, vous vous assurez qu’après avoir modifié la page HTML, Flash n’écrasera pas vos changements avec une nouvelle page HTML lors de la publication du fichier SWF.

  6. Fermez la boîte de dialogue Paramètres de publication en cliquant sur le bouton OK.

  7. Avec une application d’éditeur de texte ou HTML, ouvrez le fichier HTML créé par Flash lorsque vous avez publié le fichier SWF. Dans le code source HTML, ajoutez des balises script d’ouverture et de fermeture et copiez-y le code JavaScript issu de l’exemple de code :

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Enregistrez le fichier HTML et revenez à Flash.

  9. Sélectionnez l’image-clé sur l’image 1 du scénario puis ouvrez le panneau Actions.

  10. Copiez le code ActionScript dans le panneau Script.

  11. Dans le menu principal, choisissez Fichier > Publier pour mettre à jour le fichier SWF avec les changements que vous avez effectués.

  12. Utilisez un navigateur Web pour ouvrir la page HTML que vous avez modifiée afin d’afficher la page et de tester la communication entre ActionScript et la page HTML.

Pour tester un exemple de communication de conteneur ActionScript-vers-ActiveX :

  1. Créez un document vide à l’aide de Flash Professional et enregistrez-le dans votre ordinateur. Vous pouvez l’enregistrer dans le dossier dans lequel votre application conteneur s’attend à trouver le fichier SWF.

  2. Dans le menu principal, choisissez Fichier > Paramètres de publication.

  3. Dans l’onglet Formats de la boîte de dialogue Paramètres de publication, vérifiez que seule la case à cocher Flash est sélectionnée.

  4. Dans le champ Fichier situé en regard de la case à cocher Flash, cliquez sur l’icône de dossier pour sélectionner le dossier dans lequel votre fichier SWF sera publié. Définissez l’emplacement de votre fichier SWF pour pouvoir (par exemple) conserver le document dans un dossier, mais placer le fichier SWF publié dans un autre (le dossier contenant le code source pour l’application conteneur, par exemple).

  5. Sélectionnez l’image-clé sur l’image 1 du scénario puis ouvrez le panneau Actions.

  6. Copiez le code ActionScript pour l’exemple dans le panneau Script.

  7. Dans le menu principal, choisissez Fichier > Publier pour publier de nouveau le fichier SWF.

  8. Créez et exécutez votre application conteneur afin de tester la communication entre elle et ActionScript.

Pour obtenir des exemples complets d’utilisation de l’API externe pour communiquer avec une page HTML, voir le sujet suivant : Ces exemples comprennent le code entier (y compris le code ActionScript et de vérification des erreurs du conteneur) que vous devez utiliser lorsque vous écrivez le code à l’aide de l’API externe. Pour consulter un autre exemple complet d’utilisation de l’API externe, voir l’exemple associé à la classe ExternalInterface dans le Guide de référence ActionScript 3.0 pour Flash Professional.