LCC 318 - La faille sous la faille sous la faille
Manage episode 449096453 series 145405
Cet épisode est relativement pauvre en IA, ouaissssssss ! Mais il nous reste plein de Spring, plein de failles, plein d’OpenTelemetry, un peu de versionnage sémantique, une astuce Git et bien d’autres choses encore.
Enregistré le 8 novembre 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-318.mp3
News
Langages
Le créateur de FernFlower, un décompilateur qui a relancé l’outillage autour de Java 8, est mort, un hommage d’IntelliJ IDEA : https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/
- Les décompilateurs s’appuyaient sur des patterns reconnus et étaient fragiles et incomplets.
- Surtout quand Java 8 a changé le pattern try catch et ajouté des concepts comme les annotations.
- Le champ était moribond quand Stiver s’est lancé.
- Dommage l’article n’explique pas comment le control-flow graph est généré à partir du bytecode pour améliorer la décompilation.
Librairies
On peut maintenant utiliser Jakarta Data Repository dans Quarkus : https://in.relation.to/2024/11/04/data-in-quarkus/
- Petit article avec un projet example.
- Aussi un lien sur la presentation de Jakarta Data par Gavin à Devoxx Belgique.
Quarkus 3.16 : https://quarkus.io/guides/opentelemetry-logging
- Logs distribués avec OpenTelemetry (preview).
- Désérialisation Jackson sans reflection.
- Des améliorations dans la stack de sécurité.
- TLS registry a rajouté GraphQL client et Keycloak admin client.
- Les logs des container devservices et des access HTTP sont visibles dans la DevUI.
- Les extensions peuvent maintenant écrire leur doc en markdown (c’était juste AsciiDoc avant).
Un article sur comment débuter en Spring Batch : https://www.sfeir.dev/back/planifier-des-taches-avec-spring-batch/
Le support OAuth2 pour RestClient arrive dans Security 6.4 / Boot 3.4. Plus de hack de WebClient dans vos applications Spring-Web ! https://spring.io/blog/2024/10/28/restclient-support-for-oauth2-in-spring-security-6-4
RestClient
a été ajouté dans Spring Framework 6.1.- API Fluide.
- Spring Security 6.4 simplifie la configuration OAuth2 avec le nouveau client HTTP synchrone
RestClient
. RestClient
permet des requêtes de ressources sans dépendances réactives, alignant la configuration entre applications servlet et réactives.- La mise à jour facilite la migration depuis
RestTemplate
et ouvre la voie à des scénarios avancés.
Marre des microservices ? Revenez au monoliths avec Spring Modulith 1.3RC1, 1.2.5 et 1.1.10 : https://spring.io/blog/2024/10/28/spring-modulith-1-3-rc1-1-2-5-and-1-1-10-released
- Spring Modulith 1.3 RC1, 1.2.5, and 1.1.10 sont disponibles.
- La version 1.3 RC1 inclut des nouvelles fonctionnalités :
- archiving event publication completion mode,
- compatibilité avec MariaDB et Oracle avec JDBC-based event publication registry,
- possibilité d’externaliser des événements dans des MessageChannels de Spring,
- expressions SpEL dans
@Externalized
, - validation d’architecture technique jMolecules.
- Les versions 1.2.5 et 1.1.10 apportent des correctifs et mises à jour de dépendances.
Spring gRPC 0.1 est sorti : https://github.com/spring-projects-experimental/spring-grpc
- C’est tout nouveau et explorationel.
- Si c’est un problème qui vous gratte, ça vaut le coup de jeter un coup d’œil de participer.
- Spring Boot 3.3.
Intégrer Spring avec Open Telemetry (protocole OTLP) : https://spring.io/blog/2024/10/28/lets-use-opentelemetry-with-spring
- Rappel de la valeur de ce standard Open Telemetry.
- Comment l’utiliser dans vos projets Spring.
Comment utiliser Ollama avec Spring AI : https://spring.io/blog/2024/10/22/leverage-the-power-of-45k-free-hugging-face-models-with-spring-ai-and-ollama
- Permet d’accéder aux 45k modèles de Hugging faces qui supportent le déploiement sur Ollama.
- Il y a un Spring Boot starter.
- C’est vraiment bien pour débuter.
Cloud
Google Cloud Frankfort a subit 12h d’interruption : https://t.co/VueiQjhCA3
- Google Cloud a subi une panne de 12 heures dans la région
europe-west3
(Francfort) le 24 octobre 2024. - La panne, causée par une défaillance d’alimentation et de refroidissement, a affecté plusieurs services, y compris Compute Engine et Kubernetes Engine.
- Les utilisateurs ont rencontré des problèmes de création de VM, des échecs d’opérations et des retards de traitement.
- Google a conseillé de migrer les charges de travail vers d’autres zones.
- Il y a eu une autre zone Européenne pas mal affectée l’année dernière.
- Et des clients ont perdu des données :sweat:.
Web
La fin de la World Wild Web Foundation : https://www.theregister.com/2024/09/30/world_wide_web_foundation_closes/
- La Fondation World Wide Web ferme ses portes.
- Les cofondateurs estiment que les problèmes auxquels est confronté le Web ont changé et que d’autres groupes de défense peuvent désormais prendre le relais.
- Ils estiment également que la priorité absolue doit être donnée à la passion de Tim Berners-Lee pour redonner aux individus le pouvoir et le contrôle de leurs données et pour construire activement des systèmes de collaboration puissants (Solid Protocol : https://solidproject.org/).
Release de PatternFly 6 : https://www.patternfly.org/
- Framework open source pour faire de l’UI, sponsorisé par Red Hat.
- Intéressant à regarder.
Data et Intelligence Artificielle
TSMC a suspendu ses livraisons à Sophgo après la découverte d’une puce sur le processeur AI de Huawei https://www.reuters.com/technology/tsmc-suspended-shipments-china-firm-after-chip-found-huawei-processor-sources-2024-10-26/
- Taiwan Semiconductor Manufacturing Company (TSMC) a suspendu ses livraisons à Sophgo, un concepteur de puces chinois, après la découverte d’une puce fabriquée par TSMC dans un processeur AI de Huawei (Ascend 910B). Cette découverte soulève des préoccupations concernant des violations potentielles des contrôles d’exportation des États-Unis, qui restreignent Huawei depuis 2020.
- Sophgo, lié à Bitmain, a nié toute connexion avec Huawei et affirme se conformer aux lois applicables. Toutefois, l’incident a conduit à une enquête approfondie de TSMC et des autorités américaines et taïwanaises.
Open AI et Microsoft, de l’amour à la guerre : https://www.computerworld.com/article/3593206/microsoft-and-openai-good-by-bromance-hello-open-warfare.html
- On a bien suivi les chants d’amour entre Sam Altman et Satya Nadella.
- Ça s’est tendu ces derniers temps.
- Déjà avec le coup chez OpenAI où MS avait sifflé la fin de la récré.
- “on a le code, les données, l’IP et la capacité, on peut tout recrée”.
- OpenAI a un compétiteur de Copilot et essaie de courtiser ses clients.
- Les appétits d’investissements d’OpenAI et une dispute sur la valeur de la part de MS qui a donné des crédits cloud semble être au cœur de la dispute du moment.
Debezium 3 est sorti : https://debezium.io/blog/2024/10/02/debezium-3-0-final-released/
- Java 17 minimum pour les connecteurs et 21 pour le serveur, l’extension Quarkus outbox et l’opérateur,
- Nettoyage des dépréciations,
- Métriques par table maintenant,
- Support for mysql 9 y compris vector data type,
- Oracle, default mining strategy changée,
- Ehcache off-heap ajouté,
- amélioration diverses Oracle (offline RAC node flush, max string size for Extended),
- PostgreSQL PGVector,
- etc (Spanner, Vitess, …).
NotebookLlama, une version Open Source de NotebookLM : https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama
- Si vous avez été impressionné par les démos de Gemini Notebook, en créant des podcasts à partir de différentes resources, testez la version Llama.
- Tutoriel étape par étape pour transformer un PDF en podcast.
Outillage
Vous aimez Maven ? Bien évidemment ! Vous aimez Asciidoctor ? Absolument ! Alors la version 3.1.0 du plugin Asciidoctor pour Maven est pour vous !! https://github.com/asciidoctor/asciidoctor-maven-plugin
- Le plugin permet soit de convertir des documents asciidoc de manière autonome, soit de les gérer via le site maven.
GitHub Universe : de l’IA, de l’IA et encore de l’IA https://github.blog/news-insights/product-news/universe-2024-previews-releases/
- GitHub Universe 2024 présente les nouveautés de l’année, notamment la possibilité de choisir parmi plusieurs modèles d’IA pour GitHub Copilot (Claude 3.5, Gemini 1.5 Pro, OpenAI o1).
- Nouvelles fonctionnalités : GitHub Spark pour créer des micro-applications, révisions de code assistées par Copilot, sécurité renforcée avec Copilot Autofix.
- Simplification des workflows avec les extensions GitHub Copilot.
- Facilitation de la création d’applications IA génératives avec GitHub Models.
Méthodologies
Les blogs de développeurs experts Java recommandés par IntelliJ : https://blog.jetbrains.com/idea/2024/11/top-java-blogs-for-experienced-programmers/
- Pas forcément d’accord avec toute la liste.
- Mais elle donne de bonnes options si vous voulez lire plus de blogs Java.
Keycloak revient au semantic versioning après avoir suivi le versionnage à la Google Chrome : https://www.keycloak.org/2024/10/release-updates
- Ne pas savoir si une mise à jour était rétrocompatible était problématique pour les utilisateurs.
- Aussi les librairies clientes seront délivrées séparément et supporteront toutes les versions serveur de keycloak supportés.
Sécurité
Un exemple d’attaque de secure supply chain théorique identifiée dans le Quarkiverse et les détails de la résolution : https://quarkus.io/blog/quarkiverse-and-smallrye-new-release-process/
- Dans le Quarkiverse, les choses sont automatisées pour simplifier la vie des contributeurs d’extension occasionnels.
- Mais il y avait un défaut, les secrets de signature et d’accès à maven central étaient des secrets d’organisation.
- Ce qui veut dire qu’un éditeur d’extension malicieux pouvait écrire un plugin ou un test qui lisait ces secrets et pouvait livrer de faux artifacts.
- La solution est de séparer la construction des artifacts de l’étape de signature et de release sur maven central.
- Comme cela les clés ne sont plus accessible.
Avec Okta pus besoin de mot de passe quand tu as un identifiant long :face_with_hand_over_mouth: : https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/
- LOL !
- Une vulnérabilité a été découverte dans la génération de la clé de cache pour l’authentification déléguée AD/LDAP.
- Les conditions :
- MFA non utilisé,
- Nom d’utilisateur de 52 caractères ou plus,
- Utilisateur authentifié précédemment, créant un cache d’authentification,
- Le cache a été utilisé en premier, ce qui peut se produire si l’agent AD/LDAP était hors service ou inaccessible, par exemple en raison d’un trafic réseau élevé,
- L’authentification s’est produite entre le 23 juillet 2024 et le 30 octobre 2024.
- Fixé le 30 octobre 2024.
La revanche des imprimantes !! Linux ne les aime pas, et elles lui rendent bien. https://www.theregister.com/2024/09/26/cups_linux_rce_disclosed/
- Après quelques heures / jours de rumeurs sur une faille 9.9/10 CVSS, il s’avère que cela concerne que les systèmes avec le système d’impression CUPS et cups-browsed.
- Désactivez et/ou supprimez le service cups-browsed.
- Mettez à jour votre installation CUPS pour appliquer les mises à jour de sécurité lorsqu’elles sont disponibles.
- Envisagez de bloquer l’accès au port UDP 631 et également de désactiver le DNS-SD.
- Cela concerne la plupart des distributions Linux, certaines BSD, possiblement Google ChromeOS, Solaris d’Oracle et potentiellement d’autres systèmes, car CUPS est intégré à diverses distributions pour fournir la fonctionnalité d’impression.
- Pour exploiter cette vulnérabilité via internet ou le réseau local (LAN), un attaquant doit pouvoir accéder à votre service CUPS sur le port UDP 631. Idéalement, aucun de vous ne devrait exposer ce port sur l’internet public. L’attaquant doit également attendre que vous lanciez une tâche d’impression.
- Si le port 631 n’est pas directement accessible, un attaquant pourrait être en mesure de falsifier des annonces zeroconf, mDNS ou DNS-SD pour exploiter cette vulnérabilité sur un LAN.
Loi, société et organisation
La version 1.0 de la définition de l’IA l’Open Source est sortie : https://siliconangle.com/2024/10/28/osi-clarifies-makes-ai-systems-open-source-open-models-fall-short/
- L’Open Source Initiative (OSI) a clarifié les critères pour qu’un modèle d’IA soit considéré comme open-source : accès complet aux données de formation, au code source et aux paramètres d’entraînement.
- La plupart des modèles dits “open” comme ceux de Meta (Llama) et Stability AI (Stable Diffusion) ne respectent pas ces critères, car ils imposent des restrictions sur l’utilisation commerciale et ne rendent pas publiques les données de formation.
- c’est au details de données de formation (donc pas forcement les données elle même : “In particular, this must include: (1) the complete description of all data used for training, including (if used) of unshareable data, disclosing the provenance of the data, its scope and characteristics, how the data was obtained and selected, the labeling procedures, and data processing and filtering methodologies; (2) a listing of all publicly available training data and where to obtain it; and (3) a listing of all training data obtainable from third parties and where to obtain it, including for fee.”).
- C’est en echo à la version d’open source AI de la Linux Fondation.
En parlant de cela un article sur l’open source washing dans les modèles https://www.theregister.com/2024/10/25/opinion_open_washing/
- L’open washing désigne la pratique où des entreprises prétendent que leurs produits ou modèles sont open-source, bien qu’ils ne respectent pas les critères réels d’ouverture (transparence, accessibilité, partage des connaissances).
- De grandes entreprises comme Meta, Google et Microsoft sont souvent accusées d’utiliser cette stratégie, ce qui soulève des préoccupations concernant la clarté des définitions légales et commerciales de l’open source, surtout avec l’essor de l’IA.
Rubrique débutant
Un petit article fondamental sur REST : https://www.sfeir.dev/rest-definition/
- Thèse de Roy Fielding.
- En reaction aux protocoles lourds comme SOAP.
- 5 verbes (GET PUT, POST. DELETE, PATCH).
- JSON, mais pas que (XML et autre).
- Pas d’état inter-requêtes.
Ask Me Anything
Morgan de Montréal : Comment faire cohabiter plusieurs dépôts Git ?
Je m’explique : dans mon entreprise, nous utilisons notre dépôt Git (Bitbucket) configuré pour notre dépôt d’entreprise. Lorsque je souhaite contribuer à un projet open source, je suis obligé de modifier ma configuration globale Git (nom d’utilisateur, email) pour correspondre à mon compte GitHub. Il arrive souvent que, lorsque je reviens pour effectuer un commit sur le dépôt d’entreprise, j’oublie que je suis en mode “open source”, ce qui entraîne l’enregistrement de mes configurations “open source” dans l’historique de Bitbucket… Comment gérez-vous ce genre de situation ?
Comment gérer différents profils git : https://medium.com/@mrjink/using-includeif-to-manage-your-git-identities-bcc99447b04b.
Conférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 8 novembre 2024 : BDX I/O - Bordeaux (France)
- 13-14 novembre 2024 : Agile Tour Rennes 2024 - Rennes (France)
- 16-17 novembre 2024 : Capitole Du Libre - Toulouse (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)
- 21 novembre 2024 : Agile Game Toulouse - Toulouse (France)
- 27-28 novembre 2024 : Cloud Expo Europe - Paris (France)
- 28 novembre 2024 : OVHcloud Summit - Paris (France)
- 28 novembre 2024 : Who Run The Tech ? - Rennes (France)
- 2-3 décembre 2024 : Tech Rocks Summit - Paris (France)
- 3 décembre 2024 : Generation AI - Paris (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)
- 5 décembre 2024 : GraphQL Day Europe - Paris (France)
- 6 décembre 2024 : DevFest Dijon - Dijon (France)
- 19 décembre 2024 : Normandie.ai 2024 - Rouen (France)
- 22-25 janvier 2025 : SnowCamp 2025 - Grenoble (France)
- 30 janvier 2025 : DevOps D-Day #9 - Marseille (France)
- 6-7 février 2025 : Touraine Tech - Tours (France)
- 28 février 2025 : Paris TS La Conf - Paris (France)
- 20 mars 2025 : PGDay Paris - Paris (France)
- 25 mars 2025 : ParisTestConf - Paris (France)
- 3 avril 2025 : DotJS - Paris (France)
- 10-12 avril 2025 : Devoxx Greece - Athens (Greece)
- 16-18 avril 2025 : Devoxx France - Paris (France)
- 7-9 mai 2025 : Devoxx UK - London (UK)
- 16 mai 2025 : AFUP Day 2025 Lille - Lille (France)
- 16 mai 2025 : AFUP Day 2025 Lyon - Lyon (France)
- 16 mai 2025 : AFUP Day 2025 Poitiers - Poitiers (France)
- 11-13 juin 2025 : Devoxx Poland - Krakow (Poland)
- 12-13 juin 2025 : DevLille - Lille (France)
- 24 juin 2025 : WAX 2025 - Aix-en-Provence (France)
- 26-27 juin 2025 : Sunny Tech - Montpellier (France)
- 1-4 juillet 2025 : Open edX Conference - 2025 - Palaiseau (France)
- 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online
- 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium)
- 9-10 octobre 2025 : Volcamp - Clermont-Ferrand (France)
- 16-17 octobre 2025 : DevFest Nantes - Nantes (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 17 juin 2026 : Devoxx Poland - Krakow (Poland)
Nous contacter
Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs
Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/
305 ตอน