{"id":231434,"date":"2022-12-23T20:12:00","date_gmt":"2022-12-23T17:12:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231434"},"modified":"2022-12-07T10:54:59","modified_gmt":"2022-12-07T07:54:59","slug":"modeles-de-conception-pour-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/modeles-de-conception-pour-wordpress\/","title":{"rendered":"Mod\u00e8les de conception pour WordPress"},"content":{"rendered":"\n<p>Plus vous travaillez longtemps avec une plate-forme donn\u00e9e, plus vous commencez \u00e0 reconna\u00eetre certaines fa\u00e7ons de faire quelque chose. Et il est tr\u00e8s probable que vous commencerez \u00e0 reconna\u00eetre deux choses que ces choses peuvent \u00eatre faites\u00a0:<\/p>\n<ul>\n<li>d&rsquo;une mani\u00e8re qui est rapide \u00e0 d\u00e9velopper, mais plus difficile \u00e0 maintenir ou<\/li>\n<li>d&rsquo;une mani\u00e8re plus lente \u00e0 se d\u00e9velopper, mais plus facile \u00e0 entretenir.<\/li>\n<\/ul>\n<p>Bien s\u00fbr, comme tout projet, les exigences, les contraintes, les budgets et le temps auront tous un impact sur ce que vous \u00eates en mesure de mettre en \u0153uvre. Mais ce que je veux dire, c&rsquo;est que quelle que soit la mani\u00e8re dont vous impl\u00e9mentez une solution, vous commencez \u00e0 vous familiariser avec la mani\u00e8re de r\u00e9soudre un probl\u00e8me donn\u00e9.<\/p>\n<p>Si un probl\u00e8me doit \u00eatre r\u00e9solu rapidement, vous connaissez les compromis, mais vous savez probablement comment le faire rapidement. De m\u00eame, si vous avez un peu plus de temps (et de budget), vous pouvez le d\u00e9velopper d&rsquo;une autre mani\u00e8re, et vous saurez comment le faire et peut-\u00eatre m\u00eame l&rsquo;envelopper avec des suites de tests si les contraintes le permettent.<\/p>\n<p>Quelle que soit la mani\u00e8re dont vous devez mettre en \u0153uvre une solution, vous savez comment vous pouvez le faire.<\/p>\n<p>Et cela soul\u00e8ve une question :<\/p>\n<p>Existe-t-il des mod\u00e8les de conception sp\u00e9cifiques \u00e0 une plate-forme donn\u00e9e\u00a0? Et si oui, quels sont certains des mod\u00e8les de conception qui peuvent \u00eatre disponibles dans WordPress ?<\/p>\n<h2>Mod\u00e8les de conception pour WordPress<\/h2>\n<p>Bien s\u00fbr, je ne parle pas des mod\u00e8les de conception que le <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_Patterns_(book)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gang des Quatre<\/a> a d\u00e9velopp\u00e9s il y a tant de d\u00e9cennies. Au lieu de cela, je parle de fa\u00e7ons de faire certaines choses dans WordPress.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b0325077.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-160471-61e70b0325077.png\" alt=\"Mod\u00e8les de conception pour WordPress\" ><\/a><\/p>\n<p>Par exemple:<\/p>\n<ul>\n<li>nettoyer correctement les informations avant de les \u00e9crire dans la base de donn\u00e9es (pour les articles, les taxonomies, les m\u00e9tadonn\u00e9es, etc.),<\/li>\n<li>lire les donn\u00e9es de la base de donn\u00e9es \u00e0 l&rsquo;aide de l&rsquo;utilitaire de base de donn\u00e9es WordPress (ou <a href=\"https:\/\/codex.wordpress.org\/Class_Reference\/wpdb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">$wpdb<\/a> ),<\/li>\n<li>valider et renvoyer les informations de la base de donn\u00e9es sur demande,<\/li>\n<li>v\u00e9rifier la s\u00e9curit\u00e9 d&rsquo;une requ\u00eate Ajax avant d&rsquo;effectuer tout travail,<\/li>\n<li>configurer correctement une requ\u00eate personnalis\u00e9e, puis la r\u00e9initialiser afin de ne pas interf\u00e9rer avec la boucle principale,<\/li>\n<li>ajouter des actifs sp\u00e9cifiques \u00e0 la page \u00e0 la fois dans la zone administrative de WordPress et sur le site public de WordPress,<\/li>\n<li>etc.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b06ec937.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-160471-61e70b06ec937.png\" alt=\"Mod\u00e8les de conception pour WordPress\" ><\/a><\/p>\n<p>Il y a beaucoup de choses que nous pourrions \u00e9num\u00e9rer ici. Mais je pense qu&rsquo;il vaut la peine d&rsquo;explorer \u00e0 quoi certains d&rsquo;entre eux pourraient ressembler.<\/p>\n<p>Mais d&rsquo;abord, qu&rsquo;est-ce qu&rsquo;un <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_Patterns\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">design pattern<\/a> au sens classique ?<\/p>\n<blockquote>\n<p>Un mod\u00e8le de conception est la forme r\u00e9utilisable d&rsquo;une solution \u00e0 un probl\u00e8me de conception. L&rsquo;id\u00e9e a \u00e9t\u00e9 introduite par l&rsquo;architecte Christopher Alexander et a \u00e9t\u00e9 adapt\u00e9e \u00e0 diverses autres disciplines, notamment l&rsquo;informatique.<\/p>\n<\/blockquote>\n<p>J&rsquo;ai travaill\u00e9 assez longtemps dans WordPress et j&rsquo;ai construit suffisamment de plugins et d&rsquo;outils \u00e0 l&rsquo;aide de l&rsquo;application pour reconna\u00eetre comment faire certaines choses plut\u00f4t que de proposer quelque chose d&rsquo;original pour chaque projet.<\/p>\n<p>Est-il s\u00fbr de dire, alors, qu&rsquo;il y a des choses r\u00e9utilisables que nous pouvons utiliser dans WordPress pour des probl\u00e8mes courants? Bien s\u00fbr. Il faudrait bien s\u00fbr les g\u00e9n\u00e9raliser.<\/p>\n<p>Je vais donc prendre un terrain d&rsquo;entente \u00e0 ce sujet, au moins pour le plaisir de bloguer. Je vais commencer une s\u00e9rie qui abordera les sujets ci-dessus avec des exemples de code.<\/p>\n<p>Ce seront des articles courts, et je ferai ce que je peux pour m&rsquo;assurer qu&rsquo;il est facile \u00e0 suivre (avec des commentaires de code et des explications) et, qui sait, peut-\u00eatre que cela deviendra quelque chose de plus.<\/p>\n<h2>Je ne parle pas des biblioth\u00e8ques<\/h2>\n<p>Cela ne doit pas \u00eatre confondu avec <a href=\"https:\/\/en.wikipedia.org\/wiki\/Library_(computing)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">les biblioth\u00e8ques<\/a>. N&rsquo;oubliez pas que les biblioth\u00e8ques sont comme de petits logiciels que nous pouvons ex\u00e9cuter ind\u00e9pendamment, ou qu&rsquo;elles peuvent \u00eatre une suite d&rsquo;outils ou de fonctionnalit\u00e9s qui peuvent \u00eatre import\u00e9es dans votre projet pour ajouter des fonctionnalit\u00e9s.<\/p>\n<blockquote>\n<p>En informatique, une biblioth\u00e8que est une collection de ressources non volatiles utilis\u00e9es par des programmes informatiques, souvent pour le d\u00e9veloppement de logiciels. Ceux-ci peuvent inclure des donn\u00e9es de configuration, de la documentation, des donn\u00e9es d&rsquo;aide, des mod\u00e8les de message, du code et des sous-programmes pr\u00e9-\u00e9crits, des classes, des valeurs ou des sp\u00e9cifications de type.<\/p>\n<\/blockquote>\n<p>Peut-\u00eatre que certains mod\u00e8les sp\u00e9cifiques \u00e0 WordPress pourraient \u00eatre int\u00e9gr\u00e9s dans leurs biblioth\u00e8ques, mais ce n&rsquo;est pas le but de l&rsquo;article.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160471-61e70b0a9a64d.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-160471-61e70b0a9a64d.png\" alt=\"Mod\u00e8les de conception pour WordPress\" ><\/a><\/p>\n<p>Au lieu de cela, j&rsquo;essaie simplement de pr\u00e9senter les mod\u00e8les communs potentiels qui existent dans 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>Il existe peut-\u00eatre certains mod\u00e8les de conception pour WordPress. Dans cet article et dans une s\u00e9rie \u00e0 venir, il vaut peut-\u00eatre la peine de les explorer.<\/p>\n","protected":false},"author":1,"featured_media":236332,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[893,717,841,862],"tags":[1167],"class_list":["post-231434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","category-tutoriels","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231434","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=231434"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231434\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/236332"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}