Focus sur les conférences de DEVOXX France 2013 (Partie 1)

Voilà une semaine que les conférences DEVOXX France 2013 se sont déroulées, je vous propose de revenir sur les sessions auxquelles j'ai eu l'opportunité d'assister.

La deuxième journée de DEVOXX France 2013 marque le début des conférences ainsi que le début des célèbres keynotes matinales.

C'est par une introduction remplie d'émotions que ce DEVOXX FRANCE 2013 démarre. Une belle entrée en matière avec Antonio Goncalves tout de rose vêtu! (une dédidace aux organisateurs).Plusieurs chiffres révèlent un vrai dynamisme au sein des diverses communautés :

  • devoxx belgium avec la participation de 3200 personnes.
  • devoxx uk avec la participation de 500 personnes.
  • devoxx france avec la participation de 1400 personnes et 180 conférences choisies parmi plus de 500 « call for paper ».

Parmi les keynotes, on notera celle effectuée par le père de SCALA : Martin Odersky. Tout au long de sa conférence, il va promouvoir la programmation fonctionnelle en soutenant sa volonté de réunir programmeur objet et programmeur fonctionnel. Selon lui, aujourd’hui Scala est suffisamment performant pour faire partie des acteurs du mainsteam.
Enfin une nouvelle attendue depuis longtemps, l'équipe Parleys annonce la nouvelle version du site en HTML 5 avec en prime la diffusion gratuite de toutes les conférences du DEVOXX France 2013.

FACILITER LE DÉVELOPPEMENT D'APPLICATIONS WEB HORS LIGNE EN JAVA AVEC GWT, Arnaud Tournier
La présentation concerne une application web RIA réalisé en GWT pouvant fonctionner en ligne ou hors ligne de manière totalement transparente pour l’utilisateur. En effet, ce dernier peut créer, modifier des données hors ligne car ces dernières se synchroniseront avec le serveur lors de la prochaine connexion.
Cette application se base sur les caractéristiques du HTML5 à l’aide notamment du cache du browser. En mode déconnectée, l’application utilise une base de données SQLite traduite en JS (sql.js) afin de laisser l’utilisateur interagir avec ses données. Cependant, cette démonstration montre tout de même certaines limites :

  • Les données stockées en local sont en clair (donc si une personne se connecte également à la machine, elle peut potentiellement avoir accès à ces données dans le cache du browser ou le filesystem).
  • Le cache browser HTML5 impose dans la spécification une capacité maximale de stockage de 5Mo.
  • Les briques techniques permettant de faire le pont avec GWT et les fonctionnalités HTML5 (comme l’interaction avec le cache par exemple) n'existent pas, et sont à développer à la main (donc à prendre en compte dans le coup de développement).

En conclusion, ce talk aura montré que la progression de HTML5 est phénoménale et aujourd'hui les défauts du WEB (comme la nécessité d'être connectée) peuvent être palliés.

ARCHITECTING FOR CONTINUOUS DELIVERY, Axel Fontaine
Au cours de cette conférence, Axel nous revient sur une problématique du développement informatique: la sortie de versions stables (appelées également RELEASES) des produits. En effet, elle s'étalait sur des mois voire des années, d'où la difficulté de travailler avec des versions de développements différentes de celles en production. C'est pourquoi aujourd'hui on parle de plus en plus de déploiement en continu. Si peu d'entreprise en sont encore capable par manque d'investissement ou d'expérience, d'autres y arrivent bien. Axel nous le montre avec le site de StackOverflow redéployé plusieurs fois par jour, de façon totalement transparente pour l'utilisateur. Ce nouveau procédé n'est pas sans conséquences. En effet, cela nous amène à repenser notre manière de travailler en rapprochant les fonctions de développeur avec celles d' administrateur système (nommé aujourd'hui, le courant DEVOPS).
Enfin, si l'automatisation des tâches est généralement bien ancrée aujourd'hui dans le monde informatique avec les notions d'automatisation de tests, d'intégration continue ; le plus gros frein au déploiement continu concerne la migration du modèle de données (souvent des bases relationnelles). Pour répondre à cette problématique, le speaker nous invite à nous renseigner sur les outils de migration de schéma de base, comme Flyway.

IMPLEMENTER LA QUALITE SUR UN PROJET JAVA, Vincent Massol
Cette présentation nous explique comment améliorer la qualité sur le projet open source XWiki. Vincent Massol nous explique pourquoi la qualité est un facteur clé pour tout projet informatique et encore plus dans le monde de l'open source :
« un projet de mauvaise qualité attirera toujours moins d’ utilisateurs et de contributeurs ».

Pour remédier à cela, diverses stratégies ont été mises en place sur ce projet :

  • La vérification de la stabilité de l'API, à la fois des API anciennes et dépréciées, et la définition de nouvelles API encore expérimentales à l'aide d'une annotation pour prévenir les développeurs s'appuyant sur l'API de XWiki.
  • La gestion du « Jar hell », à l'aide du plugin « maven duplicate finder plugin » permettant de détecter les classes dupliquées au travers des différentes bibliothèques ou frameworks utilisés.
  • La surveillance de la couverture des tests à l'aide d'outils telle que JaCoCo. Le point important est de la surveiller via un taux minimum à placer de manière réaliste (ne pas hésiter à commencer avec un taux de 10% pour l'augmenter petit à petit).
  • La mise en place de « bug fixing day ». Ce concept part du constat suivant : la correction de bugs, même facile, est moins motivante que le développement des nouvelles fonctionnalités. Au fil du temps, les bugs augmentent amenant un risque de démotivation. Pour faire face à cela, l'équipe de XWiki a décidé de réunir tous les développeurs une journée par mois (désormais par semaine) afin de corriger exclusivement les bugs.

En conclusion, cette conférence nous aura montré qu'il est toujours possible de trouver des moyens d'améliorer la qualité sur un projet.

3 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.