Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Programmation > ActionScript / Flash / Flex > Lecture du tutoriel

Découvrez Flex

Avatar
Auteur : Migs
Créé : le 17/12/2007 08:56:19
Modifié : le 03/03/2008 15:27:58
Noter et commenter ce tutoriel
Imprimer ce tutoriel
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)
Hein c'est quoi ce truc Flex?! Encore une de ces technos bizarres qui servent à rien?!!


Ola, à peine commencé on me harcèle déjà :p

La plupart des gens savent de quoi je parle lorsque je dis "Flash": "Ah oui c'est ce machin qui permet de faire des trucs qui bouges sur les pages d'internet!"
Par contre quand je dis Flex: "... heeeeuuu ... c'est un truc flexible?..."

Si c'est votre cas je ne vous en veux pas, c'est génial ce tuto est fait pour vous! :D
Sommaire du chapitre :

Qu'est ce que Flex ?

Ne perdons pas de temps, définition!


Flex: solution de développement puissante permettant la création et le déploiement d?applications RIA (Rich Internet Application). Projet commencé par Macromedia en 2004 puis repris par Adobe en 2006 (dû au rachat de Macromedia par Adobe).

Eh mais Flash permet déjà de faire des RIA, à quoi bon une autre techno?


Au commencement, Flash ne permettait que de faire des animations et l'utilisateur ne pouvait pas interagir avec elles. Il s?agissait en quelque sorte de GIFs animés améliorés. Ensuite Flash s'est doté d'un langage de programmation "ActionScript" qui permettait d'ajouter du code derrière l'animation afin de la rendre dynamique (interaction avec l'utilisateur possible). Avec les différentes améliorations apportées au court du temps à l'ActionScript deux orientations différentes de la technologie Flash ont commencées à apparaitre:


La voie n°1 était plus adaptée pour les graphistes alors que la voie n°2 correspondait d'avantage à l'utilisation de Flash par des développeurs. Fort de cette déviance de l'utilisation de Flash, Macromedia a décidé d'agir en faveur des développeurs en créant une solution de développement qui leur serait plus adaptée. Tadaaaa... j'ai nommé: Flex!

En quoi Flex est-il plus adapté aux développeurs? Et d'abord c'est quoi la différence entre Flash et Flex?


Flash n'est pas une plateforme de développement, il n'a pas été conçu dans le but de le devenir et il ne le deviendra certainement jamais. Les versions 1 et 2 d'ActionScript n'étaient que des solutions de développement greffées à Flash pour lui permettre de créer du contenu interactif. Le grand hic c'est qu'ActionScript ressemblait plus à de la bidouille qu'à un langage de programmation propre et normalisé. L'apprentissage d'ActionScript pour un développeur était, de ce fait, souvent long et rigoureux.

Flex est une plateforme de développement conçue spécifiquement pour les développeurs et qui s'appuie sur une nouvelle version du langage: ActionScript 3. Ce dernier est un langage qui obéit aux règles de la POO (Programmation Orientée Objet) et agrandit considérablement les possibilités de création en termes de développement. Il dispose d'un Framework fournissant au développeur de nombreuses classes ce qui permet un développement rapide et un code mieux structuré. Contrairement à Flash, Flex ne dispose pas d'outils de dessin. Les composants nécessaires sont déjà crées et le développeur peut les insérer à souhait et modifier leur apparence au besoin. Pour ceux qui connaissent Visual Basic, il s?agit du même principe. (juste le principe! :p ) Dernier détail: il est possible de créer des animations avec Flex mais il faut les écrire en ActionScript donc pas très pratique... :o Mais pas de panique! Il est possible d'importer du contenu Flash dans une application Flex, possibilité améliorée avec la sortie de Flex Builder 3.

Important: Flex n'a pas été conçu avec l'objectif de remplacer Flash. En effet, les 2 technologies sont complémentaires et répondent à des besoins différents. La venue de Flex n'annonce en rien la mort de Flash.



Je vais m'arrêter là pour la présentation de Flex, aller plus en profondeur déboucherait sur une étude technique, ce qui n'est pas le but ici. Sachez toutefois que le Web regorge d'informations si vous souhaitez en savoir plus sur les avantages, les inconvénients, les performances, la sécurité etc...

