L'adieu au silicium
Ça commence toujours par un manque.
En 2010, je vis chez mes parents, dans un village où la fibre est un concept théorique et la VDSL un privilège réservé aux habitants du centre. Nous, on habite dans les hauteurs. Autant dire qu'on vit dans un angle mort du réseau. Le streaming n'existe pas, enfin si, il existe, quelque part, dans les métropoles, pour les gens qui ont les bons tuyaux. Nous, on télécharge. Tout le monde télécharge. On ne va pas se mentir. Il y a prescription.
Ce que j'ai, c'est une PS3. C'est un très bon lecteur Blu-ray pour l'époque, et c'est surtout la seule machine de la maison capable de lire un fichier depuis un port USB. J'ai une clé de 16 Go. Peut-être 32. C'est déjà un budget pour un adolescent. Les fichiers sont plus légers qu'aujourd'hui, on fait rarement du 1080p, mais la clé se remplit vite.
La routine est la suivante : je télécharge un lot d'épisodes sur l'ordinateur. Je les copie sur la clé. Je branche la clé dans la PS3. Je regarde. Quand j'arrive au bout, je supprime, je recharge, je rebranche. Un circuit fermé, manuel, stupide. Le ballet de la clé USB.
Le problème, c'est One Piece. La série fait déjà plusieurs centaines d'épisodes. L'intégrale ne tient pas sur 32 Go. Elle ne tiendra jamais. Chaque soir, je fais le tri, je choisis quels épisodes méritent d'exister sur le support et lesquels doivent disparaître pour faire de la place. C'est une forme de curation par la contrainte. C'est surtout du temps perdu que je ne mesure pas encore.
Le cadeau empoisonné
Quelques années passent. Je tombe sur le Raspberry Pi. Le premier du nom. Je sais vaguement ce que c'est, un ordinateur miniature qui tient dans la main, qui consomme rien, qui peut tourner sans écran. Ce que je ne sais pas, c'est ce que je vais en faire exactement. Mais je sais que j'en veux un. Je demande à mes parents. Ma mère me l'offre.
Je ne connais rien à Linux. C'est hostile, opaque, plein de commandes qui ne pardonnent pas les fautes de frappe. Mais c'est la porte de sortie. Avec un Raspberry, je peux installer un client torrent en local. Plus besoin de télécharger sur l'ordinateur, de transférer sur la clé, de brancher. Le fichier descend directement sur le stockage du Pi.
Sauf que le Pi n'a pas de stockage. Enfin si, une carte SD minable. Il faut trouver autre chose.
Entre-temps, j'ai emménagé dans mon premier appartement d'étudiant. Ce qui signifie que l'esthétique n'est plus un critère. J'achète une station d'accueil pour disques durs 3.5 pouces, initialement pour dépanner des disques défaillants, les diagnostiquer. Et puis l'usage dérive, comme toujours. Je récupère de vieux disques, les gros, les bruyants. Je les empile dans la station. Je branche le tout en USB sur le Raspberry.
J'ai un NAS. Le mot est généreux. C'est un bricolage tenu par des câbles et de la foi. Pas d'interface graphique. Tout piloté en ligne de commande, puis via Docker, que je découvre en tâtonnant. 250 Go de stockage. Le Raspberry s'en sort, à peine. L'alimentation USB craque sous la charge, les polyfuses des ports n'arrivent pas à nourrir les disques. La station d'accueil reçoit sa propre alimentation externe. Un transformateur de plus dans un studio déjà encombré de câbles.
Et puis il y a le problème du décodage. Le Raspberry Pi n'a pas la puissance de transcoder un fichier 4K. Ni même certains fichiers 1080p un peu lourds. Si l'appareil de lecture, la PS4 désormais, est compatible avec le codec, ça passe en lecture directe. Sinon, c'est le gel, le buffer, le vide. Je passe des soirées à chercher quel format, quel conteneur, quel codec fonctionne avec quelle combinaison d'appareils. Ce n'est plus du divertissement. C'est de la logistique.
La tentation du tout-en-un
Il y a un moment, dans toute obsession technique, où on se dit : peut-être qu'il suffit d'acheter le bon produit. D'arrêter de bricoler. De payer pour que ça marche.
J'achète un Synology. On est en 2017, je crois. À cette époque, Synology n'est pas encore devenu le Apple des NAS, cher, arrogant, assis sur ses acquis. C'est encore un produit correct, accessible, avec un OS propre qui permet de faire des choses sérieuses sans être ingénieur. Je monte mon disque, je réinstalle ma stack, et pour la première fois, j'ai un processeur Intel sous le capot. Intel avec QuickSync. Du transcodage matériel. Mes utilisateurs peuvent enfin lire n'importe quoi depuis n'importe quel appareil sans que le serveur s'étrangle.
C'est là que je fais l'erreur qui va me coûter cinq ans de ma vie.
Je me dis : puisque ça marche, autant partager. J'installe Sonarr, Radarr, Jackett, puis Prowlarr. La sainte trinité de l'automatisation. Quand un nouvel épisode sort, le système le détecte sur les indexeurs torrent, le télécharge, le renomme, l'intègre dans la médiathèque. C'est beau. C'est fluide. C'est la machine qui travaille pendant que je dors.
J'ouvre l'accès à la famille. Puis aux copains. On est vite une vingtaine dessus. Puis les demandes arrivent. Telle série n'existe pas. Tel film manque. J'installe Ombi pour que les gens puissent soumettre leurs requêtes et que le système les traite automatiquement. Je deviens opérateur d'un service de streaming clandestin, non rémunéré, avec un support utilisateur à gérer en plus du reste.
Le jeu du chat et de la souris
Le problème de fond, c'est la source. La plupart de mes indexeurs tournent sur YGG Torrent, le successeur de T411, qui mène une guerre ouverte contre les crawlers. YGG n'a jamais voulu mettre en place d'API, une API, ça veut dire que les gens ne viennent plus sur le site, et que les revenus publicitaires s'effondrent. Donc tous les six mois, c'est le même cirque : ils activent Cloudflare, on contourne avec Flaresolverr, ils changent les captchas, on adapte, ils bougent encore. Un jeu du chat et de la souris qui dure des années. Et à chaque round, c'est moi qui dois tout remettre debout.
En 2020, pendant le confinement, je remplace le Synology par un Beelink, un mini-PC. Plus de puissance, plus de stockage, full Docker. Traefik en reverse proxy, toute la stack arr en conteneurs, Plex en frontal. L'architecture est propre. Mais le problème n'a pas changé. C'est toujours moi qui maintiens. C'est toujours moi qui explique aux utilisateurs que non, Plex ne transcode pas par défaut même si l'appareil peut le faire, que oui il faut aller dans les paramètres, que non je ne sais pas pourquoi ça buffère chez eux. C'est toujours moi qui rachète des disques quand le stockage déborde, 8 To, puis 16 To. Une course à l'armement pour stocker des séries que je n'aurai jamais le temps de regarder.
Et puis il y a le ratio. Les trackers privés français sont des clubs de comptables paranoïaques. Il faut seeder, il faut maintenir sa machine allumée, il faut surveiller les graphiques de débit pour ne pas se faire bannir par un script de Hit and Run. On ne regarde plus les films. On regarde les barres de progression.
Spéléologie
Je tombe sur Stremio au détour d'un fil Reddit. La première fois, je ne comprends pas l'intérêt. Du streaming peer-to-peer, ça ressemble à ce qu'avait fait Popcorn Time en 2014, le truc qui avait explosé et qui était mort aussi vite sous la contrainte des ayants droits. Et surtout, du streaming P2P avec un ratio YGG, c'est du suicide. Vingt utilisateurs qui streament en direct, mon compte ne tient pas la semaine.
Je passe à autre chose.
Des mois plus tard, je retombe dessus. Un autre fil, une autre discussion. Et cette fois, un détail m'arrête : le nombre de gens qui utilisent ça. Beaucoup trop pour un truc qui devrait liquider leurs ratios en quelques jours. Comment font-ils tous ?
C'est là que je découvre le système de débrideur. Et c'est là que le vertige me prend. Parce que les débrideurs, je les connais. C'est de la spéléologie. Ça remonte à mes tout débuts, avant le peer-to-peer, avant les torrents, avant tout. Uptobox. 1fichier. Rapidgator. Les noms sortent de ma mémoire comme des fossiles. À l'époque, sans abonnement premium, chaque fichier était découpé en quinze ou vingt morceaux qu'il fallait télécharger un par un, avec une limite d'attente entre chaque téléchargement, puis décompresser ensemble en priant pour que l'extraction ne corrompe rien. Une chance sur dix que le film soit lisible à l'arrivée. Le reste du temps, c'était un cadavre numérique en vingt morceaux.
Les débrideurs existaient déjà pour régler ce problème : ils téléchargeaient le fichier en premium à ta place et te le servaient depuis leurs serveurs, d'un bloc, sans attente, sans découpage. Et ils n'ont pas changé. Pas d'un iota. Dix ans plus tard, le principe est exactement le même. Ils servent toujours des fichiers depuis leurs serveurs. Sauf que maintenant, on peut aussi leur balancer un torrent. Le débrideur vérifie le hash, regarde s'il l'a déjà en cache, et si oui, te le sert directement sans jamais le retélécharger. Sinon, il le fait pour toi.
Le fonctionnement est simple et il insulte mes dix années d'ingénierie : quand tu veux regarder un contenu sur Stremio, l'extension analyse le hash du torrent, vérifie si le fichier existe déjà dans le cache du débrideur, et si oui, te le sert en streaming direct. Pas de pairs. Pas de ratio. Pas de seed qui tourne la nuit. Juste du flux.
AllDebrid. 3 euros par mois.
Le déploiement du silence
Je migre. Je fais basculer mes utilisateurs un par un. Et c'est là que surgit le dernier problème, celui que je n'avais pas anticipé : mes utilisateurs ne sont pas techniques. Quand je modifie ma configuration Stremio, un add-on à supprimer, un autre à ajouter, un manifest JSON à remplacer, il faut que chacun refasse la manipulation de son côté. Et leur expliquer comment supprimer un add-on et réimporter un JSON toutes les deux semaines le temps de stabiliser la config, c'est les perdre.
Alors je fais ce que je fais toujours. Je code. Un outil qui récupère la auth key de chaque utilisateur, ils se connectent une fois, et grâce à l'API Stremio, je déploie une config unique sur tous les comptes d'un coup. Une seule source de vérité. Un seul geste pour vingt personnes.
Il reste un détail. AllDebrid n'autorise qu'une seule IP à la fois. Vingt utilisateurs, vingt IP différentes, c'est le bannissement immédiat. Tout le trafic passe par StremThru, routé via Mullvad. AllDebrid ne voit jamais qu'une seule adresse. Le tour est joué.
Ça fait six mois que ça tourne. Ça fonctionne. Pas à peu près, pas avec des réserves. Ça fonctionne.
J'ai éteint le Beelink. J'ai débranché les disques de 16 To. Les conteneurs qui surveillaient le moindre épisode de la série du moment ne tournent plus. Le salon est silencieux. Le transfo de la station d'accueil ne chauffe plus dans le coin du bureau.
Il me reste un VPN et un débrideur à payer. 3 euros par mois pour l'un, quelques euros pour l'autre. Le prix de deux cafés pour effacer dix ans d'architecture système. Dix ans de câbles, de disques, de nuits blanches à contourner des captchas et à expliquer le transcodage à des gens qui voulaient juste regarder un film.
Je suis redevenu spectateur.
