2 mars 2010
Comme évoqué dans une précédente revue de presse, voici le premier article de ma série sur HTML5. Plutôt que de faire du comptage de points entre Apple et Adobe, j’ai décidé de commencer par faire un tour d’horizon des nouveautés proposées par cette nouvelle spécification du W3C. Dans ce premier article, je vous propose donc de faire un voyage à la découverte des nouveautés du côté de HTML. ; pour connaître les nouvelles balises, et les nouveaux attributs que nous pouvons déjà ou pourrons bientôt utiliser dans nos navigateurs. Du layout au canvas en passant par les WebForms, le son et la vidéo, tout tout tout, je vous dirai tout sur HTML5. Commençons donc par le commencement: HTML5 qu’est-ce que c’est ?
Sommaire
Lire la suite de cet article »
24 février 2010

Nous sommes heureux de vous proposer le nouveau catalogue de formation Xebia Traning :
Xebia Training se positionne logiquement dans la continuité de Xebia, tant sur la qualité de son offre de formation technique que méthodologique (méthodes agiles), en proposant des formations haut de gamme animées uniquement par les référents de leur domaine.
Avec pour principe premier le refus de tout compromis sur la qualité du formateur et du contenu, Xebia Training fait systématiquement intervenir des acteurs de références dans leurs domaines respectifs.
Nos formations, savant équilibre entre théorie et travaux pratiques, sont destinées à un large public soucieux d’acquérir les meilleures pratiques de notre industrie.
26 novembre 2009

Lors de la finalisation de l'un de nos développements Flex, nous avons mis en place des styles pour les différents composants de l'application. Mais il se trouve que nous avons rencontré une petite difficulté sur le composant DataGrid. A noter également l'utilisation de Flex 4 dans cet exemple, mais ce problème est aussi valable avec Flex 3.
Les styles
Avec Flex, les styles sont très simples à mettre en place, et se font de la même manière qu'en HTML :
- Soit via la définition des styles directement dans le fichier MXML :
<mx :Style>
myStyle {
fontFamily: "arial";
background-color:#FFFFFF;
}
</mx>
- Soit via la définition d'une feuille de styles CSS, déclarée dans le fichier MXML :
<mx :Style source="css/xebia.css"/>
Concernant le composant DataGrid, modifier les couleurs des lignes devient trivial avec la propriété alternatingItemColors. Néanmoins la situation se corse lorsque nous devons appliquer ces couleurs aux lignes d'une seule colonne...
Lire la suite de cet article »
19 novembre 2009

La session Wicket initialement prévue Mardi matin ayant été annulée, j'ai assisté à la place à une présentation sur les effets Flex. Je pensais que je ne pouvais rien apprendre de plus à ce sujet, je me suis trompée : l'utilisation des effets a été simplifiée, et il est maintenant possible d'étendre les effets.
Lire la suite de cet article »
17 novembre 2009
La première journée de Devoxx fut l'occasion pour Adobe de présenter lors de leur université leur nouvelle plateforme Flash. Pour cette présentation, quatre évangélistes Flex se sont relayés pour nous présenter ces différents produits Adobe :
- Christophe Coenraets
- Chet Haase qui travaillait anciennement sur JavaFX
- Serge Jespers
- Maarten Arten

