{"id":21583,"date":"2026-01-25T02:16:47","date_gmt":"2026-01-25T02:16:47","guid":{"rendered":"https:\/\/dealeurdesaveurs.com\/?page_id=21583"},"modified":"2026-07-17T20:55:26","modified_gmt":"2026-07-17T20:55:26","slug":"centre-de-connaissances-cbd","status":"publish","type":"page","link":"https:\/\/dealeurdesaveurs.com\/en\/centre-de-connaissances-cbd\/","title":{"rendered":"Centre de Connaissances CBD"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"21583\" class=\"elementor elementor-21583\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da02ccc e-con-full e-flex e-con e-parent\" data-id=\"da02ccc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9236eb7 elementor-widget elementor-widget-html\" data-id=\"9236eb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     HERO V2 \u2014 RECHERCHE DOCUMENTAIRE PREMIUM\n\n     \u00c0 COLLER DANS UN WIDGET HTML ELEMENTOR\n     Pr\u00e9fixe unique : dds-kcv2-\n========================================================= -->\n\n<style>\n\/* =========================================================\n   BASE ET VARIABLES\n========================================================= *\/\n\n.dds-kcv2-hero {\n  --dds-kcv2-bg: #070b08;\n  --dds-kcv2-bg-soft: #0d1410;\n  --dds-kcv2-panel: rgba(8, 14, 10, 0.94);\n\n  --dds-kcv2-green: #59ff9c;\n  --dds-kcv2-green-soft: #34d978;\n  --dds-kcv2-gold: #f3b83f;\n\n  --dds-kcv2-white: #f5f8f6;\n  --dds-kcv2-text: #c5d0c9;\n  --dds-kcv2-muted: #849189;\n\n  position: relative;\n  isolation: isolate;\n  overflow: hidden;\n\n  width: 100%;\n  padding: clamp(55px, 7vw, 98px) clamp(18px, 4vw, 54px);\n\n  border: 1px solid rgba(89, 255, 156, 0.22);\n  border-radius: 26px;\n\n  background:\n    radial-gradient(\n      circle at 50% -10%,\n      rgba(89, 255, 156, 0.14),\n      transparent 42%\n    ),\n    radial-gradient(\n      circle at 88% 30%,\n      rgba(243, 184, 63, 0.07),\n      transparent 28%\n    ),\n    linear-gradient(\n      145deg,\n      #080d09 0%,\n      #0d1510 52%,\n      #070a08 100%\n    );\n\n  box-shadow:\n    0 30px 80px rgba(0, 0, 0, 0.58),\n    inset 0 0 0 1px rgba(255, 255, 255, 0.025);\n}\n\n\/* =========================================================\n   D\u00c9COR SCIENTIFIQUE DISCRET\n========================================================= *\/\n\n.dds-kcv2-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  z-index: -3;\n\n  background-image:\n    linear-gradient(\n      rgba(255, 255, 255, 0.025) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      90deg,\n      rgba(255, 255, 255, 0.025) 1px,\n      transparent 1px\n    );\n\n  background-size: 72px 72px;\n  opacity: 0.44;\n\n  mask-image:\n    linear-gradient(\n      to bottom,\n      rgba(0, 0, 0, 0.95),\n      transparent 94%\n    );\n\n  pointer-events: none;\n}\n\n.dds-kcv2-hero::after {\n  content: \"\";\n  position: absolute;\n  left: 50%;\n  top: 54%;\n  z-index: -2;\n\n  width: min(820px, 92%);\n  height: 340px;\n\n  transform: translate(-50%, -50%);\n  border-radius: 50%;\n\n  background: rgba(89, 255, 156, 0.055);\n  filter: blur(85px);\n\n  pointer-events: none;\n}\n\n\/* =========================================================\n   D\u00c9COR INTERNE\n========================================================= *\/\n\n.dds-kcv2-orbit {\n  position: absolute;\n  top: 82px;\n  right: clamp(28px, 5vw, 80px);\n  z-index: -1;\n\n  width: 145px;\n  height: 145px;\n\n  border: 1px solid rgba(89, 255, 156, 0.1);\n  border-radius: 50%;\n\n  pointer-events: none;\n}\n\n.dds-kcv2-orbit::before,\n.dds-kcv2-orbit::after {\n  content: \"\";\n  position: absolute;\n  border-radius: 50%;\n}\n\n.dds-kcv2-orbit::before {\n  inset: 24px;\n  border: 1px solid rgba(243, 184, 63, 0.09);\n}\n\n.dds-kcv2-orbit::after {\n  top: 17px;\n  left: 50%;\n\n  width: 7px;\n  height: 7px;\n\n  transform: translateX(-50%);\n  background: var(--dds-kcv2-green);\n\n  box-shadow: 0 0 18px rgba(89, 255, 156, 0.7);\n}\n\n\/* =========================================================\n   CONTENU\n========================================================= *\/\n\n.dds-kcv2-inner {\n  width: min(1080px, 100%);\n  margin: 0 auto;\n\n  text-align: center;\n}\n\n\/* =========================================================\n   LABEL\n========================================================= *\/\n\n.dds-kcv2-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 10px;\n\n  margin-bottom: 24px;\n  padding: 9px 16px;\n\n  color: var(--dds-kcv2-green) !important;\n\n  font-size: 11px;\n  font-weight: 900;\n  line-height: 1;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n\n  border: 1px solid rgba(89, 255, 156, 0.28);\n  border-radius: 999px;\n\n  background: rgba(89, 255, 156, 0.055);\n\n  box-shadow:\n    inset 0 0 18px rgba(89, 255, 156, 0.035),\n    0 9px 24px rgba(0, 0, 0, 0.24);\n}\n\n.dds-kcv2-eyebrow-dot {\n  width: 7px;\n  height: 7px;\n  flex: 0 0 7px;\n\n  border-radius: 50%;\n  background: var(--dds-kcv2-green);\n\n  box-shadow:\n    0 0 0 5px rgba(89, 255, 156, 0.08),\n    0 0 17px rgba(89, 255, 156, 0.72);\n}\n\n\/* =========================================================\n   TITRE \u2014 VERROUILL\u00c9 CONTRE WOODMART\n========================================================= *\/\n\n.dds-kcv2-hero h1.dds-kcv2-title,\n.dds-kcv2-hero .dds-kcv2-title,\nbody .dds-kcv2-hero h1.dds-kcv2-title {\n  max-width: 1040px;\n  margin: 0 auto !important;\n\n  color: var(--dds-kcv2-white) !important;\n\n  font-family: inherit !important;\n  font-size: clamp(36px, 5.6vw, 73px) !important;\n  font-weight: 900 !important;\n  line-height: 0.98 !important;\n  letter-spacing: -0.045em !important;\n\n  text-align: center !important;\n  text-transform: none !important;\n  text-wrap: balance;\n}\n\n.dds-kcv2-title-main {\n  color: var(--dds-kcv2-white) !important;\n}\n\n.dds-kcv2-title-accent {\n  color: var(--dds-kcv2-gold) !important;\n  white-space: nowrap;\n\n  text-shadow:\n    0 0 28px rgba(243, 184, 63, 0.13);\n}\n\n\/* =========================================================\n   ACCROCHE\n========================================================= *\/\n\n.dds-kcv2-question {\n  margin: 24px auto 0;\n\n  color: var(--dds-kcv2-white) !important;\n\n  font-size: clamp(20px, 2.4vw, 30px);\n  font-weight: 800;\n  line-height: 1.25;\n  letter-spacing: -0.02em;\n}\n\n.dds-kcv2-description {\n  max-width: 760px;\n  margin: 14px auto 0;\n\n  color: var(--dds-kcv2-text) !important;\n\n  font-size: clamp(15px, 1.8vw, 18px);\n  font-weight: 450;\n  line-height: 1.7;\n  text-wrap: balance;\n}\n\n.dds-kcv2-description strong {\n  color: #e4ebe6 !important;\n  font-weight: 750;\n}\n\n\/* =========================================================\n   S\u00c9PARATEUR\n========================================================= *\/\n\n.dds-kcv2-divider {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 13px;\n\n  width: min(420px, 72%);\n  margin: 29px auto;\n}\n\n.dds-kcv2-divider::before,\n.dds-kcv2-divider::after {\n  content: \"\";\n  height: 1px;\n  flex: 1;\n}\n\n.dds-kcv2-divider::before {\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      rgba(243, 184, 63, 0.72)\n    );\n}\n\n.dds-kcv2-divider::after {\n  background:\n    linear-gradient(\n      90deg,\n      rgba(243, 184, 63, 0.72),\n      transparent\n    );\n}\n\n.dds-kcv2-divider-mark {\n  width: 8px;\n  height: 8px;\n\n  transform: rotate(45deg);\n\n  border: 1px solid var(--dds-kcv2-gold);\n  box-shadow: 0 0 14px rgba(243, 184, 63, 0.24);\n}\n\n\/* =========================================================\n   TERMINAL DE RECHERCHE\n========================================================= *\/\n\n.dds-kcv2-search-zone {\n  width: min(900px, 100%);\n  margin: 0 auto;\n}\n\n.dds-kcv2-terminal-label {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 14px;\n\n  margin: 0 9px 9px;\n\n  color: var(--dds-kcv2-muted);\n\n  font-size: 10px;\n  font-weight: 850;\n  line-height: 1;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n}\n\n.dds-kcv2-terminal-status {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n}\n\n.dds-kcv2-terminal-status::before {\n  content: \"\";\n\n  width: 6px;\n  height: 6px;\n\n  border-radius: 50%;\n  background: var(--dds-kcv2-green);\n\n  box-shadow: 0 0 11px rgba(89, 255, 156, 0.72);\n}\n\n.dds-kcv2-search-shell {\n  position: relative;\n\n  padding: 7px;\n\n  border: 1px solid rgba(89, 255, 156, 0.3);\n  border-radius: 21px;\n\n  background:\n    linear-gradient(\n      145deg,\n      rgba(89, 255, 156, 0.075),\n      rgba(255, 255, 255, 0.018)\n    );\n\n  box-shadow:\n    0 24px 62px rgba(0, 0, 0, 0.48),\n    0 0 0 1px rgba(255, 255, 255, 0.02),\n    inset 0 0 26px rgba(89, 255, 156, 0.025);\n\n  transition:\n    transform 0.24s ease,\n    border-color 0.24s ease,\n    box-shadow 0.24s ease;\n}\n\n.dds-kcv2-search-shell:focus-within {\n  transform: translateY(-2px);\n\n  border-color: rgba(89, 255, 156, 0.74);\n\n  box-shadow:\n    0 27px 72px rgba(0, 0, 0, 0.55),\n    0 0 34px rgba(89, 255, 156, 0.13),\n    inset 0 0 30px rgba(89, 255, 156, 0.035);\n}\n\n.dds-kcv2-search-form {\n  display: grid;\n  grid-template-columns: auto 1fr auto;\n  align-items: center;\n  gap: 12px;\n\n  min-height: 69px;\n  padding: 7px 8px 7px 20px;\n\n  border-radius: 14px;\n\n  background:\n    linear-gradient(\n      90deg,\n      rgba(6, 10, 7, 0.98),\n      rgba(8, 14, 10, 0.98)\n    );\n}\n\n.dds-kcv2-search-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  width: 28px;\n  height: 28px;\n\n  color: var(--dds-kcv2-green);\n}\n\n.dds-kcv2-search-icon svg {\n  width: 23px;\n  height: 23px;\n\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 2;\n}\n\n.dds-kcv2-search-input {\n  width: 100%;\n  min-width: 0;\n  height: 52px;\n  padding: 0 5px !important;\n\n  color: var(--dds-kcv2-white) !important;\n\n  font-family: inherit !important;\n  font-size: clamp(15px, 1.8vw, 18px) !important;\n  font-weight: 600 !important;\n\n  border: 0 !important;\n  outline: 0 !important;\n\n  background: transparent !important;\n  box-shadow: none !important;\n}\n\n.dds-kcv2-search-input::placeholder {\n  color: #748279 !important;\n  opacity: 1;\n}\n\n.dds-kcv2-search-button {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 9px;\n\n  min-height: 52px;\n  padding: 0 23px;\n\n  color: #061009 !important;\n\n  font-family: inherit !important;\n  font-size: 13px;\n  font-weight: 950;\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n\n  border: 0 !important;\n  border-radius: 11px;\n\n  cursor: pointer;\n\n  background:\n    linear-gradient(\n      135deg,\n      #79ffb0 0%,\n      #47e789 100%\n    ) !important;\n\n  box-shadow:\n    0 11px 25px rgba(43, 212, 112, 0.22),\n    inset 0 1px 0 rgba(255, 255, 255, 0.45);\n\n  transition:\n    transform 0.2s ease,\n    filter 0.2s ease,\n    box-shadow 0.2s ease;\n}\n\n.dds-kcv2-search-button:hover {\n  transform: translateY(-1px);\n  filter: brightness(1.06);\n\n  box-shadow:\n    0 15px 31px rgba(43, 212, 112, 0.3),\n    inset 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n\n.dds-kcv2-search-button:active {\n  transform: translateY(1px);\n}\n\n.dds-kcv2-search-button svg {\n  width: 17px;\n  height: 17px;\n\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 2.2;\n}\n\n\/* =========================================================\n   AIDE SOUS RECHERCHE\n========================================================= *\/\n\n.dds-kcv2-search-help {\n  margin: 13px auto 0 !important;\n\n  color: var(--dds-kcv2-muted) !important;\n\n  font-size: 12px;\n  line-height: 1.55;\n}\n\n.dds-kcv2-search-help strong {\n  color: #c9d3cd !important;\n}\n\n\/* =========================================================\n   RECHERCHES RAPIDES\n========================================================= *\/\n\n.dds-kcv2-quick-links {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 8px;\n\n  width: min(900px, 100%);\n  margin: 22px auto 0;\n}\n\n.dds-kcv2-quick-link {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n\n  padding: 9px 14px;\n\n  color: #cbd5cf !important;\n\n  font-size: 12px;\n  font-weight: 750;\n  line-height: 1;\n  text-decoration: none !important;\n\n  border: 1px solid rgba(255, 255, 255, 0.09);\n  border-radius: 999px;\n\n  background: rgba(255, 255, 255, 0.032);\n\n  transition:\n    transform 0.2s ease,\n    color 0.2s ease,\n    border-color 0.2s ease,\n    background 0.2s ease;\n}\n\n.dds-kcv2-quick-link::before {\n  content: \"#\";\n\n  margin-right: 5px;\n\n  color: var(--dds-kcv2-gold);\n  font-weight: 950;\n}\n\n.dds-kcv2-quick-link:hover {\n  transform: translateY(-2px);\n\n  color: var(--dds-kcv2-white) !important;\n\n  border-color: rgba(89, 255, 156, 0.34);\n  background: rgba(89, 255, 156, 0.07);\n}\n\n\/* =========================================================\n   SIGNATURE \u00c9DITORIALE\n========================================================= *\/\n\n.dds-kcv2-trust-line {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: center;\n  gap: 9px 15px;\n\n  width: min(920px, 100%);\n  margin: 31px auto 0;\n  padding-top: 22px;\n\n  border-top: 1px solid rgba(255, 255, 255, 0.065);\n\n  color: #9eaaa3;\n\n  font-size: 12px;\n  font-weight: 650;\n  line-height: 1.5;\n}\n\n.dds-kcv2-trust-item {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n}\n\n.dds-kcv2-trust-item::before {\n  content: \"\";\n\n  width: 5px;\n  height: 5px;\n\n  border-radius: 50%;\n  background: var(--dds-kcv2-green);\n\n  box-shadow: 0 0 9px rgba(89, 255, 156, 0.55);\n}\n\n\/* =========================================================\n   ACCESSIBILIT\u00c9\n========================================================= *\/\n\n.dds-kcv2-search-input:focus-visible,\n.dds-kcv2-search-button:focus-visible,\n.dds-kcv2-quick-link:focus-visible {\n  outline: 2px solid var(--dds-kcv2-green) !important;\n  outline-offset: 3px;\n}\n\n\/* =========================================================\n   TABLETTE\n========================================================= *\/\n\n@media (max-width: 820px) {\n  .dds-kcv2-hero {\n    padding:\n      clamp(50px, 8vw, 72px)\n      clamp(16px, 4vw, 30px);\n\n    border-radius: 22px;\n  }\n\n  .dds-kcv2-orbit {\n    display: none;\n  }\n\n  .dds-kcv2-hero h1.dds-kcv2-title,\n  .dds-kcv2-hero .dds-kcv2-title,\n  body .dds-kcv2-hero h1.dds-kcv2-title {\n    font-size: clamp(38px, 8vw, 61px) !important;\n  }\n}\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media (max-width: 620px) {\n  .dds-kcv2-hero {\n    padding: 42px 14px;\n    border-radius: 18px;\n  }\n\n  .dds-kcv2-eyebrow {\n    margin-bottom: 18px;\n    padding: 8px 12px;\n\n    font-size: 9px;\n    letter-spacing: 0.12em;\n  }\n\n  .dds-kcv2-hero h1.dds-kcv2-title,\n  .dds-kcv2-hero .dds-kcv2-title,\n  body .dds-kcv2-hero h1.dds-kcv2-title {\n    font-size: clamp(34px, 10vw, 47px) !important;\n    line-height: 1.02 !important;\n  }\n\n  .dds-kcv2-title-accent {\n    display: block;\n    margin-top: 6px;\n  }\n\n  .dds-kcv2-question {\n    margin-top: 20px;\n    font-size: 21px;\n  }\n\n  .dds-kcv2-description {\n    font-size: 14px;\n    line-height: 1.65;\n  }\n\n  .dds-kcv2-divider {\n    margin: 24px auto;\n  }\n\n  .dds-kcv2-terminal-label {\n    margin-right: 5px;\n    margin-left: 5px;\n    font-size: 8px;\n  }\n\n  .dds-kcv2-search-shell {\n    padding: 5px;\n    border-radius: 17px;\n  }\n\n  .dds-kcv2-search-form {\n    grid-template-columns: auto 1fr;\n    gap: 8px;\n\n    min-height: auto;\n    padding: 9px 11px 11px;\n  }\n\n  .dds-kcv2-search-icon {\n    width: 24px;\n  }\n\n  .dds-kcv2-search-input {\n    height: 47px;\n    font-size: 14px !important;\n  }\n\n  .dds-kcv2-search-button {\n    grid-column: 1 \/ -1;\n\n    width: 100%;\n    min-height: 48px;\n    margin-top: 2px;\n  }\n\n  .dds-kcv2-search-help {\n    padding: 0 7px;\n    font-size: 11px;\n  }\n\n  .dds-kcv2-quick-links {\n    gap: 7px;\n    margin-top: 18px;\n  }\n\n  .dds-kcv2-quick-link {\n    padding: 8px 11px;\n    font-size: 11px;\n  }\n\n  .dds-kcv2-trust-line {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 8px;\n\n    margin-top: 25px;\n\n    text-align: left;\n  }\n}\n\n\/* =========================================================\n   R\u00c9DUCTION DES ANIMATIONS\n========================================================= *\/\n\n@media (prefers-reduced-motion: reduce) {\n  .dds-kcv2-search-shell,\n  .dds-kcv2-search-button,\n  .dds-kcv2-quick-link {\n    transition: none;\n  }\n}\n<\/style>\n\n<section\n  class=\"dds-kcv2-hero\"\n  aria-labelledby=\"dds-kcv2-title\"\n>\n  <span class=\"dds-kcv2-orbit\" aria-hidden=\"true\"><\/span>\n\n  <div class=\"dds-kcv2-inner\">\n\n    <div class=\"dds-kcv2-eyebrow\">\n      <span\n        class=\"dds-kcv2-eyebrow-dot\"\n        aria-hidden=\"true\"\n      ><\/span>\n\n      La science, la mati\u00e8re et les faits\n    <\/div>\n\n    <h1\n      id=\"dds-kcv2-title\"\n      class=\"dds-kcv2-title\"\n    >\n      <span class=\"dds-kcv2-title-main\">\n        Centre de Connaissances\n      <\/span>\n\n      <span class=\"dds-kcv2-title-accent\">\n        DDS\n      <\/span>\n    <\/h1>\n\n    <p class=\"dds-kcv2-question\">\n      Que souhaitez-vous comprendre aujourd\u2019hui ?\n    <\/p>\n\n    <p class=\"dds-kcv2-description\">\n      Une base documentaire consacr\u00e9e au\n      <strong>CBD, aux cannabino\u00efdes, aux terp\u00e8nes et au chanvre<\/strong>,\n      construite pour distinguer les connaissances \u00e9tablies, les hypoth\u00e8ses,\n      les limites et les id\u00e9es re\u00e7ues.\n    <\/p>\n\n    <div\n      class=\"dds-kcv2-divider\"\n      aria-hidden=\"true\"\n    >\n      <span class=\"dds-kcv2-divider-mark\"><\/span>\n    <\/div>\n\n<!-- =========================================================\n     REP\u00c8RES DU CENTRE DE CONNAISSANCES\n========================================================= -->\n\n<div class=\"dds-kcv2-pillars\">\n\n  <div class=\"dds-kcv2-pillar\">\n    <span class=\"dds-kcv2-pillar-number\">01<\/span>\n\n    <strong>Comprendre<\/strong>\n\n    <p>\n      Des explications accessibles pour ma\u00eetriser les notions\n      essentielles li\u00e9es au CBD et au chanvre.\n    <\/p>\n  <\/div>\n\n  <div class=\"dds-kcv2-pillar\">\n    <span class=\"dds-kcv2-pillar-number\">02<\/span>\n\n    <strong>V\u00e9rifier<\/strong>\n\n    <p>\n      Des contenus consacr\u00e9s \u00e0 la qualit\u00e9, aux analyses,\n      \u00e0 la tra\u00e7abilit\u00e9 et aux m\u00e9thodes d\u2019\u00e9valuation.\n    <\/p>\n  <\/div>\n\n  <div class=\"dds-kcv2-pillar\">\n    <span class=\"dds-kcv2-pillar-number\">03<\/span>\n\n    <strong>Approfondir<\/strong>\n\n    <p>\n      Cannabino\u00efdes, terp\u00e8nes, botanique, transformations\n      et \u00e9volution du secteur CBD.\n    <\/p>\n  <\/div>\n\n<\/div>\n\n<!-- =========================================================\n     BOUTONS DU HERO\n========================================================= -->\n\n<div class=\"dds-kcv2-actions\">\n\n  <a\n    class=\"dds-kcv2-action\"\n    href=\"#articles-centre\"\n  >\n    Explorer les articles\n\n    <span aria-hidden=\"true\">\u2193<\/span>\n  <\/a>\n\n  <a\n    class=\"dds-kcv2-action dds-kcv2-action--secondary\"\n    href=\"#categories-centre\"\n  >\n    D\u00e9couvrir les cat\u00e9gories\n\n    <span aria-hidden=\"true\">\u2192<\/span>\n  <\/a>\n\n<\/div>\n   \n    <div class=\"dds-kcv2-trust-line\">\n      <span class=\"dds-kcv2-trust-item\">\n        Contenus structur\u00e9s et document\u00e9s\n      <\/span>\n\n      <span class=\"dds-kcv2-trust-item\">\n        Faits, hypoth\u00e8ses et limites distingu\u00e9s\n      <\/span>\n\n      <span class=\"dds-kcv2-trust-item\">\n        Mise \u00e0 jour \u00e9ditoriale r\u00e9guli\u00e8re\n      <\/span>\n    <\/div>\n\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-592e3ee elementor-widget elementor-widget-shortcode\" data-id=\"592e3ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <section class=\"dds-ke\" data-dds-limit=\"12\">\n            <header class=\"dds-ke__head\">\n                <div class=\"dds-ke__kicker\">Recherche documentaire<\/div>\n                <h2 class=\"dds-ke__title\">Trouver une <span>information pr\u00e9cise<\/span><\/h2>\n\n                                    <p class=\"dds-ke__intro\">\n                        Trouvez rapidement les articles les plus li\u00e9s \u00e0 votre recherche, m\u00eame avec une faute ou une formulation naturelle.\n                    <\/p>\n                            <\/header>\n\n            <div class=\"dds-ke__search-wrap\">\n                <form class=\"dds-ke__form\" role=\"search\" novalidate>\n                    <span class=\"dds-ke__icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\">\n                            <circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle>\n                            <path d=\"M20 20l-4.2-4.2\"><\/path>\n                        <\/svg>\n                    <\/span>\n\n                    <input\n                        class=\"dds-ke__input\"\n                        type=\"search\"\n                        autocomplete=\"off\"\n                        minlength=\"2\"\n                        placeholder=\"Ex. myrc\u00e8ne, CBG, trichomes, conservation\u2026\"\n                        aria-label=\"Rechercher dans le Centre de Connaissances DDS\"\n                        aria-autocomplete=\"list\"\n                        aria-expanded=\"false\"\n                    >\n\n                    <button class=\"dds-ke__submit\" type=\"submit\">Rechercher<\/button>\n                <\/form>\n\n                <div class=\"dds-ke__suggestions\" role=\"listbox\" hidden><\/div>\n            <\/div>\n\n            <p class=\"dds-ke__help\">\n                Le moteur classe plusieurs articles selon leur proximit\u00e9 r\u00e9elle avec votre recherche.\n            <\/p>\n\n            <div class=\"dds-ke__didyoumean\" hidden><\/div>\n            <div class=\"dds-ke__status\" aria-live=\"polite\"><\/div>\n            <div class=\"dds-ke__results\" aria-live=\"polite\"><\/div>\n        <\/section>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f872b11 elementor-widget elementor-widget-html\" data-id=\"f872b11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     BLOC 2A : INTRODUCTION AUX TH\u00c8MES\n========================================================= -->\n\n<style>\n.dds-kc-themes-head{\n  --dds-kc-green:#59ff9c;\n  --dds-kc-gold:#f3b83f;\n  --dds-kc-white:#f4f7f5;\n  --dds-kc-muted:#aab5ae;\n\n  position:relative;\n  width:min(1120px,100%);\n  margin:clamp(42px,6vw,72px) auto 24px;\n  padding:0 18px;\n  text-align:center;\n}\n\n.dds-kc-themes-kicker{\n  display:inline-flex;\n  align-items:center;\n  gap:9px;\n  margin-bottom:14px;\n  color:var(--dds-kc-green)!important;\n  font-size:11px;\n  font-weight:900;\n  letter-spacing:.14em;\n  text-transform:uppercase;\n}\n\n.dds-kc-themes-kicker::before,\n.dds-kc-themes-kicker::after{\n  content:\"\";\n  width:32px;\n  height:1px;\n  background:linear-gradient(\n    90deg,\n    transparent,\n    rgba(89,255,156,.7)\n  );\n}\n\n.dds-kc-themes-kicker::after{\n  background:linear-gradient(\n    90deg,\n    rgba(89,255,156,.7),\n    transparent\n  );\n}\n\n.dds-kc-themes-title{\n  margin:0!important;\n  color:var(--dds-kc-white)!important;\n  font-size:clamp(28px,4vw,46px)!important;\n  font-weight:900!important;\n  line-height:1.05!important;\n  letter-spacing:-.035em!important;\n  text-align:center!important;\n}\n\n.dds-kc-themes-title span{\n  color:var(--dds-kc-gold)!important;\n}\n\n.dds-kc-themes-text{\n  max-width:710px;\n  margin:15px auto 0!important;\n  color:var(--dds-kc-muted)!important;\n  font-size:clamp(14px,1.7vw,17px);\n  line-height:1.7;\n  text-wrap:balance;\n}\n\n.dds-kc-themes-line{\n  width:min(520px,72%);\n  height:1px;\n  margin:24px auto 0;\n  background:linear-gradient(\n    90deg,\n    transparent,\n    rgba(243,184,63,.7),\n    transparent\n  );\n}\n\n@media(max-width:620px){\n  .dds-kc-themes-head{\n    margin-top:36px;\n    padding:0 10px;\n  }\n\n  .dds-kc-themes-title{\n    font-size:32px!important;\n  }\n\n  .dds-kc-themes-text{\n    font-size:14px;\n  }\n}\n<\/style>\n\n<section\n  class=\"dds-kc-themes-head\"\n  aria-labelledby=\"dds-kc-themes-title\"\n>\n  <div class=\"dds-kc-themes-kicker\">\n    Navigation documentaire\n  <\/div>\n\n  <h2\n    id=\"dds-kc-themes-title\"\n    class=\"dds-kc-themes-title\"\n  >\n    Explorer par <span>th\u00e8me<\/span>\n  <\/h2>\n\n  <p class=\"dds-kc-themes-text\">\n    Acc\u00e9dez directement aux grands domaines du Centre de Connaissances DDS.\n    Chaque th\u00e8me regroupe des articles, des d\u00e9finitions et des dossiers con\u00e7us\n    pour avancer du niveau essentiel vers les sujets les plus techniques.\n  <\/p>\n\n  <div class=\"dds-kc-themes-line\" aria-hidden=\"true\"><\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ad8f01 elementor-widget elementor-widget-html\" data-id=\"7ad8f01\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"categories-centre\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     BLOC 2B : CARTES TH\u00c9MATIQUES\n     Pr\u00e9fixe : dds-kct-\n========================================================= -->\n\n<style>\n.dds-kct-grid {\n  --dds-kct-bg: #0a0e0b;\n  --dds-kct-card: rgba(17, 24, 19, 0.92);\n  --dds-kct-white: #f5f8f6;\n  --dds-kct-text: #c7d1ca;\n  --dds-kct-muted: #87938b;\n\n  display: grid;\n  grid-template-columns: repeat(4, minmax(0, 1fr));\n  gap: 16px;\n\n  width: min(1280px, 100%);\n  margin: 0 auto;\n  padding: 0 18px;\n}\n\n.dds-kct-card {\n  --dds-kct-accent: #59ff9c;\n  --dds-kct-accent-rgb: 89, 255, 156;\n\n  position: relative;\n  isolation: isolate;\n  overflow: hidden;\n\n  display: flex;\n  flex-direction: column;\n  min-height: 285px;\n  padding: 24px 22px 21px;\n\n  color: var(--dds-kct-white) !important;\n  text-decoration: none !important;\n\n  border: 1px solid rgba(var(--dds-kct-accent-rgb), 0.28);\n  border-radius: 20px;\n\n  background:\n    radial-gradient(\n      circle at 85% 10%,\n      rgba(var(--dds-kct-accent-rgb), 0.13),\n      transparent 32%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(20, 29, 22, 0.96),\n      rgba(8, 12, 9, 0.98)\n    );\n\n  box-shadow:\n    0 18px 42px rgba(0, 0, 0, 0.35),\n    inset 0 0 0 1px rgba(255, 255, 255, 0.025);\n\n  transition:\n    transform 0.25s ease,\n    border-color 0.25s ease,\n    box-shadow 0.25s ease;\n}\n\n.dds-kct-card::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  z-index: -2;\n\n  background:\n    linear-gradient(\n      90deg,\n      rgba(255,255,255,.018) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      rgba(255,255,255,.018) 1px,\n      transparent 1px\n    );\n\n  background-size: 34px 34px;\n  opacity: 0.38;\n  pointer-events: none;\n}\n\n.dds-kct-card::after {\n  content: \"\";\n  position: absolute;\n  left: 22px;\n  right: 22px;\n  bottom: 0;\n\n  height: 2px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--dds-kct-accent),\n      transparent\n    );\n\n  opacity: 0.7;\n}\n\n.dds-kct-card:hover {\n  transform: translateY(-5px);\n\n  border-color: rgba(var(--dds-kct-accent-rgb), 0.62);\n\n  box-shadow:\n    0 24px 54px rgba(0, 0, 0, 0.46),\n    0 0 28px rgba(var(--dds-kct-accent-rgb), 0.08),\n    inset 0 0 0 1px rgba(255, 255, 255, 0.03);\n}\n\n.dds-kct-card:focus-visible {\n  outline: 2px solid var(--dds-kct-accent);\n  outline-offset: 4px;\n}\n\n.dds-kct-index {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n\n  width: 38px;\n  height: 38px;\n  margin-bottom: 22px;\n\n  color: var(--dds-kct-accent) !important;\n\n  font-size: 12px;\n  font-weight: 950;\n  line-height: 1;\n\n  border: 1px solid rgba(var(--dds-kct-accent-rgb), 0.32);\n  border-radius: 12px;\n\n  background: rgba(var(--dds-kct-accent-rgb), 0.075);\n\n  box-shadow:\n    inset 0 0 15px rgba(var(--dds-kct-accent-rgb), 0.05);\n}\n\n.dds-kct-label {\n  margin-bottom: 10px;\n\n  color: var(--dds-kct-accent) !important;\n\n  font-size: 10px;\n  font-weight: 900;\n  line-height: 1;\n  letter-spacing: 0.13em;\n  text-transform: uppercase;\n}\n\n.dds-kct-title {\n  margin: 0 !important;\n\n  color: var(--dds-kct-white) !important;\n\n  font-size: 22px !important;\n  font-weight: 900 !important;\n  line-height: 1.1 !important;\n  letter-spacing: -0.025em !important;\n  text-transform: none !important;\n}\n\n.dds-kct-description {\n  margin: 14px 0 0 !important;\n\n  color: var(--dds-kct-text) !important;\n\n  font-size: 14px;\n  font-weight: 500;\n  line-height: 1.65;\n}\n\n.dds-kct-meta {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 7px;\n\n  margin-top: 18px;\n}\n\n.dds-kct-meta span {\n  display: inline-flex;\n  align-items: center;\n\n  padding: 7px 9px;\n\n  color: #aeb9b2 !important;\n\n  font-size: 10px;\n  font-weight: 750;\n  line-height: 1;\n\n  border: 1px solid rgba(255, 255, 255, 0.07);\n  border-radius: 999px;\n\n  background: rgba(255, 255, 255, 0.025);\n}\n\n.dds-kct-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n\n  margin-top: auto;\n  padding-top: 22px;\n\n  color: var(--dds-kct-accent) !important;\n\n  font-size: 12px;\n  font-weight: 900;\n  line-height: 1;\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n}\n\n.dds-kct-link svg {\n  width: 16px;\n  height: 16px;\n\n  fill: none;\n  stroke: currentColor;\n  stroke-width: 2.2;\n\n  transition: transform 0.2s ease;\n}\n\n.dds-kct-card:hover .dds-kct-link svg {\n  transform: translateX(4px);\n}\n\n\/* =========================================================\n   COULEURS PAR TH\u00c8ME\n========================================================= *\/\n\n.dds-kct-card--cbd {\n  --dds-kct-accent: #59ff9c;\n  --dds-kct-accent-rgb: 89, 255, 156;\n}\n\n.dds-kct-card--molecules {\n  --dds-kct-accent: #5fc8ff;\n  --dds-kct-accent-rgb: 95, 200, 255;\n}\n\n.dds-kct-card--flowers {\n  --dds-kct-accent: #f2c25b;\n  --dds-kct-accent-rgb: 242, 194, 91;\n}\n\n.dds-kct-card--uses {\n  --dds-kct-accent: #ff6f7d;\n  --dds-kct-accent-rgb: 255, 111, 125;\n}\n\n.dds-kct-card--quality {\n  --dds-kct-accent: #58dff2;\n  --dds-kct-accent-rgb: 88, 223, 242;\n}\n\n.dds-kct-card--terpenes {\n  --dds-kct-accent: #55e5a4;\n  --dds-kct-accent-rgb: 85, 229, 164;\n}\n\n.dds-kct-card--journal {\n  --dds-kct-accent: #f3b83f;\n  --dds-kct-accent-rgb: 243, 184, 63;\n}\n\n\/* =========================================================\n   RESPONSIVE\n========================================================= *\/\n\n@media (max-width: 1080px) {\n  .dds-kct-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n}\n\n@media (max-width: 620px) {\n  .dds-kct-grid {\n    grid-template-columns: 1fr;\n    gap: 12px;\n\n    padding: 0 10px;\n  }\n\n  .dds-kct-card {\n    min-height: auto;\n    padding: 21px 18px 19px;\n  }\n\n  .dds-kct-title {\n    font-size: 20px !important;\n  }\n\n  .dds-kct-description {\n    font-size: 13px;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .dds-kct-card,\n  .dds-kct-link svg {\n    transition: none;\n  }\n}\n<\/style>\n\n<section\n  class=\"dds-kct-grid\"\n  aria-label=\"Th\u00e8mes du Centre de Connaissances DDS\"\n>\n\n  <a class=\"dds-kct-card dds-kct-card--cbd\" href=\"https:\/\/dealeurdesaveurs.com\/comprendre-le-cbd-actus\/\">\n    <span class=\"dds-kct-index\">01<\/span>\n\n    <span class=\"dds-kct-label\">Fondamentaux<\/span>\n\n    <h3 class=\"dds-kct-title\">\n      Comprendre le CBD\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      Origine, d\u00e9finition, cadre l\u00e9gal, fonctionnement et limites des\n      connaissances actuelles autour du cannabidiol.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>D\u00e9finitions<\/span>\n      <span>Cadre l\u00e9gal<\/span>\n      <span>Science<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--molecules\" href=\"https:\/\/dealeurdesaveurs.com\/cannabinoides-molecules\/\">\n    <span class=\"dds-kct-index\">02<\/span>\n\n    <span class=\"dds-kct-label\">Mol\u00e9cules<\/span>\n\n    <h3 class=\"dds-kct-title\">\n      Cannabino\u00efdes &amp; mol\u00e9cules\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      CBD, CBG, CBN et autres compos\u00e9s du chanvre analys\u00e9s avec pr\u00e9cision,\n      sans simplification excessive.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>CBD<\/span>\n      <span>CBG<\/span>\n      <span>CBN<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--flowers\" href=\"https:\/\/dealeurdesaveurs.com\/fleurs-resines-matiere-brut\/\">\n    <span class=\"dds-kct-index\">03<\/span>\n\n    <span class=\"dds-kct-label\">Mati\u00e8re v\u00e9g\u00e9tale<\/span>\n\n    <h3 class=\"dds-kct-title\">\n      Fleurs, r\u00e9sines & transformations\n    <\/h3>\n\n <p class=\"dds-kct-description\">\n  Botanique, structure de la mati\u00e8re, m\u00e9thodes de production, r\u00e9sines,\n  extractions m\u00e9caniques, transformations et crit\u00e8res d\u2019\u00e9valuation.\n<\/p>\n\n    <div class=\"dds-kct-meta\">\n  <span>Fleurs<\/span>\n  <span>R\u00e9sines<\/span>\n  <span>Transformations<\/span>\n<\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--uses\" href=\"https:\/\/dealeurdesaveurs.com\/usages-du-cbd-pratiques-reelles-et-limites\/\">\n    <span class=\"dds-kct-index\">04<\/span>\n\n    <span class=\"dds-kct-label\">Pratiques r\u00e9elles<\/span>\n\n    <h3 class=\"dds-kct-title\">\n     Usages du CBD\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      Contextes d\u2019usage, fr\u00e9quence, variabilit\u00e9 individuelle, pr\u00e9cautions\n      et limites d\u2019interpr\u00e9tation.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>Usages<\/span>\n      <span>Variabilit\u00e9<\/span>\n      <span>Pr\u00e9cautions<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--quality\" href=\"https:\/\/dealeurdesaveurs.com\/qualite-transparence-et-choix-responsable\/\">\n    <span class=\"dds-kct-index\">05<\/span>\n\n    <span class=\"dds-kct-label\">\u00c9valuation<\/span>\n\n    <h3 class=\"dds-kct-title\">\n     Qualit\u00e9 &amp; transparence\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      Analyses, tra\u00e7abilit\u00e9, conservation, crit\u00e8res objectifs et lecture\n      critique des informations commerciales.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>Analyses<\/span>\n      <span>Tra\u00e7abilit\u00e9<\/span>\n      <span>Qualit\u00e9<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--terpenes\" href=\"https:\/\/dealeurdesaveurs.com\/les-terpenes\/\">\n    <span class=\"dds-kct-index\">06<\/span>\n\n    <span class=\"dds-kct-label\">Monde aromatique<\/span>\n\n    <h3 class=\"dds-kct-title\">\n      Les terp\u00e8nes\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      Origine, familles, profils aromatiques, conservation et r\u00f4le des\n      terp\u00e8nes dans le monde v\u00e9g\u00e9tal.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>Botanique<\/span>\n      <span>Ar\u00f4mes<\/span>\n      <span>Conservation<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n  <a class=\"dds-kct-card dds-kct-card--journal\" href=\"https:\/\/dealeurdesaveurs.com\/evolution-secteur-cbd\/\">\n    <span class=\"dds-kct-index\">07<\/span>\n\n    <span class=\"dds-kct-label\">\u00c9volution du secteur<\/span>\n\n    <h3 class=\"dds-kct-title\">\n     \u00c9volution du secteur CBD\n    <\/h3>\n\n    <p class=\"dds-kct-description\">\n      \u00c9volution du march\u00e9, perception sociale, r\u00e9glementation et changements\n      structurels du secteur.\n    <\/p>\n\n    <div class=\"dds-kct-meta\">\n      <span>March\u00e9<\/span>\n      <span>Soci\u00e9t\u00e9<\/span>\n      <span>R\u00e9glementation<\/span>\n    <\/div>\n\n    <span class=\"dds-kct-link\">\n      Explorer le th\u00e8me\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-169b30b elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"169b30b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d67340a elementor-widget elementor-widget-html\" data-id=\"d67340a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     BLOC 3 : COMPTEUR DOCUMENTAIRE DYNAMIQUE\n\n     Fonctionnement :\n     - r\u00e9cup\u00e8re les cat\u00e9gories WordPress par slug ;\n     - r\u00e9cup\u00e8re les articles associ\u00e9s ;\n     - d\u00e9duplique les articles ;\n     - identifie la mise \u00e0 jour la plus r\u00e9cente.\n\n     Pr\u00e9fixe unique : dds-stats-\n========================================================= -->\n\n<style>\n\/* =========================================================\n   CONTENEUR\n========================================================= *\/\n\n.dds-stats{\n  --dds-stats-green:#59ff9c;\n  --dds-stats-green-light:#9bffc1;\n  --dds-stats-gold:#f3b83f;\n  --dds-stats-blue:#5fc8ff;\n\n  --dds-stats-white:#f5f8f6;\n  --dds-stats-text:#c6d0ca;\n  --dds-stats-muted:#829087;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n\n  width:min(1120px,calc(100% - 32px));\n  margin:32px auto 46px;\n  padding:clamp(22px,3vw,34px);\n\n  border:1px solid rgba(89,255,156,.15);\n  border-radius:22px;\n\n  background:\n    radial-gradient(\n      circle at 18% 0%,\n      rgba(89,255,156,.07),\n      transparent 32%\n    ),\n    radial-gradient(\n      circle at 82% 100%,\n      rgba(243,184,63,.045),\n      transparent 30%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(12,19,14,.96),\n      rgba(5,9,6,.99)\n    );\n\n  box-shadow:\n    0 22px 54px rgba(0,0,0,.34),\n    inset 0 1px 0 rgba(255,255,255,.022);\n}\n\n.dds-stats::before{\n  content:\"\";\n\n  position:absolute;\n  inset:0;\n  z-index:-2;\n\n  background-image:\n    linear-gradient(\n      rgba(255,255,255,.014) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      90deg,\n      rgba(255,255,255,.014) 1px,\n      transparent 1px\n    );\n\n  background-size:48px 48px;\n\n  pointer-events:none;\n}\n\n.dds-stats::after{\n  content:\"\";\n\n  position:absolute;\n  left:50%;\n  bottom:-150px;\n  z-index:-1;\n\n  width:620px;\n  height:260px;\n\n  transform:translateX(-50%);\n  border-radius:50%;\n\n  background:rgba(89,255,156,.045);\n  filter:blur(85px);\n\n  pointer-events:none;\n}\n\n\/* =========================================================\n   EN-T\u00caTE\n========================================================= *\/\n\n.dds-stats-head{\n  display:flex;\n  align-items:flex-end;\n  justify-content:space-between;\n  gap:24px;\n\n  margin-bottom:22px;\n  padding-bottom:19px;\n\n  border-bottom:1px solid rgba(255,255,255,.065);\n}\n\n.dds-stats-heading{\n  min-width:0;\n}\n\n.dds-stats-kicker{\n  display:flex;\n  align-items:center;\n  gap:9px;\n\n  margin-bottom:8px;\n\n  color:var(--dds-stats-green)!important;\n\n  font-size:9px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.dds-stats-kicker::before{\n  content:\"\";\n\n  width:7px;\n  height:7px;\n\n  border-radius:50%;\n\n  background:var(--dds-stats-green);\n\n  box-shadow:\n    0 0 0 5px rgba(89,255,156,.07),\n    0 0 15px rgba(89,255,156,.65);\n}\n\n.dds-stats-title{\n  margin:0!important;\n\n  color:var(--dds-stats-white)!important;\n\n  font-size:clamp(23px,3vw,34px)!important;\n  font-weight:900!important;\n  line-height:1.08!important;\n  letter-spacing:-.03em!important;\n  text-transform:none!important;\n}\n\n.dds-stats-title span{\n  color:var(--dds-stats-gold)!important;\n}\n\n.dds-stats-note{\n  max-width:390px;\n  margin:0!important;\n\n  color:var(--dds-stats-muted)!important;\n\n  font-size:11px;\n  line-height:1.55;\n  text-align:right;\n}\n\n\/* =========================================================\n   GRILLE DE DONN\u00c9ES\n========================================================= *\/\n\n.dds-stats-grid{\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:11px;\n}\n\n\/* =========================================================\n   CARTE STATISTIQUE\n========================================================= *\/\n\n.dds-stats-card{\n  --dds-stat-accent:#59ff9c;\n  --dds-stat-accent-rgb:89,255,156;\n\n  position:relative;\n  overflow:hidden;\n\n  min-height:132px;\n  padding:17px;\n\n  border:1px solid rgba(var(--dds-stat-accent-rgb),.15);\n  border-radius:15px;\n\n  background:\n    radial-gradient(\n      circle at 92% 8%,\n      rgba(var(--dds-stat-accent-rgb),.08),\n      transparent 34%\n    ),\n    rgba(255,255,255,.022);\n}\n\n.dds-stats-card::after{\n  content:\"\";\n\n  position:absolute;\n  left:17px;\n  right:17px;\n  bottom:0;\n\n  height:2px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--dds-stat-accent),\n      transparent\n    );\n\n  opacity:.58;\n}\n\n.dds-stats-card--themes{\n  --dds-stat-accent:#5fc8ff;\n  --dds-stat-accent-rgb:95,200,255;\n}\n\n.dds-stats-card--update{\n  --dds-stat-accent:#f3b83f;\n  --dds-stat-accent-rgb:243,184,63;\n}\n\n.dds-stats-card--status{\n  --dds-stat-accent:#55e5a4;\n  --dds-stat-accent-rgb:85,229,164;\n}\n\n.dds-stats-label{\n  display:flex;\n  align-items:center;\n  gap:7px;\n\n  margin-bottom:16px;\n\n  color:var(--dds-stat-accent)!important;\n\n  font-size:9px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.12em;\n  text-transform:uppercase;\n}\n\n.dds-stats-label::before{\n  content:\"\";\n\n  width:6px;\n  height:6px;\n\n  border-radius:50%;\n  background:var(--dds-stat-accent);\n\n  box-shadow:\n    0 0 10px rgba(var(--dds-stat-accent-rgb),.55);\n}\n\n.dds-stats-value{\n  display:block;\n\n  color:var(--dds-stats-white)!important;\n\n  font-size:clamp(25px,3vw,37px);\n  font-weight:950;\n  line-height:1;\n  letter-spacing:-.035em;\n}\n\n.dds-stats-value--date{\n  font-size:clamp(17px,2vw,23px);\n  line-height:1.15;\n}\n\n.dds-stats-value--status{\n  font-size:clamp(17px,2vw,23px);\n  line-height:1.15;\n}\n\n.dds-stats-description{\n  display:block;\n\n  margin-top:9px;\n\n  color:var(--dds-stats-muted)!important;\n\n  font-size:10.5px;\n  line-height:1.45;\n}\n\n\/* =========================================================\n   CHARGEMENT\n========================================================= *\/\n\n.dds-stats-loading{\n  display:inline-block;\n\n  width:25px;\n  height:25px;\n\n  border:2px solid rgba(255,255,255,.12);\n  border-top-color:var(--dds-stat-accent);\n  border-radius:50%;\n\n  animation:dds-stats-spin .8s linear infinite;\n}\n\n@keyframes dds-stats-spin{\n  to{\n    transform:rotate(360deg);\n  }\n}\n\n\/* =========================================================\n   MESSAGE TECHNIQUE\n========================================================= *\/\n\n.dds-stats-message{\n  display:none;\n\n  margin:16px 0 0!important;\n\n  color:var(--dds-stats-muted)!important;\n\n  font-size:10px;\n  line-height:1.5;\n  text-align:center;\n}\n\n.dds-stats-message.is-visible{\n  display:block;\n}\n\n\/* =========================================================\n   RESPONSIVE\n========================================================= *\/\n\n@media(max-width:900px){\n  .dds-stats-grid{\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n}\n\n@media(max-width:767px){\n  .dds-stats{\n    width:calc(100% - 14px);\n    margin:26px auto 36px;\n    padding:20px 12px;\n\n    border-radius:18px;\n  }\n\n  .dds-stats-head{\n    display:block;\n  }\n\n  .dds-stats-note{\n    max-width:none;\n    margin-top:10px!important;\n\n    text-align:left;\n  }\n\n  .dds-stats-grid{\n    grid-template-columns:1fr;\n    gap:9px;\n  }\n\n  .dds-stats-card{\n    min-height:112px;\n  }\n}\n\n@media(prefers-reduced-motion:reduce){\n  .dds-stats-loading{\n    animation:none;\n  }\n}\n<\/style>\n\n<section\n  class=\"dds-stats\"\n  aria-labelledby=\"dds-stats-title\"\n>\n\n  <header class=\"dds-stats-head\">\n\n    <div class=\"dds-stats-heading\">\n\n      <div class=\"dds-stats-kicker\">\n        Base documentaire active\n      <\/div>\n\n      <h2\n        id=\"dds-stats-title\"\n        class=\"dds-stats-title\"\n      >\n        Le Centre en <span>quelques rep\u00e8res<\/span>\n      <\/h2>\n\n    <\/div>\n\n    <p class=\"dds-stats-note\">\n      Les donn\u00e9es sont calcul\u00e9es automatiquement \u00e0 partir des contenus\n      publi\u00e9s dans les sept th\u00e8mes du Centre de Connaissances DDS.\n    <\/p>\n\n  <\/header>\n\n  <div class=\"dds-stats-grid\">\n\n    <article class=\"dds-stats-card\">\n\n      <span class=\"dds-stats-label\">\n        Articles publi\u00e9s\n      <\/span>\n\n      <strong\n        id=\"dds-stats-articles\"\n        class=\"dds-stats-value\"\n      >\n        <span\n          class=\"dds-stats-loading\"\n          aria-label=\"Chargement\"\n        ><\/span>\n      <\/strong>\n\n      <span class=\"dds-stats-description\">\n        Contenus actuellement accessibles\n      <\/span>\n\n    <\/article>\n\n    <article class=\"dds-stats-card dds-stats-card--themes\">\n\n      <span class=\"dds-stats-label\">\n        Th\u00e8mes documentaires\n      <\/span>\n\n      <strong class=\"dds-stats-value\">\n        7\n      <\/strong>\n\n      <span class=\"dds-stats-description\">\n        Grands domaines de connaissance\n      <\/span>\n\n    <\/article>\n\n    <article class=\"dds-stats-card dds-stats-card--update\">\n\n      <span class=\"dds-stats-label\">\n        Derni\u00e8re mise \u00e0 jour\n      <\/span>\n\n      <strong\n        id=\"dds-stats-update\"\n        class=\"dds-stats-value dds-stats-value--date\"\n      >\n        <span\n          class=\"dds-stats-loading\"\n          aria-label=\"Chargement\"\n        ><\/span>\n      <\/strong>\n\n      <span class=\"dds-stats-description\">\n        Publication ou actualisation r\u00e9cente\n      <\/span>\n\n    <\/article>\n\n    <article class=\"dds-stats-card dds-stats-card--status\">\n\n      <span class=\"dds-stats-label\">\n        \u00c9tat du Centre\n      <\/span>\n\n      <strong class=\"dds-stats-value dds-stats-value--status\">\n        En \u00e9volution\n      <\/strong>\n\n      <span class=\"dds-stats-description\">\n        Articles enrichis et compl\u00e9t\u00e9s r\u00e9guli\u00e8rement\n      <\/span>\n\n    <\/article>\n\n  <\/div>\n\n  <p\n    id=\"dds-stats-message\"\n    class=\"dds-stats-message\"\n    aria-live=\"polite\"\n  ><\/p>\n\n<\/section>\n\n<script>\n<script>\n(function () {\n  \"use strict\";\n\n  \/* =======================================================\n     DDS \u2014 COMPTEUR DOCUMENTAIRE RENFORC\u00c9\n\n     Ce script :\n     - reconna\u00eet les anciens et nouveaux slugs ;\n     - reconna\u00eet \u00e9galement le nom visible des cat\u00e9gories ;\n     - ajoute automatiquement les sous-cat\u00e9gories ;\n     - r\u00e9cup\u00e8re toutes les pages d\u2019articles ;\n     - d\u00e9duplique les articles ;\n     - conserve la date de modification la plus r\u00e9cente ;\n     - met les donn\u00e9es en cache pendant 15 minutes.\n  ======================================================= *\/\n\n  const themes = [\n    {\n      label: \"Comprendre le CBD\",\n      slugs: [\n        \"comprendre-le-cbd-actus\",\n        \"comprendre-le-cbd\"\n      ],\n      names: [\n        \"Comprendre le CBD\"\n      ]\n    },\n    {\n      label: \"Cannabino\u00efdes & mol\u00e9cules\",\n      slugs: [\n        \"cannabinoides-molecules\",\n        \"cannabinoides-et-molecules\"\n      ],\n      names: [\n        \"Cannabino\u00efdes & mol\u00e9cules\",\n        \"Cannabino\u00efdes et mol\u00e9cules\"\n      ]\n    },\n    {\n      label: \"Fleurs, r\u00e9sines & transformations\",\n      slugs: [\n        \"fleurs-resines-matiere-brut\",\n        \"fleurs-resines-transformations\",\n        \"fleurs-resines-et-transformations\"\n      ],\n      names: [\n        \"Fleurs, r\u00e9sines & transformations\",\n        \"Fleurs, r\u00e9sines et transformations\",\n        \"Fleurs & r\u00e9sines\"\n      ]\n    },\n    {\n      label: \"Usages du CBD\",\n      slugs: [\n        \"usages-du-cbd-pratiques-reelles-et-limites\",\n        \"usages-du-cbd\"\n      ],\n      names: [\n        \"Usages du CBD\",\n        \"Usages, pratiques et limites\"\n      ]\n    },\n    {\n      label: \"Qualit\u00e9 & transparence\",\n      slugs: [\n        \"qualite-transparence-et-choix-responsable\",\n        \"qualite-et-transparence\",\n        \"qualite-controle-confiance\"\n      ],\n      names: [\n        \"Qualit\u00e9 & transparence\",\n        \"Qualit\u00e9, transparence et choix responsable\",\n        \"Qualit\u00e9, contr\u00f4le & confiance\"\n      ]\n    },\n    {\n      label: \"Les terp\u00e8nes\",\n      slugs: [\n        \"les-terpenes\",\n        \"terpenes\"\n      ],\n      names: [\n        \"Les terp\u00e8nes\",\n        \"Terp\u00e8nes\"\n      ]\n    },\n    {\n      label: \"\u00c9volution du secteur CBD\",\n      slugs: [\n        \"evolution-secteur-cbd\",\n        \"evolution-du-secteur-cbd\",\n        \"evolution-du-secteur\"\n      ],\n      names: [\n        \"\u00c9volution du secteur CBD\",\n        \"\u00c9volution du secteur\"\n      ]\n    }\n  ];\n\n  const articleElement =\n    document.getElementById(\"dds-stats-articles\");\n\n  const updateElement =\n    document.getElementById(\"dds-stats-update\");\n\n  const messageElement =\n    document.getElementById(\"dds-stats-message\");\n\n  if (\n    !articleElement ||\n    !updateElement ||\n    !messageElement\n  ) {\n    return;\n  }\n\n  const CACHE_KEY = \"dds_documentary_stats_v3\";\n  const CACHE_DURATION = 15 * 60 * 1000;\n\n  \/* =======================================================\n     OUTILS\n  ======================================================= *\/\n\n  function decodeEntities(value) {\n    const textarea = document.createElement(\"textarea\");\n    textarea.innerHTML = String(value || \"\");\n\n    return textarea.value;\n  }\n\n  function normalize(value) {\n    return decodeEntities(value)\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\")\n      .toLowerCase()\n      .replace(\/&\/g, \" et \")\n      .replace(\/[^a-z0-9]+\/g, \" \")\n      .replace(\/\\s+\/g, \" \")\n      .trim();\n  }\n\n  function showMessage(message) {\n    messageElement.textContent = message;\n    messageElement.classList.add(\"is-visible\");\n  }\n\n  function hideMessage() {\n    messageElement.textContent = \"\";\n    messageElement.classList.remove(\"is-visible\");\n  }\n\n  function formatDate(dateString) {\n    const date = new Date(dateString);\n\n    if (Number.isNaN(date.getTime())) {\n      return \"Non disponible\";\n    }\n\n    return new Intl.DateTimeFormat(\"fr-FR\", {\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\"\n    }).format(date);\n  }\n\n  function buildUrl(path, parameters, pageNumber) {\n    const url = new URL(path, window.location.origin);\n\n    Object.entries(parameters).forEach(function (entry) {\n      const key = entry[0];\n      const value = entry[1];\n\n      if (\n        value !== undefined &&\n        value !== null &&\n        value !== \"\"\n      ) {\n        url.searchParams.set(key, String(value));\n      }\n    });\n\n    url.searchParams.set(\"per_page\", \"100\");\n    url.searchParams.set(\"page\", String(pageNumber));\n\n    return url.toString();\n  }\n\n  \/* =======================================================\n     R\u00c9CUP\u00c9RATION PAGIN\u00c9E\n  ======================================================= *\/\n\n  async function fetchAllPages(path, parameters) {\n    const firstResponse = await fetch(\n      buildUrl(path, parameters, 1),\n      {\n        credentials: \"same-origin\",\n        headers: {\n          Accept: \"application\/json\"\n        }\n      }\n    );\n\n    if (!firstResponse.ok) {\n      throw new Error(\n        \"La premi\u00e8re page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n      );\n    }\n\n    const firstItems = await firstResponse.json();\n\n    const totalPages =\n      Number(\n        firstResponse.headers.get(\"X-WP-TotalPages\")\n      ) || 1;\n\n    if (totalPages === 1) {\n      return firstItems;\n    }\n\n    const requests = [];\n\n    for (\n      let pageNumber = 2;\n      pageNumber <= totalPages;\n      pageNumber++\n    ) {\n      requests.push(\n        fetch(\n          buildUrl(\n            path,\n            parameters,\n            pageNumber\n          ),\n          {\n            credentials: \"same-origin\",\n            headers: {\n              Accept: \"application\/json\"\n            }\n          }\n        ).then(function (response) {\n          if (!response.ok) {\n            throw new Error(\n              \"Une page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n            );\n          }\n\n          return response.json();\n        })\n      );\n    }\n\n    const additionalPages =\n      await Promise.all(requests);\n\n    return additionalPages.reduce(\n      function (allItems, pageItems) {\n        return allItems.concat(pageItems);\n      },\n      firstItems\n    );\n  }\n\n  \/* =======================================================\n     CAT\u00c9GORIES ET SOUS-CAT\u00c9GORIES\n  ======================================================= *\/\n\n  async function fetchAllCategories() {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/categories\",\n      {\n        hide_empty: \"false\",\n        _fields: \"id,name,slug,parent\"\n      }\n    );\n  }\n\n  function identifyThemeCategories(categories) {\n    const rootIds = new Set();\n    const missingThemes = [];\n\n    themes.forEach(function (theme) {\n      const allowedSlugs =\n        theme.slugs.map(normalize);\n\n      const allowedNames =\n        theme.names.map(normalize);\n\n      const matches = categories.filter(\n        function (category) {\n          return (\n            allowedSlugs.includes(\n              normalize(category.slug)\n            ) ||\n            allowedNames.includes(\n              normalize(category.name)\n            )\n          );\n        }\n      );\n\n      if (!matches.length) {\n        missingThemes.push(theme.label);\n        return;\n      }\n\n      matches.forEach(function (category) {\n        rootIds.add(Number(category.id));\n      });\n    });\n\n    return {\n      rootIds: rootIds,\n      missingThemes: missingThemes\n    };\n  }\n\n  function includeChildCategories(\n    categories,\n    rootIds\n  ) {\n    const childrenByParent = new Map();\n\n    categories.forEach(function (category) {\n      const parentId =\n        Number(category.parent) || 0;\n\n      if (!childrenByParent.has(parentId)) {\n        childrenByParent.set(parentId, []);\n      }\n\n      childrenByParent\n        .get(parentId)\n        .push(category);\n    });\n\n    const allCategoryIds =\n      new Set(rootIds);\n\n    const queue =\n      Array.from(rootIds);\n\n    while (queue.length) {\n      const currentId = queue.shift();\n\n      const children =\n        childrenByParent.get(currentId) || [];\n\n      children.forEach(function (child) {\n        const childId =\n          Number(child.id);\n\n        if (!allCategoryIds.has(childId)) {\n          allCategoryIds.add(childId);\n          queue.push(childId);\n        }\n      });\n    }\n\n    return Array.from(allCategoryIds);\n  }\n\n  \/* =======================================================\n     ARTICLES\n  ======================================================= *\/\n\n  async function fetchAllCentrePosts(\n    categoryIds\n  ) {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/posts\",\n      {\n        categories: categoryIds.join(\",\"),\n        orderby: \"modified\",\n        order: \"desc\",\n        _fields: \"id,modified,categories\"\n      }\n    );\n  }\n\n  function deduplicatePosts(posts) {\n    const uniquePosts = new Map();\n\n    posts.forEach(function (post) {\n      uniquePosts.set(\n        Number(post.id),\n        post\n      );\n    });\n\n    return Array.from(\n      uniquePosts.values()\n    );\n  }\n\n  \/* =======================================================\n     CACHE\n  ======================================================= *\/\n\n  function readCache() {\n    try {\n      const stored =\n        localStorage.getItem(CACHE_KEY);\n\n      if (!stored) {\n        return null;\n      }\n\n      const data =\n        JSON.parse(stored);\n\n      if (\n        !data.savedAt ||\n        Date.now() - data.savedAt >\n          CACHE_DURATION\n      ) {\n        localStorage.removeItem(CACHE_KEY);\n        return null;\n      }\n\n      return data;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function saveCache(data) {\n    try {\n      localStorage.setItem(\n        CACHE_KEY,\n        JSON.stringify({\n          savedAt: Date.now(),\n          articleCount: data.articleCount,\n          latestUpdate: data.latestUpdate,\n          missingThemes: data.missingThemes\n        })\n      );\n    } catch (error) {\n      \/* Le compteur reste fonctionnel sans cache. *\/\n    }\n  }\n\n  \/* =======================================================\n     AFFICHAGE\n  ======================================================= *\/\n\n  function displayStatistics(data) {\n    articleElement.textContent =\n      Number(data.articleCount)\n        .toLocaleString(\"fr-FR\");\n\n    updateElement.textContent =\n      data.latestUpdate\n        ? formatDate(data.latestUpdate)\n        : \"Aucun contenu\";\n\n    if (\n      Array.isArray(data.missingThemes) &&\n      data.missingThemes.length\n    ) {\n      showMessage(\n        \"Cat\u00e9gories \u00e0 v\u00e9rifier dans WordPress : \" +\n        data.missingThemes.join(\", \") +\n        \".\"\n      );\n\n      console.warn(\n        \"DDS \u2014 cat\u00e9gories non d\u00e9tect\u00e9es :\",\n        data.missingThemes\n      );\n    } else {\n      hideMessage();\n    }\n  }\n\n  \/* =======================================================\n     CHARGEMENT PRINCIPAL\n  ======================================================= *\/\n\n  async function loadStatistics() {\n    const cachedData = readCache();\n\n    if (cachedData) {\n      displayStatistics(cachedData);\n      return;\n    }\n\n    try {\n      const categories =\n        await fetchAllCategories();\n\n      const identification =\n        identifyThemeCategories(categories);\n\n      if (!identification.rootIds.size) {\n        throw new Error(\n          \"Aucune cat\u00e9gorie du Centre n\u2019a \u00e9t\u00e9 identifi\u00e9e.\"\n        );\n      }\n\n      const categoryIds =\n        includeChildCategories(\n          categories,\n          identification.rootIds\n        );\n\n      const fetchedPosts =\n        await fetchAllCentrePosts(\n          categoryIds\n        );\n\n      const posts =\n        deduplicatePosts(fetchedPosts);\n\n      posts.sort(function (a, b) {\n        return (\n          new Date(b.modified) -\n          new Date(a.modified)\n        );\n      });\n\n      const data = {\n        articleCount: posts.length,\n        latestUpdate:\n          posts.length\n            ? posts[0].modified\n            : \"\",\n        missingThemes:\n          identification.missingThemes\n      };\n\n      displayStatistics(data);\n      saveCache(data);\n\n    } catch (error) {\n      articleElement.textContent = \"\u2014\";\n      updateElement.textContent =\n        \"Non disponible\";\n\n      showMessage(\n        \"Le compteur documentaire n\u2019a pas pu v\u00e9rifier tous les articles.\"\n      );\n\n      console.warn(\n        \"DDS compteur documentaire :\",\n        error\n      );\n    }\n  }\n\n  loadStatistics();\n\n})();\n<\/script>\n<script>\n(function () {\n  \"use strict\";\n\n  \/* =======================================================\n     DDS \u2014 COMPTEUR DOCUMENTAIRE RENFORC\u00c9\n\n     Ce script :\n     - reconna\u00eet les anciens et nouveaux slugs ;\n     - reconna\u00eet \u00e9galement le nom visible des cat\u00e9gories ;\n     - ajoute automatiquement les sous-cat\u00e9gories ;\n     - r\u00e9cup\u00e8re toutes les pages d\u2019articles ;\n     - d\u00e9duplique les articles ;\n     - conserve la date de modification la plus r\u00e9cente ;\n     - met les donn\u00e9es en cache pendant 15 minutes.\n  ======================================================= *\/\n\n  const themes = [\n    {\n      label: \"Comprendre le CBD\",\n      slugs: [\n        \"comprendre-le-cbd-actus\",\n        \"comprendre-le-cbd\"\n      ],\n      names: [\n        \"Comprendre le CBD\"\n      ]\n    },\n    {\n      label: \"Cannabino\u00efdes & mol\u00e9cules\",\n      slugs: [\n        \"cannabinoides-molecules\",\n        \"cannabinoides-et-molecules\"\n      ],\n      names: [\n        \"Cannabino\u00efdes & mol\u00e9cules\",\n        \"Cannabino\u00efdes et mol\u00e9cules\"\n      ]\n    },\n    {\n      label: \"Fleurs, r\u00e9sines & transformations\",\n      slugs: [\n        \"fleurs-resines-matiere-brut\",\n        \"fleurs-resines-transformations\",\n        \"fleurs-resines-et-transformations\"\n      ],\n      names: [\n        \"Fleurs, r\u00e9sines & transformations\",\n        \"Fleurs, r\u00e9sines et transformations\",\n        \"Fleurs & r\u00e9sines\"\n      ]\n    },\n    {\n      label: \"Usages du CBD\",\n      slugs: [\n        \"usages-du-cbd-pratiques-reelles-et-limites\",\n        \"usages-du-cbd\"\n      ],\n      names: [\n        \"Usages du CBD\",\n        \"Usages, pratiques et limites\"\n      ]\n    },\n    {\n      label: \"Qualit\u00e9 & transparence\",\n      slugs: [\n        \"qualite-transparence-et-choix-responsable\",\n        \"qualite-et-transparence\",\n        \"qualite-controle-confiance\"\n      ],\n      names: [\n        \"Qualit\u00e9 & transparence\",\n        \"Qualit\u00e9, transparence et choix responsable\",\n        \"Qualit\u00e9, contr\u00f4le & confiance\"\n      ]\n    },\n    {\n      label: \"Les terp\u00e8nes\",\n      slugs: [\n        \"les-terpenes\",\n        \"terpenes\"\n      ],\n      names: [\n        \"Les terp\u00e8nes\",\n        \"Terp\u00e8nes\"\n      ]\n    },\n    {\n      label: \"\u00c9volution du secteur CBD\",\n      slugs: [\n        \"evolution-secteur-cbd\",\n        \"evolution-du-secteur-cbd\",\n        \"evolution-du-secteur\"\n      ],\n      names: [\n        \"\u00c9volution du secteur CBD\",\n        \"\u00c9volution du secteur\"\n      ]\n    }\n  ];\n\n  const articleElement =\n    document.getElementById(\"dds-stats-articles\");\n\n  const updateElement =\n    document.getElementById(\"dds-stats-update\");\n\n  const messageElement =\n    document.getElementById(\"dds-stats-message\");\n\n  if (\n    !articleElement ||\n    !updateElement ||\n    !messageElement\n  ) {\n    return;\n  }\n\n  const CACHE_KEY = \"dds_documentary_stats_v3\";\n  const CACHE_DURATION = 15 * 60 * 1000;\n\n  \/* =======================================================\n     OUTILS\n  ======================================================= *\/\n\n  function decodeEntities(value) {\n    const textarea = document.createElement(\"textarea\");\n    textarea.innerHTML = String(value || \"\");\n\n    return textarea.value;\n  }\n\n  function normalize(value) {\n    return decodeEntities(value)\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\")\n      .toLowerCase()\n      .replace(\/&\/g, \" et \")\n      .replace(\/[^a-z0-9]+\/g, \" \")\n      .replace(\/\\s+\/g, \" \")\n      .trim();\n  }\n\n  function showMessage(message) {\n    messageElement.textContent = message;\n    messageElement.classList.add(\"is-visible\");\n  }\n\n  function hideMessage() {\n    messageElement.textContent = \"\";\n    messageElement.classList.remove(\"is-visible\");\n  }\n\n  function formatDate(dateString) {\n    const date = new Date(dateString);\n\n    if (Number.isNaN(date.getTime())) {\n      return \"Non disponible\";\n    }\n\n    return new Intl.DateTimeFormat(\"fr-FR\", {\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\"\n    }).format(date);\n  }\n\n  function buildUrl(path, parameters, pageNumber) {\n    const url = new URL(path, window.location.origin);\n\n    Object.entries(parameters).forEach(function (entry) {\n      const key = entry[0];\n      const value = entry[1];\n\n      if (\n        value !== undefined &&\n        value !== null &&\n        value !== \"\"\n      ) {\n        url.searchParams.set(key, String(value));\n      }\n    });\n\n    url.searchParams.set(\"per_page\", \"100\");\n    url.searchParams.set(\"page\", String(pageNumber));\n\n    return url.toString();\n  }\n\n  \/* =======================================================\n     R\u00c9CUP\u00c9RATION PAGIN\u00c9E\n  ======================================================= *\/\n\n  async function fetchAllPages(path, parameters) {\n    const firstResponse = await fetch(\n      buildUrl(path, parameters, 1),\n      {\n        credentials: \"same-origin\",\n        headers: {\n          Accept: \"application\/json\"\n        }\n      }\n    );\n\n    if (!firstResponse.ok) {\n      throw new Error(\n        \"La premi\u00e8re page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n      );\n    }\n\n    const firstItems = await firstResponse.json();\n\n    const totalPages =\n      Number(\n        firstResponse.headers.get(\"X-WP-TotalPages\")\n      ) || 1;\n\n    if (totalPages === 1) {\n      return firstItems;\n    }\n\n    const requests = [];\n\n    for (\n      let pageNumber = 2;\n      pageNumber <= totalPages;\n      pageNumber++\n    ) {\n      requests.push(\n        fetch(\n          buildUrl(\n            path,\n            parameters,\n            pageNumber\n          ),\n          {\n            credentials: \"same-origin\",\n            headers: {\n              Accept: \"application\/json\"\n            }\n          }\n        ).then(function (response) {\n          if (!response.ok) {\n            throw new Error(\n              \"Une page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n            );\n          }\n\n          return response.json();\n        })\n      );\n    }\n\n    const additionalPages =\n      await Promise.all(requests);\n\n    return additionalPages.reduce(\n      function (allItems, pageItems) {\n        return allItems.concat(pageItems);\n      },\n      firstItems\n    );\n  }\n\n  \/* =======================================================\n     CAT\u00c9GORIES ET SOUS-CAT\u00c9GORIES\n  ======================================================= *\/\n\n  async function fetchAllCategories() {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/categories\",\n      {\n        hide_empty: \"false\",\n        _fields: \"id,name,slug,parent\"\n      }\n    );\n  }\n\n  function identifyThemeCategories(categories) {\n    const rootIds = new Set();\n    const missingThemes = [];\n\n    themes.forEach(function (theme) {\n      const allowedSlugs =\n        theme.slugs.map(normalize);\n\n      const allowedNames =\n        theme.names.map(normalize);\n\n      const matches = categories.filter(\n        function (category) {\n          return (\n            allowedSlugs.includes(\n              normalize(category.slug)\n            ) ||\n            allowedNames.includes(\n              normalize(category.name)\n            )\n          );\n        }\n      );\n\n      if (!matches.length) {\n        missingThemes.push(theme.label);\n        return;\n      }\n\n      matches.forEach(function (category) {\n        rootIds.add(Number(category.id));\n      });\n    });\n\n    return {\n      rootIds: rootIds,\n      missingThemes: missingThemes\n    };\n  }\n\n  function includeChildCategories(\n    categories,\n    rootIds\n  ) {\n    const childrenByParent = new Map();\n\n    categories.forEach(function (category) {\n      const parentId =\n        Number(category.parent) || 0;\n\n      if (!childrenByParent.has(parentId)) {\n        childrenByParent.set(parentId, []);\n      }\n\n      childrenByParent\n        .get(parentId)\n        .push(category);\n    });\n\n    const allCategoryIds =\n      new Set(rootIds);\n\n    const queue =\n      Array.from(rootIds);\n\n    while (queue.length) {\n      const currentId = queue.shift();\n\n      const children =\n        childrenByParent.get(currentId) || [];\n\n      children.forEach(function (child) {\n        const childId =\n          Number(child.id);\n\n        if (!allCategoryIds.has(childId)) {\n          allCategoryIds.add(childId);\n          queue.push(childId);\n        }\n      });\n    }\n\n    return Array.from(allCategoryIds);\n  }\n\n  \/* =======================================================\n     ARTICLES\n  ======================================================= *\/\n\n  async function fetchAllCentrePosts(\n    categoryIds\n  ) {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/posts\",\n      {\n        categories: categoryIds.join(\",\"),\n        orderby: \"modified\",\n        order: \"desc\",\n        _fields: \"id,modified,categories\"\n      }\n    );\n  }\n\n  function deduplicatePosts(posts) {\n    const uniquePosts = new Map();\n\n    posts.forEach(function (post) {\n      uniquePosts.set(\n        Number(post.id),\n        post\n      );\n    });\n\n    return Array.from(\n      uniquePosts.values()\n    );\n  }\n\n  \/* =======================================================\n     CACHE\n  ======================================================= *\/\n\n  function readCache() {\n    try {\n      const stored =\n        localStorage.getItem(CACHE_KEY);\n\n      if (!stored) {\n        return null;\n      }\n\n      const data =\n        JSON.parse(stored);\n\n      if (\n        !data.savedAt ||\n        Date.now() - data.savedAt >\n          CACHE_DURATION\n      ) {\n        localStorage.removeItem(CACHE_KEY);\n        return null;\n      }\n\n      return data;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function saveCache(data) {\n    try {\n      localStorage.setItem(\n        CACHE_KEY,\n        JSON.stringify({\n          savedAt: Date.now(),\n          articleCount: data.articleCount,\n          latestUpdate: data.latestUpdate,\n          missingThemes: data.missingThemes\n        })\n      );\n    } catch (error) {\n      \/* Le compteur reste fonctionnel sans cache. *\/\n    }\n  }\n\n  \/* =======================================================\n     AFFICHAGE\n  ======================================================= *\/\n\n  function displayStatistics(data) {\n    articleElement.textContent =\n      Number(data.articleCount)\n        .toLocaleString(\"fr-FR\");\n\n    updateElement.textContent =\n      data.latestUpdate\n        ? formatDate(data.latestUpdate)\n        : \"Aucun contenu\";\n\n    if (\n      Array.isArray(data.missingThemes) &&\n      data.missingThemes.length\n    ) {\n      showMessage(\n        \"Cat\u00e9gories \u00e0 v\u00e9rifier dans WordPress : \" +\n        data.missingThemes.join(\", \") +\n        \".\"\n      );\n\n      console.warn(\n        \"DDS \u2014 cat\u00e9gories non d\u00e9tect\u00e9es :\",\n        data.missingThemes\n      );\n    } else {\n      hideMessage();\n    }\n  }\n\n  \/* =======================================================\n     CHARGEMENT PRINCIPAL\n  ======================================================= *\/\n\n  async function loadStatistics() {\n    const cachedData = readCache();\n\n    if (cachedData) {\n      displayStatistics(cachedData);\n      return;\n    }\n\n    try {\n      const categories =\n        await fetchAllCategories();\n\n      const identification =\n        identifyThemeCategories(categories);\n\n      if (!identification.rootIds.size) {\n        throw new Error(\n          \"Aucune cat\u00e9gorie du Centre n\u2019a \u00e9t\u00e9 identifi\u00e9e.\"\n        );\n      }\n\n      const categoryIds =\n        includeChildCategories(\n          categories,\n          identification.rootIds\n        );\n\n      const fetchedPosts =\n        await fetchAllCentrePosts(\n          categoryIds\n        );\n\n      const posts =\n        deduplicatePosts(fetchedPosts);\n\n      posts.sort(function (a, b) {\n        return (\n          new Date(b.modified) -\n          new Date(a.modified)\n        );\n      });\n\n      const data = {\n        articleCount: posts.length,\n        latestUpdate:\n          posts.length\n            ? posts[0].modified\n            : \"\",\n        missingThemes:\n          identification.missingThemes\n      };\n\n      displayStatistics(data);\n      saveCache(data);\n\n    } catch (error) {\n      articleElement.textContent = \"\u2014\";\n      updateElement.textContent =\n        \"Non disponible\";\n\n      showMessage(\n        \"Le compteur documentaire n\u2019a pas pu v\u00e9rifier tous les articles.\"\n      );\n\n      console.warn(\n        \"DDS compteur documentaire :\",\n        error\n      );\n    }\n  }\n\n  loadStatistics();\n\n})();\n<\/script>\n<script>\n(function () {\n  \"use strict\";\n\n  \/* =======================================================\n     DDS \u2014 COMPTEUR DOCUMENTAIRE RENFORC\u00c9\n\n     Ce script :\n     - reconna\u00eet les anciens et nouveaux slugs ;\n     - reconna\u00eet \u00e9galement le nom visible des cat\u00e9gories ;\n     - ajoute automatiquement les sous-cat\u00e9gories ;\n     - r\u00e9cup\u00e8re toutes les pages d\u2019articles ;\n     - d\u00e9duplique les articles ;\n     - conserve la date de modification la plus r\u00e9cente ;\n     - met les donn\u00e9es en cache pendant 15 minutes.\n  ======================================================= *\/\n\n  const themes = [\n    {\n      label: \"Comprendre le CBD\",\n      slugs: [\n        \"comprendre-le-cbd-actus\",\n        \"comprendre-le-cbd\"\n      ],\n      names: [\n        \"Comprendre le CBD\"\n      ]\n    },\n    {\n      label: \"Cannabino\u00efdes & mol\u00e9cules\",\n      slugs: [\n        \"cannabinoides-molecules\",\n        \"cannabinoides-et-molecules\"\n      ],\n      names: [\n        \"Cannabino\u00efdes & mol\u00e9cules\",\n        \"Cannabino\u00efdes et mol\u00e9cules\"\n      ]\n    },\n    {\n      label: \"Fleurs, r\u00e9sines & transformations\",\n      slugs: [\n        \"fleurs-resines-matiere-brut\",\n        \"fleurs-resines-transformations\",\n        \"fleurs-resines-et-transformations\"\n      ],\n      names: [\n        \"Fleurs, r\u00e9sines & transformations\",\n        \"Fleurs, r\u00e9sines et transformations\",\n        \"Fleurs & r\u00e9sines\"\n      ]\n    },\n    {\n      label: \"Usages du CBD\",\n      slugs: [\n        \"usages-du-cbd-pratiques-reelles-et-limites\",\n        \"usages-du-cbd\"\n      ],\n      names: [\n        \"Usages du CBD\",\n        \"Usages, pratiques et limites\"\n      ]\n    },\n    {\n      label: \"Qualit\u00e9 & transparence\",\n      slugs: [\n        \"qualite-transparence-et-choix-responsable\",\n        \"qualite-et-transparence\",\n        \"qualite-controle-confiance\"\n      ],\n      names: [\n        \"Qualit\u00e9 & transparence\",\n        \"Qualit\u00e9, transparence et choix responsable\",\n        \"Qualit\u00e9, contr\u00f4le & confiance\"\n      ]\n    },\n    {\n      label: \"Les terp\u00e8nes\",\n      slugs: [\n        \"les-terpenes\",\n        \"terpenes\"\n      ],\n      names: [\n        \"Les terp\u00e8nes\",\n        \"Terp\u00e8nes\"\n      ]\n    },\n    {\n      label: \"\u00c9volution du secteur CBD\",\n      slugs: [\n        \"evolution-secteur-cbd\",\n        \"evolution-du-secteur-cbd\",\n        \"evolution-du-secteur\"\n      ],\n      names: [\n        \"\u00c9volution du secteur CBD\",\n        \"\u00c9volution du secteur\"\n      ]\n    }\n  ];\n\n  const articleElement =\n    document.getElementById(\"dds-stats-articles\");\n\n  const updateElement =\n    document.getElementById(\"dds-stats-update\");\n\n  const messageElement =\n    document.getElementById(\"dds-stats-message\");\n\n  if (\n    !articleElement ||\n    !updateElement ||\n    !messageElement\n  ) {\n    return;\n  }\n\n  const CACHE_KEY = \"dds_documentary_stats_v3\";\n  const CACHE_DURATION = 15 * 60 * 1000;\n\n  \/* =======================================================\n     OUTILS\n  ======================================================= *\/\n\n  function decodeEntities(value) {\n    const textarea = document.createElement(\"textarea\");\n    textarea.innerHTML = String(value || \"\");\n\n    return textarea.value;\n  }\n\n  function normalize(value) {\n    return decodeEntities(value)\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\")\n      .toLowerCase()\n      .replace(\/&\/g, \" et \")\n      .replace(\/[^a-z0-9]+\/g, \" \")\n      .replace(\/\\s+\/g, \" \")\n      .trim();\n  }\n\n  function showMessage(message) {\n    messageElement.textContent = message;\n    messageElement.classList.add(\"is-visible\");\n  }\n\n  function hideMessage() {\n    messageElement.textContent = \"\";\n    messageElement.classList.remove(\"is-visible\");\n  }\n\n  function formatDate(dateString) {\n    const date = new Date(dateString);\n\n    if (Number.isNaN(date.getTime())) {\n      return \"Non disponible\";\n    }\n\n    return new Intl.DateTimeFormat(\"fr-FR\", {\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\"\n    }).format(date);\n  }\n\n  function buildUrl(path, parameters, pageNumber) {\n    const url = new URL(path, window.location.origin);\n\n    Object.entries(parameters).forEach(function (entry) {\n      const key = entry[0];\n      const value = entry[1];\n\n      if (\n        value !== undefined &&\n        value !== null &&\n        value !== \"\"\n      ) {\n        url.searchParams.set(key, String(value));\n      }\n    });\n\n    url.searchParams.set(\"per_page\", \"100\");\n    url.searchParams.set(\"page\", String(pageNumber));\n\n    return url.toString();\n  }\n\n  \/* =======================================================\n     R\u00c9CUP\u00c9RATION PAGIN\u00c9E\n  ======================================================= *\/\n\n  async function fetchAllPages(path, parameters) {\n    const firstResponse = await fetch(\n      buildUrl(path, parameters, 1),\n      {\n        credentials: \"same-origin\",\n        headers: {\n          Accept: \"application\/json\"\n        }\n      }\n    );\n\n    if (!firstResponse.ok) {\n      throw new Error(\n        \"La premi\u00e8re page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n      );\n    }\n\n    const firstItems = await firstResponse.json();\n\n    const totalPages =\n      Number(\n        firstResponse.headers.get(\"X-WP-TotalPages\")\n      ) || 1;\n\n    if (totalPages === 1) {\n      return firstItems;\n    }\n\n    const requests = [];\n\n    for (\n      let pageNumber = 2;\n      pageNumber <= totalPages;\n      pageNumber++\n    ) {\n      requests.push(\n        fetch(\n          buildUrl(\n            path,\n            parameters,\n            pageNumber\n          ),\n          {\n            credentials: \"same-origin\",\n            headers: {\n              Accept: \"application\/json\"\n            }\n          }\n        ).then(function (response) {\n          if (!response.ok) {\n            throw new Error(\n              \"Une page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n            );\n          }\n\n          return response.json();\n        })\n      );\n    }\n\n    const additionalPages =\n      await Promise.all(requests);\n\n    return additionalPages.reduce(\n      function (allItems, pageItems) {\n        return allItems.concat(pageItems);\n      },\n      firstItems\n    );\n  }\n\n  \/* =======================================================\n     CAT\u00c9GORIES ET SOUS-CAT\u00c9GORIES\n  ======================================================= *\/\n\n  async function fetchAllCategories() {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/categories\",\n      {\n        hide_empty: \"false\",\n        _fields: \"id,name,slug,parent\"\n      }\n    );\n  }\n\n  function identifyThemeCategories(categories) {\n    const rootIds = new Set();\n    const missingThemes = [];\n\n    themes.forEach(function (theme) {\n      const allowedSlugs =\n        theme.slugs.map(normalize);\n\n      const allowedNames =\n        theme.names.map(normalize);\n\n      const matches = categories.filter(\n        function (category) {\n          return (\n            allowedSlugs.includes(\n              normalize(category.slug)\n            ) ||\n            allowedNames.includes(\n              normalize(category.name)\n            )\n          );\n        }\n      );\n\n      if (!matches.length) {\n        missingThemes.push(theme.label);\n        return;\n      }\n\n      matches.forEach(function (category) {\n        rootIds.add(Number(category.id));\n      });\n    });\n\n    return {\n      rootIds: rootIds,\n      missingThemes: missingThemes\n    };\n  }\n\n  function includeChildCategories(\n    categories,\n    rootIds\n  ) {\n    const childrenByParent = new Map();\n\n    categories.forEach(function (category) {\n      const parentId =\n        Number(category.parent) || 0;\n\n      if (!childrenByParent.has(parentId)) {\n        childrenByParent.set(parentId, []);\n      }\n\n      childrenByParent\n        .get(parentId)\n        .push(category);\n    });\n\n    const allCategoryIds =\n      new Set(rootIds);\n\n    const queue =\n      Array.from(rootIds);\n\n    while (queue.length) {\n      const currentId = queue.shift();\n\n      const children =\n        childrenByParent.get(currentId) || [];\n\n      children.forEach(function (child) {\n        const childId =\n          Number(child.id);\n\n        if (!allCategoryIds.has(childId)) {\n          allCategoryIds.add(childId);\n          queue.push(childId);\n        }\n      });\n    }\n\n    return Array.from(allCategoryIds);\n  }\n\n  \/* =======================================================\n     ARTICLES\n  ======================================================= *\/\n\n  async function fetchAllCentrePosts(\n    categoryIds\n  ) {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/posts\",\n      {\n        categories: categoryIds.join(\",\"),\n        orderby: \"modified\",\n        order: \"desc\",\n        _fields: \"id,modified,categories\"\n      }\n    );\n  }\n\n  function deduplicatePosts(posts) {\n    const uniquePosts = new Map();\n\n    posts.forEach(function (post) {\n      uniquePosts.set(\n        Number(post.id),\n        post\n      );\n    });\n\n    return Array.from(\n      uniquePosts.values()\n    );\n  }\n\n  \/* =======================================================\n     CACHE\n  ======================================================= *\/\n\n  function readCache() {\n    try {\n      const stored =\n        localStorage.getItem(CACHE_KEY);\n\n      if (!stored) {\n        return null;\n      }\n\n      const data =\n        JSON.parse(stored);\n\n      if (\n        !data.savedAt ||\n        Date.now() - data.savedAt >\n          CACHE_DURATION\n      ) {\n        localStorage.removeItem(CACHE_KEY);\n        return null;\n      }\n\n      return data;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function saveCache(data) {\n    try {\n      localStorage.setItem(\n        CACHE_KEY,\n        JSON.stringify({\n          savedAt: Date.now(),\n          articleCount: data.articleCount,\n          latestUpdate: data.latestUpdate,\n          missingThemes: data.missingThemes\n        })\n      );\n    } catch (error) {\n      \/* Le compteur reste fonctionnel sans cache. *\/\n    }\n  }\n\n  \/* =======================================================\n     AFFICHAGE\n  ======================================================= *\/\n\n  function displayStatistics(data) {\n    articleElement.textContent =\n      Number(data.articleCount)\n        .toLocaleString(\"fr-FR\");\n\n    updateElement.textContent =\n      data.latestUpdate\n        ? formatDate(data.latestUpdate)\n        : \"Aucun contenu\";\n\n    if (\n      Array.isArray(data.missingThemes) &&\n      data.missingThemes.length\n    ) {\n      showMessage(\n        \"Cat\u00e9gories \u00e0 v\u00e9rifier dans WordPress : \" +\n        data.missingThemes.join(\", \") +\n        \".\"\n      );\n\n      console.warn(\n        \"DDS \u2014 cat\u00e9gories non d\u00e9tect\u00e9es :\",\n        data.missingThemes\n      );\n    } else {\n      hideMessage();\n    }\n  }\n\n  \/* =======================================================\n     CHARGEMENT PRINCIPAL\n  ======================================================= *\/\n\n  async function loadStatistics() {\n    const cachedData = readCache();\n\n    if (cachedData) {\n      displayStatistics(cachedData);\n      return;\n    }\n\n    try {\n      const categories =\n        await fetchAllCategories();\n\n      const identification =\n        identifyThemeCategories(categories);\n\n      if (!identification.rootIds.size) {\n        throw new Error(\n          \"Aucune cat\u00e9gorie du Centre n\u2019a \u00e9t\u00e9 identifi\u00e9e.\"\n        );\n      }\n\n      const categoryIds =\n        includeChildCategories(\n          categories,\n          identification.rootIds\n        );\n\n      const fetchedPosts =\n        await fetchAllCentrePosts(\n          categoryIds\n        );\n\n      const posts =\n        deduplicatePosts(fetchedPosts);\n\n      posts.sort(function (a, b) {\n        return (\n          new Date(b.modified) -\n          new Date(a.modified)\n        );\n      });\n\n      const data = {\n        articleCount: posts.length,\n        latestUpdate:\n          posts.length\n            ? posts[0].modified\n            : \"\",\n        missingThemes:\n          identification.missingThemes\n      };\n\n      displayStatistics(data);\n      saveCache(data);\n\n    } catch (error) {\n      articleElement.textContent = \"\u2014\";\n      updateElement.textContent =\n        \"Non disponible\";\n\n      showMessage(\n        \"Le compteur documentaire n\u2019a pas pu v\u00e9rifier tous les articles.\"\n      );\n\n      console.warn(\n        \"DDS compteur documentaire :\",\n        error\n      );\n    }\n  }\n\n  loadStatistics();\n\n})();\n<\/script>\n<script>\n(function () {\n  \"use strict\";\n\n  \/* =======================================================\n     DDS \u2014 COMPTEUR DOCUMENTAIRE RENFORC\u00c9\n\n     Ce script :\n     - reconna\u00eet les anciens et nouveaux slugs ;\n     - reconna\u00eet \u00e9galement le nom visible des cat\u00e9gories ;\n     - ajoute automatiquement les sous-cat\u00e9gories ;\n     - r\u00e9cup\u00e8re toutes les pages d\u2019articles ;\n     - d\u00e9duplique les articles ;\n     - conserve la date de modification la plus r\u00e9cente ;\n     - met les donn\u00e9es en cache pendant 15 minutes.\n  ======================================================= *\/\n\n  const themes = [\n    {\n      label: \"Comprendre le CBD\",\n      slugs: [\n        \"comprendre-le-cbd-actus\",\n        \"comprendre-le-cbd\"\n      ],\n      names: [\n        \"Comprendre le CBD\"\n      ]\n    },\n    {\n      label: \"Cannabino\u00efdes & mol\u00e9cules\",\n      slugs: [\n        \"cannabinoides-molecules\",\n        \"cannabinoides-et-molecules\"\n      ],\n      names: [\n        \"Cannabino\u00efdes & mol\u00e9cules\",\n        \"Cannabino\u00efdes et mol\u00e9cules\"\n      ]\n    },\n    {\n      label: \"Fleurs, r\u00e9sines & transformations\",\n      slugs: [\n        \"fleurs-resines-matiere-brut\",\n        \"fleurs-resines-transformations\",\n        \"fleurs-resines-et-transformations\"\n      ],\n      names: [\n        \"Fleurs, r\u00e9sines & transformations\",\n        \"Fleurs, r\u00e9sines et transformations\",\n        \"Fleurs & r\u00e9sines\"\n      ]\n    },\n    {\n      label: \"Usages du CBD\",\n      slugs: [\n        \"usages-du-cbd-pratiques-reelles-et-limites\",\n        \"usages-du-cbd\"\n      ],\n      names: [\n        \"Usages du CBD\",\n        \"Usages, pratiques et limites\"\n      ]\n    },\n    {\n      label: \"Qualit\u00e9 & transparence\",\n      slugs: [\n        \"qualite-transparence-et-choix-responsable\",\n        \"qualite-et-transparence\",\n        \"qualite-controle-confiance\"\n      ],\n      names: [\n        \"Qualit\u00e9 & transparence\",\n        \"Qualit\u00e9, transparence et choix responsable\",\n        \"Qualit\u00e9, contr\u00f4le & confiance\"\n      ]\n    },\n    {\n      label: \"Les terp\u00e8nes\",\n      slugs: [\n        \"les-terpenes\",\n        \"terpenes\"\n      ],\n      names: [\n        \"Les terp\u00e8nes\",\n        \"Terp\u00e8nes\"\n      ]\n    },\n    {\n      label: \"\u00c9volution du secteur CBD\",\n      slugs: [\n        \"evolution-secteur-cbd\",\n        \"evolution-du-secteur-cbd\",\n        \"evolution-du-secteur\"\n      ],\n      names: [\n        \"\u00c9volution du secteur CBD\",\n        \"\u00c9volution du secteur\"\n      ]\n    }\n  ];\n\n  const articleElement =\n    document.getElementById(\"dds-stats-articles\");\n\n  const updateElement =\n    document.getElementById(\"dds-stats-update\");\n\n  const messageElement =\n    document.getElementById(\"dds-stats-message\");\n\n  if (\n    !articleElement ||\n    !updateElement ||\n    !messageElement\n  ) {\n    return;\n  }\n\n  const CACHE_KEY = \"dds_documentary_stats_v3\";\n  const CACHE_DURATION = 15 * 60 * 1000;\n\n  \/* =======================================================\n     OUTILS\n  ======================================================= *\/\n\n  function decodeEntities(value) {\n    const textarea = document.createElement(\"textarea\");\n    textarea.innerHTML = String(value || \"\");\n\n    return textarea.value;\n  }\n\n  function normalize(value) {\n    return decodeEntities(value)\n      .normalize(\"NFD\")\n      .replace(\/[\\u0300-\\u036f]\/g, \"\")\n      .toLowerCase()\n      .replace(\/&\/g, \" et \")\n      .replace(\/[^a-z0-9]+\/g, \" \")\n      .replace(\/\\s+\/g, \" \")\n      .trim();\n  }\n\n  function showMessage(message) {\n    messageElement.textContent = message;\n    messageElement.classList.add(\"is-visible\");\n  }\n\n  function hideMessage() {\n    messageElement.textContent = \"\";\n    messageElement.classList.remove(\"is-visible\");\n  }\n\n  function formatDate(dateString) {\n    const date = new Date(dateString);\n\n    if (Number.isNaN(date.getTime())) {\n      return \"Non disponible\";\n    }\n\n    return new Intl.DateTimeFormat(\"fr-FR\", {\n      day: \"2-digit\",\n      month: \"long\",\n      year: \"numeric\"\n    }).format(date);\n  }\n\n  function buildUrl(path, parameters, pageNumber) {\n    const url = new URL(path, window.location.origin);\n\n    Object.entries(parameters).forEach(function (entry) {\n      const key = entry[0];\n      const value = entry[1];\n\n      if (\n        value !== undefined &&\n        value !== null &&\n        value !== \"\"\n      ) {\n        url.searchParams.set(key, String(value));\n      }\n    });\n\n    url.searchParams.set(\"per_page\", \"100\");\n    url.searchParams.set(\"page\", String(pageNumber));\n\n    return url.toString();\n  }\n\n  \/* =======================================================\n     R\u00c9CUP\u00c9RATION PAGIN\u00c9E\n  ======================================================= *\/\n\n  async function fetchAllPages(path, parameters) {\n    const firstResponse = await fetch(\n      buildUrl(path, parameters, 1),\n      {\n        credentials: \"same-origin\",\n        headers: {\n          Accept: \"application\/json\"\n        }\n      }\n    );\n\n    if (!firstResponse.ok) {\n      throw new Error(\n        \"La premi\u00e8re page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n      );\n    }\n\n    const firstItems = await firstResponse.json();\n\n    const totalPages =\n      Number(\n        firstResponse.headers.get(\"X-WP-TotalPages\")\n      ) || 1;\n\n    if (totalPages === 1) {\n      return firstItems;\n    }\n\n    const requests = [];\n\n    for (\n      let pageNumber = 2;\n      pageNumber <= totalPages;\n      pageNumber++\n    ) {\n      requests.push(\n        fetch(\n          buildUrl(\n            path,\n            parameters,\n            pageNumber\n          ),\n          {\n            credentials: \"same-origin\",\n            headers: {\n              Accept: \"application\/json\"\n            }\n          }\n        ).then(function (response) {\n          if (!response.ok) {\n            throw new Error(\n              \"Une page de donn\u00e9es n\u2019a pas pu \u00eatre r\u00e9cup\u00e9r\u00e9e.\"\n            );\n          }\n\n          return response.json();\n        })\n      );\n    }\n\n    const additionalPages =\n      await Promise.all(requests);\n\n    return additionalPages.reduce(\n      function (allItems, pageItems) {\n        return allItems.concat(pageItems);\n      },\n      firstItems\n    );\n  }\n\n  \/* =======================================================\n     CAT\u00c9GORIES ET SOUS-CAT\u00c9GORIES\n  ======================================================= *\/\n\n  async function fetchAllCategories() {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/categories\",\n      {\n        hide_empty: \"false\",\n        _fields: \"id,name,slug,parent\"\n      }\n    );\n  }\n\n  function identifyThemeCategories(categories) {\n    const rootIds = new Set();\n    const missingThemes = [];\n\n    themes.forEach(function (theme) {\n      const allowedSlugs =\n        theme.slugs.map(normalize);\n\n      const allowedNames =\n        theme.names.map(normalize);\n\n      const matches = categories.filter(\n        function (category) {\n          return (\n            allowedSlugs.includes(\n              normalize(category.slug)\n            ) ||\n            allowedNames.includes(\n              normalize(category.name)\n            )\n          );\n        }\n      );\n\n      if (!matches.length) {\n        missingThemes.push(theme.label);\n        return;\n      }\n\n      matches.forEach(function (category) {\n        rootIds.add(Number(category.id));\n      });\n    });\n\n    return {\n      rootIds: rootIds,\n      missingThemes: missingThemes\n    };\n  }\n\n  function includeChildCategories(\n    categories,\n    rootIds\n  ) {\n    const childrenByParent = new Map();\n\n    categories.forEach(function (category) {\n      const parentId =\n        Number(category.parent) || 0;\n\n      if (!childrenByParent.has(parentId)) {\n        childrenByParent.set(parentId, []);\n      }\n\n      childrenByParent\n        .get(parentId)\n        .push(category);\n    });\n\n    const allCategoryIds =\n      new Set(rootIds);\n\n    const queue =\n      Array.from(rootIds);\n\n    while (queue.length) {\n      const currentId = queue.shift();\n\n      const children =\n        childrenByParent.get(currentId) || [];\n\n      children.forEach(function (child) {\n        const childId =\n          Number(child.id);\n\n        if (!allCategoryIds.has(childId)) {\n          allCategoryIds.add(childId);\n          queue.push(childId);\n        }\n      });\n    }\n\n    return Array.from(allCategoryIds);\n  }\n\n  \/* =======================================================\n     ARTICLES\n  ======================================================= *\/\n\n  async function fetchAllCentrePosts(\n    categoryIds\n  ) {\n    return fetchAllPages(\n      \"\/wp-json\/wp\/v2\/posts\",\n      {\n        categories: categoryIds.join(\",\"),\n        orderby: \"modified\",\n        order: \"desc\",\n        _fields: \"id,modified,categories\"\n      }\n    );\n  }\n\n  function deduplicatePosts(posts) {\n    const uniquePosts = new Map();\n\n    posts.forEach(function (post) {\n      uniquePosts.set(\n        Number(post.id),\n        post\n      );\n    });\n\n    return Array.from(\n      uniquePosts.values()\n    );\n  }\n\n  \/* =======================================================\n     CACHE\n  ======================================================= *\/\n\n  function readCache() {\n    try {\n      const stored =\n        localStorage.getItem(CACHE_KEY);\n\n      if (!stored) {\n        return null;\n      }\n\n      const data =\n        JSON.parse(stored);\n\n      if (\n        !data.savedAt ||\n        Date.now() - data.savedAt >\n          CACHE_DURATION\n      ) {\n        localStorage.removeItem(CACHE_KEY);\n        return null;\n      }\n\n      return data;\n    } catch (error) {\n      return null;\n    }\n  }\n\n  function saveCache(data) {\n    try {\n      localStorage.setItem(\n        CACHE_KEY,\n        JSON.stringify({\n          savedAt: Date.now(),\n          articleCount: data.articleCount,\n          latestUpdate: data.latestUpdate,\n          missingThemes: data.missingThemes\n        })\n      );\n    } catch (error) {\n      \/* Le compteur reste fonctionnel sans cache. *\/\n    }\n  }\n\n  \/* =======================================================\n     AFFICHAGE\n  ======================================================= *\/\n\n  function displayStatistics(data) {\n    articleElement.textContent =\n      Number(data.articleCount)\n        .toLocaleString(\"fr-FR\");\n\n    updateElement.textContent =\n      data.latestUpdate\n        ? formatDate(data.latestUpdate)\n        : \"Aucun contenu\";\n\n    if (\n      Array.isArray(data.missingThemes) &&\n      data.missingThemes.length\n    ) {\n      showMessage(\n        \"Cat\u00e9gories \u00e0 v\u00e9rifier dans WordPress : \" +\n        data.missingThemes.join(\", \") +\n        \".\"\n      );\n\n      console.warn(\n        \"DDS \u2014 cat\u00e9gories non d\u00e9tect\u00e9es :\",\n        data.missingThemes\n      );\n    } else {\n      hideMessage();\n    }\n  }\n\n  \/* =======================================================\n     CHARGEMENT PRINCIPAL\n  ======================================================= *\/\n\n  async function loadStatistics() {\n    const cachedData = readCache();\n\n    if (cachedData) {\n      displayStatistics(cachedData);\n      return;\n    }\n\n    try {\n      const categories =\n        await fetchAllCategories();\n\n      const identification =\n        identifyThemeCategories(categories);\n\n      if (!identification.rootIds.size) {\n        throw new Error(\n          \"Aucune cat\u00e9gorie du Centre n\u2019a \u00e9t\u00e9 identifi\u00e9e.\"\n        );\n      }\n\n      const categoryIds =\n        includeChildCategories(\n          categories,\n          identification.rootIds\n        );\n\n      const fetchedPosts =\n        await fetchAllCentrePosts(\n          categoryIds\n        );\n\n      const posts =\n        deduplicatePosts(fetchedPosts);\n\n      posts.sort(function (a, b) {\n        return (\n          new Date(b.modified) -\n          new Date(a.modified)\n        );\n      });\n\n      const data = {\n        articleCount: posts.length,\n        latestUpdate:\n          posts.length\n            ? posts[0].modified\n            : \"\",\n        missingThemes:\n          identification.missingThemes\n      };\n\n      displayStatistics(data);\n      saveCache(data);\n\n    } catch (error) {\n      articleElement.textContent = \"\u2014\";\n      updateElement.textContent =\n        \"Non disponible\";\n\n      showMessage(\n        \"Le compteur documentaire n\u2019a pas pu v\u00e9rifier tous les articles.\"\n      );\n\n      console.warn(\n        \"DDS compteur documentaire :\",\n        error\n      );\n    }\n  }\n\n  loadStatistics();\n\n})();\n<\/script>\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad3d945 elementor-widget elementor-widget-html\" data-id=\"ad3d945\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     TITRE AVANT LES DERNIERS ARTICLES\n\n     Le bouton du hero peut pointer vers :\n     #articles-centre\n\n     Pr\u00e9fixe unique : dds-latest-head-\n========================================================= -->\n\n<style>\n\n.dds-latest-head{\n  --dds-latest-green:#59ff9c;\n  --dds-latest-gold:#f3b83f;\n  --dds-latest-white:#f5f8f6;\n  --dds-latest-text:#c8d2cc;\n\n  position:relative;\n\n  width:min(1240px,calc(100% - 32px));\n  margin:54px auto 27px;\n\n  text-align:center;\n}\n\n\/* =========================================================\n   S\u00c9PARATEUR\n========================================================= *\/\n\n.dds-latest-head-divider{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:13px;\n\n  width:min(460px,76%);\n  margin:0 auto 25px;\n}\n\n.dds-latest-head-divider::before,\n.dds-latest-head-divider::after{\n  content:\"\";\n\n  height:1px;\n  flex:1;\n}\n\n.dds-latest-head-divider::before{\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      rgba(89,255,156,.62)\n    );\n}\n\n.dds-latest-head-divider::after{\n  background:\n    linear-gradient(\n      90deg,\n      rgba(89,255,156,.62),\n      transparent\n    );\n}\n\n.dds-latest-head-mark{\n  width:8px;\n  height:8px;\n\n  transform:rotate(45deg);\n\n  border:1px solid var(--dds-latest-gold);\n\n  box-shadow:\n    0 0 14px rgba(243,184,63,.23);\n}\n\n\/* =========================================================\n   LABEL\n========================================================= *\/\n\n.dds-latest-head-kicker{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:9px;\n\n  margin-bottom:13px;\n\n  color:var(--dds-latest-green)!important;\n\n  font-size:10px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.dds-latest-head-kicker::before{\n  content:\"\";\n\n  width:7px;\n  height:7px;\n\n  border-radius:50%;\n  background:var(--dds-latest-green);\n\n  box-shadow:\n    0 0 0 5px rgba(89,255,156,.07),\n    0 0 15px rgba(89,255,156,.62);\n}\n\n\/* =========================================================\n   TITRE\n========================================================= *\/\n\nhtml body .dds-latest-head h2.dds-latest-head-title{\n  max-width:850px;\n  margin:0 auto!important;\n\n  color:var(--dds-latest-white)!important;\n  -webkit-text-fill-color:var(--dds-latest-white)!important;\n\n  font-size:clamp(29px,4vw,47px)!important;\n  font-weight:900!important;\n  line-height:1.05!important;\n  letter-spacing:-.04em!important;\n\n  text-align:center!important;\n  text-transform:none!important;\n\n  background:none!important;\n}\n\nhtml body .dds-latest-head h2.dds-latest-head-title span{\n  color:var(--dds-latest-gold)!important;\n  -webkit-text-fill-color:var(--dds-latest-gold)!important;\n}\n\n\/* =========================================================\n   INTRODUCTION\n========================================================= *\/\n\n.dds-latest-head-intro{\n  max-width:690px;\n\n  margin:14px auto 0!important;\n\n  color:var(--dds-latest-text)!important;\n\n  font-size:clamp(14px,1.6vw,17px);\n  line-height:1.68;\n\n  text-wrap:balance;\n}\n\n\/* =========================================================\n   MOBILE\n========================================================= *\/\n\n@media(max-width:767px){\n\n  .dds-latest-head{\n    width:calc(100% - 20px);\n    margin:42px auto 22px;\n  }\n\n  .dds-latest-head-divider{\n    margin-bottom:21px;\n  }\n\n  .dds-latest-head-kicker{\n    font-size:9px;\n    letter-spacing:.12em;\n  }\n\n  html body .dds-latest-head h2.dds-latest-head-title{\n    font-size:clamp(27px,9vw,38px)!important;\n  }\n\n  .dds-latest-head-intro{\n    font-size:13px;\n    line-height:1.58;\n  }\n}\n\n<\/style>\n\n<section\n  id=\"articles-centre\"\n  class=\"dds-latest-head\"\n  aria-labelledby=\"dds-latest-head-title\"\n>\n\n  <div\n    class=\"dds-latest-head-divider\"\n    aria-hidden=\"true\"\n  >\n    <span class=\"dds-latest-head-mark\"><\/span>\n  <\/div>\n\n  <div class=\"dds-latest-head-kicker\">\n    Publications r\u00e9centes\n  <\/div>\n\n  <h2\n    id=\"dds-latest-head-title\"\n    class=\"dds-latest-head-title\"\n  >\n    Les derniers articles du\n    <span>Centre<\/span>\n  <\/h2>\n\n  <p class=\"dds-latest-head-intro\">\n    D\u00e9couvrez les contenus r\u00e9cemment publi\u00e9s ou actualis\u00e9s par\n    Dealeur de Saveurs pour approfondir vos connaissances sur le CBD,\n    les cannabino\u00efdes, les terp\u00e8nes et la qualit\u00e9.\n  <\/p>\n\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad7d496 wd-width-100 elementor-widget elementor-widget-wd_blog\" data-id=\"ad7d496\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_blog.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wd-blog-element\">\n\t\t\t\t\t<div class=\"wd-posts wd-blog-holder wd-masonry wd-grid-f-col\" id=\"6a5f9e594c360\" data-paged=\"1\" data-atts=\"{&quot;post_type&quot;:&quot;post&quot;,&quot;items_per_page&quot;:6,&quot;include&quot;:null,&quot;taxonomies&quot;:[],&quot;offset&quot;:&quot;&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;DESC&quot;,&quot;meta_key&quot;:null,&quot;exclude&quot;:&quot;&quot;,&quot;parts_media&quot;:true,&quot;parts_title&quot;:&quot;1&quot;,&quot;parts_meta&quot;:&quot;1&quot;,&quot;parts_text&quot;:&quot;1&quot;,&quot;parts_btn&quot;:&quot;1&quot;,&quot;img_size&quot;:&quot;large&quot;,&quot;blog_design&quot;:&quot;masonry&quot;,&quot;blog_carousel_design&quot;:null,&quot;blog_columns&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:3,&quot;sizes&quot;:[]},&quot;blog_columns_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1,&quot;sizes&quot;:[]},&quot;blog_columns_mobile&quot;:{&quot;size&quot;:&quot;&quot;},&quot;blog_spacing&quot;:&quot;&quot;,&quot;blog_spacing_tablet&quot;:&quot;30&quot;,&quot;blog_spacing_mobile&quot;:&quot;30&quot;,&quot;pagination&quot;:&quot;&quot;,&quot;speed&quot;:null,&quot;slides_per_view&quot;:null,&quot;slides_per_view_tablet&quot;:{&quot;size&quot;:&quot;&quot;},&quot;slides_per_view_mobile&quot;:{&quot;size&quot;:&quot;&quot;},&quot;wrap&quot;:null,&quot;autoplay&quot;:null,&quot;hide_pagination_control&quot;:null,&quot;hide_prev_next_buttons&quot;:null,&quot;scroll_per_page&quot;:null,&quot;lazy_loading&quot;:&quot;&quot;,&quot;scroll_carousel_init&quot;:null,&quot;ajax_page&quot;:&quot;&quot;,&quot;custom_sizes&quot;:false,&quot;elementor&quot;:true}\" data-source=\"shortcode\" style=\"--wd-col-lg:3;--wd-col-md:1;--wd-col-sm:1;--wd-gap-lg:20px;--wd-gap-md:30px;\">\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30820\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30820 post type-post status-publish format-standard has-post-thumbnail hentry category-fleurs-resines tag-conservation-du-cbd tag-fleur-cbd tag-humidite-des-fleurs tag-qualite-cbd tag-sechage tag-trichomes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/\">\n\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-1024x683.png\" class=\"attachment-large size-large\" alt=\"Fleur CBD en gros plan couverte de trichomes r\u00e9sineux\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-1024x683.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-300x200.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-768x512.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-18x12.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-600x400.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp-150x100.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t18\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/fleurs-resines\/\" rel=\"category tag\">Fleurs, r\u00e9sines &amp; transformations<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/\" rel=\"bookmark\">Pourquoi une fleur CBD est-elle collante ?<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-20T13:54:44+00:00\">\n\t\t\t20 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/pourquoi-fleur-cbd-collante-trichomes-resine.webp.png&description=Pourquoi+une+fleur+CBD+est-elle+collante+%3F\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t<p>Une fleur CBD peut \u00eatre collante en raison de sa r\u00e9sine naturelle, de ses trichomes, de son humidit\u00e9, de la chaleur, des manipulations ou d\u2019un enrichissement. Ce guide explique comment distinguer une texture normale d\u2019un signe de mauvaise conservation ou de transformation.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-fleur-cbd-collante\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30375\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30375 post type-post status-publish format-standard has-post-thumbnail hentry category-terpenes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-1024x683.png\" class=\"attachment-large size-large\" alt=\"Illustration scientifique repr\u00e9sentant une fleur de cannabis entour\u00e9e de v\u00e9g\u00e9taux aromatiques, de structures mol\u00e9culaires et d&#039;\u00e9l\u00e9ments botaniques symbolisant les monoterp\u00e8nes et les sesquiterp\u00e8nes.\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-1024x683.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-300x200.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-768x512.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-18x12.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-600x400.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355-150x100.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t14\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/terpenes\/\" rel=\"category tag\">Terp\u00e8nes<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/\" rel=\"bookmark\">Monoterp\u00e8nes, sesquiterp\u00e8nes et diterp\u00e8nes : quelles diff\u00e9rences ?<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-17T12:19:18+00:00\">\n\t\t\t17 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000eec0722f91df307d2854f355.png&description=Monoterp%C3%A8nes%2C+sesquiterp%C3%A8nes+et+diterp%C3%A8nes+%3A+quelles+diff%C3%A9rences+%3F\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t\n\/* =========================================================\n   DDS \u2014 DESIGN G\u00c9N\u00c9RIQUE ARTICLES TERP\u00c8NES\n   VERSION OFFICIELLE ...\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/monoterpenes-sesquiterpenes-diterpenes-differences\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30308\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30308 post type-post status-publish format-standard has-post-thumbnail hentry category-fleurs-resines tag-affinage tag-conservation-du-cbd tag-fleur-cbd tag-odeur tag-qualite-cbd tag-terpenes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-1024x576.png\" class=\"attachment-large size-large\" alt=\"\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-1024x576.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-300x169.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-768x432.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-1536x864.png 1536w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-18x10.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-600x338.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e-150x84.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e.png 1672w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t13\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/fleurs-resines\/\" rel=\"category tag\">Fleurs, r\u00e9sines &amp; transformations<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/\" rel=\"bookmark\">Pourquoi une fleur CBD sent-elle le foin ?<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-20T16:27:40+00:00\">\n\t\t\t20 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_000000003ab471f484fe58f6bec0ca9e.png&description=Pourquoi+une+fleur+CBD+sent-elle+le+foin+%3F\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t<p>Pourquoi une fleur CBD peut-elle sentir le foin ? D\u00e9couvrez les causes possibles : s\u00e9chage, perte aromatique, affinage, stockage ou profil v\u00e9g\u00e9tal naturellement discret.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-une-fleur-cbd-sent-elle-le-foin\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30299\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30299 post type-post status-publish format-standard has-post-thumbnail hentry category-terpenes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/\">\n\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-1024x683.png\" class=\"attachment-large size-large\" alt=\"Illustration botanique repr\u00e9sentant les terp\u00e8nes produits par les plantes avec une fleur riche en trichomes, des mol\u00e9cules aromatiques et diff\u00e9rents v\u00e9g\u00e9taux illustrant leurs fonctions biologiques.\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-1024x683.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-300x200.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-768x512.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-18x12.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-600x400.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0-150x100.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t10\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/terpenes\/\" rel=\"category tag\">Terp\u00e8nes<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/\" rel=\"bookmark\">Pourquoi les plantes produisent-elles des terp\u00e8nes ?<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-17T12:18:48+00:00\">\n\t\t\t17 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000402c71fd8b149f9b3eee87a0.png&description=Pourquoi+les+plantes+produisent-elles+des+terp%C3%A8nes+%3F\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t\n\/* =========================================================\n   DDS \u2014 ARTICLE TERP\u00c8NES 002\n   Pourquoi les plantes produisent-e...\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/pourquoi-les-plantes-produisent-elles-des-terpenes\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30207\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30207 post type-post status-publish format-standard has-post-thumbnail hentry category-fleurs-resines tag-affinage tag-analyses-de-laboratoire tag-conservation-du-cbd tag-fleur-cbd tag-qualite-cbd tag-sechage tag-tracabilite tag-trichomes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/\">\n\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"546\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-1024x546.png\" class=\"attachment-large size-large\" alt=\"Gros plan d&#039;une fleur de CBD avec trichomes, pistils orang\u00e9s et structure dense utilis\u00e9e pour illustrer les crit\u00e8res de qualit\u00e9 d&#039;une fleur de CBD.\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-1024x546.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-300x160.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-768x410.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-1536x819.png 1536w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-18x10.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-600x320.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6-150x80.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6.png 1717w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t09\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/fleurs-resines\/\" rel=\"category tag\">Fleurs, r\u00e9sines &amp; transformations<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/\" rel=\"bookmark\">Comment reconna\u00eetre une fleur CBD de qualit\u00e9 ? Guide complet<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-18T10:29:16+00:00\">\n\t\t\t18 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000719071f49c9ebe084a31ecf6.png&description=Comment+reconna%C3%AEtre+une+fleur+CBD+de+qualit%C3%A9+%3F+Guide+complet\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t<p>Aspect, trichomes, odeur, texture, s\u00e9chage, conservation, tra\u00e7abilit\u00e9 et analyses : d\u00e9couvrez une m\u00e9thode compl\u00e8te pour reconna\u00eetre une fleur CBD de qualit\u00e9 sans vous fier \u00e0 un seul crit\u00e8re.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/comment-reconnaitre-une-fleur-cbd-de-qualite\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n<article id=\"post-30111\" class=\"wd-post blog-design-masonry blog-post-loop blog-style-bg wd-add-shadow wd-col post-30111 post type-post status-publish format-standard has-post-thumbnail hentry category-terpenes\">\n\t<div class=\"article-inner\">\n\t\t<header class=\"entry-header\">\n\t\t\t\t\t\t\t<figure class=\"entry-thumbnail\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-img-wrapp\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/\">\n\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-1024x512.png\" class=\"attachment-large size-large\" alt=\"Illustration scientifique repr\u00e9sentant les terp\u00e8nes dans le monde v\u00e9g\u00e9tal avec des structures mol\u00e9culaires, une feuille riche en trichomes, des agrumes, du houblon, de la lavande et des aiguilles de pin.\" srcset=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-1024x512.png 1024w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-300x150.png 300w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-768x384.png 768w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-1536x768.png 1536w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-18x9.png 18w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-600x300.png 600w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61-150x75.png 150w, https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61.png 1773w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"post-image-mask\">\n\t\t\t\t\t\t\t<span><\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\n\t\t\t\t\t\t<div class=\"wd-post-date wd-style-with-bg\">\n\t\t\t\t<span class=\"post-date-day\">\n\t\t\t\t\t07\t\t\t\t<\/span>\n\t\t\t\t<span class=\"post-date-month\">\n\t\t\t\t\tJul\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\t<\/header>\n\n\t\t<div class=\"article-body-container\">\n\t\t\t\t\t\t\t<div class=\"meta-categories-wrapp\">\n\t\t\t\t\t<div class=\"meta-post-categories wd-post-cat wd-style-with-bg\">\n\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/category\/terpenes\/\" rel=\"category tag\">Terp\u00e8nes<\/a>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t<h3 class=\"wd-entities-title title post-title\">\n\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/\" rel=\"bookmark\">Qu&rsquo;est-ce qu&rsquo;un terp\u00e8ne ? Le guide complet pour comprendre les mol\u00e9cules aromatiques du monde v\u00e9g\u00e9tal<\/a>\n\t\t\t\t<\/h3>\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"entry-meta wd-entry-meta\">\n\t\t\t\t\t\t\t\t<ul class=\"entry-meta-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"modified-date\">\n\t\t\t\t\t\t\t\t<time class=\"updated\" datetime=\"2026-07-17T12:18:26+00:00\">\n\t\t\t17 July 2026\t\t<\/time>\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-author\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span>By<\/span>\n\t\t\n\t\t\t\t\t<img alt='author-avatar' src='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=32&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/7f2e92e76c61c067ba02b34dbfbe1772741a39a0cf7cc2d514375482ca45c8ba?s=64&#038;d=mm&#038;r=g 2x' class='avatar avatar-32 photo' height='32' width='32' \/>\t\t\n\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/author\/steph\/\" class=\"author\" rel=\"author\">Dealeur de Saveurs<\/a>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<li class=\"meta-reply\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/#respond\"><span class=\"replies-count\">0<\/span> <span class=\"replies-count-label\">comments<\/span><\/a>\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"hovered-social-icons wd-tltp\">\n\t\t\t\t\t\t<div class=\"tooltip top\">\n\t\t\t\t\t\t\t<div class=\"tooltip-arrow\"><\/div>\n\t\t\t\t\t\t\t<div class=\"tooltip-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div id=\"\" class=\" wd-social-icons wd-style-default wd-size-small social-share wd-shape-circle color-scheme-light text-center\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/\" target=\"_blank\" class=\" wd-social-icon social-facebook\" aria-label=\"Facebook social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/x.com\/share?url=https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/\" target=\"_blank\" class=\" wd-social-icon social-twitter\" aria-label=\"X social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a rel=\"noopener noreferrer nofollow\" href=\"https:\/\/pinterest.com\/pin\/create\/button\/?url=https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/&media=https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/file_00000000a7dc71fd81f2d466d1ad9d61.png&description=Qu%26rsquo%3Best-ce+qu%26rsquo%3Bun+terp%C3%A8ne+%3F+Le+guide+complet+pour+comprendre+les+mol%C3%A9cules+aromatiques+du+monde+v%C3%A9g%C3%A9tal\" target=\"_blank\" class=\" wd-social-icon social-pinterest\" aria-label=\"Pinterest social link\">\n\t\t\t\t\t\t<span class=\"wd-icon\"><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"entry-content wd-post-desc\">\n\t\t\t\t\t\t\n\/* =========================================================\n   DDS \u2014 ARTICLE TERP\u00c8NES 001 V2\n   Qu\u2019est-ce qu\u2019un terp\u00e8ne ?\n   P...\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"read-more-section\">\n\t\t\t\t\t\t<a class=\"btn-read-more more-link\" href=\"https:\/\/dealeurdesaveurs.com\/en\/quest-ce-quun-terpene\/\">Continue reading<\/a>\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n<\/article>\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d92acd0 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"d92acd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7387fb2 elementor-widget elementor-widget-html\" data-id=\"7387fb2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     BLOC 5 : COMMENCER PAR LES FONDAMENTAUX\n\n     Emplacement :\n     Sous le widget des 6 derniers articles\n\n     Pr\u00e9fixe unique : dds-start-\n========================================================= -->\n\n<style>\n\/* =========================================================\n   CONTENEUR G\u00c9N\u00c9RAL\n========================================================= *\/\n\n.dds-start{\n  --dds-start-green:#59ff9c;\n  --dds-start-green-light:#9bffc1;\n  --dds-start-blue:#5fc8ff;\n  --dds-start-turquoise:#55e5a4;\n  --dds-start-gold:#f3b83f;\n\n  --dds-start-white:#f5f8f6;\n  --dds-start-text:#c8d2cc;\n  --dds-start-muted:#87928b;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n\n  width:min(1240px,calc(100% - 32px));\n  margin:58px auto 36px;\n  padding:clamp(30px,4vw,52px);\n\n  border:1px solid rgba(89,255,156,.16);\n  border-radius:25px;\n\n  background:\n    radial-gradient(\n      circle at 50% 0%,\n      rgba(89,255,156,.075),\n      transparent 34%\n    ),\n    radial-gradient(\n      circle at 92% 90%,\n      rgba(243,184,63,.045),\n      transparent 28%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(13,20,15,.97),\n      rgba(5,9,6,.99)\n    );\n\n  box-shadow:\n    0 25px 62px rgba(0,0,0,.35),\n    inset 0 1px 0 rgba(255,255,255,.024);\n}\n\n.dds-start::before{\n  content:\"\";\n\n  position:absolute;\n  inset:0;\n  z-index:-2;\n\n  background-image:\n    linear-gradient(\n      rgba(255,255,255,.014) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      90deg,\n      rgba(255,255,255,.014) 1px,\n      transparent 1px\n    );\n\n  background-size:52px 52px;\n\n  pointer-events:none;\n}\n\n.dds-start::after{\n  content:\"\";\n\n  position:absolute;\n  left:50%;\n  bottom:-170px;\n  z-index:-1;\n\n  width:700px;\n  height:280px;\n\n  transform:translateX(-50%);\n  border-radius:50%;\n\n  background:rgba(89,255,156,.045);\n  filter:blur(88px);\n\n  pointer-events:none;\n}\n\n\/* =========================================================\n   EN-T\u00caTE\n========================================================= *\/\n\n.dds-start-head{\n  max-width:810px;\n  margin:0 auto 31px;\n\n  text-align:center;\n}\n\n.dds-start-kicker{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:10px;\n\n  margin-bottom:13px;\n\n  color:var(--dds-start-green)!important;\n\n  font-size:10px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.15em;\n  text-transform:uppercase;\n}\n\n.dds-start-kicker::before,\n.dds-start-kicker::after{\n  content:\"\";\n\n  width:38px;\n  height:1px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      rgba(89,255,156,.7)\n    );\n}\n\n.dds-start-kicker::after{\n  background:\n    linear-gradient(\n      90deg,\n      rgba(89,255,156,.7),\n      transparent\n    );\n}\n\n.dds-start-title{\n  margin:0!important;\n\n  color:var(--dds-start-white)!important;\n\n  font-size:clamp(29px,4vw,48px)!important;\n  font-weight:900!important;\n  line-height:1.04!important;\n  letter-spacing:-.04em!important;\n\n  text-align:center!important;\n  text-transform:none!important;\n}\n\n.dds-start-title span{\n  color:var(--dds-start-gold)!important;\n}\n\n.dds-start-intro{\n  max-width:720px;\n  margin:15px auto 0!important;\n\n  color:var(--dds-start-text)!important;\n\n  font-size:clamp(14px,1.6vw,17px);\n  line-height:1.7;\n\n  text-wrap:balance;\n}\n\n\/* =========================================================\n   GRILLE\n========================================================= *\/\n\n.dds-start-grid{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n}\n\n\/* =========================================================\n   CARTES\n========================================================= *\/\n\n.dds-start-card{\n  --dds-start-accent:#59ff9c;\n  --dds-start-accent-rgb:89,255,156;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n\n  display:flex;\n  flex-direction:column;\n\n  min-height:330px;\n  padding:25px 23px 22px;\n\n  color:var(--dds-start-white)!important;\n  text-decoration:none!important;\n\n  border:1px solid rgba(var(--dds-start-accent-rgb),.22);\n  border-radius:19px;\n\n  background:\n    radial-gradient(\n      circle at 88% 8%,\n      rgba(var(--dds-start-accent-rgb),.12),\n      transparent 33%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(18,26,20,.97),\n      rgba(6,10,7,.99)\n    );\n\n  box-shadow:\n    0 18px 42px rgba(0,0,0,.31),\n    inset 0 1px 0 rgba(255,255,255,.022);\n\n  transition:\n    transform .24s ease,\n    border-color .24s ease,\n    box-shadow .24s ease;\n}\n\n.dds-start-card::before{\n  content:\"\";\n\n  position:absolute;\n  inset:0;\n  z-index:-1;\n\n  background:\n    linear-gradient(\n      115deg,\n      transparent 22%,\n      rgba(255,255,255,.035) 48%,\n      transparent 75%\n    );\n\n  transform:translateX(-120%);\n  transition:transform .62s ease;\n}\n\n.dds-start-card::after{\n  content:\"\";\n\n  position:absolute;\n  left:22px;\n  right:22px;\n  bottom:0;\n\n  height:2px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--dds-start-accent),\n      transparent\n    );\n\n  opacity:.72;\n}\n\n.dds-start-card:hover{\n  transform:translateY(-5px);\n\n  border-color:rgba(var(--dds-start-accent-rgb),.52);\n\n  box-shadow:\n    0 25px 55px rgba(0,0,0,.42),\n    0 0 28px rgba(var(--dds-start-accent-rgb),.07);\n}\n\n.dds-start-card:hover::before{\n  transform:translateX(120%);\n}\n\n\/* =========================================================\n   NUM\u00c9RO ET NIVEAU\n========================================================= *\/\n\n.dds-start-top{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n\n  margin-bottom:26px;\n}\n\n.dds-start-number{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n\n  width:40px;\n  height:40px;\n\n  color:var(--dds-start-accent)!important;\n\n  font-size:11px;\n  font-weight:950;\n  line-height:1;\n\n  border:1px solid rgba(var(--dds-start-accent-rgb),.31);\n  border-radius:12px;\n\n  background:rgba(var(--dds-start-accent-rgb),.07);\n\n  box-shadow:\n    inset 0 0 15px rgba(var(--dds-start-accent-rgb),.045);\n}\n\n.dds-start-level{\n  display:inline-flex;\n  align-items:center;\n\n  padding:7px 10px;\n\n  color:#aeb9b2!important;\n\n  font-size:9px;\n  font-weight:850;\n  line-height:1;\n  letter-spacing:.08em;\n  text-transform:uppercase;\n\n  border:1px solid rgba(255,255,255,.075);\n  border-radius:999px;\n\n  background:rgba(255,255,255,.025);\n}\n\n\/* =========================================================\n   CONTENU DE CARTE\n========================================================= *\/\n\n.dds-start-label{\n  margin-bottom:10px;\n\n  color:var(--dds-start-accent)!important;\n\n  font-size:10px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.13em;\n  text-transform:uppercase;\n}\n\n.dds-start-card-title{\n  margin:0!important;\n\n  color:var(--dds-start-white)!important;\n\n  font-size:clamp(21px,2vw,26px)!important;\n  font-weight:900!important;\n  line-height:1.12!important;\n  letter-spacing:-.028em!important;\n\n  text-transform:none!important;\n}\n\n.dds-start-card-text{\n  margin:14px 0 0!important;\n\n  color:var(--dds-start-text)!important;\n\n  font-size:14px;\n  line-height:1.65;\n}\n\n.dds-start-points{\n  display:flex;\n  flex-wrap:wrap;\n  gap:7px;\n\n  margin-top:19px;\n}\n\n.dds-start-points span{\n  display:inline-flex;\n  align-items:center;\n\n  padding:7px 9px;\n\n  color:#aeb9b2!important;\n\n  font-size:9.5px;\n  font-weight:750;\n  line-height:1;\n\n  border:1px solid rgba(255,255,255,.07);\n  border-radius:999px;\n\n  background:rgba(255,255,255,.025);\n}\n\n\/* =========================================================\n   LIEN\n========================================================= *\/\n\n.dds-start-link{\n  display:inline-flex;\n  align-items:center;\n  gap:9px;\n\n  margin-top:auto;\n  padding-top:25px;\n\n  color:var(--dds-start-accent)!important;\n\n  font-size:11px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.055em;\n  text-transform:uppercase;\n}\n\n.dds-start-link svg{\n  width:17px;\n  height:17px;\n\n  fill:none;\n  stroke:currentColor;\n  stroke-width:2.2;\n\n  transition:transform .2s ease;\n}\n\n.dds-start-card:hover .dds-start-link svg{\n  transform:translateX(4px);\n}\n\n\/* =========================================================\n   COULEURS DES PARCOURS\n========================================================= *\/\n\n.dds-start-card--cbd{\n  --dds-start-accent:#59ff9c;\n  --dds-start-accent-rgb:89,255,156;\n}\n\n.dds-start-card--molecules{\n  --dds-start-accent:#5fc8ff;\n  --dds-start-accent-rgb:95,200,255;\n}\n\n.dds-start-card--terpenes{\n  --dds-start-accent:#55e5a4;\n  --dds-start-accent-rgb:85,229,164;\n}\n\n\/* =========================================================\n   ACCESSIBILIT\u00c9\n========================================================= *\/\n\n.dds-start-card:focus-visible{\n  outline:2px solid var(--dds-start-accent);\n  outline-offset:4px;\n}\n\n\/* =========================================================\n   RESPONSIVE\n========================================================= *\/\n\n@media(max-width:1024px){\n  .dds-start-grid{\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n\n  .dds-start-card:last-child{\n    grid-column:1\/-1;\n    width:min(520px,100%);\n    justify-self:center;\n  }\n}\n\n@media(max-width:767px){\n  .dds-start{\n    width:calc(100% - 14px);\n    margin:42px auto 30px;\n    padding:26px 13px;\n\n    border-radius:19px;\n  }\n\n  .dds-start-grid{\n    grid-template-columns:1fr;\n    gap:11px;\n  }\n\n  .dds-start-card,\n  .dds-start-card:last-child{\n    grid-column:auto;\n    width:100%;\n    min-height:auto;\n\n    padding:21px 18px;\n  }\n\n  .dds-start-card-title{\n    font-size:21px!important;\n  }\n\n  .dds-start-card-text{\n    font-size:13.5px;\n  }\n}\n\n@media(prefers-reduced-motion:reduce){\n  .dds-start-card,\n  .dds-start-card::before,\n  .dds-start-link svg{\n    transition:none;\n  }\n}\n<\/style>\n\n<section\n  class=\"dds-start\"\n  aria-labelledby=\"dds-start-title\"\n>\n\n  <header class=\"dds-start-head\">\n\n    <div class=\"dds-start-kicker\">\n      Parcours recommand\u00e9s\n    <\/div>\n\n    <h2\n      id=\"dds-start-title\"\n      class=\"dds-start-title\"\n    >\n      Commencer par les <span>fondamentaux<\/span>\n    <\/h2>\n\n    <p class=\"dds-start-intro\">\n      Vous d\u00e9couvrez le sujet ? Ces trois parcours permettent de construire\n      des bases solides avant d\u2019explorer les th\u00e8mes plus techniques du\n      Centre de Connaissances DDS.\n    <\/p>\n\n  <\/header>\n\n  <nav\n    class=\"dds-start-grid\"\n    aria-label=\"Parcours fondamentaux du Centre de Connaissances DDS\"\n  >\n\n    <!-- PARCOURS 1 -->\n\n    <a\n      class=\"dds-start-card dds-start-card--cbd\"\n      href=\"https:\/\/dealeurdesaveurs.com\/comprendre-le-cbd-actus\/\"\n    >\n\n      <div class=\"dds-start-top\">\n\n        <span class=\"dds-start-number\">\n          01\n        <\/span>\n\n        <span class=\"dds-start-level\">\n          Niveau essentiel\n        <\/span>\n\n      <\/div>\n\n      <span class=\"dds-start-label\">\n        Point de d\u00e9part\n      <\/span>\n\n      <h3 class=\"dds-start-card-title\">\n        Comprendre le CBD\n      <\/h3>\n\n      <p class=\"dds-start-card-text\">\n        Comprendre ce qu\u2019est le cannabidiol, son origine, ses diff\u00e9rences\n        avec le THC, son cadre g\u00e9n\u00e9ral et les limites des connaissances\n        actuellement disponibles.\n      <\/p>\n\n      <div class=\"dds-start-points\">\n        <span>D\u00e9finition<\/span>\n        <span>CBD vs THC<\/span>\n        <span>Cadre l\u00e9gal<\/span>\n      <\/div>\n\n      <span class=\"dds-start-link\">\n        Commencer ce parcours\n\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n          <path d=\"M5 12h14\"><\/path>\n          <path d=\"M14 7l5 5-5 5\"><\/path>\n        <\/svg>\n      <\/span>\n\n    <\/a>\n\n    <!-- PARCOURS 2 -->\n\n    <a\n      class=\"dds-start-card dds-start-card--molecules\"\n      href=\"https:\/\/dealeurdesaveurs.com\/cannabinoides-molecules\/\"\n    >\n\n      <div class=\"dds-start-top\">\n\n        <span class=\"dds-start-number\">\n          02\n        <\/span>\n\n        <span class=\"dds-start-level\">\n          Niveau interm\u00e9diaire\n        <\/span>\n\n      <\/div>\n\n      <span class=\"dds-start-label\">\n        Comprendre les compos\u00e9s\n      <\/span>\n\n      <h3 class=\"dds-start-card-title\">\n        Explorer les cannabino\u00efdes\n      <\/h3>\n\n      <p class=\"dds-start-card-text\">\n        Identifier les principales mol\u00e9cules du chanvre, distinguer leurs\n        caract\u00e9ristiques et comprendre pourquoi leurs donn\u00e9es scientifiques\n        ne permettent pas toujours les m\u00eames conclusions.\n      <\/p>\n\n      <div class=\"dds-start-points\">\n        <span>CBD<\/span>\n        <span>CBG<\/span>\n        <span>CBN<\/span>\n      <\/div>\n\n      <span class=\"dds-start-link\">\n        Commencer ce parcours\n\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n          <path d=\"M5 12h14\"><\/path>\n          <path d=\"M14 7l5 5-5 5\"><\/path>\n        <\/svg>\n      <\/span>\n\n    <\/a>\n\n    <!-- PARCOURS 3 -->\n\n    <a\n      class=\"dds-start-card dds-start-card--terpenes\"\n      href=\"https:\/\/dealeurdesaveurs.com\/les-terpenes\/\"\n    >\n\n      <div class=\"dds-start-top\">\n\n        <span class=\"dds-start-number\">\n          03\n        <\/span>\n\n        <span class=\"dds-start-level\">\n          Univers aromatique\n        <\/span>\n\n      <\/div>\n\n      <span class=\"dds-start-label\">\n        Botanique et ar\u00f4mes\n      <\/span>\n\n      <h3 class=\"dds-start-card-title\">\n        Comprendre les terp\u00e8nes\n      <\/h3>\n\n      <p class=\"dds-start-card-text\">\n        D\u00e9couvrir l\u2019origine botanique des terp\u00e8nes, leurs familles\n        aromatiques, leur sensibilit\u00e9 \u00e0 la lumi\u00e8re, \u00e0 l\u2019air et \u00e0 la chaleur,\n        ainsi que leur r\u00f4le r\u00e9el dans la plante.\n      <\/p>\n\n      <div class=\"dds-start-points\">\n        <span>Botanique<\/span>\n        <span>Ar\u00f4mes<\/span>\n        <span>Conservation<\/span>\n      <\/div>\n\n      <span class=\"dds-start-link\">\n        Commencer ce parcours\n\n        <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n          <path d=\"M5 12h14\"><\/path>\n          <path d=\"M14 7l5 5-5 5\"><\/path>\n        <\/svg>\n      <\/span>\n\n    <\/a>\n\n  <\/nav>\n\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54d2276 elementor-widget elementor-widget-html\" data-id=\"54d2276\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\n     DDS \u2014 CENTRE DE CONNAISSANCES\n     BLOC 6 : NAVIGATION FINALE\n\n     Pr\u00e9fixe unique : dds-center-end-\n========================================================= -->\n\n<style>\n.dds-center-end{\n  --dds-end-green:#59ff9c;\n  --dds-end-gold:#f3b83f;\n  --dds-end-white:#f5f8f6;\n  --dds-end-text:#c8d2cc;\n  --dds-end-muted:#88938c;\n\n  display:grid;\n  grid-template-columns:1.25fr .75fr;\n  gap:14px;\n\n  width:min(1240px,calc(100% - 32px));\n  margin:36px auto 68px;\n  padding:14px;\n\n  border:1px solid rgba(89,255,156,.14);\n  border-radius:22px;\n\n  background:\n    radial-gradient(\n      circle at 20% 0%,\n      rgba(89,255,156,.06),\n      transparent 36%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(12,19,14,.95),\n      rgba(5,9,6,.99)\n    );\n\n  box-shadow:\n    0 22px 52px rgba(0,0,0,.32),\n    inset 0 1px 0 rgba(255,255,255,.02);\n}\n\n.dds-center-end-link{\n  --dds-end-accent:#59ff9c;\n  --dds-end-accent-rgb:89,255,156;\n\n  position:relative;\n  overflow:hidden;\n\n  display:flex;\n  align-items:center;\n  gap:15px;\n\n  min-height:88px;\n  padding:18px 20px;\n\n  color:var(--dds-end-white)!important;\n  text-decoration:none!important;\n\n  border:1px solid rgba(var(--dds-end-accent-rgb),.17);\n  border-radius:15px;\n\n  background:\n    radial-gradient(\n      circle at 92% 8%,\n      rgba(var(--dds-end-accent-rgb),.08),\n      transparent 34%\n    ),\n    rgba(255,255,255,.022);\n\n  transition:\n    transform .22s ease,\n    border-color .22s ease,\n    box-shadow .22s ease,\n    background .22s ease;\n}\n\n.dds-center-end-link::after{\n  content:\"\";\n  position:absolute;\n  left:20px;\n  right:20px;\n  bottom:0;\n  height:2px;\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      var(--dds-end-accent),\n      transparent\n    );\n\n  opacity:.62;\n}\n\n.dds-center-end-link:hover{\n  transform:translateY(-3px);\n  border-color:rgba(var(--dds-end-accent-rgb),.45);\n\n  background:\n    linear-gradient(\n      145deg,\n      rgba(var(--dds-end-accent-rgb),.06),\n      rgba(255,255,255,.025)\n    );\n\n  box-shadow:\n    0 16px 36px rgba(0,0,0,.3),\n    0 0 22px rgba(var(--dds-end-accent-rgb),.06);\n}\n\n.dds-center-end-link--home{\n  --dds-end-accent:#f3b83f;\n  --dds-end-accent-rgb:243,184,63;\n}\n\n.dds-center-end-icon{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  flex:0 0 44px;\n\n  width:44px;\n  height:44px;\n\n  color:var(--dds-end-accent)!important;\n\n  border:1px solid rgba(var(--dds-end-accent-rgb),.28);\n  border-radius:12px;\n\n  background:rgba(var(--dds-end-accent-rgb),.065);\n}\n\n.dds-center-end-icon svg{\n  width:21px;\n  height:21px;\n\n  fill:none;\n  stroke:currentColor;\n  stroke-width:2;\n}\n\n.dds-center-end-copy{\n  display:flex;\n  flex-direction:column;\n  min-width:0;\n}\n\n.dds-center-end-label{\n  margin-bottom:5px;\n\n  color:var(--dds-end-accent)!important;\n\n  font-size:9px;\n  font-weight:900;\n  line-height:1;\n  letter-spacing:.13em;\n  text-transform:uppercase;\n}\n\n.dds-center-end-title{\n  color:var(--dds-end-white)!important;\n\n  font-size:16px;\n  font-weight:850;\n  line-height:1.25;\n}\n\n.dds-center-end-text{\n  margin-top:4px;\n\n  color:var(--dds-end-muted)!important;\n\n  font-size:11px;\n  line-height:1.45;\n}\n\n.dds-center-end-arrow{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  margin-left:auto;\n  color:var(--dds-end-accent);\n\n  transition:transform .2s ease;\n}\n\n.dds-center-end-arrow svg{\n  width:20px;\n  height:20px;\n\n  fill:none;\n  stroke:currentColor;\n  stroke-width:2.2;\n}\n\n.dds-center-end-link:hover .dds-center-end-arrow{\n  transform:translateX(4px);\n}\n\n.dds-center-end-link:focus-visible{\n  outline:2px solid var(--dds-end-accent);\n  outline-offset:3px;\n}\n\n@media(max-width:767px){\n  .dds-center-end{\n    grid-template-columns:1fr;\n\n    width:calc(100% - 14px);\n    margin-bottom:44px;\n    padding:10px;\n\n    border-radius:18px;\n  }\n\n  .dds-center-end-link{\n    min-height:78px;\n    padding:16px;\n  }\n\n  .dds-center-end-text{\n    display:none;\n  }\n}\n\n@media(prefers-reduced-motion:reduce){\n  .dds-center-end-link,\n  .dds-center-end-arrow{\n    transition:none;\n  }\n}\n<\/style>\n\n<nav\n  class=\"dds-center-end\"\n  aria-label=\"Navigation finale du Centre de Connaissances DDS\"\n>\n   <a\n  class=\"dds-center-end-link\"\n  href=\"https:\/\/dealeurdesaveurs.com\/bibliotheque-dds\/\"\n>\n  <span class=\"dds-center-end-icon\" aria-hidden=\"true\">\n    <svg viewBox=\"0 0 24 24\">\n      <path d=\"M4 5h16\"><\/path>\n      <path d=\"M4 12h16\"><\/path>\n      <path d=\"M4 19h16\"><\/path>\n    <\/svg>\n  <\/span>\n\n  <span class=\"dds-center-end-copy\">\n\n    <span class=\"dds-center-end-label\">\n      Biblioth\u00e8que DDS\n    <\/span>\n\n    <span class=\"dds-center-end-title\">\n      Explorer tous les articles\n    <\/span>\n\n    <span class=\"dds-center-end-text\">\n      Retrouvez tous les guides, articles et analyses publi\u00e9s par th\u00e8me.\n    <\/span>\n\n  <\/span>\n\n  <span class=\"dds-center-end-arrow\" aria-hidden=\"true\">\n    <svg viewBox=\"0 0 24 24\">\n      <path d=\"M5 12h14\"><\/path>\n      <path d=\"M14 7l5 5-5 5\"><\/path>\n    <\/svg>\n  <\/span>\n<\/a>\n\n  <a\n    class=\"dds-center-end-link dds-center-end-link--home\"\n    href=\"https:\/\/dealeurdesaveurs.com\/\"\n  >\n    <span class=\"dds-center-end-icon\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M3 11.5L12 4l9 7.5\"><\/path>\n        <path d=\"M5.5 10.5V20h13v-9.5\"><\/path>\n        <path d=\"M9.5 20v-6h5v6\"><\/path>\n      <\/svg>\n    <\/span>\n\n    <span class=\"dds-center-end-copy\">\n      <span class=\"dds-center-end-label\">\n        Dealeur de Saveurs\n      <\/span>\n\n      <span class=\"dds-center-end-title\">\n        Retour \u00e0 l\u2019accueil\n      <\/span>\n\n      <span class=\"dds-center-end-text\">\n        Revenir \u00e0 la page principale du site.\n      <\/span>\n    <\/span>\n\n    <span class=\"dds-center-end-arrow\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 24 24\">\n        <path d=\"M5 12h14\"><\/path>\n        <path d=\"M14 7l5 5-5 5\"><\/path>\n      <\/svg>\n    <\/span>\n  <\/a>\n\n<\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>La science, la mati\u00e8re et les faits Centre de Connaissances DDS Que souhaitez-vous comprendre aujourd\u2019hui ? Une base documentaire consacr\u00e9e<\/p>","protected":false},"author":13,"featured_media":30675,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"footnotes":""},"class_list":["post-21583","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs<\/title>\n<meta name=\"description\" content=\"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dealeurdesaveurs.com\/en\/centre-de-connaissances-cbd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs\" \/>\n<meta property=\"og:description\" content=\"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dealeurdesaveurs.com\/en\/centre-de-connaissances-cbd\/\" \/>\n<meta property=\"og:site_name\" content=\"Dealeur de Saveurs\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-17T20:55:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/\",\"url\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/\",\"name\":\"Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png\",\"datePublished\":\"2026-01-25T02:16:47+00:00\",\"dateModified\":\"2026-07-17T20:55:26+00:00\",\"description\":\"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png\",\"contentUrl\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png\",\"width\":1536,\"height\":1024,\"caption\":\"Guides et ressources pour mieux comprendre le CBD, les cannabino\u00efdes et les terp\u00e8nes.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/centre-de-connaissances-cbd\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Centre de Connaissances CBD\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#website\",\"url\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/\",\"name\":\"Dealeurs de Saveurs\",\"description\":\"Fleurs CBD | R\u00e9sines CBD | Huiles CBD | Produits CBD En ligne\",\"publisher\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#organization\",\"name\":\"Dealeurs de Saveurs\",\"alternateName\":\"DDS\",\"url\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/1000080641_4ebf3b78bebd9c61b1c47ce765514c09-7_10_2025-1_49_05-PM_20251216_232622_0000.png\",\"contentUrl\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/1000080641_4ebf3b78bebd9c61b1c47ce765514c09-7_10_2025-1_49_05-PM_20251216_232622_0000.png\",\"width\":650,\"height\":690,\"caption\":\"Dealeurs de Saveurs\"},\"image\":{\"@id\":\"https:\\\/\\\/dealeurdesaveurs.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/dealeurdesaveurs\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs","description":"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.","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:\/\/dealeurdesaveurs.com\/en\/centre-de-connaissances-cbd\/","og_locale":"en_US","og_type":"article","og_title":"Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs","og_description":"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.","og_url":"https:\/\/dealeurdesaveurs.com\/en\/centre-de-connaissances-cbd\/","og_site_name":"Dealeur de Saveurs","article_modified_time":"2026-07-17T20:55:26+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs-1024x683.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/","url":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/","name":"Centre de Connaissances CBD : guides et ressources | Dealeur de Saveurs","isPartOf":{"@id":"https:\/\/dealeurdesaveurs.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/#primaryimage"},"image":{"@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/#primaryimage"},"thumbnailUrl":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png","datePublished":"2026-01-25T02:16:47+00:00","dateModified":"2026-07-17T20:55:26+00:00","description":"Explorez le Centre de Connaissances DDS : guides sur le CBD, les cannabino\u00efdes, les terp\u00e8nes, la qualit\u00e9, les usages et l\u2019\u00e9volution du secteur.","breadcrumb":{"@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/#primaryimage","url":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png","contentUrl":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/07\/Centre-de-Connaissances-CBD-\u2013-Dealeur-de-Saveurs.png","width":1536,"height":1024,"caption":"Guides et ressources pour mieux comprendre le CBD, les cannabino\u00efdes et les terp\u00e8nes."},{"@type":"BreadcrumbList","@id":"https:\/\/dealeurdesaveurs.com\/centre-de-connaissances-cbd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/dealeurdesaveurs.com\/"},{"@type":"ListItem","position":2,"name":"Centre de Connaissances CBD"}]},{"@type":"WebSite","@id":"https:\/\/dealeurdesaveurs.com\/#website","url":"https:\/\/dealeurdesaveurs.com\/","name":"Dealeurs de Saveurs","description":"Fleurs CBD | R\u00e9sines CBD | Huiles CBD | Produits CBD En ligne","publisher":{"@id":"https:\/\/dealeurdesaveurs.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dealeurdesaveurs.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dealeurdesaveurs.com\/#organization","name":"Dealeurs de Saveurs","alternateName":"DDS","url":"https:\/\/dealeurdesaveurs.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dealeurdesaveurs.com\/#\/schema\/logo\/image\/","url":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/02\/1000080641_4ebf3b78bebd9c61b1c47ce765514c09-7_10_2025-1_49_05-PM_20251216_232622_0000.png","contentUrl":"https:\/\/dealeurdesaveurs.com\/wp-content\/uploads\/2026\/02\/1000080641_4ebf3b78bebd9c61b1c47ce765514c09-7_10_2025-1_49_05-PM_20251216_232622_0000.png","width":650,"height":690,"caption":"Dealeurs de Saveurs"},"image":{"@id":"https:\/\/dealeurdesaveurs.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/dealeurdesaveurs"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/pages\/21583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/comments?post=21583"}],"version-history":[{"count":210,"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/pages\/21583\/revisions"}],"predecessor-version":[{"id":30745,"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/pages\/21583\/revisions\/30745"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/media\/30675"}],"wp:attachment":[{"href":"https:\/\/dealeurdesaveurs.com\/en\/wp-json\/wp\/v2\/media?parent=21583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}