L'article explore les défis et les solutions pour concevoir des interfaces utilisateur (UX) pour des systèmes d'IA agentique, c'est-à-dire des systèmes capables d'agir de manière autonome. Il propose des modèles de conception concrets pour garantir le contrôle, le consentement et la responsabilité, en se concentrant sur des pratiques organisationnelles et des cadres opérationnels. L'auteur détaille six modèles UX clés pour gérer les interactions agentiques, couvrant les phases pré-action, en-action et post-action, avec des exemples comme l'aperçu d'intention et le signal de confiance. L'objectif est de créer des systèmes transparents, contrôlables et dignes de confiance, où l'autonomie de l'IA est perçue comme un privilège accordé par l'utilisateur.
La règle CSS @scope offre une solution native pour isoler finement les styles en limitant l’application des règles à un sous-arbre spécifique du DOM, ce qui évite que les styles d’un composant se propagent ailleurs tout en gardant une spécificité faible et une meilleure maintenabilité du code ; l’article montre comment cibler uniquement certains éléments comme des <h2> dans des .card, explique l’usage des pseudo-classes :scope et de l’esperluette & pour référencer la racine de portée, et souligne des avantages comme la robustesse face aux modifications du DOM par rapport à des sélecteurs classiques.
L’article explique comment préparer et conduire des entretiens analytiques pour recueillir des données utiles à une recherche ou résolution de problème, en soulignant l’importance de définir clairement les objectifs de la recherche et de sélectionner un panel pertinent d’interviewés avant de commencer, ce qui aide à cadrer les questions et obtenir des insights exploitables. Il détaille aussi la construction d’un guide d’entretien (avec un ordre de questions allant du général au spécifique, des questions ouvertes, et une numérotation pour faciliter l’analyse) pour structurer l’échange de manière à réduire les biais et maximiser la qualité des informations recueillies.
La page explique que sed est un éditeur de flux (stream editor) permettant de filtrer et transformer du texte en lecture depuis un fichier ou une entrée standard, en une seule passe de traitement pour des opérations efficaces. Elle illustre son usage par plusieurs exemples concrets, notamment la substitution de mots avec l’option s/pattern/remplacement/ (souvent avec -i pour modifier un fichier directement), ainsi que d’autres manipulations courantes comme ajouter du texte au début d’une ligne, supprimer des lignes selon un motif ou concaténer des lignes.
Cet article explique les language tags, un concept clé pour l'internationalisation (i18n) et la localisation (l10n) des applications web. Il définit ces termes selon le W3C et détaille les standards du Web (RFC 5646, BCP 47) qui régissent les language tags. Ces tags, composés de subtags séparés par des tirets, permettent d'identifier précisément une langue, une écriture, une région ou d'autres variantes. L'article fournit des exemples et des explications sur la syntaxe des language tags, offrant ainsi une compréhension claire de leur utilisation pour adapter les applications à différents marchés linguistiques et culturels.
Guide expliquant les principaux éléments de la fibre en entreprise en clarifiant le rôle des modules optiques (SFP, QSFP…) et des suffixes comme SR ou LR, qui indiquent notamment le débit, la portée et le type de fibre compatible, afin d’éviter les erreurs de choix ou de compatibilité. Il détaille par exemple que les transceivers convertissent les signaux électriques en lumière et que SR correspond à des liaisons multimodes courtes alors que LR vise des liaisons monomodes plus longues, tout en rappelant l’importance de sélectionner correctement la fibre (OM3/OM4 ou OS2) et les connecteurs adaptés pour garantir fiabilité et performances du réseau.
Ce partage explique le fonctionnement du DNS (Domain Name System), un système qui traduit les noms de domaine en adresses IP. L'auteur partage son expérience personnelle de résolution de problèmes liés à la propagation DNS et au TTL (Time to Live). Le résumé détaille la hiérarchie DNS, incluant les serveurs racine, les domaines de premier niveau (TLD), les domaines et les sous-domaines. Il explique également les différents types d'enregistrements DNS tels que les enregistrements A, AAAA, CNAME et MX, et leur utilité. Une ressource utile pour comprendre comment les noms de domaine sont résolus en adresses IP et comment gérer les enregistrements DNS.
L'article explore l'importance de la mise en cache au niveau de l'application, en se concentrant sur les pools de cache, les tags et l'invalidation. À travers un projet Symfony réaliste, l'auteur montre comment introduire progressivement la mise en cache, identifier les problèmes en production et améliorer la conception du cache. Les exemples illustrent l'évolution de la mise en cache, en commençant par une approche naïve et en introduisant des techniques plus avancées comme les pools de cache dédiés et l'invalidation fine-grained à l'aide de tags. L'objectif est de montrer comment concevoir un cache fiable en production, en abordant les problèmes courants et les solutions applicables au-delà d'un seul framework.
Ce site permet d'apprendre à faire des nœuds : utile pour l'escalade, la navigation, etc. Il présente les différents types de nœuds, avec des explications pour les faire.
L'article explique le fonctionnement de PAM (Pluggable Authentication Modules), un mécanisme d'authentification sous Linux. PAM permet de gérer l'authentification des applications de manière flexible et indépendante, en utilisant des bibliothèques dynamiques et des fichiers de configuration. Il offre de nombreux avantages, tels que la modification des méthodes d'authentification sans recompiler le code, la définition de plages horaires et de lieux de connexion, l'utilisation de méthodes d'authentification avancées (cartes à puce, biométrie, etc.), et l'intégration avec des annuaires LDAP. PAM est un outil incontournable pour l'authentification et l'accès aux systèmes Linux, disponible en Open Source. L'article explique également le principe de fonctionnement de PAM, qui repose sur des directives utilisant des bibliothèques dynamiques pour autoriser ou refuser l'accès aux utilisateurs en fonction de diverses conditions.
Ce billet explique comment générer des PDF à partir de HTML et CSS en utilisant Weasyprint, un outil Python. L'auteur, insatisfait par LaTeX, préfère utiliser des langages qu'il maîtrise mieux. Le tutoriel commence par un exemple simple de conversion HTML en PDF, en passant par l'ajout de styles CSS et diverses astuces pour personnaliser les documents. Il met l'accent sur l'importance des métadonnées et de l'accessibilité des PDF. J'ai découvert des astuces étonnantes : les types de page (page: xxx), la récupération du décompte (target-counter, non documentée dans la MDN !), les sélecteurs de page (:left :right), les règles de marge (@bottom-left @bottom-right), la position "running", etc.
La page explique comment créer et structurer des unités systemd (services, timers et points de montage) en détaillant ce qu’est une unité, où elles se trouvent et leur syntaxe. Elle précise que systemd gère différentes unités au-delà des services classiques, que les fichiers d’unité se placent dans /etc/systemd/system pour l’usage local et qu’il faut recharger le démon avec systemctl daemon-reload après modification, décrit la structure type d’une unité service (sections [Unit], [Service], [Install]) avec différents types (simple, oneshot, forking), comment définir des timers pour exécuter périodiquement des services, et comment nommer et configurer des unités mount pour gérer proprement le montage de systèmes de fichiers.
Cette page du wiki de sebsauvage.net propose un mémo pratique pour utiliser ffmpeg, notamment pour le ré-encodage en AV1, un codec vidéo libre et performant. Elle détaille des commandes de base pour convertir des fichiers multimédias, spécifier des codecs, extraire des bandes son, redimensionner des vidéos, et bien plus. La section dédiée à l'AV1 explique comment convertir des vidéos en utilisant ce codec, avec des options pour optimiser la qualité et la taille des fichiers. Un script pour convertir des vidéos en GIF animé est également partagé.
L'auteur propose une alternative à la "Ralph loop", appelée "Eric loop", inspirée par le personnage calculateur et manipulateur d'Eric Cartman de South Park. Contrairement à la Ralph loop, la boucle Eric implique une séparation des tâches en plusieurs étapes (planification, exécution, vérification, review) et une formalisation des tâches par une IA. L'auteur illustre ce concept en créant un projet nommé Tiny-till, une application de caisse simple pour marchands ambulants, en utilisant un outil appelé Task-o-matic. L'idée est de mieux contrôler et optimiser l'utilisation des modèles d'IA en séparant les préoccupations et en adaptant les prompts à chaque phase de l'exécution des tâches.
Ce billet explique comment intégrer Meilisearch à Symfony pour une recherche ultra-rapide et résiliente. L'auteur critique les solutions traditionnelles comme SQL LIKE, qui sont lentes et peu tolérantes aux erreurs, et les solutions tierces comme Google Programmable Search, qui posent des problèmes de confidentialité. Meilisearch, écrit en Rust, offre une solution performante et légère. L'article détaille l'implémentation d'une interface standardisée pour l'indexation des contenus et un service de recherche résilient qui bascule sur une solution SQL en cas de panne. Une lecture intéressante pour améliorer la recherche sur un site Symfony.
Ce partage Shaarli présente un guide détaillé pour installer et configurer Debian 13 avec l'environnement de bureau KDE, selon les préférences de l'auteur. Le processus est divisé en deux étapes principales : l'installation de base de Debian 13 KDE et le peaufinage post-installation automatisé. L'auteur partage également ses recommandations pour le passage de Windows 10 à Debian 13. Le guide couvre des aspects tels que le téléchargement de l'ISO Debian, la création d'une clé USB d'installation, les paramètres régionaux, la configuration des utilisateurs, le partitionnement des disques, et bien plus. L'objectif est d'obtenir un système Linux fonctionnel et complet pour un usage quotidien.
L'article de Guillaume REYNAUD explique en détail l'architecture et le déploiement du réseau FTTH (Fibre To The Home) en France. Il détaille les équipements clés comme l'OLT (Nœud de Raccordement Optique), le SRO (Sous-Répartiteur Optique) et le PCO (Point de Connexion Optique), ainsi que leurs rôles respectifs dans la transmission du signal optique. Le réseau FTTH utilise la technologie PON (Passive Optical Network), principalement GPON ou XGS-PON, et repose sur une architecture point-à-multipoint. L'article s'adresse aux professionnels des télécommunications mais aussi aux particuliers, offrant une vue d'ensemble complète du réseau FTTH, des équipements centraux jusqu'au domicile de l'abonné.
L'article "Two regimes of Git" de Mark Seemann explore deux modes d'utilisation distincts de Git : le régime de collaboration et le régime tactique. En collaboration, Git est utilisé pour partager et maintenir un code base avec d'autres, où l'historique partagé est considéré comme immuable pour éviter la confusion. Les actions comme rebase ou squash sont évitées une fois l'historique partagé. En revanche, le régime tactique utilise Git localement pour gérer et expérimenter avec le code, permettant des manipulations plus libres de l'historique. L'auteur souligne l'importance de comprendre ces deux régimes pour éviter les malentendus lors des discussions sur Git.
Découvrez les principaux modèles de conception frontend pour 2026, incluant le développement piloté par les composants avec la méthode Atomic Design, les requêtes de conteneur pour des designs adaptatifs, l'utilisation d'outils IA pour les workflows de conception, et l'optimisation des performances avec le chargement paresseux et le découpage de code. Ces modèles visent à améliorer l'efficacité, la cohérence et l'expérience utilisateur, tout en réduisant les temps de développement. Un guide essentiel pour les développeurs frontend.
L’article propose une définition claire et structurée des systèmes de build. Un système de build est un outil qui permet de définir et exécuter des transformations de données d’entrée en données de sortie, en mémorisant les résultats via un cache pour éviter de refaire des calculs inutiles. Ces transformations, appelées règles ou étapes, forment un graphe de dépendances. Un build est dit correct si les résultats incrémentaux sont identiques à ceux d’un build complet, et minimal si seules les étapes nécessaires sont réexécutées.
Les systèmes de build peuvent être inter-processus (exécution de commandes externes) ou intra-processus (appels de fonctions internes), avec des mécanismes de suivi des dépendances soit déclaratives (tout est spécifié à l’avance), soit dynamiques (dépendances inférées à l’exécution). Ils peuvent aussi être hermétiques (isolés des dépendances système) ou reproductibles (mêmes résultats dans n’importe quel environnement). L’article explore aussi des concepts comme le cache distant, la détection des rebuilds, et donne des exemples concrets (Make, Bazel, React, Docker, etc.), tout en soulignant les défis comme la gestion des dépendances dynamiques ou la traçabilité des entrées/sorties.
Une lecture utile pour comprendre les enjeux et les nuances des outils qui automatisent la compilation et la génération de projets logiciels.