Programmez

Le fil de programmez.com

  • Ubuntu 26.10 propose plusieurs évolutions pour la sécurité et les développeurs :

    - transcription vocale en respectant la vie privée avec Myna

    - signature post-quantique des paquets

    - achévement du déploiement des uutils et coreutils écrits en Rust

    Naturellement, Ubuntu embarque une évolution du noyau en intégrant Linux 7.3 et prendre en charge les dernières évolutions hardware (Intel Xe3P, Amd Zen 6, NVIDIA 615). Cette version met à jour la stack développeur : LLVM 22.1.6, GCC 15.2.0, Python 3.14.7, Rust 1.97.1, Zig 0.16, and Go 1.27. Ubuntu intègre aussi Spring AI pour Ubuntu Desktop. 

    Ubuntu 26.10 correspond aussi à la disponibilité de Devpack for Rust. Devpack est un ensemble d'outils pour Rust : toolchain complète, IDE et utilitaires. 

    Pour installer, une commande suffit : sudo snap install devpack-for-rust --classic

    GitHub Devpack for rust : https://github.com/canonical/devpack-for-rust/tree/main

    Annonce : https://canonical.com/blog/canonical-releases-ubuntu-26-10-stonking-stingray

    Catégorie actualité: 
    Image actualité AMP: 
  • WordPress 7.2 Beta 1 est disponible depuis quelques jours. La version finale est attendue le 8 décembre 2026. WordPress recommande de tester sur un site de tests ou dans WordPress Playground, dans le navigateur, sans rien installer. 

    Côté développeurs, trois API retiennent l'attention :

    -       La Secrets API offre « une manière standardisée et sécurisée de stocker des identifiants sensibles comme les clés d'API et les jetons d'authentification », avec chiffrement au repos, rotation des identifiants et fournisseurs de stockage personnalisables (Trac 66187). 

    -       L'Abilities API s'étend pour exposer et interroger les données de WordPress aux intégrations, à l'automatisation et aux outils d'IA (Trac 66268, 64605, 64657). 

    -       L'Interactivity API gagne des méthodes pour rendre du HTML de confiance et gérer la navigation réactive dans les blocs dynamiques (Trac 66246, Gutenberg PR 83092). La HTML API et les block supports sont aussi fiabilisés.

    Dans l'éditeur, les contrôles responsive par viewport s'étendent à de nouveaux blocs, dont la galerie (colonnes, recadrage, ratio). Les styles globaux reçoivent un filtre « Customized » pour retrouver les blocs dont le style a été modifié, et des outils pour styler les éléments de formulaire. Le text shadow arrive, réglable par bloc et déclarable en preset dans theme.json. Le Site Editor permet d'ajouter et d'organiser les éléments de navigation depuis la barre latérale. La médiathèque traite les images côté client : redimensionnement, compression et conversion de format dans le navigateur. Les Dashicons hérités sont remplacés par la bibliothèque d'icônes WordPress dans l'administration.

    Côté performance, dans la partie administration, les scripts et feuilles de style sont chargés individuellement plutôt que concaténés, pour utiliser le cache du navigateur, et un mécanisme de prefetch anticipe l'écran suivant, tableau de bord, liste des articles ou éditeur (Trac 57548). Les bugs se signalent sur le forum Alpha/Beta ou sur Trac. 

    Annonce : https://wordpress.org/news/2026/10/wordpress-7-2-beta-1-is-ready-for-download-and-testing/

    Actualité de la rédaction de Programmez!

    Catégorie actualité: 
    Image actualité AMP: 
  • La JEP 543, « Structured Concurrency », sera intégrée à JDK 28 : l'API StructuredTaskScope sort de preview et devient définitive, « sans autre changement » par rapport à JDK 27. C'est la fin du plus long cycle de preview d'un composant du projet Loom : incubation en JDK 19 (JEP 428) et 20, puis sept previews de JDK 21 à JDK 27.

    Le principe est de : traiter « des groupes de tâches liées, exécutées dans des threads différents, comme une seule unité de travail ». Avec ExecutorService et Future, une méthode peut rendre la main alors que ses sous-tâches tournent encore, et une erreur n'apparaît qu'au moment du Future.get(). 

    L'échec d'une sous-tâche déclenche l'interruption des autres (annulation coopérative : une sous-tâche qui ignore l'interruption retarde d'autant la fermeture), et le scope ne se ferme pas avant que tous ses threads soient terminés : plus de fuite de thread, et une pile d'appels lisible dans les dumps de threads.

    L'exemple de la JEP :

    Response handle() throws ExecutionException, InterruptedException {

        try (var scope = StructuredTaskScope.open()) {

            Subtask<String>  user  = scope.fork(() -> findUser());

            Subtask<Integer> order = scope.fork(() -> fetchOrder());

            scope.join();

            return new Response(user.get(), order.get());

        }

    } 

    Les deux appels partent en parallèle sur des threads virtuels ; join() attend les deux ; si findUser() échoue, fetchOrder() est annulé et l'exception remonte dans handle(). Les objectifs déclarés : « promouvoir un style de programmation concurrente qui élimine les risques courants, fuites de threads et délais d'annulation », et rendre le code concurrent observable.

     JDK 28 est attendu en mars 2027. Le code écrit contre la preview de JDK 27 compile tel quel, sans le flag --enable-preview.

    JEP 543 : https://openjdk.org/jeps/543

    Actualité par la rédaction de Programmez!

    Catégorie actualité: 
    Image actualité AMP: 
  • Une boîte de 10 nouveaux interrupteurs est proposée : MX Experience Box 2e édition. Ce sont des touches pour personnaliser, étendre l'usage des claviers MX Illuma RED / Brown et Emerald Reef. Les MX Illuma proposent une stabilité de la stable avec éclairage LED spécifique. Le coffret couvre un éventail de caractéristiques et de profils sonores, permettant une comparaison directe du ressenti de frappe et des niveaux de bruit. Tous les interrupteurs inclus adoptent un format 5 broches et peuvent être testés dans des claviers hot-swap compatibles. Ils sont livrés dans un emballage en carton sans plastique qui protège également les broches de contact pendant le transport.

    10 switches CHERRY MX sélectionnés Notre CHERRY MX EXPERIENCE BOX revient pour une deuxième édition : la 2nd Edition comprend elle aussi 10 switches soigneusement sélectionnés à tester et à découvrir. Explorez et comparez les caractéristiques de commutation tactiles, linéaires et silencieuses afin de trouver le switch CHERRY qui vous convient le mieux. 

    Site : https://www.cherry.de/fr-fr/produit/cherry-mx-experience-box-2nd-edition

    Catégorie actualité: 
    Image actualité AMP: 
  • Open for AI est une initiative lancée par l'éditeur Tenable, spécialisé dans la cybersécurité. Ce programme doit permettre d'accélérer l'analyser des risques cyber avec l'IA. Cette nouvelle approche permet aux équipes de sécurité de croiser les données d’exposition de Tenable avec celles de leurs autres solutions de cybersécurité, directement depuis les outils et agents IA de leur choix, sans dépendre d’une plateforme propriétaire. Avec 12 partenaires au lancement, dont SentinelOne, Splunk, Snyk, Corelight et BeyondTrust, Tenable propose des workflows d’IA permettant notamment de contextualiser les alertes, d’identifier les vulnérabilités réellement présentes en production et de prioriser les actions correctives.

    En reliant le serveur MCP Tenable Hexa AI aux serveurs MCP de ses partenaires, les clients peuvent interroger simultanément des données provenant de plusieurs fournisseurs à partir de leurs outils d’IA habituels. Les cas d’usage sont proposés sous forme de workflows documentés, reproductibles avec l’outil choisi, ou de compétences prêtes à l’emploi sur CyberAgents Exchange, la place de marché d’agents d’IA indépendante des fournisseurs de Tenable.

    Parmi les premiers cas d’usage disponibles :

    • Avec SentinelOne, les équipes peuvent analyser en langage naturel les alertes, les actifs vulnérables et les erreurs de configuration depuis une interface unique, afin de disposer d’une vision contextualisée des risques.
    • Avec Corelight, elles peuvent croiser la télémétrie réseau avec les données actualisées de Tenable sur les actifs pour trier les menaces en cours et prioriser les investigations et les mesures correctives en fonction de leur périmètre d’impact potentiel.
    • Avec Snyk, elles peuvent vérifier si des vulnérabilités détectées dans le code sont effectivement présentes en production, afin de concentrer leurs efforts sur les expositions les plus pertinentes.
    • Avec BeyondTrust, elles peuvent associer les informations sur les comptes à privilèges, les sessions et les habilitations aux données d’exposition de Tenable pour identifier et prioriser les actifs les plus à risque.

    Pour en savoir plus : https://www.tenable.com/partners/technology/ai

    Catégorie actualité: 
    Image actualité AMP: 
  • Une nouvelle mise à jour de Visual Studio Code arrive : la 1.143. Cette version met par défaut le Copilot harness dans les sessions d’agent dans l’environnement. Il est construit sur le Copilot SDK. Quand vous démarrez une session, le harness est automatiquement en place et assure les échanges à travers les différents outils Copilot.

    Dans cette version, il est possible d’annuler les modifications et changements sur Branch Changes, Session Changes et Last Turn Change. Il faut sélectionner Discard Changes sur un fichier de la Change view ou plusieurs fichiers pour annuler. Attention : l’annulation des modifications dépend de l’ensemble des changements appliqués.

    Cette version propose aussi de gérer les certificats de confiance sandbox pour les hôtes agents sur macOS et Windows. L’éditeur veut aussi améliorer la visibilité des diagnostics sur les fichiers ayant beaucoup de remontées. Les limites passent de 500 à 5 000 diagnostics par fichier.

    Il est possible d’installer GitHub Copilot CLI avec VS Code.

    VS Code 1.143 propose plusieurs fonctionnalités expérimentales et en preview :

    • Comparer les résultats de modèles : comparer facilement des harness et des modèles pour une même tâche de codage
    • Barre d’outils Session Activity : il s’agit d’une barre verticale pour voir l’activité des sessions
    • Récupérer l’espace de stockage des worktrees inactifs
    • Exécuter les modèles Copilot sur votre machine : VS Code installe sur votre poste le modèle
    • Ouvrir des canvas depuis le menu chat

    Note de version : https://code.visualstudio.com/updates/v1_143

    Catégorie actualité: 
    Image actualité AMP: 
  • Electron 45.0.0 est désormais la version courante. La version 42 n’est pas supportée. La v45 embarque Chromium 156.0.8078.48, Node.js 24.22.0 et V8 15.6. 

    Cette nouvelle version apporte de nombreuses casses de compatibilités. Il faudra faire un travail rigoureux de tests avant toute migration en production. Citons par exemple :

    - Preload scripts des renderers sandboxés : Le retrait des modules globaux (events, timers, url, Buffer, etc.) pour optimiser le démarrage correspond aux efforts constants d'Electron pour renforcer l'isolation et la sécurité des contextes sandboxés.

    - Les workers ne reçoivent l'intégration Node.js que s'ils sont créés par une frame qui l'a activée. 

    - Fichiers ASAR et écriture : La lecture directe sans copie temporaire avec blocage strict de l'écriture en écriture empaquetée reflète fidèlement les modifications de robustesse du système de fichiers virtuel d'Electron.

    -  La contrainte chromeMediaSource: 'desktop' n'accepte plus que les identifiants d'écran et de fenêtres renvoyés par desktopCapturer.getSources() ; 

    -  Sécurité des captures (chromeMediaSource, display-capture) : Le resserrement des contraintes autour de desktopCapturer et le renommage des permissions vers display-capture s'accordent avec l'évolution des spécifications de sécurité des flux multimédias Chromium.

    - Les méthodes synchrones de safeStorage sont dépréciées, retrait prévu en Electron 46. 

    - L'API expérimentale contentTracing.enableHeapProfiling() est retirée au profit de l'option nativeHeapProfiling de contentTracing.startRecording(). 

    - Retrait des builds 32 bits (Windows ia32, Linux armv7l) et de l'option openAsHidden.

    Electron 45 propose aussi des améliorations et nouveautés :

    - L'intégration de l'API de sauvegarde/restauration de fenêtres, la gestion des passkeys iCloud via app.configureWebAuthn(), ou encore les ajouts pour Linux (app.setBadgeCount et win.setProgressBar via D-Bus) correspondent point par point aux ajouts recensés dans le journal des modifications de la v45; 

    - app.configureWebAuthn() pour les passkeys du trousseau iCloud sur macOS ; 

    - une propriété badge sur MenuItem (macOS 14 et plus) ; 

    - des boutons d'action dans les notifications Linux ; webFrameMain.printToPDF() pour imprimer une seule frame ; webFrame.getIsolatedWorlds() ; 

    - un champ initiatorOrigin sur les requêtes webRequest et des protocol handlers, et la méthode DownloadItem.getInitiatorOrigin() ; 

    - le code d'erreur système dans l'événement child-process-gone ; 

    - protocol.registerSource(), expérimental, pour servir un scheme personnalisé depuis un répertoire ; 

    - le support de la Prompt API via localAIHandler dans UtilityProcess. 

    - Sur macOS, autoUpdater écrit désormais les téléchargements sur disque, reprend les transferts interrompus et applique des deltas binaires. 

    - Sur Linux, app.setBadgeCount et win.setProgressBar reviennent via D-Bus.

    Cette version inclut aussi des dizaines de corrections de bug. 

    Source : https://releases.electronjs.org/release/v45.0.0

     

    Catégorie actualité: 
    Image actualité AMP: 
  • Visual Studio 2026 version 18.11 ajoute une option attendue et demandée : arrêter la compilation de toute la solution dès qu'un projet échoue. Mads Kristensen, qui la présente dans un billet du 15 octobre, résume le problème : quand un projet échoue, Visual Studio continuait de compiler les projets déjà dans la file, et le développeur attendait la fin pour corriger. Bref : du temps de perdu et une build pour rien. 

    L'option se localise dans : Tools > Options > Projects and Solutions > Build and Run, option : « Stop solution build after first failure ». Activée, elle vide la file des projets en attente et interrompt proprement ceux en cours. La build est alors rapportée comme échouée, pas annulée, un détail important pour les scripts et les outils qui lisent le résultat. L'arrêt vaut pour toute la solution, pas seulement pour les projets qui dépendent de celui qui a échoué. 

    Selon un benchmark de Microsoft sur une solution de test : après un échec, le temps restant passe d'environ 26 secondes à 1,5 seconde, soit 94 % de moins. Le gain dépend de la taille de la solution et de l'endroit où l'erreur survient.

    Le billet précise la portée : l'option règle le moment où un build échoué s'arrête ; elle ne change pas les réglages existants qui décident quels projets sont compilés.

    Annonce : https://devblogs.microsoft.com/visualstudio/stop-waiting-on-a-failed-build/

    Actualité de la rédaction de Programmez!

    Catégorie actualité: 
    Image actualité AMP: 
  • Les CVE-2026-109618 et 2026-109619 ont agité les communautés et de nombreux médias annonçaient l'arrêt d'Internet, le monde au bord du chaos, etc. La fondation PHP a retracé l'historique de ces failles. 

    Un audit détecte un problème dès 2024 !

    PHP fait l'objet d'un audit par outil de sécurité externe. Cela a pu se faire grâce à un financement spécial via OSTIF. L'audit est réalisé par Quarkslab. Des problèmes sont remontés. Dont un... "En corrigeant l'un des problèmes signalés par Quarkslab, un développeur du noyau PHP, sous contrat avec la Fondation PHP, a découvert les premiers signes du problème de mémoire (OOM) à l'origine de la CVE-2026-109618. En 2024, une exploitation potentielle de cette vulnérabilité a été envisagée, mais aucun vecteur concret n'a été trouvé et d'autres problèmes concrets, ayant un impact évident, ont éclipsé ces préoccupations."

    Pour résoudre ce problème de out of memory, l'équipe de sécurité PHP développe plusieurs solutions mais chaque proposition introduit des inconvénient dont :

    - casse de compatibilité

    - risque d'attaque par déni de service

    - nombreuses modifications d'extensions externes

    Durant plusieurs mois, l'équipe de sécurité ne parvient pas à se mettre d'accord, le développement est arrêté, relancé ou refait. La fondation est obligée d'admettre une défaillance interne de l'organisation : "Nous ne le nions pas : ce retard était dû à une défaillance structurelle, imputable à la fois au processus décisionnel de l’équipe de sécurité et à son manque de ressources. Depuis, l’équipe de sécurité a entrepris de modifier ses processus, et ce travail se poursuit, afin que les décisions soient prises à la majorité et que les compromis soient encouragés."

    Sauf que cette non-correction dure des mois. En mai 2026, la fondation crée une équipe de sécurité de l'écosystème PHP, en collaboration avec l'équipe de sécurité interne pour trier et donner les priorités... L'équipe est renforcée par plusieurs personnes.

    Début 2026, la fondation rappelle un problème avec Mythos pour tester PHP et la plateforme. Le 30 juillet 2026, un nouvel audit est lancé par Calif. 

    11 août : ""Ryan A., chercheur chez Calif, a signalé une exécution de code à distance inconditionnelle ayant la même cause que le problème de mémoire insuffisante (OOM) que nous avions découvert en 2024." Cela signifie que les failles out of memory de 2024 sont toujours là.

    24 août et 18 septembre : OpenAI et Wiz identifient de nouvelles failles.

    Cette succession de failles et des mêmes causes alerte PHP du problème profond et de l'urgence de trouver une solution pérenne. La fondation PHP a soutenu les équipes pour mobiliser les développeurs et fixer les failles. Dans le même temps , PHP signale que la sécurité par IA génère aussi beaucoup de retours et l'équipe de sécurité interne connaît une charge de travail supplémentaire : 15 CVE publiées depuis le 1er juillet et plus de 100 signalements traités dont la plupart, ou tous, se sont révélés non exploitables ou des faux positifs. 

    20 octobre : la catastrophe se produit !

    Les vulnérabilités sont divulguées, 2 jours avant la publication officielle des CVE. Dès 15h UTC, les CVE commencent à circuler. Les détails techniques ne sont pas donnés. Face à l'urgence, le projet PHP avance l'annonce des CVE au 21 octobre. "Avancer la publication d'un jour constituait le meilleur compromis entre la rapidité d'action, le temps nécessaire à la préparation et la simplicité de la procédure de mise à jour pour tous suite à la divulgation des vulnérabilités."

    Calif publie par erreur une vidéo montrant un PoC d'exploitation des CVE ! Elle est supprimée immédiatement mais c'est déjà trop tard. Et la vidéo et les informations circulent rapidement le 21 octobre. Le projet PHP précise avoir fourni à plusieurs fournisseurs technologiques des méthodes pour réduire les risques. Ont-elles fuité ?

    21 octobre 7h41 UTC : PHP explique que Chainguard n'a pas respecté l'embargo sur les CVE et publie des éléments inlcuant le correctif que le projet PHP a développé. "N'importe quel attaquant pouvait désormais étudier le correctif sous forme binaire, alors que tous les autres utilisateurs de PHP attendaient encore sa publication. Cela a anéanti des semaines de travail menées par de nombreuses parties en vue d'une divulgation coordonnée."

    La suite vous la connaissez...

    Notre avis : on pouvait se douter que les deux CVE n'étaient pas apparues par magie, surtout quand elles touchent la mémoire. La fondation PHP a le mérite de publier sa vérité sur cette affaire. Nous pouvons faire 4 constats :

    1 / les premières failles menant aux CVE sont découvertes dès 2024

    2 / les équipes de sécurité PHP n'arrivent pas à se coordonner sur une solution unique et durant des mois, rien ne bouge réellement et aucune décision ne semble avoir été prise

    3 / il faut attendre l'été 2026 pour que PHP y voit un problème majeur de ces failles

    4 / la fondation PHP reconnaît ses erreurs, la défaillance d'organisation et l'absence de priorité pour les failles de 2024. Mais, elle cherche aussi à rejeter, au moins en partie, la panique des CVE critiques, sur d'autres personnes et éditeurs du marché qui n'auraient pas respecté les règles. 

    On peut effectivement pointer l'erreur de Calif ou l'attitude de certains fournisseurs mais cela ne dédouane pas PHP sur les conséquences de ces CVE depuis les premières découvertes en 2024.

    Texte complet : https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/

    Catégorie actualité: 
    Image actualité AMP: 
  • Comme promis, Node.js déploie les mises à jour de sécurité pour les versions 22, 24 et 26, à savoir : 22.23.4, 24.22.1 et 26.12.1. Node prévient : TOUTES LES VERSIONS NON SUPPORTÉES NE SERONT PAS PATCHÉES.

    Ces patchs fixent la CVE-2026-111497 permettant une exécution de code distant et des écritures non autorisées avec le décodeur Brotli. Ces versions en profitent pour mettre à jour c-ares, ca-cert, OpenSSL, SQLite et Undici. 

    Plusieurs autres CVE sont corrigées. Elles permettaient de bypass des hostname de certifcats TLS, problème dans le socket process ou encore une validation impropre d'un certificat (en contexte IPv4), faille dans ZipFile.

    Note : https://nodejs.org/en/blog/vulnerability/october-2026-security-releases

    Catégorie actualité: 
    Image actualité AMP: