{"id":231444,"date":"2022-12-23T12:47:00","date_gmt":"2022-12-23T09:47:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231444"},"modified":"2022-12-07T10:53:35","modified_gmt":"2022-12-07T07:53:35","slug":"ecrire-un-meilleur-code-wordpress-introduction","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/ecrire-un-meilleur-code-wordpress-introduction\/","title":{"rendered":"\u00c9crire un meilleur code WordPress\u00a0: introduction"},"content":{"rendered":"\n<p>Au cours des derni\u00e8res ann\u00e9es, j&rsquo;ai beaucoup parl\u00e9 de la nature de la qualit\u00e9 du code et des divers outils, processus et biblioth\u00e8ques que je recommande d&rsquo;utiliser lorsqu&rsquo;il s&rsquo;agit d&rsquo;\u00e9crire du code pour WordPress.<\/p>\n<p>Je suis \u00e9galement ouvert au fait que la majorit\u00e9 du travail que je fais concerne le d\u00e9veloppement backend. Cela signifie que je travaille principalement sur des plugins WordPress en utilisant la programmation orient\u00e9e objet et que je ne travaille pas beaucoup avec des mod\u00e8les ni autant avec des technologies frontales.<\/p>\n<p>C&rsquo;est par choix, et je suis vraiment content d&rsquo;o\u00f9 je suis. Mais je m&rsquo;\u00e9gare.<\/p>\n<p>Si vous \u00eates dans le m\u00e9tier de faire la m\u00eame chose (ou de le faire comme passe-temps), il ne s&rsquo;agit pas seulement d&rsquo;\u00e9crire le code. Il s&rsquo;agit d&rsquo;avoir un bon outillage en place.<\/p>\n<p>J&rsquo;en ai fait allusion \u00e0 quelques-uns dans ces articles pr\u00e9c\u00e9dents, mais je n&rsquo;ai pas parcouru les outils que j&rsquo;utilise et la configuration que j&rsquo;utilise chaque fois que je construis une solution pour moi-m\u00eame ou pour quelqu&rsquo;un d&rsquo;autre.<\/p>\n<p>Du moins pas de mani\u00e8re organis\u00e9e.<\/p>\n<p>Dans cette s\u00e9rie, je vais faire exactement cela :<\/p>\n<p>Je vais couvrir les outils que j&rsquo;utilise, les biblioth\u00e8ques que j&rsquo;utilise et comment je les utilise.<\/p>\n<p>En fin de compte, l&rsquo;objectif est que ceux d&rsquo;entre vous qui lisent ceci puissent les int\u00e9grer dans leur travail quotidien pour \u00e9crire un meilleur code.<\/p>\n<h2>Meilleur code WordPress<\/h2>\n<p>Avant d&rsquo;aller plus loin, je vais d&rsquo;abord donner un avertissement:<\/p>\n<p>La s\u00e9rie pr\u00e9c\u00e9dente que j&rsquo;ai faite jusqu&rsquo;\u00e0 pr\u00e9sent a \u00e9t\u00e9 longue. Cette s\u00e9rie ne le sera pas. Je vais me concentrer sur des s\u00e9ries et des publications plus courtes et plus cibl\u00e9es pendant un certain temps.<\/p>\n<p>Cela dit, cette s\u00e9rie suppose que vous connaissez votre IDE et que vous avez une connaissance superficielle de <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a>. Pour moi, j&rsquo;utilise Visual Studio Code (et je l&rsquo;ai pas mal couvert <a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">)<\/a>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6475f0f.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6475f0f.png\" alt=\"\u00c9crire un meilleur code WordPress\u00a0: introduction\" ><\/a><\/p>\n<p>Je vais parcourir le processus depuis le tout d\u00e9but jusqu&rsquo;au point d&rsquo;avoir un plugin pr\u00eat \u00e0 rouler. Non, cela ne signifie pas que nous \u00e9crivons un plugin. Mais nous allons aller jusqu&rsquo;au bout.<\/p>\n<p>Donc, cela dit, commen\u00e7ons.<\/p>\n<h3>Installation de Compositeur<\/h3>\n<p>Pour ceux qui lisent ce blog depuis longtemps, vous savez que j&rsquo;en ai d\u00e9j\u00e0 parl\u00e9 auparavant\u00a0; cependant, je ne veux jamais supposer quelque chose comme \u00e7a quand il s&rsquo;agit de ceux qui ont r\u00e9cemment rejoint ou qui lisent peut-\u00eatre \u00e0 ce sujet pour la premi\u00e8re fois.<\/p>\n<p>Si vous \u00eates d\u00e9j\u00e0 configur\u00e9, vous pouvez l&rsquo;ignorer\u00a0; sinon, continuons.<\/p>\n<h4>Que signifie l&rsquo;installation globale\u00a0?<\/h4>\n<p>L&rsquo;installation d&rsquo;une application globalement signifie qu&rsquo;elle est accessible partout sur votre syst\u00e8me. Autrement dit, peu importe que vous soyez dans votre r\u00e9pertoire Documents ou dans un r\u00e9pertoire de projet, vous pouvez acc\u00e9der \u00e0 l&rsquo;utilitaire via la ligne de commande.<\/p>\n<p>Et, bien s\u00fbr, nous pouvons utiliser Composer sur une base par projet (et je pr\u00e9conise cela), mais il y a des moments o\u00f9 il est \u00e9galement important d&rsquo;installer Composer dans un cadre global.<\/p>\n<p>Et c&rsquo;est ce que nous allons faire ici.<\/p>\n<h3>Deux fa\u00e7ons d&rsquo;installer Composer<\/h3>\n<h4>Utilisation de l&rsquo;infusion maison<\/h4>\n<p>Si vous utilisez <a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a>, il est alors possible d&rsquo;installer Composer en utilisant Homebrew. Il est sans doute plus facile \u00e0 installer et \u00e0 mettre \u00e0 niveau.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a682be91.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a682be91.png\" alt=\"\u00c9crire un meilleur code WordPress\u00a0: introduction\" ><\/a><\/p>\n<p>Bien s\u00fbr, cela suppose que vous avez install\u00e9 Homebrew. Si ce n&rsquo;est pas le cas et que vous \u00eates int\u00e9ress\u00e9, entrez <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0bac4a7b1f2d6c1b593331b99725e906#file-00-install-homebrew-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cette commande<\/a>\u00a0:<\/p>\n<pre><code>$ \/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/pre>\n<p>Notez cependant que si vous choisissez d&#8217;emprunter cette voie, vous devrez vous familiariser avec certaines choses autour de Homebrew. Et m\u00eame si je suis fan, ce n&rsquo;est pas vraiment une partie de ce post. Je l&rsquo;ai couvert en profondeur <a href=\"https:\/\/tommcfarlin.com\/?s=homebrew\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dans d&rsquo;autres articles<\/a> (et vous pouvez toujours lire la <a href=\"https:\/\/docs.brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentation<\/a> ).<\/p>\n<p>Ensuite, vous pouvez installer Composer, avec Homebrew, en saisissant la <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0bac4a7b1f2d6c1b593331b99725e906#file-01-brew-install-composer-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">commande suivante<\/a> :<\/p>\n<p>Ce n&rsquo;est vraiment pas le cas, n&rsquo;est-ce pas\u00a0?<\/p>\n<h4>Installation manuelle de Composer<\/h4>\n<p>L&rsquo;autre fa\u00e7on d&rsquo;installer Composer consiste \u00e0 t\u00e9l\u00e9charger ce fichier, puis \u00e0 le placer dans votre chemin global.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6bcc142.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6bcc142.png\" alt=\"\u00c9crire un meilleur code WordPress\u00a0: introduction\" ><\/a><\/p>\n<p>Autrement dit, une fois que vous avez t\u00e9l\u00e9charg\u00e9 <a href=\"https:\/\/getcomposer.org\/composer.phar\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ce fichier<\/a> (notez que le lien est un t\u00e9l\u00e9chargement r\u00e9el, faites donc attention \u00e0 l&rsquo;endroit o\u00f9 vous le placez\u00a0!), vous pouvez alors ex\u00e9cuter <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0bac4a7b1f2d6c1b593331b99725e906#file-02-install-composer-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cette commande<\/a> depuis le terminal\u00a0:<\/p>\n<pre><code>$ mv composer.phar \/usr\/local\/bin\/composer<\/code><\/pre>\n<p>Et cela d\u00e9placera Composer vers votre chemin global.<\/p>\n<h2>V\u00e9rifier l&rsquo;installation de Composer<\/h2>\n<p>Une fois que vous avez suivi l&rsquo;une des \u00e9tapes ci-dessus, vous devriez pouvoir tester la version de Composer en ex\u00e9cutant <a href=\"https:\/\/gist.github.com\/tommcfarlin\/0bac4a7b1f2d6c1b593331b99725e906#file-03-composer-v-txt\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ce qui suit<\/a> dans votre terminal\u00a0:<\/p>\n<p>Et vous devriez voir quelque chose comme \u00e7a :<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6e69b61.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160420-61e70a6e69b61.png\" alt=\"\u00c9crire un meilleur code WordPress\u00a0: introduction\" ><\/a><\/p>\n<p>Si vous ne le faites pas, rev\u00e9rifiez les \u00e9tapes ci-dessus.<\/p>\n<h2>Passons aux outils<\/h2>\n<p>L&rsquo;une des questions qui reviennent parfois, concernant Composer, est pourquoi? Et bien que je puisse r\u00e9pondre \u00e0 cela dans ce post, rappelez-vous que je travaille pour que ces s\u00e9ries et cette s\u00e9rie soient un peu plus succinctes que les s\u00e9ries pr\u00e9c\u00e9dentes.<\/p>\n<p>Je chercherai donc \u00e0 r\u00e9pondre bri\u00e8vement \u00e0 cette question dans le prochain article, ainsi qu&rsquo;\u00e0 expliquer comment d\u00e9marrer avec quelques outils, apr\u00e8s quoi nous commencerons \u00e0 voir comment il peut jouer un r\u00f4le plus important dans le d\u00e9veloppement de plugins WordPress.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cette s\u00e9rie couvrira les outils et les biblioth\u00e8ques que j&rsquo;utilise pour \u00e9crire un meilleur code WordPress.<\/p>\n","protected":false},"author":1,"featured_media":236179,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,717,801,841,862],"tags":[1167],"class_list":["post-231444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","category-php-3","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=231444"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231444\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/236179"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}