Les Cast Codeurs Podcast

LCC 269 - Log4J devient Turing-complet


Listen Later

Antonio et Guillaume discutent de nouvelle crèmerie, des fêtes de fin d'années, des cadeaux du père Noël, et… de log4j, le feuilleton de fin d'année !

Enregistré le 20 décembre 2021

Téléchargement de l'épisode LesCastCodeurs-Episode–269.mp3

News

Décès de Stéphane Maldini (14 Dec 2021)

  • Une triste nouvelle pour commencer l'épisode avec l'annonce du décès soudain de Stéphane Maldini
  • Un acteur de l'écosystème Grails à la fin des années 2000, gràce à de nombreux plugins
  • Mais plus connu pour avoir co-fondé le project Reactor, et popularisé le Reactive Programming au sein de la communauté Java
  • Egalement à l'origine de R2DBC pour rendre l'accès aux bases de données plus réactif
  • Après de nombreuses années chez Pivotal, il avait rejoint plus récemment Netflix, et c'est peut-être en partie grâce à lui que vous pouviez matter plein de séries !

CloudBees clot un tour de table de 150 millions de dollars valorisant l'entreprise à 1 milliards de dollars

Le feuilleton Log4J2 (9 Dec 2021)

  • Grosse faille de sécurité liée à l'utilisation des versions
  • Découverte par un chercheur en sécurité d'Alibaba Cloud
  • Détails publiés par LunaSec
    • Log4J2 permet de faire de l'interpollation de texte en remplaçant des parties variables d'un message à logguer
    • Hors il est possible d'ajouter des appels à des informations JNDI provenant d'un serveur LDAP
    • Un serveur LDAP peut retourner une classe compilée que JNDI va executer en local lorsque Log4J2 va vouloir insérer l'information JNDI
    • Donc potentiellement, la classe distante executée localement pourra exfiltrer des données, avoir accès aux processus qui tournent, etc.
  • Log4J2 a été patché rapidement, mais d'autres failles sont apparues
  • Différentes stratégies de mitigations ont été publiées
  • Snyk a publié une "cheat sheet" pour remédier à la faille
Langages

Kotlin à l'assaut du K2 avec son nouveau compilo (11 Nov 2021)

  • Lors de sa conférence Kotlin 2021 Premier annoncent des nouveautés autour du langage
  • Le nouveau compilateur plus rapide K2
    • qui sert dorénavant de base pour toutes les plateformes cibles supportées
    • qui apporte une nouvelle API pour créer des extensions au compilateur
    • utilise un langage intermediaire (IR) au lieu de compiler directement en natif
    • avec un nouveau frontal avec sa propre représentation intermédiaire qui permet de simplifier la compréhension du langage dans les IDEs, pour désugariser le sucre syntaxique
    • rapidité accrue potentiellement jusqu'à 2 fois
  • Le support de WebAssembly avec Kotlin/WASM
    • Kotlin/JS continue d'exister, pour des applis Web, pour l'intégration JavaScript
    • mais Kotlin/WASM apporte le support natif de WebAssmbly
  • Kover, un nouveau plugin de couverture de code pour Kotlin/JVM, utilisable avec un plugin Gradle, compatible avec JaCoCo
  • Le Kotlin Symbol Processor, KSP, drivé par Google, est maintenant stable, plus rapide, plus ergonomique d'utilisation (remplace Kapt)

Groovy 4, on y est presque !

  • Sortie de la release candidate de Groovy 4, la finale est proche !
  • Changement des coordonnées Maven pour passer à org.apache.groovy (bye bye Codehaus)
  • Suppression de vieilles coordonnées de packages ou classes mal-situées, à cause des modules Java (XmlSlurper, XmlParser, AntBuilder, GroovyTestCase)
  • Le module groovy-yaml est rajouté au pom groovy-all et le module groovy-testng devient optionel
  • Le vieux parseur basé sur Antlr2 est supprimé, et le parseur ("parrot") introduit dans Groovy 3 reste le seul parseur
  • Le bytecode généré n'utilise plus que l'instruction invokeDynamic partout où c'est possible
  • Support des expressions switch
  • Support des sealed types
  • Incubation du support des records
  • Inclusion de type-checkers, par exemple avec le premier pour valider les expressions régulières à la compilation
  • Inclusion de macro pour faciliter le débuggage
  • Intégration de JavaShell dans la console Groovy pour facilier les expérimentations cross language
  • Nouvelle annotation @POJO pour créer des POJO Java, sans la surchage de bytecode spécifique à Groovy (pratique pour la compilation statique)
  • Incubation de design by contract avec l'intégration de l'ancien module gcontracts
  • GINQ (Groovy Integrated Query) qui propose un langage proche de SQL, similaire à LINQ en .Net, pour facilier le travail avec les collections
  • Incubation du support pour le langage de configuration TOML

Trisha Gee partage ses nouvelles Java annotés pour le mois de Décembre (3 Dec 2021)

Librairies

