Vue lecture

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

PinMe - Le web immuable en une commande

Les 404, c'est la plaie du web... J'en sais quelque chose, je fais la chasse à ça en permanence sur mon propre site. C'est vrai que c'est relou parce que vous bookmarkez un projet cool, vous y retournez trois mois après... et pouf, ça a disparu. Le dev n'a pas renouvelé son nom de domaine, l'hébergeur a fermé boutique, le contenu s'est évaporé ou que sais-je encore... En fait, sur le web, RIEN n'est permanent.

PinMe prend le problème à l'envers en collant vos fichiers directement sur IPFS . En gros, au lieu de dépendre d'un serveur unique qui peut tomber n'importe quand, vos pages sont distribuées sur un réseau décentralisé et identifiées par un hash CID unique. Du coup, tant que le réseau tourne, votre contenu existe. Pas besoin de renouveler quoi que ce soit, pas besoin de payer un hébergeur... ça fonctionne tout seul.

L'installation se fait en une ligne :

npm install -g pinme

Pour déployer votre site statique, c'est hyper simple :

pinme upload dist/

L'outil détecte le dossier de build, ou plutôt il le devine tout seul selon votre framework : dist/ pour Vite et Vue, build/ pour Create React App, out/ pour Next.js en export statique. Ça évite d'avoir à se palucher de la config.

Côté limites, on est sur 200 Mo par fichier et 1 Go au total ce qui est largement suffisant pour une landing page ou une démo ! Et c'est GRATUIT. Pour ceux qui veulent un domaine lisible plutôt qu'un hash cryptique, y'a aussi des domaines ENS (les .eth sur Ethereum) ou des sous-domaines en .pinit.eth.limo. Après pour les domaines custom faudra un compte VIP par contre.

Le truc sympa c'est que vos fichiers restent accessibles via n'importe quelle passerelle IPFS, genre dweb.link ou w3s.link. Ainsi, si votre hébergeur ferme ou que votre domaine expire comme je le disais en intro, on s'en fiche ! Le contenu est toujours là, épinglé quelque part sur le réseau. C'est du stockage immuable, basé sur le contenu lui-même... du coup personne ne peut modifier ou supprimer ce que vous avez publié. (Et en fait vous non plus, faut le savoir.)

Et y'a aussi des commandes pour exporter en fichiers CAR et réimporter ailleurs, ce qui est pratique pour archiver ou migrer entre passerelles.

Voilà c'est gratuit pour 1 Go de stockage, c'est open source (licence MIT) et c'est par là . Merci à Lorenper pour la découverte !

RustFS - L'alternative Rust à MinIO

MinIO, tout le monde ou presque connaît car c'est LE truc quand on veut du stockage objet S3-compatible auto-hébergé sous Linux. Sauf que voilà... la licence AGPL, ça pique pour pas mal de boîtes qui ne veulent pas se retrouver à devoir ouvrir leur code.

Du coup, y'a un nouveau projet qui débarque dans le tiek et qui devrait en intéresser plus d'un. C'est RustFS , codé en Rust (comme le nom le laisse deviner mes petits Sherlock) et 100% compatible S3. En gros, vous prenez votre stack MinIO existante, vous remplacez par ce truc, et en fait tout continue de fonctionner pareil... Vos buckets, vos applis, vos scripts Python, boto3... tout pareil !

La licence c'est de l'Apache 2.0 comme ça y'a pas de contrainte virale, vous faites ce que vous voulez avec. Et c'est d'ailleurs sûrement la raison numéro un pour laquelle le projet cartonne.

Côté perfs, les devs annoncent 2,3x plus rapide que MinIO sur des petits objets de 4 Ko (testé sur un modeste 2 coeurs Xeon avec 4 Go de RAM). Bon, c'est un benchmark maison, à prendre avec des pincettes hein... mais finalement Rust pour du I/O intensif, ça se tient comme argument, car y'a pas de garbage collector qui vient foutre le bazar.

Pour l'installer, Docker en une ligne :

docker run -d -p 9000:9000 -p 9001:9001 -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latest

Et voilà, l'API tourne sur le port 9000 et la console web sur le 9001 (identifiants par défaut : rustfsadmin/rustfsadmin, changez-les vite fait hein). Y'a aussi du Kubernetes via Helm, un script d'install one-click, du Nix, ou un bon vieux git clone pour compiler vous-même (attention, sur macOS faut un ulimit à 4096 sinon ça ne marche pas).

Le conteneur Docker tourne en non-root (UID 10001), donc c'est plutôt propre niveau sécu. Pensez juste à faire un petit chown -R 10001:10001 data logs sur vos répertoires avant de lancer, sinon ça casse au démarrage.

Petit bonus appréciable, y'a aussi de la détection de corruption intégrée, et même du versioning de buckets pour les plus méfiants côté intégrité des données. D'ailleurs, côté monitoring, c'est déjà câblé pour envoyer vos métriques dans Grafana, vos traces dans Jaeger et le reste dans Prometheus. Un petit docker compose --profile observability up -d et c'est plié.

