1:HL["/_next/static/css/cc4372a95c3f4d70.css","style",{"crossOrigin":""}] 0:["6Hf9gjeptnXwb-ZeqYZY2",[[["",{"children":["projects",{"children":[["uid","puissance-4-en-go--multijoueur-en-ligne","d"],{"children":["__PAGE__?{\"uid\":\"puissance-4-en-go--multijoueur-en-ligne\"}",{}]}]}]},"$undefined","$undefined",true],"$L2",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/cc4372a95c3f4d70.css","precedence":"next","crossOrigin":""}]],"$L3"]]]] 5:I[6954,[],""] 6:I[7264,[],""] b:I[9817,["51","static/chunks/795d4814-c504a020f883e502.js","980","static/chunks/980-b29bb817c89dbc45.js","439","static/chunks/439-b7e88012734c3f8e.js","185","static/chunks/app/layout-f202332b787806de.js"],"Analytics"] 2:[null,["$","html",null,{"lang":"en","className":"text-slate-100 m-0 p-0","style":{"height":"100%","minHeight":"100vh"},"children":[["$","body",null,{"className":"__className_472caf min-h-screen w-full relative","style":{"minHeight":"100vh","height":"100%","width":"100%","background":"transparent"},"children":[["$","div",null,{"style":{"position":"fixed","top":0,"left":0,"width":"100vw","height":"100vh","zIndex":-2,"backgroundImage":"url('/background/dark-red.jpg')","backgroundSize":"cover","backgroundPosition":"center","backgroundRepeat":"no-repeat"}}],["$","div",null,{"style":{"position":"fixed","top":0,"left":0,"width":"100vw","height":"100vh","zIndex":-1,"background":"rgba(0,0,0,0.45)","pointerEvents":"none"}}],"$L4",["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"initialChildNode":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","projects","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","initialChildNode":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children","projects","children",["uid","puissance-4-en-go--multijoueur-en-ligne","d"],"children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","initialChildNode":["$L7","$L8",null],"childPropSegment":"__PAGE__?{\"uid\":\"puissance-4-en-go--multijoueur-en-ligne\"}","styles":null}],"childPropSegment":["uid","puissance-4-en-go--multijoueur-en-ligne","d"],"styles":null}],"childPropSegment":"projects","styles":null}],"$L9"]}],"$La",["$","$Lb",null,{}]]}],null] c:I[2678,["51","static/chunks/795d4814-c504a020f883e502.js","922","static/chunks/c15bf2b0-9d8717324b1e67d6.js","870","static/chunks/bd904a5c-f823905c5d28c40c.js","689","static/chunks/b536a0f1-448ca6f7d4d2250f.js","980","static/chunks/980-b29bb817c89dbc45.js","815","static/chunks/815-2e6a34b73afd6a5c.js","686","static/chunks/686-b55b0103a39ae4a7.js","634","static/chunks/634-8d76538b675fe546.js","439","static/chunks/439-b7e88012734c3f8e.js","994","static/chunks/994-a46ca7a9077e0ce9.js","345","static/chunks/app/projects/%5Buid%5D/page-c3b7d53ee912614b.js"],"PrismicPreviewClient"] d:I[3994,["51","static/chunks/795d4814-c504a020f883e502.js","922","static/chunks/c15bf2b0-9d8717324b1e67d6.js","870","static/chunks/bd904a5c-f823905c5d28c40c.js","689","static/chunks/b536a0f1-448ca6f7d4d2250f.js","980","static/chunks/980-b29bb817c89dbc45.js","815","static/chunks/815-2e6a34b73afd6a5c.js","686","static/chunks/686-b55b0103a39ae4a7.js","634","static/chunks/634-8d76538b675fe546.js","439","static/chunks/439-b7e88012734c3f8e.js","994","static/chunks/994-a46ca7a9077e0ce9.js","345","static/chunks/app/projects/%5Buid%5D/page-c3b7d53ee912614b.js"],"*"] a:["$undefined",["$","$Lc",null,{"repositoryName":"portfolio-benjamin-lecomte","isDraftMode":false}],["$","$Ld",null,{"src":"https://static.cdn.prismic.io/prismic.js?new=true&repo=portfolio-benjamin-lecomte","strategy":"lazyOnload"}]] 8:"$Le" f:"$Sreact.suspense" 13:I[678,["51","static/chunks/795d4814-c504a020f883e502.js","980","static/chunks/980-b29bb817c89dbc45.js","439","static/chunks/439-b7e88012734c3f8e.js","185","static/chunks/app/layout-f202332b787806de.js"],""] 14:I[8326,["51","static/chunks/795d4814-c504a020f883e502.js","922","static/chunks/c15bf2b0-9d8717324b1e67d6.js","870","static/chunks/bd904a5c-f823905c5d28c40c.js","689","static/chunks/b536a0f1-448ca6f7d4d2250f.js","980","static/chunks/980-b29bb817c89dbc45.js","815","static/chunks/815-2e6a34b73afd6a5c.js","686","static/chunks/686-b55b0103a39ae4a7.js","634","static/chunks/634-8d76538b675fe546.js","439","static/chunks/439-b7e88012734c3f8e.js","994","static/chunks/994-a46ca7a9077e0ce9.js","345","static/chunks/app/projects/%5Buid%5D/page-c3b7d53ee912614b.js"],""] 15:I[8326,["51","static/chunks/795d4814-c504a020f883e502.js","922","static/chunks/c15bf2b0-9d8717324b1e67d6.js","870","static/chunks/bd904a5c-f823905c5d28c40c.js","689","static/chunks/b536a0f1-448ca6f7d4d2250f.js","980","static/chunks/980-b29bb817c89dbc45.js","815","static/chunks/815-2e6a34b73afd6a5c.js","686","static/chunks/686-b55b0103a39ae4a7.js","634","static/chunks/634-8d76538b675fe546.js","439","static/chunks/439-b7e88012734c3f8e.js","994","static/chunks/994-a46ca7a9077e0ce9.js","345","static/chunks/app/projects/%5Buid%5D/page-c3b7d53ee912614b.js"],"*"] e:["$","article",null,{"className":"px-4 md:px-6 ","children":["$","div",null,{"className":"mx-auto w-full max-w-7xl mt-24","children":["$","div",null,{"className":"rounded-2xl bg-black/75 px-4 py-10 md:px-8 md:py-12 z-1000 border-2 border-slate-600","children":[["$","div",null,{"className":"relative rounded max-w-fit","children":[["$","div",null,{"className":"z-10 absolute left-0 top-0 rounded h-full w-4 bg-gradient-to-r from-white via-white to-transparent pointer-events-none"}],["$","div",null,{"className":"flex gap-4 text-black max-w-fit bg-white px-4 rounded-[10px] py-2 text-xl font-bold overflow-x-auto scrollbar-hide relative","children":[["$","span","Golang",{"children":"Golang"}],["$","span","Game",{"children":"Game"}],["$","span","Multiplayer",{"children":"Multiplayer"}],["$","span","Online",{"children":"Online"}]]}],["$","div",null,{"className":"z-10 absolute right-0 top-0 rounded h-full w-4 bg-gradient-to-l from-white via-white to-transparent pointer-events-none"}]]}],["$","h1",null,{"className":"font-bold leading-tight tracking-tight text-gray-50 text-6xl md:text-8xl mt-8","children":"Puissance 4"}],["$","p",null,{"className":"py-4 mt-4 border-b-2 border-slate-600 text-xl font-medium text-slate-300","children":"Sunday, December 15, 2024"}],["$","div",null,{"className":"prose prose-lg prose-invert mt-8 w-full max-w-none md:mt-12 text-slate-300 prose-strong:text-slate-50 prose-headings:text-slate-50 ","children":[["$","$f",null,{"fallback":null,"children":"$L10"}],["$","$f",null,{"fallback":null,"children":"$L11"}],["$","$f",null,{"fallback":null,"children":"$L12"}]]}]]}]}]}] 4:["$","header",null,{"className":"top-0 z-50 mx-auto max-w-7xl md:sticky md:top-4","children":["$","$L13",null,{"settings":{"id":"Z5rjARAAACEA12z4","uid":null,"url":null,"type":"settings","href":"https://portfolio-benjamin-lecomte.cdn.prismic.io/api/v2/documents/search?ref=aK97FhEAACkAOt-T&q=%5B%5B%3Ad+%3D+at%28document.id%2C+%22Z5rjARAAACEA12z4%22%29+%5D%5D","tags":[],"first_publication_date":"2025-01-30T02:25:07+0000","last_publication_date":"2025-02-25T09:59:56+0000","slugs":["settings"],"linked_documents":[],"lang":"en-us","alternate_languages":[],"data":{"name":"Benjamin Lecomte","nav_item":[{"link":{"id":"Z5rmVRAAACAA13Ky","type":"page","tags":[],"lang":"en-us","slug":"sur-moi","first_publication_date":"2025-01-30T02:39:21+0000","last_publication_date":"2025-08-27T21:37:23+0000","uid":"about","url":"/about","link_type":"Document","key":"f8cedee2-d360-4f7a-8ba5-b6461d24fc32","isBroken":false,"text":"About"},"label":"A propos"},{"link":{"id":"Z5scsBAAAB8A18J9","type":"page","tags":[],"lang":"en-us","slug":"projects","first_publication_date":"2025-01-30T06:31:16+0000","last_publication_date":"2025-02-25T10:02:03+0000","uid":"projects","url":"/projects","link_type":"Document","key":"986be582-356b-4244-94a3-d103b6c3a554","isBroken":false,"text":"Projects"},"label":"Projets"}],"cta_link":{"link_type":"Web","key":"9f54416b-f6ad-4f68-b90c-fe46f1a2a672","url":"mailto:benjamin.l06@outlook.fr","text":"Contact"},"cta_label":"Contact","twitter_link":{"link_type":"Any","key":"1f0f43b1-aa42-4ba1-bdc5-fa80bbb95a51"},"github_link":{"link_type":"Web","key":"78ab3d20-74c6-4a8c-84c4-eb7c26c17a50","url":"https://github.com/Benjam1Lct","target":"_blank","text":"GitHub"},"linkedin_link":{"link_type":"Any","key":"7ddbcbca-ad04-4372-9ec2-768d82dd0687","text":"LinkedIn"},"meta_title":null,"meta_description":null,"og_image":{}}}}]}] 16:T518,M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z9:["$","footer",null,{"className":"px-4 md:px-6 ","children":["$","div",null,{"className":"mx-auto w-full max-w-7xl text-slate-600","children":["$","div",null,{"className":"container mx-auto mt-20 flex flex-col items-center justify-between gap-6 py-8 sm:flex-row ","children":[["$","div",null,{"className":"name flex flex-col items-center justify-center gap-x-4 gap-y-2 sm:flex-row sm:justify-self-start","children":[["$","$L14",null,{"href":"/","className":"text-xl font-extrabold tracking-tighter text-gray-50 transition-colors duration-150 hover:text-[#7D79D9]","children":"Benjamin Lecomte"}],["$","span",null,{"className":"hidden text-5xl font-extralight leading-[0] text-gray-200 sm:inline","aria-hidden":true,"children":"/"}],["$","p",null,{"className":" text-sm text-gray-100 ","children":["© ",2025," ","Benjamin Lecomte"]}]]}],["$","nav",null,{"className":"navigation","aria-label":"Footer Navigation","children":["$","ul",null,{"className":"flex items-center gap-1","children":[[["$","li",null,{"children":["$","$L15",null,{"target":"$undefined","className":"group relative block overflow-hidden rounded px-3 py-1 text-base font-bold text-slate-100 transition-colors duration-150 hover:text-[#7D79D9]","href":"/about","rel":"$undefined","children":"A propos"}]}],["$","span",null,{"className":"text-4xl font-thin leading-[0] text-slate-400 ","aria-hidden":"true","children":"/"}]],[["$","li",null,{"children":["$","$L15",null,{"target":"$undefined","className":"group relative block overflow-hidden rounded px-3 py-1 text-base font-bold text-slate-100 transition-colors duration-150 hover:text-[#7D79D9]","href":"/projects","rel":"$undefined","children":"Projets"}]}],false]]}]}],["$","div",null,{"className":"socials inline-flex justify-center sm:justify-end","children":[["$","$L15",null,{"target":"_blank","className":"p-2 text-2xl text-slate-300 transition-all duration-150 hover:scale-125 hover:text-[#7D79D9]","aria-label":"Benjamin Lecomte on GitHub","href":"https://github.com/Benjam1Lct","rel":"noreferrer","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 496 512","children":["$undefined",[["$","path","0",{"d":"$16","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":"1em","width":"1em","xmlns":"http://www.w3.org/2000/svg"}]}],false,false]}]]}]}]}] 3:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","meta","2",{"name":"twitter:card","content":"summary"}],["$","link","3",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]] 7:null 17:I[8170,["51","static/chunks/795d4814-c504a020f883e502.js","922","static/chunks/c15bf2b0-9d8717324b1e67d6.js","870","static/chunks/bd904a5c-f823905c5d28c40c.js","689","static/chunks/b536a0f1-448ca6f7d4d2250f.js","980","static/chunks/980-b29bb817c89dbc45.js","815","static/chunks/815-2e6a34b73afd6a5c.js","686","static/chunks/686-b55b0103a39ae4a7.js","634","static/chunks/634-8d76538b675fe546.js","439","static/chunks/439-b7e88012734c3f8e.js","994","static/chunks/994-a46ca7a9077e0ce9.js","345","static/chunks/app/projects/%5Buid%5D/page-c3b7d53ee912614b.js"],""] 10:["$","img",null,{"src":"https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&w=600","srcSet":"https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&width=640 640w, https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&width=828 828w, https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&width=1200 1200w, https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&width=2048 2048w, https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format%2Ccompress&width=3840 3840w","alt":"$undefined","className":"rounded-2xl"}] 19:[] 1b:{"link_type":"Web","key":"3e903751-8489-4cac-ae16-891061888e93","url":"https://github.com/Benjam1Lct/Puissance4go","target":"_blank","text":"GitHub"} 1a:{"title":"GitHub","link":"$1b"} 18:{"variation":"default","version":"initial","items":"$19","primary":"$1a","id":"external_link$db318b70-882c-4d4b-8376-0a5a06aae38c","slice_type":"external_link","slice_label":null} 11:["$","$L17",null,{"slice":{"variation":"default","version":"initial","items":[],"primary":{"title":"GitHub","link":{"link_type":"Web","key":"3e903751-8489-4cac-ae16-891061888e93","url":"https://github.com/Benjam1Lct/Puissance4go","target":"_blank","text":"GitHub"}},"id":"external_link$db318b70-882c-4d4b-8376-0a5a06aae38c","slice_type":"external_link","slice_label":null},"index":1,"slices":[{"variation":"default","version":"initial","items":[],"primary":{"image":{"dimensions":{"width":1920,"height":1080},"alt":null,"copyright":null,"url":"https://images.prismic.io/portfolio-benjamin-lecomte/Z5wgZJbqstJ9-EXi_puissance4.png?auto=format,compress","id":"Z5wgZJbqstJ9-EXi","edit":{"x":0,"y":0,"zoom":1,"background":"transparent"}}},"id":"image_block$1ff0658e-31fb-4515-bd26-c23fb9ff4955","slice_type":"image_block","slice_label":null},"$18",{"variation":"default","version":"initial","items":[],"primary":{"text":[{"type":"heading3","text":"Puissance 4 en Go – Multijoueur en ligne","spans":[],"direction":"ltr"},{"type":"paragraph","text":"Projet : Refonte du jeu Puissance 4 en Go avec mode multijoueur en ligne\nTechnologie principale : Go (Golang)","spans":[{"start":0,"end":8,"type":"strong"},{"start":73,"end":97,"type":"strong"}],"direction":"ltr"},{"type":"heading4","text":"Présentation du projet","spans":[{"start":0,"end":22,"type":"strong"}],"direction":"ltr"},{"type":"paragraph","text":"J’ai développé une version revisitée du célèbre Puissance 4 en utilisant Go, avec un mode multijoueur permettant à deux joueurs de s'affronter en ligne depuis des postes différents. L'objectif était de concevoir un système de jeu en réseau fluide et optimisé, tout en garantissant une gestion efficace des connexions et des échanges de données.","spans":[{"start":48,"end":59,"type":"strong"},{"start":73,"end":75,"type":"strong"}],"direction":"ltr"},{"type":"heading4","text":"Fonctionnalités clés","spans":[{"start":0,"end":20,"type":"strong"}],"direction":"ltr"},{"type":"paragraph","text":"✔ Interface en ligne permettant à deux joueurs de se connecter et de jouer à distance\n✔ Système de gestion des parties en temps réel avec synchronisation des coups\n✔ Serveur Go optimisé pour gérer les connexions des joueurs et les échanges de données\n✔ Algorithme de validation des coups pour détecter automatiquement une victoire ou un match nul\n✔ Logs et gestion des erreurs pour assurer une stabilité du jeu en réseau","spans":[{"start":2,"end":20,"type":"strong"},{"start":88,"end":118,"type":"strong"},{"start":166,"end":185,"type":"strong"},{"start":253,"end":287,"type":"strong"},{"start":349,"end":376,"type":"strong"}],"direction":"ltr"},{"type":"heading4","text":"Pourquoi Go ?","spans":[{"start":0,"end":13,"type":"strong"}],"direction":"ltr"},{"type":"paragraph","text":"✅ Performances élevées – gestion efficace des connexions réseau grâce aux goroutines\n✅ Simplicité et rapidité – un code clair et une mise en place optimisée du backend\n✅ Scalabilité – possibilité d’étendre le système pour accueillir plus de parties simultanées","spans":[{"start":2,"end":22,"type":"strong"},{"start":87,"end":109,"type":"strong"},{"start":170,"end":181,"type":"strong"}],"direction":"ltr"},{"type":"heading4","text":"Objectif du projet","spans":[{"start":0,"end":18,"type":"strong"}],"direction":"ltr"},{"type":"paragraph","text":"Ce projet m’a permis de maîtriser les bases du développement réseau en Go, d’implémenter un système multijoueur en ligne et d’optimiser les échanges client-serveur pour assurer une expérience de jeu fluide.","spans":[{"start":24,"end":73,"type":"strong"},{"start":92,"end":120,"type":"strong"}],"direction":"ltr"}]},"id":"text_block$5d54f3a7-2506-4551-b4fc-bff22e3c7827","slice_type":"text_block","slice_label":null}],"context":{}}] 12:["$","div",null,{"className":"max-w-prose","children":[["$","h3","68",{"dir":"$undefined","children":[["Puissance 4 en Go – Multijoueur en ligne"]]}],["$","p","75",{"dir":"$undefined","children":[["$","strong","70",{"children":[["Projet :"]]}],[" Refonte du jeu Puissance 4 en Go avec mode multijoueur en ligne",["$","br","1__break",{}],""],["$","strong","73",{"children":[["Technologie principale :"]]}],[" Go (Golang)"]]}],["$","h4","78",{"dir":"$undefined","children":[["$","strong","77",{"children":[["Présentation du projet"]]}]]}],["$","p","86",{"dir":"$undefined","children":[["J’ai développé une version revisitée du célèbre "],["$","strong","81",{"children":[["Puissance 4"]]}],[" en utilisant "],["$","strong","84",{"children":[["Go"]]}],[", avec un mode multijoueur permettant à deux joueurs de s'affronter en ligne depuis des postes différents. L'objectif était de concevoir un système de jeu en réseau fluide et optimisé, tout en garantissant une gestion efficace des connexions et des échanges de données."]]}],["$","h4","89",{"dir":"$undefined","children":[["$","strong","88",{"children":[["Fonctionnalités clés"]]}]]}],["$","p","106",{"dir":"$undefined","children":[["✔ "],["$","strong","92",{"children":[["Interface en ligne"]]}],[" permettant à deux joueurs de se connecter et de jouer à distance",["$","br","1__break",{}],"✔ "],["$","strong","95",{"children":[["Système de gestion des parties"]]}],[" en temps réel avec synchronisation des coups",["$","br","1__break",{}],"✔ "],["$","strong","98",{"children":[["Serveur Go optimisé"]]}],[" pour gérer les connexions des joueurs et les échanges de données",["$","br","1__break",{}],"✔ "],["$","strong","101",{"children":[["Algorithme de validation des coups"]]}],[" pour détecter automatiquement une victoire ou un match nul",["$","br","1__break",{}],"✔ "],["$","strong","104",{"children":[["Logs et gestion des erreurs"]]}],[" pour assurer une stabilité du jeu en réseau"]]}],["$","h4","109",{"dir":"$undefined","children":[["$","strong","108",{"children":[["Pourquoi Go ?"]]}]]}],["$","p","120",{"dir":"$undefined","children":[["✅ "],["$","strong","112",{"children":[["Performances élevées"]]}],[" – gestion efficace des connexions réseau grâce aux goroutines",["$","br","1__break",{}],"✅ "],["$","strong","115",{"children":[["Simplicité et rapidité"]]}],[" – un code clair et une mise en place optimisée du backend",["$","br","1__break",{}],"✅ "],["$","strong","118",{"children":[["Scalabilité"]]}],[" – possibilité d’étendre le système pour accueillir plus de parties simultanées"]]}],["$","h4","123",{"dir":"$undefined","children":[["$","strong","122",{"children":[["Objectif du projet"]]}]]}],["$","p","131",{"dir":"$undefined","children":[["Ce projet m’a permis de "],["$","strong","126",{"children":[["maîtriser les bases du développement réseau en Go"]]}],[", d’implémenter un "],["$","strong","129",{"children":[["système multijoueur en ligne"]]}],[" et d’optimiser les échanges client-serveur pour assurer une expérience de jeu fluide."]]}]]}]