Catégorie : Actualité

Par Samuel Romero, le 30 janvier 2012

[AGILE NANTES] Rencontre Agile le 1er février : « L’Agilité en 4D »

Si la dimension « AGILITÉ » est bien maîtrisée par les concepteurs – développeurs, ce n’est pas forcément le cas pour les utilisateurs, les MOA et la gouvernance informatique qui sont souvent restés dans une approche Cycle en « V » avec des logiques de planning et de budget forfaitaire…

Comment « Conjuguer une agilité pour tous » et « donner une visibilité à la gouvernance » c’est ce que nous tenterons de traiter ce Mercredi 1er Février 2012 à travers des constats opérationnels et des pistes de progrès mises en œuvre ou envisagées pour chacune des dimensions…

Lire la suite
Par Fabian Piau, le 23 janvier 2012

Firefox Nightly, Aurora, Beta, Desktop, Mobile, ESR & Co.

A l'heure actuelle, il devient difficile de s'y retrouver dans toutes les versions des navigateurs internet. C'est particulièrement le cas pour Firefox.

Des cycles de livraison différents

Faisons un bref historique de trois navigateurs principaux du marché. Désolé d'avance pour les inconditionnels d'Opera et de Safari, je ne les aborderai pas dans cet article.

Lire la suite
Par Samuel Romero, le 21 janvier 2012

[GTUG] Présentation de Restlet et application à Google App Engine

Le sujet du dernier GTUG de Nantes, qui avait lieu mardi 17 janvier, était le framework Restlet, présenté par Thierry Templier, de la société Noelios Technologies. Développé par cette société, ce framework est présenté comme le premier framework Rest pour Java. Voici quelques clés sur cet outil, et les dernières infos du GTUG de Nantes.

Lire la suite
Par Xavier Flamant, le 03 janvier 2012

NETAPSYS intègre le réseau Rhénatic

Le pôle de compétences Rhénatic regroupe une centaine de professionnels de la filière TIC Grand Est. Cette initiative largement soutenue par la CCI Alsace et la Région a pour principaux objectifs de :

  • Fédérer les acteurs TIC du Grand Est,
  • Promouvoir l'usage des technologies numériques,
  • Favoriser les relations Entreprise/Université/Ecole.

En devenant membre de Rhénatic, Netapsys rejoint un acteur majeur de l'écosystème TIC alsacien, notamment connu pour ses groupes de travail, ses actions de networking et ses salons professionnels.

En savoir plus : www.rhenatic.eu

Par Samuel Romero, le 05 décembre 2011

[ACTU] Agile Tour de Paris

L'Agile Tour de Paris, c'est demain ! La conférence aura lieu toute la journée dans les locaux de Microsoft France, à Issy-les-Moulineaux.

C'est l'occasion pour Netapsys d'aller à la rencontre de ceux et celles qui mettent en œuvre les méthodes agiles, d'écouter leurs retours d'expérience, de partager les bonnes pratiques.

Je vous présenterai un bilan dès mon retour.

D'ici là, n'hésitez pas à consulter le programme complet de cette journée phare du monde de l'Agilité.

Par Céline Gilet, le 24 novembre 2011

Devoxx 2011 : comment se dessine l'avenir de Java

La semaine Devoxx 2011 vient de s'achever. Cette année encore, l'événement a été, de l'avis de tous, hors norme. Les keynotes, conférences et quickies se sont enchaînés à un rythme effréné. C'est donc le moment de prendre un peu de recul et de faire le bilan de trois jours de conférence.

Devoxx, c'est avant tout un événement autour des technologies Java. Utilisant moi-même Java depuis plusieurs années, je décide tout naturellement d'assister à la conférence JDK 7, 8 et 9 (histoire de savoir ce qui m'attend très prochainement).

Pour Java 7, des fonctionnalités prometteuses sont annoncées. Parmi elles, je retiendrai :

  • le multi-catch d'exceptions permettant de traiter en un seul bloc plusieurs types d'exceptions (Ex : IOException | SQLException)
  • la nouvelle API IO pour toutes les opérations d'écriture / lecture de fichiers et flux.
  • l'instauration du try-with-resources permettant de gérer plus facilement les exceptions et les fermetures automatiques de ressources (notamment grâce à la création d'une nouvelle interface AutoCloseable).
  • le framework Fork/Join permettant de réaliser enfin facilement des traitements en parallèle.

Pour Java 8, deux projets sont à l'honneur : le projet Jigsaw et le projet Lambda. Je suis assez séduite par la présentation de Jigsaw où la notion de modules apparaît. De la même façon que les fichiers "package-info.java" permettent aujourd'hui de décrire le contenu d'un package, les fichiers "module-info.java" permettront demain de recenser pour un module l'ensemble des dépendances nécessaires et leurs versions. L'objectif de ce projet est d'optimiser le chargement des éléments nécessaires au fonctionnement d'une application.