Maintenant pour les petits impatients qui ne peuvent pas attendre de voir à quoi ressemble une application Flex, voici une démo qui va vous intéresser (une fois la page chargée cliquez sur Products en haut). Si vous n'avez pas le plugin Flash Player 9 installé, prenez patience et passez au chapitre suivant :p .




Installation d'Adobe Flex Builder 3

Téléchargement



Depuis le 25 février 2008 Flex Builder 3 est téléchargeable sur le site d'Adobe:




Cliquez sur le lien ci-dessus et une fois la page chargée vous devriez voir ceci:

Image utilisateur

Si vous avez déjà un compte Macromedia ou Adobe, utilisez le pour vous logger, sinon créez un nouveau compte en cliquant sur Create an Adobe account.

Pas de panique! S'inscrire prend à peine 2 minutes et vous ne vous ferez pas spammer à condition de ne pas cocher les cases d'inscription aux newsletters comme indiqué ci-dessous:

Image utilisateur


Une fois inscrit et loggé vous devriez arriver sur la page suivante:

Image utilisateur


Dans la liste de sélection choisissez la version qui correspond à votre langue et à votre système d'exploitation. Ne cherchez pas de version française de Flex, il n'y en a pour le moment aucune. Une solution consisterait à installer Eclipse avec le pack de langages additionnels pour la langue française puis d'installer le plugin Flex. Je n'ai pas testé cette solution, n'hésitez pas à me faire part de vos feedback si vous avez essayé. :D


Installation



Une fois le fichier téléchargé, lancez l'installation. L'installation n'a rien de très compliquée mais juste au cas où suivons là étape par étape:



Félicitation! :D Flex Builder 3 est maintenant installé sur votre ordinateur. Essayez donc de lancer l'application pour vérifier que tout s'est bien passé.

Image utilisateur


Si vous possédez un numéro de licence, entrez le ici, sinon cliquez sur Continue Trial et vous pourrez utiliser cette installation pour une période de 2 mois:

Image utilisateur


Il se peut qu'au premier démarrage le message suivant s'affiche dans la fenêtre "Flex Start Page":

Citation : Flex Start Page
The Flex Start Page requires the Adobe Flash Player. Please use the installers in the Flex Builder 3/Player/ folder to install the Adobe Flash Player into your default browser.


Si s'est le cas, rendez vous dans le dossier d'installation de Flex et dans le dossier "Player" devrait se trouver un dossier contenant les installations du Player Flash pour votre système d'exploitation. Fermez Flex, installez Install Flash Player 9 ActiveX et réessayez de lancer Flex. L'installation du contrôle ActiveX devrait suffire à régler le problème, toutefois, si ça n'est pas le cas, installez également Install Flash Player 9 Plugin (vous devrez fermer votre navigateur).


Voilà, l'installation est terminée!



Dernière info : si vous souhaitez vous ternir au courant des nouveautés visitez le site Adobe Labs :

Image utilisateur

Ce site est incontournable si vous souhaitez être au courant du prochain gadget que la machine Adobe va vous pondre ;) . Si vous le souhaitez, faites un petit tour sur le site, on y trouve un tas de choses intéressantes, en particulier pour les développeurs. Personnellement je le visite régulièrement pour connaitre les améliorations qui seront apportées à Flex ou à Flash. Point faible: le site n'est disponible que dans une seule langue, l'anglais.

Premier projet

Maintenant on passe aux choses sérieuses! :p

Nous allons ensemble créer un nouveau projet très simple permettant de comprendre le fonctionnement de base d'une application Flex.

Si Flex Builder n'est pas lancé commencez par là (oula ça attaque dur! ^^ ).

Ensuite cliquez sur File dans le menu principal. Dans le menu qui se déroule sous vos yeux, survolez New avec votre souris. Une liste apparaît avec plusieurs possibilités. Ce qui nous intéresse nous, c'est de créer un nouveau projet donc cliquons sur Flex Project. La fenêtre suivante apparaît:

Image utilisateur

