Votre navigateur est obsolète !

Pour une expériencenet et une sécurité optimale, mettez à jour votre navigateur. Mettre à jour maintenant

×

ISMAIL HACHOUM

Ingénieur Etudes & Développement JavaEE / Liferay / Alfresco

Consultant Java/JEE
Liferay
GED/CMS
Alfresco
Struts
En poste En recherche active
Je suis passionné du monde Java/JEE et les frameworks de développement fournis pour la réalisation d'applications web.
Je suis également intéressé par les projets ECM et les plateformes de gestion de contenu à savoir Liferay et Alfresco.
CV réalisé sur DoYouBuzz
ImilSoft : Développement Java/JEE imilsoftware.blogspot.com
Vous avez commiter vers la mauvaise branche git ?
22 mars 2018

Solution : 

  • Faire le rollback du commit et n'oublie pas de garder en copie le hash de celui-ci :
git reset --hard HEAD^
  • Faire un pull du commit vers une autre branche git :
git checkout NOUVELLE-BRANCHE
git cherry-pick HASH-COMMIT

Et voilà le tour est joué :)
Première application avec Spring Boot
08 oct. 2017



Git - C'est quoi ?
23 janv. 2017
Git ?


Git est un logiciel de gestion de versions décentralisé. Il est conçu pour être efficace tant avec les petits projets, que les plus importants. Git a spécialement été créé pour le développement du noyau linux. Ce projet a débuté en 2005, Linus Torvalds voulait créer une alternative au logiciel propriétaire BitKeeper. Depuis, Git a beaucoup évolué et est utilisé par de nombreux projets. Contrairement à des outils comme svn ou cvs, Git fonctionne de façon décentralisée, c'est-à-dire que le développement ne se fait pas sur un serveur centralisé, mais chaque personne peut développer sur son propre dépôt. Git facilite ensuite la fusion (merge) des différents dépôts.

Quelles sont les particularités de Git ?
Par rapport aux autres gestionnaires de version, Git :
  • est très rapide ;
  • sait travailler par branches (versions parallèles d’un même projet) de façon très flexible ;
  • est assez complexe, il faut un certain temps d’adaptation pour bien le comprendre et le manipuler, mais c’est également valable pour les autres outils ;
  • est à l’origine prévu pour Linux. Il existe des versions pour Windows mais pas vraiment d’interface graphique simplifiée. Il est donc à réserver aux développeurs ayant un minimum d’expérience et… travaillant de préférence sous Linux.

Une des particularités de Git, c’est l’existence de sites web collaboratifs basés sur Git comme GitHub.
GitHub, par exemple, est très connu et utilisé par de nombreux projets : jQuery, Symfony, Ruby on Rails…
C’est une sorte de réseau social pour développeurs : vous pouvez regarder tous les projets évoluer et décider de participer à l’un d’entre eux si cela vous intéresse. Vous pouvez aussi y créer votre propre projet : c’est gratuit pour les projets open source et il existe une version payante pour ceux qui l’utilisent pour des projets propriétaires.

GitHub fournit le serveur où les développeurs qui utilisent Git se rencontrent. C’est un excellent moyen de participer à des projets open source et de publier votre projet !



Processus de développement en Y (Processus 2TUP)
23 janv. 2017
Les processus unifiés :
Un processus unifié est un processus construit sur UML (Unified Modeling Language). Plus exactement ce sont les meilleures pratiques du développement objet suivies pour la réalisation d’un système.Un processus unifié se distingue par les caractéristiques suivantes (ROQUES, 2008) :
  • Itératif : Le logiciel nécessite une compréhension progressive du problème à travers desraffinements successifs et développer une solution effective de façon incrémentale par desitérations multiples.
  • Piloté par les risques : les causes majeures d’échec d’un projet logiciel doivent être écartéesen priorité.
  • Centré sur l’architecture : le choix de l’architecture logicielle est effectué lors des premières phases de développement du logiciel. La conception des composants du système est basée sur ce choix.
  • Conduit par les cas d’utilisation : le processus est orienté par les besoins utilisateurs présentés par des cas d’utilisation.
Dans la communauté objet et nouvelles technologies ils existent plusieurs processus unifiés envogue comme eXtreme Programming (XP) et Rational Unified Process (RUP). Dans notre étudeon a choisi
de travailler avec le processus 2TUP parce qu’il cible des projets de toute taille, et il apu faire une large place dans le domaine de la technologie et les risques des projets.

