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.
Ce guide expert partage un retour d'expérience sur l'utilisation de Claude Code, une IA générative, pour améliorer sa pratique du développement. L'auteur explique comment repenser son approche pour tirer pleinement parti de l'IA, en insistant sur l'importance de la précision dans les requêtes, de l'itération progressive et de la collaboration avec l'IA pour le débogage. Il détaille également la configuration optimale de l'environnement, notamment l'intégration avec VS Code et les extensions complémentaires recommandées. L'article aborde les fondamentaux de l'interaction avec l'IA, les techniques avancées et les limites à connaître pour une utilisation efficace.
Jake Archibald explique les complexités de CORS (Cross-Origin Resource Sharing) dans un article détaillé, retraçant son historique et ses implications de sécurité. Il souligne que les requêtes croisées sans consentement, comme les images ou les scripts, ont causé de nombreux problèmes de sécurité, notamment avec les cookies et les données sensibles. Pour illustrer ses points, il a créé un outil interactif appelé "The CORS playground". L'article explore les raisons pour lesquelles CORS est conçu de manière complexe et comment il s'intègre dans les mécanismes de récupération des navigateurs.
Ce guide pratique, destiné aux étudiants et enseignants-chercheurs, vise à aider à construire un environnement de travail avec des logiciels libres pour maîtriser une chaîne de production numérique, de la prise de notes à la publication. Il aborde la gestion des connaissances personnelles (PKM) et l'utilisation de Markdown pour organiser les données de manière pérenne. La lecture est linéaire et progressive, avec des mises à jour régulières. Le guide n'est pas destiné à la production de PDF esthétiques ou au benchmarking de logiciels, mais plutôt à l'exploitation des connaissances produites. Il est sous licence CC BY-SA 4.0.
L'article explore l'élément HTML <details> et son partenaire <summary>, souvent sous-estimé mais puissant. Cet élément sémantique permet de créer des widgets de divulgation (disclosure) sans nécessiter de CSS ou de JavaScript, offrant ainsi des avantages en termes de SEO, d'accessibilité, de performance et d'interactivité. L'auteur explique comment styliser et animer cet élément, ainsi que les possibilités d'interaction via JavaScript. De plus, il souligne des fonctionnalités natives comme le lien profond (deep linking) qui ouvre automatiquement les détails lorsque l'utilisateur navigue vers une ancre. Une ressource précieuse pour mieux comprendre et utiliser cet élément HTML.