Apache Adobe Flex TutorialTutoriaux Adobe Flex & AIR en Français

23juil/100

AIR pour Android – Vidéo conférence en 30 lignes de code avec LiveCycle Collaboration Services

Christophe Coenraets est on fire en ce moment et sort une application Air pour Android presque tous les jours :P . La dernière est une application de chat vidéo utilisant le service LiveCycle Collaboration Services.
Pour ceux qui ne connaissent pas LCCS (anciennement AFCS, anciennement Cocomo), vous trouverez plus d'informations sur le site officiel:

LiveCycle Collaboration Services @ Adobe

Pour résumer, LCCS propose d'utiliser des services Adobe en mode hébergé (SaaS). LCCS est aussi accompagné d'un SDK complet permettant d'intégrer facilement un chat vidéo, un tableau blanc, un partage de fichiers, … Il permet ainsi de gérer facilement les concepts de "room" et d'utilisateur. Beaucoup de traitement étant fait server-side par les systèmes de gestion sans que vous le sachiez.

Bref, LCCS était un projet qui était déjà intéressant pour du Desktop mais grâce à Air pour Android, (qui est une des prochaines versions de Air et pas un nouveau SDK), vous pouvez profiter de base du SDK livré avec LCCS.

Et c'est ce que fait CC dans sa vidéo de chat vidéo sur Android:

Comme je le disais un peu plus haut, LCCS vient avec un SDK complet, qui permet de s'affranchir de beaucoup de code. Dans le cas de cette application, seules 30 lignes de code on été nécessaires pour initier la connexion à la conférence et afficher un pod vidéo:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:cs="AfcsNameSpace" currentState="logon" fontSize="28">

 <fx:Script>
 [Bindable] private var roomURL:String = "http://connectnow.acrobat.com/YOUR_ROOM_NAME";

 protected function connect():void {
  auth.userName = userName.text;
  currentState = "default";
  session.login();
 }
 </fx:Script>

 <s:states>
  <s:State name="default"/>
  <s:State name="logon"/>
 </s:states>

 <fx:Declarations>
  <cs:AdobeHSAuthenticator id="auth"/>
 </fx:Declarations>

 <s:TextInput id="userName" includeIn="logon" top="200" horizontalCenter="0"/>
 <s:Button label="Connect" click="connect()" includeIn="logon" top="250" horizontalCenter="0" height="50" width="150"/>

 <cs:ConnectSessionContainer id="session" roomURL="{roomURL}" authenticator="{auth}" autoLogin="false" width="100%" height="100%" includeIn="default">
  <cs:WebCamera top="10" left="10" bottom="10" right="10"/>
 </cs:ConnectSessionContainer>

</s:Application>

Voilà de quoi donner des idées !

28nov/092

AFCS devient LiveCycle Collaboration Service (LCCS) et pricing

Un peu de retard sur cette news mais elle reste importante. Le projet anciennement Adobe Cocomo qui est devenu Adobe Flash Collaboration Service (AFCS) devient maintenant LiveCycle Collaboration Service (LCCS). Ce nom serait à priori le nom définitif.

Il faut noter que LCCS ne vous oblige pas à acheter LCDS (LiveCycle Data Service), c'est simplement le nom qui change.

Pour ceux qui ne connaissent pas le produit de base, LCCS permet d'offrir des services "in the cloud", c'est-à-dire d'utiliser l'architecture d'Adobe (serveurs) pour le fonctionnement de votre application. LCCS se compose d'un SDK comprenant un ensemble de composants personnalisables pour ce qui concerne les activités collaboratives et temps réel:

  • Communication Audio VoIP
  • Communication Vidéo WebCam
  • Chat
  • Tableau Blanc Multi-utilisateur (avec ses outils de dessin etc.)
  • Partage de fichiers temps réel
  • Gestion des utilisateurs (accès et droits)

Plus d'informations sur LCCS (anciennement Cocomo)

