Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 6 juin 2024LinuxFr.org : les dépêches

XL-Converter 1.0, billet d'humeur et plaidoyer

XL-Converter est un utilitaire graphique pour convertir vos images en formats utilisables sur Internet. Outre les classiques JPEG et PNG il y a donc AVIF, WEBP et JPEG-XL. L’outil se veut ergonomique avec un minimum d’options pratiques. Par exemple on peut indiquer une dimension ou un poids maximum pour les images. À mes yeux, l’intérêt d’XL-Converter c’est surtout le format Jpeg. Pourquoi ? parce que ce format est loin d’être mort : tout en travaillant sur Jpeg-XL, les chercheurs suisses de Google ont développé un nouvel algorithme d’encodage du Jpeg classique, et cet algo est très performant.

Jpegli, le nouvel algo, tire son nom du jargon suisse, tout comme guetzli, butteraugli, etc. par la même équipe. Il est inclus dans la version 0.10 de la libjxl, la bibliothèque de référence pour Jpeg-XL (c’est normal il en réutilise du code). Et par là, il se retrouve l’encodeur Jpeg de XL-Converter.

Jpeg est un format de compression qui date des années 80. C’est grâce à lui qu’on voit le web en couleur. On a souvent tenté de le remplacer, il résiste. C’est normal, non content d’offrir un bon rapport qualité/poids, il y a belle lurette que nos puces décodent les images Jpeg en un éclair. Jpeg est donc efficace et rapide, sa compression avec perte n’enlève que des détails invisibles à nos yeux. Enfin il a des défauts quand même : pour gagner encore plus de poids, il gomme encore plus de détails et nous laisse des artefacts bien visibles, qui ressemblent à des saletés dans l’œil, celles qu’on découvre en regardant un mur blanc. En principe je ne vous apprends rien, vous êtes habitués à optimiser le poids de vos images sur Internet et vous savez jouer du curseur pour obtenir le meilleur compromis pour la meilleure image Jpeg possible (© Voltaire).

Nos accès Internet deviennent sans cesse plus rapides, la puissance et la Ram sur nos ordis augmentent de même, les nuisances énergétiques itou. Ça m’importe. Et même si les nuisances vous indiffèrent, vous vous êtes peut-être déjà retrouvé pris au piège d’une zone blanche, ou bien sur une île surpeuplée de touristes en été, ou bien dans un pays lointain aux prises avec un vieil ordi malmené par les débits inconstants et la lourdeur de votre site web préféré, bref dans ma peau. La situation est tout de même assez commune pour qu'un des critères majeurs de bon référencement des pages web sur Google soit le temps de chargement et d’affichage1.

Normalement vous savez qu’il y a plusieurs facteurs là-dedans, matériels, logiciel et humain. Humain, voilà ce qui nous intéresse. C’est l’humain qui fait l’effort de soigner son code, d’utiliser un format qui décompresse vite, de redimensionner ses images et de compresser suffisamment, en acceptant des pertes que l’autre internaute ne verra jamais sur un écran non calibré, salis par les doigts, sous un éclairage douteux et le plus souvent coloré (dans les villes).

Il y a quelques mois, je pensais vous décrire les merveilles de Mozjpeg : les premières versions de Webp n’avaient pas convaincu Mozilla qui avait proposé un nouvel algo et un nouvel outil, plutôt efficace. En remplaçant purement et simplement la libjpeg, les gains en compression était du même niveau que Webp (à l’époque), mais pour ceux qui aimaient jongler avec les paramètres2, les gains étaient et sont toujours bien meilleurs. Tout le monde n’étant pas imageo-technophile, les feignants pouvaient se contenter d’utiliser ImageOptim pour un résultat équivalent.

Aujourd’hui, même les feignants n’ont pas d’excuses : Jpegli est super simple à utiliser3, plus rapide et meilleur que Webp ou Avif, produit beaucoup moins d’artefacts classiques du Jpeg et se décode à la vitesse de l’éclair puisque c’est du Jpeg normal. Et au sein d’XL-Converter c’est de la balle.

Je n’ai rien de plus à dire. En attendant Jpeg-XL dans tous nos navigateurs, Jpeg à la sauce Jpegli c’est trop bon, mangez-en.

En apéritif, goûtez donc cette petite note du divin Jon Sneyers :

More recently, the JPEG-XL team at Google has built yet another JPEG encoder, jpegli, which is both faster and better than even mozjpeg. It is based on lessons learned from guetzli and libjxl, and offers a very attractive trade-off: it is very fast, compresses better than WebP and even high-speed AVIF, while still producing good old JPEG files that are supported everywhere.


  1. voir ce paragraphe dans la doc sur les Core Web Vitals de Google. 

  2. les paramètres sont dans la source, use the force luke, read the code 

  3. disons plutôt qu’il n’y a pas besoin d’autre paramètres que le niveau de compression pour être bien meilleur que Webp. 

Commentaires : voir le flux Atom ouvrir dans le navigateur

À partir d’avant-hierLinuxFr.org : les dépêches

Transférer sa licence Windows dans une VM

N. D. M. : nlgranger nous explique dans le journal qui est repris pour cette dépêche comment virtualiser un système pré-installé. Son expérience personnelle est relatée ici à la première personne (je). Rappelons aussi à tout hasard que si la licence de ce système d’exploitation propriétaire permet apparemment une utilisation dans le cadre d’une telle virtualisation, celle-ci doit être faite sur une seule instance et sans utilisation comme serveur (ce que rappelle aussi le tutoriel mentionné plus loin, mais sur une version précédente du système). Et qu’il n’est possible de faire qu’une « seule copie du logiciel à des fins de sauvegarde ».

