Installation et préparation de Flash Remoting
Flash Remoting est une passerelle entre le player Flash et le serveur d’application. C’est-à-dire que Flash Remoting permet au player Flash de directement invoquer des méthodes sur le serveur, quelque soit le langage utilisé côté serveur, et d’interpréter directement les informations retournées.
Plus besoin de sérialiser / dé-sérialiser à chaque échange. Le langage AMF (Action Message Format). Vous pouvez également charger les spécifications de AMF3 sur le site d’Adobe.
Macromedia a développé divers modèles de Flash Remoting pour chaque environnement de développement, .net, ColFusion et Java. Il existe également des alternatives Open Source notamment pour PHP, .net , PERL et Python, ou Java.
Prérequis et Fichiers nécessaires
Afin de suivre ce tutoriel, il vous est conseillé d’avoir quelques bases en :
- programmation orientée objet
- langage PHP
- langage ActionScript
- PHP MyAdmin ou quelques bases en MySQL et requêtes SQL
et d’avoir installé les environnements suivants :
- Flash (à partir de MX)
- EasyPHP, WAMP, ou autres alternatives, afin d’avoir Apache, PHP, MySQL installés sur votre machine
- Fichiers nécessaires
Installation
Divers modules sont nécessaires pour travailler avec Flash Remoting. Côté serveur, il faut installer la passerelle AMFPHP et côté client, il faut ajouter trois modules à Flash. Les composants Flash Remoting, les classes Flash Remoting et le Net Connection Debugger. Il existe plusieurs sites miroirs, qui permettent de télécharger l’ensemble de ces modules. Autant nous rendre directement dans les crémeries d’origine et en profiter pour vérifier, s’il n’existe pas de nouveautés, de tutoriels, des forums, etc… bref faire connaissance avec la communauté de cet environnement.
AMFPHP
Pour AMFPHP, l’équipe de développement à mis en place un site blog, qui fournit énormément d’informations et de pistes de départ. Vous trouverez deux versions disponibles, la 1.2 et la 1.9 (beta). Patrick Mineault, est un des principaux contributeurs au groupe de travail, sur la mise en place de AMFPHP. Le présent tutoriel s’appuie sur la version 1.2. Vous trouverez des explications sur les avantages de passer en version 1.9 béta, sur ce billet. Décompressez le fichier zip, et placez les fichiers et dossiers qu’il contient, à la racine du serveur web. Nous explorerons au cours de la prochaine partie, son fonctionnement.
Flash Remoting Composants
Avant CS3
Pour les composants, vous pouvez vous rendre sur le site d’Adobe et récupérer l’ensemble des modules, en fonction de votre version de Flash. Attention, l’installeur ne prend pas en compte la version CS3 de Flash. Heureusement, l’ensemble des extensions fonctionnent quand même correctement, à condition d’exporter des animations Flash n’utilisant qu’Action Script 2.0 et non Action Script 3.0. Si vous êtes sur une version antérieure à Flash CS3, téléchargez simplement l’installeur et lancez-le.
CS3
Pour CS3, il n’existe pas encore de composants et classes qui soient écrits dans cette nouvelle mouture du langage, mais comme rien n’empêche d’utiliser AS 2.0, il est possible d’installer Flash 8, installer l’ensemble des modules du Remoting, puis de copier coller l’ensemble des fichiers nécessaires d’un dossier à l’autre, suivant la liste suivante, originellement écrite par Jedders.
NCD
Certains trouve le Net Connection Debuggeur un peu poussif et peu réactif. Il existe une alternative peu onéreuse à cet outil, Service Capture qui offre les fonctionnalités de netConnection Debuggeur et bien plus encore.
Base de données et fichiers
Il ne reste plus qu’à installer la base de données. Servez-vous pour cela de PHPMyAdmin et du fichier SQL, images.sql, fournis parmi les fichiers à télécharger. Nommez votre table catalogue.
Faisons le tour du propriétaire
Une fois tous ces modules installés, qu’avons-nous de plus dans l’environnement de travail ? Rien de visible de manière directe, il faut aller les chercher.
Le premier changement intervient dans le menu Fenêtre > Bibliothèque communes, où une nouvelle librairie Remoting est apparue. Cette librairie contient les deux composants classes nécessaires, pour toutes les animations Flash utilisant Remoting.
Il existe également diverses classes qui se sont installées dans le dossier : C:\Program Files\Adobe\Adobe Flash CS3\fr\First Run\Classes\mx\remoting. Nous en explorerons certaines lors de ce tutoriel. Un autre élément qui nous sera bien utile, surtout si vous n’avez pas investi dans Service Capture, est le Net Connection Debuger. Cet outil est accessible depuis le menu Fenêtre > Autre Panneaux > Net Connection Debugger. Mais vous pouvez également le lancer directement depuis C:\Program Files\Adobe\Adobe Flash CS3\fr\First Run\WindowSWF\NetConnection Debugger.swf.
Nous explorerons également son utilité durant ce tutoriel.
Il existe un dernier outil que nous aborderons depuis AMFPHP, qui est le Service Browser. Cet outil est plus qu’utile, en nous permettant entre autre de lister chaque gateway et les services qu’il contiennent, mais également de copier coller du code, qu’il soit PHP, notamment avec la fameuse methodeTable, mais aussi de l’ActionScript, en préparant pour nous les classes qui vont invoquer les services.
Dernière vérification côté Serveur
Si vous utilisez des alias depuis votre serveur Apache, assurez-vous d’avoir configuré correctement Dreamweaver, afin de pouvoir éventuellement prévisualiser depuis l’outil d’authoring. Vous devriez donc vous retrouver avec à la racine votre serveur :
- le dossier AMF version 1.2
- le dossier images (fournis)
Pour vous assurer que tout soit correct, depuis votre serveur local, ouvrez le dossier amfphp, puis lancez le fichier gateway.php. Vous devriez alors obtenir un message vous annonçant que AMFPHP et la passerelle sont correctement installés. Si ce n’était pas le cas, vérifiez que vous avez bien téléchargé un paquetage correct, que vos services Apache et PHP soient correctement lancés, et testez à nouveau.