Par contre, on est encore en alpha et le mode distribué et le KMS sont en phase de test. Donc c'est PAS le genre de truc que vous mettrez en prod demain matin pour vos données critiques... mais pour du dev, du lab, ou des tâches pas trop sensibles... ça tourne impecc !

Bref, si l'AGPL de MinIO vous gave et que vous cherchez une alternative S3-compatible, en Rust, sous licence + permissive, allez jeter un œil à RustFS.

Merci à Lorenper pour le partage !

ESPHome - Transformez un ESP32 à 5 euros en capteur domotique sans dépendre du cloud

Aujourd'hui j'aimerais vous parler un peu de bidouille et plus particulièrement de domotique. Hé oui, si comme moi, vous en avez marre que tous vos objets connectés passent par des serveurs chinois (souvent à la sécurité douteuse) ou américains (souvent directement connecté à la NSA) pour vous dire qu'il fait 22°C dans votre salon, on va voir comment ensemble créer ses propres capteurs 100% locaux avec ESPHome .

ESPHome, c'est un framework open source qui transforme n'importe quel ESP32 ou ESP8266 en appareil connecté intelligent sans vous prendre la tête. Vous écrivez un petit fichier YAML, vous flashez la puce, et hop, vous avez un capteur qui cause directement avec Home Assistant. Comme ça y'a pas de cloud et encore moins de données qui partent on ne sait où.

Et c'est hyper accessible... Suffit de savoir remplir un fichier texte avec quelques indentations (le fameux YAML), et voilà vous savez utiliser ESPHome.

ESPHome fait partie de l'Open Home Foundation ( Source )

Ce qu'il vous faut

  • Un ESP32 (genre un Wemos D1 Mini ou un NodeMCU)
  • Un capteur DHT22 (température et humidité)
  • Quelques fils Dupont
  • Temps estimé : 30 minutes

Niveau branchement, c'est pas sorcier. Le DHT22 a 3 broches utiles : VCC sur le 3.3V de l'ESP, GND sur GND, et DATA sur un GPIO de votre choix (le GPIO4 marche nickel). Pensez aussi à ajouter une résistance de 4.7kΩ entre DATA et VCC si vous voulez des lectures béton (beaucoup de modules l'ont déjà intégrée, mais vérifiez bien).

source

Ensuite, pour installer ESPHome sur votre ordi, ça se passe avec pip :

pip install esphome

Une fois l'outil en place, vous créez votre configuration YAML. Voici un exemple tout simple pour notre capteur :

esphome:
 name: capteur_salon

esp32:
 board: esp32dev

sensor:
 - platform: dht
 pin: GPIO4
 temperature:
 name: "Température Salon"
 humidity:
 name: "Humidité Salon"
 update_interval: 60s

Hé voilà ! Ce fichier suffit à tout configurer. Ensuite, pour flasher, branchez votre ESP en USB et lancez la commande :

esphome run capteur_salon.yaml

La première fois, ça compile tout le firmware et ça flashe. Une fois que c'est fait, l'ESP apparaît automatiquement dans Home Assistant si vous avez activé l'intégration. Et le top du top, c'est que les prochaines mises à jour se feront en WiFi (OTA), ce qui est super pratique quand le truc est planqué derrière un meuble.

Et si vous voulez aller plus loin dans l'intégration domotique locale, je vous conseille aussi de voir comment utiliser le GPIO directement sur Home Assistant .

Et voilà comment, avec dix balles et un peu de curiosité, vous avez un capteur qui n'espionne plus votre vie. Youuhouuu !

Zerobyte – Enfin un outil de backup auto-hébergé qui ne vous prend pas la tête

Vous faites des sauvegardes régulières de vos données ? Non ?

Bon, je ne vais pas vous faire la morale, mais le jour où votre disque dur décidera de rendre l'âme ou que votre serveur VPS partira en fumée, vous allez vraiment regretter de ne pas avoir investi dix minutes dans un système de backup sérieux.

Alors, ouiiii, c'est vrai, on a souvent la flemme parce que c'est chiant à configurer. Entre les scripts bash qui plantent sans prévenir et les crontabs illisibles, y’a de quoi s'arracher les cheveux. C'est là qu'intervient Zerobyte , un projet open source qui veut réconcilier les allergiques du terminal avec la sécurité de leurs données.

Zerobyte est donc une plateforme d'automatisation de sauvegarde auto-hébergée qui vient poser une interface web moderne et ultra propre par-dessus le moteur Restic. Si vous avez déjà lu mon guide sur les backups avec Restic , vous savez que c'est du solide. Ça fait du chiffrement côté client, de la déduplication et de la compression. En gros, vos données sont blindées avant même de quitter votre machine et seules les modifs sont envoyées, ce qui est parfait pour ne pas exploser son forfait data ou son stockage cloud.

L'interface web permet surtout de tout piloter sans jamais toucher à une ligne de commande. Vous définissez vos "volumes" (ce qu'il faut sauver), vos "repositories" (où stocker tout ça) et vos "jobs" (quand lancer les opérations).

