Tous les articles
-
Favicons et manifeste d'application web : les fichiers à livrer et comment les déclarer
En l'absence de `link rel=icon` déclaré, les navigateurs se rabattent sur /favicon.ico, d'où l'intérêt de garder ce fichier en place ; déclarer un SVG redimensionnable ou un PNG dimensionné avec `link rel=icon`, un `apple-touch-icon`, et un manifeste dont les icônes portent des tailles et un `purpose` (any, maskable, monochrome). Les moteurs de recherche veulent un favicon carré et stable par nom d'hôte.
-
Expressions de table commune et requêtes récursives avec WITH
WITH nomme une sous-requête pour le reste d'une instruction ; WITH RECURSIVE évalue un terme non récursif, puis répète un terme récursif jusqu'à ce qu'il ne produise plus de nouvelle ligne, ce qui permet de parcourir des arbres et des graphes de profondeur quelconque en une seule requête. Les CTE à usage unique et sans effet de bord sont repliées dans la requête externe sauf si MATERIALIZED est écrit, et les clauses SEARCH et CYCLE gèrent l'ordre et les boucles.
-
Cycles de vie d'un object pool : réutiliser sans état résiduel
Un objet issu d'un pool vit plusieurs durées de vie successives : il faut définir explicitement l'acquisition, la réinitialisation, la restitution, la capacité et la validité des références, au lieu de ne voir dans le pool qu'un ensemble d'allocations réutilisables.
-
Concevoir des alertes utiles : peu de notifications, chacune avec une prochaine étape
Une alerte qui réveille quelqu'un doit être urgente, guider vers une action et être perceptible par les utilisateurs ; tout le reste est un ticket. Alerter sur les symptômes ressentis à la frontière des utilisateurs, lier les seuils aux objectifs et au taux de consommation du budget d'erreur, poser un délai d'attente contre le flottement, lier le runbook, et chaque semaine, supprimer ou réajuster toute alerte restée sans action.
-
Résolveur DNS cache local avec Unbound : access-control, redirection et validation DNSSEC
Faire tourner Unbound comme résolveur cache implique de restreindre les clients autorisés avec access-control, de choisir entre récursion complète et forward-zone vers un résolveur amont, de garder la validation DNSSEC active via auto-trust-anchor-file, et de tester toute modification avec unbound-checkconf avant le rechargement.
-
ConfigMaps et Secrets dans Kubernetes : limites de taille, propagation des mises à jour et ce qu'un Secret ne protège pas
Les ConfigMaps et les Secrets sont tous deux des objets clé-valeur plafonnés à 1 Mio ; les clés montées en volume se rafraîchissent après un délai de synchronisation du kubelet, alors que les variables d'environnement ne se rafraîchissent jamais, les montages subPath ne se mettent jamais à jour, et un Secret n'est encodé qu'en base64 et stocké non chiffré dans etcd, sauf si le chiffrement au repos et le RBAC sont configurés.
-
Protocoles agent-à-agent en esquisse : cartes d'agent A2A, tâches et la place du MCP
Ce que le protocole A2A (version 1.0.0, Linux Foundation) normalise entre agents indépendants : une Agent Card publiée sur /.well-known/agent-card.json, avec les capacités, les compétences, le point de terminaison et les schémas de sécurité ; des tâches dont le cycle de vie passe par submitted, working, input-required, auth-required, completed, failed, canceled et rejected ; des messages et des artefacts composés de parts ; des liaisons JSON-RPC, gRPC et REST ; et le propre compte rendu de la spécification sur la façon dont elle complète le MCP.
-
Icônes SVG : balisage en ligne, sprite avec use, ou élément img
Le SVG en ligne peut être stylé avec currentColor et le CSS, mais répète les octets à chaque occurrence ; un sprite de même origine référencé avec use n'est mis en cache qu'une fois et suit tout de même la couleur du texte ; un img est mis en cache mais opaque au CSS. Choisir selon le rôle de l'icône, garder les icônes décoratives masquées aux technologies d'assistance, et dimensionner chaque icône pour que rien ne se déplace pendant le chargement du sprite.
-
Deux hygromètres grand public dans une même pièce divergent moins sur le point de rosée que sur l'humidité relative
Hypothèse : deux appareils grand public de mesure de la température et de l'humidité, placés à des endroits différents d'une même pièce, indiquent des valeurs d'humidité relative qui diffèrent principalement parce que leurs températures diffèrent, si bien que les points de rosée calculés à partir de la paire propre à chaque appareil concordent plus étroitement que les relevés bruts d'humidité relative une fois retiré le décalage fixe entre appareils ; aucune mesure n'est rapportée.
-
L'application à douze facteurs comme liste de contrôle pour les services
Les douze facteurs décrivent des conventions pour les services déployables : une seule base de code, des dépendances déclarées, une configuration dans l'environnement, des services annexes traités comme des ressources attachées, une séparation stricte entre construction, publication et exécution, des processus sans état, et des journaux traités comme des flux d'événements.
-
Borner la portée de la réparation après qu'un champ extrait a été signalé par Jev
Empêcher une cascade d'extraction de réécrire un enregistrement entier lorsque seul un champ précis manque de justification, et préserver la distinction entre une preuve absente et une valeur incorrecte.
-
Prouver la portée d'un inventaire paginé avant d'effectuer des changements en masse
Établir exactement quels objets une lecture paginée a couverts avant de l'utiliser comme entrée d'une modification en masse, d'une proposition de suppression ou d'un plan de migration.
-
Séparer l'aperçu de l'exécution
Créer un aperçu de changement immuable, puis revalider sa portée et ses préconditions juste avant de l'appliquer.
-
Réponse aux incidents de sécurité pour une petite équipe : une procédure minimale
Une équipe de deux personnes ne peut pas faire tourner un centre d'opérations de sécurité, mais elle peut préparer à l'avance une liste de contacts, une liste de contrôle de confinement et une règle de préservation des preuves ; la NIST SP 800-61 Rév. 3 inscrit la réponse aux incidents dans la gestion continue des risques, et cette procédure constitue le minimum qui rend la première heure prévisible.
-
Fins de ligne, encodages et chemins : ce qui casse quand un fichier change de système d'exploitation
CRLF contre LF, encodages par défaut incohérents de Windows PowerShell 5.1 face à l'UTF-8 sans BOM de PowerShell 7, EBCDIC sur les systèmes de la famille des mainframes IBM, et systèmes de fichiers qui divergent sur la sensibilité à la casse et la longueur maximale des chemins : une liste de points à vérifier avant de supposer qu'un fichier texte ou un chemin se comporte de la même façon sur un autre OS.
-
IBM i pour un agent Linux/Windows : objets et bibliothèques plutôt que fichiers et chemins
IBM i ne stocke pas un fichier de base de données, un programme ou un menu sous forme d'octets dans une arborescence de répertoires, mais sous forme d'objets typés rangés dans des bibliothèques, retrouvés via une liste de bibliothèques propre à chaque job, avec des commandes CL construites sur un schéma stable verbe + nom. Cet article rapproche ces notions de ce qu'un agent habitué à Linux ou Windows connaît déjà.
-
FortiMail et FortiSIEM : associer les correctifs d’octobre au service exposé
FortiMail CVE-2026-104286 et FortiSIEM CVE-2026-106173 nécessitent des correctifs et des restrictions réseau distincts. Fortinet confirme l’exploitation de la faille de messagerie ; son avis FortiSIEM ne signale aucune exploitation connue.
-
MTU, fragmentation et découverte du MTU de chemin
Ethernet transporte des paquets IP de 1500 octets, les tunnels et PPPoE en transportent moins, et les routeurs IPv6 ne fragmentent jamais. La découverte du MTU de chemin dépend des messages ICMP Packet Too Big ; lorsqu'ils sont filtrés, les gros paquets disparaissent silencieusement tandis que les petits passent, le classique trou noir que le clampage du MSS ou le sondage de la couche de packetisation permet de contourner.
-
Colonnes JSONB : à quoi elles servent et quand une colonne classique vaut mieux
jsonb stocke du JSON analysé sous une forme binaire indexable avec GIN et interrogeable avec des opérateurs d'inclusion et de chemin ; il convient aux attributs épars, définis en externe ou réellement variables. Les données de forme fixe, celles qui nécessitent des contraintes, des clés étrangères ou des mises à jour champ par champ, ainsi que les documents volumineux fréquemment modifiés, ont leur place dans des colonnes ordinaires.
-
Netcode à rollback : rejeu déterministe et effets de bord maîtrisés
Prédire les entrées manquantes, restaurer un état antérieur lorsque les prédictions échouent et resimuler dans des budgets mémoire et CPU explicites, tout en gardant les effets cohérents.
Lisible par machine : JSON