jeudi 16 février 2012

iOS dans Flash avec GreenSock


Les classes proposées par Adobe par défaut dans Flash Pro ne suffisent pas à gérer les transitions des données de manière aussi fluide que ne le fait nativement l'interface de iOS. Voici la solution, gratuite pour les membres du club GreenSock, à travers une nouvelle classe prévue à cet effet :

http://www.greensock.com/throwprops/

La classe throwprops vous permet de faire glisser un bloc de contenu en douceur avec toutes les subtilités de vélocité inhérentes à iOS, mais en Flash ! Les exports en ipa, bien que techniquement compatibles, supportent des données simple. Ces nouvelles librairies GreenSock peuvent donc être utilisées pour reproduire l'interactivité d'iOS sur du Web (via un fichier SWF) ou le contraire, porter un SWF du iOS en y reproduisant la vélocité de l'interface iOS.

Le mécanisme repose sur une optimisation drastique et astucieuse des données. Les données sont d'abord converties en bitmap dynamiquement. Puis, un masque détermine la zone visible et celle qui servira uniquement de calcul pour l'affichage. Si bien que le système, au lieu de déplacer intégralement les données, ne déplace d'abord que celles qui sont visibles à l'écran. Mais en outre, il déplace un seul et unique bitmap au lieu de multiples objets graphiques et typographiques imbriqués. L'auteur de la librairie estime à 1000% le gain de fluidité par rapport aux méthodes traditionnelles utilisées jusqu'ici dans Flash pour du Web classique.

Pour suivre les évolutions de la communauté, vous pouvez souscrire à un compte sur leur site ou saisir, régulièrement, iOS dans le moteur de recherche interne de leur site sur http://www.greensock.com.

Publier un IPA depuis Flash Pro CS5.5


