Touraine Tech 2022

9 minute(s) read

Introduction

Le 21 janvier 2022 a eu lieu la quatrième édition de Touraine Tech à Tours (37).

Log TNT

Touraine Tech est la conférence technique en région Centre pour les développeurs passionnés. L’édition 2021 n’a pas pu avoir lieu à cause de la pandémie de COVID-19. Les organisateurs ont réussi à relever le défi de maintenir cet évènement dans le contexte actuel. Il a permis à tous les participants de rencontrer les différents acteurs de l’écosystème tech local, de parfaire ses connaissances et s’inspirer … dans le respect des conditions sanitaires.

L’Observabilité : de Zéro à OpenTelemetry Java dans le cloud : Avec Spring ou Quarkus ? Stand Worldline 1 Stand Worldline 2
Worldline à Touraine Tech 22

Worldline était partenaire de cet évènement et était bien représenté avec une trentaine de participants. Quatre d’entre eux (Charles-Marie Ambrosetti, Jean-François James, David Pequegnot, Thibault Tigeon et Alexandre Touret) vous proposent de partager leurs impressions et les sujets qui ont retenu leur attention à travers cet article.

Keynote

La keynote a été présentée par Camille Justeau-Morellet qui a présenté les tenants et aboutissants du low tech. Au fil de sa présentation, elle a rappelé en introduction les principaux impacts du numérique sur l’environnement. Elle a rappelé les impacts sur les ressources naturelles et sur la production de gaz à effets de serre. Parmi ces exemples, elle a pu nous indiquer la quantité de matériaux nécessaires à la création d’une puce (32 kg !).

Ensuite, on a pu apprécier la démarche low tech avec tout d’abord le challenge du besoin avec des exemples du quotidien : pourquoi monter le chauffage (et consommer des ressources) alors qu’on pourrait mettre simplement un pull ? Ces exemples sont facilement transposables dans l’IT où on tombe facilement dans la complexité et la surenchère technologique.

Les trois questions à se poser avant d’envisager une solution sont :

  • Est-ce utile ?
  • Est-ce durable ?
  • Est-ce accessible ?

OAuth 2.1 expliqué simplement (même si tu n’es pas dev) !

Cette conférence était l’une de mes préférées (A. Touret). En prenant l’analogie du Grand Budapest Hotel, Julien Topcu a présenté les tenants et aboutissants de l’autorisation via OAUTHv2.

On a pu voir entre autres : les limites de l’implicite flow, les nouveautés de la spécification 2.1 avec le support de PKCE et la bonne utilisation des scopes.

Père Castor 🐻, raconte-nous une histoire (d’OPS)

« L’échec comme une source de connaissance. Pouvons-nous apprendre des erreurs des plus grands ? »

Une conférence pleine d’anecdotes et de retours d’expérience par David Aparicio, DataOps chez OVHCloud. Il nous a présenté une importante liste d’incidents de production qui se sont produits chez les plus grands de 2012 à 2021, avec une pointe de « legacy », et évidemment des conseils pour y remédier et ne pas voir ce même incident se produire chez soi 😉. Pour ne citer que quelques exemples :

  • du DROP de base de données accidentel qu’une meilleure gestion des données d’authentification, un audit et/ou une validation manuelle de cette commande auraient pu éviter ;
  • aux briques techniques qui peuvent avoir des soucis avec le volume ou la charge, où des tests de performance, du chaos monkey, de l’observabilité, … auraient permis de mieux appréhender le problème ;
  • de la nécessité de ne pas mettre tous les services sur la même infrastructure (serveurs, réseaux, DNS…), car si elle tombe, bah on n’a plus accès à rien (page de status, contrôle d’accès éventuellement ou la messagerie pour communiquer dans le cas du outage de Facebook il y a peu) …
  • et un soupçon de « legacy » aussi, et de la nécessité de choisir ses combats lorsque le service va disparaître : un workaround peut aussi suffire ;

Bref, en cas d’incident, il faut être bienveillant et éviter les reproches. On peut se préparer avec des tests, du monitoring, … mais aussi un peu de jeu de rôle avec la « Roue de la malchance ». D’un incident on peut apprendre beaucoup de choses, même chez les autres, et il faut clairement capitaliser dessus !

Comment mes hobbies m’ont aidé à sauver mon frigo

