Le podcast Java en Français

Les Cast Codeurs est un podcast en français de, par et pour les développeurs.

Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview.

Supportez les radotages de vos hôtes : Emmanuel Bernard (JBoss, Hibernate), Arnaud Héritier (CloudBees, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (freelance, auteur), Vincent Massol (XWiki, Maven), Audrey Neveu (Reactor/Spring, Devoxx4Kids).

LCC 259 - Interview Software Heritage avec Roberto Di Cosmo et Charles Sabourdin

Posté le 08/07/2021

Charles Sabourdin et Audrey interviewent Roberto Di Cosmo sur le projet Software Heritage, dont l’objectif est la collecte et la préservation des logiciels en tant que patrimoine culturel.

Enregistré le 22 Juin 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-259.mp3

Interview

Ta vie, ton oeuvre

Ancien élève de la Scuola Normale Superiore de Pise, Roberto Di Cosmo a obtenu son doctorat en Informatique à l’Université de Pisa. Après avoir enseigné plusieurs années à l’École Normale Supérieure de Paris, il est devenu Professeur d’Informatique à l’Université Paris Diderot, où il a été directeur adjoint pour l’Informatique dans l’école doctorale ED 386 de 2005 à 2009. Président du conseil scientifique et du conseil d’administration d’IMDEA Software, membre du comité d’orientation pour la Science Ouverte en France, il est actuellement détaché chez Inria.

Il a une longue histoire de contributions à la recherche en Informatique, dans des domaines allant de la réécriture à la logique et de la programmation fonctionnelle à la programmation parallèle. Il s’intéresse maintenant aux problèmes nouveaux posés par l’essor du Logiciel Libre, et en particulier à l’analyse statique de grandes masses de code. Il a publié plus de 20 articles dans des revues internationales, et 50 articles dans des conférences internationales.

En 2008, il a créé et coordonné le projet de recherche européen Mancoosi, avec un budget de 4.4Me et 10 partenaires réunis pour travailler à améliorer la qualité des systèmes logiciels à base de paquets.

Suivant de près l’impact de l’Informatique sur la société, il prône depuis longtemps l’adoption du Logiciel Libre, notamment à partir de la publication de son best-seller Le Hold-Up Planétaire en 1998; plus récemment, il s’est intéressé aux questions soulevées par la problématique de la rémunération des artistes à l’ère d’Internet, avec l’ouvrage Manifeste Pour Une Création Artistique Libre Dans Un Internet Libre.

Il a créé le Groupe Thématique Logiciel Libre dans le Pole de compétitivité Systematic à Paris, qui a financé plus de 40 projets de R&D depuis 2007, et il dirige depuis 2010 l’IRILL, une structure de recherche de pointe sur le Logiciel Libre.

En 2015, il a été à l’origine de Software Heritage, une initiative qu’il dirige et qui vise à construire l’archive universelle de tout le code source publiquement disponible, en partenariat avec l’UNESCO.

Software Heritage

  • origine de l’initiative
  • comment gérez-vous les problématiques de licence ?
  • ne sauvez-vous que des codes opensource ?

En pratique

  • qu’est-ce qui est conservé ?
    • quel type d’intégration (build, test unitaire…) avec quelle fréquence
    • les soucis d’encodage ?
    • les soucis d’architecture ?
    • les soucis de licences ?
  • sur l’infrastructure ?
    • combien de serveur, dans combien de datacenter ?
      • quel type de code ?
      • quel composant utiliser/réutiliser ?
  • un outil de recherche ?
    • les tendances, les connaissances(bonnes pratiques, …)
    • le KWC

Conclusion

  • objectifs futurs
  • comment aider
    • une communauté ?
    • des outils ?

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/


LCC 258 - Les mineurs de fond

Posté le 16/06/2021

Arnaud, Antonio et Emmanuel discutent des actus du développeur en cette période pré-estivale. Du Spring Boot, du Hibernate, du Vert.x, du web qui tombe, du Gradle 7, des mineurs et des méthodologies autour des pull-requests.

Enregistré le 11 juin 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-258.mp3

News

Langages

GraalVM 21 sur InfoQ’France

  • Un interpréter Java en Java
  • Plus simple a debugger
  • Avant ils utilisaient hotspot
  • Reste projet
  • Java en tant que container de javas
  • Mélanger ahead of time et classique Java

Librairies

Spring Boot 2.5.0 est sorti

  • Support for Java 16
  • Support for Gradle 7
  • Enhanced Docker image building
  • New mechanism for Datasource initialisation pour préparer R2DBC
  • Les dépendances mises à jour (Spring data, hateoas’ spring Kafka et)
  • En gros rien de révolutionnaire, beaucoup de mise à jour et du nettoyage

Hibernate a 20 ans !

  • Première sortie
  • Ça ne nous rajeuni pas

Vert.x 4.1 est sorti

  • Reactive Microsoft SQLServer driver
  • Vert.x HTTP proxy plutôt que de l’écrire soit même
  • RxJava 3
  • OpenTelemetry tracing
  • Plus conforme à OAuth2 et OIDC
  • Kotlin 1.5
  • Flexibilité dans la configuration de pools (plusieurs event loops par pool, waiter cancellation, lock free impl, etc
  • Web session stockée dans Infinispan
  • Et plus au niveau sécurité, openapi, service proxy

Infrastructure

Un problème chez Fastly et l’internet tousse

  • Fastly est un CDN
  • héberge beaucoup d’artefacts de type NPM, Maven, JS resources etc
  • consequence : sites defacés par manque de CSS ou JS, voir HTTP pages non accessibles
  • bug déclenché par une config client => fait tomber 85 % du réseau

Cloud

Les services d’intelligence artificielle d’AWS ne respectaient pas le non déplacement des données hors de la région par défaut

  • Et le défaut était très bien caché. Les experts AWS n’avaient pas fait gaffe
  • C’était légal mais en tout petit dans les conventions
  • Différence entre télémétrie et les données en propre en général. Pas pour les iA ;)
  • Les services impacté AWS Terms 50.3 mention CodeGuru Profiler, Lex, Polly, Rekognition, Textract, Transcribe, and Translate. 60.4 also mentions this for SageMaker. 75.3 mentions this for Fraud Detector. 76.2 mentions this for Mechanical Turk and Augment AI.

Web

Vers un système unique et une API commune pour les extensions dans les navigateurs

  • Des gens de Apple (Safari), Google (Chrome), Microsoft (Edge) et Mozilla (Firefox) vont collaborer ensemble, au sein du WECG
  • Web extensions community group
  • Base sur le travail de safari de supporter les extensions des autres navigateurs
  • On a vu des défis et réduction de possibilités pour contrôler la sécurité et le tracking
  • De toute façon tout le monde est sur Chromium haha

Outillage

Gradle 7 est sorti et Cédric nous fait un crowdcast

  • D’ailleurs, Cédric quitte Gradle Inc après des années de bons et loyaux services

Prosus achète Stack Overflow pour 1,8 milliards

  • Prosus avait déjà des parts dans des entreprises type Codeacademy, et Udemy, dans l’EDU/tech
  • StackOverflow commence en 2008
  • Migration vers SaaS d StackOverflow intéresse Prosus
    • Jobs 50% du revenu
    • Team collaboration tool bonne croissance
    • C’est stackoverflow pour les équipes internes

docker hub autobuild, les crypto mineurs m’ont tué.

En avril, nous avons vu le nombre d’heures de construction augmenter de 2 fois notre charge habituelle et à la fin du mois, nous avions déjà désactivé ~ 10 000 comptes en raison d’abus de minage. La semaine suivante, nous avons eu environ 2 200 mineurs supplémentaires.

  • Il faut contacter Docker pour les projets OSS de bonne volonté qui ont besoin de ce service

Méthodologies

Le temps moyen de PR entre Stripe et Mozilla

  • Des jours à attendre le feedback vs 10 minutes
  • C’est un débat assez fondamental je trouve. Comment organiser les équipes pour que les PR soient vues comme la chose importante. Plus que « le code ».
  • Différence Service vs product

Loi, société et organisation

Un article de rappel sur la copie privée

  • Copie privée basse sur les cassettes et VHS. Ensuite le stockage numérique explose
  • 270 millions d’euros en France en 2017
  • Une commission administrative fixe les règles. Composée. de 6 usagers, 6 vendeurs de stockage, 12 ayants droit et un président au droit de vote et pro ayant droit. Rapport de force clair
  • Ils essayent de construire la vache à lait : prix basé sur la copie licite ou pas (cassé en 2008) ensuite argument de compression pour garder le barème haut
  • En théorie que pour les particuliers et procédure de remboursement pour les pros. Mais difficile à appliquer donc quasi jamais fait.
  • 25 % des gains financent des festivals et manifestations culturelles : instrument d’influence des élus locaux et pas si locaux
  • Efforts pour taper sur tous les disques durs nus, faire entrer dans le champ le stream ripping
  • Et maintenant la copie privée sur la vente d’occasion. La grande classe.
    • Risque pour l’économie solidaire qui sont sur des populations fragiles
    • Le sénat veut favoriser l’écologie de la seconde main et serait pour l’exclusion de la taxe dans ce cas-là.
    • Les smartphones c’est 70 % de leurs revenus

Outils de l’épisode

Google ZX pour écrire des scripts en JavaScript

Conférences

RivieraDev

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/


LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2

Posté le 07/06/2021

José (maintenant Java Advocate chez Oracle - le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette deuxième partie voit l’équipe discuter de la propriété illegal access (JEP 396), de l’API vectorielle, de la foreign linker API et d’autres choses.

Enregistré le 8 avril 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-257.mp3

Interview

Ta vie, ton oeuvre

José Paumard
Henri Tremblay

Illegal access pass en deny par défaut (Henri)

JEP 396 (encapsulation force des parties internes du JDK).
FEATURE Make Lombok compatible with JDK 16 · Issue #2681 · rzwitserloot/lombok · GitHub

API vecteur

Les Vector sont de retour ?! Discussion autour du parallélisme au niveau CPU — Simple Instruction Multiple Data

Foreign Linker API

Pour projet Panama
Lier une méthode native avec du code Java
Du coup on a aussi un foreign memory access API ?

Project panama and jextract – Inside.java Jextract genera le code Java à partir du fichier de declaration C.

JVM sur d’autres plateformes

Alpine Linux et Musl
AArch64 (ARM) sous Windows

ZGC

Move ZGC thread-stack processing from safepoints to a concurrent phase.

Autres

  • Mercurial -> git
  • Return unused HotSpot class-metadata (i.e., metaspace) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs.

Bonus Java 15

Shenandoah
Text blocks
Plus de Nashorn
Une discussion autour de GraalVM

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/


LCC 256 - jTerrasse

Posté le 24/05/2021

Antonio et Emmanuel discutent entre autre de JavaDoc, Quarkus, Crypto dans le CI, bootstrap 5, Grafana, cloud de confiance sans oublier les crowdcasts sur Cypress et sur hack.commit.push du 29 mai.

Enregistré le 21 mai 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-256.mp3

News

Langages

Un JEP pour améliorer la JavaDoc

  • On va pouvoir référencer, par exemple, des morceaux de code dans un autre fichier, dans un test, et l’intégrer dans la JavaDoc d’une méthode, d’une classe. Ca permettra d’avoir de la doc vraiment à jour au niveau des bouts de code, vu que ce sera toujours le vrai code qui tourne qui sera inséré dans la JavaDoc.
  • Il pourra y avoir également de la coloration syntaxique
  • Il sera possible de définir des régions qui doivent être surlignées pour être bien visibles
  • Il sera possible de modifier certaines parties d’un snippet de code, par exemple pour cacher une chaine de caractère de test dont on se moque de la valeur quand on explique ce bout de code
  • Possibilité de rajouter des liens hypertextes sur certains bouts de code, pour pointer, par exemple, vers la JavaDoc d’une méthode utilisée dans ce bout de code
  • Pourvu qu’ils reprennent le plus possible la syntaxe asciidoctor qui a déjà résolu ce problème

Asciidoclet

Discussion sur le raisons du besoin derrière Loom

  • Article qui reste d’un premier niveau, il faut creuser, les bénéfices réels
  • IO et synchro bloque un thread. Limite scalabilité. Le code asynchrone est plus dur à comprendre.
  • Virtual threads don’t bien pour des taches qui passent beaucoup de temps à attendre
  • Les API IO bloquantes parkent le virtual thread quand elles sont en attente
  • Un poller (boucle d’évènements) regarde les IO et leur état et unpark les virtual threads correspondant
  • Mécanisme similaire aux frameworks non-bloquants to de type vert.x mais avec une API bloquante

Librairies

Quarkus 2.0 alpha 1, 2 et 3 sont sortis

  • Quarkus 2 parce que Vert.x 4 et MicroProfile 4, pas de “gros” breaking changes, mais quelques breaking changes pour les extensions
  • Continuous Testing : dans la console, on voit les tests qui plantent. Et quand on fait un code change, uniquement les tests qui sont impactés sont joués (flow analysis).
  • Lance aussi dans un container dédié les dépendances (e.g. une base de donnée pour les tests utilisant Hibernate). Le container pour les tests en continu est différent de celui pour le quarkus:dev qui tourne (pas de pollution).
  • JDK 11 minimum

Micronaut 2.5 est sorti

  • support for @java 16 and @graalvm 21.1 on Micronaut Launch,
  • huge improvements to Micronaut Data from @DenisStepanov,
  • improved @OracleCloud integration
  • and many other small improvements

Infrastructure

Les cryptomineurs tuent les CI gratuite

  • Les mineurs de crypto monnaies abusent des services de CI qui offre des capacités de build gratuites
  • Une des nouvelles astuces c’est d’utiliser les outils comme Pupetteer pour automatiser l’utilisation d’un navigateur web, pour miner de la crypto monnaie dans le navigateur qui tourne en headless sur la machine de CI
  • À la grande époque d’OpenShift Online et d’OpenShift.io, on a beaucoup appris sur la detection des Bitcoin miners :)
  • on a eu le soucis sur Codeship (la CI SaaS de CloudBees). Ils ont passé un max de temps à virer et protéger les builds. J’ai vu que GitHub avait eu aussi le soucis

Les 19 étapes facile pour écrire un dockerfile

  • En vérifiant l’ordre de ses commandes, en limitant le scope de Copy, d’aligner les RUN d’installation de package, d’utiliser des images officielles, voire de se créer ses images de base, d’utiliser des tags spécifiques pour des images plus reproductibles, effacer le cache du package manager, de builder dans une image offrant un environnement cohérent, de récupérer ses dépendances dans une étape à part, de faire du multi-stage build… Ou d’utiliser les Cloud Native Buildpacks ! (sur lesquels Joe bosse)
  • Article qui nous explique la complexité et les trade off impossibles. Et donc que buildpack c’est indispensable

Comparaison Apache Kafka et Apache Pulsar

  • pulsar a des brokers sans état et derrière il y a des bookkeepers (qui stockent les data).
  • Cela permet plus de flexibilité pour augmenter ou descendre le nombre de brokers. mais avec plus de “moving parts” et avec un hop de réseau supplémentaire.
  • Mais l’architecture est plus flexible notamment pour Kubernetes
  • Le stockage étagé et la géo-replication est plus facile dans Pulsar (par défaut). Le stockage étagé c’est par exemple stocker l’info dans un S3 quand elle est vieille.
  • Pulsar est multi-tenant par design.
  • Pulsar accepte des gros messages et sit les fragmenter au besoin
  • plus grosse communauté sur Kafka mais il y a des composants non open source (Confluent).

Cloud

Red Hat OpenShift Streams for Apache Kafka : un service cloud de Kafkas managé

Web

Bootstrap 5 est sorti

  • New offcanvas component
  • New accordion
  • New and updated forms
  • RTL is here
  • Overhauled utilities
  • New snippet examples
  • Improved customizing
  • Browser support
  • Dropped Microsoft Edge Legacy
    • Dropped Internet Explorer 10 and 11
    • Dropped Firefox < 60
    • Dropped Safari < 10
    • Dropped iOS Safari < 10
    • Dropped Chrome < 60
    • Dropped Android < 6
  • JavaScript
    • No more jQuery!
  • Le Guide de migration est ici

Crowdcast sur Cypress par Emmanuel Demey

La fin de Google AMP ou son intérêt devrait descendre

  • AMP avait un avantage majeur. Celui d’être en premier sur les résultats du moteur de recherche.
  • Et les médias passaient en AMP rien que pour ça parce que le traffic du moteur de recherche dominant est essentiel
  • Mais AMP posait beaucoup de problèmes techniques et éthiques. Le contenu était hébergé et caché sur des pros idées edge et en pratique Google.
  • Donc les mesures d’audience étaient plus compliquées
  • Et les ads avaient aussi des bias pavers la régie google.
  • Les prochains scoring de google search seront neutre ce qui risque faire baisser les pages AMP
  • Les pages AMP avaient dû réinventer beaucoup de concepts du web

Outillage

JFrog garde Bintray JCenter en lecture seule y compris le miroir de Maven central

  • Ca sent le truc planifie pour faire migrer et descendre le traffic et arriver en bon samaritain après. Cela dit ils étaient bons samaritains avec la version gratuite
  • Au moins les builds anciens ne vont pas casser

Docker desktop : sauter une mise à jour devient une option payante

  • à partir de Docker 3.3 on peut éviter l’installation d’une nouvelle version avec la souscription pro ou team. Si j’ai bien compris.
  • Tu peux faire un rappel pour plus tard mais tu ne peux effectivement pas refuser définitivement une version donnée sans payer sinon ils te harcèlent (je ne connais pas la fréquence) pour upgrader.
  • En gros si tu ne paies pas tu dois être sur latest. Ils ne vont pas faire du support sur d’anciennes versions pour les clients gratuits
  • Ce qui est logique.

Spock 2.0

  • Spock est rebasé sur JUnit Platform
  • Support de l’exécution en parallèle des test specs et des test features
  • Support de Groovy 3
  • Améliorations des tests avec des données tabulaires

Sécurité

Bug de dénie de service dans snakeyml

  • C’est dû à la capacité de faire des références qui contiennent une référence à un élément plus haut. Paf récursion infinie.
  • à un moment, notre support YAML dans Groovy utilisait SnakeYaml il me semble, mais je viens de vérifier, on est passé à Jackson

Loi, société et organisation

Grafana, Loki et Tempo passent de ASL 2 à AGPL

  • La AGPL c’est la GPL mais pour lequel un service est comme une distribution
  • inspiré par MongoLab CoackroachDB etc
  • Cela reste open source au moins même s’il y a des interprétations différentes du linkage et donc des risques
  • Est-ce que un service qui utilise grafana doit entièrement être AGPL ?

Quand un troll de brevet attaque, cloudflare contre attaque

  • cloud flare est attaqué par un troll de brevet et contre attaque pour la seconde fois en payant la recherche d’antériorité sur l’ensemble du portefeuille de brevets de cette entité.
  • Pour lui faire perdre une bonne partie de la valeur. « You do not negotiate with terrorists or children »

BaseCamp perd 30% de ses employés après son ban de conversations sociétales

  • La liste des noms d’employés « funny » est ressorti avec des relents racistes
  • Les employés ont visiblement eu un débat dessus
  • DHH et Fry on fait un mémo bannissant les conversations politiques et sociétale parce qu’elle n’amenaient pas de bien pour la société (resentment etc)
  • Mais les employés le voient comme une façon de ne pas voir les sujets importants en face et les impactes des produits tech sur la société
  • Ils ont offert un golden parachute à qui voulait partir
  • Et boom 30 % ont dit oui

Stratégie nationale du cloud français

  • cloud solution d’hébergement par défaut des services numériques d’état
  • protégé de règlementation extracommunautaire
    • contre le cloud act et autres lois
  • label “Cloud de confiance” c’est comme le porc salut
    • mise à jour du SecNumCloud de l’ANSSI
  • solution hybride société Française ou Européenne en utilisant les briques logicielles de groupes américains
    • serveurs en France
    • opérée par des entreprises européennes
    • détenues par des européens
  • “les Américains sont les plus avancés”
    • Google et Microsoft ont signé l’accord de licence
    • donc pas Amazon

Cloud de Confiance en qui ? par Laurent Doguin

Outils de l’épisode

MuseGroup rachète audacity

  • Enfin la marque
  • Promet des designers sur l’interface et des contributeurs
  • Et de rester open source
  • On va voir

Conférences

Devoxx france bougent au 29, 30 septembre et 1er octobre

Crowdcast d’Agathe sur hack.commit.push samedi 29 mai, inscrivez-vous !

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/


LCC 255 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 1

Posté le 10/05/2021

José (maintenant Java Advocate chez Oracle – le cachotier) et Henri échangent avec Emmanuel sur la sortie de Java 16. Cette première partie couvre l’introduction, les records, le pattern matching, les sealed class, les hidden classes et le créateur d’installeur jpackage. La suite au prochain numéro.

Enregistré le 8 avril 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-255.mp3

Interview

Ta vie, ton oeuvre

José Paumard
Henri Tremblay

Java et sa cadence de release

Retour général sur la cadence de release: bien ou mal ?

Java 16

JDK 16
JDK 16 Arrived : Java 16 Released with New Features | TechGeekNext »

Records

Pattern matching

instanceof

Autres pattern patching qui sont arrivés?

Sealed classes (preview)

C’est quoi ?
Ça sert à quoi ?

Et les hidden classes ?

Un petit détour par le mégamorphisme

jpackage

Construire des installeurs d’applications Java

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/


LCC 254 - Fission acquisition

Posté le 20/04/2021

Arnaud et Emmanuel discutent la sortie de Java 16, diverses distributions d’OpenJDK, des outils comme JHipster, JReleaser, la décision de la court suprême dans le procès des API Java entre Google et Oracle et le refactoring de Michael Dell avec la cession de VMWare.

Enregistré le 16 avril 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-254.mp3

News

Langages

Java 16 est sorti

La plateforme Java moderne de 2021, selon James Ward

  • James parle de Java la plateforme, donc y compris ses langages alternatifs, en particulier Kotlin et Scala dont il est fan
  • Java a l’avantage d’avoir un outillage moderne, aussi bien niveau IDE (Intellij, VS code…) que des librairies de tests (Java, Testcontainers…)
  • Pour les frameworks les plus utilisés, évidemment Spring vient en tête, mais il mentionne aussi Micronaut (avec l’injection de dépendance à la compilation) et Quarkus (avec son focus sur l’expérience développeur)
  • James fait la part belle à l’approche “reactive”, en mentionnant par exemple les drivers de base de données R2DBC
  • Pour continuer sur le thème réactif, il mentionne aussi le reactive streaming (au-dessus de Kafka par exemple), mais il parle aussi de CQRS et Event Sourcing, mais aussi les CRDTs
  • Niveau conteneurisation, il cite les initiatives comme Jib, les cloud native Buildpacks, ou les images Distroless, pour faciliter et simplifier le packaging d’applis Java pour les environnements à base de conteneurs
  • Côté “serverless”, James évoque GraalVM, pour transformer les applis Java en native, pour gagner en temps de premier chargement (le cold start, fréquent dans les environnements serverless)
  • (Il aurait pu mentionner les approches comme Micronaut avec l’injection de dépendance à la compilation qui éviter une bonne partie du coût de démarrage du framework sous-jacent et diminue donc le cold start)

53 librairies Java pour résoudre vos problèmes

  • Max Andersen avait demandé sur Twitter de donner des librairies Java utiles et pratiques qui résolvaient des problèmes concrets, Emmanuel a compilé la liste
  • avec des librairies pour parser / générer du code Java, des structures de données, de conversion de format, pour parser des formats de données, pour le web aussi bien en tant que serveur que pour faire des requêtes, pour les tests de toutes sortes

La migration d’AdoptOpenJDK vers Eclipse Adoptium a commencé

Microsoft annonce sa distribution d’AdoptOpenJDK

  • LTS gratuite et “sans coût”
  • Support au sens patch jusqu’en 2024 de 11
  • Utilisent en interne pour leurs clients et pour eux
  • Ont aussi une version java 16 arm en preview
  • utilise les tests adoptium
  • ça peut dévier d’OpenDJK en termes de patchs
  • Eclipse Adoptium pour Java 8
  • docker image bientôt
  • Azul vient de perdre un client

Librairies

Spring-Boot client app to access an Auth0 protected service (JWT).
JHipster release v7.0.0

Outils

Andrés Almiray annonce la release de… JReleaser, un projet qui permet de facilement livrer un projet Java sur des plateformes comme Homebrew, Snapcraft, Scoop, ou des registries de conteneurs.

Cloud

AWS announce OpenSearch, une communauté qui forke ElasticSearch et Kibana

  • OpenSearch (derived from Elasticsearch 7.10.2) and OpenSearch Dashboards (derived from Kibana 7.10.2)
  • ASL 2.0
  • marque OpenSearch avec usage permissif
  • Amazon OpenSearch Service
  • Red Hat, SAP, Capital One, and Logz.io
  • réutilise la marque OpenSearch que Amazon avait avant pour autre chose

Infrastructure

Pourquoi tous mes serveurs ont un fichier vide de 8 Go?

  • rien de pire qu’un linux ou macOS avec zero espace disque, ca part en sucette
  • donc 8 Go pour se donner du temps
  • ca touche mon égo de développeur cette solution :)

