Category: Développement

GPU Kill : Outil CLI de gestion de GPU multiplateforme

2025-09-21
GPU Kill : Outil CLI de gestion de GPU multiplateforme

GPU Kill est un outil en ligne de commande pour gérer les GPU sur les systèmes NVIDIA, AMD, Intel et Apple Silicon. Surveillez, contrôlez et sécurisez facilement votre infrastructure GPU. Les fonctionnalités incluent la surveillance en temps réel de l'utilisation du GPU, l'arrêt des processus bloqués, la détection des mineurs de cryptomonnaies et des activités suspectes, l'application de politiques pour éviter les abus de ressources, un tableau de bord web pour la surveillance du cluster, la gestion à distance des GPU sur plusieurs serveurs et l'intégration avec un assistant IA. Compatible avec Linux, macOS et Windows. Interface en ligne de commande simple et tableau de bord web pour une gestion conviviale.

Développement gestion de GPU

Mini analyseur JSON C99 : Zéro allocation, ~150 lignes

2025-09-21
Mini analyseur JSON C99 : Zéro allocation, ~150 lignes

Une bibliothèque minimale d'analyse JSON écrite en C99, ne comprenant qu'environ 150 lignes de code ! Elle se caractérise par une allocation zéro pour l'efficacité mémoire et un état simplifié. Les messages d'erreur incluent des numéros de ligne et de colonne précis. L'analyse des nombres et des chaînes est laissée à l'utilisateur, permettant une personnalisation avec des fonctions comme `strtod` et `atoi`. Un exemple simple montre comment charger un rectangle à partir d'une chaîne JSON dans une structure `Rect`. Ce projet est un logiciel libre et sans restriction, publié dans le domaine public.

Développement allocation zéro

arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

2025-09-21
arXivLabs : Projets expérimentaux avec des collaborateurs de la communauté

arXivLabs est un cadre qui permet aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur le site. Les individus et les organisations qui travaillent avec arXivLabs ont adopté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv s'engage envers ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui ajoutera de la valeur à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Débogage DXGI de Microsoft : mon jeu accidentellement sur liste noire

2025-09-21
Débogage DXGI de Microsoft : mon jeu accidentellement sur liste noire

Lors du portage de Space Station 14 vers Windows ARM64, le développeur a rencontré un bug étrange. Le débogage a révélé que le problème provenait d’une optimisation DXGI de Microsoft pour les jeux fenêtrés, forçant le mode « flip », ce qui entraînait des exceptions d’instruction illégale avec GetDC() dans des circonstances spécifiques (l’exécutable du jeu nommé SS14.Loader.exe). Il s’est avéré qu’il s’agissait d’un bug dans l’optimisation DXGI ARM64 de Microsoft, activé uniquement pour des noms de jeux spécifiques, et Space Station 14 figurait malheureusement sur cette liste. Le développeur soupçonne que ce bug est passé inaperçu en raison du nombre limité de jeux Windows ARM64 natifs. Le problème a été signalé à Microsoft, et la prise en charge de Windows ARM64 est temporairement reportée jusqu’à ce que le bug soit corrigé.

Développement Débogage Windows

Vec : Un tableau dynamique rapide et sécurisé pour C

2025-09-21
Vec : Un tableau dynamique rapide et sécurisé pour C

Vec est un tableau dynamique générique, rapide et sécurisé pour C. Il utilise une mémoire contiguë, croît géométriquement (×2) pour des opérations push amorties O(1), et offre une API de style méthode pour une sensation orientée objet. La bibliothèque privilégie la sécurité avec des protections contre les dépassements de capacité, des accesseurs avec vérification des limites et un comportement bien défini pour les cas limites. Sa conception équilibre performances et sécurité, fournissant une interface propre et efficace.

Développement

Sécurité de la chaîne d'approvisionnement logicielle open source : un demi-siècle de défis

2025-09-21

