Quotidien Shaarli

Tous les liens d'un jour sur une page.

Hier - September 7, 2026

Fail2ban Nginx Proxy Manager : le tuto Docker

Ce tutoriel explique comment configurer Fail2ban pour sécuriser Nginx Proxy Manager (NPM) dans un environnement Docker. L'objectif est de bloquer les tentatives d'accès non autorisés, notamment les attaques par force brute sur l'authentification Basic Auth, sans modifier l'image Docker de NPM ni ajouter de conteneur supplémentaire.

La méthode préconisée repose sur l'analyse des logs d'accès de NPM, qui enregistrent les échecs d'authentification HTTP 401. Fail2ban, exécuté sur l'hôte Docker, surveille ces logs pour identifier les adresses IP suspectes et les bannir temporairement des ports 80 et 443. L'approche vise à rester simple (KISS) en utilisant les journaux natifs de NPM et en s'appuyant sur la configuration existante de Fail2ban sur l'hôte.

La procédure implique de localiser le fichier journal d'accès pertinent pour le Proxy Host ciblé, de créer un filtre Fail2ban spécifique pour reconnaître les échecs d'authentification 401 et d'inclure l'adresse IP du client () dans le pattern de détection. Il est essentiel de vérifier que le format des logs correspond bien au filtre défini pour assurer l'efficacité de la protection.

GitHub - trailhq/Graft: Turbocharge Claude Code, Cursor, Codex, Gemini & every coding agent: faster, cheaper, with contextual understanding specific to your codebase. · GitHub

Graft est un outil open-source conçu pour améliorer les performances des agents de codage tels que Claude Code, Cursor, Codex et Gemini. Il vise à les rendre plus rapides, moins coûteux et à améliorer leur compréhension contextuelle de votre base de code, permettant ainsi des économies significatives en temps et en coût, tout en améliorant parfois la précision des résultats.

L'outil fonctionne en créant un graphe de votre base de code. Ce graphe permet aux agents d'accéder à des informations contextuelles pertinentes, réduisant ainsi le besoin de traiter l'intégralité du code à chaque requête. Graft s'intègre en douceur, notamment avec Claude Code, en ajoutant automatiquement des hooks et en gérant la génération du graphe en arrière-plan, rendant ainsi l'amélioration transparente pour l'utilisateur.

Une fonctionnalité notable de Graft est son application GitHub qui analyse automatiquement les pull requests, offrant des revues de code plus efficaces. Il supporte également une variété de langages de programmation et offre des outils en ligne de commande pour la recherche, la cartographie et la visualisation du graphe de code.

Nuxt : quelles optimisations entre Lazy et ClientOnly ? - Alsacreations

Nuxt offre deux approches principales pour optimiser la performance des composants : Lazy et ClientOnly. L'utilisation de <LazyMonComposant /> permet le "code-splitting" automatique, isolant le composant dans un fichier séparé. Cela allège le bundle JavaScript initial, accélérant le téléchargement et l'analyse par le navigateur, et le code n'est chargé que lorsque le composant est nécessaire.

L'encadrement d'un composant par <ClientOnly> désactive son rendu côté serveur (SSR). Bien que son code reste inclus dans le bundle JavaScript, cette méthode réduit la charge du serveur et prévient les erreurs d'hydratation si le composant utilise des API spécifiques au navigateur. Cependant, le contenu n'est pas présent dans le HTML initial, ce qui peut entraîner des décalages visuels et impacter le référencement naturel.

La combinaison de Lazy et ClientOnly offre un gain de performance optimal en différant à la fois le SSR et le chargement du JavaScript. Cette approche est idéale pour les composants complexes et interactifs non essentiels au SEO, permettant au serveur de répondre rapidement et à la page de s'afficher sans délai avec un minimum de code, le composant se chargeant ensuite en arrière-plan sur le client.

Good writing is obvious, not original

L'écriture de qualité ne réside pas dans l'originalité, mais dans la capacité à exprimer des vérités évidentes de manière claire et perspicace. Chercher constamment la nouveauté peut mener à des sujets insignifiants, car les idées importantes ont généralement déjà été explorées par des esprits brillants à travers les générations. La difficulté réside dans l'articulation de ces évidences, souvent enfouies sous la familiarité.

Se concentrer sur ce qui est manifestement vrai oblige à examiner la réalité en profondeur et à affiner sa propre compréhension. C'est en explorant ces fondations personnelles que l'on peut aider autrui à examiner les leurs. L'exemple du succès de l'auteur avec son article sur la gestion de projets illustre comment une définition fondamentale, si évidente qu'elle était difficile à cerner, a permis de structurer des conseils pratiques.

La recherche de l'originalité peut s'avérer contre-productive, menant à des tentatives forcées et répétitives. Au contraire, s'attacher à exprimer des évidences puise dans l'expérience personnelle, offrant une richesse et une authenticité qui sonnent véritablement original aux yeux du lecteur.

Pi Coding Agent

Pi est un "agent harness" minimal conçu pour s'adapter aux flux de travail de l'utilisateur plutôt que l'inverse. Il permet la personnalisation via des extensions, des compétences, des modèles de prompts et des thèmes, qui peuvent être packagés et partagés via npm ou git. Pi se distingue par sa flexibilité et sa légèreté, offrant quatre modes d'utilisation : interactif, impression/JSON, RPC et SDK, tout en évitant des fonctionnalités complexes comme les sous-agents ou le mode plan par défaut.