{"id":67056,"date":"2023-03-09T13:09:49","date_gmt":"2023-03-09T12:09:49","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=67056&#038;preview=true&#038;preview_id=67056"},"modified":"2023-10-25T09:25:03","modified_gmt":"2023-10-25T08:25:03","slug":"portfolio-next-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/","title":{"rendered":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js"},"content":{"rendered":"<p>Un portfolio de d\u00e9veloppeur est une collection d&rsquo;exemples de travaux et de projets mettant en valeur vos comp\u00e9tences et votre exp\u00e9rience. Un portfolio solide vous distingue des autres candidats lorsque vous \u00eates \u00e0 la recherche d&rsquo;un emploi. Mais ce n&rsquo;est pas tout : un portfolio peut \u00e9galement \u00eatre un outil pr\u00e9cieux pour travailler en r\u00e9seau, garder une trace de vos apprentissages et vous \u00e9tablir en tant qu&rsquo;expert en la mati\u00e8re.<\/p>\n<p>Dans ce tutoriel, vous apprendrez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js et \u00e0 le d\u00e9ployer directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme <a href=\"https:\/\/sevalla.com\/application-hosting\/\">d&rsquo;h\u00e9bergement d&rsquo;applications<\/a> de Kinsta, qui fournit un domaine <em>.kinsta.app<\/em> gratuit pour que votre travail soit mis en ligne rapidement.<\/p>\n<p>Voici une d\u00e9monstration en direct du <a href=\"https:\/\/kinsta-developer-portfolio-ir8w8.kinsta.app\/\" target=\"_blank\" rel=\"noopener noreferrer\">portefolio de d\u00e9veloppeur<\/a> que vous allez construire avec Next.js.<\/p>\n<p>Vous pouvez acc\u00e9der au <a href=\"https:\/\/github.com\/olawanlejoel\/Kinsta-developer-portfolio\">d\u00e9p\u00f4t GitHub de ce projet<\/a> si vous souhaitez l&rsquo;examiner de plus pr\u00e8s, ou vous pouvez utiliser ce mod\u00e8le de <a href=\"https:\/\/github.com\/olawanlejoel\/kinsta-portfolio-starter\">projet de d\u00e9marrage de portfolio<\/a> en s\u00e9lectionnant <strong>Utiliser ce mod\u00e8le<\/strong> &gt; <strong>Cr\u00e9er un nouveau d\u00e9p\u00f4t<\/strong> &#8211; cela copiera le code de d\u00e9marrage dans un nouveau d\u00e9p\u00f4t. Le projet de d\u00e9marrage contient des codes de base comme les styles, un lien CDN Font Awesome, des images et une structure de base.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Exigences\/Pr\u00e9requis<\/h2>\n<p>Il s&rsquo;agit d&rsquo;un tutoriel de type \u00ab follow-along \u00bb. Il sera plus facile pour vous de coder si vous avez :<\/p>\n<ul>\n<li>Des connaissances de base en <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-ce-que-le-html\/\">HTML<\/a>, <a href=\"https:\/\/kinsta.com\/fr\/blog\/meilleurs-pratiques-css\/\">CSS<\/a> et <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a><\/li>\n<li>Une petite connaissance de <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\">React<\/a> et peut-\u00eatre de Next.js<\/li>\n<li>Node.js et npm (<a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-npm\/\">Node Package Manager<\/a>) ou yarn install\u00e9s sur votre ordinateur<\/li>\n<\/ul>\n<h2>Pourquoi Next.js ?<\/h2>\n<p><a href=\"https:\/\/kinsta.com\/fr\/blog\/next-js\/\">Next.js<\/a> est un <a href=\"https:\/\/kinsta.com\/fr\/blog\/bibliotheques-javascript\/\">framework de biblioth\u00e8que JavaScript<\/a> open source bas\u00e9 sur React qui peut \u00eatre utilis\u00e9 pour un large \u00e9ventail de projets de d\u00e9veloppement web, car il simplifie la construction d&rsquo;applications rendues et statiques c\u00f4t\u00e9 serveur. Il rationalise le processus en tirant parti des meilleures fonctionnalit\u00e9s de React et en optimisant les performances de rendu pour une meilleure exp\u00e9rience utilisateur. Voici quelques-uns des cas d&rsquo;utilisation les plus courants de Next.js :<\/p>\n<ul>\n<li><strong>Construire des sites web statiques <\/strong>: Next.js peut construire des sites web statiques qui sont rapides, faciles \u00e0 d\u00e9ployer et n\u00e9cessitent une maintenance minimale, comme le site web de portfolio de d\u00e9veloppeur que nous allons construire tout au long de ce tutoriel.<\/li>\n<li><strong>Construire des sites web dynamiques <\/strong>: Next.js vous permet de cr\u00e9er des sites web dynamiques qui peuvent changer de contenu en fonction des interactions de l&rsquo;utilisateur ou de la r\u00e9cup\u00e9ration de donn\u00e9es c\u00f4t\u00e9 serveur.<\/li>\n<\/ul>\n<ul>\n<li><strong>Construire des sites de commerce \u00e9lectronique <\/strong>: Next.js est bien adapt\u00e9 \u00e0 la construction de sites de commerce \u00e9lectronique qui n\u00e9cessitent un rendu c\u00f4t\u00e9 serveur pour am\u00e9liorer le r\u00e9f\u00e9rencement et les performances.<\/li>\n<\/ul>\n<ul>\n<li><strong>Construire des applications web progressives (PWA)<\/strong> : Next.js supporte la cr\u00e9ation de PWA, qui sont des applications web qui fonctionnent comme des applications natives et peuvent \u00eatre install\u00e9es sur l&rsquo;appareil d&rsquo;un utilisateur.<\/li>\n<\/ul>\n<h2>Comment configurer votre environnement de d\u00e9veloppement Next.js<\/h2>\n<p>Pour mettre en place un environnement de d\u00e9veloppement pour Next.js, <a href=\"https:\/\/kinsta.com\/fr\/blog\/comment-installer-node-js\/\">installez d&rsquo;abord Node.js<\/a> sur votre ordinateur, car vous utiliserez la commande <code>npx<\/code> pour ex\u00e9cuter les paquets npm sans avoir \u00e0 les installer globalement sur votre syst\u00e8me. Une fois que cela est fait, vous pouvez maintenant cr\u00e9er un projet Next.js en ex\u00e9cutant la commande suivante :<\/p>\n<pre><code class=\"language-bash\">npx create-next-app@latest my-portfolio<\/code><\/pre>\n<p>Une invite appara\u00eetra pour vous demander de confirmer certaines d\u00e9pendances suppl\u00e9mentaires. Ensuite, vous pouvez lancer <code>npm run dev<\/code> pour rendre votre application disponible sur <strong>localhost:3000<\/strong>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/nextjs-installation-with-options.jpg\" alt=\"Cr\u00e9ation d'un nouveau projet Next.js.\" width=\"1600\" height=\"569\"><figcaption class=\"wp-caption-text\">Cr\u00e9ation d&rsquo;un nouveau projet Next.js.<\/figcaption><\/figure>\n<p>Lorsque vous cr\u00e9ez un projet Next.js en utilisant la commande <code>npx<\/code>, il cr\u00e9e automatiquement une structure de dossiers avec les r\u00e9pertoires principaux suivants :<\/p>\n<ol start=\"1\">\n<li><strong>pages <\/strong>: Ce dossier contient les pages de l&rsquo;application, qui sont automatiquement achemin\u00e9es en fonction de leur nom de fichier. Par exemple, <strong>pages\/index.js<\/strong> serait la page d&rsquo;accueil, tandis que <strong>pages\/about.js<\/strong> serait la page \u00e0 propos.<\/li>\n<li><strong>public <\/strong>: Ce dossier contient des fichiers statiques qui peuvent \u00eatre servis directement, tels que des images, des polices de caract\u00e8res et d&rsquo;autres ressources.<\/li>\n<li><strong>components <\/strong>: Ce dossier est facultatif et contient des composants d&rsquo;interface utilisateur r\u00e9utilisables qui peuvent \u00eatre utilis\u00e9s dans l&rsquo;ensemble de l&rsquo;application.<\/li>\n<li><strong>styles <\/strong>: Ce dossier est \u00e9galement facultatif et contient des styles globaux qui peuvent \u00eatre appliqu\u00e9s \u00e0 l&rsquo;ensemble de l&rsquo;application.<\/li>\n<\/ol>\n<p>D&rsquo;autres r\u00e9pertoires et fichiers peuvent \u00e9galement \u00eatre g\u00e9n\u00e9r\u00e9s en fonction de la configuration et des fonctionnalit\u00e9s sp\u00e9cifiques, mais il s&rsquo;agit des r\u00e9pertoires principaux d&rsquo;un projet Next.js de base.<\/p>\n<p>Pour ce tutoriel, tout ce que nous construisons appara\u00eetra sur la page d&rsquo;index (notre site web \u00e0 une page), et vous inclurez des composants pour diverses sections comme le h\u00e9ros, \u00e0 propos, projets, et autres.<\/p>\n<h2>Comment construire un portfolio de d\u00e9veloppeur responsive en utilisant Next.js<\/h2>\n<p>Un portfolio est g\u00e9n\u00e9ralement constitu\u00e9 de composants tels que ceux-ci :<\/p>\n<ul>\n<li>Composant Navbar<\/li>\n<li>Composant Hero<\/li>\n<li>Composant A propos de<\/li>\n<li>Composant Comp\u00e9tences<\/li>\n<li>Composant Projets<\/li>\n<li>Composant Contact<\/li>\n<li>Composant Pied de page<\/li>\n<\/ul>\n<p>Les composants Navbar et Footer doivent appara\u00eetre sur toutes les pages si le portfolio a plus d&rsquo;une page. Ceci peut \u00eatre r\u00e9alis\u00e9 dans Next.js en d\u00e9finissant une mise en page.<\/p>\n<h3>D\u00e9finir des mises en page dans Next.js<\/h3>\n<p>Dans Next.js, une mise en page est un moyen de d\u00e9finir une structure coh\u00e9rente pour les composants qui apparaissent sur chaque page d&rsquo;un site web. La mise en page comprend g\u00e9n\u00e9ralement des \u00e9l\u00e9ments tels qu&rsquo;un en-t\u00eate, un menu de navigation et un pied de page affich\u00e9s sur toutes les pages du site.<\/p>\n<p>Commencez par cr\u00e9er un dossier components dans le r\u00e9pertoire <strong>src<\/strong> (source) de votre projet Next.js. Ensuite, cr\u00e9ez les composants Navbar et Footer qui seront utilis\u00e9s dans le composant Layout.<\/p>\n<p>Voici le composant Navbar dans <strong>Navbar.jsx<\/strong>:<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Navbar.jsx\n\nimport Link from \"next\/link\";\n\nconst Navbar = () =&gt; {\n  return (\n    &lt;div className=\"nav-container\"&gt;\n      &lt;div className=\"logo\"&gt;\n        &lt;Link href=\"\/\"&gt;\n          Joe's Portfolio\n        &lt;\/Link&gt;\n      &lt;\/div&gt;\n      &lt;a href=\"\" className=\"cta-btn\"&gt;Resume&lt;\/a&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Navbar;<\/code><\/pre>\n<p>Voici le composant Footer dans <strong>Footer.jsx<\/strong>:<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Footer.jsx\n\nconst Footer = () =&gt; {\n  return (\n    &lt;&gt;\n      &lt;hr\/&gt;\n      &lt;div className=\"footer-container\"&gt;\n        &lt;p&gt;\n          &copy; {new Date().getFullYear()} Joel's Portfolio\n        &lt;\/p&gt;\n        &lt;div className=\"social_icons\"&gt;\n          &lt;a\n            href=\"https:\/\/twitter.com\/olawanle_joel\"\n            aria-label=\"Twitter\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-twitter\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/github.com\/olawanlejoel\"\n            aria-label=\"GitHub\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\"\n            aria-label=\"LinkedIn\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-linkedin\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/&gt;\n  )\n}\n\nexport default Footer;<\/code><\/pre>\n<p><strong>Remarque :<\/strong> pour que les ic\u00f4nes Font Awesome fonctionnent, vous devez soit installer Font Awesome dans votre projet, soit utiliser son CDN. Vous pouvez ajouter le lien CDN \u00e0 votre fichier <strong>_document.js<\/strong> comme ceci :<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/_document.js\n\nimport { Html, Head, Main, NextScript } from 'next\/document';\n\nexport default function Document() {\n  return (\n    &lt;Html lang=\"en\"&gt;\n      &lt;Head&gt;\n        &lt;meta charSet=\"utf-8\" \/&gt;\n        &lt;link\n          rel=\"stylesheet\"\n          href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.2.1\/css\/all.min.css\"\n          integrity=\"sha512-MV7K8+y+gLIBoVD59lQIYicR65iaqukzvf\/nwasF0nqhPay5w\/9lJmVM2hMDcnK1OnMGCdVK+iQrJ7lzPJQd1w==\"\n          crossorigin=\"anonymous\"\n          referrerpolicy=\"no-referrer\"\n        \/&gt;\n      &lt;\/Head&gt;\n      &lt;body&gt;\n      &lt;Main \/&gt;\n      &lt;NextScript \/&gt;\n      &lt;\/body&gt;\n    &lt;\/Html&gt;\n  );\n}<\/code><\/pre>\n<p><strong>Remarque :<\/strong> Si vous ajoutez un lien vers une version diff\u00e9rente de Font Awesome via le CDN, vous devrez remplacer le hash <code>integrity<\/code> par le hash appropri\u00e9 pour cette version.<\/p>\n<p>Apr\u00e8s avoir cr\u00e9\u00e9 tous les composants n\u00e9cessaires \u00e0 votre mise en page, vous pouvez cr\u00e9er le composant Layout lui-m\u00eame et l&rsquo;ajouter \u00e0 vos pages en y int\u00e9grant le contenu de votre page.<\/p>\n<p>Le composant Layout acceptera une propri\u00e9t\u00e9 &lt;code&gt;children&lt;\/code&gt;, vous permettant d&rsquo;acc\u00e9der au contenu de vos pages Next.js.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Layout.jsx\n\nimport Navbar from '.\/navbar';\nimport Footer from '.\/footer';\n\nconst Layout = ({ children }) =&gt; {\n  return (\n    &lt;&gt;\n      &lt;Navbar \/&gt;\n      &lt;main&gt;{children}&lt;\/main&gt;\n      &lt;Footer \/&gt;\n    &lt;\/&gt;\n  )\n}\n\nexport default Layout;<\/code><\/pre>\n<p>\u00c0 ce stade, vous avez cr\u00e9\u00e9 avec succ\u00e8s le composant Layout qui contient la barre de navigation et le pied de page avec les accessoires children positionn\u00e9s correctement. Vous pouvez maintenant ajouter le composant Layout \u00e0 vos pages en y int\u00e9grant le contenu de la page. Cela se fera dans le fichier <strong>_app.js<\/strong>.<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/_app.js\n\nimport '@\/styles\/globals.css';\nimport Layout from '..\/components\/layout';\n\nexport default function App({ Component, pageProps }) {\n  return (\n    &lt;Layout&gt;\n      &lt;Component {...pageProps} \/&gt;\n    &lt;\/Layout&gt;\n  );\n}<\/code><\/pre>\n<p>Vous avez maintenant r\u00e9ussi \u00e0 cr\u00e9er une mise en page pour votre portfolio de d\u00e9veloppeur. Pour ce portfolio, nous nous concentrons davantage sur Next.js et sur la mani\u00e8re de d\u00e9ployer votre site web sur Kinsta. Vous pouvez donc copier les styles du fichier <a href=\"https:\/\/github.com\/olawanlejoel\/Kinsta-developer-portfolio\/blob\/main\/src\/styles\/globals.css\">styles\/globals.css<\/a> dans votre propre projet. Si vous lancez votre site web de portfolio en mode dev, vous devriez maintenant voir la mise en page de votre application.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/layout-component.jpg\" alt=\"Composant de mise en page\" width=\"1600\" height=\"619\"><figcaption class=\"wp-caption-text\">Composant de mise en page<\/figcaption><\/figure>\n<p>Il est maintenant temps de donner \u00e0 votre site web de portfolio le contenu appropri\u00e9.<\/p>\n<h3>Cr\u00e9ation de composants de portfolio<\/h3>\n<p>Vous pouvez maintenant cr\u00e9er des composants individuels pour chaque section du portfolio de votre d\u00e9veloppeur. Tous ces composants seront import\u00e9s dans la page d&rsquo;index de votre projet Next.js, afin qu&rsquo;ils puissent s&rsquo;afficher lorsque vous lancez votre projet avec <code>npm run dev<\/code>.<\/p>\n<h4>Le composant Hero<\/h4>\n<p>Le composant Hero est la premi\u00e8re section en dessous de la barre de navigation, dont le but principal est de capter l&rsquo;attention de l&rsquo;utilisateur et de lui donner une id\u00e9e de ce qu&rsquo;est le site web ou l&rsquo;application.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Hero.jsx\n\nimport Image from \"next\/image\";\n\nconst Hero = () =&gt; {\n  return (\n    &lt;div className=\"hero-container\"&gt;\n      &lt;Image src='\/images\/profile.jpeg' className=\"profile-img\" width={300} height={300} alt=\"Joe's personal headshot\" \/&gt;\n      &lt;div className=\"hero-text\"&gt;\n        &lt;h1&gt;Hey, I'm Joe \ud83d\udc4b&lt;\/h1&gt;\n        &lt;p&gt;\n          I'm a software developer based in Lagos, Nigeria. I specialize in building (and occasionally designing)\n          exceptional websites, applications, and everything in between.\n        &lt;\/p&gt;\n        &lt;div className=\"social-icons\"&gt;\n          &lt;a\n            href=\"https:\/\/twitter.com\/olawanle_joel\"\n            aria-label=\"Twitter\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-twitter\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/github.com\/olawanlejoel\"\n            aria-label=\"GitHub\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n          &lt;a\n            href=\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\"\n            aria-label=\"LinkedIn\"\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n          &gt;\n            &lt;i className=\"fa-brands fa-linkedin\"&gt;&lt;\/i&gt;\n          &lt;\/a&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Hero;<\/code><\/pre>\n<p>Dans le code ci-dessus, vous remarquerez que le <a href=\"https:\/\/nextjs.org\/docs\/api-reference\/next\/image\" target=\"_blank\" rel=\"noopener noreferrer\">composant Next.js Image<\/a> est utilis\u00e9 \u00e0 la place de la balise HTML <code>img<\/code> pour ajouter l&rsquo;image, car il permet l&rsquo;optimisation automatique de l&rsquo;image, son redimensionnement et bien d&rsquo;autres choses encore.<\/p>\n<p>Dans le composant About, vous remarquerez \u00e9galement qu&rsquo;un simple paragraphe pour en dire un peu plus sur le d\u00e9veloppeur a \u00e9t\u00e9 ajout\u00e9 ainsi que quelques ic\u00f4nes sociales de Font Awesome pour ajouter des liens sociaux.<\/p>\n<p>Voici \u00e0 quoi devrait ressembler le composant Hero :<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/hero-component.jpg\" alt=\"Composant Hero\" width=\"1600\" height=\"695\"><figcaption class=\"wp-caption-text\">Composant Hero<\/figcaption><\/figure>\n<p>Vous pouvez ajouter du contenu au composant Hero, modifier les styles dans le fichier <strong>styles\/globals.css<\/strong> ou m\u00eame recr\u00e9er cette section \u00e0 votre mani\u00e8re.<\/p>\n<h4>Le composant About<\/h4>\n<p>Le composant About est destin\u00e9 \u00e0 donner aux lecteurs ou aux personnes qui visitent votre portfolio plus d&rsquo;informations sur vous, dans autant de paragraphes que vous le souhaitez. Si vous souhaitez en dire plus sur vous-m\u00eame, vous pouvez cr\u00e9er une page d\u00e9di\u00e9e \u00ab \u00c0 propos de moi \u00bb et ajouter un bouton dans cette section pour en savoir plus sur vous.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/About.jsx\n\nimport Image from \"next\/image\";\n\nconst About = () =&gt; {\n  return (\n    &lt;div className=\"about-container\"&gt;\n      &lt;h2&gt;About Me&lt;\/h2&gt;\n      &lt;div className=\"flex-about\"&gt;\n        &lt;div className=\"about-text\"&gt;\n          &lt;p&gt;\n            As a developer, I have always been passionate about creating elegant and effective solutions to\n            complex problems. I have a strong foundation in software development, with a focus on web\n            technologies such as HTML, CSS, and JavaScript. I enjoy working on both the front-end and\n            back-end of applications, and I am always looking for ways to optimize performance, improve user\n            experience, and ensure the highest level of code quality.\n          &lt;\/p&gt;\n          &lt;p&gt;Throughout my career, I have worked on a wide range of projects, from simple static websites to\n            complex enterprise-level applications. I am experienced in working with a variety of development\n            tools and frameworks, including React, Angular, Vue.js, Node.js, and Laravel. I am always eager\n            to learn and explore new technologies, and I am constantly seeking out opportunities to improve\n            my skills and knowledge.&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"about-img\"&gt;\n          &lt;Image src='\/images\/about.jpeg' className=\"profile-img\" width={300} height={500}\/&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default About;<\/code><\/pre>\n<p>Le code ci-dessus contient deux paragraphes de texte sur le d\u00e9veloppeur et une image de celui-ci. C&rsquo;est \u00e0 cela que devrait ressembler la section \u00ab \u00c0 propos \u00bb :<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/about-component.jpg\" alt=\"Composant \u00ab \u00c0 propos \u00bb\" width=\"1600\" height=\"738\"><figcaption class=\"wp-caption-text\">Composant \u00ab \u00c0 propos \u00bb<\/figcaption><\/figure>\n<p>Vous pouvez toujours modifier les styles pour ajouter d&rsquo;autres images et bien d&rsquo;autres choses encore.<\/p>\n<h4>Le composant Skills<\/h4>\n<p>Le composant \u00ab comp\u00e9tences \u00bb est destin\u00e9 \u00e0 montrer certaines des technologies les plus utilis\u00e9es par le d\u00e9veloppeur ou des technologies qu&rsquo;il a utilis\u00e9es dans le pass\u00e9.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/skills-component.jpg\" alt=\"Composant Comp\u00e9tences\" width=\"1600\" height=\"294\"><figcaption class=\"wp-caption-text\">Composant Comp\u00e9tences<\/figcaption><\/figure>\n<p>Vous pouvez faciliter la maintenance de ce composant en cr\u00e9ant un tableau dans un fichier externe, puis en l&rsquo;important dans le composant \u00ab skills \u00bb, ce qui vous permet de le parcourir en boucle au lieu de dupliquer un code similaire.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Skills.jsx\n\nconst Skills = () =&gt; {\n  return (\n    &lt;div className=\"skills-container\"&gt;\n      &lt;h2&gt;Skills&lt;\/h2&gt;\n      &lt;div className=\"grid-skills\"&gt;\n        &lt;div className=\"skill-card html\"&gt;\n          &lt;i className=\"fa-brands fa-html5 html-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;HTML&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card css\"&gt;\n          &lt;i className=\"fa-brands fa-css3-alt css-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;CSS&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card js\"&gt;\n          &lt;i className=\"fa-brands fa-js-square js-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;JavaScript&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card react\"&gt;\n          &lt;i className=\"fa-brands fa-react react-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;React&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card node\"&gt;\n          &lt;i className=\"fa-brands fa-node-js node-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;Node&lt;\/p&gt;\n        &lt;\/div&gt;\n        &lt;div className=\"skill-card python\"&gt;\n          &lt;i className=\"fa-brands fa-python python-icon\"&gt;&lt;\/i&gt;\n          &lt;p&gt;Python&lt;\/p&gt;\n        &lt;\/div&gt;\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Skills;<\/code><\/pre>\n<p>Dans le code ci-dessus, une carte est cr\u00e9\u00e9e pour chaque comp\u00e9tence, et chaque carte contient l&rsquo;ic\u00f4ne de la technologie de font-awesome et le nom de la technologie. Vous pouvez \u00e9galement ajouter d&rsquo;autres styles et modifier le code pour le rendre plus attrayant et unique.<\/p>\n<h4>Le composant Projects<\/h4>\n<p>Le volet \u00ab projets \u00bb est l&rsquo;une des sections les plus importantes du portfolio d&rsquo;un d\u00e9veloppeur. Les projets fournissent des preuves tangibles des comp\u00e9tences et des aptitudes d&rsquo;un d\u00e9veloppeur et mettent en \u00e9vidence sa capacit\u00e9 \u00e0 appliquer ses connaissances \u00e0 des probl\u00e8mes concrets.<\/p>\n<p>Chaque projet comprendra une br\u00e8ve description du projet, un lien vers son code source (nous utilisons ici des liens <a href=\"https:\/\/kinsta.com\/fr\/blog\/base-de-connaissances-github\/\">GitHub<\/a>) et tout autre d\u00e9tail que vous souhaitez ajouter.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/projects-component.jpg\" alt=\"Composant Projects\" width=\"1600\" height=\"847\"><figcaption class=\"wp-caption-text\">Composant Projects<\/figcaption><\/figure>\n<p>Vous pouvez cr\u00e9er un tableau pour contenir les d\u00e9tails de chaque projet, puis l&rsquo;importer dans votre composant pour \u00e9viter de les coder en dur.<\/p>\n<p>Cr\u00e9ons un fichier <strong>data.js<\/strong> pour stocker le tableau des donn\u00e9es du projet. Vous pouvez stocker ce fichier dans le dossier du composant ou dans le dossier <strong>pages\/api<\/strong>. Pour cette d\u00e9mo, je le stockerai dans le dossier components. Ce tableau contiendra un objet pour chaque projet, et l&rsquo;objet contiendra le nom du projet, la description, et le lien GitHub.<\/p>\n<pre><code class=\"language-js\">\/\/ components\/data.js\n\nexport const projectData = [\n  {\n    id: 1,\n    title: 'Todo List App',\n    description:\n      'A simple Todo List App built with JavaScript. All datas are stored in localstorage. It helps users check list out their plans and tick as they do them.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Todo-List-App',\n  },\n  {\n    id: 2,\n    title: 'Books Library App',\n    description:\n      'A simple Book Library App built with JavaScript. It helps readers have a good list of books they are either currently reading or have finished reading.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Book-Library',\n  },\n  {\n    id: 3,\n    title: 'Quotes Generator',\n    description:\n      'Helps you generate quotes from about 1600 quotes written by different authors . Quotes are automatically copied to your clipboards.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/random-quote-generator',\n  },\n  {\n    id: 4,\n    title: 'Password Generator',\n    description:\n      'Helps you generates random passwords, you can select what you want your password to entail and also you can copy generated password to clipboard.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/Password-Generator',\n  },\n  {\n    id: 5,\n    title: 'Twitter UI Clone',\n    description:\n      'Simple Twitter UI clone built with TailwindCSS and Vue Js. This covers only the homepage of Twitter UI. This is cool to get started with TailwindCSS as it helps understand basic concepts.',\n    gitHubLink: 'https:\/\/github.com\/olawanlejoel\/TwitterUI-clone',\n  },\n];<\/code><\/pre>\n<p>Vous pouvez maintenant cr\u00e9er un composant de projet pour utiliser ces donn\u00e9es en bouclant facilement. Vous pouvez utiliser n&rsquo;importe quelle m\u00e9thode d&rsquo;it\u00e9ration JavaScript, mais pour ce tutoriel, vous pouvez utiliser la m\u00e9thode JavaScript <code>map()<\/code> array pour boucler le tableau de donn\u00e9es apr\u00e8s l&rsquo;avoir import\u00e9 dans le composant Projects.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Projects.jsx\n\nimport { projectData } from '.\/data.js';\n\nconst Projects = () =&gt; {\n  return (\n    &lt;div className=\"projects-container\"&gt;\n      &lt;h2&gt;Projects&lt;\/h2&gt;\n      &lt;div className=\"projects-grid\"&gt;\n        {projectData && projectData.map((project) =&gt; (\n          &lt;div className=\"project-card\" key={project.id}&gt;\n            &lt;div className=\"project-header\"&gt;\n              &lt;i className=\"fa-regular fa-folder-open folder-icon\"&gt;&lt;\/i&gt;\n              &lt;div className=\"small-icons\"&gt;\n                &lt;a href={project.gitHubLink}&gt;&lt;i className=\"fa-brands fa-github\"&gt;&lt;\/i&gt;&lt;\/a&gt;\n              &lt;\/div&gt;\n            &lt;\/div&gt;\n            &lt;h3&gt;{project.title}&lt;\/h3&gt;\n            &lt;p&gt;{project.description}&lt;\/p&gt;\n          &lt;\/div&gt;\n        ))\n        }\n      &lt;\/div&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Projects;<\/code><\/pre>\n<p>Dans le code ci-dessus, vous avez r\u00e9ussi \u00e0 \u00e9viter les r\u00e9p\u00e9titions en parcourant en boucle le tableau pour sortir tous les projets dans le composant Projets, ce qui facilite la maintenance et l&rsquo;ajout de nouveaux projets.<\/p>\n<h4>Le composant Contact<\/h4>\n<p>L&rsquo;une des raisons de cr\u00e9er un portfolio de d\u00e9veloppeur est de permettre aux clients potentiels de vous contacter. L&rsquo;un des moyens serait que les gens vous envoient un courriel, ce que nous allons faciliter dans le composant Contact.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/Contact.jsx\n\nconst Contact = () =&gt; {\n  return (\n    &lt;div className=\"contact-container\"&gt;\n      &lt;h2&gt;Get In Touch&lt;\/h2&gt;\n      &lt;p&gt;If you want us to work together, have any questions or want me to speak at your event, my inbox is always open. Whether I just want to say hi, I'll try my best to get back to you! Cheers!&lt;\/p&gt;\n      &lt;a href=\"mailto:example@kinsta.com\" className='cta-btn'&gt;Say Hello&lt;\/a&gt;\n    &lt;\/div&gt;\n  )\n}\n\nexport default Contact;<\/code><\/pre>\n<p>Placez votre e-mail dans la balise <code>a<\/code> afin que le bouton lance une application de messagerie avec un message qui vous est adress\u00e9.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/contact-component.jpg\" alt=\"Composant Contact\" width=\"1600\" height=\"312\"><figcaption class=\"wp-caption-text\">Composant Contact<\/figcaption><\/figure>\n<p>Vous avez maintenant cr\u00e9\u00e9 tous les composants de votre application de portfolio. L&rsquo;\u00e9tape suivante consiste \u00e0 les ajouter \u00e0 votre page d&rsquo;index. Naviguez jusqu&rsquo;au fichier <strong>pages\/index.js<\/strong> &#8211; qui est cr\u00e9\u00e9 par d\u00e9faut &#8211; et remplacez son code par le suivant.<\/p>\n<pre><code class=\"language-js\">\/\/ pages\/index.js\n\nimport Hero from '@\/components\/Hero';\nimport About from '@\/components\/About';\nimport Skills from '@\/components\/Skills';\nimport Projects from '@\/components\/Projects';\nimport Contact from '@\/components\/Contact';\n\nimport Head from 'next\/head';\n\nconst Home = () =&gt; {\n  return (\n    &lt;&gt;\n      &lt;Head&gt;\n        &lt;title&gt;Joel's Portfolio&lt;\/title&gt;\n        &lt;meta name=\"description\" content=\"Joel's Portfolio\" \/&gt;\n        &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/&gt;\n        &lt;link rel=\"icon\" href=\"\/favicon.ico\" \/&gt;\n      &lt;\/Head&gt;\n      &lt;div&gt;\n        &lt;Hero \/&gt;\n        &lt;About \/&gt;\n        &lt;Skills \/&gt;\n        &lt;Projects \/&gt;\n        &lt;Contact \/&gt;\n      &lt;\/div&gt;\n    &lt;\/&gt;\n  );\n};\n\nexport default Home;<\/code><\/pre>\n<p>Lorsque vous lancerez votre application, vous remarquerez qu&rsquo;un <a href=\"https:\/\/kinsta.com\/fr\/blog\/site-portfolio\/\">site web<\/a> complet a \u00e9t\u00e9 cr\u00e9\u00e9. Enfin, avant de d\u00e9ployer votre application, installons une d\u00e9pendance. L&rsquo;un des avantages de l&rsquo;utilisation de Next.js r\u00e9side dans les nombreuses fonctionnalit\u00e9s qu&rsquo;il apporte, telles que le routage bas\u00e9 sur les fichiers, l&rsquo;optimisation des images, et bien d&rsquo;autres encore.<\/p>\n<p>L&rsquo;optimisation des images est g\u00e9r\u00e9e par le composant Next.js <code>Image<\/code>. Avant de d\u00e9ployer une application en production qui utilise le composant Next.js Image, il est fortement recommand\u00e9 d&rsquo;installer <a href=\"https:\/\/www.npmjs.com\/package\/sharp\">sharp<\/a>. Vous pouvez le faire en naviguant vers votre terminal, en vous assurant que vous \u00eates dans le r\u00e9pertoire de votre projet, et en lan\u00e7ant la commande suivante :<\/p>\n<pre><code class=\"language-bash\">npm i sharp<\/code><\/pre>\n<p>Vous pouvez maintenant d\u00e9ployer votre application, et les images fonctionneront correctement avec l&rsquo;optimisation compl\u00e8te que Next.js fournit.<\/p>\n<h2>Comment d\u00e9ployer l&rsquo;application Next.js sur Kinsta<\/h2>\n<p>Une fois que vous serez satisfait de votre portfolio, qui pr\u00e9sente vos meilleurs travaux de d\u00e9veloppement et des informations cl\u00e9s, vous voudrez probablement le partager avec d&rsquo;autres, n&rsquo;est-ce pas ? Voyons comment le faire en utilisant GitHub et la plateforme d&rsquo;h\u00e9bergement d&rsquo;applications de Kinsta.<\/p>\n<h3>Pousser votre code sur GitHub<\/h3>\n<p>Il existe plusieurs fa\u00e7ons de pousser des codes vers GitHub, mais utilisons Git pour ce tutoriel. <a href=\"https:\/\/kinsta.com\/fr\/blog\/git-pour-developpement-web\/\">Git est largement utilis\u00e9 dans le d\u00e9veloppement de logiciels<\/a> parce qu&rsquo;il fournit un moyen fiable et efficace de g\u00e9rer les modifications de code, de collaborer sur des projets et de maintenir l&rsquo;historique des versions.<\/p>\n<p>Vous pouvez t\u00e9l\u00e9verser votre code sur GitHub en suivant les \u00e9tapes suivantes :<\/p>\n<p>Tout d&rsquo;abord, cr\u00e9ez un nouveau d\u00e9p\u00f4t (tout comme un dossier local pour stocker votre code). Vous pouvez le faire en vous connectant \u00e0 votre compte GitHub, en cliquant sur le bouton <strong>+<\/strong> dans le coin sup\u00e9rieur droit de l&rsquo;\u00e9cran et en s\u00e9lectionnant <strong>Nouveau d\u00e9p\u00f4t<\/strong> dans le menu d\u00e9roulant, comme le montre l&rsquo;image ci-dessous.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/Create-a-new-repository-on-GitHub.jpg\" alt=\"Cr\u00e9er un nouveau d\u00e9p\u00f4t GitHub.\" width=\"1600\" height=\"770\"><figcaption class=\"wp-caption-text\">Cr\u00e9er un nouveau d\u00e9p\u00f4t GitHub.<\/figcaption><\/figure>\n<p>L&rsquo;\u00e9tape suivante consiste \u00e0 donner un nom \u00e0 votre d\u00e9p\u00f4t, \u00e0 ajouter une description (facultative) et \u00e0 choisir si vous souhaitez que votre d\u00e9p\u00f4t soit public ou priv\u00e9. Cliquez ensuite sur <strong>Cr\u00e9er un d\u00e9p\u00f4t<\/strong>. Vous pouvez maintenant <a href=\"https:\/\/kinsta.com\/fr\/blog\/comment-pousser-code-github\/\">pousser votre code<\/a> vers le nouveau d\u00e9p\u00f4t GitHub.<\/p>\n<p>Tout ce qui est n\u00e9cessaire pour pousser votre code avec Git est l&rsquo;URL du d\u00e9p\u00f4t, que vous pouvez trouver sur la page principale du d\u00e9p\u00f4t, sous le bouton <strong>Cloner ou t\u00e9l\u00e9charger<\/strong>, ou dans les \u00e9tapes qui apparaissent apr\u00e8s la cr\u00e9ation d&rsquo;un d\u00e9p\u00f4t.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/how-to-get-repository-URL.jpg\" alt=\"Acc\u00e9der \u00e0 l'URL de votre d\u00e9p\u00f4t GitHub\" width=\"1600\" height=\"738\"><figcaption class=\"wp-caption-text\">Acc\u00e9der \u00e0 l&rsquo;URL de votre d\u00e9p\u00f4t GitHub<\/figcaption><\/figure>\n<p>Vous pouvez vous pr\u00e9parer \u00e0 pousser votre code en ouvrant votre terminal ou une invite de commande et en naviguant jusqu&rsquo;au r\u00e9pertoire qui contient votre projet. Utilisez la commande suivante pour initialiser un d\u00e9p\u00f4t Git local :<\/p>\n<pre><code class=\"language-bash\">git init<\/code><\/pre>\n<p>Ajoutez maintenant votre code au d\u00e9p\u00f4t Git local \u00e0 l&rsquo;aide de la commande suivante :<\/p>\n<pre><code class=\"language-bash\">git add .<\/code><\/pre>\n<p>La commande ci-dessus ajoute tous les fichiers du r\u00e9pertoire actuel et de ses sous-r\u00e9pertoires au nouveau d\u00e9p\u00f4t Git. Vous pouvez maintenant valider vos modifications \u00e0 l&rsquo;aide de la commande suivante :<\/p>\n<pre><code class=\"language-bash\">git commit -m \"my first commit\"<\/code><\/pre>\n<p><strong>Remarque :<\/strong> vous pouvez remplacer \u00ab my first commit \u00bb par votre propre message d\u00e9crivant bri\u00e8vement les modifications que vous avez apport\u00e9es.<\/p>\n<p>Enfin, poussez votre code sur GitHub \u00e0 l&rsquo;aide des commandes suivantes :<\/p>\n<pre><code class=\"language-bash\">\ngit remote add origin [repository URL]\ngit push -u origin master<\/code><\/pre>\n<p><strong>Remarque :<\/strong> veillez \u00e0 remplacer \u00ab [repository URL] \u00bb par l&rsquo;URL de votre propre d\u00e9p\u00f4t GitHub.<\/p>\n<p>Une fois ces \u00e9tapes termin\u00e9es, votre code sera pouss\u00e9 sur GitHub et accessible via l&rsquo;URL de votre d\u00e9p\u00f4t. Vous pouvez maintenant d\u00e9ployer votre d\u00e9p\u00f4t sur Kinsta.<\/p>\n<h3>D\u00e9ployer votre portfolio sur Kinsta<\/h3>\n<p>Le d\u00e9ploiement sur Kinsta se fait en quelques minutes. Commencez par le tableau de bord <a href=\"https:\/\/my.kinsta.com\/?lang=fr\">My Kinsta<\/a> pour vous connecter ou cr\u00e9er votre compte.<\/p>\n<p>Ensuite, vous <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">autoriserez Kinsta sur GitHub<\/a> en suivant ces \u00e9tapes rapides :<\/p>\n<ol start=\"1\">\n<li>Cliquez sur <strong>Applications<\/strong> dans la colonne lat\u00e9rale de gauche<\/li>\n<li>Cliquez sur <strong>Ajouter un service<\/strong><\/li>\n<li>Dans le menu d\u00e9roulant, cliquez sur <strong>Application<\/strong> parce que vous voulez d\u00e9ployer une application Next.js sur Kinsta.<\/li>\n<\/ol>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/host-application-on-kinsta.jpg\" alt=\"Cr\u00e9er un projet d'application dans MyKinsta\" width=\"1600\" height=\"503\"><figcaption class=\"wp-caption-text\">Cr\u00e9er un projet d&rsquo;application dans MyKinsta<\/figcaption><\/figure>\n<p>Une fen\u00eatre modale appara\u00eet dans laquelle vous pouvez s\u00e9lectionner le r\u00e9f\u00e9rentiel que vous souhaitez d\u00e9ployer.<\/p>\n<p>Si vous avez plusieurs branches dans votre d\u00e9p\u00f4t, vous pouvez s\u00e9lectionner celle que vous souhaitez d\u00e9ployer. Vous pouvez \u00e9galement attribuer un nom \u00e0 cette application. Assurez-vous de s\u00e9lectionner un <a href=\"https:\/\/kinsta.com\/fr\/docs\/information-service\/emplacements-centre-de-donnees\/#application-and-database-hosting-data-centers\">emplacement de centre de donn\u00e9es<\/a> parmi les 24 disponibles, puis Kinsta d\u00e9tectera automatiquement une commande de d\u00e9marrage.<\/p>\n<figure style=\"width: 1438px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/deploying_application_to_kinsta.gif\" alt=\"D\u00e9tecter automatiquement la commande de d\u00e9marrage\" width=\"1438\" height=\"736\"><figcaption class=\"wp-caption-text\">D\u00e9tecter automatiquement la commande de d\u00e9marrage<\/figcaption><\/figure>\n<p>\u00c0 ce stade, votre application commencera \u00e0 se d\u00e9ployer. Dans quelques minutes, un lien sera fourni pour acc\u00e9der \u00e0 la version d\u00e9ploy\u00e9e de votre application. Dans le cas pr\u00e9sent, il s&rsquo;agit de <strong>: https:\/\/kinsta-developer-portfolio-ir8w8.kinsta.app\/<\/strong><\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/deployemnt-link-on-kinsta.jpg\" alt=\"Lien de d\u00e9ploiement sur Kinsta\" width=\"1600\" height=\"720\"><figcaption class=\"wp-caption-text\">Lien de d\u00e9ploiement sur Kinsta<\/figcaption><\/figure>\n<p><strong>Note :<\/strong> Le d\u00e9ploiement automatique a \u00e9t\u00e9 activ\u00e9, de sorte que Kinsta red\u00e9ploie automatiquement votre application chaque fois que vous apportez des modifications \u00e0 votre base de code et que vous la poussez sur GitHub.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Dans cet article, vous avez appris comment d\u00e9ployer votre site avec l&rsquo;h\u00e9bergement d&rsquo;applications de Kinsta. Si vous construisez une application\/site web de base qui ne n\u00e9cessite pas de rendu dynamique et qui n&rsquo;est pas soumis \u00e0 des pics de trafic, vous pouvez choisir d&rsquo;h\u00e9berger votre site avec l&rsquo;<a href=\"https:\/\/kinsta.com\/static-site-hosting\">h\u00e9bergement de site statique<\/a> de Kinsta.<\/p>\n<\/aside>\n\n\n<kinsta-video src=\"https:\/\/www.youtube.com\/watch?v=vmNem6wxfSQ\"><\/kinsta-video>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Il y a plusieurs raisons pour lesquelles les d\u00e9veloppeurs devraient envisager d&rsquo;utiliser Next.js pour leurs projets web. Tout d&rsquo;abord, il offre des performances optimis\u00e9es d\u00e8s le d\u00e9part, avec des fonctionnalit\u00e9s telles que le pre-fetching et le code splitting qui aident \u00e0 r\u00e9duire les temps de chargement des pages. Deuxi\u00e8mement, il offre une exp\u00e9rience de d\u00e9veloppement famili\u00e8re aux d\u00e9veloppeurs React, en prenant en charge des outils populaires tels que les composants stylis\u00e9s et les derni\u00e8res fonctionnalit\u00e9s de React.<\/p>\n<p>Kinsta fournit un support pour diff\u00e9rentes options de d\u00e9ploiement pour Next.js, y compris l&rsquo;h\u00e9bergement traditionnel sur serveur et les plateformes modernes sans serveur. Cela permet aux d\u00e9veloppeurs de choisir l&rsquo;option de d\u00e9ploiement qui r\u00e9pond le mieux \u00e0 leurs besoins tout en b\u00e9n\u00e9ficiant des optimisations de performance du framework et d&rsquo;autres avantages.<\/p>\n<p>Dans ce tutoriel, vous avez appris \u00e9tape par \u00e9tape comment construire un site de portefeuille responsive \u00e0 l&rsquo;aide de Next.js, puis le d\u00e9ployer sur Kinsta.<\/p>\n<p>Vous pouvez <a href=\"https:\/\/sevalla.com\/application-hosting\/\">essayer l&rsquo;h\u00e9bergement d&rsquo;applications de Kinsta gratuitement<\/a>, et si vous l&rsquo;aimez, optez pour notre plan <a href=\"https:\/\/sevalla.com\/pricing\/\">Hobby Tier<\/a> <strong>\u00e0 partir de 7 $ par mois<\/strong>.<\/p>\n<p>Maintenant, c&rsquo;est \u00e0 vous de relever le d\u00e9fi : ajoutez plus de fonctionnalit\u00e9s \u00e0 votre nouveau site web de portfolio ! Voici quelques id\u00e9es pour stimuler votre cr\u00e9ativit\u00e9 : ajoutez des pages d&rsquo;informations d\u00e9taill\u00e9es, int\u00e9grez un blog avec MDX, mettez en place des animations. Partagez vos projets et votre exp\u00e9rience dans les commentaires ci-dessous !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un portfolio de d\u00e9veloppeur est une collection d&rsquo;exemples de travaux et de projets mettant en valeur vos comp\u00e9tences et votre exp\u00e9rience. Un portfolio solide vous distingue &#8230;<\/p>\n","protected":false},"author":287,"featured_media":67057,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[979,1011,1004],"class_list":["post-67056","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-frameworks-javascript","topic-generateurs-sites-statiques","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d&#039;h\u00e9bergement d&#039;applications de Kinsta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js\" \/>\n<meta property=\"og:description\" content=\"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d&#039;h\u00e9bergement d&#039;applications de Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-09T12:09:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-25T08:25:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d&#039;h\u00e9bergement d&#039;applications de Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js\",\"datePublished\":\"2023-03-09T12:09:49+00:00\",\"dateModified\":\"2023-10-25T08:25:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\"},\"wordCount\":3526,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\",\"name\":\"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"datePublished\":\"2023-03-09T12:09:49+00:00\",\"dateModified\":\"2023-10-25T08:25:03+00:00\",\"description\":\"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d'h\u00e9bergement d'applications de Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg\",\"width\":3042,\"height\":1521,\"caption\":\"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js - Kinsta\u00ae","description":"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d'h\u00e9bergement d'applications de Kinsta.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js","og_description":"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d'h\u00e9bergement d'applications de Kinsta.","og_url":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2023-03-09T12:09:49+00:00","article_modified_time":"2023-10-25T08:25:03+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d'h\u00e9bergement d'applications de Kinsta.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Joel Olawanle","Dur\u00e9e de lecture estim\u00e9e":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js","datePublished":"2023-03-09T12:09:49+00:00","dateModified":"2023-10-25T08:25:03+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/"},"wordCount":3526,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/","url":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/","name":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","datePublished":"2023-03-09T12:09:49+00:00","dateModified":"2023-10-25T08:25:03+00:00","description":"Apprenez \u00e0 construire un portfolio de d\u00e9veloppeur en utilisant Next.js. D\u00e9ployez directement depuis votre d\u00e9p\u00f4t GitHub sur la plateforme d'h\u00e9bergement d'applications de Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/03\/how-to-build-and-deploy-a-blazing-fast-developer-portfolio-with-next-js-1.jpg","width":3042,"height":1521,"caption":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/portfolio-next-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/fr\/sujets\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"Comment construire et d\u00e9ployer un portfolio de d\u00e9veloppeur avec Next.js"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/fr\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/67056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=67056"}],"version-history":[{"count":15,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/67056\/revisions"}],"predecessor-version":[{"id":73918,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/67056\/revisions\/73918"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/translations\/dk"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/67056\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/67057"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=67056"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=67056"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=67056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}