On remarque ici qu'il est possible de créer des applications de bureau, il suffit pour cela de cocher Desktop Application (runs in Adobe AIR). Cela signifie qu'il est non seulement possible de créer des applications internet mais également de faire du software exécutable sur votre ordinateur. :)
Dans ce tutoriel nous allons créer un projet Web, vérifiez donc que Web Application (runs in Flash Player) est bien coché. Ensuite donnez un nom à votre projet, entrez "tutoFlex" dans le champ Project Name. Vous avez ensuite la possibilité de choisir où vous souhaitez enregistrer votre projet ou vous pouvez laisser le chemin par défaut. Le dernier encadré permet de choisir la technologie serveur avec laquelle on va travailler. Par exemple pour un projet PhP/MySQL vous choisirez "PHP" dans la liste. Dans ce tutoriel je n'utiliserais pas de technologie serveur, vous pouvez donc laisser la sélection sur "None" et cliquer sur next.



Image utilisateur

Dans cette boite de dialogue on vous demande de choisir le dossier dans lequel les fichiers compilés du projet seront exportés. En d'autres termes, le dossier de votre site web qui va contenir l'application Flex. Pour notre exemple nous laisserons "bin-debug", ce dossier sera créé dans la racine de notre projet Flex. Cliquez sur next.



Image utilisateur

Ici on vous demande de choisir un nom pour votre dossier source. Le nom par défaut est "src" mais vous pouvez bien sur entrer celui qui vous convient. Vous avez également la possibilité d'inclure des dossiers faisant parti du code source mais que se trouvent en dehors du dossier source principal. Pour cela il suffit de cliquer sur Add Folder. Le champ Output folder URL désigne l'URL de votre application (compilée) sur le serveur où elle s'exécute. Dans notre exemple nous n'utiliserons pas de serveur, nous laisserons donc ce champ vide. Enfin l'onglet Library Path vous permet d'ajouter des bibliothèques complémentaires au SDK de base. Ceci est pratique si vous disposez de classes spécialisées qui ne font pas partie du SDK et que vous souhaitez pouvoir les utiliser dans votre projet. Encore une fois, je vous dis cela à titre informatif, nous n'utiliserons pas de classes supplémentaires dans cet exemple, vous pouvez donc cliquer sur Finish pour terminer.

Tadaaaa! :D Si tout c'est bien passé, le projet est créé, vous devriez obtenir ceci:


Image utilisateur

Si vous voyez du code au lieu du dégradé gris, cliquez sur le bouton Design au dessus du code et la fenêtre ci-dessus apparaîtra.


Pour expliquer l'interface rien de mieux qu'un exemple! Alors lançons-nous! ^^

Pour commencer nous allons insérer un bouton, élément de base permettant à l'utilisateur d'interagir avec le programme. Pour cela allez dans la fenêtre Components et double-cliquez sur le dossier Controls pour afficher la liste des contrôles disponibles:

Image utilisateur

Sélectionnez le composant Button puis glissez-le dans le plan de travail comme indiqué ci-dessous:

Image utilisateur Image utilisateur


Une fois le bouton inséré dans le plan de travail, il est automatiquement sélectionné et ses propriétés apparaissent dans la fenêtre des propriétés à droite de l'espace de travail:
Image utilisateur

Cette fenêtre a une grande importance car c'est elle qui vous permettra, entre autres, de modifier l'apparence des différents composants de votre interface graphique. Elle remplace en quelque sorte les outils de dessin de Flash. Vous disposez d'un modèle de base pour votre bouton mais vous pouvez lui donner une apparence totalement différente en changeant ses propriétés. Amusez vous avec les propriétés et essayez de modifier votre bouton. Mais copiez pas sur moi! :colere2:

Voilà le mien ^^ :
Image utilisateur

Il est beau hein? :-° Bon allez si vous avez copié je vous pardonne... (je suis trop bon :p )

Bon assez rigolé! J'ai oublié de parler de la propriété la plus importante de tous les composants! L'identifiant! Il s'agit du premier champ de la fenêtre des propriétés intitulé "ID". Pourquoi ce champ est important? Parce que c'est lui qui va vous permettre d'accéder à votre bouton au sein du code. Bien sur si vous ne comptez pas utiliser un composant dans votre code vous n'avez pas besoin de spécifier d'ID. Personnellement je ne spécifie jamais l'ID tout de suite, je rajoute les identifiants au fur et à mesure que je développe, lorsque j'ai besoin d'accéder à un composant. Cela évite de surcharger le code avec des identifiants inutiles.

