All posts in EclipseCon

Retrouvez DocDoku sur l’EclipseCon 2018

Les 13 et 14 juin prochains, DocDoku vous donne rendez-vous dans la ville rose pour l’EclipseCon France 2018, le grand rassemblement annuel français de la communauté Eclipse.

Comme lors de la précédente édition, DocDoku reste fidèle à son engagement en tant que sponsor de l’événement et vous accueillera sur son stand pour parler solutions et technologies, mais également présenter ses derniers cas clients.
Le programme de la conférence 2018 couvrira cette année des sujets en lien avec la modélisation, les systèmes embarqués, le Cloud, la Data Analytics, le DevOps et plus encore, le tout agrémenté de sessions de démonstration des outils basés sur Eclipse.

Cette année nous serons particulièrement attentifs aux conférences sur l’arrivée dans la fondation du groupe de travail JakartaEE, auquel DocDoku appartient désormais.
En effet, ce projet ambitieux prend la suite de la renommée plateforme de développement d’applications d’entreprise Java Enterprise Edition, maintenue par Oracle précédemment.

Nous resterons également captivés par les conférences du groupe de travail Polarsys, auquel DocDoku participe également au travers de la plateforme PLM d’Eclipse EPLMP.

13 et 14 juin 2018
Centre de Congrès Pierre Baudis
11 esplanade Compans Caffarelli
31000 Toulouse

Lien direct vers le formulaire d’inscription : ici

Retour sur EclipseCon France 2017


Comme les années précédentes, DocDoku était présent à l’EclipseCon France et j’ai pu assister à quelques présentations.
Faut-il encore présenter le projet Eclipse ? Pour ceux qui auraient vécu dans une grotte durant les 16 dernière années (ou ceux qui n’étaient pas nés), Eclipse est un projet proposant une plateforme extensible, basée sur OSGi, qui permet de construire des applications par agrégation de greffons (plugin) en se basant sur une bibliothèque de composants sur l’étagère.
À une époque éloignée Eclipse était considéré comme un environnement de développement intégré – c’était la première application il est vrai – pourtant force est de constater qu’année après années le projet va bien au delà de cela et que ce n’est pas près de s’arrêter, l’étagère ne cesse de s’agrandir.
Hier c’était une plateforme, puis une fondation, puis un ensemble de projets basés sur les technologies de la plateforme, aujourd’hui l’écosystème ne cesse d’évoluer et s’immisce dans une quantité impressionnante de domaines : bien sûr les outils de développement, mais aussi la modélisation, le cloud, ou encore une multitude de domaines (IoT, robotique, science, big data, …).

Au début il y avait l’outil

Du côté des outils de développement, toujours plus d’améliorations pour déboguer, pour tester, pour suivre les évolutions des langages. Java reste le langage privilégié mais ne règne plus en maître, certains veulent pouvoir développer dans la plateforme avec d’autres langages.

Java 9

L’intégration de Java 9 arrive avec son lot de nouveautés, lié en particulier au nouveau système de module tant attendu de la dernière version de la plateforme d’Oracle :

  • Support des images (jimage);
  • Support des modules (JMOD);
  • Nouveau fichier module-info.java.

De gros changements en perspective avec la disparition programmée (progressivement) des fichiers JAR.

Déboguer

Les outils de débogage s’améliorent aussi Barbero [2017].

  • triggerpoint pour activer un certain nombre de breakpoints
  • conditional watchpoint
  • tracepoint pour écrire dans la console et éviter les System.out.println() dans le code.
  • Show Logical Structure permet d’obtenir une représentation simplifiée de la structure de certains types (Listes, Maps, …)

Couverture de code

À l’occasion de l’intégration d’EclEmma, un outil de couverture de code Java, à la distribution Eclipse Oxygen, SonarSource nous rappelle quelques bonnes pratiques pour éviter les bogues Mandrikov [2017]. Un outil intégré, non intrusif, pourquoi s’en passer?

