- Développement
- Tool in action
- 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
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