{"id":75760,"date":"2024-02-01T13:50:49","date_gmt":"2024-02-01T12:50:49","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=75760&#038;preview=true&#038;preview_id=75760"},"modified":"2024-02-06T18:05:30","modified_gmt":"2024-02-06T17:05:30","slug":"creer-un-paquet-composer","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/","title":{"rendered":"Comment cr\u00e9er votre propre paquet Composer"},"content":{"rendered":"<p>La r\u00e9utilisation du code pose le probl\u00e8me de la gestion des d\u00e9pendances, un processus historiquement assez manuel et sujet aux erreurs. Heureusement, ces derni\u00e8res ann\u00e9es, la plupart des langages de programmation ont r\u00e9solu ce probl\u00e8me en introduisant divers outils de gestion des d\u00e9pendances. Dans l&rsquo;\u00e9cosyst\u00e8me <a href=\"https:\/\/kinsta.com\/php\/\">PHP<\/a>, <a href=\"https:\/\/kinsta.com\/fr\/blog\/installer-composer\/\">Composer<\/a> est devenu le standard gr\u00e2ce \u00e0 sa facilit\u00e9 d&rsquo;utilisation, sa flexibilit\u00e9 et sa large adoption.<\/p>\n<p>Bien que Composer ait \u00e9t\u00e9 con\u00e7u pour la gestion des d\u00e9pendances, vous pouvez \u00e9galement l&rsquo;utiliser pour des t\u00e2ches telles que :<\/p>\n<ul>\n<li><strong>Chargement automatique :<\/strong> Chargement automatique de classes et de fonctions \u00e0 partir de biblioth\u00e8ques externes pour les rendre facilement accessibles \u00e0 partir de votre code et simplifier le processus d&rsquo;int\u00e9gration de code externe dans votre projet.<\/li>\n<li><strong>G\u00e9n\u00e9ration de code :<\/strong> G\u00e9n\u00e9rez du code type pour votre projet, comme des fichiers de configuration ou d&rsquo;autres extraits de code couramment utilis\u00e9s, afin d&rsquo;acc\u00e9l\u00e9rer le processus de d\u00e9veloppement et d&rsquo;assurer la coh\u00e9rence.<\/li>\n<li><strong>Cr\u00e9ation de scripts :<\/strong> Un syst\u00e8me de script int\u00e9gr\u00e9 peut automatiser des t\u00e2ches courantes, telles que l&rsquo;ex\u00e9cution de tests ou la g\u00e9n\u00e9ration de documentation \u00e0 partir de votre base de code. Cela peut contribuer \u00e0 rationaliser votre flux de d\u00e9veloppement et \u00e0 r\u00e9duire le travail manuel.<\/li>\n<\/ul>\n<p>Ce tutoriel vous guide pas \u00e0 pas dans la cr\u00e9ation de votre propre paquet Composer et dans sa publication sur <a href=\"https:\/\/packagist.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Packagist<\/a>, un d\u00e9p\u00f4t de paquets PHP que les d\u00e9veloppeurs du monde entier peuvent utiliser dans leurs propres projets.<\/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>Comment fonctionne Composer ?<\/h2>\n<p>Tout d&rsquo;abord, assurons-nous de bien comprendre le fonctionnement de Composer. En termes simples, Composer fonctionne en utilisant un fichier <strong>composer.json<\/strong> qui contient les d\u00e9finitions des d\u00e9pendances de votre projet PHP. Il recherche ces paquets \u00e0 partir d&rsquo;un d\u00e9p\u00f4t centralis\u00e9 et t\u00e9l\u00e9charge et installe automatiquement ces d\u00e9pendances en utilisant le d\u00e9p\u00f4t de paquets.<\/p>\n<p>En supposant que vous avez d\u00e9j\u00e0 <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">install\u00e9 Composer<\/a> dans votre environnement de travail PHP, voici \u00e0 quoi ressemble le processus de t\u00e9l\u00e9chargement et d&rsquo;installation des d\u00e9pendances :<\/p>\n<ol>\n<li>D\u00e9finissez les d\u00e9pendances requises pour votre projet dans un fichier <strong>composer.json<\/strong> dans le r\u00e9pertoire racine de votre projet. Ce fichier contient des informations sur les biblioth\u00e8ques requises et leurs versions, ainsi que tout autre r\u00e9glage de configuration ou d\u00e9pendance pour ces biblioth\u00e8ques.<\/li>\n<li>R\u00e9solvez les d\u00e9pendances dans Composer \u00e0 l&rsquo;aide de commandes telles que <code>install<\/code> pour installer les d\u00e9pendances n\u00e9cessaires, <code>update<\/code> pour mettre \u00e0 jour les d\u00e9pendances existantes et <code>require<\/code> pour ajouter de nouvelles d\u00e9pendances au fichier <strong>composer.json<\/strong>. Lorsque vous ex\u00e9cutez une commande, Composer lit le fichier <strong>composer.json<\/strong> pour d\u00e9terminer les d\u00e9pendances n\u00e9cessaires, v\u00e9rifie le d\u00e9p\u00f4t de paquets pour la derni\u00e8re version de chaque d\u00e9pendance appropri\u00e9e \u00e0 votre environnement PHP, puis v\u00e9rifie les conflits ou les contraintes de version.<\/li>\n<li>Composer t\u00e9l\u00e9charge et installe les d\u00e9pendances n\u00e9cessaires, y compris les biblioth\u00e8ques, dans le r\u00e9pertoire <strong>vendor<\/strong> de votre projet. Composer cr\u00e9e un fichier <strong>composer.lock<\/strong> qui enregistre les versions exactes des d\u00e9pendances install\u00e9es.<\/li>\n<li>Composer met en place un \u00ab autoloader \u00bb qui charge automatiquement les classes et les fonctions des d\u00e9pendances install\u00e9es. Cela facilite l&rsquo;utilisation des biblioth\u00e8ques install\u00e9es dans votre projet sans avoir \u00e0 inclure manuellement chaque fichier.<\/li>\n<\/ol>\n<p>En bref, Composer simplifie la gestion des d\u00e9pendances dans les <a href=\"https:\/\/kinsta.com\/fr\/part-de-marche-php\/\">projets PHP<\/a>, en facilitant l&rsquo;installation, la mise \u00e0 jour et l&rsquo;utilisation de biblioth\u00e8ques et de frameworks externes.<\/p>\n<h2>Cr\u00e9ation et publication d&rsquo;un paquet Composer<\/h2>\n<p>Ce tutoriel vous montre comment cr\u00e9er une biblioth\u00e8que PHP simple appel\u00e9e <strong>tempconv<\/strong> qui convertit la temp\u00e9rature Celsius en Fahrenheit et vice versa et termine en la publiant en tant que package Composer.<\/p>\n<h3>Pr\u00e9-requis<\/h3>\n<p>Vous aurez besoin de quelques \u00e9l\u00e9ments avant de commencer :<\/p>\n<ul>\n<li>PHP et Composer install\u00e9s correctement sur votre syst\u00e8me Au moment de la r\u00e9daction, la derni\u00e8re version de Composer est la v2.6.6, mais ces instructions devraient fonctionner avec n&rsquo;importe quelle variante de la v2.<\/li>\n<li><a href=\"https:\/\/github.com\/signup\" target=\"_blank\" rel=\"noopener noreferrer\">Un compte GitHub<\/a> pour cr\u00e9er un d\u00e9p\u00f4t pour h\u00e9berger votre code.<\/li>\n<li><a href=\"https:\/\/packagist.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Un compte Packagist<\/a> pour publier votre biblioth\u00e8que.<\/li>\n<\/ul>\n<h3>Cr\u00e9er un d\u00e9p\u00f4t de projet<\/h3>\n<p>Cr\u00e9ez votre propre d\u00e9p\u00f4t GitHub pour ce tutoriel, o\u00f9 vous pourrez d\u00e9poser le code et les fichiers de votre biblioth\u00e8que termin\u00e9e.<\/p>\n<figure style=\"width: 1536px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-github-repository.png\" alt=\"Cr\u00e9ation du d\u00e9p\u00f4t de projet sur GitHub.\" width=\"1536\" height=\"1408\"><figcaption class=\"wp-caption-text\">Cr\u00e9ation du d\u00e9p\u00f4t de projet sur GitHub.<\/figcaption><\/figure>\n<p>Ce tutoriel utilise le nom de projet <strong>tempconv<\/strong>. Dans le champ Description, fournissez de brefs d\u00e9tails sur l&rsquo;application. Cochez la case pour ajouter un fichier README, choisissez le mod\u00e8le Composer pour l&rsquo;option <strong>Add .gitignore<\/strong>, et s\u00e9lectionnez la licence de votre choix &#8211; ce tutoriel utilise la <strong>licence MIT<\/strong>. Enfin, cliquez sur <strong>Cr\u00e9er un d\u00e9p\u00f4t<\/strong>.<\/p>\n<h3>Cloner le d\u00e9p\u00f4t<\/h3>\n<p>Clonez le d\u00e9p\u00f4t que vous venez de cr\u00e9er sur votre machine locale. N&rsquo;oubliez pas de remplacer l&rsquo;URL par la v\u00f4tre, \u00e0 la fois ici et tout au long de ce tutoriel :<\/p>\n<pre><code class=\"language-bash\">$ git clone https:\/\/github.com\/rexfordnyrk\/tempconv.git<\/code><\/pre>\n<p>Cela cr\u00e9e un r\u00e9pertoire appel\u00e9 <strong>tempconv<\/strong> dans votre r\u00e9pertoire de travail actuel. \u00c0 ce stade, il ne contient que les fichiers <strong>README.md<\/strong>, <strong>LICENSE<\/strong>, et <strong>.gitignore<\/strong>, mais vous allez cr\u00e9er vos fichiers de paquets ici aussi.<\/p>\n<h3>Cr\u00e9ation de votre biblioth\u00e8que PHP<\/h3>\n<p>Dans le r\u00e9pertoire de votre projet, ajoutez un fichier nomm\u00e9 <strong>TemperatureConverter.php<\/strong> avec le code suivant :<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace RexfordnyrkTempconv;\n\nclass TemperatureConverter\n{\n    \/\/Caller must provide the temperature value and the unit either C Celsius or F Fahrenheit\n    public function convert($temperature, $unit)\n    {\n        \/\/Checking whether the unit we're working with is Celsius or Fahrenheit\n        if ($unit === 'C') {\n            $fahrenheit = ($temperature * 9 \/ 5) + 32;\n            return $fahrenheit;\n        } elseif ($unit === 'F') {\n            $celsius = ($temperature - 32) * 5 \/ 9;\n            return $celsius;\n        } else {\n            \/\/Throwing error if the unit provided is neither C nor F\n            throw new InvalidArgumentException('Invalid unit, only C (Celsius) or F (Fahrenheit) are allowed');\n        }\n    }\n}<\/code><\/pre>\n<p>Cette classe poss\u00e8de une seule m\u00e9thode appel\u00e9e <code>convert<\/code> qui prend la temp\u00e9rature et l&rsquo;unit\u00e9 comme arguments et renvoie la temp\u00e9rature convertie. Elle l\u00e8ve une exception si l&rsquo;unit\u00e9 n&rsquo;est pas valide.<\/p>\n<p>C&rsquo;est suffisant pour l&rsquo;instant. Dans un sc\u00e9nario r\u00e9el, vous \u00e9cririez probablement des tests unitaires pour vous assurer que votre code fonctionne comme pr\u00e9vu apr\u00e8s des modifications ou des mises \u00e0 jour.<\/p>\n<h2>Cr\u00e9ation de votre paquet composer.<\/h2>\n<p>Avec le code de votre biblioth\u00e8que en place, il est temps d&rsquo;en faire un paquet Composer. Vous allez g\u00e9n\u00e9rer un fichier <strong>composer.json<\/strong> pour votre paquet \u00e0 l&rsquo;aide d&rsquo;un assistant \u00e9tape par \u00e9tape, et nous allons couvrir quelques bonnes pratiques pour organiser votre code en tant que paquetage avant de le pousser vers votre d\u00e9p\u00f4t.<\/p>\n<h3>G\u00e9n\u00e9rer un fichier de paquet composer.json<\/h3>\n<p>Bien que vous puissiez \u00e9crire manuellement le contenu d&rsquo;un fichier <strong>composer.json<\/strong> \u00e0 la racine du r\u00e9pertoire de votre projet, il est pr\u00e9f\u00e9rable de le g\u00e9n\u00e9rer \u00e0 l&rsquo;aide de la commande Composer suivante :<\/p>\n<pre><code class=\"language-bash\">$ composer init<\/code><\/pre>\n<p>Cette commande vous fait suivre un petit assistant \u00e9tape par \u00e9tape. Les r\u00e9ponses que vous donnez \u00e0 des questions telles que le nom du paquet, la description, les informations sur l&rsquo;auteur et le type de licence g\u00e9n\u00e8rent le fichier <strong>composer.json<\/strong> de votre paquet.<\/p>\n<p><a href=\"https:\/\/getcomposer.org\/doc\/04-schema.md\" target=\"_blank\" rel=\"noopener noreferrer\">La documentation de Composer<\/a> d\u00e9crit les valeurs attendues, ainsi que d&rsquo;autres options que vous pouvez utiliser pour d\u00e9finir le <strong>fichier composer.json<\/strong> de votre projet.<\/p>\n<figure style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-init-wizard.png\" alt=\"Utilisation de composer init pour g\u00e9n\u00e9rer une configuration.\" width=\"960\" height=\"1047\"><figcaption class=\"wp-caption-text\">Utilisation de <strong>composer init<\/strong> pour g\u00e9n\u00e9rer une configuration.<\/figcaption><\/figure>\n<p>Notez que l&rsquo;assistant fournit des r\u00e9ponses pr\u00e9d\u00e9finies aux questions lorsqu&rsquo;elles sont applicables, telles que la d\u00e9rivation de votre nom et de votre adresse e-mail \u00e0 partir de git. N&rsquo;h\u00e9sitez pas \u00e0 les modifier si vous le souhaitez.<\/p>\n<p>Cette biblioth\u00e8que ne d\u00e9pend d&rsquo;aucun autre paquet pour fonctionner, vous pouvez donc r\u00e9pondre <strong>Non<\/strong> aux questions sp\u00e9cifiant des d\u00e9pendances.<\/p>\n<p>L&rsquo;assistant vous montre un aper\u00e7u du contenu du fichier g\u00e9n\u00e9r\u00e9 et vous demande de le confirmer pour terminer l&rsquo;assistant.<\/p>\n<h3>Organisation des fichiers du paquet<\/h3>\n<p>L&rsquo;assistant cr\u00e9e deux r\u00e9pertoires en plus du fichier <strong>composer.json<\/strong>:<\/p>\n<ul>\n<li><strong>src<\/strong> pour votre code source<\/li>\n<li><strong>vendor<\/strong> pour vos d\u00e9pendances t\u00e9l\u00e9charg\u00e9es<\/li>\n<\/ul>\n<p>D\u00e9placez le fichier <strong>TemperatureConverter.php<\/strong> dans le r\u00e9pertoire <strong>src<\/strong>. Si votre biblioth\u00e8que a des d\u00e9pendances, ex\u00e9cutez <code>composer install<\/code> pour g\u00e9n\u00e9rer l&rsquo;autoloader et installer les d\u00e9pendances du paquetage.<\/p>\n<h3>T\u00e9l\u00e9versement du code sur GitHub<\/h3>\n<p>Ajoutez vos modifications et vos nouveaux fichiers \u00e0 git :<\/p>\n<pre><code class=\"language-bash\">$ git add -A<\/code><\/pre>\n<p>Engagez les modifications apport\u00e9es au d\u00e9p\u00f4t local et transf\u00e9rez-les vers le d\u00e9p\u00f4t distant sur GitHub afin de pouvoir publier facilement le projet dans la section suivante :<\/p>\n<pre><code class=\"language-bash\">$ git commit -am \"Initial Release\" && git push<\/code><\/pre>\n<h3>Cr\u00e9er une version de votre biblioth\u00e8que<\/h3>\n<p>Avec votre code dans votre d\u00e9p\u00f4t, vous pouvez cr\u00e9er une version de votre biblioth\u00e8que avec un num\u00e9ro de version afin que les autres d\u00e9veloppeurs puissent suivre vos mises \u00e0 jour stables et significatives.<\/p>\n<p>Naviguez vers votre d\u00e9p\u00f4t sur GitHub, et cliquez sur <strong>Releases<\/strong> sous la section <strong>About.<\/strong> Sur la page Releases, o\u00f9 vous \u00eates cens\u00e9 ne rien avoir pour l&rsquo;instant, cliquez sur <strong>Create a new release<\/strong>.<\/p>\n<figure style=\"width: 1839px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-github-releases.png\" alt=\"La page Releases de GitHub.\" width=\"1839\" height=\"684\"><figcaption class=\"wp-caption-text\">La page <strong>Releases<\/strong> de GitHub.<\/figcaption><\/figure>\n<p>Remplissez quelques informations sur votre version, comme la version de la balise et le titre de la version. La version de la balise doit \u00eatre un identifiant unique pour cette version (exemple : <em>v1.0.0<\/em>), et le titre de la version doit d\u00e9crire les changements inclus dans la version (exemple : <em>Initial release<\/em>).<\/p>\n<p>En option, vous pouvez ajouter une description de la version. Si vous souhaitez t\u00e9l\u00e9charger un fichier, tel qu&rsquo;un binaire compil\u00e9 ou une archive de code source, glissez-d\u00e9posez le fichier dans la zone <strong>Attacher les binaires en les d\u00e9posant ici ou en les s\u00e9lectionnant<\/strong>, mais cela n&rsquo;est pas n\u00e9cessaire pour ce tutoriel.<\/p>\n<figure style=\"width: 1897px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-github-releases-details.png\" alt=\"Saisir les d\u00e9tails de la version initiale sur GitHub.\" width=\"1897\" height=\"1302\"><figcaption class=\"wp-caption-text\">Saisir les d\u00e9tails de la version initiale sur GitHub.<\/figcaption><\/figure>\n<p>Cliquez sur <strong>Publier la version<\/strong> pour cr\u00e9er la version.<\/p>\n<p>Votre projet devrait maintenant \u00eatre disponible sur la page <strong>Releases<\/strong> de votre d\u00e9p\u00f4t. Les utilisateurs peuvent t\u00e9l\u00e9charger les fichiers que vous avez joints et consulter les notes de publication. En outre, si vous avez ajout\u00e9 une balise pour la version, d&rsquo;autres d\u00e9veloppeurs peuvent utiliser cette balise pour v\u00e9rifier le code exact qui a \u00e9t\u00e9 inclus dans la version.<\/p>\n<p>Votre biblioth\u00e8que est pr\u00eate \u00e0 \u00eatre partag\u00e9e avec le monde entier. Publions-la en tant que paquet sur Packagist.<\/p>\n<h2>Commencer avec Packagist<\/h2>\n<p>Packagist est le principal d\u00e9p\u00f4t de paquets pour PHP. Il fournit un emplacement central pour que les d\u00e9veloppeurs publient et partagent leurs paquets PHP, et pour que les autres d\u00e9veloppeurs d\u00e9couvrent et utilisent ces paquets dans leurs propres projets. Publions votre paquet !<\/p>\n<p>Naviguez sur le <a href=\"https:\/\/packagist.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">site web de Packagist<\/a>, cliquez sur <strong>Connexion<\/strong>, et s\u00e9lectionnez <strong>GitHub<\/strong> comme m\u00e9thode de connexion pour utiliser votre compte GitHub pour l&rsquo;authentification.<\/p>\n<figure style=\"width: 900px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-packagist-signup.png\" alt=\"S'inscrire sur Packagist avec GitHub.\" width=\"900\" height=\"964\"><figcaption class=\"wp-caption-text\">S&rsquo;inscrire sur Packagist avec GitHub.<\/figcaption><\/figure>\n<p>Cliquez sur <strong>Autoriser<\/strong> pour accorder \u00e0 Packagist la permission d&rsquo;acc\u00e9der \u00e0 votre compte.<\/p>\n<figure style=\"width: 1178px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-packagist-login.png\" alt=\"Connexion r\u00e9ussie sur Packagist avec GitHub.\" width=\"1178\" height=\"326\"><figcaption class=\"wp-caption-text\">Connexion r\u00e9ussie sur Packagist avec GitHub.<\/figcaption><\/figure>\n<h3>Soumettre votre package Composer sur Packagist<\/h3>\n<p>Pour publier un package sur Packagist, soumettez le d\u00e9p\u00f4t GitHub contenant le fichier <strong>composer.json<\/strong> qui d\u00e9crit votre package et ses d\u00e9pendances. Cliquez sur <strong>Submit<\/strong> sur le site de Packagist, fournissez l&rsquo;URL de votre d\u00e9p\u00f4t sur la page qui s&rsquo;affiche, et cliquez sur <strong>Check<\/strong> pour le valider.<\/p>\n<p>Si le d\u00e9p\u00f4t est valide, Packagist d\u00e9tecte le nom du paquet, et le bouton <strong>Check<\/strong> devient <strong>Submit<\/strong>.<\/p>\n<figure id=\"attachment_174185\" aria-describedby=\"caption-attachment-174185\" style=\"width: 1156px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-174185 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-packagist-validated.png\" alt=\"Le paquet Composer rexfordnyrk\/tempconv est valid\u00e9 et pr\u00eat \u00e0 \u00eatre soumis.\" width=\"1156\" height=\"502\"><figcaption id=\"caption-attachment-174185\" class=\"wp-caption-text\">Le paquet Composer <strong>rexfordnyrk\/tempconv<\/strong> est valid\u00e9 et pr\u00eat \u00e0 \u00eatre soumis.<\/figcaption><\/figure>\n<p>Cliquez sur <strong>Submit<\/strong>, et Packagist prend un moment pour configurer et publier votre projet.<\/p>\n<figure style=\"width: 1312px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/create-composer-package-packagist-published.png\" alt=\"Paquet Composer publi\u00e9.\" width=\"1312\" height=\"1023\"><figcaption class=\"wp-caption-text\">Paquet Composer publi\u00e9.<\/figcaption><\/figure>\n<p>Voil\u00e0, c&rsquo;est fait ! Votre paquet est maintenant disponible sur Packagist pour que d&rsquo;autres d\u00e9veloppeurs puissent l&rsquo;utiliser comme d\u00e9pendance dans leurs propres projets.<\/p>\n<h2>Utiliser votre paquet Composer dans d&rsquo;autres projets<\/h2>\n<p>Vous pouvez utiliser votre paquet publi\u00e9 dans d&rsquo;autres projets en l&rsquo;ajoutant comme d\u00e9pendance dans le fichier <strong>composer.json<\/strong>. Vous pouvez cr\u00e9er et modifier manuellement le fichier, mais il est pr\u00e9f\u00e9rable d&rsquo;utiliser la commande Composer comme suit :<\/p>\n<pre><code class=\"language-bash\">$ composer require rexfordnyrk\/tempconv<\/code><\/pre>\n<p>Composer cr\u00e9e automatiquement le fichier <strong>composer.json<\/strong> s&rsquo;il n&rsquo;existe pas d\u00e9j\u00e0, puis il trouve, t\u00e9l\u00e9charge et charge automatiquement le paquetage \u00e0 partir de Packagist. La sortie devrait ressembler \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/01\/requiring-package-in-composer.png\" alt=\"Screenshot of the terminal after adding a library to a project with Composer.\"><\/p>\n<p>Cr\u00e9ez un fichier <strong>demo.php<\/strong> contenant le code de votre application de d\u00e9monstration pour travailler avec votre biblioth\u00e8que.<br \/>\nVous pouvez ensuite utiliser la classe <code>TemperatureConverter<\/code> dans le code de votre application comme suit :<\/p>\n<pre><code class=\"language-php\">&lt;?php\nuse RexfordnyrkTempconvTemperatureConverter;\n\nrequire_once '.\/vendor\/autoload.php';\n\n$converter =  new TemperatureConverter();\n\n$fahrenheit = $converter-&gt;convert(20, 'C');\necho \"20\u00b0C is equivalent to $fahrenheit \u00b0Fn\";\n\n$celsius = $converter-&gt;convert(68, 'F');\necho \"68\u00b0F is equivalent to $celsius \u00b0Cn\";<\/code><\/pre>\n<p>Ce code utilise la classe <code>TemperatureConverter<\/code> pour convertir les temp\u00e9ratures 20 Celsius et 68 Fahrenheit et afficher les r\u00e9sultats. Le fichier import\u00e9 <strong>autoloader.php<\/strong> a \u00e9t\u00e9 cr\u00e9\u00e9 par Composer pour charger toutes les d\u00e9pendances dont vous avez besoin. Il se charge de charger la classe automatiquement lorsque c&rsquo;est n\u00e9cessaire.<\/p>\n<p>Enfin, ex\u00e9cutez ce code dans votre terminal :<\/p>\n<pre><code class=\"language-bash\">$ php demo.php<\/code><\/pre>\n<p>Vous devriez obtenir un r\u00e9sultat similaire \u00e0 celui-ci :<\/p>\n<pre><code class=\"language-bash\">$ php demo.php\n20\u00b0C is equivalent to 68 \u00b0F\n68\u00b0F is equivalent to 20 \u00b0C<\/code><\/pre>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Vous venez de cr\u00e9er une biblioth\u00e8que PHP simple qui convertit la temp\u00e9rature Celsius en Fahrenheit et vice versa dans une classe orient\u00e9e objet qui peut \u00eatre r\u00e9utilis\u00e9e dans d&rsquo;autres applications. Vous avez vu comment utiliser Composer pour cr\u00e9er un package \u00e0 partir de la classe avec la commande Composer Init, et vous avez appris quelques bonnes pratiques d&rsquo;organisation du code pour votre biblioth\u00e8que. Vous avez publi\u00e9 votre biblioth\u00e8que sur Packagist, afin que vous et d&rsquo;autres d\u00e9veloppeurs puissiez l&rsquo;utiliser comme d\u00e9pendance dans d&rsquo;autres projets.<\/p>\n<p>Bien s\u00fbr, une fois que vous aurez fini de d\u00e9velopper votre application, vous aurez besoin de l&rsquo;h\u00e9berger. Faites passer votre d\u00e9veloppement PHP au niveau sup\u00e9rieur avec l&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;applications web<\/a> chez Kinsta. Vous pouvez d\u00e9ployer votre <a href=\"https:\/\/docs.sevalla.com\/templates\/overviewphp-examples\">application PHP bas\u00e9e sur Composer<\/a> en quelques minutes. <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-application\">Ajoutez simplement <\/a><a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-application\">votre application<\/a> via le d\u00e9p\u00f4t git de votre projet, et Kinsta s&rsquo;occupe du reste. Il d\u00e9tecte automatiquement le fichier Composer et construit votre application automatiquement. <a href=\"https:\/\/sevalla.com\/pricing\/\">Commencez<\/a> sans risque d\u00e8s aujourd&rsquo;hui !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La r\u00e9utilisation du code pose le probl\u00e8me de la gestion des d\u00e9pendances, un processus historiquement assez manuel et sujet aux erreurs. Heureusement, ces derni\u00e8res ann\u00e9es, la &#8230;<\/p>\n","protected":false},"author":306,"featured_media":75761,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1019,1020],"class_list":["post-75760","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-languages-developpement-web","topic-outils-developpement-web"],"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 cr\u00e9er votre propre paquet Composer et le publier - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d&#039;autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.\" \/>\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\/creer-un-paquet-composer\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment cr\u00e9er votre propre paquet Composer\" \/>\n<meta property=\"og:description\" content=\"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d&#039;autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\" \/>\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=\"2024-02-01T12:50:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-06T17:05:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.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=\"Rexford Nyarko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d&#039;autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rexford Nyarko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\"},\"author\":{\"name\":\"Rexford Nyarko\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/53c94a171caf3b63f1aeaa9aef1eab8c\"},\"headline\":\"Comment cr\u00e9er votre propre paquet Composer\",\"datePublished\":\"2024-02-01T12:50:49+00:00\",\"dateModified\":\"2024-02-06T17:05:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\"},\"wordCount\":2401,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\",\"name\":\"Comment cr\u00e9er votre propre paquet Composer et le publier - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg\",\"datePublished\":\"2024-02-01T12:50:49+00:00\",\"dateModified\":\"2024-02-06T17:05:30+00:00\",\"description\":\"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d'autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Outils de d\u00e9veloppement web\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/outils-developpement-web\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment cr\u00e9er votre propre paquet Composer\"}]},{\"@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\/53c94a171caf3b63f1aeaa9aef1eab8c\",\"name\":\"Rexford Nyarko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8ea3fcc13c21943da23935661f79d708?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8ea3fcc13c21943da23935661f79d708?s=96&d=mm&r=g\",\"caption\":\"Rexford Nyarko\"},\"description\":\"Rexford Nyarko is a solution architect with a background in software and network systems, cloud environments, server administration, and various database technologies. Rexford particularly enjoys explaining technical concepts to non-technical audiences.\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/rexfordnyarko\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment cr\u00e9er votre propre paquet Composer et le publier - Kinsta\u00ae","description":"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d'autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.","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\/creer-un-paquet-composer\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment cr\u00e9er votre propre paquet Composer","og_description":"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d'autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.","og_url":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2024-02-01T12:50:49+00:00","article_modified_time":"2024-02-06T17:05:30+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","type":"image\/jpeg"}],"author":"Rexford Nyarko","twitter_card":"summary_large_image","twitter_description":"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d'autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","twitter_creator":"@kinsta_fr","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Rexford Nyarko","Dur\u00e9e de lecture estim\u00e9e":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/"},"author":{"name":"Rexford Nyarko","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/53c94a171caf3b63f1aeaa9aef1eab8c"},"headline":"Comment cr\u00e9er votre propre paquet Composer","datePublished":"2024-02-01T12:50:49+00:00","dateModified":"2024-02-06T17:05:30+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/"},"wordCount":2401,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/","url":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/","name":"Comment cr\u00e9er votre propre paquet Composer et le publier - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","datePublished":"2024-02-01T12:50:49+00:00","dateModified":"2024-02-06T17:05:30+00:00","description":"Vous avez construit une biblioth\u00e8que PHP g\u00e9niale, maintenant partagez votre code avec d'autres d\u00e9veloppeurs en cr\u00e9ant votre propre package Composer.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/02\/create-composer-package.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/creer-un-paquet-composer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Outils de d\u00e9veloppement web","item":"https:\/\/kinsta.com\/fr\/sujets\/outils-developpement-web\/"},{"@type":"ListItem","position":3,"name":"Comment cr\u00e9er votre propre paquet Composer"}]},{"@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\/53c94a171caf3b63f1aeaa9aef1eab8c","name":"Rexford Nyarko","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8ea3fcc13c21943da23935661f79d708?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8ea3fcc13c21943da23935661f79d708?s=96&d=mm&r=g","caption":"Rexford Nyarko"},"description":"Rexford Nyarko is a solution architect with a background in software and network systems, cloud environments, server administration, and various database technologies. Rexford particularly enjoys explaining technical concepts to non-technical audiences.","url":"https:\/\/kinsta.com\/fr\/blog\/author\/rexfordnyarko\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/75760","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\/306"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=75760"}],"version-history":[{"count":3,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/75760\/revisions"}],"predecessor-version":[{"id":75764,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/75760\/revisions\/75764"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/translations\/es"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/75760\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/75761"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=75760"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=75760"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=75760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}