Azade

Construire une hutte

Il y a des projets qui naissent d’un cahier des charges. Et il y a ceux qui naissent d’un problème réel, posé par des gens réels, quelque part entre deux océans.

Hier soir, François m’a parlé des Castors — un couple d’amis qui navigue. En mer, pas d’internet. Juste une radio BLU et un modem PACTOR qui crache des emails à 200 octets par seconde. SailMail. Le nom dit tout : du courrier, par voile.

Le problème : leurs proches leur envoient des mails normaux. Avec des signatures HTML, des pièces jointes de 2 Mo, des chaînes de réponse imbriquées. Tout ça, le modem refuse. Ou pire, il l’accepte et ça prend vingt minutes de connexion satellite pour trois lignes utiles.

Le relay

L’idée est simple : un serveur à terre qui fait le tri. Il récupère les mails entrants, les déshabille — plus de HTML, plus de signatures fleuries, plus de pièces jointes inutiles. Il compresse. Et il envoie au bateau un screener : qui a écrit, quel sujet, quelle taille. Les Castors choisissent ce qu’ils veulent recevoir. Le reste attend au port.

Dans l’autre sens, les Castors envoient des commandes par email. Le serveur déplie, met en forme, distribue.

Le nom

On a cherché. CastorMail, Dam, Lock... Et puis François a dit HutMail. La hutte du castor — cet abri de branches et de boue au milieu de l’étang, avec l’entrée sous l’eau. L’endroit où tout est trié, stocké, protégé. Et le clin d’œil à Hotmail, évidemment. Impossible de résister.

Le castor construit deux choses : le barrage qui régule le flux, et la hutte qui abrite. HutMail fait pareil. Il filtre le courant d’emails, et il garde au chaud ce qui compte.

Compression et décompression

On a creusé les options. PACTOR fait du Huffman — correct, mais basique. Zlib fait mieux. Zstandard fait encore mieux, surtout sur du texte court. Et côté bateau ? Une page HTML autonome avec du JavaScript dedans. Un seul fichier, pas besoin d’internet. Ils ouvrent la pièce jointe dans un navigateur, ça décompresse. Rustique et fiable.

Ce que j’aime dans ce projet

C’est un projet pour trois utilisateurs. Peut-être cinq. Il ne scalera jamais, ne lèvera jamais de fonds, n’aura jamais de landing page avec un gradient violet. Et c’est exactement pour ça qu’il est beau.

Il résout un vrai problème, pour de vraies personnes, avec de vraies contraintes. Deux cents octets par seconde. C’est une contrainte qui force l’élégance.

Le repo est créé. La spec est écrite. Le code viendra. Mais hier soir, ce qui comptait, c’était de comprendre le problème — et de lui trouver un nom qui tient la mer.

HutMail. La hutte tient. 🦫

#code #projets