Sephiroth, dont nous avons fait notre Flash Gourou depuis de nombreuses annees, nous livre ces derniers jours une extension Firefox extremement utile : Un Flash Switcher, ou comment basculer de Flash 7 a Flash 8 ou Flash 9, poour des raisons de controle qualite, en seul clic.

Gloire te soit rendue Alessandro Crugnola !

XPI pour Windows : http://www.sephiroth.it/weblog/archives/2006/10/flash_switcher_for_firefox.php

XPI pour Mac OS X : http://www.sephiroth.it/weblog/archives/2006/11/flash_switcher_for_osx.php

Bookmark and Share

On connaissait l'utilisation des balises # dans le scripting flash afin d'utiliser l'historique de navigation, mais cela ce corsait pour les animations flash complexes. SWFAddress appporte une solution au problème. ( à utiliser avec SWFobject)

Bookmark and Share

Encore un , vous allez dire ... Mais cette fois il ne s'agit pas des ténors du developpement actuel (Google et autres) mais d'une implémentation made in France (France Telecom)! Assez peu courant pour être signalé (surtout en mode gratuit), d'autant plus que la technologie utilisée nous interesse: flex 2.Avec 1 GO de stockage gratuit, Pikeo vous aide aussi à organiser vos photos dans des albums intelligents basés sur les informations "quoi", "où", et "qui" (appelées "étiquettes"). Vous pouvez décider quelles photos vous voulez partager avec votre famille, vos amis, et d'autres, et lesquelles vous voulez ne montrer à personne. Jamais, jamais.Bon, en regardant de plus pres, le developpement est fait par Development LLC à South San Francisco et n'est pas un produit "certifié" de France Telecom ....

Bookmark and Share

Quand je vous le dis que Mac Os X est la plate-forme de développement idéale pour le web : Même Adobe (feu Macromedia) le prouve en rendant enfin disponible (en beta) Flex Builder 2 pour cette plate-forme. A télécharger ici : http://labs.adobe.com/technologies/flexbuilder2/

Evidemment, un tel portage est rendu possible via le socle Eclipse.: C'est par ailleurs l'occasion de vous réinviter à tester le bridge Flex-Ajax : http://labs.adobe.com/wiki/index.php/Flex-Ajax_Bridge

Bookmark and Share

Les tutoriaux/exemples d'utilisation du composant FileReference pour faire de l'upload (ou download) sur Flex ne manquent pas. Un seul problème recurrent du à la classe de Flex: le composant n'écoute pas la réponse du script coté serveur (ici du php): vous ne pouvez pas faire des vérifications de droit de session, ou de type de fichier,... et renvoyer une réponse conséquente à votre fichier swf/mxml. Ou tout du moins vous pouvez la renvoyer mais le composant flex retiendra uniquement que l'upload s'est bien réalisé et Event.COMPLETE dira OK.Une solution proposée ici est d'utliser l'evenement HTTPStatusEvent.HTTP_STATUS et de simuler dans le fichier php des codes d'erreurs HTTP en fonction.

La démo: http://web.infostrates.fr/infolabs/demo/flex2_fileupload.html

Bookmark and Share

2 options pour le renvoi des données dans Flex

  • Utilsation des tableaux:while ($row = mysql_fetch_object($Result)) { $myArray[] = $row; } return $myArray;
  • ou renvoi direct du recordsetreturn mysql_query($query);

Le premier cas permet de faire des traitements/test php avant le renvoi des données (attention si vous souhaitez mettre les données dans un datagrid et utiliser les fonctions de tri: si vos données sont des nombres faire un settype($maval, "integer") avant le renvoi, sinon amfphp reverra sous le format texte et flex triera les données comme du texte) ...)

Le second cas à l'avantage d'un poids encore optimisé et d'un traitement direct mysql

Bookmark and Share

L'objet Recordset présent dans flash 8 et flex 1.5 ne fonctionne pas sur flex 2 : problème lors de l'utilisation avec amfphp si l'on renvoie directement le resultat de la requete (return mysql_query($query); )

sur la fonction Onresult du gateway ( memo )*************************import infostrates.core.*;public function onResult( myresult:Object) : void{ Maindata=Myrecordset.getinfo(myresult);} *************************Voir le fichier Myrecordset.as

Bookmark and Share

Suite à une récente discussion avec Manolo, nous nous sommes posé la question de savoir quelle convention adpoter pour nommer et classer les composants et classes développés sous Flash ou Flex dans le cadre de projets chez Infostrates.

Pour faire avancer la réflexion, j'ai identifié quelques recommandations utiles :

