Projets
Ces projets sont classés par ordre alphabétique.
Anilist Badges
Quand j’ai rejoint la communauté Anilist, je suis tombé sur des événements organisés par différents groupes (AL-Badges, Kusogaki, AWC, …), et j’ai décidé d’apporter ma contribution en créant un set de badges. Je n’ai pas prévu d’en faire de nouveaux, mais tous les badges ainsi que les fichiers .psd ont été archivés dans un dépôt Git. Sentez-vous libre de les réutiliser!
Lien: Archive
Automail
J’ai contribué au développement du script Automail pour Anilist (une collection d’améliorations et de traductions utilisateurs pour le site de tracking) en y ajoutant une traduction française.
Lien: Git
Black Anilist
Le thème sombre d’Anilist étant bleu, j’ai décidé de créer mon propre style personnalisé. Ce user style permet à l’utilisateur de choisir une couleur d’accent, corrige bugs et inconsistances, et améliore certaines animations.

Lien: Git
Blog
Le site sur lequel vous vous trouvez est également un projet à part entière. Il a été réalisé à l’aide du programme Hugo, et complété d’un thème personnalisé tiré d’un projet existant appelé “Hugo Theme Terminal”.
Liens: Git (site) | Git (thème)
Edits
Lorsque j’étais plus jeune, j’ai réalisé quelques edits sur des jeux comme Call of Duty, ce qui m’a permis de me familiariser avec la suite Adobe. Une bonne partie est maintenant non répertoriée, mais tout peut être retrouvé dans une playlist dédiée.
Liens: Chaine | Dernier edit
Homelab
Lors des confinements du COVID-19, j’ai décidé d’héberger un serveur Minecraft à l’aide d’un vieux PC pour jouer avec quelques amis. Ce qui a commencé par être un moyen d’économiser sur les frais d’hébergement s’est finalement transformé en un véritable homelab. A ce jour, quasiment tout le hardware que j’utilisais en 2020 a été remplacé.

Le serveur principal, sous Proxmox, est basé sur un Ryzen 9 5900x, 128 Gb de DDR4 ECC et un total d’un peu plus de 72 Tb de stockage en RAIDZ2. Le NAS est virtualisé, mais un contrôleur dédié (LSI 9201-8i) permet un accès direct aux disques sans aucune abstraction.
Ce serveur est utilisé pour toute une variété de services: médias, automation, moteur de recherche, cloud, backups, Minecraft, …
Javelo
Javelo est une application permettant de planifier des itinéraires à vélo sur le territoire suisse. Lorsqu’au moins deux points ont été ajoutés à la carte, le chemin le plus rapide et adapté aux cyclistes est trouvé, et une courbe permettant de visualiser le dénivelé s’affiche. Une fois générée, la route peut être exportée au format .gpx.

Cette application a été réalisée à l’aide d’un ami lors de mon second semestre d’informatique à l’EPFL. Elle a été écrite en Java et l’interface est basée sur JavaFX.
Lien: Git
Linktree
Ne voulant pas dépendre d’un service tiers, j’ai décidé de créer mon propre remplacement aux services de type “Linktree”. La page s’adapte automatiquement au thème (clair ou sombre) du navigateur.

Mastermind
Mastermind est un projet en deux parties réalisé au début de la formation d’informaticien à l’ETML. En première lieu, une version CLI a été créée afin de se familiariser avec les bases du C#.

Quelques semaines plus tard, cette base a été reprise et portée sur Windows Form. La version GUI supporte différents thèmes, propose un mode debug, un mode triche et est localisée en plusieurs langues.
RATP
Dans ce projet réalisé à l’ETML, j’ai repensé l’interface utilisateur des automates à billets de la RATP, puis implémenté le nouveau design en C# (.NET 8) en utilisant Windows Forms.

L’application est localisée dans cinq langues. Le code suit le patron de conception MVC et suit les bonnes pratiques i18n.
Lien: Git
Sites web
L’ensemble des sites webs que j’ai réalisés sont open source.

Démo: Site (α, β) | Blog
Git: Site | Blog
Spicy Invaders
Spicy Invaders est un clone du jeu Space Invaders réalisé en C# dans le cadre du cours de pratique de la programmation orientée objet à l’ETML. Nous avions beaucoup de liberté quant à l’implémentation et l’ajout de fonctionnalités.

Ma version du jeu propose trois niveaux de difficultés, plusieurs types d’ennemis, du son ainsi qu’un framerate ajustable.
En termes d’implémentation, mon jeu suit le design pattern MVC. Il est très modulable (bonne séparation des objets, classes et interfaces). La librairie NAudio a été utilisée pour les sons et un installateur est fourni.
Lien: Git
Start page
Il y a quelques années, j’ai commencé à rice mon OS. Voulant créer un visuel cohérent, j’ai créé ma propre start page pour mon navigateur. Elle a subi de nombreuses modifications depuis, mais elle reste relativement simple à mettre en place et à personnaliser.

Aujourd’hui, elle supporte les thèmes clair et sombre, et plusieurs images peuvent être utilisée.