# Blog Devaubrée > Real-world analysis of AI coding tools and modern software architecture by Kevin Aubrée, Senior Full-Stack Developer (Symfony / Laravel / Next.js / Python). Direct, opinionated writing on costs, workflow impact, failure modes, and concrete tradeoffs — not generic AI explainers. ## AI Coding Tools & Comparisons - [Cursor vs Cline vs Copilot vs Claude Code : Comparatif 2026](https://blog.devaubree.fr/blog/guerre-outils-ia-coding-2026-cursor-cline-copilot-claude/): 85% des développeurs utilisent l'IA pour coder. Comparatif technique, cas d'usage et stratégie pour choisir le bon outil. - [Les benchmarks d'agents de code mentent moins qu'avant. Nous, on les lit toujours mal.](https://blog.devaubree.fr/blog/benchmarks-agents-coding-2026-piege/): SWE-bench, Terminal-Bench, leaderboards — les chiffres progressent mais ne disent pas si un agent survivra à ta codebase. - [GPT-5.3 Codex vs Claude Opus 4.6 : La Guerre de l'IA Coding](https://blog.devaubree.fr/blog/openai-gpt53-codex-vs-anthropic-opus-guerre-ia/): OpenAI et Anthropic ont lancé leurs modèles à quelques minutes d'intervalle. Comparaison technique et impact pour les développeurs. - [MCP servers, la vraie surprise de 2026](https://blog.devaubree.fr/blog/mcp-servers-vraie-surprise-2026/): Panorama des serveurs MCP qui changent vraiment le workflow, et pourquoi c'est le moat de Claude Code. - [Les crédits IA ont gagné. Le forfait magique pour coder est mort.](https://blog.devaubree.fr/blog/facturation-credits-ia-coding-fin-forfait-magique/): GitHub Copilot passe aux crédits, les agents coûtent cher, et les devs doivent apprendre à piloter leur budget IA. ## Claude Code & Agents - [Claude Code Agent Teams : Passer d'un Agent Solo à une Équipe Coordonnée](https://blog.devaubree.fr/blog/claude-code-agent-teams-guide-complet/): Un lead agent, des teammates parallèles, une task list partagée. Guide complet pour les configurer et les utiliser. - [Claude Code Hooks : Gardez votre codebase propre automatiquement](https://blog.devaubree.fr/blog/claude-code-hooks-automatisation-codebase/): PreToolUse et PostToolUse pour automatiser les règles de qualité. Exemples concrets Symfony et React. - [Construire un Système de Sous-Agents Experts pour Claude Code avec MCP](https://blog.devaubree.fr/blog/claude-code-mcp-subagents-experts/): Retour d'expérience sur GLM Delegator — 5 agents experts (architecture, sécurité, code review) via le protocole MCP. - [Claude Code CLAUDE.md : La documentation qui code avec vous](https://blog.devaubree.fr/blog/claude-code-claude-md-documentation-qui-code/): Structure optimale pour CLAUDE.md — conventions, contexte métier, pièges connus. Guider l'IA sans micro-management. - [Arrêtez de toujours prendre Opus. Haiku suffit 70% du temps.](https://blog.devaubree.fr/blog/arretez-opus-haiku-suffit-70-pourcent/): A/B test sur un mois — quand Haiku 4.5 fait aussi bien qu'Opus 4.7 et coûte 25x moins cher. Tableau de décision par tâche. - [Le prompt engineering est mort. Place au context engineering.](https://blog.devaubree.fr/blog/prompt-engineering-mort-context-engineering/): Pourquoi les prompts magiques ne servent plus, et ce qui a pris leur place : hiérarchie de contexte, CLAUDE.md, architecture de mémoire. - [J'ai laissé un agent bosser 8h pendant que je dormais. Le rapport au réveil.](https://blog.devaubree.fr/blog/agent-autonome-nuit-retour-experience/): Retour brut sur un agent Claude Code lancé en mode autonome sur une migration. Ce qui a été shippé, cassé, et la dette de review. ## Software Architecture - [Architecture Logicielle pour Applications Web Modernes : Guide Complet 2025](https://blog.devaubree.fr/blog/architecture-logicielle-applications-web-modernes/): Hexagonale, Clean Architecture, CQRS — les patterns essentiels pour Symfony, Laravel et Next.js. - [Clean Architecture avec Symfony : garder Doctrine, Messenger et le container à leur place](https://blog.devaubree.fr/blog/clean-architecture-symfony/): Isoler le domaine, structurer les use cases, brancher Doctrine et Messenger, et savoir quand cette architecture vaut le coût. - [CQRS : à quoi ça sert, quand l'utiliser, et quand surtout l'éviter](https://blog.devaubree.fr/blog/cqrs-symfony-guide-pratique/): Les vrais cas d'usage, les coûts, les pièges, et une implémentation Symfony Messenger pragmatique. - [Core Web Vitals 2026 : Optimiser son Score Performance](https://blog.devaubree.fr/blog/performance-web-core-web-vitals-2026/): LCP, INP, CLS — guide complet avec techniques concrètes pour Next.js, Nuxt et Astro. ## Tutorials (AI Coding) - [Claude Opus 4.7 dans Claude Code : le guide pour ne pas cramer tes tokens](https://blog.devaubree.fr/ai-coding/claude-opus-47-best-practices-claude-code/): Niveau d'effort xhigh, adaptive thinking, comportements par défaut — comment adapter ton workflow sans exploser la consommation. - [Claude Code hooks : automatiser build, format et notifications sans compter sur le modèle](https://blog.devaubree.fr/ai-coding/claude-code-hooks-build-notifications/): Formater, bloquer une commande, lancer une vérification ou notifier hors du prompt. - [Codex : AGENTS.md, skills, subagents, qui fait quoi ?](https://blog.devaubree.fr/ai-coding/codex-agents-skills-subagents/): Quand utiliser une règle repo, une skill, un agent custom ou un subagent — sans tout entasser dans AGENTS.md. - [MCP utile pour AI coding : logs, issues et docs seulement quand ça retire du copier-coller](https://blog.devaubree.fr/ai-coding/mcp-ai-coding-logs-issues-docs/): MCP devient utile quand il remplace un transfert manuel répétitif entre un outil réel et ton agent. ## English Version - [English articles](https://blog.devaubree.fr/en/blog/): English translations of the blog. ## About - [About Kevin Aubrée](https://blog.devaubree.fr/about): Senior Full-Stack Developer (Symfony / Laravel / Next.js / Python) writing real-world analysis of AI coding tools. # Note: FR blog articles use /blog// (confirmed via src/pages/blog/[...slug].astro getStaticPaths, params.slug = file id). Tutorials are served at /ai-coding// (confirmed via src/pages/ai-coding/[...slug].astro), NOT /tutorials/ — the /tutorials/ path assumed in the task does not exist as a route.