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

17sept/102

Flash, Flex et intégration continue: Le guide complet (SVN, Maven, Hudson & co)

Si vous travaillez dans une grosse entreprise, vous avez forcement entendu parler d'intégration continue (Continuous Integration alias CI). Si vous ne connaissez pas cette technique, je vous invite vivement à vous y intéresser :) .

Comme son nom l'indique, cette technique implique l'intégration continue de votre code ainsi que le lancement de tests à intervalles régulier. Le processus d'intégration continue est intimement couplé à celui du versionning (SVN par ex.) de votre code source. Ainsi, lorsqu'un utilisateur va faire un "commit" (envoi de modification vers le versionning), le processus d'intégration continue peut lancer un build pour vérifier l'intégrité du code.

Dans le même temps, si vous avez créé des tests unitaires, ceux-ci seront lancés automatiquement. Si le processus échoue, vous pouvez être averti, par mail par exemple.

L'intégration continue est souvent faite sur une machine, qui va automatiser le processus. Cette machine est souvent appelé serveur d'intégration continue. Elle va s'occuper de récupérer les sources, capter les commit, lancer les builds / test etc. Une fois le build effectué, cela vous permet aussi d'avoir un emplacement où seront placées les dernières versions de votre application (aussi appelées SNAPSHOT). Les solutions les plus connues sont Hudson et CruiseControl.

La mise en place d'un système d'intégration continue est considéré comme une bonne pratique dans le monde du développement. En effet, elle procure de nombreux avantages mais peu parfois être longue et laborieuse.

Pour vous aider dans la mise en place d'un serveur d'intégration continue, voici d'excellents articles:

Cas réel d'utilisation chez Business Geografic

L'entreprise dans laquelle je travaille (Business Geografic) a mis en place un système d'intégration continue. Ce système est basé sur les technologies:

  • SVN pour le versionning (Git pour certains)
  • Maven pour la gestion des dépendances
  • FlexMojos pour la compilation des projets Flex avec Maven
  • Nexus comme gestionnaire de repository Maven
  • Ant (pour tout ce que Maven ne sait pas faire)
  • Hudson comme serveur d'intégration continue
  • Redmine comme Bug Tracker

Le processus est maintenant au point mais sa mise en place a pris plusieurs mois, avec 2 personnes d'en occupant régulièrement. Il faut dire que notre cas n'est pas le plus simple car c'est un mix de nombreuses technologies avec des projets très important à gérer (en terme de volume).

Remplis sous: ActionScript Lire la suite
1mai/100

Migration de projets Flex Builder 3 vers Flash Builder 4: Le guide détaillé

Avec l'arrivée de Flash Builder 4 et ses nombreuses améliorations, se pose la question de la migration de vos anciens projets Flex Builder 3 dans votre nouvel IDE, FB4. Attention, on parle ici bien de changement d'IDE et pas de passer tout votre code Flex 3 en Flex 4.

Pour vous aider, Andrew Shorten a écrit un guide plutôt très détaillé (avec screenshots) pour faciliter cette migration. Plusieurs cas sont distingués:

  • I want the new Flash Builder 4 features, but can't switch SDK versions.
  • I want the new Flash Builder 4 features and the faster Flex 4 compiler, but I need to maintain my application's existing behavior.
  • I want the new Flash Builder 4 features and all the new Flex 4 language features, but I don't want to adopt the new Spark component architecture.
  • I want the new Flash Builder 4 features, all the new Flex 4 language features and I want to add Spark-based components into my existing application.

Moving existing Flex projects from Flex Builder 3 to Flash Builder 4

Il y a cependant certains cas auxquels il faut faire attention, comme le précise le 2e commentaire, cette procédure peut poser problème si vous utilisez SVN (ou autre système de versionning). En effet, à l'ouverture d'un projet FB3 dans FB4, Flash Builder 4 va vous indiquer que les propriétés de ce projets vont être modifiée et qu'il ne pourra plus être ouvert dans FB3.

Si vous utilisez SVN, cela impose donc que tous les collaborateurs utilisant SVN fassent la migration, sans quoi certains seront laissés pour compte.

C'est d'ailleurs la raison pour laquelle je n'ai pas encore migré là où je bosse, on n'a pas vraiment le temps de synchroniser tous les postes en plein milieu d'une sortie de version.

30mar/103

Flash Builder 4 – Installation de Subversive et connecteurs SVN

Maintenant que vous utilisez Flash Builder 4, il vous faut tous les outils qui vont bien pour un développement "entreprise". Parmi eux, un système de versionning bien sûr type SVN. Il vous faudra ensuite un plug-in Eclipse pour pouvoir Checkout vos projet, Update, Commit et autres. Pour cela, vous pouvez installer Subversive qui fait très bien cela.

