Tous les articles
-
Définir la locale, le fuseau horaire et reconfigurer des paquets sans interaction sous Debian et Ubuntu
localectl, timedatectl et update-locale modifient la locale et le fuseau horaire sans boîte de dialogue en mode texte, et dpkg-reconfigure -f noninteractive relance la configuration debconf d'un paquet comme le ferait un script lors de l'installation initiale ; les deux sont utilisables dans des scripts de provisionnement sans terminal.
-
Données d'amorçage et fixtures pour bases de données locales : petites, idempotentes et versionnées avec le schéma
Séparer les données de référence (nécessaires partout), les données d'exemple (développement et démonstrations) et les données de test (créées par les tests) ; écrire le script d'amorçage comme du code idempotent avec des upserts sur des clés naturelles, garder le jeu d'exemples petit et nommé, l'exécuter après les migrations à la fois dans le script d'installation et en intégration continue, et ne jamais amorcer les machines de développement à partir de données de production brutes.
-
Suivre les actions issues des post-mortems jusqu'à leur clôture : tickets de suivi, responsable unique et revue par ancienneté
Le Site Reliability Workbook avertit que, sans processus de suivi formel, les actions issues des post-mortems sont souvent oubliées ; donner à chaque action un ticket de suivi, un seul responsable, un type et une priorité, revoir les actions ouvertes par ancienneté selon un calendrier, et traiter une action en retard comme une décision à prendre plutôt que comme une ligne à ignorer.
-
Comment reproduire une observation de consommation d'eau d'un ménage ?
Demande ouverte d'un protocole d'observation borné, sans affirmation sur les économies d'eau.
-
Le traçage distribué en bref : spans, identifiants parents et W3C Trace Context
Une trace est un arbre de spans, chacun avec un identifiant de trace, son propre identifiant de span, un identifiant de span parent, des horodatages, des attributs et un statut ; l'en-tête W3C traceparent transporte l'identifiant de trace, l'identifiant parent et un indicateur sampled au-delà des frontières de processus, et un service qui se contente de retransmettre les deux en-têtes garde malgré tout les traces cohérentes.
-
Passes render graph d'Unity URP : déclarer les dépendances avant de dessiner
Concevez les passes URP personnalisées autour d'entrées et de sorties explicites, et migrez les anciennes passes en vous appuyant sur la documentation correspondant au moteur et au package installés.
-
Balises de langue : BCP 47 dans le contenu et les API
Les balises de langue combinent un code de langue ISO 639 avec des sous-balises facultatives de script et de région (de, de-CH, zh-Hant) ; les utiliser pour les déclarations de langue du contenu, les attributs lang en HTML et les filtres d'API, et les valider plutôt que d'accepter du texte libre.
-
Unreal Gameplay Ability System : activation, effets et commit des capacités
Séparer l'exécution d'une capacité des modifications d'attributs et de la présentation, puis définir à quel moment le coût, le temps de recharge et l'annulation prennent effet.
-
Concevoir une table de séries temporelles en ajout seul dans PostgreSQL
Stocker les mesures dans une table partitionnée par plage temporelle avec timestamptz, une clé composite de série et de temps, des index adaptés au schéma de requête (B-tree par série, BRIN pour les scans temporels sur toute la table) et une rétention mise en œuvre en détachant puis en supprimant des partitions plutôt qu'avec DELETE ; ces choix découlent du fait que les lignes arrivent dans l'ordre chronologique et repartent par tranches temporelles entières.
-
Annulation et délais en Go avec context.Context
Faire transiter un context.Context depuis la requête entrante à travers chaque appel susceptible de bloquer, dériver des contextes enfants avec WithTimeout ou WithCancel, toujours appeler la fonction d'annulation, et vérifier ctx.Done() dans les boucles afin qu'une déconnexion du client ou un délai dépassé arrête tout l'arbre de goroutines au lieu de les laisser s'exécuter.
-
Pagination de l'API Stripe et clés d'idempotence : starting_after, has_more et la fenêtre de 24 heures
Les endpoints de liste v1 de Stripe paginent avec les paramètres de curseur mutuellement exclusifs starting_after/ending_before (limit de 1 à 100, 10 par défaut) et un indicateur has_more, des assistants de pagination automatique des bibliothèques clientes permettant de parcourir toutes les pages. Les requêtes POST peuvent porter un en-tête Idempotency-Key dont Stripe rejoue le résultat enregistré pendant environ 24 heures, après quoi les clés peuvent être supprimées. Les requêtes limitées reçoivent un 429 avec un en-tête Stripe-Rate-Limited-Reason.
-
Tests à base de propriétés avec des entrées générées
Plutôt que des exemples choisis à la main, un test à base de propriétés énonce un invariant et laisse une bibliothèque générer de nombreuses entrées, en réduisant les échecs à des contre-exemples minimaux ; Hypothesis en est l'implémentation de référence pour Python.
-
Préparer la gestion des vulnérabilités CRA d’un fabricant : réception, preuves et délais de notification
Une proposition de protocole de préparation relie la réception des signalements de vulnérabilités et les dossiers de composants à la décision de notification au titre du CRA. Elle distingue l’obligation de notification déjà applicable en 2026 des exigences plus larges de gestion des vulnérabilités applicables en décembre 2027.
-
Diagnostiquer « No space left on device » quand df affiche de l'espace libre
ENOSPC a trois causes courantes en dehors d'un disque plein : l'épuisement des inodes, l'espace retenu par des fichiers supprimés qu'un processus a encore ouverts, et le pourcentage de blocs réservés sur les systèmes de fichiers ext. Vérifier df -i, lsof +L1 et la réserve du point de montage avant de supprimer quoi que ce soit.
-
Wave Function Collapse : contraintes locales et jouabilité globale
Générer des agencements de tuiles par réduction de domaines et choix pondérés, traiter explicitement les contradictions et valider les propriétés de jeu au-delà de la simple compatibilité locale.
-
Les principes agiles comme accords de travail concrets
Les douze principes qui sous-tendent le Manifeste agile deviennent utiles une fois traduits en accords d'équipe vérifiables : cadence de livraison, communication directe, rythme soutenable, excellence technique et réflexion régulière.
-
cgroups v2 sur l'hôte : vérifier le mode et lire les limites de ressources par unité
Les runtimes de conteneurs modernes et systemd s'appuient sur cgroups v2 (la hiérarchie unifiée) pour appliquer des limites de mémoire et de CPU. Cette méthodologie explique comment confirmer que l'hôte est en mode unifié, parcourir l'arborescence avec systemd-cgls et systemd-cgtop, et lire les limites effectives d'une unité ou d'un conteneur.
-
Échantillonner les compteurs de performance de Windows Server avec Get-Counter et les exporter en CSV
Get-Counter échantillonne des chemins de compteurs nommés à intervalle choisi, en continu ou sur un nombre fixe d'échantillons. Export-Counter (Windows PowerShell 5.1 uniquement) conserve tous les champs au format natif BLG, et relog convertit ensuite une capture en CSV, même sans la commande Export-Counter d'origine.
-
Pages 404 personnalisées et soft 404 : servir la page d'erreur avec le statut d'erreur
Une page 404 personnalisée n'aide les utilisateurs que si elle est servie avec le statut 404 ; une page « introuvable » servie avec un 200 est un soft 404 que les robots d'indexation continuent d'explorer et que les moteurs de recherche excluent. La directive error_page de nginx peut réécrire le statut (error_page 404 =200 ...), ce qui est exactement la manière dont les soft 404 sont créés par accident ; conserver le statut, rendre la page utile, et vérifier avec curl -I.
-
Simulation et confirmation dans les scripts d'administration : -WhatIf/-Confirm en PowerShell et option --dry-run en shell
PowerShell fournit nativement SupportsShouldProcess, qui dote une fonction personnalisée de vrais commutateurs -WhatIf et -Confirm, reliés au même appel $PSCmdlet.ShouldProcess() que celui des cmdlets intégrées. Les scripts shell n'ont pas d'équivalent natif : une option --dry-run doit être transmise manuellement.
Lisible par machine : JSON