Eh?! Vous êtes pas en train de vous dire que ça manque de propriétés quand même cette fenêtre? (Si oui vous aurez un bon point :D ). En fait la fenêtre des propriétés est découpée en 2 parties. La première regroupe les propriétés principales en proposant une manière plutôt ergonomique de les modifier, la seconde, plus manuelle regroupe toutes les propriétés disponibles pour un composant. Pour y accéder il suffit de cliquer sur la petite icône intitulée Category View:

Image utilisateur


La fenêtre suivante apparait alors:
Image utilisateur

Ici les propriétés sont regroupées en 7 groupes distincts: Common, Effects, Events, Layout Constraints, Size, Styles et Other. Ce n'est pas le but de ce tutoriel de détailler chacune d'elles, il y a pour cela le manuel de référence disponible sur internet ou bien en local en cliquant dans le menu principal sur Help puis sur Help Contents. Dans la fenêtre qui apparait allez dans le volet de gauche et cliquez sur le petit "+" à coté de Adobe Flex 3 Help pour dérouler son contenu. Ensuite dans la liste apparue, déroulez Adobe Flex 3 Language Reference. Vous y voilà! (je sais un peu laborieux l'accès au langage de référence... Mais pas de panique il y a une méthode plus simple décrite un peu plus loin dans ce tutoriel. Patience ;) ).

Continuons notre projet! Retournez dans la liste des composants et insérez le composant intitulé TextInput:

Image utilisateur

Comme moi entrez le texte "test" dans la propriété Text de l'objet TextInput. Vous pouvez aussi modifier sa taille et sa police si vous le souhaitez.

Voilà! L'interface graphique de notre application est terminée! :D

Bon mais c'est pas fini il faut maintenant donner vie à nos composants. Et pour ça j'ai nommé: ActionScript 3! Pour accéder à la partie code du projet cliquez sur le bouton Source comme indiqué ci-dessous:

Image utilisateur


La fenêtre de code apparait:

Image utilisateur

La ligne 4 est surlignée car le composant TextInput était sélectionné avant que je clique sur le bouton Source. Ici on ne voit pas beaucoup l'avantage car il n'y a pas beaucoup de lignes mais croyez moi, à partir d'une centaine de lignes ceci commence à devenir bien pratique.

Important: Ce que vous voyez n'est pas de l'ActionScript! Je suis certain que la plupart d'entre vous auront reconnu du XML. Il s'agit en fait d'un dérivé: le MXML ou Marcromedia XML (Ils se sont pas cassé la tête :p ).


Le MXML permet de structurer les composants de votre projet. Les balises sont des composants et les attributs de ces balises sont les propriétés des composants. Un composant "conteneur" peu contenir d'autres composants entre sa balise ouvrante et sa balise fermante. Ainsi, le code est structuré à la poupée russe (si je puis m'exprimer ainsi. Enfin c'est le principe du XML quoi ^^ ) avec des conteneurs et des contenants. Attention, tous les composants ne sont pas des conteneurs. Pour savoir si un composant est un conteneur, il suffit de regarder dans le manuel de référence si la classe de votre composant hérite de la classe "Container" (Il est nécessaire d'avoir des notions sur l'héritage pour comprendre cette phrase :p ).

Allez je vous montre! Sélectionnez dans la fenêtre le mot "Application" de la balise <mx:Application> puis appuyez sur SHIFT + F2. Tadaaa, le manuel de référence s'ouvre directement sur la classe Application (je vous avais dit que je vous montrerai un moyen plus simple d'accéder à l'aide, 'mitonne pas moi! :D ). A la 3e ligne il est écrit Inheritance (en français héritage, trop dur :p ) suivit du nom de notre classe puis de toutes les classes parents de notre classe. Vous remarquez que la classe Application a plein de papas et de mamans dont la classe Container. Conclusion: Youpii la classe Application est un composant conteneur! Essayez maintenant de faire la même manipulation pour la classe Button. Si vous ne vous êtes pas gourés vous verrez qu'il ne s'agit pas d'un composant conteneur.

