Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇Korben
  • Brancher un écran LG suffit à vous coller une pub McAfee
    32 redémarrages d'affilée, 31 pubs pour McAfee, c'est le résultat du test mené par la chaîne Youtube Gamers Nexus sur un écran LG UltraGear 34GX900A-B branché à un PC tournant sous Windows. Puis au 32e démarrage, l'écran a eu la délicatesse de faire la promo d'un autre utilitaire LG, histoire de varier les plaisirs. Sauf que personne n'a installé quoi que ce soit. L'app s'appelle "LG Monitor App Installer", elle débarque toute seule quand vous branchez le moniteur, et sa fiche technique sur le M

Brancher un écran LG suffit à vous coller une pub McAfee

Par : Korben ✨
21 juillet 2026 à 11:17

32 redémarrages d'affilée, 31 pubs pour McAfee, c'est le résultat du test mené par la chaîne Youtube Gamers Nexus sur un écran LG UltraGear 34GX900A-B branché à un PC tournant sous Windows. Puis au 32e démarrage, l'écran a eu la délicatesse de faire la promo d'un autre utilitaire LG, histoire de varier les plaisirs.

Sauf que personne n'a installé quoi que ce soit. L'app s'appelle "LG Monitor App Installer", elle débarque toute seule quand vous branchez le moniteur, et sa fiche technique sur le Microsoft Store réclame deux permissions qui piquent un peu : "toutes les ressources système" et "l'accès à votre connexion Internet". Pour un truc censé régler la luminosité de votre écran, on repassera donc sur la discrétion...

Voir cette vidéo sur YouTube

