• DĂ©veloppement
  • Tool in action
  • Introduction
  • 25 min

JBang, un fichier Java pour les gouverner tous ? 💍

  • Date jeudi
  • Horaire 15h00 Ă  15h25
  • Salle Amphi B

Description

Dans le monde Java, nous sommes habituĂ©s Ă  initialiser un projet avec de nombreux fichiers et rĂ©pertoires. A tel point que des CLI ont vu le jour pour nous aider Ă  crĂ©er les projets SpringBoot ou Quarkus par exemple. Vient ensuite le choix du "package manager" : Maven ou Gradle ? Et c'est seulement Ă  partir de lĂ  que l'on peut commencer Ă  dĂ©velopper puis exĂ©cuter son code 😅. Toutes ces Ă©tapes fastidieuses expliquent pourquoi, lorsque que l'on a besoin de faire un dĂ©veloppement rapide de quelques lignes pour automatiser une action, on prĂ©fĂšre d'autres langages Ă  Java : Python par exemple. Et si je vous disais, qu'avec JBang, vous allez pouvoir rester avec votre langage prĂ©fĂ©rĂ©, Java, et dĂ©velopper une classe toute simple (avec des dĂ©pendances externes) en quelques secondes ! C'est le pari (spoiler : rĂ©ussi) de JBang que je vous propose de dĂ©couvrir durant une session de live coding. A vous les joies du scripting en Java !

Orateur·ices

Stéphane Philippart

Durant plus de 20 ans dans le mĂ©tier "d'informaticien" j'ai pu me confronter Ă  beaucoup de technologies diffĂ©rentes. Et c'est cette diversitĂ© qui me fait continuer Ă  autant aimer notre mĂ©tier. Depuis maintenant 4 ans j'ai la chance d'Ă©voluer au sein d'OVHcloud en tant que developer advocate. Cette position me permet de dĂ©couvrir de nouvelles technologies ou disciplines comme l’Intelligence Artificielle ou le "cloud native" par exemple. Mais mon cƓur de vieux dĂ©veloppeur Java ne peut pas trop s'Ă©loigner de cette technologie qui est le fil rouge de mes nombreuses annĂ©es de dĂ©veloppeur. C'est avec humilitĂ© que je partage cette expĂ©rience mais aussi les nouveautĂ©s de notre Ă©cosystĂšme Ă  travers mes confĂ©rences et le meetup TADx co-créé Ă  Tours.

Actions rapides

Voir la vidéo

Les sessions futures sur le mĂȘme thĂšme

    • DĂ©veloppement
    • Tool in action

    On touche pas son pĂšre : sortir de l’hĂ©ritage avec la dĂ©lĂ©gation Kotlin

    Quand on jouait au loup dans la cour d’école, il y avait une rĂšgle tacite : “on touche pas son pĂšre” — on ne retouche pas celui qui vient de nous toucher, sinon la partie tourne en boucle. En code, beaucoup d’équipes finissent par appliquer la mĂȘme rĂšgle Ă  la classe mĂšre : “ne touche pas au parent, tu vas tout casser”. Et c’est souvent le signe de bugs dans la Matrice : couplages implicites, effets de bord, overrides surprenants
 et, au passage, des glissements progressifs vers des violations des principes SOLID. Dans cette session, je propose une autre approche : remplacer l’hĂ©ritage utilisĂ© pour partager du comportement par de la composition et de la dĂ©lĂ©gation en Kotlin (by). L’idĂ©e est simple : au lieu d’empiler des responsabilitĂ©s dans une hiĂ©rarchie de classes, on construit des services “en couches” (wrappers / dĂ©corateurs) qui ajoutent chacun un comportement prĂ©cis, tout en dĂ©lĂ©guant le reste. À travers quelques refactorings “avant / aprĂšs”, on verra comment cette approche rend les responsabilitĂ©s plus explicites, facilite les tests, et permet d’évoluer sans crĂ©er de nouvelles classes de base ni de hooks implicites — avec une mĂ©thode de migration progressive, applicable sur une base existante.

    Jeudi 15h35 Ă  16h00 - Amphi B
    • DĂ©veloppement
    • Tool in action

    Des nulls visibles avant la prod : JSpecify en action

    Tous les dĂ©veloppeurs Java se sont un jour ou l’autre cassĂ© les dents sur une NullPointerException en production. Il y a eu beaucoup de tentatives pour attĂ©nuer ce problĂšme (annotations, Optional, 
), couronnĂ©es de plus ou moins de succĂšs. Dans ce Tool-in-Action, nous verrons comment JSpecify s’attaque au problĂšme et ce qu’il apporte de plus par rapport aux autres annotations de null safety : analyse statique, intĂ©gration Ă  Spring Boot 4 et interopĂ©rabilitĂ© avec Kotlin.

    Jeudi 15h35 Ă  16h00 - Amphi E
    • DĂ©veloppement
    • Tool in action

    Le plus dur, c'est de commencer...

    En attente de mission, je lance mon side-project : serendipitech.fr J'avais l'idĂ©e gĂ©nĂ©rale : rĂ©pertorier les conf' en France et proposer une alerte email Ă  ceux qui le souhaite pour ĂȘtre prĂ©venu des nouvelles dates, ouverture des billetteries ou CFP. OK. La stack je l'avais aussi, je voulais continuer d'avancer sur mes acquis : du Spring Boot avec Kotlin et Vue.js en front. Pour l'infra, je voulais mettre mon appli en Docker bien sĂ»r, et un voisin avait un vieux serveur dans un placard, autant que ça serve. Installation d'Ubuntu. Hop, c'est bon. And now what ?! Goutte de sueur sur le front... je commence par quoi ? Le front ? Le back ? Installer Docker ? Acheter mon nom de domaine ? C'est quoi mon premier commit ? C'est quoi ma premiĂšre feature ? Ahhh. Panique. Mais promis, ça n'a pas durĂ©. J'ai rĂ©ussi Ă  me lancer. Envie d'en savoir plus ? De savoir si mon serveur Ă  cassĂ© et j'ai plutĂŽt dĂ©ployĂ© proprement dans le cloud (spoiler : oui) ? Rex dĂ©complexĂ© d'un side project. Pour oser se lancer, prendre du recul sur les diffĂ©rentes briques d'une application et se poser les bonnes questions.

    Vendredi 8h30 Ă  9h25 - Amphi C