Ce ne sera plus la définition du classpath mais la configuration par module qui permettra d'obtenir des temps de chargement plus rapide et moins gourmand en espace.

Pour Java 9, l'une des grandes fonctionnalités prévue est la possibilité de customiser sa propre JVM. On parle aussi pour cette version de BigData, de réification des Generics et d'amélioration de l'intégration de composants natifs (C++).

Autre style de conférence, celle traitant des "anti-patterns" les plus courants avec Hibernate. La présentation est originale et basée sur des cas d'utilisation concrets. Et c'est aux participants de la salle de voter pour trouver, dans chacun des cas, quel est le nombre et le type de requêtes générées. On prend alors toute la mesure de la difficulté d'avoir un modèle de données métier bien configuré. Le point le plus délicat dans la mise en place d'un modèle est la gestion des associations entre les objets. En fonction du type de chargement et du choix de l'objet utilisé pour représenter une liste, les résultats sont édifiants. Le choix d'une Collection, d'une List ou d'un Set peut paraître à première vue anodin mais il n'en est rien.

Je découvre également le framework Play que je ne connaissais pas. Beaucoup d'enthousiasme pour ce framework d'autant plus que les speakers ont annoncé la sortie de la version 2.0. La démonstration est convaincante. Tout est compilé y compris le fichier de configuration des routes, les fichiers javascript et les feuilles de style. Les erreurs de compilation apparaissent directement dans le navigateur.

Une application Play 2.0 peut être facilement déployée dans le cloud (Elastic Deploiement). C'est la plateforme de cloud Heroku qui est prise pour la démonstration. En quelques commandes et un peu de connaissances GIT, l'application est montée dans le cloud. Seul bémol de taille pour les utilisateurs courants de Play, la migration de version 1.x vers la version 2.0 n'est pas possible en partie à cause du changement effectué dans la façon d'appréhender les templates.

La productivité des développements a évidemment été abordée à travers des présentations sur la génération de code à partir de modèles et outils. Les différences d'approche entre le projet EMF d'Eclipse et Spring ROO ont été mises en parallèle. Il en ressort que le choix EMF ou Spring ROO n'a pas de réponse simple et unique : des aspects organisationnels et financiers pèseront dans la balance. En tout état de cause, Spring ROO permet de générer très rapidement, depuis des commandes shell, les classes de différentes couches applicatives (DAO, Service, Repository, IHM). Le framework propose pour la génération un large panel de technologies allant de la base de données à la couche IHM (Hibernate, Spring, JPA, JSF2).

Spring ROO propose également de faire du "Reverse Engineering" en créant une application à partir d'une base de données existante. La productivité apportée par l'outil est évidente. Il faudrait bien entendu regarder en détail le code généré pour bien mesurer sa qualité et les dépendances créées. En tout cas, pour une réalisation de prototype ou une application de "Reverse Engineering", la solution Spring ROO n'est pas à écarter.

Pour terminer, quelques mots sur la conférence "Socializing your Spring Applications". Les applications aujourd'hui ont besoin de récupérer les informations d'un profil Facebook, de récupérer des tweets sur un sujet donné, de récupérer sur FlickR des photos d'un tag particulier... Spring Social est une extension de Spring Framework dont le but est de permettre et faciliter la connectivité avec d'autres systèmes fournisseurs de services. La classe RestTemplate permettait déjà de faire des opérations de ce genre dans différents modes (REST / HTTP) et différents formats (JSON, XML). Spring Social propose désormais des templates spécifiques à chaque fournisseur (TwitterTemplate, LinkedInTemplate...) et propose un mode d'authentification simplifié basé sur le protocole oAuth2 où il n'est plus nécessaire de gérer une politique complexe de token.

Venir à Devoxx, c'est se faire une idée des outils et frameworks de demain. Sortir du quotidien des projets et regarder ce qu'il existe sur le marché permettra de proposer des technologies parfois plus adaptées ou plus productives. Donc si vous avez l'occasion de participer à Devoxx l'année prochaine, surtout n'hésitez pas.

Par Céline Gilet, le 24 novembre 2011

Ceylon : le nouveau langage de programmation

Parmi les dernières sessions de Devoxx 2011, l'une propose de découvrir un nouveau langage de programmation destiné à la JVM. Il s'agit du langage Ceylon lancé par Red Hat. Alors réelle révolution ou s'agit-il ni plus ni moins qu'un énième langage de programmation ?

Le langage Ceylon s'inspire fortement du monde Java : vous ne serez donc pas dépaysé en voyant les premières lignes de code. Les créateurs du langage ont voulu gommer certains défauts de Java et s'inspirer d'éléments syntaxiques venant de Scala ou du C#.