Si vous êtes encore sous Flex Builder 3, voici le tutorial qu'il vous faut:

Flex Builder 3 et SVN – Installer Subversive sur Flex Builder

Installation de Subversive sous Flash Builder 4

Flash Builder 4 étant basé sur Eclipse 3.5.1, vous pouvez profiter des améliorations de celui-ci. Et parmi ces modifications, l'ajout d'un plugin SVN devient bien plus simple.

Tout d'abord, rendez-vous dans le menu Eclipse Help > Install New Software > (New). Une fois arrivée sur la fenêtre "Install", vous devez aller chercher l'update Site de Galileo.

  • Si vous êtes sur Eclipse, il est déjà présent dans le menu déroulant "Work with:".
  • Si vous êtes sous Flash Builder 4, il faut l'ajouter (Add… > Name: Galileo, Location: http://download.eclipse.org/releases/galileo)

Choisissez ensuite dans Collaboration > Subversive SVN intégration for the Mylyn Project et Subversive SVN Team Provider:

svn-1

Si cela ne fonctionne pas pour une raison obscure, installez tout d'abord "Subversive SVN Team Provider" puis l'autre. C'est ce qui m'est arrivé.

Attention, si vous êtes sous Windows et que le path vers Eclipse contient un espace (Program Files (x86) par exemple), il y aura une erreur au moment de l'installation (erreur de unzip). Pour corriger cela, fermez Eclipse, copiez-le Eclipse à la racine de C:\ par exemple et refaites la manipulation.

Next, Next, Accept, blah blah blah et redémarrez Eclipse / Flex Builder.

Au redémarrage du programme, une fenêtre devrait apparaitre pour vos proposer de choisir votre connecteur. Pour ma part j'ai pris le dernier SVNKit. Il lance une erreur au premier accès à SVN sous Flash Builder mais il fonctionne ensuite normalement.

Rédemarrez votre programme et vous aurez vos nouvelles vues/perspectives pour SVN :)

5fév/100

ToasterLib – Gestion du resize en v1.0.2

Et oui, déjà des corrections apportées à la ToasterLib. Si vous aviez seulement regardé l'exemple qui se trouve dans les articles de flex-tutorial, vous aviez peu de chance de rencontrer le bug corrigé en question puisqu'il s'agissait d'un bug de resize du Toaster (sur les articles, le SWF a une taille fixe).

Quand on redimensionnait l'application (ou tout du point, le conteneur parent du Toaster, la notification ne bougeait pas et pouvait donc soit être partiellement cachée, soit se retrouver au milieu de la page. Le code était déjà prévu mais pas la logique (j'ai voulu faire une release rapide).

Après quelques switch et une dixaine de lignes de code, ce bug est désormais corrigé.

Les exemples en ligne ont été mis à jour (pensez à vider votre cache).

Vous pouvez donc télécharger le nouveau SWC de la ToasterLib (v1.0.2):

Télécharger le SWC de la ToasterLib

Ou alors, vous pouvez faire un checkout des sources par SVN et la compilez vous-même:

Récupérer la ToasterLib par SVN

Si vous utilisez la ToasterLib (ou que vous comptez l'utiliser) et que vous trouvez des bugs, merci d'utiliser l'onglet "Issue" du projet pour rentrer vos bugs:

Signaler un bug sur la ToasterLib

4nov/097

Flex Builder 3 et SVN – Installer Subversive sur Flex Builder

Dans le tutorial précédent, on a vu comment installer Subclipse sous Flex Builder 3. On va voir ici comment installer un autre client SVN, plus puissant et pratique selon moi que j'utilise en environnement professionnel, Subversive.

Installer Subversive sur Flex Builder 3 (Eclipse 3.3)

Installation de JDT

Avant d'installer Subversive, vous devrez télécharger et installer JDT. Comme pour Subclipse, démarrer Flex Builder puis dans le menu Help > Software Updates > Find And install:

subversion-1Cliquez ensuite sur "New Remote Site".

Si vous essayez d'installer directement Subversive, vous aurez un message d'erreur:

Subversive SVN JDT Ignore Extensions (Optional) (Incubation) (0.7.8.I20091023-1300) requires plug-in "org.eclipse.jdt.core"

Vous devez installer l'extension JDT avant d'installer Subversive. Dans la fenêtre Find And Install, choisissez "Europa Discovery Site" puis Finish. Choisissez "Eclipse Java Development Tools 3.3.2r33x_r20080129-.." dans "Java Development":

jdt-1

Acceptez la licence, puis Finish et Install All. Une fois JDT installé, rédemarrez Flex Builder avant d'attaquer l'installation de Subversive.