Tous les articles
-
Traitement idempotent des webhooks : identifiants de livraison, calendriers de nouvelles tentatives et réponse rapide
Les principaux fournisseurs de webhooks peuvent livrer plusieurs fois le même événement et attendent du récepteur qu'il dédoublonne à l'aide d'un identifiant propre à chacun : X-GitHub-Delivery, l'id d'événement Stripe, l'event_id de Slack avec X-Slack-Retry-Num, ou le webhook-id de Standard Webhooks. Les calendriers de nouvelles tentatives diffèrent fortement : GitHub n'en effectue aucune automatiquement (une nouvelle livraison manuelle ou via l'API réutilise l'identifiant), Stripe réessaie jusqu'à trois jours en mode live, Slack trois fois en environ six minutes.
-
Comment les mainteneurs de petits projets passent-ils réellement leur temps, et qu'est-ce qui a déplacé la répartition loin de l'écriture de code ?
Question ouverte : les Open Source Guides observent que les mainteneurs de projets largement utilisés finissent par coder moins et répondre davantage aux tickets, et recommandent comme remèdes la documentation, le fait de savoir dire non, le partage de la charge et l'automatisation ; ce qui manque, c'est un temps mesuré par activité pour les petits projets, et des preuves sur lesquels de ces remèdes ont changé la répartition.
-
Hiérarchiser l'attention de revue de code avec Jev sans noyer les bloqueurs dans une moyenne
Utiliser des dimensions de revue distinctes pour prioriser l'attention humaine, tout en conservant des contrôles obligatoires qu'un score pondéré ne doit jamais outrepasser.
-
Décommissionner un serveur en toute sécurité : le retirer de tous les systèmes qui lui font encore confiance
Décommissionner un serveur ne se résume pas à l'éteindre : DNS, supervision, tâches de sauvegarde, fiche d'inventaire et tout objet ordinateur de l'annuaire continuent de lui faire confiance ou de l'attendre tant que personne ne l'en retire explicitement. Le stockage exige en outre une méthode d'effacement réellement adaptée au type de support avant réutilisation ou mise au rebut.
-
La commande ip, outil de diagnostic à utiliser en lecture avant de modifier la configuration réseau
ip addr, ip route et ip neigh affichent directement l'état réseau actuel du noyau, plus vite que n'importe quel fichier de configuration. La même commande peut aussi modifier cet état à l'exécution, mais une modification faite avec ip n'est enregistrée nulle part et disparaît au redémarrage ou à la réinitialisation de l'interface.
-
PAN-OS CVE-2026-0322 : vérifier les correctifs par ligne de maintenance et restaurer le plan d’administration
Une faille de l’interface d’administration exploitable après authentification affecte les pare-feu PAN-OS et Panorama. Vérifier la version de maintenance complète, restreindre l’accès d’administration et appliquer la procédure de restauration de l’éditeur adaptée au matériel ou à l’appliance virtuelle en cas de suspicion de compromission.
-
Maillages de navigation, corridors de chemin et évitement local
Séparer la planification d'itinéraire, la marge de passage, le steering local et le mouvement physique permet aux agents de franchir des passages étroits et de réagir de façon cohérente à des obstacles changeants.
-
Surveiller la dérive d'un modèle déployé : entrées, sorties et étiquettes différées
Le score hors ligne d'un modèle cesse d'être vrai dès que la distribution des entrées, celle des étiquettes ou la relation entre les deux change ; il faut surveiller les distributions des caractéristiques et des prédictions par rapport à une référence d'entraînement, journaliser les caractéristiques servies pour détecter un écart entraînement-service, et réconcilier les étiquettes différées pour calculer la métrique réelle avec un décalage.
-
Pièges des nombres JSON : entiers au-delà de 2^53, NaN et Infinity, et décimaux exacts
La RFC 8259 laisse la précision des nombres à la discrétion des implémentations et interdit NaN et Infinity ; I-JSON (RFC 7493) recommande de rester dans les limites d'IEEE 754 binary64 et d'encoder sous forme de chaînes tout ce qui dépasse cette limite, comme les entiers 64 bits. Le module json de Python émet NaN par défaut et JSON.stringify de JavaScript le transforme en null : un JSON interopérable exige donc un contrat numérique explicite par champ.
-
Pièges des SMS : encodage GSM-7 face à UCS-2 et segmentation des messages
Un SMS transporte 140 octets : 160 caractères en GSM-7 ou 70 en UCS-2. Un seul caractère hors GSM-7 (une apostrophe courbe, un émoji) fait basculer tout le message en UCS-2 ; les messages plus longs sont découpés en segments de 153 ou 67 caractères, que les opérateurs facturent généralement séparément. Il convient de compter les segments avant l'envoi et de normaliser la ponctuation.
-
Garder les calculs d'éclairage linéaires avec des textures sRGB
Suivre les valeurs de couleur depuis le stockage des textures jusqu'à l'encodage pour l'affichage, en passant par le shading, et distinguer les cartes de couleur des données numériques.
-
Mesurer une pièce et dessiner son plan à l'échelle : d'abord le croquis de mesures brutes, ensuite le dessin
Un protocole proposé qui sépare la mesure du dessin : un croquis grossier reçoit chaque relevé brut (murs à une hauteur donnée, diagonales, ouvertures avec leur distance au coin le plus proche), l'instrument et sa résolution sont consignés, les écarts de fermeture entre murs opposés sont notés, et ce n'est qu'ensuite que le plan est dessiné à une échelle donnée, sur papier quadrillé ou dans un outil de dessin ; aucune dimension n'est présentée comme exacte au-delà de l'écart de fermeture enregistré.
-
Exploiter un bastion SSH : ProxyJump côté client et restriction des redirections autorisées sur l'hôte de rebond
Un bastion doit relayer les connexions ProxyJump vers les hôtes internes sans servir de relais TCP généraliste. Cette méthode configure ProxyJump côté client, restreint AllowTcpForwarding et PermitOpen sur le bastion, et limite les exceptions à un bloc Match plutôt qu'à une autorisation globale.
-
Caviarder les secrets avant l'écriture des journaux
Journaliser un enregistrement de diagnostic construit à partir d'une liste blanche de champs plutôt que les requêtes brutes de l'outil, et vérifier le caviardage à chaque point de sortie.
-
NAT : comment fonctionne la traduction d'adresses et pourquoi les connexions entrantes échouent
Un NAT réécrit l'adresse source et le port des paquets sortants et conserve une correspondance afin que les réponses puissent être réacheminées ; rien ne route un paquet entrant non sollicité vers un hôte privé. Les correspondances expirent en cas d'inactivité, le hole punching ne fonctionne que pour certains comportements de NAT, et le NAT à grande échelle (carrier-grade) ajoute une couche supplémentaire que l'abonné ne peut pas configurer.
-
prefers-reduced-motion : quelles animations réduire, et comment
La fonctionnalité média prefers-reduced-motion indique si l'utilisateur a demandé moins de mouvement au système d'exploitation ; ses valeurs sont no-preference et reduce. La respecter consiste à remplacer les grands mouvements (parallaxe, zooms, glissements, animations en lecture automatique) par des fondus ou des changements instantanés, tout en conservant les petites transitions d'état porteuses de sens, et à appliquer la même règle aux animations pilotées par script.
-
Déprécier un point de terminaison d'API avec les en-têtes Deprecation et Sunset
Annoncer la fin de vie directement dans les échanges : l'en-tête Deprecation (RFC 9745) marque une ressource comme dépréciée, l'en-tête Sunset (RFC 8594) indique la date à laquelle elle cessera de fonctionner, et un Link vers la documentation explique le remplacement ; associer cela à une journalisation des appelants restants.
-
Les messages génériques de connexion et de réinitialisation réduisent-ils mesurablement la prise de contrôle de comptes, alors que les corpus de fuites révèlent déjà quelles adresses existent ?
Question ouverte : les recommandations demandent des réponses indiscernables pour les comptes existants et inexistants, au prix d'un coût réel d'utilisabilité ; un service a-t-il mesuré si le credential stuffing ou l'hameçonnage ciblé le visant a diminué après la fermeture de l'énumération, alors que les attaquants disposent déjà de listes d'adresses issues de fuites d'autres sites ?
-
Logs, métriques et traces : quel signal répond à quelle question
Les métriques indiquent que quelque chose ne va plus depuis 14 h 02, les traces montrent dans quel appel d'une requête donnée le temps a été perdu, les logs fournissent le texte d'erreur d'un cas précis. OpenTelemetry définit les trois signaux, y compris l'identifiant de trace dans l'enregistrement de log, afin qu'ils puissent être reliés entre eux ; qui choisit d'abord la question collecte moins et trouve davantage.
-
Sondages de compilation croisée CMake : distinguer compilation, édition de liens et exécution
Diagnostiquer les vérifications de chaîne d'outils en identifiant quelle machine doit compiler, lier ou exécuter chaque sondage.
Lisible par machine : JSON