De l'examen de sécurité du système Honeywell Multics de 1974 soulignant les préoccupations concernant les « portes dérobées » à l'attaque XZ de 2024 ciblant les systèmes Debian, la sécurité de la chaîne d'approvisionnement logicielle open source reste un problème persistant. Cet article explore la complexité du problème, qui va au-delà des simples graphes de dépendances, englobant toutes les étapes de la construction et de la distribution de logiciels, y compris les facteurs humains. Il propose des solutions telles que l'authentification des logiciels, les builds reproductibles, la détection et la correction rapides des vulnérabilités et l'utilisation de langages de programmation plus sûrs. Il souligne surtout l'importance du financement du développement open source, car le sous-financement rend les projets vulnérables à une prise de contrôle malveillante. L'attaque XZ sert d'avertissement clair : une « aide gratuite » apparemment inoffensive peut dissimuler des risques importants.

Développement attaque XZ

Les dangers d'obéir aux ordres : un programmeur au purgatoire de la programmation fonctionnelle

2025-09-21

Un programmeur, après qu'un collègue se soit plaint de son style de programmation fonctionnelle, s'est vu interdire son utilisation par son responsable. Pour garder son emploi, il réécrit à contrecœur une fonction simple pour lister les collègues, en utilisant la programmation impérative. Malgré ses efforts pour éviter les paradigmes fonctionnels, il a du mal à s'y conformer pleinement, rencontrant de nouveaux défis lors de la revue de code et devant finalement demander conseil à son responsable. Cette anecdote humoristique souligne l'absurdité des décisions techniques arbitraires en milieu professionnel.

Développement programmation impérative

Bluefin LTS et GDX : Le règne d’Achillobator commence

2025-09-21
Bluefin LTS et GDX : Le règne d’Achillobator commence

Après neuf mois de développement, Bluefin LTS (Support à long terme) et Bluefin GDX (Station de travail IA) sont désormais disponibles. Bluefin LTS, basé sur CentOS Stream 10, offre un bureau GNOME 48 stable avec un support à long terme et une branche d’activation du matériel en option (lts-hwe) pour les noyaux plus récents. Bluefin GDX cible les professionnels de l’IA/ML, intégrant les pilotes Nvidia et CUDA, et collaborant avec Red Hat sur des outils d’IA/ML open source. Les deux versions bénéficient d’une expérience d’installation améliorée et d’une prise en charge du démarrage sécurisé, pour une expérience de bureau stable et efficace.

Développement Station de travail IA

PostgreSQL 18 Beta : UUIDv7 améliore les clés primaires de la base de données

2025-09-21
PostgreSQL 18 Beta : UUIDv7 améliore les clés primaires de la base de données

La version bêta de PostgreSQL 18 est sortie, et sa fonctionnalité la plus attendue est la prise en charge native de UUIDv7. UUIDv7, une variante de UUID basée sur l'horodatage, résout les problèmes d'ordre et de localité d'index inhérents aux UUID traditionnels utilisés comme clés primaires de la base de données. Il offre une combinaison convaincante d'identifiants globalement uniques et d'ordre temporel, ce qui le rend idéal pour les bases de données distribuées nécessitant des performances élevées et une évolutivité. Parmi les autres améliorations des performances de PostgreSQL 18, citons les E/S asynchrones et les optimisations d'index.

Développement

Bug persistant de l'Utilitaire de disque APFS de macOS : une solution de contournement

2025-09-21
Bug persistant de l'Utilitaire de disque APFS de macOS : une solution de contournement

L'Utilitaire de disque de macOS Monterey 12.0.1 continue de souffrir d'un bug persistant : l'impossibilité de démonter les volumes ou les conteneurs lors de la réparation des disques APFS. Cet article propose des solutions de contournement, notamment l'utilisation de l'Utilitaire de disque en mode de récupération ou l'utilisation directe de l'outil en ligne de commande `fsck_apfs` pour vérifier et réparer les volumes et conteneurs APFS. L'article détaille l'utilisation de `fsck_apfs`, y compris les options de vérification et de réparation, et la gestion des volumes chiffrés.

Calibration : Lutter contre la sursimplification et les données clairsemées

2025-09-21
Calibration : Lutter contre la sursimplification et les données clairsemées

Cet article traite d'un problème courant dans la calibration des modèles : la régression isotonique, du fait que l'ensemble de données de calibration est beaucoup plus petit que l'ensemble de données d'entraînement initial, simplifie excessivement la distribution de probabilité, perdant ainsi la finesse des distinctions du modèle. L'article analyse ce phénomène d'« aplatissement induit par la rareté des données » et propose plusieurs méthodes de diagnostic pour distinguer entre une simplification justifiable due au bruit et une sursimplification due aux limitations des données. Enfin, il présente le package Calibre qui, en relaxant les contraintes isotoniques ou en utilisant des modèles monotones lisses, maintient la précision de la calibration tout en préservant autant que possible le pouvoir discriminant du modèle original.

