VapeServer - Il transforme une cigarette électronique en serveur web
Un ingénieur qui s’appelle Bogdan a eu une révélation en regardant son tas de vapes jetables qui s’accumulait sur son bureau. Au lieu de se dire “Allez, go la déchèterie”, il a eu cette pensée bizarre… et si ces trucs avaient une seconde vie ? Et c’est là, mes petits Kévins, que commence une histoire qui va vous mettre des paillettes dans la vie
Parce que figurez-vous que Bogdan a réussi l’impossible. Il a tout simplement transformé une vape jetable toute nulle en serveur web fonctionnel. Car vous ne le savez peut-être pas, mais cette petite chose que vous balancez après quelques bouffées contient en fait un processeur ARM Cortex M0+ cadencé à 24 MHz, 24 kilooctets de mémoire flash et 3 Ko de RAM statique. Pour vous donner une idée, c’est plus puissant que les premiers serveurs web des années 90. On jette donc littéralement à la poubelle, des ordinateurs après les avoir utilisés comme totote électroniques.
Et pour réussir son coup, il a dû ressusciter une technologie qu’on croyait morte et enterrée : le SLIP (ça ne s’invente pas…) c’est à dire le Serial Line Internet Protocol. J’sais pas si vous souvenez de cette époque glorieuse des modems 56K où on attendait trois heures pour télécharger une chanson MP3. Eh bien SLIP, c’était le protocole qui permettait de faire passer du TCP/IP sur une liaison série. Une technologie de 1988 donc qui se retrouve à faire tourner un serveur web en 2025 sur du hardware ultra-moderne. C’est du même niveau que de brancher un Minitel sur la fibre optique et découvrir que ça marche impecc'.
Alors au début, les performances étaient… comment dire… merdiques. Des pings à 1,5 seconde, 50% de perte de paquets, et 20 secondes pour charger une page web. Autant dire que même les sites gouvernementaux français semblaient ultra véloces en comparaison. Mais Bogdan a optimisé son bébé à fond, notamment en implémentant un buffer circulaire pour améliorer les transferts de données. Résultat final : 20 millisecondes de ping, zéro perte de paquet, et 160 millisecondes pour charger une page.
Du niveau d’un vrai serveur, quoi… Mon site pourrait tourner avec ce truc (et Cloudflare en front ^^).
Le truc qui m’épate le plus, c’est qu’il a réussi à porter la pile TCP/IP uIP sur ce microcontrôleur PUYA C642F15/PY32F002B. Pour ceux qui ne connaissent pas, uIP est une implémentation ultra-légère de TCP/IP créée spécifiquement pour les systèmes avec très peu de mémoire. Selon le blog de Bogdan , toute cette prouesse technique tient dans moins de 24 Ko, soit la taille de votre dernier Sexto.
Mais attendez, parce que le vrai vertige arrive maintenant. Au Royaume-Uni seulement, selon cette étude , ce sont 1,3 million de vapes jetables qui finissent à la poubelle chaque semaine. Perso, maintenant je vois ça comme 1,3 million d’ordinateurs ARM parfaitement fonctionnels qui partent en fumée, si vous me passez l’expression. C’est comme si on jetait 67 millions d’iPhone par an, juste parce qu’on a fini son coup de fil…
Et ce que Bogdan nous montre avec son VapeServer, accessible à l’adresse ewaste.fka.wtf (qui était en rade au moment où j’écris ces lignes, victime de son succès… y’a un miroir ici .), c’est que notre définition du “jetable” est complètement à côté de la plaque. Ces objets qu’on balance sans réfléchir sont en fait des objets en attente d’une nouvelle vie… D’ailleurs, si ça vous intéresse, son code source est disponible sur GitHub ici , et croyez-moi, ça vaut le détour si vous voulez comprendre comment faire communiquer des époques séparées de 25 ans.
Il utilise notamment pyOCD, socat et slattach pour créer une interface réseau virtuelle, configure l’adressage IP sur 192.168.190.0/24, et hop, le tour est joué.
pyocd gdb -S -O semihost_console_type=telnet -T $(PORT) $(PYOCDFLAGS) &
socat PTY,link=$(TTY),raw,echo=0 TCP:localhost:$(PORT),nodelay &
sudo slattach -L -p slip -s 115200 $(TTY) &
sudo ip addr add 192.168.190.1 peer 192.168.190.2/24 dev sl0
sudo ip link set mtu 1500 up dev sl0
Vous l’aurez compris, on vit vraiment entourés de trésors qu’on prend pour des déchets et chaque gadget “intelligent” qu’on jette contient des capacités de calcul qui auraient fait rêver les ingénieurs d’il y a 20 ans. Alors qu’il suffit parfois d’un regard différent, d’un peu de créativité et d’une bonne dose de compétence technique pour révéler ces super-pouvoirs cachés.
Bref, la prochaine fois que vous regardez votre tiroir rempli de vieux téléphones et autres gadgets électroniques, dites-vous que vous n’avez peut-être pas un tas de déchets sous les yeux. Vous avez peut-être un data center en puissance qui n’attend que votre imagination pour reprendre du service.