Nouvelle paire de bottes 2.6 pour Spring Boot (19 Nov 2021)

  • Support des attributs SameSite sur les cookies de session cookies pour les applications à base de servlet
  • Support pour configurer les health groups sur le port principal ou de management
  • Amélioration du endpoint /info avec des infos sur le runtime Java
  • Support pour tester les applis Spring MVC en utilisant WebTestClient
  • Auto-configuration de spring-rabbit-stream
  • Support pour des règles personnalisées de nettoyage/filtrage des propriétés dans /env et configprops

Micronaut 3.2 (23 Nov 2021)

  • Nouvelle version de Micronaut
  • Passage de GraalVM à la version 21.3 avec le support de JDK 17 (il faut maintenant développer a minima avec la distribution GraalVM JDK 11 et non plus 8)
  • Version 3 du plugin GraalVM pour Gradle
  • Support de Kotlin 1.6
  • Fonctionnalités HTTP
    • Annotation @JsonView sur les paramètres annotés @Body
    • Timeout configurable pour le handshake SSL
    • Support amélioré du server push HTTP/2 pour envoyer les resources en parallèle
    • Amélioration WebSocket avec le paramètre WebSocketPongMessage pour l'annotation @OnMessage pour répondre au Ping des WebSockets
    • Support du protocole WS/WSS des WebSockets
  • Différentes mises à jour des modules fonctionnels (Data, Security, Reactive, OpenAPI, Kubernetes, ElasticSearch)

Cédric Champeau compare Gradle et Maven niveau composition et héritage (1 Dec 2021)

  • Gradle et Maven prennent l'approche de "convention over configuration"
  • Couvre les approches différentes entre Gradle et Maven : Maven prends une approche plutôt héritage, tandis que Gradle l'approche compisition
  • Les plugins Gradle sont plus faciles à maintenir grâce à la composition et permet de créer ses propres convetions
Infrastructure

GitHub collabore à la sécurité des packages NPM (15 Nov 2021)

  • GitHub est un des stewards du registre des packages NPM
  • GitHub partage des détails sur les incidents de sécurités récents
    • malware injectés récemment dans ua-parser-js, coa, et rc car un tiers avait réussit à usurper le compte d'un contributeur
    • temporairement, les packages privées étaient potentiellement découvrables sur le réplicats de npmjs.com
    • une faille qui a été découverte grâce à un bug bounty qui permettait de publier des versions de certains modules avec des comptes mal-sécurisés
  • GitHub investit dans la sécurité, en particulier en rendant obligatoire la 2-factor-authentication pour les administrateurs et admins des packages les plus populaires hébergés sur GitHub, en rajoutant de la détection de malware automatique

Jérôme Petazzoni et les anti-patterns Docker (30 Nov 2021)

  • Jérôme partage une liste d'anti-patterns qu'il voit fréquemment quand il aide les gens à construire leurs images de conteneur
  • Parmi les anti-patterns :
    • les trop grosses images, comment les optimiser, comment monter des voluments plutôt que d'inclure de gros dataset dans l'image
    • les trop petites images, mais attention car parfois on ne peut pas investiguer plus finement ce qui s'y passe
    • utilisation de zip et tar, mieux vaut éviter de compresser pour ne pas utiliser trop de CPU ou d'espace dans l'image
    • re-builder les bases communes : autant mettre l'image de base dans un registry, plutôt que de la re-construire à chaque fois
    • construire l'image à partir d'un monorépo géant et comment organiser ses sources et la localisation de son Dockerfile avec chaque projet
    • ne pas utiliser BuildKit
    • avoir besoin de rebuilder pour chaque changement minime
    • utiliser des scripts customs au lieu des outils existants comme Compose, Skaffold, Tilt et faire ses propres sh
    • obliger les gens à faire tourner certaines choses dans des conteneurs alors que ça peut très bien tourner en local sur la machine du développeur
    • utilisation d'outil trop complexes, autant utiliser des outils appropriés
    • conflit de noms entre scripts et images
    • builder dans des Dockerfiles
Cloud

Le runtime Java pour Google App Engine en Open Source (16 Dec 2021)

  • Toujours dans un esprit d'ouverture pour éviter le lock-in, Ludovic Champenois qui dirige le runtime Java de Google App Engine Java a open sourcé les sources du runtime, du SDK.

Azure : comment les développeurs migrent leurs applis Spring Boot dans le Cloud (2 Dec 2021)

  • Cible en majorité Kubernetes, 2x plus que sur des VMs
  • Challenges spécifiques Spring rencontrés
    • Passer d'un monolith à une version cloud-friendly
    • Migrer d'anciennes versions des composants Spring Cloud
    • Migrer d'anciennes versions de Spring Boot
    • Migrer de servelets vers Boot
  • Migration de Java vers Spring Boot
    • Java vers Boot
    • Java EE vers Boot
    • Spring Framework vers Spring Boot
    • Mainframe vers Spring
  • Challenges spécifiques au Cloud
    • Migration de base de données
    • Monitoring end-to-end
  • Outils d'APM les plus fréquents
    • Outils du provider cloud
    • Prometheus
    • Dynatrace
    • AppDynamics
  • End-to-End monitoring
    • Splunk
    • Elastic
    • Outil du provider cloud
  • Composants Spring les plus fréquemment utilisés
    • Spring Cloud Config Server
    • Spring Cloud Gateway
    • Spring Cloud Service Registry
    • Spring Cloud Load Balancer
    • Spring Cloud Circuit Breaker (Resilience4J)