Codage avec IA : Amélioration pour les Experts, Pas de Remplacement

2025-09-21

Le rôle de l'IA dans le codage est loin de remplacer les programmeurs ; elle agit plutôt comme un outil d'amélioration de l'efficacité pour les développeurs seniors. L'IA excelle dans le code standard, l'automatisation des tâches répétitives et l'itération rapide, mais elle est insuffisante pour la revue de code, la conception de l'architecture, la qualité du code et la sécurité. Par conséquent, la combinaison actuellement la plus efficace est « développeur senior + IA », et non la combinaison initialement envisagée « développeur junior + IA ». Les meilleures applications de l'IA sont le prototypage rapide, l'automatisation des tâches routinières, le travail multidisciplinaire et les tests de fonctions simples. Bien que l'IA ait un potentiel immense dans le codage, la revue humaine de son code généré reste cruciale, et les attentes doivent être conformes à la réalité.

Développement

L'essor de l'économie du nettoyage de code IA

2025-09-21

L'adoption généralisée de la programmation assistée par IA a engendré un défi majeur : le désordre du « vibe coding ». Si l’IA génère du code efficacement, elle manque souvent de solidité architecturale, de considérations de sécurité et de compréhension du contexte système, ce qui nécessite une refactoring importante du code. Une nouvelle profession est apparue : le nettoyeur de code IA, spécialisé dans la correction de code de mauvaise qualité généré par l’IA et facturant des tarifs élevés. Des études de marché indiquent que la plupart des ingénieurs logiciels d’entreprise utiliseront des assistants de code IA d’ici 2028, ce qui indique une énorme opportunité de croissance sur le marché du nettoyage de code IA. L’avenir du développement logiciel impliquera probablement que l’IA gère l’implémentation initiale, tandis que les humains gèrent l’architecture, les tests et le nettoyage. Les ingénieurs compétents en nettoyage de code IA seront très demandés.

Développement

RNN accélérées par GPU : une implémentation CUDA de minGRU et minLSTM

2025-09-21

Cet article de blog détaille un projet final pour le cours CS179 : Programmation GPU du Caltech, qui vérifie les affirmations de l’article de Feng et al., « Were RNNs All We Needed ? ». Le projet a implémenté des modèles minGRU et minLSTM simplifiés et un algorithme de balayage parallèle CUDA personnalisé. Les résultats ont montré des accélérations significatives du GPU pour les longues séquences, validant la principale découverte de l’article selon laquelle la récurrence RNN peut être parallélisée. Cependant, pour les courtes séquences, la surcharge de lancement du noyau CUDA a annulé certains gains de performances. Le profilage du noyau GPU a révélé la couche de projection finale comme étant le principal goulot d’étranglement, suggérant une optimisation supplémentaire par le biais d’un seul appel cuBLAS GEMM.

Développement algorithmes parallèles

Gestion des données hétérogènes dans un langage de script pour jeux statiquement typé

2025-09-21

L'auteur a rencontré des difficultés à gérer les données hétérogènes lors du développement d'un langage de script pour jeux statiquement typé. L'article explore différentes solutions utilisées dans divers langages de programmation, notamment null, types variants, unions non étiquetées, types somme et sous-typage. L'auteur choisit finalement une approche similaire aux enregistrements variants en Pascal, en équilibrant une syntaxe concise avec la vérification de type à l'exécution. Cela évite la complexité du typage de flux, résultant en un langage plus compréhensible et convivial. Il s'agit d'une conception intelligente qui équilibre la sécurité de type statique et la facilité d'utilisation, offrant une solution de langage de script plus pratique pour le développement de jeux.

Développement

L'inflation des bibliothèques privilégiant les cas limites : l'enfer des dépendances de npm

2025-09-21

Cet article examine la prolifération de bibliothèques sur-ingénierisées dans l'écosystème npm. De nombreuses bibliothèques privilégient la gestion de cas limites rares, ce qui entraîne des arbres de dépendances excessivement granulaires. L'auteur utilise l'exemple de `is-number`, qui gère plusieurs entrées ressemblant à des nombres alors que la plupart des applications n'ont besoin que de gérer le type `number`. La solution proposée consiste à ce que les bibliothèques se concentrent sur les cas d'utilisation courants, en faisant des hypothèses raisonnables sur les types d'entrée et en laissant la gestion des cas limites aux projets qui en ont besoin. Cela simplifie le code, améliore les performances et réduit les dépendances inutiles.

