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/e862ff4bb3ba78aa.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/e862ff4bb3ba78aa.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/b8cf62c1c9c480ca.js","/_next/static/chunks/359d1e6bb828bd82.js"],"Header"] 9:I[97349,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/b8cf62c1c9c480ca.js","/_next/static/chunks/359d1e6bb828bd82.js"],"Separator"] a:I[11804,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/b8cf62c1c9c480ca.js","/_next/static/chunks/359d1e6bb828bd82.js","/_next/static/chunks/e2448f334d5bb8ab.js"],""] b:I[18771,["/_next/static/chunks/aef88011720ba7f7.js","/_next/static/chunks/6504c2c5ea970822.js","/_next/static/chunks/b8cf62c1c9c480ca.js","/_next/static/chunks/359d1e6bb828bd82.js","/_next/static/chunks/e2448f334d5bb8ab.js"],"ProjectCard"] 1a:I[46763,[],"default"] :HL["/_next/static/chunks/a48ae6264921b9dc.css","style"] 0:{"P":null,"b":"tydyEfvo2oVfcASG2crg9","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/a48ae6264921b9dc.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/b8cf62c1c9c480ca.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/359d1e6bb828bd82.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.","longDescription":"Un portfolio conçu pour présenter mes projets et compétences de manière claire et élégante. Construit avec Next.js 16 App Router, Tailwind CSS v4 et shadcn/ui, il intègre des animations fluides via motion/react, un mode sombre par défaut et une génération d'images OG dynamiques.","imageUrl":"/projets/portfolio.png","tags":["Next.js","TypeScript","Tailwind CSS","shadcn/ui","Motion"],"year":2025,"liveUrl":"https://algont-ier.com"}],"$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}],"$L14"]}],"$L15"]}],["$L16"],"$L17"]}],{},null,false,false]},null,false,false]},null,false,false]},["$L18",[],[]],false,false],"$L19",false]],"m":"$undefined","G":["$1a",[]],"S":true} 1b:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/e862ff4bb3ba78aa.js"],"OutletBoundary"] 1c:"$Sreact.suspense" 1e:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/e862ff4bb3ba78aa.js"],"ViewportBoundary"] 20:I[14686,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/e862ff4bb3ba78aa.js"],"MetadataBoundary"] c:["$","$Lb","2",{"id":"2","title":"Station Météo IoT","description":"Station météo connectée pilotée par un ESP32 et un capteur DHT22. Données publiées via MQTT, relayées par Node.js et affichées en temps réel via WebSocket.","longDescription":"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":["ESP32","Node.js","MQTT","WebSocket","Three.js"],"year":2025,"githubUrl":"https://github.com/ArthurJenck/Hetic_IoTStationMeteo"}] d:["$","$Lb","3",{"id":"3","title":"Guts — Git from Scratch","description":"Réimplémentation de Git from scratch en Rust, couvrant les commandes plumbing et porcelaine. CLI via Clap et TUI interactive avec Ratatui.","longDescription":"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"],"year":2025}] e:["$","$Lb","4",{"id":"4","title":"3NC — Normandie Nucléaire","description":"Site vitrine pour l'initiative 3NC (Normandie Nucléaire, Nouvelles Compétences), promouvant les formations et métiers du nucléaire en Normandie. Réalisé en alternance chez Plume SAS.","longDescription":"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 chez Plume SAS.","imageUrl":"/projets/metiersdavenir-nucleaire-normandie.png","tags":["Drupal","Twig","PHP","Sass","JavaScript"],"year":2025,"liveUrl":"https://www.metiersdavenir-nucleaire-normandie.fr"}] f:["$","$Lb","5",{"id":"5","title":"Centre Emilie Mottet","description":"Site institutionnel du Centre Emilie Mottet, dédié à l'égalité femmes-hommes en Bourgogne-Franche-Comté. Réalisé en alternance chez Plume SAS.","longDescription":"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 chez Plume SAS.","imageUrl":"/projets/centre-emilie-mottet.png","tags":["Drupal","Twig","PHP","Sass","JavaScript"],"year":2025,"liveUrl":"https://www.centre-emilie-mottet.fr"}] 10:["$","$Lb","6",{"id":"6","title":"REFER Rythmo","description":"Site du Réseau Français en Rythmologie Interventionnelle, fédérant des centres cliniques experts en cardiologie. Réalisé en alternance chez Plume SAS.","longDescription":"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 chez Plume SAS.","imageUrl":"/projets/refer-rythmo.png","tags":["Drupal","Twig","PHP","Sass","JavaScript"],"year":2025,"liveUrl":"https://www.refer-rythmo.fr"}] 11:["$","$Lb","9",{"id":"9","title":"Among Legends","description":"Jeu de déduction sociale multijoueur en temps réel, inspiré d'Among Us. Rooms via code d'invitation, rôles aléatoires et phases synchronisées avec Convex.","longDescription":"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.","imageUrl":"/projets/among-legends.png","tags":["Next.js","TypeScript","Convex","Zustand","shadcn/ui","Tailwind CSS"],"year":2025,"githubUrl":"https://github.com/Alexis-Gontier/among-legends","liveUrl":"https://among-legends-seven.vercel.app"}] 12:["$","$Lb","8",{"id":"8","title":"Run Together","description":"Application de suivi de course à pied pour un groupe privé. Sorties, IMC, objectifs mensuels et classement commun.","longDescription":"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.","imageUrl":"/projets/run-together.png","tags":["Next.js","TypeScript","PostgreSQL","Prisma","Better Auth","TanStack Query","Resend","Tailwind CSS"],"year":2025,"githubUrl":"https://github.com/Alexis-Gontier/run-together","liveUrl":"https://run-together.app"}] 13:["$","$Lb","7",{"id":"7","title":"Better Save","description":"Sauvegardez, organisez et retrouvez vos liens et contenus web. Dashboard Next.js et extension Chrome.","imageUrl":"/projets/better-save.png","tags":["Chrome Extension","TypeScript","Next.js","Prisma","Tailwind CSS","Vite.js","Turborepo","shadcn/ui","Better Auth"],"year":2025,"githubUrl":"https://github.com/Alexis-Gontier/better-save","liveUrl":"https://better-save.vercel.app","inDevelopment":true}] 14:["$","div",null,{"className":"h-20"}] 15:["$","div",null,{"className":"w-20"}] 16:["$","script","script-0",{"src":"/_next/static/chunks/e2448f334d5bb8ab.js","async":true,"nonce":"$undefined"}] 17:["$","$L1b",null,{"children":["$","$1c",null,{"name":"Next.MetadataOutlet","children":"$@1d"}]}] 18:["$","div","l",{"className":"min-h-screen grid place-items-center","children":"Loading..."}] 19:["$","$1","h",{"children":[null,["$","$L1e",null,{"children":"$L1f"}],["$","div",null,{"hidden":true,"children":["$","$L20",null,{"children":["$","$1c",null,{"name":"Next.Metadata","children":"$L21"}]}]}],null]}] 1f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 22:I[76531,["/_next/static/chunks/2fc784e9c70ad6ef.js","/_next/static/chunks/e862ff4bb3ba78aa.js"],"IconMark"] 1d:null 21:[["$","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?"}],["$","$L22","19",{}]]