AlcionTech

Aller au contenu | Aller au menu | Aller à la recherche

mardi 31 août 2010

Utiliser Git en local

Les gestionnaires de configuration distribués ont vraiment la côte en ce moment, et en particulier Git.

Pour l'avoir testé, il faut bien admettre que ces outils simplifient énormément le processus de développement, en permettant de découpler très facilement les différentes tâches sur lesquelles on travaille dans autant de branches de développement.

Sur SVN, la gestion des branches n'est pas aisée. Donc dans la pratique, quand on travaille sur plusieurs évolutions (sous Eclipse) :

  • Soit on duplique le projet dans son espace de travail (avec un projet par évolution) : c' est certainement encore la manière la plus propre de faire, bien qu'un peu lourde à mettre en oeuvre.
  • Soit on travaille dans un unique projet : on n'a alors pas de moyen évident de distinguer quelle modification de code correspond à quelle évolution.

Cas d'application concret : en local, un développeur travaille sur deux fonctionnalités dans son projet, dont une est terminée et doit être commitée pour être embarquée dans la livraison du jour. Il faut alors retrouver quels sont les fichiers correspondants, pour faire un commit partiel du projet.

Autant dire que les risques de faire une erreur (oubli de fichier ou commit d'un fichier de l'autre évolution) sont loin d'être négligeables... et conduisent donc souvent à devoir faire un deuxième (quand ce n'est pas un troisième) commit correctif.