Pour les sources, l'outil est hyper flexible puisqu'il supporte aussi bien les dossiers locaux que les partages réseau via NFS, SMB, WebDAV ou SFTP et côté destination, c'est carrément Byzance puisque vous pouvez envoyer vos snapshots vers du S3 (AWS, MinIO, Wasabi), du Google Cloud, de l'Azure ou utiliser l'intégration rclone qui ouvre la porte à plus de 70 fournisseurs différents. C’est l’outil idéal pour mettre en place une véritable stratégie 3-2-1 sans se prendre la tête.

Pour l'installation, pas de surprise, ça se passe via Docker Compose. C'est léger, ça s'isole bien et ça tourne en deux minutes. Un petit bémol quand même le projet est encore jeune donc ça peut encore bouger pas mal au niveau de l'architecture. Mais pour du monitoring et de la gestion simplifiée de snapshots Restic, c'est déjà redoutable. Vous pouvez explorer vos sauvegardes directement depuis le dashboard et restaurer un fichier précis en trois clics.

Et pour ne rien gâcher, le projet est sous licence libre, ce qui colle parfaitement à l'esprit qu'on aime ici !

Bref, si vous cherchez une solution pour centraliser la gestion de vos sauvegardes sans finir en PLS devant un terminal, Zerobyte mérite clairement que vous y jetiez un œil.

Memos - Pour conserver votre inspiration et vos idées en lieu sûr

J'ai souvent des tas d'idées à la con, mais comme vous le savez, pris par le tourbillon de la vie, on ne pense pas forcément à les noter et encore moins à les exploiter plus tard.

Il y a plein d'outils pour prendre des notes comme le célèbre Notion ou tout simplement l'app Notes d'Apple ou ce genre de trucs. Mais si vous êtes amateur de logiciel libre et inquiet par votre vie privée, le mieux c'est encore d'auto-héberger un outil comme Memos .

Voici le tutoriel que j'ai réalisé pour les patréons :

Memos est un outil développé en Go + React.js, qui peut tourner dans un Docker et qui permet en quelques secondes de noter votre prochaine idée de startup ou l'idée repas que vous venez d'avoir pour ce soir. Au niveau de son fonctionnement, l'interface de Memos ressemble un peu à Twitter et permet comme ça de prendre des notes aussi longues que vous voulez en markdown et d'y joindre des fichiers, des tags...etc.

Ici, pas de tracking ni de télémétrie louche selon les développeurs, le projet mise à fond sur la vie privée. Vous installez ça sur votre serveur, votre Raspberry Pi 4 ou 5, ou même un vieux PC qui traîne, et hop, vous avez votre propre carnet de bord numérique. Si vous configurez un petit reverse proxy (genre Nginx ou Caddy) ou un VPN, c'est accessible de partout.

Vous pouvez l'utiliser uniquement pour vous ou créer des comptes également pour vos collègues et amis et après il y a plus qu'à faire des recherches dans tout ça pour retrouver vos meilleurs punchlines ou idées à la con.

Perso, j'ai choisi Docker pour l'installation parce que c'est quand même plus simple à mettre à jour et ça évite de polluer le système avec 50 dépendances. J'ai d'ailleurs passé 5 minutes à chercher le port par défaut avant de réaliser que c'était le 5230, comme écrit en gros dans la doc... la honte ! Bon, attention quand même avec la persistance des données : n'oubliez pas de bien monter votre volume (le -v dans la commande), sinon au premier redémarrage du conteneur, pffff, plus de notes !

Pour l'installation sur Linux ou macOS, ça se règle en une seule commande :

docker run -d --name memos \
 -p 5230:5230 \
 -v ~/.memos/:/var/opt/memos \
 neosmemo/memos:stable

Tout est stocké dans une base SQLite (ou MySQL/PostgreSQL si vous préférez), vous pouvez le passer en langue française, en thème sombre si vous avez mal à vos petits yeux, et il y a même des APIs REST et gRPC pour connecter Memos à vos propres outils. D'ailleurs, si vous avez déjà testé Poznote , vous allez retrouver cet esprit "légèreté avant tout". Sauf que Memos pousse le bouchon un peu plus loin sur l'aspect communautaire.

Bref, c'est libre, c'est léger et ça fait le job sans chichis.

À découvrir ici !

Article publié initialement le 24 mai 2023 et mis à jour le 5 février 2026.

Nginx Proxy Manager - Le reverse proxy que même ma grand-mère pourrait configurer

L'autre jour, je voulais juste exposer un petit service tournant sur mon NAS pour y accéder à distance quand je suis en déplacement. Alors je me suis dit "Allez, je vais faire ça propre avec Traefik" mais bon, debugger du fichier YAML parce qu'on oublie des indentations à un moment ça casse la tête. J'ai +40 balais et pas que ça à foutre.

