Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Cloudzip – Montez un zip distant et accédez à ses fichiers sans tout télécharger

Imaginons que vous ayez une énooorme archive zip stockée quelque part dans le cloud, disons sur un bucket S3, et vous avez besoin d’accéder à quelques fichiers précis à l’intérieur. Qu’est-ce que vous faites ? Et bien comme tout le monde, vous téléchargez les 32 Go en entier, vous dézippez le bazar et tout ça pour récupérer 3 malheureux fichiers…

Et ben figurez-vous que j’ai déniché un p’tit outil bien sympa qui va vous faciliter la vie : Cloudzip ! Ca permet de monter votre archive zip distante directement sur votre machine, comme un disque dur externe, comme ça, vous pouvez accéder aux fichiers dont vous avez besoin, les copier, les utiliser, tout ça sans avoir à télécharger l’intégralité de l’archive.

Exemple :

cz ls s3://example-bucket/path/to/archive.zip

Plutôt cool, non ?

Le fonctionnement de Cloudzip est assez ingénieux. Il se base sur deux principes simples mais diablement efficaces :

  1. Les fichiers zip permettent un accès aléatoire en lecture. Ils ont un « répertoire central » stocké à la fin de l’archive qui décrit tous les fichiers contenus, avec leurs offsets. Pas besoin de lire l’archive en entier pour trouver un fichier.
  2. La plupart des serveurs HTTP et des services de stockage dans le cloud (S3, Google Cloud Storage, Azure Blob Storage, etc.) supportent les requêtes HTTP avec des « range » headers. En gros, ça permet de ne récupérer qu’une partie d’un fichier distant.

En combinant ces deux principes, Cloudzip est capable de récupérer juste le répertoire central de votre archive zip (qui ne pèse que quelques Ko) pour avoir la liste des fichiers, et ensuite de télécharger uniquement les bouts de fichiers dont vous avez besoin au moment où vous y accédez !

Pour l’installer :

git clone https://github.com/ozkatz/cloudzip.git
cd cloudzip
go build -o cz main.go

Puis copiez le binaire cz dans un endroit accessible via votre $PATH :

cp cz /usr/local/bin/

Et là ou ça devient encore plus dingue (oups pardon, je voulais dire « intéressant ») c’est qu’avec le paramètre mount, Cloudzip peut carrément monter votre archive zip distante comme un répertoire local. En fait, il va démarrer un petit serveur NFS en local, et monter ce répertoire NFS dans le dossier de votre choix.

Encore un exemple :

cz mount s3://example-bucket/path/to/archive.zip some_dir/

Comme ça, vous avez accès à tous tes fichiers comme s’ils étaient en local, vous pouvez les ouvrir direct dans vos applications, les traiter, et tout ça sans jamais avoir eu à télécharger l’archive en entier.

Et le plus beau dans tout ça, c’est que Cloudzip fonctionne avec à peu près tous les stockages distants qu’on peut imaginer. Bien sûr, il y a S3, mais aussi HTTP, HTTPS, GCS, Azure, et même… roulement de tambour… Kaggle !

Ah Kaggle, ce repaire de Data Scientists où les datasets sont plus gros que le compteur électrique d’un mineur de Bitcoin… Cloudzip est capable d’utiliser l’API de Kaggle pour récupérer directement le zip d’un dataset sans avoir à le télécharger. Vous pouvez donc littéralement monter un dataset Kaggle en local et commencer à bosser dessus dans la seconde. Et si jamais vous avez besoin d’un fichier particulier pour tester un truc, pas de souci, il sera téléchargé à la demande.

Alors bien sûr, ce n’est pas parfait. Le montage NFS, par exemple, n’est disponible que sous Linux et macOS pour l’instant. Et faut pas s’attendre à des performances dingues non plus, on parle quand même de télécharger des bouts de fichiers à travers le réseau. Mais pour tous ces cas où vous avez besoin d’accéder à quelques fichiers dans une archive zip énorme, c’est parfait !

Et en plus, c’est est open-source (vous pensiez quand même pas que j’allais vous recommander un truc propriétaire, hein !). Vous pouvez retrouver le projet sur GitHub.

Ruff – Le linter Python intelligent et rapide

Si vous faites un peu de code Python, vous connaissez peut-être Ruff, un outil de contrôle pour la qualité de code pour Python >= 3.7 qu’on appelle aussi un linter.

Je l’utilise depuis le début de l’année dans mon Visual Studio Code et il est capable de faire le même job que tout un tas d’autres outils, comme Flake8, isort et même Black. Du coup, vous pouvez remplacer tous ces outils par Ruff, ça fait toujours ça en moins.

Une des fonctionnalités que je préfère dans Ruff, c’est l’autofix. En gros, quand il trouve une erreur dans votre code, il peut la corriger tout seul, comme un grand. Et quand il ne peut pas, il vous mets des explications super claires pour que vous puissiez comprendre ce qui se passe.