Docker Desktop for Apple Silicon en preview

  • ils offrent une alternative au framework de virt d’Apple qui tourne sur QEMU
  • utilise encore rosetta 2 vu qu’il y a des libs qui utilisent encore Intel
  • fait tourner les images ARM, et sinon ajouter la plateforme AMD64 mais les images AMD crashent QEMU parfois
  • pour QEMU: “ping from inside a container to the Internet does not work as expected.” LOL

Levée de fond de 23 millions de dollar pour Docker

  • Série B, ahahah

2ème incendie chez OVH

  • Dégagement de fumée de 300 batteries de 25 kg
  • Sgb1 et 3 coupés temporairement

Loi, société et organisation

Google chrome révèle le type de données collectées attachées à l’utilisateur. ( + Google Chrome 90 )

  • Beaucoup plus important que Firefox ou Safari.
  • Google a mis longtemps avant de donner ces infos.
  • après c’est la course au nombre et beaucoup sont poussées par des fonctionnalités mais cela montre l’approche philosophique différente.
  • Chrome acte comme un super-cookie.
  • j’ai mis edge par défaut sur l’ordi de mon père

Fin du procès Oracle vs Google

  • les API ne sont pas copyrightable
  • Pas exactement. Ils disent que dans le cas de Google vs Oracle, c’est ok parce que les API sont devenues des choses familières aux développeurs et donc que dans ce cas c’est ok. Ils ne se positionnent pas exactement sur API vs implementation
  • Que les API comme ça s’éloignent du cœur de la notion de copyright. Concept intéressant. Et d’où la notion de fair use.
  • Mais ça dépend de comment le code est fait et utilisé
  • “When a new interface, like an API or a spreadsheet program, first comes on the market, it may attract new users because of its expressive qualities, such as a better visual screen or because of its superior functionality. As time passes, however, it may be valuable for a different reason, namely, because users, including programmers, are just used to it. They have already learned how to work with it.”

