vendredi, février 10 2006

Flashead : la formation par la pratique

Didier Brun aka Foxy, programmeur Flash freelance de son état, propose aujourd'hui une structure de formation d'une nouvelle forme : Flashead. Basée sur des années d'experience sur le terrain et dans le domaine de la formation, cette formule originale propose à tous de se former à la programmation Actionscript sur des cas concrets, avec à la fin de chaque section un veritable module qui tourne, directement utilisable dans le travail quotidien de tout programmeur AS! Vous l'aurez compris, cela consiste à rendre le stagiaire operationnel dés sa sortie de la session de formation.

Super concept, formateur trés compétent, Flashead ne peut être qu'une réussite! 8)

vendredi, décembre 9 2005

Flash Media Server 2 revoit sa politique tarifaire

Ca y est, c'est fait! Macromedia, face à la grogne des développeurs et hébergeurs a revu sa copie concernant le pricing de Flash Media Server 2.

En attendant que tout le système de licence soit ré-implémenté, Macromedia propose une licence "Interim", qui permet pendant 90 jours de profiter de 2500 connexions simultanées pour une bande passante limitée à 25Mbps. Cette licence sera ensuite renouvelable définitivement. Une trés bonne nouvelle pour les développeurs d'applications "data", qui préfèrent utiliser FMS2 à un serveur de socket XML, pour des applications telles que des jeux multi-utilisateurs ou de la messagerie instantanée.

Ca fait plaisir de voir que Macromedia écoute ses utilisateurs... Pourvu que Adobe en fasse de même... :o

mardi, septembre 13 2005

Flash 8

Bon, c'est bon, il est sorti, voilà! Pour cause de sortie de Flash 8, je pense que je vais devenir associable pendant au moins une semaine.... :mrgreen: J'ai pas fait partie de la beta moi! :$ Alors je me plonge dans les entrailles de la bête... :P

mardi, août 30 2005

RegExp dans Flash 8 : une solution grace à ExternalInterface

Pour tout de suite rassurer ceux qui auraient eu de faux espoirs dûs au titre de ce billet, les RegExp ne sont pas dans Flash 8... Par contre, les nouvelles possibilités du player laissent entrevoir une alternative plutôt élégante. :)

En effet, Flash 8 dispose d'une nouvelle manière de communiquer avec ses "hôtes", notamment les browsers, mais aussi les projecteurs de type mProjector. Ce remplacement de FSCommand, permet de faire des appels synchrones a des API externes. Vous trouverez plus d'infos sur la mailing list de OSFlash (merci Darron Schall), ou sur le blog de Geoff Stearns qui s'attarde sur la partie Javascript.

Pour revenir a nos RegExp, le même Geoff Stearns a tout simplement une l'idée aussi simple que géniale d'utilise les RegExp de Javascript. En effet, Javascript intègre complètement les expressions régulières et est intégré dans la plupart des navigateurs. Il est donc possible d'encapsuler complètement la communication Flash/Javascript, et de les utiliser comme s'il s'agissait de fonctions natives, comme c'est montré (via l'utilisation de prototypes) sur ce même blog. Il est bien évidemment possible de créer une classe indépendante qui gérerait tout ca.
Une trés bonne alternative à la classe RegExp développée en AS1 (puis portée en AS2 par Joey Lott), qui de par sa nature, doit être bien moins performante (enfin, je suppose :$).

Reste malgré tout l'inconvénient de ne pas pouvoir les tester dans l'environnement auteur de Flash, ou via un simple SWF dans le projecteur standalone. On reste donc obligé de le tester via une page HTML.
Mais si une interface de type IRegExp était créée, puis implémentée par les différents projecteurs (mProjector, SWF Studio, ScreenWeaver, etc...), on pourrait ainsi avoir un accés commun aux RegExp dans n'importe quel environnement, avec pourquoi pas la classe RegExp en AS (adaptée bien sûr, sans utilisation de String.prototype) pour le projecteur par défaut! 8)

mardi, août 16 2005

Double clic dans Flash

Le fait de pouvoir intercepter un évenement de type double clic a longtemps été demandé pour les boutons Flash. En attendant, je fais comme tout le monde, je me débrouille... et voici comment je fais dans le cadre d'une classe héritant de MovieClip.

class DblClickMovieClip extends MovieClip {
        // Interval called if second click is too late
        private var _itv:Number;
        // Amount of succesive clicks
        private var _click:Number = 0;
        // onPress event
        private function onPress() {
                dblClick();
        }
        // Check if 2 clicks were made in the given timelapse
        private function dblClick() {
                if (++_click == 2) {
                        _click = 0;
                        onDblClick();
                } else {
                        // Double click timelapse can be set here
                        _itv = setInterval(this, "clickTimeout", 250);
                }
        }
        // Init clicks
        private function clickTimeout() {
                clearInterval(_itv);
                _click = 0;
        }
        // Called if double click
        private function onDblClick() {
                trace("Double click");
        }
}

Bien évidemment, cette méthode est adaptable si on ne veut pas que tout le clip soit clicable... ;) Je pensais d'ailleurs implémenter ca par la suite sous forme de décorateur d'un clip...

