[{"data":1,"prerenderedAt":182},["ShallowReactive",2],{"i-lucide:languages":3,"i-lucide:chevron-down":8,"i-lucide:moon":10,"i-lucide:menu":12,"i-lucide:mail":14,"i-lucide:github":16,"i-lucide:linkedin":19,"cases-list-fr":21,"i-lucide:arrow-right":180},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m5 8l6 6m-7 0l6-6l2-3M2 5h12M7 2h1m14 20l-5-10l-5 10m2-4h6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17,"hidden":18},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4\"\u002F>\u003Cpath d=\"M9 18c-4.51 2-5-2-7-2\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":20,"hidden":18},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z\"\u002F>\u003Ccircle cx=\"4\" cy=\"4\" r=\"2\"\u002F>\u003C\u002Fg>",[22],{"id":23,"title":24,"body":25,"client":42,"clientUrl":39,"description":153,"draft":6,"extension":154,"image":155,"keywords":156,"meta":160,"navigation":18,"path":161,"results":162,"sector":172,"seo":173,"stem":174,"tags":175,"testimonial":177,"year":178,"__hash__":179},"cases_fr\u002Fetudes-de-cas\u002Frealmly.md","Realmly : une plateforme SaaS de location de serveurs Minecraft",{"type":26,"value":27,"toc":144},"minimark",[28,33,44,48,51,80,84,87,112,116,131],[29,30,32],"h2",{"id":31},"le-contexte","Le contexte",[34,35,36,43],"p",{},[37,38,42],"a",{"href":39,"rel":40},"https:\u002F\u002Frealmly.cloud",[41],"nofollow","Realmly"," est une plateforme qui permet de louer des serveurs Minecraft à la demande. Les joueurs veulent pouvoir créer un serveur privé en quelques secondes, y installer leurs plugins préférés, jouer avec leurs amis — sans jamais toucher à une ligne de configuration.",[29,45,47],{"id":46},"le-défi","Le défi",[34,49,50],{},"Construire un tel produit soulève plusieurs défis techniques :",[52,53,54,62,68,74],"ul",{},[55,56,57,61],"li",{},[58,59,60],"strong",{},"Provisioning à la demande"," : chaque serveur de jeu doit être créé, démarré, arrêté et supprimé dynamiquement selon les besoins des utilisateurs.",[55,63,64,67],{},[58,65,66],{},"Gestion des plugins"," : permettre d'installer et de configurer des plugins Minecraft variés sans casser le serveur, pour des utilisateurs non techniques.",[55,69,70,73],{},[58,71,72],{},"Sauvegardes"," : les mondes de jeu représentent des dizaines d'heures de jeu. Leur perte est inacceptable : les backups doivent être automatiques et restaurables.",[55,75,76,79],{},[58,77,78],{},"Interface d'administration"," : exposer toute cette complexité via une interface web claire, là où la concurrence impose souvent des fichiers YAML édités à la main.",[29,81,83],{"id":82},"la-solution","La solution",[34,85,86],{},"J'ai conçu et développé la plateforme de bout en bout :",[52,88,89,95,101,107],{},[55,90,91,94],{},[58,92,93],{},"Frontend Vue.js 3"," : interface utilisateur fluide pour gérer ses serveurs, ses plugins et ses backups, avec des états complexes (démarrage, arrêt, installation en cours) à représenter clairement.",[55,96,97,100],{},[58,98,99],{},"Infrastructure Docker"," : chaque serveur de jeu tourne dans son conteneur isolé. Le provisioning devient reproductible, les ressources sont maîtrisées, et un serveur défaillant n'impacte pas les autres.",[55,102,103,106],{},[58,104,105],{},"Automatisation des backups"," : sauvegardes programmées et restauration en quelques clics depuis l'interface.",[55,108,109,111],{},[58,110,66],{}," : catalogue intégré avec installation en un clic et gestion des versions.",[29,113,115],{"id":114},"ce-que-ce-projet-illustre","Ce que ce projet illustre",[34,117,118,119,122,123,126,127,130],{},"Realmly réunit les trois compétences que j'apporte à mes clients : du ",[58,120,121],{},"développement frontend"," exigeant (UI complexe, nombreux états asynchrones), du ",[58,124,125],{},"DevOps"," (conteneurisation, orchestration de charges de travail dynamiques) et une réflexion ",[58,128,129],{},"produit"," (parcours utilisateur pensé pour des joueurs, pas des administrateurs systèmes).",[34,132,133,134,138,139,143],{},"Un projet similaire en tête ? ",[37,135,137],{"href":136},"\u002F#contact","Parlons-en"," ou ",[37,140,142],{"href":141},"\u002Fdevis","estimez son budget en 2 minutes",".",{"title":145,"searchDepth":146,"depth":146,"links":147},"",3,[148,150,151,152],{"id":31,"depth":149,"text":32},2,{"id":46,"depth":149,"text":47},{"id":82,"depth":149,"text":83},{"id":114,"depth":149,"text":115},"Conception et développement complet de Realmly, un SaaS de location de serveurs Minecraft à la demande : interface d'administration, gestion des plugins et backups automatisés, le tout conteneurisé avec Docker.","md","\u002Fprojects\u002Frealmly.png",[157,158,125,159],"Vue.js","Docker","SaaS",{},"\u002Fetudes-de-cas\u002Frealmly",[163,166,169],{"value":164,"label":165},"24\u002F7","Hébergement de serveurs de jeu sans interruption",{"value":167,"label":168},"0","Intervention manuelle pour les sauvegardes",{"value":170,"label":171},"1 clic","Installation et gestion des plugins","Gaming \u002F SaaS",{"title":24,"description":153},"etudes-de-cas\u002Frealmly",[157,158,159,176],"Gaming",null,"2024","FdnO6fMUrzPYE5ClpyDLnpEr6wlXvhMN8ECBKKuvrjw",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":181},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1789936607844]