Microsoft a regardé ses employés remote et c’est pas beau

  • +52 % de messageries instantanées entre minuit et 6 heures
  • 61 % des leaders sont super-efficaces vs 38 % pour les non leaders
  • Moins de chances de voir les problèmes en remote
  • 37 % pensent que la société les fait travailler trop dur et 41 % cherchent un nouvel employé
  • consider how to reduce employee workloads, embrace a balance of synchronous and asynchronous collaboration, and create a culture where breaks are encouraged and respected
  • Encourager les coupures y compris les vacances

cratedb abandonne l’open core et retourne sur ses racines open source et s’éloigne de la business software license

Dell vend (encore) VMWare

  • vente des 80 % détenus
  • pour rembourser sa dette
  • indépendance mieux pour les deux sociétés
  • “stimuler l’innovation et préserver les synergies”

Conférences

Mix-IT (virtuel) les 18, 19 et 20 mai 2021

  • 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause

https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/

  • reprend une partie du CfP de l’année dernière.

Outils de l’épisode

Pourquoi les prix d’AWS lambda sont trop élevés pour du batch

topgrade pour mettre à jour tous vos systèmes de packages. asdf pour gérer facilement différentes versions de vos outils en lignes de commande (java, maven, gradle, kubectl, help, …..).

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/


