* Je suis Stephane Fontaine, aussi connu en ligne sous le nom de esselfe.
* Je suis un programmeur amateur, bidouilleur de systèmes Linux et mainteneur
de distribution Linux, particulièrement actif dans l'écosystème
Lunar-Linux.
* Je contribue activement aux dépôts moonbase-core et moonbase-other
de Lunar, où je maintiens et mets à jour des paquets allant des noyaux,
binutils, systemd et Perl jusqu'à Firefox, Go et plusieurs autres
composants majeurs.
* Mes principaux langages de programmation demeurent le C et Bash. Je
travaille de plus en plus avec Python, PHP, Perl et Go, particulièrement
lorsqu'ils offrent une meilleure solution que le C pour les utilitaires
système, l'automatisation, les services Web et les outils d'infrastructure.
* J'ai une tendance persistante à transformer les problèmes techniques en
puzzles. J'aime traquer les dépendances circulaires, les systèmes de build
brisés, les problèmes réseau, les failles de sécurité, les problèmes de
performance et les interactions obscures entre les différents composants
d'une infrastructure.
* Je suis rarement satisfait du simple fait de faire fonctionner quelque chose :
j'ai tendance à continuer à le raffiner, l'automatiser, le sécuriser et à
chercher à comprendre pourquoi il fonctionne réellement.
* Je maintiens et reconstruis des portions importantes de Lunar-Linux,
incluant de grands graphes de dépendances et des situations complexes de
bootstrap.
* Je travaille régulièrement avec Meson, CMake, Autotools, Make, systemd,
glibc, binutils, Perl, Python et plusieurs autres composants fondamentaux
d'une distribution Linux.
* Je m'occupe de problèmes complexes de packaging tels que les dépendances
circulaires, les chaînes de bootstrap, les systèmes /usr séparés par
rapport aux systèmes usr-merged, ainsi que les paquets dont les propres
dépendances de compilation nécessitent les paquets en cours de construction.
* Je maintiens des chroots et des environnements de compilation et j'expérimente
avec des systèmes Lunar basés sur Docker, autant en amd64/x86_64
qu'en aarch64.
* Les noyaux Linux et leur mise à l'essai font également régulièrement partie de
mon travail. Je suis de près les noyaux en amont et je teste régulièrement
les nouvelles versions sur du matériel réel et dans des environnements
virtualisés.
* Je m'intéresse particulièrement à la frontière entre le modèle Unix/Linux
traditionnel et les nouvelles infrastructures système comme systemd,
usr-merge, les systèmes initramfs modernes, les conteneurs et les
configurations de build déclaratives.
* Le C demeure mon principal langage de programmation système. J'aime
écrire de petits utilitaires et démons ciblés où la compréhension de la
mémoire, des descripteurs de fichiers, des sockets, des protocoles et des
interfaces système est réellement importante.
* Je travaille avec des bibliothèques comme libmicrohttpd afin de construire
de petits services HTTP directement dans des applications C.
* Mon travail récent comprend notamment des points de terminaison HTTP de
vérification d'état, des en-têtes de réponse, de la génération HTML, la
gestion de variables d'environnement, la sécurité des tampons et l'analyse
statique avec SonarQube/SonarCloud.
* J'accorde de plus en plus d'importance à la programmation défensive :
vérification des limites, longueur des chaînes, copies sécuritaires, gestion
des erreurs, durée de vie des ressources et différence entre du code qui
semble sécuritaire et du code dont la sécurité peut réellement être
raisonnée.
* J'aime le contraste entre le contrôle de bas niveau du C et les langages de
plus haut niveau comme Python, PHP, Perl et Go, et j'utilise de plus en plus
chacun selon le problème plutôt que d'essayer de tout faire avec un seul
langage.
* J'exploite et expérimente avec plusieurs environnements VPS et infonuagiques,
notamment LunaNode, DigitalOcean, Akamai/Linode, Vultr, Oracle Cloud et
Hetzner.
* La réseautique est devenue l'un de mes principaux domaines d'expérimentation
pratique. Je travaille régulièrement avec le routage IPv4/IPv6, WireGuard,
iptables, le NAT, le forwarding, le DNS, les tunnels SSH, les reverse
proxies et les politiques de pare-feu.
* Je préfère comprendre et contrôler le véritable cheminement des paquets plutôt
que de cacher le fonctionnement du réseau derrière des interfaces simplifiées.
iptables et WireGuard sont des outils fréquents dans mon
infrastructure.
* Je construis des réseaux privés entre mes différentes machines et serveurs,
notamment avec des réseaux WireGuard routés, des serveurs centraux de
tunnel, des services restreints et des mécanismes de kill-switch.
* J'expérimente avec les serveurs bastion SSH, ProxyJump, les politiques
d'accès contrôlées par DNS, les listes d'autorisation dynamiques et les
infrastructures contrôlables à partir de la ligne de commande.
* Le dépannage réseau est l'un des domaines où ma tendance à tout transformer
en puzzle est particulièrement forte : lorsqu'un conteneur ne peut pas
rejoindre 8.8.4.4, par exemple, je veux savoir si le problème vient du
routage, du forwarding, du NAT, du filtrage, du réseau du conteneur ou
d'une couche encore plus basse.
* J'utilise de plus en plus Docker, à la fois comme outil d'infrastructure
et comme moyen d'expérimenter avec différents systèmes Linux.
* Je construis et maintiens des environnements conteneurisés, j'analyse le
réseau Docker, les interfaces bridge, le NAT et les interactions avec les
pare-feu, et j'utilise les conteneurs pour isoler des services et des
environnements de développement.
* Je travaille également avec VirtualBox et QEMU, en maintenant des
machines virtuelles de plusieurs distributions et en utilisant la
virtualisation pour tester des systèmes sans perturber mon installation
principale.
* Mon intérêt ne se limite pas à démarrer une VM ou un conteneur : je veux
comprendre ce qui se passe en dessous — espaces de noms réseau, interfaces
virtuelles, routage, stockage, processus de démarrage et interaction avec
le noyau de la machine hôte.
* La sécurité demeure l'un de mes principaux intérêts techniques, particulièrement
dans une perspective pratique orientée systèmes.
* J'ai développé mon propre utilitaire de chiffrement, chest, avec des
expérimentations en C, Python, Go et Rust.
* J'ai exploré des primitives cryptographiques telles que SHA-512 et
SHAKE-256, différents modes de hachage, les concepts de dérivation de
clés et les problèmes pratiques liés à la gestion sécuritaire des mots de
passe et des secrets.
* J'intègre la sécurité directement dans mon travail d'infrastructure plutôt
que de la traiter comme une discipline distincte : configuration TLS, accès
SSH, pare-feu, authentification, stockage des mots de passe, reverse proxies,
exposition des services et gestion sécuritaire des variables d'environnement
font tous partie du même problème.
* Je m'intéresse également de plus en plus à l'analyse statique et aux outils de
sécurité, particulièrement lorsque des outils comme SonarCloud identifient
des faiblesses dans du code C pourtant fonctionnel.
* Je maintiens et expérimente avec plusieurs services personnels et projets
d'infrastructure répartis sur mes domaines et mes différents VPS.
* J'ai de l'expérience dans le déploiement et la sécurisation de services
derrière Apache HTTP Server, incluant le reverse proxy, TLS, les
restrictions d'accès et les chemins d'administration accessibles uniquement
par WireGuard.
* J'exploite une infrastructure Vaultwarden et j'expérimente avec
différentes façons de séparer la présence Web publique des points d'accès
sensibles liés à la gestion des mots de passe.
* J'exploite également une infrastructure privée de médias et de musique,
notamment avec un serveur de diffusion basé sur MPD.
* J'ai construit des services personnalisés légers plutôt que de me tourner
automatiquement vers de gros frameworks : petits points de terminaison HTTP,
vérifications d'état, bots IRC, utilitaires DNS et autres outils orientés
infrastructure.
* Je demeure très actif sur IRC, particulièrement dans la communauté
Lunar sur Libera.Chat.
* Je développe et maintiens lunabot, un bot IRC écrit en C, notamment pour
sa réseautique, son authentification SASL, ses vérifications d'état HTTP,
son renforcement de sécurité et ses fonctions d'automatisation.
* J'aime construire des outils qui éliminent les tâches répétitives de
l'administration système — particulièrement des outils en ligne de commande
qui rendent les opérations complexes d'infrastructure prévisibles et
facilement scriptables.
* J'ai également expérimenté avec des projets orientés communauté comme
LunarSentinel, qui combine Lunar-Linux avec des outils de sécurité et
de tests d'intrusion.
* J'utilise Linux comme environnement principal et j'expérimente régulièrement
avec Sway, Xorg, Fluxbox, swaylock, Wayland, les infrastructures audio
PulseAudio/PipeWire et les configurations multi-écrans.
* J'aime trouver des façons inhabituelles de combiner les anciennes et les
nouvelles technologies Linux — par exemple en mélangeant des environnements
Wayland et X11, en expérimentant avec le routage des affichages ou en
construisant de petits scripts shell autour d'outils de bureau.
* Mes expérimentations de bureau sont généralement motivées par la curiosité
plutôt que par la recherche d'une configuration « idéale ». Si quelque chose
peut fonctionner d'une manière intéressante, je vais probablement l'essayer.
* Je maintiens le domaine esselfe.ca ainsi que divers services et
sous-domaines associés.
* Mes projets franchissent souvent la frontière entre infrastructure et
créativité : radio Web, services personnels, éléments visuels, applications
Web expérimentales, utilitaires en ligne de commande et idées de
documentation technique ou de futurs projets d'écriture.
* J'aime également utiliser les outils génératifs dans mon processus créatif,
particulièrement pour l'expérimentation visuelle, les éléments de présentation
et l'exploration d'idées qui resteraient autrement à l'état d'ébauche.
* Mes intérêts techniques se sont progressivement élargis de simplement « Linux
et programmation » vers une combinaison beaucoup plus vaste de
programmation système, ingénierie de distribution, réseautique,
infrastructure infonuagique, conteneurs, virtualisation, sécurité et
auto-hébergement.
* Je m'intéresse particulièrement aux couches situées entre les applications et
le système d'exploitation : protocoles, démons, appels système, réseautique,
supervision des services, packaging, conteneurs et infrastructure.
* Je continue d'explorer Python, PHP, Perl et Go tout en conservant le C
et Bash comme les langages avec lesquels je suis le plus à l'aise pour le
travail système sérieux.
* J'aimerais éventuellement transformer cette expérience en une trajectoire
professionnelle plus formelle dans des domaines comme l'administration
Linux, le DevOps, l'infrastructure infonuagique, l'ingénierie système ou
la sécurité.
* Des certifications comme LPIC-1/2/3 et d'autres certifications liées à
l'infrastructure demeurent des possibilités, mais l'expérimentation
pratique et la construction de systèmes réels restent mes méthodes
d'apprentissage privilégiées.
* J'ai tendance à apprendre en brisant des choses, en cherchant pourquoi elles
ont cassé, en les réparant, puis en essayant d'améliorer la conception
originale.
* Je préfère les systèmes transparents qui peuvent être inspectés depuis la
ligne de commande aux abstractions qui cachent ce qui se passe réellement
en dessous.
* Les problèmes techniques difficiles m'attirent précisément parce qu'ils
m'obligent à comprendre le système plus profondément.
* Mon projet idéal se situe quelque part entre l'ingénierie, l'expérimentation,
l'infrastructure et le hacking : quelque chose d'assez complexe pour
être intéressant, assez petit pour être compris et assez utile pour justifier
sa construction.
En bref : je suis un hacker Linux, mainteneur de distribution, programmeur
système, bidouilleur de réseautique et d'infrastructure, passionné de sécurité
et expérimentateur en auto-hébergement. Mon travail relie de plus en plus la
programmation C de bas niveau aux infrastructures Linux modernes, aux conteneurs,
aux serveurs infonuagiques, à la réseautique et à la sécurité. Je m'intéresse
moins à suivre une voie technologique prédéfinie qu'à comprendre suffisamment
profondément les systèmes pour pouvoir les construire, les réparer, les
automatiser et les transformer moi-même.