{"id":229933,"date":"2022-11-17T19:06:00","date_gmt":"2022-11-17T16:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229933"},"modified":"2022-11-17T19:08:26","modified_gmt":"2022-11-17T16:08:26","slug":"modeles-wordpress-pour-les-debutants-quest-ce-que-la-creation-de-modeles-de-toute-facon","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/modeles-wordpress-pour-les-debutants-quest-ce-que-la-creation-de-modeles-de-toute-facon\/","title":{"rendered":"Mod\u00e8les WordPress pour les d\u00e9butants\u00a0: qu&rsquo;est-ce que la cr\u00e9ation de mod\u00e8les, de toute fa\u00e7on\u00a0?"},"content":{"rendered":"\n<p>Lorsque l&rsquo;on parle de mod\u00e8les, qu&rsquo;il s&rsquo;agisse de mod\u00e8les WordPress, de mod\u00e8les JavaScript ou de mod\u00e8les dans une autre langue, je pense qu&rsquo;il est utile d&rsquo;utiliser un projet ou un exemple concret pour expliquer comment cela fonctionne plut\u00f4t que d&rsquo;en parler en termes plus \u00e9sot\u00e9riques.<\/p>\n<p>Si vous n&rsquo;avez pas suivi cette s\u00e9rie et que vous d\u00e9butez avec les mod\u00e8les, je vous recommande de lire les deux premi\u00e8res parties de la s\u00e9rie\u00a0:<\/p>\n<ol>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/fr\/modeles-wordpress-pour-debutants-comment-cest\/\" title=\"Comment c'est\">Comment c&rsquo;est<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/fr\/modeles-wordpress-pour-debutants-html-appelant-php\/\" title=\"HTML appelant PHP\">HTML appelant PHP<\/a><\/li>\n<\/ol>\n<p>A partir de l\u00e0, nous allons d\u00e9composer le concept en deux parties :<\/p>\n<ol>\n<li>comprendre ce qu&rsquo;est le template,<\/li>\n<li>comment les mod\u00e8les peuvent fonctionner dans WordPress.<\/li>\n<\/ol>\n<p>Le d\u00e9fi, bien s\u00fbr, vient du fait que nous avons des &quot;mod\u00e8les WordPress&quot;, puis nous parlons d&rsquo;utiliser un moteur de mod\u00e8les pour modifier les mod\u00e8les WordPress, leur fonctionnement, la mani\u00e8re dont les donn\u00e9es y sont inject\u00e9es, etc.<\/p>\n<p>Mais je ferai de mon mieux pour essayer de clarifier chaque partie.<\/p>\n<h2>Mod\u00e8les WordPress (mais pas de mod\u00e8les)<\/h2>\n<p>Lorsqu&rsquo;il s&rsquo;agit de parler de mod\u00e8les, il est utile d&rsquo;avoir une d\u00e9finition pratique des mod\u00e8les ou des moteurs de mod\u00e8les. La v\u00e9rit\u00e9 est que la cr\u00e9ation de mod\u00e8les est enti\u00e8rement r\u00e9alis\u00e9e par un moteur de cr\u00e9ation de mod\u00e8les.<\/p>\n<h3>Une d\u00e9finition de travail<\/h3>\n<p>Une d\u00e9finition g\u00e9n\u00e9rale d&rsquo;un moteur de template <a href=\"https:\/\/en.wikipedia.org\/wiki\/Template_processor\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">est<\/a> :<\/p>\n<blockquote>\n<p>Un processeur de mod\u00e8les (\u00e9galement appel\u00e9 moteur de mod\u00e8les ou analyseur de mod\u00e8les) est un logiciel con\u00e7u pour combiner des mod\u00e8les avec un mod\u00e8le de donn\u00e9es afin de produire des documents de r\u00e9sultat.<\/p>\n<\/blockquote>\n<p>Et bien que ce soit exact, c&rsquo;est un peu verbeux ou plus complexe que n\u00e9cessaire, \u00e0 mon avis, que n\u00e9cessaire pour expliquer le concept g\u00e9n\u00e9ral. Peut-\u00eatre pouvons-nous travailler sur la d\u00e9finition suivante :<\/p>\n<blockquote>\n<p>Un moteur de mod\u00e8le utilise la syntaxe pour injecter des donn\u00e9es dans un document.<\/p>\n<\/blockquote>\n<p>C&rsquo;est vraiment g\u00e9n\u00e9ral, et nous allons approfondir momentan\u00e9ment PHP, mais je voulais d&rsquo;abord donner une d\u00e9finition de base et de travail, puis partir de l\u00e0, notamment parce que les mod\u00e8les peuvent \u00eatre utilis\u00e9s dans une vari\u00e9t\u00e9 de langues diff\u00e9rentes.<\/p>\n<p>De plus, il est important de reconna\u00eetre qu&rsquo;un bon moteur de template fournira souvent un niveau de s\u00e9curit\u00e9, de flexibilit\u00e9 et potentiellement m\u00eame un \u00abmode bac \u00e0 sable\u00bb \u00e0 partir duquel nous testons le code avant de le d\u00e9ployer en production.<\/p>\n<h3>\u00c0 quoi ressemble la mod\u00e9lisation\u00a0?<\/h3>\n<p>En raison de la nature de la syntaxe diff\u00e9rente, la cr\u00e9ation de mod\u00e8les va \u00eatre un peu diff\u00e9rente, mais un moteur de cr\u00e9ation de mod\u00e8les PHP populaire s&rsquo;appelle <a href=\"https:\/\/twig.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Twig<\/a>. Ainsi, un exemple concret de mod\u00e8les bas\u00e9s sur PHP qui utilisent Twig pourrait ressembler <a href=\"https:\/\/gist.github.com\/tommcfarlin\/2c02b22272f645076f7f735bd61a4034#file-03-twig-example-twig\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00e0 ceci\u00a0:<\/a><\/p>\n<pre><code>{% extends \"base.twig\" %}\n{% block content %}\n    &lt;h1 class=\"big-title\"&gt;{{foo}}&lt;\/h1&gt;\n    &lt;h2&gt;{{post.title}}&lt;\/h2&gt;\n    &lt;img src=\"{{post.thumbnail.src}}\" \/&gt;\n    &lt;div class=\"body\"&gt; {{post.content}} &lt;\/div&gt;\n{% endblock %}<\/code><\/pre>\n<p>Comme vous pouvez le voir, c&rsquo;est un peu diff\u00e9rent de ce que nous utilisons pour voir avec le balisage, les balises HTML, PHP, etc., bien qu&rsquo;il existe toujours des balises uniques au moteur de template.<\/p>\n<p>M\u00eame encore, si vous \u00eates familier avec les concepts d&rsquo;objets, vous pouvez voir comment vous y acc\u00e9deriez dans le contexte du mod\u00e8le en utilisant la notation par points plut\u00f4t que la notation ou les appels de fonction que vous avez l&rsquo;habitude d&rsquo;utiliser dans un document PHP .<\/p>\n<h2>Existe-t-il des moteurs de template WordPress ?<\/h2>\n<p>Oui et non. Je veux dire qu&rsquo;il existe des moyens d&rsquo;utiliser les moteurs de mod\u00e8les dans le contexte de WordPress, mais je ne peux pas dire qu&rsquo;il existe un mod\u00e8le d\u00e9finitif pour WordPress. Voici quelques exemples de choses que vous voudrez peut-\u00eatre v\u00e9rifier (avant de lire le prochain article) :<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/viniwrubleski\/jade-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Jade-PHP<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/cjonasw\/wordpress-starter-theme-mustache\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Moustache<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/zach-adams\/sprig-foundation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Brin<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jenssegers\/blade\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Lame<\/a><\/li>\n<\/ul>\n<p>Mais il existe d&rsquo;autres options.<\/p>\n<p>Mais j&rsquo;utiliserai probablement quelque chose comme <a href=\"https:\/\/www.upstatement.com\/timber\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Timber<\/a> pour le prochain article.<\/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>Les mod\u00e8les WordPress peuvent \u00eatre simplifi\u00e9s lors de l&rsquo;utilisation d&rsquo;un moteur de mod\u00e8les. Mais qu&rsquo;est-ce qu&rsquo;un moteur de template et quel r\u00f4le peut-il jouer dans le d\u00e9veloppement WordPress ?<\/p>\n","protected":false},"author":1,"featured_media":165473,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[915,717,925,841,862],"tags":[1167],"class_list":["post-229933","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-autre","category-developpeur","category-sujets","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229933","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=229933"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/229933\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/165473"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=229933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=229933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=229933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}