La vraie question que je me suis posée en découvrant cette histoire, c'est comment diable un câble HDMI arrive à faire atterrir un programme sur la machine ? Eh bien la réponse va vous plaire, parce que ce n'est ni un virus, ni un piratage, ni une faille mais bien une fonctionnalité de Windows (spéciale dédicace à l'Autorun, lool) !! Elle s'appelle device metadata, et elle traîne dans le système depuis Windows 7, à l'époque où il s'agissait surtout d'afficher proprement l'icône et le nom de votre imprimante.

L'astuce de LG fonctionne ainsi en 4 temps. Vous branchez le périphérique. Windows part interroger un service maison, Windows Metadata and Internet Services, pour récupérer les métadonnées du matériel. Ces métadonnées contiennent un identifiant qui pointe vers une app précise du Microsoft Store. Windows télécharge les pilotes si besoin + l'app, qu'il installe dans votre menu Démarrer. Et voilà, c'est fini comme dit Jean-Louis ! Vous n'avez cliqué sur rien du tout et vous récupérez leur Adware... Elle n'est pas belle la vie ???

Les conditions pour que ça se déclenche c'est simplement d'avoir accepté les "paramètres recommandés" à l'installation de Windows, être connecté au Microsoft Store, et être en ligne. Autrement dit, la configuration par défaut de la quasi-totalité des PC grand public. Si vous êtes hors ligne au moment du branchement, pas de souci, Windows patiente et retente plus tard.

Le meilleur, c'est ce que Microsoft explique lui-même dans sa propre doc à destination des dev, que "*La fonctionnalité d'installation automatique ne prévient pas l'utilisateur quand l'app est installée. Certains utilisateurs pourraient trouver cette expérience déroutante et frustrante, et mettre une mauvaise note à votre app. *". Tu m'étonnes John !

Ça veut surtout dire que le SEUL risque que Microsoft identifie, c'est la note qu'aura l'app sur le store. Ce n'est ni notre absence de consentement, ni ce que ça pourrait impliquer pour notre ordi. La note de cette app LG est d'ailleurs merdique... La prophétie s'est réalisée !!! lol

Cerise sur le gâteau, cette techno est officiellement dépréciée. Microsoft annonce son remplacement par un autre système, mais en attendant elle tourne toujours et elle installe toujours des merdouilles, par-ci par-là...

Mais alors qu'est-ce qu'elle pousse exactement, cette app LG ?

Hé bien un truc dont personne sur cette planète n'a jamais eu besoin, à savoir un essai gratuit de 30 jours pour McAfee Scam Detector, qui bascule ensuite sur un abonnement McAfee Plus Premium, à partir de 39,99 $ l'année (!!).

Actuellement, personne ne sait combien de machines sont touchées mais par contre, ce qu'on sait, c'est que les plaintes remontent à au moins 2024 sur les forums Microsoft, et que ça ne concerne pas que les modèles récents. Un LG UltraFine 32UN880-B acheté il y a 3 ans se comporte pareil. Et ni LG ni Microsoft n'ont publié le moindre communiqué à l'heure où j'écris ces lignes... (depuis, LG m'a répondu, voir la mise à jour en fin d'article)

Aussi, vous vous dites peut-être que c'est nouveau comme pratique mais pas du tout ! Y'a que le tuyau de diffusion qui s'est modernisé car il y a plus de 10 ans déjà, en 2015, Lenovo se faisait démonter pour Superfish , un adware préinstallé qui cassait le HTTPS avec son propre certificat racine. La même année, Dell se prenait le retour de flamme d' eDellRoot , un certificat livré avec sa clé privée dans la boîte. En 2017, on découvrait qu'un pilote audio Conexant livré chez HP enregistrait gentiment les frappes clavier. Alors bien sûr, à l'époque il fallait un PC entier pour se faire refourguer toute cette camelote et c'est vrai qu'aujourd'hui, suffit d'un écran et ensuite c'est Windows Update qui vous livre le bloatware.

Petite précision au passage, parce que j'ai vu plusieurs articles qui se sont emmêlés les pinceaux. De ce que moi j'ai compris, c'est que ce mécanisme n'a rien à voir avec l'ACR de LG, cette techno qui analyse ce que vous regardez sur les TV pour cibler la pub. Ce sont bien 2 sujets distincts puisque l'ACR, c'est du tracking de contenu sur les téléviseurs alors que le sujet dont je vous parle c'est de l'installation d'application via les métadonnées de périphérique sous Windows.

Alors si vous avez un écran LG, comment se protéger de ça ?

Le plus simple s'appelle Win11Debloat , un script PowerShell qui dispose depuis peu d'une option baptisée DisableDeviceAutoAppDownload qui coupe le robinet, et qui a ajouté LGElectronics.LGMonitorApp à sa liste d'apps supprimables. Ça permet de régler les deux problèmes d'un coup.

Après si vous préférez comprendre ce que vous faites plutôt que lancer un script, sachez qu'il écrit en réalité une seule valeur dans la base de registre :

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Device Metadata
"PreventDeviceMetadataFromNetwork"=dword:00000001

Microsoft documente officiellement ce réglage pour les éditions Pro, Entreprise et Education, où vous le retrouvez en version cliquable via gpedit.msc, dans Configuration ordinateur > Modèles d'administration > Système > Installation de périphériques, au paramètre que Microsoft appelle "Prevent automatic download of applications associated with device metadata", que vous verrez traduit dans les Windows français. Après sur Windows Home il n'y a pas d'éditeur de stratégies, et rien ne garantit noir sur blanc que la clé y soit lue. Votre repli sûr, c'est donc le bouton planqué dans Panneau de configuration > Système > Paramètres système avancés > onglet Matériel.

Ce bouton, tiens. Je vous montrais déjà comment le désactiver en 2019 , quand Windows vous demandait poliment si vous vouliez continuer à télécharger automatiquement les applications des fabricants de matériel. La question s'était donc déjà posée à l'époque et je l'avais complètement oublié...

Après, si vous voulez faire le ménage plus large sur une machine fraîchement installée, SuperMSConfig fait très bien le job, et FlyOOBE vous permet de reprendre la main dès l'écran de première configuration, là où ces fameux "paramètres recommandés" se cochent tout seuls. Parce qu'au fond, les logiciels de merde installés d'office par les constructeurs , c'est un sport qui n'a jamais vraiment pris sa retraite.

Voilà, moi je pense qu'un écran ou n'importe quel périphérique ne devrait pas avoir le droit d'installer des trucs chez vous, qui est le pire pour nous balancer de la pub !


Mise à jour du 21 juillet 2026 - LG m'a fait parvenir une réponse par l'intermédiaire de son agence de communication. Je vous la mets telle quelle :

"LG Electronics réaffirme que McAfee n'est pas installé automatiquement et n'est jamais installé sans le consentement explicite de l'utilisateur. Le programme d'installation de l'application LG Monitor est distribué via le processus officiel de distribution Windows de Microsoft, qui incluait McAfee en option. McAfee ne sera installé que si l'utilisateur choisit activement de poursuivre l'installation et donne son consentement."

Alors sur ce point précis, LG a raison, et je n'ai jamais écrit le contraire. Ce que Gamers Nexus a filmé, c'est une pop-up qui vous propose l'essai McAfee 31 fois sur 32 démarrages, pas un antivirus qui s'installe en douce dans votre dos. Il faut cliquer pour l'avoir.

Sauf que le reproche n'a jamais porté là-dessus. Le truc qui coince, c'est l'app LG Monitor elle-même, celle qui atterrit sur votre machine sans vous demander votre avis et qui réclame "toutes les ressources système". Et ça, LG ne le conteste pas du tout, LG le confirme même : "distribué via le processus officiel de distribution Windows de Microsoft", c'est exactement le mécanisme device metadata que je décris plus haut. Le consentement dont ils parlent, c'est celui pour McAfee, une fois que l'app est déjà chez vous. Je note aussi le "incluait" au passé, sans que LG précise si l'app propose encore McAfee aujourd'hui.

Deuxième partie de la réponse, LG tient à préciser que ses téléviseurs "ne collectent, n'enregistrent ni ne stockent les conversations ambiantes", et que la reconnaissance vocale est une fonctionnalité optionnelle, lancée par l'utilisateur, qu'on peut ne jamais activer. Ce qui tombe plutôt bien vu que je disais justement plus haut que la TV et l'écran PC, ce sont deux sujets différents. Je relève quand même que ce démenti parle du micro, pas de l'ACR.

Et à l'heure où j'écris cette mise à jour, LG n'a toujours rien publié de public sur le sujet. La réponse est arrivée dans ma boîte mail.

Source

  • ✇Korben
  • FlyOOBE - L'outil qui installe Windows 11 sur n'importe quel PC
    Vous avez un PC qui tourne encore parfaitement sous Windows 10 mais Microsoft vous dit qu’il est comme vous, c’est à dire “trop vieux” pour Windows 11 ? Et bien, bienvenue dans le club des 240 millions de machines destinées à la casse. Woohoo ! D’ailleurs selon cette étude , si on empilait tous ces PC les uns sur les autres, la pile ferait 600 kilomètres de plus que le diamètre de la Lune. Sympa pour la planète. Bref, face à ce gâchis monumental programmé pour le 14 octobre de cette année, da

FlyOOBE - L'outil qui installe Windows 11 sur n'importe quel PC

Par : Korben
1 décembre 2025 à 11:40

Vous avez un PC qui tourne encore parfaitement sous Windows 10 mais Microsoft vous dit qu’il est comme vous, c’est à dire “trop vieux” pour Windows 11 ?

Et bien, bienvenue dans le club des 240 millions de machines destinées à la casse. Woohoo ! D’ailleurs selon cette étude , si on empilait tous ces PC les uns sur les autres, la pile ferait 600 kilomètres de plus que le diamètre de la Lune. Sympa pour la planète.

Bref, face à ce gâchis monumental programmé pour le 14 octobre de cette année, date de fin du support de Windows 10 , un développeur connu sous le pseudo Belim (builtbybel sur GitHub) a créé FlyOOBE (prononcez “fly-oh-bee”, comme une petite abeille qui buzz). C’est un outil qui fait exactement ce que Microsoft ne veut pas à savoir installer Windows 11 sur n’importe quel PC, même sans TPM 2.0, sans Secure Boot, et avec un processeur de 2010. Et en bonus, il vire tous les bloatwares au passage.

FlyOOBE, c’est l’évolution de Bloatynosy devenu Flyby11, dont je vous ai déjà parlé en long, en large et en travers. C’était un simple patcher qui avait déjà permis à des milliers d’utilisateurs de contourner les restrictions matérielles de Windows 11. Mais la version 2.2 qui vient de sortir va beaucoup plus loin car au lieu de simplement bypasser les vérifications de compatibilité, FlyOOBE vous permet de personnaliser complètement l’expérience d’install et de post-install de Windows 11.

Comme ça, fini les écrans de configuration à rallonge, les applications préinstallées dont tout le monde se fout, et les paramètres de confidentialité douteux activés par défaut.

Mais avant de rentrer dans le détail, pour comprendre pourquoi FlyOOBE existe, il faut revenir sur les exigences matérielles de Windows 11. Microsoft demande actuellement pour Windows 11, un processeur de 8e génération Intel ou 2e génération AMD Ryzen minimum, 4 Go de RAM (8 Go pour une expérience correcte), le TPM 2.0, l’UEFI avec Secure Boot activé, et j’en passe.

Vous l’avez déjà compris, ce sont des exigences qui excluent automatiquement des millions de PC parfaitement fonctionnels.

Bien sûr, tout comme Retailleau ou Darmanin, Microsoft n’a qu’un seul mot à la bouche pour justifier ce massacre informatique : La sécurité. Hé oui car le TPM 2.0 est censé protéger vos données sensibles, et le Secure Boot quant à lui empêche le démarrage de malwares au niveau du bootloader.

Noble intention, j’en conviens, sauf que dans les faits, ça ressemble surtout à de l’obsolescence programmée ++ imaginée pour booster les ventes de nouveaux PC. Plusieurs personnes parlent même d’une stratégie pour augmenter les ventes de Copilot+ PC , ces nouvelles machines avec NPU intégré capable de faire tourner de l’IA en local.

Alors oui, Microsoft propose bien des Extended Security Updates (ESU) pour 30 dollars par an après octobre 2025, mais c’est juste repousser le problème. Et pour les entreprises, ces tarifs grimpent à 61 $ la première année, 122 $ la deuxième, et 244 $ la troisième. Ils abusent pas un peu là quand même ? Donc autant dire que pour beaucoup de boites, ces vieux PC ce sera direction la déchetterie.

Du coup, le principe de FlyOOBE est très malin, je trouve car au lieu de modifier Windows 11 directement, il utilise une astuce découverte par la communauté il y a quelques temps. Il lance en fait l’installation en mode “Windows Server”, qui n’a pas les mêmes restrictions que la version client. Une fois l’installation terminée, vous vous retrouvez alors avec un Windows 11 parfaitement fonctionnel, mais rassurez vous, pas une version serveur.

Selon le développeur de FlyOOBE, la méthode utilise exactement le même contournement que celui documenté par Microsoft pour les environnements virtuels sauf qu’au lieu de l’appliquer à une VM, FlyOOBE l’applique à votre vraie machine. Et il a fait un boulot de dingue car tout le processus est automatisé… L’outil télécharge l’ISO de Windows 11 via le script Fido (développé par Pete Batard de Rufus ), applique les patchs nécessaires, et lance l’installation.

Pour ceux qui dormaient depuis 25 ans, OOBE signifie “Out-Of-Box Experience”. C’est cette série d’écrans à la con que vous voyez quand vous démarrez Windows pour la première fois : Création du compte, paramètres de confidentialité, connexion au Wi-Fi, tout ça. Microsoft en profite pour vous faire créer un compte Microsoft (obligatoire sur Windows 11 Home), activer la télémétrie, installer Office 365 en trial, et autres joyeusetés.

FlyOOBE vous permet donc de court-circuiter tout ça. Plus besoin de compte Microsoft, vous pouvez créer un compte local directement. Les paramètres de confidentialité sont configurés pour protéger vos données par défaut. Et surtout, l’outil peut automatiquement désinstaller toute une liste de bloatwares (traduction : logiciels à la con) comme Candy Crush, TikTok, les jeux Xbox que vous n’avez jamais demandés, Cortana, et même Teams si vous voulez.

Cette version 2.2 marque une vraie évolution puisque le développeur (qui avoue être “en guerre contre les choix de performance de Microsoft”) a bossé comme un fou pour transformer FlyOOBE en boite à outils pour Windows. Grâce à lui, on a maintenant une interface modernisée avec un mode compact élégant, des boutons qui passent en mode icônes seules quand ils sont actifs (comme les apps natives Windows 11, sauf que là ça marche bien). Le démarrage est plus rapide, la consommation mémoire réduite… Bref, c’est pas comme le menu Démarrer de Windows 11 ou l’Explorateur qui sont des monstres XAML/WinUI bourrés de bloat.

Le développeur a d’ailleurs un petit coup de gueule savoureux dans ses notes de version : “Peut-être qu’un jour Microsoft corrigera les vrais problèmes de performance au lieu d’ajouter un énième bouton Copilot lumineux. Honnêtement, ça fait mal de voir un OS qu’on a aimé être lentement ruiné par les mauvaises priorités.” On sent le mec qui en a ras-le-bol, et je le comprends…

FlyOOBE est donc passé d’un simple assistant OOBE à un véritable hub de contrôle Windows. Le moteur d’extensions a été complètement retravaillé, avec un système de catégories et de filtres. Certaines pages OOBE sont devenues de véritables mini-apps autonomes, comme Dumputer ou CoTweaker (des anciens outils standalone du même dev qui vivent maintenant leur meilleure vie à l’intérieur de FlyOOBE). Il y a aussi un nouveau tableau de bord Home qui catégorise et recommande intelligemment les options, un système de navigation avec historique complet (comme dans un navigateur), et un moniteur d’activité natif qui log les actions système en temps réel.

L’App Installer intégré propose aussi d’installer automatiquement des logiciels vraiment utiles tels que Firefox, VLC, 7-Zip, Notepad++, et autres essentiels. Pratique donc pour avoir une machine propre et fonctionnelle dès le départ, sans passer des heures à tout configurer manuellement.

Maintenant faut que je sois clair avec vous, utiliser FlyOOBE, c’est contourner les mesures de sécurité mises en place par Microsoft. Le développeur lui-même précise que les mises à jour futures ne sont pas garanties sur les machines “non supportées”. Donc si Microsoft décide de bloquer complètement les PC sans TPM 2.0 dans une future mise à jour, vous pourriez vous retrouver coincé.

Il y a aussi le cas du POPCNT, une instruction CPU que FlyOOBE ne peut pas contourner donc si votre processeur ne la supporte pas (généralement les CPU d’avant 2010), Windows 11 ne fonctionnera tout simplement pas, même avec FlyOOBE. L’outil intègre d’ailleurs un “compatibility checker” pour vérifier ce point avant l’installation.

Notez qu’ en février dernier, Microsoft Defender a commencé à flaguer Flyby11 comme “Win32/Patcher” , le classant comme application potentiellement indésirable. Le développeur a alors contacté Microsoft et la version actuelle n’est plus détectée, mais ça montre que Microsoft n’apprécie pas vraiment ce genre d’outils.

Maintenant pour utiliser FlyOOBE, pas besoin d’un tuto à rallonge car c’est ultra simple. Vous téléchargez l’exécutable depuis les releases GitHub , vous le lancez, et vous avez quatre options :

  1. Upgrade : Pour passer de Windows 10 à 11 sur une machine incompatible
  2. Install Only : Pour une installation propre avec personnalisation OOBE
  3. Experience : Pour configurer Windows après installation
  4. Apps : Pour gérer les bloatwares et installer des apps utiles

Si vous choisissez l’upgrade, FlyOOBE téléchargera automatiquement l’ISO de Windows 11, appliquera les patchs, et lancera le processus. Comptez alors environ 30 minutes à 1 heure selon votre machine et votre connexion internet. Rassurez-vous, l’outil gardera vos fichiers et tous vos programmes car c’est une vraie mise à niveau, et pas une réinstallation. L’Autopilot intégré a d’ailleurs été amélioré pour vous guider de manière encore plus autonome pendant l’installation.

Petite note pour ceux qui cherchaient le script ConsumerESU (pour les mises à jour de sécurité étendues) : il a temporairement disparu de GitHub, probablement un faux positif qui a fait suspendre le repo, comme c’est déjà arrivé au profil de Belim lui-même. Les joies de la modération automatique…

Maintenant, pour ceux qui veulent aller plus loin, il y a même des builds “Nightly” mis à jour régulièrement avec les dernières fonctionnalités expérimentales. L’ancien Flyby11 3.0 “Classic” existe toujours mais est désormais marqué comme deprecated, donc le dev recommande de passer à FlyOOBE. Notez aussi que FlyOOBE n’est pas le seul outil pour contourner les restrictions de Windows 11. Rufus permet aussi de créer une clé USB d’installation sans les checks TPM/Secure Boot . Il y a aussi les méthodes manuelles avec des modifications du registre pendant l’installation. Ou carrément passer à Linux, comme le suggèrent certains barbus qui veulent entrainer encore plus de monde dans leur galère… Roooh, ça va, je rigole !

Mais FlyOOBE c’est mon préféré parce qu’il a plusieurs avantages. D’abord, c’est tout-en-un : bypass les restrictions, personnalisation OOBE, et debloating. Ensuite, c’est portable (moins de 400 Ko !), donc pas besoin d’installation et surtout, c’est maintenu activement avec des mises à jour régulières pour s’adapter aux changements de Microsoft. Le dev mentionne d’ailleurs son autre projet CrapFixer , une sorte de CCleaner 2.0 de l’époque dorée de Windows XP, si vous êtes nostalgiques.

Alors Microsoft va-t-il bloquer définitivement FlyOOBE et les outils similaires ? C’est possible car ils ont déjà resserré la vis plusieurs fois, mais les devs trouvent toujours de nouvelles méthodes de contournement. Et c’est encore pire pour activer Windows…

Bref, si vous avez un PC sous Windows 10 qui ne passe pas les vérifications de compatibilité Windows 11, donnez une chance à FlyOOBE. Au pire, vous perdez une heure et au mieux, vous donnez une seconde vie à votre machine et vous évitez de participer à la montagne de déchets électroniques que ça va provoquer.

Et ça, c’est déjà une petite victoire.

Source

Article publié initialement le 4 septembre 2025. Mis à jour le 1 décembre 2025. Merci à Lorenper.

  • ✇LinuxFr.org : les dépêches
  • Deno 2.0 est là
    Le temps où Node.js régnait en maître comme la solution incontournable pour exécuter du code JavaScript côté serveur est-il révolu ? En tout cas, il a aujourd’hui des challengers de taille comme Bun (qui pourrait lui aussi mériter une dépêche) ou Deno. C'est donc de ce dernier qu'il sera question dans cette dépêche, à l'occasion de la sortie de sa version 2.0 lien nᵒ 1 : Annonce sur le blog officiellien nᵒ 2 : Site officiel de Denolien nᵒ 3 : JSRSommaire Pour rappel La mascotte ! Deno 1.x, de

Deno 2.0 est là

Le temps où Node.js régnait en maître comme la solution incontournable pour exécuter du code JavaScript côté serveur est-il révolu ? En tout cas, il a aujourd’hui des challengers de taille comme Bun (qui pourrait lui aussi mériter une dépêche) ou Deno. C'est donc de ce dernier qu'il sera question dans cette dépêche, à l'occasion de la sortie de sa version 2.0

Sommaire

Titre de l'image

Pour rappel

Deno est un runtime JavaScript et TypeScript. Il a vu le jour suite au constat de Ryan Dahl (créateur aussi de Node.js), que Node avait des problèmes de conceptions, et qu'il était nécessaire de repartir de zéro en tenant compte de l'expérience de Node pour ne pas refaire les mêmes erreurs. Il imagine Deno comme un runtime avec un modèle de sécurité par défaut plus strict. Les programmes Deno n'ont pas accès au système de fichiers, au réseau ou à l'environnement, sauf si on leur accorde explicitement ces permissions. Deno est écrit en Rust, et se base sur le moteur JavaScript V8 de Google. Deno se distingue également de Node en offrant la possibilité d'importer les dépendances via des URL, mettant en cache chaque module lors de l’importation pour améliorer la vitesse d’exécution.

La mascotte !

La première chose notable quand on passe de Node.js à Deno, c'est sa mascotte ! En effet, même si Node.js possède bien une petite tortue comme mascotte, celle-ci n'est utilisée nulle part ! Personnellement, j'ai toujours trouvé bien plus chouettes les projets qui ont des petites bestioles comme mascotte (Mozilla, Tux …). Et chez Deno, le dinosaure mascotte est omniprésent sur tout le site. Et en plus, à l'occasion de la version 2.0, on peut habiller notre dino sur la home page du projet ! Et ça c'est cool ! Voici le mien, qui est en compagnie de Ferris, la mascotte officieuse de Rust !

Mon dino

Bon, comme je ne suis pas sûr que tout le monde partage ma passion pour les mascottes, on va passer au côté plus technique ! 🤣

Deno 1.x, des débuts difficiles !

La version 1.0 sortie en mai 2020 a du mal à se faire une place et reste dans l'ombre de son grand frère. En effet, même si Deno offre un grand lot de nouveautés et est plus sécurisé par défaut, la très large adoption de Node et le fait que les projets développés pour Node ne sont pas forcément compatibles avec Deno rend l’adoption de ce dernier difficile. De plus, l'utilisation de CDN plutôt que d'installer les dépendances localement (dans le répertoire node_modules) a certes de nombreux avantages, mais cela rend votre projet dépendant de disponibilité du réseau ou peut entraîner des problèmes de performances si le CDN est éloigné géographiquement.

Les nouveautés de la version 2.0

Deno est désormais 100% compatible avec Node.js, et un gestionnaire de paquets officiel a vu le jour. Vous pouvez maintenant utiliser deno add et deno removepour ajouter ou retirer un paquet à votre projet.

Autour du projet Deno, JavaScript Registry (JSR) un dépôt de paquets JavaScript universel !

Le registre NPM s'est construit autour de Node.js afin de gérer facilement les dépendances de nos projets. Il a donc été développé pour Node.js à une époque où Node était la seule solution pour exécuter du code JavaScript côté serveur. En près de 15 ans, le registre NPM a rassemblé un peu moins de 3 millions de paquets et a très largement rempli sa mission toutes ces années. Mais aujourd'hui, la situation a changé, il existe plusieurs runtimes pouvant exécuter du code JavaScript (ou TypeScript) côté serveur. Et du côté front-end, les frameworks se sont multipliés et sont devenus de plus en plus complexes et nécessitent aussi l'utilisation d'un gestionnaire de paquets. Un registre de paquets fondé autour de Node.js uniquement est donc beaucoup moins pertinent qu'en 2010.
C'est donc pourquoi, à l'initiative du projet Deno, un nouveau registre de paquets JavaScript et TypeScript universel pointe aujourd'hui le bout de son nez. Il s'agit donc de JSR (JavaScript Registry).

Dans JSR, quand on va sur la page d'un paquet, en haut à droite, on a les logos des environnements compatibles avec le paquet :

Titre de l'image

Performances du runtime

Niveau performance, ça donne quoi ?

On voit souvent l'affirmation que Deno serait plus rapide que Node.js. Mais ça donne quoi en réalité ?

J'ai voulu faire un petit test sans prétentions pour voir ce que ça donne. Je voulais faire des tests plus poussés sur différents systèmes d'exploitation et architectures, mais par manque de temps, le test sera donc fait sur un seul système et un seul ordinateur et il s'agit d'un Mac… Un comble pour LinuxFr.org, mais c'est l'ordinateur que j'avais à disposition à ce moment-là. Mais sinon, je ne porte pas spécialement Apple dans mon cœur, bien au contraire !

J'ai testé l’exécution d'une même API sur Node. et Deno pour voir les différences de performance entre ces solutions. Pour ce test, j'ai utilisé une API Rest que j'ai développée pour le site de la société AudioSoft. J'ai fait la même requête POST 10 fois sur la même route avec les mêmes données. Il est important de préciser que c'est la première fois que je fais ce genre de tests, et que je ne fais peut-être pas tout dans les règles de l'art. Il y a des éléments extérieurs à Node et Deno qui peuvent influencer les scores. Notamment, la base de données utilisée pour le test était accessible via Internet, et des différences de débit ont pu fausser les tests.

Test sur un MacBook Pro (2,6 GHz Intel Core i7 6 cœurs, AMD Radeon Pro 5300M 4 Go Intel UHD Graphics 630 1536 Mo, 16 Go 2667 MHz DDR4) sous macOS Sonoma

Node: Le temps moyen pour exécuter le test de 126 millisecondes
Deno: Le temps moyen pour exécuter le test de 93 millisecondes

Performances du gestionnaire de paquets

Comme dit précédemment, Deno c'est aussi un gestionnaire de paquets. J'ai donc trouvé intéressant de tester les principaux gestionnaires de paquets sur différents environnements.
Pour ce test je me base sur la même API Rest que pour le test précédant, les dépendances à installer pour cette API sont : bcrypt, body-parser, dotenv, express, jsonwebtoken, mariadb, multer, mysql2, nodemailer, et sequelize. Le test a été fait sur un MacBook Pro. Pour effectuer ce test, le cache des gestionnaires de paquets ont été nettoyés et les fichiers-verrous supprimés.

Avec NPM, l'installation a mis 10 secondes.

Avec Deno, l'installation a mis 1 seconde.

Avec Bun, l'installation a mis 3 secondes.

On voit très clairement que NPM est beaucoup plus lent que ses deux concurrents. L'écart est plus faible entre Deno et Bun. Mais Deno est bien le plus rapide des trois.

Avant de réaliser ce test, j'en ai effectué un en oubliant de nettoyer le cache et de supprimer package-lock.json. Les résultats étaient alors 8 secondes pour NPM, 5 secondes pour Deno et 4 secondes pour Bun. Il est logique de constater que NPM est plus rapide, en revanche, je trouve surprenant que Deno et Bun aient été ralentis. Il est possible que les gestionnaires de paquets aient parcouru package-lock.json pour garder les versions présentes dans ce fichier, ce qui les aurait tous les trois ralentis. Et NPM a peut-être pu bénéficier de son cache (car je l'utilise bien plus que les deux autres sur mon ordinateur), Deno et Bun eux n'avaient peut-être pas grand-chose dans leurs caches, ont donc été ralentis. Il est donc important de supprimer les lockfile en cas de migration d'un projet.

