{"id":231407,"date":"2022-12-22T09:30:00","date_gmt":"2022-12-22T06:30:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231407"},"modified":"2022-12-07T10:31:33","modified_gmt":"2022-12-07T07:31:33","slug":"ne-polluez-pas-le-tableau-des-options-de-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/ne-polluez-pas-le-tableau-des-options-de-wordpress\/","title":{"rendered":"Ne polluez pas le tableau des options de WordPress"},"content":{"rendered":"\n<p>Je suis un adepte des cycles de sortie courts. Selon le projet, la dur\u00e9e du cycle variera, mais pour de nombreux types de projets sur lesquels je travaille, je vise \u00e0 avoir des cycles de publication de deux semaines.<\/p>\n<p>De plus, il y a des moments o\u00f9 je travaille sur un projet pour quelqu&rsquo;un o\u00f9 des variables environnementales sont n\u00e9cessaires pour que le code sache s&rsquo;il est en cours de d\u00e9veloppement, de mise en sc\u00e8ne ou de production.<\/p>\n<p>Et cela peut \u00eatre r\u00e9alis\u00e9 de mani\u00e8re diff\u00e9rente selon les besoins du projet. Parfois, un fichier de configuration fonctionnera, parfois des variables de cha\u00eene de requ\u00eate peuvent fonctionner, et d&rsquo;autres fois, je pense qu&rsquo;il est raisonnable de stocker un param\u00e8tre dans la base de donn\u00e9es.<\/p>\n<p>Mais, en ce qui concerne WordPress, je pense que nous raccourcissons les meilleures d\u00e9cisions de conception et jetons des informations dans la base de donn\u00e9es, en particulier la table des options, lorsque les alternatives peuvent \u00eatre mieux adapt\u00e9es.<\/p>\n<h2>Le tableau des options de WordPress<\/h2>\n<p>Je veux \u00eatre clair: je ne pense pas que le tableau des options doive servir de d\u00e9potoir pour les r\u00e9glages quand on n&rsquo;a nulle part ailleurs o\u00f9 mettre les informations. Et c&rsquo;est l&rsquo;essentiel de tout ce post.<\/p>\n<p>Au lieu de cela, vous pouvez utiliser\u00a0:<\/p>\n<ul>\n<li>un fichier de configuration,<\/li>\n<li>donn\u00e9es de session (le cas \u00e9ch\u00e9ant),<\/li>\n<li>une table de base de donn\u00e9es personnalis\u00e9e,<\/li>\n<li>ou autre chose.<\/li>\n<\/ul>\n<p>Alors pourquoi voyons-nous cela se produire si fr\u00e9quemment? Ce n&rsquo;est pas qu&rsquo;il n&rsquo;y a pas de moments o\u00f9 il est logique de l&rsquo;utiliser. Je pense juste qu&rsquo;on en abuse. Mais il y a des raisons pour lesquelles.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Option_Reference\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Le WordPress Codex<\/a> d\u00e9finit des options comme ceci :<\/p>\n<blockquote>\n<p><strong>Les options<\/strong> sont des \u00e9l\u00e9ments de donn\u00e9es que WordPress utilise pour stocker diverses pr\u00e9f\u00e9rences et param\u00e8tres de configuration.<\/p>\n<\/blockquote>\n<p>Avec une d\u00e9finition comme celle-ci, il est facile de comprendre pourquoi tant de gens l&rsquo;utiliseront comme un endroit pour stocker tout ce qui ne rentre nulle part ailleurs.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-160574-61e70cd8a4ea4.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-160574-61e70cd8a4ea4.png\" alt=\"Ne polluez pas le tableau des options de WordPress\" ><\/a><\/p>\n<p>Au lieu de cela, je pense qu&rsquo;il est important de poser la question:<\/p>\n<blockquote>\n<p>Pour quel type de stockage [ces donn\u00e9es] sont-elles les plus pertinentes\u00a0?<\/p>\n<\/blockquote>\n<p>Autrement dit, s&rsquo;il est li\u00e9 \u00e0 des publications, pourquoi ne pas le stocker dans la m\u00e9ta-table des publications\u00a0? Idem pour les m\u00e9tadonn\u00e9es de terme ou les commentaires ou toute autre chose.<\/p>\n<p>Le point est ceci:<\/p>\n<p>Trouvez l&rsquo;endroit le plus logique pour stocker les donn\u00e9es et placez-les l\u00e0.<\/p>\n<p>En d&rsquo;autres termes, ne jetez pas de donn\u00e9es dans le tableau des options de WordPress car elles ne rentrent nulle part ailleurs. Cela le pollue. Au lieu de cela, trouvez \u2013 ou cr\u00e9ez \u2013 l&rsquo;endroit le plus logique pour cela. C&rsquo;est probablement la preuve d&rsquo;une odeur de code et ce serait une bonne raison de r\u00e9\u00e9valuer l&rsquo;architecture de votre code et la mani\u00e8re dont les informations sont repr\u00e9sent\u00e9es.<\/p>\n<p>Mais \u00e0 quoi cela pourrait-il ressembler? Autrement dit, comment prendrions-nous un morceau de code donn\u00e9 et changerions-nous la fa\u00e7on dont il est repr\u00e9sent\u00e9 dans la base de donn\u00e9es.<\/p>\n<p>Malheureusement, il est difficile de fournir une solution prescriptive \u00e0 cette question lorsqu&rsquo;il existe autant de variantes de l&rsquo;impl\u00e9mentation d&rsquo;un probl\u00e8me. Alors peut-\u00eatre qu&rsquo;une simple directive s&rsquo;impose :<\/p>\n<p>Si les donn\u00e9es sont li\u00e9es aux types de donn\u00e9es (ou tables) pr\u00e9existants, utilisez-les\u00a0; sinon, envisagez un fichier de configuration ou une table de base de donn\u00e9es personnalis\u00e9e correspondant \u00e0 votre travail.<\/p>\n<p>Je suis s\u00fbr qu&rsquo;il existe d&rsquo;autres facteurs directeurs, mais c&rsquo;est un meilleur point de d\u00e9part que de simplement polluer le tableau des options de 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>Ne jetez pas de donn\u00e9es dans le tableau des options de WordPress car elles ne rentrent nulle part ailleurs. Cela le pollue. Au lieu de cela, trouvez \u2013 ou cr\u00e9ez \u2013 l&rsquo;endroit le plus logique pour cela.<\/p>\n","protected":false},"author":1,"featured_media":235679,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[717,862],"tags":[1167],"class_list":["post-231407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developpeur","category-wordpress-3","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231407","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=231407"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/231407\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/235679"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=231407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=231407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=231407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}