DevOps
0

Jib, Java + Docker en mode facile ?

C’est tout nouveau, c’est tout frais, Google vient d’annoncer et de publier Jib, un outil pour « Build Java Docker images better ». https://cloudplatform.googleblog.com/2018/07/introducing-jib-build-java-docker-images-better.html Mais, pourquoi Jib ? L’existant Bon, on ne va pas se mentir, construire des images Java pour Docker n’est pas vraiment quelque chose de nouveau et révolutionnaire, il y a déjà de nombreuses possibilités pour ce faire et ça ressemble en général à ça : Avec un Dockerfile à peu près comme ça :

Et, pour ordonnancer ce workflow, l’outil de CI de votre choix. Avec, en général une phase de build / push de l’image qui se fait en dehors de maven (sauf si vous utilisez le plugin dockerfile-maven de Spotify). Alors pourquoi Jib ? Jib vient avec plusieurs promesses : Simplifier le workflow pour le réduire à une seule phase, full Java, directement géré par le plugin maven / plugin et sans configuration (pas besoin de Dockerfile). Accélérer le process en s’appuyant de façon intelligente sur le système de couches de Docker. En séparant par exemple les couches dépendances, ressources et classes. Les builds sont donc plus incrémentaux et plus rapides : fini la couche unique non réutilisable parce qu’une ligne de code a changé dans le fatjar ! Garantir la reproductibilité de votre image en se basant sur les métadonnées maven / gradle. Les mêmes inputs donneront la même image Docker. Comment ça marche Jib ? Jib promet de s’occuper de tout pour vous, du début (le code de votre projet) à la fin (l’image docker poussée dans un registry). Concrètement, il s’agit simplement d’un plugin maven (existe aussi en version gradle) offrant un goal qui réalise l’ensemble du process. Configuration dans le pom.xml :

Exécution :

Et … voilà ! Une image Docker de votre application est disponible sur le registry…

Web
0

“Je ne sais pas quoi dire.” – le post mortem d’event-stream

Mardi 20 novembre, Ayrton Sparling (FallingSnow) étudiant à l’université de Californie ouvre une issue sur GitHub. Il accuse le mainteneur du projet – right9ctrl dont l’identité n’est pas connue à ce jour – d’avoir compromis la librairie téléchargée presque 8 millions de fois depuis et dont dépendent le site BBC News et l’éditeur Visual Studio Code entre autres. Il ne le sait pas encore, mais cette issue va faire couler beaucoup d’encre. Résumé des faits La librairie event-stream a été initialement développée par Dominic Tarr (dominictarr) à partir de 2011. L’idée de ce module est de faciliter la création et la manipulation de Streams (flux de données dans le temps) en ajoutant des méthodes classiques des Arrays tels que map, filter ou reduce. Le projet a pris de l’ampleur au fur et à mesure des années. Petit à petit, des gros projets l’ont utilisé directement ou indirectement (à travers d’autres modules). On peut citer ps-tree, vue-cli ou monaco-editor. Dominic perd son intérêt pour le projet et ne le met à jour que très rarement, principalement pour merger des pull requests d’autres contributeurs. Un jour, il reçoit un mail lui demandant les droits d’accès au module pour pouvoir le maintenir. Ne se posant pas de questions et voulant se débarrasser de la maintenance de ce projet qui n’avait plus d’intérêt pour lui, Dominic donna les droits sur npm et sur GitHub. Le 4 septembre 2018, right9ctrl commence à contribuer sur le projet. Il créé une version 3.3.5 le 5 septembre puis une version version 3.3.6 ajoutant une dépendance vers un module nommé flatmap-stream le 9 septembre. D’apparence, tout semble parfaitement normal. 7 jours plus tard, il supprime ce module puis fait quelques modifications innocentes, il ne republie cependant aucune version depuis. Seulement si on y regarde de plus près, tout n’est…


Craftsmanship
0

Retours sur SoCraTes France 2017

Cette année, Nicolas, Romain et Xavier ont eu le plaisir d’aller à SoCraTes France. La Software Craftsmanship and Testing unconference est un forum ouvert axé sur l’artisanat logiciel. Ainsi, tous les participants sont également orateurs et aucun planning n’est prévu à l’avance.

BigData & NoSQL
0

Deep Learning : Back to Basics

On n’a jamais autant entendu parler de l’intelligence artificielle (IA) que ces 10 dernières années. L’IA washing est très répandue, au point où il est devenu facile de confondre IA, Deep Learning et réseaux de neurones.