Puis faut dire que c’est hyper rapide aussi. Normal, les dev ont utilisé Rust, un langage de programmation connu pour ça afin qu’il analyse votre code en un temps record. On parle de 10 à 100 fois plus rapide que les autres linters du marché. Autant vous dire que ça dépote !

L’outil check plus de 500 règles différentes pour s’assurer que votre code il est au top et vous pouvez le configurer comme vous voulez, activer ou désactiver des règles, changer des paramètres… etc. Bref il s’adapte au plus près de votre façon de coder.

Y’a pas à hésiter et pour l’installer, c’est simple. Il suffit d’allez sur le site de Ruff ou sur la marketplace de Visual Studio Code pour le télécharger ou tout simplement avec cette commande pour ceux qui aiment la ligne de commande :

pip install ruff

Votre code vous dira merci et vous, c’est sûr, vous allez adorer !

Jampack – Boostez votre site statique en deux temps trois mouvements !

Aujourd’hui, je vous parle d’un truc vraiment cool nommé Jampack. En gros, c’est un outil qui prend votre site statique généré par votre générateur préféré (Hugo, Jekyll, Eleventy… y’en a pour tous les goûts !) et qui le transforme en une bête de course optimisée pour une expérience utilisateur de folie et des scores Core Web Vitals à faire pâlir les GAFAM.

Comment ça marche ce truc ? Eh bien, Jampack va scanner votre site et appliquer tout un tas d’optimisations automatiquement. Par exemple, il va :

  • Rendre vos images responsive avec des dimensions et des formats modernes comme le WebP ou l’AVIF. Fini les images qui mettent trois plombes à charger !
  • Mettre la priorité sur les assets importants au-dessus de la ligne de flottaison et lazy-loader le reste. Comme ça, votre site s’affiche direct pendant que le reste charge tranquillou en arrière-plan.
  • Inliner le CSS critique et virer le Flash of Unstyled Content (FOUC). Votre site aura la classe dès les premières millisecondes.
  • Prefetcher les liens pour accélérer la navigation. Vos visiteurs surferont à la vitesse de la lumière sur votre site !
  • Minifier et compresser tout ce qui traîne : HTML, CSS, JS, SVG… Que du bonheur pour votre bande passante.

Et tout ça sans que vous ayez à lever le petit doigt ! Juste un petit

npm install -D @divriots/jampack

et hop, magie, votre site est optimisé de fou.

Bon, vous vous dites peut-être : « Ouais, ok, mais mon site il est déjà pas mal optimisé, hein« . Eh bah, sachez que même les experts de Keycloak.ch, BayJS.org ou CloudCannon.com utilisent Jampack pour squeeze encore plus de perf. Vous pensez vraiment faire mieux ? ^^

Et bien sûr, tout le code est open-source sur GitHub, sous licence MIT. Allez, sur ce, je vous laisse, j’ai un site à optimiser moi. See ya !

A découvrir ici.

Rmlint – Pour optimiser votre espace disque sous Linux

Si votre disque dur se rempli à vue d’œil et que vous ne savez pas comment faire le ménage, rmlint peut vous aider. Cet outil open source, disponible sur la plupart des distributions Linux, va vous permettre d’optimiser votre espace disque en un rien de temps.

Contrairement à d’autres outils du même genre, il se distingue par sa rapidité d’exécution en scannant vos disques en un clin d’œil pour dénicher tous les fichiers qui encombrent inutilement votre précieux espace de stockage. Au menu des fonctionnalités, rmlint est capable de détecter :

  • Les fichiers dupliqués et les répertoires en double
  • Les binaires non strippés (c’est-à-dire avec des symboles de débogage)
  • Les liens symboliques brisés
  • Les fichiers et répertoires vides
  • Les fichiers avec des ID utilisateur ou groupe invalides

Mais ce n’est pas tout puisqu’il propose également un mode paranoïa pour ceux qui veulent être sûrs à 100% de ne pas supprimer de fichiers importants par erreur. Il offre également de multiples options pour s’adapter à vos besoins et peut même se limiter aux fichiers plus récents qu’une certaine date.

Pour les fans de systèmes de fichiers modernes comme btrfs, sachez que rmlint les gère comme un chef et peut tirer parti des fonctionnalités avancées de ce dernier pour vous faire gagner encore plus d’espace disque.

Pour l’installer sous Debian / Ubuntu, un petit

sudo apt install rmlint

fera l’affaire. Ensuite pour le lancer, tapez simplement la commande rmlint suivie du répertoire que vous voulez analyser. Par exemple :

rmlint /home/utilisateur/dossier-bordel

Vous pouvez ajouter des options pour affiner l’analyse, comme -o pour spécifier un format de sortie ou

--paranoid

pour activer le mode paranoïa si vous ne faites pas confiance aux hashs retournés par l’outil et que vous craignez que des fichiers non-duplicate soient supprimés.