Si vous hébergez vos propres services à la maison (self-hosting powaaaah !) et que vous êtes un peu bordélique comme moi, vous installez un truc, puis un autre, et vous finissez avec une collection de ports impossible à mémoriser du genre monip:8080, monip:32400, monip:9000… Aarrgh, l'enfer !!!

Et ne me lancez pas sur la gestion des certificats SSL !! Si vous voulez faire ça bien, faut générer des certificats Let's Encrypt à la main pour chaque service, modifier les fichiers de conf Nginx en priant pour ne pas oublier un point-virgule… et j'en passe et des pas mûres… Alors je sais, oui ça nous occupe et pendant ce temps là, on n'est pas dehors en train de voler des voitures mais j'sais pas vous, moi j'ai mieux à faire.

Hé bien, figurez-vous les copains, qu'il existe un outil qui transforme ce cauchemar en promenade de santé. Ça s'appelle Nginx Proxy Manager, et une fois que vous aurez lu mon article et testé vous penserez : "Mais pourquoi je me suis emmerdé la vie pendant tout ce temps, mortecouille ?!".

Nginx Proxy Manager, c'est quoi ce truc ?

En gros, c'est une interface graphique super propre pour gérer Nginx. Au lieu de taper des lignes de commandes et d'éditer des fichiers de config obscurs, vous avez un beau tableau de bord pour :

  1. Rediriger vos domaines (ex: plex.mondomaine.fr) vers vos conteneurs Docker.
  2. Gérer vos certificats SSL (HTTPS) automatiquement.
  3. Sécuriser l'accès à certains services avec un mot de passe.

