Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Vous en avez assez de jongler entre Git et YAML pour mettre à jour votre site Next.js, Astro, Hugo ou Nuxt ? Simplifiez-vous la vie en installant un CMS convivial directement sur GitHub à l’aide de Pages CMS, la nouvelle coqueluche des gestionnaires de contenu pour les sites statiques.

Avec cet outil, fini les prises de tête avec les fichiers de configuration et les commits laborieux puisqu’il s’intègre de manière transparente à votre dépôt GitHub, vous permettant de gérer votre contenu directement depuis une interface intuitive. Ainsi, vous pourrez personnaliser vos types de contenu, vos vues, votre recherche… et côté édition, vous profiterez d’un éditeur de texte riche avec coloration syntaxique, d’un glisser-déposer pour vos fichiers, d’une recherche full-text hyper rapide… Le tout saupoudré de fonctionnalités bien pensées comme la planification de mises à jour ou le contrôle d’accès granulaire.

Pages CMS est 100% gratuit, open source et vous pouvez l’utiliser en ligne ou l’auto-héberger sans débourser un centime. En quelques clics, vous créez votre compte, connectez votre dépôt GitHub et hop, vous voilà paré pour dompter votre contenu comme un pro. C’est beau, la vie de développeur, non ? 🌈

Bon, je vous vois venir avec vos grands chevaux. « Mais est-ce que ça va pas transformer mon dépôt en usine à gaz ?« . Que nenni ! Pages CMS est une simple appli front-end avec des fonctionnalités backend limitées. Ça tourne sur Cloudflare Pages et ça n’interfère en rien avec votre code. Et si vous voulez garder la main, vous pouvez toujours passer par Git pour les modifications sensibles.

En parlant de Git justement, je vous rassure tout de suite : Pages CMS n’a pas accès à TOUS vos dépôts. Il utilise le flux OAuth de GitHub pour des autorisations ciblées. Et vos tokens d’accès ne sont jamais stockés côté serveur. Votre code reste votre précieux, comme dirait Gollum.

Pour l’installer, rendez-vous sur pagescms.org, créez votre compte en deux clics et connectez votre dépôt GitHub. Et voilà, vous êtes prêt à dompter votre contenu. Et pour les adeptes de l’auto-hébergement, comptez 10 petites minutes pour déployer Pages CMS sur votre compte Cloudflare.

Sur ce, je vous laisse, j’ai du contenu à publier moi. Allez, tchô la compagnie ! 👋


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.


Aujourd’hui, on va causer d’un outil qui devrait vous plaire puisqu’il permet de traduire tout et n’importe quoi dans votre langue, tout ça en local. Cela s’appelle translateLocally et ça a été concocté avec amour par les génies de chez Marian et Bergamot, pour vous permettre de traduire en un clin d’œil 😉 n’importe quel texte, depuis n’importe quelle appli, directement sur votre ordi !

Plus besoin d’envoyer vos données perso sur des serveurs lointains, au risque qu’elles finissent entre les mains d’une personne mal intentionnée.

C’est dispo sur toutes les plateformes dignes de ce nom : Windows, Linux, Mac, en version web, en extension Chrome et Firefox… et même sur MS-DOS pour les plus nostalgiques d’entre vous (non, je déconne, quoique… 😜). Et le must du must, c’est que vous pouvez même ajouter vos propres modèles de traduction.

TranslateLocally utilise la puissance combinée des bibliothèques marian et Bergamot pour faire des prouesses de traduction dignes d’un C-3PO polyglotte. Le tout est boosté par une quantification des modèles sur 8 bits, ce qui permet une exécution ultra-rapide, même sur un Raspberry Pi premier prix. Et grâce à une shortlist lexicale bien pensée, les traductions sont d’une précision redoutable.

Et pour les pro, il y a même une interface en ligne de commande à disposition : Traduction de fichiers, changement de modèles à la volée, options avancées… Tout y est !

Pour traduire une phrase, rien de plus simple :

./translateLocally -m <modèle> -i <texte> -o <sortie>

Ce qui donne un truc comme ça :