Ou comment faire d’un frigo vieux de plusieurs années un appareil connecté !

Que faites-vous si votre frigo tombe en panne ? Le jetez-vous pour en racheter un nouveau ? Ou essayez-vous de comprendre la panne, la résoudre, et en profiter pour améliorer le fonctionnement de votre électroménager ? Olivier Cloirec a fait son choix !

Dans cette session, il nous a expliqué tout son processus qui a amené au diagnostique de la panne de son réfrigérateur, jusqu’à la trouver : le thermostat est HS ! Et plutôt que de simplement le remplacer, il a utilisé ce qu’il avait sous la main pour prendre à nouveau le contrôle de l’appareil : un thermostat bluetooth, une prise connectée pour allumer le compresseur, et un Raspberry Pi qui pilote la prise connectée. Et le voilà un avec un appareil connecté !

Cette conférence était très intéressante pour toute la démarche qu’il nous a partagée : du diagnostic de la panne, à l’utilisation d’un Raspberry puis d’un microcontrôleur pour piloter son frigo à l’aide de son smartphone, pour enfin essayer de déterminer quel est la meilleure plage de température de déclenchement et d’arrêt du compresseur. Ce dernier point a permis d’optimiser le fonctionnement de l’appareil pour consommer encore moins d’énergie !

Cela lui a même donné des idées pour améliorer la qualité de vie : faire descendre un peu plus la température du frigo le soir, afin que le compresseur ne redémarre qu’au petit matin, permettant à un potentiel invité de ne pas être réveillé en pleine nuit.

En quelques mots, Olivier nous a présenté une démarche sympa, très en lien avec la keynote du matin, et qui peut être inspirante pour les personnes qui s’essaient à la domotique ou qui aiment bricoler 😊.

The blind test : l’accessibilité d’un site internet pour une personne non voyante

Rendre un site web accessible aux personnes non voyantes peut se faire presque sans efforts en suivant seulement quelques bonnes pratiques.

Cette conférence est présentée par le biais d’un fil rouge : la navigation sur un site par une personne non voyante, et la correction des (nombreux) problèmes d’accessibilité en direct. Hervé Boisgontier effectuait le développement et le déploiement du site, tandis que Florent Lévêque, qui est non voyant, naviguait en utilisant un écran en braille. Durant toute la démo, hormis quelques diapositives de récapitulatif des bonnes pratiques, nous n’avions aucune image, afin de mieux comprendre l’expérience de navigation sur un site web. Force est de constater que l’audio description est assez rapide et qu’il y a un petit temps d’adaptation à prévoir. Une fois habitué, le constat est sans appel : sur un site web, rien ne ressemble plus à un div qu’un autre div.

La bonne nouvelle, mais également grosse surprise, c’est que toutes les options d’accessibilité sont disponibles nativement dans html5 :

  • utilisation des balises main, side, footer, header pour mieux situer les textes.
  • utilisation correcte des niveaux de titres h1, h2, h3 pour accélérer la navigation.
  • Emploi de textes alternatifs expressif pour les images.
  • Usage de label pour les champs d’inputs.

La leçon que j’ai tirée de cette présentation, en plus de mieux comprendre l’expérience des non voyants sur le net, est que ces bonnes pratiques d’accessibilité sont également des bonnes pratiques de développement web, aussi bien en termes de lisibilité que de maintenabilité pour les autres développeurs. Cela donne encore un argument en faveur d’un code propre, comme s’il y avait encore besoin d’arguments 😊.

L’Observabilité : de Zéro à OpenTelemetry

(Par les auteurs, coucou !) Lors de cette conférence, nous — Charles-Marie Ambrosetti et David Pequegnot — avons évidemment parlé d’Observabilité. Les problèmes de performance ça arrive, mais lorsque la réunion de crise se précise, comment réagir ? Nous avons des architectures qui se sont complexifiées depuis l’ère des monolithes pour arriver à celle des microservices et de la containerisation : les sources de problèmes potentielles se sont également multipliées !

Nous avons voulu montrer que l’Observabilité, grâce aux données de télémétrie (métriques, logs et traces) et un peu de corrélation, pouvait justement nous aider à diagnostiquer et détecter le moindre problème de performance, pour que la crise soit finalement résolue au plus vite.

