Ce dépôt propose des implémentations de référence et une liste exhaustive de serveurs (officiels et communautaires) pour le Model Context Protocol (MCP), un standard open source permettant aux LLMs d’interagir de manière sécurisée avec des outils, APIs, bases de données et services externes. On y trouve des serveurs prêts à l’emploi pour GitHub, AWS, Slack, PostgreSQL, Notion, Stripe, et bien d’autres, ainsi que des frameworks (FastMCP, Spring AI) pour en développer facilement. Idéal pour automatiser des workflows, connecter des agents IA à des services SaaS, ou étendre les capacités des modèles comme Claude avec des actions concrètes (requêtes SQL, gestion de fichiers, appels API, etc.). Les serveurs s’intègrent directement avec des clients comme Claude Desktop ou Cursor via une simple configuration.
Dans cet article, Milan Milanović partage les cinq livres qui ont marqué sa carrière d’ingénieur et son évolution vers le poste de CTO. Il explique comment "The Pragmatic Programmer" lui a appris à écrire du code professionnel, durable et adaptable, en insistant sur l’importance de l’itération rapide et de la responsabilité collective. "Designing Data-Intensive Applications" a transformé sa vision de l’architecture des systèmes, en mettant l’accent sur les compromis entre cohérence, disponibilité et tolérance au partitionnement, ainsi que sur la rigueur dans le choix des bases de données. "A Philosophy of Software Design" l’a aidé à lutter contre la complexité du code en privilégiant des modules profonds et bien conçus, faciles à maintenir. "Thinking, Fast and Slow" de Daniel Kahneman lui a révélé l’impact des biais cognitifs sur la prise de décision, l’incitant à adopter une approche plus analytique et moins intuitive. Enfin, "The 7 Habits of Highly Effective People" a renforcé ses compétences en leadership, en lui apprenant à se concentrer sur ce qu’il peut contrôler, à écouter activement et à investir dans son développement personnel. Ces ouvrages, au-delà des compétences techniques, lui ont offert des modèles mentaux essentiels pour devenir un meilleur architecte, décideur et leader. Une lecture inspirante pour quiconque souhaite allier expertise technique et croissance personnelle.
Ce dépôt propose une collection d’agents personnalisés pour Claude Code, conçus pour assister les développeurs dans diverses tâches.
Installation
- Pour un projet spécifique : Copier les agents dans
.claude/agents/
à la racine du projet. - Pour une utilisation globale : Copier les agents dans
~/.claude/agents/
.
Agents disponibles
- code-refactorer : Aide au refactoring de code
- content-writer : Rédaction de contenu
- frontend-designer : Assistance en design frontend
- prd-writer : Rédaction de documents de spécifications produit
- project-task-planner : Planification de projets et découpage des tâches
- security-auditor : Audit de sécurité
- vibe-coding-coach : Coaching et guidance en codage
Utilisation
Une fois installés, Claude Code détecte et utilise automatiquement ces agents selon les besoins.
Il s'agit d'un comparatif de différentes bibliothèques de composants UI pour Vue / Nuxt
Il s'agit d'une liste organisée de commandes slash, de fichiers CLAUDE.md, d'outils CLI, d'autres ressources et guides pour améliorer votre flux de travailavec Claude Code. Claude Code est un assistant de codage et un agent de pointe basé sur CLI auquel vous pouvez accéder dans votre terminal ou IDE. C'est un outil en évolution rapide qui offre un certain nombre de capacités puissantes, et permet de beaucoup de configuration, de nombreuses manières différentes.
L'article explore l'utilisation des animations SMIL (Synchronized Multimedia Integration Language) dans les SVG pour enrichir les conceptions web. Contrairement aux idées reçues, SMIL n'est pas obsolète et offre des moyens simples et sémantiques d'ajouter des animations aux designs. L'auteur, Andy Clarke, démontre comment SMIL peut être utilisé pour créer des animations complexes, synchroniser plusieurs animations et contrôler les transformations et les chemins de mouvement. Il met en lumière les avantages de SMIL, notamment sa capacité à fonctionner sans dépendre de JavaScript ou de frameworks, et son intégration directe dans les fichiers SVG, ce qui le rend idéal pour des effets d'animation compacts et portables.
L'article offre des conseils pratiques pour ceux qui souhaitent se lancer dans le bricolage. Il recommande d'acquérir progressivement du matériel de base, en privilégiant la qualité, et suggère des endroits où acheter des outils, comme les grandes surfaces de bricolage et les boutiques pour professionnels. L'auteur met en avant l'importance de regarder des vidéos éducatives pour apprendre des techniques et se familiariser avec le vocabulaire technique. Il liste également des outils essentiels, tels qu'un coffret de douilles, des pinces, un marteau, un tournevis plat, et des consommables comme le WD-40 et des joints de plomberie. Pour l'électroportatif, il conseille de choisir des outils de marques professionnelles et mentionne la perceuse-visseuse Bosch Pro GSR 12V-15 FC comme un outil polyvalent et indispensable. Enfin, l'article rappelle les limites du bricolage, notamment pour les travaux liés au gaz, au feu, et à la structure des bâtiments, et encourage à se former en électricité pour réaliser des travaux en toute sécurité.
L'article présente des astuces pour optimiser l'utilisation de Docker Compose. Il propose d'utiliser des profils pour activer des services de manière conditionnelle, de gérer les variables d'environnement avec des fichiers .env, et d'optimiser les builds avec le cache. Il aborde également l'utilisation des vérifications de santé pour gérer les dépendances entre services, la personnalisation des logs pour une meilleure lisibilité, l'utilisation de volumes nommés pour la persistance des données, et l'extension des fichiers de configuration pour une meilleure modularité. Ces techniques permettent de rendre les workflows de développement plus efficaces et flexibles.
L'article traite des problèmes courants liés au DNS dans Kubernetes, en se concentrant sur trois principaux problèmes :
- Problème des ndots : Kubernetes tente d'être intelligent en essayant plusieurs suffixes DNS pour résoudre les noms, ce qui peut entraîner une charge accrue sur le serveur DNS et une latence plus importante. La solution consiste à utiliser des noms de domaine complets (FQDN) ou à ajuster la valeur de ndots.
- Problème de Lameduck : Lors de la suppression d'un pod, il peut y avoir un délai avant que kube-proxy ne mette à jour les règles iptables, ce qui peut entraîner des erreurs de connexion. La solution consiste à configurer un délai de grâce (lameduck) pour permettre à kube-proxy de se réconcilier.
- Problème de conntrack : Il existe un bug non corrigé dans kube-proxy en mode iptables qui provoque une perte de trafic UDP lors de la suppression d'un pod, affectant particulièrement le DNS. Les solutions partielles incluent l'ajout d'un timeout DNS ou la limitation du redémarrage des pods CoreDNS.
L'article souligne que ces problèmes peuvent avoir un impact significatif sur les performances et la fiabilité des clusters Kubernetes, en particulier ceux hébergés sur des plateformes comme AWS EKS.
L'article présente une liste de conseils pour les tests avec PHPUnit, certains spécifiques à Laravel et d'autres non. J'en retiens :
- assertEqualsCanonicalizing qui permet de vérifier que 2 tableaux sont "égaux", sans tenir compte de l'ordonnancement des valeurs
- l'attribut #[\PHPUnit\Framework\Attributes\DoesNotPerformAssertions] qui permet de dire à PHPUnit qu'un test ne vérifie aucune assertion (ce qui déclenche normalement une erreur dans PHPUnit)
- l'attribut #[\PHPUnit\Framework\Attributes\RunInSeparateProcess] permet de préciser à PHPUnit d'exécuter les tests dans plusieurs processus... ça permet par exemple de définir une même constante dans 2 méthodes de tests de la même classe.
- la méthode $this->markTestSkipped('test are skipped because ...'); permet de sauter l'exécution d'un test, $this->markTestIncomplete('test are incomplete but not in error'); permet d'indiquer qu'un test est incomplet (??) et $this->fail('test are failed !'); permet de marquer un test comme échoué quoi qu'il arrive.
- phpunit --order-by=random permet de lancer les tests dans un ordre aléatoire - c'est très pratique pour détecter les dépendances implicites entre les tests. phpunit --order-by=random --random-order-seed=1234 permet même de rejouer le même ordre aléatoire, notamment pour reproduire un échec.
- phpunit --stop-on-failure --stop-on-error permet de stopper l'exécution des tests dès la première erreur rencontrée
- enfin en utilisant l'attribut #[\PHPUnit\Framework\Attributes\Group('mon_super_groupe')], on peut exclure les tests de ce groupe vendor/bin/phpunit --exclude-group mon_super_groupe ou au contraire ne jouer que les tests de ce groupe vendor/bin/phpunit --group flaky
Symfony dispose de fonctionnalités sur les chaînes de caractères depuis longtemps (Symfony 5) avec plein d'utilitaires très pratiques : gestion de l'unicode, enchaînement de méthodes (interface fluente), prise en charge de l'internationalisation, etc.
L'article présente 5 scripts Bash dont on peut s'inspirer pour construire les nôtres.
- Création d'un backup
- Surveillance du CPU, de la mémoire et de l'espace disque disponible avec alerte en cas de besoin
- Audit de sécurité rapide
- Vérification rapide de la réponse des sites
- Partitionnement de disque dur
L'article présente 10 fonctionnalités récentes des CSS :
- Min, max and clamp - min et max se passent de commentaires, et clamp permet de combiner les deux - une valeur minimale, une valeur préférée, et une valeur maximale
- Container queries - les container query font que les éléments répondent à la taille du conteneur de leur parent plutôt qu'à celle du viewport
- text-wrap: balance & pretty - cette propriété contrôle comment le texte est réparti entre les lignes pour améliorer la lisibilité, la valeur "balance" crée des lignes de longueur égale, alors que "pretty" évite les orphelines (mots se retrouvant seuls sur la dernière ligne)
- CSS Relative Color Syntax - la syntaxe "from" permet d'extraire et de modifier des composants individuels pour toute source de couleur
- Margin Block/Inline Properties - ces propriétés de marge et de padding (margin-block, margin-inline, padding-block, padding-inline) répondent aux besoins induits par différents modes d'écriture et de direction de lecture en CSS, remplaçant les propriétés left / right / top / bottom
- @starting-style - permet d'animer des éléments depuis display:none, en définissant des styles initiaux quand un élément apparaît
- :has() - permet de sélectionner des éléments parents, en se basant sur leurs enfants
- Media Query Ranges - simplifie la syntaxe pour définir des intervalles min/max - light-dark - est un raccourci pour définir différentes valeurs basées sur les préférences de l'utilisateur sur le mode (sombre / light)
- color-scheme - est utile en combinaison avec light-dark, pour informer le navigateur quel jeu de couleurs est supporté par un composant, ce qui permet aux éléments natifs de correspondre automatiquement aux préférences de l'utilisateur
- Nesting - permet d'écrire des CSS en imbriquant les sélecteurs enfants dans leurs parents
- Units - de nouvelles unités comme dvh sont apparues (pour les navigateurs mobiles)
- @layer - permet de gérer des conflits de spécificité en ordonnant explicitement les groupes de styles.
10 commandes linux méconnues et pourtant bien utiles : renommage de fichiers en masse, afficher la progression d'une copie de fichier, afficher les numéros de ligne, etc.
L'autuer partage 13 astuces pour le terminal : répéter, corriger, etc. Je ne les connaissais pas toutes
Dans cet article, on voit :
- Les formats de certificats
- Manipulation des certificats avec OpenSSL
- Visualiser le contenu d’un certificat
- Convertir entre différents formats
- Extraire des éléments d’un fichier PKCS#12
- Créer et gérer des clés privées
- Vérifier une clé privée et un certificat
- Vérifier la chaîne de certificats
- Générer une demande de signature de certificat (CSR)
- Créer un certificat auto-signé
- Examiner une demande de signature de certificat (CSR)
- Vérifier et tester un site web TLS
- Bonnes pratiques pour la gestion des certificats
L'article propose une approche pragmatique pour mettre en place un design system en trois mois. Il s'appuie sur des outils concrets comme le Design System in 90 Days Canvas de Dan Mall, un modèle FigJam qui aide à structurer les discussions avec les parties prenantes, identifier les composants clés et évaluer les besoins des équipes. L'article présente également des ressources pratiques telles que les Design System Tactics de Ness Grixti et une checklist PDF de Nathan Curtis pour guider les ateliers d'équipe. Une lecture utile pour toute organisation souhaitant lancer ou améliorer son design system de manière structurée et collaborative.
Une liste d'outils d'IA sans inscription
Plus de 700 applications en auto-hébergement déployables via Docker Compose
Des thèmes GRUB avec quelques explications pour les customiser