Retour au blog

Qu'est-ce qu'IPFS ? Le content addressing expliqué simplement

Infrastructure

Vous avez déjà cliqué sur un lien qui ne mène nulle part. Une image dans un ancien article, une pièce jointe dans une newsletter de l'an dernier, un document sur le site d'une association qui a changé d'hébergeur. Le fichier existe peut-être encore quelque part. Le lien, lui, est mort.

Il ne s'agit pas d'un accident, mais de la conséquence directe de la manière dont le web désigne les fichiers. C'est précisément le problème qu'IPFS résout.

Qu'est-ce qu'IPFS ?

IPFS (InterPlanetary File System) est un système de stockage de fichiers réparti, porté par un projet open source. Pour comprendre ce qu'il change, il suffit de comparer deux manières de désigner un même fichier.

Sur le web classique, on désigne un emplacement. C'est le location addressing : l'adresse indique de se rendre sur tel serveur, dans tel dossier, et d'y prendre le fichier portant tel nom. L'information centrale est donc le serveur. Si celui-ci ferme, change de propriétaire ou réorganise ses dossiers, l'adresse perd tout son sens.

Avec IPFS, on désigne un contenu. C'est le content addressing (adressage par contenu). On calcule un hash du fichier, une empreinte mathématique unique, appelée ici CID (Content Identifier). C'est ce CID qui devient l'adresse du fichier. La demande n'est plus « transmettez-moi le fichier situé à tel endroit », mais « transmettez-moi le fichier correspondant à ce CID ». Peu importe qui répond.

# Ajouter un fichier : IPFS renvoie son CID
$ ipfs add photo.jpg
added bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi photo.jpg

# Le même fichier, ajouté sur une autre machine, donne le même CID.
# Cette adresse ne dépend d'aucun serveur.

L'adresse n'indique plus où le fichier se trouve, mais ce qu'il est.

Quels sont les bénéfices concrets ?

Ce simple changement de logique entraîne des conséquences très concrètes.

  • Vos liens ne se rompent plus lors d'un changement de prestataire. Un CID ne mentionne aucun hébergeur : il demeure valable quel que soit l'endroit où le fichier est servi.
  • Vous savez si un fichier a été modifié. Le contenu reçu est vérifié par rapport à son CID. Une altération ou une corruption se détecte automatiquement, sans avoir à faire confiance au serveur.
  • Vos sauvegardes ne sont plus des copies de second rang. Plusieurs machines peuvent héberger le même contenu en parallèle, sans conflit. Il ne s'agit pas d'une copie, mais du même objet.
  • La reprise par un tiers devient simple. Une liste de CID constitue un inventaire universel de vos fichiers, que tout prestataire compétent saura exploiter.

Que ne fait pas IPFS ?

Le sujet s'accompagne de nombreuses promesses exagérées. Deux points méritent donc d'être clarifiés.

IPFS ne constitue pas une sauvegarde éternelle. Un contenu reste disponible tant qu'au moins une machine le conserve activement. C'est ce que l'on appelle le pinning (épinglage). Si plus aucun nœud ne le conserve, le contenu disparaît du réseau.

IPFS n'est pas non plus un système de confidentialité. Toute personne connaissant le CID peut récupérer le fichier. Un contenu sensible doit donc être chiffré avant d'être déposé.

IPFS répond donc très bien aux enjeux d'adressage et de portabilité. Le reste, c'est-à-dire la sauvegarde, le chiffrement et la gestion des versions, requiert d'autres outils à ses côtés.

Où en apprendre davantage ?

Trois ressources officielles, dans l'ordre où nous les conseillons :

Comment l'utilisons-nous ?

Chez L'Économe, IPFS n'est pas un sujet théorique : c'est là que résident les médias des sites que nous livrons. Dans un prochain article, nous détaillerons la manière dont nous l'avons relié à notre CMS, ce que cela change au quotidien pour nos clients, ainsi que les écueils rencontrés en chemin.

Vous souhaitez bâtir sur IPFS ?

Nous concevons des sites et des applications sur mesure à Toulouse, sur des technologies ouvertes. Si vous vous interrogez sur ce que le content addressing pourrait apporter à votre projet, parlons-en.

Discutons de votre projet