Il doit y avoir des centaines de méthodes pour arriver au même résultat, alors si quelqu'un en voit une meilleure, qu'il n'hésite pas! :) Et pour finir, ne désespérons pas de l'avoir un jour en natif, il ne nous aura fallu que 4 versions pour avoir l'upload de fichiers ! :P

mercredi, août 10 2005

Moteurs 3D : Flash 8 is god

Ce qui est clair, c'est que Flash 8 va beaucoup aider au développement de moteurs 3D, grâce a ses commandes de manipulation des bitmaps. Andre Michelle l'a bien compris, et nous propose parmise ses expériences 8ball, un rendu 3D avec zBuffer, et une gestion de la lumière particulièrement sympa.

Argh, je tiens plus d'essayer Flash 8, histoire d'implémenter quelques algos dans mon moteur 3D... :)

lundi, août 8 2005

Flash 8 enfin annoncé

C'était kitch à mort, Macromedia l'a fait : l'annonce de Flash 8 le 8/8 : http://www.macromedia.com/software/flash/flashpro/ 8)

Vous trouverez un petit tour assez instructif sur les nouvelles fonctionnalités. Un coup de coeur pour le paramétrage des interpolations, et pour la possibilité de diffuser des évenements à certains points (cue points) d'une vidéo!

Pour le reste, no comment tant que j'ai pas la trial dans les mains... ;)

mercredi, août 3 2005

Composants UI : quelle alternative ?

Maintenant qu'on est rassuré (enfin déçu) sur la non-évolution de l'Actionscript dans la prochaine mouture de Flash, il devient urgent si l'on est développeur de RIA (fashion non ?) de trouver une alternative aux composants V2 de Macromedia. En effet, il faut bien avouer qu'ils sont lourds et buggués, mais quand-même bien pratiques !

Histoire de ne pas réinventer la roue en les développant soi-même (surtout que c'est quand-même un gros morceau), j'ai essayé de faire un petit tour d'horizon de ce qui existait et qui semblait sérieux.

Le seul package dont je peux vraiment parler, étant donné que c'est le seul "essayable", est celui des SMX Components. Déployés sur le site de la BBC (a ce qu'il paraît, je les ai jamais trouvés), ils semblent fiables et performants, mais assez "brouillons" à mon avis... Il manque aussi quelques composants, comme le Tree, Accordion, Radio, Date, etc... Et puis quand je dis "essayé", c'est en dilletante, jamais au coeur d'une véritable application...

Les BitComponents de BJC, aujourd'hui rachetés pas FlashLoaded... Il n'est pas possible de les essayer malheureusement, mais sur le papier ils semblent trés complets. Eprouvés, leur réputation n'est plus à faire... En plus, 99$ c'est pas non plus le bout du monde ! :)

Les XPComponents, dont une nouvelle version vient de voir le jour... Un package trés complet, et sourtout basé sur des interfaces, ce qui permet une personnalisation avancée. Comme les précédents, trés bien sur le papier, mais impossible de les essayer... Pour 349$, vous avez quand-même les sources

Et l'arlésienne : GLIC, dorénavant les mCOM :mrgreen: On les attend, on les attend, et toujours rien. Evidemment, quand on sait qui est derrière, on se dit dit que ca vaut surement le coup. Reste à voir ce que ca va donner, et surtout les conditions de licence et de prix... :o

Pour conclure, je dirais que pour acheter un pack de composants comme ceux cités ci-dessus, la moindre des choses serait de pouvoir les essayer. Evidemment, difficile d'implémenter un système de "Trial" pour des composants, mais quand on développe de véritables applications, il est délicat d'investir si l'on est pas sûr que les composants répondront à notre besoin. :\

En restant sur le papier, personnellement je serais séduit par les BitComponents : pas cher, complets, et esthétiquement trés convenables.