Ce scénario peut paraître un peu catastrophique, mais il peut pourtant arriver (et peut-être plus souvent qu'on ne le croit).

Quelques avantages de Git :

  • il permet de résoudre le problème mentionné ci-dessus : la gestion locale des branches permet d'en créer et d'en changer très rapidement, sans avoir à dupliquer le projet (entre autres fonctionnalités).
  • il est beaucoup plus souple que SVN dans ses possibilités de revenir en arrière en cas d'erreur : il permet par exemple "d'amender" un commit déjà effectué.
  • une fois que plusieurs fonctionnalités sont terminées, les possibilités de fusion (merge) des branches sont beaucoup plus puissantes que celle de Git, avec plusieurs stratégies de résolution des conflits (fast forward, etc.)

Tout ceci est très bien sur le papier, mais passons maintenant à l'application en entreprise, où la gestion de configuration des projets est gérée de manière centralisée par SVN (à Alcion Group, par exemple). Même si on est convaincu par les avantages des DVCS, l'impact sur le SI est tel que ça peut difficilement être mis en place.

Mais là encore, Git peut nous sauver. Il peut en effet être utilisé en local sur les postes de développement, et s'interfacer avec le serveur SVN de l'entreprise. Les développeurs bénéficient ainsi de ses avantages, pour un faible impact sur l'infrastructure.

Nicolas de loof explique très bien les principes d'utilisation de Git avec SVN. Afin d'adapter ces principes à nos environnements de développement, j'ai rédigé un tutoriel d'application pratique pour Eclipse.

Pour commencer et découvrir Git, je vouc recommande :

Et, pour aller plus loin, quelques lectures studieuses... et un peu plus volumineuses :

vendredi 30 avril 2010

Le site d'Alcion Group fait peau neuve

Après près de trois mois de travail, la nouvelle version du site web d'AlcionGroup a vu le jour.

A première vue, pas beaucoup de différences avec l'ancienne mouture, si ce n'est le bandeau bas faisant défiler les articles du blog... Mais s'arrêter à cette analyse ne ferait pas honneur au travail de notre administrateur, qui a totalement revu le moteur du site (en se basant sur le CMS Open Source Joomla), et qui a fait un énorme travail d'adaptation de la charte graphique (CSS, Javascript, etc.) à ce CMS, justement pour que ce grand changement technique se remarque un minimum dans le résultat final.

C'est un pari qui a visiblement été réussi ! Souhaitons donc maintenant une bonne continuation à ce nouveau site dont le contenu sera très prochainement enrichi !

vendredi 19 mars 2010

Openbar Alciontech sur la "Java Software Factory" le jeudi 25 mars 2010

Lors de cet conférence technique sera présentée la plateforme de développement Java utilisée en interne sur les projets au forfait.

Cette plate-forme est composée d'un ensemble cohérent d'outils Open Source, fonctionnant ensemble pour couvrir l'ensemble des besoins du cycle de vie d'un projet :

  • SVN (gestion de configuration)
  • Eclipse (environnement de développement)
  • Maven2 (gestionnaire de build)
  • Nexus (repository Maven)
  • Hudson (serveur d'intégration continue)
  • Sonar (serveur de reporting sur la qualité des développements)
  • Mantis (traçabilité du suivi des anomalies et des demandes d'évolution)


Très tôt préoccupés de la qualité des applications orientées objet, les experts d’Alcion Group ont mis en œuvre dès 1998 la toute nouvelle modélisation UML ainsi que les Patterns d'analyse et de conception. Ils sont aujourd'hui persuadés de l'intérêt de fusionner les Méthodes Agiles et la modélisation avancée. Impliqués dans les problématiques de productivité des développements, ils se font les promoteurs de techniques avancées de génie logiciel, génération de code, automatisation de la persistance. Passionnés de technologies, convaincus qu'un processus de développement logiciel moderne est nécessairement outillé, les consultants d’Alcion Group conseillent et assistent leurs clients dans la mise en œuvre de leur "Usine Logicielle Agile".

lundi 30 mars 2009

Alcion Group développe des composants pour Talend Open Studio

Il y a maintenant un peu plus de trois mois, des ingénieurs d'Alcion Group ont suivi une formation "Talend Foundation" sur l'ETL Open Source Talend Open Studio. Ils proposeront bientôt dans le cadre d'un Alcion Bar une conférence interne pour présenter ce produit intéressant.

Mais en attendant cette soirée, ils ont mis cette formation à profit en développant de nouveaux composants pour cet ETL, afin de mieux gérer les bases de données Informix (qui sont utilisées sur un des projets au forfait actuellement développés).

Alcion Group ayant décidé de jouer le jeu de l'Open Source, ces composants ont été cédés à la communauté :

  • tInformixConnection, permettant d'initialiser une connexion à une base de données Informix ;
  • tInformixCommit, permettant de faire un "commit" des opérations effectuées sur une connexion ;
  • tInformixRollback, permettant de faire un "rollback" des opérations effectuées sur une connexion ;
  • tInformixInput, évolution du composant original permettant de récupérer des données à partir d'une connexion existante ;
  • tInformixOutput, évolution du composant original permettant d'insérer des données dans une table en utilisant une connexion existante ;
  • tInformixRow, évolution du composant original permettant d'exécuter une requête SQL quelconque en utilisant une connexion existante ;
  • tInformixSP, qui permet d'exécuter des procédures stockées et fonctions d'une base de données Informix ;

lundi 9 mars 2009

Acualité : Google Apps - Quotero

Je reprends ici deux billets d'actualité publiés sur mon blog personnel :

  • le premier, qui a fait suite à l'indisponibilité des mails Google de ce 24 février. Ce billet fait suite à celui posté ici même, qui ventait les mérites des "Google Apps" : malgré la récente indisponibilité des mails et la "mini-crise virtuelle" qui a suivi, je persiste à croire que Google offre des solutions tout à fait viables pour les PME (mails, calendriers, etc.), avec de nouvelles fonctionnalités qui vont dans ce sens (Google pour mobiles, consultation et rédaction de mails hors-ligne, etc.).
  • le deuxième est un résumé de la conférence de lancement de Quotero 1.0 (à laquelle j'ai assisté), une GED Open Source.

jeudi 19 février 2009

Paradigme MDA : sortie de Lyria Leonardi 4.2

Je me permet de copier ici (avec quelques modifications) le contenu d'un post de mon blog personnel... qui lui-même reprenait un billet du blog java de developpez.com signalant la sortie de la nouvelle version de l'outil Leonardi.

Les principales nouveautés de ce produit étant décrites dans le billet que je site, je ne les recopierai pas. En revanche, je ferai une (très) rapide présentation de l'outil (un résumé des informations que l'on peut trouver sur le site de Lyria), ainsi que du paradigme MDA auquel il se rattache.

Lire la suite...

mardi 3 février 2009

La plate-forme décisionnelle open Source "Spago BI" passe en version 2.0

A l'occasion de la sortie de Spago BI 2.0 (une solution de Business Intelligence open Source), une conférence a eu lieu dans les locaux de la Cantine.

J'ai assisté à cette conférence, et en voici un petit compte-rendu :

Lire la suite...

mercredi 16 juillet 2008

Revue de presse estivale du monde java

En juin et en juillet, de nombreux projets liés à java ont bien évolué. Voilà un petit résumé de ces évolutions (outre la sortie de la nouvelle version d'Eclipse Ganymède à laquelle un billet complet a été dédié):

Par ailleurs, Sun a publié un compte-rendu des différentes présentations techniques qui y ont été faites lors de JavaOne session 2008.

samedi 12 janvier 2008

Inversion de contrôle avec Guice

Au sein de Google, Crazy Bob Lee a crée Guice (prononcé d͡ʒʊːs comme "juice"), un container léger pour faire de l'IoC. Guice profite des annotations et des génériques apparus dans Java 5 pour créer les liens entre JavaBeans. Ce petit produit de google (547.5 KB) propose une manière alternative simple et rapide pour faire de l'IoC et ceci sans fichiers XML; offrant ainsi des performances intéressantes dans certains cas, pour le prix tout de même d'une petite intrusion dans le code.

Alors, petit gadget ou future alternative a Spring?

Page officielle et analyses/comparaisons plus ou moins sérieuses pour ce faire une petite idée sur Guice!

mercredi 5 décembre 2007

Slides de l'open bar GWT (Google Web Toolkit)

Disponibles au téléchargement ci-dessous (lien "une annexe").
dilbertFlashJS.gif

lundi 19 novembre 2007

OpenBar Alciontech le 29 novembre : le client riche en Java, c'est facile avec GWT et JavaFX

ajax.jpgCe mois-ci, une conférence pleine de bonnes nouvelles : on peut développer des écrans portables et sexy en Java, sans avoir besoin de connaître Javascript !

En introduction, un coup de projecteur sur JavaFX, sur le thème de "comment faire du flash, en java".

En plat principal, GWT, un framework qui a le potentiel de changer la donne. Il permet de réaliser des applications Ajax portables, en Java. Ses caractéristiques principales sont :

  • il est open-source ;
  • il n'impose pas d'apprendre javascript pour faire de l'ajax,
  • il absorbe les nuances de navigateurs,
  • il gère automatiquement des concepts de haut niveau comme la sérialisation, les appels RPC, et la traduction de code java->javascript pour exécution des traitements locaux au navigateur, ce qui est une petite prouesse.

Après 6 mois sur le terrain, il commence à être adopté par certains de nos clients.

Thierry a travaillé quelques semaines sur GWT. Il vous en expliquera les concepts, les principes de développement et vous fera une démo couvrant le design d'écrans, le remoting et l'exécution de code au sein du navigateur.


Que vient faire ici ce barbu frisé ? C'est Ajax le Grand, héros de la guerre de Troie... ;-)

lundi 12 novembre 2007

Brèves développement Java/J2EE

i-can-lift-40-pounds.jpgAujourd'hui je peux :

vendredi 9 novembre 2007

Forte activité sur Linux

Linux est dans nos usages quotidiens, tant sur les serveurs, que sur les postes de développement.
Les dernières semaines ont été particulièrement riches en actualité :

Comme dit Linux.com, "where do we go from here ?"

P.S. : nous venons d'avoir, pour la première fois, un projet sur lequel il y avait à la fois des postes de développement Windows, Linux, et OSX, sans souci : Eclipse, Maven, Subversion, Tomcat en Java 5.

jeudi 13 septembre 2007

And the award goes to...

Dans un univers opensource très mouvant, il est bon d'avoir quelques repères.

Le site Infoworld vient de sortie son cru 2007 des Bossie awards qui vise à distinguer les meilleurs logiciels opensource destinés aux entreprises. Il y a différentes catégories dont le software development.
On extrait particulièrement 3 résultats:

N'hésitez pas à donner votre avis sur ces résultats...

lundi 10 septembre 2007

Dashboard of software release versions

UPDATE 09/20/2007: V1.5 released with several code improvements to be cross-Browser compliant. This version uses the localhost web proxy by default (see why here) and the scriptaculous library.

When you manage a set of application software, more often than not it's time wasting to check if it's still up to date by browsing home site by home site. Here comes the freely available Dashboard of software release versions annexed to this article.
It's based on a xml file where you store data about your own configuration, application by application in a similar way to the sample below.

	<application>
		<!-- URLradical is taken from the wikipedia url-->
		<URLradical>Apache_Tomcat</URLradical>
		<currentVersion>6.0.13</currentVersion>
	</application>

The dashboard is a HTML page which retrieves data from both the xml file and wikipedia using Microsoft.XMLDOM and Msxml2.XMLHTTP objects. Everything is done client-side. In other words, no http server is required.

dashboard.screenshot.png

The screenshot of the dashboard related to our continuous integration platform tells us at a glance that new versions of Apache Tomcat, Apache HTTP server and Subversion have already been released since the release of the platform.

Known limitations:

  1. depends on the content of wikipedia pages (more precisely the infobox software tag. For example, Apache Continuum has no infobox yet, thus the error in the screenshot).

lundi 27 août 2007

Le Project Object Model de Maven en pratique

logo_built_by_maven.png Le POM est au coeur de la statégie de build proposée par Apache Maven. Il permet de gérer simplement à partir d'un fichier XML une grande partie de la problématique de récupération des sources, de la gestion des dépendances, de la compilation, du déploiement et de la génération de rapports (comme ici et ici sur le projet NAG).

Ce billet n'a pas vocation a expliquer le POM, puisque de très bons articles techniques le font déja ici et ici.Par ailleurs une étude directe du schéma n'est pas dénuée d'intérêt non plus.

Ce qui peut paraitre manquant c'est un document opérationnel synthétisant toutes ses connaissances dispersées. c'est à ce titre que la DT vous propose en annexe un template de POM qui vous facilitera la mise en application de Maven sur vos projets Java.

PS: Maven fait partie de la PFIC Java/J2EE d'AlcionGroup.
PS2: Apache Continuum exploite les infos contenues dans le POM pour intégrer en continu.

vendredi 17 août 2007

Une plate-forme d'intégration continue J2EE sous Win32

Pour célébrer la rentrée et vous aidez à mettre en pratique les bons principes du génie logiciel, la DT met à votre disposition une Plate-Forme d'Intégration Continue pour J2EE sous Windows. Elle est immédiatement opérationnelle, et de plus, portable, dans le sens où elle peut être mise sur une clef USB. PFIC.png Cette PFIC est exclusivement construite par l'intégration d'outils opensource: Eclipse pour l'IDE, Subversion pour le SCM, Maven pour le BUILD, Continuum comme CIM et Tomcat comme Serveur Web. De plus Une distribution Xampp (Apache-PHP-MySQL) est également fournie.
Toutes les infos sont disponibles dans le doc ci-joint.
Le Package est disponible sur le serveur de domaine (Telechargement/Serveur/PFIC).
Eh oui on est comme ça à la DT d'Alcion: généreux avec vous ;)

PS: prévoir au minimum 500Mo d'espace disque.

lundi 16 juillet 2007

De l'importance de Spring

Les idées derrière Spring (tissage et découplage) pourraient bien être ce qui est arrivé de plus important à J2EE ces 5 dernières années, et servir de boussole pour la suite.
Qu'en pensez-vous ?

jeudi 12 juillet 2007

Sortie d'Eclipse 3 "Europa", nouveaux plug-ins

http://www.eclipse.org/europa/ Quoi de neuf dans l'IDE utilisé par 60% des développeurs ?

  • Meilleur support pour C/C++ et pour les langages dynamiques (Ruby, Python) ;
  • Ouverture à des fonctionnalités colaboratives multimedia (intégration voix, chat...)
  • Fonctionne sous Vista.

Mais surtout, une mise à jour massive de 21 plug-ins pour toujours plus de productivité, en CSS, en JSF par exemple, sortis ensemble, packagés, testés, validés compatibles ! Ci dessous la liste de ces plug-ins par Benoit Courtine.

Lire la suite...

Ruby on Rails : slides, démo et liens

rails-small.pngMerci à Aurélien Drouet pour son intervention convaincante :

Lire la suite...

mardi 10 juillet 2007

MySQL et les caractères spéciaux

Une entrée de blog très concrète sur les accents que l'on perd en migrant une base MySQL sur une plate-forme différente.
http://www.orthogonalthought.com/blog/index.php/2007/05/...

L'auteur est célèble pour son site "Cooking for Engineers", des recettes de cuisine qui ressemblent à du code !

vendredi 29 juin 2007

OpenBar AlcionTech le 11 juillet : Développement rapide avec RubyOnRails

rails-podcast.pngPour ce dernier rendez-vous avant l'été, nous mettons un coup de projecteur sur une nouvelle technologie dont beaucoup ont entendu parler mais que peu ont eu l'occasion d'utiliser.

Ruby On Rails est une plate-forme open-source dont la promesse est de permettre le développement rapide d'applications relativement simples, en interface web, sur une base de données.

Basée sur un langage de script objet apparu dans les années 90 - Ruby - RoR permet, grâce à la simplicité de sa configuration, le recours à de nombreux implicites, d'éviter les répétitions et de simplifier les développements. Les zélotes parlent développement 10 fois plus rapides (qu'en J2EE ou .NET), et de "framework hautement productif".

Aurélien Drouet, qui a pu développer plusieurs applications pour un leader de la distribution, nous fera bénéficier de son retour d'expérience par une présentation générale accompagnée d'une démo, et nous aidera à y voir clair dans l'énorme éco-système Ruby On Rails en cours de développement. Enfin, il nous dira pour quelles applications utiliser Ruby On Rails... et celles pour lesquels c'est inadapté.

Le 11 juillet à 18h30 au siège.

mercredi 23 mai 2007

Guide des logiciels open source

La société IdealX fait partager son expertise des logiciels open source ici. Environ 280 logiciels à usage principalement professionnel sont listés et évalués. A étudier de près même si la dernière mise à jour semble dater de janvier 06.

Par exemple, si vous cherchez à sécuriser votre PC sous Windows avec 100% d'open source, il est recommandé ici d'installer l'antivirus Antivir (nota: AVG Anti-Virus Free Edition est gratuit mais pas open source) et l'antispyware spybot (nota: Ad-Aware SE Personal Edition est gratuit mais pas open source).

mardi 27 mars 2007

OpenBar AlcionTech : meta-frameworks, Jaxio, le 26 avril

>> Jeudi 26 avril 2007 à 18h30 au siège

Qu'est-ce qu'un méta-framework ?

Les frameworks sont à présent un état de fait ; plus un projet ne démarre sans l'adoption de briques techniques telles que Struts, Spring, Log4J, Hibernate..., qui enrichissent, chacune dans sa spécialité, le paradigme J2EE. keel.gif Un méta-framework est une "suite" de frameworks techniques assemblés afin de couvrir l'ensemble des besoins de réalisation d'une application. Par exemple, certains réfléchissent, au sein d'AlcionGroup, à la possibilité de pré-assembler un socle applicatif basé sur Spring et Hibernate, prêt à partir sur nos projets. Différentes initiatives vont dans le même sens (JAD, Keel, Roma, Jaxio, MD4J, Seam, RIFE, AppFuse, Tapestry...) dans le double objectif d'améliorer la productivité du développement, et de réduire les dépendances entre composants afin de faciliter l'évolution du logiciel produit (rester agile !). Il y aura, à moyen terme, une norme defacto, sorte de "pile standard", incluant - ou non - les outils de développement rapide que l'intégration verticale suggère.

Quelques ressources : http://www.theserverside.com/tt/articles/article.tss?l=Keel http://romaframework.xwiki.com/xwiki/bin/view/Main/

La présentation du soir : Développement rapide d'applications J2EE avec Spring, Hibernate, et Jaxio

Jaxio est un outil de génération rapide d'applications J2EE à partir d'un modèle métier, développé par une jeune société française. Sur le constat d'une lassitude du développeur à réaliser certaines tâches répétitives liées aux patterns mis en oeuvre, Jaxio a automatisé la production de code pour les parties persistance, métier, et présentation, dans un cadre technologique tout à fait au niveau de l'état de l'art, et de plus totalement personnalisable. Les applications sont nombreuses : maquettage, RAD, développement itératif... Cette présentation sera assurée par Florent Ramière et Nicolas Romanetti, fondateurs de Jaxio. Et, pour tout vous dire... le retour des Alcionniens les intéresse.

mercredi 7 mars 2007

Oracle libère TopLink!

Oracle a annoncé hier lors de la conférence EclipseCon que Toplink sera cédé à l’Open Source sous l’égide du Projet Eclipse.
Tout sauf des spécificités liées à Oracle AS est concerné (même les fonctionnalités encore en cours de developpement)

Lire la suite...

mardi 13 février 2007

prosélytisme du FLOSS

UPDATE DU 22/02/07 A lire le dossier de 01net: Solutions Linux, le libre au coeur de l'entreprise et particulièrement Les SS2L poussent Linux en entreprises

Qu'est ce que c'est que ce truc, vous dites vous? Cet acronyme signifie Free/Libre/Open-Source Software, sujet très à la mode dans notre milieu comme vous le savez. Je vous invite à lire une étude passionnante sur le sujet ici publiée par l'UE et qui est la base d'une présentation que la DT a dans les cartons et que vous découvrirez prochainement sur ce blog ou en conf du soir à Alcion.

N'hésitez pas au passage à installer sur vos machines ces formidables étendards du libre:

R pour oublier Office

R pour zapper IE

R pour squizzer Outlook

mardi 16 janvier 2007

Les labs à suivre

fiole Une petite compilation des labs à suivre lors d'une veille technologique. N'hésitez pas à compléter la liste :)

Présentation "Forfait Agile"

La société suisse Hortis a fait une présentation à l’Institut d’Agilité des Organisations au sein de de l’école de Management de Grenoble.

En particulier, il y a été présenté le produit agile d'Hortis "le forfait agile" et la manière dont Hortis essaie à son modeste niveau d'être elle même agile.

Usenet ou le retour de l'ancêtre

UsenetUsenet, c'est l'ancêtre des forums web et c'est pas inutile de connaitre parce que cela regorge de groupes (et de fils de discussion) susceptibles d'intéresser les ingénieurs informaticiens que nous sommes. Avant c'était un peu technique pour entrer dans l'arène mais grâce à google (et oui encore lui!), plus d'excuse: tout se fait via le navigateur. Toute petite sélection de groupes à noter:


Pour info, Usenet est souvent la matière première des chercheurs en social cyberspaces (voir le projet Microsoft).

vendredi 22 décembre 2006

Dans le radar : la réponse de Java à RubyOnRails ?

RomaFramework est une initiative à évaluer. Qui a des retours ?
http://www.romaframework.org/

Roma Meta Framework is a Open Source initiative to make Java application development easy. The approach is totally DDD, let's think to the domain of your application and Roma will makes the rest: persistence (database), presentation (HTML + Ajax), logging, user management, sessions, etc.

The Roma project is composed of two parts:

* Wizards to generate code automatically * Runtime libraries that works as a glue code to integrate you application with the best Java technologies and products (Spring, JDO 2.0, Echo2, Log4J, etc.)

StrutsTestCase

Louis Lefevre a rédigé pour nous un petit how-to pour vous permettre de connecter JUnit et Struts, sur le thème : "Comment tester votre application Struts sans passer des journées à répéter les mêmes clics dans vos pages web ?".

Expliquons-nous :

  • L'utilisation de framework de tests unitaires est essentielle à la constitution d'un code robuste. Il aide, d'une part à placer votre code en situation difficile, d'autre part, il en améliore la lisibilité ! Et surtout il fait gagner du temps.
  • Concernant une application basée sur une I.H.M (une application Web par exemple), les tests fonctionnels impliquent de se mettre à la place de l’utilisateur et de cliquer, de saisir des données dans un formulaire, puis de re-cliquer,… pour tester une fonctionnalité, pour une séquence de choix, dans un contexte, et … pour une version du code !!! Autant dire que le respect rigoureux de la phase de tests pourrait faire exploser les plannings les plus laxistes !

La note se télécharge ci-dessous sur le lien "une annexe".

mardi 5 décembre 2006

Nouvelle solution de clustering Java en Open Source

Terracotta vient de mettre en Open-Source sa solution DSO (distributed shared objects)

Lire la suite...

Slides de la présentation Spring MVC du 28 Nov 2006

Bonjour, Pour ceux qui n'ont pas pu assister à la présentation Spring/MVC vous pouvez acceder au slides en suivant le lien ci-dessous

Slides Présentation Spring MVC

Bonne lecture Mahfoud

lundi 13 novembre 2006

Java disponible sous licence open-source : les détails

R La rumeur qui courait depuis plusieurs semaines a été confirmée aujourd'hui par une annonce de Sun.
Il faut se rappeler que Java-en-tant-que-standard a connu un début d'existence difficile : la tentative de prise de contrôle de Java par Microsoft - qui livrait avec Windows une variante propriétaire jusqu'à ce qu'un tribunal l'en empêche à la fin des années 90 - a pu être repoussée grâce à la propriété de Sun sur Java.
Depuis plusieurs années, la communauté open-source demandait que Java devienne libre notamment afin de pouvoir l'inclure plus facilement dans les distributions Linux. L'opportunité était là : le standard semblait solidement établi et, plus rare, Sun avait choisi dès le départ un modèle gratuit.

C'est aujourd'hui chose faite : Sun met à diposition ses propres implémentations du langage, sous licence GPL.

En quoi consiste exactement cette ouverture ? Quelques réponses :

  • l'annonce concerne les plates-formes J2ME, J2SE, et J2EE (qui était déjà sous licence open-source, mais plus restrictive) ;
  • le code de javac (le compilateur) et de java (la machine virtuelle de runtime) deviennent ouverts ;
  • la spécification de l'API ne devient pas libre : elle reste soumise au JCP (java community process), ce qui est probablement la meilleure assurance contre la dispersion ;
  • le statut du code source de l'API n'est pas cité explicitement ; puisqu'il a toujours été téléchargeable, on peut supposer qu'il va être libéré ; cependant Sun prévoit un gros travail de toilettage afin de vérifier que ce code ne contient rien qui soit la propriété d'un tiers et ne prévoit de stabiliser la version libre qu'à la fin du premier semestre 2007.
  • les premières version open-sourcées seront les builds précoces de la version 7, puis ensuite viendra la version 6 stable.


Concrètement quels sont les changements pour nous, développeurs ?

  • En première analyse : aucun ; rien de fondamental ne va changer. Ni les fonctions du langage, ni son attractivité.
  • Le suivi de l'écosystème deviendra plus complexe, et il faudra plus que jamais se méfier des extensions propriétaires.
  • L'auto-formation et la correction de certains défauts seront facilités par la transparence des couches basses.
  • Et surtout : la possibilité de contribuer au progrès de l'un des langages les plus populaires de l'histoire !

Enfin, que nous réserve l'avenir ?

  • La possibilité d'un renforcement de Java comme plate-forme standard, face à .NET qui restera probablement propriétaire en dépit des efforts de Mono ;
  • Les clients qui le souhaitent peuvent continuer à faire l'acquisition de la version payante de java, qui fournit certaines garanties, ainsi que du support.
  • Une confirmation du positionnement atypique de Sun, qui devient le plus gros contributeur privé de l'open-source (après avoir dejà fourni open office et open solaris).

jeudi 12 octobre 2006

Slides des présentations à l'open bar : Spring et Scrum

Scrum par Stéphane Boisson

Spring par Thierry Roussel

mercredi 21 juin 2006

Développer en AJAX avec Google

AJAX (Asynchronous javascript and XML) désigne un ensemble de technologies permettant la réalisation d'interfaces utilisateurs utilisables dans un simple navigateur, mais au rendu bien plus dynamique que le HTML. De plus en plus utilisé sur le web grand public (maps.google.com...), AJAX s'étend aujourd'hui aux applications intra/extranet, en mal d'ergonomie. Dès 2002/2003, Alcion a mené un grand forfait pour la réalisation d'une plate-forme de téléconférence couplée téléphone/web, qui reposait sur les principes AJAX.
desktopclone.jpg Depuis quelques semaines, le développement AJAX est entré dans l'age adulte grâce à la décision de Google de distribuer gratuitement le framework utilisé en interne le Google Web Toolkit (GWT). Une des qualités majeures de cette solution est qu'elle est J2EE et épargne l'essentiel du développement HTML/Javascript au réalisateur de l'application. Cela tombe bien, c'était le plus délicat et sujet aux bugs et aux incompatibilités entre navigateurs.
L'assemblage des widgets graphiques est déclaratif et n'est pas sans rappeler Swing, jusqu'aux mécanismes de listeners pour la gestion événementielle :

public class Hello implements EntryPoint {
  public void onModuleLoad() {
    Button b = new Button("Click me", new ClickListener() {
      public void onClick(Widget sender) {
        Window.alert("Hello, AJAX");
      }
    });
    RootPanel.get().add(b);
  }
}


http://code.google.com/webtoolkit/