Développement

Le Défi Algorithmique de l'Expansion Efficace du Vocabulaire

2025-09-21

Apprendre une nouvelle langue efficacement nécessite d'étendre son vocabulaire rapidement. Cet article explore le problème de la sélection de livres pour maximiser l'efficacité de l'apprentissage du vocabulaire. Si la sélection d'un seul livre est relativement simple, le choix de plusieurs livres pour couvrir un vocabulaire plus large devient un problème NP-difficile, ce qui signifie que le temps de calcul pour des solutions exactes croît exponentiellement avec le nombre de livres. Heureusement, ce problème appartient à la catégorie des problèmes sous-modulaires, permettant l'utilisation d'algorithmes d'approximation pour trouver des solutions quasi-optimales avec une certaine précision. L'article présente des algorithmes gloutons et leurs améliorations, et recommande la bibliothèque Python efficace submodlib.

Un ingénieur Microsoft et sa rencontre avec Raymond Chen : préprocesseurs et messages d’erreur BitLocker

2025-09-21
Un ingénieur Microsoft et sa rencontre avec Raymond Chen : préprocesseurs et messages d’erreur BitLocker

En 2009, un jeune ingénieur BitLocker de Microsoft a cherché un moyen de référencer des valeurs constantes C++ dans des fichiers .mc pour améliorer les messages d’erreur de BitLocker. Il a contacté une liste de diffusion interne et a reçu une réponse concise mais efficace de Raymond Chen : utiliser le préprocesseur. Cependant, par crainte de perturber le système de construction complexe de Windows, l’ingénieur a finalement abandonné cette approche. Des années plus tard, il réfléchit à cette expérience, soulignant les lacunes des outils internes de Microsoft et sa propre aversion pour les systèmes de construction complexes.

Développement

Le cache Bazel, l'exécution distante et l'incompatibilité de version de glibc provoquent un plantage en production

2025-09-21
Le cache Bazel, l'exécution distante et l'incompatibilité de version de glibc provoquent un plantage en production

Cet article détaille un plantage en production causé par l'interaction entre le cache Bazel, l'exécution distante et les différentes versions de glibc dans différents environnements. Un développeur compile et teste un changement localement, le CI utilise le cache pour compiler une version de production, mais le déploiement en production échoue en raison de l'absence de la version 'GLIBC_2.28'. L'article analyse comment les différences de version de glibc brisent la reproductibilité de la compilation et présente des solutions : une solution rapide consiste à capturer les versions locales et distantes de glibc, en sélectionnant la plus élevée pour la chaîne d'outils C++ ; une solution plus robuste restreint les écritures dans le cache d'action, forçant les compilations à s'exécuter sur des exécuteurs distants ; la solution ultime utilise les sysroots, en installant plusieurs versions de glibc dans tous les environnements et en spécifiant explicitement celle à utiliser. L'article souligne l'importance des compilations reproductibles, en recommandant des solutions en fonction du contexte.

Du Monocœur au Multinœur : L’évolution du traitement parallèle de macOS

2025-09-20
Du Monocœur au Multinœur : L’évolution du traitement parallèle de macOS

Le Mac original de 128 Ko de 1984 disposait d’un seul processeur Motorola 68000 à 8 MHz, capable d’exécuter une seule application à la fois. Aujourd’hui, les Mac gèrent confortablement plusieurs applications importantes simultanément, ainsi que les sauvegardes Time Machine et d’autres tâches en arrière-plan. Cet article retrace cette évolution, des origines de la mono-tâche à l’introduction de Switcher et MultiFinder, le passage à la multitâche préemptive et au multithreading dans Mac OS X, et les optimisations de performances apportées par Grand Central Dispatch (GCD). Le parcours aboutit à la gestion efficace de jusqu’à 32 cœurs de CPU, montrant la quête incessante d’Apple pour améliorer les performances de macOS.

Développement processeur multinœufs

Résolution d'un puzzle en bois de 25 pièces avec Haskell : Partie I