Si vous connaissez d'autres sets de composants, ou que vous avez essayé un des sets cités ici, n'hésitez pas à le signaler dans les commentaires... ;)

mardi, juillet 12 2005

Flash Player 8 public beta

Beaucoup de boulot, pas de temps pour un commentaire. :)
http://www.macromedia.com/software/flashplayer/public_beta/

vendredi, septembre 3 2004

BLDoc : documentation Javadoc-like pour AS2

Je n'aime pas reprendre les nouvelles, mais ce n'est pas sans une certaine fébrilité que j'ai appris sur le site de Chafic Kazoun et Samuel Neff (et en français chez petepx) que la béta public de BLDoc 1.0 était enfin disponible.

Depuis les prémices de ce projet, il s'est annoncé comme étant le logiciel le plus prometteur en la matière. Quelques échanges de mails avec Samuel Neff m'avaient fait entrevoir les possibilités énormes du soft, et les avantages qu'il représentait pour la documentation des développements AS2. Un problème juridique concernant mon propre développement d'un parseur de doc en PHP m'ayant empêché de participer à l'alpha privée, je vais enfin pouvoir l'essayer, et ainsi reprendre le développement de ma version, afin qu'elle soit compatible avec BLDoc ! 8)

Foncez donc, l'inscription à la beta publique c'est chez B-Line Express :)

samedi, août 21 2004

Livre avec pages à tourner

En me balandant sur l'excellent blog Quasimondo, je suis tombé sur un lien vers une librairie permettant de reproduire l'effet trés en vogue d'un livre dont on tourne les pages, fait par Ipari Grafika. Il dispose d'un foule d'options, comme la transparence, l'utilisation de zones pour tourner une page, des pages solides (typiquement la couverture d'un livre). La demonstration est assez édifiante, voire impressionante !

Vous pouvez même télécharger les sources ! 8)

mercredi, août 18 2004

Deformation d'image : un trés bon article

Il fut un temps durant lequel j'ai essayé désespérement de déformer une image via ActionScript. Aucun des articles que j'avais trouvé sur le sujet n'étaient assez clairs, alors je me suis lancé dans des calculs trigonométriques interminables, accompagnés de nombreux schémas qui ont fait souffrir mon pauvre bloc-note pendant quelques temps. D'ailleurs, ma bibliothèque sur les matrices et vecteurs a été en partie développée dans ce but.

Alors que j'avais laissé tomber ce projet, n'en ayant pas réellement besoin dans l'immédiat, dehix de l'équipe Toy-Toy m'a envoyé vers un trés bon article sur GotoAndPlay.it : The art of scriptable skew. Je vous le conseille à mon tour : il est vraiment trés clair et trés simple à mettre en oeuvre ! 8)

mercredi, juillet 21 2004

Typage fort avec ':Object' à éviter

En me balladant sur le blog de Simon Wacker et Martin Heidegger, développeurs de la librairie as2lib, je suis tombé sur un billet trés interessant nommé :Object is evil. On y apprend que pour les utilisateurs des interfaces, une variables typées avec une interface sera rejetée par le compilateur si on essaie de l'attribuer avec une variable typée avec Object.

L'exemple fourni est assez saisissant :var a:MyInterface = new MyImplementation();
var b:Object = a;
// Erreur a la compilation

La conclusion est simple, n'utilisez pas de typage fort pour un objet de type générique ! ;)

mardi, juillet 20 2004

FlashPaper 2 : enfin une version standalone

Macromedia a souvent fait des erreurs commerciales. Parmi celles-ci, en voici une de réparée : FlashPaper est disponible seul dans sa version 2. Auparavant disponible uniquement avec Contribute 2, cette application permet de générer une espèce de lecteur PDF au format SWF. En plus de cette trés bonne idée, évidemment conservée dans cette version, FlashPaper 2 se propose également de générer du PDF lui-même.:o

La guerre qui les oppose à Adobe va donc s'étendre à ce terrain. Bien que le format PDF en lui-même ne puisse pas être remis en cause, avoir un générateur de PDF pas cher (79€ HT) qui en plus a les avantages du format SWF, voici un logiciel qui semble réellement trés interessant ! Bien que certaines options avancées de Adobe Acrobat soient certainement indisponibles, les fonctionnalités semblent largement suffisantes pour les besoins de base, qui consistent à créer des documents lisibles par le plus grand nombre ! 8)

Normalement, ca m'évitera de pester contre la lenteur de Acrobat Reader à s'ouvrir ! :D