Et voilà, en quelques secondes (ou minutes selon la taille du répertoire), rmlint vous pondra un joli rapport listant tous les fichiers qui méritent de passer à la trappe. Il ne vous restera plus qu’à les supprimer d’un coup de rm bien placé et à profiter de vos gigaoctets fraîchement libérés !

Foncez sur https://rmlint.readthedocs.io/en/latest/ pour télécharger rmlint et découvrir toutes ses options. Votre disque dur vous dira merci !

Windows Vista Extended Kernel – Donnez un coup de jeune à votre PC sous Windows Vista

Si vous avez encore un vieux PC sous Windows Vista qui prend la poussière dans un coin, ne le jetez pas tout de suite ! En effet, grâce à Windows Vista Extended Kernel, vous allez pouvoir lui donner un coup de jeune et profiter des logiciels récents normalement incompatibles.

Développé par le créateur de Supermium, un navigateur Chromium optimisé pour les anciens Windows, cet outil d’optimisation système est une véritable cure de jouvence pour votre machine vintage. En mettant à jour les fichiers important de ce système sorti en 2007, notamment les DLL, il lui permet de faire tourner des applications récentes comme Firefox, OBS Studio ou encore Chromium.

L’avantage, c’est que vous pourrez conserver votre bonne vieille installation et vos habitudes. Et vous n’aurez pas besoin de formater ou de changer d’OS, mais juste d’installer cet add-on et le tour sera joué. Comme ça, votre vieille bécane sera parée pour surfer sur le web, sans galérer avec des certificats expirés ou des technologies obsolètes.

Bien sûr, on ne parle pas de performances de haut vol, hein… N’espérez pas faire tourner les derniers jeux AAA du moment ou faire du montage vidéo 4K. Mais pour une utilisation bureautique et multimédia de base, ça fera largement l’affaire. C’est toujours ça de pris !

Bien sûr, niveau sécurité, c’est pas forcement le pied, donc soyez quand même trèèèès prudent. Notez aussi qu’il existe d’autres solutions beaucoup plus pertinente pour upgrader un PC vieillissant, comme installer une distribution Linux légère. Mais si vous tenez à rester sous Windows et que vous avez un faible pour Vista, y’a cet outil.

Vous pouvez télécharger Windows Vista Extended Kernel sur le site de l’auteur.

Allez, je vous laisse, j’ai un Pentium 4 qui m’attend pour une petite LAN de Quake 3 Arena à l’ancienne.

Bah quoi ?

CoreCtrl – Libérez le potentiel de votre GPU sous Linux

Vous en avez marre que votre carte graphique soit bridée sous Linux ? Vous rêvez de pouvoir overclocker votre GPU comme un pro pour booster les perfs dans vos jeux préférés ? Alors laissez-moi vous présenter votre nouveau meilleur pote : CoreCtrl !

Ce logiciel open source va vous permettre d’exploiter enfin tout le potentiel de votre GPU AMD sans vous prendre la tête. Plus besoin d’être un champion de la ligne de commande pour régler les fréquences, les voltages et autres joyeusetés. Avec CoreCtrl, tout se fait en quelques clics depuis une interface super facile à prendre en main.

L’outil embarque une tripotée de fonctionnalités pour les power users. Vous pourrez par exemple créer des profils d’overclocking personnalisés, monitorer en temps réel les températures et les performances, gérer finement la vitesse des ventilateurs, et même undervolt votre GPU pour réduire sa consommation.

Et le top du top, c’est que CoreCtrl est compatible avec un tas de cartes graphiques AMD, des anciennes générations aux derniers modèles. Bref, que vous ayez une vieille Radeon HD qui traîne ou une RX 6900 XT flambant neuve, vous pourrez en tirer le meilleur.

Certains relous me diront : « Oui, euuuh, mais overclocker son GPU, euuuuh, ça fait fondre la carte et ça annule la garantieuuuu« .

Alors oui, forcément si vous poussez les curseurs dans le rouge en permanence, votre GPU risque de partir en fumée. Mais utilisé avec sagesse, l’overclocking peut vraiment donner un boost appréciable notamment pour tout ce qui est traitement GPU et gaming (sous linux, lol), sans forcement réduire la durée de vie de votre matos.

D’ailleurs, CoreCtrl intègre des garde-fous bien pensés pour éviter ce genre de déconvenues. Vous pourrez donc définir des seuils de sécurité pour les températures et les voltages, histoire de ne pas tout cramer. Et si jamais vous sentez que vous êtes allé trop loin dans l’optimisation, pas de panique : il suffit de recharger le profil par défaut et hop, votre carte retrouve son état d’origine.

Si ça vous branche de tester, c’est sur le dépôt GitLab du projet ou installable avec cette commande :

sudo apt install corectrl

Par contre, je ne serais pas responsable si vous faites de la merde, hein.

Happy overclocking les amis ! 😄

❌