Si vous avez testé la publication d'une application Flash depuis Flash CS5 en IPA, vous avez relevé qu'aucun problème n'apparaissait en particulier. En revanche, si vous tentez de publier le même document Flash depuis Flash CS5.5, un bogue se produit. Le format IPA ne parvient pas à être généré du premier coup. Ceci est dû à une erreur de balisage dans le fichier XML généré par la commande Fichier>Publier. Nous devons juste intervenir dans ce XML pour le rendre compilable. Voici la procédure :
  1. Faites "Fichier > Paramètres d'AIR for IOS".
  2. Dans la boîte de dialogue, dans l'onglet "Général", renseignez le nom de l'application et celui du fichier de sortie. Spécifiez une version de document. Choisissez un format. Et surtout, activez le mode "Plein écran" pour éviter les mauvaises surprises à l'affichage. Sans ce mode, vos images peuvent être repositionnées arbitrairement et corrompre la mise en forme de l'application (images superposées, décalées, déformées). Le mode "Plein écran" permet de ne pas redimensionner votre projet et donc d'en garantir la stabilité graphique.
  3. Choisissez "Rendu Automatique" ou "GPU" (carte graphique) pour accélérer l'affichage.
  4. Dans l'onglet "Déploiement", renseignez les chemins qui ciblent chacun de vos certificats (voir article précédent sur l'obtention de certificat iOS : http://bloc-notes-arzhur.blogspot.com/2012/02/obtenir-un-certificat-ios.html).
  5. Indiquez le mot de passe de session que vous avez défini lors de la création du certificat et cochez l'option "Mémoriser le mot de passe" pour ne pas avoir à le renseigner à chaque publication.
  6. Choisissez enfin un déploiement "ad-hoc", afin de permettre l'installation de l'IPA sur votre périphérique iPad ou IPhone. A défaut, il sera impossible de tester l'application sur les périphériques mobiles.
  7. Enfin, dans l'onglet icônes, ciblez les PNG-24 que vous aurez créé préalablement pour identifier graphiquement votre application sur l'Apple store et dans votre périphérique.
  8. Refermez la fenêtre en confirmant les réglages.
  9. Dans le menu "Contrôle" de Flash Pro, choisissez à présent "Tester l'animation > dans l'application de débogage du lanceur AIR (mobile)". Un aperçu SWF et un fichier XML sont créés à la racine de votre document FLA. Ouvrez le XML dans un éditeur de code et supprimez, en fin de code, la balise obsolète "version". Assurez-vous que la nouvelle balise conforme "versionNumber" 1.0.0 est bien présente (plus haut dans le code). Et que le numéro de version contient bien 3 chiffres séparés par des points. Enregistrez les modifications.
  10. Revenez à présent dans Flash Pro puis faites directement "Fichier > Publier". La génération de l'IPA peut prendre plusieurs minutes.
  11. Connectez vos périphériques iPad et iPhone. Lancez iTunes. Puis, dans la catégorie Apps de iTunes, glissez-déposez directement l'IPA généré depuis Flash Pro.
  12. Synchronisez chaque périphérique en vous assurant au préalable, dans l'onglet Apps de chacun d'entre eux, que votre application est bien activée (utilisez un affichage par date pour la faire remonter en tête de liste si nécessaire).
  13. Puis, testez l'application sur le périphérique.
  14. Pour les mises à jour, supprimez l'application manuellement depuis chaque périphérique. Puis, supprimez-la de iTunes (catégorie Apps). Et glissez l'IPA mis à jour depuis Flash Pro à nouveau dans iTunes et resynchronisez à nouveau les appareils.
  15. Une fois le développement concluant, rendez-vous sur iTunes connect (https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa) et iOSDevCenter (https://developer.apple.com/devcenter/ios/index.action) pour publier officiellement votre application. Lisez l'article Soumettre une application à l'App Store pour le descriptif détaillé de la procédure.

Exemple d'application pour iPhone réalisée avec Flash Pro : Plabimmo.

itms://itunes.apple.com/fr/app/plabimmo/id514544080?mt=8

mardi 14 février 2012

Le projet full cloud des firmes


Qu'il est bon de spéculer sur les nouveautés matérielles en devenir, surtout lorsqu'on parle de la marque la plus convoitée à ce sujet : Apple. Mais plutôt que de spéculer sur un produit en particulier, j'ai souhaité ici donner une vision de ce que me semble devenir Apple et les grandes firmes de l'informatique en général.

Depuis que Apple existe, nous remarquons une démarche constante de la part de cette entité d'essayer de supprimer du hard (du matériel) et de compenser cette perte par une valeur ajoutée soft (logicielle). Ce phénomène a permis de lancer le premier ordinateur personnel compact le plus intuitif et de frapper d'obsolescence les gros serveurs de calcul privés. Ce principe s'est accentué par la suite avec l'arrivée des écrans plats et des nouveaux iMacs, entre autres, qui ont rendu inintéressants les postes traditionnels. Puis, ce fut le cas plus récemment avec les smartphones et les tablettes tactiles mettant au panier les ordinateurs portables ! Toujours plus de logique intuitive pour moins de lourdeur matérielle. Mais cette orientation nouvelle induite par le tactile introduit de nouvelles limites et de nouveaux concepts, incomparables aux précédentes évolutions.

La liberté que nous avions en contrôlant auparavant le système en hard et en soft de nos machines se dissipe avec l'arrivée du tactile. Pour offrir une grande ergonomie (tactile, capteurs sensoriels en projet, projection de claviers virtuels, reconnaissance vocale ou du bouger, etc), il est préférable pour le contructeur de brider le système afin d'éviter toute intervention impromptue de l'utilisateur qui risquerait de rendre très instable ce genre de mécanique très sensible. L'idée est donc naturellement de verrouiller le système. C'est le cas des smartphones et des tablettes qui ne permettent de lire et d'installer que des données sans jamais avoir accès à la structure organique de la machine, aussi bien en soft (pas d'accès aux fichiers du système) qu'en hard (les composants sont bien souvent soudés).

Or, une nouvelle stratégie est apparue chez les constructeurs et les diffuseurs de services en découvrant que ce verrouillage permettait aussi de contrôler les contenus "valides" pour leur nouveau système. C'est ce que Apple a compris très vite avec le fameux iPod couplé à l'interface de iTunes qui a révolutionné la musique. Apple contrôle désormais une grande partie de ce marché. C'est donc sans surprise que Apple remet le couvert en introduisant de nouveaux appareils qui permettent de contrôler cette fois-ci toutes les données, à travers des applications et des services "validés" eux aussi et garantissant une commission à son diffuseur.

Cette stratégie a obligé Apple, et bientôt Microsoft qui comprend l'enjeu, d'interdire l'exécution du lecteur Flash, par exemple, pour garantir le contrôle de toute logique applicative au sein de son environnement, et donc, sauver son modèle économique. Flash était le seul outil standard et généralisé qui permettait de se passer des apps stores.

La suite, nous la devinons donc sans difficulté. Encore moins de hard, encore plus de logique intuitive validée. Et c'est la garantie d'une croissance économique pérenne pour les grandes firmes. Et plus elles seront grandes et influentes, plus elles réussiront à verrouiller ce mécanisme.

Selon toute vraisemblance, les prochaines générations de matériels seront donc orientées vers le 100% contrôlable, c'est-à-dire 100% des données qui passent par le serveur de chaque firme. D'où l'émergence profitable du concept du cloud (le tout externalisé) que les firmes encouragent depuis quelques temps : moins de hard = plus de commission sur des contenus validés. Et ce, quelle que soit la firme :
  • Apple vend les applications et les médias. Le cloud lui aide à contrôler les applications et les médias.
  • Microsoft vend du service et des applications. Le cloud lui permet de mieux contrôler également ses applications et ses services.
  • Google et Facebook vendent des classeurs de données qui traquent les usages. Le cloud leur permet de mieux contrôler les données.
Les circuits traditionnels (TV nationales, CNC) risquent de s'en mordre les doigts. La totipotence nouvelle des firmes fait table rase des usages auprès des circuits traditionnels de diffusion.

La seule chose que ne garantie pas le cloud, c'est la perte de données induite par des coupures de réseau (problématique en temps de guerre et le contexte géopolitique actuel n'aide pas à rester confiant) ni leur confidentialité.

Un conseil donc, si vous souhaitez plonger dans le cloud pour jouir des nouveaux usages qu'offrent le tactile et les futures logiques embarquées époustouflantes de nos machines, gardez peut-être dans votre grenier au moins un ordinateur traditionnel ; )

Un clin d'oeil sur l'aspect non écologique du cloud est à lire également dans cet article :
http://ml.capital-news.fr/l2/672AYpiZd39/5314683/77517656.html

samedi 4 février 2012

Obtenir un certificat iOS

Le développement d'une application pour iOS (iPad, iPod et iPhone) requiert plusieurs certificats.

1) Voici la procédure classique d'obtention des certificats pour tout type de développement :