Connexion inter-domaines : un assouplissement depuis la r19

Un lecteur de TweenPix a relevé dans un commentaire un aspect interessant introdui dans l'avant-dernière release du Flash Player (r19), qui autorise dorénavant à charger le fameux fichier crossdomain.xml directement via un serveur de socket, et non pas comme avant obligatoirement via une connexion HTTP sur le port 80.

MyMyoux relève donc l'utilisation de l'instruction System.security.loadPolicyFile, qui permet de préciser à quel endroit charger ce fameux fichier "AllowDomain". Il permet ainsi de préciser une autre URL HTTP, ou un serveur de socket en utilisant le "protocole" xmlsocket://". Il emet une requête de type Socket XML et envoie simplement <policy-file-request/>
Il suffit alors de configurer le serveur pour qu'à la reception de cette instruction, il renvoie le contenu classique d'un fichier crossdomain.xml ... 8)

lundi, juillet 5 2004

TOAD existe aussi pour mySQL

TOAD est l'outil de prédilection des développeurs utilisant une base de données Oracle. En effet, le nom du logiciel est constitué par les initiales de Tool for Oracle Application Developer. Edité par Quest Software, peu de gens savent qu'il existe néanmoins une version gratuite et complète, qui n'a pour seul inconvénient que d'expirer tous les 30 jours, nécessitant son re-téléchargement à chaque fois. :o

Bref, en retéléchargeant ma version mensuelle, j'ai constaté la mise à jour du site de la version freeware, et j'ai remarqué ce lien en plus trés interessant : TOAD for MySQL (existe aussi pour SQL Server). Voici donc toute la puissance du logiciel pour MySQL. :)

Au programme, un phpMyAdmin en application Windows, avec plein d'outils bien pratique, comme un analyseur de requêtes pour faire de l'optimisation, une accés à la structure et aux données d'une base, la gestion des transactions, etc ... Bref, un outil que je vous recommande chaudement si vous travaillez avec mySQL ! 8)

mercredi, juin 2 2004

Timothée Groleau ouvre (enfin) son blog

Timothée Groleau, auteur de plusieurs articles trés interessants sur le comportement de Flash, notamment l'excellent Scope chain and memory waste, vient d'ouvrir son blog, disponible à l'adresse suivante : http://timotheegroleau.com/blog ... Une nouvelle ressource qui promet d'être des plus interessantes !!! 8)

Longue vie à ce blog ! :)

mardi, mai 25 2004

Les blogs des copains : PHP, Flash, Standards

Depuis peu, les blogs prolifèrent parmi les modérateurs de MediaBox. Ouverts depuis plus ou moins longtemps, je profite de ce ticket pour leur souhaiter à tous bonne chance, et pour rattraper mon retard pour ceux que je n'ai pas annoncés ! :$

vendredi, mai 21 2004

Compression LZW en Actionscript 2

ShoeBox nous gratifie sur son blog d'une implémentation en AS2 de l'algorithme de compression LZW. Voici qui peut être bien pratique pour réduire les transferts de données, pour peu que le serveur qui receptionne ou envoie les données implémente lui aussi cet algo.

Au passage, j'en profite pour signaler ce blog à ceux qui ne le connaissent pas encore. ShoeBox tournait avant sur un blog en Flash trés bien conçu, qui devrait faire son retour un de ces jours !!! 8)

jeudi, mai 13 2004

Laszlo : l'alternative à Macromedia Flex

A la sortie de Flex, nombreux furent les développeurs trés interessés par la possibilité de générer dynamiquement des SWF à partir d'un langage XML. Mais à part JeanPhi, qui s'est manifesté pour le signaler, peu connaissent un concurrent de Flex qui coûte bien moins cher, et offre une version développeur de son serveur de présentation. :)

Il s'agit de Laszlo, qui présente sur son site, hormis l'ensemble des caractéristiques et le discours commercial habituel, une partie nommée Laszlo in 10 minutes, qui décrit les fonctionnalités de base de la syntaxe XML, avec la possibilité de modifier et de voir en direct les modifications des fichiers XML fournis par défaut. Il s'agit là d'un bon moyen de se faire une idée de la souplesse et de la facilité de prise en main du langage de Laszlo. 8)

Hormis la version développeur, le premier prix d'une version commerciale du serveur est de 1.999 $, à comparer au prix d'appel de Flex, qui est de 12.000 $ !!! 8O

- page 2 de 4 -