echo "Bonjour, monde !" | ./translateLocally -m fr-en-tiny
  • -m <modèle> : Spécifier le modèle de traduction à utiliser (par exemple, de-en-tiny pour l’allemand-anglais). La liste des modèles disponibles peut être obtenue avec translateLocally -l.
  • -i <texte> : Texte à traduire (peut être un fichier ou un flux d’entrée standard).
  • -o <sortie> : Fichier de sortie pour la traduction (peut être un fichier ou un flux de sortie standard).

Et si c’est carrément un fichier que vous voulez traduire :

./translateLocally -m fr-en-tiny input.txt output.txt

TranslateLocally peut également importer des modèles de traduction personnalisés au format marian. Pour importer un modèle :

  1. Placez le modèle dans un répertoire. La structure du répertoire d’un modèle translateLocally doit ressembler à ceci :
my-custom-model/
├── config.intgemm8bitalpha.yml
├── model_info.json
├── model.npz
└── vocab.deen.spm
  1. Ouvrez translateLocally et accédez à Modifier -> Paramètres du traducteur -> Langues -> Importer un modèle.
  2. Sélectionnez le répertoire contenant le modèle que vous souhaitez importer.

Et voilà !

Pour les plus curieux d’entre vous, ça se télécharge sur le GitHub de translateLocally.


Vous cherchez un moyen simple et rapide de réduire la taille de vos fichiers sans sacrifier la qualité et sans lancer de logiciel ? Ne cherchez plus, y’a MiniPic !

Ce service en ligne vous permet de convertir une image dans des formats modernes et optimisés comme WebP, AVIF ou encore JPEG-XL, tout simplement en la glissant-déposant dessus. Ces formats offrent un meilleur taux de compression que le traditionnel JPEG, tout en conservant une qualité quasi identique. On voit d’ailleurs le % de compression gagné.

Sur mon test, j’ai balancé un webp déjà super optimisé et y’a que le AVIF qui a su tirer son épingle du jeu.

Ensuite, y’a plus qu’à cliquer sur le bouton « Download » du format qui vous plait et voilà !


Cryptr, c’est un script bash bien pratique qui va vous permettre de chiffrer et déchiffrer vos fichiers sensibles en deux temps trois mouvements, le tout proprement et avec une sécurité au top grâce à OpenSSL AES-256.

Si comme moi, vous avez tendance à stocker tout un tas de données confidentielles sur votre ordi (mots de passe, documents perso, photos compromettantes de votre dernière soirée déguisée…), vous savez à quel point c’est important de les protéger des regards indiscrets. Bon ok, on n’est pas tous paranos au point d’avoir peur que la NSA ou Gérald vienne fouiller dans nos fichiers, mais on n’est jamais trop prudent !

Avec ce truc, fini de vous prendre la tête avec des solutions de chiffrement compliquées à mettre en place. Il vous suffit de cloner le projet depuis le dépôt GitHub :

git clone https://github.com/nodesocket/cryptr.git

Ensuite, créez un lien symbolique vers le script cryptr.bash pour pouvoir l’utiliser facilement depuis n’importe où :

ln -s "$PWD"/cryptr/cryptr.bash /usr/local/bin/cryptr

Et voilà, vous êtes parés pour chiffrer vos petits secrets comme un pro ! La commande encrypt vous permet de chiffrer un fichier en lui ajoutant l’extension .aes, tandis que decrypt fait l’opération inverse.

cryptr encrypt ./secret-file
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
ls -alh
-rw-r--r-- 1 user group 1.0G Oct 1 13:33 secret-file
-rw-r--r-- 1 user group 1.0G Oct 1 13:34 secret-file.aes

Vous pouvez même définir le mot de passe à utiliser via la variable d’environnement CRYPTR_PASSWORD pour automatiser le processus :

➜ CRYPTR_PASSWORD=motdepasse007 cryptr encrypt ./secret-file

Franchement, c’est tellement simple et efficace que même James Bond Raymonde peut en faire son outil préféré. Bref, si vous cherchez une solution de chiffrement simple et efficace pour protéger vos données sensibles, je vous recommande vraiment de tester Cryptr.