Dans cet article, consultez l'étape N°5 dédiée à l'obtention des certificats sur IosDevCenter.
http://bloc-notes-arzhur.blogspot.fr/2012/06/gestion-dune-publication-digitale.html

2) Voici la procédure pour les utilisateurs de Flash pro :
  • CertificateSingningRequest.certSigningRequest
  • developer_identity.cer
  • Certificats.p12
  • votreNom.mobileprovision

CertificateSigningRequest.certSigningRequest est un fichier de signature local identifiant votre profil matériel (l’ordinateur sur lequel vous développez) et votre nom. Il permet l’obtention en ligne du certificat de développement au format *.cer (voir ci-après).

developer_identity.cer
est le certificat de développement générique obtenu en ligne. Il vous identifie en tant que développeur Apple homologué ayant acquitté une licence annuelle. Il doit être converti localement au format *.p12, à l’aide de l’application Trousseau d’accès (Macintosh), pour autoriser plus tard la publication de votre application depuis Flash ou à partir de commandes systèmes si vous êtes utilisateur de Windows. Attention, si vous avez modifié le certificat de diffusion afin de permettre une dissufion non plus en mode de test adhoc, mais sur app store, vous devez régénérer ce certificat.

Certificats.p12
: est un certificat de développement de type signature associé à une configuration matérielle précise pour la diffusion de votre application, obtenu à partir du fichier *.cer. Il est à joindre à la compilation d’une application dans Flash Pro par exemple. Il autorise le transfert de l’application sur le mobile iPhone ou iPad de test.