Le processus 2TUP :

Le processus 2TUP (Two Track Unified Process) est un processus unifié. Il gère la complexité technologique en donnant part à la technologie dans son processus de développement (Franck,2004)
.Le 2TUP propose un cycle de développement qui sépare les aspects techniques des aspects fonctionnels et propose une étude parallèle des deux branches : fonctionnelle (étude de l’application) et la technique (étude de l’implémentation). Illustré dans (Figure 1), le processus 2TUP s’articule autour de trois branches :
  • Une branche technique
  • Une branche fonctionnelle
  • Une branche de conception et réalisation.
La figure suivante détaille les étapes de développement des trois branches du processus 2TUP.

Figure 1 : L'approche 2TUP

La branche gauche (fonctionnelle) : capitalise la connaissance du métier de l’entreprise. Elle constitue généralement un investissement pour le moyen et le long terme.

Les fonctions du système d’information sont en effet indépendantes des technologies utilisées.

Cette branche comporte les étapes suivantes :

·        La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le métier des utilisateurs.

·        L’analyse.



La branche droite (architecture technique) : capitalise un savoir-faire technique. Elle constitue un investissement pour le court et moyen terme. Les techniques développées pour le système peuvent l’être en effet indépendamment des fonctions à réaliser.

Cette branche comporte les étapes suivantes :

·        La capture des besoins techniques.

·        La conception générique.



La branche du milieu : à l’issue des évolutions du modèle fonctionnel et de l’architecture technique, la réalisation du système consiste à fusionner les résultats des 2 branches. Cette fusion conduit à l’obtention d’un processus en forme de Y.

Cette branche comporte les étapes suivantes :

·        La conception préliminaire.

·        La conception détaillée.

·        Le codage.
·        L’intégration.







27 nov. 2014

Liferay

Liferay est un portail open source de gestion de contenu écrit en Java et créé en 2000

Sommaire

  • 1 Histoire
  • 2 Présentation
  • 3 Fonctionnalités
  • 4 Produits
  • 5 Versions
  • 6 Évolutions
    • 6.1 Liferay 6.1
    • 6.2 Liferay 6.2
  • 7 Lien externe

Histoire