Comme je le disais plus haut, c'est la première fois que j'effectue ce genre de test comparatif. Si vous avez des conseils sur les bonnes méthodes pour faire des tests plus fiables, ça m’intéresse !

Deno 2.1 est là

Étant donné que j'ai mis environ un siècle pour rédiger cette dépêche, Deno 2.1 est sortie entre temps ! 🤣
Je vous liste donc les principales nouveautés apportées à la version 2.1 sans les commenter 😉

  • Support natif de WebAssembly (Wasm) : Il est désormais possible d'importer directement des modules Wasm, simplifiant leur utilisation et améliorant les performances.
  • Version Long Term Support (LTS) : Deno 2.1 inaugure la première version LTS, garantissant des correctifs de bugs et des améliorations de performance pendant… Six mois… On n'est pas encore aux 30 mois des versions LTS de Node.js… Cela viendra peut-être plus tard. 🙂
  • Commande deno init --npm vite : Cette commande simplifie la création de nouveaux projets en utilisant des outils comme Vite, en automatisant l'initialisation et en réduisant la configuration manuelle.
  • Gestion des dépendances : Introduction de la commande deno outdated pour gérer les mises à jour des dépendances JSR et npm.

Conclusion

Si vous êtes développeur Node.js, je vous conseille de vous intéresser à Deno, et même à Bun. Je ne sais pas si ces deux runtime sont totalement prêts pour des projets en production (par exemple, Deno 2.1 n'a que 6 mois de durée de vie, ce qui est plutôt contraignant pour les serveurs.). Mais peut-être que dans un futur proche, il sera cohérent de migrer vers l'un de ces deux-là.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