Bforbank : REX Devoxx 2023

BforBank
Bforbank Tech
Published in
9 min readApr 19, 2023

Un article d’Arnaud Mary, Ayoub Naciri, Jihène Mejri, Kais Jaafoura, Laurent Vaillant , Maher MKHININI, Paul Le Guillou et Tonihasina Rabeharisoa

C’est l’occasion de revenir sur les Devoxx France 2023 qui se sont déroulés les 12–13–14 avril. Cet événement est l’un des temps forts de l’année pour tous ceux qui s’intéressent à la technologie et à l’innovation.

L’équipe de Bforbank à la 11ème édition de la Devoxx

Plusieurs membres de la communauté tech de Bforbank ont participé à la 11ème édition de Devoxx France et souhaitent partager leur expérience sur les conférences auxquelles ils ont assisté !

À la découverte d’Accelerate

Par Geoffrey Graveaud

Présentation de la catégorie Culture des indicateurs Accelerate par Geoffrey Graveaud

C’est une conférence qui tourne autour du Livre Accelerate qui prédit de réduire les cycles de livraison des organisations numériques, améliorer la stabilité de leurs livraisons et surtout améliorer le contexte de travail afin de mettre à l’échelle une organisation technologique hautement performante.

Durant cette présentation Geoffrey présente les 24 indicateurs clés (capabilities) d’Accelerate et donne beaucoup d’éléments concrets qui permettent d’harmoniser les pratiques Lean, Agile et DevOps au sein de la DSI.

AppWrite est-il prêt à éteindre Firebase ?

Par Mickael Alves et Lucas Audart

Firebase vs AppWrite par Mickael Alves & Lucas Audart

Depuis son rachat par Google, Firebase a connu un grand succès auprès des développeurs du monde entier. Cela s’explique par le fait qu’elle leur offre de nombreuses options pour faciliter la création d’applications mobiles et web, en simplifiant notamment la création de back-end. Par conséquent, de nombreux problèmes fréquemment rencontrés par les développeurs peuvent être résolus plus facilement grâce à cette plateforme.

AppWriter est une librairie openSource qui propose des services similaires aux services fournis pas Firebase.

Durant cette conférence Mickael et Lucas mettent AppWriter et Firebase en duel en comparant les deux outils service par service.

En conclusion, Firebase à encore pas mal d’avance, mais AppWrite est promoteur notamment pour une installation en interne.

Kotlin: web, mobile, multiplatforme … l’ambition du couteau suisse ?

Par Emmanuel Remy et William De Carvalho

Kotlin: web, mobile, multi-plateforme… l’ambition du couteau suisse ? Par Manu Remy et De Carvalho Wiliam

On parle souvent de Kotlin et du KMM comme solution miracle pour minimiser l’effort du développement en développant une seule fois pour les différentes plateformes mobile ou web. Pourtant, elle a beaucoup de défauts et n’est pas forcément stable.

Super conférence qui a présenté comment le langage Kotlin a été conçu ansi que les avantages et les risques de Kotlin multiplatforme.

Qualité radicale : de Toyota à la Tech !

Par Woody Rousseau et Flavian Hautbois

Dans cette conférence, les deux auteurs commencent par évoquer 2 fausses idées : “les bugs dans la Tech c’est la norme” et “la qualité est plus chère que la non qualité”. La stratégie 0 défaut ou 0 bug ce n’est pas une fin en soi mais une étoile du nord (North Star) afin que l’organisation vise cet objectif. Cela va permettre la création d’équipes Tech extraordinnaires.

Ils parlent ensuite de mister Qualité chez Toyota : Sadao Nomura et de son concept le Dantotsu. Avec le Dantotsu, Mister Nomura a réduit de 88% les défauts dans des usines Toyota en moins de 3 ans.

Les problèmes sont classés en 4 catégories (A, B, C, D) chacun ayant un niveau d’impact (financier, d’usage, d’image) plus important que le précédent. Le niveau D correspond à un défaut constaté par l’utilisateur final.

Le Dantotsu se base sur une procédure en 8 étapes toutes conduites en 24H. Voici la liste des étapes avec entre parenthèse le jour où elles se produisent.

1. inspection de la pièce défectueuse (J)
2. vérification du stock (J)
3. identification cause racine (J)
4. implémentation des contres mesures (J)
5. retex en daily meeting (J+1)
6. créer / améliorer les standards et déployer (J+1)
7. Entrainer les équipes (J+1)
8. Vérifier avec des go et sees (J+1)