LCC 253 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 2

Posté le 08/04/2021

Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette seconde partie explique GraphQL concrètement pour le développeur, les différents moteurs et clients et le futur de GraphQL.

Enregistré le 25 février 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-253.mp3

Interview

Ta vie, ton oeuvre

Stan Chollet
tartiflette.io

Jean-François James
Microprofile GraphQL

En pratique pour le développeur

Je veux faire du GraphQL, maintenant quoi ?
Quels frameworks choisir ?
Lien JS - mon language (e.g. Java)

Comment définir son schéma
Des outils qui aident à la génération des entités ?
Erreurs dans les requêtes

Comment écrire ses requêtes,
Qu’est-ce qui est possible

Comment réduire les requêtes possibles
Générer 23 jointures ?
De pas afficher certaines données à l’utilisateur

Comment faire des agrégations de plusieurs sources ?

Modification des données

Faire évoluer ses APIs
Et quid des changements incompatibles ?

Pagination

Apollo GraphQL
GraphiQL
GraphQL Playground
Postman

Sous le capot

Qui définit GraphQL ?
Qui implémente ?

Les clients GraphQL

Les Serveurs GraphQL

Les GraphQL <-> requête dans la base de données

GraphQL Futur

GraphQL federation
Lee Byron qui part de Facebook, moins d’activités

