veilletech.fr
2 nov.

Source · 73 jours de veille

DEV Community

Ce qui a été retenu de cette source, et sur quels thèmes. Chaque fiche est une synthèse originale et renvoie à l'article d'origine.

28fiches
21jours sur 73
76min de lecture
Sécurité · PHP & CMS · IA & LLM · Web & Front · Cloud & Ops · Données · Outils & méthode · Langages & OSthèmes

Nemotron Bolt : les 24 Go annoncés, mesurés

InferenceKey a déployé Nemotron 3.5 Bolt 74B-A9B sur une seule A40 avec llama.cpp et publié ses mesures : 27 Go occupés lecteur d'images et drafter compris, contre les 23,83 Go annoncés hors lecteur d'images. Le drafter double le débit sur prompts courts mais pénalise les longs documents, et le modèle exige du code llama.cpp du 15 octobre.

29 oct.4 min

IA

Google OAuth : DPoP lie le refresh token à une clé

Google permet de lier un refresh token OAuth à une clé via DPoP (RFC 9449), annoncé le 15/10 ; seuls les refresh tokens sont liés, l'access token reste un Bearer. Un développeur a mesuré le comportement réel le 19/10 (Node 24.22.0, jose 6.2.12) : exemple officiel signé en DER, nonce accepté plusieurs fois, preuve rejouable près d'une heure, clé non extractable impossible à sauvegarder. Ce sont les mesures d'une seule personne ; son signalement à Google a été classé Won't Fix.

20 oct.4 min

OAUTH

REA : 170 outils MCP pour piloter Ghidra

REA (rea-agents 6.4.0, licence MIT) expose 170 outils MCP pour piloter Ghidra, Hopper ou IDA depuis un agent ; chaque réponse porte l'empreinte du binaire, un niveau de confiance et ses limites. Un test indépendant sur un binaire de 30 lignes a retrouvé la clé de 13 octets, au prix de 740 Mo de dépendances, de démarrages à froid de 20 à 30 s et d'appels Ghidra de près de 3 minutes.

19 oct.4 min

MCP

Agent navigateur : la capture d'écran coûte 5× plus

Une équipe a mesuré, dans ses propres journaux Claude Code, ce que coûtent en jetons les appels d'un agent navigateur : un retour avec capture d'écran pèse une médiane de 1 855 jetons contre 373 en texte, et ces captures font 49 % de la consommation de l'outil. Un outil qui renvoie la page en texte économise environ 27 % par appel sur 9 sites. Mesure de terrain, pas un banc d'essai.

15 oct.2 min

MESURE

AREX-2 : la config promet une tête MTP absente

En comparant AREX-2 (27 B, BAAI, Apache 2.0) à Qwen3.8-27B, un billet montre qu'un fine-tune de même architecture ne se sert pas avec la même commande : sa config déclare une tête MTP dont l'index safetensors ne contient aucun tenseur, et le drafter DFlash2 vise le modèle de base. Il rappelle aussi que le FP8 est lent sur Ampère. Les auteurs n'ont pas fait tourner AREX-2 eux-mêmes.

15 oct.4 min

LLM

EDGAR : le suffixe Z n'est pas toujours UTC

