Hebdomadaire Shaarli
Semaine 27 (June 30, 2025)
Il s'agit d'un tutoriel pour connecter Claude Desktop au système de fichiers via le Model Context Protocol. L'auteur est sous Windows 10, (mais ça devrait marcher sous d'autres OS) Il faut avoir Claude Desktop dans une version récente, Node.js et un compte Claude Pro de préférence.
L'article explique comment implémenter le modèle de conception d'Injection de Dépendances dans Vue 3, en utilisant le conteneur IoC (Inversion de Contrôle) et l'API Provide/Inject de Vue. Il montre comment créer un plugin pour lier des dépendances à l'instance Vue, les rendant accessibles dans toute l'application. L'article illustre également l'utilisation de ces dépendances dans des composables et des composants, favorisant ainsi la maintenabilité et la testabilité du code.
L'article explique ce qu'est l'authentification multifacteur (2FA ou MFA), à quel besoin elle répond sur quels fondements elle repose. Il décrit aussi sa mise en place côté utilisateur.
L'article détaille la stack technique de Shopify, révélant comment la plateforme gère une échelle massive avec une architecture qui semble simple en surface, mais qui est en réalité le résultat de décisions architecturales astucieuses et de nombreuses années de refactoring. Shopify utilise principalement Ruby on Rails pour son backend, avec des investissements significatifs dans des outils comme YJIT et Sorbet pour améliorer les performances et la sécurité du typage. Le frontend est principalement construit avec React et TypeScript, tandis que React Native est utilisé pour le développement mobile. Shopify s'appuie sur MySQL pour sa base de données principale, avec des stratégies de sharding et de pods pour assurer l'isolation et la scalabilité. Kafka est utilisé pour la messagerie et la distribution d'événements, tandis que des outils comme Memcached et Redis sont utilisés pour le caching et la gestion des files d'attente. L'infrastructure ML de Shopify utilise des embeddings pour la recherche en temps réel et des pipelines de données basés sur Apache Beam. La plateforme est déployée sur Kubernetes, avec des processus CI/CD robustes et des outils d'observabilité pour assurer la fiabilité et la sécurité. Shopify traite des milliards de requêtes par jour, démontrant l'efficacité de sa pile technologique à grande échelle.
L'article explore l'impact des outils de génération de code assistés par l'IA sur le développement logiciel moderne. Il met en lumière des outils comme Cursor et Windsurf, qui intègrent l'IA pour aider les développeurs à écrire du code plus rapidement et plus efficacement. Cursor, basé sur VSCode, offre des fonctionnalités comme la complétion de code intelligente et un chat intégré pour discuter des améliorations de code. Windsurf, quant à lui, va plus loin en permettant des refactorings complexes et une compréhension multi-fichiers. Cependant, l'article souligne également les défis et les pièges potentiels de ces outils, tels que la génération de code qui compile mais ne fonctionne pas comme prévu, l'accumulation de dette technique, et la dépendance excessive à l'IA qui pourrait entraîner une perte de compétences. En outre, l'article aborde l'intégration de ces outils dans les workflows de développement, notamment avec des plateformes comme Graphite et Diamond, qui automatisent les revues de code et améliorent la qualité logicielle. Enfin, il réfléchit sur l'avenir du métier de développeur, suggérant que les rôles évolueront vers une supervision et une orchestration accrues des outils d'IA, tout en maintenant une compréhension solide des fondamentaux du codage.
Dans son article, Lea Verou présente le framework "Hovercar", une approche innovante pour le développement de produits qui suggère de commencer par la vision finale plutôt que par un produit minimum viable (MVP). Contrairement à la méthode traditionnelle qui privilégie le démarrage à petite échelle, Verou propose de visualiser d'abord le produit final idéal, appelé "North Star UI", pour guider la conception et le développement. Cette vision sert de boussole pour orienter les décisions de conception et s'assurer que chaque étape du processus contribue à atteindre cet objectif ultime, tout en différenciant clairement cette approche de la "North Star Metric", qui est plutôt utilisée pour évaluer le succès d'un produit.
L'article explique comment connecter un conteneur Podman à Open vSwitch, d'abord en créant un namespace réseau avec ip netns add. Ensuite, ajoutez un port à Open vSwitch et configurez-le comme interface interne. Assignez cette interface au namespace créé et activez-la. Construisez une image de conteneur avec les outils réseau nécessaires et lancez le conteneur en utilisant l'option --network pour le connecter au namespace. Cela permet au conteneur de communiquer avec les machines virtuelles connectées à Open vSwitch, intégrant ainsi les conteneurs dans une topologie réseau virtualisée existante.
L'auteur a besoin de tester des rôles Ansible sur plusieurs versions de clones RHEL. Il a donc installé un multiboot de 4 systèmes : AlmaLinux 8 et 9, RockyLinux 8 et 9. Il détaille dans cet article comment il s'y est pris.
L'article explique que PHP, traditionnellement synchrone, peut optimiser des tâches comme les requêtes SQL en les exécutant de manière asynchrone. Cela permet de lancer des opérations non bloquantes, comme des requêtes de base de données ou des lectures de fichiers, pendant que d'autres tâches sont traitées. PHP a introduit des fonctionnalités asynchrones dès la version 4.3 avec les streams, et a évolué avec les générateurs en PHP 5.5 et les fibers en PHP 8.1, permettant une meilleure gestion des coroutines. L'EventLoop est présenté comme un modèle efficace pour gérer plusieurs opérations asynchrones en utilisant des callbacks, bien que cela puisse mener à un "callback hell". Les promesses sont proposées comme solution pour simplifier la gestion asynchrone, transformant les callbacks imbriqués en une chaîne de promesses plus lisible. Enfin, l'article compare des bibliothèques comme ReactPHP et Amp pour la gestion des promesses et des coroutines, recommandant ReactPHP pour les promesses et Amp pour une approche plus naturelle avec les coroutines, tout en suggérant Revolt pour l'EventLoop.
L'article décrit le passage d'un NAS Synology à un NAS Asustor, motivé par l'évolution des besoins en stockage et les limitations des produits Synology. L'auteur explique que Synology a stagné en termes de matériel et de logiciel, devenant coûteux et restrictif, notamment avec l'obligation d'utiliser des disques durs Synology pour les nouveaux modèles. Après une analyse approfondie des alternatives, il opte pour un NAS Asustor Lockerstor 10 Gen 3, plus puissant et offrant une meilleure flexibilité. Le nouvel appareil, bien que plus cher, se révèle plus rentable grâce à une capacité de stockage accrue et des performances supérieures. L'auteur partage ses premières impressions positives sur le système d'exploitation ADM d'Asustor, malgré quelques bugs mineurs et une interface moins intuitive que celle de Synology.
L'article traite des préoccupations liées à la fouille de données sur le web par les intelligences artificielles, une pratique souvent perçue comme une forme de vol de données. Il explore les moyens pour les créateurs de contenu de protéger leurs œuvres, notamment à travers des procédures comme l'opt-out, qui permet de déclarer son refus de voir ses données utilisées pour enrichir les bases de données de l'IA. L'article aborde également des méthodes techniques pour bloquer les robots aspirateurs, comme l'utilisation de fichiers robots.txt et .htaccess, tout en soulignant l'importance de l'opt-out pour une protection juridique. Il conclut sur la nécessité pour les auteurs de se préparer à ces enjeux, tout en restant ouverts à une collaboration éventuelle avec l'IA.
L'article présente une synthèse de cinq publications clés qui ont marqué le domaine des grands modèles de langage (LLM). Il commence par expliquer comment GPT-3 a révolutionné le traitement du langage naturel en permettant à un seul modèle de réaliser diverses tâches grâce au "few-shot learning". Ensuite, il aborde les "scaling laws" qui démontrent l'importance de la taille des modèles pour leur performance. Le concept de "modèles de fondation" est introduit comme une évolution vers des modèles plus génériques capables de s'adapter à différents domaines. L'architecture des Transformers, basée sur des mécanismes d'attention, est également explorée pour son efficacité à grande échelle. Enfin, l'approche RAG (Retrieval-Augmented Generation) est présentée comme une méthode pour améliorer les LLM en intégrant des informations actualisées sans réentraînement coûteux. L'article souligne l'importance de ces avancées pour comprendre l'essor de l'IA générative et des LLM.