Liferay, débuté en 2000 aux États-Unis, à l'origine pour une église américaine par l'un de ses paroissiens (jusqu'à la version 6.1, on y trouvait encore un portlet donnant "la prière du jour"), voulait fournir une solution de portail pour des associations à but non lucratif. La société Liferay, Inc. a été fondée en 2004 suite à une forte demande de support entreprise.
Cet élan initial a été confirmé en 2008 avec l’entrée dans la partie « Visionnaire » du Magic Quadrant Gartner, avant de passer dans la partie « Leader » en 2010, au même titre que les solutions des grands éditeurs propriétaires. Présent en Europe via une filiale allemande en 2007, Liferay s’est implanté directement en France en début d’année 2012.

Présentation

Liferay s’appuie, au choix, sur un serveur d'application JEE et exploite les EJB, mais, pour des déploiements plus légers, il peut se contenter d’un conteneur de servlets comme Tomcat. Une fonction de cache (OSCache) accélère le traitement du contenu statique et Liferay peut exploiter un équilibrage de charge matériel.
Il s'interface avec de nombreux systèmes de SGBD.

Fonctionnalités

Liferay est notamment compatible avec les portlets 1.0 (JSR 168) et 2.0 (JSR 286), JSR 170 (Java Content Repository (en)), WSRP (consommateur uniquement). Il est compatible avec la plupart des systèmes d’exploitation, serveurs d’applications et bases de données. Il embarque des fonctionnalités de gestion de contenu (Liferay journal) qui permettent de restituer des contenus formatés (XSL, Velocity) sur les pages du portail à travers des portlets dédiés. Quelques dizaines de portlets sont fournis avec la solution et permettent de mettre en place les fonctionnalités de base d’un portail intranet facilement et rapidement.

Produits

Liferay se décompose en 3 produits :
  • Liferay Portal est une plate-forme Web d'entreprise pour créer des solutions d'affaires qui donnent des résultats immédiats et à long terme de valeur.
  • Liferay Social Office Overview est une solution de collaboration sociale pour l'entreprise qui rationalise la communication, fait gagner du temps, renforce la cohésion du groupe et accroît la productivité.
  • Liferay Sync est le plus récent produit de Liferay, et permet de synchroniser les documents du portail avec un répertoire sur le poste de travail ou un smartphone.

Versions

Liferay Portal est disponible en deux versions différentes :
  • Community Edition (CE)
  • Enterprise Edition (EE) (depuis 2009) : version issue de la Community Edition

Évolutions

Liferay 6.1

La dernière version de Liferay (6.1) est sortie en version entreprise début 2012. Elle a notamment simplifié la gestion des communautés et enrichi la gestion de contenu. La gestion documentaire a été refondue et vient à présent avec un client à la « Dropbox » : Liferay Sync qui permet de synchroniser les documents distants avec un dossier local ou sur un mobile.
Une marketplace se voulant être un « App Store » pour les extensions Liferay a été introduite en août 2012.

Liferay 6.2

La prochaine version, 6.2, est prévue pour la fin 2013, et visera à faciliter la gestion des documents, rendre plus robuste la plateforme et fournir plus d’outils pour les versions mobiles.

Lien externe

27 nov. 2014

Formation Liferay :

Objectifs

     Liferay est un portail j2ee open source d’entreprise qui a pour particularité de s’intégrer à plusieurs environnements, c’est une solution alternative à d’autres offres commerciale plus coûteuses. L’objectif de la formation est de savoir utiliser efficacement Liferay. Ce portail open source propose des composants permettant la gestion et la création de contenu.

     Les développeurs ont la responsabilité de créer des portlets spécifiques en fonction de besoins métiers. Cette formation va leur permettre d’apprendre à créer des plugins qui vont être en mesure de manipuler des données en base (CRUD) mais aussi apprendre à gérer les permissions associées à chacune des portlets. Cette formation couvre aussi l’extension des portlets de base et la personnalisation du portail.

Public

Développeurs, chefs de projets, architectes.

Durée 

3 jours

Pré-requis

Connaissance de base du langage Java et des Servlets.

Programme

Jour 1

Introduction
  • Introduction à Liferay
  • Introduction aux Plugins
  • Le Liferay Developer Studio
  • Installation d'un Liferay bundle
Développement de Portlets
  • Introduction aux Portlets
  • Les portlets Java standard
  • IPC

Jour 2

Développement de Portlets (suite)
  • Portlets MVC
  • Design Approach
  • Le Service Builder
  • Liferay Search Container
  • Permissions de Portlets
  • Retours, Validation et Localisation
  • Portlets du panneau de contrôle

Jour 3

Développement de plugins Theme et Layout
  • Aperçu des thèmes Liferay et exercices
  • Thèmes avancés, Layout et bonnes pratiques
Développement de plugins Hook
  • Customisation de Properties
  • Ajout d'une action Post Login
  • Customisation de clés de langages
  • Customisation de JSP Lieferay
Développement de plugins EXT
  • Aperçu des plugins EXT
  • Modification de la gestion des utilisateurs
  • Surcharge d'actions Struts
Sujets Avancés
  • Utilisation des Web Services Liferay
  • Spring dans Liferay
  • Stratégie de développement
GWT, le web 2.0 à portée de main
24 janv. 2011
GWT, le web 2.0 à portée de main – Nicolas de Loof (présentation)
GWT, qu’est-ce que c’est ?

Commençons d’abord par un petit rappel sur ce qu’est le web 2.0 : des usages qui modifient l’interaction avec l’utilisateur au niveau du net. Pour obtenir une RIA (Rich Internet Application) de qualité, il vous faut des experts dans plusieurs domaines : CSS, HTML, DOM au minimum et surtout Javascript. Or pour ce dernier bien peu de développeurs peuvent se prétendre expert en la matière. Le web 2.0, c’est donc quelque chose de puissant mais de délicat : il faut être cross browser, faire attention à sa vitesse de chargement, être vigilant au XSS, penser aux fuites de mémoire, savoir débugger en javascript, etc …

Devant cette demande croissante pour des applications 2.0, de nombreux frameworks sont apparus, nous donnant comme le dit Nicolas “l’embarras du choix … et surtout l’embarras”. En effet, dans la vie de tous les jours, le développeur lambda est amené à faire du Javascript, de l’HTML, du Java, du CSS et du design sans pour autant être expert dans tous ces domaines. De plus l’émergence du web mobile vient encore compliquer cette problématique du cross browser que tout développeur d’application web connait bien : être compatible I.E. 7, 8, 9, Firefox, Chrome, Safari mais aussi I.E. 6 qui malgré tout représente encore une forte part de marché dans les entreprises.

De ce besoin de développer des applications plus riches naissent 3 rêves :

  • L’architecte rêve de ne pas devoir traiter les problématiques de bas niveau de javascript sur un navigateur : fuite mémoire, gestion événementielle, support cross browser, etc …
  • Le chef de projet de son côté rêve de pouvoir réutiliser les compétences existantes, c’est-à-dire java.
  • Le développeur quant à lui, rêve de pouvoir conserver son IDE préféré qui lui propose un outillage de test complet, l’auto complétion, l’aide au refactoring et milles autres petites pratiques de développement aussi utiles qu’indispensables une fois que l’on y a gouté.

Et c’est ici qu’apparaît la solution miracle face à ces trois problèmes totalement divergents et pourtant liés : GWT (Google Web Toolkit). Le framework de Google orienté composant a en effet pour but de vous permettre de développer vos applications web 2.0 en java grâce à l’utilisation du JRE standard couplé à une API spécifique. A sa charge de compiler votre code en Javascript, inutile pour vous de devenir un pro de ce langage pour réaliser une RIA digne de ce nom. Ce framework est sorti en 2006 suite à l'effervescence provoquée par l'éclosion de la technologie AJAX et de la mouvance Web 2.0. GWT est un projet Open Source géré en partie par Google associé à d'autres membres de la communauté Java.

Autre notion essentielle de GWT, sa devise “Only pay for what you see”. En d’autres termes, GWT va produire une application par navigateur cible et ainsi éliminer le code mort, les bibliothèques inutiles et autres if et else qui traînent invariablement dans une application web cross browser. D’autre part, le code java n’est pas transmis initialement : il est d’abord repris, optimisé et compilé en javascript pour effectuer la manipulation du DOM en fonction de ce qui sera le moins coûteux en performance selon le navigateur.

Bâtie sur des principes totalement révolutionnaires, GWT a puisé son inspiration dans les échecs des projets Web dits "applicatifs". Le constat est le suivant :

  • Le développement d'application Web d'entreprise est devenu complexe et coûteux
  • Un développeur Web est une sorte de mouton à cinq pattes devant maîtriser un nombre incalculable de technologies (JavaScript, Html, Css, Flash, JSP, ASP...)
  • Le nombre de développeurs Java ne cesse de croître
  • Les sites souhaitant proposer une ergonomie Web 2.0 AJAX évoluée deviennent très vite in-maintenables lorsqu'il s'agit d'utiliser JavaScript, notamment du fait du manque de compétence

Pour pallier tous ces défauts et contrer cet inexorable précepte qui veut que tout ce qui est Web est cher, GWT a cherché à fournir un niveau de productivité optimal. Le Framework redonne ses lettres de noblesse à Java. Le développeur code en Java puis laisse la main au compilateur GWT qui génère tous les artéfacts de l'application Web (en JavaScript, CSS et HTML). L'avantage est non seulement de pérenniser les compétences Java mais aussi de s'abstraire des contraintes techniques inhérentes à HTML. Avec GWT :

  • L'application est assurée d'être compatible avec les principaux navigateurs du marché
  • Le développeur s'appuie sur des ateliers génie logiciel Java avec tous les avantages que ceux-ci procurent (tests unitaires, refactoring, debug, etc ...)
  • Les fuites mémoires JavaScript sont gérées avec des traitements curatifs spécifiques
  • Les performances sont largement supérieures à n'importe quel développement basé sur JavaScript du fait de l'utilisation de procédés empruntés aux compilateurs modernes (GCC, ...)

Pour résumer, GWT est un framework :

  • simple et peu coûteux en temps d’apprentissage,
  • avec un coût incomparable par rapport au MVC,
  • extensible grâce à des librairies telles que GWT-Fx, Ext-GWT et des wrappers comme Smart-GWT,
  • multi-navigateur y compris mobiles et navigateurs à venir

GWT supporte nativement le back des navigateurs et l’internationalisation (i18n) et est également HTML 5 ready et nativement Ajax. Votre code quant à lui, écrit en java reste entièrement testable.

Très appréciable la fonction Out Of Process Hosted Mode (OOPHM) vous permet de tester le rendu de votre application, de le modifier, de recompiler à la volée et de le re-tester, le tout dans votre navigateur habituel. En effet avec GWT 2.x, plus besoin d’utiliser le navigateur système, le débugger java se branche au moteur javascript de votre navigateur, pour lequel vous aurez au préalable téléchargé le plugin.

Plusieurs fonctionnalités sont apparues avec GWT 2.0 :

  • le découpage du code js via runAsync qui permet de charger du code à la demande en fonction des droits de l’utilisateur ou du module dans le cas d’un module peu utilisé,
  • la possibilité d’utiliser des bundlers pour les images, le CSS, le JS Natif (navigateur cible). Tout le contenu du bundler est chargé au démarrage de l’appli, ce qui le rend disponible de suite lors de la navigation,
  • le binding entre code java et code html grâce à UiBinder,

Côté serveur, GWT utilise un mécanisme RPC spécifique basé sur Rest, JSON et XML; et est devenu complètement stateless : toutes les données sont chez le client, ce qui en fait un framework tout à fait indiqué pour le cloud computing.

Côté concurrence, GWT fait face à Flex, qui est déjà bien installé mais qui nécessite une phase d’apprentissage non négligeable ainsi qu’un environnement récent; et à SilverLight qui a l’avantage d’un très fort taux de pénétration grâce à windows update mais dont la plateforme est limitée.

Conclusion : vous n’avez pas d’experts javascript, html, css, java etc … faîtes du gwt !

Quoi de neuf avec GWT 2.1 ?

L’apparition du design pattern MVP (Model View Presenter) pour la présentation devient la référence. Il se traduit comme suit :

  • une partie visuelle totalement dénuée d’intelligence,
  • un Presenter qui récupère les événements,
  • un modèle de données caché : la vue n’en a pas connaissance.

Ce design pattern permet d’obtenir une application entièrement testable (la vue peut être mockée), modulaire et facilement repackageable.

En attendant une implémentation officielle, les implémentations open source sont nombreuses :

  • gwt-presenter
  • gwt-dispatch
  • gwt-platform
  • mvp4gwt

Attention néanmoins, l’apparition du MVP dans GWT 2.1 se traduit par des librairies “temporaires” dont la javadoc mentionne qu’elles sont encore en cours de développement et peuvent être supprimées. Les librairies suivantes en font partie et sont donc à utiliser à vos propres risques Description: :-D :

  • gwt.text : parser/renderer pour le data binding “donnée -widget”
  • gwt.app : place/activity pour la gestion de la navigation et les contrôleurs
  • gwt.event : event bus qui permet de gérer les événements applicatifs et d’éviter le plat de spaghetti que peut rapidement créer une application ambitieuse composée de nombreux composants qui écoutent tous les événements qui passent;

Autres sujets à surveiller dans l’avenir de GWT :

  • le rapprochement avec Spring Source et notamment la collaboration avec Spring Roo,
  • le support de Maven, longtemps laissé de côté (publication des artefacts laissant à désirer, mauvais packaging, chemins en dur etc …), Maven fait enfin l’objet d’un réel effort de collaboration (option -maven -noAnt sur webAppCreator, évolution du plugin google eclipse …)

Convaincre son boss en 10 points

En temps de crise, les décideurs sont tournés vers les solutions susceptibles d'apporter des gains de marges tout en pérennisant l'existant avec la possibilité de disposer d'un avantage concurrentiel. Dans ce contexte, une technologie telle que GWT ne peut que convaincre. De nombreuses applications de gestion, d'ancienne génération peuvent prétendre à être reliftées à la mode AJAX à moindre coût. D'autres applications, plus sensibles, peuvent bénéficier des apports de GWT en termes de performance. D'une manière générale, voici les dix points qui vous permettront de convaincre un décideur :

  • Coût

De part ses qualités intrinsèques, GWT est une technologie permettant de faire plus avec moins ou autant de charge. Les délais de développement sont raccourcis du fait de la disponibilité d'un Framework de composants riche et de l'atelier de développement Java.

Les coûts d'infrastructure sont également amortis par le fait qu'une part importante des traitements sont déportés côté client, notamment tout ce qui attrait à l'affichage.

  • Ajax

GWT s'appuie nativement sur les notions qui sous-tendent AJAX. Les pages sont construites dynamiquement côté client sur la base du moteur de rendu du navigateur. Le serveur n'est peu voire jamais sollicité pour des traitements graphiques contrairement à d'autres technologies telles que JSF ou ASP.NET.

  • Communauté

Financé en partie par Google qui a construit son modèle économique sur le Web, GWT n'en est pas moins un projet communautaire. Cette dernière s'est étoffée de manière fulgurante ces trois dernières années. Des centaines de projets gravitant autour de GWT viennent enrichir le Framework de base tous les jours. De nombreux éditeurs s'appuient sur GWT pour fournir des bibliothèques de composants, des outils métiers ou des ERP. Des livres, des formations et d'innombrables documents en libre accès sont disponibles sur la toile.

  • Pérennité

Le fait que Google soit un acteur majeur de GWT constitue un argument de poids. Outre cette participation, GWT est le fruit d'un travail communautaire impliquant une trentaine de personnes. La marge de progression de GWT est considérable du fait des progrès réalisés à chaque version (Accessibilité, CSS, Gestion de nouveaux navigateurs, ...). D'autres acteurs majeurs (Redhat, ...) du marché commencent à emboîter le pas à Google avec des soutiens financier ou des accords de partenariat technique.

  • Réutilisation de l'existant

Excepté le modèle de développement très structurant qu'il propose, GWT ne remet pas en cause les standards existants. Il s'appuie sur HTML, JavaScript, CSS et s'interface côté serveur avec tous types de technologies ou Framework (Php, Perl, CGI, Java Spring, EJB, Servlets, JSP, ...).

  • Performances

GWT a été conçu avec le souci constant des performances. Le compilateur Java vers JavaScript ne possède pas moins d'une dizaine d'optimisation en tous genres permettant de réduire parfois par 10 la taille des scripts générés côté client. En déportant les rendus graphiques côté client, il est possible de disposer d'une architecture sans-état dotée d'une infrastructure plus légère côté serveur (Cluster sans affinité de session, etc ...)

  • Abstraction vis-à-vis de la technologie

GWT est une technologie relativement agnostique des couches basses. L'avantage procurée par cette abstraction est de permettre à une application GWT de supporter les futures navigateurs (Google Chrome, Firefox 4 ou 5, IE 8) sans modification de code source. Une simple recompilation du site suffit.

  • Respect des standards et Open Source

GWT ne réinvente aucun standard, il les utilise tous. De HTML à CSS en passant par JavaScript, DOM ou JSON. Ce respect contribue à la pérennité et au large support des technologies utilisées.

  • Déploiement simple

Déployer une application GWT consiste simplement à copier un ensemble de fichiers statiques appelés « fichiers de permutations » dans un répertoire visible du serveur Web Apache ou IIS. La partie serveur dépend du niveau d'intégration avec les technologies en place.

  • Avantage concurrentiel

Utiliser GWT dans un contexte concurrentiel est clairement un avantage. Non seulement le périmètre fonctionnel des applications métier peut être élargi, mais les coûts de développement restent largement inférieurs aux autres Framework du marché.


JavaFX a-t-il encore une chance de s'imposer face à Flash, Silverlight et l'émergence du HTML 5 ?
04 mai 2010
JavaFx a été lancé il y a trois ans pour développer des applications lourdes. Très vite, les développeurs l'ont utilisé pour des applications multimédias et pour faire du web java (notamment des Rich Internet Applications ou RIA).

La plateforme - qui se compose du langage de script JavaFX, une plateforme pour client lourd et une intégration avec la machine virtuelle Java - entendait ainsi répondre ainsi aux besoins d'un marché où la compétition fait désormais rage avec, entre autres, des acteurs aussi importants que Flash de Adobe et Silverlight de Microsoft.

Selon la page officielle du langage, le SDK aurait été téléchargé plus de 400.000 fois et JavaFx serait présent sur plus de 250 millions d'ordinateurs.

De très bons chiffres. Certes. Mais des chiffres qui ne lèvent cependant pas les interrogations quant aux chances de JavaFX de s'imposer - et qui cachent difficilement un manque réel de notoriété.

Premièrement, parce qu'il arrive après ses concurrents, notamment pour la conception de contenus RIA. Ensuite parce que ses tentatives pour rattraper son retard de popularité arrivent au moment où émerge le HTML5, dont un des buts est justement de se passer de ces technologies.

Du coté positif, Oracle - qui hérite de la technologie avec la rachat de Sun - vient de confirmer son implication dans JavaFx. Preuve à l'appui, le site des JOs de Vancouver a été réalisé avec la plateforme... même si les principales diffusions TV ont été faites par les chaînes en Silverlight (NBC, etc.)

Pour Mark Volkmann, du Saint Louis Java Users Group, l'évolution de JavaFx aurait été trop lente. Et les choses seraient presque jouées.

De son coté, Frank Greco, responsable du New York Java Special Interest Group, tempère cet avis et souligne que JavaFx est certainement meilleur que ses concurrents. Mais que Sun n'aurait pas effectivement pas suffisamment oeuvré pour sa promotion.

En revanche, si Oracle venait à "relancer la machine", rien ne prouve que JavaFx ne puisse pas percer.

Une des manières de faire serait, toujours pour Frank Greco, de l'intégrer à plus d'IDE.

Une position qui semble être celle de Nandini Ramani, directrice du développement de Java chez Oracle, qui s'est clairement exprimée dans ce sens sur le site officiel ChannelSun.

"Nous sommes en train de travailler sur plusieurs sujets très intéressants [...] comme de trouver une solution au modèle de déploiement et aux plug-ins, des sujets dont les gens nous parlent depuis plusieurs années", a-t-elle ainsi déclaré. Les choses pourraient même aller plus loin avec, à terme, la possibilité d'un développement unifié en Java pour différents types de terminaux (smartphones, TV, bureau et navigateur).

La conséquence de cette nouvelle politique pourrait dans un premier temps être une accélération sensible du déploiement pour Java Runtime.

Couplé à un environment tel que Java SE 6 Update 10, l'écart entre les temps de déploiement entre JavaFx et Flash pourrait même grandement se réduire.

Autre élément, le futur JavaFx 1.3 devrait apporter plus de composants UI.

Restent les questions du HTML 5, dont l'adoption est encore incertaine et dont non ne sait pas encore vraiment s'il sera adapté à la création de RIA (lire - Quake II en HTML 5) et celle de Silverlight, très efficace et qui bénéficie d'un fort soutien mais qui pourrait, justement, en pâtir et être considéré par certains développeurs comme étant bien trop attaché à la plateforme de Microsoft.

Alors, trop tard ou pas trop tard pour JavaFx ?




Spring 3 ou Java EE 6 sur vos nouveaux projets Java ?
04 mai 2010
Fin 2009, ce sont deux solutions très attendues qui ont finalement été livrées :

D'un coté Spring 3.0, framework déjà fort utilisé en entreprise, et qui arrive avec quelques nouveautés : Support de Rest, Expression Language, ..
Principal atout : Il est déjà utilisable sur des serveurs omniprésents en production (Tomcat, Websphere 6.1,..)

De l'autre coté, Java EE 6. Un nouvelle version du standard, beaucoup plus légère et souple que les anciennes versions.
Il propose également un profil Web, qui propose des fonctionnalités fort similaire à ce qui est proposé par Spring (EJB Lite, Injection de dépendances, ..).
Pour l'heure, la seule implémentation disponible est Glassfish.


Un sondage a été adopté en ligne par le groupe d'entraide "La communauté java du Forum des professionnels en informatique" pour réaliser les intentions des membres au niveau du développement de projets JEE pour cette année.

Récapitulatif des votes du 4 mai 2010

Click here to view in real sizePour la mise à jour du résultat ici
Conteneur de Servlet+Spring vs. JEE. Quelle direction prenez-vous ?
26 avr. 2010
Avec l'arrivée de JEE 6 et de Spring 3.0, le développement Entreprise est de plus en plus facile.

De son coté, Spring est largement utilisé à l'heure actuelle. Cependant, celui-ci n'étant pas un standard, il est fort décrié et nous lie fortement avec SpringSource.
Pa contre, un simple conteneur de servlet, comme Tomcat 6, suffit pour tirer partie de ses fonctionnalités.


JEE 6 de son coté apporte une nouvelle jeunesse à JEE en tirant de l'expérience de framework comme Spring ou encore Hibernate et en le standardisant.
La seule chose qui risque de freiner un peu son adoption est l'obligation d'un serveur JEE compatible, ce qui impose des couts de migration de serveur.

D'où ce sondage, afin de voir à l'heure actuelle, quel infrastructure est la plus utilisée : Conteneur de Servlet ou JEE ?

Résultat du sondage effectué par le groupe "developpez.net"
Récapitulatif des votes du 25 avril 2010

Pour la mise à jour du résultat ici