Dans le cadre d'un salon, NOE-Interactive voulait montrer ses compétences en matière de développement d'applications AIR utilisant Flex. Pour ce faire, mon patron est arrivée avec un petit concept intéressant : rendre possible pour le touriste de planifier son séjour via une borne interactive tactile. Cette idée est arrivée relativement tardivement. De ce fait, le développement s'est fait à l'aide de beaucoup de caféine. Un projet somme toute très motivant pour moi qui pouvait enfin me lacher sur des outils à la cool : Flex 4, AIR 2.0 et Robotlegs (au hasard).
SITRA
Pour expliquer un petit peu le concept, les données remontant sur la carte sont issues de SITRA, une base de données touristique contenant restaurants, évènements, musées, etc.. Un petit cauchemar à parser mais très pratique pour proposer des informations ciblées aux utilisateurs.
Flex 4 et AIR 2.0
Les nouvelles versions de Flex et AIR, et plus généralement du nouveau flash player offrent de nouvelles possibilités, ne serait-ce qu'en ce qui concerne le tactile. La nouveauté la plus utile pour un projet de ce type a été la nouvelle architecture de Skin des composants Flex. De cette manière, il m'a été possible d'avancer sur le comportement du composant, alors que mon collègue graphiste terminait la création de l'interface. Mon seul regret à ce niveau restera fondamentalement le manque de temps : nous n'avons pas pu nous essayer à Catalyst ou Fireworks pour l'export de l'interface directement en FXG.
Robotlegs
Robotlegs est un petit framework MVC+S (le S étant "Service") permettant de développer des applications flash en suivant le design-pattern MVC (mais vous l'aurez compris). Le tout fonctionne par injection de dépendance, et tout (ou presque) repose sur l'utilisation d'un metatag [INJECT]. Pour plus d'informations, je vous renvoies vers une présentation par Joel Hooks. Cette application m'a confirmé la valeur d'un outils comme Robotlegs et je ne saurais vraiment pas m'en passer pour mes futurs développement. Il est très simple à assimiler, la communauté est très actives et de nombreux exemples sont à disposition. Rien à voir avec un framework-usine-à-gaz comme peut facilement l'être PureMVC.
Globalement, voilà les principales informations relatives à cette borne, ci-dessous une rapide vidéo de ladite application, enregistrée sur mon macbook pro (la souris ayant remplacé le doigt, pour le coup).
Vous remarquerez que l'application n'est pas des plus fluides, et ce pour plusieurs raisons. Pour commencer, l'application AIR utilise Google Maps qui est extrêmement poussif, et va jusqu'à faire freezer l'application au lancement. Je pense que je vais de moins en moins utiliser cet outils et me tourner vers OpenScales, par exemple. De plus, l'application tourne sous mac, et nous sommes tous d'accord que le support de flash sous mac n'est pas ce qu'il y a de plus optimisé. La nouvelle version de AIR a cependant corrigé certains problèmes de performances depuis lors. Enfin, je devais avoir environ 200 applications de lancées au moment ou j'enregistrais cette vidéo, ce qui a très certainement joué.
Au final, l'application tourne de manière très (très, très) fluide en production sur un HP Touchsmart dont le prix reste très abordable pour une entreprise. J'espère avoir présenté les aspects intérressant de ce projet mais j'en ai peut-être oublié. Si vous avez des questions ou des remarques, n'hésitez pas!
(Pour la frime, j'ai eu la chance (et le plaisir!) de pouvoir en discuter avec David Deraedt lors de ce salon pour un premier retour très intéressant.)


Hugo Hamon
Wahoo beau boulot les gars ! Ce genre de projets me faire regretter NOE Interactive. La géolocalisation et SITRA faisaient partie des outils que je préférais :)
2010-07-28 4:24 pm