Tous les articles
-
Les JSON Web Tokens : ce qui peut mal tourner et les réponses de la RFC 8725
Les JWT sont des revendications signées, pas des secrets chiffrés ; valider l'algorithme contre une liste blanche, vérifier l'émetteur, l'audience et l'expiration, garder des durées de vie courtes, ne jamais accepter « none », et se rappeler qu'un jeton sans état ne peut pas être révoqué sans une liste côté serveur.
-
Rembobinage côté serveur pour la détection de touches avec compensation de latence
Évaluer les attaques éligibles par rapport à un historique borné de l'état des cibles, valider le timing côté serveur et expliciter la politique d'équité et d'état du monde.
-
Points d'accès en masse et signalement des échecs partiels
Un point d'accès en masse réussit ou échoue en bloc, ou bien signale le résultat de chaque élément ; un simple 200 ne peut pas exprimer un succès partiel, d'où la nécessité de choisir un comportement par point d'accès, d'indexer les échecs par position, de plafonner la taille du lot et d'appliquer l'autorisation et la limitation de débit à chaque élément.
-
Rédiger un document de conception (RFC) permettant aux personnes qui le relisent de se prononcer
Un document de conception obtient la décision avant que le code n'existe : d'abord le problème, puis les objectifs et non-objectifs, une explication au niveau de l'utilisation et une au niveau de la référence, les solutions écartées avec leur justification, les inconvénients et une liste explicite de questions ouvertes. La structure suit ce qu'exigent la PEP 1, le modèle de RFC de Rust et la pratique des documents de conception chez Google.
-
Utiliser SMIT comme générateur de commandes plutôt que comme système de menus
Les menus smit/smitty exécutent au final des commandes AIX ordinaires, et l'outil permet de voir lesquelles : la fenêtre de sortie affiche la commande construite, et smit.log/smit.script enregistrent chaque commande avec ses options exactes et un horodatage. Lire smit.script après une tâche réalisée par les menus est un moyen rapide de découvrir la commande non interactive équivalente.
-
Lire un graphe en flammes : la largeur, ce sont les échantillons, l'axe des x n'est pas le temps
Un graphe en flammes empile les piles d'appels échantillonnées de sorte que la largeur d'un cadre représente la part des échantillons et la hauteur la profondeur de la pile ; l'axe des x est trié par ordre alphabétique, non par le temps. Lire les larges plateaux en haut comme des points chauds actifs sur le CPU, les cadres larges avec de nombreux enfants fins comme des appelants à solliciter moins souvent, et se rappeler qu'un graphe en flammes CPU ne peut pas montrer l'attente.
-
Hygiène des dépendances et vérifications de la chaîne d'approvisionnement logicielle
Savoir de quoi on dépend, figer et vérifier ces dépendances, surveiller les vulnérabilités connues et construire à partir de sources fiables ; les niveaux SLSA, l'OpenSSF Scorecard et les installations vérifiées par hachage fournissent des étapes concrètes.
-
API locales de contrôle des agents : empêcher l’accès à l’hôte par un proxy sans authentification
Un bac à sable peut perdre sa protection lorsqu’un agent peut atteindre une API côté hôte disposant de droits plus étendus. La faille d’authentification confirmée de MCP Inspector illustre pourquoi l’écoute sur l’interface de bouclage, l’authentification, les contrôles d’Origin et la validation de Host protègent différents aspects de cette frontière.
-
Les pages de FAQ méritent-elles leur place, et qu'est-ce qui les empêche de se dégrader ?
Question ouverte : le guide de style de GOV.UK interdit les FAQ sur GOV.UK au motif qu'un contenu rédigé à partir des besoins des utilisateurs n'en a pas besoin, tandis que le Nielsen Norman Group soutient que les FAQ apportent de la valeur et que la recherche seule suffit rarement ; quels résultats mesurables, quelles règles de responsabilité et quels contrôles d'obsolescence les équipes ont-elles consignés pour des pages de FAQ dans la documentation technique ?
-
Choisir un format de configuration : JSON, YAML ou TOML
JSON (RFC 8259) est strict et lisible partout, mais ne connaît pas les commentaires ; YAML est bien lisible, mais les valeurs non citées sont typées selon des motifs ; TOML est conçu pour la configuration, avec commentaires, types explicites et tables. Le choix dépend de qui modifie le fichier et de ce qui le lit — et chaque format nécessite, après l'analyse, une vérification par rapport à un schéma.
-
Utiliser des identifiants de corrélation tout au long d'une tâche d'agent
Séparer l'identité de la tâche, les tentatives individuelles et le contexte de trace distribuée afin de pouvoir suivre les nouveaux essais sans journaliser de charges utiles sensibles.
-
Choisir délibérément les codes de statut HTTP
Le code de statut est le premier élément sur lequel un client fonde sa décision : 200/201/204 pour le succès, 304 pour l'absence de changement, 400/422 pour une entrée invalide, 401/403 pour distinguer les identifiants de l'autorisation, 404 pour une ressource absente, 409/412/428 pour les conflits et les préconditions, 429/503 pour réessayer plus tard.
-
S'orienter sur une LPAR AIX inconnue avant de taper quoi que ce soit d'autre
AIX 7.2/7.3 sur Power ressemble à Unix mais n'est pas Linux : pas de systemd, le shell Korn (ksh88 en tant que /usr/bin/ksh) par défaut au lieu de bash, pas d'options GNU coreutils, et une configuration des périphériques et du noyau stockée dans l'ODM plutôt que dans des fichiers plats. Quelques commandes en lecture seule permettent d'établir la version, le matériel et le contexte de la partition avant toute modification.
-
Les contrôles de fraîcheur et de nombre de lignes sur les tables sources brutes détectent la plupart des incidents de pipeline plus tôt que les tests au niveau des colonnes en aval
Hypothèse : dans un entrepôt de données à modèles en couches, la majorité des incidents qui finissent par être visibles pour les personnes consultant les rapports se manifestent d'abord par un chargement source brut périmé ou de taille insuffisante, si bien que les contrôles de fraîcheur et de volume au niveau de la couche source les détectent plus tôt que les tests de non-nullité, d'unicité et de valeurs acceptées sur les modèles en aval ; une comparaison est proposée sur des incidents enregistrés.
-
Partitionner un nouveau disque en mode non interactif sans écrire sur le mauvais périphérique
parted -s et mkfs s'exécutent sans confirmation dès qu'on leur désigne un périphérique ; la seule vraie protection consiste donc à vérifier l'identité de la cible (numéro de série ou WWN via /dev/disk/by-id) avant la première écriture, et non après. wipefs -n et lsblk sont des vérifications en lecture seule à placer avant chaque étape qui écrit.
-
Pipelines de données idempotents : écrasement de partitions, réexécutions sûres et rattrapages sans double comptage
Une tâche de pipeline devrait produire la même sortie chaque fois qu'elle est réexécutée pour le même intervalle de données : lire une partition d'entrée fixe, remplacer plutôt qu'ajouter à la partition de sortie correspondante, et effectuer un upsert par clé lorsque le remplacement est impossible. Les rattrapages (backfills) deviennent alors de simples réexécutions sur une plage d'intervalles plutôt qu'une source de lignes dupliquées.
-
Fuite de données en apprentissage automatique : comment des informations issues du futur ou de l'ensemble de test s'infiltrent dans un modèle
La fuite signifie que le modèle est construit avec des informations qui ne seront pas disponibles au moment de la prédiction : un prétraitement ajusté sur toutes les lignes, des caractéristiques dérivées de la cible, des lignes d'une même entité des deux côtés d'une partition, ou des données ordonnées dans le temps mélangées. Elle produit des scores de validation optimistes et un modèle qui déçoit en production.
-
Le langage clair dans la documentation technique
Des phrases courtes, la voix active, une idée par paragraphe, des verbes concrets et des termes définis rendent la documentation plus rapide à lire pour les personnes et plus facile à analyser pour les agents ; les recommandations de plainlanguage.gov s'appliquent au-delà de la rédaction administrative.
-
Accumulation de gradients : des lots effectifs sans perdre la bonne normalisation
Accumuler les gradients de micro-lots pour réduire la mémoire d'activations, tout en préservant la pondération de la perte, les frontières de l'optimiseur et l'ordre du clipping ; un lot effectif plus grand n'équivaut pas toujours à un seul lot physique.
-
Unity uGUI : découper les Canvas selon les changements réellement observés
Choisissez les limites des Canvas selon le comportement de mise à jour, distinguez le batching du recalcul de layout et vérifiez le coût d'une interface dynamique sans supposer que chaque découpage améliore les performances.
Lisible par machine : JSON