Tous les articles
-
Modèle de méthode reproductible
Un plan réutilisable pour une méthode dont une autre personne contributrice peut examiner le résultat.
-
Texte de corps lisible : mesure, hauteur de ligne et contraste
Trois propriétés déterminent si un long texte peut être lu confortablement : la longueur de ligne (le critère AAA des WCAG la plafonne à 80 caractères), l'interlignage (un espacement d'au moins 1,5 fois la taille de police doit rester possible sans casser la mise en page) et le contraste (4,5:1 pour le texte normal, 3:1 pour le grand texte). Les définir en unités relatives permet aux personnes qui utilisent le site de redimensionner et de réespacer le texte.
-
Lire et modifier l'état des services avec la Service Management Facility : svcs et svcadm
SMF est l'équivalent Solaris de la gestion des unités systemd. svcs -a/-x/-l lisent l'état et repèrent les problèmes, svcadm enable/disable/restart/refresh le modifient, -t rend un changement temporaire, et svcadm clear remet en service une instance bloquée en maintenance.
-
Calibrer un résultat de scanner avec un scénario de test vulnérable et son jumeau sûr
Déterminer si un scanner de sécurité distingue effectivement le comportement qu'il prétend détecter. Cette méthode originale utilise des scénarios de test contrôlés pour interpréter un résultat, non pour certifier le scanner ni classer des produits.
-
Prévenir les injections SQL avec des requêtes paramétrées
Ne jamais construire du SQL en concaténant des chaînes non fiables ; passer les valeurs comme des paramètres afin que le pilote les envoie séparément de l'instruction, et établir une liste blanche pour tout identifiant qui doit rester dynamique.
-
Context7 CVE-2026-75130 : correction du service hébergé et règles personnalisées non fiables
Context7 indique que la vulnérabilité Custom Rules a été corrigée sur ses serveurs en février 2026. Sa clarification d’octobre conteste une interprétation de la CVE fondée sur la version du client ; les réponses documentaires doivent toujours rester distinctes de l’autorité accordée à l’agent.
-
Modules ES contre CommonJS dans Node.js
CommonJS utilise require de façon synchrone et module.exports ; les modules ES utilisent import/export statiques, le await de premier niveau et import.meta. Node décide par fichier selon l'extension et le champ type du package.json le plus proche ; les modules ES exigent l'extension complète des fichiers et ne disposent ni de __dirname ni de require, dont les remplacements sont documentés.
-
Gérer les secrets en dehors du dépôt
Les identifiants doivent se trouver dans une configuration protégée injectée à l'exécution, jamais dans le contrôle de source, les images ou les journaux ; les faire tourner selon un calendrier et en cas de suspicion, et en attribuer un jeu distinct à chaque service.
-
Variantes d'expressions régulières : BRE/ERE, PCRE2, RE2, JavaScript, Python et .NET comparés
Les caractères + ? | ( ) { } sont littéraux ou spéciaux selon qu'un outil utilise la syntaxe POSIX BRE ou ERE. Les assertions de contexte (lookaround) et les références arrière sont prises en charge par certains moteurs et volontairement refusées par RE2 pour garantir une correspondance en temps linéaire, tandis que les groupes nommés existent sous trois graphies que les moteurs acceptent selon des combinaisons différentes.
-
Noms de paquets hallucinés et similaires : vérifier une dépendance avant qu'un agent ne l'installe
Les modèles générateurs de code nomment parfois des paquets qui n'existent pas ; un attaquant peut enregistrer un tel nom, et les typosquatteurs enregistrent des variantes proches de paquets populaires. Avant l'installation, un agent doit confirmer que le paquet existe, qu'il correspond bien au projet visé et qu'il n'a pas été récemment enregistré sous un nom prêtant à confusion.
-
Administrer les paquets snap sur Ubuntu : mises à jour, blocages, confinement et suppression sûre
snapd actualise automatiquement les snaps installés plusieurs fois par jour ; l'administrateur garde la main avec snap refresh --hold ou avec les options système refresh.timer et refresh.hold, vérifie le niveau de confinement avant de confier un large accès à un snap, et peut le supprimer en conservant par défaut un instantané de récupération pendant 31 jours.
-
Réviser du code écrit par un agent d'IA
Un protocole de révision proposé pour les modifications générées : comparer le diff avec la demande, confirmer l'existence de chaque API et dépendance, vérifier les affirmations sur les tests en les exécutant et en les mettant en échec, lire les tests avant l'implémentation, traquer les erreurs avalées, et consigner ce qui a été vérifié.
-
Rédiger le compte-rendu d'une petite réparation avec une incertitude explicite
Une structure proposée pour le compte-rendu d'une réparation sans danger : symptôme, vérifications avec résultats attendus et observés, modification effectuée, disparition ou non du symptôme, et ce qui reste non prouvé ; évite d'affirmer qu'une réparation non testée est sûre.
-
Introduction à z/OS : espaces d'adressage, datasets, catalogues, JES2 et ce que voit une session SSH dans USS
z/OS répartit le travail en espaces d'adressage plutôt que dans une table de processus unique, stocke les données dans des datasets catalogués plutôt que dans une seule arborescence de fichiers, et met en file d'attente le travail batch via JES2 ; une session SSH dans z/OS UNIX System Services (USS) n'est qu'un espace d'adressage de plus, avec sa propre vue, et non une fenêtre sur tout le système.
-
Décalages de texte en JavaScript : distinguer unités UTF-16, points de code et caractères visibles
Nommer l'unité du décalage à chaque frontière d'éditeur ou d'API, et convertir délibérément avant de découper le texte.
-
La négociation Accept-Language et ses limites
Accept-Language porte une liste pondérée de plages de langues (da, en-gb;q=0.8, en;q=0.7) ; le serveur la confronte aux langues dont il dispose au moyen du filtrage ou de la recherche (lookup) de la RFC 4647, répond avec Content-Language et Vary: Accept-Language, et doit se rabattre intelligemment lorsque l'en-tête est absent (Googlebot n'en envoie aucun) ou erroné (la locale d'un appareil n'est pas le choix du lecteur). À utiliser pour une première estimation, pas comme unique sélecteur.
-
Hyper-V avec PowerShell : machines virtuelles, points de contrôle et pourquoi un point de contrôle n'est pas une sauvegarde
Get-VM et la structure d'un appel à New-VM, la différence entre points de contrôle standard et de production, Export-VM pour déplacer une VM, les services d'intégration et l'option -ExposeVirtualizationExtensions qui active la virtualisation imbriquée.
-
« Too many open files » (EMFILE) et la limite de descripteurs de fichiers
EMFILE, signalé par « Too many open files », indique qu'un processus a atteint sa propre limite de descripteurs de fichiers ouverts simultanément, documentée sous le nom RLIMIT_NOFILE. L'article explique comment distinguer une vraie fuite de descripteurs d'une limite simplement trop basse, et comment la relever au niveau du shell, de PAM et de l'unité systemd.
-
Label shift : détecter et corriger l'évolution des proportions de classes
Estimer l'évolution des probabilités a priori des classes uniquement sous une hypothèse explicite de label shift, vérifier l'identifiabilité et distinguer l'estimation des a priori de la correction calibrée des probabilités a posteriori.
-
Vérifier le cycle de vie du support d'un système d'exploitation avant d'automatiser des opérations sur celui-ci
Automatiser des workflows de correctifs, de mise à niveau ou de conformité sur un hôte dont le support est déjà terminé donne une fausse assurance : plus aucun correctif de sécurité ne viendra, quoi que rapporte l'automatisation. Cette méthodologie indique où chaque grand éditeur publie ses dates de cycle de vie et comment intégrer une vérification de fin de vie (EOL) dans une étape préalable.
Lisible par machine : JSON