Web

CSS défensif (7 Dec 2021)

  • Ahmad Shadeed partage de bonnes pratiques CSS, comment écrire du CSS propre, sans comportement bizarroïde suivant les navigateurs, ou qui répond bien de manière responsive
  • Avec des exemples sur l'utilisation de Flexbox, de l'espacement, la gestion du contenu long (et donc du clipping), de l'apparence des images suivant la taille de la fenêtre, les média queries en vertical, le texte au-dessus des images, la gestion des scrollbars.

Le custom CSS Reset de Josh Comeau (23 Nov 2021)

  • Josh Comeau partage une nouvelle version de CSS Reset, non-opionated pour ce qui est design et cosmétique, mais qui prends certains partis pris (par exemple de l'italique reste italique)
  • Couvre en détail chaque aspect : le box-sizing, les marges par défaut, la hauteur de ligne, des hauteurs basées sur les pourcentages, rendre les polices antialiasées, le word wrapping pour la gestion du retour à la ligne

Google Fonts propose des articles sur l'utilisation des polices de caractères (7 Dec 2021)

  • Elliot Jay Stocks a participé à la base de connaissance et d'articles du Google Fonts Knowledge
  • Introduction à la typographie, comment choisir une bonne taille d'interligne, comprendre les mesures des caractères et des lignes
  • Comment choisir une typographie et une police de caractères
  • Un glossaire sur les termes relatifs aux polices de caractères, à la typographie
Outillage

JetBrains annonce Fleet un nouvel IDE (29 Nov 2021)

  • Developpé from scratch
  • Basé sur l'experience de 20 ans à developer des IDEs
  • Fleet utilise le code-processing d'IntelliJ (polyglot)
  • Nouvelle interface graphique
  • Basé sur la librairie graphique 2D Skia (utilisée dans Chrome, Flutter, Android, Firefox…)
  • Rapide et léger (démarre en quelques secondes)
  • Architecture distribuée (tourne sur le PC, remote PC, dans le Cloud)
  • Early Preview, pas encore accessible publiquement à tout le monde

Mac: display_manager et Rectangle (29 Nov 2021)

  • display_manager permet de scripter en ligne de commande la configuration des résolutions des écrans (interne ou externe), de changer la luminositer, la densité de pixel, la fréquence de raffraichissement
  • Rectangle : cette petite application propose des raccourcis clavier pour positionner et retailler les fenêtres, pour les mettre rapidement en plein écran, à gauche/à droite, en quart, en tiers
  • Hammerspoon qui permet d'automatiser mac OS, en rajoutant des raccourcis clavier, en réagissant à des événements comme le branchement d'un appareil sur un port USB, le fait de rejoindre un réseau Wifi
Loi, société et organisation

Un document du FBI liste les données des messageries chiffrées pouvant être récupérées (30 Nov 2021)

  • Même si le contenu des messages n'est pas récupérable, des informations de type méta-données peuvent l'être (date de dernière connection ou de création du compte, avatar, clé publique ou token, nombre de messages postés)
Conférences

Devoxx France du 20 au 22 avril 2021 SunnyTech les 30 juin et 1er juillet 2022 à Montpellier

Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/

...more
View all episodesView all episodes
Download on the App Store

Les Cast Codeurs PodcastBy Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Aud

  • 4
  • 4
  • 4
  • 4
  • 4

4

3 ratings


More shows like Les Cast Codeurs Podcast

View all
Le rendez-vous Tech by NotPatrick

Le rendez-vous Tech

41 Listeners

Tech Café by Guillaume Vendé

Tech Café

12 Listeners

Choses à Savoir SCIENCES by Choses à Savoir

Choses à Savoir SCIENCES

23 Listeners

La Conversation scientifique by France Culture

La Conversation scientifique

68 Listeners

La Science, CQFD by France Culture

La Science, CQFD

77 Listeners

Blockbusters, le podcast natif by France Inter

Blockbusters, le podcast natif

14 Listeners

Silicon Carne, un peu de picante dans un monde de Tech ! by Carlos Diaz

Silicon Carne, un peu de picante dans un monde de Tech !

75 Listeners

Message à caractère informatique by Clever Cloud

Message à caractère informatique

0 Listeners

Choses à Savoir TECH by Choses à Savoir

Choses à Savoir TECH

3 Listeners

Underscore_ by Micode

Underscore_

21 Listeners

Monde Numérique (Actu Tech) by Jerome Colombain

Monde Numérique (Actu Tech)

7 Listeners

La dernière by Radio Nova

La dernière

51 Listeners

TED en Français by TED Audio Collective

TED en Français

5 Listeners

La fabrique du mensonge by France Télévisions

La fabrique du mensonge

1 Listeners

Le code a changé by France Inter

Le code a changé

10 Listeners