﻿﻿{"id":2411,"date":"2026-02-27T09:07:28","date_gmt":"2026-02-27T08:07:28","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/pinme-le-web-immuable-en-une-commande\/"},"modified":"2026-02-27T09:07:28","modified_gmt":"2026-02-27T08:07:28","slug":"pinme-le-web-immuable-en-une-commande","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/pinme-le-web-immuable-en-une-commande\/","title":{"rendered":"PinMe &#8211; Le web immuable en une commande"},"content":{"rendered":"<p>Les 404, c&#8217;est la plaie du web&#8230; J&#8217;en sais quelque chose, je fais la chasse \u00e0 \u00e7a en permanence sur mon propre site. C&#8217;est vrai que c&#8217;est relou parce que vous bookmarkez un projet cool, vous y retournez trois mois apr\u00e8s&#8230; et pouf, \u00e7a a disparu. Le dev n&#8217;a pas renouvel\u00e9 son nom de domaine, l&#8217;h\u00e9bergeur a ferm\u00e9 boutique, le contenu s&#8217;est \u00e9vapor\u00e9 ou que sais-je encore&#8230; En fait, sur le web, <strong>RIEN n&#8217;est permanent<\/strong>.<\/p>\n<p>\n<a href=\"https:\/\/github.com\/glitternetwork\/pinme\">PinMe<\/a><br \/>\nprend le probl\u00e8me \u00e0 l&#8217;envers en collant vos fichiers directement sur<br \/>\n<a href=\"https:\/\/korben.info\/ipfs-le-web-permanent.html\">IPFS<\/a><br \/>\n. En gros, au lieu de d\u00e9pendre d&#8217;un serveur unique qui peut tomber n&#8217;importe quand, vos pages sont distribu\u00e9es sur un r\u00e9seau d\u00e9centralis\u00e9 et identifi\u00e9es par un hash CID unique. Du coup, tant que le r\u00e9seau tourne, votre contenu existe. Pas besoin de renouveler quoi que ce soit, pas besoin de payer un h\u00e9bergeur&#8230; \u00e7a fonctionne tout seul.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/pinme-site-web-permanent-ipfs\/pinme-site-web-permanent-ipfs-2.png\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>L&#8217;installation se fait en une ligne :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">npm install -g pinme\n<\/span><\/span><\/code><\/pre>\n<p>Pour d\u00e9ployer votre site statique, c&#8217;est hyper simple :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">pinme<\/span> <span class=\"n\">upload<\/span> <span class=\"n\">dist<\/span><span class=\"o\">\/<\/span>\n<\/span><\/span><\/code><\/pre>\n<p>L&#8217;outil d\u00e9tecte le dossier de build, ou plut\u00f4t il le devine tout seul selon votre framework : <code>dist\/<\/code> pour Vite et Vue, <code>build\/<\/code> pour Create React App, <code>out\/<\/code> pour Next.js en export statique. \u00c7a \u00e9vite d&#8217;avoir \u00e0 se palucher de la config.<\/p>\n<p>C\u00f4t\u00e9 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\u00e9mo ! Et c&#8217;est GRATUIT. Pour ceux qui veulent un domaine lisible plut\u00f4t qu&#8217;un hash cryptique, y&#8217;a aussi des domaines ENS (les <code>.eth<\/code> sur Ethereum) ou des sous-domaines en <code>.pinit.eth.limo<\/code>. Apr\u00e8s pour les domaines custom faudra un compte VIP par contre.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/pinme-site-web-permanent-ipfs\/pinme-site-web-permanent-ipfs-3.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Le truc sympa c&#8217;est que vos fichiers restent accessibles via n&#8217;importe quelle passerelle IPFS, genre dweb.link ou w3s.link. Ainsi, si votre h\u00e9bergeur ferme ou que votre domaine expire comme je le disais en intro, on s&#8217;en fiche ! Le contenu est toujours l\u00e0, \u00e9pingl\u00e9 quelque part sur le r\u00e9seau. C&#8217;est du stockage immuable, bas\u00e9 sur le contenu lui-m\u00eame&#8230; du coup personne ne peut modifier ou supprimer ce que vous avez publi\u00e9. (Et en fait vous non plus, faut le savoir.)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/pinme-site-web-permanent-ipfs\/pinme-site-web-permanent-ipfs-4.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Et y&#8217;a aussi des commandes pour exporter en fichiers CAR et r\u00e9importer ailleurs, ce qui est pratique pour archiver ou migrer entre passerelles.<\/p>\n<p>Voil\u00e0 c&#8217;est gratuit pour 1 Go de stockage, c&#8217;est open source (licence MIT) et<br \/>\n<a href=\"https:\/\/pinme.eth.limo\/\">c&#8217;est par l\u00e0<\/a><br \/>\n. Merci \u00e0 Lorenper pour la d\u00e9couverte !<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les 404, c&#8217;est la plaie du web&#8230; J&#8217;en sais quelque chose, je fais la chasse \u00e0 \u00e7a en permanence sur mon propre site. C&#8217;est vrai que c&#8217;est relou parce que vous bookmarkez un projet cool, vous y retournez trois mois apr\u00e8s&#8230; et pouf, \u00e7a a disparu. Le dev n&#8217;a pas renouvel\u00e9 son nom de domaine, l&#8217;h\u00e9bergeur a ferm\u00e9 boutique, le contenu s&#8217;est \u00e9vapor\u00e9 ou que sais-je encore&#8230; En fait, sur le web, RIEN n&#8217;est permanent. PinMe prend le probl\u00e8me \u00e0 l&#8217;envers en collant vos fichiers directement sur IPFS . En gros, au lieu de d\u00e9pendre d&#8217;un serveur unique qui peut tomber n&#8217;importe quand, vos pages sont distribu\u00e9es sur un r\u00e9seau d\u00e9centralis\u00e9 et identifi\u00e9es par un hash CID unique. Du coup, tant que le r\u00e9seau tourne, votre contenu existe. Pas besoin de renouveler quoi que ce soit, pas besoin de payer un h\u00e9bergeur&#8230; \u00e7a fonctionne tout seul. L&#8217;installation se fait en une ligne : npm install -g pinme Pour d\u00e9ployer votre site statique, c&#8217;est hyper simple : pinme upload dist\/ L&#8217;outil d\u00e9tecte le dossier de build, ou plut\u00f4t 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. \u00c7a \u00e9vite d&#8217;avoir \u00e0 se palucher de la config. C\u00f4t\u00e9 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\u00e9mo ! Et c&#8217;est GRATUIT. Pour ceux qui veulent un domaine lisible plut\u00f4t qu&#8217;un hash cryptique, y&#8217;a aussi des domaines ENS (les .eth sur Ethereum) ou des sous-domaines en .pinit.eth.limo. Apr\u00e8s pour les domaines custom faudra un compte VIP par contre. Le truc sympa c&#8217;est que vos fichiers restent accessibles via n&#8217;importe quelle passerelle IPFS, genre dweb.link ou w3s.link. Ainsi, si votre h\u00e9bergeur ferme ou que votre domaine expire comme je le disais en intro, on s&#8217;en fiche ! Le contenu est toujours l\u00e0, \u00e9pingl\u00e9 quelque part sur le r\u00e9seau. C&#8217;est du stockage immuable, bas\u00e9 sur le contenu lui-m\u00eame&#8230; du coup personne ne peut modifier ou supprimer ce que vous avez publi\u00e9. (Et en fait vous non plus, faut le savoir.) Et y&#8217;a aussi des commandes pour exporter en fichiers CAR et r\u00e9importer ailleurs, ce qui est pratique pour archiver ou migrer entre passerelles. Voil\u00e0 c&#8217;est gratuit pour 1 Go de stockage, c&#8217;est open source (licence MIT) et c&#8217;est par l\u00e0 . Merci \u00e0 Lorenper pour la d\u00e9couverte !<\/p>\n","protected":false},"author":1,"featured_media":2412,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2411","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2411"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2411\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2412"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}