
Publié le : 06/08/2026
Dernière modification : 13/09/2026
Tags :
DockerElectronJavaReactJSSpring BootDurant les vacances d’été 2023, j’ai eu l’ambition de construire un launcher Minecraft privé permettant de simplifier la connexion à tous mes serveurs. En effet, depuis plusieurs années j’ai l’habitude d’héberger des serveurs Minecraft sur mon serveur personnel. Cependant nombreux étaient mes amis qui avaient des difficultés à se connecter sur certains de mes serveurs modés car les modes étaient régulièrement mis à jour ou modifié. Nazel launcher, devait donc permettre de simplifier la connexion à mes serveurs tout en proposant un launcher optimisé et configurable.

Lors de la conception du launcher, j’ai développé tout un écosystème de solutions interconnectées. Certaines étaient dédiées à l’administration automatisée de l’infrastructure, tandis que d’autres simplifiaient l’accès au logiciel et la configuration de certains serveurs pour les utilisateurs.
Voici la liste des différentes solutions:
Au début du projet j’ai du chercher une manière pour développer rapidement et simplement un launcher. Pour cela plusieurs propositions s’offraient à moi : Java, Electron et Tauri. J’ai fait le choix d’utiliser Electron car l’aspect multiplateforme m’intéressait beaucoup. Je pense qu’avec java et JavaFX j’allais avoir plus de difficultés à proposer un logiciel cross Plateforme. En raison de mon bas niveau en Rust, Tauri était encore trop compliqué pour moi.
Une fois le Framework choisi, j’ai du chercher comment lancer Minecraft en dehors du launcher de base. J’ai donc trouvé une librairie appelée Minecraft-launcher-core permettant de générer et gérer des clients Minecraft. J’ai du aussi trouver un moyen pour stocker les différentes versions du jeu, les utilisateurs et les serveurs existants. Pour palier à ce problème je suis parti sur Firestore car la solution était gratuite et robuste.
Une fois que mon launcher me paraissait terminé, j’ai décidé d’ajouter un système de personnalisation de skins. J’ai donc trouvé sur internet un projet appelé Blessing Skin permettant de stocker des skins et cape puis ensuite de les afficher en jeu grâce au mode CustomSkinLoader. Cependant voulant une infrastructure docker uniquement j’ai du concevoir un conteneur pour Blessing Skin.

J’ai aussi développé un site internet pour faciliter le téléchargement du logiciel, je n’ai pas pris le temps de le référencer sur google car je n’en voyais pas l’utilité pour le moment.

Une api et un plugin ont aussi été développé en Java pour manager les serveurs.
Grâce à ce projet j’ai découvert comment utiliser Electron, malheureusement j’ai compris bien trop tard comment structurer proprement un projet Electron, le code est donc encore très brouillon. Pour le design du launcher je me suis fortement inspiré d’un launcher déjà existant “Nation Glory” malgré un beau rendu après réflexion j’aurais préféré faire le design moi même pour m’améliorer dans ce domaine. Une fonctionnalité permettant aux utilisateurs de créer leurs propre serveur privé est encore inachevé, seul le back-end est terminé. Certains bugs sont présent sur launcher en fonction du système d’exploitation utilisé.
J’ai aussi découvert les bases de Spring Boot et comment construire un conteneur de zéro.
J’ai adoré faire ce projet, pour le moment c’est l’un des projets dont j’en suis le plus fière. Il m’a permis de découvrir de nombreux aspects de la programmation et comment les manipuler. Ce projet est totalement fonctionnel et me sert souvent.