EASE

EASE (Eclipse Advance Scripting Environment) propose le moyen d’intégrer du code développé avec des langages de script dans la plateforme Eclipse.
Airbus présente un retour d’expérience : Constatant que le développement d’un plugin Eclipse nécessite certaines contraintes, l’idée est de proposer un pont pour le langage Python offrant une API simplifiée aux composants Eclipse. Les avantages d’un langage de script avec la puissance de la plateforme en somme Bernard [2017].

Abstraire par les modèles

Au devant de la scène cette année, l’ingénierie dirigée par les modèles était particulièrement
bien représentée. Par modèle j’entends une représentation abstraite de concepts mis en jeu dans un domaine particulier.

D’une part, la première journée accueillait le Xtext Summit – série de conférences sur Xtext, technologie liée aux langages dédiés (Domain-specific Language) : définition d’un langage et génération des outils. D’autre part, de nombreuses conférences gravitaient autour des modèles.

Je n’ai pas pu assister à toutes les conférences, mais le peu que j’en ai vu a affûté ma curiosité.

Eclipse EMF Parsley

Eclipse EMF Parlsey fournit un ensemble de composants d’interface utilisateurs basés sur EMF.
L’équipe de RCP Vision illustre la mise en œuvre d’une démarche MDA: Un modèle EMF, une transformation décrite par un DSL Xtext. C’est-à-dire comment un modèle EMF peut être transformé, enrichit, grâce à un DSL Guidieri et al. [2017a].

Après M2Doc : Doc2M

Ou comment l’approche Model to Document (M2Doc) n’est pas toujours suffisante.

Après une présentation intéressante de l’utilisation de la technologie M2Doc pour générer des PDF à partir de données structurées – conformément à un modèle et des gabarits (au format xdoc) – on nous montre que cela n’est pas toujours satisfaisant et un cas où il faut aussi synchroniser les documents avec les instances du modèle Michot [2017].

Big EMF models

Générer des applications à partir d’un modèle c’est bien, mais comment stocker, partager et gérer l’évolution d’un modèle, surtout quand celui-ci devient important ? Un tour d’horizon des solutions disponibles nous donne un aperçu des outils à disposition et de leurs limites, en particulier lorsque les modèles deviennent très gros, et quelques pistes pour y remédier Viaud and Lasalle [2017].

S’envoler vers les nuages

Quel que soit le domaine, la plate-forme Eclipse et ses applications font
face à un nouvel enjeu : la (re-)localisation croissante des applications dans
le cloud.

La plateforme Eclipse est historiquement plutôt tournée vers le Desktop, du moins en ce qui concerne l’interface utilisateur. Les nouveaux usages de l’informatique, réclament ce qui aurait paru un peu utopique quelques années en arrière: pouvoir utiliser n’importe quelle application, y compris un environnement de développement depuis n’importe quel appareil (pourvu que ses capacités soient adaptées) et depuis n’importe où (pourvu que l’on ait du réseau).

Eclipse RAP

Avec SWT comme base pour les composants graphiques, bon nombre d’applications construites sur la plateforme Eclipse aimeraient exposer leur interface utilisateur à travers les technologies du Web.

Eclipse RAP vise à remplacer les composants SWT natifs par un équivalent Web, avec à la clé l’espoir de pouvoir exposer n’importe quelle application RCP sur le Web.

Au fil du temps cela ne fonctionne pas trop mal mais SWT ayant été conçu pour fonctionner en local, sa transposition à travers un réseau reste verbeuse (beaucoup d’interaction entre le client et le serveur). Cela semble tout de même rester acceptable pour RCP Vision qui nous fait un retour d’expérience sur la mise en œuvre d’une applications Desktop et Web à partir d’un modèle EMF Guidieri et al. [2017b].

Eclipse Che

