Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Plus sécurisé, plus rapide - Quand Rust dépoussière les commandes Linux de base

Par : Korben
11 septembre 2025 à 19:36

Vous êtes un warrior ! Normal, vous utilisez Linux depuis des années. Et vous aimez beaucoup toutes vos petites commandes du quotidien, ls, cat, base64… Vous le savez, tout ça fonctionne avec du bon vieux code C aussi vénérable que solide. Du code robuste, certes, mais qui pourrait bien se faire dépasser par plus moderne. Hé oui, parce qu’une bande de développeurs a décidé de refaire tout uutils Coreutils en Rust, et en prime, leurs nouvelles versions sont largement plus rapides que les originales.

Les benchmarks parlent d’eux-mêmes : l’utilitaire base64 mouline maintenant en 3,146 secondes là où GNU Coreutils prend 4,901 secondes. La version Rust est donc clairement plus rapide, mais le plus fou, c’est que la version précédente de Rust Coreutils mettait encore 5,998 secondes. En gros, ils ont pratiquement doublé la vitesse entre leurs deux versions mineures.

Alors comment ils ont fait ça ? Et bien en intégrant la bibliothèque base64-simd qui exploite les instructions SIMD des processeurs modernes. Pour faire simple, au lieu de traiter les données octet par octet comme un escargot asthmatique, le nouveau code traite plusieurs octets en parallèle, comme un guépard qui serait abonné à la chaine de Tibo Inshape. SSE4.1, AVX2, AVX-512 pour les processeurs Intel et AMD, et ARM NEON pour les puces ARM comme les Apple Silicon… ce sont toutes ces architectures qui profitent de l’accélération.

D’ailleurs, ce n’est pas qu’une histoire de performance brute. Ubuntu prévoit d’intégrer ces outils Rust dans sa version 25.10. Et Canonical ne fait pas ça pour suivre la mode du Rust… Non, ils voient un vrai intérêt qui est la sécurité mémoire garantie par Rust. Cela élimine toute une catégorie de bugs qui hantent le code C depuis des décennies, à savoir les buffer overflows, les use-after-free…etc, tout ce folklore de développeur devient impossible avec Rust.

Et Sylvestre Ledru , le développeur principal du projet uutils, n’a pas juste optimisé base64. Par exemple, la commande tr qui était 9,8 fois plus lente que GNU dans les anciennes versions est maintenant 1,58 fois plus rapide par rapport à sa propre version précédente !

Bon après, je vais faire plaisir aux grincheux qui n’aiment pas le changment, oui, tout n’est pas rose non plus. Sur les 600 tests de la suite GNU, Rust Coreutils n’en passe que 500 environ. Il reste donc un peu de boulot pour avoir une compatibilité parfaite. Mais avec l’attention que le projet reçoit en ce moment et le soutien d’Ubuntu, ça devrait s’améliorer rapidement.

Ça fait plaisir de voir ce bon vieux code C qui fait tourner nos systèmes depuis des millénaires est en train d’être challengé par du Rust. Et non pas parce que c’est à la mode, mais parce que dans certains cas, c’est objectivement meilleur : plus rapide, plus sûr, plus maintenable.

Pour les dev parmi vous qui veulent tester, la nouvelle release 0.2.2 est disponible sur GitHub . Et pour ceux qui se demandent si c’est vraiment utile d’optimiser des commandes qui s’exécutent en quelques secondes, rappelez-vous que ces outils sont appelés des milliers de fois par jour dans des scripts, des pipelines CI/CD, des conteneurs Docker… Chaque milliseconde gagnée, c’est donc un gros paquet d’énergie économisée et du temps machine libéré !

Alors, prêts à voir vos vieilles commandes Linux carburer au Rust ?

Source

Nixite - Une webapp qui génère des scripts bash pour installer tous vos logiciels Linux d'un coup

Par : Korben
10 septembre 2025 à 08:11

Ce serait quand même bien quand on réinstalle Linux from scratch pour la énième fois, qu’il y ait un moyen rapide de résinstaller tous nos outils préférés sans avoir à se retaper toutes les commandes d’installation une par une.

Et bien, si vous avez le même rêve que moi, vous allez adore Nixite , un petit outil qui va faire plaisir aux linuxiens.

Le principe est simple. Vous cochez les logiciels que vous voulez installer sur une interface web , et Nixite vous génère un script bash prêt à l’emploi. Ce script gère automatiquement l’installation de tous vos programmes, que vous soyez sur Ubuntu ou Arch Linux.

Ce qui est vraiment cool, c’est que Nixite ne se contente pas d’enchaîner bêtement des commandes apt ou pacman. L’outil choisit intelligemment la meilleure méthode d’installation pour chaque logiciel. Si un programme est mieux maintenu sur Flatpak, il utilisera Flatpak. Si c’est un snap qui est plus à jour, il partira sur snap. Et pour les cas particuliers, il peut même exécuter des commandes bash personnalisées.

L’interface web propose déjà une belle collection de logiciels organisés par catégories : navigateurs web, outils de communication, développement, gaming, productivité… Vous avez Discord, Zoom, VS Code, Steam, GIMP, VLC et des dizaines d’autres. En gros, tout ce dont vous avez besoin pour transformer une installation Linux toute fraîche en un système fonctionnel pour votre boulot.

Chaque logiciel est défini dans un simple fichier TOML dans le dépôt GitHub et vous pouvez spécifier des instructions communes pour toutes les distributions ou des commandes spécifiques pour Ubuntu et Arch. Par exemple :

install_system = "firefox" # Utilisera apt sur Ubuntu, pacman sur Arch

[ubuntu]
install_system = "firefox-esr" # Version spécifique pour Ubuntu

[arch]
install_system = "firefox-developer-edition" # Version pour Arch

L’outil gère aussi les installations via Flatpak avec flatpak = true, Snap avec snap = true ou snap = "classic", et même des commandes personnalisées avec install_command. Pour éviter de réexécuter une installation custom, vous pouvez ajouter skip_if_exists = "/chemin/vers/fichier" qui vérifiera si le logiciel est déjà installé.

Le gestionnaire de paquets Pacman est généralement plus rapide que apt pour les installations en masse et Nixite sait tirer partie de cette rapidité en supprimant automatiquement les prompts de confirmation, ce qui permet d’avoir une installation réellement sans intervention humaine.

Une fois votre sélection faite, vous téléchargez le script nixite.sh et vous lancez simplement bash nixite.sh et le script s’occupe de tout : configuration du système, ajout des dépôts nécessaires, installation des logiciels dans l’ordre optimal. C’est hyper pratique quand vous devez configurer plusieurs machines ou que vous réinstallez souvent votre système.

Le projet inclut aussi un script nixite-updater qui met à jour tous vos gestionnaires de paquets et logiciels d’un coup comme ça plus besoin de jongler entre apt update, flatpak update, snap refresh… Une seule commande et tout est à jour.

Voilà, avec Nixite, vous préparez votre script une seule fois et vous pouvez le réutiliser à l’infini. L’outil est encore en développement évidemment, et Aspizu, son créateur, est ouvert aux suggestions donc n’hésitez pas !

❌
❌