Mais en vrai, c'est plus riche que ça. Dans la barre du haut, vous avez tout ce qu'il faut pour piloter votre reverse proxy comme un adulte responsable : des hosts (proxy, redirections, streams, 404), des certificats (Let's Encrypt ou certifs locaux), des utilisateurs, des règles d'accès (Access Lists), et même des logs d'audit pour savoir qui a fait quoi (au cas où un de vos potes "teste un truc vite fait" et casse tout).

C'est le reverse proxy pour ceux qui veulent que ça marche, tout de suite, sans devenir ingénieur réseau bac+12 ou devoir se taper 2h d'explications IRL d'un barbu qui pue de la gueule ^^.

Installation en 3 minutes chrono (avec Docker)

Bon, on ne va pas y passer la nuit. La méthode la plus propre, c'est évidemment Docker Compose. Si vous ne l'avez pas, installez-le (allez, un petit apt install docker-compose et on n'en parle plus).

Créez un dossier nginx-proxy-manager et collez-y ce fichier docker-compose.yml :

version: '3.8'
services:
 app:
 image: 'jc21/nginx-proxy-manager:latest'
 restart: unless-stopped
 ports:
 - '8080:80' # Port HTTP public
 - '8181:81' # Port d'administration (à garder pour vous)
 - '8443:443' # Port HTTPS public
 volumes:
 - ./data:/data
 - ./letsencrypt:/etc/letsencrypt
 db:
 image: 'jc21/mariadb-aria:latest'
 restart: unless-stopped
 environment:
 MYSQL_ROOT_PASSWORD: 'npm'
 MYSQL_DATABASE: 'npm'
 MYSQL_USER: 'npm'
 MYSQL_PASSWORD: 'npm'
 volumes:
 - ./mysql:/var/lib/mysql

Petit piège à éviter : Faites gaffe si vous avez déjà un serveur web (Apache ou Nginx) qui tourne sur la machine hôte. Il va falloir couper le service ou changer les ports, sinon Docker va vous jeter une erreur parce que le port 80 est déjà pris. Du coup, vérifiez bien avec un petit netstat -tulpn | grep 80 avant de lancer la sauce.

Ah oui, et si vous utilisez un pare-feu comme UFW (ce que je vous recommande chaudement), n'oubliez pas d'ouvrir le port 81 : ufw allow 81. Sinon, vous allez pleurer devant une page blanche et vous demander pourquoi ça marche pas.

Ensuite, lancez la bête :

docker-compose up -d

Et voilà ! C'est tout. Votre serveur tourne. Si vous avez des erreurs, c'est probablement parce que vos ports sont déjà utilisés. Ou que les dossiers data, Let's Encrypt et MySQL n'existent pas encore. Moi j'ai ça sur mon NAS :

La configuration que même ma grand-mère pourrait le faire

Ouvrez votre navigateur et allez sur http://votre-ip:8181 et créez vous un compte.

Une fois dedans, pour exposer un service, c'est ridicule tellement c'est easyyyy

  1. Cliquez sur "Add Proxy Host".
  2. Entrez votre nom de domaine (ex: nextcloud.mondomaine.fr).
  3. Indiquez l'IP de la machine et le port du service (ex: 8080).
  4. Allez dans l'onglet "SSL", cochez "Request a new SSL Certificate" et "Force SSL".
  5. Sauvegardez.

En fait, le seul truc qui peut coincer, c'est la propagation DNS. Si vous venez d'acheter votre nom de domaine il y a 5 minutes, pas de panique si Let's Encrypt refuse de générer le certificat. Attendez une petite heure et réessayez. C'est classique.

Et hop, fini. Votre service est accessible en HTTPS, avec le petit cadenas vert qui va bien. Nginx Proxy Manager s'occupe de discuter avec Let's Encrypt et de renouveler le certificat tout seul. C'est carrément magique.

Tour d'horizon des fonctionnalités qui sauvent des week-ends

Parce que oui, Nginx Proxy Manager ne fait pas "juste" proxy + "cadenas". Dans le menu Hosts, vous avez plusieurs types de trucs à créer, et chacun sert à un usage bien précis. Et côté Certificats et sécurité, il y a de quoi faire sans sortir le marteau-piqueur.

Certificats Let's Encrypt (HTTP et DNS) + certifs locaux

On va commencer par le sujet qui donne des boutons : les certificats. Dans l'onglet Certificates, vous pouvez gérer tout ça au même endroit :

  • Let's Encrypt en HTTP-01 : le classique. NPM ouvre la voie, répond au challenge, et basta. Pratique pour un service.mondomaine.fr exposé "normalement".
  • Let's Encrypt en DNS-01 : là, c'est le mode "j'ai compris la vie". Vous pouvez valider le certificat via votre DNS (donc sans dépendre d'un port 80 accessible), et surtout ça permet les wildcards du style *.mondomaine.fr. Donc un seul certif et roule ma poule, même si vous ajoutez 12 sous-domaines demain à 3h du mat.
  • Certificats locaux : vous pouvez aussi importer un certificat existant (genre un certif de votre boîte, un truc interne, un CA maison, ou même un self-signed si vous aimez vivre dangereusement). Ça évite de dépendre de Let's Encrypt si vous êtes en mode "tout en local, rien sur Internet".

Et le meilleur c'est que NPM gère le renouvellement automatique. Donc plus de rappel calendrier "renouveler les certifs" tous les 2 mois, sinon c'est le drame et tout le monde vous écrit "ça marche plus ton truc".

Plusieurs comptes, parce que tout le monde n'est pas "admin"

Dans Users, vous pouvez créer plusieurs comptes pour accéder à l'interface. Typiquement :

  • un compte admin pour vous, le chef, le patron, le seigneur des reverse proxies.
  • un compte "moins dangereux" pour quelqu'un qui doit juste consulter ou bidouiller un truc sans toucher à toute l'infra.

Et ça, couplé aux Audit Logs (j'y reviens juste après), c'est très pratique quand plusieurs personnes mettent les mains dedans. Parce que "c'est pas moi, j'ai rien touché" est une phrase universelle, on la retrouve dans toutes les cultures.

Access Lists, le videur à l'entrée

Alors ça, c'est une des fonctions les plus sous-cotées. Les Access Lists permettent de mettre en place des règles d'accès et de les réutiliser partout :

  • Basic Auth (login/mot de passe) : parfait pour protéger une appli pas prévue pour être publique, ou un petit outil d'admin que vous ne voulez pas exposer "en clair".
  • Allow/Deny par IP : le top pour dire "seulement depuis mon IP / mon VPN / mon réseau". Et là, même si quelqu'un devine votre URL, il se prend un mur.

Vous créez une Access List une fois, et ensuite vous l'appliquez à vos Proxy Hosts. Du coup, pas besoin de refaire 50 fois la même conf. C'est propre, c'est net, c'est carré.

Les redirections propres (HTTP -> HTTPS, domaine A -> domaine B, etc.)

Besoin de rediriger un vieux domaine vers un nouveau ? Ou de faire un joli http:// qui part systématiquement en https:// ? Les Redirection Hosts servent exactement à ça. C'est bête mais ça évite d'aller trifouiller des règles Nginx à la main.

Exemples typiques :

Streams - Quand ce n'est pas du HTTP mais que vous voulez quand même un reverse proxy

Le web, c'est bien, mais tout n'est pas en HTTP. Certaines applis parlent en TCP/UDP (bases de données, services réseau, protocoles chelous, etc.). C'est là que Streams entrent en jeu. Cette fonctionnalité vous permet de proxyfier des flux réseau, genre "ce port externe pointe vers ce port interne".

Alors oui, c'est plus "brut" que les Proxy Hosts, mais ça dépanne vraiment quand vous avez un service qui n'a rien à faire derrière un vhost HTTP. Et ça se configure aussi en 2 clics, sans incantations démoniaques.

404 Hosts - La sortie de secours

Les 404 Hosts, c'est la petite finition qui fait plaisir (non, rien à voir avec votre salon de massage préféré). Vous pouvez définir un "host poubelle" qui répond proprement quand quelqu'un tape un domaine qui n'existe pas chez vous, ou quand un bot scanne votre serveur en espérant trouver /phpmyadmin par magie.

Au lieu de laisser traîner une réponse moche ou ambiguë, vous renvoyez une 404 nette, propre, assumée. C'est pas de la sécurité absolue, mais c'est une bonne hygiène, et ça évite de donner trop d'infos aux curieux.

Audit Logs

Dans Audit Logs, vous avez l'historique des actions effectuées dans l'interface : création/modif de hosts, changements de certifs, etc. C'est le genre de truc dont on se fout… jusqu'au jour où on en a besoin. Et là, vous êtes content de pouvoir remonter le film de l'horreur.

Et enfin, mon bonus : Le mode "je sais ce que je fais" (les options avancées Nginx)

Et si un jour vous voulez aller un cran plus loin, NPM permet aussi d'ajouter des réglages plus "Nginx pur jus" par host (headers, règles, conf custom). Donc vous commencez en mode clic-clic, et si vous devenez un peu psycho sur l'optimisation, vous pouvez aussi affiner. Sans tout casser, normalement.

2/3 conseils de daron pour éviter les boulettes

  • Ne laissez pas l'admin ouvert au monde : le port 8181 (ou votre port d'admin) c'est "pour vous". Si possible, limitez-le via pare-feu / VPN / IP autorisées. C'est le panneau de commande de votre château, pas un distributeur de bonbons.
  • Utilisez les Access Lists pour tout ce qui est sensible : dashboards, outils d'admin, services pas prévus pour Internet, etc.
  • Pensez au DNS-01 si vous voulez des wildcards ou si vous n'avez pas envie d'exposer le port 80.

Et par rapport aux autres ?

Je vous vois venir les puristes : "Oui mais Traefik c'est mieux car c'est dynamique". C'est vrai. J'ai testé Traefik, et c'est une tuerie pour les environnements qui bougent tout le temps. Mais sa config en YAML peut vite devenir une usine à gaz si vous débutez. Caddy est top aussi (un seul fichier de conf), mais il faut quand même mettre les mains dans le cambouis.

Perso, je pense que Nginx Proxy Manager est un excellent choix pour un homelab par exemple. C'est un peu le choix du confort, celui des grosses feignasses comme moi parce que c'est visuel, c'est du clic-bouton clic clic, et pour un petit serveur perso, c'est franchement imbattable.

Bref, si vous galérez encore avec vos vhosts Nginx, arrêtez de vous faire du mal. Installez ça, et profitez de la vie (et de vos week-ends).

Nginx Proxy Manager c'est par ici !

Des scripts tout faits pour votre Proxmox

Ce matin, je discutais avec Emmanuel (un lecteur fidèle) sur mon Linkedin Korben et il m'a partagé une ressource vraiment chouette. Si comme moi vous jouez un peu parfois avec un serveur Proxmox qui tourne à la maison pour vos expérimentations ou votre domotique, vous savez que configurer chaque VM ou conteneur LXC peut vite devenir chronophage. On copie-colle des commandes, on installe des dépendances, on se plante, on recommence... La routine quoi sauf que cette routine peut vite devenir reloue.

Hé bien, fini la galère !!!! Le projet dont je veux vous parler aujourd'hui s'appelle Proxmox VE Helper-Scripts et c'est une collection communautaire de scripts (plusieurs centaines !) qui permet d'installer et de configurer tout un tas de services en une seule ligne de commande.

En gros, c'est une immense boîte à outils pour votre hyperviseur. Vous avez besoin d'une instance Home Assistant pour gérer des ampoules connectées ? Hop, vous lancez le script et ça vous crée le conteneur LXC tout propre. Vous voulez monter un serveur média avec Plex ou Jellyfin ? Pareil, c'est généralement plié en quelques minutes (selon votre connexion évidemment).

Vous allez sur le site, vous cherchez l'outil qui vous intéresse, vous copiez la commande bash fournie (du style bash -c "...") et vous la collez dans le shell de votre nœud Proxmox. Et hop, l'assistant se lance. Il vous pose quelques questions (IP statique ou DHCP, espace disque, RAM... ce genre de trucs classiques) et puis tente de s'occuper de tout le reste (si les planètes sont bien alignées et que votre karma est au top !).

Je trouve ça génial parce que non seulement ça gère l'installation, mais ça s'occupe aussi des mises à jour. Mais bon, attention quand même parce qu'une mise à jour upstream peut parfois casser le script, donc prudence. C'est d'ailleurs super utile si vous utilisez Proxmox sur un Raspberry Pi (via Pimox), même si l'architecture ARM peut poser souci avec certains scripts. D'ailleurs, bonne nouvelle pour les utilisateurs de Pimox : il existe Pimox-Scripts , un portage de ces mêmes Helper Scripts mais adaptés spécifiquement pour ARM/Raspberry Pi. Tous les scripts ne sont pas encore dispos (moins de contributeurs), mais y'a déjà de quoi faire !

Parmi les scripts disponibles, on retrouve les classiques Docker, AdGuard Home, Pi-hole, mais aussi des trucs plus pointus pour le monitoring ou la sécurité. C'est vraiment très complet, y compris si vous êtes dans une optique de création de lab de cybersécurité .

Après, je dois quand même vous faire une petite mise en garde de circonstance. Car comme d'habitude, exécuter des scripts bash trouvés sur le net direct en root... comment dire... c'est jamais sans risque. Le code est open source et maintenu par une communauté active, ça facilite l'audit, mais ce n'est pas une garantie de sécurité absolue. Sauf si vous aimez vivre dangereusement, jetez toujours un œil au code avant de valider. La confiance n'exclut pas le contrôle !!

Un grand merci à Emmanuel pour le tuyau initial et à Karl pour l'info sur Pimox-Scripts !

Tim Berners-Lee veut qu'on reprenne le contrôle d'Internet

Tim Berners-Lee, le papa du Web, tape du poing sur la table . Dans cette interview accordée au Guardian aujourd'hui, il explique en gros qu'il est grand temps de "reprendre Internet" aux géants qui l'ont transformé en machine à fric.

Il était temps que ça sorte !

Parce lui parle carrément d'une "bataille pour l'âme du web". Rien que ça ! Selon lui, le web actuel est devenu un truc "optimisé pour la méchanceté" et la surveillance de masse. Je ne peux pas le contredire sur la méchanceté et en effet, la centralisation excessive et le modèle actuel ont largement perverti sa vision d'origine.

Sa solution, vous en avez peut-être déjà entendu parler, c'est le projet Solid (porté notamment par sa startup Inrupt ) qui propose de stocker ses données dans des "pods" personnels. L'idée c'est de découpler les données des applications. Vous gardez vos infos dans votre pod (hébergé chez vous ou chez un fournisseur de confiance) et vous donnez accès aux apps au cas par cas. Comme ça on peut reprendre (un peu) le contrôle de notre vie en ligne.

Il s'inquiète aussi pour l'IA et réclame un "CERN de l'IA" pour éviter que la technologie ne nous échappe totalement. C'est mal barré ça je pense, même si je suis d'accord avec lui.

Perso en ce qui me concerne, j'ai jamais changé mon fusil d'épaule et vous le savez, puisque depuis toujours j'invite tout le monde dès que j'en ai l'occasion à créer son site, à créer son forum, à créer sa plateforme et à en finir avec ces conneries de plateformes centralisée.

Alors peut-être que ça ne marchera pas, ou peut-être que son appel sera entendu et que ça marchera. Mais en tout cas, si à un moment, vous voulez publier des trucs sur le web, essayez un tout petit peu d'héberger vos propres trucs vous-même. Attentio, je ne vous dis pas de monter un cluster Kubernetes dans votre salon (sauf si vous kiffez ça) ou de switcher en mode auto-hébergement pur et dur sur un Raspberry Pi (bien que ce soit très cool avec Yunohost )... Non, vous pouvez simplement prendre un hébergeur comme O2Switch par exemple. C'est pas très cher.

Je crois que quand on a une passion, on peut mettre un petit peu d'argent dedans pour se faire plaisir. Puis ça peut marcher dans l'autre sens aussi... À l'époque, moi je me souviens, il y avait un pote qui ouvrait son serveur pour qu'on puisse y mettre des pages web et ce genre de truc via un petit FTP. Donc ceux qui savent gérer des serveurs web, vous pouvez peut-être aussi envisager de créer un espace non pas accessible à la Terre entière, mais au moins accessible à vos amis, à des connaissances, gratuitement. Un truc un peu facile à utiliser, à l'ancienne...

Voilà, je trouverai ça vraiment cool que ça revienne un petit peu à la mode et que le web se repeuple. Qu'on sorte un peu des GAFAM et des algos toxiques...

Quelques pages statiques et c'est suffisant pour s'exprimer sans se prendre le chou avec la technique. J'en suis la preuve vivante ! Le site sur lequel vous êtes est 100% statique. On n'a pas besoin de monter une startup à chaque fois qu'on veut faire un site.

Je ne sais pas si les fournisseurs d'accès internet offrent toujours un petit bout d'espace web, mais si vous avez ça qui traîne, profitez-en aussi.

Bref, écoutez Papi Tim et Tonton Korben et ensemble, reprenons le contrôle, un serveur à la fois.

Source

Poznote - La meilleure app de notes auto-hébergeable que vous pourrez trouver !

Vous cherchez une app de prise de notes que vous pouvez héberger vous-même, sans dépendre d'un cloud propriétaire qui va analyser vos pensées les plus intimes pour vous balancer de la pub ciblée ?

Ça tombe bien car j'ai reçu un mail d'un lecteur, Tim, qui bosse dessus depuis des années et qui vient de la partager en open source. Alors je fais mon taf et je vous en parle !

Ça s'appelle Poznote , et c'est une application web légère pour la prise de notes. Le truc cool, c'est que vous gardez la main sur vos données puisque tout tourne chez vous. Pas de cloud tiers, pas de tracking, pas de "on analyse vos notes pour améliorer notre IA". Vos notes restent vos notes.

Côté fonctionnalités, y'a de quoi faire puisque c'est un éditeur de texte enrichi, avec support Markdown, une recherche super puissante, un système de tags, le support des pièces jointes, des espaces de travail multiples... Et y'a aussi des trucs plus originaux comme l'intégration d'Excalidraw pour dessiner des schémas et les diagrammes Mermaid pour les devs qui aiment visualiser leurs architectures. Et bien sûr, mode sombre parce qu'on est en 2025 quand même et que cette année était bien bre-som quand même !

Ce projet tourne avec PHP 8, SQLite pour la base de données, et un peu de JavaScript vanilla avec React juste pour le composant Excalidraw. Et les notes sont stockées en HTML/Markdown avec les métadonnées dans SQLite et les pièces jointes dans le système de fichiers.

Pour l'installation, c'est du Docker comme d'hab, donc vous récupérez l'image, vous configurez quelques variables d'environnement, et hop ça tourne sur le port 8040 avec les credentials par défaut admin/admin123! . Le projet supporte même les instances multiples si vous voulez séparer vos notes perso de vos notes pro sur le même serveur.

Y'a aussi une API REST complète avec documentation Swagger intégrée pour ceux qui veulent automatiser des trucs ou intégrer Poznote dans leur workflow. Vous pouvez aussi partager des notes publiquement si besoin, créer des listes de tâches, et y'a un système de corbeille pour récupérer ce que vous avez supprimé par erreur.

Le backup est également intégré directement dans l'app avec export complet de vos données et vous pouvez même consulter vos notes offline une fois exportées. Et tout le code est sous licence MIT.

Voilà, si vous voulez tester avant de vous lancer, y'a une démo dispo sur poznote-demo.up.railway.app avec les identifiants poznote/poznote. Ça vous donnera une idée de l'interface et des fonctionnalités sans rien installer.

Bref, si vous cherchez une solution de notes auto-hébergée incroyable, Poznote c'est gratuit, c'est open source, et ça respecte votre vie privée. C'est le top du top alors je dis un grand bravo à Tim pour le boulot accompli !!

Docker Manager - Pour gérer vos conteneurs depuis votre smartphone

Vous vous souvenez de la dernière fois où vous avez dû redémarrer un container Docker en urgence depuis votre téléphone, planqué dans les chiottes du resto un jour de St Valentin ?

Le minuscule clavier, la connexion SSH qui rame, les commandes qu’on tape mal parce que l’autocorrect veut absolument transformer “docker ps” en “docker pas”, l’écran trop petit pour lire les logs… Bref, la grosse merde !!

Heureusement, Docker Manager débarque pour transformer ce cauchemar en expérience qui fait plaisir aux yeux. C’est une app Android qui gère vos containers Docker à distance, et c’est tellement bien foutu que vous allez enfin arrêter d’ouvrir votre laptop n’importe où juste pour faire un simple restart.

C’est vrai que faire du SSH depuis un smartphone, ça a toujours été possible. Y’a même plein d’apps terminal mobiles, de clients fait pour ça, même des bidouilles pour se connecter à vos serveurs. Mais “possible” et “agréable”, c’est pas vraiment la même chose.

Grâce à Docker Manager ce sera donc possible ET agréable ! Vous gérez déjà Docker, vous connaissez déjà les commandes, vous savez ce que vous faites mais au lieu de vous faire taper des commandes dans un terminal de 5 pouces, l’app vous offre une interface utilisateur carrée avec des boutons, des statistiques en temps réel, des logs lisibles, et même un shell interactif quand vous en avez vraiment besoin !

Vous connectez donc vos serveurs via SSH (mot de passe ou clé, comme d’hab), et hop, vous aurez accès à tout. Start/stop/restart de containers, inspection des images, gestion des volumes et des networks, stats CPU/RAM en direct… Tout ce que vous feriez normalement en SSH, mais sans vous arracher les yeux sur un terminal mobile.

Autre truc sympa, l’app supporte plusieurs serveurs, donc vous pouvez switch entre votre VPS perso, votre homelab, et votre serveur de prod en deux tapotages ^^. Elle gère aussi les VPN comme Tailscale, donc si vos serveurs sont derrière un réseau privé, pas de problème. Elle propose même des thèmes light/dark, parce que oui, même en pleine nuit à 3h du matin quand un container plante, vous avez le droit à votre petit confort visuel.

L’app supporte aussi Podman. Vous configurez juste votre CLI Docker custom, et ça marche ! Et en plus, c’est open source ! Vous pouvez même faire du cleanup système pour virer les images et containers qui traînent histoire de faire un peu de ménage.

L’app est dispo sur le Play Store et sur GitHub pour ceux qui veulent build depuis les sources ou juste regarder le code. Testez, vous verrez, ça change la vie.

Merci à Friendly_0day pour le partage !

❌