Eclipse Che vise, rappelons le, à offrir un environnement de développement en mode Web. Cela nécessite des changements assez importants par rapport à un IDE traditionnel:

  • Interface utilisateur déportée (ici le choix s’est tourné vers la réécriture de l’interface utilisateur avec GWT)
  • Serveur de compilation et de traitement
  • Espace de travail partagé ou multiples

On retrouve les gros changement de modèle d’architecture induis par le Cloud (approvisionnement, distribution serveur et client Web).

La présentation nous montre comment cela peut être mis en œuvre et laisse entrevoir les avantages que l’on peut en tirer Benoit [2017].

Theia

Après Eclipse Che dont je viens de parler, développé en Java; Eclipse Orion – un autre IDE en ligne, dédié aux technologies du Web, développé en JavaScript ; voici un autre projet d’IDE, Theia-ide, développé en TypeScript. Il n’est ni sous licence Eclipse, ni basé sur la plateforme et ses technologies, mais il ambitionne d’être l’« Eclipse du futur », aussi bien sur le PC que sur le cloud (https://github.com/theia-ide/theia).

Approvisionner une application Eclipse

Une application Eclipse est un agrégat de greffons. Plus le nombre de greffon augmente, plus construire une application devient complexe (récupérer, agréger, configurer, …).

Nombre d’équipe de développement sont confrontés à ce problème lorsqu’il s’agit de travailler avec une configuration cohérente de leur IDE et de synchroniser les évolutions et mises à jour. Fini le temps où il fallait installer et configurer manuellement chaque greffon, Eclipse Oomph répond à ce problème.

L’idée de Frauhofer FOKUS est de combiner Oomph, Maven et Docker pour automatiser l’approvisionnement d’une application Eclipse Bureck [2017].

Conclusion

Au fil des ans, le projet Eclipse continue de montrer son dynamisme, historiquement centré sur sa plateforme, l’écosystème se diversifie et agrège des projets parfois alternatifs ou sans rapport direct avec celle-ci. Outre l’ingénierie dirigée par les modèles, vaste sujet, qui m’a paru plus bouillonnante que jamais, trouver une solution pour des applications déployées sur le cloud me semble être le prochain défi pour la plateforme. Les modèles ne pourraient-ils pas être la clé ?

Bravo pour l’organisation impeccable, le programme riche et varié : difficile de choisir parmi les différentes conférences, heureusement petits fours et douceurs étaient là pour nous consoler.

Références

Barbero [2017]
Mikaël Barbero.
Debug java code like a pro.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/2017ecf.pdf.
Benoit [2017]
Florent Benoit.
How to provide a portable developper workspace with eclipse che.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/2017-EclipseCon-France-Chefile_0.pdf.
Bernard [2017]
Alain Bernard.
How ease unleashes the scientific power of airbus’ engineers in
eclipse.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/ECF2017_EASE_full.pdf.
Bureck [2017]
Max Bureck.
From nothing to complete environment with maven, oomph and docker.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/MavenDockerOomph.pdf.
Guidieri et al. [2017a]
Francesco Guidieri, Vincenzo Caselli, and Lorenzo Bettini.
The emf parrsley dsl: an extensive use case of xtext/xbase powerful
mechanism.
2017a.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/EMF%20Parsley%20DSL%20Xtext%20case%20study.pdf.
Guidieri et al. [2017b]
Francesco Guidieri, Vincenzo Caselli, and Lorenzo Bettini.
Lesson learned from using emf to build desktop and web aplications.
2017b.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/EclipseCon_France_2017.pdf.
Mandrikov [2017]
Evgeny Mandrikov.
Code coverage in practice.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/Code%20Coverage%20in%20Practice%20-%20EclipseCon%20France%202017.pdf.
Michot [2017]
Arnaud Michot.
Doc2m update your model from your document in a breeze!
2017.
URL
https://docs.google.com/a/cetic.be/presentation/d/1Qs9IEBR9qUYc3urd3qCum02BZJciZSjUycoL4bMoNNs/edit?usp=sharing.
Viaud and Lasalle [2017]
Benoit Viaud and Jonathan Lasalle.
Emf model getting xxl? an overview of available solutions.
2017.
URL
https://www.eclipsecon.org/france2017/sites/default/files/slides/ECon17_Artal_XXL-Models.pdf.

Retour sur l’EclipseCon France 2016 (partie 2)

eclipsecon

Cet article fait suite à celui de Bertrand, afin de détailler certains sujets et présenter d’autres sessions auxquelles j’ai eu l’opportunité d’assister.

iotConnecting low power IoT devices with LoRa, MQTT, and The Things Network

De mon point de vue, l’IoT était vraiment à l’honneur cette année à Toulouse, notamment par la présence de The Things Network, ayant été invité par la Fondation Eclipse à donner un workshop et à tenir la première Keynote de la conférence.

Comme l’a mentionné Bertrand, cette équipe venue tout droit d’Amsterdam est en train de fédérer des communautés du monde entier autour de leur réseau dédié aux objets connectés, basé sur la technologie LoRa.

Alors qu’est-ce que LoRa ? Et qu’est-ce que The Things Network ?

LoRalora

D’après le site de la LoRa Alliance (traduit par mes soins) :

LoRa est un diminutif pour LoRaWAN™: Low Power Wide Area Network (LPWAN).

LoRa est donc une spécification de communication sans fil basée sur les fréquences radio ISM (https://en.wikipedia.org/wiki/ISM_band).

Cette technologie est tout particulièrement adaptée comme couche de communication pour les objets connectés en ce qu’elle permet la localisation et la mobilité des appareils, à basse consommation, sans grosse installation de départ, ainsi qu’une communication bi-directionnelle.

Avec une simple antenne disposée en haut d’un immeuble en milieu urbain, ou dans un environnement plus dégagé, LoRa permet de connecter un nombre impressionnant d’appareils sans dégradation, bien plus qu’un routeur sans fil (WiFi, Bluetooth) et en consommant bien moins d’énergie et en étant moins onéreuse qu’un routeur 3G par exemple.

Quelques exemples d’utilisation:

  • Réseaux électriques : prédire la consommation et produire de l’électricité en fonction des besoins réels
  • Logistique : livraison avec une localisation plus précise
  • Transport : appels d’urgence automatisés
  • Santé : appareils de mesure de constantes
  • Et tellement plus…

LoRa est en concurrence avec la technologie SigFox, que nous connaissons bien à Toulouse. Cependant son approche est différente, puisqu’à la différence de la technologie SigFox qui est propriétaire et induit des coûts de license, la spécification LoRa est libre.

Quelques relevés ayant été effectués par l’équipe de The Things Network, et autres caractéristiques :

  • Environnement urbain dense : 500m à 3km
  • Environnement rural : 10-50km (jusqu’à 92km lorsque très dégagé)
  • Jusqu’à 10.000 appareils par routeur
  • Jusqu’à 3 ans d’autonomie (à prendre avec des pincettes)
  • Très basse consommation (et pas de « handshake »)
  • License libre, en envoi et réception
  • Pas de pré-requis à l’installation d’un tel réseau
  • Couverture multiple (plusieurs routeurs peuvent relayer l’information).

Les appareils se connectant au réseau LoRa peuvent être classés en trois catégories :

  1. Liaison montante uniquement, l’appareil initie la communication et le serveur peut y répondre.
  2. L’appareil et le réseau se synchronisent sur une « fenêtre de tir » afin d’échanger des données.
  3. L’appareil est en écoute constante du réseau.

Evidemment les classes d’appareils influent sur leur consommation.

The Things Networkttn

The Things Network est une initiative née à Amsterdam, pour construire un réseau mondial et libre permettant la communication entre objets connectés.

Après une campagne de crowfounding, les membres de l’équipe ont commencé la création d’une plateforme Web afin de permettre la connection d’appareils via des brokers.

Tout le code source applicatif de The Things Network est open source et disponible sur Github, pour aller de pair avec leur engagement pour permettre une vaste adoption de ces technologies.

En parallèle, une entité commerciale propose des Starter kits à visée éducative ainsi que des routeurs afin de permettre aux gens d’équiper leurs quartiers, leurs villes et d’initier le mouvement pour une couverture mondiale.

Des communautés existent déja de part le monde, principalement en Europe pour le moment. Ces communautés sont parfois à l’origine des membres de l’équipe de The Things Network, qui voyagent beaucoup afin de faire connaitre la technologie LoRa et leur projet, et parfois il s’agit d’initiatives spontanées.

A titre personnel, j’espère qu’une communauté verra le jour prochainement à Toulouse.

What every Java developer should know about AngularJS

angular

Tout est dans le titre.

Cette session était dédiée aux développeurs plus habitués aux technologies backend et qui voulaient avoir une introduction au framework le plus en vogue actuellement côté frontend: AngularJS.

Ce workshop fut l’occasion de présenter succintement les controlleurs, les scopes, les services et autres directives, sous la forme d’un mini TP.

En tant que développeur fullstack ayant des bases d’AngularJS, je trouve que ce workshop a été bien mené, en plusieurs étapes afin d’itérer et d’introduire successivement de nouveaux concepts sur le petit cas concret présenté.

Les speakers ont même fait le choix de baser le code d’exemple sur TypeScript, afin de ne pas trop perturber leur audience plus habituée aux constructions objets classiques qu’à la spécification ECMAScript. Mes co-équipiers ont pu retrouver leurs petits dans un projet architecturé sur une base d’interfaces et d’implémentations, agrémenté de types génériques et autres héritages. Ils ont cependant eu affaire à la pauvreté du tooling Eclipse pour ce qui est du développement front.

Le tooling, parlons-en justement.

Tooling

Cette année les visiteurs ont pu assister à plusieurs sessions sur l’état des outils de développement intégrés à Eclipse. Voici un petit tour d’horizon des outils dont j’ai pu avoir un aperçu lors des sessions.

JSDT 2.0

Ce talk était dédié à la présentation du la nouvelle version des JavaScript Development Tools (JSDT), actuellement en cours de développement.

Les objectifs de JSDT 2.0 sont de supporter les méthodes et outils de l’état de l’art actuel du développement JavaScript moderne.

Actuellement, JSDT 2.0 profite d’un nouveau parseur bien plus efficace que le précédent, notamment capable de supporter la spécification ECMAScript 6.

Le reste des objectifs s’axent autour de l’intégration de gestionnaires de paquets (npm / bower), des « task builders » (grunt, gulp) ainsi que le support de Node.js et l’ajout d’outils de débugging et d’intégration avec les navigateurs, notamment Chrome.

The State of Docker and Vagrant Tooling in Eclipse

Chez DocDoku nous expérimentons déjà les outils Vagrant et Docker, notamment pour nos environnements de développement et d’intégration, afin de fournir à nos équipes une infrastructure immutable et des processus de déploiement répétables.

Dans cette présentation, j’ai pu avoir un aperçu de deux plugins, l’un pour l’intégration de Docker, et l’autre pour celle de Vagrant.

En l’état actuel, ces deux plugins présentent de nouvelles « perspectives » dans l’IDE Eclipse, qui permettent de faire tout (ou presque) ce qu’il est possible de faire en ligne de commande:

  • Créer et gérer ses « box » Vagrant.
  • Configurer son Vagrantfile.
  • Créer et configurer ses machines virtuelles.
  • Créer et gérer ses images Docker.
  • Lister et manager ses containers Docker.
  • Editer son Dockerfile.

Continuous Delivery: Pipeline As Code With Jenkinsjenkins

Pour ma part, j’étais très curieux de voir ce qui allait être présenté dans ce talk. La perspective de pouvoir gérer ses builds sous forme de « pipelines » de traitements et la notion de « Continuous Delivery » (ainsi que le « Continuous Deployment » mais c’est un autre sujet) m’intéressent beaucoup.

Alors de quoi s’agit-t-il ? Principalement de ce que l’on pourrait décrire par la capacité d’orchestration, d’interruptibilité et de résilience de vos jobs de build. Rien que ça…

Comme décrit dans les slides de la présentation, que ce passe-t-il lorsque vous avez des jobs de build assez complexes, inter-dépendants, nécessitant des inputs d’opérateurs et éventuellement nécessitant de tourner en parallèle ?

Hormis le fait de créer de multiples jobs individuels que vous lierez par la suite en une cascade de builds à la chaîne, il n’y a pas de solution clé.

C’est ce problème que propose de résoudre le « Jenkins Pipeline Plugins », qui est en réalité un regroupement de plugins permettant d’orchestrer vos builds de manière plus fine. A la base de ce plugin se trouve un DSL, le « Pipeline DSL », qui permet de décrire l’enchainement des builds, sous forme d’étapes, et d’y attacher des options de configuration, comme le parallélisme pour n’en citer qu’une.

Il devient alors possible, par exemple, de configurer plusieurs dizaines de jobs similaires (à quelques variables près) formant de briques de bases (les dépendances d’un job de build suivant) et d’ordonner l’exécution de tous ces builds en parallèle, avant l’exécution du build suivant qui en dépend. Tout en spécifiant que la séquence de build complète doit stopper en cas d’échec d’un seul de ces builds de base (fail-fast).

Pour l’anecdote, le speaker a présenté exactement cet exemple, sur un cluster de build mis à sa disposition par un fournisseur « cloud » :

  • 336 CPUs
  • 1.032 TiB RAM.

Evidemment on a tous le même dans notre garage…

Quoiqu’il en soit, j’étais assez intrigué par le choix d’un DSL, en opposition à une description déclarative via des fichiers de configuration.
Il est assez facile d’imaginer comment décrire via des structures de données simples telles que des maps et des collections, l’orchestration d’un job, et la description de chacune de ses étapes.

Je n’ai pas eu de réponse claire à ce sujet, si ce n’est le poids de l’histoire : la plupart des contributeurs étant des développeurs Java, un DSL (très proche de Java d’ailleurs) semblait un choix logique.

Conclusion

Pour ma première participation à un évènement comme celui-ci, je dois dire que je suis conquis. L’organisation était parfaite et la qualité des intervenants largement satisfaisante.

J’aurai plaisir à participer de nouveau à l’EclipseCon, et je recommande à tout développeur ayant la possibilité de s’y rendre, d’y aller sans hésiter.

L’ensemble des vidéos des Keynotes et des sessions est à retrouver sur la chaine Youtube de la Fondation Eclipse, ici.

EDIT 26/07/2016:

Un nouvel article est apparu sur le site de Fondation au sujet du tooling Docker, le voici: http://www.eclipse.org/community/eclipse_newsletter/2016/july/article2.php

Retour sur l’EclipseCon France 2016

StandDocDolu

Comme l’an dernier nous étions présents à l’EclipseCon France, événement incontournable dans le milieu du logiciel libre à Toulouse. Cette année encore l’organisation était sans faille, avec une grande diversité de thèmes (modélisation, IoT, devops…), chacun représenté par des intervenants de grande qualité.DocDokuPLM

DocDoku était en effet présent afin d’y présenter sa plateforme DocDokuPLM. Ceci a donné lieu à de nombreux échanges avec des acteurs industriels de Toulouse, ce qui a permis de constater que nous sommes au coeur de problématiques essentielles telles que l’interopérabilité, l’ouverture de la plate-forme, la sémantique des modèles.

Retour sur quelques présentations auxquelles j’ai eu la chance d’assister.

La modélisation à l’honneur avec Sirius, Papyrus et Capella

La modélisation de logiciels ou de systèmes est une des problématiques majeures développées au sein de la fondation Eclipse.

Étaient présents cette années, entre autres, le CEA avec l’outil Papyrus, Obeo avec l’outil Sirius, et PolarSys avec l’outil Capella.

Chaque outil a ses particularités. Pour ma part j’ai assisté au workshop sur Sirius animé par une équipe très motivée et maîtrisant parfaitement son outil. Sirius a la particularité de permettre la définition de Domain Specific Languages pour ensuite définir des modèles dans ce langage de modélisation.

Mention spéciale à l’équipe du CEA qui est venue avec une véritable usine en Lego de fabrication de petites voitures (en Lego elles aussi), la partie logicielle étant modélisée à l’aide de Papyrus.

Papyrus

Un IoT open source et innovant avec LoRa

L’IoT était très bien représenté, avec notamment la présence de Benjamin Cabé, animateur du meetup IoT-Toulouse, et Johan Stokking, de The Things Network qui a pour but de développer unLoRa réseau mondial et libre permettant la collecte et l’échange de données provenant d’objets connectés.

Ce projet est basé sur la technologie LoRa qui permet la communication à bas débit, par radio, alternative libre à SigFox, et soutenu par une alliance d’entreprises parmi lesquelles nous retrouvons Orange et Bouygues Télécom.

Eclipse Che : la révolution de l’environnement de développement

Eclipse Che, développé par Codenvy (connu pour son service d’IDE dans le cloud) est un outil permettant de gérer des environnements de développement virtualisés dans le cloud.

EclipseCheEclipse Che permet de mettre en place dans le cloud, non seulement un IDE, mais également un environnement d’exécution et de test automatisé du code.

Ceci permet de ne pas avoir à installer tout un environnement de développement/exécution/test sur la machine de chaque développeur. L’IDE en ligne renforce également le travail collaboratif : plusieurs développeurs peuvent éditer en même temps un même fichier (comme sur Google Docs).

L’équipe d’Eclipse Che est jeune et dynamique et de nombreuses améliorations sont à venir en ce qui concerne le pair programing et les tests JUnit.

TypeScript: du typage pour améliorer la scalabilité de JavaScript

TypeScript

Saurez-vous trouver les membres de DocDoku sur cette photo ?

TypeScript nous a été présenté par Sébastien Pertus, évangéliste technique chez Microsoft. TypeScript est en effet un projet libre développé par Microsoft, principalement par Anders Hejlsberg qui est aussi le principal inventeur de C#.

TypeScriptLogoCette présentation était à la fois pleine d’humour et abordait des questions techniques pointues avec des démonstrations de programmation très pertinentes.

TypeScript est à considérer comme un langage de programmation à part entière qui est trans-compilé en JavaScript. Ce nouveau langage ajoute à JavaScript de nombreuses fonctionnalités de typage comparables à ce qu’on retrouve dans le langage Java. On peut citer le typage statique, les classes, les interfaces…

De nombreuses fonctionnalités ajoutés par TypeScript sont maintenant présentes dans ECMAScript Edition 6, mais TypeScript conserve une longueur d’avance en proposant par exemple la notion de décorateur qui permet de programmer avec des annotations. D’autres améliorations sont prévues dans la future version de Javascript comme par exemple les non nullables types.

Tuleap : l’ALM open source

Enfin, l’aspect gestion de cycle de vie des applications/gestion de projet était également présent avec Tuleap développé par Enalean. Tuleap propose un outil de gestion de projet complet intégrant tous les aspects de tous les processus de développement (Cycle en V, Kaban, Scrum, Extreme Programming etc):

  • Intégration des principaux systèmes de configuration  (Git, SVN, CVS)
  • Intégration continue (Jenkins)
  • Wiki
  • Revue de code
  • Gestionnaire de bugs
  • Gestionnaire de post-it configurable style Trello.

 

Encore un grand merci à tous les organisateurs et conférenciers de cet événement et à l’année prochaine !