2025-09-20

L'auteur a reçu un casse-tête 3D difficile composé de 25 pièces en bois identiques et, après avoir essayé de le résoudre manuellement, a décidé d'utiliser la puissance du langage de programmation Haskell. Ceci est le premier d'une série de deux articles axés sur la modélisation du problème. L'auteur modélise l'espace comme une grille 3D, utilisant des vecteurs pour représenter les positions et définissant des structures de données pour une seule pièce et son arrangement dans l'espace. L'article détaille comment l'algèbre linéaire et les fonctionnalités de Haskell sont utilisées pour représenter les rotations et les translations des pièces, générant une liste de candidats de tous les arrangements possibles. L'article se termine par un suspense, laissant la solution de trouver l'arrangement correct parmi les candidats à la deuxième partie.

Développement Puzzle 3D

Amélioration des performances du noyau Linux : séquences redémarrables améliorées

2025-09-20

La fonctionnalité de séquences redémarrables du noyau Linux, conçue pour améliorer les performances des applications multithreadées, a connu une utilisation accrue parallèlement aux nouvelles fonctionnalités du noyau. Cependant, cela a révélé certains problèmes. Le développeur Thomas Gleixner a récemment amélioré le code, en corrigeant les goulots d'étranglement des performances et les problèmes historiques. Ces modifications améliorent considérablement l'efficacité, mais peuvent nécessiter des modifications d'ABI dans l'espace utilisateur, exigeant des tests rigoureux pour assurer la compatibilité.

Développement séquences redémarrables

Modèles LLM d'Azure : un cas de performance dégradante

2025-09-20
Modèles LLM d'Azure : un cas de performance dégradante

Un développeur travaillant sur un produit utilisant les LLM et les modèles audio d'Azure a découvert une tendance inquiétante : les mêmes modèles deviennent progressivement moins performants au fil du temps. En utilisant les mêmes invites et messages système, la précision des réponses des modèles GPT-4o-mini et GPT-5-mini/nano a considérablement diminué. GPT-5, bien qu'initialement attendu comme étant supérieur, s'est avéré plus lent et moins précis que l'ancien GPT-4o-mini. Le développeur soupçonne que Microsoft dégrade délibérément les anciens modèles pour inciter les utilisateurs à adopter les versions plus récentes, moins fiables. Cette pratique nuit à l'expérience utilisateur et pourrait pousser les développeurs à rechercher des plateformes alternatives.

Développement dégradation du modèle

Purge massive de paquets NPM : Appel à la vigilance pour les développeurs

2025-09-20
Purge massive de paquets NPM : Appel à la vigilance pour les développeurs

Un nombre important de paquets npm ont été supprimés du registre npm, affectant des composants et des outils dans divers frameworks tels que React, Angular et NativeScript. Les paquets concernés vont de ceux complètement supprimés à ceux dont les versions ont été corrigées. Cet événement rappelle aux développeurs l'importance de la maintenance et de la sécurité des dépendances. Il est crucial de vérifier les dépendances du projet et de prendre les mesures nécessaires pour éviter les interruptions. Les raisons de la suppression peuvent inclure des vulnérabilités de sécurité, des problèmes de maintenance ou d'autres facteurs.

Développement suppression de paquets

Pourquoi vous devriez abandonner GitHub pour votre projet open source

2025-09-20

Cet article expose les aspects problématiques de l'utilisation de GitHub, une plateforme appartenant à Microsoft. Il met en lumière des problèmes tels que le contrôle utilisateur limité, un modèle centralisé, le suivi de la télémétrie et l'enfermement du fournisseur via des fonctionnalités telles que GitHub Actions et Copilot. Plus gravement, il détaille les partenariats controversés de Microsoft avec le gouvernement américain et l'armée israélienne, notamment la fourniture de services cloud à ICE et de technologies d'IA aux Forces de défense israéliennes, entraînant des protestations internes des employés. L'auteur préconise la migration des projets open source vers des solutions auto-hébergées telles que Forgejo ou Sourcehut pour préserver l'esprit et l'indépendance de l'open source.

Développement

Le comité C++ abandonne une proposition de sous-ensemble sécurisé au milieu d'un débat sur la sécurité mémoire

2025-09-20
Le comité C++ abandonne une proposition de sous-ensemble sécurisé au milieu d'un débat sur la sécurité mémoire