Un service toujours gratuit mais limité en accès pour les développeurs

Dans la partie suivante, je donne les prix de l'accès au service. Pour les développeurs qui ne veulent pas payer pour tester LCCS, Adobe accorde un solde gratuit de 15$ à utiliser par les conditions suivantes.

20juil/090

AFCS – Tutorial Introduction à AFCS avec Flex (2 – Préparer la room et Flex Builder)

Suite du tutorial AFCS – Tutorial Introduction à AFCS avec Flex (1), traduction de Introduction to Adobe Flash Collaborative Services par Romin Irani.

Avant d'aller plus loin sur les bases d'une application AFCS, voici un aperçu du rendu final.

afcs appli

afcs appli

Cette application est un salon de chat en ligne, dans lequel plusieurs utilisateurs peuvent s'enregistrer et discuter ensemble. Sur la gauche, on peut voir la liste des participants, mise à jour à chaque connexion (login) et déconnexion (logout). Sur la droite, on a une console de chat qui permet au participant d'envoyer des messages publics/privés, de recevoir des messages privés et de voir tous les messages publics en live. Bien que cela ne soit pas l'application idéale pour démontrer la capacités d'AFCS, c'est suffisant pour vous donner un bon départ. Voyons maintenant comment créer cette application de A à Z et en détail.

Création d'une "room"

Tout d'abord, on va créer une "room" (un salon pour franciser). Vous pouvez voir une room comme un conteneur dans lequel une application AFCS va se dérouler. Les utilisateurs vont s'enregistrer et si l'authentification est bonne, ils seront autorisés à entrer dans la room. On verra cela plus en détail plus tard.

Vous pouvez créer une room de deux manières: en utilisant le AFCS Developer Portal ou en utilisant l'application locale AFCS Developer Console. On va se concentrer sur la AFCS Developer Console (mais vous pouvez très bien le faire depuis le Portal en ligne si vous voulez).

Vous devez être connecté à Internet pour que l'application AFCS Developer Console fonctionne normalement puisqu'elle interagit avec le cloud AFCS.

Pour créer une room, lancez l'application Air AFCSDevConsole. Vous verrez ainsi ceci:

afcs-dev

Comme vous le voyez, il n'y a pas encore de compte (Account) défini. Puisque vous avez déjà crée un Developer Account sur le site d'AFCS plus tôt dans ce tutorial, vous pouvez utiliser le même compte ici. Pour cela, cliquez simplement sur le bouton "Add" en bas du panel Accounts. Cela va ouvrir la boite de dialogue suivante:

afcs-dev-2

Entrez simplement vos informations personnelles. L'URL de votre compte est http://connectnow.acrobat.com/[VotreIDdeCompte]. Donnez un nom à votre compte. Cela peut être n'importe quel nom puisque vous pouvez gérer plusieurs comptes sur la Developer Console.

19juil/091

AFCS – Tutorial Introduction à AFCS avec Flex (1)

Il y a quelques mois, je présentais Adobe Cocomo, qui a changé de nom et s'est transformé en AFCS (Adobe Flash Collaborative Services). Romin Irani a publié sur InsideRIA, un article présentant les fonctionnalités principales de AFCS avec applications pratiques.

Voir l'article original sur insideRIA.com

Pour ceux qui ne connaissent pas AFCS, c'est un SDK permettant de créer rapidement des applications dites collaboratives, c'est-à-dire multi-utilisateur. Cela peut aller du chat, au partage de fichiers en passant par le partage de webcam. Les fonctionnalités de AFCS sont décrites dans cet article:

AFCS – Présentation des fonctionnalités (Adobe Cocomo)

Pourquoi utiliser AFCS ?

Typiquement, un développeur se poserait ce type de questions:

  • Pourquoi ai-je besoin d'un ensemble de composant pour intégrer une dimension collaborative à mon application.
  • C'est pas si difficile que cela de faire une application collaborative, non ? Un chat et un partage de fichier et c'est tout ?
  • … et bien d'autres

Et bien, le développement d'application collaboratives n'est pas si simple que cela. Si vous voulez développer une appli collaborative, vous devrez prendre en compte les points suivants:

  • Prendre en charge l'audio, la vidéo et tous les échanges de data
  • Etre sûr que l'application peut fonctionner avec un grand nombre d'utilisateurs
  • S'assurer que tous les utilisateurs soient synchronisés
  • Réutiliser des composants souvent utilisés comme un Chat, des notes, un tableau blanc (whiteboard) etc. pour développer des applications rapidement et que vous ne deviez pas ré-inventer la roue en permanence.
  • Prendre en charge la gestion des utilisateurs et de leurs droits.

Tous ces points vont s'additionner et cela va devenir assez complexe pour un développeur de créer son application. AFCS propose des solutions à ces problèmes grâce à ces fonctionnalités:

  • Un ensemble de composants collaboratifs qui peuvent être simplement placés dans l'application pour accélérer le développement. Ces composants vont de la simple fenêtre de chat jusqu'au tableau blanc partagé
  • Un ensemble d'APIs, qui peut être utilisé pour les problématiques de droits utilisateur, de gestion des medias ou de l'authentification. Ces APIs et ces composant peuvent être étendus pour pouvoir être personnalisés
  • Une architecture côté serveur (le "cloud") qui vous permet de ne pas vous soucier des problèmes de charge (scaling) ou de crash (reliability).

On va maintenant voir comment créer ces applications avec AFCS grâce à quelques tutoriaux Flex.

17fév/090

Adobe Cocomo – Cocomo devient Adobe Flash Collaboration Service (AFCS)

L'équipe d'Adobe Cocomo a annoncé il y a quelques jours une nouvelle importante, Adobe Cocomo s'appellera maintenant Adobe Flash Collaboration Service (ou AFCS). Cocomo, qui était un acronyme de Common Collaboration Model, sera donc uniquement un codename, un peu comme Flex 2 avait son Moxie, Flex 4 est Gumbo…

Cela va permettre une meilleure reconnaissance, surtout vu les conflits que ce nom impliquait (le modèle économique Cocomo, une chanson des Beach Boys,  ou même un club de salsa proche des developpeurs Adobe ^^). Et puis il faut dire que AFCS fait plus sérieux que Cocomo qui sonnait un peu exotique.

Au passage, AFCS s'offre une mise à jour du SDK en version 0.91:

Télécharger la dernière version du SDK Adobe Flash Collaboration Service

Au programme de cette mise à jour, des fonctionnalités supplémentaires pour les propriétaires de room (verrouillage, limitation du nombre d'utilisateurs…), l'implémentation du protocole RTMP d'Adobe permettant de faire du Peer To Peer entre clients Flash, de nouveaux exemples …

Consulter la liste des fonctionnalités mises à jour avec AFCS v0.91

Pour la procédure d'installation du SDK, vous pouvez toujours suivre le tutorial que j'avais écrit sur Cocomo, qui reste entièrement valable:

Adobe Cocomo – Installer le SDK Adobe Cocomo

L'équipe d'Adobe FCS a aussi posté une roadmap permettant de connaître les futurs développements qui seront faits sur Adobe Flash Collaboration Service. Parmi ces annonces, voici les principales (selon moi):

  • La création prochaine d'un modèle commercial complet (pour l'instant tout est complet gratuitement et avec peu de limites)
  • Enregistrement / Lecture de streams Audio/Video, pour le partage d'écran par exemple. Adobe Connect a prouvé que cela était possible, l'implémentation d'un partage d'écran dans AFCS serait une excellente fonctionnalité parmi celle qui existe
  • La possibilité d'ajouter des "bots" (robots) dans les rooms

Consulter la roadmap AFCS (12/02/09)