Je viens d’acheter un PC et bien que j’aie fouillé et patienté longtemps, aucune offre sans OS n’arrivait ou ne convenait donc j’ai cédé à la vente forcée d’un PC avec Windows.
Dans ce petit tutoriel, je vous explique comment déplacer cette licence Windows OEM vers une machine virtuelle (VM) sur le même PC. Si vous avez déjà une licence achetée à part, il vous suffit de la spécifier à l’installation, on s’intéresse ici au cas des licences OEM préinstallées sur la carte mère.
L’intérêt de déplacer Windows dans une VM, c’est de ne pas bloquer une partie de l’espace disque avec une partition qui ne servira quasiment jamais. Là on peut déplacer l’image disque vers un stockage externe (disque ou clé USB) ou recréer la VM au besoin.
Dans ce tutoriel j’utilise libvirt via le GUI virt-manager, mais je me suis largement appuyé sur cet excellent tutoriel pour Proxmox d’Oliver Poncet que je vous invite à consulter.
Je précise immédiatement qu’il n’est pas nécessaire d’avoir gardé le Windows préinstallé sur la machine, ni même de l’avoir démarré une seule fois.

Dépendances

Pour parvenir à vos fins, il vous faudra les dépendances suivantes (en espérant ne rien oublier) :

  • dmidecode pour lire les infos de la carte mère
  • libvirt
  • qemu/KVM
  • swtpm pour émuler un TPM
  • edk2-ovmf pour émuler un UEFI avec Secure Boot
  • Le fichier.iso de Windows 11 disponible sur le site de microsoft.

Sous ArchLinux : pacman – S dmidecode libvirt dnsmasq qemu-desktop swtmp

J’ai utilisé virt-manager pour me faciliter la vie, j’imagine qu’on peut s’en sortir en ligne de commande directement avec qemu.

Installation

Récupérer les informations utiles

Pour valider automatiquement votre licence, Windows utilise des informations disponibles depuis la carte mère.

D’abord, le numéro de série, modèle, etc. :

$ sudo dmidecode
…
BIOS Information
    Vendor : LENOVO
    Version : NCCN16WW
    Release Date : 02/02/2024
…
    BIOS Revision : 1.16
    Firmware Revision : 1.16
…
System Information
    Manufacturer : LENOVO
    Product Name : 83E3
    Version : Yoga Pro 7 14AHP9
    Serial Number : 9F5OEMTZ
    UUID : a0a73af8-a886-4fbf-8f0d-5fd32c264a16
    SKU Number : LENOVO_MT_83E3_BU_idea_FM_Yoga Pro 7 14AHP9
    Family : Yoga Pro 7 14AHP9

(j’ai édité le serial et l’uuid)

Ensuite des informations enregistrées dans des tables ACPI :

sudo cat /sys/firmware/acpi/tables/MSDM > ~/VMs/MSDM.bin
sudo cat /sys/firmware/acpi/tables/SLIC > ~/VMs/SLIC.bin

Créer la VM

La procédure démarre comme d’habitude, on suit l’assistant de virt-manager jusqu’au moment où il faut bien demander à modifier la configuration avant de démarrer.

Dans les options du BIOS, choisissez la config avec Secure Boot activé, chez moi le fichier se nomme OVMF_CODE.secboot.4 m.fd.

Ensuite il faut éditer directement le code XML qui décrit la configuration de la machine. Si c’est la première fois dans virt-manager, il faut cocher une case dans les paramètres de l’appli pour le rendre éditable.

Pour commencer, modifiez le nœud racine XML pour spécifier le schéma, sinon certaines options seront rejetées :

<domain type=“kvm” xmlns: qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

Mettez aussi à jour l’uuid pour qu’il corresponde à celui indiqué par dmidecode:

<uuid>a0a73af8-a886-4fbf-8f0d-5fd32c264a16</uuid>

Ensuite, il faut indiquer à qemu d’intégrer les tables ACPI :

<qemu: commandline>
<qemu: arg value='-acpitable'/>
<qemu: arg value='file=/home/ngranger/VMs/MSDM.bin'/>
<qemu: arg value='-acpitable'/>
<qemu: arg value='file=/home/ngranger/VMs/SLIC.bin'/>
</qemu: commandline>

Puis il faut ajouter les informations de la carte mère :

<sysinfo type=“smbios”>
<bios>
<entry name=“vendor”>LENOVO</entry>
<entry name=“version”>NCCN16WW</entry>
<entry name=“date”>02/02/2024</entry>
<entry name=“release”>1.16</entry>
</bios>
<system>
<entry name=“manufacturer”>LENOVO</entry>
<entry name=“product”>83E3</entry>
<entry name=“version”>Yoga Pro 7 14AHP9</entry>
<entry name=“uuid”>a0a73af8-a886-4fbf-8f0d-5fd32c264a16</entry>
<entry name=“serial”>9F5OEMTZ</entry>
<entry name=“family”>Yoga Pro 7 14AHP9</entry>
<entry name=“sku”>LENOVO_MT_83E3_BU_idea_FM_Yoga Pro 7 14AHP9</entry>
</system>
</sysinfo>

Installation de Windows

La procédure est désormais habituelle.

Pour éviter d’avoir à utiliser un compte Microsoft, vous pouvez couper Internet au moment où Windows redémarre pour la configuration du système. Lorsque l’assistant en arrive à la connexion au réseau, tapez Maj-F10 pour ouvrir le terminal et exécutez la commande oobe\BypassNRO. Le PC redémarrera sur un assistant qui rend la connexion facultative.

Au démarrage, vous pourrez remettre Internet et vérifier que la licence est bien activée.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