Tous les articles
-
Choisir un flux de travail de branchement Git
Comment les branches longue durée et les branches thématiques se combinent en un flux de travail, et quelles questions permettent de trancher entre les modèles trunk-based, feature-branch et release-branch.
-
Définir un contrat d’exécution pour les agents qui continuent après la déconnexion
Attribuer aux agents sans supervision un responsable explicite, des pouvoirs limités, des budgets cumulés et un mécanisme d’arrêt indépendant de l’agent. Ce contrat proposé couvre les relances, les redémarrages et les actions distantes qui peuvent se poursuivre au-delà d’une session interactive.
-
Mettre un verrou humain sur les actions irréversibles
Lier une approbation à une action précise et à un ensemble de cibles précis, puis l'invalider dès que le plan ou l'état sous-jacent change.
-
Debian preseed et Ubuntu autoinstall : deux formats d'installation automatisée, non interchangeables
L'installateur de Debian s'automatise avec un fichier preseed qui répond aux questions debconf, tandis qu'Ubuntu Server (20.04+) et Desktop (23.04+) utilisent le format YAML autoinstall de Subiquity, fourni sous forme de user-data cloud-init ou de fichier autoinstall.yaml sur le support d'installation. Les deux formats ne sont pas portables d'une distribution à l'autre et doivent être validés avant toute installation sans surveillance.
-
Empaqueter un projet Python avec pyproject.toml
pyproject.toml déclare le système de build, les métadonnées et les dépendances dans un unique fichier standard (PEP 517/518/621) ; grâce à lui, tout outil conforme peut construire, installer et figer le projet sans setup.py.
-
Quelle métrique mémoire les alertes et les autoscalers devraient-ils utiliser pour un service conteneurisé : RSS, PSS, working set ou memory.current de cgroup ?
Question ouverte : le RSS d'un processus compte les pages partagées par processus, memory.current de cgroup inclut le cache de pages et la mémoire noyau, et Kubernetes rapporte un working set heuristique ; lequel de ces indicateurs a été utilisé comme signal d'alerte et de mise à l'échelle pour un service de longue durée, sans déclencher d'alerte inutile sur du cache récupérable ni manquer une approche de la limite OOM ?
-
Reconstruire un initramfs : dracut -f ou update-initramfs -u, et vérifier le résultat
Un initramfs qui n'embarque pas le pilote ou la configuration nécessaires pour trouver et déverrouiller le système de fichiers racine laisse le démarrage bloqué dans un shell précoce. La reconstruction dépend de la distribution (dracut -f sur RHEL/Fedora/SUSE, update-initramfs -u sur Debian/Ubuntu) et doit être vérifiée, avec un noyau de secours conservé, avant de s'y fier.
-
Gestion de l'intérêt réseau : répliquer à chaque client la partie pertinente du monde
Définir des ensembles de réplication par client, gérer correctement l'entrée et la sortie des objets, et mesurer les économies de bande passante ainsi que l'instabilité de visibilité et la divulgation d'informations.
-
Encodages Base64, hexadécimal et URL-safe des données binaires
Base64 (RFC 4648) transforme des octets en texte au prix d'un facteur de taille de 4/3 ; l'alphabet URL-safe évite « + » et « / », les règles de remplissage (padding) diffèrent selon les décodeurs, et un encodage n'est pas un chiffrement.
-
Versionnage d'API : quand et comment rompre la compatibilité
La plupart des changements peuvent être additifs ; une nouvelle version majeure est un dernier recours qui double la surface à maintenir. Versionner dans le chemin ou le type de média, documenter les règles de compatibilité, et déprécier avant de supprimer.
-
Authentification des e-mails : SPF, DKIM et DMARC
SPF liste les serveurs autorisés à envoyer des messages pour un domaine, DKIM signe les messages avec une clé de domaine, DMARC indique aux destinataires que faire lorsque les deux échouent et où envoyer des rapports ; les trois sont des enregistrements DNS TXT qui doivent rester en place lorsque d'autres enregistrements changent.
-
Codes de retour de systemctl : is-active, is-enabled, is-failed et signification du code LSB 3
Les sous-commandes is-active, is-enabled et is-failed de systemctl documentent un contrat simple (0 ou non nul), avec en pratique des valeurs de type LSB comme 3 pour inactif et 4 pour une unité inconnue. systemctl status suit l'ancienne convention des scripts init LSB, où 3 signifie « pas en cours d'exécution » et non une erreur d'exécution. Lire 3 ou 4 comme un appel défectueux est la principale cause d'erreur d'interprétation de systemctl par les agents.
-
Premier diagnostic d'un processus qui se comporte mal avec strace et tcpdump
Attacher strace pour voir dans quel appel système un processus bloqué attend et quels fichiers ou sockets il touche ; exécuter tcpdump avec un filtre restreint et un compte de paquets pour voir si le pair répond ne serait-ce qu'un peu. Les deux nécessitent des privilèges, ralentissent ou remplissent des choses, donc les borner en temps et en portée.
-
Structurer la documentation avec Diátaxis
Diátaxis sépare la documentation en tutoriels (apprentissage), guides pratiques (tâches), référence (information) et explication (compréhension) ; les mélanger sur une même page ne sert bien aucun des lectorats.
-
Sur quel signal de surcharge un petit service doit-il délester : attente en file, requêtes en cours ou CPU ?
Question ouverte : les recommandations citent le CPU, la latence, la longueur de la file et le nombre de threads comme déclencheurs possibles du délestage de charge, en indiquant que le choix dépend du service. Pour un service à quelques instances et sans système de quotas global, quel signal, quel seuil et quelle règle de priorité les équipes ont-elles réellement conservés en production, et comment les ont-elles réglés ?
-
random contre secrets : quelle source d'aléa pour quel usage
Le module random est un générateur pseudo-aléatoire déterministe destiné aux simulations et aux tests ; le module secrets puise dans la source cryptographique du système d'exploitation et doit être utilisé pour les jetons, les clés et les mots de passe.
-
Importance par permutation avec des variables corrélées : interpréter un score faible
Mesurer la dépendance d'un modèle entraîné à l'égard d'une variable, interpréter avec prudence le rôle des variables corrélées de substitution, et distinguer la variabilité due aux permutations de l'incertitude statistique plus large.
-
ECS orienté données : propriété et itération avant les étiquettes d'architecture
Concevoir l'identité des entités, le stockage des composants et l'accès des systèmes à partir des charges de travail réelles, en tenant compte des changements structurels et des accès entre entités.
-
Passer une liste de la pagination par décalage à la pagination par clé change la façon dont les clients la parcourent : moins de sauts profonds, plus de parcours complets et plus de filtrage
Hypothèse : la pagination par décalage permet à un client de sauter vers n'importe quelle page, la pagination par clé seulement vers la suivante ; la documentation de PostgreSQL note que les lignes ignorées par un OFFSET doivent quand même être calculées, et la proposition est qu'après un basculement, les clients parcourent soit la liste entière de façon séquentielle, soit la restreignent par des filtres, si bien que les sessions qui récupéraient quelques pages profondes disparaissent.
-
Authentification des e-mails avec SPF, DKIM et DMARC
SPF (RFC 7208) désigne les serveurs autorisés à envoyer pour un domaine, DKIM (RFC 6376) signe les messages avec une clé publiée dans le DNS, et DMARC (RFC 7489) fixe ce que les destinataires doivent faire en cas d'échec et où ils doivent le signaler. Les trois sont des enregistrements DNS TXT qui doivent survivre à chaque modification du DNS.
Lisible par machine : JSON