Le slogan de Ceylon est "Say more, more clearly". La volonté est clairement affichée : le langage doit s'apprendre facilement, être intuitif pour les habitués de Java et surtout moins verbeux.

Les principales caractéristiques et composantes de Ceylon sont alors passées en revue :

  • L'amélioration de la gestion du "Type Safe" : les speakers nous promettent la fin des NullPointerException et de beaucoup d'autres exceptions levées seulement au moment de l'exécution dans Java. Le mot réservé "exists" permet de tester l'existence réelle d'un objet.
  • La simplification des niveaux de visibilité. Pour Java, on trouvait 4 niveaux (public, private, protected et package). Pour Ceylon, seuls 2 niveaux ("shared" qui équivaut au "public" et le reste prend le scope de "private").
  • Une représentation basée sur une syntaxe déclarative pour s'affranchir du XML.
  • La suppression du mot clé "new" pour construire des nouvelles instances d'objet.
  • La gestion des types dans un switch-case (case(is Rectangle) {...} case(is Circle) {...})
  • La fin de la surcharge ("overloading") à la fois au niveau des méthodes et des constructeurs. Chaque objet devra avoir désormais un seul et unique constructeur. Cette suppression de l'overloading peut faire peur et être perçue comme une régression par rapport à Java mais en contrepartie, le passage des paramètres de méthodes devient optionnel.
  • La possibilité de définir des méthodes directement à l'intérieur du constructeur.

Au niveau des attributs, les getters et setters au sens Java disparaissent. Par défaut, les attributs sont "immutables" à moins qu'ils soient marqués "variable". Et un nouvel opérateur d'assignation ":=" fait son apparition.

Au niveau des abstractions, le "override" de Java devient "actual" pour Ceylon. Par défaut, les éléments ne sont pas redéfinissables.
Pour permettre la redéfinition ("overridding"), il faut explicitement le faire à l'aide des mots réservés "default" ou "formal".

Au niveau des interfaces, de la flexibilité a été apportée. Il est désormais possible de définir dans une interface des méthodes concrètes. De nouveaux mots réservés apparaissent au niveau des définitions de méthodes (passage de "public abstract" à "shared formal") et au niveau de l'implémentation (passage de "implements" à "satisfies").

L'introduction d'objets séquences dans lesquels il est possible de mettre des objets de différents types (union type ou intersection type).

Puis vient le moment de la démonstration où sont créés les premiers fichiers ".ceylon". Un plugin Eclipse dédié au développement Ceylon est téléchargeable. On y retrouve l'auto-complétion, des outils de refactor et d'extraction de code ainsi qu'un debugger.

Il n'existe pas encore de version officielle de Ceylon. L'équipe Red Hat prévoit 3 Milestones avant de sortir la version 1.0. Aucune date officielle n'a été communiquée pour la 1ère Milestone mais les speakers nous promettent sa sortie sous peu.

Pour ce qui est de la simplicité de prise en main du langage, l'objectif me paraît en tout cas rempli. Certes, il y a quelques fonctionnalités qui me semblent intéressantes et prometteuses (comme l'amélioration du "type safe", l'ouverture des interfaces ou les nouveaux objets séquences) mais beaucoup de composantes ne sont en définitive que du sucre syntaxique.

Reste à savoir ce que les développeurs feront comme accueil à ce nouveau langage à sa sortie officielle.

Par Samuel Romero, le 17 novembre 2011

Devoxx 2011 : Suivez nos envoyés spéciaux!

Suivez les posts de nos envoyés spéciaux à Devoxx, Céline Gilet et Sébastien Helbert, directement sur Le Journal du Net.

Arrivés hier à Anvers en Belgique, Céline et Sébastien ne manqueront pas de nous faire partager leurs impressions sur les conférences de cette 10e édition de cette conférence Java majeure.

Pensez aux flux RSS !

Et ne manquez pas...

L'année prochaine, la célèbre conférence sera déclinée en version française! Toutes les informations sur Devoxx France.

Par Samuel Romero, le 14 novembre 2011

[Nantes JUG] Présentation de Java 7

Jeudi 3 novembre à Nantes avait lieu le JUG sur le thème des nouveautés Java 7. J'ai trouvé cette conférence intéressante et bien ficelée, au cœur de mon métier de développeur. Voici quelques unes des nouveautés présentées.

Lire la suite
Par Vincent Raffner, le 25 octobre 2011

Agile Tour Nantes 2011 - Compte rendu

Jeudi 13 octobre l'Agile Tour s'est arrêté à l'Ecole des Mines de Nantes. Trois threads de conférences et d'ateliers étaient animés par des intervenants plutôt expérimentés. L'occasion d'apprendre ou de se perfectionner sur les méthodes agiles qui rendent nos projets et nos équipes meilleurs… En voici un bref aperçu.

Lire la suite