La spec GraphQL

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/


LCC 252 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 1

Posté le 29/03/2021

Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette première partie explique les concepts et les points de base de GraphQL.

Enregistré le 25 février 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-252.mp3

Interview

Ta vie, ton oeuvre

Stan Chollet
tartiflette.io

Jean-François James
Microprofile GraphQL

GraphQL en deux mots

La techno en concepts

D’où vient GraphQL?

On avait WS-*
Ensuite on a eu REST

Quels sont les problèmes principaux que GraphQL essaye de résoudre?

Quand rester sur REST vs aller sur GraphQL?

Les concepts:

  • Schéma
  • Requêtes
  • version

Toujours JSON ?

Une requête pour plusieurs sources

Apollo GraphQL
GraphQL Federation
Domain Graph Service

45:07

En pratique pour le développeur

Je veux faire du GraphQL, maintenant quoi ?
Quels frameworks choisir?
Lien JS - mon language (e.g. Java)

Comment définir son schéma
Des outils qui aident à la génération des entités?
Erreurs dans les requêtes

Comment écrire ses requêtes,
Qu’est-ce qui est possible

Comment réduire les requêtes possibles
générer 23 jointures?
De pas afficher certaines données à l’utilisateur

Comment faire des agrégations de plusieurs sources ?

Modification des données