votreNom.mobileprovision
: renseigne sur le profil de configuration définissant les droits de diffusion de l’application (version test sur un support unique, en partage sur plusieurs supports de test ou diffusé au public pour un test public). Les droits de diffusion correspondent à un profil de testeur et ne se substituent pas aux droits définitifs de distribution de l’application sur iTunes, attribués eux, une fois l’application postée auprès de l’Apple store. Il est obtenu à partir de l’identifiant de votre iPhone ou iPad. Il accompagne la signature *.p12 à la publication de l’application dans Flash.

Pour obtenir ces certificats, vous devez au préalable disposer d’un compte développeur auprès de la société Apple :


  • Allez sur le site Apple develop support : http://developer.apple.com/programs/ios/.
  • Cliquez sur le lien "enroll now 99$/year" afin de souscrire à la licence annuelle qui autorise le développement d’applications mobiles pour iOS (environ 75 € par an).

Une fois votre compte créé en renseignant vos coordonnées, vous obtenez un identifiant et un mot de passe de connexion qui vous serviront pour les démarches liées à l’obtention du certificat. Après quelques e-mails de confirmation, vous pouvez vous connecter à nouveau sur le site et démarrer la procédure d’obtention des certificats telle que détaillée ci-après.


La publication d’une application pour iPhone, iPad ou iPod Touch, avec Flash Pro, se fait indépendamment du kit de développement Xcode fourni par Apple. C’est Flash qui compile l’application à partir des quatre certificats que vous avez préalablement rassemblés. Il ajoute simplement, à l’animation SWF, un parseur AIR/C (analyseur) qui rend l’animation compatible et fluide sur la plateforme de diffusion.

Pour connaître le descriptif détaillé de l'obtention des certificats, lisez le PDF suivant que j'ai conçu à cet effet. Il est extrait de mon livre Actionscript 3, aux éditions Pearson Education France, dans lequel je reprends aussi les classes disponibles pour le développement mobile (gesture, géolocalisation, accéléromètre, multipoint). Pour ceux qui s'intéressent également à Android, cet ouvrage complète plutôt bien le livre de Véronique Brossier,
aux éditions Pearson.

http://www.arzhurcaouissin.com/_partage/application-ios-certificats.pdf

Consultez aussi l'article sur la publication d'un IPA depuis Flash CS5.5.


Consultez également le livreApp de Voxpedago, publié le 14 juin 2013, à l'adresse suivante :
http://bloc-notes-arzhur.blogspot.fr/2013/06/formation-les-certificats-apple-par.html

vendredi 3 février 2012

Flash pro, Flash Catalyst, Flash Builder... Que choisir pour développer des applications mobiles ?

Vous êtes peut-être flasheur et ne souhaitez pas développer des applications dans les formats natifs ? Bien que cela soit désormais simple à travers des solutions telles que Aquafadas si vous ne voulez pas coder ou Titanium si vous codez en Javascript, et bien que les applications en Flash/Air restent quand même bien moins performantes que les applications natives, il existe en effet des solutions (provisoires ?), pour les flasheurs chevronnés et indécrottables que vous êtes. Mais retenez que ces solutions restent peu concluantes et qu'il ne sera pas question de déployer vos animations Flash SWF sur les périphériques mobiles tant le nombre de couches de programme nécessaires à leur interprétation en ralentira les performances. Une animation SWF fluide dans un navigateur saute un peu dans un navigateur mobile et saute énormément sous la forme d'une application mobile.

Pour développer une application mobile à partir de la technologie Flash, vous devez exporter votre document au format Air, APK ou IPA selon la plateforme de destination. Toutes les solutions Flash/Air le permettent aujourd'hui. Alors quelle solution choisir ?


Les outils pour développer en Air
:

Pour réaliser facilement des applications mobiles Air (magazines interactifs, jeux, services), compatibles iOS (iPhone, iPad, iPod touch), vous pouvez utiliser des outils de développeur :
  • Apache Flex
  • FlashDevelop
  • Adobe Flash Builder
... Ou des solutions de designers, plus accessibles :
  • Adobe Flash Catalyst
  • Adobe Flash Pro
Les solutions Développeur sont idéales pour réaliser des applications complexes connectées à des données externes et utilisant des librairies de composants prédéfinis (mais un peu stériles graphiquement). Certaines sont gratuites mais requièrent de nombreux réglages manuels (Flex, FlashDevelop). D'autres sont payantes et intégrées à la suite créative de Adobe, mais offrent une meilleure prise en main et davantage de librairies prêtes à l'emploi. Le principe est extrêmement simple puisqu'il suffit pratiquement d'ajouter une balise xml par objet interactif à mettre en forme. Et chaque balise XML peut contenir directement des instructions en Actionscript 3 pour y associer de l'interactivité, ou faire référence à une classe enregistrée dans un fichier d'extension .as.

Les solutions des designers permettent, elles, de réaliser des interfaces sur mesure, au look vraiment personnalisé. Mais elles seront moins souples pour la gestion de données dynamiques puisqu'il faudra alors appeler les données en se passant des composant.

Différence entre Flash Pro et Flash Catalyst :

Parmi les deux solutions designer : Flash Pro et Flash Catalyst, seul Flash Pro permet d'inclure directement le design et la programmation de la logique applicative d'un seul tenant. La solution Catalyst, en effet, requiert l'utilisation de Flash Builder pour y associer, une fois l'interface agencée, toute la logique applicative.

Flash Catalyst et Flash Pro ne sont pas du tout les mêmes outils. Flash Catalyst s'inscrit dans une logique de développement à partir de briques de code séparées (mxml, xml, as, js, css, html) et de médias externalisés (animations, vidéos, sons, images). Le tout est ensuite compilé dans une interface au format Air. Seules les données appelées dynamiquement restent externes. Lorsque vous travaillez dans Catalyst, vous ne faites que préparer les médias qui seront ensuite fusionnés par le compilateur. Contrairement à Flash Pro qui intègre déjà tout dans son interface : les médias, les animations, le code. La compilation se fait en toute transparence, dans Flash Pro, dans le format souhaité (swf, ipa, apk). L'objet obtenu depuis Flash Pro est généralement autonome.

Si la solution développeur (Catalyst et Builder) permet aussi de réaliser des applications tout-en-un sans données externes et si la solution Flash Pro permet elle aussi de réaliser des projets dynamiques à partir de données totalement externes, leurs vocations respectives est plutôt de favoriser le traitement de données pour Catalyst/Builder ou le design d'interactivité intégré pour Flash Pro.

Donc, si vous souhaitez créer un système d'échange d'information, utilisez les solutions développeurs. Si vous souhaitez en revanche créer des jeux autonomes non connectés, des magazines tout-en-un, des services et des systèmes de calcul non connectés, utilisez Flash Pro.

Ainsi, si vous êtes designer avec un bon bagage en programmation, et désireux de pouvoir personnaliser vos propres interactions, adoptez Flash Pro (idéal pour les freelances ou les petites agences). Mais si vous êtes un pur graphiste et ne souhaitez jamais toucher au code, intégrez plutôt une chaîne de production de développeurs, via Catalyst (idéal en grande agence spécialisée dans les développements de bureau, Web et mobile). Ce sont les développeurs qui feront le code à votre place, mais vous ne serez plus autonome. Troisième option : si vous voulez réaliser des applications de données tout en demeurant autonome, il faudra alors changer de casquette et devenir programmeur objet dans Flash Builder, Flex ou FlashDevelop et maîtriser bien plus que l'Actionscript 3, mais aussi, Javascript, HTML, CSS, PHP, SQLite.

Pour en savoir plus sur Flex et Flash Builder, lisez le très pédagogue site :
http://www.flex-tutorial.fr/