1:"$Sreact.fragment" 2:I[44636,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js"],"Providers"] 3:I[5116,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"default"] 4:I[58298,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/09a173ce2afefbf8.js"],"default"] 5:I[44533,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"default"] 6:I[9031,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js"],"Toaster"] 7:I[6955,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js"],"Analytics"] 8:I[45872,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/afcd1b66f58d7882.js","/_next/static/chunks/6b2da02e422f160b.js"],"Header"] 9:I[97349,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/afcd1b66f58d7882.js","/_next/static/chunks/6b2da02e422f160b.js"],"Separator"] a:I[11804,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/afcd1b66f58d7882.js","/_next/static/chunks/6b2da02e422f160b.js","/_next/static/chunks/2ed30d56f0dd7c86.js"],""] b:I[18771,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/afcd1b66f58d7882.js","/_next/static/chunks/6b2da02e422f160b.js","/_next/static/chunks/2ed30d56f0dd7c86.js"],"ProjectCard"] 18:I[46763,[],"default"] :HL["/_next/static/chunks/76ca517db92e134c.css","style"] 0:{"P":null,"b":"0h833qlG34rq1oKETBgy-","c":["","projects"],"q":"","i":false,"f":[[["",{"children":["(app)",{"children":["projects",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/76ca517db92e134c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/aef88011720ba7f7.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/6504c2c5ea970822.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"fr","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L2",null,{"children":[["$","$L3",null,{"parallelRouterKey":"children","error":"$4","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/09a173ce2afefbf8.js","async":true}]],"template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"min-h-screen grid place-items-center","children":"404 - Not Found"}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L6",null,{}],["$","$L7",null,{}]]}]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/afcd1b66f58d7882.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/6b2da02e422f160b.js","async":true,"nonce":"$undefined"}]],[["$","div",null,{"className":"w-full bg-primary text-primary-foreground text-center text-xs py-2 font-mono","children":"🚧 Site en cours de construction — certaines sections sont encore en développement."}],["$","div",null,{"className":"px-4","children":["$","div",null,{"className":"max-w-7xl mx-auto border-x","children":[["$","$L8",null,{}],["$","main",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"min-h-screen grid place-items-center","children":"404 - Not Found"}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L9",null,{}],["$","footer",null,{"className":"h-20 flex flex-col","children":["$","div",null,{"className":"h-full flex items-center justify-between px-8","children":["$","p",null,{"className":"text-sm text-muted-foreground","children":["© ","2026"," Alexis Gontier. Tous droits réservés."]}]}]}]]}]}]]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"flex","children":[["$","div",null,{"className":"w-20"}],["$","div",null,{"className":"flex-1 border-x","children":[["$","div",null,{"className":"h-20 flex items-center justify-between px-8","children":[["$","$La",null,{"href":"/","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-arrow-left","aria-hidden":"true","children":[["$","path","1l729n",{"d":"m12 19-7-7 7-7"}],["$","path","x3x0zl",{"d":"M19 12H5"}],"$undefined"]}],"Accueil"],"data-slot":"button","data-variant":"ghost","data-size":"sm","className":"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5","ref":null}],["$","h1",null,{"className":"text-2xl font-bold","children":"Projets"}],["$","div",null,{"className":"w-24"}]]}],["$","div",null,{"className":"p-8 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 border-y","children":[["$","$Lb","1",{"id":"1","title":"Portfolio","description":"Mon portfolio personnel construit avec Next.js, Tailwind CSS et shadcn/ui.","tags":["Next.js","Tailwind CSS","TypeScript"],"imageUrl":"/images/projets/portfolio.png","url":"https://algont-ier.com"}],["$","$Lb","iot-station-meteo",{"id":"iot-station-meteo","title":"Station Météo IoT","description":"Station météo connectée pilotée par un ESP32 et un capteur DHT22. Les données de température et d'humidité sont publiées via MQTT, relayées par un serveur Node.js et affichées en temps réel via WebSocket. Inclut un schéma de câblage 3D réalisé avec Three.js.","tags":["TypeScript","Node.js","WebSocket","MQTT","Three.js","Docker","C++"],"githubUrl":"https://github.com/ArthurJenck/Hetic_IoTStationMeteo"}],"$Lc","$Ld","$Le","$Lf","$L10","$L11"]}],"$L12"]}],"$L13"]}],["$L14"],"$L15"]}],{},null,false,false]},null,false,false]},null,false,false]},["$L16",[],[]],false,false],"$L17",false]],"m":"$undefined","G":["$18",[]],"S":true} 19:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"OutletBoundary"] 1a:"$Sreact.suspense" 1c:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"ViewportBoundary"] 1e:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"MetadataBoundary"] c:["$","$Lb","guts",{"id":"guts","title":"Guts — Git from Scratch","description":"Réimplémentation de Git from scratch en Rust, couvrant les commandes plumbing et porcelaine (init, add, commit…). Dispose d'une CLI via Clap et d'une TUI interactive avec Ratatui, installable sur Windows et macOS.","tags":["Rust","CLI","TUI","Ratatui","Clap"],"githubUrl":"https://github.com/Jeck0v/Guts"}] d:["$","$Lb","among-legends",{"id":"among-legends","title":"Among Legends","description":"Jeu de déduction sociale multijoueur en temps réel, inspiré d'Among Us. Les joueurs rejoignent une room via un code d'invitation, les rôles (innocent / imposteur) sont distribués aléatoirement et chaque phase de jeu se synchronise instantanément grâce à Convex.","tags":["Next.js","TypeScript","Convex","Zustand","shadcn/ui","Tailwind CSS"],"imageUrl":"/images/projets/among-legends.png","githubUrl":"https://github.com/Alexis-Gontier/among-legends","url":"https://among-legends-seven.vercel.app/"}] e:["$","$Lb","run-together",{"id":"run-together","title":"Run Together","description":"Application de suivi de course à pied pour un groupe privé. Chaque membre enregistre ses sorties, suit son IMC, se fixe des objectifs mensuels et participe à un classement commun. Des pages de comparaison et de défis renforcent la dynamique de groupe.","tags":["Next.js","TypeScript","PostgreSQL","Prisma","Better Auth","TanStack Query","Resend","Tailwind CSS"],"imageUrl":"/images/projets/run-together.png","githubUrl":"https://github.com/Alexis-Gontier/run-together","url":"https://run-together.app/"}] f:["$","$Lb","3nc-normandie-nucleaire",{"id":"3nc-normandie-nucleaire","title":"3NC — Normandie Nucléaire","description":"Site vitrine pour l'initiative régionale 3NC (Normandie Nucléaire, Nouvelles Compétences), qui promeut les formations et métiers du secteur nucléaire en Normandie. Réalisé en alternance pour Plume SAS.","tags":["Drupal","PHP","Twig","JavaScript","CSS"],"imageUrl":"/images/projets/metiersdavenir-nucleaire-normandie.png","url":"https://www.metiersdavenir-nucleaire-normandie.fr/"}] 10:["$","$Lb","centre-emilie-mottet",{"id":"centre-emilie-mottet","title":"Centre Emilie Mottet","description":"Site institutionnel du Centre Emilie Mottet, centre régional de Bourgogne-Franche-Comté dédié à l'égalité femmes-hommes et à la lutte contre les discriminations de genre. Réalisé en alternance pour Plume SAS.","tags":["Drupal","PHP","Twig","JavaScript","CSS"],"imageUrl":"/images/projets/centre-emilie-mottet.png","url":"https://www.centre-emilie-mottet.fr/"}] 11:["$","$Lb","refer-rythmo",{"id":"refer-rythmo","title":"REFER Rythmo","description":"Site du Réseau Français en Rythmologie Interventionnelle, fédérant des centres cliniques experts qui accompagnent les entreprises de dispositifs médicaux en cardiologie, du développement pré-clinique au suivi post-marché. Réalisé en alternance pour Plume SAS.","tags":["Drupal","PHP","Twig","JavaScript","CSS"],"imageUrl":"/images/projets/refer-rythmo.png","url":"https://www.refer-rythmo.fr/"}] 12:["$","div",null,{"className":"h-20"}] 13:["$","div",null,{"className":"w-20"}] 14:["$","script","script-0",{"src":"/_next/static/chunks/2ed30d56f0dd7c86.js","async":true,"nonce":"$undefined"}] 15:["$","$L19",null,{"children":["$","$1a",null,{"name":"Next.MetadataOutlet","children":"$@1b"}]}] 16:["$","div","l",{"className":"min-h-screen grid place-items-center","children":"Loading..."}] 17:["$","$1","h",{"children":[null,["$","$L1c",null,{"children":"$L1d"}],["$","div",null,{"hidden":true,"children":["$","$L1e",null,{"children":["$","$1a",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],null]}] 1d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 20:I[76531,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/b8273687c142b865.js"],"IconMark"] 1b:null 1f:[["$","title","0",{"children":"Projets | Alexis Gontier - Développeur Full-Stack"}],["$","meta","1",{"name":"description","content":"Découvrez mes projets récents en développement web."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","meta","3",{"property":"og:title","content":"Alexis Gontier - Développeur Full-Stack"}],["$","meta","4",{"property":"og:description","content":"Portfolio d'Alexis Gontier, développeur full-stack passionné par la création d'expériences numériques modernes et performantes."}],["$","meta","5",{"property":"og:url","content":"https://algont-ier.com"}],["$","meta","6",{"property":"og:site_name","content":"Alexis Gontier - Développeur Full-Stack"}],["$","meta","7",{"property":"og:locale","content":"fr_FR"}],["$","meta","8",{"property":"og:image","content":"https://algont-ier.com/api/og"}],["$","meta","9",{"property":"og:image:alt","content":"Alexis Gontier - Développeur Full-Stack Open Graph Image"}],["$","meta","10",{"property":"og:type","content":"website"}],["$","meta","11",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","12",{"name":"twitter:title","content":"Alexis Gontier - Développeur Full-Stack"}],["$","meta","13",{"name":"twitter:description","content":"Portfolio d'Alexis Gontier, développeur full-stack passionné par la création d'expériences numériques modernes et performantes."}],["$","meta","14",{"name":"twitter:image","content":"https://algont-ier.com/api/og"}],["$","meta","15",{"name":"twitter:image:alt","content":"Alexis Gontier - Développeur Full-Stack Open Graph Image"}],["$","link","16",{"rel":"shortcut icon","href":"/icon?"}],["$","link","17",{"rel":"icon","href":"/icon?"}],["$","link","18",{"rel":"apple-touch-icon","href":"/icon?"}],["$","$L20","19",{}]]