Faire évoluer ses APIs
Et quid des changements incompatibles?

Pagination

Apollo GraphQL
GraphiQL
GraphQL Playground
Postman

Sous le capot

Qui définit GraphQL?
Qui implémente?

Les clients GraphQL

Les Serveurs GraphQL

Les GraphQL <-> requête dans la base de données

GraphQL Futur

GraphQL federation
Lee Byron qui part de Facebook, moins d’activités

La spec GraphQL

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/


LCC 251 - Trié dans le désordre

Posté le 16/03/2021

Dans cet épisode désordonné mais complet, Antonio, Guillaume et Emmanuel parlent de JVM sur Kubernetes, des datacenters OVH, de Spring Native, de Flutter, de Saga, d’Open Source et de salaire.

Enregistré le 12 mars 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-251.mp3

News

Infrastructure

Un data center d’OVH en feu

  • Strasbourg
  • data center entièrement détruit
  • recommande d’activer les protocoles de disaster recovery
  • impacte aussi d’autres data centers : SBG1, SBG3 et SBG4 (électricité coupée et une partie des salles serveurs)
  • Autre article couvrant l’évènement
  • 3,5 millions de sites down, les backups aussi?
  • 18% des adresses IP attribuées à OVH
  • redémarrage (sauf SBG2) la semaine prochaine
  • touche la partie hosted private cloud
  • quelques jours avant annonce de mise en bourse

