lescastcodeurs.libsyn.com Open in urlscan Pro
204.16.247.189  Public Scan

URL: https://lescastcodeurs.libsyn.com/
Submission: On November 15 via manual from FR — Scanned from FR

Form analysis 1 forms found in the DOM

Name: searchBlogGET /webpage

<form name="searchBlog" method="GET" action="/webpage">
  <input id="search_text" name="search" type="text" size="20">
  <input id="search_submit_button" type="submit" name="Submit" value="Search ">
</form>

Text Content

Les Cast Codeurs Podcast
Le podcast Java en Français dans le texte

 

Categories

podcasts


Syndication




Archives

Keyword Search






November 2023 S M T W T F S             1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30


2023
October
September
July
June
May
April
March
February
January


2022
December
November
October
September
July
June
May
April
March
February
January


2021
December
November
October
September
July
June
May
April
March
February
January


2020
December
November
October
September
August
July
June
May
April
March
February
January


2019
December
November
October
September
August
July
June
May
April
March
February
January


2018
December
November
October
September
July
June
May
April
March
February


2017
December
November
October
September
August
July
June
May
April
March
February
January


2016
December
November
October
September
July
June
May
April
March
February
January


2015
December
November
October
September
August
July
June
May
April
March
February
January


2014
December
November
October
September
August
July
June
May
April
March
February
January


2013
December
November
October
September
August
July
June
May
April
March
February
January


2012
December
November
October
September
August
July
June
May
April
March
February
January


2011
December
November
October
September
August
July
June
May
April
March
February
January


2010
December
November
October
September
August
July
June
May
April
March
February
January


2009
December
November
October
September
August
June
May
April









Mon, 23 October 2023
LCC 301 - Minoritaire ou majoritaire, là est la question!

Dans cet épisode, Emmanuel et Guillaume reviennent sur les nouveautés de
l’écosystème Java (Java 21, SDKman, Temurin, JBang, Quarkus, LangChain4J, …)
mais aussi sur des sujets plus généraux comme Unicode, WebAssembly, les bases de
données vectorielles, et bien d’autres sujets orientés IA (LLM, ChatGPT,
Anthropic, …).

Enregistré le 20 octobre 2023

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


NEWS


LANGAGES

Gérer facilement des versions multiples de Java grâce à SDKman
https://foojay.io/today/easily-manage-different-java-versions-on-your-machine-with-sdkman/

 * sdkman support java mais aussi graalVM, jbang, Quarkus, Micronaut etc (les
   CLIs)
 * la CLI UI est toujours un peu chelou donc cet article est utile pour un
   rappel

Tous les changements de Java 8 à Java 21
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/

 * Nous avons déjà partagé ce lien par le passé, mais l’article est mis à jour à
   chaque release majeure de Java pour couvrir les dernières nouveautés. Et en
   particulier, Java 21 qui vient de sortir.

Eclipse Temurin ne va pas sortir son Java 21 tout de suite
https://adoptium.net/en-GB/blog/2023/09/temurin21-delay/

 * Apparemment, une nouvelle licence pour le TCK (qui valide la compliance) doit
   être approuvée
 * Oracle semble avoir sorti de nouveaux termes, à quelques jours de la sortie
   officielle de Java 21
 * la mise a jour du TCK est arrivée le 9 octobre.
 * comment Microsoft a pu sortir le sien avant?

Le Financial Times propose un bel article avec des animations graphiques
expliquant le fonctionnement de l’architecture de réseau de neurones de type
transformers, utilisé dans les large language model
https://ig.ft.com/generative-ai/

 * LLM via relation entre les mots
 * notion de transformer qui parse les “phrases” entières ce qui capture le
   contexte
 * discute le beam search vs greedy search pour avoir pas le prochain mot mais
   l’ensemble de prochains mots
 * parle d’hallucination
 * l’article parle de texte/vector embeddings pour représenter les tokens et
   leurs relations aux autres
 * il décrit le processus d’attention qui permet aux LLM de comprendre les
   associations fréquentes entre tokens
 * le sujet des hallucinations est couvert
 * et pour éviter des hallucinations, utilisation du “grounding”

The Absolute Minimum Every Software Developer Must Know About Unicode in 2023
https://tonsky.me/blog/unicode/

 * Un bel article qui explique Unicode, les encodings comme UTF-8 ou UTF-16, les
   code points, les graphèmes, les problèmes pour mesurer une chaîne de
   caractères, les normalisation de graphèmes pour la comparaison de chaîne
 * Si vous voulez mieux comprendre Unicode, c’est l’article à lire !
 * unicode c’est un mapping chiffre - caractère en gros
 * 1,1 millions disponibles dont 15% définis et 11% pour usage privé, il reste
   de la place. Et non les meojis ne prennent pas beaucoup de place.
 * usage prive est par exemple utilise par apple pour délivrer le logo apple
   dans les fonts du mac (mais pas ailleurs)
 * UTF est l’encoding du chiffre de l’unicode
 * UTF-32: 4 bytes tout le temps, UTF-8, encodage variable de 1 a 4 bytes
   (compatible avec ASCII) ; il a aussi un peu de détection d’erreurs (prefix
   des bytes différents),
 * optimise pour le latin et les textes techniques genre HTML
 * problème principal, on peut pas déterminer la taille en contant les bytes ni
   aller au milieu d’une chaine directement (variable)
 * UTF-16 utilise 2 ou plus de bytes et est plus sympa pour les caractères
   asiatiques
 * un caractère c’est en fait un graphème qui peut être fait de plusieurs
   codepoints : é = e U+0065 + ´ U+0301 ; ☹️ (smiley qui pleure) is U+2639 +
   U+FE0F
 * D’ailleurs selon le langage “:man-facepalming::skin-tone-3:”.length = 5, 7
   (java) ou 17 (rust) ou 1 (swift). Ça dépend de l’encodage de la chaine
   (UTF-?).
 * ““I know, I’ll use a library to do strlen()!” — nobody, ever.”
 * En java utiliser ICU https://github.com/unicode-org/icu
 * Attention java.text.BreakIterator supporte une vieille version d’unicode donc
   c’est pas bon.
 * Les règles de graphème change a chaque version majeure d’unicode (tous les
   ans)
 * certains caractères comme Å ont plusieurs représentations d’encodage, donc il
   ya de la normalisation: NFD qui éclate en pleins de codepoints ou NDC qui
   regroupe au max
 * normaliser avant de chercher dans les chaines
 * certains unicode sont représentés différemment selon le LOCALE (c’est la
   life)
 * et ça continue dans l’article

JBang permet d’appeler Java depuis Python via un pypi
https://jbang.dev/learn/python-with-jbang/

 * c’est particulièrement interessant pour appeler Java de son Jupyter notebook
 * ça fait un appel a un autre process (mais installe jbang et java au besoin)


LIBRAIRIES

Quarkus 3.4 est sorti https://quarkus.io/blog/quarkus-3-4-1-released/

 * un CVE donc mettez a jour vos Quarkus
 * support de Redis 7.2
 * plus de granularité sur la desactivation de flyway globalement ou par data
   source. Depuis l’activation transparente et automatique en 3.3
 * quarkus update est l’approche recommandée pour mettre à jour.

Comment tester si un thread virtuel “pin”
https://quarkus.io/blog/virtual-threads-3/

 * exemple avec quarkus
 * comment générer la stackstrace
 * et un utilitaire JUnit qui fait échouer le test quand le thread pin
 * une série d’articles de Clements sur les threads virtuels et comment les
   utiliser dans quarkus https://quarkus.io/blog/virtual-thread-1/

À la découverte de LangChain4J, l’orchestration pour l’IA générative en Java
https://glaforge.dev/posts/2023/09/25/discovering-langchain4j/

 * Guillaume nous parle du jeune projet LangChain4J, inspiré du projet Python
   LangChain, qui permet d’orchestrer différents composants d’une chaine d’IA
   générative
 * Grâce à ce projet, les développeurs Java ne sont pas en reste, et n’ont pas
   besoin de se mettre à coder en Python
 * LangChain4J s’intègre avec différentes bases vectorielles comme Chroma ou
   WeAviate, ainsi qu’une petite base en mémoire fort pratique
 * LangChain4J supporte l’API PaLM de Google, mais aussi OpenAI
 * Il y a différents composants pour charger / découper des documents et pour
   calculer les vector embeddings des extraits de ces documents
 * Vidéo enregistrée à Devoxx sur ce thème :
   https://www.youtube.com/watch?v=ioTPfL9cd9k


INFRASTRUCTURE

OpenTF devient OpenTofu
https://www.linuxfoundation.org/press/announcing-opentofu

Dans les Dockerfiles, on peut utiliser la notation “heredocs” <<EOF des
commandes puis EOF pour indiquer une suite de commandes à exécuter
https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/

 * C’est comme faire un seul RUN avec des commandes séparées par des &&, mais en
   plus sympa parce que ça ressemble à un script bash classique
 * Par contre, c’est spécifique Docker et n’est pas portable sur podman ou autre

Docker annonce un nouveau protocole pour signer ses images OpenPubkey
https://www.linuxfoundation.org/press/announcing-openpubkey-project

 * sigstore répond https://blog.sigstore.dev/openpubkey-and-sigstore/
 * OpenPubkey s’appuie sur OIDC
 * c’est un repo GitHub pour l’instant
 * pas de partie de confiance en dehors du OIDC provider.
 * OIDC lie une identité a une clé de chiffrement via une extension du id token.
 * OIDC devient une preuve de possession
 * purement client side via la signature du id token
 * ils utilisent le nonce pour stocker la clé publique et la signer
   cryptographiquement
 * vs Sigstore: plus d’élément central comme le transparency log et l’autorité
   de certification
 * pour le projet sigstore, ils n’ont pas utilisé cette architecture parce que
   la privacy des identités notamment en cas de renommage et sur le long terme
   n’est pas respecté
 * la rotation de clés et la partie client side devient beaucoup plus complexe
   (OIDC quoi) et ouvre des risques de sécurité (bugs d’implémentation)
 * la clé des OIDC providers est rotaté et ce n’est pas expliqué dans le flow
   OpenPubkey
 * la complexité passe de server side a client side (vu que le nonce est la clé
   du système)
 * le client notamment va devoir tracker les clés de signature des providers
   OIDC tout le temps (ou un system devra le faire)
 * le id token typiquement a plus d’infos qui vont leaké en tant que certificat
   du truc signé (privacy)


CLOUD

Oracle Cloud rajoute GraalOS
https://blogs.oracle.com/java/post/introducing-graalos

 * plateforme serverless sans container
 * application native
 * en fait des applis compilées avec GraalVM native image


WEB

Comment créer le plus petit conteneur qui sert du contenu statique
https://lipanski.com/posts/smallest-docker-image-static-website

 * en utilisant les images Busybox
 * on peut descendre à environ 150kb
 * a voir la scalabilité
 * et les CVEs

The state of WebAssembly in 2023
https://blog.scottlogic.com/2023/10/18/the-state-of-webassembly-2023.html

 * Rust et JavaScript voient leur popularité lorsqu’ils ciblent wasm
 * Wasm est toujours beaucoup utilisé pour le développement web, mais aussi pour
   le serverless ou comme host pour système de plugins
 * L’étude montre que les développeurs sont intéressés par les threads, le
   garbage collection et le nouveau modèle de composants
 * Côté WASI, toutes les propositions sur le thème I/O retiennent l’attention,
   comme : le support de HTTP, du filesystem, ou les sockets… pourtant, c’est ce
   que l’approche WASIX proposait, même si elle n’a pas été très bien reçue par
   la communauté


DATA & IA

AWS investit 4 milliars dans Anthropic.ai et devient actionnaire minoritaire
https://twitter.com/didiergirard/status/1706226172428701896?s=61&t=cvEVELchNh1NmF0qxg2GgA

 * Depuis quelque temps, beaucoup de personnes se demandaient où en était AWS
   dans le domaine GenAI. La réponse vient de tomber.
 * Plutôt que de développer sa propre technologie comme le fait Google, Amazon
   adopte la stratégie de Microsoft avec OpenAI en investissant dans un pure
   player en lui fournissant de la puissance de calcul.
 * AWS deviendra le principal fournisseur cloud d’Anthropic, en fournissant son
   infrastructure à base de puces AWS Trainium et Inferentia
 * La technologie d’Anthropic sera ajoutée au catalogue d’Amazon Bedrock. Les
   entreprises pourront personnaliser et affiner les modèles sur AWS
 * Claude 2 propose une fenêtre contextuelle de 100 000 tokens, que les
   entreprises pourront utiliser.
 * Dans le cadre de cet investissement, Amazon acquiert une participation
   minoritaire dans @AnthropicAI. La structure de gouvernance d’Anthropic reste
   inchangée
 * l’annonce https://www.anthropic.com/index/anthropic-amazon
 * merci Didier Girard pour ce résumé

Article d’opinion : les bases de données vectorielles ne sont pas une catégorie
de base de donnée séparée
https://nextword.substack.com/p/vector-database-is-not-a-separate

 * On a vu l’émergence de nouvelles bases de données de type vectoriel ces deux
   dernières années : Pinecone, Milvus, Weaviate, Qdrant, etc
 * Mais les DB existantes sont toutes en train de rajouter le support des
   vecteurs dans leur moteur
 * Pour la “data gravity” : c’est plus facile d’avoir ses données au même
   endroit que d’en avoir dans différentes bases malgré leur corrélation
 * Pour capturer le use case de “Retrieval Augmented Generation”, en utilisant
   les Large Language Model pour récupérer de l’info dans ces bases de données
   vectorielles
 * Je pense qu’on verra aussi les DB vectorielles ajouter également plus de
   fonctionnalités de requêtage qui leur manquent

Chat GPT: voix et image
https://openai.com/blog/chatgpt-can-now-see-hear-and-speak

 * OpenAI a annoncé de nouvelles fonctionnalités vocales et d’image pour ChatGPT
 * OpenAI a publié un article décrivant leurs efforts de test avec GPT-4V. Ils
   ont utilisé le modèle dans un outil appelé Be My AI, qui aide les personnes
   malvoyantes en décrivant le contenu des images:
   https://cdn.openai.com/papers/GPTV_System_Card.pdf
 * L’article résume l’évaluation du modèle GPT-4V par OpenAI, qui inclut des
   tests de comportement, de sécurité, et de capacité médicale, mais conclut que
   le modèle n’est pas approprié pour des fonctions médicales.

L’IA c’est pas rentable
https://www.tomshardware.com/news/microsoft-lost-money-on-ai

 * copilot dépense 20$ par utilisateur qui ramène 10$
 * donc il va y avoir de la rationalisation après l’acquisition rush
   d’utilisateurs
 * En augmentant les prix
 * en mettant des limites plus restrictives
 * En utilisant des modèles plus simples et plus légers
 * peut être avec du hardware plus optimisé en coût
 * c’est intéressant que l’IA est déjà trop puissante pour son coût et pas
   encore assez pour être suffisante. Loi de Moore ?
 * MS dit que ce chiffre est faux mais ne donne pas le vrai chiffre.


OUTILLAGE

Amazon acquiert Fig
https://techcrunch.com/2023/08/29/amazon-fig-command-line-terminal-generative-ai/

 * on en parlait recemment
 * C’est un terminal boosté à l’IA

Introduction de TestContainer Desktop
https://www.infoq.com/news/2023/09/testcontainers-desktop/

 * vient de l’appli proprio TestContainer Cloud Descktop donnée
 * permet de mettre les ports fixes (plus facile a debuger)
 * le gel des container pour laisser le container tourner pour l’inspection
 * supporte les moteurs de containers alternatifs a Docker (dont podman et
   d’autres que je ne connaissais pas)

Nouvelle version 1.7 de jq, l’outile de ligne de commande pour examiner /
modifier vos documents JSON https://github.com/jqlang/jq/releases

 * utilisation des nombres décimaux pour ne pas perdre de précision
 * une fonction pick(stream) pour faire des projections et ne garder que les
   champs qui nous intéressent
 * une fonction debug() pour logguer des message sur stderr
 * une fonction abs() pour calculer la valeur absolue
 * et plein d’autres petits raffinements et correctifs de bugs
 * la version d’avant datait de novembre 2018

Pratiques de Dogfooding: utiliser tes propres outils comme GitHub utilise GitHub
actions pour son propre système CI
https://www.infoq.com/news/2023/10/running-GitHub-using-actions/

 * avoir des runners plus larges
 * donner l’acces a des resources privées au runner via une gateway qui reçoit
   un token OIDC specific au runner
 * workflow réutilisables
 * sortie de workflow réutilisable pour optimiser si le git id est le meme qu’un
   run ancien

Sondage de la communauté TestContainer
https://www.atomicjar.com/2023/09/state-of-local-development-and-testing-2023/

 * TestContainer pour plus de 10 languages, pas juste Java
 * RDBMS puis message brokers et les bases nosql sont la majorite des usages
 * mais pas que (serveur web, emulateur de cloud, microservices internes)
 * 40% des utilisateurs utilisent autres chose que Docker Desktop (docker
   engine, podman, rancher etc)
 * testcontainer au moment du dev et pas que pour les tests


ARCHITECTURE

Vous êtes plutôt logging ou plutôt tracing ?
https://andydote.co.uk/2023/09/19/tracing-is-better/

 * l’article essaie de démontrer que le tracing, c’est mieux que le logging
 * l’imbrication des traces permet de mieux voir la corrélation que des logs
 * les traces donnent des informations de durées, pas que des timestamp
 * on peut rajouter des attributs à ses traces, ce qui rend plus facile le
   requettage, plutôt que de faire des greps sur des messages de log


MÉTHODOLOGIES

On a construit un produit top et ca a échoué Earthly.dev raconte
https://earthly.dev/blog/shutting-down-earthly-ci/

 * outil de CI/CD qui evite de repeter les taches etc
 * comme startup tu ne release aps un produit mature et complet en fonctionalité
 * mais peut etre 10x sur une chose specifique qui peut faire oublier les
   manques a certains
 * quand tu captures ces premiers, tu investis et etend, et tu repetes
 * si au debut ce differentiateur n’attire personne, ajouter des features ne va
   pas aider, c’est une recette pour construire quelque chose que personne ne
   veut
 * ils ont construit leur plan de domination en etapes independantes, des
   pproduits plus focalisés
 * et le premier produit “gratuit” ne canibalisait pas les seconds produits car
   ils addressaient des problemes differents (donc pas de risque sur le business
   model)
 * le premier produit construit par une personne a ete beaucoup adopté
 * le deuxieme (remote workers) a aaussi été adopté avec des gens qui faisaient
   en DIY, et quand ils ont fait une offre managée, les gens sont venus
 * les CI traditionels lancaient le job et le reste était délégué a Earthly et
   Earthly Sattelite (le coeur du build)
 * il ne restait plus qu’a allumer le troisieme etage Earthly CI mais c’est
   parti en cacahuete
 * la population interessée n’était pas des fans qui avaient deja fait le job du
   produit, ils demandaient en quoi la CI etait differente et le cout de
   migration et ils n’ont jamais pu gagner
 * au lieu d’une grass root install, il y avait un long mur de migration a
   passer
 * la clé c’est que vendre aux devs avec un GTM direct ne marche aps, ils
   doivent essayer et adopter par eux meme
 * developpeurs vont acheter un outil de dev mais tu ne peux pas leur vendre

horcrux : chiffrer un fichier en plusieurs morceaux, et il faut avoir un certain
nombre de fragments pour rassembler le fichier entier, mais ne nécessite aucun
mot de passe https://github.com/jesseduffield/horcrux


SÉCURITÉ

Des pseudos chercheurs en sécurité utilisent Bard pour reporter un CVE pour le
projet cURL https://hackerone.com/reports/2199174

 * Heureusement, Daniel Steinberg (le créateur de cURL) et les mainteneurs du
   projet ont rapidement détecté la supercherie
 * Les LLMs sont super créatifs : ils ont déjà vu dans leur corpus
   d’entrainement des pages de CVE, et sont donc capables d’en imaginer aussi !
 * Mais imaginez le temps perdu par les mainteneurs de projet OSS s’ils doivent
   du coup perdre leur temps à vérifier de telles inepties ?
 * au nez et à la bard de l’IA


LOI, SOCIÉTÉ ET ORGANISATION

Cisco achète Splunk pour 28 milliards
https://techcrunch.com/2023/09/21/cisco-to-acquire-splunk-in-28b-mega-deal/

 * bouge cisco plus dans le software
 * “synergetique”
 * Objectif, un geant de l’obnservabilité et la sécurité
 * avec de l’IA parce que c’est comme ca qu’on justifie ces achats
 * encore a valider cet achat par les autorités concurencielles
 * quelque part en 2024

Les fondations comme Eclipse ont peur du Cyber Résilience Act Européen tel que
présenté jusqu’à présent
https://newsroom.eclipse.org/news/announcements/cra-should-support-open-practices-open-source-and-development-european-open

 * ils demandent une clarification sur les contraintes réglementaires
 * notamment d’exclure les fondation / associations et laisser le poids sur les
   sociétés qui fourniraient les projet open sources des fondations dans le
   cadre d’un accord commercial, pas juste de le fournir en téléchargement
 * réutiliser la validation de compliance des sociétés commerciales par les
   fondations
 * autre article de la linux foundation
   https://www.linuxfoundation.org/blog/understanding-the-cyber-resilience-act
 * fourniture de matchs, auditing, fournir des mises a jour
 * bouge responsabilité de l’utilisateur vers le développeur du logiciel
 * un individu qui ne reçoit pas de contribution ni ne fait de consulting >
   exclu
 * fondations et sociétés commerciales, inclues
 * défini des classes de logiciels de non critique a classe 1 et 2
 * doit faire un risk assessment avant de livrer (pas de bug de sécurité, secure
   par défaut, security update)
 * de la doc sur le process d’évaluation des risques et un SBOM notamment
 * notifier d’ici 24h d’une vulnerabilité
 * il y a une campagne #fixthecra

Des protestations contre l’ouverture des modèles d’IA de Meta
https://spectrum.ieee.org/meta-ai

 * ouvrir les modèles et leurs poids permets aux acteurs de bypasser les
   restrictions (biais etc)
 * donc des gens de Meta protestent contre la politique open source de Meta dans
   ce domaine
 * l’argument c’est qu’un modele derrière une API peut êtres éteint
 * les partisans de l’avis contraire pointent que contourner les restrictions de
   ChatGPT ont été triviales jusqu’à présent
 * et que l’obscurité amène a un déficit de transparence, de connaissance du
   public.
 * va affecté les chercheurs indépendants
 * cela dit ce n’est pas open source pur car les sources et comment le modele
   est entrainé est peu publié
 * OSI travaille a une définition d’OpenSource AI

Un site pour mettre une pause à l’IA: https://pauseai.info/

 * NOUS RISQUONS DE PERDRE LE CONTRÔLE
 * NOUS RISQUONS L’EXTINCTION DE L’HUMANITÉ
 * NOUS AVONS BESOIN D’UNE PAUSE
 * NOUS DEVONS AGIR IMMÉDIATEMENT
 * Il y a un agenda des manifestations a travers le monde (Londres, Bruxelles,
   SFO… mais où est Paris?)
 * Twitter/Discord/Facebook/TikTok/LinkedIn
 * Alors qui va gagner la course à l’extinction de l’humanité? la guerre, le
   réchauffement climatique ou l’IA?
 * Sarah Connor !!!


OUTILS DE L’ÉPISODE

Un querty adapté pour les lettres à accent https://altgr-weur.eu/ (via Thomas
Recloux)


CONFÉRENCES

Toutes les vidéos de Devoxx Belgique sont disponibles
https://www.youtube.com/@DevoxxForever

Hacktoberfest, édition 10 https://hacktoberfest.com/

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 26 octobre 2023 : Codeurs en Seine - Rouen (France)
 * 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
 * 26-29 octobre 2023 : SoCraTes-FR - Orange (France)
 * 30-31 octobre 2023 : Asynconf Event - Paris (France) & Online
 * 2-3 novembre 2023 : Agile Tour Nantes - Nantes (France)
 * 3 novembre 2023 : XCraft - Lyon (France)
 * 7 novembre 2023 : DevFest Sophia-Antipolis - Sophia-Antipolis (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
 * 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
 * 18-19 novembre 2023 : Capitole du Libre - Toulouse (France)
 * 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
 * 23 novembre 2023 : Agile Grenoble - Grenoble (France)
 * 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
 * 30 novembre 2023 : WHO run the Tech - Rennes (France)
 * 6-7 décembre 2023 : Open Source Experience - Paris (France)
 * 6-8 décembre 2023 : API Days Paris - Paris (France)
 * 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
 * 7-8 décembre 2023 : TechRocks Summit - Paris (France)
 * 8 décembre 2023 : DevFest Dijon - Dijon (France)
 * 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
 * 1 février 2024 : AgiLeMans - Le Mans (France)
 * 15-16 février 2024 : Touraine Tech - Tours (France)
 * 6-7 mars 2024 : FlowCon 2024 - Paris (France)
 * 14-15 mars 2024 : pgDayParis - Paris (France)
 * 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
 * 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
 * 17-19 avril 2024 : Devoxx France - Paris (France)
 * 18-20 avril 2024 : Devoxx Greece - Athens (Greece)
 * 25-26 avril 2024 : MiXiT - Lyon (France)
 * 25-26 avril 2024 : Android Makers - Paris (France)
 * 8-10 mai 2024 : Devoxx UK - London (UK)
 * 24 mai 2024 : AFUP Day Nancy - Nancy (France)
 * 24 mai 2024 : AFUP Day Poitiers - Poitiers (France)
 * 24 mai 2024 : AFUP Day Lille - Lille (France)
 * 24 mai 2024 : AFUP Day Lyon - Lyon (France)
 * 6-7 juin 2024 : DevFest Lille - Lille (France)
 * 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online
 * 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium)
 * 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-301.mp3
Category:podcasts -- posted at: 3:14pm CET

--------------------------------------------------------------------------------

Mon, 18 September 2023
LCC 300 - Interview de Jean-Michel Doudoux sur Java 21 par Charles Sabourdin

Dans cet épisode Charles Sabourdin interview Jean-Michel Doudoux sur la sortie
de la nouvelle version LTS de Java en 2023: Java 21.

Enregistré le 5 septembre 2023

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


JAVA 21

The art of long-term support and what LTS means for the Java ecosystem


JDK 21

 * 444: Virtual Threads
 * 453: Structured Concurrency (Preview)
 * 446: Scoped Values (Preview)
 * 440: Record Patterns
 * 441: Pattern Matching for switch
 * 430: String Templates (Preview)
 * 443: Unnamed Patterns and Variables (Preview)
 * 445: Unnamed Classes and Instance Main Methods (Preview)
 * 431: Sequenced Collections
 * 439: Generational ZGC
 * 451: Prepare to Disallow the Dynamic Loading of Agents
 * 452: Key Encapsulation Mechanism API
 * 442: Foreign Function & Memory API (Third Preview)
 * 448: Vector API (Sixth Incubator)
 * 449: Deprecate the Windows 32-bit x86 Port for Removal


À PROPOS DE JEAN-MICHEL DOUDOUX

 * Développons en Java
 * https://www.jmdoudoux.fr
 * http://blog.sciam.fr/.


À PROPOS DE PARISJUG

 * https://www.parisjug.org/
 * https://www.jchateau.org/
 * https://javaday.parisjug.org/


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-300.mp3
Category:podcasts -- posted at: 9:51pm CET

--------------------------------------------------------------------------------

Mon, 11 September 2023
LCC 299 - Katia est dans la place !

 

Dans cet épisode de rentrée, Antonio et Arnaud ont le plaisir d’accueillir Katia
Aresti dans l’équipe. Ils passent en revue les dernières nouveautés et sujets
chauds de cette rentrée, notamment la sortie de Java 21, les nouvelles versions
de Quarkus, Micronaut, Hibernate, NodeJS, Redis, et bien d’autres encore. Ils
discutent de sujets plus généraux tels que l’observabilité, la nouvelle tendance
“Platform Engineering”, et la productivité des développeurs. Ils abordent aussi
les sujets sur la sécurité, tels que les failles sur les CPUs Intel et AMD,
ainsi que la vie privée, avec les Tracking APIs de Chrome, Firefox et le projet
de loi SREN. Le tout est agrémenté de sa dose d’IA, avec des librairies telles
que Semantic Kernel, ainsi que des sujets plus haut niveau tels que Google
Gemini, Meta GPT, LLama 2, et les biais et la consommation énergétique de l’IA.

Enregistré le 8 septembre 2023

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


NEWS


LANGAGES

Apache Groovy a 20 ans!
https://twitter.com/ApacheGroovy/status/1695388098950217909

 * L’annonce du lancement du projet par James Strachan
   https://web.archive.org/web/20030901064404/http://radio.weblogs.com/0112098/2003/08/29.html
 * Le projet a depuis énormément évolué et après plusieurs vies a été adopté par
   la fondation Apache en 2015

Java 21 arrive le 19 septembre
https://www.infoworld.com/article/3689880/jdk–21-the-new-features-in-java–21.html.

 * C’est la nouvelle LTS
 * Pas mal de nouvelles fonctionnalités comme les virtual threads, le pattern
   matching sur les switch, sequenced collections …
 * Retrouvez le 19 septembre une interview de Jean-Michel Doudoux par Charles
   Sabourdin pour l’épisode 300 des castcodeurs!


LIBRAIRIES

Semantic Kernel pour Java est (en train de) sorti:
https://devblogs.microsoft.com/semantic-kernel/introducing-semantic-kernel-for-java/

 * Framework OSS pour faire de l’IA
 * .Net et Python
 * Java 0.2.7 Alpha est publié
 * Kernel car il est tout petit
 * Se connecte à plusieurs fournisseurs (aujourd’hui OpenAI, Azure AI, Hugging
   Face), plusieurs DB vectorielles, plusieurs template de prompt (suit la
   specification de OpenAI)

OpenSSL qui committe
https://www.openssl.org/blog/blog/2023/07/17/who-writes-openssl/

 * en majorité des OSS payés
 * puis des gens payés par leur boite
 * et enfi des contributeurs non payés
 * c’est ne passant rapide mais ca montre que depuis heartbleed, ca a changé

Micronaut 4.1.0
https://micronaut.io/2023/09/01/micronaut-framework–4–1–0-released/

 * Bean Mappers pour créer automatiquement une correspondance entre un type et
   un autre
 * un Introspection Builder l’annotation @Introspected pour générer un builder
   dynamique si un type ne peut être construit que via un modèle builder
 * améliorations pour les développeurs utilisant Kotlin Symbol Processing (KSP)

Quarkus 3.3.1 / 3.3.2

https://quarkus.io/blog/quarkus–3–3–1-released/

https://quarkus.io/blog/quarkus–3–3–2-released/

 * Pas mal de fixes
 * https://github.com/quarkusio/quarkus/releases/tag/3.3.1
 * https://github.com/quarkusio/quarkus/releases/tag/3.3.2
 * Il est important de noter qu’un problème de dégradation des performances et
   de la mémoire a été introduit dans Quarkus 3.3. Ce problème est corrigé dans
   Quarkus 3.3.2.

Hibernate ORM 6.3.0 et 6.2.8 https://hibernate.org/orm/ et Hibernate Reactive
2.0.5

 * un support initial de la spécification Jakarta Persistence 3.2
 * Un nouveau guide d’introduction Hibernate 6, un nouveau guide de syntaxe et
   de fonctionnalités pour le langage de requête Hibernate (Hibernate Query
   Language)
 * Annotation @Find sur des méthodes -> créer des méthodes de recherche
   similaires aux méthodes de requête
 * Reactive compatible avec Hibernate ORM 6.2.8.Final, certains changements
   d’api


INFRASTRUCTURE

Une série d’articles sur l’observabilité par Mathieu Corbin

 * Observability: tout ce que vous avez toujours voulu savoir sur les métriques:
   https://www.mcorbin.fr/posts/2023–07–04-metriques/

 * Tracing avec Opentelemetry: pourquoi c’est le futur (et pourquoi ça
   remplacera les logs): https://www.mcorbin.fr/posts/2023–08–20-traces/

 * L’auteur reprend les bases sur l’observabilité.

 * Qu’est ce qu’une métrique ? Les labels, les cardinalités

 * Les types de métriques (Compteurs, jauges, quantiles et histogrammes)

 * C’est quoi le tracing ?

 * Traces, Spans, Resources, Scopes qu’est ce que c’est?

 * Les Events pour remplacer les logs?


WEB

NodeJS 20.6.0 est disponible et ajoute le support des fichiers .env
https://philna.sh/blog/2023/09/05/nodejs-supports-dotenv/

 * Configurable avec l’option --env-file
 * Le fichier .env peut contenir des variables d’environnement et commentaires #
 * Attention par contre: pas de lignes multiples ni d’extension de variables
 * Vous pouvez par exemple configurer NODE_OPTIONS avec ce système


DATA

Redis 7.2 est sorti ! https://redis.com/blog/introducing-redis–7–2/

 * Auto-tiering : cette nouvelle fonctionnalité permet de stocker les données
   sur des supports de stockage différents, en fonction de leur importance et de
   leur fréquence d’accès. Cela permet d’améliorer les performances et la
   scalabilité de Redis.
 * RESP3 : cette nouvelle version du protocole RESP permet une communication
   plus efficace entre Redis et les clients.
 * Improvements to performance : de nombreuses améliorations de performances ont
   été apportées à Redis 7.2, notamment pour les opérations de lecture et
   d’écriture.
 * New commands : plusieurs nouvelles commandes ont été ajoutées à Redis 7.2,
   notamment :
 * CLIENT NO-TOUCH : cette commande permet d’empêcher un client d’être touché
   par une opération AOF ou RDB.
 * WAITAOF : cette commande permet d’attendre que l’AOF soit écrite avant de
   poursuivre l’exécution.

Dans le podcast sont cités les hot replacement des Redis, comme
https://www.dragonflydb.io/


ARCHITECTURE

Article sur Google Gemini et sa capacité a battre ChatGPT
https://www.semianalysis.com/p/google-gemini-eats-the-world-gemini

 * Google a raté les premiers pas (ils avient le meilleur LLM public avant
   ChatGPT 3)
 * ET les chercheurs qui invente le champs des LLMs
 * Google va 5x ChatGPT–4 avant al fin de l’année, mais vont-il les publier
 * les chercheurs se tirent la bourre sur le nombre de GPU (H100) auxquels ils
   ont accès ; ce sont lers grosses orga comme Meta OpenAI Google
 * et les autres qui lutent avec des GPU qui n’ont pas assez de VRAM et ce
   qu’ils vont faire c’est de la merde et sans consequence
 * le peuple utilise le modele dense de LLAMA mais pour les environnements
   contraints ca serait mieux des sparse models et du speculative decoding.
 * ils devraient se concentre sur la performance de modele qui utilise plus de
   compute et memoire en evitant de consommer de la bande passante de memoire,
   c’est ce que l’edge a besoin
 * les benchmarks public ne mesurent pas des choses utiles
 * meme hugging faces est dans la category des pauvres de GPU
 * Nvidia est entrain de se construire une machine de guerre (service)
 * la chine et les us vont etre en competition mais l’europe qui fait du GPU
   pauvre ne va pas s’en sortir
 * les startups ne peuvent pas payer les GPU en actiosn, il faut du cash
 * Tout le monde rempli les poches de NVidia, sand Google
 * Gogole grossi exponentiellement ses propres GPUs

Meta GPT https://www.infoq.com/news/2023/08/metagpt-agent-collaboration/

IA: les biais et énergie qui consomme par Leslie Miley tech advisor du CTO de
Microsoft https://www.infoq.com/presentations/ai-bias-sustainability

 * nouvels infranstructures
 * consommation énergétique et d’eau des data center pour IA est terriblement
   coûteuse
 * l’impact des infrastructures sur les comunautés (bruit)
 * explique bien son point de vu sur les problèmes d’amplification des biais du
   IA
 * propose des stratégies pour mitiger l’impact negatif

Kubeflow toolkit pour deployer machine learning (ML) workflow en Kubernetes est
accepté par la CNCF (Cloud Native Computing Foundation)
https://www.infoq.com/news/2023/08/kubeflow-cncf-project


MÉTHODOLOGIES

Measuring developer productivity? A response to McKinsey by Kent Beck and
Gergely Orosz (pragmaticengineer.com)
https://tidyfirst.substack.com/p/measuring-developer-productivity

 * McKinsey a sorti un article où ils expliquent la recette miracle recherchée
   par tous les managers comme le graal: Comment mesurer la productivité des
   développeurs? (faut bien vendre du conseil)
 * Kent et Gergely partent d’un model mental de description de la création de
   valeur par le développeur pour ensuite voir quels sont les besoins de mesurer
   la productivité et comparent cela avec d’autres secteurs (la vente, le
   support, le recrutement).
 * Ils concluent cette première partie avec les compromis à faire pour que ce
   type de mesures ait un intérêt sans impacter trop négativement les
   développeurs
 * un autre article dans la même lignée de Martin Fowler
   https://martinfowler.com/bliki/CannotMeasureProductivity.html

Et si on parlait de Platform Engineering ?

 * DevOps vs. SRE vs. Platform Engineering (humanitec.com)

 * What is platform engineering? (gartner.com) / What is platform engineering?
   (platformengineering.org)

 * Internal Developer Platform

 * Cognitive load

 * Team topologies

 * Engineering Effectiveness (thoughtworks.com) and Maximize your tech
   investments with Engineering Effectiveness (thoughtworks.com)

 * Ces différents articles retracent la génèse du concept de Platform
   Engineering

 * L’activité de Platform Engineering vient en réponse à la charge cognitive
   rajoutée aux équipes techs dans des transitions DevOps loupées (You build it,
   you run it … et vous vous débrouillez).

 * Cela conduit à la création de golden paths et d’une Internal Developers
   Platform qui doit proposer en interne les services nécessaires aux équipes
   pour livrer leurs produits le lus efficacement possible tout en suivant les
   critères de qualité, de compliance de l’entreprise.

 * Pour en savoir plus, une table ronde à laquelle Arnaud a participé en Juillet
   : https://youtu.be/N-tN7HUA4No?si=2P0wSqG32MLWUlGq

On call Process (Astreinte) , startup TinyBird par VP Engineering Félix López
(ex google, ex eventbrite)
https://thenewstack.io/keeping-the-lights-on-the-on-call-process-that-works/

 * Si votre produit est SAAS, on doit avoir des astreintes. Cela impose un lourd
   fardeau à ceux qui doivent être en astreinte,, surtout en petite entreprise
 * Petites entreprises évitent avoir un processus d’astreinte formel pour éviter
   le stress. Cela crée dans la pratique plus de stress: Si personne n’est
   responsable, tout le monde est responsable.
 * Tinybird est la plateforme de données en temps réel pour les développeurs et
   les équipes de données. Pré création du process formel chez Tinybird:
   désorganisé, non structuré et stressant
 * Mise en place: Principes fondamentaux d’un processus d’astreinte: L’astreinte
   n’est pas obligatoire, minimiser le bruit, pas seulement pour les SRE, alert
   = runbook, avoir des backups pour la personne en astreinte, appeler quelqu’un
   devrait être la dernière solution, minimiser le temps en astreinte
 * L’article explique comment ils sont passé regarder chaque alerte
   (comprehensible?, exploitable?), puis avoir un board grafana pour chacune et
   plan spécifique. Une fois le tri fait, tout migré vers un seul channel de
   com, et manuel d’astreinte pour chaque alerte. Itérer.
 * Multiples benefices sur le long terme: rapports d’incident ouvert, atténuer
   les problèmes futurs, renforcement la propriété et les connaissances du code
   et systèmes au sein de toute l’équipe etc.


SÉCURITÉ

Downfall, une nouvelle faille de sécurité sur les processeurs intel (
https://www.lemondeinformatique.fr/actualites/lire-la-faille-downfall-met-a-mal-des-milliards-de-processeurs-intel–91247.html
) et AMD ne fait pas mieux avec une faille nommée Inception
(https://www.lemondeinformatique.fr/actualites/lire-les-puces-amd-vulnerables-a-la-faille-inception–91273.html)

 * Downfall, La vulnérabilité est due à des fonctions d’optimisation de la
   mémoire dans les processeurs Intel qui révèlent involontairement les
   registres matériels internes aux logiciels. Cela permet à des logiciels
   non-fiables d’accéder à des données stockées par d’autres programmes, qui ne
   devraient normalement pas être accessibles. Tous les PC ou ordinateurs
   portables équipés de processeurs Intel Core de la 6e génération Skylake
   jusqu’aux puces Tiger Lake de 11e génération incluses contiennent cette
   faille. Les derniers processeurs Core 12e et 13e génération d’Intel ne sont
   pas concernés.
 * Inception, nécessite un accès local au système pour être potentiellement
   exploité ce qui en limite de fait la portée. Tous les processeurs AMD depuis
   2017 sont touchés, incluant les derniers modèles Zen 4 Epyc et Ryzen

Comment désactiver le nouveau tracking publicitaire ciblé sur Chrome
https://www.blogdumoderateur.com/chrome-comment-desactiver-tracking-publicitaire-cible/

 * Google a annoncé en juillet le déploiement de sa nouvelle API Topics,
   permettant « à un navigateur de partager des informations avec des tiers sur
   les intérêts d’un utilisateur tout en préservant la confidentialité ».
 * C’est cette API, incluse dans la version Chrome 115 de juillet 2023, qui est
   censée remplacer les cookies tiers.


LOI, SOCIÉTÉ ET ORGANISATION

Une nouvelle definition d’open pour Llama 2?
https://opensourceconnections.com/blog/2023/07/19/is-llama–2-open-source-no-and-perhaps-we-need-a-new-definition-of-open/

 * c’est relativement “open” mais il y a des restrictions donc pas open source
 * pas plus de 700 M d’utilisateurs par mois
 * pas le droit d’utiliser Llama pour améliorer d’autres modèles autres que dse
   dérivés de Llama
 * et c’est le modele final qui est ouvert, pas la sauce pour le construire,
   donc pas de maven build ni le “source code” pour y arriver “from scratch”
 * attention au risuqe de sacrivier open source pour avoir l’IA plus vite, plus
   facile

HashiCorp passe tous ses projets open source en BSL, comme Confluent, Mongo,
Redis, Elastic, etc
https://thenewstack.io/hashicorp-abandons-open-source-for-business-source-license/

 * Couverture par InfoQ https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/
 * Fork de Terraform : OpenTF, avec pour objectif de rejoindre la CNCF
   https://opentf.org/announcement

Stack overflow annonce Overflow AI
https://www.infoq.com/news/2023/09/stackoverflow-overflowai/

 * l’intégration de l’IA générative dans leur plateforme publique, Stack
   Overflow for Teams, ainsi que de nouveaux domaines de produits
 * IA/ML aident à générer des balises initiales et à suggérer des paires
   question-réponse, permettant aux développeurs de se concentrer sur
   l’amélioration et la précision
 * Amélioration des Capacités de Recherche
 * Les forums de questions-réponses basés sur la communauté sont le cœur battant
   de Stack Overflow. Selon Prashanth Chandrasekar, PDG de Stack Overflow,
   l’objectif d’OverflowAI est d’améliorer la communauté de diverses manières
   plutôt que de la remplacer complètement.

Vous avez entendu parler du projet de loi SREN ?
http://share.mozilla.org/817319645t

 * Le gouvernement français prépare une loi qui pourrait menacer la liberté sur
   Internet. Le projet de loi visant à sécuriser et réguler l’espace numérique
   (SREN) obligerait les navigateurs web, comme Mozilla Firefox, à bloquer des
   sites web directement au niveau du navigateur.
 * Mozilla lance une pétition pour retirer cette n-ieme solution stupide pour
   censurer Internet


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 14 septembre 2023 : Cloud Sud - Toulouse (France) & Online
 * 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 19–20 septembre 2023 : Agile en Seine - Paris (France)
 * 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France)
 * 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
 * 28–30 septembre 2023 : Paris Web - Paris (France)
 * 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
 * 10 octobre 2023 : ParisTestConf - Paris (France)
 * 11–13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
 * 13–14 octobre 2023 : SecSea 2K23 - La Ciotat (France)
 * 17–20 octobre 2023 : DrupalCon Lille - Lille (France)
 * 19–20 octobre 2023 : DevFest Nantes - Nantes (France)
 * 19–20 octobre 2023 : Agile Tour Rennes - Rennes (France)
 * 26 octobre 2023 : Codeurs en Seine - Rouen (France)
 * 30 septembre 2023 : ScalaIO - Paris (France)
 * 26–27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
 * 26–29 octobre 2023 : SoCraTes-FR - Orange (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
 * 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
 * 18–19 novembre 2023 : Capitole du Libre - Toulouse (France)
 * 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
 * 23 novembre 2023 : Agile Grenoble - Grenoble (France)
 * 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
 * 30 novembre 2023 : WHO run the Tech - Rennes (France)
 * 6–7 décembre 2023 : Open Source Experience - Paris (France)
 * 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
 * 7–8 décembre 2023 : TechRocks Summit - Paris (France)
 * 8 décembre 2023 : DevFest Dijon - Dijon (France)
 * 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
 * 6–7 mars 2024 : FlowCon 2024 - Paris (France)
 * 19–22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
 * 28–29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
 * 17–19 avril 2024 : Devoxx France - Paris (France)
 * 25–26 avril 2024 : MiXiT - Lyon (France)
 * 25–26 avril 2024 : Android Makers - Paris (France)
 * 6–7 juin 2024 : DevFest Lille - Lille (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-299.mp3
Category:podcasts -- posted at: 10:09am CET

--------------------------------------------------------------------------------

Mon, 24 July 2023
LCC 298 - De l'IA à toutes les sauces

Dans cet épisode estival Guillaume, Emmanuel et Arnaud parcourent les nouvelles
du début d’été. Du Java, du Rust, du Go du coté des langages, du Micronaut, du
Quarkus pour les frameworks, mais aussi du WebGPU, de l’agilité, du DDD, des
sondages, de nombreux outils et surtout de l’intelligence artificielle à toutes
les sauces (dans les bases de données, dans les voitures…).

Enregistré le 21 juillet 2023

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


NEWS


LANGAGES

La release candidate de Go 1.21 supporte WASM et WASI nativement
https://go.dev/blog/go1.21rc

StringBuilder ou contatenation de String
https://reneschwietzke.de/java/the-stringbuilder-advise-is-dead-or-isnt-it.html

 * StringBuilder était la recommendation ca cela créait moins d’objects
   notamment.
 * Mais la JVM a évolué et le compilateur ou JIT remplace cela par du code
   efficace
 * Quelques petites exceptions
 * le code froid (e.g. startup time) qui est encore interprété peut beneficier
   de StringBuilder
 * autre cas, la concatenation dans des boucles où le JIT ne pourrait peut etre
   pas optimiser
 * le StringBuilder “fluid” est plus efficace (inliné?)
 * ces regles ne changement pas si des objects sont stringifié pour etre
   concaténés

GPT 4 pas une revolution
https://thealgorithmicbridge.substack.com/p/gpt-4s-secret-has-been-revealed

 * rumeur ca beaucou de secret
 * pas u modele a 1 trillion de parametres maus 8 a 220 Milliards
 * combinés intelligeament
 * les chercheurs attendaient un breakthrough amis c’est une envolution et pas
   particulierement nouveau
 * methode deja implem,entee par des cherchers chez google (maintenant chez
   ooenai
 * ils ont retarde la competition avec ces rumeurs de breakthrough amis 8 LLaMA
   peut peut etre rivaliser avec GPT4

Le blog Open Source de Google propose un article sur 5 mythes ou non sur
l’apprentissage et l’utilisation de Rust
https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html

 * Il faut plus de 6 mois pour apprendre Rust : plutôt faux; quelques semaines à
   3-4 mois max
 * Le compilateur Rust est pas aussi rapide qu’on le souhaiterait — vrai !
 * Le code unsafe et l’interop sont les plus gros challanges — faux, c’est
   plutôt les macros, l’owernship/borrowing, et la programmation asynchrone
 * Rust fournit des messages d’erreur de compilation géniaux — vrai
 * Le code Rust est de haute qualité — vrai

InfoQ sort un nouveau guide sur le Pattern Matching pour le switch de Java
https://www.infoq.com/articles/pattern-matching-for-switch/

 * Le pattern matching supporte tous les types de référence
 * L’article parle du cas de la valeur null
 * L’utilisation des patterns “guarded” avec le mot clé when
 * L’importance de l’ordre des cases
 * Le pattern matching peut être utilisé aussi avec le default des switchs
 * Le scope des variables du pattern
 * Un seul pattern par case label
 * Un seul case match-all dans un bloc switch
 * L’exhaustivité de la couverture des types
 * L’utilisation des generics
 * La gestion d’erreur avec MatchException


LIBRAIRIES

Sortie de Micronaut 4
https://micronaut.io/2023/07/14/micronaut-framework-4-0-0-released/

 * Langage minimal : Java 17, Groovy 4 et Kotlin 1.8
 * Support de la dernière version de GraalVM
 * Utilisation des GraalVM Reachability Metadata Repository pour faciliter
   l’utilisation de Native Image
 * Gradle 8
 * Nouveau Expression Language, à la compilation, pas possible au runtime (pour
   des raisons de sécurité et de support de pré-compilation)
 * Support des Virtual Threads
 * Nouvelle couche HTTP, éliminant les stack frames réactives quand on n’utilise
   pas le mode réactif
 * Support expérimental de IO Uring et HTTP/3
 * Des filtres basés sur les annotations
 * Le HTTP Client utilise maintenant le Java HTTP Client
 * Génération de client et de serveur en Micronaut à partir de fichier OpenAPI
 * L’utilisation YAML n’utilise plus la dépendance SnakeYAML (qui avait des
   problèmes de sécurité)
 * Transition vers Jackarta terminé
 * Et plein d’autres mises à jour de modules
 * Couverture par InfoQ
   https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/

Quarkus 3.2 et LTS https://quarkus.io/blog/quarkus-3-2-0-final-released/
https://quarkus.io/blog/quarkus-3-1-0-final-released/
https://quarkus.io/blog/lts-releases/


INFRASTRUCTURE

Red Hat partage les sources de sa distribution au travers de son Customer
Portal, et impacte la communauté qui se base dessus
https://almalinux.org/blog/impact-of-rhel-changes/

 * RedHat a annoncé un autre changement massif qui affecte tous les rebuilds et
   forks de Red Hat Enterprise Linux. À l’avenir, Red Hat publiera uniquement le
   code source pour les RHEL RPMs derrière leur portail client. Comme tous les
   clones de RHEL dépendent des sources publiées, cela perturbe encore une fois
   l’ensemble de l’écosystème Red Hat.

Une analyse du choix de red hat sur la distribution du code source de rhel
https://dissociatedpress.net/2023/06/24/red-hat-and-the-clone-wars/

Une reponse de red hat aux feux démarrés par l’annonce de la non distribution
des sources de RHEL en public
https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes
et un lien vers une de ces feux d’une personne proheminente dans la communauté
Ansible https://www.jeffgeerling.com/blog/2023/im-done-red-hat-enterprise-linux

Oracle demande a garder un Linux ouvert et gratuit
https://www.oracle.com/news/announcement/blog/keep-linux-open-and-free-2023-07-10/

 * Suite à l’annonce d’IBM/RedHat, Oracle demande à garder Linux ouvert et
   gratuit
 * IBM ne veut pas publier le code de RHEL car elle doit payer ses ingénieurs
 * Alors que RedHat a pu maintenir son modèle économique durante des années
 * L’article revient sur CentOS qu’IBM “a tué” en 2020
 * Oracle continue ses éfforts de rendre Linux ouvert et libre
 * Oracle Linux continuera à être compatible avec RHEL jusqu’à la version 9.2,
   après ça sera compliqué de maintenir une comptabilité
 * Oracle embauche des dev Linux
 * Oracle demande à IBM de récupérer le downstream d’Oracle et de le distribuer

SUSE forke RHEL
https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/

 * SUSE est la société derrière Rancher, NeuVector, et SUSE Linux Enterprise
   (SLE)
 * Annonce un fork de RHEL
 * $10M d’investissement dans le projet sur les prochaines années
 * Compatibilité assurée de RHEL et CentOS


WEB

Google revent sont service de nom de domaine a Squarespace
https://www.reddit.com/r/webdev/comments/14agag3/squarespace_acquires_google_domains/

 * et c’était pas gratuit donc on n’est pas censé etre le produit :wink:
 * Squarespace est une entreprise américaine spécialisée dans la création de
   site internet
 * Squarespace est un revendeur de Google Workspace depuis longtemps
 * La vente devrait se finaliser en Q3 2023

Petite introduction à WebGPU en français
https://blog.octo.com/connaissez-vous-webgpu/


DATA

Avec la mode des Large Language Models, on parle de plus en plus de bases de
données vectorielles, pour stocker des “embeddings” (des vecteurs de nombre
flottant représentant sémantiquement du texte, ou même des images). Un article
explique que les Vecteurs sont le nouveau JSON dans les bases relationnelles
comme PostgreSQL https://jkatz05.com/post/postgres/vectors-json-postgresql/

 * L’article parle en particulier de l’extension pgVector qui est une extension
   pour PostgreSQL pour rajouter le support des vectors comme type de colonne
   https://github.com/pgvector/pgvector
 * Google Cloud annonce justement l’intégration de cette extension vectorielle à
   CloudSQL pour PostgreSQL et à AlloyDB pour PostgreSQL
   https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications
 * Il y a également une vidéo, un notebook Colab, et une article plus détaillé
   techniquement utilisant LangChain
   https://cloud.google.com/blog/products/databases/using-pgvector-llms-and-langchain-with-google-cloud-databases
 * Mais on voit aussi également Elastic améliorer Lucene pour utiliser le
   support des instructions SIMD pour accélérer les calculs vectoriels (produit
   scalaire, distance euclidienne, similarité cosinus)
   https://www.elastic.co/fr/blog/accelerating-vector-search-simd-instructions


OUTILLAGE

Le sondage de StackOverflow 2023 https://survey.stackoverflow.co/2023/

 * L’enquête a été réalisée auprès de 90 000 développeurs dans 185 pays.
 * Les développeurs sont plus nombreux (+2%) que l’an dernier à travailler sur
   site (16% sur site, 41% remote, 42% hybrid)
 * Les développeurs sont également de plus en plus nombreux à utiliser des
   outils d’intelligence artificielle, avec 70 % d’entre eux déclarant les
   utiliser (44%) ou prévoyant de les utiliser (25) dans leur travail.
 * Les langages de programmation les plus populaires sont toujours JavaScript,
   Python et HTML/CSS.
 * Les frameworks web les plus populaires sont Node, React, JQuery.
 * Les bases de données les plus populaires sont PostgreSQL, MySQL, et SQLite.
 * Les systèmes d’exploitation les plus populaires sont Windows puis macOS et
   Linux.
 * Les IDE les plus populaires sont Visual Studio Code, Visual Studio et IDEA
   IntelliJ.

Les différents types de déplacement dans Vim
https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/

JetBrains se mets aussi à la mode des assistants IA dans l’IDE
https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/

 * une intégration avec OpenAI mais aussi de plus petits LLMs spécifiques à
   JetBrains
 * un chat intégré pour discuter avec l’assistant, puis la possibilité
   d’intégrer les snippets de code là où se trouve le curseur
 * possibilité de sélectionner du code et de demander à l’assistant d’expliquer
   ce que ce bout de code fait, mais aussi de suggérer un refactoring, ou de
   régler les problèmes potentiels
 * on peut demander à générer la JavaDoc d’une méthode, d’une classe, etc, ou à
   suggérer un nom de méthode (en fonction de son contenu)
 * génération de message de commit
 * il faut avoir un compte JetBrains AI pour y avoir accès

Des commandes macOS plus ou moins connues
https://saurabhs.org/advanced-macos-commands

 * caffeinate — pour garder le mac éveillé
 * pbcopy / pbpaste — pour interagir avec le clipboard
 * networkQuality — pour mesurer la rapidité de l’accès à internet
 * sips — pour manipuler / redimensionner des images
 * textutil — pour covertir des fichers word, texte, HTML
 * screencapture — pour faire un screenshot
 * say — pour donner une voix à vos commandes

Le sondage de la communauté ArgoCD
https://blog.argoproj.io/cncf-argo-cd-rollouts-2023-user-survey-results-514aa21c21df

Un client d’API open-source et cross-platform pour GraphQL, REST, WebSockets,
Server-sent events et gRPC https://github.com/Kong/insomnia


ARCHITECTURE

Moderniser l’architecture avec la decouverte via le domain driven discovery
https://www.infoq.com/articles/architecture-modernization-domain-driven-discovery/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

 * Un article très détaillé pour moderniser son architecture en utilisant une
   approche Domain-Driven Discovery qui se fait en 5 étapes:
   * Encadrer le problème – Clarifier le problème que vous résolvez, les
     personnes touchées, les résultats souhaités et les contraintes de solution.
   * Analyser l’état actuel – Explorer les processus opérationnels et
     l’architecture des systèmes existants afin d’établir une base de référence
     pour l’amélioration.
   * Explorer l’état futur – Concevoir une architecture modernisée fondée sur
     des contextes délimités, établir des priorités stratégiques, évaluer les
     options et créer des solutions pour l’état futur.
   * Créer une feuille de route – Créer un plan pour moderniser l’architecture
     au fil du temps en fonction des flux de travail ou des résultats souhaités.

Récemment, Sfeir a lancé son blog de développement sur https://www.sfeir.dev/

 * plein d’articles techniques
 * sur de nombreux thèmes : front, back, cloud, data, AI/ML, mobile
 * aussi des tendances, des success stories
 * par exemple dans les derniers articles : on parle d’Alan Turing, du Local
   Storage en Javascript, des la préparation de certifications React, l’impact
   de la cybersécurité sur le cloud

Demis Hassabis annonce travailler sur une IA nommée Gemini qui dépassera ChatGPT
https://www.wired.com/story/google-deepmind-demis-hassabis-chatgpt/

 * Demis Hassabis CEO de Google DeepMind créateur de AlphaGOet AlphaFold
 * Travaille sur une IA nommé Gemini qui dépasserait ChatGPT de OpenAI
 * Similair à GPT-4 mais avec des techniques issues de AlphaGO
 * Encore en developpement, va prendre encore plusieurs mois
 * Un remplaçant a Bard?


MÉTHODOLOGIES

Approcher l’agilité par les traumatismes (de developement) passés des individus
https://www.infoq.com/articles/trauma-informed-agile/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=culture-methods

 * Nous subissons tous un traumatisme du développement qui rend difficile la
   collaboration avec d’autres - une partie cruciale du travail dans le
   développement de logiciels agiles.
 * Diriger d’une manière tenant compte des traumatismes n’est pas pratiquer la
   psychothérapie non sollicitée, et ne justifie pas les comportements
   destructeurs sans les aborder.
 * Être plus sensible aux traumatismes dans votre leadership peut aider tout le
   monde à agir de façon plus mature et plus disponible sur le plan cognitif,
   surtout dans des situations émotionnellement difficiles.
 * Dans les milieux de travail tenant compte des traumatismes, les gens
   accordent plus d’attention à leur état physique et émotionnel.
 * Ils s’appuient aussi davantage sur le pouvoir de l’intention, fixent des
   objectifs d’une manière moins manipulatrice et sont capables d’être
   empathiques sans s’approprier les problèmes des autres.


LOI, SOCIÉTÉ ET ORGANISATION

Mercedes va rajouter de l’intelligence artificielle dans ses voitures
https://azure.microsoft.com/en-us/blog/mercedes-benz-enhances-drivers-experience-with-azure-openai-service/

 * Programme béta test de 3 mois pour le moment
 * Assistance vocale “Hey Mercedes”
 * Permet de discuter avec la voiture pour trouver son chemin, concocter une
   recette, ou avoir tout simplement des discussions
 * Ils travaillent sur des plugin pour reserver un resto, acheter des tickets de
   cinéma

Free software vs Open Source dans le contexte de l’intelligence artificielle par
Sacha Labourey
https://medium.com/@sachalabourey/ai-free-software-is-essential-to-save-humanity-86b08c3d4777

 * on parle beaucoup d’AI et d’open source
 * mais il manque la dimension de controle des utilisateurs finaux
 * Stallman a crée la FSF par peur de la notion d’humain augmenté par des
   logiciels qui sont controllés par d’autres
 * (implants dans le cerveau etc)
 * d’ou la GPL et sa viralité qui propage la capacité a voir et modifier le
   conde que l’on fait tourner
 * dans le debat AI, ce n’est pas seulement open source (casser oligopolie) mais
   aissu le free software qui est en jeu

La folie du Cyber Resilience Act (CRA) europeen
https://news.apache.org/foundation/entry/save-open-source-the-impending-tragedy-of-the-cyber-resilience-act

 * Au sein de l’UE, la loi sur la cyber-résilience (CRA) fait maintenant son
   chemin à travers les processus législatifs (et doit faire l’objet d’un vote
   clé le 19 juillet 2023). Cette loi s’appliquera à un large éventail de
   logiciels (et de matériel avec logiciel intégré) dans l’UE. L’intention de ce
   règlement est bonne (et sans doute attendue depuis longtemps) : rendre le
   logiciel beaucoup plus sûr.
 * Le CRA a une approche binaire: oui/non et considère tout le monde de la même
   manière
 * Le CRA réglementerait les projets à source ouverte à moins qu’ils n’aient «
   un modèle de développement entièrement décentralisé ». Mais les modèles OSS
   sont de complexes mélanges de pur OSS et éditeurs de logiciels
 * les entreprises commerciales et les projets open source devront être beaucoup
   plus prudents quant à ce que les participants peuvent travailler sur le code,
   quel financement ils prennent, et quels correctifs ils peuvent accepter.
 * Certaines des obligations sont pratiquement impossibles à respecter, par
   exemple l’obligation de « livrer un produit sans vulnérabilités exploitables
   connues ».
 * Le CRA exige la divulgation de vulnérabilités graves non corrigées et
   exploitées à l’ENISA (une institution de l’UE) dans un délai mesuré en
   heures, avant qu’elles ne soient corrigées. (complètement opposé aux bonnes
   pratiques de sécu)
 * Une fois de plus une bonne idée à l’origine mais très mal implémentée qui
   risque de faire beaucoup de dommages

Octave Klaba, avec Miro, son frère, et la Caisse des Dépôts, finalisent la
création de Synfonium qui va maintenant racheter 100% de Qwant et 100% fe
Shadow. Synfonium est détenue à 75% par Jezby Venture & Deep Code et à 25% par
la CDC. https://twitter.com/i/web/status/1673555414938427392

 * L’un de rôles de Synfonium est de créer la masse critique des utilisateurs et
   des clients B2C & B2B qui vont pouvoir utiliser tous ces services gratuits et
   payants
 * Vous y retrouverez le moteur de recherche, les services gratuits, la suite
   collaborative, le social login, mais aussi les services de nos partenaires
   tech.
 * Le but est de créer une plateforme dans le Cloud SaaS EU qui respectent nos
   valeurs et nos lois européennes

Yann LeCun : «L’intelligence artificielle va amplifier l’intelligence humaine»
https://www.europe1.fr/emissions/linterview-politique-dimitri-pavlenko/yann-lecun-li[…]gence-artificielle-va-amplifier-lintelligence-humaine-4189120


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France)
 * 6 septembre 2023 : Cloud Alpes - Lyon (France)
 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France)
 * 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
 * 19-20 septembre 2023 : Agile en Seine - Paris (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 22 septembre 2023 : Agile Tour Sophia Antipolis - Valbonne (France)
 * 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
 * 28-30 septembre 2023 : Paris Web - Paris (France)
 * 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
 * 10 octobre 2023 : ParisTestConf - Paris (France)
 * 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
 * 19-20 octobre 2023 : DevFest Nantes - Nantes (France)
 * 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France)
 * 26 octobre 2023 : Codeurs en Seine - Rouen (France)
 * 25-27 octobre 2023 : ScalaIO - Paris (France)
 * 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
 * 26-29 octobre 2023 : SoCraTes-FR - Orange (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
 * 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
 * 23 novembre 2023 : DevOps D-Day #8 - Marseille (France)
 * 30 novembre 2023 : PrestaShop Developer Conference - Paris (France)
 * 30 novembre 2023 : WHO run the Tech - Rennes (France)
 * 6-7 décembre 2023 : Open Source Experience - Paris (France)
 * 7 décembre 2023 : Agile Tour Aix-Marseille - Gardanne (France)
 * 8 décembre 2023 : DevFest Dijon - Dijon (France)
 * 7-8 décembre 2023 : TechRocks Summit - Paris (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-298.mp3
Category:podcasts -- posted at: 5:20pm CET

--------------------------------------------------------------------------------

Mon, 12 June 2023
LCC 297 - Lockless design

Guillaume, Arnaud et Emmanuel discutent des nouvelles de mai et juin. La
communauté Rust, WebAssembly. Guava, Debezium, Kafka, de flame graph, d’open
source et bien sûr les large language models. On répond aussi à la question
fondamentale: mais pourquoi Maven n’a pas de fichier .lock ?

Enregistré le 9 juin 2023

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


NEWS


LANGAGES

Lors de Microsoft BUILD 2023, un des fondateurs de OpenAI a fait une excellente
présentation de Large Language Models, des GPT
https://build.microsoft.com/en-US/sessions/db3f4859-cd30-4445-a0cd-553c3304f8e2

 * Il parle du fonctionnement des LLM, comment/pourquoi ils arrivent à générer
   ce qu’ils génèrent
 * Le fine-tuning, l’apprentissage renforcé avec feedback humain, l’art du
   prompting
 * Des patterns comme Chain of Thought (CoT) ou ReAct (Reflect then Act)

Leaning Technologies annonce l’arrivée prochaine de CheerpJ 3 : le retour de
Java dans la navigateur, grâce à WebAssembly
https://leaningtech.com/announcing-cheerpj-3-0-a-jvm-replacement-in-html5-and-webassembly-to-run-java-applications-and-applets-on-modern-browsers/

 * Avant la version 3.0, CheerpJ utilisait une approche AOT (ahead of time
   compilation) qui nécessitait aussi une étape d’intégration continue pour
   transformer aussi toutes les dépendances JAR associées à un projet
 * Avec la version 3.0, qui devrait sortir cet été, CheerpJ adopte une approche
   JIT (Just In Time compilation) qui ressemble plus à l’approche de Java lui
   même
 * Plus besoin non plus de version custom d’OpenJDK
 * Les Applets vous avaient manqué ? Elles sont de retour avec WebAssembly
   :smile:

Communauté RUST: Il y a de l’eau dans le gaz
https://www.jntrnr.com/why-i-left-rust/

 * Plus d’infos
   https://gist.github.com/fasterthanlime/42da9378768aebef662dd26dddf04849
 * lié au backchannel et un petit groupe qui essaie de faire les choses bien
   mais qui derappe de l’exterieur
 * en gros ils ont un process interne pour prendre des decisions
 * avec ce process ils ont invité une personne pas super pro Rust a faire la
   keynote a RustConf
 * d’autres du commité ont vu ca et on discuté en backchannel pour revenir en
   arriere de la decision (sans suivre le process)
 * il y a eu une semaine de pause avant action mais pas annoncé
 * le speaker a ete dé keynoté et a donc refusé de venir a la conf
 * et paf, ca enerve des gens decisionaire et ils demissionnent
 * Bref des gens qui veulent faire le bien mais en cercle un peu trop ferné et
   paf

Les gens de Wasmer étendent WASI avec WASIX, on rajoutant le support POSIX, les
threads… permettant de compiler vers WASM plein de projet C/C++ ou Rust, comme
cURL ou autre https://wasmer.io/posts/announcing-wasix

 * ca frotte un oeu entre innovation et standardisation dans la communaite WASM
 * WASMER sont un peu les cowboys startuper
 * par exemple ils ont essayé de deposer la marque WebAssemble au nez et à la
   barbe de la communauté
 * donc la reaction du coeur de la communauté a cette annonce est plutôt calme
 * WASI c’est standard mais ca prend du temps a maturer
 * WASIX c’est cool et dispo maintenant mais c’est un produit d’une société
   spécifique, donc pas de portabilité


LIBRAIRIES

Guava 32 est sorti et beaucoup de choses annotées en @Beta ne le sont plus
https://www.reddit.com/r/java/comments/13w2l8w/guava_320_released_today_and_the_beta_annotation/

 * ont eu des API en @Beta pendant longtemps pour proteger des risques de
   changements
 * en pratique quasi personne ne se limitait au non beta, et elles n’ont pas
   bougé ces API ou peu
 * donc ils ont enlevé @Beta de la plupart
 * beaucoup de parties de Guava sont dans le JDK, le cache est dans Caffeine
 * des bons echanges dans les commentaires entre les utilisateurs et Kevin un
   des mainteneurs chez Google

Comment démarrer avec l’API PaLM de Google, mais en Java!
https://glaforge.dev/posts/2023/05/30/getting-started-with-the-palm-api-in-the-java-ecosystem/

 * Guillaume a écrit une petite application qui génère des histoires pour
   enfants avec un Large Language Model (l’API PaLM)
 * https://bed-time-stories.web.app/
 * Le code est dispo sur Github https://github.com/glaforge/bedtimestories
 * Il explique également le processus incrémentale des prompts qui aident à
   générer aussi le contenu de l’application
   https://glaforge.dev/posts/2023/06/08/creating-kids-stories-with-generative-ai/


INFRASTRUCTURE

Debezium 2.2 https://debezium.io/blog/2023/04/20/debezium-2-2-final-released/

 * Experimental, opt-in Parallel Snapshots
 * Incremental snapshots with surrogate keys
 * Quarkus 3 support
 * Ingestion of Oracle changes from logical standby instances
 * Google Spanner improvementsNew Debezium Server sinks for Infinispan,
   RabbitMQ, and RocketMQ
 * New Storage APIs for Amazon S3 and RocketMQ
 * Many MongoDB improvements
 * Cassandra connector for Cassandra Enterprise

Un article sur l’utilisation de Kafka par CloudFlare
https://www.infoq.com/articles/kafka-clusters-cloudflare/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=architecture-design

 * c’est du “classique” mais bon de se le faire rappeler
 * beaucoup d’evenements CloudFlare passent pas Kafka pour processing
 * Kafka en tant que bus generique
 * Ils ont imposé un message unique par topic via protobuf
 * ils sont une Application Service team (internal developer platform) depuis
   peu de temps
 * gitops pour creation de topic etc
 * développé un connector framework declaratif pour étendre le pannel de patrons
   d’architecture disponibles
 * developé des SDKs d’access a KAfka avec monitoring (prometheus)
 * sympa a lire

Post mortem du problème chez datadogHQ
https://www.datadoghq.com/blog/2023-03-08-multiregion-infrastructure-connectivity-issue/

 * data dog a perdu tous ces services dans la plupart ou toutes ses regions
   pendant 3 heures avant la premiere recuperation et 10 heures au total pour la
   recuperation totale
 * Equipe : 10 senior engineering leaders, about 70 local incident commanders
   and a pool of 450 to 750 incident responders active throughout the incident,
   which required four shifts to bring the incident to full resolution.
 * cause: une mise a jour de systemd appliqué sur la plupart de leurs VM en
   quasi parallele qui a effacer les routes des container et ne les a aps remis
   ; c’est un cas qui n’arrive pas au reboot d’un noeud (init sequence)
 * des 10000s noeuds impactés
 * en general ils font du rollout par region en enlevant les noeuds etc mais le
   base os avait un legacy update channel activé (vs gere pas les equipes de
   datadog manuellement)
 * les noeuds de controlleurs qui sont cense recycler les noeuds n’ont pu le
   faire vu le volume de noeud et surtout parce qu’eux meme étaient effectés
 * l’autre article


CLOUD

Le data center parisien europe-west9-a est en panne depuis 3 semaines
https://www.lebigdata.fr/data-center-panne

 * un feu s’est déclenché qui a touché une zone
 * le DC reste opérationnel sur les zones non touchée sauf BigTable qui a besoin
   de la zone touchée
 * les autres services fonctionnent
 * sauf les applis utilisateurs qui ne tournaiuent que sur la zone affecté


OUTILLAGE

Podman Desktop 1.0 est sorti
https://podman-desktop.io/blog/podman-desktop-release-1.0

 * pas grand chose a dire que c’est la 1.0
 * “Works on my machine”

Contract testing with Pact
https://hollycummins.com/contract-testing-devoxx-greece/

 * Conference
 * quand on change un microservice l’autre casse
 * les tests d’integration sont lent, instable et demande des grosses machines
   ou des environnements remote de dev
 * mock / unit tests ne sont pas vraiment le code de l’autre équipe
 * D’où Contract test qui vit entre les end to end et les unit tests.
 * Peut partir d’un test mock et rempalcer avec pact cote consommateur
 * en faisait tourner, un pack listener enregistre la declaration (le DSL) et le
   retours attendus / generés par l’appel du test
 * copier ce fichier vers le producteur
 * copier a la main, dans le repo, via a broker
 * ajoute un test pact cote producteur qui va exercer le JSON et verifier que
   cela marche
 * tests de pack sont plus profonds qu’un test OPENAPI
 * consommateur utilise pact comme mock et verifie le provider wrt le contract
   du mock

Pourquoi Maven n’a pas de fichier lock ?
https://www.reddit.com/r/Maven/comments/vkcmys/why_maven_doesnt_have_a_lock_file_like/?utm_source=share&utm_medium=ios_app&utm_name=ioscss&utm_content=1&utm_term=9

 * conversation interessance sur les fichiers .lock dans les builds
 * Par exemple ruby a le Gemfile.lock, npm pareil mais pas Java?
 * Fondamentalement c’est du aux valeurs par defaut initiales et à la culture de
   la communauté
 * les version range sont peu ou pas utilisés en Maven
 * alors que le default dans d’autres plateformes
 * la poule et l’oeuf

Simplifier les flame graph avec jbang
https://someth2say.wordpress.com/2023/06/04/jbang-and-flame-graphs/

 * discute les flame graph
 * pour le temps comsommé et pas un call graph
 * hauteur c’est la profondeur d’appel
 * ne regarder que la largeur, pas l’ordre
 * pas quand et ou une action est faite mais qui l’a fait
 * reste discute comment utiliser jbang pour lancer le prgramme et le javaagent

Les modérateurs de Stack Overflow en greve contre le flux de réponses
d’intelligence artificeille https://openletter.mousetail.nl/

 * le ban des contenus generes par l’IA a ete levé discrètement par stack
   overflow
 * peur du flux de données massif et des hallucinations difficiles à détecter
   sans passer du temps
 * pas de consensus communautaire
 * stackoverflow est une des sources trustées pour les LLM des intelligences
   arificielles generatives (serpent qui se mord la queue)
 * les modérateurs font tourner l’anti spam, gere les flag levés, ferment ou
   effacent les entrées, genre les bots qui detectent le plagiat etc.
 * 414 votants des les premiers heures

Just, un petit outil en ligne de commande avec une syntaxe inspirée de make,
pour exécuter des commandes fréquentes dans nos projets
https://glaforge.dev/posts/2023/06/07/just-a-handy-command-line-tool/

 * Syntaxe proche de celle de make
 * Possibilité de définir des dépendances entre tâches
 * Support de paramètres
 * Peut charger des fichier .env
 * S’installe sur tous les systèmes d’exploitation qu’on aime bien et qu’on
   n’aime pas aussi


MÉTHODOLOGIES

AWS retire ses documentations en Open Source
https://www.infoq.com/news/2023/06/aws-documentation-github/

 * ils ont open sourcé en espérant des contributions il y a deux ans
 * mais sans changer les approche en interne
 * resultat copie de repo de l’interieur vers l’exterieur
 * tracker de travail interne != externe
 * c’était plus compliqué
 * leçon, embrace entièrement sinon les frictions sont compliquées

Un guide pour communiquer avec l’IA: https://learnprompting.org/

 * Gratuit et open source
 * Prompt Engineering ou comment rédiger vos prompts
 * Plusieurs niveau (Basic, Intermediaire, Avancé..)
 * Défini plein de concepts: Prompt, Few Shot Prompt, LLMs…


LOI, SOCIÉTÉ ET ORGANISATION

Migration de Twitter vers Mastodon (ou plutôt “dual run”)
https://glaforge.dev/talks/2023/06/09/from-bird-to-elephant-starting-a-new-journey-on-mastodon/

 * Présentation de Guillaume à Devoxx France et Grèce
 * Avec code sur Github pour un bot Mastodon:
   https://github.com/glaforge/stootistics
 * Et un service en ligne pour voir la popularité de ses derniers posts sur
   Mastodon https://stootistics.web.app/


CONFÉRENCES

Aurelie Vache publie sont agenda des conferences via le site:
https://developers.events/

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 14-15 juin 2023 : OW2 openSource Conf - Paris (France)
 * 14-17 juin 2023 : VivaTech (Viva Technology) - https://vivatechnology.com/) -
   Paris (France)
 * 15-16 juin 2023 : Le Camping des Speakers - Baden (France)
 * 15-17 juin 2023 : Pas Sage En Seine - Choisy-le-Roi (France)
 * 20 juin 2023 : Mobilis in Mobile - Nantes (France)
 * 20 juin 2023 : Cloud Est - Villeurbanne (France)
 * 20-22 juin 2023 : Adeo DevSummit - Lille (France)
 * 21-23 juin 2023 : Rencontres R - Avignon (France)
 * 23 juin 2023 : Unconf HackYourJob - Région lyonnaise (France)
 * 28-30 juin 2023 : Breizh Camp - Rennes (France)
 * 29 juin 2023 : Google Cloud Summit France - Paris (France)
 * 29-30 juin 2023 : Sunny Tech - Montpellier (France)
 * 29-30 juin 2023 : Agi’Lille - Lille (France)
 * 7-9 juillet 2023 : Nantes Maker Campus - Nantes (France)
 * 2-3 septembre 2023 : SRE France SummerCamp - Chambéry (France)
 * 6 septembre 2023 : Cloud Alpes - Lyon (France)
 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 14 septembre 2023 : Cloud Sud - Remote / Toulouse (France)
 * 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
 * 19-20 septembre 2023 : Agile en Seine - Paris (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21-22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 25-26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
 * 28-30 septembre 2023 : Paris Web - Paris (France)
 * 2-6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
 * 10 octobre 2023 : ParisTestConf - Paris (France)
 * 11-13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12-13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 12-13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
 * 19-20 octobre 2023 : DevFest Nantes - Nantes (France)
 * 19-20 octobre 2023 : Agile Tour Rennes - Rennes (France)
 * 26 octobre 2023 : Codeurs en Seine - Rouen (France)
 * 25-27 octobre 2023 : ScalaIO - Paris (France)
 * 26-27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
 * 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
 * 6-7 décembre 2023 : Open Source Experience - Paris (France)
 * 7-8 décembre 2023 : TechRocks Summit - Paris (France)
 * 31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France)
 * 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
 * 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
 * 17-19 avril 2024 : Devoxx France - Paris (France)
 * 25-26 avril 2024 : MiXiT - Lyon (France)
 * 25-26 avril 2024 : Android Makers - Paris (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-297.mp3
Category:podcasts -- posted at: 2:53pm CET

--------------------------------------------------------------------------------

Thu, 25 May 2023
LCC 296 - Interview Google IA IA I/O 2023

Dans cet épisode, Antonio, Emmanuel et Guillaume reviennent sur les nouveautés
et annonces faites à Google I/O 2023 : de nouveaux téléphones Pixel qui se
plient ou pas, et surtout de l’intelligence artificielle du sol au plafond ! Que
ce soit dans Android, dans Google Workspace, dans Google Cloud, une tonne de
produits passe en mode survitaminé à l’IA. Guillaume, Antonio et Emmanuel
discutent aussi de l’impact qu’ils voient sur l’AI, et de comment les Large
Language Models sont raffinés et pourquoi on les fait halluciner, de subtilités
du langage des signes.

Enregistré le 23 mai 2023

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


GOOGLE I/O 2023

Site web : https://io.google/2023/

Keynote principale :
https://io.google/2023/program/396cd2d5-9fe1-4725-a3dc-c01bb2e2f38a/

Keynote développeur :
https://io.google/2023/program/9fe491dd-cadc-4e03-b084-f75e695993ea/

Vidéo résumée en 10 minutes de toutes les annonces :
https://www.youtube.com/watch?v=QpBTM0GO6xI&list=TLGGCy91ScdjTPYxNjA1MjAyMw

Vidéo de toutes les sessions techniques :
https://io.google/2023/program/?q=technical-session

Google I/O s’est tenu il y a 10 jours en Californie, dans l’amphithéâtre de
Shoreline, près du campus de Google.

Seulement 2000 personnes sur place, un chat et un jeu en ligne pour assister à
distance.

Jeu en ligne I/O Flip créé avec Flutter, Dart, Firebase, et Cloud Run, et tous
les assets graphiques générés par Generative AI
https://blog.google/technology/ai/google-card-game-io-flip-ai/


DES PIXELS PLEIN LES YEUX !

Des détails sur le design des nouveaux appareils :
https://blog.google/products/pixel/google-pixel-fold-tablet-7a-design/

PIXEL FOLD

Article : https://blog.google/products/pixel/google-pixel-fold/

 * Premier téléphone foldable de Google (après Samsung et Oppo)
 * Un écran sur le dessus, et un grand écran pliable à l’intérieur
   * Pratique pour la traduction où peut voir une discussion traduire en deux
     langues d’un côté sur un écran et dans l’autre langue sur l’autre
 * Utilisation créative de la pliure : mode “laptop”, pour les selfies, pour
   poser l’appareil pour des photos de nuit
 * Par contre… pas disponible en France, et tout de même presque 1900€ !

PIXEL TABLET

Article : https://blog.google/products/pixel/google-pixel-tablet/

 * Une belle tablette de 11 pouces, avec un dock de recharge avec enceinte
   intégrée
 * Processeur Tensor G2, Chromecast intégré
 * C’est un peu comme le Google Nest Hub Max mais avec un écran détachable
 * Une coque pratique avec un trépied intégré et qui n’empêche pas de recharger
   la tablette sur le dock
 * En mode dock, c’est comme l’écran du Google Home App, et dès qu’on la
   décroche, on est en mode multi-utilisateur, chacun avec son profil

PIXEL 7A

Article : https://blog.google/products/pixel/pixel-7a-io-2023/

 * Écran de 6 pouces
 * Triple appareil photo (grand angle, principal, et photo avant pour les
   selfies)
 * 509 euros
 * Magic Eraser pour effacer les trucs qu’on veut pas dans la photo, Magic
   Unblur pour rendre une photo floue plus nette, Real Tone pour rendre les
   peaux foncées plus naturelles


ANDROID

Article quoi de neuf dans Android :
https://blog.google/products/android/android-updates-io-2023/

 * Dans Messages, Magic Compose dans les conversations, l’IA nous aide à
   concevoir nos messages, dans différents styles (plus pro, plus fun, dans le
   style de Shakespeare)
 * Android 14 devrait arriver un peu plus tard dans l’année, avec plus de
   possibilités de customisation (fond d’écran généré par Gen AI, fond d’écran
   Emojis, couleurs associées, fond d’écran 3D issus de ses photos)
   https://blog.google/products/android/new-android-features-generative-ai/
 * StudioBot : un chatbot intégré à Android Studio pour aider au développement
   d’applis Android
   https://io.google/2023/program/d94e89c5-1efa-4ab2-a13a-d61c5eb4e49c/
 * 800 millions d’utilisateurs sont passés à RCS pour le messaging
 * Adaptation de 50 applications Android pour s’adapter aux foldables
   https://blog.google/products/android/android-app-redesign-tablet-foldable/
 * Wear OS 4 va rajouter le backup restore quand on change de montre et autres
   nouveautés
   https://blog.google/products/wear-os/wear-os-update-google-io-2023/
 * 800 chaînes TV gratuites dans Google TV sur Android et dans la voiture
 * Android Auto va être disponible de 200 millions de voitures
   https://blog.google/products/android/android-auto-new-features-google-io-2023/
 * Waze disponible globalement sur le playstore dans toutes les voitures avec
   Android Auto


GOOGLE MAPS

Article : https://blog.google/products/maps/google-maps-updates-io-2023/

 * Maps propose 20 milliards de km de direction tous les jours
 * Immersive View for Routes
 * 15 villes : Amsterdam, Berlin, Dublin, Florence, Las Vegas, London, Los
   Angeles, Miami, New York, Paris, San Francisco, San Jose, Seattle, Tokyo et
   Venice
 * Possibilité pour les développeurs de s’intégrer et rajouter des augmentations
   3D, des marqueurs


GOOGLE PHOTOS

Article Magic Editor :
https://blog.google/products/photos/google-photos-magic-editor-pixel-io-2023/

 * Magic Editor survitaminé à l’IA pour améliorer les photos, en déplaçant des
   gens, en rajoutant des parties coupées, ou bien rendre le ciel plus beau
 * Possible que ce soit limité aux téléphones Pixel au début


PROJETS EXPÉRIMENTAUX

 * Project Starline (écran avec caméra 3D qui donne un rendu 3D de son
   interlocuteur comme s’il était en face de soi) a été amélioré pour prendre
   moins de place
   https://blog.google/technology/research/project-starline-prototype/
 * Universal Translator : une nouvelle expérimentation pour faire du doublage et
   traduction automatique avec synchronisation des mouvements des lèvres
 * Project Tailwind, une sorte de notebook dans lequel on peut rajouter tous ses
   documents à partir de drive, et poser des questions sur leur contenu,
   proposer des résumés, de faire du brainstorming sur ces thèmes
   https://thoughtful.sandbox.google.com/about
 * MusicLM : un large language model pour générer de la musique à partir d’un
   texte de prompt (waitlist pour s’inscrire)
   https://blog.google/technology/ai/musiclm-google-ai-test-kitchen/
 * Project Gameface : utilisation des expressions du visage pour commander une
   souris et un ordinateur, pour les personnes qui ont perdu leur mobilité
   https://blog.google/technology/ai/google-project-gameface/
 * VisualBlocks : pour expérimenter dans une interface drag’n drop avec le
   développement de modèles pour Tensorflow lite et js
   https://visualblocks.withgoogle.com/
 * MakerStudio : pour les bidouilleurs et développeurs
   https://makersuite.google.com/
   https://developers.googleblog.com/2023/05/palm-api-and-makersuite-moving-into-public-preview.html


SEARCH LABS

Article : https://blog.google/products/search/generative-ai-search/

 * Expérimentations pour rajouter l’IA générative dans Google Search
 * Faire des recherches avec des requêtes avec des phrases plus complexes, en
   intégrant des réponses comme Bard, avec des liens, des suggestions d’autres
   recherches associées
 * Mais aussi proposer des publicités mieux ciblées
 * On peut s’inscrire à Search Labs pour tester cette nouvelle expérience, mais
   au début juste en Anglais et juste pour les US
 * Des intégrations avec Google Shopping pour proposer et filtrer des produits
   qui correspondent à la requête
 * Recherche à l’aide d’image, avec Google Lens : 12 milliards de recherches
   visuelles par mois


PALM ET BARD

 * Annonce du modèle LLM Palm 2 utilisé dans Bard et dans Google Cloud
   https://blog.google/technology/ai/google-palm-2-ai-large-language-model/
 * PaLM 2 est en cours d’intégration dans 25 produits de Google
 * Supportera 100 langues différentes (pour l’instant seulement l’anglais,
   japonais et coréen), avec déjà les 40 langues les plus parlées d’ici la fin
   de l’année
 * Maintenant disponible dans 180 pays… sauf l’Europe !!!
 * Capacité de raisonnement accrue
 * Peut coder dans une vingtaine de langages de programmation différents dont
   Groovy
 * Différentes tailles de modèles : Gecko, Otter, Bison et Unicorn, mais le
   nombre de paramètres n’est pas communiquée, comme pour GPT-4 d’OpenAI
 * Utilisable pour des requêtes et pour du chat
 * Des modèles dérivées fine-tunés Med-PaLM 2 sur du savoir médical, sur
   l’analyse visuelle des radios et Sec-PaLM, entrainé sur des cas d’utilisation
   sur le thème de la cybersécurité, pour aider à déceler des scripts malicieux,
   des vecteurs d’attaque
 * Sundar Pichai a aussi annoncé que Google travaillait déjà sur la prochaine
   évolution de ses LLM avec un modèle appelé Gemini. Peu de détails à part
   qu’il sera multimodal (en particulier recherche combinée image et texte par
   ex.)
 * Partenariat et intégration de Adobe Firefly dans Bard pour générer des images
   https://blog.adobe.com/en/publish/2023/05/10/adobe-firefly-adobe-express-google-bard


DUET AI POUR GOOGLE WORKSPACE

Article : https://workspace.google.com/blog/product-announcements/duet-ai

 * Dans Gmails et Docs, propose d’aider à la rédaction de vos emails et
   documents
   * une extension de “smart compose” qui va permettre de générer des emails
     entiers, d’améliorer le style, de corriger la grammaire, éviter les
     répétitions de texte
 * Dans Docs, des nouveaux “smart chips” pour rajouter des variables, des
   templates
 * Dans Slides, rajouter des images générées par IA
 * Des prompts dans Sheets pour générer un draft de table
 * Dans Google Meet, possibilité de créer une image de fond customisée avec
   Generative AI
 * Ces améliorations font parties de Workspace Labs auquel on peut s’inscrire
   dans la liste d’attente https://workspace.google.com/labs-sign-up/


GOOGLE CLOUD

Intégration de Generative AI partout
https://cloud.google.com/blog/products/ai-machine-learning/google-cloud-launches-new-ai-models-opens-generative-ai-studio

 * Nouvelles VM A3 avec les GPUs H100 de Nvidia, idéal pour l’entrainement de
   modèles de machine learning, avec 26 exaFlops de performance
   https://cloud.google.com/blog/products/compute/introducing-a3-supercomputers-with-nvidia-h100-gpus
 * Trois nouveaux modèles LLM dans Vertex AI : Imagen (private preview) pour
   générer des images, Codey pour la génération de code, et Chirp pour la
   génération de la parole supportant 100 langues différentes avec 2 milliards
   de paramètres vocaux
 * Model Garden : avec les modèles de machine learning y compris externes et
   open sources
 * Ajout des embeddings pour le texte et l’image
 * RLHF, Reinforcement Learning from Human Feedback bientôt intégrer pour
   étendre Vertex AI tuning et prompt design avec une boucle de feedback humaine
 * Generative AI Studio pour tester ses prompts zero-shot, one-shot, multi-shots
 * Duet AI pour Google Cloud
   https://cloud.google.com/blog/products/application-modernization/introducing-duet-ai-for-google-cloud
 * Assistance de code dans VSCode et bientôt les IDEs JetBrains grâce au plugin
   Cloud Code, et dans Cloud Workstations.
 * Intégration dans les IDEs d’un chat pour comme un compagnon pour discuter
   d’architecture, trouver les commandes à lancer pour son projet
 * Le modèle de code de Codey fonctionne sur une vingtaine de languages de
   programmation, mais un modèle fine-tuné a été entrainé sur toute la doc de
   Google Cloud, donc pourra aider en particulier sur l’utilisation des APIs de
   Google Cloud, ou l’utilisation de la ligne de commande gcloud
 * Duet AI est aussi dans App Sheet, la plateforme low/no-code, et permettra de
   chatter avec un chatbot pour générer une application App Sheet
 * Quoi de neuf dans Firebase
   https://firebase.blog/posts/2023/05/whats-new-at-google-io


WEB

Article :
https://developers.googleblog.com/2023/05/io23-developer-keynote-recap.html

 * Flutter 3 et Dart 3.10
   https://io.google/2023/program/7a253260-3941-470b-8a4d-4253af000119/
 * WebAssembly
   https://io.google/2023/program/1d176349-7cf8-4b51-b816-a90fc9d7d479/
 * WebGPU
   https://io.google/2023/program/0da196f5-5169-43ff-91db-8762e2c424a2/
 * Baseline
   https://io.google/2023/program/528a223c-a3d6-46c5-84e4-88af2cf62670/
   https://web.dev/baseline/


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


Direct download: LesCastCodeurs-Episode-296.mp3
Category:podcasts -- posted at: 11:43am CET

--------------------------------------------------------------------------------

Mon, 15 May 2023
LCC 295 - La librairie rentre dans le cadre

Dans cet épisode, Arnaud, Antonio et Emmanuel décortiquent les nouvelles d’avril
et mai. On y discute Java 20, ecrire un profiler de zéro, Quarkus 3 (encore !),
Micronaut 4, Podman, JReleaser, GitHub, CloudEvent, GraphQL, licenciements
(encore !), et de la question a 1000 francs: librarie vs framework, quelle
différence? Mais pas que.

Enregistré le 12 mai 2023

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


NEWS


LANGAGES

Un descriptif du changement de paiement d’Oracle JDK
https://horstmann.com/unblog/2023–02–23/

 * Cay Horstmann
 * Explique OpenJDK avec plusieurs distributeurs
 * Prefère Adoptium dont celle par défaut est Eclipse Temurin
 * Pour Oracle, beaucoup d’options de licenses (no-fee, binary code, OTM
   license)
 * Oracle depense beaucoup pour Java
 * La license en discussion est Java SE Universal Subscription Licensing
 * passage de license par CPU (Java SE advanced) vers license par employé (et
   une assiete large)
 * Bref si vous êtes concernés, passer sur OpenJDK: Adoptium, ou d’autres
   vendeurs

Java 20 est sorti : qu’y a t’il de nouveau dans Java 20 par rapport à Java 19 ?
https://foojay.io/today/its-java–20-release-day-heres-whats-new/

 * L’article fait le point sur ce qu’il y a de nouveau par rapport à la
   précédente release :
 * 4ème preview du pattern matching pour switch
 * 2nde preview des record patterns
 * 2nde preview des virtual threads
 * incubation des scoped values (similaire au thread locals mais pour les
   virtual threads)
 * 2nde incubation de la structured concurrency
 * 2nd preview de foreign function et memory API
 * 5ème incubation de la vector API (pour utiliser les instructions vectorielles
   des processeurs)
 * La liste des JEPs : https://openjdk.org/projects/jdk/20/
 * Les release notes : https://jdk.java.net/20/release-notes
 * dans le pattern matching switch: guarde when
 * Record pattern: utilisation de var. utilisable dans les for aussi maintenant
   for (Delay(var timeInMS) : delays)
 * quelques changements autour de l’API Thread est non preview (main API)
 * Les ScopedValue sont comme les threadlocal par (virtual) thread mais elles
   sont immuables une fois écrites.
 * use cases: copie d’etat pour des données non changeantes pour le virtual
   thread
 * Serait interessant d’avoir des details dessus

PDF 2.0 maintenant un vrai format ISO ouvert et gratuit
https://www.pdfa.org/sponsored-standards/

 * standard dispo sans cout
 * versions precedentes étaient payantes
 * clarifications et corrections de beaucoup de corner cases


LIBRAIRIES

Écrire un Profiler en 240 lignes de Java
https://mostlynerdless.de/blog/2023/03/27/writing-a-profiler-in–240-lines-of-pure-java/

 * Ce n’est peut-être pas si compliqué d’écrire soi même un Java Profiler ! Et
   justement cet article nous montre comment le faire, en créant un Java Agent,
   en analysant les stacks d’appel, et à la fin en créant même un flame-graph en
   HTML
 * Très didactique !
 * fondamentallement: appeler Threads:getAlStackStrace reguilerement et faire
   une liste des methodes visibles et créer un flamegraph a partir de ces
   données

L’équipe de Flutter partage les grands thèmes de sa roadmap
https://flutter.dev/go/strategy–2023

 * Performance, interopérabilité, portabilité, écosystème, sécurité,
   fondamentaux (comme la documentation, la fidélité des UI natives, adresser
   les issues publiques)

Quarkus 3 est sorti https://quarkus.io/quarkus3/

 * on a deja couvert
 * Hibernate ORM 6.2
 * nouvelle DevUI et admin sur un port different
 * Support for Pact
 * quarkus deply et extensibilite de la CLI avec des nouveaux verbes
 * dev services for Kubernetes simule un Kube pour tester les calls vers l’API
   Kube
 * Java 11 et 17 (recommendé)
 * Jakarta EE
 * Eclipse MicroProfile 6

Une librairie en Java spécialement pour l’astronomie par Cédric Champeau
https://melix.github.io/blog//2023/04–22-introducing-astro4j.html

 * différentes librairies et applications pour traiter les images issues de
   sol’ex qui permet de prendre des photos du soleil

Micronaut 4 milestone 2 est sorti. Les nouveautés de Micronaut 4
https://docs.micronaut.io/4.0.0-M2/guide/index.html#whatsNew

 * Kotlin 1.8.0
 * Experimental Support for Kotlin Symbol Processing (KSP)
 * Apache Groovy 4.0
 * Core Changes
 * Java 17 Baseline
 * Improved Modularity
 * GraalVM Metadata Repository and Runtime Initialization
 * Completed javax to jakarta Migration
 * Expression Language
 * Injection of Maps
 * Arbitrary Nesting of Configuration Properties
 * Improved Error Messages for Missing Configuration
 * Improved Error Messages for Missing Beans
 * Tracking of Disabled Beans
 * HTTP Changes
 * Initial Support for Virtual Threads (Loom)
 * Rewritten HTTP layer
 * Annotation-Based HTTP Filters
 * JDK HTTP Client


INFRASTRUCTURE

5 choses à savoir sur Podman Desktop pour un utilisateur Docker
https://podman-desktop.io/blog/5-things-to-know-for-a-docker-user

 * Une UI unique pour travailler avec différents moteur de conteneurs, et pas
   uniquement Docker
 * Compatible avec Docker avec un mode adapté pour fonctionner aussi avec la
   docker CLI ou docker.sock pour les sockets
 * Support de Compose
 * Support de Kubernetes
 * Securité : on peut utilisé rootless sans avoir les privilèges root
 * socket est particulierement utile pour TestContainer
 * compose n’est pas supporte en tant que tel mais on pout faire utiliser podman
   par compose
 * podman peut emuiler / executer des definitions de pods
 * si besoin d’exposer des ports <1024, on poeut activer le mode root.

Keycloak rejoins la CNCF
https://www.tfir.io/keycloak-cloud-native-iam-for-cloud-native-applications-joins-the-cncf/?utm_campaign=shareaholic&utm_medium=linkedin&utm_source=socialnetwork

 * IAM complete au sein de la CNCF
 * Keycloak sur base Quarkus : “cloud natif”


CLOUD

Un petit article court de chez Baeldung qui liste des distributions Kubernetes
légères () et partage leurs avantages et inconvénients respectifs
https://www.baeldung.com/ops/kubernetes-lightweight-distributions

 * Minikube (que des clusters à noeud unique)
 * MicroK8S (à jour avec les releases Kubernetes, mais pas de support des CPUs
   ARM32)
 * Kind (conteneurs considérés comme des noeuds, plus difficile à configurer
   avec autre chose que Docker)
 * K3S (moins de consommation de resources)

Il y a la liste des 100 trucs annoncés :
https://blog.google/technology/developers/google-io–2023–100-announcements/

 * Bard, le concurrent de ChatGPT, disponible dans 180 pays… sauf les pays
   européens
 * Pixel 7a, Pixel Tablet et Pixel Fold
 * Plein d’annonces autour de l’AI avec l’API PaLM (utilisée dans Bard), plein
   de Generative AI de partout dans les produits (search, workspace,..), y
   compris un modèle de code (qui comprends même le Groovy) qui va être intégré
   aux IDE, VSCode, etc


OUTILLAGE

Connaissiez vous le flag –json de curl ?
https://glaforge.dev/posts/2023/03/22/curl-s-json-flag/

 * Ca va simplifier nos interactions avec les APIs qui utilisent du JSON
 * Plus besoin de passer les headers de content-type et d’accept, c’est moins
   verbeux
 * Rajouté il y a un an dans curl 7.82 (pour info, sur mon mac, par exemple, je
   suis en 7.86)
 * curl --json '{ "drink": "coffe" }' [https://example.com](https://example.com)
   ou curl --json @prepared [https://example.com](https://example.com) pour
   pointer vers un fichier

Rétropédalage chez Docker
https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/

Github supprime le sponsoring par Paypal… et plein de développeurs Open Source
perdent leurs sponsorships https://github.com/orgs/community/discussions/45183

 * Juste un très cours blog post dans le changelog indiquant ce changement
   https://github.blog/changelog/2023–01–23-github-sponsors-will-stop-supporting-paypal/
 * peut etre suite au piratage de Paypal et aux risques de paiements frauduleux
   et de réputation?

Github a mis à jour sa clé RSA SSH Host
https://github.blog/2023–03–23-we-updated-our-rsa-ssh-host-key/

 * Apparemment, ils ont committé brièvement leur clé privée, oops !
 * Potentielle disruption pour certains, avec impossibilité de committer son
   code
 * Il faut alors “oublier” l’ancienne clé publique et mémoriser la nouvelle
 * Personnellement, j’ai committé du code à partir de Visual Studio Code et je
   n’ai pas eu de soucis
 * que sur RSA et pas sur les clés a courbe elliptique
 * clef porivée aurait pu faire du spoofing ou de dechiffremetn de flux en ssh
   via RSA vers github

2ème anniversaire de JReleaser
https://andresalmiray.com/jreleasers-second-birthday/

 * jreleaser permet de publier sur plusieurs appstores (homebroew, jbang, etc)
 * publie sur maven central automatiquemenr
 * publie les annonces sur twotter zulip etc
 * publication de binaires (gitHub etc) et de changelogs


ARCHITECTURE

Introduction à CloudEvents
https://atamel.dev/posts/2023/04–03_cloudevents_basics/

 * decrire des evenement de données de manière commune
 * metadata standardisees pour le routage
 * en JSON ou en cloudevents+json
 * metadonnées incluent: id, source, type, sujet, time, type de contenu de
   donnée, scheme ade donnée et des extensions comme partitioning etc
 * binary mode: data dans le corps du message, et metadonnées en header.
   efficace pour parsing minimal
 * structured-mode: data et metadata dans la meme enveloppe
 * batch-mode: plusieurs evenements en un seul envoie
 * formats: JSON, protobuf, Avro et XML
 * protocoles: HTTP, AMQP, KAfka, MQTT, NATS, WebSocket
 * Des evolutions futures planifiées

GraphQL, tout n’est pas si rose
https://betterprogramming.pub/graphql-from-excitement-to-deception-f81f7c95b7cf

 * pour Facebook qui pense en tant que graph de données
 * Pour leur appli mobile qui devait etre a bande apssante limitée
 * choses positives: one requete pour plusieurs resources, selection des données
   dont on a besoin uniquement, typé (entre client et serveur), meilleur
   outilllage dev pour l’exploration, pas de soucis de version d’API?
 * equipe qui embrace GraphQL en 2019
 * les perf optimisées apr un choix de données ne s’set pas materialisé pour eux
   (sauf mobile, doncpas machine- mache et desktop)
 * la latence de REST reste mieux que GraphQL
 * en pratique desktop et mobile sont assez similaire en données fetchées
 * schemas apportaient des problemes en pratique ; synchro front et back, code
   first generation avait des problemes de qualite de code genere
 * schema -> code est meilleur mais synchro front back toujours un probleme en
   pratique
 * erreurs, plus simple en rest avec les codes HTTP a debugger et monitorer
 * version free est une mensonge, les schemas ne peuvent etre cassés
 * pagination est compliqué et non standard et caching est primitif comparé a
   REST
 * n+1 probleme comme dans les ORMs ou alors dataloaders qui amene de la
   complexité
 * securite est plus compliqué a cause de la nav libre de GraphQL
 * ecosysteme pas super mature pour les besoins encore et paradoxalement tres
   complexe


MÉTHODOLOGIES

Trends technologie et culture par InfoQ
https://www.infoq.com/articles/culture-trends–2023/

 * les licenciement ont cassé les effets de psychological safety dans
   l’industrie
 * les IA genratives ont un impact fort sur la productivité du développeur mais
   aussi avec des faiblesses significatives
 * au dela du legal, les responsabilités societales deviennent plus importantes
   pour retenir employés et clients
 * Le travail asynchrone devient plus accepté socialement et adopter les
   practiques apportent des bénéfices réels
 * Le travail hybride devient la norme, amener les gens ensemble devient un
   choix délibéré, plus un horaire fixe


LOI, SOCIÉTÉ ET ORGANISATION

Red Hat fête ses 30 ans ! (limite, on n’était même pas nés, hein ?)
https://www.redhat.com/en/blog/red-hat–30th-anniversary-celebrating-red-hat-day-north-carolina

Red Hat licencie 4% de ses employés
https://wraltechwire.com/2023/04/24/red-hat-cutting-hundreds-of-jobs-ceo-says-in-letter-to-employees/

 * IBM avait annoncé 3900 licenciements il y a peu et cela monte à 5000 avec les
   licenciements chez Redhat (les effectifs étaient de 2200 à Raleigh et 19000 à
   l’international)
 * Licenciements suite au contexte économique post Covid, les revenus
   trimestriels de redhat n.ont été que de 8% en Q1 alors que la croissance
   était de 15 depuis l’acquisition de redhat par ibm en 2019

Crazy Bob est décédé :scream:
https://www.sfgate.com/bayarea/article/mill-valley-man-killed-sf-stabbing–17878809.php

 * Annonce sur TechCrunch
   https://techcrunch.com/2023/04/05/bob-lee-creator-of-cash-app-and-former-cto-of-square-stabbed-to-death/
 * Il avait créé le framework Guice, d’injection de dépendance, mais aussi
   Dagger
 * Il a contribué aux librairies d’Android
 * Il avait proposé une syntaxe alternative aux lambda : CIC
 * Il a coécrit le livre Bitter EJB https://www.manning.com/books/bitter-ejb
 * Il avait des idées bien tranchées, anti-Spring, anti-Groovy (pro-BeanShell),
   anti-lambda (tels qu’on les connait aujourd’hui)
 * Guillaume l’avait rencontré pour la première fois en 2007
   https://blog.octo.com/javaone–2007-et-groovy-chez-google/
 * Les gens partagent leurs souvenirs sur ce thread sur HackerNews
   https://news.ycombinator.com/item?id=35457341

10 millions de comptes sur Mastodon
https://mastodon.social/@mastodonusercount/110051957865629817

 * Peut-être pas 10 millions de comptes actifs, mais d’autres commentateurs
   estiment le nombre d’actifs serait plutôt de 6 à 7 millions actifs, pour
   effectivement 10 millions de comptes créés donc certains inutilisés ou
   disparus (serveur disparu)

Gordon Moore meure à 94 ans
https://www.lemonde.fr/economie/article/2023/03/26/mort-de-gordon-moore-entrepreneur-par-accident-et-cofondateur-d-intel_6167037_3234.html#xtor=AL–32280270-%5Bdefault%5D-%5Bios%5D

 * chimiste de formation, il refuse de bosser autour de la bombe atomique et
   fini dans la silicon valley
 * fonde un des premiers semiconducteurs (plusieurs transistors ensemble)
 * Intel sera un des rpemier a parier sur le silicium (pour construire de la
   mémoire) et un des premiers a faire une puce intégré regroupant plusieurs
   fonctions

Twitter open source ses algorithmes de recommendation
https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm

 * on retrouve le code source sur Github
   https://github.com/twitter/the-algorithm-ml
 * et quelqu’un a déjà trouvé où il y a des clauses particulières pour le cas où
   un tweet vient d’Elon Musk, où un tweet vient d’un républicain ou d’un
   démocrate https://uwyn.net/@danluu@mastodon.social/110119479811452246
 * L’algorithme de Twitter
   https://aakashgupta.substack.com/p/the-real-twitter-files-the-algorithm
 * analyse sans sensation
 * trois étapes: aggravation des données, construction des “features”, mixage
 * Followers, nos tweets et nous
 * Plus gros booster likes 30x, puis retweet 20x
 * Features: SimCluster: groupe par categories/personnes le tweet
 * Feature: TwHIN: vecteur de prediction d’engagement pour un tweet donné
 * Features: RealGraph, prend le tweet, the tweeter et le tweeté et construit un
   graphe pondéré de potentiel d’interaction
 * Règles de confiance et securité: élimine certains sujets (cela censure plus
   depuis Elon Musk)
 * Mixer: prend tout et construit la “timeline”
 * Utilisateur répond aux réponses: x75
 * En fait que 80% du code ouvert

The end of faking it in silicon valley
https://www.nytimes.com/2023/04/15/business/silicon-valley-fraud.html

 * les startup qui brulaient du cash sans business model clair
 * proces et prisons pour falsification de données clients
 * le approches non etique ne sont plus ignorées
 * avant les investisseurs avaient peur de se mettre les createur de boite a
   dos, maintenant, l’argent vaut cher
 * “finding out who is swimming naked when the tide goes out” Warren Buffet
 * “It feels like we were in a nightclub and the lights just turned on”
 * ils vont evaluer plus exhaustivement les foundateurs
 * le probleme c’\est que VC c’est sur la confiance (one way au moins) et que la
   c’est cassé


RUBRIQUE DÉBUTANT

On parle souvent de librairies et de frameworks, mais c’est quoi la différence ?
https://www.red-gate.com/simple-talk/development/other-development/the-difference-between-libraries-and-frameworks/

 * Une librairie est une collection de classes, de fonctions, de code, que l’ont
   peut utiliser pour des tâches spécifiques, pour éviter au développeur de
   réinventer la roue (par exemple une librairie comme Joda Time qui permet de
   simplifier / codifier la représentation du temps)
 * Il y a différents types de librairies : des librairies statiques ou
   dynamiques, suivant si elles sont chargées au runtime ou bien attachées au
   code que l’on compile. Il y a des librairies standards (comme celles venant
   du JDK et donc inclues avec lui) ou des librairies tierces (que l’on va par
   exemple trouver sur Maven Central)
 * Un framework (un “cadriciel” en bon françois) c’est aussi un ensemble de
   code, mais aussi de librairies, qui va offrir un cadre de développement pour
   ses applications.
 * Par exemple un framework web qui permet de créer des applications web plus
   facilement, ou Tensorflow pour développer de nouveaux algorithmes
   d’intelligence artificielle, ou Unity pour développer des jeux vidéos
 * Mais un framework est effectivement plus “cadrant” dans le sens où on doit
   suivre ses recommendations sur comment structurer son code, comment étendre
   des classes ou interfaces du framework, etc.
 * ainsi que les bonnes pratiques et parfois une boite a outil “prete a l’emploi
   vs assemblage
 * article decrit les pour et les contre


CONFÉRENCES

Une liste de conférences Java https://javaconferences.org/

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 10–12 mai 2023 : Devoxx UK - London (UK)
 * 12 mai 2023 : AFUP Day - Lille & Lyon (France)
 * 12 mai 2023 : SoCraTes Rennes - Rennes (France)
 * 25–26 mai 2023 : Newcrafts Paris - Paris (France)
 * 26 mai 2023 : Devfest Lille - Lille (France)
 * 27 mai 2023 : Polycloud - Montpellier (France)
 * 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland)
 * 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France)
 * 1 juin 2023 : Javaday - Paris (France)
 * 1 juin 2023 : WAX - Aix-en-Provence (France)
 * 1–2 juin 2023 : Agile Tour Toulouse - Toulouse (France)
 * 2 juin 2023 : Flutter Connection - Paris (France)
 * 2–3 juin 2023 : Sud Web - Toulouse (France)
 * 7 juin 2023 : Serverless Days Paris - Paris (France)
 * 14–15 juin 2023 : OW2 openSource Conf - Paris (France)
 * 14–17 juin 2023 : VivaTech (Viva Technology) - https://vivatechnology.com/) -
   Paris (France)
 * 15–16 juin 2023 : Le Camping des Speakers - Baden (France)
 * 15–17 juin 2023 : Pas Sage En Seine - Choisy-le-Roi (France)
 * 20 juin 2023 : Mobilis in Mobile - Nantes (France)
 * 20 juin 2023 : Cloud Est - Villeurbanne (France)
 * 20–22 juin 2023 : Adeo DevSummit - Lille (France)
 * 21–23 juin 2023 : Rencontres R - Avignon (France)
 * 28–30 juin 2023 : Breizh Camp - Rennes (France)
 * 29 juin 2023 : Google Cloud Summit France - Paris (France)
 * 29–30 juin 2023 : Sunny Tech - Montpellier (France)
 * 29–30 juin 2023 : Agi’Lille - Lille (France)
 * 7–9 juillet 2023 : Nantes Maker Campus - Nantes (France)
 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 18 septembre 2023 : Agile Tour Montpellier - Montpellier (France)
 * 19–20 septembre 2023 : Agile en Seine - Paris (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
 * 28–30 septembre 2023 : Paris Web - Paris (France)
 * 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 6 octobre 2023 : DevFest Perros-Guirec - Perros-Guirec (France)
 * 10 octobre 2023 : ParisTestConf - Paris (France)
 * 11–13 octobre 2023 : Devoxx Morocco - Agadir (Morocco)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
 * 19–20 octobre 2023 : DevFest Nantes - Nantes (France)
 * 19–20 octobre 2023 : Agile Tour Rennes - Rennes (France)
 * 26 octobre 2023 : Codeurs en Seine - Rouen (France)
 * 25–27 octobre 2023 : ScalaIO - Paris (France)
 * 26–27 octobre 2023 : Agile Tour Bordeaux - Bordeaux (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 15 novembre 2023 : DevFest Strasbourg - Strasbourg (France)
 * 16 novembre 2023 : DevFest Toulouse - Toulouse (France)
 * 6–7 décembre 2023 : Open Source Experience - Paris (France)
 * 7–8 décembre 2023 : TechRocks Summit - Paris (France)
 * 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
 * 19–22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France)
 * 28–29 mars 2024 : SymfonyLive Paris 2024 - Paris (France)
 * 17–19 avril 2024 : Devoxx France - Paris (France)
 * 25–26 avril 2024 : MiXiT - Lyon (France)
 * 25–26 avril 2024 : Android Makers - Paris (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-295.mp3
Category:podcasts -- posted at: 12:04pm CET

--------------------------------------------------------------------------------

Mon, 17 April 2023
LCC 294 - A Devoxx France 2023 en chair en os et en béret

Les Cast Codeurs font la clôture de Devoxx France 2022 en chair, en os et en
béret.

Enregistré le 14 avril 2023

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


INTERVIEW

La vidéo du direct Devoxx France qui est plus facile à suivre se trouvera sur
YouTube.


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/

Direct download: LesCastCodeurs-Episode-294.mp3
Category:podcasts -- posted at: 10:29am CET

--------------------------------------------------------------------------------

Thu, 6 April 2023
LCC 293 - Interview Maven et builds reproductibles avec Hervé Boutemy

Dans le cocon de jchateau, Hervé Boutemy se fait interviewer par Charles
Sabourdin sur Maven 3, 4, 5 et sur les builds reproductibles. Un grand merci à
Charles pour son passage derrière le micro.

Enregistré le 18 mars 2023

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


INTERVIEW

Twitter Hervé Boutemy

JChateau
JavaDay

Maven et son histoire

Les builds reproductibles
Les builds reproductibles sur la JVM
Les builds reproductibles avec Maven


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-293.mp3
Category:podcasts -- posted at: 10:56am CET

--------------------------------------------------------------------------------

Mon, 20 March 2023
LCC 292 - Enterprise Go Beans

Cet épisode nouvelles discute d’améliorations dans le JDK, d’Hibernate 6, de
Service Weaver, de la fin d’options dans DockerHub pour certains projets open
source, de Gradle, de cURL et pleins d’autres choses encore.

Enregistré le 17 mars 2023

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


NEWS


LANGAGES

Quelle version de JDK utiliser en fonction des fonctionnalités que l’on souhaite
utiliser mais aussi du long time support https://whichjdk.com/

JetBrains propose une formation Rust intégrée aux IDEs
https://blog.jetbrains.com/rust/2023/02/21/learn-rust-with-jetbrains-ides/

 * Un apprentissage directement intégré à l’IDE
 * Avec un plugin “Academy” dédié, qui rajoute un troisième panneau avec les
   instructions, les explications, et on fait des exercices dans la partie IDE
 * Une chouette manière d’apprendre intégrée directement à son IDE
 * Chacun doit pouvoir créer ses propres ressources d’apprentissage, et on
   pourrait appliquer ça à des frameworks, des outils, ou pourquoi pas son
   propre projet informatique !

Retravail de classes du JDK Bits / ByteArray vers un usage via VarHandle pour le
swapping de bits dans Java 21
https://minborgsjavapot.blogspot.com/2023/01/java–21-performance-improvements.html

 * petit changement mais utilisé par beaucoup de classes comme ObjectInputStream
   RandomAccessFile etc
 * améliore la serialization en java

Rajout de la notion de “sequenced collection” dans la hiérarchie des
collections, planifié pour JDK 21
https://www.infoq.com/news/2023/03/collections-framework-makeover/

 * va permettre de codifier les collections qui ont un ordre donné (pas
   forcément trié)
 * rajouter aussi des méthodes pour traverser des collections séquentielles à
   l’envers, ou pour récupérer ou ajouter un élément au début ou à la fin d’une
   collection ordonnée
 * aujourd’hui ces methodes sont eparpillées dans les implémentaions et
   n’avaient aps de contrat commun

Le guide ultime des virtual threads
https://blog.rockthejvm.com/ultimate-guide-to-java-virtual-threads/

 * un très long article qui couvre le sujet des nouveaux virtual threads
 * comment en créer
 * comment ils fonctionnent
 * le scheduler et le scheduling coopératif
 * les “pinned” virtual threads (lorsqu’un thread virtuel est bloqué dans un
   vrai thread, par exemple dans un bloc synchronized ou lors d’appel de
   méthondes natives)
 * les thread local et thread pools


LIBRAIRIES

Quarkus 3 alpha 5 avec Hibernate ORM 6 et une nouvelle DevUI
https://quarkus.io/blog/quarkus–3–0–0-alpha5-released/

 * passage d’Hibernate 5 a 6 (donc testez!
 * switch de compatibilité supérieur pour aider la transition
   https://github.com/quarkusio/quarkus/wiki/Migration-Guide–3.0:-Hibernate-ORM–5-to–6-migration#database-orm-compatibility
   (DB interaction esp schema
 * StatelessSession injectable
 * Gradle 8
 * nouvelle DEvUI (nouveau look and feel, plus extensible pour els extensions et
   pplus facile a utiliser, va au dela des integrations d’extension (config etc)
 * quarkus deploy dans la CLI, gradle et maven: deploie dans Kube, knative,
   OpenShift

La route vers Quarkus 3, article sure infoq
https://www.infoq.com/news/2023/03/road-quarkus–3/

 * Jakarta EE, ORM 6, Microprofile 6, virtual threads, io_uring,
   ReactiveStreams=> Flow
 * io_uring reduit les copie de buffer entre userspace et kernel space
 * pas de support JPMS en vue mais Red Hat contribue a project Leyden
 * Camel extensions, attendez Camel 4 (passage Jakarta EE)

Interview de Geert Bevin, l’auteur du framework Java RIFE2
https://devm.io/java/rife2-java-framework

Google annouce Service Weaver
https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.html

 * EJB is back (Enterprise Go Beans :D)
 * ecrire en tant que modular monolith
 * permet au deploiement décider ce qui est distribué
 * basé sur leur experience du surtout de maintance des microservices (contrats
   plus difficiles a casser - dbesoin de coordination de rollout etc)
 * dans la communauté des entousiastes
 * et des gens concernés par les 10 falaccies of distributed computing et le
   fait de cacher les appels distants
 * EJB et corba avant cela ont été des échecs de ce point de vue la
 * ils n’expliquement pas comment le binding de nouveax contrats et de
   deploiement se fait de maniere transparente
 * des deployeurs implementables (go et GKE initialement)

Etude d’opinion de certains utilisateurs de Jakarta EE (OmniFaces community)
https://omnifish.ee/2023/03/10/jakarta-ee-survey–2022–2023-results/

 * biaisée donc attention
 * Java EE 8 suivi par Jakarta EE 8 et derriere Jakarta EE 10 etc
 * WildFly puis Payara puis glassfish ensuite tomee et JBoss EAP
 * gens contents de leurs serverus d’app sand Weblogic et Websphere
 * les api utilisées le plus JPA, CDI, REST, Faces, Servlet, Bean Validation,
   JTA, EJB, EL etc
 * Produit microprofile: Quarkus puis WildFlky puis Open Liberty puis Payara et
   Helidon
 * Dans microprofile: Config, rest client, open api, health et metric sont les
   plus utilisés

Comment utiliser des records et Hibernate
https://thorben-janssen.com/java-records-embeddables-hibernate/

 * pas en tant qu’entité encore (final, pas de constructeur vide)
 * mais en tant qu’@Embeddable
 * records sont immuable
 * dans hibernate 6.2, c’est supporté par default (annoter le record @Embeddable
 * Ca utilise le contrat EmbeddableIntentiator

Cinq librairies Java super confortables
https://tomaszs2.medium.com/5-amazingly-comfortable-java-libraries–887802e240de

 * mapstruct mapper des entités en DTO
 * jOOQ requête de bases de données typées
 * WireMock mocker des API ou être entre le client et l’API pour ne mocker que
   certaines requêtes
 * Eclipse Collections : pour rendre le code plus simple et facile à comprendre.
   Attention à la,surface d’attaque
 * HikariCP connection pool rapide - agroal est dans la meme veine mais supporte
   JTA. C’est ce qui est dans Quarkus.

Retour d’expérience sur Hibernate 6
https://www.jpa-buddy.com/blog/hibernate6-whats-new-and-why-its-important/

 * côté APIs et côté moteur
 * jakarta persistence 3 ; java 11
 * annotations de types hibernate sont typesafe
 * support des types JSON OOTB
 * meilleur support des dates avec @TimeZoneStorage soit natif de la base soit
   avec une colonne séparée
 * changement dans la génération des ID (changement cassant) mais stratégies de
   noms historique peut être activé
 * Options autour de UUID (Time base et IP based)
 * composite id n’ont plus besoin d’être serialisable
 * type texte long supportés via @JdbcTypeCode
 * multitenancy (shared schema, resolver de tenant a plugger)
 * read by position (SQL plus court car sans alias, deserialisarion plus rapide,
   moins de joins dans certains cas)
 * modele sous jacent commun entre HQL et l’api criteria et donc même moteur
 * meilleure génération du SQL et plus de fonction SQL modernes réduisant le gap
   entre HQL et SQL
 * ronctions analytiques et fenêtre quand la base les supportent
 * graphe traverse en largeur plutôt qu’en profondeur (potentiellement plus de
   join donc bien mettre lazy sur vos associations)


CLOUD

Docker supprime les organisations open source sur DockerHub
https://blog.alexellis.io/docker-is-deleting-open-source-images/

 * Les projets open source risquent de devoir passer de 0 $ à 420 $ par an pour
   héberger leurs images
 * Rétropédalage de Docker
   https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/


WEB

Une base de connaissance sur le fonctionnement et les bonnes pratiques autour
des WebHooks
https://nordicapis.com/exploring-webooks-fyi-the-webhooks-knowledge-center/

Guillaume a refondu son blog https://glaforge.dev/

 * Cette fois ci, c’est un site web statique, généré avec Hugo, avec des
   articles en Markdown, hébergé sur Github Pages, buildé / publié
   automatiquement par Github Actions


OUTILLAGE

Gradle 8.0 est sorti https://docs.gradle.org/8.0/release-notes.html

Une CLI connectée à OpenAI’s Davinci model pour générer vos lignes de commandes
https://github.com/TheR1D/shell_gpt

 * sgpt -se "start nginx using docker, forward 443 and 80 port, mount current
   folder with index.html"
 * -> docker run -d -p 443:443 -p 80:80 -v $(pwd):/usr/share/nginx/html nginx
 * -> Execute shell command? [y/N]: y

Un petit outil en ligne basé sur le modèle GPT–3 qui permet d’expliquer un bout
de code https://whatdoesthiscodedo.com/g/db97d13

 * Copiez-collez un bout de code de moins de 1000 caractères, et le modèle de
   code de GPT–3, et l’outil vous explique ce que fait ces quelques lignes de
   code
 * Assez impressionnant quand on pense que c’est un modèle de prédiction
   probabiliste des prochains caractères logiques
 * Certaines réponses donnent vraiment l’impression parfois que l’outil
   comprends réellement l’intention du développeur derrière ce bout de code

Git: Comment rebaser des branches en cascade
https://adamj.eu/tech/2022/10/15/how-to-rebase-stacked-git-branches/

native-image va être inclu dans la prochaine version de GraalVM JDK. Plus besoin
de gu install native-image https://github.com/oracle/graal/pull/5995

Si vous utilisez l’outil Mermaid pour faire des graphes d’architecture,
d’interactions, etc, il y a un petit cheatsheet sympa qui montre comment faire
certains diagrammes https://jojozhuang.github.io/tutorial/mermaid-cheat-sheet/

Un site avec plein de trucs et astuces sur psql, le langage SQL de PostgreSQL
https://psql-tips.org/

CURL a 25 ans !
https://daniel.haxx.se/blog/2023/03/10/curl–25-years-online-celebration/

 * Son créateur, Daniel Stenberg, est toujours à la tête du projet
 * cURL est utilisé dans d’innombrables projets
 * par défaut dans plein de systèmes d’exploitation

Cédric Champeau explique le concept de version catalog de Gradle et comment il
améliore la productivité
https://melix.github.io/blog//2023/03–12-micronaut-catalogs.html

 * permet de réduire le temps et l’effort nécessaire à gérer la version de ses
   dépendances
 * apport aussi plus de sécurité, de flexibilité, pour s’assurer qu’on a les
   bonnes versions les plus récentes des dépendances et qu’elles fonctionnent
   bien entre elles


ARCHITECTURE

La pyramide des besoins du code de qualité
https://www.fabianzeindl.com/posts/the-codequality-pyramid

 * le bas de la pyramide supporte le haut
 * performance de build
 * performance de test
 * testabilité
 * qualité des codes de composants
 * fonctionalités
 * performance du code
 * pour chaque bloc, il explique les raisons, ses definitions et des astuces
   pour l’ameliorer
 * par exemples les fonctionalites changent et donc build, testabilité et
   qualite de code permet des changements légers en cas de changement dans les
   fonctionalités
 * perf viennent ensuite ("premature opt, root of all evil), regader des besoins
   globaux


MÉTHODOLOGIES

Le DevSusOps est né
https://www.infoq.com/news/2023/02/sustainability-develop-operation/?utm_campaign=i[…]nt&utm_source=twitter&utm_medium=feed&utm_term=culture-methods

 * bon serieusement, comment on couvre avec un nom pareil sans déraper
   :man-facepalming:
 * ah dommage Micreosoft rejoints la FinOps foundation
   https://www.infoq.com/news/2023/02/microsoft-joins-finops-org/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Cloud
   Imagine si ils avaient rejoint la DevSusOps fondation


SÉCURITÉ

Plein de choses qu’on peut faire avec des Yubikeys
https://debugging.works/blog/yubikey-cheatsheet/

 * Pour générer des time-based one-time passwords, pour l’accès SSH,, pour
   sécuriser un base Keepass, comme 2FA pour le chiffrement de disque, pour la
   vérification d’identifiant personnel, pour gérer les clés privées…


LOI, SOCIÉTÉ ET ORGANISATION

Le fabricant de graveurs de CPU hollandais ASML se voit interdire d’exporter ses
technologies vers la chine
https://www-lemagit-fr.cdn.ampproject.org/c/s/www.lemagit.fr/actualites/365532284/Processeurs[…]le-escalade-dans-les-sanctions-contre-la-Chine?amp=1

 * en tous cas les technologies de gravure des deux dernières generations
 * de la pression commerciale on passe au registre d’exclusion par decision
   militaire
 * ASML s’était fait espionner récemment
 * CAnon et Sony aussi dans la restriction

Meta supprime de nouveau 10000 emplois soit 25% au total depuis la fin de
l’année dernière
https://www.lesechos.fr/tech-medias/hightech/meta-va-supprimer–10000-postes-de-plus–1915528


RUBRIQUE DÉBUTANT

Bouger les éléments d’une liste
https://www.baeldung.com/java-arraylist-move-items

 * discute le concept d’array list en dessous et donc le coût d’insérer au
   milieu
 * decouverte de Collections.swap (pour intervertir deux elements)
 * decouverte de Collections.rotate pour “deplacer” l’index zero de la liste


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 15–18 mars 2023 : JChateau - Cheverny in the Châteaux of the Loire Valley
   (France)
 * 23–24 mars 2023 : SymfonyLive Paris - Paris (France)
 * 23–24 mars 2023 : Agile Niort - Niort (France)
 * 30 mars 2023 : Archilocus - Online (France)
 * 31 mars 2023–1 avril 2023 : Agile Games France - Grenoble (France)
 * 1–2 avril 2023 : JdLL - Lyon 3e (France)
 * 4 avril 2023 : AWS Summit Paris - Paris (France)
 * 4 avril 2023 : Lyon Craft - Lyon (France)
 * 5–7 avril 2023 : FIC - Lille Grand Palais (France)
 * 12–14 avril 2023 : Devoxx France - Paris (France)
 * 20 avril 2023 : WordPress Contributor Day - Paris (France)
 * 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France)
 * 21 avril 2023 : WordCamp Paris - Paris (France)
 * 27–28 avril 2023 : AndroidMakers by droidcon - Montrouge (France)
 * 4–6 mai 2023 : Devoxx Greece - Athens (Greece)
 * 10–12 mai 2023 : Devoxx UK - London (UK)
 * 11 mai 2023 : A11yParis - Paris (France)
 * 12 mai 2023 : AFUP Day - lle & Lyon (France)
 * 12 mai 2023 : SoCraTes Rennes - Rennes (France)
 * 25–26 mai 2023 : Newcrafts Paris - Paris (France)
 * 26 mai 2023 : Devfest Lille - Lille (France)
 * 27 mai 2023 : Polycloud - Montpellier (France)
 * 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland)
 * 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France)
 * 1 juin 2023 : Javaday - Paris (France)
 * 1 juin 2023 : WAX - Aix-en-Provence (France)
 * 2–3 juin 2023 : Sud Web - Toulouse (France)
 * 7 juin 2023 : Serverless Days Paris - Paris (France)
 * 15–16 juin 2023 : Le Camping des Speakers - Baden (France)
 * 20 juin 2023 : Mobilis in Mobile - Nantes (France)
 * 20 juin 2023 : Cloud Est - Villeurbanne (France)
 * 21–23 juin 2023 : Rencontres R - Avignon (France)
 * 28–30 juin 2023 : Breizh Camp - Rennes (France)
 * 29–30 juin 2023 : Sunny Tech - Montpellier (France)
 * 29–30 juin 2023 : Agi’Lille - Lille (France)
 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 25–26 septembre 2023 : BIG DATA & AI PARIS 2023 - Paris (France)
 * 28–30 septembre 2023 : Paris Web - Paris (France)
 * 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 10–12 octobre 2023 : Devoxx Morroco - Agadir (Morroco)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 12–13 octobre 2023 : Forum PHP 2023 - Marne-la-Vallée (France)
 * 19–20 octobre 2023 : DevFest Nantes - Nantes (France)
 * 10 novembre 2023 : BDX I/O - Bordeaux (France)
 * 6–7 décembre 2023 : Open Source Experience - Paris (France)
 * 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
 * 1–3 février 2024 : SnowCamp - Grenoble (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-292.mp3
Category:podcasts -- posted at: 8:46am CET

--------------------------------------------------------------------------------

Mon, 13 February 2023
LCC 291 - ChatGPT licencie 15% des bisounours

Antonio, Guillaume et Emmanuel discutent de licence Oracle pour Oracle JDK, de
JEPs, de Flutter, d’Hibernate, de Mokito, de Kafka, de (not so) Big Data, du
parsing de YAML, de ChatGPT, de licenciements, de platform engineering, et de
nombres flottants.

Enregistré le 10 février 2023

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


NEWS


LANGAGES

Oracle a changé une des licences de Oracle Java
https://redresscompliance.com/oracle-java-licensing-changes-explaned-free/

 * plus d’utilisateurs nommé
 * mais basé sur tous les employés et même les employés de vos soustraitant
 * Bref, ca va faire cher
 * et si vous itulisez plus de 50k processeurs, vous payez en plus
 * Un autre article d’IDC
   https://blogs.idc.com/2023/01/30/oracle-java-subscription-changes-what-is-the-impact-to-customers/
 * Message a caractère informatif: il y a d’autres distributions de OpenJDK
   supportées de différents vendeurs ; ou la version non supportée

InfoQ fait un résumé des dernières nouvelles Java, les mises à jour sur les
JEPs, les dernières releases
https://www.infoq.com/news/2023/01/java-news-roundup-jan23–2023/

 * sur Java specificquement
 * des mises à jour de drafts autour du projet amber (primitive types in
   patterns etc)
 * Une JEP pour discuter du future process des JEP (evolutions)
 * JDK 20 en rampdown phase avec en nouvelles features: scoped values, record
   patterms, pattern matching for switches, virtual threads, structured
   concurrency - toutes en incubation ou preview
 * https://www.infoq.com/news/2023/02/java-news-roundup-jan30–2023/
 * Le framework RIFE fait son grand retour !

Sortie de Go 1.20 https://go.dev/doc/go1.20

 * mais pas de gros changements, juste des améliorations de la toolchain, des
   librairies…

Recap de la conférence Flutter Forward 2023
https://medium.com/@flutterqueen/flutter-forward–2023-recap–8f6da4876e3

 * Annonces de Flutter 3.7 et Dart 2.19
 * Amélioration de la performance graphique (utilisation de Impeller au lieu de
   Skia)
 * Layout adaptatif
 * Barres et sous-barres de menu
 * Validation de release iOS
 * Support de Material 3
 * Nouveaux widgets
 * Support de ses propres shaders
 * Facilitation de l’intégration native avec FFIgen et JNIgen
 * Support de la 3D
 * Support de WebAssembly
 * Support de RISC-V
 * Possibilité d’intégrer une app Flutter comme un élément HTML dans un page
   HTML
 * Un toolkit spécifique pour les applis de News
 * Côté langage Dart, il devrait bientôt y avoir du pattern matching


LIBRAIRIES

Les bonnes pratiques d’accessibilité pour les applications en Flutter
https://medium.com/flutter-community/creating-inclusive-apps-with-flutter-best-practices-for-accessibility-c7cebe0beb4d

 * 4 grands thèmes dans l’article : l’accessibilité dans Flutter, les
   fonctionnalités intégrées à Flutter pour l’accessibilité, les meilleurs
   pratiques pour rendre les apps Flutter accessibles, et tester / débugguer
   l’accessibilité
 * Flutter supporte le text contrast, les screen readers, les labels
   sémantiques, l’utilisation au clavier

Comment logger les requetes Hibernate ORM
https://www.adeliosys.fr/articles/hibernate-monitoring/

 * log brut
 * via un logger
 * les requetes lentes (plus lentes que n millisecondes)
 * les metriques plus avancées (Statement, requetes, temps acquisition de
   connections, cache)
 * Exposable via JMX
 * le pool de connexion

Sortie de Mockito 5, avec la possibilité de mocker des constructeurs, des
méthodes statiques et des classes finales
https://www.infoq.com/news/2023/01/mockito–5/

 * avant, c’était déjà possible de le faire avec mockito-inline mais maintenant
   c’est “out of the box”
 * la version Java minimale passe de Java 8 à Java 11


CLOUD

Kubernetes Java client ajouté le support de kubernetes 1.25
https://www.infoq.com/news/2023/01/kubernetes-java-client/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=java

 * ajout d’APIs dynamique pour faire du monitoring générique
 * L’article montre l’API utilisée en alternative a certaines commandes kubectl
 * fabric8 est une alternative


DATA

Big data est mort https://motherduck.com/blog/big-data-is-dead/

 * fondateur de BigQuery
 * Puis regardé comment les utiilsateurs utilisaent Big Query
 * Et pas un probleme de big data
 * Retour des moteurs classiques MySQL / PostgreSQL vs MongoDB etc
 * la plupart des utilisaeur de big query etaient sous les 1Tb et 50% at 100GB
   ou moins
 * doncle deluge de données n’est pas arrivé
 * le shift moderne c’est de detacher le stockage du compute
 * les données grossissent plus vite que les besoin en compute sur ces données
 * la taille du workload est sur un petit sous ensemble de la taille des données
   entiéres (90% des requetes bigquery sont sur 100M de données)
 * bases de données modernes sont force a travailler sur un sous ensemble des
   données
 * pression pour scocker moins de données sur les equipes
 * données sont requetees dans la journée, dans la semaine et ensuite rarement
   touchées
 * donc big data = whatever doesn’t fit on a single machine, est de moins en
   moins vrai
 * map reduce en 2004 et machines de maintenant entre 2 et 4 ordre de grandeurs
   de RAM en plus
 * avant on se foutait de supprimer des données mais GDPR et responsabilité
   pénales change la donne
 * data putrefaction comme le bit rot
 * questionnaire pour savoir si les prochaines generations de data processing
   seront suffisant pour vous
 * distribution est une raison par contre


OUTILLAGE

Tous les soucis avec YAML
https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell

 * article qui explique la complexité de YAML et ses incohérences
 * Comparaison a la simplicité de JSON
 * les commentaires JSON enlevés en 2005 parce que les gens mettaient des meta
   instructions pour les parseurs et l’implementation des commentaire était très
   complexe
 * 22:22 est une nombre en base 60 vs 80:80 qui ne l’est pas (enleve en YAML 1.2
 * - **.png est invalide, ** est une reference vers une ancre
 * - !.git est parsé différemment par les parseurs: ! est une echape pour
   exprimer un type natif du langage (e.g. Java) - ca veut dire que charger un
   YAML inconnu est non sûr
 * - fr - de - no retourne ["fr", "de", no] le problème Norvège | changé en tre
   YAML 1./1 et 1.2 mais l;es parseurs gardent les anciens comportements:.
   Boolean: on, yes, y
 * on: "let's go" est convertit en { "True": "let's go" } parce que on est
   boolean et accepté en clé non String dans YAML
 * version: [ 9.5.1, 12.13] -> { "version": [ "9.5.1", 12,13 ] } les chiffres
   non echapé par un guillement
 * syntax highlighting est donc dependant
 * les templates dans yaml ca court a la cata
 * altewrnatives: TOML, JSON, sous ensemble de YAML (toujours quoter les
   chaines)

ChatGPT, on lui attribue plus de magie qu’il n’en a
https://arxiv.org/pdf/2212.03551.pdf

 * un article scientifique mais de 8 pages seulement
 * ChatGPT entant que large language models (LLM) et un prompt Engineering au
   dessus (le conversational agent)
 * ChatGPT c’est une exécution du modèle Next Token Prediction
 * C’est de la statistique brute mais excrément versatile dans ses usages
 * Tendance à anthropomorphismes parce qu’on a passé la sensation de uncanny
   valley
 * Considérant la distribution statistique des mots du corpus public, quels mots
   ont le plus de chance de venir après
 * Pas de relation au monde, aux objets et aux interactions d’êtres partageant
   le même langage
 * Pas des faits, ChatGPT ne sait pas, n’a pas d’intention
 * C’est donc un outil génial pour éliminer un paquet du bullshit work de tous
   les jours, pas les gens qui le font
 * Est-ce que les capacités sont émergentes ? LLM fondamentalement est hors du
   concept

Le méta tutoriel sur le parsing avec Antlr
https://tomassetti.me/antlr-mega-tutorial/

 * Couvre différents langages don’t Java, Python, JavaScript et C#
 * Explique les différentes phases de lexing, de parsing
 * Comment résoudre les ambiguïtés avec les prédicats sémantiques
 * Comment transformer du code
 * Comment tester son parseur
 * Et autre trucs et astuces

Un tutoriel sur comment releaser un module Java avec Maven, JReleaser et Github
Actions
https://foojay.io/today/how-to-release-a-java-module-with-jreleaser-to-maven-central-with-github-actions/

 * montre le setup necessaire (clé GPG, pripriété du groupid, config maven etc
 * montre comment faire la release à la main
 * comment l’automatiser via GitHub actions

Un tutoriel expliquant comment utiliser CRaC pour vos applis Java dans un
conteneur
https://foojay.io/today/how-to-run-a-java-application-with-crac-in-a-docker-container/

 * Coordinated Restore at Checkpoint (développé par Azul)
 * Permet de créer des snapshots d’une application Java
 * Pour qu’elle puisse être relancée rapidement après son démarrage, son warmup

Une intro à Kafka en français
https://blog.octo.com/kafka-repond-il-a-mon-besoin/

Maven 3.9 sorti https://lists.apache.org/thread/0tfr7t2j2ddbv4gjvxm47yohtk3dg6b3

 * https://maven.apache.org/docs/3.9.0/release-notes.html
 * Java 8 nécessaire pour lancer Maven
 * Pas mal de nettoyage de code et de dépendances pour préparer Maven 4.
   Certains plugins mal conçus (ex: qui ne déclare pas la dep plexus-util)
   peuvent être incompatibles.
 * .mvn/maven.config dit désormais avoir 1 arg par ligne
 * Maven avertit maintenant sur l’utilisation de plugins obsolètes, objectifs,
   paramètres, etc.
 * Ajout de la prise en charge de l’invocation « mvn pluginPrefix:version:goal »
   et mise à jour des logs (pour simplifier le copier/coller).
 * Ajout d’activation de profil par packaging.
 * Maven 3.9.0 est désormais entièrement compatible avec la nouvelle ligne 3.x
   d’installation et de déploiement de plugins (les versions précédentes
   préviennent à ce sujet).
 * Ajout du support du repo local partagé -
   https://maven.apache.org/resolver/local-repository.html#shared-access-to-local-repository
 * Ajout de la possibilité de splitter le repo local (releases, vs snapshots…)
   et possibilité de gérer des workspaces -
   https://maven.apache.org/resolver/local-repository.html#split-local-repository
 * Filtrage des dependences par repository -
   https://maven.apache.org/resolver/remote-repository-filtering.html
 * Chained local repository (pour l’isolation entre “outer” and “inner” builds)
   - https://issues.apache.org/jira/browse/MNG–7612
 * Attention: Il y aurait une regression (10%) sur les perfs de gros projets -
   https://issues.apache.org/jira/browse/MNG–7677

Les bisounours


MÉTHODOLOGIES

De operation engineering vers platform engineering
https://www.infoq.com/news/2022/10/platform-devops-summary/

 * et quand le sysadmin devient de nouveau sexy
 * grosse tendance et beaucoup de discussions autour du la platform engineering
 * une plateforme imposée aux devs mais sexy donc c’est bon cette fois: plus
   serieusement customer focus - la fameuse developer experience
 * Requilibrage entre dev vs ops puis devops plat et maintenant ceci. Sans
   enlever devops
 * car devops amene une charge mentale lourde
 * objectif developper la “core business value” et donc supporter cela avec une
   Internal DEveloper Platform
 * Backstage est la GUI au dessus mais une IDP est plus profonde
 * Infra <-> Platform <-> dev teams
 * IDP: ne pas avoir a faire tourner l’infra (pour une equipe dev metier)
 * Et cela permet d’ajouter des controles “entreprise”: cout, gouvernance etc
 * C’est un pendule qui se reequilibre, mais n’oublions pas que les devs aime le
   jeu, comme les otaries. Pas pisser du code metier le plus vite possible.
 * Est-ce que les IDP seront populaires, c’est la grande question
 * un contre point dans l’articl;e: IDP are expensive and hard to do, offer a
   mediocre service at best, destroy velocity, and create bad incentives
 * lié a la notion de golden path


SÉCURITÉ

Une liste de binaires Unix qui peuvent être utilisés pour bypasser des systèmes
malconfigurés https://gtfobins.github.io/

 * apparemment même des images type distroless peuvent être affectées
 * risques potentiels : accès à un shell, des privilèges élevés, transférer des
   fichiers, etc.


LOI, SOCIÉTÉ ET ORGANISATION

Twitter desactive l’API pour les clients qui n’affichent pas les pubs de Twitter
(comme Tweetbot https://twitter.com/tweetbot/status/1613763746437947394)

 * et paf le support de twitter sur ton ordi

Ola Bini déclaré innocent
https://peoplesdispatch.org/2023/02/01/digital-rights-activist-ola-bini-declared-innocent-by-ecuadorian-court

 * Arrété en 2019 en Equateur
 * Accusé d’avoir eu access à des ordinateurs et des systemes de communication
 * En même temps que Julian Assange était renvoyé de l’ambassage Equatorienne de
   Londres
 * Il a fait 70 jours de prison

Google a viré son équipe Open Source
https://www.infoworld.com/article/3686511/google-blew-it-with-open-source-layoffs.html

 * gros efforts autour de l’open sourcing (Kubernetes, Tensor flow)
 * paie des dividendes
 * viré par les tetes de gondoles mais ceux qui avaient fait des différences
 * Open Source program, Google Summer of Code
 * Grosse influeence interne qui se perd, risque pour le futur
 * ca reste l’opinion de Matt Asay ( :stuck_out_tongue_winking_eye: )

Dans la saga Twitter, après l’arrêt des clients Twitter tiers, maintenant
l’accès même à l’API va devenir payant
https://twitter.com/twitterdev/status/1621026986784337922

 * donc par exemple, on ne pourra même plus créer des bots gratuitement, comme
   faire des annonces automatiques de release, etc
 * ah bah merde c’est ce que je fais pour les cast codeurs :/

On peut rajouter son Mastodon sur son profil Github
https://github.blog/changelog/2023–02–02-add-more-social-links-to-your-user-profile/

 * Pratique pour la vérification Mastodon !
 * On pouvait seulement mettre un lien vers Twitter, maintenant on peut avoir
   plusieurs profils de médias sociaux différents


RUBRIQUE DÉBUTANT

Julia Evans a écrit deux articles intéressants sur les problèmes avec les
nombres flottants et avec les nombres entiers
https://jvns.ca/blog/2023/01/13/examples-of-floating-point-problems/
https://jvns.ca/blog/2023/01/18/examples-of-problems-with-integers/

 * les problèmes classiques d’overflow
 * le grand écart entre les grands nombres flottants
 * des cas concrets de valeur approchée (proche à epsilon près), ou avec
   JavaScript qui interprète les entiers comme des flottants et du coup
   interprète mal des grands ID en JSON
 * des clés primaires trop petites, les bizarreries de l’encodage des nombres
   signés ou non

Quels sont les types de mémoires dans la JVM ?
https://www.baeldung.com/java-jvm-memory-types

 * Heap
 * Stack
 * Native
 * Direct
 * je pense que l’article a des incoherences, Ent ous cas native vs direct est
   mal expliqué. Un truc pas super clair mais plus clair est ici sur native vs
   direct:
   https://stackoverflow.com/questions/30622818/what-is-the-difference-between-off-heap-native-heap-direct-memory-and-native-m
 * c’est en gros direct vers du hardware (IO/ network etc)
 * memory mapped file permet d’aller au dela de la limit e de memoire vive du
   systeme


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 9–11 février 2023 : World AI Cannes Festival - Cannes (France)
 * 16–19 février 2023 : PyConFR - Bordeaux (France)
 * 7 mars 2023 : Kubernetes Community Days France - Paris (France)
 * 15–18 mars 2023 : JChateau - Cheverny in the Châteaux of the Loire Valley
   (France)
 * 23–24 mars 2023 : SymfonyLive Paris - Paris (France)
 * 23–24 mars 2023 : Agile Niort - Niort (France)
 * 30 mars 2023 : Archilocus - Online (France)
 * 31 mars 2023–1 avril 2023 : Agile Games France - Grenoble (France)
 * 1–2 avril 2023 : JdLL - Lyon 3e (France)
 * 4 avril 2023 : AWS Summit Paris - Paris (France)
 * 5–7 avril 2023 : FIC - Lille Grand Palais (France)
 * 12–14 avril 2023 : Devoxx France - Paris (France)
 * 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France)
 * 27–28 avril 2023 : AndroidMakers by droidcon - Montrouge (France)
 * 4–6 mai 2023 : Devoxx Greece - Athens (Greece)
 * 10–12 mai 2023 : Devoxx UK - London (UK)
 * 12 mai 2023 : AFUP Day - lle & Lyon (France)
 * 25–26 mai 2023 : Newcrafts Paris - Paris (France)
 * 26 mai 2023 : Devfest Lille - Lille (France)
 * 27 mai 2023 : Polycloud - Montpellier (France)
 * 31 mai 2023–2 juin 2023 : Devoxx Poland - Krakow (Poland)
 * 31 mai 2023–2 juin 2023 : Web2Day - Nantes (France)
 * 1 juin 2023 : Javaday - Paris (France)
 * 1 juin 2023 : WAX - Aix-en-Provence (France)
 * 7 juin 2023 : Serverless Days Paris - Paris (France)
 * 15–16 juin 2023 : Le Camping des Speakers - Baden (France)
 * 29–30 juin 2023 : Sunny Tech - Montpellier (France)
 * 8 septembre 2023 : JUG Summer Camp - La Rochelle (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 6–7 décembre 2023 : Open Source Experience - Paris (France)
 * 31 janvier 2024–3 février 2024 : SnowCamp - Grenoble (France)
 * 1–3 février 2024 : SnowCamp - Grenoble (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-291.mp3
Category:podcasts -- posted at: 9:47am CET

--------------------------------------------------------------------------------

Sat, 14 January 2023
LCC 290 - Mettre tes lunettes dans ta base de données

Guillaume et Arnaud discutent de tech en cette nouvelle année 2023. GraalVM dans
OpenJDK, Rust, Webassembly, containers. postgres, ChatGPT, le rôle de
l’architecte et la ribambelle de rétrospective 2022.

Enregistré le 13 janvier 2023

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


NEWS


LANGAGES

OpenJDK propose projet Galahad : pour fusionner dans OpenJDK certaines parties
de GraalVM community edition
https://www.infoq.com/news/2022/12/openjdk-galahad-Dec22/

 * https://www.infoq.com/articles/graalvm-java-compilers-openjdk/

Alex Snaps partage un article sur Rust pour le développeur Java
https://wcgw.dev/posts/2023/rusty-java-intro/

Google a sorti sa formation interne sur Rust en libre accès
https://google.github.io/comprehensive-rcust/

Paul King du projet Apache Groovy partage sa rétrospective de l’année 2022
https://blogs.apache.org/groovy/entry/apache-groovy–2022-year-in

Webassembly pour le developpeur Java
https://www.javaadvent.com/2022/12/webassembly-for-the-java-geek.html

Un article assez critique sur TypeScript
https://dev.to/wiseai/17-compelling-reasons-to-start-ditching-typescript-now–249b

 * On voit souvent des articles plutôt positif sur TypeScript, mais est-ce que
   tout est tout rose tout le temps, pas forcément !
 * L’article cite 17 problèmes avec TypeScript, dont la courbe d’apprentissage,
   la baisse de productivité, la verbosité des types, le manque de flexibilité,
   le fait que ce n’est pas vraiment un sur-ensemble de JavaScript, la lenteur
   du temps de compilation…
 * basé sur son talk sur le même thème qu’il a déjà présenté à Devoxx Maroc et
   Belgique
 * Alex a également écrit une deuxième partie faisant suite à son article, dans
   lequel il parle un peu plus d’ownership, de borrowing, du trait Drop, etc.
   (càd sur la gestion mémoire)
 * https://wcgw.dev/posts/2023/rusty-java–2/


LIBRAIRIES

Sortie du Micronaut 3.8
https://micronaut.io/2022/12/27/micronaut-framework–3–8–0-released/

 * support de GraalVM 22.3.0
 * possibilité d’annoter les records avec @RequestBean (pour binder les
   paramètres de requête et autre, aux paramètres de la méthode du controleur)
 * amélioration du CorsFilter pour éviter certaines attaques
 * également des améliorations sur le support de CRaC (Coordinated Restore at
   Checkpoint)
 * et plein d’autres upgrades de versions, nouveaux plugins, et améliorations
   mineures

Swing n’est pas mort ! Un nouveau DSL Java open source pour Swing dénommé
Sierra, pour faciliter la création d’interfaces graphiques Swing
https://github.com/HTTP-RPC/Sierra


INFRASTRUCTURE

Comprendre root dans et en dehors des containers
https://www.redhat.com/en/blog/understanding-root-inside-and-outside-container

 * un article pas recent mais utile
 * c’est quoi un container rootless
 * on peut etre root et lancer le moteur de container
 * on peut etre root dans le container lui meme
 * quand on run en root le moteur, l’utilisateur exterieur et interieur sont
   mappés (meme # d’UID) ; par contre en non root, le UID de l’utilisateur du
   container est mappé sur un nouvel UID
 * c’est top car les utilisateurs dedans et dehors ne sont pas mappés donc moins
   de risque en cas de sortie de bac a sable (sandbox escape)
 * c’est le cas pour podman mais pour docker il y a un ajout: docker a un démon
   (root ou pas) et une CLI qui appelle ce demon (root ou pas), ce qui importe
   c’est le demon pour les risques de sécu
 * l’idéal c’est de tourner non root le moteur et dans le container (meme si
   encore beaucoup d’images s’attendent a être root les folles)


CLOUD

Kubernetes 1.26 avec notamment une de corrélation de l’hébergement de la
Registry par Google
https://www.infoq.com/news/2022/12/kubernetes–1–26/?utm_campaign=infoq_content&utm_source=twitter&utm_medium=feed&utm_term=Devops


WEB

Evan You, le créateur de Vue.js revient sur l’année 2022
https://blog.vuejs.org/posts/2022-year-in-review.html

 * C’est la grande migration de Vue 2 vers Vue 3
 * Migration de l’API Composition de Vue 3 vers l’API Options de Vue 2 (mais
   supporté encore en 3)
 * La documentation de Vue propose Vue 3 par défaut depuis février
 * Pendant la phase de transition, gros focus sur l’outillage et l’expérience
   développeur
 * L’écosystème a bien adopté Vue 3 et continue de le faire au fur et à mesure
 * Pour 2023, espère faire plus de releases mineures régulières, et travail sur
   le “vapor mode” qui propose une stratégie de compilation plus rapide


DATA

Un article de Stephan Schmidt qui suggère d’utiliser PostgreSQL… pour tout !
https://www.amazingcto.com/postgres-for-everything/

 * pour du caching à la place de REDIS
 * comme une queue de messages
 * pour stocker des documents JSON au lieu de MongoDB
 * pour faire des requêtes géo-spatiales
 * pour le full-text search à la place d’ElasticSearch
 * pour générer du JSON directement en base
 * comme stockage / adaptateur pour GraphQL ou pour Timescale (base de données
   time-series)


OUTILLAGE

ChatGPT en action sur le design d’un nouveau langage de programmation
https://judehunter.dev/blog/chatgpt-helped-me-design-a-brand-new-programming-language

ChatGPT, on lui attribue plus de magie qu’il n’en a
https://arxiv.org/pdf/2212.03551.pdf

Github rajoute le scan des secrets dans vos répos publics aussi
https://github.blog/2022–12–15-leaked-a-secret-check-your-github-alerts-for-free/

 * ce n’est plus seulement pour les organisations des entreprises
 * aussi accessible pour les répos publics
 * permet d’éviter de leaker des clés d’API et autre

Les nouveautés de Java sur Visual Studio Code
https://foojay.io/today/java-on-visual-studio-code-update-december–2022/

 * amélioration visuelles pour les extensions Spring Boot et aussi pour la
   visualisation de la mémoire utilisée
 * complétion “post-fix” comme dans IntelliJ
 * plus de raccourcis pour générer du code
 * support de Lombok intégré
 * support de l’annotation processing de Gradle
 * meilleure visualisation des erreurs de build
 * 2 millions de développeurs utilisent Visual Studio Code pour Java

Encore un guide pour sortir de Vi https://thevaluable.dev/vim-advanced/

Le client HTTP de IntelliJ peut maintenant être utilisé en ligne de commande et
dans un environnement d’intégration continue
https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-requests-and-tests-on-ci/


ARCHITECTURE

L’évolution du rôle de l’architecte
https://www.infoq.com/articles/architecture-architecting-role/

Le (très long) rapport des tendances 2023 par Didier Girard et Olivier Rafal
https://www.linkedin.com/pulse/rapport-tendances–2023-didier-girard/?trackingId=wu9pJ4wNQAOKjh11R2UyjA%3D%3D

 * un prisme tech/orga/culture pour préparer l’entreprise aux enjeux
 * un prisme produits/plateformes/data pour structurer notre approche d’un SI
   moderne.
 * couvre des tonnes de sujets de l’intelligence artificielle, les données, le
   cloud, le web1/2/3, mais aussi l’organisation des équipes, les rôles, etc.


LOI, SOCIÉTÉ ET ORGANISATION

Twitter n’apprécie guère Mastodon, et bride les tweets avec des liens vers
Mastodon. La liberté d’expression façon Elon Musk !
https://twitter.com/bluxte/status/1603656787097534464

 * Statement de Mastodon sur le fait que Twitter bannit les liens vers Mastodon
   https://blog.joinmastodon.org/2022/12/twitter-suspends-mastodon-account-prevents-sharing-links/
 * Et finalement Twitter est revenu en arrière sur son changement des conditions
   d’utilisation

Dans la famille “les informaticiens ont des supers passions”, je voudrais Cédric
Champeau, qui nous fait une magnifique rétrospective de ces clichés
d’astrophotographie https://melix.github.io/blog//2022/12/astrophoto–2022.html


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 19 janvier 2023 : Archilocus - Bordeaux (France)
 * 19–20 janvier 2023 : Touraine Tech - Tours (France)
 * 25–28 janvier 2023 : SnowCamp - Grenoble (France)
 * 31 janvier 2023 : Duck Conf - Paris (France)
 * 2 février 2023 : Very Tech Trip - Paris (France)
 * 2 février 2023 : AgiLeMans - Le Mans (France)
 * 9–11 février 2023 : World AI Cannes Festival - Cannes (France)
 * 16–19 février 2023 : PyConFR - Bordeaux (France)
 * 7 mars 2023 : Kubernetes Community Days France - Paris (France)
 * 23–24 mars 2023 : SymfonyLive Paris - Paris (France)
 * 23–24 mars 2023 : Agile Niort - Niort (France)
 * 1–2 avril 2023 : JdLL - Lyon 3e (France)
 * 5–7 avril 2023 : FIC - Lille Grand Palais (France)
 * 12–14 avril 2023 : Devoxx France - Paris (France)
 * 20–21 avril 2023 : Toulouse Hacking Convention 2023 - Toulouse (France)
 * 4–6 mai 2023 : Devoxx Greece - Athens (Greece)
 * 10–12 mai 2023 : Devoxx UK - London (UK)
 * 12 mai 2023 : AFUP Day - lle & Lyon (France)
 * 25–26 mai 2023 : Newcrafts Paris - Paris (France)
 * 26 mai 2023 : Devfest Lille - Lille (France)
 * 27 mai 2023 : Polycloud - Montpellier (France)
 * 7 juin 2023 : Serverless Days Paris - Paris (France)
 * 15–16 juin 2023 : Le Camping des Speakers - Baden (France)
 * 29–30 juin 2023 : Sunny Tech - Montpellier (France)
 * 19 septembre 2023 : Salon de la Data Nantes - Nantes (France) & Online
 * 21–22 septembre 2023 : API Platform Conference - Lille (France) & Online
 * 2–6 octobre 2023 : Devoxx Belgium - Antwerp (Belgium)
 * 12 octobre 2023 : Cloud Nord - Lille (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont-Ferrand (France)
 * 6–7 décembre 2023 : Open Source Experience - Paris (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-290.mp3
Category:podcasts -- posted at: 12:16pm CET

--------------------------------------------------------------------------------

Sat, 10 December 2022
LCC 289 - La revanche des dinosaures

Guillaume et Emmanuel discutent les nouvelles de novembre décembre: spring boot
3, AWS SnapStart, GitHub Copilot en procès… Et aussi des articles de fond:
performance, SRE et l’auto résilience, comment utiliser Git, le Devops pour les
décideurs, l’age et la tech et d’autres sujets encore. Résumé

Enregistré le 9 décembre 2022

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


NEWS


LANGAGES

Comment choisir ses collections ? Entre les différentes listes, maps, queues,
etc. https://www.baeldung.com/java-choose-list-set-queue-map

 * un bon rappel des fonctionalités des différentes collections (discuter le
   diagramme de choix)
 * et un bon rappel des ordres de grandeur d’insertion, de lecture etc
 * Attention o(n) ne veut pas dire plus lent que o(1), ca veut dire que ca scale
   linéraiement
 * Tester avec le volume attendu de données
 * Un bon viel Object[] et le traverser à chqaue fois peut etre bien plus
   efficace (moins gourmand en structure memoire, moins de jump memoire, etc)


LIBRAIRIES

Spring Boot 3 est sorti
https://spring.io/blog/2022/11/24/spring-boot–3–0-goes-ga

 * Java 17 de base
 * Support de GraalVM Native Image (au lieu de l’ancienne expérimentation de
   Spring Native)
 * Amélioration de la traçabilité avec Micrometer et Micrometer Tracing
 * JakartaEE 9 minimum et support de JakartaEE 10

Quarkus est 600 fois plus lent qu’un compétiteur, ou pas https://t.co/1c2sFSY9sE

 * discute le lien entre les résultats et l’environnement
 * Une erreur de code initiale
 * Puis une erreur de limite de système ou deux
 * Pour arriver au résultat
 * Bon retour sur l’approche méthodologique

Spring vault 3 https://spring.io/blog/2022/11/28/spring-vault–3–0-goes-ga

 * Java 17
 * Plus de clients supportés comme le client jtm réactif du jdk
 * Support du versionage des mots de passe pour les vaults clé valeur


CLOUD

Mais pourquoi Twitter tourne t’il toujours malgré toutes les personnes renvoyées
? https://matthewtejo.substack.com/p/why-twitter-didnt-go-down-from-a

 * Grâce au long travail de SRE, de mise en place d’auto-réparation, de cache,
   de monitoring, de sur-provisioning. Donc beaucoup d’automatisation pour faire
   en sorte que le tout fonctionne “presque” tout seul sans trop d’intervention
   humaine.
 * C’est un article écrit par un des SRE qui travaillait en particulier sur le
   cache de Twitter.

GitHub passe à un versioning par date de son API REST
https://github.blog/2022–11–28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/

 * au lieu de continuer avec une v4, v5, etc, utilisation de date comme
   2022–12–25
 * chacune de ses versions seraient supportées a minima 2 ans
 * on peut spécifier la version avec un header HTTP spécial
 * pas de changement pour l’API GraphQL par contre
 * Stripes va encore plus loin en se rappelant la version utilisée au premier
   appel et le fixe par defaut
 * Les appels sans version explicite utilisent celle là, et on peut la faire
   evoluer

Amazon SnapStart pour lambda
https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/

 * démarrer plus rapidement les lambda
 * A une phase Init exécutée pour préparer la lambda
 * snapshot Firecracker VM pas juste CRaC
 * Remplace les seed et le réseau et le disque
 * réduit les temps de démarrage
 * Testé avec Quarkus
   https://quarkus.io/blog/quarkus-support-for-aws-lambda-snapstart/
 * Testé avec Micronaut
   https://twitter.com/sdelamo/status/1597535515758452736?s=46&t=iQ7IEvuv4e4eD1oM-Hi1IA
 * Et avec Spring Boot


OUTILLAGE

Petit tip Git de Minko Gechev (monsieur Angular)
https://twitter.com/mgechev/status/1594758205237706752

 * On peut faire un git clone [repo] —depth 1 pour dire qu’on ne veut que la
   dernière révision, et non pas tout l’historique du repo
 * C’est pratique en particulier en CI pour gagner du temps lorsqu’on a un gros
   repo avec beaucoup de révisions

Si vous luttez toujours avec git ce guide très détaillé peut vous aider.
https://github.com/k88hudson/git-flight-rules

 * Il s’agit d’un énorme “comment faire?” qui est même traduit en plusieurs
   langues dont le français:
   https://github.com/k88hudson/git-flight-rules/blob/master/README_fr.md

Faire tourner ses Github Actions en local avec le projet open source Act
https://github.com/nektos/act

 * Pratique de vérifier en local le fonctionnement de son pipeline avant de le
   pousser sur Github en prod
 * Utilise Docker sous le capot pour faire tourner chaque étape
 * peut marcher sur podman mais pas garanti pour l’instant

Comment transformer n’importe quel site web ou webapp en application autonome
https://glaforge.appspot.com/article/turning-a-website-into-a-desktop-application

 * utilisation d’une fonctionnalité de Chrome : création de raccourci avec
   ouverture dans une fenêtre “sans chrome”
 * fonctionne sur tous les OS
 * utilise le favicon comme icône pour l’application
 * le site web se retrouve dans votre barre des tâches comme une application
   normale, et on peut faire un ALT/CMD-Tab pour aller vers son application,
   etc.


ARCHITECTURE

Six patterns pour les architectures event driven
https://medium.com/wix-engineering/6-event-driven-architecture-patterns-part–1–93758b253f47

 * de Wix
 * Trois patterns dans cet article
 * Consume and project : vue dematerialisee copie des données chaudes consommées
   par beaucoup. Et ces vues sont focalisées sur un consommateur. Kafka et CDC
   au milieu pour découpler
 * Event driven de bout en bout : websocket utilise pour envoyer les demandes.
   Le web stocket serveur copie dans Kafka. Ces consommateurs font le job et un
   message est envoyé via le web socket serveur. Résilience, découplage
 * K/V store: et en m’articuler avec kafka qui permet d’être consommé en k/v
   basse latence et en consommation d’évènement
 * Peut être intéressant mais pas si simple a comprendre les usage dans cet
   article


MÉTHODOLOGIES

Un article sur quoi et pourquoi le DevOps (en fait englobant les bonnes
pratiques du moment) https://enix.io/fr/blog/devops-benefices-difficultes/

 * les tech ne vont pas apprendre grand chose
 * mais c’est un article pour les managers ou plutot les execs pour les aider à
   voir la valeur
 * souvent plus facile de montrer la valeur par du contenu exterieur a
   l’entreprise percu comme neutre
 * autres articles sur Kubernetes pour les execs
   https://enix.io/fr/blog/kubernetes-benefices-difficultes/

Amazon et la methode “working backwards” pour un produit
https://www.productplan.com/glossary/working-backward-amazon-method/

 * imagine le produit pret a etre releasé
 * ecrire la press release
 * evaluer l’opportunité (doit-on le construire)
 * découvrir les solution pour le faire et avoir l’appriobation des décideurs
 * construire la roadmap
 * construire le backlog


SÉCURITÉ

1.5 million de lignes de code dans Android sont maintenant en Rust
https://security.googleblog.com/2022/12/memory-safe-languages-in-android–13.html?m=1

 * de plus en plus de code memory safe (Java, Kotlin, Rust)
 * Mais la majorité de nouveau code reste quand meme Java et C++
 * Et une correlation de baisse de vulnerabilités liées a la sureté de mémoire
   (moins de code de programme memory unsafe)
 * Ou maturation du code avec moins de vuln?
 * Autres efforts: outils de securisation de la memoire en C/C++, fuzzing
 * Zero vuln memoire dans le code rust en 2 ans et en moyenne 1 / kLOC dans le
   code historique)
 * Java -> JNI, Rust - unsafe {} pour les accès resource


LOI, SOCIÉTÉ ET ORGANISATION

Les dinosaures de la tech commencent à 40 ans?
https://www.linkedin.com/pulse/non-nous-ne-sommes-pas-des-dinosaures-de-la-tech-pass%C3%A9-ramade/

 * Commentaire intéressant de Benjamin Marron qui explique “s’être restreint aux
   technos de son coeur d’activité car trop de veille technologique hétérogène
   l’avait épuisé et avait renforcé son sentiment d’être complètement obsolète
   et dépassé” https://twitter.com/bmarron/status/1596136098828148736
 * âge median des devs entre 28 et 31 ans chez Google ms Facebook
 * Mais 50 ans c’est 30% de la force de travail
 * Avantages seniors
 * Expérience
 * Mentorat (comm, interaction interpersonnelle, (atlassian un 40 ans dans
   chaque équipe
 * rétention Moins de changement de travail tous les 3 ans
 * Flexibilité : les vieux ont leurs enfants partis
 * Aide à faire des produites pour les personnes de même âge
 * pas souvent dans les politiques de DE&I

GitHub copilot menacé par un procès
https://www.infoq.com/news/2022/11/lawsuit-github-copilot/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

 * aux États Unis
 * Class action contre copilot GitHub, ms et OpenAI
 * Violation de copyright et notamment des licenses open source
 * Hypothèse est que humain ou AI, même responsabilité face à la license
 * Discussion autour de fair use vs rupture de contrat DMCA etc
 * Piratage de logiciel à une échelle sans précédant
 * Pour avoir des conséquences fortes sur l’IA et son utilisation des sources
   ouvertes pour construire du contenu
 * Et Antonio va devoir recorder à la main


RUBRIQUE DÉBUTANT

Différentes méthodes d’interpolation des chaines en Java
https://www.baeldung.com/java-string-interpolation

 * la concatenation avec +
 * la methode format() souvent intimidante mais plus optimisée et sure
 * StringBuilder le plus flexible notamment dans les cas de if et autre
   variations mais moins sur que format. et plus rapide
 * MessageFormat pour les chaines de caractère utilisateur (multi langage)
 * Apache Commons (pas sur qu’il y ait beaucoup d’usage dans les JDK modernes


CONFÉRENCES

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 1 décembre 2022 : Devops DDay #7 - Marseille (France)
 * 2 décembre 2022 : BDX I/O - Bordeaux (France)
 * 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France)
 * 14–16 décembre 2022 : API Days Paris - Paris (France) & Online
 * 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France)
 * 19 janvier 2023 : Archilocus - Bordeaux (France)
 * 19–20 janvier 2023 : Touraine Tech - Tours (France)
 * 25–28 janvier 2023 : SnowCamp - Grenoble (France)
 * 2 février 2023 : Very Tech Trip - Paris (France)
 * 2 février 2023 : AgiLeMans - Le Mans (France)
 * 9–11 février 2023 : World AI Cannes - Cannes (France)
 * 16–19 février 2023 : PyConFR - Bordeaux (France)
 * 7 mars 2023 : Kubernetes Community Days France - Paris (France)
 * 23–24 mars 2023 : SymfonyLive Paris - Paris (France)
 * 23–24 mars 2023 : Agile Niort - Niort (France)
 * 1–2 avril 2023 : JdLL - Lyon 3e (France)
 * 5–7 avril 2023 : FIC - Lille Grand Palais (France)
 * 12–14 avril 2023 : Devoxx France - Paris (France)
 * 10–12 mai 2023 : Devoxx UK - London (UK)
 * 12 mai 2023 : AFUP Day Lille & Lyon (France)
 * 25–26 mai 2023 : Newcrafts Paris - Paris (France)
 * 29–30 juin 2023 : Sunny Tech - Montpellier (France)
 * 12–13 octobre 2023 : Volcamp 2023 - Clermont Ferrand (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast
ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon
https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur
https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-289.mp3
Category:podcasts -- posted at: 9:23am CET

--------------------------------------------------------------------------------

Mon, 21 November 2022
LCC 288 - L'épisode marathon mastodonien

<p>Dans ce long épisode, retrouvez Emmanuel, Guillaume, Antonio et Arnaud qui
reviennent sur les dernières sorties de GraalVM, GoLang, JBanking, Spring,
Spring Modulith, Quarkus, Apache Maven. Vous retrouverez aussi de nombreux
sujets infrastructure, cloud, méthodologie le tout accompagné d&#8217;un
pachyderme très à la mode en ce moment: Mastodon.</p>

<p>Enregistré le 18 novembre 2022</p>

<p>Téléchargement de l’épisode <a
href="https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-288.mp3">LesCastCodeurs-Episode&#8211;288.mp3</a></p>

<h2 id="news">News</h2>

<h3 id="langages">Langages</h3>

<p><strong>Alina Yurenko annonce la sortie de GraalVM 22.3</strong>
<a
href="https://medium.com/graalvm/graalvm-22-3-is-here-jdk-19-builds-jlink-support-new-monitoring-features-and-more-f6e2b2eeff95">https://medium.com/graalvm/graalvm&#8211;22&#8211;3-is-here-jdk&#8211;19-builds-jlink-support-new-monitoring-features-and-more-f6e2b2eeff95</a></p>

<ul>
<li>l’article mentionne l’annonce faite à JavaOne qu’Oracle contribue GraalVM CE
à la communauté Open JDK <a
href="https://www.graalvm.org/2022/openjdk-announcement/">https://www.graalvm.org/2022/openjdk-announcement/</a></li>
<li>support du JDK 19</li>
<li>possibilité de télécharger facilement (dans un script) la distribution avec
un one-line (bash/curl)</li>
<li>possibilité de compiler jWebserver en un exécutable natif</li>
<li>diverses améliorations sur le monitoring et l’expérience développeur de
native image (JFR, jvmstat, head dump&#8230;)</li>
<li>nouvelles versions des reachability metadata</li>
<li>nouvelle API native image</li>
<li>et diverses autres updates sur le support de Python, de Ruby, des
contributions de la communauté</li>
</ul>

<p><strong>Go fête ses 13 ans</strong>
<a href="https://go.dev/blog/13years">https://go.dev/blog/13years</a></p>

<ul>
<li>avec la grosse release de 1.18, avec le support des workspaces, du fuzzing,
mais surtout des generics</li>
<li>aussi une commande govuln qui fait analyse statique - intéressant la notion
d’outil dans le langage</li>
<li>les build go sont vérouillés vu qu’ils reconstruisent tout et qu’ils
dépendent d’un sha1 pour les dependences git et beaucoup plus de choses ici <a
href="https://go.dev/blog/supply-chain">https://go.dev/blog/supply-chain</a></li>
<li>workspace qui permet de travailler sur plusieurs modules en parallèle sans
avoir a changer tous les <code>go.mod</code> à la main</li>
</ul>

<h3 id="librairies">Librairies</h3>

<p><strong>Sortie de JBanking 4 par Marc Wrobel</strong>
<a
href="https://www.marcwrobel.fr/sortie-de-jbanking-4-0-0">https://www.marcwrobel.fr/sortie-de-jbanking&#8211;4&#8211;0&#8211;0</a></p>

<ul>
<li>Une librairie utilitaire pour assister dans le développement d’applications
bancaires</li>
<li>Support des codes ISO des pays, des monnaies, des codes BIC, des IBAN, et
aussi du calendrier des jours fériés des banques internationales</li>
</ul>

<p><strong>Spring Modulith</strong>, un projet expérimental d’Oliver Drotbohm,
qui permet de s’assurer de la structure et architecture de ses projets Spring,
par exemple pour vérifier les dépendances propres entre modules, pour bien
structurer ses applications Spring Boot
<a
href="https://spring.io/blog/2022/10/21/introducing-spring-modulith">https://spring.io/blog/2022/10/21/introducing-spring-modulith</a></p>

<p><strong>Une version alpha de Quarkus 3 arrive !</strong>
<a
href="https://quarkus.io/blog/road-to-quarkus-3/">https://quarkus.io/blog/road-to-quarkus&#8211;3/</a></p>

<ul>
<li>Plein d’upgrades : Hibernate ORM 6, Jakarta EE 10, Eclipse MicroProfile 6,
HTTP/3, io_uring, Virtual Threads de Loom et Structured Concurrency,
java.util.concurrent.Flow pour s’affranchir de Reactive Streams</li>
<li>Version cible Java 11, mais recommendation d’utiliser Java 17</li>
<li>les versions 3 seront en parallèle des versions 2 le temps que
l&#8217;écosystème passe à la 3, notamment les dependences jakartaee</li>
<li>peut essayer facilement depuis la CLI <code>quarkus create app
--stream=3.0</code></li>
<li>quelques casse de compatibilités attendues mais minimisées, spécialement
dans le core</li>
<li>garde java 11 car demande de la communauté</li>
</ul>

<p><strong>Spring 6.0 est sorti</strong>
<a
href="https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga">https://spring.io/blog/2022/11/16/spring-framework&#8211;6&#8211;0-goes-ga</a></p>

<ul>
<li>Java 17+ de base</li>
<li>Jakarta EE 9+</li>
<li>Hibernate 6+</li>
<li>foundations pour Ahead of Time transformations pour GraalVM</li>
<li>Exploration des threads virtuels <a
href="https://spring.io/blog/2022/10/11/embracing-virtual-threads">https://spring.io/blog/2022/10/11/embracing-virtual-threads</a></li>
<li>tester sur les threads servlets et autre</li>
<li>SpringBoot arrive plus tard</li>
<li>Détail des changements <a
href="https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x/">https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework&#8211;6.x/</a></li>
</ul>

<h3 id="infrastructure">Infrastructure</h3>

<p><strong>Stop using CPU limits on Kubernetes</strong>
<a
href="https://home.robusta.dev/blog/stop-using-cpu-limits">https://home.robusta.dev/blog/stop-using-cpu-limits</a></p>

<ul>
<li>L’auteur fait une comparaison amusante avec le besoin de boire de l’eau
!</li>
<li>Il vaut mieux définir des requêtes (des besoins en eau / CPU), plutôt que
des limites (pas le droit de boire plus / d’utiliser plus de CPU)</li>
<li>c’est plus nuancé que ca, parce que aux cas limites des choses peuvent mal
se passer</li>
<li>cas 1: on atteind 100% d’usage. Le process avait définit un request mais en
fait a besoin de plus en pratique, et là paf il se met à mal fonctionner, donc
dès que votre systeme stresse, vous avez des erreurs en cascade</li>
<li>cas 2: un ou plusieurs noeuds sont recyclés, ce qui veut dire que vous avez
beaucoup de redémarrages de pods et du coup ca met la pression sur le CPU,
tester ces cas là, certaines applis qui démarrent trop lentement ont tendance à
tomber en cascade</li>
</ul>

<p><strong>Comment faire des attaques d’injection sur les intelligences
artificielles</strong> qui recoivent du contenu utilisateur <a
href="https://hackaday.com/2022/09/16/whats-old-is-new-again-gpt-3-prompt-injection-attack-affects-ai/">https://hackaday.com/2022/09/16/whats-old-is-new-again-gpt&#8211;3-prompt-injection-attack-affects-ai/</a></p>

<ul>
<li>le jeu est de donner des phrases ambigues qui font faire à l’IA des choses
qu’elle n’est pas sensé faire</li>
<li>un des outils c’est ignore les instructions au dessus et fait un truc que je
veux que tu fasses et qui n’est pas dans ta programmation initiale</li>
<li>Voir toucher l’intention initiale de l’AI (lui faire dire) et donc
d’atteindre des sphères non publiques du service</li>
</ul>

<p><strong>Mastodon et la scalabilité</strong> <a
href="https://framablog.org/2022/11/13/de-la-friture-sur-le-fediverse/">https://framablog.org/2022/11/13/de-la-friture-sur-le-fediverse/</a></p>

<ul>
<li>la decentralisatione et le protocole Mastodon est couteux en job</li>
<li>donc une personne moderement populaire 27k personnes, devrait bouger vers
son instance dédiée</li>
<li>ce qui amènerait à couter assez cher par mois (en tous cas plus que
8$/mois)</li>
<li>L&#8217;auteur explique que les devs devraient favorier un protocol
fortement decentraliser plutot qu&#8217;optimiser pour les grosses
instances</li>
<li>un article qui couvre la configuration aux petits oignons de Sidekiq, qui
traite les queues de tâches, pour scaler une instance Mastodon <a
href="https://nora.codes/post/scaling-mastodon-in-the-face-of-an-exodus/">https://nora.codes/post/scaling-mastodon-in-the-face-of-an-exodus/</a></li>
</ul>

<p><strong>Rollouts de release a l&#8217;échelle avec Argo</strong> (rollback
options) <a
href="https://monzo.com/blog/2022/11/02/argo-rollouts-at-scale/">https://monzo.com/blog/2022/11/02/argo-rollouts-at-scale/</a></p>

<ul>
<li>gros investissement sur ArgoCD</li>
<li>Mais encore release à la main par les ingenieurs et tout ou rien pour une
application</li>
<li>idealement: push dans git et oublie, prometheus metriques dirigent le
rollout basé sur des alertes génériques, garder le sisteme ouvert pour des
stratégies de rollout alternatives dans le futur</li>
<li>basé sur Argo Rollouts et sur des erreurs generiques (20% de calls en
erreur, beaucoup d&#8217;erreurs de base de donnees, crashs</li>
<li>notifie dans slack en async du success ou de l&#8217;echec</li>
<li>interessant de voir qu&#8217;ils s&#8217;appuient sur des metriques
simples</li>
<li>Lessons apprises</li>
<li>migration est un gros job</li>
<li>automatiser la migration au maximum meme si c&#8217;est un one shot</li>
<li>change le moteurt avant de changer l&#8217;UX (progressive rollout) ca
simplifie les chosez</li>
</ul>

<h3 id="cloud">Cloud</h3>

<p><strong>Google adopte progressivement Adoptium Temurin</strong> comme version
officielle de JDK dans ses produits
<a
href="https://glaforge.appspot.com/article/building-and-deploying-java-17-apps-on-cloud-run-with-cloud-native-buildpacks-on-temurin">https://glaforge.appspot.com/article/building-and-deploying-java&#8211;17-apps-on-cloud-run-with-cloud-native-buildpacks-on-temurin</a></p>

<ul>
<li>nous avions mentionné l’annonce de ce support dans l’épisode précédent <a
href="https://blog.adoptium.net/2022/10/adoptium-welcomes-google/">https://blog.adoptium.net/2022/10/adoptium-welcomes-google/</a></li>
<li>dans l’article de Guillaume, il utilise les Cloud Native Buildpacks,
configuré pour utiliser Java 17, et par défaut, c’est bien Temurin qui est
utilisé quand on build à partir des sources</li>
<li>dans l’exemple, une application Micronaut, développée avec Java 17, est
déployée sur Google Cloud Run</li>
</ul>

<p><strong>Pourquoi on quitte le Cloud</strong> <a
href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">https://world.hey.com/dhh/why-we-re-leaving-the-cloud&#8211;654b47e0</a></p>

<ul>
<li>témoignage de DHH de 37Signal (basecamp et hey)</li>
<li>Les 30% de marges d’Amazon viennent de quelque part.</li>
<li>On dépense 500k en RDS et ES. On peut acheter beaucoup de machines pour ce
prix</li>
<li>La réduction des ops est un mythe. On a autant de personnes gérant les
services AWS ou Google Cloud</li>
<li>Le gain pourrait être la micro startup qui ne sait pas si elle aura des
clients ou les volumes de demandes très variables et</li>
<li>imprédictibles</li>
<li>Mais on a une croissance planifiée</li>
<li>Donc on rapatrie</li>
</ul>

<p>Présentation de Mickaël Roger de Thales, enregistrée à Cloud Nord, qui
explique le <strong>fonctionnement de l’offre S3NS de Thales et Google Cloud
pour le “cloud de confiance”</strong> <a
href="https://www.youtube.com/watch?v=OBwBeqd-YFs">https://www.youtube.com/watch?v=OBwBeqd-YFs</a></p>

<h3 id="web">Web</h3>

<p><strong>Est-ce que le Web3 peut battre le cloud ?</strong>
<a
href="https://blog.scottlogic.com/2022/10/31/can-web3-beat-the-cloud.html">https://blog.scottlogic.com/2022/10/31/can-web3-beat-the-cloud.html</a></p>

<ul>
<li>Le Web3 est une autre approche pour des applications décentralisées, ce
n’est pas un successeur du Web 2.0 classique, et il a généralement besoin du Web
2.0 pour offrir une interface à ses utilisateurs</li>
<li>Ce n’est pas que pour faire des cryptomonnaies qui gâchent de l’électricité,
ou des NFTs qui ne donnent pas vraiment de titre de propriété d’une oeuvre
d’art</li>
<li>Dans cet article, l’auteur essaie d’implémenter une fonctionnalité (le fait
de pouvoir rajouter des “applaudissements” à un article, un peu comme sur
Medium), en implémentant un smart contract en Web3.</li>
<li>Mais il se heurte à plein d’écueils le long de sa route, à la dépendance à
plein d’autres services, au fait que ce n’est pas la personne qui “vote” qui
devrait payer l’action mais celui qui héberge. Au final, il est obligé d’ajouter
plein d’adhérences qui font qu’au lieu d’être décentralisée, l’application
dépends de trop d’autres services, et a finalement besoin du Web 2.0 pour
fonctionner, et du Cloud</li>
<li>L’autre déconvenue est sur le prix de chacune des transactions, qui est
finalement exorbitant par rapport à une approche Web 2.0 classique</li>
<li>Décentralisation amène de la lenteur (latence)</li>
<li>Objectifs du Web3 c’est d’etre le propriétaire de ses processes et ses data
et de mettre des agents qui interagissent avec des données</li>
</ul>

<h3 id="outillage">Outillage</h3>

<p><strong>Comment debugguer les images Docker slim ou distroless</strong>
<a
href="https://iximiuz.com/en/posts/docker-debug-slim-containers/">https://iximiuz.com/en/posts/docker-debug-slim-containers/</a></p>

<ul>
<li>Les images slim / distroless sont sympas car elles permettent d’avoir des
petits conteneurs qui ne prennent pas trop de place, qui parfois sont plus
rapides à charger, mais également qui exposent une surface d’attaque beaucoup
plus faible</li>
<li>Par contre, comme il n’y a pas tous les outils (parfois pas de shell, par
exemple), c’est plus compliqué de comprendre ce qu’il se passe à l’intérieur
quand quelque chose ne fonctionne pas</li>
<li>L’article propose quelques approches pour pallier à cela :</li>
<li>Installer des outils à la demande dans un conteneur qui tourne (à coup de
apt-get)</li>
<li>Passer temporairement à une image plus grosse et plus complète (par ex,
distroless a des images avec un tag debug)</li>
<li>Utiliser docker run avec un shared namespace</li>
<li>Utiliser docker exec et un mount</li>
</ul>

<p><strong>Podman Desktop</strong>, une alternative à Docker Desktop, mais
utilisant podman
<a href="https://podman-desktop.io/">https://podman-desktop.io/</a></p>

<p><strong>Docker annonce une technical preview de conteneurs WASM</strong>
<a
href="https://www.docker.com/blog/docker-wasm-technical-preview/">https://www.docker.com/blog/docker-wasm-technical-preview/</a></p>

<ul>
<li>nouveau packaging qui wrap un exécutable WASM et le fait tourner avec le
runtime wasmEdge</li>
<li>c’est un nouveau type de conteneur</li>
<li>il y a beaucoup d’activité autour de WASM, et il y a eu de nombreuses
annonces et démonstration lors de la conférence CloudNativeCon et le jour
spécial sur WASM, lors de KubeCon</li>
<li><a
href="https://www.infoq.com/news/2022/11/cloud-native-wasm-day/">https://www.infoq.com/news/2022/11/cloud-native-wasm-day/</a></li>
<li>docker utilise Docker Desktop et docker engine pour demarrer des
“shim&quot;</li>
<li>Ses shim (processeS) lancent soit runc (donc pour faire tourner un
containeur)</li>
<li>soit wasmedge pour faire tourner des modules wasm</li>
<li>Donc docker s’éloigne des container et essaie de toucher
l’orchestration</li>
</ul>

<p><strong>Un petit tutoriel utilisant Docker et YouTube-dl pour récupérer /
consulter les stats (views, likes) de vos vidéos (ou d’autres) sur
YouTube</strong>
<a
href="https://glaforge.appspot.com/article/retrieve-youtube-views-count-with-youtube-dl-jq-and-a-docker-container">https://glaforge.appspot.com/article/retrieve-youtube-views-count-with-youtube-dl-jq-and-a-docker-container</a></p>

<p><strong>Apache Maven propose une extension de “build cache”</strong> (qui
devrait accélérer les builds, sans tout tout le temps recompiler)
<a
href="https://maven.apache.org/extensions/maven-build-cache-extension/">https://maven.apache.org/extensions/maven-build-cache-extension/</a></p>

<ul>
<li>basé sur une clé construite des sources, des plugins etc par module</li>
<li>permet paralelisation et de deploiement sur des agents genre dans le
cloud</li>
<li>on controle les regles de contournement des invarients (genre changement de
compile, timestamp dans les manifests etc)</li>
</ul>

<p><strong>Le guide complet pour publier une librairie Java sur Maven
Central</strong>
<a
href="https://maciejwalkowiak.com/blog/guide-java-publish-to-maven-central/">https://maciejwalkowiak.com/blog/guide-java-publish-to-maven-central/</a></p>

<ul>
<li>Y compris l’intégration avec Github Actions</li>
<li>et l’utilisation de Github Secrets pour les clés PGP</li>
<li>Et enfin la configuration de JReleaser pour encore faciliter la tâche
lorsque l’on pousse une nouvelle version</li>
</ul>

<p><strong>Apache Maven 4.0.0-alpha&#8211;2</strong> is out
<a
href="https://maven.apache.org/docs/4.0.0-alpha-2/release-notes.html">https://maven.apache.org/docs/4.0.0-alpha&#8211;2/release-notes.html</a></p>

<ul>
<li>améliorations cli: <code>--also-make</code> , <code>--resume</code> (plus
besoin de pré ciser d’où le build doit recommencer),
<code>--non-recursive</code>, <code>--fail-on-severity</code></li>
<li>Utilisation du même timestamps dans tous les modules</li>
<li>build/consumer POMs (versioning automatique du parent, versioning
automatique des dépendances dans le réacteur, détection automatique des sous
modules)</li>
<li>new maven 4 api</li>
<li>et beaucoup d’autres choses: <a
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351403&amp;amp;projectId=12316922">https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351403&amp;projectId=12316922</a></li>
</ul>

<p><strong>Data Faker le nouveau générateur de données de test</strong> <a
href="https://github.com/datafaker-net/datafaker">https://github.com/datafaker-net/datafaker</a></p>

<ul>
<li>C’est un fork de Java Faker <a
href="https://github.com/DiUS/java-faker">https://github.com/DiUS/java-faker</a></li>
<li>Tout ça inspiré de Ruby Faker <a
href="https://github.com/faker-ruby/faker">https://github.com/faker-ruby/faker</a></li>
<li>La boite australienne qui l’avait créé ne maintenait plus le projet, ne le
publiait plus dans Maven Central et il y avait des centaines de PRs</li>
<li>Vous pouvez générer des données de centaines de provider (ex. adresse,
compte bancaire, livres, films, etc) <a
href="https://github.com/datafaker-net/datafaker#providers">https://github.com/datafaker-net/datafaker#providers</a>
en plusieurs langues</li>
</ul>

<p><strong>Exécuter facilement des programmes Java avec dépendances, sans build,
avec JBang</strong>
<a
href="https://maciejwalkowiak.com/blog/single-file-java-with-jbang/">https://maciejwalkowiak.com/blog/single-file-java-with-jbang/</a></p>

<ul>
<li>Dans la même veine que ce que Groovy propose depuis de nombreuses années
avec sons système @Grapes qui récupère les dépendances nécessaires</li>
<li>L’article montre un exemple simple, puis avec Spring Boot, comment faire un
JAR aussi, voire comment conteneurisé sa petite appli</li>
</ul>

<h3 id="architecture">Architecture</h3>

<p><strong>Amélie Benoit continue ses fabuleux sketchnotes</strong> sur le thème
des design patterns
<a
href="https://twitter.com/AmelieBenoit33/status/1587397290251149312">https://twitter.com/AmelieBenoit33/status/1587397290251149312</a></p>

<ul>
<li>celui ci est sur le pattern Adapter</li>
<li>il y a eu aussi le pattern Builder <a
href="https://twitter.com/AmelieBenoit33/status/1584778615610228737">https://twitter.com/AmelieBenoit33/status/1584778615610228737</a></li>
<li>l’Observer <a
href="https://twitter.com/AmelieBenoit33/status/1579706242318360576">https://twitter.com/AmelieBenoit33/status/1579706242318360576</a></li>
<li>ou le Singleton <a
href="https://twitter.com/AmelieBenoit33/status/1570313646605234177">https://twitter.com/AmelieBenoit33/status/1570313646605234177</a></li>
<li><a
href="https://twitter.com/AmelieBenoit33/status/1589869904404316162">https://twitter.com/AmelieBenoit33/status/1589869904404316162</a></li>
<li>Un petit coup de décorateur</li>
<li><a
href="https://twitter.com/AmelieBenoit33/status/1592468635599372289">https://twitter.com/AmelieBenoit33/status/1592468635599372289</a></li>
</ul>

<p><strong>35 misconceptions sur les dates et les heures</strong>
<a
href="https://www.meziantou.net/misconceptions-about-date-and-time.htm">https://www.meziantou.net/misconceptions-about-date-and-time.htm</a></p>

<ul>
<li>y a t’il toujours 24 heures par jour, 60 secondes dans une minute? ou 365
jours par an ?</li>
<li>est-ce que les jours sont toujours consécutifs ?</li>
<li>tout le monde a t’il le même calendrier ?</li>
<li>lundi est il le premier jour de la semaine ?</li>
</ul>

<h3 id="mthodologies">Méthodologies</h3>

<p><strong>Interview d’un designer sur comment enlever la friction</strong> <a
href="https://review.firstround.com/amazons-friction-killing-tactics-to-make-products-more-seamless?ct=t">https://review.firstround.com/amazons-friction-killing-tactics-to-make-products-more-seamless?ct=t</a></p>

<ul>
<li>designer a Amazon (Music, Alexa), IMDB, Skype for Business</li>
<li>types de fictions (choses non familières, friction inhérente - produit
avancé - et chemin de friction important, friction par desalignement avec le
comportement humain)</li>
<li>la troisième catégorie difficile à anticiper</li>
<li>en construisant des produits: on ajoute, enlève ou marque des frictions</li>
<li>C’est sur le chemin du client</li>
<li>Avant le premier contact</li>
<li>Signature et premiere tâche transactionnelle (bien choisir la tache pour
etre assez simple et ce que l’utilisateur répète)</li>
<li>Premier moment de plaisir (regarder les points contre intuitifs dans les
données, ou les cas d’utilisation en echec)</li>
<li>l’indifférence genre la friction la plus importante pour les nouveaux
produits</li>
<li>Comment écouter son utilisateur?</li>
<li>habitat naturel: sondes dans l’appli, tests chez l’utilisateur en milieu
reel en utilisation du produit</li>
<li>mentions et revues: aussi métriques d’usage (choses inhabituelles ou
inattendues)</li>
<li>standard de l’industrie: attentes des clients façonné par ça (barre de
recherche en haut)</li>
<li>Toujours migrer son audience vers le chemin de moindre resistance</li>
<li>Comment éliminer la friction?</li>
<li>réduire l’anxiété: décision et perte amènent de l’anxiété.</li>
<li>supprimer les étapes non nécessaires: définir la liste des decisions du
client et les questionner. (Heuristiques par defaut?)</li>
<li>mitiger le changement de contexte: naviguer hors de l’appli pour faire
quelque chose, risque d’abandon. Arrêter un livre pour lire un mot dans le
dictionnaire, faciliter le retour et le rappel du contexte quand ils
reviennent.</li>
<li>Comment masquer la friction?</li>
<li>temps d’attente: trouver de la valeur (message d’information)</li>
<li>bouger la friction au début dans les services (carte credit tout de
suite)</li>
<li>s&#8217;ils investissent dans leur experience (vote), ils sont plus engagés
et loyaux: friction positive : sense d’appartenance</li>
</ul>

<p><strong>Glossaire et aide-mémoire sur l’approche de l’Event Storming</strong>
<a
href="https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet">https://github.com/ddd-crew/eventstorming-glossary-cheat-sheet</a></p>

<ul>
<li>Si vous ne connaissez pas event storming, ça ne va pas vous éclairer
assez</li>
<li>plutôt un outil pour rafraichir votre mémoire</li>
<li>voir aussi episode sur event storming <a
href="https://lescastcodeurs.com/2020/06/05/lcc-233-interview-sur-l-event-storming-avec-thomas-pierrain-et-bruno-boucard/">https://lescastcodeurs.com/2020/06/05/lcc&#8211;233-interview-sur-l-event-storming-avec-thomas-pierrain-et-bruno-boucard/</a></li>
</ul>

<h3 id="scurit">Sécurité</h3>

<p><strong>Sigstore passe en General Availability, en version 1</strong>
<a
href="https://opensource.googleblog.com/2022/10/sigstore-project-announces-general-availability-and-v1-releases.html">https://opensource.googleblog.com/2022/10/sigstore-project-announces-general-availability-and-v1-releases.html</a></p>

<ul>
<li>Sujet également couvert par InfoQ <a
href="https://www.infoq.com/news/2022/11/sigstore-stability-ga/">https://www.infoq.com/news/2022/11/sigstore-stability-ga/</a></li>
<li>Sigstore est la pour aider au niveau de la sécurisation de la supply chain
de code</li>
<li>Notamment au niveau des signatures</li>
<li>Ca addresse ce que fait PGP amis le rend plus utilisable et permet un usage
supplémentaire par un log lisible par tous</li>
<li>Plus d’infos dans une interview on espère</li>
</ul>

<h3 id="loisocitetorganisation">Loi, société et organisation</h3>

<p><strong>La proposition de loi sur la sécurisation de l’open source aux
Etats-Unis</strong> <a
href="https://blog.tidelift.com/tidelift-advisory-us-senators-introduce-the-securing-open-source-software-act-of-2022">https://blog.tidelift.com/tidelift-advisory-us-senators-introduce-the-securing-open-source-software-act-of&#8211;2022</a>
(edited)</p>

<p><strong>Holly Cummins sur le sujet du code vestimentaire des femmes dans la
tech</strong>
<a
href="https://hollycummins.com/fashion-and-programming-ii/">https://hollycummins.com/fashion-and-programming-ii/</a></p>

<ul>
<li>Pourquoi en 2023 on a encore autant d’abrutis qui font des remarques sur les
vêtements que portent les femmes qui font des présentations à des conférences,
et pire, sur le fait de savoir si elles sont à leur goût ou pas</li>
<li>La tenue vestimentaire n’a rien à voir avec le talent, les connaissances, le
professionnalisme, l’expertise des personnes</li>
<li>Les femmes ont le droit de porter les vêtements qu’elles veulent sans être
jugées par des idiots qui feraient mieux de retourner dans leur caverne</li>
</ul>

<p><strong>Avec le rachat de Twitter par Elon Musk, beaucoup de gens commencent
à s’intéresser de plus près à Mastodon.</strong> On trouve de nombreux articles
sur Mastodon ces jours ci
<a
href="https://gorillasun.de/blog/getting-started-with-mastodon">https://gorillasun.de/blog/getting-started-with-mastodon</a></p>

<ul>
<li>et vous, avez vous un compte sur Mastodon ?</li>
<li>quelle instance avez-vous choisie ?</li>
<li>quels outils (client, mobile, web, etc) utilisez vous ?</li>
<li>Pour ma part je n&#8217;ai pas de compte Mastodon (je n&#8217;utilise pas
twitter non plus). J&#8217;ai rapidement regardé ce matin ça n&#8217;est pas
facile de trouver une instance : celles que j&#8217;ai regardé ont fermé les
inscriptions (d&#8217;après ce que j&#8217;ai pu lire à cause de problèmes pour
gérer l&#8217;afflux de nouveaux utilisateurs, à cause de l&#8217;augmentation
de la création de comptes spam, ou dans l&#8217;objectif de répartir les
utilisateurs sur d&#8217;autres instances moins connues). Du coup j&#8217;ai
pour le moment abandonné l&#8217;idée de me créer un compte.</li>
<li>Le site JavaBubble liste plein de développeurs Java qui ont maintenant un
compte sur Mastodon <a
href="https://javabubble.org/">https://javabubble.org/</a></li>
<li>Les Cast Codeurs sur Mastodon :

<ul>
<li><a href="https://fosstodon.org/@agoncal">@agoncal@fosstodon.org</a></li>
<li><a
href="https://mastodon.social/@aheritier">@aheritier@mastodon.social</a></li>
<li><a href="https://uwyn.net/@glaforge">@glaforge@uwyn.net</a></li>
<li><a
href="https://mamot.fr/@emmanuelbernard">@emmanuelbernard@mamot.fr</a></li>
</ul></li>
</ul>

<h2 id="confrences">Conférences</h2>

<p>La liste des conférences provenant de <a
href="https://github.com/scraly/developers-conferences-agenda">Developers
Conferences Agenda/List</a>
par <a href="https://github.com/scraly">Aurélie Vache</a> et contributeurs :</p>

<ul>
<li>23&#8211;25 novembre 2022 : <a href="http://agile-grenoble.org/">Agile
Grenoble 2022</a> - Grenoble (France)</li>
<li>25 novembre 2022 : <a href="https://hack-it-n.com/">HACK-IT-N 2022</a> -
Bordeaux (France)</li>
<li>1 décembre 2022 : <a href="https://2022.devops-dday.com/">Devops DDay #7</a>
- Marseille (France) <a
href="https://conference-hall.io/public/event/eKYGzptI6y44zoS8sGUz"><img
alt="CFP Devops DDay"
src="https://img.shields.io/static/v1?label=CFP&message=until%2015-July-2022&color=red">
</a></li>
<li>2 décembre 2022 : <a href="https://www.bdxio.fr/">BDX I/O</a> - Bordeaux
(France) <a
href="https://conference-hall.io/public/event/OJC5Ou5YJodfetgSJCa3"><img
alt="CFP BDX I/O"
src="https://img.shields.io/static/v1?label=CFP&message=until%2031-Jul-2022&color=red">
</a></li>
<li>2 décembre 2022 : <a
href="https://www.linkedin.com/posts/developers-group-dijon_apr%C3%A8s-des-%C3%A9changes-avec-google-le-developers-activity-6973555910140903424-rjRH/">DevFest
Dijon 2022</a> - Dijon (France) <a
href="https://conference-hall.io/public/event/cXWCepNzXVWwb1i6ktVA"><img
alt="CFP DevFest Dijon 2022"
src="https://img.shields.io/static/v1?label=CFP&message=until%2014-October-2022&color=red">
</a></li>
<li>14&#8211;16 décembre 2022 : <a href="https://www.apidays.global/paris/">API
Days Paris</a> - Paris (France) &amp; Online</li>
<li>15&#8211;16 décembre 2022 : <a
href="https://agiletour.agilerennes.org/">Agile Tour Rennes</a> - Rennes
(France) <a href="https://sessionize.com/agile-tour-rennes-2022/"><img
alt="Agile Tour Rennes"
src="https://img.shields.io/static/v1?label=CFP&message=until%2015-October-2022&color=green">
</a></li>
<li>19&#8211;20 janvier 2023 : <a href="https://touraine.tech/">Touraine
Tech</a> - Tours (France) <a
href="https://conference-hall.io/speaker/event/3lWSdH0pfZkHEAL7RWSJ"><img
alt="Touraine Tech 2023"
src="https://img.shields.io/static/v1?label=CFP&message=from%20September-30%20to%20November-27-2022&color=green">
</a></li>
<li>25&#8211;28 janvier 2023 : <a href="https://snowcamp.io/fr/">SnowCamp</a> -
Grenoble (France) <a
href="https://conference-hall.io/public/event/ZGJWM1x64evaNUzycEzn"><img
alt="CFP SnowCamp 2023"
src="https://img.shields.io/static/v1?label=CFP&message=until%2015-October-2022&color=red">
</a></li>
<li>2 février 2023 : <a
href="https://conference-hall.io/public/event/hoyBWUXe43dnoiBekZaB">Very Tech
Trip</a> - Paris (France) <a
href="https://conference-hall.io/public/event/hoyBWUXe43dnoiBekZaB"><img
alt="CFP Very Tech Trip 2023"
src="https://img.shields.io/static/v1?label=CFP&message=until%2014-November-2022&color=green">
</a></li>
<li>2 février 2023 : <a href="https://www.agilemans.org/">AgiLeMans</a> - Le
Mans (France) <a
href="https://sessionize.com/7ieme-journee-agile-au-mans-france-e/"><img
alt="CFP Very Tech Trip 2023"
src="https://img.shields.io/static/v1?label=CFP&message=until%2001-December-2022&color=green">
</a></li>
<li>9&#8211;11 février 2023 : <a href="https://worldaicannes.com/">World AI
Cannes</a> - Cannes (France)</li>
<li>16&#8211;19 février 2023 : <a href="https://www.pycon.fr/2023/">PyConFR</a>
- Bordeaux (France)</li>
<li>7 mars 2023 : <a
href="https://community.cncf.io/events/details/cncf-kcd-france-presents-kubernetes-community-days-france-2023/">Kubernetes
Community Days France</a> - Paris (France) <img alt="CFP KCD Paris"
src="https://img.shields.io/static/v1?label=CFP&message=from%20September-15%20to%20November-13-2022&color=green"></li>
<li>23&#8211;24 mars 2023 : <a
href="https://live.symfony.com/2023-paris/">SymfonyLive Paris</a> - Paris
(France) <a href="https://live.symfony.com/2023-paris/cfp"><img alt="CFP
SymfonyLive Paris"
src="https://img.shields.io/static/v1?label=CFP&message=until%2016-December-2022&color=green"></a></li>
<li>5&#8211;7 avril 2023 : <a href="https://europe.forum-fic.com">FIC</a> -
Lille Grand Palais (France)</li>
<li>12&#8211;14 avril 2023 : <a href="https://www.devoxx.fr/">Devoxx France</a>
- Paris (France)</li>
<li>10&#8211;12 mai 2023 : <a href="https://www.devoxx.co.uk/">Devoxx UK</a> -
London (UK) <a href="https://devoxxuk23.cfp.dev/#/"><img alt="CFP Devoxx UK
2023"
src="https://img.shields.io/static/v1?label=CFP&message=until%2010-January-2023&color=green"></a></li>
<li>12 mai 2023 : <a href="https://event.afup.org/">AFUP Day</a> Lille &amp;
Lyon (France) <img alt="CFP AFUP Day 2023"
src="https://img.shields.io/static/v1?label=CFP&message=until%2014-November-2022&color=green"></a></li>
<li>12&#8211;13 octobre 2023 : <a href="https://www.volcamp.io/">Volcamp
2023</a> - Clermont Ferrand (France)</li>
</ul>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Pour réagir à cet épisode, venez discuter sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a></p>

<p>Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a>
Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a>
Tous les épisodes et toutes les infos sur <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a>
<!-- vim: set spelllang=fr : --></p>

Direct download: LesCastCodeurs-Episode-288.mp3
Category:podcasts -- posted at: 11:09am CET

--------------------------------------------------------------------------------

Wed, 2 November 2022
LCC 287 - Celui qu'Antonio avait oublié!

Arnaud et Guillaume reviennent sur les news de ce mois avec évidement la sortie
de Java 19 mais aussi GraalVM, Puppet (toujours vivant), Docker Compose et
Desktop, VirtualBox, WASMTime et d’autres sujets plus orientés méthodologie
comme la réalisation de Sketchnotes, les DO / DONT pour faire des messages
d’erreurs dans les UIs ou encore quelques pratiques de management chez Google.

Enregistré le 21 octobre 2022

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


NEWS


LANGAGES

La version 19 de Java est sortie
https://mail.openjdk.org/pipermail/jdk-dev/2022-September/006933.html

 * Au menu:
   * 405: Record Patterns (Preview)
   * 422: Linux/RISC-V Port
   * 424: Foreign Function & Memory API (Preview)
   * 425: Virtual Threads (Preview)
   * 426: Vector API (Fourth Incubator)
   * 427: Pattern Matching for switch (Third Preview)
   * 428: Structured Concurrency (Incubator)
 * La vue de InfoQ https://www.infoq.com/news/2022/09/java19-released/
 * Foojay couvre 5 fonctionnalités clé
   https://foojay.io/today/the–5-most-pivotal-and-innovative-additions-to-openjdk–19/
   * virtual threads
   * structured concurrency
   * pattern matching for switch
   * foreign function and memory API
   * record pattern matching

Proposition dans Leyden des condenseurs et du décalage d’exécution dans le temps
https://openjdk.org/projects/leyden/notes/02-shift-and-constrain

GraalVM JIT et Native Image rejoignent le projet OpenJDK
https://twitter.com/graalvm/status/1582441450796900354

Google rejoint Adoptium et va utiliser la distribution Temurin pour les JDKs
utilisés dans ses produits
https://blog.adoptium.net/2022/10/adoptium-welcomes-google/

“Paving the on-ramp” : Brian Goetz discute de changements au langage Java pour
faciliter l’apprentissage pour les nouveaux arrivants
https://openjdk.org/projects/amber/design-notes/on-ramp


LIBRAIRIES

Spring Boot 3.0.0 RC1 is out
https://spring.io/blog/2022/10/20/spring-boot–3–0–0-rc1-available-now

 * Vous pouvez maintenant convertir vos applications Spring Boot en exécutables
   natifs en utilisant les plugins standard Spring Boot Maven ou Gradle sans
   avoir besoin d’une configuration spéciale.


INFRASTRUCTURE

(re)découvrir puppet -
https://blog.stephane-robert.info/post/introduction-puppet/ -
https://blog.stephane-robert.info/post/puppet-env-developpement/

 * Tutoriel en français sur puppet que l’auteur Stéphane ROBERT écrit dans le
   cadre d’une migration Puppet vers Ansible
 * L’auteur revient sur les concepts (manifests, classes, modules), et explique
   comment utiliser vagrant pour developper en local un projet utilisant puppet.

Docker Compose v2.11.0 est disponible La commande build permet de construire des
images multi-architectures.
https://github.com/compose-spec/compose-spec/blob/master/build.md#platforms

Docker Desktop 4.13.0
https://docs.docker.com/desktop/release-notes/#docker-desktop–4130

 * docker dev permet de gérer ses Dev Environments via la CLI

Sortie de VirtualBox 7.0, avec prise en charge complète du chiffrement des VMs,
nouvelle accélération Direct3D, elle apporte le premier client #Mac ARM et le
TPM de #Windows 11
https://virtualisation.developpez.com/actu/337578/Sortie-de-VirtualBox–7–0-avec-prise-en-ch[…]rte-le-premier-client-Mac-ARM-et-le-TPM-de-Windows–11/


WEB

WASMtime 1.0
https://bytecodealliance.org/articles/wasmtime–1–0-fast-safe-and-production-ready

Comment écrire un bon message d’erreur sur une UI?
https://medium.com/wix-ux/when-life-gives-you-lemons-write-better-error-messages–46c5223e1a2f

 * Un mauvais message d’erreur:
   * Ton inapproprié
   * Jargon technique
   * Rejetant le blâme
   * Générique sans raison
 * Un bon message d’erreur:
   * Dire ce qui s’est passé et pourquoi
   * Rassurer
   * Faire preuve d’empathie
   * Aidez-les à régler le problème
   * Donnez toujours une issue


OUTILLAGE

Amélie Benoit partage un article d’initiation au Sketchnote
https://amelie.tech/fr/blog/sketchnote-initiation/

 * Définition : un dessin, une représentation visuelle d’une prise de note,
   mêlant dessin et texte
 * Pas de stress, suffit juste de savoir écrire, dessiner des carrés, cercles,
   triangles. Pas besoin d’être un artiste !
 * A quoi ça sert ? pour soi même pour s’approprier de l’information,
   synthétiser ce que l’on apprends, mais aussi pour partager avec les autres
 * On peut faire des sketchnotes pour tout et n’importe quoi !
 * Amélie décrit ensuite les bases, avec les pictogrammes, le texte, les puces,
   les flèches, comment créer des conteneurs (pour des titres par exemple),
   comment rendre un sketchnote plus joli et comment hiérarchiser le contenu
 * Enfin, quelques ressources utiles, en particulier les livres de Mike Rohde
   qui est l’inventeur du concept

Nouvelle UI pour Maven Central search https://central.sonatype.dev/

maven-test-profiler: Maven extension pour trouver les tests les plus lents
https://t.co/d5YpXODWf8


ARCHITECTURE

Netflix construit un système de queue basse latence et haut volume à partir de
composants open source
https://www.infoq.com/news/2022/10/netflix-timestone-priority-queue/


MÉTHODOLOGIES

Google a publié un ensemble de pratiques, d’outils et d’articles pour les
managers https://rework.withgoogle.com/guides/


SÉCURITÉ

CVE dans Kafka - un client non authentifié peut faire un OOME dans le broker
https://github.com/advisories/GHSA-c9h3-c6qj-hh7q

Signal retire le support des SMS sur Android https://t.co/u9XZ7XM7rT


CONFÉRENCES

Codeurs en Seine 2022 - Programme et Inscriptions

 * Ca y est le programme est disponible et les inscriptions sont ouvertes.
 * les inscriptions (c’est gratuit et c’est à Rouen le 17 novembre) :
   https://www.codeursenseine.com/2022/inscription
 * le magnifique programme est la :
   https://www.codeursenseine.com/2022/programme

La liste des conférences provenant de Developers Conferences Agenda/List par
Aurélie Vache et contributeurs :

 * 3–4 novembre 2022 : Agile Tour Nantes 2022 - Nantes (France)
 * 8–9 novembre 2022 : Open Source Experience - Paris (France)
 * 15–16 novembre 2022 : Agile Tour Toulouse - Toulouse (France)
 * 17 novembre 2022 : Codeurs en Seine - Rouen (France)
 * 17 novembre 2022 : lbc² by leboncoin - Paris (France)
 * 18 novembre 2022 : DevFest Strasbourg - Strasbourg (France)
 * 18–19 novembre 2022 : GreHack - Grenoble (France)
 * 19–20 novembre 2022 : Capitole du Libre - Toulouse (France)
 * 23–25 novembre 2022 : Agile Grenoble 2022 - Grenoble (France)
 * 1 décembre 2022 : Devops DDay #7 - Marseille (France)
 * 2 décembre 2022 : BDX I/O - Bordeaux (France)
 * 2 décembre 2022 : DevFest Dijon 2022 - Dijon (France)
 * 14–16 décembre 2022 : API Days Paris - Paris (France) & Online
 * 15–16 décembre 2022 : Agile Tour Rennes - Rennes (France)
 * 19–20 janvier 2023 : Touraine Tech - Tours (France)
 * 25–28 janvier 2023 : SnowCamp - Grenoble (France)
 * 2 février 2023 : Very Tech Trip - Paris (France)
 * 9–11 février 2023 : World AI Cannes - Cannes (France)
 * 7 mars 2023 : Kubernetes Community Days France - Paris (France)
 * 23–24 mars 2023 : SymfonyLive Paris - Paris (France)
 * 12–14 avril 2023 : Devoxx France - Paris (France)


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs Faire un crowdcast
ou une crowdquestion Soutenez Les Cast Codeurs sur Patreon
https://www.patreon.com/LesCastCodeurs Tous les épisodes et toutes les infos sur
https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-287.mp3
Category:podcasts -- posted at: 4:48pm CET

--------------------------------------------------------------------------------

Wed, 19 October 2022
LCC 286 - Devoxx Belgique 2022, le retour!

Antonio, Guillaume et Emmanuel donnent leur retours sur les thèmes marquants de
Devoxx Belgique 2022, puis ils font quelques micro trottoirs lors de la
conférence. Si vous hésitez sur quelle conférence regarder sur Youtube, écoutez
cet épisode.

Enregistré le 18 octobre 2022

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


DEVOXX BELGIQUE 2022

Les présentations sont déjà en ligne sur Youtube


KUBERNETES COMMUNITY DAYS FRANCE 2023

 * le site de l’événement : https://kcdfrance.fr qui se déroulera le 7 mars 2023
 * le CFP : https://cfp.kcdfrance.fr qui ferme le 31 octobre


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


Direct download: LesCastCodeurs-Episode-286.mp3
Category:podcasts -- posted at: 8:58am CET

--------------------------------------------------------------------------------

Fri, 16 September 2022
LCC 285 - De mal en pis - partie 2

Dans cette partie 2, nous discutons le changement d’étage gratuit chez Heroku,
les vagues de licenciement dans le monde technologique, le carrière de
contributeur individuel et le cloud souverain. Et on vous parle de division de
nombres entier dans la rubrique débutant.

Enregistré le 9 septembre 2022

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


NEWS


INFRASTRUCTURE

NVidia interdit de vendre ses processeurs d’intelligence artificiels les plus
puissants en Chine
https://www.reuters.com/technology/nvidia-says-us-has-imposed-new-license-requirement-future-exports-china–2022–08–31/

 * Le gouvernement Américain a mis en place la restriction (export control)
 * 10% des ventes en Chine pour NVidia

Après 23ans un internaute arrête d’utiliser son propre serveur e-mail et il
explique pourquoi cela est devenu impossible https://t.co/TQ61y45MXT?ssr=true

 * Sa raison: l’impossibilité d’avoir un service fiable.
 * Les services de gestion d’e-mails sont désormais dans les mains de quelques
   gros acteurs (Google, Microsoft,..) qui déploient à coup d’algorithmes des
   filtres pour mettre en spam les e-mails indésirables
 * Ces derniers sont obscures et peuvent être stupides en blacklistant des blocs
   entiers d’IPs
 * L’internaute demande aux acteurs de se réveiller avant que les politiciens
   s’en mêlent (pour le pire …)
 * Cela demande aussi la mise en place de protocoles plus avancés comme DMARC
 * Pour des adresses “casual” comme celles des cast codeurs, c’est maintenant
   passage à la caisse et 3 à 5 euros par mois et pas adresse email c’est plus
   que la valeur de ces emails “casual”


CLOUD

Heroku annonce la fin de son étage gratuit
https://techcrunch.com/2022/08/25/heroku-announces-plans-to-eliminate-free-plans-blaming-fraud-and-abuse/?guccounter=2&guce_referrer=aHR0cHM6Ly90LmNvLw&guce_referrer_sig=AQAAACIpHvzb3Pb2gtgt8Dm99CWGUhbEkdTgLVDgKwMNNmDI9UITQyNX64GA2LB6rQGNX2EreLoiRvxTqSUls5V_F8x6Cv_xGrfXtaIROP_Jiv45UUO1ODBIno3j7vHC4gokKVLqsZ948CmCfzG2bF03DL-uhbZqYuGXvxTfdsioTbjg

 * heroic éliminé sont plan gratuit dénonçant des abus
 * apres 10 ans
 * pousser vers du paid plan, qui va aussi faire partir des gens
 * et questionner ceux qui avaient un modèle économique base sur ce plan gratuit
 * 28 novembre et aussi efface les comptes inactifs depuis 1 an
 * beaucoup de fraude et d’abus
 * vont garder des plans low cost et des plans étudiants
 * au delà des abuseurs, les plans gratuits étaient utilises pour tester les
   apps avant leur déploiement


OUTILLAGE

Polices de caractères pour la programmation
https://www.programmingfonts.org/#firacode

 * J’aime bien Fira Code moi :slightly_smiling_face:
 * Ce site permet de choisir parmi 111 polices différentes, pour pouvoir les
   comparer et choisir celle qu’on préfère

Mickael Istria pointe sur une video expliquant les nouveautés autour d’Eclipse
https://www.youtube.com/watch?v=zDJtVYAJwyY

 * c’est très visuel, â regarder
 * Code snippet
 * Content assis plus rapide
 * Support des concepts récents de Java comme sealed classes dans les quick fix
 * Etc

Utiliser git blame malgré les reformattages
https://michaelheap.com/git-ignore-rev/

 * fichier listant les revisions pour ignorer certains sha1 et le changement
   d’avant est pris

Une page concise des quelques façons de sortir d’un problème avec Git (langage
coloré) https://ohshitgit.com/

 * On a toujours quelquye chose a apprendre ; celle qui nettoie la branche
   principale, je ne connaissais pas.


ARCHITECTURE

Les tendances vu pas les éditeurs de InfoQ dans le devops et le cloud
https://www.infoq.com/articles/devops-and-cloud-trends–2022/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

 * commenter les 4 vagues et ce qu’il y a dedans
 * Data observability : live qualité de data etc
 * Serverless everything: scale to 0 ; même les bases de données (soit parce que
   infra partagée soit via un scale down réveille par access à une gateway
 * FinOps: contrôle des cours comme on optimisait pour les œufs
 * eBPF pour injection de code et WASM pour le service mesh ingress (attention
   WASM dans envoy ne pas pas ton bon vieux Netty)
 * Protection de la supply chain (encore faible en solutions)
 * Low code no code mature pour moins besoin d’ingénieurs ou approche plus
   légère
 * Developer experience qui influence les decisions


MÉTHODOLOGIES

Discussion sur la carrière contributeur individuel
https://touilleur-express.fr/2022/07/17/devenir-staff-engineer/

 * exemple de ce que fait doctolib
 * senior c’est le premier niveau d’autonomie et d’aisance
 * ensuite, soit vous voulez coacher vo pairs (manager), soit contributeur
   individuel
 * ce qui est demandé c’est le leadership (donc l’impact sur la societe et
   l’organisation)
 * et ca demande une taille de societe minimale
 * technique, communication, marketing d’idée
 * occuper le role avant d’être reconnu (c’est assez classique ; ce qui change
   c’est le formalisme de la liste des competences attendues entre les boites)
 * et on code moins car coder seul a moins de levier
 * equivalence track technique/leadership et track managériales avec des ponts.
   Souvent d’arrète avant les VP et autre executive leadership (matrice de
   Radford)
 * Premotion case avec promotion committee (2 fois pas an)
 * Assez classique de paires un leadership avec un manager pour qu’ils
   s’épaulent mutuellement
 * staff vs principal peut aussi etre du a l’impact cumulé de la personne et des
   principals peuvent aider sur une partie plus « bas niveau » / concrete de
   l’orga ou des projects grace a son experience et ses connexions au dela de
   son équipe actuelle
 * des exemples de situations de travail du staff engineer
   https://touilleur-express.fr/2022/07/20/vis-ma-vie-de-staff-principal-engineer/


LOI, SOCIÉTÉ ET ORGANISATION

https://twitter.com/smlpth/status/1551943751714603013?s=21&t=JhmioeiqlY8wFbzjry6b8Q
encore un licenciement de masse. 10% chez Shopify. Pas mal d’aides pour faire
passer la pilule (congés payés, aide à trouver un nouveau job…)

 * ils ont fait le pari que post covid les gens resteraient à acheter en ligne
   mais c’est revenu aux volumes d’avant
 * crise et inflation n’aident pas
 * Annonce à l’américaine avec e-mail direct et arrêt du travail le lendemain
 * Paye pendant quelques temps et support

Un article sur les licenciements dans la tech des GAFAM et des startups
https://www.lefigaro.fr/secteur/high-tech/la-grande-inquietude-des-salaries-de-la-tech-face-a-la-vague-de-licenciements–20220819

 * recession, résultats décevants, krach boursier (perte 1/4 de leur valeur)
 * recerrement des politiques budgétaires, donc les projets semi viables ne le
   sont plus
 * 88k licenciement en trois mois vs 5000 en 1 an en 2021: gros mois juin ->août
 * Apple, Microsoft, Amazon, TikTok, Shopify, Snapchat, Netflix (–40% bourse),
   SoudnCloud (–20% d’effectif)
 * L’argent facile arrête le cycle d’hyper acquisition et de facilite a l’hyper
   inflation des sociétés tech car impossibilité de lever des fonds
 * startup ont du mal a garder les clients acquis en <tel:2020–202|2020–202>1
 * donc recentrage et chute des activités non rentables
 * fidélisation de l’employé vs aller chercher la meilleur offre comme un
   mercenaire

Le Cloud de Confiance sous le coup du Cloud act américain ?
https://www.nextinpact.com/lebrief/69865/les-clouds-confiance-bleu-et-s3ns-seront-bien-soumis-au-cloud-act-americain

 * Alors attention, parce que Next Impact fait un peu dans le sensationnalisme
 * https://twitter.com/pchapuis/status/1565775842675933188?t=y5S63FbOSbtH4FK_1meECQ&s=19
 * Avec cette interprétation, même Clever Cloud, utilisant du matériel
   américain, serait soumis au Cloud Act
 * étude demandée par le ministère de la justice des pays bas
 * le cloud act s’applique quand le fournisseur de cloud européen utilise du
   hardware ou logiciel américain (e.g. cloud de confiance Bleu et S3ns)
 * muraille de chine en refusant tout client américain et en employant zero
   américain.
 * mais c’est si le logiciel américain a accès aux données (routeur Cisco en
   decrypté etc), Stockage sans la clef cote client, etc
 * le contrat MS serait « ring fencé » contre le cloud act mais peu d’infos


RUBRIQUE DÉBUTANT

Comment faire une division de deux entiers dans un flottant ?
https://www.baeldung.com/java-integer-division-float-result

 * Une division d’entier ramène que le quotient
 * Et un entier
 * Retourne un double au un des opérandes est un double, puis float, puis long.
 * Donc il faut d’aster une des opérandes en
 * float et pouf


CONFÉRENCES


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-285.mp3
Category:podcasts -- posted at: 4:02pm CET

--------------------------------------------------------------------------------

Mon, 12 September 2022
LCC 284 - De mal en pis - partie 1

Dans cet épisode, nous discutons bonnes pratiques Java, Groovy, WebAssembly,
Micronaut. Nous discutons également le changement de licence de Akka entre
autre. La suite de cet épisode parlera de changement d’étage gratuit chez Heroku
et des vagues de licenciement dans le monde technologique. Pour rester sous les
1h d’écoute, nous avons découpé les deux derniers épisodes nouvelles en 2
parties chacun. Qu’en pensez vous ? Donnez-nous votre avis sur Twitter ou sur le
Google Groups des cast codeurs.

Enregistré le 9 septembre 2022

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


NEWS


LANGAGES

Jonathan Giles, un principal architecte de Java chez Microsoft, a un site qui
partage des bonnes pratiques Java http://java.jonathangiles.net/

 * il couvre des bonnes pratiques Java de manière générale, mais également plus
   spécifiquement pour les développeurs de librairies Java
 * Des conseils sur la bonne utilisation des dépendances, des BOMs, des versions
   LTS de Java, des modules Java, de la surface des APIs publiées, de faire
   attention à null ou au boxing, et de comprendre les interfaces fonctionnelles
 * il y a beaucoup de contenu donc faites par petites doses
 * Certains sujets sont plus controversés comme les modules Java
 * les recommendations sont assez succinctes
 * Je suppose que ce sont les recommendations que les équipes du Azure SDK
   suivent et qu’il a ouvert. Donc merci à lui

Project Leyden https://www.infoq.com/news/2022/06/project-leyden-delays-aot/

 * Leyden n’a pas progressé en deux ans
 * Accepté que GraalVM a déjà achevé les objectifs initiaux
 * Donc vont explorer un spectre plus faible de contraintes (et probalbment
   d’optimisations
 * Prochaine LTS en Sept 2023 et Leyden ne sera pas mature, donc Leyden sera
   utilse ~ Sept 2027 (en terme d’adoption) au plus tôt.
 * SpringBoot pensent que CRaC (snapshot de la memoire sur disque pour demarrage
   plus rapide) sera très utile
 * module-info dans Spring pourn jlink est dans la roadmap
 * Lead de CRaC a fourni un prototype pour Quarkus: ameliore temps de demarrage
   pour OpenJDK mais pas la consommation memoire
 * jlink pour Quarkus, dans un context Kube, les gains d’espace disque ne sont
   pas si interessant vs un layered image
 * Micronaut a des issues ouverst pour CRaC

José Paumard couvre Loom et Structured Concurrency dans sa vidéo de la série JEP
Café https://inside.java/2022/08/02/jepcafe13/

 * Et cet article explique les problèmes classiques de concurrence comme les
   thread leaks et introduit la Structured Concurrency
 * https://howtodoinjava.com/java/multi-threading/structured-concurrency/

Paul King montre l’utilisation de différents frameworks de tests avec Groovy
(Spock, JUnit5, Jacoco, Jqwik et Pitest)
https://blogs.apache.org/groovy/entry/testing-your-java-with-groovy

 * Paul couvre aussi dans un autre article les comparateurs, et l’utilisation de
   l’API GINQ
 * https://blogs.apache.org/groovy/entry/comparators-and-sorting-in-groovy
 * La matrice spot est intéressante mais pas avec des noms de variable à, b, c,
   d :)
 * L.article est super didactique et explique via un example concret quand
   utiliser quoi
 * Je trouve les property base testing pas si simple à utiliser et avec un coup
   de réflection >> au truc testé. Mais peut être le cas est super simplistique
   pour l’usage

Paul King continue de publier régulièrement des articles sur Groovy -
https://blogs.apache.org/groovy/entry/working-with-sql-databases-with — accéder
à des bases SQL avec Groovy et GraalVM -
https://blogs.apache.org/groovy/entry/detecting-objects-with-groovy-the —
détection d’objet avec le machine learning avec Deep Java Library et Apache
MXNet

Sortie de Spock 2.2, première version GA avec le support officiel de Groovy 4
https://twitter.com/spockframework/status/1564999285250326529

 * Bah la seule info intéressante est déjà dans le titre, càd c’est le support
   officiel de Groovy 4

Google lance un nouveau langage, appelé Carbon, comme un successeur de C++, mais
en plus sympa ! https://github.com/carbon-language/carbon-lang

 * interessant, ils veut Ceyloniser ou Scalaizer Rust avec Carbon’s Kotlin-like
   strategy. Not a bad bet
 * Rust n’est pas assez compatible avec C++, c’est problématique, surtout pour
   des boîtes comme Google avec d’énormes code bases en C++.
 * Donc pour du green-field, Rust c’est bien. Ou c’est bien aussi pour de
   l’intégration avec du C. Mais pas avec du C++.

State of WebAssembly
https://blog.scottlogic.com/2022/06/20/state-of-wasm–2022.html

 * On peut peut-être aussi rajouter l’utilisation de WebAssembly chez Figma
 * https://neugierig.org/software/blog/2022/06/wasm-notes.html
 * rust reste le langage de prédilection
 * Python monte
 * JavaScript est maintenant un langage viable
 * Wasmtime est le runtime le plus populaire
 * L’utilisation de WASM pour Serverless et la containérisation et en tant que
   hôte de plugin a beaucoup émergé
 * Les api non browser sont ce dont a besoin web assembly
 * En fait compilent pas JavaScript mais un moteur JavaScript et faire
   l’interprétation
 * fonctionnalités très demandées : threads, exceptions, GC, type réflection etc

Graal VM 22.2
https://medium.com/graalvm/graalvm–22–2-smaller-jdk-size-improved-memory-usage-better-library-support-and-more-cb34b5b68ec0

 * GraalVM JDK plus petit
 * Plus petite conso mémoire lors de la création de native images
 * Un travail de Quarkus, Micronaut et Spring Native pour ûblier des métadonnées
   partagées
 * https://medium.com/graalvm/enhancing–3rd-party-library-support-in-graalvm-native-image-with-shared-metadata–9eeae1651da4
 * Possibilité de générer des heap dump dans des native images
 * Différentes améliorations du compilateur
 * Support de Apple Silicon
 * Côté autres langages, GraalPython démarre plus vite et avec support étendu de
   librairie, et GraalJS avec une meilleurs interopérabilité

Alex Blewitt un Java Champion est décédé prématurément
https://www.infoq.com/news/2022/07/alex-blewitt/

 * notamment un contributeur à InfoQ


LIBRAIRIES

Sortie de Micronaut 3.6
https://micronaut.io/2022/08/04/micronaut-framework–3–6–0-released/

 * Nouveau module Micronaut Test Resources avec une intégration TestContainers
   qui permet d’avoir des ressources de test externes, par exemple pour un
   Redis, un Elasticsearch ou autre
 * Cédric Champeau qui a travaillé sur cette fonctionnalité a écrit un blog post
   complet sur le sujet
   https://melix.github.io/blog//2022/08/micronaut-test-resources.html
 * Intégration avec OpenTelemetry (après Open Tracing et autre)
 * Micronaut Data rajoute Hibernate Reactive comme intégration
 * et plein d’autres mises à jour des différents modules existants

Utiliser des serialiseurs. / deserialiseurs de messages Kafka dans votre
application Quarkus https://quarkus.io/blog/kafka-serde/

 * explique quand on a besoin d’un serialisateur custom (hors des types
   fondamentaux)
 * Explique que le support JSON existe par défaut
 * Explique comment utiliser Avro mais avec un schéma registry
 * Et la version full custom

Akka change sa licence de ASL vers BSL (Business Source License)
https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka

 * comme MariaDB, Cockroach Labs, Sentry, Materialized
 * BSL is source available et usage dev mais pas prod
 * Après 3 ans, les commits en BSL se convertissent en ASL (donc pas les
   nouveaux commits)
 * license commerciale disponible pour 2000$ par coeur
 * due au fait qu’avec la maturiote de Akka les contributions ont diminué et le
   support est revenu a LightBend de plus en plus meme si des societes grosse
   utilisent Akka dans leur infra critique
 * Gatling impacté
 * Mécontentement de la communauté Akka et Scala, par exemple cet article
   d’Alexandru Nedelcu
   https://alexn.org/blog/2022/09/07/akka-is-moving-away-from-open-source


NOUS CONTACTER

Pour réagir à cet épisode, venez discuter sur le groupe Google
https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/

Direct download: LesCastCodeurs-Episode-284.mp3
Category:podcasts -- posted at: 9:58am CET

--------------------------------------------------------------------------------

Wed, 27 July 2022
LCC 283 - Mini interview comment améliorer ses présentations

Cet épisode mi nouvelle mi interview discute comment faire de meilleures
présentations. L’article est agrémenté des propres conseils des cast codeurs.

Enregistré le 8 juillet 2022

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


INTERVIEW

Gunnar Morling partage ses conseils et astuces pour faire de meilleures
présentations aux conférences

 * Répéter, répéter, répéter
 * Démarrer par une mission
 * Raconter une histoire
 * Regarder l’auditoire, pas les slides
 * Mettre moins de texte sur ses slides, beaucoup moins
 * Personnaliser la présentation en fonction de l’auditoire
 * La règle de 3 (couvrir 3 points clés, 3 leçons retenues, partager 3
   conseils…)
 * Avoir une solution de secours pour les démos
 * Jouer sur ses atouts (c’est pas grave si on est quelqu’un qui parle vite, si
   ça donne de l’énergie à son argumentaire)
 * Faire des retours en arrière (par exemple pour conclure sur un point abordé
   ou une supposition de départ et montrer qu’on a prouvé ce que l’on avançait)

Et les cast codeurs commentent ses propositions.


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/

Direct download: LesCastCodeurs-Episode-283.mp3
Category:podcasts -- posted at: 10:44am CET

--------------------------------------------------------------------------------

Tue, 19 July 2022
LCC 282 - Apérikube apomorphique - partie 2

Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles
une écoute marathon. Cette deuxième partie couvre des sujets d’architecture et
de loi société et organisation ainsi que les conférences à venir. Logging,
Migration Java 8 vers 11, Xerox Park, (manque de) sécurité, courbes elliptiques,
sondage développeurs.

Enregistré le 8 juillet 2022

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


NEWS


ARCHITECTURE

Pour ou contre le logging Contre puis pour

 * tous les langages et plateformes utilisent les logs
 * debugging, tracing, journaling, monitoring, and printing errors
 * impact sur les performances (allocation supérieure sur un log que sur le code
   métier
 * log = mémoire, CPU (GC), I/O
 * risque de securité (dépendances et fonctionnalités sans besoin)
 * format des log: pour lecture humaine main volume impose traitement
   automatique
 * log level la bonne abstraction (souvent trop et pas ce que l’on veut à la
   fois
 * debugging -> utiliser un debugger ; journaling -> event sourcing ou solution
   dédiée ; tracing > open tracing ; monitoring -> monitoring solution via
   metrics et health check
 * bons usages de logging: en dev (println), fin de jobs automatiques, erreurs
   non récupérables ou innatendues, pas les erreurs utilisateur (logger les
   erreurs qui cachent un bug),
 * dans les container, Sébastien utilise System.out et System.err vu que les
   logs sont gérés par la plateforme
 * la réponse pour maintenant
 * les logs peuvent etre structurés
 * performance, on peut éviter les concatenations de String (parameterized
   logging), memory allocation est bien meilleure depuis 2012 (e.g. Shenandoah),
   vu des problèmes dans des cas plus rare de genre MDC.getCopyOfContextMap
 * disk I/O: ok mais disque cape a 200 MiB/s donc bon…: si c;est le cas, sépare
   I/O log du reste (disque vs network par exemple)
 * gros fan de logs structures via JSON ; log line sur console et JSON en
   fichier
 * log plus de manière conditionelle
 * tracing théoriquement bon mais limite dans son contexte métier et peu d’infos
   passables
 * system.out problème de scalabilité d’usage, etc et appel blocant println
   (async usage n’est pas bon)

LinkedIn et sa migration de Java 8 à 11

 * 1000 apps sur 320k hosts
 * Migration Java 8 vers 11 avec en vue G1
 * regardé depuis 2018
 * Jetty, Hadoop, Play, Samza: focalisé sur Jetty
 * 1. Mettre a jour le système de build, 2. Faire des tests de performance 3.
      Automatiser la migration
 * mise. a jour vers gradle 5
 * G1 80% des applis CMS 20%
 * pris 20 apps representatives
 * focalisé sur les applications avec les tailles de piles les plus grosses
 * de équipera jusquà 200% plus de latence et throughput: zones G1, Shenandoah
   et ZGC
 * automatisé la migration du reste et tourné les builds de tests qui ont
   identifié les problèmes de migration
 * quelques problèmes: suppression de certaines classes Java EE, changement du
   type de classloader par défaut, casting de classe plus stricte
 * ils ont utilisé -release 8 et ont limité les usages des features Java 11
 * les options de CLI de la JVM ont beaucoup changé
 * LinkedIn fait du microsercices ce qui veut dire que beaucoup de repositories
   sont liés à d’autre par un graphe de dépendance: euh c’est pas le principe
   des microservices d’éviter ça???
 * mise a jour de 500 librairies 3/4 de l’année
 * Quelques challenges vus
 * La JVM respecte groups et donc moins de thread GC sont crées
 * aussi ils pouvaient piquer des cycles CPUs avant et plus maintenant
 * Java 11 a un usage de mémoire hors pile plus important
 * reduction de latence p99 par 10% et le throughput par 20% sans changer le
   type de GC
 * C’est un bon retour qui sent le type de développement de la vrai vie


MÉTHODOLOGIES

Un article sur Xerox park et comment ils ont inventé le futur

 * article de 1985
 * Xerox achète un constructeur de mainframe, et ils ont crée un lab de
   recherche pour aider les usages
 * Macintosh et la souris et les fenêtres, les cartes météos colorées,
   imprimante laser, réseaux d’ordinateurs, lasers semi-conducteurs qui lisent
   les disques optiques, langages de programmation structurés
 * developer l’architecture de l’information
 * project proposes et faite en bottom up
 * PARC construisait ses propres hardware ce qui a créer des inventions et qui
   devaient etre construits pour 100 utilisateurs (scale)
 * recherche en construisant concrètement, pas en papier théorique académique
 * bit map, distributed computing, email, frame buffer, LAN, object oriented
   programming
 * Cree Alto un ordinateur « personnel » qui a permis aux chercheurs de tester
   leurs idées, beaucoup en avaient un.
 * donc ils ont du inventer le LAN et Ethernet (packet) via une personne avec
   passe de radio amateur (medium partagé et non reliable
 * premier projet distribué. (Un protocole d’impression)
 * antialiasing : ils amélioraient en testant pour de vrai
 * un gars a construit un proto de souris pour prouver que les curseurs étaient
   plus efficace: tests avec des dans la rue et IO a perdu :D
 * concept de modal (insert, delete) vers comportement non modal, plus simple
   pour l’utilisateur
 * small talk: un langage si simple qu’un enfant peut l’utiliser (simulation
   based programming)
 * overlapping windows ont été développées en small talk
 * autre groupe strong type system
 * Xerox ne savait pas convertir ces recherches en produits et les amener sur le
   marcher (sauf l’imprimante laser)


SÉCURITÉ

Travis CI fuit encore des mots de passe

 * permet d’accéder au compte privé des développeurs open source qui ont mis en
   place travisCI
 * c’est la quatrième fois
 * token offre accès lecture et écriture aux repos
 * risque d’attaque de supply chain
 * tokens github, AWS ou DockerHub apr exemple mais aussi les bases de données
   utilisées dans la CI
 * via l’API TravisCI

HDMI peut-être un vecteur d’attaque et d’infection de vos ordinateurs

 * Un hack d’un adaptateur HDMI peut potentiellement infecter un
   video-projecteur, et qui à son tour pourra réinfecter les prochains
   ordinateurs qui s’y connecteront
 * Cet article propose de construire une sorte de connecteur qui sert de
   firewall HDMI pour éviter ce genre d’infection
 * il y a des préservatifs USB aussi qui ne laissent passer que la puissance et
   pas les données

Un guide pour protéger son macOS

 * Une suite de conseils comme de faire une installation toute fraiche, de
   mettre les mises à jour logicielle automatiques, n’autoriser que les
   applications signées, appliquer le chiffrement du disque…
 * Mais aussi utiliser par exemple un gestionnaire de mot de passe, éviter les
   extensions de navigateur, faire tourner un firewall
 * Et des liens vers des guides de sécurités plus avancés
 * un truc que je n’ai pas fait mais qui me tente c’est un outbound firewall
   comme little snitch ou lulu

Comment choisir un algorithme de courbes elliptiques

 * un article qui détaille le pour et le contre de certaines courbes elliptiques
 * cas d’usage, notamment gouvernemental
 * faiblesses (timing attaques etc)
 * pour les curieux mais la première courbe citée est celle la plus utilisée en
   ce moment


LOI, SOCIÉTÉ ET ORGANISATION

Stackoverflow sort son sondage sur les développeurs

 * 70% apprennent a coder en ligne (les plus de 45 ans dans les bouquins)
 * stackoverflow derrière la doc technique puis les blogs ; video 60% des gens ;
   podcast 7,21% damn!
 * presque 60% ont moins de 10 ans d’expérience ; si t’es pas VP ou CxO a 17 ans
   d’expérience, tu as raté ta vie
 * 9% cloud infra engineers
 * 22% ont neuro atypiques
 * Docker passe dans la catégorie outil fondamental (69% d’usage)
 * les frameworks 3D genre Unity 3D ou Unreal Engine sont des outils que des non
   développeurs pro apprennent
 * Rust technologie la plus aimée, Rust et Python en plus demandées
 * Java 6eme position mais 4ème pour ceux qui apprenent
 * Angular.is en framework le plus redouté / react.is le plus demandé
 * Docker et Kube sont les plus aimés et demandé
 * indépendants on augmenté de 5% et 4% pour les temples pleins
 * 85% des dev sont dans une orga partiellement distancié le
 * 62% des devs pro cherchent des réponses pendant plus de 30 minutes par jour,
   25% 11h
 * Azure prend la deuxième place des cloud, OVH 3,7%
 * Spring framework le plus populaire de Java
 * VSCode 74%, IntelliJ 28%, vim 23%, Eclipse 12%, EMacs 4,5%
 * pleins d’outils asynchrone (tickets etc) que je ne connais pas
 * salaires ont augmenté de 23% en median

JavaScript change de licence open source

 * toujours la licence Ecma international license, assez restrictive qui
   interdit le fork, mais avec certaines provisions pour l’intégration et la
   reproduction
 * mais aussi une nouvelle licence dérivée de la W3C Document & Software
   License, un peu plus ouverte, qui permet d’intégrer et s’intégrer plus
   facilement avec les autres standards du Web


CONFÉRENCES

de la part de Youen

Cette année Codeurs en Seine, c’est le 17 novembre et le cfp est ouvert
N’hésitez pas à amener un peu de JVM dans l’appel à orateur. (ca commence à se
faire rare). Pour rappel : codeurs en seine c’est 1000 personnes autour des
métiers du développement dans une des plus grande salle de Rouen, le kindarena.


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/

Direct download: LesCastCodeurs-Episode-282.mp3
Category:podcasts -- posted at: 8:42am CET

--------------------------------------------------------------------------------

Tue, 12 July 2022
LCC 281 - Apérikube apomorphique - partie 1

Cet épisode marathon sera découpé en deux morceaux pour éviter à vos oreilles
une écoute marathon. Dans cet épisode on y parle Brian Goetz, Bian Goetz, Brian
Goetz, usages des threads virtuels, OpenAPI, Kubernetes, KNative, copilot et
Tekton. La deuxième partie couvrira des sujets d’architecture et de loi société
et organisation ainsi que les conférences à venir.

Enregistré le 8 juillet 2022

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


NEWS


LANGAGES

Peut-être une nouvelle syntaxe spécifique aux Records Java pour tordre le cou
aux builders

 * Brian Goetz discute de l’idée d’avoir une syntaxe spécifique pour les records
   pour facilement créer un record dérivé, potentiellement avec des valeurs par
   défaut, mais en paramétrant certains champs
 * Point shadowPos = shape.position() with { x = 0 }
 * Cela évite de créer la notion de paramètre par défaut dans les constructeurs
   ou les méthodes

Il y a l’article Data Oriented Programming de Brian Goetz, sur InfoQ

 * projet Amber amène des changements qui combinés permet de faire du data
   oriented programming en Java et pas que du OOP
 * OO combine état et comportement (code)
 * OO est super utile pour défendre des limites (programme large en des limites
   plus petites et plus gérable)
 * mais on s’oriente vers des applications plus petites (microservices)
 * data oriented programming: modélise data immuable et le code de la logique
   métier est séparée
 * records -> data en tant que classe, sealed classes -> définir des choix,
   pattern matching -> raisonne sur des data polymorphiques
 * algebraic data: hiérarchie de sealed classes dont les feuilles sont des
   records: nommées, immuable, testable (pas de code)

Un nouveau JEP pour intégrer une Classfile API

 * Le JDK inclut déjà des forks de ASM, de BCEL, et d’autres APIs internes, pour
   manipuler / produire / lire le bytecode
 * Mais l’idée ici c’est que le JDK vienne avec sa propre API officielle, et qui
   soit plus sympa à utiliser aussi que le pattern visiteur de ASM par exemple
 * La version d’ASM intégrée était toujours en retard d’une version (problème de
   poule et d’oeuf, car ASM doit supporter la dernière version de Java, mais
   Java n+1 n’est pas encore sorti)

Lilian nous montre à quoi va ressembler les Record Patterns de JEP 405

Apache Groovy et les virtual threads, et aussi Groovy et le Deep Learning

 * Paul King, qui dirige actuellement le PMC de Apache Groovy, a partagé
   récemment plusieurs articles sur le blog d’Apache sur des intégrations
   intéressantes avec Groovy
 * Groovy et sa librairie GPars pour la programmation concurrente et parallèle
   s’intègre facilement avec les Virtual Threads de JEP 425 / JDK 19
   https://blogs.apache.org/groovy/entry/gpars-meets-virtual-threads
 * Groovy avec Apache Wayang et Apache Spark pour classifier des Whiskey par
   clusterisation KMeans
   https://blogs.apache.org/groovy/entry/using-groovy-with-apache-wayang
 * Et aussi Groovy avec différentes librairies de Deep Learning pour la
   classification
   https://blogs.apache.org/groovy/entry/classifying-iris-flowers-with-deep

Le jargon (en anglais) de la programmation fonctionnelle, si vous avez rêvé
d’avoir sous la main la définition de foncteur, de monoïde, et j’en passe

 * avec des exemples en JavaScript
 * des pointeurs vers des librairies fonctionnelles en JavaScript
 * des traductions dans d’autres langues et d’autres langages de programmation


LIBRAIRIES

Spring Boot 2.7

 * SpringBoot 2.7
 * Spring GraphQL 1.0
 * Support pour Podman
 * Gestion de dépendance et auto configuration pour Cache2k
 * nouvelle annotations pour Elasticsearch et CouchBase
 * dernière versions avant SpringBoot 3 qui changera plus de choses. Recommande
   de migrer une version a la fois. Support pour 2.5 à fini (upstream)

Quarkus 2.10.0

 * Travaux préliminaires sur les threads virtuels de Loom
 * Support non-blocking pour GraphQL
 * Prise en charge des Kubernetes service binding pour les clients SQL réactifs
 * CacheKeyGenerator pour l’extension de cache
 * quarkus-bootstrap-maven-plugin déprécié et remplacé par
   quarkus-extension-maven-plugin (uniquement utile pour les développeurs
   d’extensions Quarkus)
 * Nouveaux guides:
 * Using Stork with Kubernetes
 * OpenId Connect Client Reference Guide
 * Using Podman with Quarkus

Les différences entre OpenAPI 2 et 3

 * Introduction de la notion de lien pour créer des relations entre Response et
   Operations, pratique pour faire des APIs hypermédia
 * La structure du document OpenAPI a été -un peu simplifiée, en combinant par
   exemple basePath et schemes, ou en rassemblant les securityDefinitions
 * Des améliorations sur les security schemes, autour de OAuth et OpenID
 * Plus de clarté dans la négociation de contenu et les cookies
 * La section des exemples de Request / Response devrait aider les outils qui
   génèrent par exemple des SDK automatiquement à partir de la description
   OpenAPI
 * Un support étendu de JSON Schema
 * Introduction d’une notion de Callback, importante pour les APIs asynchrones,
   en particulier les WebHooks
 * je me demande si ils ont l’intention d’embrasser AsyncAPI ou su la partie
   asynchrone d’OpenAPI 3 a pour objectif de faire de la competition


INFRASTRUCTURE

N’utilisez pas Kubernetes tout de suite !

 * Kubernetes, c’est bien, mais c’est un gros marteau. Est-ce que vous avez des
   gros clous à enfoncer ?
 * Ne commencez peut-être pas avec l’artillerie lourde de Kubernetes. Commencez
   plutôt avec des solutions managées genre serverless, ce sera plus simple, et
   au fur et à mesure si votre infrastructure a besoin de grossir et dépasse les
   fonctionnalités des solutions managées, à ce moment là seulement évaluer si
   Kubernetes peut répondre à votre besoin
 * Choisir Kubernetes, c’est aussi avoir la taille de l’équipe qui va bien avec,
   et il faut des profils DevOps, SRE, etc, pour gérer un cluster K8S
 * L’auteur suggère grosso modo que ça dépend de l’ordre de magnitude de la
   taille de l’équipe : avec quelques personnes, préférez des solutions type
   Google App Engine ou AWS App Runner, avec une dizaine de personne peut-être
   du Google Cloud Run ou AWS Fargate, avec moins d’une centaine là pourquoi pas
   du Kubernetes managé comme Google Kubernetes Engine, et si vous dépassez
   mille, alors peut-être vos propres clusters managés par vos soins et hébergés
   par vos soins sur votre infra
 * ca impose d’utiliser les services du cloud provider? Parce que la vie ce
   n’est pas que du code maison.
 * C’est la mode de dire de pas utiliser K8S :
   https://www.jeremybrown.tech/8-kubernetes-is-a-red-flag-signalling-premature-optimisation/
   (mais bon, vu le nombre de fois où il est pas utilisé à b

Knative Eventing Devlivery methods

 * on peut faire de la delviery simple 1–1 sans garantie
 * on peut faire de la delivery complexe et persistante en introduisant la
   notion de channel qui decouple la source de la destination.
 * on peut repondre a la reception d’un message et pousser la réponse dans un
   second channel
 * mais ca devient compliquer a gérer quand on rajoute des souscripteurs
 * il y a la notiuon de broker qui definit: des flitres, un channel
   (automatique) et la capacité de répondre
 * les triggers sont un abonnement non pas a un channel mais a un type
   d’évènement spécifique


CLOUD

AWS is Windows and Kube is Linux

 * pourquoi utilisez Kube qui etait pas stablewa lors qu’AWS offre tout
 * AWS forcé d’offrir EKS
 * MAis pourri
 * Lockin AWSIAM
 * Pourquoi AWS serait le windows
 * economies d’echelles de faire chez soi
 * kube devient rentable une certaine taille de l’organisation
 * besoin alternative a AWS (bus factor)
 * on voit le Kube distro modele arriver

Google data center Paris


OUTILLAGE

IntelliJ IDEA 2022.5 EAP 5 amène des nouveautés

 * Frameworks and Technologies
 * Spring 6 and Spring Boot 3
 * Support for new declarative HTTP Clients in Spring 6
 * URL completion and navigation for Spring Cloud Gateway routes
 * Experimental GraalVM Native Debugger for Java
 * Code insight improvements for JVM microservices test and mock frameworks
 * Code insight improvements for Spring Shell
 * Improved support for JAX-RS endpoints
 * Support for WebSockets endpoints in HTTP Client
 * Support for GraphQL endpoints in the HTTP Client
 * UI/UX improvements for the HTTP Client
 * Improved navigation between Protobuf and Java sources
 * Kubernetes and Docker
 * Intercept Kubernetes service requests with Telepresence integration
 * Upload local Docker image to Minikube and other connections
 * Docker auto-connection at IDE restart
 * Docker connection options for different docker daemons

GitHub copilot est disponible pour tous (les developpeurs)

 * 40% du code écrit est généré par copilot en python (ca calme)
 * gratuit pour les étudiants et les développeurs OSS
 * Revue de Redmonk décrit copilot comme une extension d’intelligence ou auto
   complete mais qui « comprend » le code autour
 * premiere fois pas une boite de cette taille et à cette échelle
 * l’avantage de copilot en terme de productivité, de qualité de code, de
   sécurité et de légalité
 * En gros, c’est encore à voir. Mais la qualité impressionne les gens qui l’ont
   testé ; sécurité pas de retour d’un côté ou de l’autre sauf que les
   développeurs humains ne sont pas des lumières de sécurité :D
 * GitHub pense que GitHub n’est pas responsable de la violation de code vue que
   ce sont des machines et des algorithmes qui transforment: cela a l’air d’etre
   le consensus des avocats
 * GitHub dit qu’on est responsable du code qu’on écrit avec copilot
 * Et implicitement GitHub dit que la licensure du code « source » ne se propage
   pas au code generé. Et là, c’est pas clair et de la responsibilité de
   l’utilisateur, mais la encore les avocats sont plutot ok
 * moralement c’est probablement pas ok mais bon et il y a débat autour des
   licenses copyleft notamment LGPL
 * 1% du temps, code copié verbatim de > 150 caractères
 * Question sur le code non open source sur lequel GitHub Copilot s’appuie
 * mais en gros le marcher s’en fout un peu des licences
 * Risque de reputation de Microsoft
 * la question c’est quand / si les gens seront prêt à accepter cet usage

Gradle publie sa roadmap

 * Historiquement, la société Gradle Inc ne publiait pas vraiment de roadmap
   officielle
 * Outre les tickets que l’on pouvait voir dans Github, cette fois ci, une
   “roadmap board” est visible et disponible pour tout le monde, et pas
   seulement pour les clients

Tekton est groovy (mais non, il n’utilise pas Groovy !)

 * Un grand tutoriel sur Tekton
 * Une brève histoire de CI/CD (avec un contraste avec Groovy utilisé dans
   Jenkins)
 * Un aperçu des grands concepts de Tekton, avec ses tâches et ses pipelines
   (Task, TaskRun, Pipeline, PipelineRun)
 * Comment installer Tekton
 * Les outils CLI
 * Un exemple concret d’utilisation

Sortie de Vim 9, surtout avec VimScript 9

 * des changements incompatibles entre VimScript 8.2 et 9 font qu’il était
   nécessaire de passer à une version majeure
 * mais l’ancienne version du langage reste supportée pour compatibilité
 * avec la nouvelle, les utilisateurs peuvent s’attendre à des performances x10
   voire x100 !
 * le langage devient pré-compilé, au lieu d’être interprété ligne par ligne
 * l’idée était d’avoir un langage plus proche de ce qu’on trouve dans
   JavaScript, TypeScript ou Java


CONFÉRENCES

De la part de Youen

Cette année Codeurs en Seine, c’est le 17 novembre et le cfp est ouvert
N’hésitez pas à amener un peu de JVM dans l’appel à orateur. (ca commence à se
faire rare). Pour rappel : codeurs en seine c’est 1000 personnes autour des
métiers du développement dans une des plus grande salle de Rouen, le kindarena.


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/

Direct download: LesCastCodeurs-Episode-281.mp3
Category:podcasts -- posted at: 12:50pm CET

--------------------------------------------------------------------------------

Mon, 13 June 2022
LCC 280 - Leçon de géographie

Cet épisode une fois n’est pas coutume parle beaucoup de nouvelles dans la
rubrique langage et beaucoup de Java, wouhou ! On parle aussi de sigstore,
http/3, Micronaut et de VMWare.

Enregistré le 10 juin 2022

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


NEWS


LANGAGES

Sept raisons pour lesquelles Java a a encore du sens après 26 ans

 * communauté (dans toutes les grandes villes)
 * force du langage et de la plateforme
 * plus de problèmes résolus que non résolus (librairies)
 * stabilité
 * Innovation (Java 9 accélère l’innovation)
 * outillage
 * opportunité d’emploi

Les débuts du projet Leyden

 * Mark Reinhold lance le projet Leyden, pour adresser les problèmes de temps de
   démarrage lent de Java, de lenteur du temps jusqu’à la performance max, et
   d’empreinte un peu lourde
 * à l’aide d’une image statique de votre application
 * une image statique ne fait tourner qu’une seule et unique application sur son
   JDK, et est un “monde fermé” (ne peut pas charger de classe externes)
 * mais les ingés de la JVM vont travailler sur une approche assez souple, et
   voire quelles contraintes peuvent être allégées, par rapport à un monde
   complètement fermé d’une image statique
 * en espérant avoir des améliorations à différents niveaux, pour un max d’appli
   et de use case différents
 * Le close world c’est ce qui amène la valeur de GraalVM native image et les
   avantages pour Micronaut, Quarkus et le autres
 * donc pas de closed world: c’est encore un projet de recherche pour l’équipe
   de la JVM

JFR plus facile à configuer dans Java 17

 * un wizard en UI ou CLI pour generer le fichier .jfc

Proposition de structured concurrency via le projet Loom

 * Targeted status for JDK 19.
 * This incubating JEP, under the auspices of Project Loom,
 * proposes to simplify multithreaded programming by introducing a library to
   treat multiple tasks running in different threads as a single unit of work.
 * This can streamline error handling and cancellation, improve reliability, and
   enhance observability

RedMonk analyse l’apparition du langage Dart, grâce à Flutter, dans leur top 20
des langages de programmation les plus populaires

 * JavaScript, Python, Java, toujours en tête
 * Mais Rust et Dart sont rentrés récemment
 * L’arrivée de Dart coïncide surtout avec l’émergence de Flutter comme
   framework d’interface graphique, que ce soit pour Android/iOS, que pour le
   desktop et le web
 * Sur les applis mobiles, il y a toujours eu beaucoup de développement natif,
   mais est aussi arrivé React Native, mais aussi Flutter
 * Des applis de Google comme Google Pay et Google Ads sont développées en
   Flutter, mais aussi le récent SNCF Connect ou des entreprises telles que BMW
   ou Alibaba (modifié)
 * (cf le talk sur le REX par les développeurs de SNCF Connect à Devoxx France)
 * les investissements initiaux de Dart vs Kotlin ou Ceylon qui ont démarrés en
   meme temps étaient colossaux
 * Dart en natif pour faire des applis iOS… qui tournent aussi sous Android

Kotlin 1.7 est sorti

 * Kotlin K2 compiler pour la JVM em Alpha (les plug ins ne fonctionne pas)
 * amélioration des perf de Kotlin et du compilo pour la JVM
 * build incremental Gradle
 * annotation OptIn et inférence de Builder stabilisés
 * classes implementee par delegation automatique sans consommation mémoire (via
   inlining)


LIBRAIRIES

Sortie de Micronaut 3.5

 * Passage à GRAALVM 22.1.0
 * Compilation incrémentale lors des builds, en particulier intéressant pour les
   métadonnées pour GraalVM, ce qui permet d’éviter de faire tourner les
   processeurs d’annotation inutilement
 * Inclusion de Micronaut Data 3.4, avec support des enums Postgres pour JDBC,
   la pagination pour les Reactive Repositories
 * Intégration avec Turbo pour la vue (Turbo Frame et Turbo Views)
 * Nouveau module pour MicroStream (un moteur de graphe d’objet natif Java,
   intégré à Helidon)
 * Mise à jour de nombreux plugins et extensions (y compris plugins de build)


INFRASTRUCTURE

Kubernetes signals massive adoption of Sigstore for protecting open source
ecosystem

 * Kubernetes 1.24 (sorti en mai) est la première version utilisant
   officiellement Sigstore, permettant une vérification transparente des
   signatures pour protéger contre les attaques de la chaîne d’approvisionnement
 * Sigstore est une nouvelle norme pour la signature, la vérification et la
   protection des logiciels. Elle se veut être un remplaçant pour GPG par
   exemple.
 * Sigstore offre une variété d’avantages à la communauté Kubernetes comme:
 * Sigstore’s keyless signing donne une grande expérience de développeur et
   supprime le besoin de la gestion de clé douloureuse.
 * Le journal public et transparent de Sigstore (Rekor) avec ses API permettent
   aux consommateurs Kubernetes de vérifier les signatures.
 * …


WEB

RFC 9114 - HTTP/3 est validée (+ RFC 9204 - QPACK: Field Compression for HTTP/3
et RFC 9218 - Extensible Prioritization Scheme for HTTP)

 * Basé sur le protocole de transport QUIC qui possède plusieurs fonctionnalités
   intéressantes telles que le multiplexage de flux, le contrôle de flux par
   flux et l’établissement de connexion à faible latence.
 * QPACK : un format de compression pour représenter efficacement les champs
   HTTP à utiliser en HTTP/3. Il s’agit d’une variation de la compression HPACK
   qui vise à réduire la taille des headers.
 * Extensible Prioritization Scheme for HTTP: schéma qui permet à un client HTTP
   de communiquer ses préférences quant à la façon dont le serveur en amont
   priorise les réponses à ses demandes, et permet également à un serveur
   d’indiquer à un intermédiaire en aval comment ses réponses devraient être
   priorisées lorsqu’elles sont transmises.


OUTILLAGE

VSCode Java 1.5 est sorti

 * Java 18 support, inlay hints for method parameters, and improvements to class
   declaration navigation are just a few of the enhancements to expect.


ARCHITECTURE

L’architecture Netflix

 * Pas fou fou dans les infos mais ça fait longtemps qu’on a pas eu d’archi
 * analyze the system design in terms of availability, latency, scalability and
   resilience to network failure
 * basé sur AWS
 * clients via un SDK est intelligent, contrôle le backend utilisé et la bande
   passante en temps réel
 * Open Connect CDN: là ou les vidéos sont stockées
 * le reste du bon vieux microservice en backend
 * ramène les dix meilleurs points d’accès et le client choisi voire change
 * API Gateway via Zuul: dynamic routing, traffic monitoring and security,
   resilience to failures at the edge of the cloud deployment
 * etc


LOI, SOCIÉTÉ ET ORGANISATION

VMWare racheté par Broadcom

 * 61 milliards de dollars
 * Avec un objectif de passer de 3,5 à 8,5 milliard d’EBITA par an
   * Bouger dans la division cloud avec Symantec
 * VMWare était content de sa liberté retrouvée après la spin off de Dell
 * Apparemment pas d’alignement de tech
 * une expansion de portefeuiille dans le software pour broadcom
 * VMWare a beaucoup changé de mains ces dernières années
 * La strategie d’investissement de broadcom: acheter des franchises avec une
   bonne position de marcher et un potentiel de profitabilité augmenté sans gros
   investissements
 * La rumeur
 * un ex de VMWare qui pense que c’est la mort de VMWare


OUTILS DE L’ÉPISODE

GitHub Copilot quand le code s’écrit tout seul … (en fait non, les développeurs
ont encore des beaux jours devant eux)

 * A voir aussi: Github Co-Pilot : Addictif ou Efficace ? (Johan Jublanc et
   Simon Provost) à Devoxx France 2022


RUBRIQUE DÉBUTANT


CONFÉRENCES

Source: Developers Conferences Agenda/List by Aurélie Vache et contributeurs


JUNE

 * 14: France API - Paris (France)
 * 15–18: VIVA Technology - Paris (France)
 * 17: Cloud Ouest 2022 - Nantes (FR) + Online
 * 21–22: Voxxed Days Luxembourg - Luxembourg
 * 23: ServerlessDays Paris - Paris (France)
 * 24: SoCraTes Rennes - Rennes (France)
 * 27–1: Hack in Paris - Paris (France)
 * 28: Dev nation Day France - Paris (France)
 * 29–1: BreizhCamp - Rennes (France)
 * 30–1: Sunny Tech - Montpellier (France)
 * 30–1: Agi’Lille 2022 - Lille (France)


SEPTEMBER

 * 9: JUG SummerCamp - La Rochelle (France)
 * 29: Cloud Nord - Lille (France)


OCTOBER

 * 4–6: Devoxx Morocco - Agadir (Morocco)
 * 6–7: Paris Web - Paris (France)
 * 10–14: Devoxx Belgium - Antwerp (Belgium)
 * 13–14: Volcamp 2022 - Clermont Ferrand (France)
 * 20–21: DevFest Nantes - Nantes (France)
 * 27–28: Agile Tour Bordeaux - Bordeaux (France)


NOVEMBER

 * 8–9: Open Source Experience - Paris (France)
 * 15–16: ParisTestConf - Online
 * 15–16: Agile Tour Toulouse - Toulouse (France)
 * 17: Codeurs en Seine - Rouen (France)
 * 18: Devfest Strasbourg - Strasbourg (France)
 * 19–20: Capitole du Libre - Toulouse (France)


DECEMBER

 * 1: Devops DDay #7 - Marseille (France)
 * 2: BDX I/O - Bordeaux (France)
 * 14–16: API Days Paris - Paris (France) & Online

Nom de la conf du x au y mois à Ville - CfP jusqu’à y mois
TODO: reprendre celles de l’épisode d’avant


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/

Direct download: LesCastCodeurs-Episode-280.mp3
Category:podcasts -- posted at: 10:21am CET

--------------------------------------------------------------------------------

Mon, 23 May 2022
LCC 279 - URL ceteris paribus sic stantibus

Guillaume et Emmanuel discutent de l’état des versions de Java utilisées, de
Java String template, et de beaucoup de failles de sécurité. On pourra presque
se renommer Les Cast Sécu ;P On y ressussite aussi la rubrique débutant et
discutons du piège de la classe URL.

Enregistré le 20 mai 2022

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


NEWS


LANGAGES

L’état de Java selon newrelic

 * Java 11 commence enfin à être utilisé plus que Java 8 en prod (48% vs 46%)
 * Dans les versions non LTS, c’est Java 14 qui a l’air d’avoir le plus de
   succès
 * non LTS en prod est 2,7%
 * Après Oracle, c’est la distrib de AWS qui est pas mal utilisée suivi par
   adoptium
 * Beaucoup d’utilisation de Java dans des containeurs (70%) avec 1 seul core,
   donc aussi moins de bénéfices dans l’utilisation de G1 pour le GC
 * Toujours dans les containeurs, les applis Java tournent souvent avec moins de
   512MB de RAM (45%)

String templates en Java

 * les string template c’est ce qui a fournit log4shell donc attention
 * Replace certains usages de stringbuilder , stringfromat et messageformat
 * Beaucoup de langages offrent ça (bash ahah)
 * Exemple d’usage html, json, yaml etc
 * Ils veulent permettre des règles de transformations et de validation (escape
   caractère)
 * Peut même éviter le,passage par l’étape du passeur
 * Objet template a le template et la policy
 * Embedded expressions: chaînes de caractères, arithmétique, invoque méthodes
   ou champs, pas besoin d’échapper les double guillemets.
 * Lignes multiples
 * Quid capture des variables locales sans l’avis du développeur. Pas d’exemple
   meta où le template est importé ou construit.

Un article détaillé sur ce qui est nouveau niveau GC dans Java 18


LIBRAIRIES

Quarkus 2.8 et 2.9

 * WebAuthN
 * Confluent Schema Registry
 * Kotlin Scala
 * RESTEasy Reactive est la couche par défaut
 * GraalVM 22
 * Elasticsearch Dev Services


OUTILLAGE

Un nouveau décompilateur avec du code plus lisible

 * Tous plus ou moins un fork de celui d’intellij maintenu par JetBrains, le
   fork d’avant est de Minecraft
 * Reconstruit des constructions de plus haut niveau et plus moderne.
 * Exemples


SÉCURITÉ

Une vulnérabilité dans struts 2

 * Un problème qui n’avait été que partiellement corrigé. Lié à OGNL’et une
   double évaluation via %{…} sur du contenu venant de l’utilisateur.

Le gros trou de sécu sur les signatures Java 15–18

 * attaque sur les approches ECDSA (elliptic curve digital signature algorithm),
   typiquement plus modernes cibles Java web start, Java applets, web services
   qui utilisent ECDSA (JWT, SAML, OIDC Id tokens, WebAuthN
 * version Oracle Java 7, 8, 11, 15, 16, 17, 18, OpenJDK 15, 17, 18 (backport
   Oracle)
 * Comme un psychic paper de dr who: peut signer numériquement un papier sans
   infos (paramètres de la courbe peuvent être à 0 ce qui permet de valider tous
   les messages (0)
 * L’interprétation pour un framework comme Quarkus

Spring4Shell avec risque de remote code execution (unfolding)

 * Mitigations: mettre a jour 5.x, mettre a jour tomcat (tactique),
   setDisallowedField pour excludes les accès aux getter/setter class, passer a
   Java 8
 * La RCE est basée sur la navigation non restreinte de class.module.classLoader
 * Spring MVC Early Announcement
 * Spring Cloud exploit announcement
 * Spring MVC Exploit Announcement
 * Spring4Shell HelpNetSecurity assessment
 * Spring4Shell Sonatype Assessment
 * Qualys assessment

Personal Security Checklist

 * Recense les bonnes pratiques en terme de sécurité numérique
 * Selon différents thèmes
 * Authentication
 * Browsing the Web
 * Email
 * Secure Messaging
 * Social Media
 * Networks
 * Mobile Phones
 * Personal Computers
 * Smart Home
 * Personal Finance
 * Human Aspect
 * Physical Security

Google offre aux clients Google Cloud des libairies validées en sécurité
Une équipe de maintenance Open Source chez Google


LOI, SOCIÉTÉ ET ORGANISATION

Apple va supprimer au téléchargements les applis non mises a jour depuis 3 ans
et peu téléchargées

 * ça a fait réagir et râler
 * Des applis finies
 * Mais surtout une résumassions c’est du taf (nouvelles règles, peut être mise
   à jour de framework)
 * Du cote de Apple c’est nettoyer un peu la longue queue d’applis
 * Et encourager les gens à rester au top (eg privacy infos)

Les duchesses ferment leur slack aux hommes

 * pas fait de gaité de cœur mais réaction aux événements
 * temps des Modérations plus passe sur les posts d’hommes que de femmes
 * Sensation de pas laisser la place aux femmes
 * Maladresses et manques de respect
 * Coupé dynamisme et la sécurité de parole
 * Et beaucoup d’hommes et du coup sentiment d’épier
 * Les duchess feront toujours des événements mixtes mais cet espace avait perdu
   son utilité première

Comment la guerre en Ukraine ébranle la tech russe

 * fragilisation
 * fuite des cerveaux (depuis 2014 et la crimée (cerveaux emprunts de plus de
   liberté) manque .5 à 1 millions de developpeurs
 * Karspersky et les doutes de ses clients (80% du chiffre d’affaire à
   l’étranger)
 * Yandex moteur de recherche protégé car marcher local mais démission du CEO
 * Default de paiement (endettement) e.g. VK 400 millions de dollars
 * Envisager de raid de disque dur pour consommation locale


OUTILS DE L’ÉPISODE

Faire le la configuration conditionnelle dans git

 * includeIf permet de faire la condition
 * Utile pour changer l’email entre bureau et perso par exemple.
 * [aheritier] je le fais souvent avec des repertoires différents pour boulot vs
   oss/perso


RUBRIQUE DÉBUTANT

La comparaison des URL

 * Les URLs sont égales si les IP sont égales
 * donc DNS lookup
 * donc pas constant pour la vie de l’instance de JVM
 * vive les hash des Set et Map :)


CONFÉRENCES

JavaDay au Paris JUG: Le futur de Java - le 22 juin 2022


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/

Direct download: LesCastCodeurs-Episode-279.mp3
Category:podcasts -- posted at: 10:24am CET

--------------------------------------------------------------------------------

Tue, 26 April 2022
LCC 278 - En direct de Devoxx France 2022

Les Cast Codeurs font la clôture de Devoxx France 2022 en 🪑 et en 🦴.

Enregistré le 22 avril 2022

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


INTERVIEW

La vidéo du direct Devoxx France qui est plus facile à suivre se trouve sur
YouTube.


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/

Direct download: LesCastCodeurs-Episode-278.mp3
Category:podcasts -- posted at: 9:47am CET

--------------------------------------------------------------------------------

Sat, 9 April 2022
LCC 277 - L'interview des 10 ans de cast codeurs à Devoxx par la chaîne Devoxx
France TV

Les Cast Codeurs passent au grill de Nicolas sur la chaîne TV Devoxx France.
Nicolas nous rappelle des moments des 10 ans de Devoxx + Les Cast Codeurs.

Enregistré le 17 mars 2022

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


NEWS

Version vidéo


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/

Direct download: LesCastCodeurs-Episode-277.mp3
Category:podcasts -- posted at: 2:51pm CET

--------------------------------------------------------------------------------

Mon, 28 March 2022
LCC 276 - Il a coulé mon data center !

<p>Emmanuel, Guillaume et Antonio se réunissent pour discuter des nouvelles de
ce début de printemps. On y parle retour de JavaOne, revue de pull request, de
developpement cloud natif, de SLO, et de log.</p>

<p>Enregistré le 25 mars 2022</p>

<p>Téléchargement de l&#8217;épisode <a
href="https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-276.mp3">LesCastCodeurs-Episode&#8211;276.mp3</a></p>

<h2 id="news">News</h2>

<h3 id="langages">Langages</h3>

<p><a
href="https://renato.athaydes.com/posts/java-system-logging.html">Remplacer vos
APIs de logging avec System.Logger</a></p>

<ul>
<li>Blog post rédigé suite à notre épisode 271 (où on avait cité
System.Logger)</li>
<li>Rapide histoire des APIs de log en Java</li>
<li>Présentation de l’API System.Logger</li>
<li>Formattage des messages basé sur java.text.MessageFormat</li>
<li>Utilisation possible des ResourceBundle</li>
<li>Niveaux TRACE, DEBUG, INFO, WARNING, ERROR (et non FINE, FINER, FINEST comme
JUL)</li>
<li>Le service System.LoggerFinder pour changer l’implémentation (JUG, Log4J,
Logback, &#8230;)</li>
<li>Etude de perf: Logback est plus performant, suivit de JUG puis Log4J2</li>
</ul>

<p><a href="https://jodd.org/">Une série de petites librairies Java légères</a>.
Librairies simples, avec chacune une tâche unique, dont :</p>

<ul>
<li>parsing JSON</li>
<li>parsing HTML / CSS</li>
<li>client HTTP</li>
<li>client mail</li>
<li>resolveur de noms de paramètres de méthode</li>
<li>des Properties améliorés</li>
<li>un depdenceny-injection léger</li>
</ul>

<p><a href="https://openjdk.java.net/projects/jdk/18/">Java 18 est dans la
place</a></p>

<ul>
<li>400: UTF&#8211;8 by Default</li>
<li>408: Simple Web Server</li>
<li>413: Code Snippets in Java API Documentation

<ul>
<li>un super <a
href="https://docs.oracle.com/en/java/javase/18/code-snippet/index.html">guide</a>
sur l&#8217;utilisation des nouveaux javadoc code snippets</li>
</ul></li>
<li>416: Reimplement Core Reflection with Method Handles</li>
<li>417: Vector API (Third Incubator)</li>
<li>418: Internet-Address Resolution SPI</li>
<li>419: Foreign Function &amp; Memory API (Second Incubator)</li>
<li>420: Pattern Matching for switch (Second Preview)</li>
<li>421: Deprecate Finalization for Removal</li>
</ul>

<h3 id="librairies">Librairies</h3>

<p><a
href="https://micronaut.io/2022/01/27/micronaut-framework-3-3-released/">Micronaut
3.3 sorti, avec des nouveautés</a> et <a
href="https://micronaut.io/2022/03/22/micronaut-framework-3-4-0-released/">Micronaut
3.4</a> aussi</p>

<ul>
<li><p>graalVM 22</p></li>
<li><p>binding par valeur d&#8217;annotations (CDI)</p></li>
<li><p>Serialization (remplace Jackson, plus leger en memoire, ne fait pas de
deserialisation arbitraire, pas de reflexion)</p></li>
<li><p>module email qui permet d&#8217;envoyer avec MailJet, Amazom simple email
service, SendGrid, Postmark</p></li>
<li><p>Operateurs Kubernetes</p></li>
<li><p>possibilité de référencer des beans properties dans @Requires</p></li>
<li><p>injection de localized message sources</p></li>
<li><p>nouveau module Micronaut Data MongoDB</p></li>
<li><p>support de Maven pour Micronaut AOT</p></li>
</ul>

<p><a
href="https://twitter.com/1ovthafew/status/1486818448055410690?s=21">Hibernate
6: certains points clés</a></p>

<ul>
<li>nouveau parseur HQL (langage plus riche)</li>
<li>API nettoyées (donc ca va peut etre demander des migrations)</li>
<li>DDL de meilleure qualité plus adaptée à la base de donnée cible</li>
<li>requetes de type rapport (filter, rollup, cube, et les window functions
arrivent bientot)</li>
<li>arythmetique sur les dates</li>
<li>index pour les colonnes (SQL plus compact et rapide)</li>
</ul>

<p><a href="https://quarkus.io/blog/stork-kubernetes-discovery/">Kubernetes
Service Discovery and Selection with Stork</a></p>

<p><a href="https://quarkus.io/blog/quarkus-2-7-0-final-released/">Quarkus
2.7</a> </p>

<ul>
<li>Stork 1.0</li>
<li>Quarkus CLI dans homebrew et SDKman</li>
<li>extension pour le driver Oracle Reactif</li>
<li>terminal interactif</li>
</ul>

<h3 id="infrastructure">Infrastructure</h3>

<p><a
href="https://www.iea.org/reports/data-centres-and-data-transmission-networks">L&#8217;énergie
utilisée dans les data centers est constante à 1 à 1,5% de l&#8217;énergie
mondiale d&#8217;après l&#8217;agence internationale de l&#8217;énergie</a> </p>

<ul>
<li>hors cryptocurrency</li>
<li>augmentation a continué mais les efforts d&#8217;economies d&#8217;énergie
ont compensé la croissance de la demande</li>
<li>hors production du materiel je crois</li>
<li>les alertes ont fait bougé les lignes</li>
<li>études source <a
href="https://datacenters.lbl.gov/sites/default/files/Masanet_et_al_Science_2020.full_.pdf">Masanet
et al - science</a> et une autre de Malmodin 2020 dans science aussi</li>
</ul>

<h3 id="cloud">Cloud</h3>

<p><a
href="https://www.cncf.io/wp-content/uploads/2021/12/Q1-2021-State-of-Cloud-Native-development-FINAL.pdf">Sondage
annuel “The State Of Cloud Native Development”</a></p>

<ul>
<li>Sondage créé par Slash Data et soutenu par la CNCF</li>
<li>Interrogent 19.000 développeurs sur : l’utilisation de Kubernetes, le Edge
Computing, le Cloud Native, Containers et Orchestrateur</li>
<li>Le nombre mondial de développeurs cloud native a augmenté au cours des 12
derniers mois de 0,3 million, pour atteindre 6,8 millions.</li>
<li>Dans le même temps, la proportion de développeurs backend impliqués dans les
technologies cloud native a diminué de 3 points de pourcentage, passant de 44 %
à 41 %.</li>
<li>Dans toutes les régions, l’Amérique du Nord (47 %) et l’Europe occidentale
(46 %) affichent les taux d’adoption les plus élevés.</li>
<li>Kubernetes est utilisé par 31% de tous les développeurs backend, ce qui
représente une augmentation de 4 points de pourcentage au cours des 12 derniers
mois. Actuellement, 5,6 millions de développeurs utilisent Kubernetes.</li>
<li>Dans tous les secteurs, le Edge Computing a connu une croissance rapide de
l’adoption de Kubernetes et présente désormais les taux d’utilisation les plus
élevés des conteneurs et de Kubernetes.</li>
<li>Parmi les développeurs spécialisés dans le Edge Computing, l’utilisation de
Kubernetes a augmenté de 11 points au cours des 12 derniers mois, pour atteindre
63 %.</li>
<li>L’architecture Serverless est également attrayante pour les développeurs
Edge Computing : 48 % de tous les développeurs edge utilisent serverless, contre
seulement 33 % de tous les développeurs backend.</li>
<li>Parmi les outils serverless, AWS Lambda continue de jouer un rôle
prépondérant. Cependant, Google Cloud Run a considérablement gagné du terrain au
cours des 12 derniers mois.</li>
</ul>

<p><a href="https://queue.acm.org/detail.cfm?id=3096459">SLO et dependences de
service</a></p>

<ul>
<li>99,99 en cible interne, au dessus, il y a tant de variables entre
l&#8217;utilisateur et le service que c&#8217;est perdu dans le bruit (wifi, ISP
etc)</li>
<li>99,999 pour les infra globales</li>
<li>disponibilité est fonction du MTTF et MTBR = MTTF/(MTTF+MTTR)</li>
<li>si on veut offrir 99,99, toutes les dependances critiques doivent offrir
beaucoup plus, regle du 9 supplementaire</li>
<li>sinon il faut des mitigation, cache, fail open etc</li>
<li>dispo depend du temps de detection et du temps de recuperation</li>
<li>donc forcer les clients (services dependants) à baisser leur niuveau ou
engineerer pour compenser le bas niveau du service dont on est dependant</li>
<li>faire des scenarios (e.g. 1 outage majeur, 3 faibles - e.g. un shard, 5 de
dependances)</li>
<li>considerer que la perte d&#8217;un shard du service veut dire SLO is 1/nieme
indisponible (n étant le numbre de shards)</li>
<li>donc il reste peut de temps pour reagir quand on compte temps de detection,
temps de paging, etc.</li>
<li>error budget: 1-SLO, sur un mois et peut etre une fenetre glissante pour
remonter graduellement. si budget depensé, on ne fait plus de mise en prod sauf
critical security issues ou si c&#8217;est pour corriger les causes du probleme
qui a consommé le budget</li>
<li>rendre le plus de dependances non critiques (par exemple en éliminant les
SPOF)</li>
<li>faire revue d&#8217;architecture pour identifier ces dependances et leurs
impacts</li>
<li>appels a trois pools de serveurs indpendants et prendre le premier
resultat</li>
<li>dependences asynchrones peut reduire le nombre de dependancs critiques</li>
<li>retours arriere rapide et automatisés: en enlevant un humaind e la boucle,
on racourcit les temps de réponse</li>
<li>et bien d&#8217;autres choses encore</li>
</ul>

<h3 id="architecture">Architecture</h3>

<p><a
href="https://medium.com/everything-full-stack/design-patterns-and-principles-that-support-large-scale-systems-f3c9adf89ad">Les
design patterns pour les systèmes distribués et donc les microservices</a></p>

<ul>
<li>survol et définitions des patterns qu&#8217;il faut connaître dans les
microservices</li>
<li>Pas trop dans le détail donc bon survol</li>
<li>Idempotence, asynchronicite, helathcheck, feature flag, fallback</li>
<li>Bulkhead: compartementalisation</li>
<li>Metrics, monitoring, alarmes</li>
<li>Rate limiting, backpressure, etc</li>
</ul>

<h3 id="mthodologies">Méthodologies</h3>

<p><a href="https://www.morling.dev/blog/the-code-review-pyramid">La pyramide
des fondamentaux dans la revue de code</a></p>

<ul>
<li>codifie les points sur lesquels se concentrer sur la revue de code et ceux
avec une priorité plus basse</li>
<li>automatiser les points bas comment le style de code pour eviter de perdre du
temps et de la frustration humaine</li>
</ul>

<h3 id="scurit">Sécurité</h3>

<p><a
href="https://github.blog/changelog/2022-03-15-removed-unencrypted-git-protocol-and-certain-ssh-keys/">Removed
unencrypted Git protocol and certain SSH keys</a></p>

<ul>
<li>nettoyage de printemps</li>
<li>plus de <code>git:</code> qui est non sécurisé</li>
<li>plus ne nouvelles clés RSA SHA1</li>
<li>plus de DSA</li>
<li>de nouvelles courbes elliptiques</li>
</ul>

<p><a
href="https://threatpost.com/samsung-shattered-encryption-on-100m-phones/178606/">Samsung
utilise incorrectement la crypto rendant son enclave sécurisée, pas
sécurisée</a></p>

<ul>
<li>l&#8217;article n&#8217;a pas les details techniques</li>
<li>100 m de telephones</li>
<li>la meme clée était reutilisée (et pas encapsulée</li>
<li>le vecteur d&#8217;initialisation pouvait être configuré et reutilisé à
valeur unique</li>
<li>n&#8217;importe quelle application pouvait essayer d&#8217;acceder aux
secrets de l&#8217;enclave en essayant les conbos parce que l&#8217;application
avait accès à ces paramêtres</li>
<li>quand on reutilise les vacteurs d&#8217;initialisation, on peut faire un
1&#8211;1 entre le message clair et chiffré, ce qui permet de revenir a message
clair si on produit le meme message cripté.</li>
<li>https://knowledge-base.secureflag.com/vulnerabilities/broken_cryptography/reused_iv_key_pair_vulnerability.html</li>
</ul>

<h3 id="loisocitetorganisation">Loi, société et organisation</h3>

<p><a
href="https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/">Alert:
peacenotwar module sabotages npm developers in the node-ipc package to protest
the invasion of Ukraine</a></p>

<p><a
href="https://www.numerama.com/cyberguerre/813825-un-developpeur-sabote-son-projet-open-source-et-paralyse-des-milliers-dapplications.html#utm_medium=e-mail&amp;utm_source=newsletter_hebdo&amp;utm_campaign=20220115_global">Un
développeur sabote son projet open source et paralyse des milliers
d&#8217;applications</a></p>

<p><a href="https://news.ycombinator.com/item?id=30135264">Violation de RGPD par
utilisation de Google fonts</a></p>

<p><a
href="https://www.politico.eu/article/french-privacy-regulator-rules-against-use-of-google-analytics">French
privacy regulator rules against use of Google Analytics</a></p>

<ul>
<li><a
href="https://www.cnil.fr/fr/utilisation-de-google-analytics-et-transferts-de-donnees-vers-les-etats-unis-la-cnil-met-en-demeure">L&#8217;article
de la CNIL</a></li>
</ul>

<p><a
href="https://www.redhat.com/en/blog/red-hats-response-war-ukraine">VMWare, Red
Hat et d&#8217;autres s&#8217;ajoutent aux sanction contre le gouvernement Russe
en arretant la vente et les services pour les entités Russes et
Belarusse</a></p>

<p><a
href="https://venturebeat.com/2022/01/27/sonatype-which-secures-the-use-of-open-source-software-lays-groundwork-for-ipo">Une
Entrée en bourse pour Sonatype</a></p>

<h2 id="confrences">Conférences</h2>

<p><a href="https://blogs.oracle.com/java/post/javaone-is-back">JavaOne à Las
Vegas du 16 au 20 octobre 2022</a> </p>

<ul>
<li>Java language &amp; platform, cloud-native development, database,
microservices, DevOps, artificial intelligence &amp; machine learning, security
&amp; application management, and more.</li>
</ul>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br/>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a><br/>
Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a><br/>
sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a><br/>
ou sur le site web <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a>
</p>

Direct download: LesCastCodeurs-Episode-276.mp3
Category:podcasts -- posted at: 9:13am CET

--------------------------------------------------------------------------------

Mon, 21 March 2022
LCC 275 - Interview sur le darwinisme numérique avec Didier Girard - partie 3

Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard
sur les réflexions de Didier autour du darwinisme numérique. Cette troisième et
dernière partie nous emmène sur les chemins des choix organisationnels que ces
natifs du numérique à succès emploient.

Enregistré le 17 février 2022

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


INTERVIEW


TA VIE TON OEUVRE

Twitter
SFEIR
Envision


MODELE ORGANISATIONNEL

Sociocratie
Holacratie

Deck Netflix


L’INDIVIDU


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/

Direct download: LesCastCodeurs-Episode-275.mp3
Category:podcasts -- posted at: 1:28pm CET

--------------------------------------------------------------------------------

Mon, 7 March 2022
LCC 274 - Interview le darwinisme numérique avec Didier Girard - partie 2

Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard
sur les réflexions de Didier autour du darwinisme numérique. Cette deuxième
partie se concentre sur ce que veut dire le darwinisme numérique pour les
entreprises et analyse les entreprises qui ont embrassé ses nouvelles
contraintes ces vingt dernières années. En particulier, nous discutons de leur
capacité d’adaptation comme principe fondamental et en filigrane de l’impact sur
l’individu. On y invente aussi la notion d’équipe raclette.

Comme souvent l’actualité nous a rattrapé. Cette interview a été enregistré
quelques jours avant l’invasion de l’Ukraine par la Russie ce qui donne une
couleur plus intense à la partie 1 de cette interview.

Enregistré le 17 février 2022

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


INTERVIEW


TA VIE TON OEUVRE

Twitter
SFEIR
Envision


L’ENTREPRISE

Tech
System organisationel
Génération surdiplômée - les 20% qui transforment la France
Les BATX


L’INDIVIDU


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/

Direct download: LesCastCodeurs-Episode-274.mp3
Category:podcasts -- posted at: 9:54am CET

--------------------------------------------------------------------------------

Thu, 24 February 2022
LCC 273 - Interview sur le darwinisme numérique avec Didier Girard - partie 1

Cet épisode est un échange entre Guillaume, Antonio, Emmanuel et Didier Girard
sur les réflexions de Didier autour du darwinisme numérique. Cette première
partie discute des axiomes de ce concept et de ses impacts sur les nations. On y
échange sur la souveraineté et l’indépendance notamment.

Enregistré le 17 février 2022

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


INTERVIEW


TA VIE TON OEUVRE

Twitter
SFEIR
Envision


LE DARWINISME NUMÉRIQUE


LA NATION

Souveraineté et indépendance sur les ressources critiques


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/

Direct download: LesCastCodeurs-Episode-273.mp3
Category:podcasts -- posted at: 1:10pm CET

--------------------------------------------------------------------------------

Sat, 12 February 2022
LCC 272 - Interview sur Log4Shell avec this

Emmanuel et Arnaud reviennent sur la fameuse faille #log4shell qui a fait
travailler beaucoup d’équipes Java en décembre et janvier.

Enregistré le 11 février 2022

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


INTERVIEW


QUELLE EST CETTE VULNÉRABILITÉ ET POURQUOI EST-ELLE SI DANGEREUSE ?

CVE–2021–44228

Reportée chez Apache le 24 Novembre, Enregistrée en CVE le 26 Nov Probablement
connue depuis au moins Mars 2021: https://github.com/nice0e3/log4j_POC

 * fix 2.15.0 le 10 décembre
 * Apache Log4j2 JNDI features do not protect against attacker controlled LDAP
   and other JNDI related endpoints.
 * Severity CVSS de 10 sur 10
   * jamais vu
 * Back to basics: C’est quoi JNDI?
 * the JNDI features used in configurations, log messages, and parameters do not
   protect against attacker-controlled LDAP and other JNDI related endpoints
 * l’attaquant trouve une donnée utilisateur qui est loggée
   * Pas que HTTP
 * et injecte {JNDI:ldap pointant vers un ldap malicieux qui retour du code java
   sérialisé
 * log4j deserialise et execute ce que l’on veut
 * que log4j2-core pas api
 * détail de Lunasec log4j zero day
   * mitigations initiales

CVE–2021–45046

 * 2.16.0 (change des fonctionalités) le 13 décembre
 * Apache Log4j2 Thread Context Lookup Pattern vulnerable to remote code
   execution in certain non-default configurations
 * When the logging configuration uses a non-default Pattern Layout with a
   Context Lookup
   * $${ctx:loginId})
 * attackers with control over Thread Context Map (MDC / Mapped Diagnostic
   Context) input data can craft malicious input data using a JNDI Lookup
   pattern
 * donc on peut injected une chaine JNDI encore
 * mais on doit savoir comment de la date utilisateur on peut pousser dans une
   Thread Context Map référencée par la config
 * on alors l’attaquant a accès à la config et c’est game over
 * Initialement on parlait de denial of services
   * via une reference infinie probablement
 * c’est une chemin qui n’était pas protégé des interpolations de messages et
   donc de l’accès JNDI

CVE–2021–45105

 * fix dans 2.17.0 le 18 décembre
 * recursion non controlée dans un lookup auto référentiel
 * When the logging configuration uses a non-default Pattern Layout with a
   Context Lookup (for example, $${ctx:loginId}
 * Besoin de l’attaquant control de Thread Context Map (peut etre une donnée
   injectée par un framework d’une entrée utilisateur
 * changer la config log4j locale?

CVE–2021–44832

 * 2.17.1 le 27 décembre
 * Apache Log4j2 vulnerable to RCE via JDBC Appender when attacker controls
   configuration
 * malicious configuration using a JDBC Appender with a data source referencing
   a JNDI URI which can execute remote code.
 * attaquant accede et modifie la config
   * pas simple
   * sauf si la plateforme permet la reconfiguration par un utilisateur???
 * log

Google package analysis

 * montre 8% de packages sur central affectés par log4j 2
 * niveau de dépendance transitive monte jusqu’à 9
   * du coup il y a neuf vendeurs qui doivent corriger leurs dépendances

Toujours plus de 40% de téléchargement sur Maven central des versions impactées

Log4j1 n’est pas en reste:

 * JMSAppender
   * JMS dit JNDI et paf on recommence
 * JDBCAppender
   * SQL injection FTW
 * log4j1 n’est plus maintenue ah merde!
   * Apache Kafka

Reload4j de ceki

 * 1.2.17 compatible
 * voir les fixes


DES EXPLOITATIONS ?

Peu au final Car chaque usage de log4j est unique Entrée quoi est loggé etc Donc
trop dur pour les script kiddies

Mais dans les megasploits et autres toolkits d’attaque

VMware vSphere et Hoirizon Ubiquity Solarwind etc


QUEL PROCESS SUIVRE

 * verifier la véracité de la CVE et comprendre ses vecteurs d’attaque

 * identifier ses dépendances et donc ses soft impacté

 * identifier les éléments fournis par l’utilisateur qui sont loggés

 * définir le risque par software et par service

 * appliquer le patch de sécurité et reconstruire le package

 * déployer ou livrer chez les clients

 * répéter pour les semaines à venir

 * shading? :)


IMPACT DE L’INDUSTRIE DANS LE FUTUR

La chine a tapé sur les doigts Alibaba qui n’a pas donné cette faille d’abord au
gouvernement chinois

The Gift of It’s Your Problem Now

 * Discussion sur le paiement et l’open source
   * Pour un individuel l’open source est un cadeau, et donner de l’argent
     n’améliore pas le cadeau
   * Injecter de la compensation financière dans un cadeau casse le cadeau et ne
     change pas la motivation (ou la casse)
   * Pour une société, l’open source est un moyen de récupérer du feedback et du
     marketing, donc c’est une transaction et pas un cadeau
 * Un autre article similaire burden open source maintainer

colors faker

 * mainteneur rajoute une boucle infinie dans un package modems très utilisé
 * en protestation de non contribution (financière)
 * 20 millions de téléchargements par semaine
 * GitHub a bloqué son compte et nom a remis une ancienne version
 * un peu de temps avant il s’est fait copié son idée de faker.js as a service

Reflection on log4shell par diabolical developer

 * marathon pas un sprint, on fatigue après 5 ou 6 jours a fond, donc faites des
   rotations
 * comm sur le réseau, que regarder : Adding encryption, Auth/Auth, I sanitize
   data that goes over the wire, I sanitize input that could execute, DOS
   protection – backoff strategies and more.
 * supply chain sécurisation and component governance
 * OSS funding (hum?)


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/

Direct download: LesCastCodeurs-Episode-272.mp3
Category:podcasts -- posted at: 5:40pm CET

--------------------------------------------------------------------------------

Mon, 17 January 2022
LCC 271 - UPX version Spinal Tap

Antonio, Guillaume et Emmanuel discutent 11, le 42 du rockeur, Quarkus, Java 17,
limites de Kubernetes, #Y2k22, web3, Maven, Log4J, et et et cloud souverain.

Enregistré le 14 janvier 2022

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


NEWS


LANGAGES

Quoi de neuf dans Java 18 de Loïc Mathieu

 * Feature complete (mais encore des bugs)
 * UTF–8 par défaut
 * exemples de code dans la javadoc avec @snippet y compris des references a des
   fichiers extérieurs
 * Simple Web Server pour des resources statiques (comme d’autres platformes
   comme Ruby ou Python je crois. En code ou via la commande jwebserver
 * le mécanisme de finalisation proposé à la suppression --finalization=disabled
   pour tester. Celui-là il ne nous manquera pas
 * ré-implementation de la réflection avec les MethodHandle

Le calendrier de l’Avent Java 2021 a plein d’articles très intéressants

 * pas tous révolutionnaires, mais c’est sympa
 * RXJava vs Kotlin Coroutines
 * Analyser votre repo Git en Java avec jgit

Cinq choses que vous ne saviez pas sur la concurrence en Java

 * l’ordre du programme et l’ordre d’exécution n’est pas le même, mais il est
   sémantiquement similaire
 * le nombre de threads dans une JVM est limité (dépend de la machine)
 * plus de threads ne veut pas dire plus de perfs


LIBRAIRIES

Quarkus 2.5 et 2.6 sont sortis:

 * API programmatique pour interagir avec le cache
 * Kotlin 1.6
 * Java 17 par défaut pour les nouveaux projets générés
 * des extensions ont bougé du core vers le quarkiverse hub, peut-être quelques
   impacts de migration
 * images container plus petites en natif et compression UPX possible
   * plus petit sur disque mais plus gros en memoire (pour la décompression)
   * quarkus.native.compression.level de 1 à 10 dans le fichier de config
 * dev service pour Oracvle DB

Utiliser Neo4J pour analyser le chemin de code et pourquoi un bout de code est
inclus en natif

 * super utile pour les compilations natives
 * quarkus.native.enable-reports pour avoir le rapport exploitable par neo4j

SmallRye Stork

 * service discovery et client side load balancing
 * support pour Consul, Eureka, and Kubernetes
 * extensible notamment pour le load balancing
 * intégration avec Quarkus REST Client et gRPC
 * dans la config stork://hello-service


INFRASTRUCTURE

Pourquoi et comment de la taille des containers Kubernetes

 * quand on ne partage pas, inefficient mais sécurisé
 * Avec des VM, on peut overcommitter des resources sur l’hyperviseur mais
   risque sur mésentente
 * Ne remplace pas le capacity planning
 * Containers définissent des filtrages plus fins et tuent les process qui
   dépassent
 * Discussion cpu_share (proportion en balance), cpu quota, cpu period pour
   définir les limites basses et hautes
 * mais si ça reste statique par host c’est pas très pratique
 * Orchestration de container via Kubernetes (request = min, limit = max)
 * Kube donne au minimum request mais peut donner plus si le noeud n’est pas
   occupé à 100%
 * Attention, la partie libre n’est pas distribuée équitablement mais en
   proportion du ratio de request demandé vs les autres. Donc les containers
   avec des grosses request sont privilégiés. Donc mettre limit est important
 * Donc jouer le jeu request et monitored pour ajuster à la baisse si
   nécessaire. Tous les workloads doivent jouer le jeu.
 * Kubernetes QoS (best effort , burstable et guaranteed) utilisé lorsque on
   tourne bas en mémoire (pas en cpu !)
 * Discussion de la sélection du noeud (selector, affinity, taints and
   tolerations ou isolation/ restriction) pour isoler des qualités de service ou
   prédictabilité, pour la sécurité etc )
 * besoins mémoire : si utilisation max, pod killed. Besoins CPU : si
   utilisation max, on est throttled -> slow
 * Mettre mémoire request = limit sauf si le process peut rendre de la mémoire
   (pas fait avant java 11)
 * CPU request = limit si la prédictabilité de l’application est très important.
 * Etudier conso CPU de l’appli en percentile et targeted par exemple une
   garantie à 99% ou 90 ou moins si pas sensible
 * Article ne parle pas du scale out

Exchange 2016 et 2019 souffrent du bug de l’an 2022 Y2K22

 * Après Matrix et son opus Resurection, Microsoft relance le bug de l’an 2000,
   22 ans après, Y2k22
 * dans Exchange server 2016 et 2019 et d’autres systems non microsoft
 * pour Exchange c’est du au systeme de scan d’antivirus qui ne reconnaissait
   pas les dates des signatures de virus 22010100001 parce que le software
   stocke les dates dans un entier signé 2^31-1=2147483647 et la date est
   stockée sur les deux premiers chiffres.
 * le workaround initial est assez marrant, le software considère qu’on est le
   33 décembre 2021 2112330001


WEB

Moxy de Signal (ex) discute web3

 * web1 était décentralisé, web2 est riche mais centralisé, web3 sera riche et
   décentralisé
 * problème: les gens n’aiment pas faire tourner leurs propres serveurs et ne
   l’aimeront jamais
 * même les entreprises ne font plus tourner leurs serveurs
 * un protocole (standard) bouge beaucoup plus lentement qu’une plateforme
   * exemple Spring, exemple Quarkus vs Microprofile ou Jakarka EE
 * puis discute blockchain et NFT
 * l’état et la logique / les permissions pour mettre a jour sont décentralisées
   mais pas l’interface avec l’utilisateur
 * blockchain est une confiance entre serveurs plus qu’entre clients
 * avec le mobile, les clients ne peuvent pas acter en tant que server (voir
   Bitcoin)
 * donc des gens vendent des accès centralisés aux noeuds de la blockchain
 * et les clients de ses APIs ont une confiance implicite (et pas par le
   système)
 * et centralisation des accès et donc mining de ces informations
 * NFTs stockent l’URL de l’objet (sans hash) donc pas sécurisé sans parler du
   rachat de domaine
 * il a fait un NFT qui se change en émoji caca pour celui qui l’a acheté
 * et il s’est fait virer son NFT ET sa preuve de possession
 * mais c’est une blockchain ???
 * sauf que le wallet passe par des fournisseurs centralisés
 * pour faire web3, les gens se concentrent autour de plateformes, un
   comportement tres web2
 * donc la blockchain et NFT ont du succès pas parce que c’est distribué mais
   parce que c’est un gold rush
 * la dynamique rend les projets web3 successful mais fondamentalement les mêmes
   dynamiques vont les centraliser
 * propositions
   * accepter que les gens ne font pas tourner leur serveurs et utiliser la
     crypto pour distribuer la confiance


OUTILLAGE

Maven 3 à 5 une explication

 * le POM est figé parce c’est ce que publie maven central, donc maven 3 ne fera
   que des améliorations mineures
 * Maven 5 la proposition: avoir un POM de build (v5) et produire un POM de
   consommation en v4, comme les autres systèmes de builds font
 * Maven 4 va faire la meme séparation mais en faisant un POM v4 build to PO)M
   v4 consumer conversion en étape intermédiaire
 * maven 4 alpha 1 se rapproche, il attend juste des contributions de @aheritier
 * blog de Hervé Boutemy
 * Maven Wrapper (ex takari) est désormais un projet officiel apache maven :
   https://maven.apache.org/wrapper/maven-wrapper-plugin/
 * idem pour Maven Daemon https://github.com/apache/maven-mvnd
 * Le maven Build Cache arrive :
   https://github.com/apache/maven-build-cache-extension


SÉCURITÉ

Comme prévu, la saga log4j continue avec Log4j 2.17 et 2.17.1

 * avec l’augmentation de la visibilité, plus de problèmes vont être trouvés
 * Log4J 2.17 corrige un appel récursif infini exploitable en déni de service.
   Besoin d’avoir un pattern non standard dans la config (utilisant les context
   lookup) et un accès au Thread Context Map par l’attaquant (5.9)
   https://logging.apache.org/log4j/2.x/security.html#CVE-2021-45105
 * Log4J 2.17.1 fixe un abus du JDBCAppender qui peut référencer une URL JNDI et
   executer du code a distance mais l’attaquant doit pouvoir modifier la
   configuration de log4j (6.6)
   https://logging.apache.org/log4j/2.x/security.html#CVE-2021-44832
 * doit-on quitter le navire ? équilibre entre fonctionnalités et sécurité
 * on fera un épisode spécial log4Shell bientôt

H2 vulnérable à une attaque JNDI

 * fondamentalement comme log4shell
 * Mais exploitable pour ceux qui passent une url ou un login mot de passe via
   des infos utilisateur
 * Par exemple h2 console
 * Mais localhost par défaut
 * Sauf dans jhipster


LOI, SOCIÉTÉ ET ORGANISATION

Tribune de Didier Girard sur le cloud souverain

 * investissement de 1,8 milliards sur 4 ans dans le cloud français sur 4 ans.
   C’est moins que chaque grand cloud provider par an
 * consortiums européens mais mauvaise histoire CloudWatt, Gaia-x et ses
   problèmes de gouvernance
 * initiative Soutenu par la dépense publique
 * Cloud de confiance est un moyen pour Didier du transfert technologique et de
   casser l’asymétrie de compétence et d’investissement
 * Ça répond pas aux problèmes clés levés par Quentin dans l’interview

La Maison Blanche demande à Oracle et Microsoft de réfléchir à la sécurisation
des logiciels libres


OUTILS DE L’ÉPISODE

Rambox

 * en general je préfère les applis natives pour chaque service
 * Mais avec les messageries instantanées c’est la chianlie
 * Et il y a les apps qui sont des tabs dans le navigateur (Trello, Gmail,
   calendar etc)
 * Là tout est centralisé dans une seule app (notifications etc)
 * C’est comme un mini browser dédié avec des sites webs fixes
 * Et contre toute attente j’aime bien
 * Version gratuite et version pro.
 * Encore des limitations (vue de deux apps en parallèle) mais ils travaillent à
   une nouvelle version


CONFÉRENCES

Sunny Tech à Montpellier le 30 juin et 1er juillet — CfP ouvert jusqu’au 28
février


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/

Direct download: LesCastCodeurs-Episode-271.mp3
Category:podcasts -- posted at: 9:59am CET

--------------------------------------------------------------------------------

Mon, 3 January 2022
LCC 270 - Interview de Nicolas De Loof sur Docker Compose

Nicolas De Loof rejoint Emmanuel et Antonio pour discuter de Docker Compose.

Enregistré le 17 décembre 2021

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


INTERVIEW


TA VIE TON OEUVRE

Nicolas De Loof


INTRODUCTION À LA TECHNO

Docker en 1 minute
Docker compose d’où vient l’idée et le besoin


LA TECHNO EN CONCEPTS

Un container c’est quoi ?
Ça tourne comment ?

Du coup, on veut en faire tourner plusieurs
Comment on les “lie”?
Network
autre chose?

Mais c’est pas le job de Kubernetes?

 * deploy
 * scaling
 * rollback

La spécification

Discussion sur les notions:

 * service
 * build
 * label
 * network
 * sécurité (cap_add)

docker-compose vs docker compose


COMMENT ON L’UTILISE EN PRATIQUE POUR UN DEV

Comment je définie mon multi container
Lien vers des dockerfiles?
Echange d’infos (e.g. DB connection ou mot de passe entre DB et l’appli)
Ma DB doit démarrer avant mon app
Ca fait les health check?

Je commite ce fichier où typoiquement ? comment je partage avec mon équipe ? Et
ma CI ?

Comment je mets en prod ? Je mets en prod hein, ça marche sur ma machine.

v2 vs v3


SOUS LE CAPOT

Et donc comment ça marche docker compose?
Zoom sur le network

La sécurité


LA COMMUNAUTÉ, LE FUTUR

Roadmap
Docker desktop payant


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/

Direct download: LesCastCodeurs-Episode-270.mp3
Category:podcasts -- posted at: 9:46am CET

--------------------------------------------------------------------------------

Thu, 23 December 2021
LCC 269 - Log4J devient Turing-complet

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 <2.15 de Log4J2
 * 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/

Direct download: LesCastCodeurs-Episode-269.mp3
Category:podcasts -- posted at: 11:38am CET

--------------------------------------------------------------------------------

Wed, 1 December 2021
LCC 268 - Interview sur GraalVM avec Gilles Duboscq - partie 2

Gilles Duboscq de OracleLabs discute des multiples facettes du projet GraalVM
avec Emmanuel. La partie 2 nous emène vers GraalVM Native image, comment
utiliser GraalVM en pratique en fonction des différents usages discutés, les
versions, la communauté, comment c’est fait sous le capot et plein d’autres
choses encore. Si vous n’avez pas écouter la partie 1, je vous encourage à le
faire.

Enregistré le 16 septembre 2021

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


INTERVIEW


TA VIE, TON ŒUVRE

Twitter de Gilles


LES CONCEPTS CLÉS

La plupart des concepts sont couverts dans la partie 1. La partie 2 fini sur la
compilation native avant de passer à la suite.

Native:

 * comment ca fonctionne
 * Un JIT?
 * quel GC
 * Quels avantages
 * Quels inconvénients?

Donc GraalVM c’est une JVM, quelles parties sont reprises de OpenJDK?


COMMENT ON L’UTILISE EN PRATIQUE

Je veux utiliser GraalVM pour mon code nodeJS, je fais comment?
Je veux utiliser GraalVM comme ma JVM de mon appli Java, je fais comment?

Je veux faire du native, comment je fais?
* concrètement, je dois faire gaffe a quoi?

GraalVM Community vs Enterprise, quelles sont les différences ?


SOUS LE CAPOT

Comment on implémente un nouveau langage sur GraalVM?

Comment on implémente Java sur Java
C’est dur de supporter des nouveaux langages avec leur sémantique et leurs types
!= de la JVM

Comment l’interprétation de langages s’optimise

Comment les optimisations sont construites?
Des trucs cools à raconter sur les optimisations?

C’est un chemin de combien d’années?

WASM vs GraalVM, comment vous voyez la “standardisation de la VM” derrière WASM?


LA COMMUNAUTÉ ET LE FUTUR

Quelle license?
C’est juste Oracle?
Pourquoi c’est pas dans OpenJDK?
Comment la commmunauté code ensemble?

Des idées sur là où vous voulez aller?


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/

Direct download: LesCastCodeurs-Episode-268.mp3
Category:podcasts -- posted at: 1:51pm CET

--------------------------------------------------------------------------------

Mon, 15 November 2021
LCC 267 - Lagom efface sa dette technique

Antonio et Emmanuel discutent Microsoft et Java, cryostat, Java 17, Micronaut,
Quarkus, Play framework, Lagom, Amazon, CORS, CSS (si si), Hibernate Reactive,
AtomicJar, canary, amplification algorithmique.

Enregistré le 12 novembre 2021

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


NEWS


LANGAGES

Blog sur les extraits de code dans les JavaDocs (18 Oct 2021)

 * C’est plus agréable à utiliser que les balises pre, pas besoin d’escaping
   (pour < et >), l’espace à gauche est normalisé
 * On peut mettre en valeur certaines portion, ou remplacer par une expression
   régulière certains bouts
 * Et on peut également externaliser d’où vient l’extrait de code, au lieu de le
   mettre dans la JavaDoc, on peut référencer une région de son vrai code.
 * Donc au moins, on est sûr que c’est du code valide et qui compile évidemment
 * Gunnar explique comment reprendre le code provenant de nos classes de test,
   pour le faire apparaître dans les JavaDocs, créant ainsi une vraie
   documentation “exécutable”

Compress class space (27 Mars 2019)

 * compressed object ou class pointer sur 64buts en 32 bits vis adresse relative
 * due adresse relative, la Klass structure dans le metaspace doit être mémoire
   contiguë et pré allouée initialement (risque de non reallocation si mémoire
   libre non contiguë )
 * Donc le classpart et le non class part séparés dans le meta space. Klass is
   32G max et contiguë et la klass part est appelé compressed class space
 * Par défaut 1G mais configurable jusqu’à 3G. C’est virtual mémoire, juste une
   réservation.
 * 1K pas classe environ donc 1000000 de classes max
 * Que quand on utilise compressed oops
 * Que pour Java heap size de 32G max

Cryostat 2.0 (18 Oct 2021)

 * Fournit une API sécurisée pour profiler et monitored les applis Java dans les
   containers avec Java Flight Recorder
 * Cryostat peut récupérer stoquer et analyser les enregistrements flight
   recorder de containers
 * Ensuite consommé par graphana ou l.appli JDK Mission Control desktop
 * Fichier reste local au container par défaut donc pas pratique
 * Connection via JMX directe pas pratique ni secure par défaut
 * Cryostat récupère les recording via HTTPS
 * A un opérateur kubernetes
 * Etc

Microsoft augmente ses investissements dans Java. (4 Nov 2021)

 * Microsoft rejoints le JCP
 * Travaille sur VSCode for Java avec Red Hat
 * Est OK avec le LTS passant à 2 ans et va aider à supporter ces releases plus
   fréquentes


LIBRAIRIES

Micronaut 3.1 (11 Oct 2021)

 * support d’applications utilisant JDK 17
 * améliorations d’injections de dependances (repeatable scopes, primitive
   beans, etc)
 * les classes générées sont plus petites et amélioration de consommation
   mémoire sous GraalVM
 * routes HTTP par regexp
 * random port binding (pour les conflits de tests)
 * Changement certificats TLs via refresh sans arreter le serveur
 * Kotlin coroutine supportées dans micronaut data
 * extension de la couverture de support JPA (e.g. attribute converter)
 * support des informers Kubernetes via le Kubernetes SDK
 * integration Oracle Coherence sortie du mode preview

Quarkus 2.4 (27 Oct 2021)

 * Hibernate Reactive 1.0.0.Final
 * Introducing Kafka Streams DevUI (c’est cool pour développer ca et savoir ce
   qui se passe
 * Support continuous testing for multi module projects
 * Support AWT image resize via new AWT extension

Lightbend lâche Play Framework (20 Oct 2021)

 * lightbend construit sur Scala, akka, et play framework
 * C’est le moment de la 2.0 je crois
 * Mais avec le cloud, ils veulent se focaliser sur les systèmes distribués
 * Akka Open Source et Akka Serverless (leur PaaS)
 * Laisse Play à la,communité et lightbend arrête d’investir dedans
 * Dans une orga séparée
 * Besoin de sponsors et de contributeurs
 * Question: ils n’avaient pas déjà arrêté Scala?

Lightbend déveste de Lagom aussi (27 Oct 2021)

 * Lagom effacé par akka Platform’et Akka Serverless
 * Trop de contraintes limitantes dans le framework
 * Mais si client de Lightbend, supporté sur Lagom mais sans nouvelle
   fonctionnalité


INFRASTRUCTURE

Installer et utiliser podman-machine sur macOS (19 Oct 2021)

 * La virtualisation s’appuie sur qemu et met en place une VM dans laquelle les
   pods tournent.
 * Podman Machine pour installer une VM linux avec les outils
 * fonctionne aussi sous linux pour ceux qu ne supportent pas podman ou pour
   sandboxer
 * fonctionne sous M1
 * homebrew pour l’installation
 * comme docker machine avant en gros
 * il y a aussi une belle présentation de Devoxx France


CLOUD

Amazon déclaré la guerre à Microsoft en utilisant les arguments “Proprietaire”
(28 Oct 2021)

 * Aurora a un font qui parler protocole SQL server (Babelfish pour Aurora
   PostgreSQL).
 * Et convertit les T-SQL
 * Open source the t sql vers Postgres (debug). Sous license ASL
 * Pas tout open sourcé encore


WEB

CORS expliqué (12 Oct 2021)

 * inclue images d’autres sites, c’est l’origine
 * les cookies, credeitials etc etaient envoyés
 * yahoo mail pouvait filer les credentials des utilisateurs
 * une iFrame pouvait lire le contenu d’une autre iFrame (Netscape met en place
   le Cross-Frame Scripting)
 * Access-Control-Allow-Origin: * est ok si pas de données privées

Rendre une page HTML brute jolie en 100 caractères de CSS (16 Oct 2021)

 * basique mais expliqué ligne par ligne
 * E.g. 60–80 caractères pour la lecture
 * Et 100 bytes de plus pour améliorer


DATA

elasticsearch 8.0 will require java 17 (3 Nov 2021)

 * definitely easier for something standalone than a library or anything that
   needs to share the JDK with all its apps
 * PR GitHub

Hibernate Reactive 1.0.0, ça vaut le coup ? (27 Oct 2021)

 * PostgreSQL, MySQL, MariaDB, Db2, SQL Server, and CockroachDB
 * bases de donnés désignées pour des interactions classiques
 * Donc les constructions haut niveau ont tendances à être limitées par le
   protocole sous-jacent ce qui ne se voyait pas ou peu en JDBC
 * utiliser HR si votre appli est déjà réactive au cœur (e.g. RESTEasy reactive
   dans Quarkus ou une appli Vert.x)
 * Compareperfs acec techempower mais avec angle latence à un volume donné et et
   pas throughout max
 * 20 requêtes d’affilée 20k request/s -> 35k sous 10ms de latence. C’est la
   valeur relative qui est intéressante
 * Une requête et du processing pour rendre au client, peu de différence
 * Toruhghput tend à être meilleur
 * Amélioration de réactive sur un an
 * Un vidéo cast sur le sujet


OUTILLAGE

AtomicJar se lance dans une offre Cloud (04 Nov 2021)

 * les containers de test containers ne tournent plus en local
 * Mais dans le cloud de AtomicJar
 * A plus de spores source qu’une machine locale typique (2 cores et 8GB ram
   pour la docker machine)
 * peut utiliser la machine quand les tests tournent
 * Pour CI limitées vs containers ou les cloud IDE pour pas trop dépenser
 * Pas de problème avec M1
 * Un petit binaire à installer (eg via curl)
 * TestContainers et Quarkus: TestContainer Cloud fonctionne avec Dev Service
   (les containers lancés et configurés automatiquement)
 * Encore en cours de développement (beta privée et on peut demander invitation)


MÉTHODOLOGIES

Canary releases ou avoir des testeurs (04 Nov 2021)

 * canary release est une release en prod mais sur un petit sous ensemble des
   utilisateurs
 * Peut aider a voir si une nouvelle fonctionnalité intéresse les utilisateurs
   avant de commiter sur le long terme
 * Toujours option du retour arrière
 * Donc peut on réduire les tests internes ?
 * Risque de réputation ou abandon utilisateur (acquisition et rétentions sont
   chères)
 * Test automatisés compréhensifs permettent le risque de canary
 * Test exploratoires pour compléter les tests automatiques


LOI, SOCIÉTÉ ET ORGANISATION

Le droit à decompiler pour corriger des erreurs confirmé légal (21 Oct 2021)

 * arrêt du 6 octobre 2021
 * Pour corriger une erreur affectant le fonctionnement y compris via la
   désactivation d’une fonction affectant le bon fonctionnement de l’application

Influence de l’amplificartion algorithmique sur le contenu politique (21 Octo
2021)

 * les recommendations algorithmiques amplifient-elle le contenu politique ?
 * dans le cas des timeline organisées algorithmiquement et pas reverse
   chronologique
 * Est-ce que ça varie entre partis politiques ou groups politiques
 * Des sources de nouvelles plus amplifiées que d’autre
 * Les élus sont plus amplifiés que le contenu politique général
 * Pas d’amplification particulière d.individus ces d’autres au sein du même
   parti ????
 * La,droite tend à avoir une amplification plus importante que la gauche
 * Les sources de nouvelles orientées à droite sont aussi plus amplifiées que
   celles de gauche
 * La méthodologie est détaillée sur par exemple ce qu’est un journal de droite
 * Pourquoi c’est amplifié différemment est une question plus difficile à
   répondre
 * Amplification n’est pas mauvaise par défaut mais elle l’est si elle amène à
   un traitement préférentiel du à l’algorithme (vs comment les gens
   interagissent sur la plateforme)
 * Le PDF de l’étude intégrale


CONFÉRENCES

DevFest Lille le 19 novembre 2021
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/

Direct download: LesCastCodeurs-Episode-267.mp3
Category:podcasts -- posted at: 11:01am CET

--------------------------------------------------------------------------------

Fri, 22 October 2021
LCC 266 - Interview sur GraalVM avec Gilles Duboscq - partie 1

Gilles Duboscq de OracleLabs discute des multiples facettes du projet GraalVM
avec Emmanuel. Dans cette première partie, nous discutons de l’histoire de
GraalVM, de ses concepts fondamentaux et nous zoomons sur Truffle, Polyglot et
Espresso, le support de JavaScript, Ruby, R, Python, LLVM, WASM… et Java dans
GraalVM. La partie 2 nous emmènera vers GraalVM Native image, comment utiliser
GraalVM en pratique en fonction des différents usages discutés, les versions, la
communauté, comment c’est fait sous le capot et plein d’autres choses encore.

Enregistré le 16 septembre 2021

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


INTERVIEW


TA VIE, TON ŒUVRE

Twitter de Gilles


GRAALVM POUR COMPRENDRE L’ENJEU

GraalVM

GraalVM en 3 phrases
Les cas d’utilisation typique

Maxine VM


LES CONCEPTS CLÉS

Graal le compilateur et le JIT

 * c’est quoi un JIT
 * Pourquoi pas basé sur HotSpot
 * Pourquoi en Java?
 * des cas d’utilisations préférés par GraalVM JIT vs HotSpot (et vice versa)

Truffle et polyglot

 * Java qui tourne d’autres langages, lesquels?
 * comment ça marche, génère du byte code? Interprète?
 * Comment les codes de différents langages interagissent?

JavaScript, Ruby, R, Python, LLVM, WASM… et Java
Arbre syntaxique

Espresso:

 * Java sur Java (what??!), ca veut dire quoi exactement?
 * Quels usages?
 * niveau de stabilité, maturité?


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/

Direct download: LesCastCodeurs-Episode-266.mp3
Category:podcasts -- posted at: 11:49am CET

--------------------------------------------------------------------------------

Wed, 13 October 2021
LCC 265 - Chérie, ça va couper

Dans ce nouvel épisode news, Arnaud, Emmanuel et Audrey reviennent sur les
annonces d’Oracle concernant le JDK, sur Spring One, mais aussi sur les petites
fuites de données et autre panne généralisée qui ont fait l’actu récemment.

Enregistré le 8 octobre 2021

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


NEWS


LANGAGES

Oracle annonce des LTS de deux ans

 * Donc une LTS tous les 2 au lieu de 3 ans, ce qui fait que la prochaine sera
   la 21 et pas la 23.
 * Une enquête récente auprès de développeurs montre qu’entre un quart et la
   moitié utilisent les release de six mois en dev, mais moins de la moitié
   d’entre eux en prod
 * Mais pas de détail sur le temps de security patch support gratuit. Oracle en
   payant c’est 8 ans

Oracle offre Oracle JDK gratuitement avec support pendant 1 LTS + 1 an (donc 3
ans)

 * Java 17 et +
 * Redistribution gratuite aussi. Pas de click through.
 * Sous license NFTC (“Oracle No-Fee Terms and Conditions”).
 * Ils en ont marre d’avoir de la compétition ?

Dans JDK 18, avec le JEP 400, le charset par défaut va enfin passer à UTF–8

 * Autant ce n’était plus vraiment un problème pour les systèmes sour mac OS ou
   Linux, qui utilisent depuis assez longtemps UTF–8 par défaut, mais c’est
   surtout pour les systèmes Windows où c’est plus problématique
 * Dans JDK 17, la propriété système System.getProperty("native.encoding") avait
   été introduite si on veut lire par exemple un fichier avec
 * Deux approches de mitigation pour les problèmes de compatibilité,
 * en recompilant et en utilisant cette propriété quand on ouvre un fichier
 * en utilisant -Dfile.encoding=COMPAT sans recompilation, qui gardera le même
   comportement qu’en JDK 17 et avant
 * L’équipe d’Oracle suggère de tester ses applications avec
   -Dfile.encoding=UTF–8 pour voir s’il n’y a pas de soucis


LIBRAIRIES

JUnit 5.8

 * les classes de test peuvent être ordonnées avec la Class Order API (par nom
   de classe, nom d’affichage, avec @order ou random)
 * les classes de test imbriquées peuvent l’être avec @TestClassOrder
 * @ExtendWith peut maintenant être utilisé pour enregistrer des extensions via
   des champs ou des paramètres de méthode (constructeur, méthodes de test ou
   lifecycle)
 * @RegisterExtension peut maintenant être utilisé sur des champs privés.
 * assertThrowsExactly version plus stricte de assertThrows()
 * assertDoesNotThrow() supporte les suspending functions Kotlin
 * assertInstanceOf produit de meilleurs messages d’erreurs (remplacement pour
   assertTrue(obj instanceof X))
 * assertNull comporte maintenant le type de l’object si sa méthode toString
   retourne null pour éviter les messages de type expected <null> but was <null>
 * @TempDir
   * peut maintenant être utilisé pour créer plusieurs répertoires temporaires
     (le retour au mode par context peut être fait par configuration)
   * fait un reset des permissions read and write du répetertoire root et de
     tout les répertoires contenus plutôt que d’échouer à les supprimer
   * peut maintenant être utilisé sur des champs private
 * Nouvel UniqueIdTrackingListener qui va générer un fichier contenant les
   identifiants des test executés et qui peut être utilisé pour re-executer ces
   tests dans une image GraalVM par exemple.

Stephen Colebourne avertit les utilisateurs de Joda Time de ne pas mettre à jour
la base de données des fuseaux horaires

 * Les personnes qui sont responsables de cette base de données veulent
   fusionner certaines zones ensemble, par exemple, Oslo et Berlin. Alors que
   ces deux villes (et d’autres) n’ont pas forcément toujours eu la même heure
 * La base est censée référencer tous les changements depuis 1970
 * mais en fusionnant plusieurs zones, le risque est de perdre l’historique
   pré–1970

Recap Spring.io :

 * Récap Jour 1
 * Récap Jour 2
 * Récap en vidéo par Josh Long
 * State of Spring 2021
   * les chiffres:
     * 61% des sondés utilisent spring boot
     * 94% d’entre eux pour faire des micro services
     * 35% sur des architectures reactive
     * 61% voudraient passer sur du natif d’ici 2 ans
   * Nouvelle baseline pour Spring Framework 6.0
     * Java 17 et Jakarta EE 9 dès la 6.0 M1 de Spring Framework qui arrive Q4
       2021 (GA en Q4 2022)
   * Spring Native arrive dans Spring Framework
     * Compilation AOT bénéficiera aux déploiements JVM aussi
     * Spring Boot starter pour applications natives
     * Spring Boot proposera des plugin de build et configuration native dès la
       3.0
   * Support de RSocket and GraphQL
   * Spring Observability passe dans Spring Framework
     * API unifiée pour les metrics et le tracing, compatible Micrometer,
       Wavefront, Zipkin, Brave et OpenTelemetry
     * intégration consistante dans tout le portfolio
     * auto configuration dans Spring Boot 3.0
     * Core abstractions dans Spring Framework 6.0
 * Spring Native
 * De Spring framework 5.3 à 6.0


INFRASTRUCTURE

(suite annonces Spring.io) Tanzu Application Platform :

 * plateforme livrée avec toute la chaine d’outils mais configurable si les
   équipes préfèrent utiliser d’autres outils que ceux proposés
 * compatible AKS, EKS, GKS et TKG.
 * application accelerator (inspiré par spring initializer) pour générer les
   templates des applications qui seront ensuite déployées
 * Spring Cloud Gateway for K8s and API Portal for VMware Tanzu

Tanzu Community Edition :

 * Version OSS de Tanzu


CLOUD

Azure installe des agents dans son image linux et ils sont vulnérables aux auto
update

 * Lié à OMI (open management infrastructure, l’équivalent de Windows Management
   Infrastructure (WMI) pour les systèmes UNIX qui s’exécute en root avec tous
   les privilèges
 * Dès qu’on utilise des services comme azure log, ils l’installent dans les VMs
 * L’article dit que c’est la faute à l’open source et que seulement 20
   contributeurs. C’est un peu BS.
 * En fait si c’est installé via un service le service le mettra à jour
 * Mais MS recommande de mettre à jour manuellement aussi


WEB

Julia Evans nous explique CORS

 * Julia explique comment se comporte le navigateur qui voit qu’on essaie
   d’accéder à une URL différente de celle du domaine de la page web chargée, et
   le navigateur se demande s’il a le droit de charger cette page
 * Il va faire un “preflight” request (avec une méthode HTTP OPTIONS) pour
   savoir s’il a le droit ou non, puis si c’est le cas, pourra accéder à la
   resource
 * Julia explique la same-origin policy (càd qu’on ne doit accéder que des
   resources du domaine qu’on est en train de visiter dans son navigateur)


DATA

Kafka 3.0

 * Le support Java 8 et Scala 2.12 est déprécié et sera retiré en version 4
 * Nouvelles améliorations sur KRaft, le méchanisme de consensus qui remplacera
   à terme ZooKeeper


OUTILLAGE

TravisCI fait un petit partage de vos secrets dans toutes les PRs de vos repos
par accident

 * le problème a duré 8 jours
 * rotation des secrets recommandé
 * Travis a patché discretement sans disclosure initialement ce qui a fait un
   raffut


ARCHITECTURE

Facebook est tombé pendant environ 6H

 * Facebook prévoit de faire une maintenance sur son backbone (classique)
 * Un ingénieur lance par erreur une commande qui declare l’ensemble du backbone
   inaccessible
 * Oups, le système d’audit qui devrait empêcher de lancer une telle commande
   est buggé, la commande passe …
 * Toute l’infra de Facebook est désormais déconnectée du net. Les
   avertissements BGP sont stoppées puisque l’infra FaceBook n’est plus dispo et
   les DNS déprovisionnent les entrées FaceBook, le monde ne peut plus accéder à
   FaceBook
 * Les ingé comprennent vite le problème sauf que ils ont perdus les accès
   remotes aux services et la plupart de leurs systèmes internes sont KO à cause
   du retrait des DNS
 * Ils envoient donc du personnel sur site dans les datacenters pour
   physiquement remettre en service l’infra mais l’accès physique aux machines
   est super protégé
 * Ils finissent par y arriver SAUF que le fait de tout redémarrer pause un vrai
   challenge du fait de l’affluence du traffic qui reprend. Ils risquent de
   refaire tomber les datacenters du fait de la surcharge électrique. (sans
   parler de sproblèmes plus haut niveau comme le rechargement des caches etc)
 * Heureusement ils ont un plan de reprise qu’ils testent régulièrement qui est
   plutôt prévu dans le cadre d’une tempête qui mettrait HS tout ou partie du
   réseau. Ce système marche bien et tout rentre dans l’ordre petit à petit,
   Facebook est sauvé, la planète a reperdu 5 points de QI
 * Julia Evans explore BGP et son fonctionnement dans cet article
 * Vu de dehors avec Cloudflare
 * Impact non seulement du DNS mais des routes BGP elles même. Ces routes disent
   qu’une IP (our série d’IP) appartient à une personne donnee.
   * Fondamentalement modèle de confiance.
   * Intéressant de voir comment Facebook DNS down ajouté beaucoup de traffic
     aux serveurs de DNS principaux qui ne cachent pas le SERVFAIL


SÉCURITÉ

Fuite massive de données chez Twitch

 * Quoi ?
 * l’intégralité du code source
 * Les revenus (sur 3 ans) de plus de 10 000 streamers Twitch ont été publiés
   sur le net.
 * certains codes d’accès AWS
 * attention c’est la partie 1, il pourrait y avoir d’autres données
   prochainement
 * Comment ?
 * Officiellement suite à une erreur dans un changement de config
 * Officieusement c’est plus probablement un employé ou un ex employé
 * Pourquoi ?
 * le message sur 4chan dénonce un « un cloaque toxique dégoûtant », ce qui
   pourrait faire référence aux problèmes de harcèlements et de raids hostiles
   visant des streameurs et des streameuses en raison de leur origine ethnique,
   de leur orientation sexuelle ou genre.
 * il est aussi question d’une revendication à une concurrence plus saine dans
   le secteur du streaming de jeu vidéo


CONFÉRENCES

DevFest Nantes les 21 et 22 octobre 2021
DevFest Lille le 19 novembre 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/

Direct download: LesCastCodeurs-Episode-265.mp3
Category:podcasts -- posted at: 11:08am CET

--------------------------------------------------------------------------------

Mon, 4 October 2021
LCC 264 - En direct de Devoxx France 2021

Pour cette édition 9 3/4, Les Cast Codeurs clôturent cette édition de Devoxx. Un
regard sous le capot, une discussion sur les keynotes, une chanson en direct, un
homme grenouille, les tendances, etc.

Enregistré le 1 octobre 2021

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


CLÔTURE DE DEVOXX FRANCE 2021


LE DESSOUS DE(S)VOXX

Devoxx France 2022: Avril 20–22 2022, les 10 ans de Devoxx France


CONCERT EN DIRECT


LES KEYNOTES


MAIS IL EST OÙ VINCENT?


LES TALKS

LES TENDANCES

LE CFP RÉCHAUFFÉ

NOS TALKS PRÉFÉRÉS

VOS TALKS PRÉFÉRÉS


ALLEZ HOP ! ON SE RECONFINE !


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/

Direct download: LesCastCodeurs-Episode-264.mp3
Category:podcasts -- posted at: 2:14pm CET

--------------------------------------------------------------------------------

Fri, 17 September 2021
LCC 263 - Le maillot jaune du salon

Deux A et un E discutent des nouvelles de l’été et de la rentrée. #JDK17 #scala
#Kotlin #spring6 #dockerdesktop #fitdesk et encore d’autres sujets.

Enregistré le 10 septembre 2022

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


NEWS


LANGAGES

Au revoir AdopOpenJDK, bonjour Adoptium

 * Eclipse Temurin runtimes pour la partie JDK
 * Grosse test suite
 * License oracle (que Adopt OpenJDK avait perdu)
 * Plus de OpenJ9 ni GraalVM (Oracle recule) mais IBM a Rapatrié OpenJ9 sous le
   nom IBM Semurin
 * Nouvelles API (backward compatibles ?)
 * Les anciens builds ne seront pas migrés

Une interview des architectes Java

 * Java longevity: stability (not removing things), readability, ecosystem’ well
   defined stable interfaces (JVM etc)
 * Nouvelles fonctionnalités : qu’est que qui ne peut être fait en dehors de la
   plateforme
   * Rendre Java plus extensible (Valhalla)
 * Bloque en Java 8
   * Perds argent (meilleure mémoire, performance, temps de démarrage, pauses
     2ms G1 etc
   * Sécurité
 * Loom
   * Réactive programming pour mieux utiliser le,hardware
   * Mais opposé à certains designs de la JVM (error report, débug, flight
     recorder)
   * Loom résout le même problème mais en harmonie avec la JVM
   * Api familières
 * Next
   * Vallalah , panama
   * Tail call recursion
   * Etc

Article en passant sur l’utilisation du foreign API avec libsodium

 * juste une mention

Quoi de neuf dans Scala 3

 * Scala 3.0.1
   * Syntaxe given simplifiée (pas de with)
   * @experimental
 * Scala 3.1
   * Experimental safer exception (checked exceptions mais sans les ennuis)
   * Warnings de compilation plus configurable
   * Multiversal equality (des classes différentes qui peuvent être égales)

Kotlin a 10 ans

 * annoncé en 2011, 1.0 en 2016, default Android en 2017
 * pas theorique, problemes pragmatiques
 * multi plateforme encore experimental, on prend notre temps
 * ajoutent features dans le core lib plus lentement que Java
 * prochains 10 ans: multiplatforme, langage reste relevant, reactive
   programming et immuabilité du front vers le back


LIBRAIRIES

Spring 6 / SpringBoot 3 annoncé à SpringOne

 * Java 17 et plus
 * Intègre Spring Native
 * Tomcat 10 min
 * Jakarta 9 avec cassage de packages
 * Q4 2022
 * Spring 5.3 et SpringBoot 2.7 seront en maintenance open source entendue
 * Autre lien

Quarkus 2.2 et 2.1

 * 2.2 Solidification (utilisabilite, doc, corriger problèmes)
 * Mongodb service binding
 * RESTEasy Réactive automatiquement choisi le thread bloquant ou non bloquant
   * Plus facile quand on vient de RESTEasy Classic
   * Détails ici
 * 2.1
   * Dev services pour keycloak
   * SQLServer réactive a son extension
   * Kotlin 1.5
   * Blog post expliquant les nouvelles modularités de quarkus platform

Micronaut 3 est sorti

 * RxJava n’est plus un dépendance transitive (choix du moteur réactive streams)
   * Utilisent Reactor en dessous
 * Les annotations ne sont plus héritées par défaut
 * Support Jakarta lifecycle annotations, Jakarta inject
 * Injection qualifiée par le generic des arguments
 * Filtres servers plus consistant (appelés une seule fois)
 * @Introspected ne rajoute plus les metadonnes pour GraalVM, utiliser
   @ReflectiveAccess
 * Ajout des resources passe du compile time au build time donc utilisez les
   plugins maven de Micronaut ou faite le vous même
 * Quelques autres breaking changes
 * OpenRewrite règles changent le code pour migrer pour vous


INFRASTRUCTURE

Comment debugger son script Ansible

 * --step
 * In-line logging
 * Ansible-lint
 * Ansible-console
 * Ansible debugger


CLOUD

Apple nous protégeras des photos pedophiles mais en ouvrant une brèche sur la
sécurité de ses téléphones

 * Une analyse techniques
 * Il y a deux choses distinctes
 * Détecter les images d’une base de donnée pedophile avec du hash sur le
   téléphone et en alertant quand trop’sonr flaggues positive (avec check
   humain)
   * Ça s’appuie sur iCloud photo car sur leur cloud mais pas un filtre serveur
   * Base de donnée Baked dans chaque iOS
   * NeuralHash
     * Hash résiste au ré cadrage et autres ajustement de photos
   * Threshold secret sharing
     * Au bout de n rapports remontés, on a capacité à reconstituer la clef de
       chiffrement
   * Et un troisième mécanisme pour éviter de montrer qu’elles photos
     intéressent Apple
   * Quid d’une puissance étrangère qui veut rajouter des photos de discidents?
     * Apple dit on n’acceptera pas
   * Où attaque sur le neural hash
 * Détection de nudité et demande si l’nfznt veut voir avec alerte aux parents
 * Ils se donnent quelques mois de retravail au final

AWS a 15 ans

 * demarre avec une region, un seul type d’instance et tout ephemère (pas de
   block storage)
 * peu de feature et peu de details initialement
 * prix a l’heure initialement qui etait innovant


DATA

La guerre de la recherche - Les clients Elastic Search ne seront pas compatible
avec OpenSearch

 * Elastic vs AWS - Clash numéro ? Dans ce dernier épisode, Elastic rajoute des
   controles dans ses APIs clientes pour ne se connecter qu’a ses propres
   clusters et empêcher de les utiliser avec opensearch.
   * Risques d’incompatibilité
 * Manque de chance ce changement bloque aussi l’utilisation de la version OSS
   d’elastic-search.
 * De son coté AWS promet de faire son possible pour fournir des drivers qui
   resteront compatibles Elasticsearch 7.10.2 (la version à partir de laquelle
   ils ont forké) et OpenSearch
 * Bref la guerre continue …


OUTILLAGE

AtomicJar release TestContainers 1.16

 * https://www.atomicjar.com/2021/07/testcontainers–1–16–0-release/ Test
   Containers 1.16.0 est la première release faite par AtomicJar, la société
   créée par les fondateurs du projet.
 * Meilleure compatibilité Apple M1
 * Couche de transport utilise Apache HTTP Client 5 au lieu de OKHTTP pour
   éviter la malediction Kotlin
 * Meilleure stabilité et compatibilité sur Windows pour process natifs Windows
   et WSL 2
 * docker.host peut etre configuré dans $HOME/.testcontainers.properties
 * Aussi Support Podman amélioré récemment

Docker introduit un nouveau système d’abonnement avec Docker Business et
différents niveaux: perso, pro, entreprise etc

 * donc pour les boites de plus de 250 personnes ou qui font 10 millions, tu
   dois payer pour Docker Desktop
 * Des articles paraissent listant les alternatives à Docker Desktop
 * Sur l’impact macOS
 * How Docker broke in half

Les différentes manières de déclarer les dépendances dans son projet Gradle

 * En particulier, les différences entre api, implementation, runtimeOnly,
   compileOnly, compileOnlyApi Avec des exemples concrets pour bien illustre ces
   différents scopes.
 * Gradle regroupe les dépendances dans des ensembles appelés des
   “configurations”. Ces configurations définissent le classpath lors de la
   compilation, ou le classpath pour le runtime lorsque votre code s’exécute.
 * Gradle définit 3 types de configuration : api, implementation et runtimeOnly
 * La configuration “api” est utilisée pour le classpath compilation et runtime
   et est exposé aux consommateurs de l’API aussi pour le classpath de
   compilation et runtime
 * La configuration “implementation” est utilisée pour le classpath de
   compilation et runtime, mais est exposée pour le consommateur de l’API que
   pour le classpath au runtime
 * La configuration “runtimeOnly” n’est utilisée que pour le classpath au
   runtime
 * La configuration “compileOnly” est utilisée pour le classpath de compilation,
   mais n’est pas exposée pour les consommateurs
 * Enfin la configuration “compileOnlyApi” est utilisée pour le classpath de
   compliation et est exposée au consommateurs à la compilation de leur code
   quand les metadata Gradle sont utilisées


MÉTHODOLOGIES

Opinion sur Googlespeak et les pratiques anti concurrentielles

 * Certains dont l’auteur voient Google utiliser Google search pour placer
   hautement leur propres services alternatifs. Google flight etc
 * Et les Googlers avec qui il interagissait trouvait ça « absurde » de penser
   ça.
 * Chercher un hôtel
 * Étude montre que Google offre 41% de sa première page à ses propres
   propriétés (inclus direct answers )
 * Direct answer est mis rapide pour l’utilisateur mais prend le contenu 3rd
   party ( Wikipedia, IMDb etc) et nous fait rester sur une page Google.
 * Googlespeak d’après Orwell. Si le langage ne permet pas d’exprimer , on ne
   pense pas aux choses.
 * Pas dominant mais succès. Pas barrière à l’entrée , marché, effet réseau qui
   sont taboo dans un contexte de tension antitrust
 * Encourage à réfréner sa communication écrite.
 * Comme beaucoup de sociétés américaines à cause du processus de discovery
 * Market share -> user preference
 * Apple et epic ont levés des doc similaires mais Apple n’était pas gardé dans
   sa comm interne. Autour de l’app store.
 * Google dans ses formation mention non monopoly car beaucoup de compétiteurs.
   Et se defini en termes très large et donc avec de la compétition. (Dans la
   pub et dans la recuperation d’information.
 * Ils ne font pas d’analyse de marchés (sur les marchés dominants) quand
   demandés par le congrès.
 * 65% des recherches n’entraînent pas un clic sur un site externe - valeur
   réfutée par Google
 * C’est une réaction à la judiciarusarion de la vie des entreprises.


LOI, SOCIÉTÉ ET ORGANISATION

Matt Asay quitte AWS et reflecte sur l’open source chez AWS

 * pleins de petites equipes et pas de décisions top down
 * en tous cas pas pour open source
 * Un langage specifique a Amazon pour convaincre
 * Les Leadership Principles tendent à ne pas investir dans les elements side de
   type open source
 * et quand on a deux pizza team, peut on contribuer sans se sentir trop
   contraint en temps
 * si c’est une équipe de 12 sur 200 equipes ca ne m’étonnes pas trop 🙂

L’Open Source au secours du développeur (et de l’architecte) ?, un retour
d’expérience très personnel mais instructif pour ceux qui souhaiteraient se
lancer …

 * Pourquoi l’Open Source ?
 * Par où commencer ?
 * Le choix du premier projet pour sa première contribution? (Le syndrome de
   l’imposteur)
 * La première contribution
 * Rythme de travail


OUTILS DE L’ÉPISODE

Fit Desk

 * Antonio passe au Fit Desk pour travailler en pédalant
 * Promis, il écrira un blog dans 4/6 mois avec du feedback


RUBRIQUE DÉBUTANT

RISC vs CISC

 * CISC roi quand la mémoire est chère, on crée des instructions haut niveau
   plus complexes
 * RISC paye en mémoire mais simplifie la chaîne de travail (instructions de
   taille fixe)
 * RISC plus d’opérations et donc de CPU clock mais pipelining possible
 * RISC compensé par plus de registers et par la compression d’instructions set
 * register mémoire interne CPU de taille fixe
 * CISC fait du hardware hyper threading
 * RISC philosophiquement fait travailler les compilateurs beaucoup plus mais on
   ne code plus en assembleur


CONFÉRENCES

Crowdcast sur devfest Lille et CloudNord par Emmanuel Demey

Pas de Devoxx Belgique en 2021


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/

Direct download: LesCastCodeurs-Episode-263.mp3
Category:podcasts -- posted at: 8:20pm CET

--------------------------------------------------------------------------------

Thu, 2 September 2021
LCC 262 - Interview Cloud de Confiance avec Quentin Adam

Quentin Adam de Clever Cloud et Emmanuel discutent du Cloud de Confiance et de
ses impacts économiques et politiques.

Enregistré le 1 juillet 2021

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


INTERVIEW


TA VIE, TON ŒUVRE

Twitter de Quentin


CLEVER CLOUD POUR LE CONTEXTE

Automatisation de l’infrastructure


CLOUD SOUVERAIN

“modèle de déploiement dans lequel l’hébergement et l’ensemble des traitements
effectués sur des données par un service de cloud sont physiquement réalisés
dans les limites du territoire national, par une entité de droit français et en
application des lois et normes françaises”

Cloud de l’état : les technologies retenues à la fois en matière de cloud privé
et public devront garantir la réversibilité, l’interopérabilité et la
portabilité des applications.

https://www.sciencespo.fr/public/chaire-numerique/2020/07/20/cloud-souverain-genealogie-ambition-emblematique-souverainete-numerique/

POURQUOI

 * Patriot act 2001
 * Edward Snowden 2013
 * Se protéger du cloud act 2018:
   * L’état américain a accès aux donnés hébergées par les clouds providers
     americains même hors du sol américain

Pour l’état, collectivités et pour les sociétés françaises (espionnage) L’armée
à probablement déjà ses trucs

Plan calcul Loi informatique et liberté 90s perte fondeurs et constructeurs


UN PEU D’HISTORIQUE

Projet andromede: Thales, dassault, Orange, Bull: 135M €

Mais sort

 * Numergy : dassault bull et Sfr
 * Cloudwatt: Orange Thales

75 M chaque premier shot

Gaia-X: échelle européenne standards de sécurité, d’interopérabilité et de
portabilité des données

PENDANT CE TEMPS LÀ

 * OVH
 * Clever Cloud
 * Etc

APPROCHE ÉCONOMIQUE


CLOUD DE CONFIANCE

Protection contre réglementations extra communautaire

LE HARD FRANÇAIS, LE SOFT AMÉRICAIN

Ils ont le soft que l’on veut et que les gens utilisent vs Cloudwatt et Numergy

LA CERTIFICATION ET LES PETITS ÉDITEURS


UN CLOUD SERVICE EST UN CLOUD SERVICE EST UN CLOUD SERVICE

Quels sont les logiciels à enjeux:

 * Mail, éditeur de Documents, tableur
 * Progiciels
 * Plateforme de développement de code spécifique

Bleu (licence Azure Orange + …)


LE POINT DE VUE DE QUENTIN

C’est bien ou c’est pas bien cette stratégie? Ça paraît pragmatique

Don’t kill French Tech

APPROCHE ÉCONOMIQUE

https://cryptpad.fr/


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/

Direct download: LesCastCodeurs-Episode-262.mp3
Category:podcasts -- posted at: 9:35am CET

--------------------------------------------------------------------------------

Thu, 29 July 2021
LCC 261 - Interview Doctolib avec David Gageot

<p>Guillaume et Antonio interviewent David Gageot à propos de <a
href="https://www.doctolib.fr/">Doctolib</a>, l&#8217;entreprise, mais surtout
ses différents produits, l&#8217;architecture et comment elle a géré la prise
des rendez-vous pour les vaccins anti-covid.</p>

<p>Enregistré le 30 Juin 2021</p>

<p>Téléchargement de l&#8217;épisode <a
href="https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-261.mp3">LesCastCodeurs-Episode&#8211;261.mp3</a></p>

<h2 id="interview">Interview</h2>

<h3 id="tavietonuvre">Ta vie, ton œuvre</h3>

<p>Docker, Google, son arrivée chez Doctolib en octobre 2020.</p>

<h3 id="doctoliblentreprise">Doctolib, l&#8217;entreprise</h3>

<p>Les produits, les équipes, la distribution de l&#8217;entreprise, son
organisation, le modèle business (licence vendue aux professionnels de la
santé).</p>

<h3 id="lascurisationdesdonnes">La sécurisation des données</h3>

<p>End&#8211;2-End-Encryption pour les documents entre patients et médecins : ça
veut dire que Doctolib techniquement ne peut pas lire les documents hébergés sur
ses serveurs? Mais comment ça marche, qui génère les clés de chiffrement, et où
sont-elles stockées?</p>

<p>Pourquoi AWS vs un OVH ou autre acteur français? Ou un Google &#8230;</p>

<h3 id="lastacktechnique">La stack technique</h3>

<p>Le machine learning. Pourquoi? Comment?</p>

<p>Ruby on rails, React, Postgres, S3, &#8230;</p>

<p>Le sizing de l&#8217;infrastructure, 800 pods K8s qui font tourner le front
Rails au dessus d&#8217;une grosse base postgresql</p>

<p>La méthode agile et l&#8217;organisation des développements pour cibler 3
déploiements par jour en moyenne.</p>

<p>CI sur 700 nœuds sur K8s avec de nombreux tests end-to-end. Feature-Flags sur
les fonctionnalités.</p>

<h3 id="lavaccination">La vaccination</h3>

<p>Seulement 2% de prises de rendez-vous pour les vaccins mais un public super
exigeant. </p>

<p>Comment améliorer l&#8217;UX pour ce use case spécifique?</p>

<p>Quels ont été les défis de montée en charge pour les inscriptions? Des flux
anticipés, attendus, inattendus?</p>

<h3 id="limpactdevitemadoseettoutlecosystmequisestmisenplace">L&#8217;impact de
vite ma dose et tout l&#8217;ecosystème qui s&#8217;est mis en place</h3>

<p>Quelle est la relation avec vite ma dose? Humaine, systèmes etc. Impact des
médias? Impact de CovidTracker?</p>

<p>Comment gérer la cohérence des données, la gestion des caches, &#8230;?</p>

<h3 id="limplantationdedoctolib">L&#8217;implantation de Doctolib</h3>

<p>Quels secteurs (médecins généraux, kiné, hôpitaux) utilisent le plus
Doctolib?</p>

<h3 id="doctolibetladministrationfranaiselapresse">Doctolib et
l&#8217;administration française, la presse, &#8230;</h3>

<p>Comment s&#8217;est passé la relation avec l&#8217;administration?</p>

<p>Comment gérer la tension sur des sujets importants comme la vie privée, la
sécurité, la souveraineté &#8230;</p>

<h3 id="lesquestionsdesauditeurs">Les questions des auditeurs</h3>

<p>Que se passerait-il en cas de rachat? Que deviendrait les données?</p>

<h3 id="doctoliblaconcurrenceetlefutur">Doctolib, la concurrence et le
futur</h3>

<p>En France, leader sur la prise de rendez-vous, mais en compétition sur de
très nombreux autres produits (gestion de la patientèle &#8230;). </p>

<p>Tout reste à faire à l&#8217;étranger.</p>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br/>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a><br/>
Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a><br/>
sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a><br/>
ou sur le site web <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a>
</p>

Direct download: LesCastCodeurs-Episode-261.mp3
Category:podcasts -- posted at: 9:25am CET

--------------------------------------------------------------------------------

Tue, 27 July 2021
LCC 260 - L'épisode généré par intelligence artificielle

Antonio, Guillaume et Emmanuel discutent de pleins de choses dont des analyses
de l’écosystème de la JVM, de la generation de code via intelligence
Artificielle avec CoPilot, mais pas que.

Enregistré le 16 juillet 2021

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


NEWS


LANGAGES

Les prédictions d’Adam Bien pour la seconde moitié de 2021

 * Kube a gagné la guerre. Les cloud providers fournissent des solutions
   dérivées plus simplifiées. La compatibilité kubernetes devient moins cruciale
 * FaaS est utilise pour son usage listener et point d’intégration et plus en
   général purpose tool
 * Prix du cloud et repatriation. Bouger une app existante dans le cloud n’amène
   pas d’avantage. Le monolith devient une best pratice
 * Coût du cloud pousse a merger des microsercices dans un cadre de cloud cost
   driven development
 * Cloud deviennent intéressant pour les services unique (text to speech, image
   recognition, etc). En parallèle la sécurité des cloud providers est reconnu.
   Donc boring load on prem, projects innovants dans le cloud.
 * Serverless va être le trend de 2021 (fonction mais aussi db, workflow, event
   streams etc) idée est scale down to zero
 * La montée des frameworks next gen Micronaut et Quarkus est indisputable.
   Build time deployment.
 * La popularité de quarkus a explosé, difficile de trouver un développeur Java
   qui n’a pas expérimenté. Le cocktail GraalVM api familières Jakarta ee et
   micro profile, sa do so mémoire et temps de démarrage lui donne un avantage.
   Mais la compétition ne dors pas (Helidon et micronaut)
 * Moins de langages alternatifs parce que l’innovation dans Java a accéléré
 * Lombok moins populaire parce que Java Records.
 * Kafka sera plus un data store immuable et source de vérité que un
   remplacement pour JMS
 * Kafka et réactive en combo va rendre la programmation réactive populaire
 * Le projet Loom eliminera la programmation reactive pour les resources
   non-reactives
 * ARM sur le serveur
 * GraalVM pour remplacer OpenJDK car rapide et multi langage. Et competitor a
   GraalVM qui arrive
 * Visual studio code et ses features pour Java pas forcément connu et donc va
   croître encore.
 * Payara cloud serverless server ou l’app server est un opérateur Kube et on
   déploie un thin jar.

GraalVM offre des plugins Gradle et Maven pour la compilation native

 * Tester les libraires en natif avec les tests junit 5 qui tournent en natif
 * Après tourne les tests en JVM, ils sont loggués et ajoutés en réflection et
   complication native.
 * Et un binaire de test est créé
 * plugin Gradle
 * License Oracle Universal Permissive
   * probablement un dérivé de Universal Permissive License

Le rapport sur l’écosystème JVM par Snyk

 * Sondage effectué durant six semaines (entre février et mars 2021) au prêt de
   2000 developeurs et comparé à GitHub et Google Trends
 * Mon (Emmanuel) intuition c’est qu’il y un biais dans les gens mesurés
 * 44% des Dev Java utilisent adoptopenjdk en prod. Oracle openjdk 28 et Oracle
   JDG 23
 * 60% utilisent Java 11 en prod. Et 12 la dernière mais encore 60% de 8 en prod
 * Java 91% kotlin 18% groovy 13 et scala 10
 * IntelliJ 70% eclipse 25 et vscode 23. 50% sont bi IDE
 * Maven 76% gradle 38% ant 12W yah
 * Spring Boot 58% Spring MVC 29% Jakarta ee 13% Quarkus 11%

JDK 17 en ramp down phase 2

Schedule

 * 2021/07/15 Rampdown Phase Two
 * 2021/08/05 Initial Release Candidate
 * 2021/08/19 Final Release Candidate
 * 2021/09/14 General Availability

Features integrated in JDK 17:

 * JEP 306: Restore Always-Strict Floating-Point Semantics
 * JEP 356: Enhanced Pseudo-Random Number Generators
 * JEP 382: New macOS Rendering Pipeline
 * JEP 391: macOS/AArch64 Port */
 * JEP 398: Deprecate the Applet API for Removal
 * JEP 403: Strongly Encapsulate JDK Internals (sauf pour sun.misc.Unsafe)
 * JEP 406: Pattern Matching for switch (Preview)
 * JEP 407: Remove RMI Activation
 * JEP 409: Sealed Classes
 * JEP 410: Remove the Experimental AOT and JIT Compiler
 * JEP 411: Deprecate the Security Manager for Removal
 * JEP 412: Foreign Function & Memory API (Incubator)
 * JEP 414: Vector API (Second Incubator)
 * JEP 415: Context-Specific Deserialization Filters


LIBRAIRIES

Spring Native 0.10.0

 * Utilise Native testing de GraalVM
 * Passe au plugin Gradle de l’équipe GraalVM
 * Ahead of time proxies pour les classes

Quarkus 2.0 est sorti

 * Guide de migration mais les applis devraient essentiellement fonctionner
   (extensions ont plus de taf)
 * JDK 11+ GraalVM 21.1
 * Vert.x 4
 * Microprofile 4
 * Continuous testing : les tests impactes tournent automatiquement en Dev mode.
   Les tests qui cassent sur un changement sont visible tout de suite et en
   continu. Comme infinitest mais sans plugin IDE.
 * Quarkus a une CLI pour simplifier l’interaction vs les plugins maven ou
   gradle. Notamment création de projetas.
 * JDK 11+ GraalVM 21.1
 * Vert.x 4
 * Microprofile 4
 * GraphQL client (smallrye), CDI decorators supportés, transaction pour MongoDB
   avec Panache,
 * Support kotlin grandement amélioré : resteasy rezctive, rest client, reactive
   messaging extensions supportent tous les coroutines
 * Support d’Amazon services system manager

Crafting rolling releases for a Quarkus CLI application

 * Y’a encore du chemin pour faire simplement des CLI avec graalVM en
   comparaison de go
 * JReleaser outils permettant de livrer automatiquement des projets Java vers
   différentes plateforme (Homebrew, Snapcraft, Scoop)
 * Inspiré de GoReleaser et jbang
 * Le blog package l’outil kcctl créé par Gunnar avec JReleaser
 * Pas mal de conf (Windows vs Linux/MacOS) mais à la fin il y arrive


INFRASTRUCTURE

Amazon sort son OpenSearch 1.0 et OpenSearch Dashboard, leur fork d’Elastic
Search et Kibana

 * 1.0 sortie de OpenSearch (GitHub)
 * Suppression du code propriétaire
 * Upgrading: mise a jour d’ElasticSearch et Kibana vers OpenSearch et
   OpenSearch Dashboard aussi simple qu’une mise a jour de version
 * Compatibility: travaux de reflexion autour de la compatibilité avec les
   outils existants
 * Testing: infrastructure de test moderne et flexible
 * Supporte les architecture for Linux ARM64
 * Minimal artifacts for embedding of OpenSearch and OpenSearch Dashboards into
   existing products and services,
 * Data stream support for OpenSearch Dashboards,
 * Span attribute visibility and filtering in the Trace Analytics plugin,
 * Scheduling and tenant support in the Reporting plugin.
 * Aussi mentionne la roadmap

Kubernetes 1.22 enlève le support des vieilles versions de ressource

 * Faites le ménage en continu pas des grosses migrations tous les 3 ans
 * Release prévue en aout
 * Il vont supprimer des APIs qui étaient en beta


CLOUD

Un tweet lance un faux service AWS InfiniDash qui a été repris par des devs et
des boîtes

 * La théorie est que la plupart des devs n’entendront parler de technologie que
   via les tweets et les articles.
 * Aussi le métier de devrel c’est de surfer la vague du social media. Les dev
   rels AWS ont continué la farce (je crois)
 * Werner Vogels, oui pour sur.
 * gros effet boulle de neige


OUTILLAGE

GitHub copilot

 * itellisense boosté par les projets visible et hostés dans GitHub et autre
   données publiques
 * via l’intelligence artificelle, essaie de comprendre l’intention via le
   contexte
   * uniquement le fichier édité en contxte pour l’instant
 * VSCode extension donc tourne partout où les plugins VSCode tournent
 * 0,1% de copie exacte
 * le code nous appartient en tant qu’utilisateur
 * le code contexte est transmis a GitHub qui l’utilise pour ses telemetries et
   améliorer les modèles ML
 * pas toujours du code de qualité
 * des secrets valides sont générés (du corpus originali e.g. SendGrid)
 * propose du code GPL (derivation?)
 * attaque de sécurité vont venir :)

Audacity 3 spyware ou pas après le rachat

 * la communauté “niveau 2” s’est emballée, a crée une dizaine de forks.
 * C’était déjà annoncé et discuté avec la communauté Audacity.
 * OS, pays, cpu, erreurs, reports de crash
 * Protection légale « law enforcement ». Les 13 ans, juste pour éviter des
   restrictions légales us
 * 3.0.2 n’a pas le code des collections de données
 * Avec feedback initial passe de Google analytics à un hébergement propre.
 * Quand compile le project c’est off par défaut (donc seuls les binaires
   distribués l’ont par défaut) donc pas dans les distros linux


SÉCURITÉ

LinkedIn la brèche qui donne des infos de 92% de ses utilisateurs y compris les
salaires inférés

 * API LinkedIn abusée.
 * Email, noms, telephone, adresse physique, de 700M d’utilisateurs
 * Presque interessé de fouiller pour voir mon salaire théorique :)
 * Dispo sur le dark web


LOI, SOCIÉTÉ ET ORGANISATION

Lettre à ceux qui veulent faire tourner la France sur l’ordinateur de quelqu’un
d’autre par Tariq Krim

 * Télécharger l’ebook au format PDF. Très documenté et référencé
 * Coulisses et manoeuvres pour installer les GAFAM au coeur de l’État
 * 17 mai 2021, Bercy présente la nouvelle stratégie Cloud du Gouvernement
 * GAM (Googla Amazon Microsoft)
 * À part OVH Cloud, aucun des acteurs français n’a été mentionné par les
   Ministres
 * Les lois américaines dites FISA et Cloud Act permettent d’obliger les grandes
   sociétés US à fournir à la justice américaine les données situées sur leurs
   serveurs européens
 * Si l’on met de côté les questions de souveraineté, les services de sociétés
   comme Amazon, Microsoft et Google sont très ergonomiques
 * Les Américains offrent des services clé en main, les services “made in
   France” demandent de combiner plusieurs produits issus de sociétés
   différentes
 * Apple, Google, Facebook, Amazon ont embauché des dizaines de milliers
   d’ingénieurs, dont de très talentueux Français
 * Les clouds GAM pourraient décrocher le label SecNum Cloud (le plus haut
   niveau de sécurisation de l’État)
 * Après avoir délocalisé notre industrie (le fameux “Fabless” de Serge Tchuruk
   ancien patron d’Alcatel), l’État et les grandes entreprises ont délocalisé
   leur informatique vers les grandes SSII qui se sont mises à produire des
   projets à la chaîne


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/

Direct download: LesCastCodeurs-Episode-260.mp3
Category:podcasts -- posted at: 9:05am CET

--------------------------------------------------------------------------------

Thu, 8 July 2021
LCC 259 - Interview Software Heritage avec Roberto Di Cosmo et Charles Sabourdin

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’Ecole 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/reutiliser ?
 * un outil de recherche ?
   * les tendances, les connaissances(bonnes pratiques, etc…)
   * 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/

Direct download: LesCastCodeurs-Episode-259.mp3
Category:podcasts -- posted at: 10:25am CET

--------------------------------------------------------------------------------

Wed, 16 June 2021
LCC 258 - Les mineurs de fond

Arnaud, Antonio et Emmanuel discutent des actu 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é 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
 * hoste beaucoup d’artefact de type NPM, Maven, JS resources etc
 * consequence est sites defacé par manque de CSS ou JS, voir HTTP pages non
   accessibles
 * bug declenché 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 toutes façons tout le monde est sur Chromium ahaha


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 StasckOverflow 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 ayant droits et un président au droit de vote et pro
   ayant droit. Rapport de force clair
 * Ils essaye 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/

Direct download: LesCastCodeurs-Episode-258.mp3
Category:podcasts -- posted at: 10:43am CET

--------------------------------------------------------------------------------

Mon, 7 June 2021
LCC 257 - Interview Java 16 avec José Paumard et Henri Tremblay - partie 2

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 (HENRY)

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 ud parallelisme 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/

Direct download: LesCastCodeurs-Episode-257.mp3
Category:podcasts -- posted at: 10:26am CET

--------------------------------------------------------------------------------

Mon, 24 May 2021
LCC 256 - jTerrasse

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
 * 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 blocantes parkent le virtual thread quand elles sont en attente
 * Un poller (boucle d’evenement) regarde les IO et leur état et unpark les
   virtualthread correspondant
 * Mechanisme similaire aux frameworks non blocs to de type vert.x mais avec une
   API bloxante


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 uns surtout 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 tourner (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
 * A la grande époque de OpenShift online et OpenShift.io, on a beaucoup appris
   sur le 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 proteger 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épendance 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 etat et deriere il y a des bookkeepers (qui
   stockent les data).
 * Cela permet plus de flexiblités pour augmenter ou descendre le nbombre de
   brokers. mais avec plus de “moving parts” et avec un hop de reseau
   supplémentaire.
 * Mais l’architecture est plus flexible notamment pour Kubernetes
 * Le stockage étagé et la geo replication est plus facile dans Pulsar (par
   default). Stockage etageé c’est de stocker l’info dans un S3 quand ellee st
   vielle par example.
 * Pulsar est multitenant par design.
 * Pulsar accepte des gros messages et sit les fragmenter au besoin
 * plus grosse communaute 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é

 * C’est ce sur quoi emmanuel a bossé ses 9 derniers mois
 * Essayer le Managed Kafka de red hat
 * Red Hat OpenShift Streams for Apache Kafka: un cloud service de Kafka managés
   https://twitter.com/emmanuelbernard/status/1387686420903563264
 * Super intégration avec Quarkus et utilise Quarkus a l’intérieur


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 compliqeees
 * 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 du 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 bon samaritains avec la version
   gratuite
 * Au moins les builds anciens ne vont pas casser

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

 * a 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 version 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 du à 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 services est comme une distribution
 * inspiré par MongoLab CoackroachDB etc
 * Cela reste open source au moins même si 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 porte
   feuille 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 que 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 on 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 groups américains
   * serveurs en France
   * opérés 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/

Direct download: LesCastCodeurs-Episode-256.mp3
Category:podcasts -- posted at: 2:11pm CET

--------------------------------------------------------------------------------

Mon, 10 May 2021
LCC 255 - Interview Java 16 avec José Paumard et Henry Tremblai - partie 1

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/

Direct download: LesCastCodeurs-Episode-255.mp3
Category:podcasts -- posted at: 4:24pm CET

--------------------------------------------------------------------------------

Tue, 20 April 2021
LCC 254 - Fission acquisition

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 version longue des release notes
 * Les fonctionnalités préférées des Java Champion
 * Lombok en conflit avec openJDK sur –add-open

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 containeurisation, 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 devier de OpenDJK en terme de patchs
 * Eclipse Adoptium pour Java 8
 * docker image bientot
 * Azuul 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
 * reutilise 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 8Go pour se donner du temps
 * ca touche mon égo de developpeur 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 platform 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

 * Serie 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 defaut sur l’ordi de mon père

Fin du procès Oracle vs Google

 * les APIs ne sont pas copyrightable
 * Pas exactement. Ils disent que dans le cas de Google 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. Il ne se positionnent pas exactement sur api vs
   implementation
 * Que les apis 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 function- ality. As
   time passes, however, it may be valuable for a dif- ferent reason, namely,
   because users, including program- mers, 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 messagerie instantannée 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 travailelr 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% detenus
 * pour rembourser sa dette
 * independance 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 poiur 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/

Direct download: LesCastCodeurs-Episode-254.mp3
Category:podcasts -- posted at: 9:56am CET

--------------------------------------------------------------------------------

Thu, 8 April 2021
LCC 253 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 2

<p>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.</p>

<p>Enregistré le 25 février 2021 </p>

<p>Téléchargement de l&#8217;épisode <a
href="http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-253.mp3">LesCastCodeurs-Episode&#8211;253.mp3</a>
</p>

<h2 id="interview">Interview</h2>

<h3 id="tavietonoeuvre">Ta vie, ton oeuvre</h3>

<p><a href="https://twitter.com/tsunammis">Stan Chollet</a><br/>
<a href="https://tartiflette.io/">Tartifflette.io</a> </p>

<p><a href="https://twitter.com/jefrajames">Jean-François James</a><br/>
<a href="https://github.com/eclipse/microprofile-graphql">Microprofile
GraphQL</a> </p>

<h3 id="enpratiquepourledveloppeur">En pratique pour le développeur</h3>

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

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

<p>Comment écrire ses requêtes,<br/>
Qu’est-ce qui est possible </p>

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

<p>Comment faire des agrégations de plusieurs sources ?</p>

<p>Modification des données</p>

<p>Faire évoluer ses APIs<br/>
Et quid des changements incompatibles?</p>

<p>Pagination</p>

<p><a href="https://www.apollographql.com/">AppoloGraphQL</a><br/>
<a href="https://github.com/graphql/graphiql">GraphiQL</a><br/>
<a href="https://www.electronjs.org/apps/graphql-playground">GraphQL
Playground</a><br/>
<a href="https://www.postman.com/graphql/">Postman</a> </p>

<h3 id="souslecapot">Sous le capot</h3>

<p>Qui définit GraphQL?<br/>
Qui implémente? </p>

<p>Les clients GraphQL</p>

<p>Les Serveurs GraphQL</p>

<p>Les GraphQL &lt;-&gt; requête dans la base de données</p>

<h3 id="graphqlfutur">GraphQL Futur</h3>

<p>GraphQL federation<br/>
Lee Byron qui part de Facebook, moins d&#8217;activités</p>

<p><a href="https://github.com/graphql/graphql-spec">La spec GraphQL</a> </p>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br/>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a><br/>
Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a><br/>
sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a><br/>
ou sur le site web <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a></p>

Direct download: LesCastCodeurs-Episode-253.mp3
Category:podcasts -- posted at: 8:39am CET

--------------------------------------------------------------------------------

Mon, 29 March 2021
LCC 252 - Interview GraphQL avec Stan Chollet et Jean-François James - partie 1

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
Tartifflette.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

Appllo 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

AppoloGraphQL
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/

Direct download: LesCastCodeurs-Episode-252.mp3
Category:podcasts -- posted at: 9:52am CET

--------------------------------------------------------------------------------

Tue, 16 March 2021
LCC 251 - Trié dans le désordre

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 entierement détruit
 * recommande d’activer les protocoles de disaster recovery
 * impacte aussi d’autres data centers : SBG1, SBG3 et SBG4 (electricite 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
 * remedarrage (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 demarrage 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 =>
   probleme disaparait, 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 noeud en cas de probleme 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 etre progressive et belle sur tous les supports
 * Fultter fix pour faire evoluer le code
 * “500,000 Flutter developers across a growing number of platforms” wow


LIBRAIRIES

Hibernate Reactive 1.0 CR arrive

Spring Native est en béta

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

 * telechargement des dependences 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
 * dependance encore sur jcenger uniquement (attendre le maintainer, migrer vers
   une autre librairie, copier le jar
 * attention au confusions de dependances et collision de namespace
   * risque potentiel
   * activation de verification des dependance (
     <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, evite l’écriture double DB/queue. Il ecoute 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 evite tout besoin de XA ou autre synhcronization distribuée
 * Saga, transaction métier large. utilise des compensations pour anuler
   partiellement ou totalement la transaction
 * 2 approches
 * choereographie: passage des messages d’un service a l’autre
 * 1. orchestration: un swervice coordonne les autres et fait les appels
 * dual write: inconsistence si un ou l’autre des envois (DB tx ou message)
   echoue
 * Article ensuite decrit 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 jaxcenter

 * 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 6h% 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
 * Macen 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 aprendre les
   choses a maé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 (camember, barres etc) avant
   d’avoir vu votre data dessus.
 * 90% des bugs suir 10% des fonctionalité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 incentividation 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 exfiltre 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
 * Ethique 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/

Direct download: LesCastCodeurs-Episode-251.mp3
Category:podcasts -- posted at: 7:31pm CET

--------------------------------------------------------------------------------

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

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’assault 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’oeil : Le fondateur de Piratebay 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

 * Les expresssions et tags utilisés par les supporters de Trump ont baissés de
   95% après le bannissement. (#FightforTrump, #HoldTheLine, March from Trump…)

 * D’après les chercheurs en désinformation il y a très peu de compte à la
   source (une vingtaine de comptes conservateurs dont celui de Trump) mais ceux
   ci sont qualifiés de “superspreader” car ils sont massivement repartagés,
   quelque soit le sujet.

 * Les politiques du monde entier déstabilisés par la déplateformation de Trump
   et les questions qu’elle soulève


GAFAM

 * Des salariés de Google créent un syndicat après des mois de tensions internes


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/

Direct download: LesCastCodeurs-Episode-250.mp3
Category:podcasts -- posted at: 8:56am CET

--------------------------------------------------------------------------------

Mon, 15 February 2021
LCC 249 - Édition tu perds tes amis

Emmanuel Antonio et Guillaume discutent de Java 16, de GraalVM, de micronaut, de
Quarkus, de licence Elastic, de BinTray qui s’en va et d’attaque de chaine de
fournisseurs. Et merci à José Paumard et Benoit Sautel pour leur crowdcast.

Enregistré le 12 février 2021

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


NEWS


LANGAGES

Optimiser le MD5 dans la JVM

 * dans la tête d’une optimisation du JDK
 * optimisation proposée amène des surcharges de contentions (thread local)
 * donc exploration de l’alternative
 * difficulté des codes intrinseques (c’est à dire quand un pattern est détecté,
   le code est hardcodé par platforme.
 * Donc tout changement du code qui sort du pattern veut dire pas mal de taf)

Conversion hexadecimal en Java 17

Crowdcast de José sur Java 16 et article de Loic sur le sujet Java 16

 * Socket channels (Unix domain) Court circuit de la stack tcp, pas de file
   descriptor de mémoire
 * Api vectorielle avec optimisation par plateforme
 * Foreign linker api pour panama
 * Et le support appel natif
 * Support alpine (musl) et aarch64 pour Windows
 * Record et pattern matching instanceof deviennent standard
 * Illegal access passe en deny par défaut. Ça pue ;)

Java sur Truffle dans GraalVM

 * le GC reste sur la JVM hote qui peut etre hotspot ou SubstrateVM
 * Dans le cas de SubstrateVM, ça veut dire que Java peut etre interprété dans
   ce mode ahead of time compiled (donc in JIT est embarqué). Pour faire tourner
   certains morceaux de Java “dynamique” ça peut valoir le coup
 * Sinon c’est la vision de GraalVM de la VM universelle donc supporter Java
   “comme les autres langages” fait partie du puzzle
 * Mais bon c’est dur de comprendre leur strategie

Crowdcast JavaScript GraalVM de Benoit Sautel

 * L’API Polyglot
 * Appeler du Javascript depuis la JVM
 * Migrer depuis Nashorn
 * Démonstration et benchmark GraalJS avec Maven
 * JEP 243 Java-Level JVM Compiler Interface
 * Interview d’un responsable de GraalVM sur Nashorn vs GraalVM

JBang - comment écrire des scripts en Java

 * pourquoi les gens écrivent des scripts dans d’autre langages que Java
 * un seul fichier, pas de structure complexe y compris dans les dependances
 * un demarrage juste en lançant le ficher
 * crée un environnement pour l’IDE

Element worklet, rendre JavaScript preemptif

 * Proposition de creation d’élément de code JavaScript qui peut tourner hors du
   thread principal by design.
 * JS peux rendre la main mais c’est non preemptif (yield, promesses etc) et
   uniquement à un endroit précis
 * Donc création de Element Worklet (un comme un runnable en Java) qui tourne
   dans un thread séparé, avec un message channel pour communiquer avec le reste
 * Travaille sur un shadow dom
 * par contre rien n’est détaillé sur le scheduler et la priorisation


LIBRAIRIES

Driver JDBC Oracle sur Maven Central!

 * Drivers support for Virtual Threads
 * Extension reactives
 * GraalVM native image (mais encore des trucs a amelioerer (allow incomplete
   classpath)

Micronaut 2.3

 * support de JMS
 * résolution de la Locale
 * améliorations au système d’introspection
 * bannière personnalisable

Fondation pour Grails

 * Idée des fondations était venu ensemble avec Micronaut
 * Mais voulait apprendre de l’un avant de lancer l’autre
 * Embrasse semver
 * Le technical commutee va décider de la roadmap de ce que j’ai compris
 * Intégration initiale de micronaut dans Grails 4
 * Plan: TX mongo dans GORM. Groovy server pages plus modulaire, native web
   socket, meilleure intégration Kafka
 * Plan grails 5: Groovy 3, SB 2.4, gradle 6 et Java 15

Quarkus 1.11

 * RESTEasy Reactive
   * Annotation scanning, metamodel generation au build, base sur vert.x route
 * Dev UI
   * les frameworks amènent des tâches de dev (config, list des bean CDI,
     database schema migration etc)
 * Massive performance without headaches


INFRASTRUCTURE

Les rebondissements d’Elastic vs AWS et du changement de licence

 * Clarification d’Elastic
   * “si vous vendez Elasticsearch directement en tant que service, vous serez
     impacté”
   * entre les annonces et la licence, il y a une difference
   * est-ce que tout competiteur sérieux à Elastic amènera un changement de
     licence?
   * est-ce que Lucene est le prochain sur la liste?
   * reflechissent à une license qui ouvre le code apres 3 à 5 ans BSL (Business
     Solftware License qui se transforme en ASL apres quelques années, et qui a
     une clause restrictive avant)
 * La distribution Elastic d’Elasticsearch avait déjà un mix de ASL et de
   logiciels sous license proprietaire mais “source ouverte”
 * AWS forks Elasticsearch
   * Montrent les contribs ~10 sur Elasticsearch et annonce 250 contributions
     sur Lucene
 * Les clients Elasticsearch resteront ASL 2.0
   * mais pas le client Java haut niveau qui a des dependence’s sur les classes
     serveur. Un nouveau client devrait arriver.
 * Retour de l’ex CTO de Chef et sa position “pro” AWS et contre Elastic
   * contre point de la position des gens du Message a caractere informatif
   * 4 valeurs de l’OSS:
     * The freedom to run the program as you wish, for any purpose
     * The freedom to study how the program works, and change it so it does your
       computing as you wish
     * The freedom to redistribute copies so you can help others
     * The freedom to distribute copies of your modified versions to others
     * at its heart, Open Source and Free Software are about the freedom to make
       the system work the way you wish
   * au dessus est la communaute et le benefce de distribution qui fait un plus
     group morceau de clients potentiels
   * Shay B - By putting the core of Elasticsearch into the open, we can presume
     he wanted the business value benefits of Open Source — collaboration in the
     commons, low friction acquisition for users, and hopefully the growth of an
     ecosystem around it. He got it
   * tight open core - direct, and often critical, features are only available
     under a proprietary license
   * co-mingle the source code for these features in the primary Elasticsearch
     repository
   * Elastic NV creates a world where it is very, very difficult to collaborate
     only on the open source pieces.
   * to whom does Elasticsearch belong? The community, or Elastic NV?
   * Elasticsearch […] exists primarily to fuel the commercial ambitions of
     Elastic NV
   * I, as a contributor, want to change the course of Elasticsearch in ways
     that benefit me (and perhaps others), but does so at the expense of Elastic
     NV, will I get that opportunity? The answer is most likely no — you will
     not.
   * That truth is ultimately corrosive to sustainable communities.
   * This is the deepest, most fundamental truth about Open Source and Free
     Software in action. That you, as a user, have rights. That those rights are
     not contingent on the ability of someone else to capture value.
   * Companies who decide to build their business on Open Source cores need to
     get much more aggressive about their trademark policies. It should be clear
     and unambiguous that your trademark cannot be used for another product
     without your permission. If I may go further, I would make it clear that
     nobody but your company can create a distribution with your trademark on it
     at all, without your permission.

Docker donne Docker Distribution à la CNCF

 * code déjà ouvert et utilisé par certains mais avait forké
 * c’est le coeur de DockerHub et est une container registry
 * objectif extensibilité pour les usages particuliers des uns et des autres
   (systeme de stockage etc)


WEB

Angular CLI 11.1

 * Support TypeScript 4.1
 * nouveau plugin webpack pour le compilateur Ivy (pas d’effet visible attendu)
 * scelection des CSS critiques pour un chargement initial et inlining => opt-in
   pour l’instant
 * EcmaScript 5 polyfill a été enrichi


OUTILLAGE

JFrog annouce que BinTray c’est fini

 * aussi jcenter, gocenter, chartcenter etc
 * fin des push 31 mars et fermeture de l’API REST et l’interface le 1er mai
 * l’url jcenter continue encore un an
 * si les projets utilisaient la synchro sur central, les pachkages seront là
 * sinon il va falloir copier
 * et les scripts font devoir evoluer
 * questions sur la scalabiluté de MAven Central
 * Brian Fox de Sonatype nous dit que tout va bien se passer
 * Le blog officiel de Sonatype.

Attaque de suply chain par squattage de nom privés

 * chercher le nom de dépendances privées d’organisations
 * publier une version “supérieure” sous le meme nom dans un repo public
 * profit !

Déployer sur Maven Central avec une action GitHub

 * Le Java action workflow fait plus que preparer Java
 * avec clef GPG et tout

JHipster Quarkus 1.0.0 contribué par Daniel Petisme et Anthony Viard

 * JHipster Quarkus est un “blueprint” JHipster qui permet de surcharger la
   mécanique de génération pour obtenir un backend qui s’appuye sur Quarkus
   plutôt que Spring. Cela permet de généré rapidement une application fullstack
   (front + back).
 * contenu Twitch d’antony

Homebrew 3.0.0 est sorti

 * support officiel de Apple M1 avec des bottles native. Pas tous les binaires
   installable ne supportent M1


SÉCURITÉ

Dépassement de pile dans sudo

 * introduit en juillet 2011


LOI, SOCIÉTÉ ET ORGANISATION

Jeff Bezos ne sera plus CEO d’Amazon (juste président du directoire)
Sacha Labourey aussi quitte le poste de CEO de CloudBees pour devenir Chief
Strategy Officer

 * passer de 100 a 250 M
 * IPO
 * Le blog de Sacha


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/

Direct download: LesCastCodeurs-Episode-249.mp3
Category:podcasts -- posted at: 10:48am CET

--------------------------------------------------------------------------------

Fri, 12 February 2021
LCC 248 - Spécial Loi Société et Organisations avec Agnès Crepet et Tariq Krim -
partie 1

L’actualité du mois de janvier était trop tentante pour passer à côté, voici
donc un nouvel épisode spécial loi, société et organisations ! 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–248.mp3


INVITÉ DE L’ÉPISODE

Twitter Tariq Krim


PROTECTION DES DONNÉES

WhatsApp met à jour sa politique de confidentialité et provoque une immense
vague de départ des utilisateurs vers Signal et Telegram

 * les nouvelles données partagées sont celles ci : « nous partagerons certaines
   de vos informations de compte avec Facebook et la famille de sociétés
   Facebook, telles que le numéro de téléphone que vous avez vérifié lorsque
   vous vous êtes inscrit sur WhatsApp, ainsi que la dernière fois que vous avez
   utilisé notre service "
 * elles ne sont pas optionnelles

Les européens ne sont pas concernés(mais les britanniques si puisqu’ils relèvent
maintenant des US)

 * Avec plus d’un quart des utilisateurs, l’Inde demande à WhatsApp d’annuler
   ses nouvelles conditions
 * faisant le constat que les citoyens de l’UE sont traités différement en vertu
   du RGPD, le ministère indien des technologies de l’information a demandé à
   whatsapp de retirer ces propositions de changement au motif qu’« Un tel
   traitement différencié est préjudiciable aux intérêts des utilisateurs
   indiens et perçu comme un grave problème par le gouvernement ».

Par quoi remplacer WhatsApp ?

 * Trois alternatives françaises et gratuites à WhatsApp qui protègent vos
   données personnelles

 * Option la plus simple : Signal
   * points forts :
     * open source
     * gérée par une fondation à but non lucrative (signal.org) financée par des
       dons
     * son protocole de chiffrement a été validé par l’Agence nationale de la
       sécurité des systèmes d’information (ANSSI)
     * la loi de Metcalfe (l’effet de réseau) joue en sa faveur pour le moment
   * point faible : hébergé aux US donc sous le Cloud Act
 * Dans les applications françaises :
   * Olvid
   * points forts :
     * pas d’accès au carnet d’adresse, l’ajout de nouveaux contacts se fait
       manuellement
     * a reçu l’approbation de l’ANSSI
   * Citadel team
   * point faible : développé par Thales
   * Skred :
   * points forts :
     * appels audios et vidéos inclus dans la version gratuite
     * a reçu l’approbation de l’Agence nationale de la sécurité des systèmes
       d’information (ANSSI).

En parallèle de cette affaire,WhatsApp est menacé par une amende record en
Europe concernant ses transferts de données vers Facebook

 * pas lié à la polémique actuelle mais au modification des conditions
   d’utilisation de WhatsApp en 2016 par lesquelles Facebook s’est s’autorisée
   le partage de certaines données que des internautes avaient pu préserve
   jusqu’à lors.
 * c’est la CNIL irlandaise qui s’est saisie du sujet et la sanction financière
   pourrait aller jusqu’à 30 voire 50 millions d’euros pour avoir enfreint les
   exigences de transparence imposées par le RGPD. (Plus exactement, c’est
   l’opacité sur la manière dont il partage des informations avec Facebook, sa
   maison-mère, qui est en cause.)

A Game Designer’s Analysis Of QAnon


A SUIVRE

Dans la deuxième partie de l’épisode on parlera de la déplateformisation de
Donald Trump


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/

Direct download: LesCastCodeurs-Episode-248.mp3
Category:podcasts -- posted at: 9:42am CET

--------------------------------------------------------------------------------

Mon, 18 January 2021
LCC 247 - Cette fois-ci nous n'avons pas perdu Guillaume!

Dans ce premier épisode news de l’année Guillaume est de retour et sans accrocs
(enfin presque). Accompagné d’Arnaud ils parcourent les nouvelles techniques de
fin 2020, début 2021. Ils nous parlent de Java (Hashcode, Loom, records), des
news Spring (SpringBoot, SpringCloud, JHipster), du changement de license chez
Elastic, de CSS (Bootstrap, Tailwind.CSS), de Gradle et d’autres sujets
Sécurité, Architecture et Méthodologie.

Enregistré le 15 Janvier 2021

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


NEWS


LANGAGES

 * Comment les hashcodes sont générés en Java. Et non ce ne sont pas les
   adresses mémoires. Le code utilises un modèle sans contention et très rapide.
   Quasi comme celui qui ramène une valeur constante.
 * Utiliser les Java Records avec Jackson (et Spring Boot) (Mais pas pour la
   persistence avec JPA/Hibernate)
 * Project Loom & Jetty: 1000000 Virtual Thread oui mais pas avec une stack de
   taille décente. Et ça fait de la poubelle à collecter. loom ne remplace pas
   l’usage des thread pool pour la contention de resources autre que les threads
   (DB connection, mémoire, CPU). Les VirtualThreads ne sont pas encore
   optimisées pour les ThreadLocals. Donc VirtualThread pas forcément l’unité de
   montée en charge naturelle. (Une partie 3 de se blog est prévue dans quelques
   semaines)


LIBRAIRIES

 * JHipster 7.0.0 avec pas mal d’incompatibilités.
 * Spring Cloud Contract 3.0: Incremental Test Generation for Maven, Resolves
   Credentials from settings.xml, Rewrite Groovy to Java, Allow to Extend
   Contract & Stubs, New [Custom] Mode of Test Generation, Experimental GRPC
   Support, GraphQL Support, Stub Runner Boot Thin JAR, Messaging Polyglot
   Support, Messaging with Existing Middleware, Gradle Plugin rewrite.
 * Spring Cloud 2020.0.0, enfin la version compatible avec Spring Boot 2.4.x.
   Nouveau versioning comme annoncé il y a quelques mois.. Attention à la
   fonctionnalité de bootstrap qui est désactivée par défaut. Attention si vous
   utilisez Spring Cloud GCP le projet a déménagé et et n’est plus dans le
   release train
 * TOML 1.0 est dispo et TOML Schema en route.


INFRASTRUCTURE

 * Elastic suit MongoDB et remplace la license ASF 2.0 pour Elasticsearch et
   Kibana au profit d’un dual licensing Elastic License + SSPL. Tout comme mongo
   le but est de se protéger des AWS et consorts en empêchant le hosting sans
   recontribution vers la « communauté »


WEB

 * Bootstrap 5.0.0 passe en beta 1.
 * Le CSS version Bootstrap (approche composants) vs le CSS version Tailwind.CSS
   (approche boite à outils).


OUTILLAGE

 * Gradle 6.8 est la dernière release avant la version 7. La version 6.8 apporte
   d’importantes améliorations des performances dans la version Kotlin, des
   améliorations sur les caches (notamment les plugins checkstyle, pmd,
   codenarc, jacoco ). Améliorations sur la feature toolchain, les composites
   builds et la gestion des dépendances …
 * Le problème avec Gradle article de Cédric Champeau, dev Gradle en réponse à
   Le problème avec Gradle de Bruce Eckel. On y parle des principes de bases
   (taches et dépendances), configuration vs programmation du build, Groovy,
   DSL, de faire la même chose de 36 manières, de magie et de cycle de vie


ARCHITECTURE

 * un retour intéressant sur Amazon qui est passé de Sun à Linux / x86 pendant
   la bulle de 2000 au lieu de rester dans son modèle existant. Ça explique un
   choix intéressant : en cas de crise, soit tu pousses à te réinventer avec le
   risque d’échouer et de couler rapidement, soit tu optimises ce que tu as avec
   le risque d’être balayé « a petit feu ». Amazon n’avait plus que quelques
   trimestres devant eux et ont arrêté les features pendant la transition.


MÉTHODOLOGIES

 * It’s pull from production, not push to production avec CDN sur le front et
   serverless sur le back, la prod est juste un changement de DNS. Toutes les
   branches peuvent être en prod. main n’est pas la prod mais l’accord des
   fonctionnalités partagées.
 * Comment prendre des notes … pour ne pas faire un cimetière de notes mais
   réellement un référentiel personnel de connaissances.


SÉCURITÉ

 * Attaque SolarWinds. Une attaque etatique hack plusieurs agences americaines,
   microsoft et 18000 autres entités. Des articles commencent à cibler Jetbrains
   Teamcity comme vecteur d’attaque utilisé pour infester SolarWinds mais
   JetBrains s’en défend (article 1, article 2)


CONFÉRENCES

 * Web Stories le 5/2 en ligne https://webstoriesconf.com/
 * Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/
 * Devoxx France du 31 juin au 2 Juillet en présentiel https://www.devoxx.fr


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/

Direct download: LesCastCodeurs-Episode-247.mp3
Category:podcasts -- posted at: 2:38pm CET

--------------------------------------------------------------------------------

Tue, 12 January 2021
LCC 246 - spécial Loi Société et Organisations avec Agnès Crepet

Dans cet épisode d’un format inédit, Audrey et Emmanuel recoivent Agnès Crepet,
directrice technique chez Fairphone, pour discuter de l’actualité de ce qui
d’habitude fait l’objet d’une rubrique dans les épisodes news mais qui commence
à prendre beaucoup de place : la partie loi, société et organisations. Ca
discute télétravail, cryptomonnaies, souveraineté numérique européenne, taxe
numérique, protection des données, haine en ligne et surveillance de masse. On
attends vos retours pour savoir s’il faut en faire d’autre de ce format (ou
pas).

Enregistré le 6 janvier 2021

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


TÉLÉTRAVAIL

Les demandes de surveillance des employés ont augmenté de 51% depuis le début de
la pandémie

 * Télétravail : la Cnil interdit les keyloggers et tous les outils de
   surveillance déloyale du salarié
 * Télétravaillez, vous êtes fliqués
 * Les questions-réponses de la CNIL sur le télétravail
   * hausse de 87% des recherches sur les outils de monitoring des employés en
     avril et encore 71% plus élevées que la normale en mai
   * tableau qui récapitule tous les outils qui peuvent être utilisés ainsi que
     leur différentes fonctionnalités
   * 81% d’entre eux proposent du keystroke logging qui permets à l’employeur de
     vérifier tous les clics effectués, toutes les touches du clavier frappées
     et d’avoir ainsi accès à toutes les conversations. Certains proposent même
     la capture de mots de passe !
   * la seconde problématique posée par ces outils c’est qu’ils proposent pour
     la plupart des réductions sur les abonnements à l’année, ce qui menace de
     rendre leur usage permanent
   * La CNIL a elle enregistrée une hausse des questions liés à ces outils et a
     donc publié une liste de question réponses sur le sujet
   * 2 choses sont à retenir :
     * l’employeur ne peut pas placer ses salariés sous surveillance permanente,
       sauf cas exceptionnels liés à la nature de la tâche, comme par exemple la
       sécurité de sites ou de produits sensibles
     * il faut toujours que le salarié et que le CSE, le Comité économique et
       social, soient informés au préalable de la mise en place d’un outil de
       surveillance. Cela correspond à l’obligation de loyauté de l’employeur
       vis à vis de ses salariés. Il ne doit pas chercher à les piéger.
   * Sont donc formellement interdits les partages permanents d’écran,
     l’utilisation de « keyloggers », la surveillance constante via des
     dispositifs vidéo ou audio ou encore « l’obligation pour le salarié
     d’effectuer très régulièrement des actions pour démontrer sa présence
     derrière son écran ».
   * En matière de visioconférence, la CNIL rappelle que l’employeur ne peut
     obliger son salarié à activer sa webcam (sauf cas exceptionnels, comme une
     démonstration produit par exemple) et qu’une « participation via le micro
     est suffisante ». Avant de conclure qu’en cas de surveillance excessive des
     salariés, elle dispose d’une « chaîne répressive complète lui permettant de
     mettre en demeure les organismes » et de prononcer des sanctions.


CRYPTOMONNAIES SOUVERAINES VS INITITIVES PRIVÉES

Le Libra pourrait se lancer dès janvier dans une version «a minima»

 * avec des objectifs revus à la baisse suite au tollé des banques centrales et
   des autorités financières
 * la première version serait un actif arrimé uniquement au dollar («stable
   coin») sous réserve d’avoir obtenu d’ici là une licence en tant que système
   de paiement de l’autorité suisse de surveillance des marchés financiers, la
   Finma, au lieu d’être arrimés à un panier de devises
 * voir ep 214 et 218 pour l’historique

La BCE a lancé une consultation publique sur l’Euro numérique

 * consultation lancée le 1er novembre, et ouverte jusqu’au 21 janvier 2021.
 * inscription sur la page dédiée pour recevoir le lien
 * l’euro numérique serait la forme électronique de l’euro émise directement par
   la BCE
 * ce ne serait pas un remplacement à l’euro fiduciaire en net recul mais un
   complément
 * plusieurs raisons :
   * hausse de la demande de paiements électroniques dans la zone euro
   * contrer le lancement des initiatives privées
   * anticiper un évènement extrême qui pourrait mettre à mal les moyens déjà
     existant
 * la décision ou non de poursuivre le projet reviendra au conseil des
   gourverneurs de la BCE mi 2021

Le Japon annonce la création d’une cryptomonnaie souveraine pour 2021

 * 30 grandes entreprises participent à la création de cette monnaie
 * objectif avoir une monnaie qui peut rendre les différentes plateformes
   mutuellement compatibles, aucune de ses plateformes numériques n’étant assez
   solide pour surpasser les paiements en espèces
 * sera soumise à l’approbation des citoyens
 * la Chine a déjà fait des tests au printemps dernier et prévois un déploiement
   en 2022


SOUVERAINETÉ NUMÉRIQUE EUROPÉENNE (EN MODE FAIL)

En novembre 2020, Palantir (la société américaine derrière Cambridge Analytica)
a rejoint GAIA-X en tant que membre. GAIA-X a été conçu comme une infrastructure
de données et un écosystème numérique ouvert «initié par l’Europe, pour
l’Europe» pour soutenir la compétitivité mondiale des entreprises européennes

BPI France soutient AWS pour équiper les sociétés françaises


TAXE NUMÉRIQUE

Cette fois c’est sûr, la France taxera les géants du numérique en décembre

 * La taxe GAFA en panne faute de consensus à l’OCDE

 * Taxe GAFA : comme la France, ces pays asiatiques taxent déjà les géants de la
   Tech

 * Netflix décide de payer ses impôts en France
   
   * la taxe GAFA initiée en décembre 2018, déjà prélevée en 2019, l’état avait
     accepté de suspendre le paiement des acomptes dus en 2020 pour donner sa
     chance au processus de l’OCDE.
   * prélèvement de 3% des revenus réalisés en France par les entreprises dont
     le chiffre d’affaires est supérieur à 25 millions d’euros dans l’Hexagone
     et à 750 millions d’euros dans le reste du monde
   * application suspendue le temps de trouver un accord au niveau de l’OCDE
     pour ne pas déclencher une guerre commerciale (mais le risque c’est que les
     GAFAM fasse porter la taxe sur les clients également)
   * cet accord n’a toujours pas été trouvé mais il se pourrait que l’UE créé sa
     propre taxe numérique en 2021 si les négociations n’aboutissent pas.
   * Des pays asiatiques comme la Thaïlande, l’Indonésie, la Malaisie ou
     Singapour ont également commencé à mettre des taxes en place, preuve que la
     pratique de l’évasion fiscale des géants du numériques agacent partout
   * Netflix de son côté a pris les devants dans plusieurs pays d’Europe
     (France, UK, Espagne) en décidant de transférer les abonnements de ces pays
     aux entités locales pour que les impôts soient payés en fonction du nombre
     d’abonné par pays, et plus aux Pays Bas.


PROTECTION DES DONNÉES

Amende record contre Amazon et Google : le coup de semonce de la CNIL

 * la CNIL a imposé, le 10 décembre, des amendes de 100 et 35 millions d’euros
   contre Google et Amazon pour non respect du RGPD
 * jusqu’en septembre 2020, des cookies étaient déposés pendant la navigation
   sans demande de consentement de l’utilisateur
 * le montant de l’amende est calculée en fonction du chiffre d’affaire de la
   maison mère mais aussi du nombre de personnes concernées par le manquement.
 * à l’avenir les amendes pourraient donc être beaucoup plus lourdes

L’Europe valide le rachat de Fitbit en soumettant Google à des engagements sur
10 ans

 * Le rachat est validé à certaines conditions que Google doit respecter pour
   une période de surveillance de 10 ans, potentiellement renouvelable une fois
   et pour laquelle la Comission Européenne exige un mandataire.
 * ils concernent la publicité, le maintien de l’accès gratuit à l’API pour des
   applications tierces et une série d’engagements concernant les API Android
   pour garantir leur accès dans les mêmes conditions qu’aujourd’hui.
 * Plus spécifiquement sur la publicité :
   * l’interdiction d’utiliser au niveau européen les données de santé et de
     bien-être à des fins de publicité, lorsque ces informations proviennent des
     produits Fitbit (y compris les données entrées manuellement ou obtenues par
     des capteurs, dont le GPS) ;
   * la séparation technique des données relatives à la clientèle Fitbit, de
     manière à les isoler de toute autre donnée de Google utilisée à des fins
     publicitaires — Bruxelles évoquant ici le principe d’un silo de données ;
   * le choix laissé aux individus d’autoriser ou refuser que leurs données de
     santé et de bien-être puissent être utilisées par d’autres services de
     Google (comme la recherche, YouTube, Maps ou Assistant).

[Le Digital Services Act et Digital Market Act en 6
questions])(https://siecledigital.fr/2020/12/16/digital-services-act-en–6-questions/)

 * Le Digital Services Act Package

 * un texte qui gêne avant même son débat
   
   * le 15 décembre la Commission Européenne (CE) a présenté son projet de loi
     de réglementation de l’espace numérique en deux parties : le Digital
     Services Act, et le Digital Market Act.
   * le DSA concerne les contenus publiés en ligne, et veut pousser les
     plateformes à prendre leur responsabilités face aux contenus qu’elles
     publient mais aussi à justifier ceux qu’elles censurent
     * il concerne toutes les plateformes sans exception
   * le DMA porte lui sur les marchés numériques et plus précisément elle
     forcera les plateformes à rendre des comptes sur le fonctionnement de leurs
     algorithmes et l’utilisation qu’elles font des données privées. Le but est
     de s’assurer que ces entreprises n’abusent pas de leur position dans
     certaines activités pour étendre leur domination à des marchés connexes.
     (exemple : android et google)
     * il portera sur les plateformes qui ont un impact significatif sur le
       marché (chiffres d’affaires de plus de 6,5 milliards d’euro, ou
       capitalisation boursière ou valorisation à 65 milliards), qui ont au
       coeur de leur business une plateforme qui permets aux utilisateurs
       commerciaux de toucher des utilisateurs finaux (10% de la population
       européenne soit 45 millions d’utilisateurs actifs mensuels), et ceux qui
       jouissent d’une position affirmée et durable qui risque donc de durer
       dans le temps
   * comment va se passer la régulation ?
     * mise en place de silo pour empêcher la mutualisation de données entre les
       services de l’entreprise (ex whatsapp et facebook) sauf autorisation de
       l’utilisateur final
     * obligation de ne pas bloquer l’accès à une plateforme, à un utilisateur
       commercial ou final qui ne serait pas inscrit à cette même plateforme
     * Donner aux annonceurs et aux éditeurs à qui le gatekeeper offre des
       services publicitaires, à leur demande, le prix payé par l’annonceur, ou
       l’argent récolté par l’éditeur.
     * les GAFAM étant de plus en plus accusées d’empêcher l’émergence de
       compétiteurs en les rachetant, ces grandes entreprises devront désormais
       notifier à Bruxelles leurs projets d’acquisition en Europe
   * quelles seront les sanctions ?
     * en fonction du chiffre d’affaire et du projet de loi : 10% dans le DMA et
       6% dans le DSA.
     * en cas de récidive le démantelement pourrait être promulgé
   * objectif : adoption en 2022, mais sachant qu’il a fallu 4 ans pour le RGPD
     c’est pas gagné
   * bien entendu les GAFAM sont vent debout contre le texte et un document
     interne de Google assez virulent et projetant de semer la zizanie entre les
     services européens a d’ailleurs fuiter jusqu’à Thierry Breton (Commissaire
     européen à l’Industrie, au Marché intérieur, au Numérique, à la Défense et
     à l’Espace) obligeant Sundar Pichai à s’excuser en pleine réunion

Des articles de la loi Avia censurée seront réintroduits dans le projet de loi «
Séparatisme »

 * le Conseil Constitutionnel ayant repéré de multiples atteintes à la liberté
   d’expression dans le projet de loi dit “contre la haine en ligne” l’avait
   vidé de sa substance
 * le secrétaire d’Etat au numérque Cédric O a donc plaidé pour une
   réintroduction de ceux ci, en plaidant une anticipation du Digital Services
   Act, ce qui est un moyen de faire pression sur la réforme à venir
 * « L’obligation de moyens est au coeur de la proposition européenne de Digital
   Services Act. Nous pourrions la traduire par anticipation dans le projet de
   loi sur les séparatismes, compte tenu de l’urgence » a t’il déclaré le 9
   novembre.

Vie privée : pourquoi Facebook se sert des PME et des médias pour attaquer Apple
et iOS 14

 * La dernière mise à jour d’iOS 14 renseigne de façon très détaillée tout ce à
   quoi a accès une application.

 * Dans le cas de Facebook, la liste est quasi interminable

 * Comme le réseau sait qu’il n’a pas à attendre de compassion s’il se plaint de
   son sort, il a attaqué Apple mais sans se mettre en avant : il a pris la
   défense des petits commerçants et des médias gratuits sur le web.

 * Selon Dan Levy, le vice-président chargé de la publicité et du business chez
   Facebook, la nouvelle politique d’Apple obligera les entreprises à se tourner
   vers des abonnements et des solutions de paiement inclus dans l’application
   pour obtenir des revenus, ce qui signifie qu’Apple en profitera et que de
   nombreux services gratuits devront commencer à être facturés ou quitter le
   marché »

 * De son côte Apple estime que « Les utilisateurs doivent savoir quand leurs
   données sont collectées et partagées avec d’autres applications et sites web
   — et ils doivent avoir le choix de l’autoriser ou non. La transparence du
   suivi des applications dans iOS 14 n’oblige pas Facebook à modifier son
   approche du suivi des utilisateurs et de la création de publicités ciblées,
   elle exige simplement qu’il donne le choix aux utilisateurs ».

 * La bataille pourrait se poursuivre juridiquement car ce n’est pas la seule
   disposition prise par Apple qui pose problème aux annonceurs, il y a
   également la nouvelle mesure d’anti pistage d’iOS 14 qui prévoit de revoir
   les conditions d’accès à l’IDFA (« IDentifier For Advertisers »),un
   identifiant aléatoire attribué à chaque appareil, et qui a été retardée

 * Mozilla a mis en ligne une pétition pour soutenir Apple

L’OMC s’inquiète du protectionnisme numérique

 * l’OMC fait le constat que la pandémie à accéléré la mondialisation numérique
   (solutions de paiement électronique par ex) mais que au cours des derniers
   mois les conflits se sont multipliés (Etats Unis et Huawei, Washington qui
   sors des discussions à l’OCDE sur la taxe numérique, l’Inde qui bloque
   plusieurs applis chinoises etc.)
 * elle s’inquiète du protectionnisme numérique qui menace la libre circulation
   des données alors qu’elles sont devenues indispensables à l’économie mondiale
   et que dépendent d’elles des secteurs d’activités entiers
 * elle parle d’émergence d’une quatrième révolution industrielle qui «
   transforme nos façons de vivre et de travailler » et de « servicification »
   (ex Siemens qui ne fait plus que des appareils industriels mais aussi des
   services de maintenance avec les capteurs installés dessus)
 * elle s’inquiète aussi de l’émergence de géants en position dominante et
   souligne la faible part de l’emploi dans leur valeur ajoutée.
 * elle s’inquiète aussi du fossé numérique qui existe entre les pays
   développés, émergents et à bas revenus dûs au coût de l’accès à la data
 * elle appelle les pays à harmoniser leurs standards enb terme de protection
   des données afin d’éviter la multiplication des politiques restrictives qui
   en matière numérique ont la particularité de ne pas être tarifaires mais sous
   forme de restrictions au transfert de données.
 * certains groupes de reflexion militent pour la création de zones commerciales
   numériques, où les échanges ne seraient autorisés qu’entre pays membres qui
   adhèrent aux mêmes règles quant à la protection des données et à la sécurité
   et d’autres pour la création d’une alliance technologique, sur le modèle du
   G7, pour élaborer des règles communes dans l’espace numérique


HAINE EN LIGNE, DÉSINFORMATION ET LIENS ENTRE POLITIQUES ET RÉSEAUX SOCIAUX

La « cour suprême » de Facebook a (enfin) sélectionné de premiers cas à trancher

 * Il s’agit d’un conseil de personnalités extérieures, annoncé par Facebook
   depuis début 2018 mais toujours pas opérationnel qui va évaluer, sous
   quatre-vingt-dix jours, si le réseau social a eu raison de dépublier certains
   contenus litigieux.
 * Le premier concerne la France et le COVID 19, les autres concerne la
   republication de propos du premier ministre malaisien menaçant les citoyens
   français au nom de la défense des musulmans, huit photos de poitrines
   féminines montrant des symptômes de cancer du sein retirées pour « nudité »,
   une citation du nazi Joseph Goebbels publiée pour « dénoncer » la politique
   du président américain Donald Trump et deux autres qui concernent le peuple
   ouïgour et le conflit au Haut-Karabakh entre l’Azerbaïdjan et l’Arménie.
 * Les litiges ont été sélectionnés parmi 20 000 contestations envoyées au
   conseil de surveillance de Facebook (son nom officiel). Les tiers peuvent les
   commenter pendant huit jours. Puis des panels de cinq membres de la cour
   (juristes, membres d’ONG…) pourront obtenir du contexte local ou une
   traduction auprès d’experts. Et diront s’il faut les republier.
 * C’est un test majeur pour cette structure, qui doit encore prouver son
   utilité et qui a choisit pour commencer des cas où des principes sont en jeu
   et qui influenceront la façon dont Facebook applique ses règles de modération
   d’après Helle Thorning-Schmidt, ex-première ministre danoise, dirigeante de
   l’ONG Save the Children et l’une des quatre présidentes du conseil.
 * Un autre point est très attendu : la possibilité de juger des contenus
   laissés en ligne par le réseau, accusé de laxisme concernant des messages de
   haine ou du président Trump, ce qui devrait être possible début 2021 d’après
   Mme Thorning-Schmidt

Nombreux départs à Facebook après les éléctions américaines

 * un des data scientist de l’équipe violence et incitation à la haine a quitté
   l’entreprise après 2 ans et dans son mot de départ il explique qu’il devient
   embarassant de travailler pour Facebook
 * même s’il est très content du travail accompli par son équipe, il estime que
   la tâche d’arrêter la haine et la violence sur Facebook est inachevable du
   fait de certaines forces en interne qui les promeuvent.
 * d’après les données sur lesquelles il a travaillé en interne, 1 contenu sur
   1000 publié enfreint les règles de Facebook sur les discours à la haine, mais
   même avec l’aide de l’IA et de modérateurs tiers, Facebook supprime moins de
   5% de tout les contenus haineux publiés sur son réseau.
 * depuis mai, beaucoup d’employés ont quitté l’entreprise au motif qu’ils
   avaient honte de l’impact que leur entreprise avait sur la société ou parce
   qu’ils étaient inquiet de l’inaction de l’entreprise dans la modération des
   contenus haineux ou de désinformations
 * plus inquiétant, dans les dernières semaines de l’année, au moins 4 employés
   impliqués dans des travaux critiques autour de la baisse de la violence et de
   l’incitation à la haine, l’élaboration d’une politique de réduction des
   discours haineux et le tracking de contenu qui enfreignent les règles de
   l’entreprise ont quitté la compagnie
 * ce manque d’action serait en parti volontaire et du, aux Etat Unis en tout
   cas, au fait que beaucoup des posts menant à des interactions haineuse
   proviennent de pages affiliées de près ou de loin aux Républicains, et que
   l’entreprise ne souhaite pas se les mettre à dos
   * preuve à l’appui avec un outil interne le “hate Bait dashboard”, donc le
     tableau de bord des pages incitant à la haine, qui liste les pages qui aux
     US ont concentrées le plus grand volume d’interaction enfreignant les
     régles sur les discours haineux
   * toutes les pages sont associées à des personnalités ou des marques
     conservatrices dont entre autre Breitbart News, Fox News, le compte de
     campagne de Donald Trump et son compte personnel.
   * c’est le cas par exemple du post de Trump déclarant que «Quand les pillages
     commencent, les coups de feu aussi» au moment des émeutes après le meurtre
     de George Floyd, qui n’a jamais été censuré malgré les vives polémiques
     qu’il engendrait.
 * la recommandation des data scientist démissionnaires est de recruter beaucoup
   plus de monde sur les parties éthiques et lutte contre l’incitation à la
   haine, et de moins se reposer sur l’IA, même s’ils reconnaissent eux mêmes
   que celle ci à permis d’améliorer la situation dans plusieurs cas et
   notamment au moment des élections américaines.
 * A noter que tous les ex employés mais aussi les employés encore en poste qui
   ont témoignés ont demandé à ce que leur anonymat soit respecté afin d’éviter
   des représailles.
 * A noter également que tous les mots de départ postés par ces data scientist
   ont été supprimés par facebook de l’outil interne où ils sont
   traditionnellement postés

Le licenciement polémique de Timnit Gebru, qui travaillait chez Google sur les
questions d’éthique liées à l’IA

 * Timnit Gebru,chercheuse qui travaille sur les questions d’éthique liées à
   l’intelligence artificielle (IA) et cofondratice du groupe Black in AI dont
   l’objectif est d’accroitre la présence de personnes noires dans le domaine de
   l’IA, a annoncé sur Twitter début décembre que sa hiérarchie avait accepté sa
   démission. Sauf qu’elle ne l’a jamais soumise
 * Ce licenciement intervient après que la chercheuse se soit plainte, auprès
   d’un groupe interne, du fait que l’entreprise « réduise au silence les voix
   marginalisées ». Selon elle, Google lui a reproché certains « aspects » du
   message envoyé à ce groupe, qui seraient « en contradiction avec ce qu’on
   attend d’un manageur ».
 * elle aurait également reçu l’ordre de rétracter un article scientifique sur
   l’éventuelle utilisation d’une IA pour imiter des propos haineux ou biaisés.
 * D’après le chef du département IA, le texte « présentait des lacunes
   importantes qui nous empêchaient d’être à l’aise avec l’idée d’y associer le
   nom de Google" mais sans plus de détail
 * Une pétition a été mise en ligne pour demander plus d’explications concernant
   cet article ainsi qu’un engagement « sans équivoque » de Google à respecter
   l’intégrité scientifique et la liberté académique.
 * Son licenciement intervient alors que Google a été sommé, mercredi, par une
   agence fédérale américaine de répondre à des accusations de surveillance à
   l’encontre de ses employés militants.
 * Il s’agit d’employés qui ont voulu monter un syndicat et ont engagés d’autres
   collègues à les rejoindre.
 * Google n’est pas le seul à s’oppose à la création de syndicat en son sein,
   Facebook et Amazon ont déjà été épinglés pour les mêmes problèmes.


SURVEILLANCE DE MASSE & RECONNAISSANCE FACIALE

Projet de loi sécurité globale : L’assemblée nationale vote pour la technopolice

 * Analyse de la loi Sécurité Globale par la Quadrature du net
 * La proposition de loi relative à la sécurité globale est une proposition de
   loi française des députés LREM Alice Thourot et Jean-Michel Fauvergue (ancien
   patron du RAID) déposée à l’Assemblée nationale le 20 octobre 2020.
 * Ce projet de loi a mis des dizaines de milliers de personnes dans la rue.
   Pourtant elle n’est qu’une toute petite partie de l’iceberg sécuritaire.
 * Elle porte sur le renforcement des pouvoirs de la police municipale, l’accès
   aux images des caméras-piétons, la captation d’images par les drones et la
   diffusion de l’image des policiers (art 24). Le texte, soutenu par le
   gouvernement et les principaux syndicats policiers, fait l’objet d’une très
   forte opposition de la part des sociétés de journalistes, des organismes
   publics nationaux et internationaux et des associations de défense des
   libertés publiques.
 * À la demande du gouvernement, la proposition de loi suit la procédure
   accélérée ; elle est examinée à l’Assemblée nationale du 17 au 20 novembre
   2020 et adoptée le 24 novembre. Son examen au Sénat est prévu en janvier
   2021.

Le Conseil d’État interdit l’usage de drones pour filmer des manifestations

 * le Conseil d’Etat avait été saisi par la Quadrature du Net
 * Dans sa décision rendue publique le 22 décembre il juge que « Le ministre
   n’apporte pas d’élément de nature à établir que l’objectif de garantie de la
   sécurité publique lors de rassemblements de personnes sur la voie publique ne
   pourrait être atteint pleinement, dans les circonstances actuelles, en
   l’absence de recours à des drones
 * Il a décidé trois actions, au-delà des frais administratifs engagés que le
   ministère doit payer :
 * Annuler l’ordonnance du 4 novembre du juge des référés du tribunal
   administratif de Paris (c’est elle que la Quadrature a utilisée pour faire
   monter l’affaire jusqu’au Conseil d’État).
 * Suspendre la décision du préfet de police de Paris sur l’usage de drones pour
   la surveillance de rassemblements de personnes sur la voie de police
 * Demander au préfet d’arrêter sans délai ces mesures de surveillances, dans le
   cas où elles seraient encore utilisées.

Décrets PASP : fichage massif des militants politiques

 * Fichage politique et religieux : 7 questions sur l’extension des fichiers de
   renseignement

 * Jusqu’ici les fichiers de renseignement de la police et de la gendarmerie ne
   concernaient que des personnes physiques considérées comme dangereuses par
   les autorités.
   * Prévention des atteintes à la sécurité publique (PASP -> Police)
   * Gestion de l’information et prévention des atteintes à la sécurité publique
     (GIPASP -> gendarmerie)
   * Enquêtes administratives liées à la sécurité publique (EASP).
 * Depuis la publication de 3 décrets le 4 décembre 2020 la liste personnes
   fichées mais aussi des informations recueillies a été étendues
   * ils pourront concerner des personnes morales ou des groupements
     (associations, groupe facebook, squats, zad ou même manifestation)
   * ils permettront aussi de lister de manière plus complète les personnes
     entretenant ou ayant entretenu des relations directes et non fortuites »
     avec ce « groupement » (ex : des participants à une manifestation)
   * plus problèmatique encore le fichage vise maintenant les habitudes de vie
     et les activités en ligne et l’ensemble des réseaux sociaux est concerné.
     * « les données sont à ce titre collectées sur des pages ou des comptes
       ouverts » et « porteront principalement sur les commentaires postés sur
       les réseaux sociaux et les photos ou illustrations mises en ligne »
     * Inquiète, la CNIL demandait à « exclure explicitement la possibilité
       d’une collecte automatisée de ces données » mais le gouvernement a refusé
   * Autre problème, les enfants de moins de 13 ans peuvent également être
     fichés dorénavant, ainsi que les victimes des personnes considérées comme
     dangereuse
   * Dernier point, les notes individuelles pourront maintenant contenir les
     opinions politiques, les convictions philosophiques, religieuses et / ou
     l’appartenance syndicale mais également des données de santé « révélant une
     dangerosité particulière » peuvent aussi figurer dans ces traitements,
     notamment les « données relatives aux troubles psychologiques ou
     psychiatriques »
     * La CNIL déclare qu’elle n’a pas pu se prononcer sur cette modification
       car elle ne figurait pas dans le projet de lui qui lui avait été soumis.
     * les « activités politiques, philosophiques, religieuses ou syndicales »,
       dont l’inscription était déjà prévue par les trois fichiers, sont
       maintenant remplacées par des « opinions » politiques, des « convictions
       » philosophiques, religieuses et une « appartenance » syndicale.
     * sont jugement de l’époque, bien qu’il ne soit plus pertinent était déjà
       que le périmètre de certaines de ces catégories de données était trop
       étendu ou la redaction de certain passages très large
   * le Conseil d’Etat qui avait été saisi par plusieurs grand syndicats, dont
     le Syndicat de la magistrature ou le Syndicat des avocats de France, a
     validé l’élargissement des fichiers le 4 janvier 2021 car d’après lui il ne
     porte pas une atteinte disproportionnée à la liberté d’opinion, de
     conscience et de religion ou à la liberté syndicale.
   * la seule chance restante serait de saisir la cour européenne des droits de
     l’Homme car d’après Virginie Gautron, maîtresse de conférences à
     l’université de Nantes et spécialiste des questions liées aux fichiers de
     police, « Les principes de proportionnalité et de nécessité ne sont pas
     remplis »,

Article sur les usages présents et possibles de la justice prédictive en France

Répressions et résistances : entretien avec Mathieu Rigouste

Document sur les fichiers policiers

Utilisation de la reconnaissance faciale et des fichiers de police

Alibaba reconnaît avoir développé un algorithme raciste pour surveiller les
Ouïghours

 * pour rappel les Ouïghours sont une minorité musulmane vivant principalement
   dans le nord-ouest de la Chine, dans la province du Xinjiang, et victime de
   persécution et de surveillance de masse depuis des années de la part du
   gouvernement chinois
 * souvent internés de force dans des camps de rééduction dans lesquels ils sont
   exploités
 * Alibaba vient de reconnaitre que sa filière Cloud avait bien conçu, développé
   et commercialisé des outils de surveillance de la population ouïghoure basé
   sur la reconnaissance faciale.
 * Parmi les clients identifiés, une douzaine de départements de police dans
   tout le pays, preuve que la persécution n’a pas lieu que dans le Xinjiang
 * Dans un communiqué en anglais (alors que tous les clients du service sont
   chinois), la maison mère Alibaba s’est dit consternée (mouais)
 * Huawei aurait fait de même
 * La police chinoise utilise une caméra basée sur l’IA et des analyses raciales
   pour suivre les Ouïghours


ALIBABA

L’État chinois lance une enquête sur le monopole commercial d’Alibaba

 * l’Administration d’État pour la Régulation du Marché en Chine a lancé une
   enquête sur Alibaba pour des pratiques jugées anticommerciales qui sont les
   mêmes que celles reprochées à Amazon (politiques d’exclusivité abusives entre
   autre)

Après Alibaba, la pression de Pékin se resserre sur Ant Group

 * la banque centrale chinoise a demandé à Ant Group, filiale d’Ali Baba de
   restructurer ses activités pour respecter la réglementation financière.
 * ce qui était à la base un service de paiement propose aujourd’hui des prêts,
   la gestion de patrimoine et des assurances.
 * le groupe est notamment accusée de tirer parti de sa position dominante sur
   le marché pour exclure des concurrents".
 * à priori le gouvernement n’aurait pas apprécié les critiques de Jack Ma
   contre le système bancaire et d’assurance chinois, contrôlé par le parti et
   qui a d’après lui une mentalité de « prêteur sur gages »


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/

Direct download: LesCastCodeurs-Episode-246.mp3
Category:podcasts -- posted at: 12:57pm CET

--------------------------------------------------------------------------------

Mon, 4 January 2021
LCC 245 - Interview SRE avec Nicolas Helleringer et Maxime Brugidou - partie 2

Nicolas et Maxime de Critéo partagent avec Emmanuel leur expérience de mise en
place d’une organisation SRE (Site Reliability Engineering). Suite et fin de
cette interview.

Enregistré le 12 novembre 2020

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


INTERVIEW


TA VIE, TON OEUVRE

Twotter Nicolas
Twitter Maxime
Criteo Labs


INTROS ET PREMIERS SUJETS EN PARTIE 1

Episode 243 - partie 1


CONCEPTS INTÉRESSANTS

Standard Operating Procedure
Gestion d’incident

Dashboard

POSTMORTEM

Comment ça se passe ?


RELATION AVEC L’ÉQUIPE PRODUIT

On code sur le produit ?
Feedback loop

Quid de systèmes fondamentalement en risque du black swan (échec systémique)

Une équipe SRE par boite ?
Une équipe SRE par produit ?


LE MONITORING

Quoi mesurer ?
Beaucoup, peu ?


ENTRAÎNEMENTS ET CAS RÉELS

Que se passe-t-il quand cela chie dans la colle ?
On s’entraine ?
Vous faite le draining d’erreur budget

Drainer des clusters pour maintenance et impact sur l’utilisateur


CONCLUSIONS

Livres Google sur le Site Reliability Engineering


NOUS CONTACTER

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/

Direct download: LesCastCodeurs-Episode-245.mp3
Category:podcasts -- posted at: 5:43pm CET

--------------------------------------------------------------------------------

Mon, 14 December 2020
LCC 244 - L'épisode maudit

D’abord on a perdu Guillaume corps et âme, ou plutôt piste et blagues. Ensuite
on a perdu les shownotes. Puis le live. Puis le casque d’Audrey, et son micro
dans la foulée. On a bien failli perdre le mix aussi. Mais bravant tous les
obstacles, nous sommes quand même parvenus à faire l’épisode news de décembre.

Enregistré le 11 décembre 2020

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


NEWS

On a un nouveau site web. Merci Marc Wrobel !


LANGAGES

Kotlin 1.4.20

 * Roman Elizarov devient le nouveau lead du projet

AdoptOpenJDK accueille Dragonwell


LIBRAIRIES

Le livre Vert.x in Action de Julien Ponge est sorti

Sortie de Vert.x 4

Skija - librairie graphique pour la JVM

Micronaut 2.2

Nashorn devient un projet indépendant

Hibernate Reactive

RESTeasy Reactive


INFRASTRUCTURE

Docker Desktop pour Mac vers le support de Apple M1

Docker déprécié comme moteur de container dans Kubernetes
* Don’t panic
* Docker et Mirandis s’allient pour supporter Docker Shim dans un projet
indépendant de Kubernetes


CLOUD

AWS fait tomber une grosse partie d’internet
Le postmortem d’AWS plus intéressant


WEB & FRONT

Cargo mobile

Jetpack Compose Milestone 2


OUTILLAGE

Maven 4

Brew 2.6.0


MÉTHODOLOGIES

Faire le liant


SÉCURITÉ

L’attaque du DNS triste

Est ce que Apple enregistre toutes les applications que vous executez ?


LOI, SOCIÉTÉ ET ORGANISATION

Les 9 phases d’un contributeur open source

Il ne faut plus dire “digital” mais “numérique”


OUTILS DE L’ÉPISODE


RUBRIQUE DÉBUTANT

7 façons de contribuer à Java


CONFÉRENCES

 * Web Stories le 5/2 - Edition en ligne https://webstoriesconf.com/
 * Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/


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/

Direct download: LesCastCodeurs-Episode-244.mp3
Category:podcasts -- posted at: 6:33pm CET

--------------------------------------------------------------------------------

Fri, 4 December 2020
LCC 243 - Interview SRE avec Nicolas Helleringer et Maxime Brugidou - partie 1

Nicolas et Maxime de Critéo partagent avec Emmanuel leur expérience de mise en
place d’une organisation SRE (Site Reliability Engineering).

Enregistré le 12 novembre 2020

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


INTERVIEW


TA VIE, TON OEUVRE

Twotter Nicolas
Twitter Maxime
Criteo Labs


SRE EN 2 PHRASES

Site Reliability Engineering C’est une façon de monter un salaire de sysadmin ?


POURQUOI

Ops et dev, pourquoi “merger” ?
DevOps avec un sysadmin dans l’équipe vs SRE
Cela a du sens de le faire sur un “petit projet” ou uniquement si on gère 300k
machines ?


SRE AU QUOTIDIEN

Journée type

Dashboard

On code en quoi?

Pager (pendant les horaires travails vs dehors)
Les weekends

Taille SRE pour pour du 24/7

Combien de fois est-on appelé par nuit ? Prod fallback

Le development

Livre: le projet Unicorn


CONCEPTS INTÉRESSANTS

50% eng

SLO SLI SLA
La difficulté de la valeur initiale
Perf passées vs calcul théorique

Error budget
Blast radius
Burn rate


PRÉ CONCLUSION

C’est la fin de la partie 1 de cette interview


NOUS CONTACTER

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

Direct download: LesCastCodeurs-Episode-243.mp3
Category:podcasts -- posted at: 9:48am CET

--------------------------------------------------------------------------------

Tue, 17 November 2020
LCC 242 - Les Applets, 20 ans trop tôt

Guillaume n’était pas présent dans cet épisode, mais rassurez vous Emmanuel
assure la permanence des blagues et accompagné d’Antonio et d’Audrey il commente
les actus du mois de novembre : ça discute de Quarkus, Spring Boot, Gradle,
Reactive Programming, Docker, sécurité et bien sûr, loi, société et
organisation.

Enregistré le 13 novembre 2020

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


NEWS


LANGAGES

Guide de migration à Scala 3
11 ans de Go


LIBRAIRIES

Quarkus 1.9.0

 * Deux livres gratuits sur Quarkus par Antonio

Helidon 2.1.0

R2DBC et Reactive Streams rejoignent la Reactive Foundation, qui publie ses
principes de design pour les applications cloud native

Spring Boot 2.4

 * Reactor Europium GA (2020.0.0) avec Reactor-core 3.4.0 et Reactor-netty 1.0.0


INFRASTRUCTURE

Les bonnes pratiques de sécurité pour ses Dockerfiles
Docker mets en pause l’application de sa nouvelle police de gestion des images


CLOUD

Google s’associe à OVH

 * Cloud : alliance inédite entre l’américain Google et le français OVH

Abandon de l’offre on-premise de atlassian (jira et confluence)


WEB

Netlix passe à Kotlin multiplatform pour les applications iOS et Android
JetBrains sors Jetpack Compose for Desktop en M1, basé sur Jetpack


OUTILLAGE

Gradle 6.7
Cédric Champeau modernise le build de Apache Groovy, avec des conventions
modernes de Gradle Alternatives aux outils en ligne de commande écrits en Rust


HARDWARE

Il y a le bon câble USB et le mauvais câble USB

 * USB power meter/analyzer et USB load tester pour detecter les mauvais cables
 * Des cables qui gardent les 5v d’autres qui descendent à 4,1v


MÉTHODOLOGIES

 * Comment débugger votre équipe


SÉCURITÉ

Nouvelle CVE dans Chrome
Faille de sécu sur les workflow GitHub
GitHub oublié de renouveler son certificat. Oops
Let’s Encrypt devient grand


FUN

Comics sur les fonctions en bash par Julia Evans


LOI, SOCIÉTÉ ET ORGANISATION

Mobilizon l’alternative à Facebook proposée par Framasoft
Loi Sécurité Globale : Surveillance généralisée des manifestations

 * L’alerte de la défenseure des droits
 * Tribune : “L’article 24 de la future loi ʻsécurité globale’ menace la liberté
   d’informer”

Identité numérique et reconnaissance faciale : le Conseil d’Etat a rendu son
verdict


OUTILS DE L’ÉPISODE

Crowdcast de Youri sur ses podcasts préférés

 * Message A Carractere Informatique
 * Electro Monkeys
 * If This Then Dev
 * Tech Rocks Podcasts
 * No Limit Secu
 * La Méthode Scinetifique
 * C’est Plus Que De La SF


CONFÉRENCES

Codeurs En Seine 2020 - Edition en ligne

 * En novembre, les mardis à 19h et les jeudis à 21h
 * 45 minutes de conférences + environ 15 minutes de questions
 * En ligne sur Twitch + rediffusion Youtube

Web Stories le 5/2 en ligne https://webstoriesconf.com/
Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/


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/

Direct download: LesCastCodeurs-Episode-242.mp3
Category:podcasts -- posted at: 8:28am CET

--------------------------------------------------------------------------------

Mon, 2 November 2020
LCC 241 - Interview Cloud IDE avec Sun Tan et Marc Dumais

Marc Dumais et Sun Tan discutent des Cloud IDEs autour du micro. En particulier
de Eclipse Che et de Eclipse Theia.

Enregistré le 30 octobre 2020

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


INTERVIEW


TA VIE TON OEUVRE

Marc Dumais

Twitter de Sun @__sunix_
Le CFP young blood VIII du ParisJUG


ECLIPSE THEIA EN 2 MINUTES

Eclipse Theia
VSCode


ECLIPSE CHE EN 2 MINUTES

Eclipse Che


L’ÉCOSYSTÈME ET LA CONCURRENCE

Beaucoup de rachats d’IDEs dans le cloud :

 * GitHub Codespaces
 * Cloud9

Boradwayd


LE CLOUD IDE AU QUOTIDIEN

J’ai pris mon café, maintenant je fais quoi?
Chrome ou Firefox?
Comment je sync avec mon repo Git
Signer avec la clé GPG (sur le serveur?)
Je veux installer une extension je fais comment

Je partage du code avec quelqu’un, il se passe quoi
Je peux partager le même workspace?

Vous utilisez des workspaces différents comment?

Parler de devfile

Comment j’installe Che ?
docker local?
kube

Experience
Theia plugin

La doc pour installer Che dans GCP


LES TYPES DE FLOTS DE DÉVELOPPEMENT QUE CELA OUVRE

Vs un IDE local

Je peux avoir un IDE local et les avantages de l’IDE du cloud?


SOUS LE CAPOT

Comment ça s’écrit la partie interface IDE
Reactivité
Latence
Desktop vs cloud Thea

Eclipse Theia
Vient de quel besoin
separé d’éclipse classique?
Qui utilise Theia ?


ARCHITECTURE

Il y a quoi derrière mon navigateur:

 * Che server
 * Che workspace
 * Theia
 * VS code extensions
 * Debug server
 * Kube
 * “Tooling services”
 * https://www.eclipse.org/che/technology/

Il reste quelque chose de l’eXo Cloud IDE ?


VSCODE EXTENSIONS

Comment ça fonctionne
Protocole interaction


COMMUNAUTÉ

Quel est l’écosystème

Essayez Gitpod en ouvrant le project Eclipse Theia. Requiert un compte GitHub et
un browser web moderne https://gitpod.io/#https://github.com/eclipse-theia/theia

Exemple d’utilisation de Gitpod pour générer une version à jour des statistiques
de contribution au projet:
https://gitpod.io/#https://github.com/marcdumais-work/gitstats

Twitter: @eclipse_che et #Chejoy
Pour tester Che: https://che.openshift.io/


NOUS CONTACTER

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

Direct download: LesCastCodeurs-Episode-241.mp3
Category:podcasts -- posted at: 2:40pm CET

--------------------------------------------------------------------------------

Sat, 17 October 2020
LCC 240 - Fuseaux horaires : la fontaine à bogues

Cet épisode consacre Java le langage et sa version 15 en particulier. On discute
aussi l’impact des mémoires fautives sur la JVM, le réactif, les frameworks
backends et bien d’autres choses. Et nous avons deux crowdcasts! 🕺

Enregistré le 13 octobre 2020

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


NEWS


LANGAGES

Java 15 (plus de détails par Remi Forax ).

 * unicode 13,
 * hidden classes (non-discoverable implementation details of the framework eg
   classes générées au runtime, déchargement aggressif),
 * TreeMap amelioration de perf,
 * check de revocation pour le jar signer,
 * sha–3 support,
 * nashorn enlevé,
 * les lock biaisés sont désactivés/dépréciés,
 * ZGC prêt pour la prod,
 * amélioration d’ergo de G1 (on en avait parlé),

Azul couvre JDK 15, avec un focus sur les Sealed classes, les Records, les
Hidden classes.

Des bugs de timezone qui vous pouvez rencontrer dans vos applications.

 * Faire tourner son code sous une vieille version de JRE/JDK qui n’est pas à
   jour au niveau des données de TimeZone.
 * Le serveur est peut-être dans votre TimeZone à vous, ou bien sur UTC, alors
   attention !
 * En stockant des dates en bases de données, il faut aussi prendre en compte la
   TimeZone configurée dans la DB !
 * Parfois aussi côté affichage, on peut oublier de parser les dates avec les
   infos de TimeZone, ou côté client la TimeZone ou l’heure d’été peut être mal
   configurée…

Enregistrements d’Oracle Developer Live Java

 * https://inside.java/2020/09/17/devlive-java-lang-futures/
 * https://inside.java/2020/09/17/devlive-keynote/

Les crashs de JVM sont souvent des erreurs mémoire. Pourquoi ?

 * La JVM on lui donne souvent beaucoup de mémoire.
 * Les métadonnées utilisées par le GC sont importantes.
 * Ces métadonnées sont accédées entièrement lors d’un full GC.

Romain Manni-Bucau explique comment configurer Java Util Logging avec un
formateur sur une ligne, pour que ce soit plus sympa dans un contexte prod
Docker

Un rapport sur l’écosystème Groovy :

 * l’outil le plus utilisé : Gradle (pour le build).
 * librairie la plus populaire : Spock (pour les tests).
 * framework le plus populaire : Grails.
 * beaucoup d’utilisation de Groovy comme langage de script, d’automatisation,
   mais aussi comme langage général principal et comme Domain-Specific Language.


LIBRAIRIES

Sortie de JUnit 5.7

 * Isolated tests.
 * New Enabled/DisabledIf execution conditions.
 * Custom disabled reasons.
 * New MethodOrderer.DisplayName.
 * New DisplayNameGenerator.Simple.
 * Java Flight Recorder support.
 * Improved EngineTestKit.

Quarkus vs Spring Boot dans des environnements de plus en plus contraints mais
quel est le choix d’équipe au final ?.

Sortie de Micronaut 2.1.

 * nouveau plugin Gradle qui facilite le build d’image natives Graal et de
   containers Docker en couches.
 * support des fonctions Oracle Cloud.
 * support amélioré de Google Cloud Platform, avec le logging structuré de
   Stackdriver,
 * et le support natif du messaging avec Google Cloud Pub/Sub.
 * Plus d’infos dans la doc dans la section des nouveautés :
   https://docs.micronaut.io/2.1.0/guide/index.html#whatsNew

Sortie de Quarkus 1.8 (et on n’avait pas annoncé 1.7)

 * multiple persistence unit
 * Micrometer
 * intégration avec jbang
 * GraalVM 20.2
 * MongoDB pour Kotlin
 * Elasticsearch REST client (1.7)
 * Client vert.x Redis (1.7)
 * Hibernate Envers (1.7)
 * DB2 (1.7)


INFRASTRUCTURE

NVidia rachète ARM à SoftBank pou 40Md$, ça va faire un sacré concurrent à Intel
et AMD.
(https://www.anandtech.com/show/16080/nvidia-to-acquire-arm-for-40-billion)

Retour d’experience sur l’utilisation de Kubernetes. Java et ses problèmes
(spécialement 8, toujours grosse conso mémoire), mettre à jour Kubernetes (ils
créent des nouveaux clusters), corriger un index au démarrage vs liveness probe,
exposer des IPs externes et la limite de connections parallèles.

Project Natick: Datacenter mis sous l’eau en 2018 par Microsoft.

 * 864 servers, 27.6 petabytes de stockage, 117 pieds au fond de l’ocean
   (Ecosse).
 * Aux dires de Microsoft, c’est un succès.

Google est neutre en carbone, et a même racheté sa dette carbone depuis sa
création.

 * (1) We were the first major company to become carbon neutral in 2007. →
   Google a été “neutre” par compensation, chaque année depuis 2007, notamment
   en achetant autant d’énergie renouvelable que d’énergie carbonée.
 * (2) We were the first major company to match our energy use with 100 percent
   renewable energy in 2017… We’re eliminating our entire carbon legacy,
   effective today. → Depuis 2017, Google a en plus acheté autant d’énergie
   renouvelable l’année N que d’énergie carbonée consommée l’année N+1. En
   Septembre 2020, Google a fini fini par être totalement “neutre” en ayant
   consommé autant d’énergie renouvelable que d’énergie carbonée depuis la
   création de Google.
 * (3) We are the first major company to make a commitment to operate on 24/7
   carbon-free energy in all our data centers and campuses worldwide… by 2030. →
   Dans 10 ans, Google espère ne plus consommer d’énergie carbonée du tout.


DATA

CrunchyDB offre un PostgresSQL as a service qui est cross clouds.


OUTILLAGE

Github sort la version 1.0 de son outil en ligne de commande pour gérer ses
projets Github.


ARCHITECTURE

Un vieux truc, le memo de Bezos sur la service oriented company.
Jonas Boner annonce les 8 principes réactifs.

 * I. Stay Responsive : Always respond in a timely manner.
 * II. Accept Uncertainty : Build reliability despite unreliable foundations.
 * III. Embrace Failure : Expect things to go wrong and design for resilience.
 * IV. Assert Autonomy : Design components that act independently and interact
   collaboratively.
 * V. Tailor Consistency : Individualize consistency per component to balance
   availability and performance.
 * VI. Decouple Time : Process asynchronously to avoid coordination and waiting.
 * VII. Decouple Space : Create flexibility by embracing the network.
 * VIII. Handle Dynamics : Continuously adapt to varying demand and resources.


MÉTHODOLOGIES

Les recommendations de Red Hat aux Red Hatters sur la contribution à l’Open
Source


SÉCURITÉ

Jenkins vient avec pleins de fix de sécurité comme tous les mois (voire 2 fois
par mois).


LOI, SOCIÉTÉ ET ORGANISATION

Est-ce que le Hacktoberfest de Digital Ocean fait mal à l’Open Source ?

 * plein de gens contribuent des commits à deux balles, juste pour gagner un
   t-shirt, et c’est les mainteneurs de projets open source qui sont obligés de
   se taper tous les pull requests comme des messages de spam
 * Update de DigitalOcean to reduce spam
 * Comment une personne (un YouTuber avec 600K followers a pourri le système)

Bye bye Stop Covid qui va devenir Alerte Covid. L’application ne règle en rien
les problèmes en terme d’efficacité et de vie privée déjà décriés dans le passé
mais veut rajouter des usages en ciblant notamment l’utilisation dans les bars
et restaurants et en y diminuant la durée d’exposition utilisée comme indicateur
de contact. Elle devrait aussi pouvoir vous notifier d’alerte locale (le
gouvernement dans votre poche).


OUTILS DE L’ÉPISODE

Un écran 49" 32:9
https://www.samsung.com/us/computing/monitors/gaming/49-crg9-dual-qhd-curved-qled-gaming-monitor-lc49rg90ssnxza/


RUBRIQUE DÉBUTANT

Si vous débutez en Docker, il est important de comprendre les différences entre
les instructions RUN, CMD, et ENTRYPOINT de vos Dockerfiles.

 * RUN est exécuté quand on build l’image.
 * CMD est l’instruction par défaut lancée au démarrage de votre image.
 * ENTRYPOINT permet plus de flexibilité que CMD en supportant les paramètres en
   entrée.


CONFÉRENCES

Codeurs En Seine 2020 - Edition en ligne

 * En novembre, les mardis à 19h et les jeudis à 21h
 * 45 minutes de conférences + environ 15 minutes de questions
 * En ligne sur Twitch + rediffusion Youtube

Crowdcast de Emmanuel Demey sur les conférences à venir dans le Nord.

 * Cloud Nord le 19/10 en remote : https://cloudnord.fr/
 * Web Stories le 5/2 en présentiel (pour le moment) https://webstoriesconf.com/
 * Le Devfest Lille le 11/6 en présentiel https://devfest.gdglille.org/


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/

Direct download: LesCastCodeurs-Episode-240.mp3
Category:podcasts -- posted at: 2:33pm CET

--------------------------------------------------------------------------------

Mon, 5 October 2020
LCC 239 - Interview Rust avec François Teychene, Sylvain Wallez et Geoffroy
Couprie

Dans cet épisode, Audrey a fait appel à l’aide d’un ami, François Teychéné pour
interview Sylvain Wallez et Geoffroy Couprie sur le langage le plus populaire de
ces dernières années : Rust.

Enregistré le 2 octobre 2020

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


INTERVIEW


TA VIE, TON OEUVRE

Sylvain Wallez - Twitter - LinkedIn : Développeur passionné pratiquant Java
depuis la fin du 20ème siècle, les langages m’intéressent, surtout quand ils
sont fortement typés ! Je suis tombé dans Rust lors de l’écriture d’un blog post
sur Go. Cofondateur du JUG et du Rust meetup toulousains, membre de la Fondation
Apache depuis plus de 15 ans, j’ai été cofondateur d’une boîte d’expertise Java,
CTO de startup, freelance et j’ai monté le bureau toulousain d’OVH. Je travaille
actuellement chez Elastic où après 4 ans dans l’équipe Cloud je viens de bouger
vers l’équipe “Clients” qui développe les SDK où j’ai en charge les SDK Java et
Rust.

Geoffroy Couprie : Geoffroy Couprie est Consultant Indépendant en développement
logiciel. Basé à Nantes, il se passionne pour l’open source, les problématiques
de performance et la sécurité.


RUST EN 2 PHRASES


LE LANGAGE

Quelles sont les fonctionnalités clés du langage ?
Quelles sont les inspirations de ce langage ?
Quel différenciateur vs reste ?
Quels sont les utilisateurs type ?
Pour quel use cases ?


EVOLUTION DU LANGUAGE

Async/await

Maturité du langage / des librairies


SOUS LE CAPOT

Comment Rust gère la mémoire sans garbage collection ?
LLVM binding
Support des hardwares ? (rasp, etc etc …)

 * Plateformes supportées


APPRENTISSAGE

Apprendre Rust :

 * Programming Rust
 * The Rust Book (aussi en ligne)
 * Rust by Example


EN PROD CHEZ QUI

Qui utilise Rust en prod ?

 * La page “users” sur le site de Rust
 * Les offres d’emploi chez Apple
 * AWS Firecracker
 * Google Fuchsia
 * Microsoft
 * Sentry


L’ÉCOSYSTÈME

Gestion des dépendances, outil de build, test etc (aka cargo c’est la vie)

Tools utils:

 * le linter clippy
 * cargo-license
 * cargo-deny

Librairies de référence :

 * *le “maven central” crates.io
 * Serde (le Jackson de Rust)
 * Tokio (runtime asynchrone)
 * StructOpt (lignes de commande)

Frameworks pour écrire des webapps en Rust :

 * Actix pour le server
 * Yew pour le front-end
 * AreWeWebYet?


COMMUNAUTÉ ET FUTUR


NOUS CONTACTER

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

Direct download: LesCastCodeurs-Episode-239.mp3
Category:podcasts -- posted at: 3:51pm CET

--------------------------------------------------------------------------------

Tue, 15 September 2020
LCC 238 - Registries, registries, registries !

Antonio, Guillaume et Emmanuel discutent de registries et de registries et de
registries. Et sinon TypeScript 4, Kotlin 1.4, Spring One, comment gérer des
équipes, lire du code, des APIs. Bref pleins de choses intéressantes :)

Enregistré le 10 septembre 2020

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


NEWS


LANGAGES

jdk/jdk repository transition to Git, GitHub and Skara is done

Ca rale contre G1 en default dans Java 11

 * throughput degradés
 * RubyKon Benchmark 2020: CRuby vs JRuby vs TruffleRuby
 * Rubykon is Go AI written in Ruby using Monte Carlo Tree Search
 * Ce n’est pas un benchmark representatif de la plupart des applis (car très
   peu d’IO) mais beaucoup de CPU
 * Utilise beaucoup de tableaux, peu de collection, pas de string…
 * TruffleRuby still has the best “warm” performance

Les blocs de texte de java 15 qui sort ce mois ci

 * Simplifier l’écriture des chaines de caractères sur plusieurs lignes
 * JEP 378: Text Blocks
 * Délimiteur trois guillemet ( """ )

Typescript 4 est sorti

 * Partial semantic mode : Temps de démarrage plus rapides du projet par analyse
   partielle (vs toutes les dépendances) (dans l’IDE?)
 * Variadic tuple type (tuple de taille définie et de types définis et
   hétérogènes)
 * Dont rest élément où l’on veut.
 * Tuple labels comme des named parementers
 * Class property inference from constructor
 * Catch as unknown au lieu de any (downcastong)
 * En fait le compilateur fournit les outils à l’IDE

Kotlin 1.4

 * Amélioration de la qualité. Stabilité et performances dans l’IDE
 * Corrige notamment des lenteurs ou blocages dans l’IDE
 * Debugger de Coroutines
 * Nouveau compilateur pour centraliser le code entre les différentes
   plateformes
 * Sam pour les interfaces kotlin (Single Abstract Method)
 * Kotlin 1.4.0 comes with a variety of different language features and
   improvements. They include:
   * SAM conversions for Kotlin interfaces
   * Mixing named and positional arguments
   * Trailing comma
   * Callable reference improvements
   * break and continue inside when included in loops
   * Explicit API mode for library authors
   * kotlin.serialisation en 1.0 RC


LIBRAIRIES

Camel 3.5

 * Lambda builder
 * Spring Boot 2.3.3
 * junit 5
 * route template (parameterized routes)
 * faster refleciton free startup
 * new components


INFRASTRUCTURE

Docker limite le nombre d’image par 6 heures

 * The second policy update is regarding limits on the number of image pulls. A
   pull is defined as up to two GET requests to the registry URL path
   ‘/v2//manifests/’. Again, starting November 1, 2020:
 * Anonymous users will have an upper limit of 100 image pulls in a six hour
   period
 * Accounts authenticated with a DockerID will have an upper limit of 200 image
   pulls in a six hour period
 * Pro and Team subscriptions do not have limits
 * la question c’est image == layer donc 100 peut arriver vite pendant un lab

Github son propre container registry

 * suite de GitHub packages prix
 * en beta gratuite pour l’instant

GitLab réduit les minutes de runners pour les comptes gratuits

 * “We are updating the CI/CD minutes limit in the Free tier to 400 minutes per
   group per month.”
 * le marketing du gratuit / freemium en perte de vitesse pour les developpeurs?

Packages et registries en gratuit dans GitLab

 * apres les registries de containers, ils ajoutent: Maven, npm, PyPi, NuGet,
   Composer, Conan et Go


CLOUD

Google cloud function supporte Java 11 depuis mi août

 * Environnement d’exécution Java 11

Azure spring cloud en GA

 * Hosting, monitoring d’app spring boot
 * “Automatically wire your apps with the Spring service runtime. Once deployed
   you can easily monitor application performance, fix errors, and rapidly
   improve applications”
 * mais ca reste un peu marketing et pas détaillé


WEB

Kotlin Multiplateforme mobile en alpha

 * Kotlin Multiplatform Mobile (KMM) est un SDK cross plateforme (iOS et
   Android)
 * Intégration complète dans Android Studio pour le dev
 * Refonte des compilos pour avoir une base commune entre le Kotlin / Kotlin JS
   et Kotlin Native
 * partager la business logic et laisser la UI et anvigation en natif iOS ou
   Android.


OUTILLAGE

Comment fonctionne Time-based One Time Passwords

 * un secret partage
 * un compteur basé sur (t-t0)/tx
 * sha1 le tout
 * tronqué pour avoir 6 chiffres

GitPod (un concurrent à Eclipse Che à priori) devient open source


MÉTHODOLOGIES

Si tu deprecies, je te fais caca dessus

 * lecture interessante entre la balance entre la dépréciation, retirer le
   support vs garder les choses pour toujours
 * Google et son monorepo et son clean code amène a des dépréciations plus
   élevées que l’industrie
 * “Backwards compatibility keeps systems alive and relevant for decades”
 * emacs, android, java
 * deprecition mais garder à vie
 * vs android qui a un code de merde et pleins de if mais qui est backward
   compatible
 * les developpeurs s’en vont quand la compatibilité casse
 * [emmanuel] mais des projets cassent des choses tout le temps sans que le
   utilisateurs ne soient mecontents - par exemple Spring Boot
 * petites depreciations, tooling, documentation
 * pas de big bang qui fracture ta plateforme et les utilisteurs ne migrent
   qu’au dernier moment
 * exacerbé dans le monde des services

Principes pour un meilleur design

 * Améliorations incrémentales: peut pas faire parfait directement
 * Reutiliser l’existant: il y a des raisons aux solutions existantes? Vous
   atteignez la limite du design précédent?
 * Les cinq pourquoi pour trouver la cause et possiblement trouver une autre
   solution meilleure (et peut etre plus simple)
 * KISS : la perfection est quand il n’y a plus rien a enlever, pas ratjouer
   (Antoine de St Exupéry)
 * Parfait est l’ennemie du bon
 * (e.g principe du 80% 20% - en temps)
 * Reculer le moment de la complexité
 * pas un article révolutionaire mais un bon rappel. Prenez un café et lisez le
   douvement et réflechissez à chaque section

Reading Code is a Skill

 * On n’écrit pas du code illisible par pur plaisir, en général le code / les
   pratiques / le métier / l’équipe a beaucoup évolué dans le temps
 * Le code lisible c’est subjectif, et il ne sert à rien de blamer les
   précédents auteurs
 * Donc plutôt que de se plaindre -> apprendre à lire du code

Scaler l’equipe d’engineering avec la propriété distribuée

 * equipe fonctionne quand elle a une mission comprise et auquel elle croit,
   quand elle gagne (alignée avec les besoins de l’entreprise, mesure le succes,
   reconnu pour ce succès), quand les individus progressent
 * entre 5 et 10 est la limite a la quelle une equipe part en chaos sans
   organisation
 * centralisation: probleme planning, stand up etc
 * decentralisation sans plan: conflits, ralenti, desaligne => chaos
 * embaucher les type A (NDLR risque mono culture) ; embauche que si surcahrgé
   et montre resultats top (donc une equipe qui montre qu’elle fonctionne deja).
   sinon risque equipe disfonctionelle qui grossi (modifié)
 * La delegation vient avec la gouvernance pour appliquer les règles globales de
   l’équipe (code qualite, dette technique etc)
 * il encourage d’investir dans la core ip de l’appli vs rajouter des
   fonctionalités. Toujours sur quelle est la valeur
 * The person doing the work owns the execution, even though they may not own
   the direction. Rather than top down execution driven by meetings, we rely on
   bottom up execution based on top down direction and review.
 * Engineering Manager vs TEch Lead - As the team scales through, it’s important
   that someone is responsible for organizing the team, process, and ensuring
   people are happy, productive, and growing, and someone else is responsible
   for the technical direction and systems of responsibility like code reviews,
   deploys, and so on.
 * Scrum, agile poker etc est trop centralisé dans une approche avec un ratio
   senoir / junior coherant what I consider to be a more modern and
   decentralized approach, Engineering Managers work with engineers, who take
   ownership of chunks of work, decompose them into tasks, estimate, and get the
   team and manager to review async or in a planning meeting. Everything is tied
   to the team KPIs, which are tied to the company KPIs, but we don’t need any
   fancy formats like user stories, etc. Engineers are even more empowered to
   think about customers, product, and business value in this model — they are
   looking at how they can impact team KPIs, and empowered to push managers for
   the work they think is most impactful on the KPIs. The tech lead owns the
   technical queue — tech debt, testing issues, infrastructure, etc.
 * The Approval Matrix with Round Robin Pattern - utile sur les choses trop
   concentrées ou sur les sujets que personne ne veut training process pour
   onboarder
 * round robin pour forcer le changment et eviter les code review overloards et
   autres bug fixers
 * Pour taches de plus de 1 semaine, design document d’une page revue (sign off
   component lead) sanity checking, important issues and standards. Not micro
   management


SÉCURITÉ

Docker desktop ajoute la commande scan analyser les problèmes de secu via Snyk

 * scan des images locales
 * en CLI
 * s’appuie sur Snyk avec une partie gratuite via compte docker , sinon prix
 * snyk continuously find and fix vulnerabilities in open source libraries and
   containers
 * marche pas pour les images alpine

Et SonarQube (sonarcloud pour l’instant) ajoute de l’analyse de sécurité via le
rachat de RIPS-TECH fait il y a quelques temps

 * Déjà présent dans SonarCloud 2
 * Sera inclue dans SonarQube 8.5
 * Sonar rachète de RIPS en mai 2020

GitHub qui se lance dans le code scann

 * GitHub, all your base are belong to us
 * Oui d’où mon tweet sur le SPOF. Sachant que plus ils en font, moins c’est
   stable.
 * ils mettes les true positive “sûr” dans l’analyse de la PR


LOI, SOCIÉTÉ ET ORGANISATION

Apple également dans le viseur de Facebook pour sa taxe de 30%

 * l’app store ne permet pas de dire que les prix incus la marge d’apple de 30%
 * debat sur des cas specifiques: genre argent pour des gens qui organisent des
   evenements (ou pire une charité)
 * mais c’est l’argument “penser aux petits enfants”. Facebook, j’imagine a des
   plans de se faire de l’argent sur certaines de ces ventes.

La CNIL publie son livre blanc sur les assistants vocaux

 * 84 pages, articles, interviews..
 * Super pour aider “les personnes en situation de dépendance, qu’elles soient
   âgées ou handicapées”
 * Mais pose des questions “du point de vue de la protection des données”
 * “fortement ancrée dans notre intimité” "de nombreuses informations sur
   l’émetteur d’un message oral. Âge, genre, condition physique, accent, origine
   géographique et socio-culturelle, éducation, état de santé
 * ou émotionnel, mais également identité"
 * “captent nos habitudes de vie pour enrichir un profil”
 * “Ce livre blanc propose quelques pistes de réflexion sur l’usage des données
   par les assistants vocaux”
 * Quels usages: DEMANDE DE LA MÉTÉO / RECHERCHER UNE INFORMATION / ÉCOUTER DE
   LA MUSIQUE
 * Mythes et réalités des assistants vocaux (vrai/faux) : écoutent en permanence
   / utilisent nos données pour mieux nous profiler / interface très prisée des
   enfants

Une cour d’appel américaine déclare la surveillance de masse de la population
dénoncée par Edward Snowden illégale

 * L’affaire Snowden a déjà 7 ans
 * La cour de justice américaine déclare illégale les écoutes effecutée par la
   NSA
 * La collecte de millions de coup de fil “may have been unconstitutional”
 * Tweet de Snowden I never imagined that I would live to see our courts condemn
   the NSA’s activities


OUTILS DE L’ÉPISODE

Roulettes sous ma chaise


CONFÉRENCES

Codeurs En Seine 2020 - Edition en ligne - CFP jusqu’au 15 septembre

 * En novembre, les mardis à 19h et les jeudis à 21h
 * 45 minutes de conférences + environ 15 minutes de questions
 * En ligne sur Twitch + rediffusion Youtube

La prochaine édition du Fosdem se fera en ligne

 * 6 e 7 février 2021
 * CFP bientot annoncé

Volcamp Annulé

 * Reporté au jeudi 14 et vendredi 15 octobre 2021

Big Data reste programmé

 * 14 et 15 septembre 2020
 * Physiquement Porte de Versailles à Paris
 * Ou depuis votre ordinateur ou smartphone


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/

Direct download: LesCastCodeurs-Episode-238.mp3
Category:podcasts -- posted at: 6:56pm CET

--------------------------------------------------------------------------------

Fri, 14 August 2020
LCC 237 - Tu as fais ta demande de hissage ?

Arnaud et Emmanuel vous commentent l’actualité au cœur de l’été. Do Go, du
sansserveur, du arm, de la feuille de route, beaucoup de GitHub et bien sûr sans
oublier notre rubrique impact du code sur la société.

Enregistré le 14 août 2020

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


NEWS


LANGAGES

Tip pour récupérer facilement le nom de fichier à partir d’un chemin en Java11

Golang 1.15

 * Meilleure allocation des petits objets en cas de grands nombre de cœurs.
 * macOS < 1.12 et app 32 bits dépréciées.
 * Derniers tours de roue pour ton pentium 4
 * Amélioration du linker en mémoire et cpu sur certaines archi (modifié)
 * Possibilité d.embarquer la time zone db. (Quid des évolutions, à recompiler)
 * C’est marrant la dépréciation « aggressive » de certaines architectures

Golang, un draft pour gérer nativement le packaging de resources statiques

Redmonk sort son nouveau classement, Java #3, Kotlin #19 (un des plus grosses
croissances en 5 ans)


LIBRAIRIES

C’est la fin de Thorntail, né Wildfly Swarm

 * WildFly ajoute le support de MicroProfile
 * support uberjar dans WildFly arrive
 * Quarkus s’est appuyé sur les expériences et les développeurs de Thorntail

Comparatif Spring et Micronaut - update
ServerLess - Créer une recherche pour son blog (sur GitHub avec Hugo) avec
Quarkus, GraalVM et AWS Lambda

 * search pour un site statique
 * crée l’index à la compilation
 * reveille la lambda quand le champ de recherche est selectionné
 * GraalVM
 * retour sur mettre en place une lambda en evitant de se faire déplummer
 * mettre les bons privileges dans AWS lamnbda est compliqué
 * plus de CPU si plus de RAM


INFRASTRUCTURE

Arm à vendre, Apple pas intéressé mais NVidia peut-être


CLOUD

Docker vient d’annoncer de nouveaux Terms Of Services incluant une nouvelle
retention policy pour les images publiées sur DockerHub

 * 6 mois de limite de retentions ur le plan gratuit
 * si pas de push ni de pull dans cette période


PATREON

Aider les cast codeurs sur PAtreon


WEB

Vue 3 arrive en release candidate

 * plus performant, completement réécrit
 * tres similaire en terme d’APIs de surface
 * doc revisitée
 * Composition API (a la react hooks)

La roadmap Angular

 * 50% de l’engineering sur la back log. Et ensuite 20%. Vous faites plus ou
   moins en général sur vos projets OSS?


DATA

rocksdb le moteur LSM de persistence de MySQL. Pourquoi et quand et quand
l’utiliser…

 * Usage >> ram, write mostly, space concern
 * Log-structured Merge-tree


OUTILLAGE

Git 2.28
Jenkins Controller/Agent pour remplacer Master/Slave
Github stocke une archive de votre code Open Source dans une ancienne mine, dans
le cercle arctique, au Svalbard

 * 21TB sur 186 films numeriques photosensibles
 * 8.8 millions de pixels par frame
 * 1000 ans
 * dans le permafrost d’une ancienne mine

Créer sa page profile dans GitHub (voir aussi ce lien )
Github publie une description au format OpenAPI 3 de son API developer
Une roadmap publique pour GitHub
VSCode est-il réellement open-source?

 * telemetrie
 * extensions come liveshare et remote ne sont pas ouvertes
 * marketplace proprio aussi


SÉCURITÉ

Témoignage - J’ai testé pour vous : se faire usurper son identité

 * demande de créance
 * demander le contrat signé pour porter plainte
 * aller a la Banque De France pour voir si vous etes fiché et faire les
   démarches d’ururpation d’identité
 * acheter un broyeur a papier

Les images OpenJDK Alpine sur DockerHub étendent une version 3.6 d’Alpine qui ne
sont plus supportées depuis mai 2019


LOI, SOCIÉTÉ ET ORGANISATION

Frances Allen, pionnière de l’informatique, est morte

 * Première femme fellow IBM
 * Optimisation compilation
 * Parallel computing du project blue gene (95)
 * Turing award
 * https://en.wikipedia.org/wiki/Frances_Allen

Mozilla licencie 1/4 de son personnel (250 collaborateurs)

 * Pas bien compris leur nouveau focus.
 * Certains disent que les Dev tools vont être réduits.
 * le message privé
 * Firefox on users. Focus on new products and time to market.
 * Ça sent que Mozilla était sclérosée et qu’il fallait un changement. Vu par le
   gars qui fait làreorg.

La COO de Pinterest licenciée car elle parlait de la discrimination rampante.

 * Décisions par un sous groupe (conversation isolées). Refusant les contre
   points. Et donc avec infos parcellaires.
 * “the only way we get things done here is hiding things.”
 * Tout était secret et donc manque de transparence e
 * Découvre que sa compensation d’exécutif était différente des autres - on lui
   avait dit que tous étaient au même modèle
 * Elle le fait corriger et se fait exclude des board meetings
 * Découvres des problèmes sur le produit et les reporte : et devient l.ennemie
   du head of product et CEO
 * Exclue des meetings de décisions
 * so much for blameless retrospective
 * Bro culture et même bubble
 * But too few leaders ask themselves how they can proactively design their
   organizations to be truly equitable and make a practice of confronting bias,
   prejudice, and bullying. They do not put checks and balances in place, so
   discrimination and harassment are hard to recognize or report. Instead, they
   seek control. They make decisions behind closed doors, consciously and
   unconsciously excluding those who do not look, sound, or behave like them.
 * Discuss the steps to improve in the end

La CNIL tape publiquement sur les doigts de StopCovid.

 * 3 controles organisés en juin
 * initialement remontait tous les contacts d’une utilisateur et pas seulement
   ceux susceptibles d’avoir été exposé
 * respect de l’essentiel de la RGPD
 * quelques trucs qui restent comme usage de Google re-captcha, anti DDOS etc

Les GAFA auditionnés par le congrès américain
Apple et Epic Games - Le bras de fer de retour Nineteen Eighty-Fortnite
Trump veut bannir TikTok des états-unis - et plus si possible - sauf …


OUTILS DE L’ÉPISODE

Il y a plein de site de ce genre qui permettent d’encoder / décoder du Base64,
de l’URL encoded, etc, mais celui là est amusant aussi parce qu’il fait aussi un
peu de crypto genre même le chiffre de Vigenère ou de César


RUBRIQUE DÉBUTANT

Bitoduc.fr : termes informatiques en français


CONFÉRENCES

JUG Summer Camp le 11 septembre 2020
Volcamp.io les 15 et 16 octobre 2020


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/

Direct download: LesCastCodeurs-Episode-237.mp3
Category:podcasts -- posted at: 7:00pm CET

--------------------------------------------------------------------------------

Fri, 17 July 2020
LCC 236 - Azimov et le cycle fondation

Dans cet épisode, Vincent, Antonio et Guillaume discutent du décès de
l’architecte de Java EE, d’AdoptOpenJDK, de Micronaut, de Istio qui bougent dans
des fondations, du papa de Micronaut qui va chez Oracle et bien d’autres sujets
encore.

Enregistré le 10 juillet 2020

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


NEWS

Bill Shannon l’architecte de Java EE est mort. Il a été le gardien de Java EE
aussi longtemps que j’ai connu l’api. Tu aimes ou pas mais tous les backends
Java utilisent une ou plusieurs APIs de Java EE et la compatibilité et cohérence
de la plateforme lui doit beaucoup. Triste.


LANGAGES

Classes Sealed

 * Les classes sealed arrivent dans Java 15 en septembre, ce sont des classes ou
   interfaces qui restreignent qui peut les étendre ou implémenter.
 * Un peu comme les enum les classes sealed représentent un nombre limité de
   valeurs possibles, ce qui permet de coder en terme d’exhaustivité (si c’est
   pas A ou B, alors c’est C, parce qu’il y a pas d’autres alternatives).
 * Avec ça, on peut faire des types sommes et produits, des structures de
   données algébriques, comme dans les langages fonctionnels.
 * Le développeurs qui les utilise est donc en contrôle de la hiérarchie de ces
   interfaces, et contrôler les implémentations autorisées.
 * Les classes sealed fonctionnent avec les records et le pattern matching.

AdoptOpenJDK rejoint la fondation Eclipse

 * Avec son adoption massive depuis 2017, le projet devient trop gros pour
   rester sous la gouvernance du LJC
 * La migration sous la fondation eclipse permets de conserver la position de
   neutralité
 * Le projet est renommé Eclipse Adoptium
 * La structure de gouvernance est séparée en 2 : le Project Management
   Committee pour les décisions techniques et le Working Group pour les
   questions financières, légales, marketing etc…

Histoire du langage Groovy

 * Les opérateurs que Groovy a amené aux langagues modernes This includes
   Groovy’s dangling closure,Groovy builders, null-safe navigation, the Elvis
   operator, ranges, the spaceship operator, and flow typing. Formost languages,
   we don’t know to what extent Groovy played a part in their choices
 * Les choix fort dynamiques
 * Le passage par la JSR

Mandrel GraalVM: une nouvelle distribution OpenJDK de RedHat spécifique pour
GraalVM, ce qui montre l’implication de RedHat sur GraalVM et l’ouverture
d’Oracle sur des collaborations sur ce projet.

On entends parler souvent du livre Clean Code de Uncle Bob Martin, c’est souvent
une référence dans les livres d’informatique à lire. Cet article critique ce
livre, pour son inconsistence, ses conseils que l’auteur n’applique même pas
dans ses propres exemples de code.

Il parait que les tests unitaires c’est surfait.


RUNTIME

Micronaut 2.0 est sorti

 * Micronaut Launch : permet de générer des apps Micronaut en configurant
   modules optionnels, langage, outil de build
 * JDK 14 et Groovy 3 supportés
 * Améliorations de performance de 20%
 * Support des plateformes serverless : Google Cloud Functions, Microsoft Azure
   Functions, Amazon Lambda
 * Nouveau plugin Maven
 * Possibilité de faire tourner ses applis Micronaut dans un conteneur de
   Servlet
 * Meilleur support de GraalVM, avec automatisation de la configuration de
   ressources statiques, de la configuration de drivers JDBC, d’Hibernate, de
   Flyway
 * Utilisation de Gradle 6.5 qui permet de faire de la compilation incrémentale,
   même avec les annotation processors
 * Support HTTP/2

Object Computing (OCI) crée une fondation pour héberger Micronaut. La société
garde une place majoritaire mais inclue des technical advisory boards dont des
membres de ThoughtWorks, mais aussi… notre Guillaume Laforge.

Graeme rocher rejoins Oracle

Quarkus 1.6

 * Support des archives AppCDS pour améliorer le démarrage en mode JVM
 * Support de Google Cloud Functions (en plus deLambda Azure)
 * Client IBM DB2 réactif
 * Client Apache Cassandra
 * Support de WebJars Locator
 * Support de l’annotation Spring @Scheduled
 * Amélioration d’outils pour le débuggage des applications
 * Upgrade à GraalVM 20.1.0

CrowdCast fast Jar Quarkus par Emmanuel


CLOUD

AWS going after nexus/artifactory. Nouveau concurrent / nouvel entrant

Nouvelle entité open source annoncée par Google : Open Usage Commons, pour gérer
les marques et logos open source

Open Usage Commons qui accueille les marques de Angular, Gerrit et Istio

Le projet Istio annonce que les trademarks du projet sont transférées dans
l’organisation Open Usage Commons

Mais IBM qui avait travaillé avec Google au lancement d’Istio et contribué
depuis n’est pas très content. IBM aurait préféré une gouvernance encore plus
ouverte que cela


WEB

Bootstrap 5 Alpha

 * Bootstrap no longer depends on jQuery
 * Dropped support for Internet Explorer
 * CSS custom properties
 * Alpha: breaking changes will continue to occur until our first beta
 * Better documentation


DATA

Oracle annonce une version Community Edition de Coherence (in-memory data grid)
open source, sous licence Universal Permissive License (supporté par l’OSI). Une
version Enteprise continuera d’être proposée également.


OUTILLAGE

Plugin Maven Asciidoc 2.0

 * Support de AsciidoctorJ 2.x
 * Alignement avec le plugin Gradle plugin et Antora
 * Première version introduisant des changements cassants (arrêt du support de
   Java 7, et le nouveau backend par défaut est HTML 5 au lieu de DocBook)

Une proposition de spécification du langage AsciiDoc a été soumise par l’équipe
AsciiDoctor à la fondation Eclipse


CONFÉRENCES

JNation virtal conf pour 2020

JNation est une conférence communautaire qui a lieu annuellement au Portugal.
Suite au Covid ils ont décidé de ne pas annuler… mais de faire du remote
(virtual conf). Ils viennent de mettre en ligne les 45 vidéos.

BDX.io annulée


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/

Direct download: LesCastCodeurs-Episode-236.mp3
Category:podcasts -- posted at: 11:09am CET

--------------------------------------------------------------------------------

Wed, 8 July 2020
LCC 235 - Interview Micro Services avec @ygrenzinger et @khaledsouf

Dans cet épisode, Audrey et Antonio ont invité Yannick Grenzinger et Kahled Souf
pour parler micro services : pour quelle équipe, quel projet, avec quels outils
… ? Nos invités vous partagent leurs retours d’expérience et leurs conseils.

Enregistré le 3 juillet 2020

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


INTERVIEW


TA VIE, TON OEUVRE

Yannick Grenzinger: Jardinier logiciel depuis plus de 15 ans. Actuellement coach
tech et flow, je suis passionné par l’artisanat logiciel, les langages,
l’architecture de systèmes complexes et la livraison de valeur métier en
continue. Je suis aussi co-organisateur de la conférence FlowCon et du meetup
Paris Continuous Delivery, mais c’est plus dur avec des triplés :D

Khaled Souf est un Globe-trotter et développeur passionné. Il a vécu à Paris où
il a travaillé pour des sociétés de conseil telles que Zenika et Arolla. il a
participé à la communauté des software crafters à Paris et en Europe.Il a
participe à des événements locaux, tels que les meetups Software Crafters Paris,
Craft your skills, Coding Dojo. Il vit actuellement à Montréal au Canada et
co-organise le Meetup Software Crafters Montréal et la conférence de SOCRATES
Canada. Il aime parler de Domain Driven Design, d’architecture, d’artisanat du
code, de Clean Code, des pratiques eXtreme Programming et DevOps. ksouf.com


LES MICRO SERVICES QU’EST CE QUE C’EST ?

EN THÉORIE

Monolithe / Macroservices / Microservices / Fonction ? Microservices vs SOA ?

Microservices, dans quel cas ? Monolithe à découper ou nouvelle app from scratch
? Patterns de migration ?

Comment on découpe ses services ? Est ce qu’il y a des méthodos qui aident ?
(nombre de lignes de code, nombre de pizzas par équipe, DDD)

Une base de données unique pour tous les services ? Une par service ?
Consistance des données ? Synchronisation des données entre bases ?

Pour quelles équipes ? (DevOps, DevSecOps …)

EN PRATIQUE

C’est quoi les reco techniques ? (frameworks Java ou autres, plateformes de
déploiement, etc… )

Et dans le monde Java ? Qu’en est-il de la suite Netflix OSS (Eureka, Hystrix,
Zuul, Ribbon) ?

Comment on déploie / scale / fait communiquer entre eux (bloquant, non bloquant,
HTTP, broker, message) ?

On-premise, Cloud privée/public/hybride ?

Si tu fais pas du k8s tu as loupé ta vie ? Et si tu fais pas du Kafka tu as
aussi loupé ta vie ?

Comment monitorer ?

ET CÔTÉ FRONT ?

Micro frontend : comment et pourquoi ?

LE MOT DE LA FIN

Phénomène de mode ou les MS sont-ils là pour rester ? Quelles sont les évolution
possibles des archi MS (vers les fonctions) ?

LES RESOURCES UTILES

Les livres de Sam Newman, surtout Building Microservices et ses talks

Le livre Microservices Patterns de Chris Richardson

Pour mieux appréhender la complexité de l’aventure et ses prérequis:

 * La rubrique microservices du site de Martin Fowler
 * 11 raisons pour lesquelles vous allez échouer avec les microservices
   https://www.martinfowler.com/bliki/MicroservicePrerequisites.html
 * Recommandations sur les microservices
 * Pourquoi les micro services devraient vous faire plus peur
 * Vous devez être aussi grand que ça pour passer d’un monolithe à un micro
   services et la conf associée

Pour les meilleures pratiques :

 * Le site de Chris Richardson
 * Le site de Microsoft
 * Le site d’IBM

DDD et microservices:

 * DDD and Microservices: At Last, Some Boundaries! (vidéo)
 * Strategic Microservice Patterns - Nick Tune (vidéo)
 * Astuces pour faciliter le design de micro services avec l’event storming

Orchestration, chorégraphie et saga :

 * Orchestration vs chorégraphie
 * Le pattern Saga pour implémenter les transactions business en microservices
 * Using sagas to maintain data consistency in a microservice architecture -
   Chris Richardson(vidéo)

Tests : 12 techniques pour tester les micro services

Microfrontend : L’article de Martin Fowler
6 patterns pour les micro frontend

Monitoring :

 * Le pourquoi et le comment monitorer des micro services
 * Les challenges du monitoring de microservices dans les applications cloud
   native

Les outils :

 * Spring qui réutilise les outils de Netflix puis Netflix qui utilise Spring
 * Circuit breaker : Resilience4j remplace Hystrix (abandonné)
 * Tracing :
   * Open Tracing
   * Zipkin et Sleuth
 * Spring Cloud


NOUS CONTACTER

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/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com

Direct download: LesCastCodeurs-Episode-235.mp3
Category:podcasts -- posted at: 10:33pm CET

--------------------------------------------------------------------------------

Thu, 18 June 2020
LCC 234 - EmmanuelBernard-As-A-Service, bientôt chez vous !

L’épisode news du mois de juin avec Arnaud, Guillaume et Audrey derrière le
micro pour fêter les 25 ans de Java, parler de son futur, mais aussi de son
écosystème avec Quarkus et GraalVM entre autre. Et avec bien sûr, une rubrique
loi société et organisation toujours aussi dense !

Enregistré le 12 juin 2020

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


NEWS


LANGAGES

Happy birthday Java!

 * Les 25 meilleurs app écrites en Java

Le JDK 15 en early access
Mise à jour de la roadmap Java Client
State of Loom
Pourquoi utiliser Java Streams à la place des boucles ?
JEP 386 - Java sur Alpine


LIBRAIRIES

Quarkus 1.5

 * Quarkus devient officiellement supporté par Red Hat comme runtime pour le
   développement cloud natif

GraalVM 20.1

 * GraalVM Native Image Tips & Tricks
 * Spring GraalVM Native 0.7.0

JHipster release v6.9.0
Elastic 7.7.0
Wasmer JNI : une librairie java pour Web Assembly


INFRASTRUCTURE

les 10 erreurs les plus fréquentes avec Kubernetes
Comprendre Kubernetes de manière visuelle


CLOUD

Java 11 arrive dans Google Cloud Functions


WEB

Snowpack 2.0
Comment CommonJS rends vos bundles plus gros
Deviens un ninja avec Vue.js


OUTILLAGE

GitHub CLI 0.8


MÉTHODOLOGIES

Dette technique, complexité & entropie du logiciel, série d’articles par Arnaud
Lemaire


SÉCURITÉ

Zoom fait l’acquisition de Keybase et annonce son intention de développer la
solution de chiffrement d’entreprise la plus utilisée au monde
Un malware infecte les projets Netbeans


LOI, SOCIÉTÉ ET ORGANISATION

La Fondation Eclipse s’installe en Europe

Donald Trump rentre en guerre contre les réseaux sociaux

 * Le décret de Trump contre Twitter est attaqué en justice, au nom de la
   liberté d’expression
 * Snapchat interdit à Donald Trump de promouvoir ses vidéos incitant à la
   violence

Réseaux sociaux, plateformes ou médias ?

 * Twitter a-t-il eu tort de fact-checker un seul mensonge de Donald Trump ?
 * Des employés de Facebook jugent Mark Zuckerberg trop clément avec Donald
   Trump - /!\ article payant

Loi Avia (cf ép. 214 et 225)
* « C’est pas la loi Avia qui me rendra moins pédé » : des militants LGBT
dénoncent la censure en ligne
* Loi Avia, nos observations devant le Conseil constitutionnel

Hadopi, une victoire de façade ?
(cf ép. 223)

Stop-Covid

 * Le gouvernement approuve l’application stop COVID et maintenant ?
 * StopCovid : la CNIL valide l’application même si son efficacité sanitaire
   reste incertaine
 * Pourquoi Stop COVID est un échec en terme de design respectueux de la vie
   privée

Polémique sur l’hébergement des données de santé des Français chez Microsoft

 * Le gouvernement contraint les hôpitaux à abandonner vos données chez
   Microsoft
 * « Nous ne sommes pas pieds et poings liés à Microsoft »


CONFÉRENCES

Devoxx Belgique annulé
Hack Commit Push (virtuel) le 27 juin 2020 - crowdcast
AlpesCraft reportée à l’automne
Jug Summercamp le 11 septembre 2020 - Le CfP est ouvert jusqu’au 3 juillet
DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin
FrontSide le 15 octobre 2020
DevFest Nantes les 15 et 16 octobre 2020
Volcamp.io les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 21 juin
DevFest Toulouse les 5 et 6 novembre 2020
FlowCon les 9 et 10 novembre 2020


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/

Direct download: LesCastCodeurs-Episode-234.mp3
Category:podcasts -- posted at: 11:27am CET

--------------------------------------------------------------------------------

Fri, 5 June 2020
LCC 233 - Interview sur l'Event Storming avec Thomas Pierrain et Bruno Boucard

Dans cet épisode, Audrey et Emmanuel interviewent Thomas Pierrain et Bruno
Boucard pour nous parler d’Event Storming.

Enregistré le 30 avril 2020

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


INTERVIEW


TA VIE, TON ŒUVRE

Thomas Pierrain Organisateur du meetup #DDDFR, co-fondateur de 42skillz, Thomas
est un eXtreme Programmer & architecte technique obsédé par les usages (vs.
l’approche orienté solution).

Bruno Boucard possède une expérience de plus de 30 ans allant de la
programmation kernel à la gestion de projets en mode eXtreme Programming.
Actuellement, il est coach technique, mais aussi speaker international. Il est
co-fondateur de la société 42skillz et l’organisateur du meetup BDD Paris.


EVENT STORMING EN 2 MINS

C’est quoi en deux minutes
Ça sert à quoi
Qui l’utilise ? (communautés, boites etc)


L’EVENT STORMING EN PRATIQUE

Comment ça se déroule ? Qui vient a ce workshop ?
Combien de temps ?


L’UTILITÉ ET LE RETOUR D’EXPÉRIENCE

Retour dans des boîtes classiques
Les points intéressants que cela peut soulever


AUTOUR DE L’EVENT STORMING

Comment on code ensuite ?

Event storming en continu ? ou c’est un évènement unique ?
Son lien avec DDD, event sourcing ?
Lien avec les Microservices ?


RESOURCES POUR ALLER PLUS LOIN

Le livre d’Alberto Brandolini
Article de blog de Thomas Pierrain
L’après midi du DDD épisode 2


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/

Direct download: LesCastCodeurs-Episode-233.mp3
Category:podcasts -- posted at: 9:24am CET

--------------------------------------------------------------------------------

Mon, 18 May 2020
LCC 232 - Versions version Sloubi

Dans cet épisode, Audrey et Emmanuel se retrouvent en tête à tête pour discuter
du nouveau drama à venir dans l’écosystème Java (Leyden), de l’actualité des
librairies, des annonces de GitHub, de bonnes pratiques en matière d’outils et
d’architecture et bien évidemment de la prochaine appli tendance : Stop Covid.

Enregistré le 7 mai 2020

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


NEWS


LANGAGES

Projet Leyden: images statiques pour Java mais pas GraalVM native image

Améliorer les performance de G1 “out of the box”


LIBRAIRIES

Lucene a 20 ans

Quarkus 1.4 est sorti

Comment utiliser Mockito avec Quarkus

Micrometer sort la 1.5 une LTS

Spring rattrape son retard sur OpenJDK dans le schéma de version

Micronaut 2.0 M3


INFRASTRUCTURE

Les bonnes pratiques pour écrire un fichier Dockerfile pour les développeurs

ICANN rejette la vente de .org a une boite privée


CLOUD

Les release notes de Google Cloud sur une seule page


WEB

Cloudflare implement le draft d’HTTP/3 et compare

Node.js v14


DATA

Les choses que j’aurai aimé que plus de développeurs connaissent sur les bases
de données

Redis 6 est sorti


OUTILLAGE

Test Containers 1.14

GitHub est gratuit pour les équipes

 * si on downgrade sur le gratuit, on perd quoi
   https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans#if-i-downgrade-from-github-team-or-a-legacy-plan-to-github-free-what-features-will-i-lose

Récap des annonces GitHub Satellite 2020

Spock 2.0 vs JUnit 5.0

Controler Kubernetes de Google Spreadsheet

Gradle 6.4


ARCHITECTURE

Les microservices, trop fort pour toi - opinion


MÉTHODOLOGIES

COVID vs l’open space


SÉCURITÉ


LOI, SOCIÉTÉ ET ORGANISATION

Apple et Google offrent un framework de notification d’exposition (au COVID–19)

Stop-Covid

 * La France se met dans une impasse face à Apple avec StopCovid
 * StopCovid ou encore ?
 * StopCovid : anonymat et autorités


CONFÉRENCES

Devoxx UK du 24 au 26 Août 2020
AlpesCraft reportée à l’automne
DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin
DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 31 mai
FrontSide le 15 octobre 2020
Volcamp.io les 15 et 16 octobre 2020
DevFest Toulouse les 5 et 6 novembre 2020
FlowCon les 9 et 10 novembre 2020


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/

Direct download: LesCastCodeurs-Episode-232.mp3
Category:podcasts -- posted at: 12:18pm CET

--------------------------------------------------------------------------------

Mon, 4 May 2020
LCC 231 - Interview sur Vim avec Romain Lafourcade

Romain Lafourcade échange avec Guillaume et Emmanuel sur Vim: comment il y est
venu, ce qu’il a d’unique, comment l’appréhender, et bien d’autres choses
encore.

Enregistré le 16 avril 2020

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


INTERVIEW


TA VIE, TON ŒUVRE

GitHub de Romain
Je m’appelle Romain Lafourcade. Je suis Graphiste de formation et j’ai chopé le
virus du développement en montant mon premier site en 1999. Je suis Développeur
pour de vrai depuis 2007. J’ai beaucoup fait de JS, bien sûr, ainsi que du Flash
et du Silverlight. Ça fait quelques années que je me concentre sur React et
Vue.js.

Aujourd’hui je suis chez Publicis Sapient France, une “agence digitale” de
premier plan où je m’amusais déjà très bien jusqu’à l’arrivée des ex-Xebians. Et
maintenant c’est encore mieux. Je participe actuellement à la préparation d’une
conférence “front” pointue pour la fin de l’année : FrontSide.

Mes intérêts personnels gravitent autour de la programmation fonctionnelle :
Haskell, Elixir.

Et Vim, bien sûr.


VIM INTRO

Page wikipedia de Vim

QU’EST-CE QUE VIM EN 2 PHRASES ?

Vim est un éditeur de texte orienté programmation, puissant et non-conformiste.

QUE PEUT ON DIRE DE LA DIFFÉRENCE ENTRE UN IDE ET UN ÉDITEUR ?

Dans son expression la plus simple, un éditeur de texte est un outil permettant
l’édition de fichiers de texte brut. Certains sont “standalone”, comme Vim, Nano
ou Gedit, se concentrant pour la majeure partie sur des questions liées à
l’édition de texte et déléguant les autres tâches liée au développement logiciel
à d’autres outils “standalone”. C’est la vision UNIX traditionnelle :

> “Écrivez des programmes qui effectuent une seule chose et qui le font bien.”

D’autres sont “intégrés” avec d’autres outils pour offrir une expérience plus
“clé en main”, les IDEs.


L’HISTOIRE DE VIM

Vim est né au début des années 90 sur Amiga, pour la même raison que tous les
autres clones de vi : l’impossibilité légale d’utiliser vi sur tel ou tel
système. De tous les clones, c’est celui qui s’est le plus démarqué de
l’original et c’est le seul qui est encore développé activement en 2020.

Les archéologues en herbe trouveront quelques liens sur le sujet en bas de page.

DISPONIBILITÉ DE VIM SUR LES DISTROS DE BASE

Un des arguments les plus souvent mis en avant pour convaincre les mécréants de
l’utilité d’apprendre Vim est “Vim est partout”.

Mais l’ubiquité légendaire de Vim est un mythe. Ce qui est disponible dans tous
les dérivés d’UNIX, c’est la commande vi. Le programme qui assure le boulot peut
être Vim comme il peut être Elvis, Nvi, Busybox vi ou même le vi original. Et
même quand c’est Vim, c’est souvent un build limité. Du coup, connaître Vim
n’est peut-être pas aussi utile que connaître vi.

Et c’est sans compter sur le fait que le système d’exploitation le plus
largement utilisé, n’a pas de commande vi ou vim du tout.

VIM VS EMACS: LA GUERRE ANCESTRALE

et aussi débile que toutes les guerres ancestrales.

LES VARIANTES DE VIM

Neovim est un fork récent promettant une modernisation des processus de
développement et du code.


VIM AU QUOTIDIEN

PAS DE CURSEUR?????

On a bien un curseur, mais les dispositifs de pointage sont rarement activés par
défaut. Même si c’est tout à fait possible d’utiliser la souris ou le trackpad
(:help 'mouse'), on est clairement dans un monde centré autour du clavier.

LES MODES (NORMAL, INSERT, VISUAL, ETC.)

L’édition modale, un concept initié par vi, ne fait pas l’unanimité. L’idée,
c’est qu’on est toujours dans un mode réservé à une certaine catégorie
d’activités. Un des effets positifs, et aussi un des repoussoirs de ce mécanisme
est que ça permet d’avoir un vocabulaire plus varié et expressif que dans un
éditeur classique. Le déplacement du curseur, par exemple, se fait
traditionnellement avec une combinaison de 4 touches de directions et 1
modificateurs, donc 8 déplacements possibles : 1 caractère vers la droite ou la
gauche, 1 mot vers la droite ou la gauche, 1 ligne vers le haut ou le bas, 1
paragraphe vers le haut ou le bas. C’est très pauvre, même en ajoutant Home,
End, Page Up et Page Down. Dans vim, on a tout ça, bien sûr, plus “début du
mot”, “fin du mot”, “prochaine/précédente occurrence de <caractère imprimable>”,
“prochaine/précédente occurrence de ”, “ligne numéro X”, “n lignes vers le haut
ou le bas”, “haut/bas/milieu de la fenêtre”, “marqueur X”, etc. Rien jjque ça
c’est dingue. Et comme on est dans un éditeur modal, tous ces mouvement peuvent
être utilisés avec des opérateurs et là c’est la folie.

Les modes les plus couramment utilisés sont :

 * le mode normal, le mode par défaut quand on fait $ vim foo.txt, qui est
   utilisé pour naviguer, chercher, copier, coller, etc.
 * le mode d’insertion, qui permet… d’insérer du texte dans le document,
 * les modes visuels, qui permettent de sélectionner une portion de texte,
 * le mode ligne de commande, qui permet d’utiliser les commandes héritées d’Ex
   : :write, :s, :g, etc.

LE CONCEPT DE VERBE / OPÉRATEUR + MOVEMENT + DESTINATION

C’est pour moi LA killer feature de Vim, surtout visible dans les modes normal
et visuels. En gros, le modèle d’interaction est basé sur la notion de langage.
Il y a :

 * des “opérateurs”, des verbes conjugués à l’impératif comme “efface”, “copie”,
   “remplace”,
 * des compléments d’objet directs comme “la ligne 78”, “ce texte entre
   parenthèses”, “d’ici à la fin du paragraphe”,
 * des compléments d’objet indirects comme “en dessous de la ligne 27” ou “au
   début du buffer”,
 * et des compléments circonstanciels comme “10 fois”.

Avec tout ça, on donne des commandes à la machine selon une syntaxe proche de
celle d’un langage parlé et elle obéit : “colle le texte contenu dans le presse
papier 50 fois”, “copie (d’ici) jusqu’à la prochaine parenthèse ouvrante”, etc.
Dans un éditeur de texte classique, la première se dit “ctrl+v ctrl+v … ctrl+v”,
ce qui n’a presque rien à voir avec la tâche telle qu’imaginée : “colle truc 50
fois” est devenu “colle colle … colle”, ce qui est très peu expressif. Notre
pensée abstraite de haut niveau doit être transformée en une série d’action
concrètes de bas niveau qui n’ont que très peu de sens et souvent rien à voir
avec la pensée haut niveau. Dans Vim, la première commande se dit “50p”, ce qui
est très proche de la tâche telle qu’imaginée.

La syntaxe est peut-être un peu sèche et les éléments sont peut-être ordonnés
différemment qu’en français, mais ça reste tout à fait abordable et très proche
de ce qu’on a dans la tête. L’étape suivante est exactement la même que
lorsqu’on apprend une langue étrangère : penser dans la langue.

Apprendre Vim, c’est apprendre une grammaire simple et un vocabulaire expressif
qui s’enrichit au fur et à mesure où on avance.

LA NOTION DE RANGE

Vim hérite plein de trucs de vi, qui hérite lui-même plein de trucs de ex. Dans
vim, toutes les commandes qui commencent par un “deux points” sont des
“commandes Ex”, qui agissent sur des lignes car ex était un éditeur de ligne.
Comme dans ex, ces commandes prennent des adresses (une seule ligne) et des
ranges (de telle ligne à telle autre). Une ligne peut être indiquée par son
numéro, par un offset, par une recherche, par un marqueur, etc. C’est un outil
extrêmement puissant.

Par exemple, la commande suivante copie les lignes 10 à 24 en fin de document :

 :10,24t$  

Celle-ci rassemble toutes les lignes contenant const dans la fonction courante
vers le haut du corps de la fonction :

 :?func?,/^}/g/const/m?func?  

C’est d’une élégance insoutenable.

D’AUTRES CONCEPTS DE BASE (WINDOW, TAB, BUFFER, SPLIT, ETC.)

On a toujours au moins un “buffer”, une “fenêtre” et une “tab page”. Un buffer
peut être affiché dans une ou plusieurs “fenêtres”, une “tab page” est un
rassemblement de “fenêtres”. Contrairement à la plupart des éditeurs de texte il
ne peut pas y avoir de relation 1-à–1 entre un buffer et une fenêtre ou entre un
buffer et une tab page. C’est un piège dans lequel tous les nouveaux tombent.

TU L’UTILISES POUR QUELS GENRE D’ÉDITION

J’utilise Vim de deux façons différentes : de longues sessions de programmation
et des éditions rapides (config, git commit, etc.), pratiquement tout le temps
dans un terminal.

LES COLORSCHEMES

La dernière fois que j’ai checké il y en avait littéralement des milliers, du
simple qui marche partout, utilisé par quelques barbus ronchons, à l’usine à gaz
buggée à mort, utilisée par la dernière génération de boutonneux. J’en ai
réalisé quelques uns, même, comme Apprentice, ainsi qu’un modèle simple à
utiliser. Maintenant qu’on peut utiliser toutes les valeurs hexadécimales, même
dans le terminal, c’est la fête.

Pour trouver des colorschemes, je recommande VimColors.

LES BINDING VIM DANS LES IDES

Peut-être utile pour accompagner l’apprentissage de Vim mais passé un certain
niveau c’est l’uncanny valley. C’est un des problèmes causés par des années de
Vim, d’ailleurs : ça rend exigeant.

LE TERMINAL

Le nerf de la guerre d’un Vim qui fonctionne tmux?


VIM ÉCOSYSTÈME

LA GESTION DES PLUGINS

Si on a beaucoup de plugins ça peut devenir compliqué sans plugin manager. Le
plus populaire est vim-plug.

Les plugins les plus utilisés

 * fugitive, un client Git bien intégré à Vim
 * surround, permet de jouer avec les paires de caractères : (), {}, etc.
   Souvent considéré comme un indispensable.
 * ALE, beaucoup plus qu’un linter,
 * YouCompleteMe, beaucoup plus que de l’autocompletion.

Vim et les plugins VSCode (via LSP)

Les spécifications de pas mal de fonctionnalités de Visual Studio Code sont
actuellement publiées, ce qui permet à d’autres outils de développement de
bénéficier de l’étendue de son ecosystème. Il y a LSP, par exemple, qui permet
d’implémenter des serveurs pour n’importe quel langage et des clients pour
n’importe quel éditeur. Les clients à suivre pour Vim son lsc et CoC. Peut-être
aurons-nous une intégration native un jour ? Il y a aussi DAP qui est utilisé
par Vimspector pour fournir une interface de débogage avancée.

LA NAVIGATION ENTRE FICHIERS

Un faux problème, souvent résolu en mode “brute force” par manque de volonté
d’apprendre à se servir des fonctionnalités de base. Du coup on a des dizaines
de plugins fantaisistes et des générations de vimmers superficiels. C’est
triste. En vrai, :edit, :find et :buffer sont rapides et versatiles. Il suffit
de prendre le temps d’apprendre à s’en servir.

Il existe un nombre hallucinant de plugins pour naviguer les fichiers alors que
c’est si simple et rapide avec les outils natifs.

LA VÉRIFICATION ORTHOGRAPHIQUE

La fonctionnalité est incluse de base. Il faut néanmoins l’activer avec :help
’spell’ et, si on veut de l’aide pour autre chose que de l’anglais, installer
des dictionnaires. Ça sonne plus compliqué que ça ne l’est vraiment.


DES TIPS

INDENTATION

 * Tout savoir sur l’indentation dans Vim
 * gg=G pour réparer l’indentation d’un buffer en entier
 * :help ’equalprg’ pour indiquer à Vim quel programme externe utiliser

PARAMÈTRES CUSTOM PAR FICHIER VIA MODELINE

Voir :help modeline pour des exemples. Je ne suis pas hyper fan en général que
je trouve ça un peu sale de mélanger data et metada mais ça peut être bien en
bas d’un fichier Markdown dont on sait qu’il va être édité dans Vim :

 [//]: # ( Vim: set spell spelllang=en: )  

En pratique, je suggère plutôt editorconfig pour les réglages d’indentation et
compagnie.

VIM ET GIT

Fugitive, mentionné plus haut, est très populaire. Pour ma part, je préfère
garder mon éditeur de texte pour éditer du texte et utiliser d’autres outils
spécialisés pour d’autres tâches spécialisées. J’aime beaucoup tig, que
j’utilise au jour le jour depuis des années, et j’ai découvert git-jump
récemment, qui a fait une entrée fracassante dans mon workflow.

Sinon, pour les commandes basiques, un simple :!git <subcommand> fait largement
le taf.

LES MACROS

Une macro est une séquence de commande. On peut enregistrer une macro dans le
registre q :

 qq 02wciwfoo<Esc> q  

et la rejouer sur plusieurs lignes, par exemple :

 :23,45normal! @q  

Mais avec un peu de pratique on peut complètement zapper la phase «
enregistrement » :

 :23,45normal! 02wciwfoo  

Les macros sont un outil d’automatisation extraordinaire qui épate facilement le
spectateur. Voir :help complex-repeat.

COPIER DANS LE BUFFER DE L’OS (CTRL+C CTRL+V)

Pour ça, l’idéal est d’avoir un Vim compilé avec la fonctionnalité “clipboard”.
Si c’est pas possible on peut bricoler des trucs avec xclip/pbcopy/etc. ou
utiliser les fonctionnalités de copier/coller du terminal.

Le clipboard système est représenté par le registre + dans vim. Donc copier dans
le clipboard: "+y, et ensuite coller, "+p. Note que " est la sélection de
registre.

REMPLACER VIA DES EXPRESSIONS RÉGULIÈRES

La substitution, basée sur les expressions régulières ou pas, est une pratique
courante dans Vim. Par exemple, pour remplacer toutes les occurrences de java
par kotlin dans le buffer courant :

 :%s/java/kotlin/g  

Voir :help :s et le site Vim Regular Expressions 101 car Vim utilise un dialecte
spécial.

MODE VI DANS LE SHELL

Readline, la bibliothèque utilisée par bash pour gérer l’invite de commande,
utilise des raccourcis inspirés par Emacs par défaut. On peut changer ça en
ajoutant la ligne suivante dans ~/.inputrc:

 set editing-mode vi  

Personnellement, je préfère garder les raccourcis par défaut et éditer mes
commandes directement dans Vim, avec Ctrl-x Ctrl-e. Si vous ave mis le mode vi,
alors pour éditer la commande dans vim, tapez ESC v.

VIMDIFF

On peut utiliser Vim pour afficher des diffs côte à côte et même pour gérer les
merge conflicts dans Git.

Voir :help diff pour les détails sanglants.


ALLER PLUS LOIN

LIVRES

 * Practical Vim
 * Modern Vim
 * Learn Vimscript The Hard Way
 * The Viml Primer

HISTOIRE DE VIM

 * The History Of Vim
 * Where Vim Came From
 * Bram Moolenaar Discusses Developing the Popular Text Editor, How He Uses It,
   and Version 8
 * 10 Questions with Vim’s creator, Bram Moolenaar

RESSOURCES

 * Vim Galore
 * Idiomatic Vimrc
 * Seven habits of effective text editing
 * :help user-manual
 * Vimways

MEETUPS

 * Tuppervim

COMMUNAUTÉ

 * #vim sur Freenode
 * #vim-fr sur freenode
 * r/vim sur reddit
 * le tag Vim sur Stack Overflow
 * le site Stack Exchange dédié à Vim

EN VRAC

 * Vim 9 ?
 * Comment quitter Vim de manière… créative
 * Vim cheatsheet
 * Bonne explication d’un beau vimrc en détails
 * Tmux et Vim ensemble avec les bons plugins
 * Been using Vim for two years because I didn’t figure how to quit it!
 * Vim primer and tutorial
 * Resources Vim
 * Des stickers pour clavier Mac pour se rappeler des raccourcis


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/

Direct download: LesCastCodeurs-Episode-231.mp3
Category:podcasts -- posted at: 9:43pm CET

--------------------------------------------------------------------------------

Thu, 16 April 2020
LCC 230 - Du confinement à la déconfiture

Encore un épisode très long, mais cette fois il a une bonne excuse : on a
censuré aucune blague ! Cet épisode nous a fait beaucoup de bien à enregistrer
c’est pourquoi nous avons tout gardé, même ce qui serait normalement passé en
off, en espérant qu’il vous fera autant de bien à l’écouter ! Et ce n’est pas
pour autant qu’Audrey, Emmanuel et Guillaume ne disent que des bêtises : on
parle bien évidemment de tout ce qui fait l’actu tech (Java, Kotlin, Micronaut,
Quarkus, Vert.x, Docker et autres) mais aussi de surveillance en cette période
très particulière.

Enregistré le 10 avril 2020

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


NEWS

Je m’appelle Audrey et je travaille pour… Rest In Peace Carl Quinn


LANGAGES

Le JDK 14 en GA
Un état de l’art de Java, tendances et données
D’ici 6 mois, Eclipse nécessitera le JDK 11 pour s’exécuter
José Paumard publie 50h de cours sur Youtube
JEP proposées pour le JDK 15 :

 * 377: ZGC
 * 378: Text Blocks
 * 379: Shenandoah

Kotlin 1.4 M1


LIBRAIRIES

Spring Framework 5.2.5
Spring Boot 2.3.0.M4

Support du liveness et Readiness Probes de Kubernetes dans Spring Boot

Eclipse Vert.x 3.9.0

Micronaut 2.0 M1
Un benchmark de Micronaut comparant SpringBoot et Quarkus - mais un peu
controversé

Quarkus 1.3 est sorti

 * Et Quarkus 1.3.2 aussi

Quarkus 1.3 et Eclipse MicroProfile 3.3


INFRASTRUCTURE

DockerAwesome Compose
Docker GitHub Action
Docker annonce la Compose Specification

Kubernetes 1.18
Fleet: un outil de management de cluster Kubernetes
Kit de survie Kubernetes pour les développeurs [avec K3S]


CLOUD

Tutoriel Spring Boot : Création De Microservices Déployés Sur Google Cloud


WEB

NPM racheté par GitHub

 * L’annonce côté GitHub

Deno 1.0

 * Qu’est ce que Deno ?

Angular 9.1
Angular CLI 9.1

Les développeurs de Wikipédia choisissent Vue, plutôt que React


OUTILLAGE

GitHub mobile
On peut maintener repasser une PR ouverte en Draft sur GitHub

GitLab 12.8

 * (18 fonctionnalités GitLab passent open
   source)[https://about.gitlab.com/blog/2020/03/30/new-features-to-core/]

Zoom annonce un gel des fonctionnalités pendant 90 jours pour résoudre les
problèmes de confidentialité et de sécurité

Nouvelle UX pour Slack


MÉTHODOLOGIES

Building Secure and Reliable Systems - Le SRE pour les nuls


LOI, SOCIÉTÉ ET ORGANISATION

Bill Gates quitte le conseil d’administration de Microsoft
Contre la censure en ligne, RSF bâtit une immense « Bibliothèque libre » dans «
Minecraft »
Première victoire en justice contre la reconnaissance faciale !
Surveillance publicitaire : la CNIL se défile de nouveau sur le consentement aux
cookies

Pandémie et surveillance :

 * La crise sanitaire ne justifie pas d’imposer les technologies de surveillance
 * Coronavirus : le risque est d’entrer dans « une nouvelle ère de surveillance
   numérique invasive »
 * Covid–19 et la surveillance


OUTILS DE L’ÉPISODE

DevHints.io
Screen.io
Krisp.ai


RUBRIQUE DÉBUTANT

Processing de texte dans le shell


CONFÉRENCES

GitHub Satellite en virtuel les 6 et 7 mai
DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu’au 15 avril
Voxxed Days Luxembourg du 17 au 19 juin 2020
Devoxx France du 1 au 3 juillet 2020
Sunny Tech les 2 et 3 juillet 2020
Devoxx UK du 24 au 26 Août 2020
AlpesCraft reportée à l’automne
DevOps D-Day le 9 octobre 2020 - Le CfP est ouvert jusqu’au 15 juin
DevFest Nantes les 15 et 16 octobre 2020 - Le CfP est ouvert jusqu’au 31 mai
Volcamp.io les 15 et 16 octobre 2020
DevFest Toulouse les 5 et 6 novembre 2020
FlowCon les 9 et 10 novembre 2020

Et encore plus sur Developers Conferences Agenda/List.


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/

Direct download: LesCastCodeurs-Episode-230.mp3
Category:podcasts -- posted at: 9:54pm CET

--------------------------------------------------------------------------------

Wed, 1 April 2020
LCC 229 - Interview sur la sobriété numérique avec Richard Hanna

Dans cet épisode Arnaud et Audrey interviewent Richard, contributeur du Shift
Project, un think thank qui œuvre en faveur d’une économie libérée de la
contrainte carbone et qui a publié plusieurs rapports en faveur d’une sobriété
numérique.

Enregistré le 25 février 2020

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


INTERVIEW


TA VIE, TON OEUVRE

Richard Hanna, développeur et coopérateur Fairness et co-animateur du podcast
Techologie.


LE SHIFT PROJECT


NUMERIQUE & TRANSITION

Les publications numérique et transition

LEAN ICT

Lean ICT : Pour une sobriété numérique

CLIMAT : L’INSOUTENABLE USAGE DE LA VIDÉO EN LIGNE

Climat : l’insoutenable usage de la vidéo en ligne

LES OUTILS

LA VIDÉO PÉDAGOGIQUE

« Cette vidéo réchauffe le climat :merci de la regarder »

LE GUIDE

Le guide pour réduire le poids des vidéos en 5 minutes

CARBONALYSER

Carbonalyser : l’extension de navigateur qui rend visible l’invisible impact
environnemental du net

DÉPLOYER LA SOBRIÉTÉ NUMÉRIQUE

Déployer la sobriété numérique


CONCLUSION

Contribuer au Shift Project

« Reset, quel numérique voulons-nous ? »

Nicolas Meilhan: “Devenons les champions du monde de la voiture à 500 kg”,
l’article de Damien Detcherry pour Atterrissage


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/

Direct download: LesCastCodeurs-Episode-229.mp3
Category:podcasts -- posted at: 9:22pm CET

--------------------------------------------------------------------------------

Fri, 20 March 2020
LCC 228 - Conseils sur le télétravail

En cette période de confinement et de Coronavirus, les cast codeurs partagent et
échangent leurs points de vue et conseil pour faire du télétravail. En espérant
que cela vous aide un petit peu.

Enregistré le 20 mars 2020

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


INTERVIEW


L’ENVIRONNEMENT DE TRAVAIL

L’organisation
La pièce
Le matériel
Le bureau assis debout (version électrique Ikea et version manivelle)
Les enfants et le conjoint
…


LE TRAVAIL EN ÉQUIPE À DISTANCE

La communication
Le flicage
La disponibilité instantanée L’écrit, la messagerie instantanée et l’oral
…


LA GESTION DU TEMPS / JOURNÉES

Le sur ou sous travail
Le burn out (épisode des cast codeurs dédié)
Les pauses
Les horaires
Interview sur la productivité personnelle


LE LIEN SOCIAL

Comment compenser la réduction d’interaction sociale
…


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/

Direct download: LesCastCodeurs-Episode-228.mp3
Category:podcasts -- posted at: 3:01pm CET

--------------------------------------------------------------------------------

Tue, 17 March 2020
LCC 227 - Télétravailler une corona dans une main et un gamin dans l'autre

Cet épisode parle du coronavirus, des conférences annulées, de la popularité des
langages, de GraphQL, de Ghostcat et pleins d’autres choses encore. L’intro date
un peu: les infos sur le coronavirus étant encore plus fréquentes que les
nouveaux framework JavaScript.

Enregistré le 13 mars 2020

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


NEWS


CORONA VIRUS

Les actions des grosses boites

 * pas de meeting
 * conf annulées
 * limite du travail au bureau


LANGAGES

RedMonk ranking - Le langage au top est…

 * JavaScript Python Java
 * Typescript dans le top 10
 * R monte
 * Rust stable comme Go (+1)
 * Kotlin 19, Scala 13

InfoQ meta sondage

 * Java 8 le plus déployé en prod, 25% Java 11 et non LTS derrière
 * Spring 60–80%
 * IntelliJ 60–80%, Eclipse 20–25%
 * mavenjvs Gradle 66–33 ou 50–50

Sondage sur Scala

Scala.js 1.0.0

 * 7 ans de dev
 * not binary compatible with 0.6 nor 1.0RCx
 * Ecrire en scala des applications front
 * interop avec les libraries JavaScript

GraalVM se dote d’un advisory board

 * Gluon, Red Hat, Amazon, Microdoc, Shopify, Twitter, OCI, Neo4J, Pivotal, ARM
   et Oracle bien sûr

Gros round d’investissement dans Azul

 * investissement / achat: 340 M$


LIBRAIRIES

Eclipse MicroProfile GraphQL 1.0

 * GraphQL: spec pour generaliser les endpoints en leur donnat lflexibilite en
   terme de requetage et graph retourné
 * make GraphSQL schema available
 * execute GraphQL requests
 * code first approach

Apache Camel 3.1 et 3.0 déprécié
Le guide de migration de Camel

 * amélioration de mémoire

Lightbend recoit 25M d’investissement

 * de Dell capital
 * pour la partie reactive
 * spécifiquement pour le “serverless”
 * pas de mention de Scala

OPTIONNEL LightBend - Article sur pourquoi une architecture reactive est
importante pour le cloud native

 * bonne piqure de rappel
 * data localisée par microservice
 * les avantages des systèmes event based


MIDDLEWARE

ElasticSearch en prod, les choses a savoir

 * les concepts de base (Clusters, Nodes, Indices and Shards)
 * Quorum
 * comment des noeuds rejoingnent le cluster
 * segments et le merge
 * gestion de la memoire (compressed pointers /!\ inversé, 30GB, 2x memoire sur
   la machine par rapport au heap) voir
   https://stackoverflow.com/questions/25120546/trick-behind-jvms-compressed-oops#25120926
 * options par workload (write heavy vs read heavy
 * topology
 * monitoring


INFRASTRUCTURE

La M&A de have i been p0wned: l’histoire de l’abandon

 * societe KPMG
 * due diligence
 * des milliards de questions
 * les doutes
 * exclusivité
 * le risque du changement de stratégie


CLOUD

Les gens ralent car les clusters GKE vont avoir un cout de management de
10c/heure, ce qui change la relation du cluster au développeur (nombre de
clusters en parallèle)
Une comparaison des prix des clusters en fonction de leur taille et de leur host
provider

Amazon annonce Bottlerocket

 * Mise a jour par image recrée plutôt que par package mis a jour
 * plus immuable et donc facile en rollback
 * par contre chaque host goes down et up
 * si orchestrateur c’est ok


OUTILLAGE

IntelliJ Big Data Tools

 * un IDE pour le big data!
 * deja integration avec Zeppelin S3
 * nouveau Spark, HDFS, Paquet


ARCHITECTURE

Les systèmes simples ont moins de downtime

 * facile à comprendre, facile à corriger
 * plus rapide de monter en competence
 * trouver la cause est plus rapide
 * solutions simples, plus d’alternatives disponibles
 * regles: les fonctionalités de justifient pas la complexité, les idées
   complexes amènent des implémentations complexes, modifier avant d’ajouter
 * challenge de l’automation pour faire avec moins de gens?

OPTIONNEL 11 raisons pour lesquelles vous allez rater vos microservices

 * voir les titres de section

OPTIONNEL Retour d’experience sur l’usage incorrect d’un outil bloom filters

 * probleme idéal pour bloom filters
 * mais suspicieusement plus long que prévu
 * profilers
 * random access memory >> sequential reading (trop grand pour L3)
 * alternative plus simple qui reduit le nombre le chargement memoire, pas la
   conso memoire


MÉTHODOLOGIES

Les trains de merge

 * rebasing, la course au collègue
 * garder master green pour la CD
 * impossible de faire trops de merge en parallele ou doit faire pleins de
   rebase
 * merge train sequentialise et batch les merges

Retour sur le modèle GitFlow

 * pas intuitif (merge bidirectionels dans le temps entre develop, feature
   branch, release branch, hotfix et master) et cout cognitif haut
 * risque grandi de merge conflit
 * peut pas rebaser
 * continuous delivery != trop de barrières
 * en cas de repos multiples ou mono repos, impossible a gérer (microservices)
 * ok pour des cycles de release par trimestre avec des equipes sur des releases
   en parallele

Mesure de la complexité de code: une meilleure mesure

 * cyclomatic complexité est un mauvais oracle de la complexité de code
 * les logiques conditionnelles emboîtées utilisent notre mémoire de travail
   (~indentation)
 * les fonctions avec des dos d’anes d’indentation multiples sont les pires
 * refactorer pour externaliser chaque

Dans Sonarqube cela s’appelle Cognitive Complexity. Voici un exemple sur du code
XWiki ou l’on voit très bien visuelement ce que cela veut dire:
https://sonarcloud.io/project/issues?id=org.xwiki.commons%3Axwiki-commons&issues=AWzY6RXo8pMOHxUYvkyE&open=AWzY6RXo8pMOHxUYvkyE


SÉCURITÉ

Ghostcat: la faille dans Tomcat de 6 à 9

 * dans le protocole Apache JServ (implicitement trusté par Tomcat (cs une
   requête)
 * peut lire le contenu des web apps
 * si la webapp peut uploader => activer un remote execution
 * upgrader Tomcat 7, 8, 9, si 6, vous êtes dans la merde
 * attention Tomcat est embarqué dans pleins d’outils comme Wildfly, Spring Boot
   etc

Letencrypt révoque 3 millions de certs a multiples domaines


LOI, SOCIÉTÉ ET ORGANISATION

Amicus brief sur le copyright d’API par IBM et Red Hat

 * computer interfaces ne sont pas copyrightable
 * moteur de l’economie du logiciel
 * va etre entendu au printemps

Amicus brief de chercheurs attaqué par Oracle

 * payés par Google

OPTIONNEL Les hackers de Equifax contamnés pour crime

 * DOJ charcge 4 militaires Chinois
 * Struts CVE


RUBRIQUE DÉBUTANT

La tonte de Yak appliquée à Donarld Knuth

 * écrire un livre
 * écrire un programme pour ecrire un livre
 * invente un langage de programmation pour écrire le programme
 * invente un mode de pagination
 * design une police de caractère
 * écrit un outil pour construire les polices de caractère
 * invente un système de version pour son programme
 * implémente un langage d’abstraction maison pour les documents imprimés


CONFÉRENCES

ANNULÉ - Breizhcamp du 25 au 27 mars 2020
ANNULÉ - MiXiT du 29 au 30 avril 2020
VIRTUEL - GitHub Satellite les 6 et 7 mai
ANNULÉ - RivieraDev du 13 au 15 mai 2020
Devoxx UK du 13 au 15 mai 2020
NewCrafts les 28 et 29 mai 2020
AlpesCraft les 4 et 5 juin 2020
ANNULÉ - Best of Web les 4 et 5 juin 2020
DevFest Lille le 12 juin 2020 - (Le CFP est ouvert)
Voxxed Days Luxembourg du 17 au 19 juin 2020
ANNULÉ - Serverless Days Paris le 1 juillet 2020
NOUVELLE DATE - Devoxx France du 1 au 3 juillet 2020
Sunny Tech les 2 et 3 juillet 2020

Et encore plus sur Developers Conferences Agenda/List ….
Liste d’Aurélie


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/

Direct download: LesCastCodeurs-Episode-227.mp3
Category:podcasts -- posted at: 10:49pm CET

--------------------------------------------------------------------------------

Mon, 9 March 2020
LCC 226 - Interview sur l'Open Source à la MAIF avec Mathieu Ancelin et François
Desmier

Dans cet épisode, Mathieu Ancelin et François Desmier sont venus nous parler des
produits open source de la MAIF. On parle management d’API, reverse proxy, A/B
Testing, feature flipping mais aussi plus généralement de comment on passe
d’assureur à éditeur de produits open source.

Enregistré le 13 février 2020

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


INTERVIEW


TA VIE, TON OEUVRE

François Desmier Cyber-guru, crypto-saïyan, team ambiancer 2.4 alpha, bytes
master et surtout architecte solution à la MAIF, engagé sur #OSSbyMAIF
Mathieu Ancelin Développeur fullstack chez SERLI, je fais du web, des streams,
de la data, du cloud majoritairement sur la JVM et j’ai un petit faible pour
Scala et la programmation fonctionnelle. Je suis également lead développeur de
quelques projets open-source comme Otoroshi, Daikoku, etc. et l’un des
organisateurs des Human Talks Poitiers.


D’ASSUREUR À ÉDITEUR OPEN SOURCE

Le GitHub
La philosophie


LE JEU DE CARTE

Le jeu de carte


SOUS LE CAPOT

OTOROSHI

Produit
Philosophie
Doc

DAIKOKU

Produit
Doc

IZANAMI

Produit
Philosophie
Doc

NIÕ

Produit
Doc

MELUSINE

Produit
Doc


LE FUTUR


CONCLUSION

Des talks pour aller plus loin :

 * Simplifiez vous les microservices avec Otoroshi
 * Du mutualisme à l’Open Source
 * Opun devenir une plateforme de service
 * Vos applications sous stéroïdes avec Otoroshi et Izanami


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/

Direct download: LesCastCodeurs-Episode-226.mp3
Category:podcasts -- posted at: 6:42pm CET

--------------------------------------------------------------------------------

Tue, 25 February 2020
LCC 225 - L'épisode du futur

Dans cet épisode en tête à tête, Emmanuel et Audrey discutent des prévisions
pour cette nouvelle année, font la part belle au langage avec l’arrivée du JDK
14 mais parlent aussi middleware, web, outillage, et bien sûr loi, société et
organisation.

Enregistré le 19 février 2020

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


NEWS

Les prévisions d’Adam Bien pour 2020


LANGAGES

JDK 14 First Release Candidate

 * Présentation des records
 * Ecrire des Records invariants avec Bean Validation
 * Monitoring d’API Rest avec les évènements du JDK Flight Recorder

Est ce que le projet Loom menace les Java Futures ?
Visualisation de la gestion de la mémoire dans la JVM (Java, Kotlin, Scala,
Groovy, Clojure)

Une demi heure pour apprendre Rust


LIBRAIRIES

Jukebox : une lib pour créer des builders pour les records
JUnit 5.6


MIDDLEWARE

Créer des images Docker avec Spring Boot 2.3.0 M1
Quarkus 1.2.0.Final

 * Quarkus : un outil open-source pour écrire vos applications Java

Micronaut 1.3 et Micronaut Data 1.0 GA


INFRASTRUCTURE

Kubernetes Bug Bounty


CLOUD

Formation gratuite Google Cloud en ligne
Elastic Cloud sur Kubernetes (ECK) 1.0 en GA


WEB

Angular 9 est maintenant disponible, et le projet Ivy aussi

 * Quoi de neuf dans Angular 9.0 ?
 * Quoi de neuf dans Angular 9.0 CLI ?

Introducing Firefox and Edge Support in Cypress 4.0
Le nouveau Microsoft Edge est disponible

Ionic 5


OUTILLAGE

Maven est de retour, et il est pas content !

 * Old GroupIds Alerter : un plugin pour vérifier les couples groupId+artifactId
   dépréciés
 * Provisio : un plugin pour remplacer Maven assembly
 * MPV : une fonctin BASH pour récupérer la version d’un projet depuis le
   pom.xml
 * Central 501 HTTPS Required

Gradle 6.2
IntelliJ IDEA 2020.1
* JetBrains Mono


LOI, SOCIÉTÉ ET ORGANISATION

L’Union Européenne envisage une interdiction temporaire de la reconnaissance
faciale

 * Safe City à Marseille : premier recours contre la vidéosurveillance
   automatisée

La CNIL publie ses recommandations très attendues sur le ciblage publicitaire

 * La CNIL publie un guide RGPD pour les développeurs

La conservation généralisée et indifférenciée des métadonnées épinglée à la
CJUE, avec nuance

Coup d’état sur la loi haine

 * Féministes, LGBTI et antiracistes, nous ne voulons pas de la loi Cyberhaine


OUTILS DE L’ÉPISODE

JQ - un commmand line processor pour JSON
Comment voir (et supprimer) les données envoyées à Facebook par des sites tiers


RUBRIQUE DÉBUTANT

Java-guide : un guide pour apprendre le Java moderne
Phishing : comment font les hackers, comment vous protéger


CONFÉRENCES

DevFest du Bout du Monde le 28 février
Breizhcamp du 25 au 27 mars 2020
Devoxx France du 15 au 17 avril 2020
Serverless Days Paris le 24 avril
MiXiT du 29 au 30 avril 2020
GitHub Satellite les 6 et 7 mai
RivieraDev du 13 au 15 mai 2020
Devoxx UK du 13 au 15 mai 2020
NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu’au 1 mars
Best of Web les 4 et 5 juin 2020 - Le CfP est ouvert
DevFest Lille le 12 juin 2020 - Le CfP est ouvert jusqu’au 29 février
Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu’au 28 février
DevFest Toulouse les 5 et 6 novembre 2020 - Le CfP est ouvert

Et encore plus sur Developers Conferences Agenda/List ….


UNCONFERENCES

JChateau du 11 au 15 mars 2020


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/

Direct download: LesCastCodeurs-Episode-225.mp3
Category:podcasts -- posted at: 8:43am CET

--------------------------------------------------------------------------------

Thu, 6 February 2020
LCC 224 - Interview sur le burn out avec Géraldine Karila

Une personne sur 5 fera un burn out au travail pendant sa carrière. Géraldine
nous raconte son burn out, comment cela s’est passé, son chemin pour s’en sortir
et les recherches qu’elle a fait sur le sujet.

Enregistré le 16 décembre 2019

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


INTERVIEW


TA VIE, TON OEUVRE

Géraldine Karila


LE BURN OUT


LES PHASES


COMMENT RÉCUPÉRER


COMMENT AIDER UNE PERSONNE EN BURN OUT


LIENS

Test: avez vous des slgnes de burn out
Témoignage sur le burn out dans l’IT ops
Gérer le burn out
Géré son équilibre et sa réslience au travail
Le syndrome de l’épuisement au travail (français)
Les causes de burn out
La confiance


PODCASTS

Carl Newport sur le burn out dans nos vies numériques
Travail comme identité, burn out comme style de vie


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/

Direct download: LesCastCodeurs-Episode-224.mp3
Category:podcasts -- posted at: 1:20pm CET

--------------------------------------------------------------------------------

Mon, 27 January 2020
LCC 223 - On peut anonymiser mille fois une personne mais on ne peut pas
anonymiser une fois mille personne

Premier épisode de l’année 2020 pour les cast codeurs avec Guillaume, Arnaud et
Audrey autour du micro pour parler du JDK 14 bien sûr mais aussi de Quarkus, de
WebAssembly, de Kubernetes mais aussi de l’actualité sociétale liée à la tech.

Enregistré le 13 janvier 2020

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


NEWS


LANGAGES

JDK 14

 * Early-Access Builds

Comparaison des GC

Kotlin 1.4 et au-delà, lors de la conférence KotlinConf

 * What the Flow?


LIBRAIRIES

JHipster 6.6.0
R2DBC 0.8.0 en GA
DropWizard 2.0 released
Spock 2.0 milestone 1 sortie o

 * Migrer de Spock 1.3 à 2.0


MIDDLEWARE

VMware Rachète Pivotal et Carbon Black
Calendrier de l’Avent d’Elastic
Client RUST pour Elastic Search
Apple open source ServiceTalk à base de Netty

Quarkus 1.1.0

 * Gestion centralisée des logs en Quarkus

GraalWasm — un moteur WebAssembly dans GraalVM


INFRASTRUCTURE

kubectl tree
Guide visuel de débug des deploiements Kubernetes
Injecter des Secrets Vault dans des Pods Kubernetes via un Sidecar
Hexa, un CLI sous stéroïdes pour les devs Azure


WEB

WebAssembly devient une recommandation du W3C
/e/ une alternative à Android qui prend soin de votre vie privée
Bazel 2.0

 * 1ère version stable de Node.js pour Bazel


OUTILLAGE

La Maif continue son mouvement OpenSource avec Daikoku
Améliorer les performances de votre CI en optimisant vos builds Maven ou Gradle
- Webinar
Gradle capabilities appliqué au conflit de logging
GitLab 12.6 released with Security Scorecard and Release Evidence * Token-Hunter


MÉTHODOLOGIES

CalVer, le versionning avec des dates


SÉCURITÉ

Configurez vos parsers XML en Java pour éviter les XML eXternal Entity (XXE)


LOI, SOCIÉTÉ ET ORGANISATION

Larry Page and Sergey Brin quittent Google
Plus il y a d’égalité des sexes dans un pays, moins il y a de femmes en STEM
Est ce que le fait qu’Oracle copie l’API S3 d’Amazon était une violation de
copyright?
La Russie réussit son test et se coupe de l’Internet mondial avec succès

Spécial France WTF

 * La France présente sa loi upload filters mais “oublie” les droits des
   utilisateurs
 * Reconnaissance faciale : le gouvernement souhaite faire une expérimentation
   dans la vidéosurveillance
 * « Ne pas sacrifier nos droits » : l’hostilité à l’égard de la reconnaissance
   faciale grandit en France
 * La Police nationale lorgne sur les « données de réservation » des voyageurs
 * Le Conseil constitutionnel autorise le FISC à la surveillance de masse

Les décisions de justice vont enfin être toutes accessibles en ligne
gratuitement
Twitter va tester de nouvelles options pour limiter les réponses à un tweet


OUTILS DE L’ÉPISODE

Encryptez et envoyez vos fichiers avec https://send.firefox.com/


RUBRIQUE DÉBUTANT

Comment quitter Vi, version fun


CONFÉRENCES

Snowcamp du 22 au 25 janvier 2020
Touraine Tech le 31 janvier
FOSDEM les 1 et 2 février
dotSwift le 3 février - Le CfP est ouvert
DevFest Paris le 14 février 2020
DevFest du Bout du Monde le 28 février dotPy le 2 mars - Le CfP est ouvert
Breizhcamp du 25 au 27 mars 2020 - Le CfP est ouvert
dotGo le 30 mars - Le CfP est ouvert Devoxx France du 15 au 17 avril 2020
Android Makers Paris les 20 et 21 avril 2020 - Le CfP est ouvert jusqu’au 19
janvier Serverless Days Paris le 24 avril - Le CfP est ouvert jusqu’au 31
janvier
MiXiT du 29 au 30 avril 2020 - Le CfP est ouvert jusqu’au 15 janvier
GitHub Satellite les 6 et 7 mai - Le CfP est ouvert jusqu’au 14 janvier
RivieraDev du 13 au 15 mai 2020 - Le CfP est ouvert jusqu’au 15 février
NewCrafts les 28 et 29 mai 2020 - Le CfP est ouvert jusqu’au 1 mars
Best of Web les 4 et 5 juin 2020 - Le CfP est ouvertDevFest Lille le 12 juin
2020 - Le CfP est ouvert jusqu’au 29 février
Sunny Tech les 2 et 3 juillet 2020 - Le CfP est ouvert jusqu’au 28 février

Et encore plus sur Developers Conferences Agenda/List ….


UNCONFERENCES

JChateau


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/

Direct download: LesCastCodeurs-Episode-223.mp3
Category:podcasts -- posted at: 8:24pm CET

--------------------------------------------------------------------------------

Tue, 24 December 2019
LCC 222 - Interview sur Android avec Pierre-Yves Ricau et Romain Guy -
l'intégrale

Dans cet épisode, Emamnuel s’assoie autour de la table avec Romain Guy et
Pierre-Yves Ricau pour discuter Android. Cela fait longtemps que la partie 1 est
sortie. Désolé de ce retard. Du coup cet épisode reprend l’entièreté de
l’interview. Pour ceux qui se rappellent bien de la partie 1, vous pouvez sauter
à la minute 62 environ.

Enregistré le 18 septembre 2019

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


INTERVIEW


TA VIE, TON OEUVRE

Romain Guy
Pierre-Yves Ricau
Square


INTRO

Android
Andoid sources

Android 10


JETPACK

JetPack
Supporter des versions differentes d’Android
JetPack Compose
Toolkit UI reactif

Jetifier


JAVA 8

D8
R8


COMPILATION ET AUTRE JIT


KOTLIN

Kotlin langage


OPTIMISATIONS

Coeurs
Batterie

Dark theme et reduction de consommation de batterie


INJECTION DE DÉPENDANCE

Dagger 1
Dagger 2
Koin


FUITE MÉMOIRE

LeakCanary

Data structure et boxing
Access mémoire, algorithmique et structure de données

Log-structured merge-tree


LES ATTAQUES ET LES PROTECTIONS

Chiffrage
Isolation
Fuite d’info par effet de bord


MICROSERVICES

De l’intéret pour le mobile ?
Innovation vs standardisation
Monorepo
Gradle
Bazel


PODCAST ET RESOURCES ANDROID

Android Leaks en Français
Android Developers Backstage
Android Dialogs

Android Weekly
Flutter


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/

Direct download: LesCastCodeurs-Episode-222.mp3
Category:podcasts -- posted at: 2:33pm CET

--------------------------------------------------------------------------------

Fri, 13 December 2019
LCC 221 - Massacre à la tronçonneuse

Guillaume, Arnaud et Emmanuel descendent dans les profondeurs des garbage
collectors, Java 14, GraalVM 19.3 (Java is back!) et bien sûr pleins d’autres
choses !

Enregistré le 5 décembre 2019

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


NEWS


LANGAGES

GraalVM 19.3 with JDK 11 Support.
GraalVM se met aussi à WebAssembly

Microsoft ready to contribute to OpenJDK

Trois JEPs prévus pour être intégrés à Java 14 :

 * JEP 305 : Pattern Matching for instanceof
 * JEP 359 : Records
 * JEP 343 : Packaging Tool dans l’Incubator

Stephen Colebourne râle sur le nouveau switch

Tricher le GC de Go avec du poids mort

 * le GC se declence tous les 2x de heap
 * si pas d’alloc, ca veut dire qu’il vide jusqu’à 1x amis declenche des GC
   super fréquement
 * donc en allouant (virtuellement) in tableau de 10Go, on reduit de temps entre
   GC
 * le cout d’un concurrent mark sweep c’est de marquer les objets vivants (les
   morts ont peut de cout)
 * et les co-routines pendant une phase de mark-sweep doivent faire un travaille
   de mark ce qui les ralenties
 * donc moins de GC veut dire plus rapide
 * c’est le cout a payer pour un GC avec 1 ou peu de parametres.

Shenandoah: eliminer les mote de pointeurs en avant

 * Shenandoah bouge les objets sans mettre a jour ses pointeurs
   * juste garde une copie dans l’objet meme de ses references
   * puis mets a jour les references de maniere concurrente en parallele de
     l’appli
   * et enfin peut virer les objets.
 * par default Shenandoah demande un word supplémentaire par objet
   * si le word == l’objet, on est normal, sinon il pointe vers la nouvelle
     copie de l’objet
   * 5 à 10% de mémoire suppl´mentaire en pratique
 * peut reutiliser le mark word mais comparaison chere surtout a faire a chaque
   read-barrier
   * uniquement pendnt un GC et sur les objkets dans des colelctions set => peu
     frequents
   * dans les tests le code de décoding supplémentaire est pas visible dans les
     benchmarks
 * mais ils ont eliminé les read barrier en load-reference-barrier qui sont
   moins frequentes en nombre d’objet
 * meilleure densité mémoire, moins de pression sur le CPU cache, plus de
   throughput


LIBRAIRIES

 * Eclipse Collections, 10 raisons de les utiliser.
 * Mapper des erreurs HTTP du REST client vers des exceptions avec Eclipse
   MicroProfile
 * vert.x 3.8.4
 * Spring Boot 2.2.1, Spring Framework 5.2.2 and 5.1.12.

Micronaut en Trial dans le tech radar de ThoughtWorks et Quarkus en assess


MIDDLEWARE

Le Camel a trois bosses

 * un ensemble de projets (Camel, Camel K, Camel extensions pour Quarkus)
 * nouveau site web
 * Java 11 support et abandon de Java 8 durant 2020
 * Camel core modularisé et moins de classes à démarrer, reduire la reflection
 * support de GraalVM via Quarkus
 * DSL typesafe de definition de endpoint
 * Coeur reactif
 * Integration avec microprofile
 * nouveaux composants ( - graphql - 4 more AWS components - Debezium
   components)


INFRASTRUCTURE

Sonatype racheté
Annonce par Sonatype du rachat

 * par une boite de private equity…
 * il est temps de backuper central

Docker à la découpe. Docker Enterprise racheté par Mirantis
Les fondateurs de Google tournent la page


CLOUD

AppEngine Java 11 Runtime FAQ.
Pas bien les Fat JAR dans les images de conteneur
Helm 3 est sorti


WEB

.org est vendu, sauvons les .org ( Ils ont réussit à fâcher Kohsuke ).


DATA

R2DBC 0.8
Exposer les entités persistées dans vos API ou pas

 * Plus simple, une seul objet
 * plus compliquer des details d’implementations (nouveau champ d’un cote ou de
   l’autre)
 * accumulation d’annotations pour abstraire ses mod¡eles (JSON, JPA)
 * associations géré en proxy dans JPA et en id ou null dans API
 * V2 de l’API
 * aggregation des données dans l’API


OUTILLAGE

La matrice arrive dans Jenkins Pipelines.
Jenkins Health Advisor par CloudBees.
L’experience zsh de Julien Ponge

Cédric explose le mythe du scripting vs déclaratif dans Gradle
Comment éviter l’enfer des dépendances avec Gradle 6


MÉTHODOLOGIES

L’humain est résiliant aux chocs de la vie mais pas tant que cela `au chomage de
longue durée

 * etude
 * Plus on est dans un pays développé, plus on est heureux
 * on est plus heureux maintenant qu’il y a quelques années (croissance)
 * plus on est riche, plus on est heureux


LOI, SOCIÉTÉ ET ORGANISATION

Save your code on Software Heritage Archive.


CONFÉRENCES

 * Snowcamp du 22 au 25 janvier 2020
 * DevFest Paris le 14 février 2020 - Le CfP est ouvert.
 * Breizhcamp du 25 au 27 mars 2020 - Le CfP est ouvert
 * Devoxx France du 15 au 17 avril 2020 - Le CfP est ouvert - Les places sont
   réservées en 57h
 * RivieraDev du 13 au 15 mai 2020 - Le CfP est ouvert


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/

Direct download: LesCastCodeurs-Episode-221.mp3
Category:podcasts -- posted at: 6:52pm CET

--------------------------------------------------------------------------------

Tue, 3 December 2019
LCC 220 - Interview sur le métier de CTO avec Dimitri Baeli

Dans cet épisode, Dimitri Baeli est venu discuter avec Audrey et Emmanuel du
métier de CTO et de Tech Rocks, la conf qui leur est dédiée (prochaine édition
le 4 décembre 2019 à Paris).

Enregistré le 4 octobre 2019

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


INTERVIEW


TA VIE TON OEUVRE


C’EST QUOI TECHROCKS ?

Tech.Rocks c’est avant tout la volonté de construire un réseau de leaders tech
qui échangent sur leur problématiques. Activités :

 * Une conférence annuelle: 4 Dec
 * Des Meetups mensuels à Paris (et j’espère en province en 2020)
 * Un Slack avec 500 CTOs
 * Un groupe dit « Core » à vocation de Think Tank pour explorer les questions
   difficiles des grosses équipes. Un groupe restreint pour vraiment bien se
   connaître en croissance maîtrisée.
 * Un podcast et quelques publications (salaires des CTOs)


LES 6 ASPECTS DU METIER


VISION ET DECISION TECH

Quels sont les “nice to have” dans une expérience professionnelle pour devenir
CTO ?

Est ce qu’un CTO doit maîtriser toute la stack ?


ORGA EQUIPES (AGILITE, USINE LOGICIELLE)

Responsabilité dans le choix de l’organisation des équipes


POSTURE DU CTO (ORGA PERSO, NÉGOCIATEUR, EXEMPLAIRE, CODIR, …)

C’est quoi la journée type d’un CTO ?

Est ce que l’on peut être CTO et avoir une vie perso ?

Quelles sont les différentes facettes du rôle de CTO ?


MANAGEMENT & LEADERSHIP

Quel est le rôle du CTO en terme de management ?

Et si tu dois te faire accepter par une équipe déjà constituée ?

Board : Quand tu rentres dans une boite, comment tu vérifies que tu as carte
blanche.


LE RECRUTEMENT

Comment monter ton équipe au tout départ ? Tu prends plutot quelques personnes
chacunes spécialisées dans son truc ou tu prends des profils plus généralistes ?

Comment identifier les profils dont tu as besoin quand l’équipe grossit ?


PRODUCT MANAGEMENT (IMPLICATION)

La feature pour le client X vs travail plus générique et réutilisable par tous
les clients

VENTE ET CLIENT


CONCLUSION


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/

Direct download: LesCastCodeurs-Episode-220.mp3
Category:podcasts -- posted at: 11:29am CET

--------------------------------------------------------------------------------

Wed, 13 November 2019
LCC 219 - En direct de Devoxx Belgium 2019

Episode en direct de Devoxx Belgique où nous vous donnons nos talks préférés.

Enregistré le 8 novembre 2019

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


DIRECT DE DEVOXX

Tous les talks sont disponible sur YouTube. Utilisez la fonction recherche
ensuite. Si vous trouvez un talk, ouvrez une pull request sur Le GitHub des cast
codeurs pour améliorer ses shownotes et mentionnez @emmanuelbernard. Merci :)


KEYNOTES

Audrey Vidéo
Venkat Vidéo
Security Vidéo


TRENDS

Beaucoup de core java: cadence 6 mois, loom
GraalVM / Micronaut / Quarkus / Spring Boot

Event driven / Kafka
AI / ML
Microservices
K8s et cloud patterns
Kotlin
Security appliquée (web, microservices)
Serverless
Ops CI / CD
Reactive (co-routines, reactive tx)

PEU D’INFOS SUR

Peu de front
Pas/peu d’android

Microprofile (connu)


CONFERENCES

UI MICRO FRONTEND

Micro FrontEnd new Relic
Nerdlet nerdpack

Looks like modules in Java
Shared dependencies
Several artifacts like view, app, overlay, extension points

Consistent error and logging
Layout management

SDK for url state sharing, config et components UI partages

Unified GraphQL server between front ends and Microservices backend

Sacrificed freedom of teams for better parallel work

Feedback :

 * Communication is still key
 * Find the right balance

DOCKER BUILD SYSTEMS

BuildKit
API for the docker file directives
But needs golang

Jib
Uses maven envrionment
No need for docker daemon, creates the right tarball and push it

negative:

 * maven only
 * does not cache maven dependencies
 * not very extensible

Buildpacks.io

CNCF sandbox
Can create different packs
Needs a CLI

DIABOLICAL DEVELOPER

THESE SONGS WOULD MAKE SOME GREAT CODE COMMENTS

Vidéo

COMMENT RÉUSSIR TON TALK DE CHET

Aussi l’initiative Young blood du ParisJUG

DEV OOPS

JUNIT 5

KOTLIN

Bootiful Kotlin

VISITOR PATTERN AVEC LES LAMBDAS

De José Paumard

VICTOR SUR REFACTORING PENDANT TROIS HEURES


INTROVERSION

Cédric Champeau sur sa vie d’introverti


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/

 

Direct download: LesCastCodeurs-Episode-219.mp3
Category:podcasts -- posted at: 2:44pm CET

--------------------------------------------------------------------------------

Wed, 23 October 2019
LCC 218 - Le cloud souverain est mort, vive le cloud souverain !

Dans cet épisode, Arnaud déclare forfait et laisse Guillaume et Audrey discuter
en tête à tête des nouveautés de Spring, Quarkus, JHipster, Kubernetes ou encore
v8 mais aussi Cloud Souverain, reconnaissance faciale, élections présidentielles
américaines et GAFAM.

Enregistré le 15 octobre 2019

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


NEWS


LANGAGES

Le JDK 13 en General Availability

 * Dynamic CDS Archives
 * ZGC: Uncommit Unused Memory
 * Reimplement the Legacy Socket API
 * Switch Expressions (Preview)
 * Text Blocks (Preview)

Nicolai Parlog couvre la liste des nouveautés de Java 9 à 13 dans une
présentation détaillée.

Le site Baeldung publie le résultat de son sondage sur l’écosystème Java, très
orienté Spring.


LIBRAIRIES

Les drivers JDBC Oracle dispo sur Maven Central

JHipster v6.4.0

 * Important fix de sécurité dans la v6.3.0

Quarkus 0.23.2

 * 0.23.1 à ne pas utiliser
 * Quarkus Tool For VSCode

Spring 5.2 en GA

Spring Boot 2.1.9

 * Spring Boot 2.2.0 en RC1


MIDDLEWARE

Crowdcast de Fabien Baligand sur les voting-only nodes dans Elastic

Recette magique pour la mise en place d’un plug-in dans l’agent Java Elastic APM


CLOUD

Kubernetes 1.16

 * Le concept de containers éphèmeres

Testcontainersjava 1.12.2


WEB

SameSite cookie pour des cookies plus sûr… va ça va péter pour le SSO

V8 release v7.8

 * un V8 plus léger

Inside look at modern web browser (part 1)

Microsoft pourrait apporter son navigateur Edge à Linux

Techniques pour faire charger les web app plus rapidement, mais sur un
“feature-phone”


DATA

PostgreSQL 12


OUTILLAGE

DevEditor pour éditer ses posts pour DEV (en wysiwyg et exporter en markdown)

Commentaires multi ligne dans GitHub


SÉCURITÉ

Faille de sécurité critique dans iTerm2


LOI, SOCIÉTÉ ET ORGANISATION

Meetup change ses conditions tarifaires, et ça fait mal
* Framasoft offre une alternative open source : Mobilizon

L’affaire Epstein pousse Richard Stallman à démissionner du MIT et de la FSF

Reconnaissance faciale et démocratie, ça pars mal.

 * La France devient le premier pays européen a utiliser une application de
   reconnaissance faciale dans le cadre du service public
 * Cédric O : « Expérimenter la reconnaissance faciale est nécessaire pour que
   nos industriels progressent »
 * Reconnaissance faciale : le patron d’Amazon propose d’écrire la loi qui
   régulera les activités d’Amazon

A peine annoncé, Libra est déjà en difficulté

 * si vous ne savez pas ce qu’est le Libra, on vous explique tout dans l’épisode
   214
 * Libra : la France s’oppose au développement de la monnaie de Facebook « sur
   le sol européen »
 * Cryptomonnaie : Mark Zuckerberg sera entendu par le Congrès américain sur le
   libra
 * Défections en cascade chez Libra, le projet de monnaie numérique de Facebook

Cloud souverain, épisode 2, le retour.

 * Cloud souverain : Bruno Lemaire relance Dassault Systèmes et OVH
 * Le grand retour du «cloud souverain»: une histoire de gouvernance et de
   protectionnisme

Elections présidentielles américaines de 2020, réseaux sociaux et
désinformation, on prends les mêmes et on recommence.

 * Les règles de Facebook sont-elles les mêmes pour tout le monde ? Pas si vous
   êtes un politicien
 * Après Facebook, YouTube clarifie les règles qui s’appliquent aux politiques

Facebook et Google dans le viseur de la justice, et plus seulement européenne.

 * Huit Etats américains ouvrent une enquête antitrust contre Facebook
 * Criteo porte plainte contre Facebook devant l’Autorité de la concurrence
 * Monopole, publicité, RGPD : pourquoi Google est attaqué sur tous les fronts
 * Mark Zuckerberg refuse d’envisager la vente d’Instagram et de WhatsApp
 * Selon un sondage Vox, deux tiers des américains veulent démanteler les GAFA


OUTILS DE L’ÉPISODE

Un jeu de carte pour sensibiliser vos équipes aux biais cognitifs


CONFÉRENCES

KOTLIN/EverywhereParis le 19 octobre 2019.
DevFest Nantes les 21 et 22 octobre 2019.
Voxxed Microservices 21 au 23 octobre 2019.
ScalaIO du 29 au 31 octobre a Lyon. Thème programmation fonctionnelle.
Devoxx Belgique du 4 au 8 novembre 2019.
Bdx.io le 15 novembre 2019.
DevOps D-Day les 13 et 14 novembre 2019.
Codeurs en Seine le 21 novembre 2019.
Snowcamp du 22 au 25 janvier 2020 - Le CfP est ouvert.
DevFest Paris le 14 février 2020 - Le CfP est ouvert.


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/

 

Direct download: LesCastCodeurs-Episode-218.mp3
Category:podcasts -- posted at: 10:49am CET

--------------------------------------------------------------------------------

Tue, 1 October 2019
LCC 217 - Interview sur Android partie 1 avec Pierre-Yves Ricau et Romain Guy

Dans cet épisode, Emamnuel s’assoie autour de la table avec Romain Guy et
Pierre-Yves Ricau pour discuter Android. Interview longue donc découpée en deux.

Enregistré le 18 septembre 2019

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


INTERVIEW


TA VIE, TON OEUVRE

Romain Guy
Pierre-Yves Ricau
Square


INTRO

Android
Andoid sources

Android 10


JETPACK

JetPack
Supporter des versions differentes d’Android
JetPack Compose
Toolkit UI reactif

Jetifier


JAVA 8

D8
R8


COMPILATION ET AUTRE JIT


KOTLIN

Kotlin langage


OPTIMISATIONS

Coeurs
Batterie

Dark theme et reduction de consommation de batterie


INJECTION DE DÉPENDANCE

Dagger 1
Dagger 2
Koin


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/

 

Direct download: LesCastCodeurs-Episode-217.mp3
Category:podcasts -- posted at: 12:03pm CET

--------------------------------------------------------------------------------

Mon, 16 September 2019
LCC 216 - L'épisode où on a perdu le compte

Dans cet épisode (qui est bien le 216 et pas le 217 !) Antonio, Audrey et
Emmanuel reviennent sur les nouveautés du JDK 13 et discutent sécurisation
d’API, authentification OAuth 2, Kubernetes, Android 10 mais aussi télétravail
et vie privée.

Enregistré le 11 septembre 2019

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


NEWS


LANGAGES

Java 13 sort incessamment sous peu
Crowdcast de José Paumard sur les JEP sorties ce dernier mois

Go 1.13 est sorti
Fin de support pour Python 2
Langage de validation de configuration


LIBRAIRIES

Spring 5.2 RC2 est dispo
Vert.x 4 milestone 2


MIDDLEWARE

Sécuriser une API REST
Un autre article sur OAuth 2 et OIDC

Elastic Stack 7.3.0
Elastic attaque en justice Search Guard pour violation de droit d’auteur et
voilà pourquoi


INFRASTRUCTURE

Avoir son serveur mail est dur… ou pas

 * les commentaires sont interessants

Comment monter son serveur email securisé en 2h


CLOUD

Pourquoi développer sur Kubernetes pue


WEB

Firefox va bloquer les cookies tiers et cryptomineurs par défaut

Angular 8.2

 * Angular CLI 8.3


MOBILE

Android 10


DATA

SQL Server Change Data Capture et Debezium
Regression polynomique comme approximation et alternative à des réseaux
neuronaux


OUTILLAGE

Interview Julien Dubois sur JHipsterConf via InfoQ France
Maven 3.6.2
Git 2.23.0


MÉTHODOLOGIES

Les bonnes pratiques du télétravail


SÉCURITÉ

La mort annoncée des langages memory unsafe


LOI, SOCIÉTÉ ET ORGANISATION

Tech Against Terrorism met en garde contre la décentralisation du Web et
l’open-source, qui seraient profitables au terrorisme et l’extémisme.
Une base de donnée Facebook contenant des numéros de téléphones d’utilisateurs
se retrouve en ligne
« Portabilité des données » : sous pression, Facebook riposte


CONFÉRENCES

DevFest Toulouse le 3 octobre 2019.
Neo4j Online Developer Expo and Summit (NODES) le 10 octobre 2019.
KOTLIN/EverywhereParis le 19 octobre 2019.
DevFest Nantes les 21 et 22 octobre 2019.
Voxxed Microservices 21 au 23 octobre 2019.
ScalaIOdu 29 au 31 octobre a Lyon. Thème programmation fonctionnelle.
Devoxx Belgique du 4 au 8 novembre 2019.
Bdx.io le 15 novembre 2019.
DevOps D-Day les 13 et 14 novembre 2019.
Codeurs en Seine le 21 novembre 2019. Snowcamp du 22 au 25 janvier 2020 - Le CfP
est ouvert.


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/

 

Direct download: LesCastCodeurs-Episode-216.mp3
Category:podcasts -- posted at: 10:05pm CET

--------------------------------------------------------------------------------

Mon, 5 August 2019
LCC 215 - Nous avons des frustrations parce que nous combattons le changement
des choses

Arnaud et Emmanuel bravent les chaleurs pour discuter des tendances Java, des
collections immuables (d’où le titre de l’épisode, une citation d’Alan Watts),
de sondage de la population de développeurs, d’event storming, de lois et de
data structures.

Enregistré le 31 juillet 2019

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


NEWS


LANGAGES

Rapport sur les tendances Java par InfoQ
Collections immuables en Java : ni maintenant, ni jamais
Yaegi : un nouveau compilateur pour Go
Zulu 8 inclut maintenant le support de TLS 1.3, permettant aux applications Java
8 (serveurs, clients, peu importe) de négocier automatiquement TLS 1.3 sans
modification du code. Ajoutez simplement -XX:+UseOpenJSSE


SONDAGE

L’état des développeurs: sondage JetBrains2019

 * Langage
   * Java le langage principal pour 34% (JavaScript 40%) mais leseul langage
     pour 44% de ceux ci
   * OS de dev: Windows un peu en tête mais sinon égal
   * polyglot
 * Apps
   * Backend 60% / front 46%)
   * Mobile 23%
   * data analysis (13%) / ML (7%)
   * ne developpe pas (13%)
   * polyapp
 * OpenSource
   * 56% contribuent à l’open source dont 37% plusieurs fois par an ou plus
 * Tests
   * aucun (16%)
 * Mobile
   * 83% font de l’Android et 59% iOS
   * Frameworks cross-platforms 42: react native, 30 flutter, 29: cordova, 28
     Ionic
 * Outils
   * 9% IDE cloud
   * 10% code review
   * 44% issue tracker (Excel sinon?)
   * moi j’ai besoin gestion soirce, issue tracker, ide au minimum)
   * 83% dark theme
 * Fun
   * 33% de chiens, 26% cats, 23% les deux, 17% sans ; 1% autre (alligator?)
   * Code le week end 87%
   * AI replace devs 6% oui completement, 57% partiellement

Demographique du sondage

 * 70% employee temps plein, 6% employeir, 6% freelance, 1% retraite
 * La societe 10% opensource 61% produit 47% dev interne
 * taille de l’equipe 2–7: 51% 8–12 21%
 * methodo agile 40% scrum, 11% kanban, 3% XP, 32% programming mother fucker
   (none)

Ecosystème Java

 * Version: 11: 22%, 10 et 9: 13–14%, 8: 83%,
 * Quel app serveur: 66% tomcat, 21% jetty, 5%: WL, WS, Wildfly, JBoss EAP,
   Glassfish, 23% aucun
 * si aucun, quoi? SB 61%, netty 12% Spark Java 6%, vert.x 4%, undertow 3%
 * embedded 62% , war: 53%
 * Web framework: Spring Boot 56% (ca fait peur, comme Google == internet),
   Spring MVC 43%
 * build system Maven 70%, gradle 53%, ant 13%
 * latest Java EE 39%

Scala

 * versions 2.13: 20% 2.12: 68%, 2/11: 36%
 * sinon 73% utilisent Java 8, 28% java 11
 * unit test Scalatest 77%, JUnit 26%
 * 10% whitebox macros, 60% n’utilisent pas les macros
 * web framework akka-http: 39% Play 38% Spring 17%
 * libraries Akka 55% Spark 40%
 * build system 71% sbt 39% maven 18% gradle

Kotlin

 * target: Android: 66% JVM 57% native 8%
 * JDK 11: 25% 10–9: 11–14% 8: 80%
 * Android: 74% Pie 9 79% 8 Oreo, sous 50% à la 4 KitKat
 * type of app: mobile: 62%, web abckend 41%, libraries 29%
 * 71% pour travail, 69% maison
 * autres langages 86% Java

Databases

 * usage MySQL 60%, PostgreSQL 32%, MongoDB 30%, Rediis 27% Oracle dB 16% ???


FRAMEWORKS

Quarkus 0.19 avec acces MongoDB, Neo4j, AWS DynamoDB et Apache Tika


MIDDLEWARE

Elastic Cloud on Kubernetes (ECK) 0.9.0 Alpha 2


CLOUD

Kubernetes est maintenant disponible sur CloudFoundry


DATA

Micronaut Predator est sorti et renommé


OUTILLAGE

Importer les rapports Jacoco au format XML dans SonarQube
Netbeans 11.1, la première release ASF en tant que toplevel project


MÉTHODOLOGIES

Event Storming, une description


SÉCURITÉ

Jouez avec les adresses IPs
Zoom Zero Day
NoLimitSecu - Hors Série – Episode 1 – Histoire du droit du numérique


LOI, SOCIÉTÉ ET ORGANISATION

Le code source de l’ordinateur de guidage de module lunaire et du module de
commande d’Apollon 11 open sourcé sur GitHub
Quand GitHub applique la legislation US et bloque brutalement les utilisateurs
d’Iran et autres pays sous sanction (Et avec moins d’affectif). Des projets
comme Nuxt.js impactés
L’Assemblée nationale adopte la loi sur la cyberhaine
Facebook écope d’une amende historique de 5 milliards de dollars et repense son
fonctionnement
Taxe française sur les géants du net : 9 questions pour tout comprendre
La France a adopté la “loi Huawei” au grand dam des opérateurs télécoms
Handicap : les grandes entreprises vont devoir rendre accessibles leurs sites et
applis
Qu’est ce qui se passerait si tous vos canaux Slack fuitaient ?
Travail en remote : ce qu’il faut savoir avant de se lancer !
En vrac par Tristan Nitot


OUTILS DE L’ÉPISODE

Twitter : cette extension Chrome et Firefox permet de revenir à l’ancienne
version


RUBRIQUE DÉBUTANT

Les data structures, les objects et un un peu d’énervement sur les ORMs

 * An Object is a set of functions that operate upon implied data elements.
 * A Data Structure is a set of data elements operated upon by implied functions


CONFÉRENCES

JugSummerCamp le 13 septembre 2019.
DevFest Toulouse le 3 octobre 2019.
Neo4j Online Developer Expo and Summit (NODES) le 10 octobre 2019.
KOTLIN/EverywhereParis le 19 octobre 2019.
DevFest Nantes les 21 et 22 octobre 2019.
Voxxed Microservices 21 au 23 octobre 2019.
ScalaIO du 29 au 31 octobre a Lyon. Thème programmation fonctionelle.
Devoxx Belgique du 4 au 8 novembre 2019
Bdx.io le 15 novembre 2019.
DevOps D-Day les 13 et 14 novembre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019


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/

 

Direct download: LesCastCodeurs-Episode-215.mp3
Category:podcasts -- posted at: 9:08am CET

--------------------------------------------------------------------------------

Tue, 9 July 2019
LCC 214 - L'édition Barbecue

Les Cast Codeurs se réunissent pour leur déjeuner annuel de tous les 18 mois à
deux ans pour enregistrer cet épisode news. On y discute contribution OpenJDK,
JIT, sérialisation, Quarkus, CloudEvent, AWS lambda, React, daltonisme, event
sourcing, uml, loi extra territoriale et bien d’autres choses encore. Le mot
Barbecue vient de l’embrochement du gibier “de la barbe au cul” avant de le
faire chauffer dans les cheminées de cuisine.

Enregistré le 5 juillet 2019

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


NEWS


LANGAGES

JDK 13 is now in Rampdown Phase One
Le flow des commits OpenJDK vers leurs distributions
Warm up d’applications sur la JVM avec Azuul

 * prend des metriques au premier run et les redonne en info aux seconds runs
 * cache la compilation et ses paramètres d’entrée pour garantir la sémantique
   de la spécification Java

Améliorer l’intégration entre JavaFX et les toolkits natifs
Une nouvelle sérialisation en Java en chantier

Scala 2.13.0


LIBRAIRIES

Quarkus 0.18.0

 * GraalVM 19
 * Support for writting Kubernetes operator
 * Meilleur support Gradle
 * Kafka Streams
 * (0.17.0) plus d’extensions Camel
 * (0.17.0) Support Drools et jBPM

Configurer une application Quarkus


MIDDLEWARE

CloudEvent s’approche de la 1.0
javax -> jakartaee renommage: le big bang préféré


INFRASTRUCTURE

RPMs expliqués
Raspberry Pi 4 pour $35

 * vous l’utilisez pour quoi?

Running Custom Containers Under Chrome OS

HAProxy 2.0 and Beyond


CLOUD

Retour d’expérience sur AWS lambda

 * contrôle de la stack (cf discussion avec Quentin)
 * long running connections genre web socket pas forcément adaptées
 * corrélation directe entre le CPU et la RAM
   * donc peu de RAM, veut dire CPU lent et donc tourner beaucoup plus longtemps
   * la lambda se facture par incrément de 100ms donc n’optimisez pas en dessous
 * latence: cloudfront - API Gateway - lamba est au moins 50ms
 * trace et cloudwatch: c’est cher et verbeux et la UI est merdique
 * les fonctions lambda doivent être idempotentes car peuvent être rejouées sur
   la même requête de temps en temps
 * chainer les lambda est lent (latence cumulée) 100ms par sous appel
 * debuger une lambda qui time out c’est la merde
 * cold starts de 3s
 * quand est-ce que les lambda sont utilses (pas user facing)

Clever Cloud lance Clever Grid


WEB

Améliorer le temps de chargement de React

 * résumé au début

What’s new in Angular 8.0?

Au delà des couleurs, des interfaces adaptées au daltonisme
Building the most inaccessible site possible with a perfect Lighthouse score
HTML can do that?

Firefox Now Available with Enhanced Tracking Protection by Default Plus Updates
to Facebook Container, Firefox Monitor and Lockwise
Google Just Gave 2 Billion Chrome Users A Reason To Switch To Firefox
Google’s new reCAPTCHA has a dark side


DATA

Retour sur les erreurs en embrassant l’event sourcing

 * dans la meme base les projections et les changements
 * Event driven != event source
 * Utiliser l’event store en tant que bus d’évènement (entrainer melange des
   event business et techniques)
 * Séduit par la consistance au bout du compte
 * options
   * passés du modèle relationel à des blobs JSON pour les vues
   * ils utilisaient l’archi hexagonal donc les changements ont été doux


OUTILLAGE

Mark files as viewed


ARCHITECTURE

Les diagrammes UML sous controle de source via PlantUML article 1 article 2 et
real world plantuml


MÉTHODOLOGIES

Pourquoi les anciennes sociétés ont un IT pas aussi glamour que la silicon
valley

 * longue histoire de centralisation, décentralisation et rachat
 * changements de cap et donc céder du pouvoir / du contrôle de la donnée est un
   risque pour le future moyen
 * externalisation des non “coeur de compétence” vers des fournisseurs non
   interessé à la modernisation
 * problème de confiance, les autres acteurs internes et externes de mauvaise
   foi
   * moins de problème de confiance dans une start up de 50 personnes vu que tu
     connais tout le monde
   * être agile veut-il dire se faire confiance?


SÉCURITÉ

Et voici Elastic SIEM


LOI, SOCIÉTÉ ET ORGANISATION

Rapport sur les loi extra-territoriales Américaines

 * parle des amandes (beaucoup de banques)
 * grande portée même en dehors de la sphère américaine
 * sanctions disproportionnées
 * procureurs américains demandant la discovery
 * poursuite engagées semblent etre motivées à but économique et cibles choisies
 * les lois extra territoriales ont permis des réduction de contrats avec
   corruption

Boeing’s 737 Max Software Outsourced to $9-an-Hour Engineers

Libra : tout ce qu’il faut savoir sur la future cryptomonnaie propulsée par
Facebook, Iliad, PayPal, Uber…

Délai trop court, absence du juge, définition floue : la loi contre la haine sur
Internet alarme

 * Résumé de la loi « haine »
 * Loi «contre la haine» sur internet: objectif louable mais danger pour la
   liberté d’expression!
 * L’Allemagne a déjà fait une loi pour lutter contre la haine en ligne, son
   efficacité est incertaine

La CNIL prête à céder au lobby des médias sur le RGPD


OUTILS DE L’ÉPISODE

Durgod Taurus k320 clavier mécanique cherry bleu
The Definitive Guide to SonarQube 7.9 LTS


CONFÉRENCES

JugSummerCamp le 13 septembre 2019.
DevFest Toulouse le 3 octobre 2019.
DevFest Nantes les 21 et 22 octobre 2019.
Voxxed Microservices 21 au 23 octobre 2019.
ScalaIO du 29 au 31 octobre a Lyon. Thème programmation fonctionelle.
Devoxx Belgique du 4 au 8 novembre 2019
Bdx.io le 15 novembre 2019.
DevOps D-Day les 13 et 14 novembre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019


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/

 

Direct download: LesCastCodeurs-Episode-214.mp3
Category:podcasts -- posted at: 9:11am CET

--------------------------------------------------------------------------------

Wed, 19 June 2019
LCC 213 - les re-10 ans des cast codeurs au RivieraDEV

Cet épisode en direct de RivieraDEV continue la séance Ask Me Anything débutée à
Devoxx France.

Enregistré le 17 mai 2019

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

Le plus sympa pour vous sera quand même de voir l’épisode sur YouTube.


SESSION ASK ME ANYTHING

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/

Direct download: LesCastCodeurs-Episode-213.mp3
Category:podcasts -- posted at: 9:30am CET

--------------------------------------------------------------------------------

Fri, 7 June 2019
LCC 212 - Echange gateaux contre jetons

Guillaume, Vincent et Emmanuel discutent des nouvelles autour de Java 12,
Jakarta EE, Spring, Quarkus, la mairie de Paris et son data center. Mais aussi
de web, de Huawei, du design des fichiers Dockerfile et bien d’autres choses
encore.

Enregistré le 4 juin 2019

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


NEWS


LANGAGES

JVM Ecosystem Survey 2019
Java 12 switch expressions
Images officielles AdoptOpenJDK sur Docker Hub
Don’t fear the Java


LIBRAIRIES

Jakarta EE and the great naming debate
Spring Boot 2.2 M3 available now
Utiliser les co-routines Kotlin pour utiliser Spring Reactive

 * structured concurrency
 * trade off entre approche visuellement imperative et l’approache reactive

GraalVM 19.0
Eclipse Vert.x 3.7.1
The JHipster Quarkus demo app

Quarkus 0.16.0

 * emails blocking et non blocking
 * Configuration profiles
 * CORS
 * Camel AWS SQS
 * Reactive PostgreSQL client

Introduction à JSON Web Tokens
Autre article sur JWT


INFRASTRUCTURE

Fusion OpenTracing / OpenCensus -> OpenTelemetry: quid de Jaeger
On devrait éviter les Dockerfiles d’exemple qu’on voit un peu partout
DigitalOcean ferme l’infra d’une boite via un script de verification

 * les risques évoluent de gérer sa stack physique à gérer un prestataire et ses
   consequences de l’automatisation
 * pas de backup hors du prestataire…


CLOUD

gVisor, un an après


WEB

Flutter 1.5
Build your Angular application with Bazel
Build your own WebAssembly Compiler
W3C / WHATWG fusionnent
HTTP HEADERS du developpeur responsable

 * HSTS
 * Content-Security-Policy (upgrade insecure requests etc)
 * cache control, accept encoding (compression)
 * Accept and Accept CH
   * ramener un webp quand in .jpg est demandé
   * CH: tailles etc

Gluon reutilise GraalVM pour faire des applis mobiles native

 * mentionne jpackage


DATA

Elastic rend des fonctionnalités de sécurité gratuites mais pas open source
Changer le schéma de base de données automatiquement à SendGrid et à Square


OUTILLAGE

FreeCodeCamp quitte Medium

 * Medium pousse pour un paywall
 * les gens redecouvrent que les blogs sont distribués par nature
 * RSS FTW


ARCHITECTURE

Pourquoi les microservices devraient vous faire plus peur


MÉTHODOLOGIES

GitHub sort GitHub Sponsors

 * sponsoriser un developer open source

Product placement sur Wikipedia

 * Les excuses de North Face


LOI, SOCIÉTÉ ET ORGANISATION

Google révoque la licence Android de Huawei : 5 questions pour comprendre ce que
cela implique

 * en suspension pour 3 mois

Les développeurs chinois ont peur de perdre GitHub
La mairie de Paris vs créer son propre data center

 * Beaucoup de gens outrés qu’ils ne prennent pas OVH (securité, c’est un
   métier, etc)
 * Pourquoi c’est pas si con
   * durée de vie des données sur plus d’une vie humaine
   * marché public de ~ 5 ans max: bouger données tous les 5 ans bonjour


CONFÉRENCES

BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Hack Commit Push 15 juin pour contribuer à de l’open source

 * presentation des projets au ParisJUG le 13 juin

Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019
JugSummerCamp le 13 septembre 2019 - Le CfP est ouvert.
DevFest Toulouse le 3 octobre 2019 - Le CfP est ouvert.
DevFest Nantes les 21 et 22 octobre 2019 - Le CfP est ouvert.
Voxxed Microservices 21 au 23 octobre 2019 et le CfP est ouvert.
ScalaIO du 29 au 31 octibre a Lyon. CFP ouvert jusqu’à fin juin. Thème
programmation fonctionelle.
Devoxx Belgique du 4 au 8 novembre 2019
Bdx.io le 15 novembre 2019 - Le CfP est ouvert.
DevOps D-Day les 13 et 14 novembre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019


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/wdquestion](https://lescastcodeurs.com/crowdcasting/)
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/

 

Direct download: LesCastCodeurs-Episode-212.mp3
Category:podcasts -- posted at: 1:30pm CET

--------------------------------------------------------------------------------

Mon, 27 May 2019
LCC 211 - Interview sur la virtualisation avec Quentin Adam

Quentin Adam (CEO de Clever Cloud) et Emmanuel discutent la stack de bas en
haut, du physique au software sous l’angle de la virtualisation. Et bien sûr,
une petite dérive de la conversation de temps en temps, parce qu’on le vaut
bien.

Enregistré le 27 mars 2019

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


INTERVIEW


TA VIE, TON OEUVRE

@waxzce
Clever Cloud


POURQUOI VIRTUALISE-T-ON ?

Para-virtualisation
Xen


LE PROCESSEUR PHYSIQUE

CPU, registres, caches, bus mémoire
GPU

ASIC
CPU
FPGA

Protection ring


LE MICROCODE

Un petit détour sur spectre et meltdown


UN OS ET LA VIRTUALISATION

Abstraction au hardware
Separation du temps CPU, memoire
Address virtuelle

QEMU
VirtIO
Spectre and Metldown


CONTAINER (“ISOLATEUR”)

Container vs zones vs jails vs VMs


NOYAU EN ESPACE UTILISATEUR

gVisor
ReiserFS
Kata Containers
WebAssembly

Et par rapport à Kata Containers par exemple ? ou KVM ?
Quels sont les avantages / inconvénients ?
(mémoire, sécurité/sandboxing, rapidité de démarrage…)


MODÈLE ÉCONOMIQUE, RECOMPILATION POUR LE MATÉRIEL PHYSIQUE ET CONCLUSION

Exherbo


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/

 

Direct download: LesCastCodeurs-Episode-211.mp3
Category:podcasts -- posted at: 3:39pm CET

--------------------------------------------------------------------------------

Sat, 11 May 2019
LCC 210 - Javax is coming

Dans cet épisode, Guillaume, Arnaud et Audrey reviennent sur les derniers
rebondissements des drama de la tech : le futur de Jakarta EE, Amazon vs l’Open
Source … Et bien sûr on discute aussi technique avec les actualités de Elastic,
JHipster, Micronaut, et plein d’autres.

Enregistré le 6 mai 2019

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


NEWS

Apache Software Foundation joins GitHub open source community


LANGAGES

La passation de support sur OpenJDK 8 et 11 d’Oracle à Red Hat (bug fixes et
security ne viendront plus d’Oracle, comme prévu)
Support Docker dans Java 8
Baeldung propose plein d’articles sur Groovy avec des tutoriels sur des aspects
variés des APIs proposées par le langage

Oracle ne veut plus qu’on utilise javax.

 * Mike Millinkovitch de la fondation Eclipse
 * Article de Mark Little
 * Le point de vue de Tomitribe


LIBRAIRIES

Un nouveau framework de log… par Google
Introducing Spring Cloud Circuit Breaker
JHipster 6 est sorti


MIDDLEWARE

Micronaut 1.1 released
Elastic Stack 7.0.0 released


CLOUD

Essayer Java 11 sur Google App Engine et Java 8 sur Google Cloud Functions

GraalVM et Quarkus dispo sur Clever Cloud:

 * GraalVM is here!
 * How to use Quarkus

Azure tombe pour quelques heures


WEB

Sortie de Node.js 12
Svelte3
Native image lazy-loading for the web!
Update Regarding Add-ons in Firefox

 * Update Firefox to the latest release

A Conspiracy To Kill IE6


OUTILLAGE

Développement remote avec VSCode


ARCHITECTURE

You Are Not Google


MÉTHODOLOGIES

Les projets ont besoin de héros

 * 80% des commits fait par 20% de gens: ce sont les projets majoritaires sur
   GitHub


SÉCURITÉ

DockerHub hack et le risque sur les images


LOI, SOCIÉTÉ ET ORGANISATION

Rectificatif sur la bataille Elastic - AWS de l’épisode 208 avec l’aide de
Fabien Baligand

AWS : il regarde si tu as du succès et pouf il te bouffe

La license anti abus du droit du travail en Chine

RGPD : la CNIL prévient qu’elle sera désormais moins conciliante

Defining a Distinguished Engineer

Trou noir : l’ingénieure Katie Bouman qui a contribué à la photo est victime de
cyberharcèlement

Manifeste écologique des professionnel·le·s de l’informatique


OUTILS DE L’ÉPISODE

Crowdcast Eclipse Che par Manuel Payet


RUBRIQUE DÉBUTANT

How to use the JavaScript console: going beyond console.log()


CONFÉRENCES

Crowdcast Hack Commit Push à Paris le samedi 15 juin par Florent Biville

Dégaine - un compte à rebours à deux faces

Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019 à Montpellier
JugSummerCamp le 13 septembre 2019 - Le CfP est ouvert.
DevFestNantes les 21 et 22 octobre 2019 - Le CfP est ouvert.
Codeurs en Seine le 21 novembre 2019


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/wdquestion](https://lescastcodeurs.com/crowdcasting/)
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/

 

Direct download: LesCastCodeurs-Episode-210.mp3
Category:podcasts -- posted at: 10:25am CET

--------------------------------------------------------------------------------

Sat, 27 April 2019
LCC 209 - Les 10 ans des cast codeurs à Devoxx France

Cet épisode en direct de Devoxx France est l’occasion pour la fine équipe de
repondre aux questions que vous nous avez posé.

Enregistré le 19 avril 2019

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

Le plus sympa pour vous sera quand même de voir l’épisode sur YouTube.


SESSION ASK ME ANYTHING

Devoxx France

Merci à JFrog pour la bière et la Nintendo Switch !
Le tirage au sort echo $[RANDOM%400]

Posez nous toutes vos questions pour l’épisode live des Cast Codeurs à Devoxx


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/

Direct download: LesCastCodeurs-Episode-209.mp3
Category:podcasts -- posted at: 5:16pm CET

--------------------------------------------------------------------------------

Mon, 8 April 2019
LCC 208 - Si après 10 ans d'open source, t'as pas ta fondation, t'as raté ta vie

Dans cet épisode en tête à tête Arnaud et Audrey discutent des nouveautés de
Java 12, des dernières versions de Vert.x, Kubernetes ou Traefik mais aussi open
source et fondations, et bien d’autres choses encore.

Enregistré le 4 avril 2019

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


NEWS

Posez nous toutes vos questions pour l’épisode live des Cast Codeurs à Devoxx
L’ASF a 20 ans


LANGAGES

The arrival of Java 12!

 * Alex Buckley demande du feedback sur les switch expressions de Java 12
 * 39 fonctionnalités et APIs de Java 12

JEP draft: Add detailed message to NullPointerException describing what is null


FRAMEWORKS

Spring Boot 2.2 M1
Utiliser JUnit 5 avec Spring-Boot


LIBRAIRIES

Flight of the Flux 1 - Assembly vs Subscription


MIDDLEWARE

Eclipse Vert.x 3.7.0 released!


INFRASTRUCTURE

Testcontainers-java 1.11.0

Introducing Kraken, an Open Source Peer-to-Peer Docker Registry

Kubernetes 1.14: Production-level support for Windows Nodes, Kubectl Updates,
Persistent Local Volumes GA

Pimp My Kubernetes Shell

Back to Traefik 2.0


WEB

Mozilla lance WASI: WebAssembly System Interface

 * wasi.dev
 * Fastly annonce Lucet, un compilateur/runtime natif WASI
 * Exemple d’utilisation de Rust et WASI

Preact X is here

Le TC39 a maintenant son repository GitHub

Introducing the OpenJS Foundation: The Next Phase of JavaScript Ecosystem Growth

Cache-Control for Civilians


OUTILLAGE

Nouvelle Continuous Delivery Foundation

 * et aussi New CI/CD Foundation Draws Tech’s Big Beasts, Open Source Donations

Gradle Entreprise pour accélerer votre build maven

Creating a commit on behalf of an organization


ARCHITECTURE

Nouvelle GraphQL Foundation


LOI, SOCIÉTÉ ET ORGANISATION

La guerre de l’open source continue :

 * Redis Labs drops Commons Clause for a new license
 * Keeping Open Source Open – Open Distro for Elasticsearch
 * A propos des distributions “ouvertes”, de l’open source et de la création
   d’entreprise
 * Deprecation Notice: MIT and BSD

Le parlement européen a voté pour la directive sur le droit d’auteur:

 * EU’s Parliament Signs Off on Disastrous Internet Law: What Happens Next?
 * « Qwant va rémunérer les éditeurs de presse pour l’indexation de leurs
   articles », dit son patron

Après avoir viré les travailleurs en remote, IBM vire les vieux

Les effets des interruptions au travail

Turing Award Won by 3 Pioneers in Artificial Intelligence

Qui est Cédric O, nouveau secrétaire d’État au numérique et remplaçant de Mounir
Mahjoubi ?


OUTILS DE L’ÉPISODE

Peacock v1 Released


CONFÉRENCES

Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019
JugSummerCamp le 13 septembre 2019 - Le CfP ouvre bientôt.
Codeurs en Seine le 21 novembre 2019


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/

 

Direct download: LesCastCodeurs-Episode-208.mp3
Category:podcasts -- posted at: 9:27pm CET

--------------------------------------------------------------------------------

Tue, 26 March 2019
LCC 207 - Interview sur Quarkus avec Emmanuel Bernard

Dans cet épisode, Arnaud et Antonio discutent de Quarkus avec Emmanuel Bernard.

Enregistré le 13 mars 2019

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


INTERVIEW


TA VIE, TON ŒUVRE

@emmanuelbernard
Site web d’Emmanuel Bernard

 * D’où viens-tu ? Ta vie avant Red Hat.
 * Hibernate, Bean validation, Quarkus, mais tu fais quoi en fait chez Red Hat
   (IBM pardon) ?


QUARKUS, POURQUOI ?

Quarkus
GraalVM
Eclipse Reactive Messaging

 * C’est quoi ce nom ?

> A Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted
> from the best of breed Java libraries and standards

 * Container first philosophy
   * Démarrage rapide
   * Emprunte mémoire (et disque) réduite
 * Que peut-on faire avec ?
   * Antonio peut faire des EJBs ? Hibernate peut-être ?
   * Quels sont les case d’usages ? Micro-Services, FAAS, Serverless, …
 * Comment le comparer avec Spring-Boot ? Micronaut ?
 * 100% open-source ?
   * Mais uniquement Red Hat ?
   * Pourquoi l’avoir caché ?


QUARKUS, COMMENT ?

 * La stack technique
   * Graal/SubstrateVM
   * OpenJDK
   * Kubernetes
   * Quoi d’autre ?
 * Java ou Kotlin ?
 * Programmation Reactive ou Imperative ?
 * Le développement: Live coding & Hot Reload
 * L’eco-systeme: CDI, JAX-RS, RestEasy, Eclipse MicroProfile, Vert.x, JTA, JPA,
   Apache Camel, …
   * Arnaud ne peut donc pas coder avec Spring(-Boot) and Spring-Data ?


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/

 

Direct download: LesCastCodeurs-Episode-207.mp3
Category:podcasts -- posted at: 9:24am CET

--------------------------------------------------------------------------------

Tue, 12 March 2019
LCC 206 - Les petits secrets du boss

Un épisode avec des news on ne peut plus fraîches puisqu’Antonio, Audrey et
Vincent y parlent de Quarkus, mais aussi d’Elastic, de web et de sécu, mais
aussi quelques réflexions sur le métier de développeur.

Enregistré le 8 mars 2019

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


NEWS


LANGAGES

JDK12 First Release Candidate Java is Still Free 2.0.0

Quarkus

 * Quarkus is here!
 * Introducing Quarkus: a next-generation Kubernetes native Java framework


FRAMEWORKS

Spring Boot 2.1.3 available now


MIDDLEWARE

Lancement de la Suite Elastic 6.6.0
Apache Kafka leaves the zoo


INFRASTRUCTURE

Secret Design Docs: Multi-Tenant Orchestrator


WEB

A plan for version 8.0 and Ivy
Funding ESLint’s Future
Announcing the Ionic React Beta
Authentication in SPA (ReactJS and VueJS) the right way


MÉTHODOLOGIES

Arnaud Lemaire - Entre industrialisation et artisanat, le métier de développeur
Journée de travail, ou journée au travail ?


SÉCURITÉ

Top ten most popular docker images each contain at least 30 vulnerabilities
CVE–2019–3778: Spring Security OAuth 2.3.5, 2.2.4, 2.1.4, 2.0.17 Released
Kubernetes Security Announcement - v1.11.8, 1.12.6, 1.13.4 released to address
medium severity CVE–2019–1002100
Runc and CVE–2019–5736


LOI, SOCIÉTÉ ET ORGANISATION

Ligue du LOL, contenus haineux en ligne, anonymat et pseudonymat

 * Ligue du LOL : 3 questions sur l’anonymat et le pseudonymat sur Internet
 * La Ligue des Ordures vient de sortir et ce n’est pas le nouveau Marvel
 * Plan d’action contre les contenus haineux en ligne

Directive droit d’auteur : les articles 11 et 13 ont été finalisés et c’est
peut-être le moment de paniquer

 * The text of Article 13 and the EU Copyright Directive has just been finalised

Facebook ordered to stop combining WhatsApp and Instagram data without consent
in Germany


OUTILS DE L’ÉPISODE

Welcome to the universe of HyperText
Clance Impostor Phenomenon Test


RUBRIQUE DÉBUTANT

Every Linux networking tool I know


CONFÉRENCES

Breizh Camp du 20 au 22 mars 2019
Greach (Madrid) du 28 au 30 Mars 2019
Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019 - Le CfP est ouvert.
Voxxed Days Luxembourg les 20 et 21 juin 2019
Sunny Tech les 27 & 28 juin 2019 à 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/

 

Direct download: LesCastCodeurs-Episode-206.mp3
Category:podcasts -- posted at: 5:21pm CET

--------------------------------------------------------------------------------

Thu, 21 February 2019
LCC 205 - Interview analyse de l'industrie avec Sacha Labourey

Emmanuel et Sacha discutent de l’état de l’industrie informatique aujourd’hui.
Leur analyse pertinente n’engage que ceux qui y croient.

Enregistré le 19 février 2019

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


INTERVIEW


TA VIE, TON ŒUVRE

Sacha à CloudBees


IBM ET RED HAT

L’acquisition de Red Hat et les discussions d’achat avec Microsoft, Google et
Amazon


LES PETITS POISSONS DANS UN UNIVERS DE MÉGA PLATEFORMES A LA AWS


LES NOUVEAUX STANDARDS : JAKARTA EE, MICROPROFILES


LE JDK -> LES JDKS

Les JDK et autre, c’est moins mon dada


KUBERNETES VS… Y A-T-IL AUTRE CHOSE ;)


LES LICENCES COMMON CLAUSES ETC (MONGODB, REDIS, CONFLUENT, ETC)

OSI


LA PROCHAINE CONSOLIDATION, LES DÉVELOPPEURS QUI REVIENNENT SUR LE DEVANT DE LA
SCÈNE


CONCLUSION

> Les commerciaux ça ose tout, c’est à ça qu’on les reconnait !


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/

Direct download: LesCastCodeurs-Episode-205.mp3
Category:podcasts -- posted at: 8:53am CET

--------------------------------------------------------------------------------

Sun, 10 February 2019
LCC 204 - Silicon Valley, ton univers impitoyable

Dans cet épisode, les voisins d’Arnaud ont essayé de le réduire au silence
tandis qu’Antonio tentait de faire taire Audrey. Les voisins d’Arnaud ont gagné
grâce à la perceuse, mais Antonio, lui, a perdu. Résultat : un épisode news où
deux cast codeurs et demi discutent de l’actualité de vos languages et
frameworks préférés, mais aussi de l’actualité des géants de la tech, et ça,
c’est pas toujours joli.

Enregistré le 8 février 2019

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


NEWS


LANGAGES

JDK 11.0.2 General-Availability Release + JDK 12 RC
GraalVM 1.0-RC11
* GraalVM with Groovy and Grape - creating native image of a standalone script
Go 1.11.5 and Go 1.10.8 are released
* Un livre blanc pour démarrer en GO


FRAMEWORKS

Spring Framework 5.1.4, 5.0.12 and 4.3.22 available now

 * How Fast is Spring?
 * Et la suite : Manual Bean Definitions in Spring Boot

Netflix OSS and Spring Boot — Coming Full Circle


MIDDLEWARE

JHipster release v5.8.0
Micronaut 1.0.4


INFRASTRUCTURE

The future of Kubernetes is Virtual Machines

 * L’article de Laurent Doguin sur le problème d’isolation des containers


WEB

Node v11.8.0
Angular 7.2.0

 * Angular CLI 7.2 et Angular CLI 7.3

Vue 2.6 released
Lightning-fast templates & Web Components: lit-html & LitElement
React v16.8: The One With Hooks
Google Play Store now open for Progressive Web Apps
Browser diversity starts with us.
Le bloqueur de pubs de Chrome va être déployé globalement


DATA

Infinispan 10.0.0 Alpha3 and 9.4.6 final


OUTILLAGE

Spring Framework’s Migration from Jira to GitHub Issues
Spring Boot in Visual Studio Code
Travis CI joins the Idera family
Jenkins crée et rejoint la Continuous Delivery Foundation au sein de la Linux
Foundation
GitLab 11.7
Gradle 5.2


SÉCURITÉ

Google DNS Service (8.8.8.8) Now Supports DNS-over-TLS Security


LOI, SOCIÉTÉ ET ORGANISATION

Oracle v. Google and the future of software development

AWS vs l’Open Source, la suite

 * AWS gives open source the middle finger
 * AWS, MongoDB, and the Economic Realities of Open Source

Première amende pour non conformité au RGPD, de 50 millions d’euros à l’encontre
de Google

 * Premiere sanction contre Google suite à nos plaintes collectives
 * La formation restreinte de la CNIL prononce une sanction de 50 millions
   d’euros à l’encontre de la société GOOGLE LLC

Facebook continue à se distinguer …

 * Zuckerberg Plans to Integrate WhatsApp, Instagram and Facebook Messenger
 * Apple says it’s banning Facebook’s research app that collects users’ personal
   information
 * Facebook paid people to gather data on usage habits
 * … et il n’est pas le seul : Google will stop peddling a data collector
   through Apple’s back door

Article 13 is back on – and it got worse, not better


CONFÉRENCES

DevFest Du Bout du Monde le 22 février 2019
ConFoo Montreal 2019 du 13 au 15 Mars 2019
Breizh Camp du 20 au 22 mars 2019
Greach (Madrid) du 28 au 30 Mars 2019
Devoxx France du 17 au 19 avril 2019 - sold out
VoxxedCERN le 1er mai 2019
Riviera Dev du 15 au 17 mai 2019
NCrafts les 16 et 17 mai 2019
Mix-it les 23 et 24 mai 2019
BestOfWeb les 6 et 7 juin 2019
DevFest Lille le 14 juin 2019 - Le CfP est ouvert.
Voxxed Days Luxembourg les 20 et 21 juin 2019 - le CfP est ouvert.
Sunny Tech les 27 & 28 juin 2019 à Montpellier - Le CfP est ouvert.


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/

 

Direct download: LesCastCodeurs-Episode-204.mp3
Category:podcasts -- posted at: 6:37pm CET

--------------------------------------------------------------------------------

Thu, 24 January 2019
LCC 203 - Panel sur l'Open Source au YAJUG

<p>Audrey, Arnaud, Vincent et Emmanuel participent à un panel sur l&#8217;Open
Source à l&#8217;occasion d&#8217;une session du YaJUG.</p>

<p>Enregistré le 18 décembre 2018</p>

<p>Téléchargement de l&#8217;épisode <a
href="https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-203.mp3">LesCastCodeurs-Episode&#8211;203.mp3</a></p>

<h2 id="interview">Interview</h2>

<p><a href="https://yajug.lu/session/episode-live-des-cast-codeurs/">Les Cast
Codeurs au YAJUG</a> </p>

<p><a href="http://www.apache.org">Apache</a><br/>
<a href="https://www.eclipse.org">Eclipse</a><br/>
<a href="https://www.cncf.io">CNCF</a> </p>

<p><a
href="https://www.confluent.io/blog/license-changes-confluent-platform">Confluent
change de licence</a><br/>
<a
href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/">Open
source et sa crise de la quarantaine</a><br/>
<a
href="https://medium.com/sustainable-free-and-open-source-communities/we-need-sustainable-free-and-open-source-communities-edf92723d619">Sustainable
and free open source communities</a> </p>

<p><a href="http://openjdk.java.net">OpenJDK</a> </p>

<p>Code de conduite et comportement dans les communautés</p>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br/>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a><br/>
Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a><br/>
sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a><br/>
ou sur le site web <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a>

Direct download: LesCastCodeurs-Episode-203.mp3
Category:podcasts -- posted at: 10:06am CET

--------------------------------------------------------------------------------

Mon, 14 January 2019
LCC 202 - Marmotte, lutins et JDK

<p>Dans cet épisode Guillaume, Audrey et Emmanuel reviennent sur les actualités
de la fin d&#8217;année 2018 mais aussi des prédictions pour 2019. On discute
JDK, management, open source mais aussi marmotte, licornes et lutins.</p>

<p>Enregistré le 9 janvier 2018</p>

<p>Téléchargement de l&#8217;épisode <a
href="https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-202.mp3">LesCastCodeurs-Episode&#8211;202.mp3</a></p>

<h2 id="news">News</h2>

<p><a
href="https://twitter.com/SocInfoFr/status/1082189049039896576">L&#8217;informatique
devient une discipline</a> avec son CAPES d&#8217;informatique et plus tard son
agrégation d&#8217;informatique<br/>
<a href="https://twitter.com/milkaofficiel/status/1082003872514801666">La
marmote est de retour</a> </p>

<h3 id="langages">Langages</h3>

<p><a href="https://www.infoq.com/news/2018/12/java-2019-predictions">Java in
2019 - Some Predictions</a><br/>
<a href="https://blogs.apache.org/groovy/entry/groovy-2-5-5-released">Groovy
2.5.5</a> et <a
href="https://twitter.com/paulk_asert/status/1079528761530376193">3.0-alpha&#8211;4</a><br/>
<a
href="https://www.theserverside.com/news/252454981/Red-Hats-support-for-OpenJDK-on-Windows-anchors-Java-apps">Red
Hat support OpenJDK sous Windows</a><br/>
<a href="https://bugs.openjdk.java.net/browse/JDK-8046179">Garbage Collector
Shenandoah dans JDK 12</a> </p>

<h3 id="frameworks">Frameworks</h3>

<p><a href="https://github.com/Netflix/Hystrix">Hystrix en maintenance</a><br/>
<a
href="https://www.infoq.com/news/2018/12/micronaut-for-spring-graalvm">Micronaut
ajoute le support du modele de programmation Spring Boot</a> </p>

<h3 id="web">Web</h3>

<p><a
href="https://blogs.windows.com/windowsexperience/2018/12/06/microsoft-edge-making-the-web-better-through-more-open-source-collaboration/">Edge
rebase sur Chromium, WTF!</a> </p>

<h3 id="outillage">Outillage</h3>

<p><a href="https://twitter.com/acloudguru/status/1080859143282536448">Tactiques
de déboguage</a> </p>

<p><a href="https://docs.gradle.org/5.1/release-notes.html">Gradle 5.1</a></p>

<ul>
<li>Avec un <a href="https://gradle.com/blog/maven/">teaser</a> du support de
Maven dans la version Enterprise</li>
</ul>

<p><a
href="https://hackernoon.com/docker-commands-the-ultimate-cheat-sheet-994ac78e2888">Docker
Commands — The Ultimate Cheat Sheet</a><br/>
<a
href="https://about.gitlab.com/2018/12/31/security-release-gitlab-11-dot-6-dot-1-released/">GitLab
Security Release</a><br/>
<a href="https://blog.github.com/2019-01-07-new-year-new-github/">New year, new
GitHub!</a><br/>
<a
href="https://asciidoctor.org/news/2019/01/02/asciidoctorj-1-6-0-released/">AsciidoctorJ
1.6.0</a> </p>

<ul>
<li>ca va péter!</li>
</ul>

<p><a href="https://github.com/moditect/deptective">Deptective</a></p>

<ul>
<li>casse le build si des packages dépendent de packages non autorisés</li>
</ul>

<h3 id="architecture">Architecture</h3>

<p><a
href="https://www.infoq.com/articles/crafting-architectural-diagrams?utm_source=link&amp;utm_medium=twitter&amp;utm_campaign=calendar">L&#8217;art
du diagramme d&#8217;architecture</a><br/>
<a
href="https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres">Migrer
de MongoDB vers Postgres: le proces du Guardian</a> </p>

<h3 id="mthodologies">Méthodologies</h3>

<p><a href="https://charity.wtf/2017/05/11/the-engineer-manager-pendulum/">Le
pendule manager/ingénieur</a>
Et la suite <a
href="https://charity.wtf/2019/01/04/engineering-management-the-pendulum-or-the-ladder/">Monter
l&#8217;échelle our faire le pendule</a> </p>

<p><a
href="https://medium.com/@mattklein123/monorepos-please-dont-e9a279be011b">Monorepos,
please don&#8217;t</a> </p>

<h3 id="scurit">Sécurité</h3>

<p><a href="https://juliareda.eu/2018/12/eu-fossa-bug-bounties/">In January, the
EU starts running Bug Bounties on Free and Open Source Software</a> </p>

<h3 id="loisocitetorganisation">Loi, société et organisation</h3>

<p><a
href="https://www.confluent.io/blog/license-changes-confluent-platform">Confluent
change de licence</a><br/>
<a
href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/">Open
source confronts its midlife crisis</a><br/>
<a
href="https://medium.com/sustainable-free-and-open-source-communities/we-need-sustainable-free-and-open-source-communities-edf92723d619">Sustainable
Free and Open Source communities</a> </p>

<p>Le deep fake, nouvelle menace de désinformation mais pas seulement</p>

<ul>
<li><a
href="http://www.lefigaro.fr/secteur/high-tech/2019/01/02/32001-20190102ARTFIG00162-apres-les-fake-news-la-menace-du-deep-fake-prend-de-l-ampleur-sur-le-web.php">Après
les fake news, la menace du «deep fake» prend de l&#8217;ampleur sur le
web</a></li>
<li><a
href="https://www.washingtonpost.com/technology/2018/12/30/fake-porn-videos-are-being-weaponized-harass-humiliate-women-everybody-is-potential-target/?noredirect=on&amp;utm_term=.9c63a5b45838">Fake-porn
videos are being weaponized to harass and humiliate women: ‘Everybody is a
potential target’</a></li>
</ul>

<p><a
href="https://www.franceculture.fr/emissions/la-methode-scientifique/cathy-oneil-pour-une-ethique-des-algorithmes?utm_medium=Social&amp;utm_source=Twitter#Echobox=1546269611">Pour
une éthique des algorithmes</a> </p>

<h2 id="outilsdelpisode">Outils de l&#8217;épisode</h2>

<p><a
href="https://www.evolukid.com/single-post/2018/12/20/Les-9-nouveautes-majeures-de-scratch-3">Scratch
3</a> </p>

<h2 id="rubriquedbutant">Rubrique débutant</h2>

<p><a href="https://thedemoat50.org/the-demo/">The mother of all demos</a> </p>

<h2 id="confrences">Conférences</h2>

<p><a href="https://snowcamp.io/fr/">Snowcamp du 23 au 26 Janvier 2019</a><br/>
<a href="https://touraine.tech/">Touraine Tech le 1er Février 2019</a><br/>
<a href="https://devfest-paris-2019.firebaseapp.com/">DevFest Paris le 8 Février
2019</a><br/>
<a href="https://devfest.duboutdumonde.bzh/">DevFest Du Bout du Monde le 22
février 2019</a><br/>
<a href="https://confoo.ca/fr">ConFoo Montreal 2019 du 13 au 15 Mars
2019</a><br/>
<a href="https://www.breizhcamp.org/">Breizh Camp du 20 au 22 mars 2019</a> - Le
<a
href="https://auth.cfp.io/?target=https%3A%2F%2Fbreizhcamp.cfp.io%2F%23%2Fdashboard">CfP</a>
est ouvert jusqu&#8217;au 20 janvier.<br/>
<a href="https://www.greachconf.com/cfp/">CfP Greach (Madrid) du 28 au 30 Mars
2019</a><br/>
<a href="https://www.devoxx.fr/">Devoxx France du 17 au 19 avril 2019 - sold out
mais il y a une liste d&#8217;attente</a><br/>
<a href="http://rivieradev.fr/">Riviera Dev du 15 au 17 mai 2019</a><br/>
<a href="https://ncrafts.io/">NCrafts les 16 et 17 mai 2019</a><br/>
<a href="https://mixitconf.org/en/">Mix-it les 23 et 24 mai 2019</a> - Le <a
href="https://sessionize.com/mixit19/">CfP</a> est ouvert jusqu&#8217;au 20
janvier.<br/>
<a href="http://bestofweb.paris/">BestOfWeb les 6 et 7 juin 2019</a><br/>
<a href="https://devfest.gdglille.org/">DevFest Lille le 15 juin 2019</a> - Le
<a href="https://conference-hall.io/public/event/6HVEO4aISYO7ctNdOIWx">CfP</a>
est ouvert.<br/>
<a href="https://sunny-tech.io/">Sunny Tech les 27 &amp; 28 juin 2019 à
Montpellier</a> - Le <a
href="https://conference-hall.io/public/event/dWsbvnSTdg5v1pxwKhLM">CfP</a> est
ouvert. </p>

<h2 id="nouscontacter">Nous contacter</h2>

<p>Soutenez Les Cast Codeurs sur Patreon <a
href="https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br/>
<a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une
crowdquestion</a><br/>
Contactez-nous via twitter <a
href="https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a><br/>
sur le groupe Google <a
href="https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a><br/>
ou sur le site web <a
href="https://lescastcodeurs.com/">https://lescastcodeurs.com/</a></p>

Direct download: LesCastCodeurs-Episode-202.mp3
Category:podcasts -- posted at: 9:28am CET

--------------------------------------------------------------------------------