Accéder au contenu principal

Articles

Jib, Introduction

Voici un bref aperçu de Jib, qui est un produit de chez Google facilitant la conteneurisation d'une application Java standard.

Le but de Jib est de créer une image Docker ou OCI d'une application Java, sans la nécessité de créer un fichier dockerfile dédié ou même d'avoir Docker installé sur sa machine. Jib repense donc la conteneurisation de son application en se passant du workflow classique : application, build, création de l'image Docker, ajout de l'image dans son contexte Docker et déploiement de l'image sur sa registry.

Le but clairement annoncé par Jib est de dockériser son application en vue de faciliter ses développements ou déploiements et cela de manière optimisée. En effet, Jib va cartographier votre application et ainsi faire un inventaire de vos classes, ressources et dépendances. Cette cartographie permettra la création d'un layer correspondant à la modification apportée à la ressource modifiée et améliorer drastiquement les temps de déploiemen…
Articles récents

Java Mission Control, Introduction

Découvrons rapidement Java Mission Control, un outil proposé par Oracle, qui a été récemment open-sourcé pour le grand plaisir des Javaistes.

Le but de JMC est de proposer une alternative un peu plus poussée à VisualVM pour les développeurs mais pas que. En effet, les sys admins y verront aussi un allié de poids dans la maintenance ou le troubleshooting des applications Java en production.
Pour plus d'information sur JMC, n'hésitez pas à aller voir mon article sur mon Wiki pro Reservoir code.
Introduction à JMC

Bonne lecture,

Crédit photo : https://pixabay.com/fr/users/jackmac34-483877/

Mon introduction aux microservices

Nous sommes en 2018 et il est (plus que) temps d'étudier de plus près ce nouveau paradigme popularisé par Martin Fowler et son équipe de Thoughtworks : les microservices.

En effet, nous avons tous en charge directement ou indirectement, une pièce de code, qui même si elle est correctement codée a besoin d'être corrigée, améliorée et maintenue dans le cadre de son exploitation et son intégration au sein du SI.

Ce type d'application est en règle générale nommée monolithe. Bien que ce terme ait une connotation négative de nos jours, celles-ci ont fait les beaux jours des directions techniques en proposant une architecture standard, robuste, fiable et intégrée. Généralement déclinées en plusieurs couches applicatives (présentation, business, repository...), ces applications avaient l'avantage d'être simple à développer et leur intégration dans le SI était aisée, car composée de peu de ressource finalement (un serveur web, un serveur d'application et une base de do…

Mutation Testing, Introduction

Voici une bref introduction aux tests par mutation, que j'ai mis en place dans une mission chez mon client du moment.

Le but du mutation testing est de vérifier dans un premier temps si notre couverture de tests est fiable. En effet, il n'y pas de que la couverture de tests qui compte, mais également leur pertinence et leur efficacité. En quelques mot, il s'agit de mesurer le comportement de notre harnais de tests face à du code qui mute (refactoring, correction de bug, refonte d'architecture, etc...) et ainsi déterminer si celui-ci couvre bien le cas pour lequel il a été conçu.

Le principe étant lors de l'exécution des tests de faire muter notre code source et ainsi s'assurer que les mutants ont bien été éliminés : on entend par mutants, les parties de code source ayant muté. Il devient alors évident qu'un test bien fait se plantera dès lors qu'il rencontrera du code ayant un comportement autre que celui de prévu (il existe malheureusement des cas ou …

Testcontainers, Introduction

Un petit article rapide pour parler d'un outil tout aussi simple d'utilisation que bien conçu : Testcontainers.

En effet, à première vue Testcontainers semble être un outil banal, qui finalement va lancer des conteneurs Docker à votre place et cela dans le cadre d'un test d'intégration par exemple. Alors sur le fond oui, mais sur la forme il s'avère être un allié de poids dans notre façon de concevoir nos tests d'intégrations.

Je l'ai par exemple testé et finalement intégré dans le cadre d'un test ayant besoin d'un MongoDB en quasiment 10 minutes montre en main. J'ai donc remplacé notre ancienne librairie (flapdoodle embeded mongo) en très peu temps au bénéfice de TC. Seul prérequis : avoir Docker installé sur vos postes de développement et votre CI.

Pour plus de détail sur la mise en place de Testcontainers, rendez-vous mon article sur mon Wiki pro Reservoir code.

Introduction a Testcontainers

Bonne lecture,

Crédit photo : https://pixabay.com/fr…

Aviapod Le Retour

C'est avec un plaisir non dissimulé, que je débute l'écriture de ce blogpost rapide pour effectivement annoncer, que le podcast aéro. Aviapod est de retour ! En effet, ma persévérance a payé et j'ai pu prendre contact avec Philippe, le créateur du podcast et ainsi lui donner envie de se relancer dans l'aventure avec le reste de l'équipe, voici comment cela s'est passé...

Après moult recherches infructueuses, j'ai eu l'idée de contacter par email Len Robinson, qui est un camarde de Philippe Ceretti, le créateur d'Aviapod et souvent cité dans le podcast. Len a eu la gentillesse de transférer l'email à Philippe, qui m'a alors répondu ! Ému et étonné de ma démarche, nous avons alors échangé par email nos impressions sur le travail abattu par l'équipe et rarement récompensé. En effet, une des raisons qui a fait capoter le projet est le faible feedback qu'a eu l'équipe à l'époque et ce au regard du travail accompli, car honnêtement …

Découvrez Aviapod ! (MAJ)

*** Une mise à jour de ce billet a été faite et plus d'explications dans cet article ***

Pour débuter l'année, je vous propose un hors-sujet assez particulier pour ce blog, où cette fois-ci nous ne parlerons pas de byte/fonction/microprocesseur ou autres drôleries de développeurs, mais plutôt d'aviation. En effet, après l'informatique, l'aviation est l'une de mes autres (trop) nombreuses passions !

Il y a environ deux ans, j'ai eu la chance de m'initier au pilotage sur un Cessna 172 Skyhawk à Toussus-Le-Noble et pour parfaire mon éducation en la matière, je suis parti à la recherche de ressources me permettant d'approfondir mes connaissances sur le sujet. Ainsi, je suis tombé sur le podcast Aviapod, qui malheureusement et sans véritablement de raison apparente, a cessé d'émettre au bout du 22ème épisode.
Ce podcast était animé par trois pilotes de lignes et instructeur sur Airbus : Philippe Ceretti, Cyrille Aubry et Cyril Bez. Les émissions s'a…