Améliorer le temps de démarrage des JVMs sur Kubernetes

  • JIT etc, temps de démarrage relativement lent
  • rajouter des pods et faire deu deployment graduel (3x coût)
  • script de chauffe avec le readiness probe utilisant initialDelaySeconds mais pas d’amelioration massive (rejoue les URLs de prod) et ralentit l’auto scaling
  • changer les heuristiques de la JVM : 2x CPU request et limit puis 3x => problème disparait, CPU throttling ; mais coûteux et plus difficile de positionner les pods
  • utiliser des pods “burstable”, limit > requests
  • Bon articles pour ceux qui sont en phase d’apprentissage de Jave et Kubernetes.
  • Attention, leur modèle peut faire crasher un nœud en cas de problème et de reboot de pods excessifs puisque la charge théorique nécessaire est de 3x. Mais ce n’est probablement pas pire que leur problème initial

Front

Sortie de Flutter 2.0

  • poste plus technique
  • niveau production pour le support du Web
  • Sound Null Safety qui permet d’éviter les null pointer exception
  • le support du desktop est aussi en mode stable
  • de nouvelles widgets
  • Meilleur support dans IntelliJ et Visual Studio Code
  • Filio une app exemple pour être progressive et belle sur tous les supports
  • Flutter fix pour faire évoluer le code
  • “500,000 Flutter developers across a growing number of platforms” wow

Librairies

Hibernate Reactive 1.0 CR arrive

Spring Native est en beta

Micronaut 2.4 est sorti

  • Ajout et support des annotations jakarta.inject comme alternative à javax.inject
  • Ajout d’annotations @NonNull et @Nullable propres à Micronaut, car différents outils et frameworks proposent aussi des annotations nullables qui rentrent parfois en conflit les unes avec les autres
  • Nouvelle annotation @InterceptorBean pour appliquer des interceptors à des beans, qui remplacent les annotations AOP existantes
  • Support plus fin des erreurs de réponse, avec des content type plus fins
  • Diverses améliorations de Micronaut Data, dont par exemple le support des records de Java 14+
  • Support de Oracle Coherence CE pour Micronaut Data

Outillage