Le comité de normalisation C++ a rejeté une proposition détaillée pour un sous-ensemble rigoureusement sécurisé du langage, malgré les préoccupations persistantes concernant la sécurité mémoire. Le co-auteur Sean Baxter attribue ce rejet à l'impopularité du modèle de sécurité de Rust au sein du comité, qui privilégie l'approche des « profils ». Bien que les profils soient soutenus par des personnalités comme Bjarne Stroustrup, leur viabilité est remise en question, et leur inclusion dans C++26 n'est pas garantie. Cette décision suscite la controverse, certains développeurs suggérant qu'il serait préférable de passer à Rust ou à d'autres langages plus sûrs, comme le projet expérimental « Carbon » de Google.

Développement

Restrictions de l'unité de service Systemd : une cause fréquente d'échecs de démarrage des démons

2025-09-20

Un problème classique pour les administrateurs système Linux est qu'un démon ne parvienne pas à démarrer normalement, mais fonctionne correctement lorsqu'il est exécuté manuellement en tant que root. Les causes traditionnelles incluent des variables d'environnement $PATH incomplètes, SELinux et AppArmor. De plus en plus, les restrictions de l'unité de service systemd (documentées dans systemd.exec) sont les coupables. Des directives telles que ProtectHome et PrivateTmp peuvent entraîner des erreurs cryptiques de « permission refusée » ou de « fichier introuvable », voire des échecs indirects tels que le blocage des requêtes DNS. La suppression des restrictions du fichier .service du démon peut aider à diagnostiquer le problème, mais les démons futurs peuvent dépendre de ces restrictions, ce qui complique le dépannage.

Développement démon

Appels système : le coût caché des performances

2025-09-20
Appels système : le coût caché des performances

Cet article examine en détail la surcharge de performances des appels système Linux, révélant qu’il s’agit de bien plus qu’un simple appel de fonction du noyau. Les appels système perturbent les optimisations microarchitecturales du processeur, telles que le pipeline d’instructions et la prédiction de branche, entraînant des pertes de performances bien supérieures à ce qui apparaît dans le code source. L’article analyse le code du noyau, explique l’impact sur les performances de diverses mesures d’atténuation logicielles et matérielles et propose des stratégies d’optimisation telles que l’utilisation de vDSO, la mise en cache des valeurs, l’optimisation des E/S, les opérations par lots et le transfert de travail vers le noyau afin de réduire la fréquence des appels système et d’améliorer les performances des logiciels.

Développement

Bibliothèque de fonctions d'interpolation Bézier cubiques en C++ : vitesse fulgurante

2025-09-20

Cet article présente une bibliothèque C++20 en un seul fichier d'en-tête qui représente les courbes de Bézier cubiques directement comme fonctions d'interpolation, ce qui améliore les performances de l'animation. Implémentée à l'aide de la classe de modèle `EasingCubicBezier`, la bibliothèque offre les modes PRECISE (haute précision) et FAST (hautes performances). Les tests de référence montrent que cette approche surpasse l'algorithme de Blender et les solutions numériques basées sur la méthode de Newton-Raphson, offrant une vitesse et une stabilité supérieures, en particulier pour les systèmes d'animation en temps réel. Cela évite la surcharge associée à la résolution d'équations polynomiales cubiques au moment de l'exécution.

Développement Courbes de Bézier

GitHub Actions : Fin de vie de Node.js 20 et migration vers Node.js 24

2025-09-20
GitHub Actions : Fin de vie de Node.js 20 et migration vers Node.js 24

GitHub Actions annonce la fin de vie de Node.js 20 en avril 2026 et prévoit de migrer toutes les actions vers Node.js 24 à l'automne 2025. La dernière version de l'exécuteur GitHub prend déjà en charge Node.js 24, et les utilisateurs peuvent le tester en amont en définissant une variable d'environnement. À partir du 4 mars 2026, Node.js 24 sera la version par défaut. Les utilisateurs peuvent continuer à utiliser Node.js 20 temporairement en définissant une variable d'environnement jusqu'à sa suppression complète en été. Notez que Node.js 24 est incompatible avec macOS 13.4 et les versions antérieures, et ne prend pas en charge les exécuteurs auto-hébergés avec architecture ARM32.

Développement
1 2 4 6 7 8 9 214 215