Rappelons que les composants Flash se stockent dans le dossier : C:\Program Files\Macromedia\Flash 8\en\Configuration\Components

Rappelons que les composants Flex se stockent dans le dossier : $WEBAPPS_ROOT\mon_projet\WEB-INF\flex\user_classes\

Pour vos premiers essais de mutualisation, testez-vous avec quelques-uns des composants libres proposés sur le site suivant : http://flashcomponents.net/

Je pense que cela donne les bases.

A suivre :-)

Bookmark and Share

12 Avril 2006 : Une date à retenir !http://www.informationweek.com/security/showArticle.jhtml?articleID=185300841

C'est avec stupeur que les internautes du monde entier qui surfent encore avec Internet explorer 6 découvrent depuis quelques jours que leurs pages web favorites ne réagissent plus tout à fait comme avant : Toutes les animations Flash (et d'une façon générale, tous les contrôles ActiveX) sont par défaut verrouillées au chargement de la page ! Et il faut cliquer une première fois dessus pour déclencher l'interactivité avec l'utilisateur. D'ailleurs, un texte à bulle indique clairement "cliquez ici pour activer ce contrôle".

Mais d'où cela peut-il bien venir ? Un spyware, un virus, un bug DirectX ou de carte graphique ? Pas du tout, ne reformatez pas votre ordinateur tout de suite : Il s'agit des conséquences d'une toute récente mise à jour de sécurité de Windows, merci Bill :-/.

Bon, plus sérieusement, c'est une profonde refonte dans la gestion de la sécurité de l'OS, liée aux contrôles ActiveX, qui est engagée par Microsoft, après plusieurs semaines d'annonces discrètes et de communications confidentielles auprès des développeurs. Pour information, aucun autre navigateur n'est concerné, et vous pouvez continuer de surfer normalement avec Firefox, Opera ou Safari.

Mais pourquoi tout cela ? Tout simplement parce que Microsoft, qui s'est fait récemment rappeler à l'ordre par la justice américaine à propos d'un différend qui l'oppose à Eolas, se voit obligé de revoir une copie vieille de dix ans (cf cet article). Suite à ce litige, où raison a été donnée à Eolas, Microsoft, n'a plus le droit de proposer un accès direct à ses composants ActiveX quand ils sont encapsulés dans des balises <EMBED> ou <OBJECT> dans le code HTML ! Mince alors, et dommage pour les webmasters et internautes du monde entier. La mise à jour de sécurité vient de paraitre sous le numéro 912945.

Bon, pas de panique, il existe une feinte, qui est d'ailleurs largement exposée sur MSDN : Si on n'a plus la liberté d'insérer nos ActiveX préférés dans une balise <OBJECT> directement dans le code source, rien empêche de différer l'insertion du côté du client web, au moment de l'interprétation du code HTML par le navigateur ! ;-) Et pour ce faire, la clé s'appelle Javascript. C'est simple :

  • AVANT on écrivait :<OBJECT classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="900" height="100"><param name="movie" value="menu.swf"><param name="quality" value="high"><EMBED src="menu.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="900" height="100"></EMBED></OBJECT>
  • DESORMAIS, veillez à écrire par exemple : <div id="embedControlLocation"><script id="elementid" src="embedControl.js"/></div>

    Le fichier embedControl.js contenant le script suivant :

    // embedControl.jsdocument.write('<OBJECT classid='clsid: D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='900' height='100'> <param name='movie' value='menu.swf'> <param name='quality' value='high'> <EMBED src='menu.swf' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='900' height='100'></EMBED> </OBJECT>');

Ah bravo, c'est du joli ... mais ça marche ! :>>

Pour les adeptes de Flex, à noter que Adobe à publié un HOTFIX pour la version serveur 1.5 afin que le SWF généré par le MXML soit correctement encapsulé dans le HTML servi, pour ne plus interférer avec la nouvelle politique de sécurité de IE6 : http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=ace0407

Le problème devrait être traité nativement par Flex 2, enfin quand la version finale sortira enfin :-)

Bookmark and Share

Sans que cela soit de la propagande pour Macromedia-Adobe, je vous invite tous à consacrer vos 40 prochaines minutes à l'écoute des 2 webcasts suivants :

  • La révolution RIA : http://www.macromedia.com/resources/business/rich_internet_apps/overview/
  • Introduction à Flex 1.5 : http://www.macromedia.com/software/flex/productinfo/brz_overview/
Bookmark and Share
eZ Publish™ copyright © 1999-2012 eZ Systems AS