Episodit
-
Emmanuel, Guillaume et Arnaud discutent des nouvelles de lâĂ©tĂ©. JEPs, transactional outbox pattern avec Spring, LLM dans Chrome, faille polyfill.io, TOTP, congĂ©s illimitĂ©s et IDE payant ou pas payant ?
Enregistré le 12 juillet 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-314.mp3
News LangagesLes fonctionnalités de JDK 23 ont été figées début Juin (release prévue en septembre) https://openjdk.org/projects/jdk/23/ https://www.youtube.com/watch?v=kzjGp7LmW0I
JEPs finales: 467: Markdown Documentation Comments 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal 474: ZGC: Generational Mode by Default JEPs en incubation / preview 455: Primitive Types in Patterns, instanceof, and switch (Preview) 466: Class-File API (Second Preview) 469: Vector API (Eighth Incubator) 473: Stream Gatherers (Second Preview) 476: Module Import Declarations (Preview) 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) 480: Structured Concurrency (Third Preview) 481: Scoped Values (Third Preview) 482: Flexible Constructor Bodies (Second Preview) LibrairiesLe transactional outbox pattern avec Spring Boot https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/
transactional outbox permet dâĂ©viter des 2PC ou des dĂ©synchronisations de resources: typiquement un commit dans une base et un envoie de message dans un bus on ecrit le message dans une table de la base de donnĂ©es, et un process sĂ©parĂ© rĂ©cupĂšre les messages et les envoient dans le bus implĂ©mentation utilise Spring Integration dans lâarticle, la seconde resource est lâenvoie dâemail montre une approche de tests le flow descrit pas psring integration est pas super trivial a lire quand on est pas familier mais cela poll la table toutes les secondes et envoie email et si succes de lâappel de service, vide le message de la table Deuxieme exemple avec Spring modulith qui a un event bus interne qui peut ĂȘtre persistĂ© dĂ©crit les differences avec spring integration et les limites de lâapproche modulith (message order, retry etc)Comment tester des valeurs de propriĂ©tĂ©s diffĂ©rentes dans un test Quarkus https://quarkus.io/blog/overriding-configuration-from-test-code/
on a tendance a ne pas tester les propriĂ©tĂ©s de config ce blog montre 5 (enfin 4 utiles) façons de le faire avec Quarkus. les profils de test, mocker lâobjet de config, les test components (experimental), lâinjection dans les constructeursQuarkus 3.12 https://quarkus.io/blog/quarkus-3-12-0-released/
centralisation des configs TLS support pour le load shedding (reject requests on service overload) Ă©vĂ©nements JFR specific a Quarkus native image agent support Spring Boot 3 (compat layer) Support Kotlin 2 etc CloudOn vous parlait dans un Ă©pisode prĂ©cĂ©dent de ce problĂšme de coĂ»ts S3 sur des requĂȘtes non autorisĂ©es. Câest Graphana Loki qui a mis ce problĂšme sous les projecteurs https://grafana.com/blog/2024/06/27/grafana-security-update-grafana-loki-and-unintended-data-write-attempts-to-amazon-s3-buckets/
le problĂšme venait des valeurs par dĂ©faut des buckets dĂ©clarĂ©s dans le chart helm de Loki, en particulier celui nommĂ© âchunksâ Data et Intelligence ArtificielleGuillaume avait partagĂ© lâinformation sur la disponibilitĂ© prochaine dâun mini modele LLM dans chrome. Câest maintenant une rĂ©alitĂ© et vous pouvez le tester.
https://ai-sdk-chrome-ai.vercel.app/
Nécessite Chrome 127 (version stable à partir de mi-juillet) Utilise le SDK Vercel AIGuillaume nous parle de toutes les nouveautés liées au modÚle Gemini de Google dans la derniÚre release de LangChain4j https://glaforge.dev/posts/2024/07/05/latest-gemini-features-support-in-langchain4j/
Outillage1% des utilisateurs de Maven Central utilisent 83% de sa bande passante. Installez un repository manager qui fait proxy (et cela pour tous les types de dépendances)!!!
https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons
rien nâest rĂ©ellement gratuit et lâabus dâune minoritĂ© peut nuire Ă lâensemble. Cela fait maintenant plus de 20 ans que les communautĂ©s le rĂ©pĂšte: installer un gestionnaire de dĂ©pendances dans votre infrastructure (nexus, artifactory, CodeArtifact, âŠ). En plus de protĂ©ger le bien commun cela vous permet de raffiner le filtrage des dĂ©pendances, dâassurer la reproductibilitĂ© de vos builds, dâoptimiser les performances (et rĂ©duire les coĂ»ts) en ne tĂ©lĂ©chargeant que depuis votre propre infrastructure, etc ⊠Maven Central est un commun qui ne coute rien Ă lâutilisteur mais qui est indispensable Ă tous 1000 milliards de tĂ©lĂ©chargements lâannĂ©e derniĂšre 83% de la bande passante consommĂ© par 1% des IPs Beaucoup des ces IP viennent des companies les plus larges proxy pour rĂ©duire charge sur central, rĂ©duire couts ingress/egress ils vont implementer un mĂ©canisme de throttling question est-ce que la concentration des IPs veut juste dire que câest le dernier noeud mais que cacher nâest pas effectif pour eux et quâil y a des milliers de clients derriĂšre une IP? le trotting ferait mal et le proxy ne marche plus dans un monde ou le dev est dans le cloud et distribue gĂ©ographiquementComment mettre en place backstage, ici avec un projet Spring Boot utilisant CircleCi, Renovate, SonarCloudâŠ
https://piotrminkowski.com/2024/06/13/getting-started-with-backstage/
Cet article explique comment utiliser backstage pour fournir Ă vos Ă©quipes un template dâune application spring-boot. Elle est automatiquement crĂ©e sous forme dâun repository git(hub) avec les integrations classiques pour gĂ©rer la CI (via CircleCI), la qualitĂ© (via SonarCloud), la mise Ă jour de dĂ©pendances (via Renovate) et bien sur son rĂ©fĂ©rencement sur le portail backstage. tutoriel tres complet tres facilement remplacable pour un project avec votre technologie preferee (pas specifique a Spring Boot, ou Java) ArchitectureQue se passe tâil quand vous faites un push sur GitHub? https://github.blog/2024-06-11-how-we-improved-push-processing-on-github/
GitHub explique comment ils ont amĂ©liorĂ© leur architecture, notamment en mettant en place Kafka pour distribuer les actions qui dĂ©coulent dâun push sur GitHub. paralelisation des taches (avant sequentiel) limitation des dependances entre etapes effectuĂ©es lors dâun push plus de taches peuvent faire un retry un classique de decoupling via un EDA SĂ©curitĂ©Attaque du CDN polyfill.io https://sansec.io/research/polyfill-supply-chain-attack
polyfill câest un support de nouvelles fonctionalites dans les ancien navigateurs servi par cdn notamment une societe chinoise a achete le domaine et le github et injecte du malware qui pointe sur des serveurs qui servent le malware selectivement (device, admin ou pas, heure de la journĂ©e) Fastly et Cloudflare on des deploiements alternatiuveUne faille de sĂ©curitĂ©, de type Remote Code Execution, vieille de 10ans, dans CocoaPods, un gestionnaire de dĂ©pendances trĂšs utilisĂ© dans le monde Apple (macOS et iOS)
https://securityboulevard.com/2024/07/cocoapods-apple-vulns-richixbw/
https://cocoapods.org/ / https://cocoapods.org/ est un gestionnaire de dĂ©pendances pour les projets Xcode. Les dependances (Pods) sont publiĂ©es sous forme de Specs qui sont rĂ©fĂ©rencĂ©es dans un Specs Repo (une sorte de Maven central mais seulement avec des metadonnĂ©es) CVE-2024-38366 est une vulnĂ©rabilitĂ© de type remote code execution avec un score CVSS de 10 La faille existait depuis 10 ans et a Ă©tĂ© corrigĂ©e en Sept 2023. Elle permettait dâavoir un accĂšs root sur trunk.cocoapods.org qui stock les Specs. Elles auraient donc pu ĂȘtre modifiĂ©es sans que les auteurs ne sâen apperçoivent. Pas de preuve pour lâinstant que la faille ait Ă©tĂ© exploitĂ©eMieux comprendre la double authentification avec TOTP
https://hendrik-erz.de/post/understanding-totp-two-factor-authentication-eli5
Cet article revient sur le fonctionnement de TOTP et comment lâimplementer avec des exemples en python the QR code est une URL qui contient: le secret en base 32. le nom du totp, qui a fournit le TOTP, combien de chiffres et la durĂ©e de vie du TOTP pour generer les chiffres, prends le secret, le temps et hash le tout, prendre 4 bytes et les convertir le chiffres typiquement le serveur genere les deux dâavant, les deux dâapres et le courant pour comparer Loi, sociĂ©tĂ© et organisationLâĂ©quipe Apache Maven gagne le troisiĂšme prix BlueHats https://nlnet.nl/bluehatsprize/2024/3.html
le projet remporte un gain de 10000âŹ. Ce prix est organisĂ© par le gouvernement français afin de rĂ©compenser les projets open sources les plus impactants.La clause de congĂ©s illimitĂ©s en Europe
https://www.osborneclarke.com/insights/why-your-unlimited-vacation-policy-may-be-of-limited-use-in-europe
Les politiques de congĂ©s illimitĂ©s, populaires aux Ătats-Unis, ne sont pas aussi avantageuses en Europe. En Europe, les employeurs doivent suivre les congĂ©s pris pour respecter les minima lĂ©gaux de quatre semaines par an donc ils ne peuvent pas economiser sur le faire de ne plus les gĂ©rer. Les congĂ©s illimitĂ©s permettent aux US de ne plus Ă devoir les payer au dĂ©part de lâemployĂ©. En Europe les employeurs doivent payer les congĂ©s non utilisĂ©s lors de la fin du contrat. Les employĂ©s europĂ©ens pourraient prendre davantage de congĂ©s, car ils sont mieux protĂ©gĂ©s contre le licenciement. Les jours de maladie sont plus cadrĂ©s en europe. Un employĂ© qui souffre dâune maladie longue pourrait utiliser les congĂ©s illimitĂ©s mais ce ne sont pas les mĂȘme rĂšgles qui sâappliquentOpenDNS nâest plus disponible en France et au Portugal
https://support.opendns.com/hc/en-us/articles/27951404269204-OpenDNS-Service-Not-Available-To-Users-In-France-and-Portugal
A priori Cisco qui opĂšre openDNS en a marre des demandes de restrictions spĂ©cifiques Ă nos pays et prĂ©fĂšre donc retirer entiĂšrement lâaccĂšs au service plutĂŽt que de se conformer Ă la niĂšme demande de restrictions qui faisait suite Ă la plainte du groupe Canal+ portant sur lâaccĂšs Ă des sites illicites de streaming pour du sport Ask Me AnythingSalut ! Ătes-vous plutĂŽt IDE payants (ex : IJ Ultimate, ou des plugins payants), ou ne jurez-vous que par des outils gratuits ? Un peu des deux ? Si adaptes du payant, ça ne vous dĂ©prime pas quâun nombre considĂ©rable dâemployeurs rechignent Ă nous payer nos outils ? Que âde toute façon VSCode câest gratuitâ (Ă prononcer avec une voix mĂ©prisante) ? Quid du confort, ou de la productivitĂ© et/ou qualitĂ© accrue quand on maĂźtrise de tels outils ? Merci !
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 17-18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 16-17 octobre 2024 : NoCode Summit 2024 - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 20-22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 21 novembre 2024 : Codeurs en Seine - Rouen (France) 27-28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : DevOpsRex - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/ -
Katia, Guillaume, Emmanuel et Antonio discutent Kotlin, Micronaut, Spring Boot, Quarkus, Langchain4j, LLMs en Java, builds reproductible et la question AMA du jour, comment fait-on carriĂšre de dev Ă 40 ans ?
Enregistré le 14 juin 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-313.mp3
News LangagesAndroid avec Kotlin Multiplatform our Flutter avec Dart ? https://developers.googleblog.com/en/making-development-across-platforms-easier-for-developers/
Des licenciements ont continuĂ© chez Google et lâĂ©quipe Flutter/Dart comme plein dâautres ont Ă©tĂ© touchĂ©es, mais sur les rĂ©seaux sociaux les gens ont pensĂ© que Google dĂ©sinvestissait dans Flutter et Dart. Par ailleurs, cĂŽtĂ© Android, ils poussent plutĂŽt du cĂŽtĂ© de Kotlin et KMP, mais naturellement aussi les gens se sont demandĂ© si Google avait pris parti pour pousser plus Kotlin/KMP plutĂŽt que Flutter/Dart. Pour essayer de mieux faire comprendre aux dĂ©veloppeurs lâintĂ©rĂȘt des deux plateformes, et leurs avantages et inconvĂ©nients, les directeurs des deux plateformes ont rĂ©digĂ© un article commun. Si lâon souhaite une expĂ©rience plus proche du hardware et des derniĂšres nouveautĂ©s dâAndroid, et dâavoir aussi une UI/UX vraiment native Android, mieux vaut aller du cĂŽtĂ© de Kotlin/KMP. Si lâon souhaite par contre une expĂ©rience multiplateforme Web, mobile, desktop avec une UX commune cross-plateforme, avec Ă©galement le partage de business logic Ă partir dâune mĂȘme base de code, Flutter et Dart sont plus adaptĂ©s.Recap de KotlinConf https://x.com/gz_k/status/1793887581433971083?s=46&t=C18cckWlfukmsB_Fx0FfxQ
RPC multiplatform la pres Grow with the flow montrant la reecriture en kotlin plus simple que des solutions complexes ailleurs power-assert pour ecrire des tests Kotlin 2.0 et les evolutions majeures Kotlin multiplatforme mainteant stable Kotlin Compose Multiplatform continue a amturer Retour dâexperience de la migration dâandroid jetpack vers Kotlin Multiplatform use cases de coroutines et scope LibrairiesQuarkus veut aller dans une fondation https://quarkus.io/blog/quarkus-in-a-foundation/
ameliorer lâadoption (encore plus), ameliorer la transparence, et la collaboration, encourager la participatiopn multi vendeur Premiere etape : une gouvernance plus overte Deuxieme etape: bouger dans uen foundation Echange avec la communaute sur la proposition et les fondations cibles Des criteres pour al foudnation (notamment la rapidite de deliveryQuarkus 3.11 https://quarkus.io/blog/quarkus-3-11-0-released/
Websocket.next en cours Dev services pour observabilite (grafana, jaegel, open telemetry extension infinispan cache #38448 - Observability extensions - Dev Services, Dev Resources, LGTM #39836 - Infinispan Cache Extension #40309 - WebSockets Next: client endpoints #40534 - WebSockets Next: initial version of security integration #40273 - Allow quarkus:run to launch Dev Services #40539 - Support for OIDC session expired page #40600 - Introduce OidcRedirectFilterLangChain4j 0.31 est sorti https://github.com/langchain4j/langchain4j/releases/tag/0.31.0
Recherche Web pour le RAG avec Google et Tavily RAG avec les bases de donnĂ©es SQL (expĂ©rimental) RĂ©cupĂ©ration des resources remontĂ©es par le RAG lorsque AiServices retourne un Result ObservabilitĂ© LLM pour OpenAI pour ĂȘtre notifiĂ© des requĂȘtes, rĂ©ponses et erreurs IntĂ©gration de Cohere (embedding), Jina (embedding et re-ranking scoring), Azuere CosmosDB comme embedding store Mise Ă jour de Gemini avec le parallel function calling et les instructions systĂšmeSpring Boot 3.3.0 est sorti https://spring.io/blog/2024/05/23/spring-boot-3-3-0-available-now
support Class Data Sharing Micrometer sipport de spantag etc Amelioration Spring Security comme JwtAuthenticationCovnerter support docker compose pour les images container bitnami Virtual thread pour les websockets Support sBOM via an actuator SNI for embedded web servers une nouvelle doc via antoraMicronaut 4.5 est sortie https://github.com/micronaut-projects/micronaut-platform/releases/tag/v4.5.0
Le serveur basĂ© sur Netty inclus la dĂ©tection dâopĂ©ration bloquante et les modules lâutilisant indiqueront Ă lâutilisateur quand certaines opĂ©rations peuvent ĂȘtre redirigĂ©e plutĂŽt sur un virtual thread ou dans le thread pool IO Micronaut Data inclus le support de la multitenance avec partitionnement par discriminateur pour JDBC et R2DBC Micronaut Data rajoute le pagination par curseur pour JDBC et R2DBC (important aussi pour Jakarta Data) Support des annotations Jakarta Servlet pour configurer par exemple les servelet filters Support virtual thread et HTTP/2 Un nouveau module JSON Schema pour gĂ©nĂ©rer des JSON Schemas pour les records Java Un nouveau module Source Gen pour faire de la gĂ©nĂ©ration de source pour Java et Kotlin cross-language Un nouveau module Guice pour importer des modules Guice existants WebAngular 18 est sorti https://blog.angular.dev/angular-v18-is-now-available-e79d5ac0affe
Support expĂ©rimental pour la dĂ©tection de changement sans zone Angular.dev est dĂ©sormais le nouveau site pour les dĂ©veloppeurs Angular Material 3, les âdeferrable viewsâ, le âbuilt-in control flowâ sont maintenant stables et intĂšgrent une sĂ©rie dâamĂ©liorations AmĂ©liorations du rendu cĂŽtĂ© serveur telles que le support de lâhydratation i18n, un meilleur dĂ©bogage, le support de lâhydratation dans Angular Material, et la event replay qui utilise la mĂȘme bibliothĂšque que Google Search. Data et Intelligence ArtificielleUne version pure Java du LLM Llama3 de Meta https://github.com/mukel/llama3.java/tree/main
utilise la future API Vector de JavaJLama, un moteur dâexĂ©cution de LLM en Java avec lâapi vector https://www.infoq.com/news/2024/05/jlama-llm-inference-java/
basĂ© sur llama.c qui est un moteur dâinference de LLM (lâexecution des requetes) jlama implementĂ© avec vector APIs et PamanaTensorOperations plusisures alternatives (native binding, iml0ementation pure en java, scala, kotlin)Target Speech Hearing https://www.infoq.com/news/2024/05/target-speech-hearing/
Nouveau algo Deep Learning de lâUniversitĂ© de Washington permet dâĂ©couter une seule personne de ton choix et effacer tout le bruit autour le systĂšme nĂ©cessite que la personne portant les Ă©couteurs appuie sur un bouton tout en regardant quelquâun parler ou simplement en le fixant pendant trois Ă cinq secondes Permet Ă un modĂšle dâapprendre les schĂ©mas vocaux du locuteur et de sây attacher pour pouvoir les restituer Ă lâauditeur, mĂȘme sâil se dĂ©place et cesse de regarder cette personne. Selon les chercheurs, cela constitue une avancĂ©e significative par rapport aux Ă©couteurs Ă rĂ©duction de bruit existants, qui peuvent annuler efficacement tous les sons, mais ne peuvent pas sĂ©lectionner les locuteurs en fonction de leurs caractĂ©ristiques vocales. Actuellement, le systĂšme ne peut enregistrer quâun seul locuteur Ă la fois. Une autre limitation est que lâenregistrement ne rĂ©ussira que si aucune autre voix forte ne provient de la mĂȘme direction. LâĂ©quipe a mis en open source leur code et leur jeu de donnĂ©es afin de faciliter les travaux de recherche futurs pour amĂ©liorer lâaudition de la parole cible. OutillageUtiliser LLM pour migrer du framework de testing https://www.infoq.com/news/2024/06/slack-automatic-test-conversion/
Slack a migrĂ© 15.000 tests de Enzyme Ă React Testing Library avec un succĂšs de 80% Migration nĂ©cessaire pour le manque de support de Enzyme pour React 18 LâĂ©quipe a essayĂ© dâautomatiser la conversion avec des transformations AST, mais nâa atteint que 45 % de succĂšs Ă cause de la complexitĂ© des mĂ©thodes dâEnzyme et du manque dâaccĂšs aux informations contextuelles du DOM. LâĂ©quipe a utilisĂ© Claude 2.1 pour la conversion, avec des taux de rĂ©ussite variant de 40 % Ă 60 %, les rĂ©sultats dĂ©pendant largement de la complexitĂ© des tĂąches. Suite aux rĂ©sultats insatisfaisants, lâĂ©quipe a dĂ©cidĂ© dâobserver comment les dĂ©veloppeurs humains abordaient la conversion des tests unitaires. Les dĂ©veloppeurs humains utilisaient leurs connaissances sur React, Enzyme et RTL, ainsi que le contexte du rendu et les conversions AST de lâoutil initial pour mieux convertir les tests unitaires. Finalement les ingĂ©nieurs de Slack ont combinĂ© transformations AST et LLM en intĂ©grant des composants React rendus et des conversions AST dans les invites, atteignant un taux de rĂ©ussite de 80 % dĂ©montrant ainsi la complĂ©mentaritĂ© de ces technologies. Claude 2.1 est un modĂšle de langage de grande taille (LLM) annoncĂ© en novembre 2023 par Anthropic. Il inclut une fenĂȘtre contextuelle de 200 000 tokens, des rĂ©ductions significatives des taux dâhallucination du modĂšle, des invites systĂšme et permet lâutilisation dâoutils. Depuis, Anthropic a introduit la famille de modĂšles Claude 3, composĂ©e de trois modĂšles distincts, avec des capacitĂ©s multimodales et une comprĂ©hension contextuelle amĂ©liorĂ©e. Un arbre de syntaxe abstraite (AST) est une reprĂ©sentation arborescente de la structure syntaxique abstraite du code source Ă©crit dans un langage de programmation. Chaque nĆud de lâarbre reprĂ©sente une construction du code source. Un arbre de syntaxe se concentre sur la structure et le contenu nĂ©cessaires pour comprendre la fonctionnalitĂ© du code. Les AST sont couramment utilisĂ©s dans les compilateurs et les interpreters pour analyser et examiner le code, permettant diverses transformations, optimisations et traductions lors de la compilation.IDE de test de JetBrains https://blog.jetbrains.com/qa/2024/05/aqua-general-availability/
Aqua, le premier IDE conçu pour lâautomatisation des tests, supporte plusieurs langages (Java, Python, JavaScript, TypeScript, Kotlin, SQL) et frameworks de tests (Selenium, Playwright, Cypress). Pourquoi ? Les tests dâapplications nĂ©cessitent des compĂ©tences spĂ©cifiques. Aqua, un IDE adaptĂ©, est recommandĂ© par les ingĂ©nieurs en automatisation des tests. Aqua propose deux plans de licence : un gratuit pour les usages non commerciaux et un payant pour les usages commerciaux. cam me parait un peu contre intuitif a lâheure du devops et du TDD de faire des outils dĂ©diĂ©s et donc des equipes ou personnes dĂ©diĂ©es MĂ©thodologiesLes 10 principes Ă suivre, selon le crĂ©ateur de cURL, pour ĂȘtre un bon BDFL (Benevolent Dictator For Life) https://daniel.haxx.se/blog/2024/05/27/my-bdfl-guiding-principles/
Ătre ouvert et amical Livrer des produits solides comme le roc Ătre un leader de lâOpen Source PrivilĂ©gier la sĂ©curitĂ© Fournir une documentation de premier ordre Rester indĂ©pendant RĂ©pondre rapidement Suivre lâactualitĂ© Rester Ă la pointe de la technologie Respecter les retours dâinformation Dans un vieil article de Artima, Guido Van Rossum, le crĂ©ateur de Python et premier BDFL dâun projet, se remĂ©more un Ă©change de 1995 qui est Ă lâorigine de ce concept https://www.artima.com/weblogs/viewpost.jsp?thread=235725 Guido Van Rossum a Ă©tĂ© le premier Ă endosser ce ârĂŽleâUn site comprĂ©hensif sur les build reproductibles https://reproducible-builds.org
longue doc de la definition aux méthodes pour resoudre des problÚmes spécifiquesMasterclass de Fabien Olicard: Le Palais Mental https://www.youtube.com/watch?v=u6wu_iY4xd8
Technique pour retenir de lâinformation plus longtemps que dans sa mĂ©moire courteLes APIs web ne devraient pas rediriger HTTP vers HTTPS https://jviide.iki.fi/http-redirects
grosso modo le risque majeur est dâenvoyer des donnĂ©es confidentielles en clair sur le rĂ©seau le mieux serait de ne pas rediriger vers HTTPS, mais par contre de retourner une vraie erreur explicite notamment les clĂ©s dâAPI et câest facile de ne pas le,voir vu les redirects. SĂ©curitĂ©Blog de GitHub sur la provenance et lâattestation https://github.blog/2024-04-30-where-does-your-software-really-come-from/
Discute les concepts de securisation de chainne dâapprovisionnement de sogiciel et comment elles sâarticulent entre elle. A haut niveau discute les hash pour garantir le meme fichier La signature asymetrique pour prouver que jâai signĂ© (e.g. le hash) et donc que je garantis. Lâattenstation qui declare des faits sur un artifact attestation de provenance: source code et instructions de build (SLSA provenance) mais il faut garantir les signature avec une autorite de certification et avec des certificats a courte vide idealement, câest sigstore MEtionne aussi The Update Framework pour sâappuyer sur cela et garantir des undates non compromisKeycloak 25 est sorti https://www.keycloak.org/2024/06/keycloak-2500-released.html
Argon2 pour le hashing de mots de passe Depreciation des adaptateurs (Tomcat, servlet etc) Java 21 et depreciation de Java 17 session utilisatur persistente meme pour les instances online (pour survivre a une rotation de keycloak ameliorations autour des passkeys management et health endpoint sur un port different Et plus Demande aux cast codeursA 40 ans, tu peux encore ĂȘtre codeur reconnu ?
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 17-18 septembre 2024 : Agile en Seine 2024 - Issy-les-Moulineaux (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 8 octobre 2024 : Red Hat Summit: Connect 2024 - Paris (France) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 20-22 novembre 2024 : Agile Grenoble 2024 - Grenoble (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 27-28 novembre 2024 : Cloud Expo Europe - Paris (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : DevOpsDays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 6 décembre 2024 : DevFest Dijon - Dijon (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/ -
Puuttuva jakso?
-
Dans ce longâŠ. Ă©pisode, Emmanuel, Guillaume et Arnaud discutent de lâactualitĂ© avec Chicori (un runtime WASM en Java), Jakarta Data, Quarkus 3.10, Spring AI, Hibernate 6.5, mais aussi quelques retours aux basiques (timezones, rate limiting, âŠ). Gros focus sur les nouveautĂ©s annoncĂ©es Ă Google I/O 2024 et dans lâĂ©cosystĂšme IA en gĂ©nĂ©ral avec les annonces dâOpenAI, Claude, Grok et dâautres. DiffĂ©rents outils sont aussi couverts comme Git, IntelliJ, ASDF, BLD, S3. Et enfin des sujets sur la haute disponibilitĂ© de Keycloak, la rĂ©-indexation sans downtime, les challenges des implĂ©mentations alternatives, le mode vigilant dans GitHub, Redis et les changements de license, et les investissements de Microsoft et AWS en France dans le cadre du programme #ChooseFrance. NâhĂ©sitez pas Ă nous soumettre vos questions sur https://lescastcodeurs.com/ama nous y rĂ©pondrons dans les prochains Ă©pisodes.
Enregistré le 17 mai 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-312.mp3
News LangagesUn runtime WASM en Java https://github.com/dylibso/chicory
Projet tout nouveau, encore loin de la maturitĂ© Mais intĂ©ressant Ă suivre pour exĂ©cuter du code WebAssembly dans une application Java le projet nâa pas 15 jours non plus quand mĂȘme :) Faire tourner des plugins WASM dans la JVM (e.g. plugins)On peut faire des heap dump en cas de OutOfMemoryException en compilation native https://quarkus.io/blog/heapdump-oome-native/
depuis JDK 21 Un exemple avec Quarkus Et le GC epsilon100 exercices pour se mettre Ă Rust https://rust-exercises.com/
LibrairiesHibernate 6.5 est sorti https://in.relation.to/2024/04/25/orm-650/
cache full pour les entitĂ©s et leur collections (le dĂ©faut est shallow) Java record pour les @IdClass Les filtres peuvent ĂȘtre auto activĂ©s par dĂ©faut (vs Ă faire sur chaque session). Les filtres sont pas mal pour gĂ©rer par exemple des soft delete Keybased pagination pour Ă©viter les trous de rĂ©sultant en cas de modification dâentitĂ©s en parallĂšle de.une recherche paginĂ©e. S.appuie sur une clĂ© unique et ordonnĂ©e genre ISBN Une tech preview de Jakarta DataEn parlant de Jakarta Data, deux articles sur le sujet https://in.relation.to/2024/04/01/jakarta-data-1/ https://in.relation.to/2024/04/18/jakarta-data-1/
concept de repository pas liĂ© Ă une entitĂ© mais Ă une relation logique entre les recherches interagit via stateless session et est un bean CDI Code gĂ©nĂ©rĂ© bien sur 4 opĂ©rateur crud et les requĂȘtes save est up sert Type sage au sens ou le nom des mĂ©thodes nâest pas la logique de recherche Annotation et nom des paramĂštres et câest type safe via un annotation processor ou string dans @Query qui est type safe aussi via le processeur discute plus de type safety et paginationQuarkus 3.10 avec quelques nouveautĂ©s https://quarkus.io/blog/quarkus-3-10-0-released/
flyway 10 arrive avec support natif Hibernate search supporte le standalone POJO mapper notamment pour elastic search (pas que ORM) Modification des propriĂ©tĂ©s Quarkus.package automatiquement remplacĂ©es par quarkus update et Quarkus 3.9 a fait son grand renommage rĂ©actif https://quarkus.io/blog/quarkus-3-9-1-released/ Clarifier que les extensions rĂ©active nâimposent pas des apis rĂ©actives et seulement leur cĆur implĂ©mentĂ© en rĂ©actif ou offre optionellement des apis reacrive Les gens pensaient Ă tors que les rĂ©actives imposaient le modĂšle de programmation la encore quarkus update Ă la rescousseUn article sur lâapi structured output pour Spring AI https://spring.io/blog/2024/05/09/spring-ai-structured-output
un article descriptif sur quand cette api est utilisée Et les détails de son usageComment passer une TimeZone dans spring boot et ce que cela impacte en terme de composants https://www.baeldung.com/spring-boot-set-default-timezone
du basique mais toujours utile Task ou app Programmatiquement Sur certains lifecycles de Spring InfrastructureUn article et la vidĂ©o de Devoxx France sur la haute disponibilitĂ© de Keycloak, comment câest implĂ©mentĂ© https://www.keycloak.org/2024/05/keycloak-at-devoxx-france-2024-recap
lâinfra dâidentitĂ© est une infra clĂ© Donc gĂ©rer la haute disponibilitĂ© est critique Câest un article qui pointe sur une vidĂ©o de Devoxx France et la doc de keycloak sur comment tout cela est implĂ©mentĂ© CloudComment se ruiner avec des buckets S3 https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1
Amazon fait payer pour les requĂȘtes non autorisĂ©es Il suffit de connaĂźtre le nom dâun bucket pour faire payer son propriĂ©taire Amazon travaille pour fournir une solution / un fix. il est tombĂ© par hasard sur un nom de bucket utilisĂ© « pour de faux » par un outil open source populaire Bien rajouter un suffixe Ă ses buckets peut rĂ©duire le risque Mais pas lâĂ©liminer un fix a Ă©tĂ© livrĂ© par amazon https://aws.amazon.com/about-aws/whats-new/2024/05/amazon-s3-no-charge-http-error-codes/ Data et Intelligence ArtificielleGuillaume rĂ©sume GoogleIO https://x.com/techcrunch/status/1790504691945898300?s=61&t=WImtt07yTQMhhoNPN6lYEw
AI overview plus besoin dâaller sur les sitesGoogle I/O 2024
Google I/O 2024 rĂ©sumĂ© en vidĂ©o de 10 minutes https://www.youtube.com/watch?v=WsEQjeZoEng et en 100 bullet points https://blog.google/technology/ai/google-io-2024-100-announcements/ Message de Sundar Pichai https://blog.google/inside-google/message-ceo/google-io-2024-keynote-sundar-pichai/#creating-the-future Project Astra, un assistant universel, sur smartphone avec qui on peut avoir une conversation normale et Ă qui montrer avec la camĂ©ra ce qui nous entoure https://www.theverge.com/2024/5/14/24156296/google-ai-gemini-astra-assistant-live-io Nouveau modĂšle Gemini 1.5 Flash, quasi aussi performant que le nouveau Gemini 1.5 Pro, mais beaucoup plus rapide (premiers tokens dans la seconde) et aussi moins cher https://blog.google/technology/developers/gemini-gemma-developer-updates-may-2024/ Gemini 1.5 Pro est Gemini 1.5 Flash sont disponibles avec une fenĂȘtre de contexte dâun million de tokens, mais il y a une liste dâattente pour tester une fenĂȘtre de 2 millions de tokens https://aistudio.google.com/app/waitlist/97595554 https://cloud.google.com/earlyaccess/cloud-ai?e=48754805&hl=en PaliGemma un nouveau modĂšle de vision ouvert dans la famille Gemma (pour faire du Q&A du sous-titrage) et preview de Gemma 2, avec une version Ă 27 milliards de paramĂštres https://developers.googleblog.com/en/gemma-family-and-toolkit-expansion-io-2024/ Gemini disponible dans les IDEs : Android Studio, IDX, Firebase, Colab, VSCode, Cloud and Intellj Gemini AI Studio enfin disponible en Europe Gemini supporte le parallel function calling et lâextraction de frame dans les vidĂ©os Trillium, la 6Ăšme version des TPU (Tensor Processing Unit), les processeurs spĂ©cifiques ML dans Google Cloud, 5 fois plus puissant que la gĂ©nĂ©ration prĂ©cĂ©dente et 67% plus efficace en Ă©nergie https://cloud.google.com/blog/products/compute/introducing-trillium-6th-gen-tpus Le projet NotebookLM rajoute une fonctionnalitĂ© de Audio Overview qui permet de discuter avec son corpus de documents avec une conversation vocale https://notebooklm.google.com/ On peut appliquer le âgroundingâ avec Google Search pour lâAPI Gemini, pour que le modĂšle Gemini puisse chercher des informations complĂ©mentaires dans Google Search https://cloud.google.com/blog/products/ai-machine-learning/vertex-ai-io-announcements Annonce de Imagen 3, la future version de du modĂšle de gĂ©nĂ©ration dâimages Imagen qui amĂ©liore la qualitĂ© et possĂšde un trĂšs bon support du texte dans les images (objectif de disponibilitĂ© Ă lâĂ©tĂ©) https://blog.google/technology/ai/google-generative-ai-veo-imagen-3/#Imagen-3 https://deepmind.google/technologies/imagen-3/ DeepMind annonce Veo, un nouveau modĂšle de gĂ©nĂ©ration de vidĂ©o trĂšs convaincant qui peut faire des vidĂ©os en 1080p de 60s, mais en combinant plusieurs prompts successifs, il peut gĂ©nĂ©rer des vidĂ©os plus longues qui sâenchainent https://deepmind.google/technologies/veo/ VideoFX, ImageFX et MusicFX, des expĂ©rimentations de Google AI intĂ©grant Imagen 3 et Veo (pas encore disponibles en Europe) https://blog.google/technology/ai/google-labs-video-fx-generative-ai/ Gemini Advanced https://blog.google/products/gemini/google-gemini-update-may-2024/#context-window Les utilisateurs de Gemini Advanced (lâapplication web) utilisent Gemini 1.5 Pro avec la fenĂȘtre de contexte de 1 million de tokens, la possibilitĂ© de charger des documents de Google Drive, et bientĂŽt la possibilitĂ© de gĂ©nĂ©rer des graphiques. Gemini Advanced rajoute aussi la capacitĂ© de gĂ©nĂ©rer des itinĂ©raires de voyage (avec intĂ©gration de Google Flights, etc) FonctionnalitĂ© Gemini Live pour avoir une conversation vocale naturelle avec Gemini https://blog.google/products/gemini/google-gemini-update-may-2024/#gemini-live Gem : des plugins pour Gemini Advanced pour crĂ©er ses propres assistants personnalisĂ©s https://blog.google/products/gemini/google-gemini-update-may-2024/#personalize-gems Ask Photos, on peut poser Ă Google Photos des questions plus complexes comme âquelle est ma plaque dâimmatriculationâ et Photos devine que parmi toutes les photos de voitures lequelle est certainement la nĂŽtre et extrait le numĂ©ro de plaque https://blog.google/products/photos/ask-photos-google-io-2024/ MĂȘme dans Google Messages vous pourrez Ă©changer avec Gemini Google Search https://blog.google/products/search/generative-ai-google-search-may-2024/ Rajout dâun modĂšle Gemini spĂ©cial search intĂ©grĂ© qui permet Ă Google Search de rĂ©pondre aux questions de la barre de recherche avec une raisonnement multi-Ă©tapes, en Ă©tant capable de faire de la planification, en mode multimodal (texte, image, vidĂ©o, audio) Planning de repas et de voyage, supportĂ© dans Gemini, va arriver aussi dans Search Gemini 1.5 Pro est disponible dans le panneau latĂ©ral de Gmail, Docs, Sheets, Drive https://blog.google/products/workspace/google-gemini-workspace-may-2024-updates/ SynthID va mĂȘme fonctionner pour du texte https://deepmind.google/discover/blog/watermarking-ai-generated-text-and-video-with-synthid/ Gemini Nano bientĂŽt disponible dans les prochaines version de Chrome, pour utiliser le LLM directement dans le navigateur Android Seconde bĂ©ta dâAndroid 15 https://android-developers.googleblog.com/2024/05/the-second-beta-of-android-15.html Private space pour garder des apps secures avec un niveau dâauthentification supplĂ©mentaire Google collabore avec Samsung et Qualcomm sur la rĂ©alitĂ© augmentĂ©e dans Android https://developers.googleblog.com/en/google-ar-at-io-2024-new-geospatial-ar-features-and-more/ Project Gameface arrive sur Android (pour diriger Android avec les yeux, avec les expressions du visage, pour lâaccessibilitĂ©) https://developers.googleblog.com/en/project-gameface-launches-on-android/ Gemini Nano va passer en multimodal, pas juste du texte Circle to search Ă©tendu Ă 100 millions de tĂ©lĂ©phones supplĂ©mentaires supportant Nano et va permettre de poser des questions, par exemple pour lâaide aux devoirs des enfants https://blog.google/products/android/google-ai-android-update-io-2024/#circle-to-search Detect phone scam on device with Gemini Nano Talkback, lâapplication pour lâaccessibilitĂ© dans Android, va tirer parti de la multimodalitĂ© de Gemini Nano BientĂŽt de la gĂ©nĂ©ration dâimage quâon pourra intĂ©grer dans ses mails, ses messages Wear OS https://android-developers.googleblog.com/2024/05/whats-new-in-wear-os-io-24.html Travail sur lâĂ©conomie dâĂ©nergie pour faire durer les montres plus longtemps avant la prochaine recharge. Par exemple, 20% de consommation en moins lorsquâon court un marathon ! Plus de type de donnĂ©es pour les activitĂ©s physiques Project IDX accessible sans liste dâattente https://developers.googleblog.com/en/start-building-with-project-idx-today/ Firebase annonce 3 nouveaux produits https://developers.googleblog.com/en/whats-new-in-firebase-io-24/ Data Connect, un backend-as-a-service avec PostgreSQL https://firebase.google.com/products/data-connect App Hosting, hosting dâapplication Next et Angular https://firebase.google.com/products/app-hosting Genkit, a GenAI framework for app developers https://firebase.google.com/products/genkit Dart 3.4 avec support de Wasm comme target de compilation https://medium.com/dartlang/dart-3-4-bd8d23b4462aOpenAI lance son nouveau modĂšle: gpt-4o http://openai.com/index/hello-gpt-4o/
https://x.com/openaidevs/status/1790083108831899854?s=46&t=GLj1NFxZoCFCjw2oYpiJpw Audio, vision et reconnaissance de texte en realtime Plus rapide et 50% moins cher que son prédécesseur 4-turbohttps://claude.ai/ est disponible en europe
Claude, le modĂšle est crĂ©Ă© par Anthropic: Claude est un assistant IA basĂ© sur un grand modĂšle de langage entraĂźnĂ© selon des principes Ă©thiques stricts. Il accorde une grande importance Ă lâhonnĂȘtetĂ©, lâimpartialitĂ© et le respect de lâĂȘtre humain. Son raisonnement repose sur une comprĂ©hension profonde des concepts plutĂŽt que sur de simples associations statistiques. Il cherche activement Ă corriger les Ă©ventuels biais ou erreurs. Claude est polyvalent et peut sâadapter Ă diffĂ©rents styles de communication et niveaux de complexitĂ© selon le contexte. Il maĂźtrise de nombreux domaines acadĂ©miques et scientifiques. Il est capable dâintrospection sur ses propres processus de pensĂ©e et ses limitations. La vie privĂ©e et la confidentialitĂ© sont des prioritĂ©s pour lui. Claude continue dâapprendre et de sâamĂ©liorer grĂące aux interactions avec les humains. Son but est dâĂȘtre un assistant fiable, Ă©thique et bienveillant. quelquâun sait comment ils font pour raisonner et pas juste LLM statistiquer? Comment ils prouvent cela ? Câest du code Ă part?Grok le modĂšle de X/Twitter/Musk est aussi dispo en Europe https://x.com/x/status/1790917272355172401?s=46&t=GLj1NFxZoCFCjw2oYpiJpw
un truc unique câest quâil utilise les tweet comme reference sur ce quâil dit. Par exemple demande les meilleurs Java Champions et câest sur les tweet recents , probablement une sorte de RAG ou une sorte de fine tuning sur les derniers tweets, je ne sais pasLâalgorithm des modeles de diffusion expliquĂ©s https://x.com/emmanuelbernard/status/1787565568020619650
deux articles, un general et lisible lâautre plus abscon mais avec certains details interessants sur le downsizing Ă©tapes ajout de bruit Ă des images (learning) pour aprĂšs appliquer le process opposĂ© le reverse diffusion process On prĂ©dit le bruit Ă enlever, on lâenlĂšve et on repĂšre le processus. Et tout cela est influencĂ© par le prompt.Reindexation sans downtime des donnĂ©es de documentation de Quarkus, en quarkus bien sĂ»r https://quarkus.io/blog/search-indexing-rollover/
utilise hibernate search UtilisĂ© Elasticsearch / opensearch Article qui explique une des approches pour reindexer sans downtime via index alias OutillageUn article qui parle de lâoutil de build bld, peu connu, qui permet dâĂ©crire ses builds simplement dans une classe Java https://sombriks.com/blog/0070-build-with-bld-and-why-it-matters/
IntelliJ 2024.1 est sorti https://blog.jetbrains.com/idea/2024/05/what-s-new-in-intellij-idea-ultimate-2024-1/
complĂ©tion de ligne entiĂšre (deep learning) Assistant AI amĂ©liorĂ© Spring Boot support amĂ©liorĂ© sur bean completion et gĂ©nĂ©ration de diagramme Support de dev containers simplifiĂ© AmĂ©lioration support quarkus avec notamment icĂŽne dev ui et config des tests Support OpenRewrite Server wiremock et plein dâautres chosesEn version beta public, Homebrew permet de vĂ©rifier la provenance des packages (bottles) https://blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/
BasĂ© sur le systĂšme âbuild provenanceâ de sigstore https://docs.sigstore.dev/verifying/attestation/#validate-in-toto-attestations qui repose sur les attestations in-toto https://in-toto.io/Mettez Ă jour git en version 2.45.1 pour fixer des failles de sĂ©curitĂ© https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/
CVE-2024-32002 (Critique, Windows & macOS) : Les repos Git avec des sous-modules peuvent tromper Git pour lui faire exĂ©cuter un hook (Ă©lĂ©ment de script) Ă partir du rĂ©pertoire .git/ pendant une opĂ©ration de clonage, permettant lâexĂ©cution de code Ă distance (Remote Code Execution). CVE-2024-32004 (Important, machines multi-utilisateurs) : Un attaquant peut concevoir un repo local qui exĂ©cute du code arbitraire lors du clonage. CVE-2024-32465 (Important, toutes les configurations) : Le clonage Ă partir de fichiers .zip contenant des repos Git peut contourner les protections, et potentiellement exĂ©cuter des hooks malveillants. CVE-2024-32020 (Faible, machines multi-utilisateurs) : Les clones locaux sur le mĂȘme disque peuvent permettre Ă des utilisateurs non approuvĂ©s de modifier des fichiers liĂ©s physiquement (hard link) dans la base de donnĂ©es des objets du repo clonĂ©. CVE-2024-32021 (Faible, machines multi-utilisateurs) : Le clonage dâun repo local avec des liens symboliques (symlinks) peut entraĂźner la crĂ©ation de liens physiques vers des fichiers arbitraires dans le rĂ©pertoire objects/. ArchitectureVisualisation des algorithmes de rate limitation https://smudge.ai/blog/ratelimit-algorithms
MĂ©thodologiesLe problĂšme de lâimplĂ©mentation alternative https://pointersgonewild.com/2024/04/20/the-alternative-implementation-problem/
Article par un dĂ©veloppeur qui a dĂ©veloppĂ© des Just-in-Time compiler pour diffĂ©rents langages RemarquĂ© que dĂ©velopper une implĂ©mentation alternative dâun langage (par exemple) nâa jamais vraiment rencontrĂ© le succĂšs Les gens prĂ©fĂšrent lâoriginal Ă une alternative qui est dĂ©pendante de / a peine Ă suivre lâimplĂ©mentation dâorigine Pour son cas, sur le JIT, il a travaillĂ© sur un JIT intĂ©grĂ© directement dans CRuby (plutĂŽt que faire son implĂ©mentation alternative comme TruffleRuby), et sont JIT est intĂ©grĂ© maintenant dedans directement Plus facile de rejoindre / sâintĂ©grer au projet plutĂŽt que dâĂȘtre une alternative pour laquelle il faut convaincre les gens de lâadopterLe mode vigilant dans GitHub https://x.com/emmanuelbernard/status/1790026210619068435
câest la suite du blog wsur la signature des commits que jâai fait ul y a quelques temps https://emmanuelbernard.com/blog/2023/11/27/git-signing-ssh/ Maintenant, GitHub rajoute de plus en plus dâinfos si les signatures ne matchent pas ou ne sont pas prĂ©sentes Loi, sociĂ©tĂ© et organisationUne perspective sur Redis et les changements de license par un devrel AWS OpenSearch https://www.infoworld.com/article/3715247/the-end-of-vendor-backed-open-source.html
les sociĂ©tĂ©s regardent lâimpact lĂ©gal des licenses source available pour elles mĂȘme en usage interne Ăa casse lâĂ©cosystĂšme de spĂ©cialisations au dessus du produit (logz.io au dessus dâelastic dĂ©marrĂ© avant le changement de license) Redis top 10 contribs Ă AWS et Alibaba er Huawei et 3 redis. Donc câest pas redis qui contribue tout. La plupart des ingĂ©nieurs de redislab ne bossent pas sur redis OSS, mais sur cloud et entreprise Peut ĂȘtre la fin des single vendor oss Il nây a que les cloud providers qui peuvent fournir du OSS sans affecter leur structure du coĂ»t Câest un ex AWS en fait. Maintenant indĂ©pendantMicrosoft va investir 4 milliards en France (datacenters et IA) https://news.microsoft.com/fr-fr/2024/05/13/microsoft-announces-the-largest-investment-to-date-in-france-to-accelerate-the-adoption-of-ai-skilling-and-innovation/
Il ne sont pas les seuls dans le cadre du programme #chooseFrance https://www.info.gouv.fr/actualite/choose-france-un-record-de-15-milliards-deuros-dinvestissements-etrangers Mais cela nâest pas sans laisser de questions sur lâavenir de notre activitĂ© avec les US qui externalisent dĂ©sormais leur silicon valley https://www.cybernetica.fr/la-france-laboratoire-de-la-silicon-valley-2-0/ Outils de lâĂ©pisodeASDF un gestionnaire de version multi-runtime https://asdf-vm.com
Arnaud lâavait recommandĂ© mais je restais sur rvm apres des deboires, je suis passĂ© a asdf, qui fonctionne mais pour le jdk jâutilise sdkman pour les javaistes ca parrait plus poussĂ© ConfĂ©rencesLes videos de Devoxx France sont en ligne https://www.youtube.com/playlist?list=PLTbQvx84FrARars1vXos7mlPdvYJmsEoK
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
16-17 mai 2024 : Newcrafts Paris - Paris (France) 22 mai 2024 : OpenInfra Day France - Palaiseau (France) 22-25 mai 2024 : Viva Tech - Paris (France) 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) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6 juin 2024 : WAX 2024 - Aix-en-Provence (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11 juin 2024 : Cloud Toulouse - Toulouse (France) 11-12 juin 2024 : OW2con - Paris (France) 11-12 juin 2024 : PGDay Lille - Lille (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 17 septembre 2024 : We Love Speed - Nantes (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 25-26 septembre 2024 : PyData Paris - Paris (France) 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 30-31 octobre 2024 : Agile Tour Bordeaux 2024 - Bordeaux (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 21 novembre 2024 : DevFest Strasbourg - Strasbourg (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/ -
Cet Ă©pisode news revient sur le rachat de Hashicorp par IBM, sur le changement de license Redis, sur le bug macos 14.4 et Java, sur la faille de de chaine dâapprovisionnement sur XZ. Et nous dĂ©butons notre subrique Ask Me Anything. NâhĂ©sitez pas Ă nous soumettre vos question sur https://lescastcodeurs.com/ama.
Enregistré le 26 avril 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-311.mp3
News LangagesAttendez peut-ĂȘtre avant dâupgrader macOS Ă la version 14.4, si vous faites du Java ! Attention le crash ! https://blogs.oracle.com/java/post/java-on-macos-14-4
Bug Ă suivre https://bugs.java.com/bugdatabase/view_bug?bug_id=8327860 Ă Ă©tĂ© fixĂ© en 14.4.1 https://blogs.oracle.com/java/post/java-on-macos-14-4 câĂ©tait liĂ© Ă un changement de comportement dans lâexecution de code dynamique (compilĂ© aprĂšs le lancement du process) Au lieu de recevoir signal, SIGBUS or SIGSEGV et de le gĂ©rer SIGKILL Ă©tait lancĂ© et forcĂ©ment ça marchait moins bien Apple a corrigĂ© le comportementArticle de Gunnar Morling sur la nouvelle API de âgathererâ de Java 22, pour amĂ©liorer les streams, ici en montrant une implĂ©mentation dâun âzipperâ qui assemble les Ă©lĂ©ments de 2 streams 2 Ă 2 https://www.morling.dev/blog/zipping-gatherer/
on a parlĂ© des gatherers dĂ©jĂ qui permet de faire de faire des opĂ©rateurs intermediaries custom par rapport Ă ce que je JDK offre ici Gunnar montrer un zipper qui nâest pas prĂ©sent par dĂ©fautJulien Ponge est Java champion, fĂ©licitations !
JFR 9 est sorti https://hirt.se/blog/?p=1477
peut tourner dans Eclispe Support de arm64 pour Linux et macOS Dark mode ! Des amĂ©liorations de performance Support graalvm native image Nouveau afficheur de flame graph G1 pause target compliance LibrairiesNouvelle version de Jilt, lâannotation processor qui implĂ©mente les builders https://www.endoflineblog.com/jilt-1_5-released
Evite les hacks Ă la Lombok Une nouvelle mĂ©thode toBuilder() pour obtenir un builder dâun bean dĂ©jĂ configurĂ© Support des mĂ©ta-annotations, histoire de pas rĂ©pĂ©ter sur chaque type comment on souhaite dĂ©finir ses builders PossibilitĂ© de mettre lâannotation @Builder sur les constructeurs privĂ©s Support agnostique de @Nullable quel que soit lâorigine de cette annotation InfrastructureIBM pourrait racheter Hashicorp https://www.reuters.com/markets/deals/ibm-nearing-buyout-deal-hashicorp-wsj-reports-2024-04-23/
rien nâest fait Hashicorp qui a Ă©tĂ© dans la tourmente aprĂšs le passage de Terraform en closed source mais les revenus sont lĂ . Câest fait https://www.hashicorp.com/blog/hashicorp-joins-ibm WebGoogle intĂšgre son framework interne Wiz dans Angular https://blog.angular.io/angular-and-wiz-are-better-together-91e633d8cd5a
Wiz est un framework interne Ă Google utilisĂ© dans des produits comme Google Search ou Photos, trĂšs axĂ© sur la performance Wiz va amener plus de performance Ă Angular, tout en gardant la super interactivitĂ© dâAngular Wiz historiquement sur la perf et peu dâinteractions utilisateur, angular sur interactions riches et super experience developer Wiz server side rendering first et streamĂ©, ce qui Ă©limine le javascript dans le chemin de charge initial des fonctions comme deferred views sont venu vers angular et signals sont venu a wiz vont merger au fur et a mesure des prochaines annĂ©es via Angular comme receptacle open Data et Intelligence ArtificielleRedis aussi se met Ă changer sa licence pour une licence pas tout Ă fait open source. Un fork nommĂ© Valkey, animĂ© par des mainteneurs de Redis, rejoint la fondation Linux https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community
AWS, Google, Oracle, Ericsson et Snap sont nommĂ©s dans lâeffort Open Source fight back mais via des grands acteurs qui ont un interet dans la version âgratuiteâ pour le cloud les infos de Redis https://redis.com/blog/redis-adopts-dual-source-available-licensing/ En gros releasĂ© sous SSPL (comme MongoDB) ou une license spĂ©cifique Redis RSAL est source available license (dont pas open source) et SSPL est pas reconnu comme open source par lâOSI car elle impose des restrictions Ă lâusage du coup certaines fonctions closed sources deviennent source available Met les cloud provider en cause du problĂšme, ils font de lâargent et commodetize Redis sans redonner du revenu aux dĂ©veloppeurs de Redis est-ce que les gens seront ok de continuer a coder pour du code pas open, juste disponible et Ă©videmment ca casse lâĂ©cosystĂšme redis ou open source qui voulait utiliser redis en tant quâopen pas autorisĂ© de faire du support sur un produit qui derive de redis sans payer une license si câest âcompĂ©titifâElon Musk tient sa promesse et ouvre son Large Language Model, Grok https://x.ai/blog/grok-os
ModĂšle de 314 milliards de paramĂštres (Pi !) Architecture MoE (Mixture of Experts) qui fait quâil nây a que 25% des neurones actifs Ă lâinfĂ©rence (efficace et rapide) Câest un modĂšle âpre-trainedâ, de base, non-finetunĂ©, donc pas trĂšs utilisable en lâĂ©tat (il faut le finetuner en mode âinstructâ et/ou âchatâ pour quâil soit vraiment utilisable) Le code dans le repo Github, ainsi que les poids du rĂ©seau de neurones, sont OSS sous licence Apache 2 Lâentrainement a Ă©tĂ© effectuĂ© avec JAX et Rust ! La cut-off date est Octobre 2023 OutillageOracle lance son extension VSCode pour Java https://devclass.com/2024/03/19/java-22-is-out-and-oracle-is-pushing-its-own-extension-for-vs-code-over-not-very-good-red-hat-alternative/
une extension en competition avec lâextension officielle et historique Java faite par MS et Red Hat Oracle estime lâextension pas tres bonne cafr basĂ©e sur le compilateur Eclipse 33M de telechargements quand mĂȘme La nouvelle sâappuie sur javac donc proche de la verite par definition et en avance par definition de la facon dont Oracle release quand il veut alignĂ© avec le timing de simplification de Java pour les dĂ©butants SĂ©curitĂ©RĂ©mi Forax nous partage cet article sur les puces M1/M2/M3 dâApple, qui utilisent un nouveau âprefetcherâ un peu trop agressif qui permet de leaker les clĂ©s utilisĂ©es lors des opĂ©rations cryptographiques : https://arstechnica.com/security/2024/03/hackers-can-extract-secret-encryption-keys-from-apples-mac-chips/
comme dâhab pour les side channels attaques de de type câest su un autre process peut tourner sur la machine et ĂȘtre adversaire liĂ© a un data dependent memory fetcher dans ce cas, un champ est soit une valeur, soit un pointeur et Appel pre-fetch dans le cas oĂč câest un pointeur et câest attaquable en injectant des variables qui ressemblent a des pointeurs vers des donnĂ©es controlĂ©es et on peut en dĂ©duire la clĂ©s secrete si cette variable et la clĂ© ont des opĂ©rations mais le code peut dĂ©sactiver cette optimisation si jâai bien comprisLâhistoire dâune porte dĂ©robĂ©e dans le projet open source XZ qui a failli mettre Ă mal toutes les connexions sous Open SSH, avec pour tĂąche de fond la fragilitĂ© de projets open source maintenu par des individuels bĂ©nĂ©voles Ă bout de souffle https://uwyn.net/@rusty@piaille.fr/112190942187106096
ArsTechnica dĂ©taille lâhistoire https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/ https://www.minimachines.net/actu/la-menace-xz-ou-comment-le-ciel-a-failli-tomber-sur-nos-tetes-125967Les impacts de laisser trainer son secret client dans les connections Keycloak https://medium.com/@benjaminbuffet/dis-keycloack-cest-grave-si-je-laisse-tra%C3%AEner-mon-client-secret-d371a0f657ee
un article qui explique les raison plutĂŽt que de dire câest mal car câest secret quand on utilise un mot de passe du client (et pas un JWT signĂ© ou une clĂ© privĂ©) si ca se perd, câest lâusurpation de lâidentitĂ© dâun utilisateur via son usage de client qui est en jeu (donc jouĂ© en tant que) ou usurper lâidentitĂ© client en tant que telle (plus facile) et quelques conseils pour rĂ©duire ce risque Loi, sociĂ©tĂ© et organisationJavaOne serait de retour pour de vrai ? https://www.oracle.com/javaone/
En mars 2025, câest dans un an, on a le temps ! Ăa se dĂ©roulera sur le campus dâOracle dans la Silicon Valley peu dâinfos et de dĂ©tail, pas sur que cela soit le JavaOne de nos souvenirs.Des infos concretes sur lâIA souveraine Albert https://x.com/emile_marzolf/status/1783072739630121432
AMA, Ask Me AnythingHamza:
âComment ĂȘtre un rockstar dans le domaine, sâil vous plaĂźt une rĂ©ponse dĂ©taillĂ©e sur le plan dâaction veille, auto formation, side projets âŠâŠ depuis vos expĂ©riences personnelles. Merci dâavanceâ
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22 mai 2024 : OpenInfra Day France - Palaiseau (France) 22-25 mai 2024 : Viva Tech - Paris (France) 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) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6 juin 2024 : WAX 2024 - Aix-en-Provence (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11 juin 2024 : Cloud Toulouse - Toulouse (France) 11-12 juin 2024 : OW2con - Paris (France) 11-12 juin 2024 : PGDay Lille - Lille (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Mobilis In Mobile 2024 - Nantes (France) 18 juin 2024 : BSides Strasbourg 2024 - Strasbourg (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 26-28 juin 2024 : Breizhcamp 2024 - Rennes (France) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 6-7 septembre 2024 : Agile Pays Basque - Bidart (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 26 septembre 2024 : Agile Tour Sophia-Antipolis 2024 - Biot (France) 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 11-12 octobre 2024 : SecSea2k24 - La Ciotat (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 30-31 octobre 2024 : Agile Tour Nantais 2024 - Nantes (France) 31 octobre 2024-3 novembre 2024 : PyCon.FR - Strasbourg (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France) 28 novembre 2024 : Who Run The Tech ? - Rennes (France) 3-5 décembre 2024 : APIdays Paris - Paris (France) 4-5 décembre 2024 : Open Source Experience - Paris (France) 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France) 16-18 avril 2025 : Devoxx France - Paris (France) Nous contacterPour 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/ -
La clĂŽture de Devoxx France 2024 avec les cast codeurs. LâannĂ©e oĂč le sous-titrage Ă©tait un personnage Ă part entiĂšre de Devoxx France.
Vous aurez beaucoup plus de plaisir et de contexte en regardant la vidĂ©o quâen Ă©coutant cet Ă©pisode. Les sous titres jouent un rĂŽle important. Donc pour une fois ne nous Ă©coutez pas, regardez nous :o)EnregistrĂ© le 19 avril 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episodeâ310.mp3
NewsLâenregistrement en direct de Devoxx France 2024.
Nous contacterPour 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/ -
React a 10 ans. 10 Ans de Révolution dans le Développement Web avec Amélie Benoßt (@AmelieBenoit33) et Manuel Cartier (@neolectron).
Enregistré le 04 mars 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-309.mp3
React a 10 ans, longue vie Ă React !Dans cet Ă©pisode, nous avons comme invitĂ©s Amelie BenoĂźt et Manuel Cartier. Les deux explorent lâĂ©volution de React au cours de la derniĂšre dĂ©cennie, mettant en lumiĂšre ses principaux principes et son impact sur le dĂ©veloppement web. AmĂ©lie et Manuel discutent des caractĂ©ristiques fondamentales de React, comme la composition des composants et lâutilisation de la virtual DOM, ainsi que des tendances Ă©mergentes telles que lâadoption de React Hooks, et les React Server Components. Enfin, nous avons ses conclusions sur lâavenir de React et son rĂŽle continu dans le paysage du dĂ©veloppement web.
AmĂ©lie BenoĂźtAmĂ©lie Benoit est une dĂ©veloppeuse web avec une expĂ©rience dâenviron 10 ans dans le domaine. Son expertise se concentre principalement sur React et React Native, quâelle maĂźtrise tant en JavaScript quâen TypeScript.
En plus de son travail de dĂ©veloppement, AmĂ©lie est une entrepreneuse communautaire active. Elle a fondĂ© deux Meetups, dont lâun est dĂ©diĂ© Ă React & React Native, dĂ©montrant ainsi son engagement envers la diffusion des connaissances et le dĂ©veloppement de la communautĂ©. Elle a Ă©galement organisĂ© des confĂ©rences, notamment lors de lâĂ©vĂ©nement BDX I/O. Elle a aussi Ă©tĂ© oratrice a Devoxx France parmi dâautres confĂ©rences.
Actuellement, AmĂ©lie occupe le poste de tech lead manager chez Busbud, une scale-up canadienne spĂ©cialisĂ©e dans la comparaison et la vente de billets de bus inter-citĂ©s en ligne. Son rĂŽle en tant que leader technique et manager la place au cĆur des opĂ©rations de dĂ©veloppement et de gestion de projet au sein de lâentreprise.
Grùce à son expertise technique, son engagement communautaire et son leadership, Amélie Benoit apporte une contribution significative au monde du développement web et de la technologie.
Manuel CartierManuel est un dĂ©veloppeur passionnĂ©, initiĂ© Ă lâart du code dĂšs lâĂąge de 13 ans. AnimĂ© par cette passion prĂ©coce, il entreprend des Ă©tudes en dĂ©veloppement de logiciels et gestion de projets, couronnĂ©es par lâobtention dâun BTS. Son parcours exceptionnel le conduit Ă se distinguer dĂšs 2015 Ă lâĂ©cole â42â de Paris, oĂč il se classe premier parmi tous les candidats.
Avec une solide expertise en C++, Manuel sâinvestit dans lâencodage vidĂ©o et audio chez Ateme, contribuant ainsi Ă un transcodeur utilisant des bibliothĂšques faites maison, Ă©quivalentes Ă x264. PassionnĂ© par la diffusion en direct, il partage rĂ©guliĂšrement ses connaissances en informatique et donne des cours de dĂ©veloppement web sur Twitch et YouTube.
Toujours avide dâapprendre et de repousser ses limites, Manuel se lance actuellement dans lâexploration de Rust, encouragĂ© par la migration des projets C++ vers Rust chez Facebook. ParallĂšlement, il explore le dĂ©veloppement dâapplications mobiles avec Ionic Framework et AngularJS, expĂ©rience acquise lors de la crĂ©ation dâune start-up en 2015.
Son dernier rĂŽle en tant que dĂ©veloppeur Fullstack chez SigFox lui permet dâapprofondir sa comprĂ©hension des mĂ©canismes de lâIoT. Aujourdâhui, son attention se porte sur lâĂ©cosystĂšme JavaScript et lâamĂ©lioration de lâexpĂ©rience utilisateur, ainsi que sur le rendu 3D sur le web avec des technologies innovantes telles que Three.js et React-Three-Fiber.
Nous contacterPour 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/ -
Cet Ă©pisode discute du retour dâexperience Java de Netflix, de jQuery, de gouvernance open source, dâElon Musk, de Kubernetes, de Mistral (gagnant?), dâattaque des LLMs, de developpement de carriĂšre et de Trouble du DĂ©ficit de lâAttention avec ou sans HyperactivitĂ©.
Enregistré le 15 mars 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-308.mp3
NewsLes cast codeurs veulent essayer quelque chose de nouveau et le sondage montre que vous aussi. On lance donc une section Ask Me Anything, posez nous une question sur https://lescastcodeurs.com/ama et nous prendrons certaines questions pour donner notre rĂ©ponse. Lancez-vous, on pense que cette section pourra ĂȘtre sympa :)
LangagesRetour dâexperience de Netflix sur ZGC https://netflixtechblog.com/bending-pause-times-to-your-will-with-generational-zgc-256629c9386b
moins de tail latency ce qui veut dire moins de charge sur le systeme (moins de retry) aussi plus facile de trouver les vrais probleme de latence (plus cachĂ©s dans les latences de GC) et sans consommation superieure de CPU pour les memes perfs malgrĂ© les barrieres differentes de ZGC pas de tuning explicit de leur part (enfin presque) meme si les pointeurs ne sont pas compresses, lâefficacite du GC compense LibrairiesSortie de Spock 2.4-M2 https://spockframework.org/spock/docs/2.4-M2/release_notes.html
Support de plusieurs librairies de mocking Meilleur support dans les IDEs Et plein dâautres petites amĂ©liorationsjQuery 4 est sorti ! jQuery est de retour ! https://www.infoq.com/news/2024/03/jquery-4-beta-release-note/
On parle rĂ©guliĂšrement du dernier framework JavaScript Ă la mode, mais jQuery est toujours lĂ PremiĂšre release majeure depuis 8 ans Suppression de plein de features qui Ă©taient deprecated et maintenant fournie souvent par dĂ©faut par les moteurs JavaScript des navigateurs jQuery continue dâĂȘtre tĂ©lĂ©chargĂ© de plus en plus au fil du temps, mais peut-ĂȘtre parce quâil bĂ©nĂ©ficie du succĂšs des projets qui lâutilisent comme Cypress, WordPress ou Drupal)Quarkus sort sa deuxieme LTS https://quarkus.io/blog/quarkus-3-8-released/
explique les changements importants depuis la LTS 3.2 InfrastructureLinkerd ou plutÎt la boßte derriÚre va faire payer pour accéder aux builds stable du projet. Cela crée des conversations au sein de la CNCF https://www.techtarget.com/searchitoperations/news/366571035/Linkerd-paywall-prompts-online-debate-CNCF-TOC-review
deploy envoy, câest plus dur Buyoant est le principal contributeur derriere Linkerd et ils ont edcider de mettre les distributions stables derriere un paywall pour les societes de plus de 50 employĂ©s ($2000 par cluster) les gens se trouve flouĂ©s par aider au succces et ensuite de trouver piĂ©gĂ© La license reste ASL mais la version stable est derriere un paywall, comme red hat enterprise linuix recemment un autre exemple de projet open source qui vire commercial questionne la gouvernance open source, la CNCF va inestiguer et peut etre durcir ces criteres de graduiation Weavework (FLux) a fermĂ© ces dernieres semaines aussiCloudflare a reecrit un proxy HTTP en rust https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
ils ont utilise NGinx pendant longtemps mais le single worker modele ne permetait pas ceratins optims et ils ont des besolins specifiques bref ils ont reecrit en rust, multi threaded et avec work stealing et ils sont contentLe guide du âhaterâ sur Kubernetes https://paulbutler.org/2024/the-haters-guide-to-kubernetes/
Lâauteur se plaint rĂ©guliĂšrement de Kubernetes pour sa grande complexitĂ© mais reconnait que câest quand mĂȘme un grand morceau de technologie A utiliser surtout quand on a besoin de : ExĂ©cuter plusieurs processus/serveurs/tĂąches planifiĂ©es. Les exĂ©cuter de maniĂšre redondante et rĂ©partir la charge entre eux. Les configurer, ainsi que les relations entre eux, sous forme de code. Lâauteur liste ensuite les fonctionnalitĂ©s quâil utilise, quâil fait attention quand il les utilise, et celles quâil prĂ©fĂšre Ă©viter Utilise : deployments, services, cron jobs, config maps et secrets Attention : stateful set, persistent volume et RBAC Evite : le YAML Ă la main, les opĂ©rateurs et resources customs, Helm, tout ce qui est mesh, les resources ingress, essayer de rĂ©pliquer la stack K8S complĂšte localement sur sa machine Data et Intelligence ArtificielleMistral AI et Microsoft font un accord sur le modele le plus puissant de Mistral et certains ne sont pas content https://www.latribune.fr/technos-medias/informatique/l-alliance-entre-mistral-et-micr[âŠ]usion-de-l-independance-technologique-europeenne-991558.html
Mistral avancait son approche open source mais son modele le plus puissant ne lâest pas ils ont un partenariat exclusif avec Microsoft pour le distribuer Et MS rentre dans le capital Au revoir lâindependance de lâIA europĂ©enne Au revoir les modeles open source larges cela va a lâencontre du loby et de son positinnement aupres de la commission europeenne ca fait grincer des dents a bruxelles qui avait allĂ©ger les contraintes sur les modeles fondamentaux a la demande de Mistral qui menacait de de voir sâallier avec MS si ce nâĂ©tait pas le cas. Mistral Ă©tait un fer de lance des modeles open sources pour eviter les biais ils en garderont masi pas les modeles specialisĂ©s ou optimisĂ©s cela reste une bonne decisione conomique pour MistralInfinispan 15 est sorti https://infinispan.org/blog/2024/03/13/infinispan-15
JDK 17 Redis Hot Replacement donnant: multi thread, clustering, replication cross site, diff stores de persistence en disk, avoir des caches differentes en namespace diffĂ©rentes avec des rĂšgles appliquĂ©es Ă chaque cas dâusage Recherche Vectorielle et stockage des embeddings Integration avec Langchain (Python), Langchain4j, et Quarkus Langchain AmĂ©liorations du search, replication cross site, la console, tracing, lâOperateur Kubernetes ⊠Support du Protobuf 3 avec la release de Protostream 5 et meilleur API OutillageNe pas signer ses commits cryptographiquement ? https://blog.glyph.im/2024/01/unsigned-commits.html
Lâarticle cite comme seul avantage dâavoir le petit badge vert sur Github indiquant âvĂ©rifiĂ©â ResponsabilitĂ© future inconnue et potentiellement illimitĂ©e pour les consĂ©quences de lâexĂ©cution du code dans un commit que vous avez signĂ©. Renforcement implicite de GitHub en tant quâautoritĂ© de confiance centralisĂ©e dans le monde de lâopen source. Introduction de problĂšmes de fiabilitĂ© inconnus dans lâinfrastructure qui repose sur les signatures de commit. Une violation temporaire de vos identifiants GitHub entraĂźne dĂ©sormais des consĂ©quences potentiellement permanentes si quelquâun parvient Ă y introduire une nouvelle clĂ© de confiance. Nouveau type de surcharge de processus continu : les clĂ©s de signature de commit deviennent une nouvelle infrastructure permanente Ă gĂ©rer, avec de nouvelles questions comme « que faire des clĂ©s expirĂ©es », « Ă quelle frĂ©quence dois-je les renouveler », etc. on peut empecher de pousser des commits non signĂ©s SĂ©curitĂ©Des modĂšles avec des backdoors uploadĂ©s sur hugging faces non dĂ©tectĂ©. https://arstechnica.com/security/2024/03/hugging-face-the-github-of-ai-hosted-code-that-backdoored-user-devices/
par les chercheurs de JFrog Une centaine dĂ©tectĂ©s dont 10 malicieux Des tests de chercheurs mais un faisant un reverse ssh Sâappuye sur le format de serialisation pickle en python. Populaire mais connu comme dangereuxUne premiĂšre side attack channel sur les LLMs https://arstechnica.com/security/2024/03/hackers-can-read-private-ai-assistant-chats-even-though-theyre-encrypted/
cela sâappuie sur la taille des packets chiffrĂ©s envoyĂ©s et leur timing pour dĂ©tecter la longueur des tokens Ensuite un LLM spĂ©cialisĂ© reconstruit la suite de mots la plus probable vu la longueur Câest du Ă lâUX qui envoie les tokens au fil de lâeau Äâest facilement corrigeable en rendant les paquets de taille fixe et en ajoutant du hasard de dĂ©lai dâenvoie. Mais câest rigolo comment les LLMs peuvent amplifier les side channel attacks ArchitectureNetflix et Java https://www.infoq.com/presentations/netflix-java/
Netflix est un java shop La âstack NEtflixâ connue du public a beaucoup evoluĂ© Pleins de microservices Gen1: groovy en gateway front end for backend , RxJava et Histrix Gen2: GraphQL et GraphQL federĂ© ; plus de reactif sand dans la gateway Java 17 : 2800 apps java utilisent Azul JDK avait du Java 8 sur du guice et app custom utilisent G1, Java 17 = -20% CPU et Shenandoah pour la gateway Zuul Plans pour Java 21 (ZGC, virtual threads) apres speculatif Ils ont standardisĂ© sur Spring Boot il nây a pas si longtempsUn long article sur les microservices https://mcorbin.fr/posts/2024-02-12-microservice/
encore un me direz vous oui amis si vous etre en pleine crise existentielle avec votre equipe câest du mon materiel il va sur les points importants comme synchrone vs asynchrone, les patterns de communication, la copie de donnĂ©es, comment tester le âmonotitheâ ou plutot comment ne pas le faire etc câest un peu long mais ca recadre bien MĂ©thodologiesOpinion: est-ce quâon peut devenir dev Ă partir de 40 ans https://www.codemotion.com/magazine/dev-life/can-you-become-a-programmer-after-40/?utm_source=ActiveCampaign&utm_medium=email&utm_content=5+Frontend+Trends+we+Didn+t+See+Coming+in+2024&utm_campaign=NL_EN_240215+%28Copy%29&vgo_ee=sFCRn4bbw8NuvJwlxj4PgXiVS4eICnA1ZPdkH4DGKyhNNwh6NQ%3D%3D%3Au3g96%2Fz3Uf7kZHAF7tezy9Y0ZJ6paAsE
programmeur de CSS a 40 ans, je sais pas :stuck_out_tongue_winking_eye: lâauteur regrette les pubs pour devenir ev a 40 ansd facilement developpeur câest beaucoup de connaissance et de travail et doit etre un choix, pas un choix pas default ou facile ils decrit certains biais comme un 20 ans sans experience est plus pardonnĂ© quâĂ 40, le temps a y consacrĂ© est diffĂ©rent etc compensĂ© par des actes de motivation (GitHub, participation open source, meetups etc) mais le temps dâapprendre de ces erreurs nâas pas vraiment de court circuit bref une fonrmation câest bien mais aps suffisantNavigate your own way https://www.infoq.com/presentations/lessons-opportunities-carrier/
IBMer for 21 years. Iâm a Java champion RĂ©flĂ©chir Ă sa carriĂšre en mode time box, chercher sa promotion ? Tu peux dĂ©cider ton chemin Momentum pandĂ©mie ça lui a fait bcp rĂ©flĂ©chir sur sa vie et oĂč elle Ă©tait. Moment oĂč elle quittait IBM pour aller vers RH (cĆur se brise) Essentiels pour prendre ton propre chemin Se connaĂźtre soit mĂȘme, reconnaĂźtre les diffĂ©rences avec les autres connaĂźtre tes valeurs: câest quoi important pour toi, câest quoi qui te motive, ce qui te dĂ©motive. Ăcrire des mots Se fixer des objectifs avec lâaide des autres Repusher ses limites, sur des sujets dont tu penses que ce nâest pas possible pour toi Participe activement, entoure toi bien Un talk trĂšs personnel et inspirantUn article sur le trouble TDAH chez le dĂ©veloppeur adulte https://rlemaitre.com/fr/posts/2023/11/hacker-le-tdah-strat%C3%A9gies-pour-le-d%C3%A9veloppeur-moderne/
DiagnostiquĂ© Ă 44 ans SchĂ©ma dâinattention et dâhyperactivite/implusivite qui interfere avec le fonctionnement Affecte le fonctionnement social scolaire ou professionnel Non diagnistiquĂ©: burn out anxiĂ©tĂ© ou depression Souvent non diagnostiquĂ© jusquâĂ ce que se propres enfants soient diagnostiquĂ©s Mais cela amĂšne du positif: hyperfocus, resolution creative de problĂšmes, adaptation rapide aux changements qui sont du pain bĂ©ni Le nĂ©gatif câest la gestion du temps, organisation, instabilitĂ© Discute ensuite les phĂ©nomĂšnes dans le cerveau Et donne des techniques et des piĂšges Ă Ă©viter Vous avez sĂ»rement des collĂšgues TDAH ou lâĂȘtes-vous meme ConfĂ©rencesLa liste des confĂ©rences provenant de Developers Conferences Agenda/List par AurĂ©lie Vache et contributeurs :
14-15 mars 2024 : pgDayParis - Paris (France) 17-18 mars 2024 : Cloud Native Rejekts EU 2024 - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native StartupFest Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19 mars 2024 : PaaS Forward by OVHcloud | Rancher by SUSE - Paris (France) 19-21 mars 2024 : CloudNativeHacks - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France) 22-23 mars 2024 : Agile Games France - Valence (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 27 mars 2024 : La Conf Data | IA - Paris (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France) 4 avril 2024 : SoCraTes Rennes 2024 - Rennes (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 8 avril 2024 : Lyon Craft - Lyon (France) 9 avril 2024 : Unconf HackYourJob - Lyon (France) 11 avril 2024 : CI/CDay - Paris (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 22 avril 2024 : React Connection 2024 - Paris (France) 23 avril 2024 : React Native Connection 2024 - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 3-4 mai 2024 : Faiseuses Du Web 3 - Dinan (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22-25 mai 2024 : Viva Tech - Paris (France) 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) 28-29 mai 2024 : Symfony Live Paris - Paris (France) 1 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 7 juin 2024 : Fork it! Community - Rouen (France) 11-12 juin 2024 : OW2con - Paris (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 13-14 juin 2024 : Agile Tour Toulouse - Toulouse (France) 14 juin 2024 : DevQuest - Niort (France) 18 juin 2024 : Tech & Wine 2024 - Lyon (France) 19-20 juin 2024 : AI_dev: Open Source GenAI & ML Summit Europe - Paris (France) 19-21 juin 2024 : Devoxx Poland - Krakow (Poland) 27 juin 2024 : DotJS - Paris (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (France) 8-10 juillet 2024 : Riviera DEV - Sophia Antipolis (France) 6 septembre 2024 : JUG Summer Camp - La Rochelle (France) 19-20 septembre 2024 : API Platform Conference - Lille (France) & Online 2-4 octobre 2024 : Devoxx Morocco - Marrakech (Morocco) 7-11 octobre 2024 : Devoxx Belgium - Antwerp (Belgium) 10 octobre 2024 : Cloud Nord - Lille (France) 10-11 octobre 2024 : Volcamp - Clermont-Ferrand (France) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 16 octobre 2024 : DotPy - Paris (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 17-18 octobre 2024 : DotAI - Paris (France) 6 novembre 2024 : Master Dev De France - Paris (France) 7 novembre 2024 : DevFest Toulouse - Toulouse (France) 8 novembre 2024 : BDX I/O - Bordeaux (France) Nous contacterPour 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/ -
Enregistré le 27 février 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-307.mp3
InterviewLes Cast Codeurs accueillent deux invités spéciaux pour explorer un aspect crucial de la carriÚre informatique : comment conserver la passion, la créativité et le plaisir au fil du temps.
Holly Cummins et Mark JaneHolly Cummins
Mark JaneHolly Cummins est dans lâopen-source depuis 20 ans. Elle est Java Champion et JavaOne Rock Star. Elle a co-Ă©crit le livre âEnterprise OSGi in Actionâ chez Manning et a prĂ©sentĂ© des confĂ©rences dans divers Ă©vĂ©nements renommĂ©s tels que JavaOne, Devoxx, et JAX London. Elle travaille chez Red Hat en 2024, et contribue principalement sur Quarkus.
Mark Jane, est un acteur accompli et improvisateur chevronnĂ© depuis 1994. Il rejoint la troupe Eux en 2016, jouant dans le spectacle Bio Ă Paris, et Pilote et Chaos en 2024. Il a Ă©crit le livre âJeux et enjeux: La boĂźte Ă outils de lâimprovisation thĂ©atraleâ.
Les deux naviguent leur carriÚre avec passion, créativité et fun depuis +20 ans.
Naviguer sa carriĂšre professionnelle avec passion, crĂ©ativitĂ© et fun sur le long termeDans ce podcast, Holly et Mark partagent leurs conseils et expĂ©riences uniques, dĂ©couvrant de nombreux points communs malgrĂ© lâapparente disparitĂ© entre leurs deux professions.
Nous contacterPour 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/ -
Dans cet Ă©pisode, Katia, Emmanuel et Arnaud explorent de nouvelles approches du Builder pattern en Java, lâintroduction du Pattern Matching Primitives dans Java, et les dĂ©boires de lâintelligence artificielle avec des attaques de la chaĂźne dâapprovisionnement sur Pytorch. Ils abordent aussi les licenciements dans diverses entreprises technologiques, lâĂ©volution du trafic de Stackoverflow et donnent de conseils pratiques pour les dĂ©veloppeurs, notamment sur les commits conventionnels, la mise Ă jour de dĂ©pendances avec Dependabot, Renovate et le dĂ©boggage des programmes Java. Ils terminent avec leur retour dâexpĂ©rience sur la relecture des sujets de Devoxx France 2024.
Enregistré le 9 février 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-306.mp3
Votre avis compte Ă©normĂ©ment pour nous ! đ§ Nous voulons rendre Les Cast Codeurs encore plus genial, et câest lĂ que vous intervenez. đ Aidez-nous en partageant vos idĂ©es, suggestions et souhaits pour 2024, dans notre tout nouveau formulaire de retour. Câest rapide, facile et ça ne prend que 2 minutes.
News LangagesUne approche différente du Builder pattern en Java, inspirée par ce qui se fait dans la communauté Golang https://glaforge.dev/posts/2024/01/16/java-functional-builder-approach/
Les builders, surtout quand ils sont imbriquĂ©s les uns dans les autres, peuvent devenir un peu verbeux Ă lire Est-ce quâon peut prendre une nouvelle approche ? Oui, en tirant parti des lambdas, avec des mĂ©thodes de mutation qui retournent des lambda qui effectuent la mutation On retrouve le plaisir de pouvoir construire une instance Ă lâaide dâun constructeur, plutĂŽt quâun builder En recherchant le sujet, Guillaume est aussi tombĂ© sur une approche type safe du builder classique https://www.endoflineblog.com/type-safe-builder-pattern-in-java-and-the-jilt-library (qui est implĂ©mentĂ©e sous forme dâannotation processor dans le petit projet open source Jilt)Pattern Matching Primitives (JEP 455) https://openjdk.org/jeps/455
UniformitĂ© autorisant le pattern de type pour tous les types, quâils soient primitifs ou de rĂ©fĂ©rence et sĂ©curitĂ© dans la conversion de types et Ă©viter les erreurs runtime pour les conversions de type. Plus de robustesse
Ca lâexplique bien ici. Les deux https://www.infoq.com/news/2024/02/java-enhances-pattern-matching/
Exemple:
Avant
if (i >= -128 && i -
Cet Ă©pisode news discute de langages, de bibliothĂšques, dâintelligence artificielle bien sĂ»r et mĂȘme de Web. Et puis de challenge Java et mĂȘme de PĂšre NoĂ«l !
Enregistré le 12 janvier 2024
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-305.mp3
NewsRIP Niklaus Wirth https://en.wikipedia.org/wiki/Niklaus_Wirth
Informaticien Suisse Conception des langages ALGOL, Modula-2 et⊠Pascal Plusieurs distinctions: Turing 1984, John Von Neumann 1994. Depuis 1987 un prix crĂ©Ă© Ă son honneur Plusieurs livres dont Algorithms + Data Structures = Programs 1976 La Loi de Wirth: La beautĂ© dâun programme rĂ©side dans la clartĂ© de sa structure. Niklaus Wirth a toujours prĂŽnĂ© la simplicitĂ©, la lisibilitĂ© et la comprĂ©hensibilitĂ©. Approche pragmatiquehttps://recording.zencastr.com/lescastcodeurs/news-305
LangagesLâenfer sur terre: equals and hashCode pour les entitĂ©es JPA. Tout le monde a un avis, faire le sien est compliquĂ© - https://vladmihalcea.com/hibernate-facts-equals-and-hashcode/ - https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/ - https://vladmihalcea.com/the-best-way-to-implement-equals-hashcode-and-tostring-with-jpa-and-hibernate/ - https://jpa-buddy.com/blog/hopefully-the-final-article-about-equals-and-hashcode-for-jpa-entities-with-db-generated-ids/
Kotlin va tâil dĂ©clinĂ© en 2025, faute dâinnovation et avec les nouvelles features de Java ? https://shiftmag.dev/kotlin-vs-java-2392/
Selon lâauteur, dâautres langages alternatifs pour la JVM ont dĂ©clinĂ©, comme Groovy et Scala Lâauteur pense quâil y aura de moins en moins de diffĂ©renciants par rapport Ă Java, et Kotlin nâa pas rajoutĂ© de fonctionnalitĂ©s significatives depuis un an ou deuxComment enlever des accents et autres marques diacritiques dans des chaines de caractĂšres en Java https://glaforge.dev/posts/2024/01/url-slug-or-how-to-remove-accents-in-java/
Pour les URLs dâun blog post, par exemple, on souhaite avoir le titre dans lâURL, mais de maniĂšre URL-friendly, donc sans accents, en remplaçant les espaces par des tirets, etc Guillaume propose une approche basĂ©e sur la normalisation de chaine unicode et les expressions rĂ©guliĂšres Mais il Ă©voque Ă©galement la librairie Slugify qui est en plus capable de faire de la translitĂ©ration (pour transformer aussi des idĂ©ogrammes et autre caractĂšres non-ASCII)Les âgatherersâ de JDK 22 https://blog.soebes.io/posts/2024/01/2024-01-07-jdk-gatherer/
Nous avons mentionnĂ© rĂ©cemment le JEP 461 pour Java 22 : Stream Gatherers, qui sera en preview Permet de faire des choses qui Ă©taient un peu compliquĂ©es Ă faire avec lâAPI stream avant, comme par exemple implĂ©menter des fenĂȘtres glissantes sur les donnĂ©es du stream Lâarticle parle des diffĂ©rentes capacitĂ©s des gatherers, avec un Integrator, un Initializer et un Finisher, et enfin un Combiner, avec diffĂ©rents exemples de code pour les illustrer LibrairiesLe fonds tech souverain dâorigine allemande sponsorise le dĂ©veloppement de Log4J https://www.sovereigntechfund.de/news/log4j-investment
3 contributeurs pourront bosser dessus Ă temps plein permet de sĂ©curiser le dĂ©veloppement du projet rĂ©action Ă lâimpact de la CVE Log4shell qui avait bien marquĂ© les esprits et fait bosser plein de gens le weekend pour tout patcher ! CloudLe glossaire de la Cloud Native Foundation a Ă©tĂ© traduit en Français https://glossary.cncf.io/fr/
WebSortie de Vue.JS 3.4 https://blog.vuejs.org/posts/vue-3-4
le parseur de composants (SFC) est 2x plus rapide amĂ©lioration du systĂšme de rĂ©activitĂ© en particulier pour les propriĂ©tĂ©s âcomputedâ (recalculĂ©es) le namespace JSX deprecated a Ă©tĂ© supprimĂ© CĂ©dric Exbrayat de NinjaSquad couvre Ă©galement les nouveautĂ©s dans cet article https://blog.ninja-squad.com/2023/12/29/what-is-new-vue-3.4/Astro JS 4.1 https://astro.build/blog/astro-410/
DĂ©couverte de ce FW grĂące Ă Petipois https://medium.com/front-end-weekly/create-a-website-using-astro-in-2024-f5963003c19c Astro est le framework web pour la construction de sites web axĂ©s sur le contenu tels que les blogs, le marketing et le commerce Ă©lectronique. Astro est surtout connu pour ĂȘtre le pionnier dâune nouvelle architecture frontend afin de rĂ©duire la surcharge et la complexitĂ© de JavaScript par rapport aux autres frameworks Architecture en âAstrot Islandsâ (interface en composants isolĂ©s) SSG et SSR (Static Site Generator ey Server Side Rendering) 0 Javascript si tu veux Tu utilises React, Angular ou Vue pour tes composants Lis plus ici : https://kinsta.com/fr/blog/astro-js/React Ă 10 ans⊠et lĂ ma dĂ©couverte de React Server Components https://www.joshwcomeau.com/react/server-components/#introduction-to-react-server-components-3
âAt a high level, React Server Components is the name for a brand-new paradigm. In this new world, we can create components that run exclusively on the server.â LâidĂ©e est de nâest pas faire des composants entiers en react dans le backend, et de nâest pas dĂ©lĂ©guer aux rendering client pour ces composantsPrĂ©dictions 2024 https://thenewstack.io/2024-predictions-by-javascript-frontend-framework-maintainers/
Angular: Optional Zone.JS Next.js (nouveau compilateur, + backend ?) React: adoption de React Server Components, SPA ne suffit pas. React auto-memorizing (useCallback/useMemo deprecate) Solid 2.0 viendra aprĂšs SolidStart (framework web) Data et Intelligence ArtificielleRetour dâexperience sur faire du RAG avec des LLMs https://x.com/taranjeetio/status/1742587923189596531?s=20
Gunnar Morling a lancé le 1 billion row challenge : https://www.morling.dev/blog/one-billion-row-challenge/
LâidĂ©e est de calculer le min / max, la moyenne, de tempĂ©ratures, indiquĂ©es ligne par ligne dans un Ă©norme fichier Il y a Ă©normĂ©ment de contributions. Les plus rapides ont utilisĂ© des memory mapped files, ou bien des instructions SIMD Le challenge Ă©tait en pur Java, mais dâautres personnes ont tentĂ© lâexpĂ©rience avec diverses bases de donnĂ©es ou autres langages de programmationDidier Girard parle de Shadow AI https://www.linkedin.com/posts/didiergirard_shadowai-genai-gouvernance-activity-7150031627006464000-IF1G/
Comme on a parlĂ© de âshadow ITâ Ă une Ă©poque, la nouvelle ombre du jour, câest lâintelligence artificielle Pour ĂȘtre plus productifs, les employĂ©s utilisent lâIA, sans forcĂ©ment le dire Ă leur employeur Le problĂšme Ă©tant quâavec certains systĂšme dâIA, les donnĂ©es que vous envoyĂ©es peuvent ĂȘtre sauvegardĂ©es et utilisĂ©es pour rĂ©-entrainer lâIA⊠et potentiellement, lâIA pourrait recracher verbatim du texte provenant de ces donnĂ©es Ă dâautres utilisateurs. DâoĂč une brĂšche dans la sĂ©curitĂ© des donnĂ©es de lâentrepriseAppel de fonction avec le LLM Gemini de Google https://glaforge.dev/posts/2023/12/22/gemini-function-calling/
Les Large Language Model sont limitĂ©s par les connaissances quâils ont acquises lors de leur entrainement Une approche possible pour se baser sur une base documentaire est dâutiliser lâapproche Retrieval Augmented Generation (RAG) oĂč lâon utilise une base de donnĂ©es vectorielle pour rĂ©cupĂ©rer des passages de texte qui correspondent Ă la requĂȘte demandĂ©e Mais il existe aussi une approche intĂ©ressante qui permet dâappeler des systĂšmes externes (APIs, service local, etc) en permettant au LLM de savoir quâil peut rĂ©pondre Ă une demande donnĂ©e en se basant sur lâappel dâune fonction. Dans cette approche, le LLM rĂ©pond quâil faudrait appeler une fonction (par exemple pour connaitre la mĂ©tĂ©o Ă Paris) et il indique quels paramĂštres passer (âParisâ). Le dĂ©veloppeur ensuite appel cette fonction et retourne le rĂ©sultat de lâinvocation au LLM, qui va ensuite pouvoir gĂ©nĂ©rer du texte avec ces donnĂ©es. Câest lâapproche âfunction callingâ qui permet dâĂ©tendre Ă un LLM pour lui donner accĂšs Ă des donnĂ©es live, derriĂšre une API, etc MĂ©thodologiesUne video sur le pĂšre NoĂ«l et la pensĂ© critique de la Tronce en Biais https://youtu.be/tqlYKO_asFw?si=g1Fq5OfCvQONNb2i
VidĂ©o interessante pour comprendre comment nous, dans la tech, on peut tomber facilement sur des croyances qui sont doutantes si on dĂ©veloppe pas lâesprit critique. Le pĂšre NoĂ«l, vĂ©ritable complot planĂ©taire des adultes, magasins, mĂ©dias ⊠dâun mensonge Un enfant qui essaie dâappliquer le procĂ©dĂ© Ă©pistĂ©mologique, il nâa pas dâautre source pour vĂ©rifier que le pĂšre noĂ«l nâexiste pas, tous ses sources fiables duquel il apprend le monde (parents, profs, medias, histoires, medias) valident que le pĂšre noĂ«l existe. Expliquer les incoherences par la magie, câest quelque chose de complĂ©ment banal dans lâunivers dâun enfant Ă qui on parle en permanence de magie La dĂ©couverte de la mensonge aux alentours de 7 ans, lâage de la raison, est une bonne opportunitĂ© pour aborder lâesprit critique avec les enfants Loi, sociĂ©tĂ© et organisationEU AI Act cheat sheet https://www.linkedin.com/posts/yann-lecun_eu-ai-act-cheat-sheet-understand-activity-7139980837013331971-TDqI?utm_source=share&utm_medium=member_ios
Les entreprises vont avoir 1 ou 2 ans pour sây conformer Basics: Definition de lâAI, extraterritorialitĂ©, exceptions (oss, r&D, mais aussi dĂ©fense âŠ), classification par niveaux de risks (Prohibited > High Risk > Limited Risk > Minimal Risk) Prohibited: Biometrique, social credit scoring, detection dâemotions, renforcement des lois basĂ©es sur lâidentification biometrique en public High (des rĂ©gles sont dĂ©finies pour controler ces usages: transparence, qualitĂ©, risque âŠ): Le matĂ©riel mĂ©dical, les vĂ©hicules, lâĂ©ducation, les Ă©lections, ⊠General: Transparence et informationChatGPT nâest pas un super mĂ©decin https://x.com/drhughharvey/status/1736308984288563550?s=46&t=C18cckWlfukmsB_Fx0FfxQ
ces dâutilisation ChatGPT en copilote Trop de non dĂ©terminisme dans les rĂ©ponses Ă la mĂȘme question 41% des rĂ©ponses dans le consensus mĂ©dical 7% dangereuse Faire du rag nâa montĂ© que de quelques pourcents 5Transcription de la confĂ©rence donnĂ©e PGConf EU par Laetitia Avrot et Karen Jex (expertes Postgresql): Trying to be Barbie in Kenâs Mojo Dojo Casa House https://karenjex.blogspot.com/2023/12/trying-to-be-barbie-in-kens-mojo-dojo.html
Il sâagit dâune confĂ©rence en sociologie. En sociologie, il suffit que quelque chose soit vrai pour la majoritĂ© des cas pour ĂȘtre considĂ©rĂ© comme une vĂ©ritĂ©, car cela repose sur des statistiques. Sujet donnĂ© pour susciter de lâattention sur un problĂšme qui existe bien dans la tech. Elles ont rĂ©alisĂ© que la grande majoritĂ© de la population nâen Ă©tait pas consciente (barbie)! Le film Barbie les a fait comprendre quâelles doivent expliquer ce Ă quoi les femmes sont confrontĂ©es au quotidien, afin que les autres puissent comprendre Ă quel point cela peut ĂȘtre Ă©puisant. TrĂšs bien documentĂ© avec bcp de liens et rĂ©fĂ©rences au delĂ de lâexpĂ©rience personnelle Transcription et slides dans lâarticle Lien entre film Barbie et la place des femmes dans la tech. IdĂ©es non neuves mais cela a Ă©tĂ© un impact Les biais en gĂ©nĂ©ral ne sont pas particuliers Ă un genre, sont globales. Test sur les biais implicites Il existe un dĂ©ficit de talents technologiques (estimĂ© atteindre de 1,4 million Ă 3,9 millions de personnes dâici 2027 dans les pays de lâUE-27), qui pourrait potentiellement ĂȘtre comblĂ© en doublant la proportion de femmes dans le secteur technologique. Cependant, la part des femmes dans les rĂŽles technologiques connaĂźt sa plus basse reprĂ©sentation dans les domaines en pleine croissance tels que DevOps et le cloud. plus de la moitiĂ© des femmes quittent lâindustrie technologique 10 Ă 20 ans aprĂšs le dĂ©but de leur carriĂšre, soit le double du taux des hommes. (manque dâopportunitĂ©s, difficultĂ©s face aux biais, se sentir comme une outsider etcâŠ) La part des femmes dans les rĂŽles technologiques en Europe risque de diminuer pour atteindre 21% dâici 2027. Solutions: roles modĂšles, combattre nos biais (si on ne les reconnait pas, on ne peut pas le combattre), mentoring, faire attention Ă donner de la voix etcâŠNew York Times porte plainte Ă open ai https://www.bbc.com/news/technology-67826601
rĂ©clame des billions en copy right, suit aussi Microsoft et Bing qui utilise open ai on peut trouver des extraits des articles avec suscription disponibles Si on demande Ă chat gpt sur des news actuelles, reprend des explications tirĂ©s du NYT sans le mentionner Sur bing on peut trouver aussi des extraits sans citer ni linker la source ConsĂ©quences pour NYT: moins dâaccĂšs Ă leur site, moins de consultations, moins des clicks, chute des suscriptions, pertes monĂ©taires importantes RĂ©ponse de OpenAI au NYT https://openai.com/blog/openai-and-journalism We collaborate with news organizations and are creating new opportunities Training is fair use, but we provide an opt-out because itâs the right thing to do âRegurgitationâ is a rare bug that we are working to drive to zero The New York Times is not telling the full story Outils de lâĂ©pisodeUserscripts https://github.com/quoid/userscripts: extension pour changer le CSS et JS des sites dans votre navigateur
Rubrique dĂ©butantGuillaume a publiĂ© 2 âcodelabsâ pour dĂ©marrer sur LangChain4J, en utilisant le LLM PaLM de Google https://glaforge.dev/posts/2023/12/18/get-hands-on-codelabs-to-dabble-with-llms/
Ces 2 tutoriels pratiques permettent de dĂ©couvrir les deux modĂšles text et chat de PaLM DiffĂ©rentes tĂąches sont illustrĂ©es pour faire de simples questions/rĂ©ponses, de simples chat, mais aussi comment extraire des donnĂ©es structurĂ©es dâun texte, comment faire de la classification (avec un exemple dâanalyse de sentiment)Google Summer of Code - appel aux projets https://summerofcode.withgoogle.com/
ConférencesLa liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 1 février 2024 : AgiLeMans - Le Mans (France) 6 février 2024 : DevFest Paris - Paris (France) 8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 21 mars 2024 : IA & Data Day Strasbourg - Strasbourg (France) 22-23 mars 2024 : Agile Games France - Valence (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 28-30 mars 2024 : DrupalCamp Roazhon - Rennes (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (France) 17-19 avril 2024 : Devoxx France - Paris (France) 18-20 avril 2024 : Devoxx Greece - Athens (Greece) 22 avril 2024 : React Connection 2024 - Paris (France) 23 avril 2024 : React Native Connection 2024 - Paris (France) 25-26 avril 2024 : MiXiT - Lyon (France) 25-26 avril 2024 : Android Makers - Paris (France) 8-10 mai 2024 : Devoxx UK - London (UK) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 22-25 mai 2024 : Viva Tech - Paris (France) 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) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 11-12 juin 2024 : OW2con - Paris (France) 12-14 juin 2024 : Rencontres R - Vannes (France) 14 juin 2024 : DevQuest - Niort (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (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) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) 6 novembre 2024 : Master Dev De France - Paris (France) Nous contacterPour 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/ -
Dans cet Ă©pisode, Katia, Arnaud et Emmanuel discutent les nouvelles de cette fin 2023. Le gatherer dans les stream Java, les exceptions, JavaScript dans la JVM, recherche vectorielle, coĂ»t du cloud, Gemini, Llama et autres animaux fantastiques et pleins dâoutils sympathiques pour fĂȘter la fin de lâannĂ©e.
Enregistré le 15 décembre 2023
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-304.mp3
NewsAide Les Cast Codeurs et remplis un petit formulaire pour nous guider lâannĂ©e prochaine https://lescastcodeurs.com/sondage
LangagesAvec JEP 461, arrivĂ©e dans en preview dans Java 22 de la notion de âgathererâ pour les streams https://groovy.apache.org/blog/groovy-gatherers
dans cet article de Paul King, de lâĂ©quipe Groovy, il montre et contraste ce que lâon pouvait faire en Groovy depuis des annĂ©es, comme des sliding windows, par exemple explique lâapproche des gatherers avec ses opĂ©rations intermĂ©diaires gatherer sont des operations intermediaires custom qui prennent un etat et le prochain element pour decided quoi faire, et meme changer le stream dâelements suivants (en publier) (via la fonction integrate certains peuvent permettre de combiner les resultats intermediaires (pour paralleliser) Examples : fenetres de taille fixe, fenettres glissantesJoe Duffy, qui est CEO de Pulumi, mais qui avait travaillĂ© chez Microsoft sur le project Midori (un futur OS repensĂ©) parle du design des exceptions, des erreurs, des codes de retour https://joeduffyblog.com/2016/02/07/the-error-model/
Il compare les codes dâerreurs, les exceptions, checked et non-checked il separe les bugs des erreurs attendues (bugs doivent arreter le process) il raconte lâhistoire des unchecked exception et leurs problemes et des checked exceptopns et poourquoi les developeurs java les detestent (selon lui) long article maisn interessant dans ses retours mais lon je ne suis pas allĂ© au bout :smile:AprĂšs la disparition de Nashorn dans le JDK, on peut se tourner vers le projet Javet https://www.caoccao.com/Javet/index.html
Javet permet dâintĂ©grer JavaScript avec le moteur V8 Mais aussi carrĂ©ment Node.js câest super comme capacitĂ© car on a les deux mielleurs moteurs, par contre le support hors x86 est plus limitĂ© (genre arm sous windows câest non) LibrairiesUne partie de lâĂ©quipe Spring se fait lourder aprĂšs le rachat effectif de Broadcom https://x.com/odrotbohm/status/1729231722498425092?s=20
peu dâinfo en vrai Ă part ce tweet mais lâacquisition Broadcome nâa pas lâair de se faire dans le monde des bisounoursMarc Wrobel annonce la sortie de JBanking 4.2.0 https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0
support de Java 21 possibilitĂ© de gĂ©nĂ©rer alĂ©atoirement des BIC amĂ©lioration de la gĂ©nĂ©ration dâIBAN jbanking est une bibliotheque pour manipuler des structures typiques des banques comme les IBAN les BIC, les monnaies, les SEPA etc.Hibernate Search 7 est sorti https://in.relation.to/2023/12/05/hibernate-search-7-0-0-Final/
Support ElasticSearch 8.10-11 et openSearch 2.10-11 RebasĂ© sur Lucerne 9.8 support sur Amazon OpenSearch Serverless (experimental) attention sous ensemble de fonctionnalitĂ©s sur Serverless, câest un API first search cluster vendu a la lambda En lien aussi sur la version 7.1 alpha1Hibernate ORM 6.4 est sorti https://in.relation.to/2023/11/23/orm-640-final/
support pour SoftDelete (colonne marquant la suppression) support pour les operations vectorielles (support postgreSQL initialement) les fonctions vectorielles sont particuliĂšrement utilisĂ©es par lâIA/ML Ă©vĂ©nement spĂ©cifiques JFRIntĂ©gration de citrus et Quarkus pour les tests dâintĂ©grations de pleins de protocoles et formats de message https://quarkus.io/blog/testing-quarkus-with-citrus/
permet de tester les entrees / sorties attendues de systÚmes de messages (HTTP, Kafka, serveur mail etc) top pour tester les application Event Driven pas de rapport mais Quarkus 3.7 ciblera Java 17 (~8% des gens utilisaient Java 11 dans les builds qui ont activé les notifications)Hibernate Search 7.1 (dev 7.1.0.Alpha1) avec derniÚre version de Lucene (9.8), Infinispan rajoute le support pour la recherche vectorielle.
https://hibernate.org/search/releases/7.1/ https://infinispan.org/blog/2023/12/13/infinispan-vector-search Hibernate Search permet maintenant la recherche vectorielle La derniÚre version est intégrée en Infinispan 15 (dev) qui sortira La recherche vectoriolle et stockage de vecteurs, permettent convertir Infinispan en Embedding Store (langchain) CloudComment choisir sa region cloud https://blog.scottlogic.com/2023/11/23/conscientious-cloud-pick-your-cloud-region-deliberately.html
pas si simple le coĂ»t la securitĂ© lĂ©gale de vos donnĂ©es la consommation carbone de la rĂ©gion choisie (la France est top, la Pologne moins) la latence vs oĂč sont vos clients les services supportĂ©s WebVers une standardisation des Webhooks ? https://www.standardwebhooks.com/
Des gens de Zapier, Twilio, Ngrok, Kong, Supabase et autres, se rejoignent pour essayer de standardiser lâapproche des Webhooks La spec est open source (Apache) sur Github https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md Les objectifs sont la sĂ©curitĂ©, la reliabilitĂ©, lâinteropĂ©rabilitĂ©, la simplicitĂ© et la compatibilitĂ© (ascendante / descendante) sans la spec, chaque webhook est different dans son comportement et donc les clients doivent sâadapter dans la sematique et les erreurs etc la (meta-) structure de la payload, la taille, la securisation via signature (e.g. hmac), les erreurs (via erreurs HTTP), etc Data et Intelligence ArtificielleGoogle annonce Gemini, son nouveau Large Language Model https://blog.google/technology/ai/google-gemini-ai/#sundar-note
modĂšle multimodal qui peut prendre du texte, en entrĂ©e, mais aussi des images, du son, des vidĂ©os dâaprĂšs les benchmarks, il est largement aussi bon que GPT4 plusieurs tailles de modĂšles disponible : Nano pour ĂȘtre intĂ©grĂ© aux mobiles, Pro qui va ĂȘtre utilisĂ© dans la majeure partie des cas, et Ultra pour les besoins de rĂ©flexion les plus avancĂ©s Android va rajouter aussi des librairies AICore pour utiliser Gemini Nano dans les tĂ©lĂ©phones Pixel https://android-developers.googleblog.com/2023/12/a-new-foundation-for-ai-on-android.html Gemini Pro va ĂȘtre disponible dans Bard (en anglais et dans 170 pays, mais lâEurope va devoir attendre un petit peu pour que ce soit dispo) Gemini Ultra devrait aussi rejoindre Bard, dans une version Ă©tendue https://blog.google/products/bard/google-bard-try-gemini-ai/ Gemini va ĂȘtre intĂ©grĂ© progressivement dans plein de produits Google DeepMind parlant de Gemini https://deepmind.google/technologies/gemini/#introduction Un rapport de 60 pages sur Gemini https://storage.googleapis.com/deepmind-media/gemini/gemini_1_report.pdf Gemini a permis aussi de pouvoir dĂ©velopper une nouvelle version du modĂšle AlphaCode qui excelle dans les compĂ©titions de coding https://storage.googleapis.com/deepmind-media/AlphaCode2/AlphaCode2_Tech_Report.pdf Liste de petites vidĂ©os sur YouTube avec des interviews et dĂ©monstrations des capacitĂ©s de Gemini https://www.youtube.com/playlist?list=PL590L5WQmH8cSyqzo1PwQVUrZYgLcGZcG malheureusement certaines des annonces sont un peu fausse ce qui a amenĂ© un discrĂ©dit (non du) sur Gemini par exemple la video âaspirationelleâ Ă©tait vendue comme du rĂ©el mais ce nâest pas le cas. et ultra nâest pas disponible encore ausso la comparaison de ChatGPT sur la page (initialement au moins) comparait des choux et des carottes, meme si le papier de recherche Ă©tait correctAvec la sortie de Gemini, Guillaume a Ă©crit sur comment appeler Gemini en Java https://glaforge.dev/posts/2023/12/13/get-started-with-gemini-in-java/
Gemini est multimodĂšle, donc on peut passer aussi bien du texte que des images, ou mĂȘme de la vidĂ©o Il y a un SDK en Java pour interagir avec lâAPI de GeminiFacebook, Purple Llama https://ai.meta.com/blog/purple-llama-open-trust-safety-generative-ai/
Opensource https://ai.meta.com/llama/ dans lâoptique des modeles GenAI ouverts, Facebook fournit des outils pour faire des IA responsables (mais pas coupables :wink: ) notament des benchmarks pour evaluler la suretĂ© et un classifier de suretĂ©, par exemple pour ne pas generer du code malicieux (ou le rendre plus dur) llama purple sera un projet parapluie Dâailleurs Meta IBM, Red Hat et pleins dâautres ont annoncĂ© lâAI Alliance pour une AI ouverte et collaborative entre acadĂ©mique et industriels. Sont notammenrt absent Google, OpenAI (pas ouvert) et Microsoft Juste une annouce pour lâinstant mais on va voir ce que ces acteurs de lâAI Alliance feront de concret il y a aussi un guide dâutilisateur lâusage IA responsable (pas lu)Apple aussi se met aux librairies de Machine Learning https://ml-explore.github.io/mlx/build/html/index.html
MLX est une librairie Python qui sâinspire fortement de NumPy, PyTorch, Jax et ArrayFire Surtout, câest dĂ©veloppĂ© spĂ©cifiquement pour les Macs, pour tirer au maximum parti des processeurs Apple Silicon Dans un des repos Github, on trouve Ă©galement des exemples qui font tourner nativement sur macOS les modĂšles de Llama, de Mistral et dâauters https://github.com/ml-explore/mlx-examples non seulement les Apple Silicon amis aussi la memoire unifiee CPU/GPU qui est une des raisons clĂ©s de la rapiditĂ© des macsFaire tourner Java dans un notebook Jupyter https://www.javaadvent.com/2023/12/jupyter-notebooks-and-java.html
Max Andersen explore lâutilisation de Java dans les notebooks Jupyter, au lieu du classique Python il y a des kernels java selon vos besoins mais il faut les installer dans la distro jupyter quâon utilise et câest la que jbang installable via pip vient a la rescousse il installe automatiquement ces kernels en quelques lignes OutillageSfeir liste des jeux orientĂ©s dĂ©veloppeurs https://www.sfeir.dev/tendances/notre-selection-de-jeux-de-programmation/
parfait pour NoĂ«l mais câest pour ceux qui veulent continuer a challenger leur cerveau aprĂšs le boulot jeu de logique, jeu de puzzle avec le code comme forme, jeu autour du machine learning, jeu de programmation assembleurLes calendriers de lâAvent sont populaires pour les dĂ©veloppeurs ! En particulier avec Advent of Code https://adventofcode.com/
Mais il y a aussi lâAdvent of Java https://www.javaadvent.com/ Ou un calendrier pour apprendre les bases de SVG https://svg-tutorial.com/ Le calendrier HTML âhellâ https://www.htmhell.dev/adventcalendar/ qui parle dâaccessibilitĂ©, de web components, de balises meta, de toutes les choses quâon peut trĂšs bien faire en HTML/CSS sans avoir besoin de JavaScript Pour les dĂ©veloppeurs TypeScript, il y a aussi un calendrier de lâAvent pour vous ! https://typehero.dev/aot-2023Un super thread de Clara Dealberto sur le thĂšme de la âdatavizâ (data visualization) https://twitter.com/claradealberto/status/1729447130228457514
Beaucoup dâoutil librement accessibles sont mentionnĂ©s pour faire toutes sortes de visualisations (ex. treemap, dendros, sankeyâŠ) mais aussi pour la cartographie Quelques ressources de site qui conseillent sur lâutilisation du bon type de visualisation en fonction du problĂšme et des donnĂ©es que lâon a notemment celui du financial time qui tiens dans une page de PDF Bref câest cool mais câest long a lireUne petite liste dâoutils sympas - jc pour convertir la sortie de commandes unix en JSON https://github.com/kellyjonbrazil/jc - AltTab pour macOS pour avoir le mĂȘme comportement de basculement de fenĂȘtre que sous Windows https://alt-tab-macos.netlify.app/ - gron pour rendre le JSON grep-able, en transformant chaque valeur en ligne ressemblant Ă du JSONPath https://github.com/tomnomnom/gron - Marker, en Python, pour transformer des PDF en beau Markdown https://github.com/VikParuchuri/marker - n8n un outil de workflow open source https://n8n.io/
gron en fait montre des lignes avec des assignments genre jsonpath = value et tu peux ungroner apres pour revenir a du json Marker utilise du machine learning mais il halklucine moins que nougat (nous voilà rassuré)Docker acquiert Testcontainers https://techcrunch.com/2023/12/11/docker-acquires-atomicjar-a-testing-startup-that-raised-25m-in-january/
Annonce par AtomicJar https://www.atomicjar.com/2023/12/atomicjar-is-now-part-of-docker/ Annonce par Docker https://www.docker.com/blog/docker-whale-comes-atomicjar-maker-of-testcontainers/ ArchitectureComment implémenter la reconnaissance de chanson, comme Shazam https://www.cameronmacleod.com/blog/how-does-shazam-work
il faut dâabord passer en mode frĂ©quence avec des transformĂ©es de Fourrier pour obtenir des spectrogrammes puis crĂ©er une sorte dâempreinte qui rassemble des pics de frĂ©quences notables Ă divers endroits de la chanson dâassocier ces pics pour retrouver un enchainement de tels pics de frĂ©quence dans le temps lâauteur a partagĂ© son implĂ©mentation sur Github https://github.com/notexactlyawe/abracadabra/blob/e0eb59a944d7c9999ff8a4bc53f5cfdeb07b39aa/abracadabra/recognise.py#L80 Il y avait Ă©galement une trĂšs bonne prĂ©sentation sur ce thĂšme par Moustapha Agack Ă DevFest Toulouse https://www.youtube.com/watch?v=2i4nstFJRXU les pics associĂ©s sont des hash qui peut etre comparĂ©s et le plus de hash veut dire que les chansons sont plus similaires MĂ©thodologiesUn mĂ©mo de chez ThoughtWorks Ă propos du coding assistĂ© par IA https://martinfowler.com/articles/exploring-gen-ai.html#memo-08
Avec toute une liste de questions Ă se poser dans lâutilisation dâun outil tel que Copilot Il faut bien rĂ©aliser que malheureusement, une IA nâa pas raison Ă 100% dans ses rĂ©ponses, et mĂȘme plutĂŽt que la moitiĂ© du temps, donc il faut bien mettre Ă jour ses attentes par rapport Ă cela, car ce nâest pas magique La conclusion est intĂ©ressante aussi, en suggĂ©rant que grosso modo dans 40 Ă 60% des situations, tu peux arriver Ă 40 Ă 80% de la solution. Est-ce que câest Ă partir de ce niveau lĂ quâon peut vraiment gagner du temps et faire confiance Ă lâIA ? Ne perdez pas trop de temps non plus Ă essayer de convaincre lâIA de faire ce que vous voulez quâelle fasse. Si vous nây arrivez pas, câest sans doute parce que lâIA nây arrivera mĂȘme pas elle mĂȘme ! Donc au-delĂ de 10 minutes, allez lire la doc, chercher sur Google, etc. notamment, faire genrer les tests par lâIA dans al foulĂ©e augmente les risques surtout si on nâest pas capable de bien relire le code si on introduit un choix de pattern genre flexbox en CSS, si câest sur une question de sĂ©curiter, vĂ©rifier (ceinture et bretelle) est-ce le framework de la semaine derniĂšre? Lâinfo ne sera pas dans le LLM (sans RAG)Quelles capacitĂ©s sont nĂ©cessaires pour dĂ©ployer un projet AI/ML https://blog.scottlogic.com/2023/11/22/capabilities-to-deploy-ai-in-your-organisation.html
Câest le MLOps et il y a quelques modĂšles end to end Google, IBM mais vu la diversitĂ© des organisations, câest difficile a embrasser ces versions completes ML Ops est une mĂ©tier, data science est un metier, donc intĂ©grer ces competences sachez gĂ©rer votre catalogue de donnĂ©es Construire un process pour tester vos modĂšles et continuellement La notion de culture de la recherche et sa gestion (comme un portefeuille financier, accepter dâarrĂȘter des experience etc) la culture de la recherche est peu prĂ©sente en engineering qui est de construire des choses qui foncitonnent câest un monde pre LLMVous connaissez les 10 dark patterns de lâUX ? Pour vous inciter Ă cliquer ici ou lĂ , pour vous faire rester sur le site, et plus encore https://dodonut.com/blog/10-dark-patterns-in-ux-design/
Parmi les dark patterns couverts Confirmshaming Fake Urgency and the Fear of Missing Out Nagging Sneaking Disguised Ads Intentional Misdirection The Roach Motel Pattern Preselection Friend Spam Negative Option Billing or Forced Continuity Lâarticle conclut avec quelques pistes sur comment Ă©viter ces dark patterns en regardant les bons patterns de la concurrence, en testant les interactions UX, et en applicant beaucoup de bon sens ! les dark patterns ne sont pas des accidents, ils sâappuient sur la psychologie et sont mis en place specifiquementComment choisir de belles couleurs pour la visualisation de donnĂ©es ? https://blog.datawrapper.de/beautifulcolors/
PlutĂŽt que de penser en RGB, il vaut mieux se positionner dans le mode Hue Saturation Brightness Plein dâexemples montrant comment amĂ©liorer certains choix de couleurs Mieux vaut Ă©viter des couleurs trop pures ou des couleurs trop brillantes et saturĂ©es Avoir un bon contraste Penser aussi aux daltoniens ! jâai personnellement eu toujours du mal avec saturationm vs brightness faire que les cloueirs en noir et blanc soient separees evant de le remettre (en changeant la brightness de chaque couleur) ca aide les daltoniens eviter les couleurs aux 4 coins amis plutot des couleurs complementaires (proches) rouge orange et jaune (non saturĂ©) et variations de bleu sont pas mal les couleurs saturĂ©es sont aggressives et stressent les gensPourquoi vous devriez devenir Engineering Manager? https://charity.wtf/2023/12/15/why-should-you-or-anyone-become-an-engineering-manager/
Lâarticle parle de lâĂ©volution de la perception de lâengineering management qui nâest plus dĂ©sormais le choix de carriĂšre par dĂ©faut pour les ingĂ©nieurs ambitieux. Il met en Ă©vidence les dĂ©fis auxquels les engineering managers sont confrontĂ©s, y compris les attentes croissantes en matiĂšre dâempathie, de soutien et de compĂ©tences techniques, ainsi que lâimpact de la pandĂ©mie de COVID-19 sur lâattrait des postes de management. Lâimportance des bons engineering mnanagers est soulignĂ©e, car ils sont considĂ©rĂ©s comme des multiplicateurs de force pour les Ă©quipes, contribuant de maniĂšre significative Ă la productivitĂ©, Ă la qualitĂ© et au succĂšs global dans les environnements organisationnels complexes. Lâarticle fournit des raisons pour lesquelles quelquâun pourrait envisager de devenir Engineering Manager, y compris acquĂ©rir une meilleure comprĂ©hension de la façon dont les entreprises fonctionnent, contribuer au mentorat et influencer les changements positifs dans la dynamique des Ă©quipes et les pratiques de lâindustrie. Une perspective est prĂ©sentĂ©e, suggĂ©rant que devenir Engineering manager peut conduire Ă la croissance personnelle et Ă lâamĂ©lioration des compĂ©tences de vie, telles que lâautorĂ©gulation, la conscience de soi, la comprĂ©hension des autres, lâĂ©tablissement de limites, la sensibilitĂ© Ă la dynamique du pouvoir et la maĂźtrise des conversations difficiles. Lâarticle encourage Ă considĂ©rer la gestion comme une occasion de dĂ©velopper et de porter ces compĂ©tences pour la vie. SĂ©curitĂ©LogoFAIL une faille du bootloader de beaucoup de machines https://arstechnica.com/security/2023/12/just-about-every-windows-and-linux-device-vulnerable-to-new-logofail-firmware-attack/
en gros en changeant les eimages quâon voit au boot permet dâexecuter du code arbitraire au tout debuit de la securisation du UEFI (le boot le plus utilisĂ©) donc câest game over parce que ca demarre avant lâOS câest pas une exploitation a distance, il faut etre sur la machine avec des droits assez elevĂ©s deja mais ca peut etre la fin de la chaine dâattaque et comme dâhab un interpreteur dâimage est la cause de ces vulnerabilitĂ©s ConfĂ©rencesLâIA au secours de confĂ©rences tech: rajoute des profile tech femme comme speaker au programme pour passer le test diversitĂ© online via des profiles fake. https://twitter.com/GergelyOrosz/status/1728177708608450705 https://www.theregister.com/2023/11/28/devternity_conference_fake_speakers/ https://www.developpez.com/actu/351260/La-conference-DevTernity-sur-la-technologie-s-e[âŠ]s-avoir-cree-de-fausses-oratrices-generees-automatiquement/
jâavais lu le tweet du createur de cette conf qui expliquait que câetait des comptes de tests et que pris dans le rush ils avaient oubliĂ© de les enlever mais en fait les comptes de tests ont des profils âActifsâ sur le reseaux sociaux apparemment donc câĂ©tait savamment orchestrĂ© Au final beaucoup de speakers et des sponsors se desengagentLa liste des confĂ©rences provenant de Developers Conferences Agenda/List par AurĂ©lie Vache et contributeurs :
31 janvier 2024-3 février 2024 : SnowCamp - Grenoble (France) 1 février 2024 : AgiLeMans - Le Mans (France) 6 février 2024 : DevFest Paris - Paris (France) 8-9 février 2024 : Touraine Tech - Tours (France) 15-16 février 2024 : Scala.IO - Nantes (France) 6-7 mars 2024 : FlowCon 2024 - Paris (France) 14-15 mars 2024 : pgDayParis - Paris (France) 19 mars 2024 : AppDeveloperCon - Paris (France) 19 mars 2024 : ArgoCon - Paris (France) 19 mars 2024 : BackstageCon - Paris (France) 19 mars 2024 : Cilium + eBPF Day - Paris (France) 19 mars 2024 : Cloud Native AI Day Europe - Paris (France) 19 mars 2024 : Cloud Native Wasm Day Europe - Paris (France) 19 mars 2024 : Data on Kubernetes Day - Paris (France) 19 mars 2024 : Istio Day Europe - Paris (France) 19 mars 2024 : Kubeflow Summit Europe - Paris (France) 19 mars 2024 : Kubernetes on Edge Day Europe - Paris (France) 19 mars 2024 : Multi-Tenancy Con - Paris (France) 19 mars 2024 : Observabiity Day Europe - Paris (France) 19 mars 2024 : OpenTofu Day Europe - Paris (France) 19 mars 2024 : Platform Engineering Day - Paris (France) 19 mars 2024 : ThanosCon Europe - Paris (France) 19-21 mars 2024 : IT & Cybersecurity Meetings - Paris (France) 19-22 mars 2024 : KubeCon + CloudNativeCon Europe 2024 - Paris (France) 26-28 mars 2024 : Forum INCYBER Europe - Lille (France) 28-29 mars 2024 : SymfonyLive Paris 2024 - Paris (France) 4-6 avril 2024 : Toulouse Hacking Convention - Toulouse (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) 16-17 mai 2024 : Newcrafts Paris - Paris (France) 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) 2 juin 2024 : PolyCloud - Montpellier (France) 6-7 juin 2024 : DevFest Lille - Lille (France) 6-7 juin 2024 : Alpes Craft - Grenoble (France) 27-28 juin 2024 : Agi Lille - Lille (France) 4-5 juillet 2024 : Sunny Tech - Montpellier (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) 10-11 octobre 2024 : Forum PHP - Marne-la-Vallée (France) 17-18 octobre 2024 : DevFest Nantes - Nantes (France) Nous contacterPour 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/ -
Ce qui a commencé comme un crowdcast a fini en interview de Julien Viet sur Vert.x 4.5.
Enregistré le 23 novembre 2023
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-303.mp3
Interview Ta vie ton oeuvre (prĂ©sentation de lâinterviewĂ©)Le site de Julien Viet
Vert.x 4.5
X (ancien twitter)Vert.X 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/
support des thread virtuels qui permet dâĂ©crire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des Ă©vĂ©nements le code put faire des future await qui ne bloqueront pas le thread principal connection SQL dynamique: quand le host change dynamiquement dans lâapplication support des proxies de niveau 7 pour les clients SQL rotation certificats a chaud des builders (HTTP, SQL connection) extensions pour utiliser les coroutines kotlin Nous contacterPour 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/
-
Dans cet Ă©pisode, Emmanuel, Guillaume et Katia abordent les nouveautĂ©s Java, le lancement du langage Misty par Douglas Crockford, lâarrivĂ©e de WasmGC dans Chrome, la sortie de Spring Framework 6.1, des Ă©volutions dans les bibliothĂšques comme Vert.x 4.5, et des conseils sur la crĂ©ation de langages de programmation. LâĂ©pisode couvre Ă©galement des actualitĂ©s dans les domaines de lâinfrastructure avec le premier ordinateur cloud commercial par Oxide, des annonces sur les frameworks web comme Angular v17, des rĂ©flexions sur les architectures monolithiques versus microservices, et sans oublier le soap OpĂ©ra du moins de novembre avec OpenAI en vedette.
Enregistré le 23 novembre 2023
TĂ©lĂ©chargement de lâĂ©pisode LesCastCodeurs-Episode-302.mp3
News LangagesRecap Javaiste https://www.infoq.com/news/2023/10/java-news-roundup-oct09-2023
la JEP 454 sur lâappel a la memoire et les API dites natives passera en target pour JDK 22 avec une façon dâajouter les appels de mĂ©thodes restreintes sans le flag --enable-native-access (via un manifeste dans le JAR) JDK 22 prĂ©vu pour mars 2024 Spring Framework 6.1 est sorti (RC2) Tomcat a quelques CVE donc mettez Ă jourDouglas Crockford, le papa de JSON, sort un nouveau langage dĂ©nommĂ© Misty https://www.crockford.com/misty/
Utilise des caractĂšres unicodes pour dĂ©finir des chaĂźnes de caractĂšres avec des chevrons, ou pour les opĂ©rateurs de base (comparison, and/or) Support de programmation concurrente avec les actorsWasmGC arrive dans Chrome, par lâintermĂ©diaire de v8 https://v8.dev/blog/wasm-gc-porting
historiquement il fallait compiler le port du langage lui meme (et donc son GC) Maintenant on peut compiler le code (java) dans des primitives Wasm et WasmGC Java python et co ont des VM qui sont compilĂ©es pour toutes les architecture cibles (ARM, x86 etc) y compris le JIT, AOT donc on peut dĂ©finir comme backend WASM lui meme, câest lâapproche classique WasmGC dĂ©finit des structs et des array avec des champs dans lesquels on peut crĂ©er des instances, lire/Ă©crire les champs, caster dans dâautres types et ces objects sont managĂ©s par WasmGC lui meme. on a un systĂšme de type du coup et des relations entre ces types Donc on reprĂ©senterait les objets Java en objets Wasm avantage et inconvenient des deux approches tous les codes de management dâobjets ne sont plus nĂ©cessaires (y compris malloc) -> gain memoire en mode GC dans le langage les liens object langage objets Wasm sont inefficaces car le lien langage -> wasm dĂ©finissent lâinstance entiĂšre Wasm, donc des gros cycles dâobjets ne sont pas GCed Wasm sandbox empĂȘche dâinspecter la stack et dâĂ©liminer des objets plus efficacement, et il nây a pas dâAPI pour aider donc seul WasmGC peut utiliser cet avantage. un seul GC a des avantages: meilleure gestion de la pression memoire mais on rĂ©utilise le GC du web (genre V8) vs celui de Java. (câest moins un problĂšme pour les autres langages avec des gc moins sophistiquĂ©s) fragmentation memoire, est plus proĂ©minent quand on a des modules de type C qui peur garder des gros blocs memoire âquasi videâ (opaque). câest managĂ© plus finement en WasmGC SĂ©mantiques de langage est plus dur a achevĂ© vu quâon map en concepts WasmGC, il y a de la transformation. sĂ©mantiques chaine de caractĂšre, nombres, etc peuvent ĂȘtre un peu ajustĂ© un port utilisant WasmGC nâest pas une rĂ©Ă©criture de tout mais un gros morceau de la VM du langage cible est a rĂ©Ă©crire WasmGC peut optimiser comme les patterns en JVM mais en WasmMVP câest la toolchain avant qui fait le travail dâoptimisation (e.g. LLVM) donc avec WasmGC, la toolchain fera les optimisations de langage et WasmGC fera les optimisations low level (inlining, constant propagation, dead code elimination) puis dâautres optimisation specific a WasmGC comme les escape analysis, et ils parlent dâoptimisations dans V8 pour approcher les appels dynamique a la Java (pas dĂ©fini a la compilation)Ecrire un langage de programmation⊠ça prend du temps⊠beaucoup de temps https://yorickpeterse.com/articles/a-decade-of-developing-a-programming-language/
Ăvitez le gradual typing Ăvitez le boostrapping de votre compilateur Ăvitez dâĂ©crire votre propre gĂ©nĂ©rateur de code, linker, etc Ăvitez de tergiverser trop longtemps sur la syntaxe La prise en charge multiplateforme est un dĂ©fi Les livres sur les compilateurs compilateurs ne valent pas lâargent que vous dĂ©penserez dessus Faire grandir et Ă©voluer un langage de programmation est difficile La meilleure suite de tests est une application rĂ©elle Ne privilĂ©giez pas les performances sur les fonctionnalitĂ©s. LibrairiesSpring Boot rajoute le hot reload des certificats SSL pour embedded Netty et Tomcat https://spring.io/blog/2023/11/07/ssl-hot-reload-in-spring-boot-3-2-0
utilisez reload-on-update: true et écoute les changements de fichiers pas mal dans les déploiements non immuables (pas comme kubernetes)VertX 4.5 est sorti https://vertx.io/blog/whats-new-in-vert-x-4-5/
support des thread virtuels qui permet dâĂ©crire le code synchrone pour des cas complexes et utiliser les thread locaux dans ces cas la. Cela ne remplacement pas le code de process des Ă©vĂ©nements le code put faire des future await qui ne bloqueront pas le thread principal connection SQL dynamique: quand le host change dynamiquement dans lâapplication support des proxies de niveau 7 pour les clients SQL rotation certificats a chaud des builders (HTTP, SQL connection) extensions pour utiliser les coroutines kotlinIntegration declarative de Langchain4j dans Quarkus https://quarkus.io/blog/quarkus-meets-langchain4j/
InfrastructureOxide sort le premier ordinateur cloud disponible commercialement https://oxide.computer/blog/the-cloud-computer
pas facile de sĂ©parer le buzz de la rĂ©alitĂ© on dirait un ordi purpose built avec lâefficience et le cote compact en tete ils poussent contre le mode location uniquement des cloud providers en gros inspire des cloud providers qui construisent leurs propres ordis (et meme CPUs maintenant !) construit le hardware et le software en co optimisation câest un rack entier, peu de bruit de ventilateur pas de cable (seul E/S du rack) donc ils ont leurs propres switch compliquĂ© de diffĂ©rencier lâavantage du dĂ©savantageLes leçons tirĂ©es de 20 de Site Reliability Engineering par Google https://sre.google/resources/practices-and-processes/twenty-years-of-sre-lessons-learned/
Le risque dâune mitigation doit ĂȘtre proportionnĂ© Ă la gravitĂ© de la panne Les mĂ©canismes de rĂ©cupĂ©ration doivent ĂȘtre entiĂšrement testĂ©s avant une urgence Canarisez tous les changements Avoir un âgros bouton rougeâ Les tests unitaires ne suffisent pas, des tests dâintĂ©gration sont Ă©galement nĂ©cessaires CANAUX DE COMMUNICATION ! ET CANAUX DE SECOURS !! ET DES SAUVEGARDES POUR CES CANAUX DE SECOURS !!! Modes de dĂ©gradation intentionnelle des performances Tester la rĂ©silience aux catastrophes Automatisez vos mitigations RĂ©duisez le temps entre les dĂ©ploiements, afin de diminuer la probabilitĂ© que le dĂ©ploiement tourne mal Une seule version matĂ©rielle globale est un point de dĂ©faillance uniqueKarpenter une evolution de autoscaler pour les cluster kubernetes https://blog.ippon.fr/2023/11/07/mettez-a-lechelle-vos-clusters-kubernetes-de-maniere-efficace-et-faites-des-economies-avec-karpenter/
fonctionne uniquement pour AWS aujourdâhui et un projet AWS donc a voir la portabilitĂ© permet dâajouter ou de supprimer des noeuds au cluster kubernetes en dynamique pour right sizer ses clusters bypass les API kube pour la creation dâinstance et utilise les APIs AWS EC2 directement permet des noeuds hĂ©tĂ©rogĂšnes (pas homogĂšne comme autoscaler) et se right size rapidement (e.g. 30s pour Ă©teindre un noeud) besoin dâapplis cloud native par elles vont ĂȘtre baladĂ©es WebDeno! https://www.infoq.com/news/2023/10/deno-jupyter-integration
Dev experience, jupyter notebook integration AmĂ©liorations sur Visual Studio Code extension (compatible avec NodeJS) Exec native sur Jupyter de javascript et typescript permet dâeffectuer des analyses de donnĂ©es, construire des modĂšles dâapprentissage automatique et gĂ©nĂ©rer des rapports interactifs avec Deno Visualisation dynamiques avec D3 dans le notebook Connection Ă Deno KV Plusieurs amĂ©liorations sur le testing, APIs etcLancement du nouveau site angular.dev et de la version v17 du framework https://blog.angular.io/announcing-angular-dev-1e1205fa3039
nouvelle doc, nouveaux tutoriels, et bac Ă sable un nouveau logo aussi mais cette version v17 est la continuation dâAngular, pas une toute nouvelle version qui casse tout le nouveau âcontrol flowâ devient GA, et propose des conditionals (if, elseâŠ) https://blog.angular.io/meet-angulars-new-control-flow-a02c6eee7843 le blog dâAngular mentionne les nouveautĂ©s, au-delĂ du revamp de la documentation https://blog.angular.io/introducing-angular-v17-4d7033312e4b CĂ©dric Exbrayat mets les mains dans le cambouis et couvre les nouveautĂ©s techniques dans le blog des Ninja Squad https://blog.ninja-squad.com/ Et les nouveautĂ©s aussi du cĂŽtĂ© de la CLI https://blog.ninja-squad.com/2023/11/09/angular-cli-17.0/ beaucoup de focus sur lâapprentissage et la manipulation concrete avec le bac a sable et les tutoriaux le site lui meme est maintenant open source (il ne lâĂ©tait pas avant?) le logo est nouveau et adaptable par les communautĂ©s OutillageIl est possible de signer et notariser des applications pour macOS sur des machines non-Apple https://gregoryszorc.com/blog/2022/08/08/achieving-a-completely-open-source-implementation-of-apple-code-signing-and-notarization/
implémenté en Rust pratique pour son pipeline CI/CD basé sur Linux a priori, il y a des outils similaires pour le monde Windows, qui permet de signer sur une machine non-Windows https://github.com/mtrojnar/osslsigncodeLors de son Github Universe, Copilot fait le show ! https://github.blog/2023-11-08-universe-2023-copilot-transforms-github-into-the-ai-powered-developer-platform/
Copilot Chat sera GA en dĂ©cembre, il utilise GPT4, il permet de guider le dĂ©veloppeur, de gĂ©nĂ©rer du code, de dĂ©tecter des erreurs et aide Ă les corriger, dâexpliquer le code IntĂ©gration Ă venir de Copilot Chat dans les IDEs de JetBrains Copilot Chat va ĂȘtre intĂ©grer sur github.com et dans lâappli mobile aussi Introduction de GitHub Copilot Enterprise pour les sociĂ©tĂ©s, qui permettra de spĂ©cialisĂ© le modĂšle sur le code de lâentreprise IntĂ©gration de Copilot ans Workspace, donc quand on voudra adresser un bug, crĂ©er un pull request, Copilot pourra nous aider Ă©tape par Ă©tape, suggĂ©rer un plan dâaction Copilot Enterprise permettra de faire des recherches avec le contexte entier du code de lâentreprise, donc idĂ©alement meilleur que le focus sur un repo de CopilotUn guide sur OpenRewrite https://feeds.feedblitz.com//819402521/0/baeldungA-Guide-to-OpenRewrite
permet de refactorer le code via des rĂšgles mise a jour de dependences, enlever usage dâapi dĂ©prĂ©ciĂ©es, migration dâune bibliothĂšque a une autre, etc migration java, migration framework, transformations spĂ©cifiques a votre sociĂ©tĂ© OpenRewrite vient avec un Ă©cosystĂšme de recettes intĂ©gration via maven ou gradle la suite montre des examples de migrations ArchitectureArticle interessant sur Monolithe vs Microservices ! https://www.infoq.com/articles/monolith-versus-microservices/
Le dĂ©bat monolithe vs microservices. Les monolithes reviennent, par exemple spring-modulith https://spring.io/projects/spring-modulith Les microservices sont la solution Ă la complexitĂ© plutĂŽt que la cause de celle-ci. Toutes les applications deviendront complexes ; au-delĂ dâun certain point, les microservices nous aideront Ă gĂ©rer cette complexitĂ©. Les microservices comportent des coĂ»ts et des avantages. Si les avantages ne lâemportent pas sur les coĂ»ts, vous nâaurez pas une expĂ©rience positive avec les microservices. Nous pouvons arrĂȘter notre transition vers les microservices quelque part au milieu du spectre, ce que jâaime appeler le modĂšle hybride. Ă ce stade, nous pouvons avoir quelques gros services mĂ©langĂ©s Ă quelques petits services. Nous pouvons avoir le meilleur des deux mondes : la simplicitĂ© et la commoditĂ© du monolithe combinĂ©es Ă la flexibilitĂ© et Ă la scalabilitĂ© des microservices. Il nây a pas de choix binaire entre monolithique et microservices. En rĂ©alitĂ©, il existe un spectre de possibilitĂ©s entre les deux. Si vous vous ĂȘtes fixĂ© Ă lâune des extrĂ©mitĂ©s du spectre, vous passez Ă cĂŽtĂ© de la grande variĂ©tĂ© dâarchitectures intermĂ©diaires. Nous devrions cesser de parler de monolithe contre microservices et plutĂŽt avoir un dĂ©bat plus nuancĂ© sur la taille appropriĂ©e des services. les microservices mettent sur le devant de la scene la complexification du systĂšme, les monolithes le cachent sous le tapis les microservices permette de manager cette complexitĂ© automatisation est la clĂ©s dans lâadoption des microservices bien aligner son architecture et son domain ou alors la douleur arrive SĂ©curitĂ©Une explication de la CVE sur HTTP/2 https://quarkus.io/blog/cve-2023-44487/
en fonction de lâimplĂ©mentation, le risque est plus ou moins grand (de plus de CPU a un full DDOS) au cĆur du problĂšme est la capacitĂ© dâenvoyer pleins de requĂȘtes en parallĂšle sur le meme pipeline HTTP/2 les serveurs ont en general une limite au streams en parallĂšle (genre 100) la CVE est exploitĂ©e cote client en ouvrant et fermant rapidement une stream, câest plus lĂ©ger sur le client, le serveur a un delai dans sont processing ce qui permet de bypasser la limit et affamer les resources du serveur câes catastrophique en cas de one thread per request (thread starvation) en event loop, câest une queue plus grande (donc le cas de quarkus) pour mitiger, quarkus regarde le nombre de stream close requests par seconde pour dĂ©tecter les abus (200 requĂȘtes de fermeture sur une fetnetre de 30s) Data / IAElon Musk annonce son LLM, appelĂ© Grok https://x.ai/
ConnectivitĂ© en temps rĂ©el avec Twitter ! FenĂȘtre de contexte de 25k characters Le LLM garderait le contexte de la conversation (au lieu dâavoir Ă toujours renvoyer toute la discussion dans le contexte, Ă cause du cĂŽtĂ© sans Ă©tat des LLMs habituellement) Le style, la personnalitĂ©, du LLM, serait assez humoristique, voire carrĂ©ment sarcastique, Ă la Musk⊠et dĂ©jĂ sur Twitter une personne commentait en disant que câĂ©tait le LLM âanti-wokeâ Grok serait disponible pour les utilisateurs payants de TwitterOpenAI fait 4 nouvelles annonces https://openai.com/blog/new-models-and-developer-products-announced-at-devday
GPT-4 Turbo : leur dernier et plus puissant LLM. Il offre un contexte de 128k tokens, des prix plus bas et des quotas plus Ă©levĂ©s. 128k câest comme Claude Assistants API : une solution permettant de crĂ©er des mini assistants personnalisĂ©s et de les exposer via une API. Lâobjectif est de faciliter lâintĂ©gration des solutions GenAI dans les applications, avec des fonctionnalitĂ©s de gestion des conversations, dâinterprĂ©tation de code et de RAG. API pour DALLâąE 3 : un modĂšle de 3e gĂ©nĂ©ration pour la gĂ©nĂ©ration dâimages. GPTs : des versions personnalisĂ©es de ChatGPT, faciles Ă dĂ©velopper mĂȘme sans compĂ©tences en programmation. Une place de marchĂ© sera disponible pour monĂ©tiser ces âGPTsâ. Merci Didier et son X de rĂ©sumer un article plus complet de SFEIR https://www.sfeir.dev/ia/quand-lesprit-de-noel-sinvite-a-lopenai-devday/ Protection juridique en cas dâattaque de droits dâauteur Loi, sociĂ©tĂ© et organisationLes acteurs et la IA, deal pour arrĂȘter a grĂšve https://www.bbc.com/news/entertainment-arts-67364587
Les acteurs et les grands studios dâHollywood ont conclu un accord le 8 novembre pour mettre fin Ă une grĂšve qui a paralysĂ© la production de films et de sĂ©ries aux Ătats-Unis pendant plusieurs mois. Lâaccord prĂ©voit une nouvelle convention collective de trois ans pour les acteurs (hormis les vedettes, les acteurs nâarrivent pas Ă gagner leur vie avec le streaming) Revalorisation importante des salaires minimums ainsi que des des garde-fous contre le IA. Un systĂšme de primes pour les rediffusions en streaming. Double mouvement social historique : acteurs sont entrĂ©s en grĂšve mi-juillet, les scĂ©naristes depuis dĂ©but mai. La paralysie du secteur a coĂ»tĂ© au moins 6 milliards de dollars. Les acteurs craignaient que les studios utilisent lâIA pour cloner leur voix et leur image, les rĂ©utiliser Ă perpĂ©tuitĂ©, sans compensation ni consentement. Les conditions entourant les droits des studios sur lâimage des acteurs stars aprĂšs leur mort a Ă©tĂ© nĂ©gociĂ©.Chute de WeWork, dĂ©pĂŽt de bilan https://www.maddyness.com/2023/11/06/wework-impact-coworking-france/
La disparition annoncĂ©e du gĂ©ant mondial du coworking marque un tournant pour le secteur, y compris en France. AsphyxiĂ© par une dette de prĂšs de 3 milliards de dollars Chute interminable entamĂ©e en 2019 WeWork Ă©tait le leader mondial du secteur et, de par son statut de pionnier du coworking WeWork propose 15 Ă©tablissements en France, tous situĂ©s Ă Paris Pourtant la demande pour le coworking ne cesse dâexploser Startups domicilient leur siĂšge (Qonto par exemple) dans un espace de co-working Le modĂšle du coworking nâest pas remis en cause. WeWork, câest un phĂ©nomĂšne Ă part. Il y a eu une mauvaise gestion de dĂ©part dâune licorne qui croĂźt Ă toute vitesse, en ne faisant absolument pas attention Ă son modĂšle Ă©conomique de base (dit ClĂ©ment Alteresco CEO de Morning) Mauvaise publicitĂ© pour le marchĂ© et les concurrents, mais considĂšrent quâils vont sâen sortirLes français, les utilisateurs twitter le plus violents dâEurope? https://www.huffingtonpost.fr/france/article/les-francais-sont-les-utilisateurs-de-twitter-les-plus-violents-d-europe_225331.html#:~:text=2023%2023%3A57-,Les%20Fran%C3%A7ais%20sont%20les%20utilisateurs%20de%20Twitter%20les%20plus%20violents,âAllemagne%20et%20lâEspagne.
Les signalements de contenus, suppressions et suspensions pour propos violents et haineux au sein de X sont les plus nombreux en France, loin devant lâAllemagne et lâEspagne. 16.288 suppressions de messages contre 7.160 en Allemagne et 7.743 en Espagne X explique avoir une « Ă©quipe internationale et inter-fonctionnelle » de « modĂ©rateurs humains », qui travaillent « 24 heures sur 24 avec la capacitĂ© de couvrir plusieurs langues ».Sam Altman PDG dâOpenAI est dĂ©barquĂ© par son conseil de surveillance https://thealgorithmicbridge.substack.com/p/why-openai-fired-sam-altman-and-what
ça a surpris le monde la silicone valley dans lequel Altman est adulĂ©. N ancien cofondateur a aussi Ă©tĂ© Ă©cartĂ© Ă un poste pĂ©riphĂ©rique mais a dĂ©cidĂ© de quitter le navire. Câest du Ă des tensions dans la boĂźte entre la partie lucrative et non lucrative dâOpenAI. Le conseil travail pour une AI sĂ»re et pour le bien de lâhumanitĂ© Sam Altman avait fait prendre le virage for du business depuis quelques annĂ©es Il nâa selon le communiquĂ© pas Ă©tĂ© franc et transparent avec son conseil de surveillance. Microsoft qui a misĂ© sur ce cheval (OpenAI) nâĂ©tait pas au courant, ni la plupart des employĂ©s dâOpenAI Quelques employĂ©s de OpenAI ont dĂ©jĂ dĂ©missionnĂ© la reduction des recherches fondamentales vs la productization a jouĂ© un role surement Et il nâest pas le seul Ă partir https://x.com/hellokillian/status/1725797467315486902?s=46&t=GLj1NFxZoCFCjw2oYpiJpw Encore mieux que Dallas le board nĂ©gocie son retour au bout de 24h https://www.theverge.com/2023/11/18/23967199/breaking-openai-board-in-discussions-with-sam-altman-to-return-as-ceo Et le board saute: https://twitter.com/rowancheung/status/1726342477874102604?s=21&t=O1MqQ7XEw5hIAezn-npoQA Finalement, Satya Nadella annonce que Sam Altman et Greg Brockman rejoignent Microsoft dans une nouvelle Ă©quipe de recherche IA https://twitter.com/satyanadella/status/1726509045803336122 et finalement avec un nouveau board, Sam Altman retourne chez open AI https://x.com/sama/status/1727207458324848883?s=20Les groupes âResponsible AIâ chez Google, Microsoft et plus rĂ©cemment Meta https://www.theverge.com/2023/11/18/23966980/meta-disbanded-responsible-ai-team-artificial-intelligence?utm_source=substack&utm_medium=email sont dĂ©truits
meme dĂ©bat chez OpenAI en fait. difficile de comprendre les raisons, Ă part que la course sâest accĂ©lĂ©rĂ©e lâarticle site les gouvernements qui veulent rĂ©guler mais je ne comprends pas en quoi cela influence ConfĂ©rencesRetrouvez les confĂ©rences sur le site Developers Conferences Agenda/List par AurĂ©lie Vache.
Nous contacterPour 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/ -
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 LangagesGĂ©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 rappelTous 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âarticleJBang 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) LibrairiesQuarkus 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 InfrastructureOpenTF devient OpenTofu https://www.linuxfoundation.org/press/announcing-opentofu
Dans les Dockerfiles, on peut utiliser la notation âheredocsâ
-
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 21The 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 contacterPour 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/ -
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 LangagesApache 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 2015Java 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! LibrairiesSemantic 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 InfrastructureUne 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?
WebNodeJS 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 DataRedis 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/
ArchitectureArticle 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 GPUsMeta 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 negatifKubeflow 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Ă©thodologiesMeasuring 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.htmlEt 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 RyzenComment 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 organisationUne 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 facileHashiCorp 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/announcementStack 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Ă©rencesLa 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 contacterPour 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/ -
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 LangagesLa 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Ă©sGPT 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 GPT4Le 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Ă© â vraiInfoQ 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 LibrairiesSortie 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/
InfrastructureRed 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 distribuerSUSE 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 WebGoogle 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 2023Petite introduction Ă WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/
DataAvec 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 OutillageLe 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ĂšsDes 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 commandesLe 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
ArchitectureModerniser 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 cloudDemis 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Ă©thodologiesApprocher 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 organisationMercedes 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Ă©maFree 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 jeuLa 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 dommagesOctave 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Ă©ennesYann 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érencesLa 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 contacterPour 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/ -
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 LangagesLors 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 pafLes 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Ă© LibrairiesGuava 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 GoogleComment 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/ InfrastructureDebezium 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 EnterpriseUn 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 lirePost 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 CloudLe 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Ă© OutillagePodman 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 mockPourquoi 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âoeufSimplifier 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 javaagentLes 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 heuresJust, 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Ă©thodologiesAWS 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Ă©esUn 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 organisationMigration 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érencesAurelie 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 contacterPour 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/ -
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 2023Site 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 FoldArticle : 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 TabletArticle : 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 7aArticle : 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 AndroidArticle 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 MapsArticle : 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 PhotosArticle 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 LabsArticle : 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 WorkspaceArticle : 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 CloudIntĂ©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 WebArticle : 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 contacterPour 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/
-
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 LangagesUn 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 vendeursJava 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 dessusPDF 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Ă©esLâĂ©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 6Une 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 soleilMicronaut 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 Infrastructure5 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 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Ă©thodologiesTrends 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 organisationRed 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 2019Crazy 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=3545734110 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 fonctionsTwitter 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/@[email protected]/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 ouvertThe 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Ă©butantOn 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Ă©rencesUne 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 contacterPour 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/ - Näytä enemmän