C’est d’autant plus vrai avec le projet OpenTelemetry que nous avons présenté. Il se veut être la nouvelle référence de l’Observabilité en fournissant tout l’outillage qui nous permettra de générer les données de télémétrie de notre application, ainsi que leur transport (protocole OpenTelemetry, et Collecteur), et ce pour différents langages de programmation.

Nous avons évidemment proposé une démonstration où nous avons outillé avec OpenTelemetry une application Java Microservices bien connue, le Spring Petclinic, et ce « sans effort » (juste à l’aide d’un agent Java). L’effet démo a (peut-être) montré le petit bout de son nez, mais n’est-ce finalement pas mieux pour parler d’incident ? Nous avons utilisé la stack Grafana Cortex/Loki/Tempo afin de stocker nos données de télémétrie, et évidemment Grafana pour les explorer avec un début de corrélation de ces données.

La dernière partie de notre présentation a consisté à présenter un outil important du projet OpenTelemetry : son Collecteur. Il s’agit d’une « Pierre de Rosette » qui va permettre de s’interfacer à plein de sources de données d’Observabilité afin de les envoyer vers n’importe quel backend supporté (la liste est longue). Il va notamment nous permettre :

  • d’homogénéiser nos infrastructures en envoyant les données de plein de sources différentes, vers un seul système de stockage et d’exploitation ;
  • de prévenir l’enfermement propriétaire ;
  • de collecter lui-même des données de télémétrie (métriques, logs).

Nous espérons que ce sujet aura plu, et qu’il aura donné envie d’aller un peu plus loin dans l’Observabilité ! À bas les N+1, slow queries, appels externes qui prennent du temps, pools mal dimensionnés, mémoire mal taillée… invisibles jusque-là !

Java dans le cloud : Avec Spring ou Quarkus ?

(Par les auteurs) Lors de cette conférence, nous - Jean-François James et Alexandre Touret avons enterré la hache de guerre entre Java/JakartaEE et Spring.

Au-delà de la hype, nous avons voulu donner des éléments de reflexion pour choisir la meilleure stack en fonction de différents critères :

  • Développement d’APIs REST.
  • Documentation Swagger/OpenAPI.
  • Accès aux bases de données en utilisant Spring Data ou Panache.
  • Appels à d’autres API en utilisant REST et en gérant les interruptions de service.
  • Observabilité (OpenTracing/Actuator/Metrics).
  • Tests d’intégration.

Tous ces éléments ont été illustrés au travers de cas pratiques disponibles sur Github (la version Spring et la version Quarkus).

Au travers de deux sondages, nous avons pu voir d’une part que l’audience était composée d’utilisateurs de Spring et d’autre part que Quarkus rencontrait un intérêt grandissant.

Sondage 1 Sondage 2 Sondage 3
Sondage en début et fin de conférence

Vous pourrez retrouver les slides ici.

Nous étions aussi là pour vous rencontrer !

Et oui, même en province, nous avons nos conférences techniques 😊 .

Stand Worldline 1

Sponsoriser et participer à un tel évènement nous tient donc à cœur et en plus ça permet de nous faire connaitre 😉 Aussi bien auprès des experts que l’on rencontre tout au long de la journée que des étudiants qui vont désormais jouer aux cartes grâce à nos goodies 😁. Et pour cela, nous leur avions concocté un petit quiz pour leur faire connaitre Worldline et nos métiers : un vrai succès ! Alors dans quel quartier de Tours se trouve Worldline ? 😜

Malgré un contexte sanitaire compliqué, nous avons pleinement profité de notre journée (et j’ai même pu assister à 2 ou 3 conférences !).

Un dernier mot pour remercier les speakers pour leurs présentations de qualité, les organisateurs pour leur travail et leur implication et surtout les étudiants sans qui on n’aurait peut être pas mangé 😁.

Stand Worldline 2

Written by

Charles-Marie Ambrosetti

Performance Detective, functional programmer, ffmpeg enthousiast, TOP 1 EU Twitch Streamer

Jean-François James

Still passionate after more than 30 years of experience in IT! DevOps advocate, head of the Expert Network at Worldline France

David Pequegnot

Performance Engineer, Developer at ❤

Thibault Tigeon

Team Manager Middleware Support. #APIGEE #Docker #JBoss #Keycloak #Java #Crypto

Alexandre Touret

Software architect, senior developer. #java #api #cloud #ci #software_craftsmanship