Ce process est bien différent de celui que l’on peut observer en général à la Tech.

La suite du talk a mentionné les similarités entre les pratiques de Dantotsu dans l’industrie et la Tech notamment en terme de standard de production (bonnes pratiques de développement), de formation (tutos, mob ou pair programming, code review, katas), environnement de travail optimisé (linter, code style, structure du code, système de gestion de connaissance) et rituels.

Le talk s’est poursuivi sur des RETEX des deux conférenciers. Les paramètres clés que j’en retiens : adhésion du top management, entraînement régulier à la résolution de problèmes, mesure et détermination des objectifs et surtout se concentrer sur les apprentissages Tech, sur le craft.

Briser le plafond de glace

Par Marion Poitevin

Dans ce talk très inspirant, Marion Poitevin revient sur sa carrière d’alpiniste de très haut niveau et sur les difficultés qu’elle a rencontré tout au long de sa carrière dans un milieu très masculin. Au delà d’un amour fort pour les acronymes, elle a surtout été la première dans beaucoup de domaines : première femme dans un groupe d’élite d’alpinisme dans l’armée de Terre, première instructrice montagne à l’Ecole Militaire de la Haute Montagne après 80 d’existence, première secouriste CRS Montagne dans la Police Nationale.

Son crédo ? Relever les défis, s’entourer des bonnes personnes, s’entrainer, échouer et s’entrainer encore

Bootiful Spring Boot 3

Par Josh Long

Josh Long revient pour la première fois au Devoxx depuis la pandémie pour un excellent One Man Show de 45min autour des nouveautés apportées par SpringBoot 3.

