Tous les articles
-
Automatiser la détection des fins de vie à partir des SBOM, des images de conteneurs et des inventaires logiciels
Relier les inventaires des environnements d'exécution et des images aux données de cycle de vie en préservant l'identité des produits, le fournisseur de support et l'actualité des preuves. Cette démarche proposée utilise endoflife.date comme flux de repérage, confirme les échéances auprès des fournisseurs et signale séparément les supports expirés et les preuves manquantes.
-
Modèle documenté d'analyse d'échec
Un modèle pour séparer les observations, les hypothèses et les vérifications après un échec.
-
En-têtes de réponse de sécurité au-delà de la CSP
Une poignée d'en-têtes de réponse ferment des failles courantes côté navigateur : X-Content-Type-Options nosniff, Referrer-Policy, Permissions-Policy, Cross-Origin-Opener-Policy et Strict-Transport-Security ; les définir de façon centralisée et vérifier avec un scanner externe.
-
Manipuler du JSON en ligne de commande avec jq
jq lit du JSON, applique un filtre et affiche le résultat : utiliser -r pour des chaînes brutes, -c pour un objet par ligne, --arg et --argjson pour transmettre des valeurs de façon sûre, -e pour transformer null ou false en code de sortie, et select, map et to_entries pour remodeler ; ne jamais assembler des filtres par concaténation de chaînes.
-
Délais d'expiration, nouvelles tentatives et repli avec gigue (jitter)
Chaque appel distant a besoin d'un délai d'expiration ; les nouvelles tentatives doivent être bornées, réservées aux opérations idempotentes ou protégées par une clé, et espacées par un repli exponentiel assorti d'une gigue (jitter), afin d'éviter des rafales de tentatives synchronisées.
-
Vérifier le confinement de l'extraction d'archives à l'aide d'un registre de répertoire jetable
Tester la frontière d'écriture promise par une fonctionnalité d'extraction à l'aide d'un système de fichiers isolé et de fichiers de test inertes. Cette méthodologie originale se concentre sur l'endroit où les écritures se produisent, sans présumer qu'une bibliothèque d'archivage donnée est sûre ou non.
-
Choisir des métriques de classification : précision, rappel, F1, seuils et calibration
L'exactitude (accuracy) masque ce qui compte lorsque les classes sont déséquilibrées ou que les erreurs ont des coûts différents ; la précision et le rappel décrivent les deux types d'erreur, F1 les combine, les scores indépendants du seuil décrivent le classement, et la calibration indique si une probabilité prédite de 0,8 signifie réellement 80 pour cent. Choisir la métrique en fonction de la décision que le modèle doit soutenir, avant l'entraînement.
-
Signer des commits et des tags avec une clé SSH ou GPG
Git signe les commits et les tags avec OpenPGP, X.509 ou, depuis gpg.format=ssh, une simple clé SSH ; le signataire fixe gpg.format et user.signingKey, les vérificateurs ont besoin d'un fichier allowed-signers (SSH) ou d'un trousseau de clés de confiance (GPG), et les faux sont détectés avec git verify-commit ou le badge de signature de l'hébergeur.
-
Rétention des journaux et budget disque sur un hôte : journald, logrotate et dimensionnement du journal d'événements Windows
`SystemMaxUse` de journald plafonne l'espace disque occupé par le journal lui-même, les paramètres `maxage` et `rotate` de logrotate limitent les fichiers archivés ailleurs, et `wevtutil sl` fixe la taille maximale d'un journal d'événements Windows. Ces trois réglages relèvent du budget disque, choisi par l'opérateur ou par un agent ; la durée de conservation imposée par des obligations légales ou organisationnelles est une décision de politique que cet article ne tranche pas.
-
Suivre des descripteurs d'outils asynchrones jusqu'à un résultat final
Empêcher un agent de signaler un succès alors qu'un outil s'est contenté d'accepter un travail ou de renvoyer un descripteur pour une opération encore en cours.
-
Garder les commits de reformatage hors de git blame : -w et les fichiers ignore-revs
git blame -w ignore les espaces lors de la recherche de l'origine des lignes ; --ignore-rev et un fichier .git-blame-ignore-revs versionné permettent d'écarter des commits nommés, comme les reformatages massifs, afin que les lignes soient attribuées au dernier changement significatif qui les précède ; -M et -C suivent les lignes déplacées ou copiées. GitHub lit automatiquement ce même fichier.
-
Utiliser le stash en toute sécurité : messages, fichiers non suivis et branches de stash
Un stash est un commit stocké sous refs/stash, dont les entrées plus anciennes ne vivent que dans le reflog de cette référence ; donner un message à chaque stash, inclure les fichiers non suivis de manière délibérée, préférer apply à pop tant que le résultat n'est pas vérifié, et utiliser git stash branch lorsque la base a évolué entre-temps.
-
Traiter l'absence de preuve comme un résultat
Signaler une affirmation non tranchée avec les vérifications effectuées et la prochaine observation discriminante à mener, plutôt que de combler le vide par un fait inventé.
-
Évolution de schéma avec Avro et Parquet : schémas lecteur et écrivain, fusion de fichiers et modes de compatibilité
Avro résout le schéma de l'écrivain — qui accompagne les données — face au schéma du lecteur, champ par champ, en complétant les champs manquants avec les valeurs par défaut du lecteur et en ignorant les champs inconnus ; des fichiers Parquet aux schémas différents mais compatibles peuvent être fusionnés par le moteur de lecture, à un certain coût ; un registre de schémas impose une compatibilité ascendante, descendante ou totale. Ajouter des champs optionnels avec valeur par défaut est le geste sûr ; renommer des champs ou changer leur type ne l'est pas.
-
La répétition espacée comme méthode de planification : l'algorithme SM-2 en résumé
La répétition espacée donne à chaque élément sa propre prochaine date de révision : l'intervalle croît après un rappel réussi et se réinitialise après un échec. Le SM-2 de Wozniak (1987) fixe les deux premiers intervalles à 1 et 6 jours, multiplie les suivants par un facteur de facilité propre à chaque élément, qui démarre à 2,5 et ne descend jamais en dessous de 1,3, et ajuste ce facteur à partir d'une note de rappel comprise entre 0 et 5 ; le calcul tient en une ligne de tableur.
-
Docker Compose pour le développement local : fichiers de surcharge, profils, dépendances saines et watch
Garder un compose.yaml unique et versionné qui reflète la forme de la production, ajouter un compose.override.yaml pour les ports locaux et les montages liés, réserver les outils optionnels derrière des profils, faire attendre depends_on jusqu'à service_healthy, et utiliser develop.watch pour synchroniser ou reconstruire lors des changements de fichiers.
-
Gestionnaires de services comparés : systemd, launchd, Service Control Manager, SRC et rc.d/OpenRC
Tout système d'exploitation généraliste dispose d'un composant qui démarre, arrête, supervise et relance les services au boot, mais les commandes et le modèle de persistance diffèrent. Cette référence met en correspondance démarrage, arrêt, statut, activation au boot et accès aux journaux pour systemd, launchd, le Service Control Manager de Windows, le SRC d'AIX, ainsi que rc.d de FreeBSD et OpenRC d'Alpine.
-
Un jeu de règles nftables minimal pour un serveur unique
Une seule table inet avec une chaîne input qui rejette par défaut, accepte le trafic établi et associé (established/related), le loopback, les types ICMP dont la pile a besoin et les ports de service listés ; vérifiée avec nft -c -f avant chargement et chargée avec un retour arrière programmé, afin qu'une erreur ne puisse couper l'accès au serveur.
-
Gestion du focus dans les interactions de page unique : boîtes de dialogue, changements de route et éléments supprimés
Lorsqu'une page change sans chargement complet, le focus clavier doit être déplacé délibérément : dans une boîte de dialogue à son ouverture et de retour vers son déclencheur à sa fermeture, vers le titre de la nouvelle vue après un changement de route côté client, et vers un voisin pertinent quand l'élément focalisé est supprimé. Sinon, le focus retombe sur le corps du document et les personnes utilisant un lecteur d'écran sont renvoyées en haut de page.
-
Gérer des invités KVM avec virsh : lister, démarrer, shutdown ou destroy, et autostart
virsh est le client en ligne de commande standard pour les invités KVM gérés par libvirt. Cette méthodologie couvre le listage des domaines, la différence entre un arrêt propre (shutdown) et un arrêt forcé (destroy), l'activation de l'autostart et l'emplacement de la définition persistante du domaine.
Lisible par machine : JSON