Désolé pour la partie ennuyante, je fais de mon mieux pour la rendre supportable avec des blagues génialissimes! (hum...) Si je dis ça c'est parce que j'ai un dernier truc ennuyant à vous dire: toutes les classes ne sont pas des composants! Pour qu'une classe soit un composant insérable dans le plan de travail il faut qu'elle hérite de la classe "DisplayObject". Et si vous avez bien suivi, vous devriez savoir comment déterminer qu'une classe hérite de la classe DisplayObject.


Allez retournons à quelque chose d'un peu plus fun que du blabla! :)

Nous allons faire en sorte que le texte "Hello World of Zero!" s'affiche dans le composant TextInput lorsque l'on clique sur le bouton. Pour cela il va falloir insérer du code ActionScript à notre fichier mxml. Un fichier mxml est composé de balises, le code ActionScript est donc enveloppé par la balise "Script" puis par la balise "CDATA" de la manière suivante:

Code : XML
1
2
3
4
5
<mx:Script>
   <![CDATA[
      mon code ActionScript
   ]]>
</mx:Script>


Insérez donc ces balises dans le projet et ajoutez la fonction boutonClickHandler() comme indiqué ci-dessous:

Image utilisateur


Cette fonction contiendra le code à exécuter lorsque l'évènement "click" sera détecté sur notre bouton. Pour que le bouton sache quelle fonction appeler lorsqu'il est cliqué il faut entrer "boutonClickHandler()" à sa propriété click. Pour cela vous avez plusieurs possibilités:

Maintenant que le lien entre le bouton et la fonction boutonClickHandler() est créé, on va pouvoir ajouter du code à notre fonction. Le code doit affecter la phrase "Hello World of Zero!" à la propriété text du composant TextInput. Le seul problème c'est que nous n'avons pas encore donné d'identifiant à ce composant! Nous allons donc lui ajouter l'identifiant "txtInput". Pour cela vous pouvez utiliser l'une des 3 méthodes décrites ci-dessus, à la seule différence que cette fois on modifie la propriété id et non la propriété click.

Une fois l'identifiant assigné tapez dans la fonction boutonClickHandler() "txtInput." et au moment où vous taperez le "." la liste des propriétés du composant "txtInput" s'affichera (si elle ne s'affiche pas, cela signifie que vous n'avez pas ou mal attribué l'identifiant au composant TextInput).

Image utilisateur

Appuyez sur "t" et les propriétés commençant par "t" s'afficheront et parmi elles la propriété "text". Sélectionnez là et appuyez sur Entrer. Il ne vous reste plus qu'à finir :) .

Allez je vous donne la réponse, trop dur :p :

Code : Autre
1
txtInput.text="Hello World of Zero!";


Voilà voili voilou! Il ne reste plus qu'à tester! :D

Mais bon pour tester il faut d'abord compiler. Ne vous inquiétez pas, il n'y a rien de prise de tête pour la compilation. En effet, à chaque sauvegarde le projet est compilé! (c'est t'y pas merveilleux! ^^ ). Il vous suffit donc de faire un petit CTRL + S et c'est réglé ;) .

Enfin, si vous n'avez pas d'erreur de compilation, vous pouvez cliquer sur la petite flèche verte du menu principal pour lancer votre application.

Image utilisateur

Votre navigateur préféré devrait alors se lancer et vous n'avez plus qu'à cliquer pour tester et voir votre génialissime message s'afficher!


Je vous donne ma version avec la source (clique droit sur l'application -> View Source):


Voilà c'est tout pour ce tutoriel dont le but était de vous présenter Flex. J'espère que ça vous a plu, si c'est le cas laissez moi des commentaires et j'écrirais d'autres tutoriels sur le sujet :) .

À vous les Zéros!
Auteur : Migs
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Nombre de connectés 648 Zér0s connectés | Requêtes SQL 7 requêtes | Temps de génération de la page 0.0301s (0.0141s)

Changer de design - Revue de presse - En savoir plus - Plan du site
Nous contacter - Mentions légales - Publicité
Politique d'accessibilité - Fil RSS - XHTML 1.0 - CSS 2.0

Y'a plus rien à lire, faut remonter maintenant !