Voici quelques éléments clés de sa présentation :
1. Java 8 et 11 c’est uniquement pour faire des démos de ce qu’il ne faut pas faire ! Java 17 est la version minimale requise pour SpringBoot 3 (le portail https://start.spring.io/ a été mis à jour en conséquence.

2. Une petite démo du développement d’une API REST développée via Spring Web, avec les nouvelles feature liées à l’observabilité mise en place dans SpringBoot 3 et notamment l’API Observation (voir https://www.baeldung.com/spring-boot-3-observability)

3. Spring Cloud Sleuth intègre désormais la stack Micrometer (voir https://github.com/micrometer-metrics/tracing/wiki/Spring-Cloud-Sleuth-3.1-Migration-Guide)

4. Petit coup de pub sur le projet BuildPacks.io développé par Pivotal et Heroku (voir https://buildpacks.io/features/)

5. La compilation native avec GraalVM fait partie des fonctionnalités phares intégrées dans cette nouvelle version de spring (voir : https://www.youtube.com/watch?v=5aZtF5stYeU) mais le temps de compilation native peut s’avérer un peu long … Pour résoudre ce soucis de temps d’attente, Josh a ouvert un ticket chez Oracle 😂 : https://github.com/oracle/graal/issues/5327

6. Spring 6 introduit de nouvelles annotations pour faciliter la création de WebClient avec notamment @GetExchange (voir https://www.baeldung.com/spring-6-http-interface)

7. Une autre feature autour des APIs REST avec les nouveautés Spring Cloud Gateway (voir https://www.baeldung.com/spring-cloud-gateway)

8. SpringBoot 3 permet d’implémenter facilement le format standard pour les erreurs appelé Problem (RFC 7807) grâce à une property : spring.mvc.problemdetails.enabled

9. Josh nous a partagé une incroyable photo du Java Garbage collector : https://twitter.com/jtannady/status/981547257479778307?lang=en

Loi de Conway : lorsque les bonnes pratiques ne suffisent pas

Par Julien Topçu

Julien nous fait rentrer dans l’I.T. zone et nous introduit la loi de Conway :
« Toute organisation qui conçoit un système, au sens large, concevra une structure qui sera la copie de la structure de communication de l’organisation. »

Il illustrera son propos en nous montrant que bien des sites web sont le reflet de la structure organisationnelle des entreprises, un miroir de leurs intérêts internes plutôt que la réponse immédiate aux besoin des clients de ces entreprises.
Certaines études démontrent même que les facteurs organisationnels sont directement liés aux indicateurs de qualité de code et de test coverage : “Organization eats code quality”.

Il n’existe malheureusement pas de solution miracle car dans toute structure organisée, la structure de communication tend à refléter la structure administrative. Mais certains outils existent pour tenter de lutter comme l’”inverse Conway maneuver” (voir https://blog.octo.com/how-to-deal-with-an-inverse-conway-maneuver-a-talk-by-romain-vailleux-at-duck-conf-2021/) et le modèle BAPO (https://medium.com/nerd-for-tech/concepts-i-use-every-day-bapo-896d0ba0ccbb) pour que le Business soit à l’origine de l’Architecture, que l’Architecture engendre les Process et enfin que les Process déterminent l’Organisation optimale.

Les outils du DDD peuvent notamment aider à traiter du “B-A” et les concepts développés dans “Team Topologies” peuvent permettre de répondre au “P-O” (https://teamtopologies.com/).

Détectez et corrigez automatiquement les problèmes les plus fréquents avec Apache Kafka

Par Florent Ramière et Jean-Louis Boudart

Florent et Jean-louis nous présentent la longue liste des problèmes les plus courant rencontrés avec Kafka, avec par exemple :
- Pas de nomenclature sur le nommage des topics, le nombre de partitions ou la durée de rétention
- Les mauvaises configurations d’acquittement des consumers
- La mauvaise gestion des poison-pill
- La mauvaise gestion des messages dupliqués
- Et plein d’autres !

Comment mettre fin à ce chaos ? Il est possible d’implémenter relativement facilement le protocole Kafka pour créer une forme de “Proxy” serveur afin de garantir les bonne pratiques. C’est ce qu’a notamment développé Conduktor avec la Conduktor-gateway : https://github.com/conduktor/conduktor-gateway

De cette manière on peut tuer le mal à la racine et mettre fin aux applications et pratiques indélicates !

Hands on lab : GitLab

Nous allons maintenant faire un peu de pratique, pour découvrir des fonctionnalités de GitLab, ce workshop c’est dérouler comme suit :

La première est pour se familiariser avec les notions de issues, donc il faut créer une issue puis à partir de cette dernière de lancer une MergeRequest et faire notre modification en utilisant le WebIDE de Gitlab, et enfin d’accepter la MR pour que le code soit merger dans main.

Aussi c’est de jouer avec la CI, nous allons créer des jobs et utiliser des variables de GitLab via le menu Settings > CI/CD > Variables , et visualiser la pipeline.

Nous allons utiliser aussi les stages, de définir l’images docker et aussi mettre des règles au lancement du job.

Dans cette étape nous allons exposer une page statique, c’est une fonctionnalité que propose GitLab, nous pouvons avoir une page pour chaque environnement.

A la fin de ce Hands on Lab, nous avons fait une release en se basons sur les tags, pour que ça fonctionne il faut faire un job avec une règle qui le déclenche qu’avec un Tag en utilisant la variable prédéfinie de Gitlab “CI_COMMIT_TAG”.

Suite à ce workshop, nous avons les notions de base que nous pouvons approfondir et mettre en œuvre dans nos projets.

Performances d’application cloud/mobile

Par Velentin Delaplace

Performances d’application cloud et mobile Par Valentin Deleplace

N otre objectif est d’optimiser la performance d’une application mobile et de son backend en cloud.

Nous avons procédé en mesurant les latences réseau et en révisant le cryptage, le système de fichiers, les requêtes de base de données et la programmation concurrente.

Nous avons organisé ces tâches de manière parallèle, en examinant leur ordre chronologique afin d’améliorer l’expérience utilisateur et réduire les temps de traitement.

L’IA va-t-elle changer notre métier de développeur ?

Par Louis-Guillaume MORAND et Eric Grenon

L’IA va-t-elle changer notre métier de développeur? par Eric Grenon et Louis-Guillaume MORAND

L a conférence discute l’avenir du métier du développeur avec l’émergence de l’IA generative qui permet pas seulement la génération du code en se basant sur les “prompt” du développeur mais de comprendre le besoin métier et le concrétiser en ligne de code en discutant avec le chat bot.

Plusieurs démo ont été faite avec Github copilot dans visual studio, nous démontrant comment l’IA peut nous aider à comprendre un code existant, à faire la review de code ou à adapter un code à notre besoin métier.

Merci à BforBank de nous avoir permis de participer à ce moment TECH incroyable.

--

--