Dans l'API submissions de la SEC, le champ acceptanceDateTime porte un Z qui annonce de l'UTC, mais l'heure est plus tardive de 4 h (heure d'été) ou de 5 h (heure d'hiver) pour 13 des 25 sociétés mesurées. Un même formulaire 4 d'Apple affiche deux heures selon qu'on lit le fichier de l'entreprise ou celui du dirigeant. Mesure d'un seul auteur le 11 octobre : la cause, des fichiers reconstruits début octobre, reste une hypothèse.

12 oct.3 min

MESURE

MCP : trois réponses à un outil qui n'existe pas

Un développeur a demandé un outil inexistant à onze serveurs MCP et relevé trois formes de réponse : erreur JSON-RPC -32602, résultat avec isError à vrai, et succès HTTP 200 dont le texte porte l'erreur, que seul un client prudent détecte. Six cibles répondent -32602, comme l'exemple de la spécification. Mesure d'un auteur isolé, sur des serveurs non indépendants : un relevé, pas une norme.

11 oct.4 min

MCP

Coolify sur un VPS à 6 $ : ça tient, avec 2 Go de swap

Few Servers a installé Coolify sur un droplet DigitalOcean à 6 $ (1 vCPU, 1 Go de mémoire), sous le minimum de 2 Go indiqué par la documentation. Ça fonctionne pour une ou deux petites applications, à une condition : un fichier d'échange de 2 Go, sans lequel le premier build fait intervenir l'OOM killer.

4 oct.3 min

DOCKER

MCP : 7 % des serveurs parlent la révision de juillet

La révision MCP 2026-07-28 supprime la poignée de main initialize et l'en-tête Mcp-Session-Id, et ajoute server/discover. Un recensement indépendant (Pennyforge) montre que 8 serveurs distants sur 109 qui répondent acceptent ce nouvel appel, et que les serveurs npm les plus connus parlent encore la révision 2025-06-18. Un client limité à la nouvelle révision perdrait l'essentiel de l'écosystème sans voir d'erreur.

2 oct.3 min

MCP

ClickHouse remplit le disque avec ses propres logs

Sur un Langfuse, un SigNoz ou un ClickStack auto-hébergé, le disque se remplit surtout des tables de logs de ClickHouse, comme system.trace_log et system.text_log, dont la croissance est illimitée par défaut. Un guide testé sur ClickHouse 24.8, 25.12 et 26.9 détaille le diagnostic, le nettoyage et la durée de conservation à poser, avec les pièges qui bloquent le TRUNCATE ou le redémarrage.

26 sept.3 min

DEVOPS

Batch API : 112 jobs sur 1842 jamais revenus

Un développeur publie le bilan de 30 jours sur l'API Batch d'Anthropic : sur 1 842 requêtes, 112 n'ont jamais donné de résultat exploitable, sans qu'aucune erreur ne remonte. La cause est un contresens sur le statut du lot, doublé d'un appariement des résultats par position alors qu'ils reviennent dans un ordre arbitraire.

20 sept.3 min

IA

L’hébreu, le test qui dit si votre i18n tient

Le retour d'une équipe sur l'ajout de l'hébreu comme onzième langue : 1 458 clés côté serveur, dix pages qui basculent leur attribut dir, et une direction rendue côté serveur pour éviter le clignotement. L'enseignement transférable est que l'internationalisation se tient par des tests, pas par un fichier de traduction.

20 sept.2 min

WEB

NocoBase met à jour par clé, pas par filtre

Sur NocoBase 2.2.7, une mise à jour conditionnelle exécute un SELECT avec le filtre, collecte les clés primaires, puis émet les UPDATE sur ces clés — la condition n'atteint jamais l'instruction de mise à jour. Une ligne qui cesse de remplir la condition pendant l'opération est modifiée quand même : cinq fois sur cinq sur un test de 10 001 lignes. Le signalement dort sur le forum officiel depuis le 4 septembre.

13 sept.3 min

POSTGRES

Safari rend un PNG quand vous demandez du WebP

Sur Safari, `canvas.toBlob(cb, 'image/webp')` ne lève pas d'erreur : la spécification HTML impose de retomber sur `image/png` quand le type demandé n'est pas supporté. On livre donc un PNG portant l'extension `.webp`, sans qu'aucun signal ne le dise. Le reste de la chaîne de conversion côté client accumule le même genre de défaillances muettes.

7 sept.3 min

FRONT

Redémarrer Linux sans repasser par le firmware

`systemctl soft-reboot` relance tout l'espace utilisateur en gardant le noyau en place : ni firmware, ni bootloader, ni initrd. Disponible depuis systemd 254, il couvre le cas fréquent d'une mise à jour de paquets qui n'a pas touché au noyau, et ramène l'interruption à un redémarrage du gestionnaire de services.

7 sept.3 min

LINUX

Le démon qui tourne et ne signe rien

Post-mortem d'un relais de courrier dont Gmail rejetait tout : pas d'enregistrement SPF valide (seulement un vieux SenderID), un PTR dont la résolution directe ne revenait pas sur l'IP d'envoi, et un OpenDKIM qui ne signait rien sans écrire la moindre ligne de journal. La cause finale tenait en un mot de configuration : refile: au lieu de file:.

6 sept.3 min

DEVOPS

Chrome traduit, React démonte tout

Chrome ne traduit pas un nœud de texte, il le remplace par un wrapper <font> et détache l'original — que la fibre React continue de référencer. D'où le NotFoundError sur removeChild, et surtout un gel silencieux quand React écrit dans un nœud qui n'est plus dans le document. Mesures reproductibles à l'appui (Chrome 151, relevés du 02/09/2026), et un garde-fou populaire qui aggrave le problème.

4 sept.2 min

FRONT

559 CLAUDE.md : 63 % ne sont pas des règles

Un corpus de 559 fichiers de règles d'agents publics montre que 62,9 % de leur contenu n'est pas une directive mais de la documentation, et que 56,5 % des vraies règles ne sont vérifiables par aucun outil. La proportion n'a bougé que de 2,5 points entre 40 et 559 fichiers.

2 sept.2 min

MESURE

@fastify/jwt : la clé globale écrase la vôtre

Dans @fastify/jwt avant la 10.2.2, la clé passée à request.jwtVerify({ key }) est écrasée par le secret configuré globalement sur le plugin. Une route qui exigeait une clé de vérification distincte accepte donc les jetons signés avec la clé globale. NVD note la faille 8.1 HIGH.

31 août1 min

SÉCURITÉ

Accelerate : un index de poids lit vos fichiers

Hugging Face Accelerate ne vérifie pas les chemins listés dans la table weight_map d'un index de checkpoint découpé. Un index piégé fait lire un fichier arbitraire du système, ou bloque le chargement en pointant vers un tube nommé. Toutes les versions jusqu'à 1.14.0 sont touchées et aucun correctif n'existe encore.

31 août2 min

SÉCURITÉ

Le echo qui avalait tous vos codes de sortie

Une ligne de journal du type echo "[$(date)] done (exit $?)" ne peut jamais rapporter autre chose que zéro : la substitution de commande est évaluée avant $? et écrase le code de sortie. L'auteur a passé 28 heures avec des journaux entièrement verts pendant qu'aucun de ses 171 jobs launchd ne faisait son travail.

31 août2 min

DEVOPS

MCP : « lecture seule », mais qui a vérifié ?

Dans MCP, l'annotation readOnlyHint est écrite par le serveur qu'elle est censée qualifier, et certains harnais s'en servent pour décider s'il faut demander l'accord de l'utilisateur. Airlock, publié sous licence MIT, teste les déclarations contre le comportement observé et interpose ensuite un proxy qui applique la politique côté réseau.

30 août3 min

MCP

zram et oomd : un petit VPS qui ne rame plus

Sur un VPS de 1 à 8 Go, la saturation mémoire se traduit par un thrashing qui rend la machine injoignable avant tout OOM kill. Un swap compressé en RAM (zram) et une décision d'éviction pilotée par la pression (systemd-oomd) évitent les deux, avec quatre fichiers de configuration.

28 août3 min

LINUX

SAML WordPress : moins un vaut vrai, et on entre

Deux vulnérabilités du plugin miniOrange SAML SSO pour WordPress permettent de forger une réponse SAML et d'obtenir un cookie d'administrateur. La seconde tient à une erreur PHP élémentaire : le retour -1 d'openssl_verify, évalué comme un booléen, est vrai.

25 août2 min

PHP

SSE en Go : vos délais ne couvrent pas tout

Un flux SSE est une requête qui ne se termine jamais, et les défauts d'un serveur Go la traitent comme une requête lente : en-tête Connection illégal en HTTP/2, délais coupant à 30 secondes, et blocage du reste de la page en HTTP/1.1.

24 août2 min

GO

Le découpage, décision la plus sous-estimée du RAG

Dans une chaîne RAG, le découpage des documents est traité comme un détail de configuration alors qu'il conditionne la qualité de chaque réponse : une règle coupée de sa condition produit une réponse fausse et assurée.

24 août2 min

RAG

La régression de 2x qui n'existait pas

Une équipe a failli publier une régression de 2 à 4x qui n'existait pas : le même binaire, sur la même machine, avec la même requête, donnait des résultats différents selon l'heure de la journée.

24 août2 min

MESURE

Slate : le style shadcn pour Laravel, en Blade

Slate est un kit d'interface Blade inspiré de shadcn pour Laravel : un paquet Composer, Tailwind 4, compatible Livewire, sans React ni fichiers déversés dans le projet. La version 3 est en alpha.

21 août2 min

LARAVEL