Gradle explique l’impact de la disparition de JCenter sur les builds Gradle

  • téléchargement des dépendances et des plugins
  • publications vers bintray
  • beaucoup d’exemples utilisent jcenter + Gradle, donc verifier vos fichiers de build => jcenter() déprécié
  • reco: enlever jcentral du build et verifier que ca continue de tourner
    • troubleshoot les dépendances qui ne sont que sur jcentral
  • spécialement à risque Android
  • Gradle Entreprise dans le build scan on sait d’où vient chaque dépendance
  • les plugins peuvent ajouter des repository à vos projets
  • dépendance encore sur jcenter uniquement (attendre le maintainer, migrer vers une autre librairie, copier le jar
  • attention aux confusions de dépendances et collisions de namespace
    • risque potentiel
    • activation de verification des dépendances (<verify-metadata>true</verify-metadata> <verify-signatures>false</verify-signatures>)

Architecture

InfoQ article sur le pattern Saga, le outbox pattern et change data capture

  • outbox pattern, évite l’écriture double DB/queue. Il écoute les changements de la base de donnée dans une table dédiée qui est transformée en message dans une queue apr le composant de change data capture (modifié)
  • cela évite tout besoin de XA ou autre synchronisation distribuée
  • Saga, transaction métier large. utilise des compensations pour annuler partiellement ou totalement la transaction
  • 2 approches
  • choreography: passage des messages d’un service a l’autre
    1. orchestration: un service coordonne les autres et fait les appels
  • dual write: inconsistance si un ou l’autre des envois (DB tx ou message) échoue
  • Article ensuite décrit comment implementer une saga entre 4 services via the outbox pattern en utilisant Kafka et Debezium

Thoth un framework event sourcing de la Maif

Méthodologies

L’état des lieux du Dev Java par JAXenter

  • 49% de Dev java et le reste team lead architect et consultants
  • 69% Java 8, JavaScript at 40%, Java 11 at 36% (note that they were allowed to select more than one programming language of choice). 16% Java 12 or newer, and 15% Java 7 or older.
  • 66% convertissent ou utilisent microservices , 13% ne l’envisagent pas, 70% moins de 10 microservices
  • App servers 66% tomcat, 19% wildfly, 18% weblogic, 15% jetty, 14% web sphere
  • Spring boot 62% (83% l’année dernière), drop wizard 8%, Quarkus 6%
  • Idea 65%, eclipse 48%, vscode 27%, Netbeans 13%
  • 59% oracle JDK, 22% adopt et 10% corretto
  • Maven 67% (50% l’année dernière)
  • Docker 57% (74% en 2020), kube 42%, VMware 27%
  • Jenkins 61%
  • 76% utilisent un cloud
  • AWS 39%, azure 24%, Google 18%
  • Douleurs de Dev
  • 54% temps de réponse
  • Redeployment 59% 4 mins, 20% 10 mins

D3.js 10 ans d’open source ; les leçons apprises

  • apprendre aux autres » code en terme d’impact ; exemples sont puissants (modifié)
  • Le support expose les problèmes de l’outil très rapidement pour apprendre les choses a améliorer. Mais dès que cela arrête d’être constructif pour vous, arrêter et ne vous sentez pas mal.
  • visualisation utile pour l’exploration et l’explication mais ce sont deux cas d’utilisation différents
  • ne commiter pas sur une forme de visualisation (camemberts, barres etc) avant d’avoir vu votre data dessus.
  • 90% des bugs sur 10% des fonctionnalités: choisissez bien vos batailles
  • Internet va vous faire sentir mal
  • ne pas y aller seul
  • Essayer d’avoir du bon temps

Salaire égal pour tous dans la société

  • 175k pour tous y compris les fondateurs
  • Évite d’avoir à quantifier la performance de chacun
  • Et le Risque incentivization individuelle != team (modifié)
  • Transparence du modèle
  • Plus bas salaire pour certains si ils travaillaient ailleurs mais c’est une valeur qui permet de vivre correctement avec enfants (jugé et testé par les fondateurs)
  • Paie basée sur le travail et non les coûts de l’employé -> pas de différence géographique
  • Scale probablement pas mais une start up peut se le permettre (ils ne prennent pas de junior pour l’instant
  • Carrière != compensation par rewards
  • Mais pour les parts dans la boîte ils le font en fonction du risque du premier risque au dernier pas risque

Loi, société et organisation

Un autre renvoie d’une personne du groupe ethic AI chez google après qu’elle ait téléchargé avec un script des infos concernant la première employée renvoyée

  • Elle a exfiltré des milliers de docs vers des comptes externes
  • Met en doute le commitment du ethical ai chez Google
  • Mais comment répondre à une personne ex filtrant des docs privés ?
  • Mitchell qui annonce qu’elle est virée
  • Éthique vs lanceur d’alerte ?

Conférences

Mix-It (virtuel) les 18, 19 et 20 mai 2021

  • 10 talks de 30 mn + 20mn de Q&A + 10 mn de pause

https://www.devoxx.fr/2021/02/25/preparation-du-programme-de-ledition-2021/

  • reprend une partie du CfP de l’année dernière.

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/


LCC 250 - Spécial Loi Société et Organisations avec Agnès Crepet et Tariq Krim, 2ème partie

Posté le 03/03/2021

L’actualité du mois de janvier était trop tentante pour passer à côté, voici donc un nouvel épisode spécial loi, société et organisation ! Cette fois Agnès, Audrey et Emmanuel ont demandé à Tariq Krim de les rejoindre pour commenter les conséquences des nouvelles CGU de WhatsApp et le départ en masse de ses utilisateurs et la déplateformisation de Donald Trump. Et comme il y avait beaucoup à dire sur le sujet, on vous en a fait deux épisodes.

Enregistré le 5 Février 2021

Téléchargement de l’épisode LesCastCodeurs-Episode-250.mp3

Invité de l’épisode

Twitter Tariq Krim

Intros et premiers sujets en partie 1

1ère partie de l’épisode

La déplateformisation de Trump et des comptes affiliés à QAnon

  • Le compte personnel de Trump - 80 millions de followers sur Twitter - bannie des réseaux sociaux suite à la prise d’assaut du Capitol
  • Le post officiel de Twitter
  • Bannir Donald Trump de Twitter crée un précédent « dangereux », affirme son patron
  • Le thread de Jack Dorsey, le CEO de Twitter
  • Parler retirée des stores Google et Apple, et son infra supprimée de AWS.

  • Suite aux évènements au Capitole, Trump ainsi que 70000 comptes affiliés à QAnon ont vu leur compte supprimés de Twitter
  • A noter que Twitter a seulement agi à la fin du vote du congrès pour activer leur procedure.
  • Trump a bien essayé de se servir du compte officiel de la présidence américaine pour dénoncer la suppression de son compte mais ses tweets ont été dépubliés au motif qu’utiliser un autre compte pour éviter la suspension enfreint les règles de Twitter
  • S’en est suivi un effet domino qui a entrainé la suppression des comptes de Donald Trump et d’adhérents à QAnon sur Facebook, Instagram, Youtube, Snapchat, Twitch, Spotify, Shopify (site qui permettait la vente de merchandising) et d’autres.
  • on parle de déplateformisation à cause de cet effet domino mais aussi parce qu’on a assisté à une deuxième étape : Trump s’est ensuite rapidement replié sur Parler, une application utilisée par l’alt-right mais l’application a été retirée des stores par Google et Apple. Son infra supprimée : c’est en effet Amazon Web Service qui a décidé de ne plus héberger le service sur sa plateforme. Ce serait peut-être lié d’ailleurs à une pétition d’employés d’Amazon, qui aurait pu influencer une telle décision. Pour Amazon les outils de modérations mis en place par Parler ne sont pas suffisamment efficaces. Cela pose la question de savoir si les services de clouds ont un droit de regard sur la façon dont une application est gérée?
  • Parler est hébergé par des russes. L’application a été financé par Rebekah Mercer qui est connue pour ses contributions aux organisations conservatrices et dont la famille a par ailleurs financé Cambridge Analytica.
  • clin d’œil : Le fondateur de Pirate Bay ironisait sur le sort de Parler “ “Pirate Bay, le site Web le plus censuré au monde, créé par des kids, géré par des personnes ayant des problèmes d’alcool, de drogue et d’argent, est toujours en activité après presque 2 décennies. Parler et Gab, etc. ont tout l’argent mais aucune compétence ni état d’esprit. Gênant.”

La désinformation en chute dans les réseaux sociaux après la déplateformatisation de Trump

GAFAM

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/