Lire la suite de cet article »
19 août 2009
Il y a quelque temps est sortie la version bêta de Flex 4. Connue aussi sous le nom de Gumbo, cette nouvelle version n'a plus rien à voir avec les précédentes : possibilité de personnaliser ses composants, simplification des notations ... Nous verrons dans ce billet quelques nouveautés de Flex 4 et les raisons d'un changement aussi radical des librairies.
Pour visualiser les exemples Flex 4 ci dessous, il vous faudra installer Flash Player 10.
Lire la suite de cet article »
29 juillet 2009
Récemment, lors d'une intervention sur une application Flex, j'ai été confronté à un problème de migration d'une version de la librairie Spring BlazeDS Integration (passage de la version 1.0.0.RC2 à 1.0.0.M2). Cette librairie permet la configuration de BlazeDS à travers Spring de façon simplifiée. J'ai voulu configurer un appel à un service Java en Remoting.
Afin de déclarer votre service Remote, les lignes suivantes doivent être ajoutées dans votre applicationContext.xml :
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/*=mySpringManagedMessageBroker
</value>
</property>
</bean>
<!-- Envoie les requêtes au "message broker" -->
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>
<!-- Le MessageBroker de BlazeDs -->
<bean id="mySpringManagedMessageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" />
<!-- Service myService -->
<bean id="myService" class="com.xebia.impl.MyServiceImpl" />
<flex :remoting-destination message-broker="mySpringManagedMessageBroker" destination-id="myServiceDest" ref="myService" />
Ainsi que la référence au fichier xsd : http://www.springframework.org/schema/flex/spring-flex-1.0.xsd
Malheureusement, au démarrage de votre application, vous aurez cette erreur :
org.
springframework.
beans.
factory.
xml.
XmlBeanDefinitionStoreException:
Line 67 in XML document from ServletContext resource
[/WEB-INF/classes/applicationContext-service.
xml] is invalid;
nested exception is org.
xml.
sax.
SAXParseException: cvc-complex-type.
2.
4.
c: The matching wildcard is strict, but no declaration can be found
for element
'flex:remoting-destination'.
at org.
springframework.
beans.
factory.
xml.
XmlBeanDefinitionReader.
doLoadBeanDefinitions(XmlBeanDefinitionReader.
java:
390)
Pourtant cela fonctionnait parfaitement avec les versions précédentes de Spring BlazeDS Integration ...
Lire la suite de cet article »
24 juin 2009
Cette deuxième journée de Jazoon a commencé par une keynote de Danny Coward, qui a établi deux tops 5 distincts, à savoir le top 5 de ce qui va arriver dans le JDK 7, et celui de ce qui existe déjà dans JavaFX 1.2 (on peut noter cette amusante différence d'échelle).
Laissons de coté le top 5 JavaFX (nous y reviendrons dans un autre billet), pour nous concentrer sur les 5 nouveautés du JDK 7, "les plus excitantes" pour un Sun Fellow.
Lire la suite de cet article »
1 juin 2009
Google I/O 2009 s'est tenu la semaine dernière à San Francisco. Il s'agit d'une des conférence destinées aux développeurs utilisateurs des applications et des API de Google. Faute d'avoir eu l'occasion de me rendre sur place, j'ai essayé de suivre d'aussi prêt que possible son déroulement. Vu de l'extérieur : du grand spectacle !
Dans cet article, je vais donc revenir sur les annonces et points marquants de ces deux jours de conférences.
D'autre part, les vidéos des keynotes sont disponibles, vous pouvez consulter celle du premier jour (html5, android, web components ...) ou celle du second jour (google wave).
Google I/O 2009, voici ce que j'en ai retenu :
- Le futur du Web, avec les premières démonstrations émoustillantes HTML 5.
- Google Wave, le prochain outil de communication et collaboration made in Google.
- La réconciliation de Google avec GWT et la sortie de GWT Query.
- Le futur d'Android, avec l'annonce de la branche Android 2.0 : Donut.
- Java sur Google App Engine en GA.
- Google Web Elements, comment intégrer les services Google dans vos pages web.
- Les macros dans Google Document, avec Google Apps Script.
- Arrivée des extensions dans Chrome.
Lire la suite de cet article »
20 mai 2009
Pour les besoins de l'un de nos développements Flex, nous avons utilisé les validateurs Flex. De base, le framework nous fournit un ensemble de validateurs (StringValidator, EmailValidator...), mais il se trouve qu'ils ne répondaient pas tous à l'ensemble de nos besoins. En effet, nous avions besoin de valider la longueur d'une suite de chiffres, mais le NumberValidator ne permet pas de valider la longueur... De plus, nous avions aussi besoin d'une longueur minimale...
Heureusement, il est possible d'écrire votre validateur : il suffit de coder une classe ActionScript qui hérite de mx.validators.Validator et de surcharger la méthode doValidation(). Voici notre validateur permettant de contrôler qu'une suite de chiffres doit être comprise entre une longueur minimale et une longueur maximale.
Lire la suite de cet article »