Quotidien Shaarli

Tous les liens d'un jour sur une page.

Aujourd'hui - May 5, 2026

Claude Code, MCP et Rails : j'ai vibe codé un agent IA qui cherche un appart à ma place

Camille Roux a développé un agent IA nommé vibe code pour automatiser la recherche d’un appartement à Montpellier, un processus habituellement fastidieux. L’outil scanne en temps réel trois plateformes immobilières (Leboncoin, SeLoger, Bien’Ici), filtre les annonces selon des critères personnalisables (budget, localisation, surface, etc.) et les classe avec un système de scoring pondéré. Un dashboard Kanban en Rails 8, déployé via Kamal, permet ensuite de suivre l’avancement des dossiers et des relances avec les agences.

L’agent repose sur un slash command (/appart) dans Claude Code, qui déclenche une série d’actions automatisées : navigation via le MCP Claude in Chrome, extraction des données JSON, déduplication des annonces et enrichissement des meilleures options. La logique de notation est transparente et ajustable via un fichier criteria.json, offrant une personnalisation fine des priorités.

Ce projet illustre l’efficacité du vibe coding pour des besoins ponctuels, évitant un développement manuel long et peu motivant. Les slash commands et le MCP Chrome se révèlent des leviers puissants pour créer des outils sur mesure, notamment pour interagir avec des sites dynamiques. L’auteur souligne aussi l’intérêt de cette approche pour automatiser des tâches répétitives, au-delà du simple développement logiciel.

Jour 181 : Ce que j'ai appris avec un skill Claude pour du SEO | Eventuallycoding

L’auteur partage son expérience après 181 jours de développement de Writizzy, une plateforme de blog, dont le trafic SEO reste insuffisant malgré ses fonctionnalités. Avec seulement 1 850 visiteurs uniques en avril, le trafic provient surtout des réseaux sociaux et du trafic "brand", tandis que le référencement naturel est défaillant. Pour identifier les problèmes, il utilise l’outil claude-seo, qui évalue plusieurs aspects du SEO (technique, contenu, performance) et attribue un score global de 47/100.

L’audit révèle des axes d’amélioration, notamment en SEO technique. Parmi les recommandations, l’optimisation des images et l’ajout de directives comme preload ou preconnect pour le CDN Bunny sont suggérées. L’auteur souligne aussi l’importance des données structurées en JSON-LD, essentielles pour aider les robots d’indexation à comprendre le contenu, bien que invisibles pour les utilisateurs.

Enfin, l’outil met en lumière des faiblesses dans la qualité du contenu et le référencement IA, avec des scores respectifs de 38/100 et 41/100. Ces résultats, bien que perfectibles, offrent une feuille de route concrète pour améliorer la visibilité de Writizzy sur les moteurs de recherche.

LLPhant/LLPhant: LLPhant - A comprehensive PHP Generative AI Framework using OpenAI GPT 4. Inspired by Langchain

LLPhant est un framework PHP open source conçu pour simplifier le développement d'applications d'intelligence artificielle générative, inspiré par Langchain. Il prend en charge plusieurs modèles de langage (LLM) comme OpenAI, Anthropic, Mistral ou Ollama, et s'intègre avec Symfony et Laravel. Le projet vise à offrir une solution légère mais puissante, avec des outils pour manipuler des embeddings et des bases de données vectorielles.

Le framework est compatible avec PHP 8.1+, s'installe via Composer et propose une documentation complète. Il inclut des fonctionnalités comme le HumanInTheLoopTool pour des clarifications utilisateur initiées par l'IA, ainsi que des intégrations avec des services comme Pinecone ou MongoDB pour le stockage vectoriel.

Développé par Theodo et soutenu par des contributeurs, LLPhant est sous licence MIT et bénéficie d'une communauté active (1,6k étoiles, 159 forks). Des tutoriels et ressources externes, notamment en français, facilitent son adoption pour des projets comme des systèmes RAG ou des agents autonomes.

Media Queries Range Syntax

L’article d’Ahmad Shadeed présente la syntaxe des requêtes média en plage (range syntax), une évolution des media queries classiques (min-width/max-width) pour simplifier la gestion des breakpoints en responsive design. L’idée centrale est d’éviter les bugs de layout liés aux chevauchements de valeurs (ex. : un élément masqué à 300px par deux requêtes contradictoires) en utilisant des opérateurs de comparaison clairs comme width <= 300px ou 300px <= width <= 500px, plus intuitifs que les combinaisons de min-width et max-width.

L’auteur illustre les limites des méthodes traditionnelles, où des ajustements manuels (ex. : max-width: 299px vs min-width: 300px) deviennent complexes avec plusieurs breakpoints, et souligne les avantages des requêtes en plage : meilleure lisibilité, maintenance simplifiée et support étendu depuis 2023. Cette syntaxe, intégrée aux Media Queries Level 4, permet aussi de définir des plages de valeurs directement, comme (300px <= width <= 500px), réduisant les erreurs de logique et accélérant le débogage.

Techniques for better software testing | Antithesis

Cette page présente des techniques pour améliorer les tests logiciels, applicables aussi bien aux tests manuels qu’automatisés. L’idée principale est d’intégrer des méthodes comme l’aléatoire, les tests basés sur des propriétés ou l’adaptation dynamique pour couvrir davantage de cas et détecter des bugs imprévisibles. Par exemple, la randomisation des entrées ou des séquences de fonctions permet d’explorer des scénarios non couverts par les tests déterministes classiques.

L’article souligne aussi l’importance d’ajuster la distribution des entrées aléatoires pour cibler des bugs spécifiques, tout en évitant de trop restreindre les combinaisons testées. Des outils comme Hypothesis ou AFL++ illustrent ces approches, tandis que des méthodes comme l’Adaptive Random Testing ou Swarm testing optimisent la génération de cas de test.

Enfin, la plateforme Antithesis intègre ces bonnes pratiques pour offrir une solution unifiée, combinant plusieurs techniques avancées en un seul outil. Cela permet aux développeurs de renforcer leurs tests sans avoir à les implémenter manuellement.