{"id":2048,"date":"2026-09-02T12:55:36","date_gmt":"2026-09-02T10:55:36","guid":{"rendered":"https:\/\/peptelia.com\/protocoles-et-routines\/"},"modified":"2026-10-07T15:22:48","modified_gmt":"2026-10-07T13:22:48","slug":"protocoles-et-routines","status":"publish","type":"page","link":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/","title":{"rendered":"Protocoles et routines"},"content":{"rendered":"\n<div class=\"snx-g\">\n  <div class=\"snx-g__hero\">\n    <span class=\"snx-g__eyebrow\">Guide<\/span>\n    <h2 style=\"font-size:clamp(27px,3.6vw,40px);line-height:1.15;margin:0 0 12px;font-weight:800;letter-spacing:.3px;color:#fff\">Protocoles et routines<\/h2>\n    <p>Comment structurer une routine de recherche : planification, standardisation, documentation et contr\u00f4le.<\/p>\n  <\/div>\n\n  <p class=\"snx-g__lead\">Une bonne recherche repose sur la structure. Ce n\u2019est pas la substance seule qui fait la valeur d\u2019une observation, mais le soin avec lequel le travail est planifi\u00e9, pr\u00e9par\u00e9 et document\u00e9. Et comme un protocole commence toujours par la s\u00e9lection des produits, vous pouvez la composer ici en un clic.  <\/p>\n\n  <!-- ===================== PROTOKOLL-BUILDER ===================== -->\n  <div class=\"snx-pb\" id=\"snxPB\">\n    <div class=\"snx-pb__top\">\n      <h2>Choisir un protocole<\/h2>\n      <p>S\u00e9lectionnez un domaine \u2013 la s\u00e9lection correspondante appara\u00eet ci-dessous. Vous pourrez ajuster les quantit\u00e9s ensuite dans le panier. <\/p>\n    <\/div>\n    <div class=\"snx-pb__body\">\n      <p class=\"snx-pb__pl\">1 \u00b7 Choix du domaine<\/p>\n      <div class=\"snx-pb__protos\" id=\"snxPBProtos\"><\/div>\n\n      <div id=\"snxPBOverview\" class=\"snx-pb__loading\">Chargement des produits\u2026<\/div>\n    <\/div>\n  <\/div>\n  <!-- =================== ENDE PROTOKOLL-BUILDER =================== -->\n\n  <h2>Ce qui fait un protocole<\/h2>\n  <p>Un protocole est un d\u00e9roulement fixe et reproductible : quel compos\u00e9, \u00e0 quelle concentration, sur quelle dur\u00e9e, dans quelles conditions. La valeur r\u00e9side dans <strong>la reproductibilit\u00e9<\/strong> \u2013 seul ce qui est pr\u00e9par\u00e9 et document\u00e9 de la m\u00eame mani\u00e8re peut \u00eatre compar\u00e9 ult\u00e9rieurement. <\/p>\n  <p>Nous parlons d\u00e9lib\u00e9r\u00e9ment de protocoles et de routines, pas de \u00ab stacks \u00bb. Ces termes mettent en avant l\u2019essentiel : un d\u00e9roulement tra\u00e7able et document\u00e9 plut\u00f4t qu\u2019une combinaison arbitraire. <\/p>\n\n  <h2>Les quatre piliers d\u2019une routine rigoureuse<\/h2>\n  <ul>\n    <li>\n<strong>Planification.<\/strong>  Avant la premi\u00e8re pr\u00e9paration se posent les questions de l\u2019objectif, du compos\u00e9, de la concentration et du calendrier. Le <a href=\"https:\/\/peptelia.com\/fr\/calculatrice-de-peptides\/\">calculateur de peptides<\/a> aide \u00e0 d\u00e9terminer la concentration et le nombre de pr\u00e9l\u00e8vements \u00e0 partir du contenu du flacon et du volume de solution. <\/li>\n    <li>\n<strong>Standardisation.<\/strong>  M\u00eame reconstitution, m\u00eame eau, m\u00eame stockage. Tout \u00e9cart non document\u00e9 rend les r\u00e9sultats impossibles \u00e0 comparer. <\/li>\n    <li>\n<strong>Documentation.<\/strong>  Le lot, la date de pr\u00e9paration, la concentration, les conditions de stockage et chaque pr\u00e9l\u00e8vement sont consign\u00e9s \u2013 id\u00e9alement avec le certificat d\u2019analyse sp\u00e9cifique au lot comme r\u00e9f\u00e9rence.<\/li>\n    <li>\n<strong>Contr\u00f4le.<\/strong> Contr\u00f4le visuel avant chaque pr\u00e9l\u00e8vement (turbidit\u00e9, changement de couleur, particules) et v\u00e9rification de la dur\u00e9e de conservation \u00e0 l\u2019aide du <a href=\"https:\/\/peptelia.com\/fr\/stockage-et-duree-de-conservation\/\">guide de stockage<\/a>.<\/li>\n  <\/ul>\n\n  <div class=\"snx-g__band\">\n    <h2>La constance l\u2019emporte sur la complexit\u00e9<\/h2>\n    <p>L\u2019erreur la plus courante n\u2019est pas le mauvais compos\u00e9, mais une pr\u00e9paration qui change sans cesse : tant\u00f4t plus de volume, tant\u00f4t moins, tant\u00f4t de l\u2019eau st\u00e9rile, tant\u00f4t de l\u2019eau bact\u00e9riostatique, sans aucune note. Une routine simple et toujours identique fournit des observations plus fiables qu\u2019un d\u00e9roulement complexe qui diff\u00e8re \u00e0 chaque fois. <\/p>\n  <\/div>\n\n  <h2>O\u00f9 s\u2019arr\u00eate ce guide<\/h2>\n  <p>Cette page d\u00e9crit la <em>structure<\/em> des routines de recherche \u2013 pas leur contenu. Les suggestions et le g\u00e9n\u00e9rateur de protocoles rassemblent des produits pour le panier et ne constituent aucune indication sur l\u2019utilisation, le dosage ou l\u2019effet ; le regroupement suit les cat\u00e9gories de la boutique. Pept\u00e9lia ne donne d\u00e9lib\u00e9r\u00e9ment aucune recommandation d\u2019utilisation propre \u00e0 une substance. Les compos\u00e9s concern\u00e9s ne sont autoris\u00e9s comme m\u00e9dicaments dans aucun pays ; il n\u2019existe ni utilisation ni dosage officiellement valid\u00e9s. Les questions sp\u00e9cifiques rel\u00e8vent de professionnels qualifi\u00e9s.    <\/p>\n\n  <p class=\"snx-g__note\">Toutes les informations fournies sont uniquement \u00e0 des fins g\u00e9n\u00e9rales, scientifiques et de recherche. Les produits propos\u00e9s par Pept\u00e9lia ne sont pas destin\u00e9s \u00e0 la consommation humaine ou animale. Cette page ne constitue pas un manuel d\u2019instructions pour l\u2019utilisation, une recommandation de dosage ou un avis m\u00e9dical. Si vous avez des questions de sant\u00e9, veuillez consulter un professionnel m\u00e9dical ou pharmaceutique.   <\/p>\n<\/div>\n\n<script>\n(function(){\n  var CAT = {stoffwechsel:\"M\u00e9tabolisme\", regeneration:\"R\u00e9g\u00e9n\u00e9ration\", antiaging:\"Peau et cellule\", neuro:\"Neurocognition\", kapseln:\"Capsules\", nasensprays:\"Sprays nasaux\"};\n  var ICON = {\n    regeneration:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 12h4l2 5 4-10 2 5h6\"\/><\/svg>',\n    stoffwechsel:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3s5 4 5 9a5 5 0 0 1-10 0c0-1.5.7-2.8 1.5-3.8\"\/><\/svg>',\n    antiaging:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3l2 5 5 2-5 2-2 5-2-5-5-2 5-2z\"\/><\/svg>',\n    neuro:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"7\" cy=\"8\" r=\"2.4\"\/><circle cx=\"17\" cy=\"7\" r=\"2.4\"\/><circle cx=\"15\" cy=\"17\" r=\"2.4\"\/><path d=\"M9 9l6-1M15.5 9l-.6 5.6\"\/><\/svg>',\n    kapseln:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"8\" width=\"18\" height=\"8\" rx=\"4\" transform=\"rotate(-35 12 12)\"\/><path d=\"M9 8.5l5.5 7\"\/><\/svg>',\n    nasensprays:'<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 8h6v13H9z\"\/><path d=\"M10 8V6a2 2 0 0 1 2-2h0a2 2 0 0 1 2 2v2\"\/><path d=\"M12 2v1M8 3l1 1M16 3l-1 1\"\/><\/svg>'\n  };\n  var PROTOS = [\n    {key:\"regeneration\", name:\"R\u00e9g\u00e9n\u00e9ration et r\u00e9cup\u00e9ration\", desc:\"Tissus, tendons, r\u00e9cup\u00e9ration\", handles:[\"forschungs-set-bpc-157-tb-500\"]},\n    {key:\"stoffwechsel\", name:\"M\u00e9tabolisme\", desc:\"Recherche m\u00e9tabolique\", handles:[\"retatrutide-glp-3-peptid-10mg\"]},\n    {key:\"antiaging\", name:\"Peau et cellule\", desc:\"Peau, vieillissement cellulaire, long\u00e9vit\u00e9\", handles:[\"ghk-cu-forschungspeptid-70mg\",\"nad-forschungssubstanz-500-mg\"]},\n    {key:\"neuro\", name:\"\u00c9quilibre mental\", desc:\"Concentration, humeur, neuroprotection\", handles:[\"selank-forschungspeptid-10mg\",\"semax-neuro-peptid-10mg\"]},\n    {key:\"kapseln\", name:\"Gamme capsules\", desc:\"Formulations en capsules dos\u00e9es avec pr\u00e9cision\", handles:[\"retatrutide-kapseln-60-kapseln\",\"bpc-157-tb-500-kapseln-60-kapseln\"]},\n    {key:\"nasensprays\", name:\"Gamme sprays nasaux\", desc:\"Formulations en spray dosables\", handles:[\"selank-nasenspray-20-mg-10-ml\",\"bpc-157-nasenspray-10-mg-10-ml\"]}\n  ];\n  var ADDON = [\n    {h:\"retatrutide-glp-3-forschungspeptid\", f:\"stoffwechsel\"},\n    {h:\"retatrutide-glp-3-peptid-10mg\", f:\"stoffwechsel\"},\n    {h:\"retatrutide-glp-3-peptid-15mg\", f:\"stoffwechsel\"},\n    {h:\"slu-pp-332-forschungspeptid-5-mg\", f:\"stoffwechsel\"},\n    {h:\"slu-pp-332-forschungspeptid-10-mg\", f:\"stoffwechsel\"},\n    {h:\"aod-9604-forschungspeptid-5-mg\", f:\"stoffwechsel\"},\n    {h:\"mots-c-forschungspeptid-10-mg\", f:\"stoffwechsel\"},\n    {h:\"tesamorelin-forschungspeptid-5-mg\", f:\"stoffwechsel\"},\n    {h:\"forschungs-set-bpc-157-tb-500\", f:\"regeneration\"},\n    {h:\"bpc-157-forschungspeptid-10-mg\", f:\"regeneration\"},\n    {h:\"tb-500-forschungspeptid-10mg\", f:\"regeneration\"},\n    {h:\"tb-500-forschungspeptid-15mg\", f:\"regeneration\"},\n    {h:\"kpv-forschungspeptid-10-mg\", f:\"regeneration\"},\n    {h:\"ipamorelin-forschungspeptid-10-mg\", f:\"regeneration\"},\n    {h:\"cjc-1295-forschungspeptid-5-mg\", f:\"regeneration\"},\n    {h:\"ghk-cu-forschungspeptid\", f:\"antiaging\"},\n    {h:\"ghk-cu-forschungspeptid-70mg\", f:\"antiaging\"},\n    {h:\"ghk-cu-kupfer-peptid-100mg\", f:\"antiaging\"},\n    {h:\"ahk-cu-forschungspeptid-20-mg\", f:\"antiaging\"},\n    {h:\"nad-forschungssubstanz-500-mg\", f:\"antiaging\"},\n    {h:\"nad-forschungssubstanz-1000-mg\", f:\"antiaging\"},\n    {h:\"ss-31-forschungspeptid-10-mg\", f:\"antiaging\"},\n    {h:\"selank-forschungspeptid-5mg\", f:\"neuro\"},\n    {h:\"selank-forschungspeptid-10mg\", f:\"neuro\"},\n    {h:\"semax-neuropeptid-5mg\", f:\"neuro\"},\n    {h:\"semax-neuro-peptid-10mg\", f:\"neuro\"},\n    {h:\"dsip-forschungspeptid-10-mg\", f:\"neuro\"},\n    {h:\"retatrutide-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"bpc-157-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"tb-500-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"bpc-157-tb-500-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"ghk-cu-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"klow-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"nad-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"mots-c-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"kpv-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"slu-pp-332-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"5-amino-1mq-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"methylenblau-kapseln-60-kapseln\", f:\"kapseln\"},\n    {h:\"selank-nasenspray-20-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"bpc-157-nasenspray-10-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"nad-nasenspray-500-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"dsip-nasenspray-10-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"oxytocin-acetat-nasenspray-20-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"epitalon-nasenspray-20-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"kpv-nasenspray-10-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"ipamorelin-nasenspray-10-mg-10-ml\", f:\"nasensprays\"},\n    {h:\"melanotan-ii-nasenspray-10-mg-10-ml\", f:\"nasensprays\"}\n  ];\n  var FIELDOF = {};\n  ADDON.forEach(function(a){ FIELDOF[a.h]=a.f; });\n  PROTOS.forEach(function(p){ p.handles.forEach(function(h){ if(!FIELDOF[h]) FIELDOF[h]=\"regeneration\"; }); });\n  var FIELD_ORDER = [\"stoffwechsel\",\"regeneration\",\"antiaging\",\"neuro\",\"kapseln\",\"nasensprays\"];\n\n  var protosEl = document.getElementById(\"snxPBProtos\");\n  var ovWrap = document.getElementById(\"snxPBOverview\");\n\n  var MAP = {};\n  var state = {};\n  function eur(c){ return (c\/100).toLocaleString(\"de-DE\",{minimumFractionDigits:2,maximumFractionDigits:2})+\" \u20ac\"; }\n\n  PROTOS.forEach(function(pr){\n    var b = document.createElement(\"button\");\n    b.type = \"button\";\n    b.className = \"snx-pb__proto\"; b.setAttribute(\"data-p\", pr.key);\n    b.innerHTML = '<span class=\"ic\">'+ICON[pr.key]+'<\/span><span class=\"tx\"><strong>'+pr.name+'<\/strong><small>'+pr.desc+'<\/small><\/span>';\n    b.addEventListener(\"click\", function(){ selectProto(pr.key); });\n    protosEl.appendChild(b);\n  });\n\n  function itemMarkup(h){\n    var it = MAP[h]; if(!it) return \"\";\n    var gebHtml = \"\";\n    if(it.hasGeb){\n      gebHtml = '<div class=\"snx-ov__geb\" data-h=\"'+h+'\">';\n      it.variants.forEach(function(v){\n        var save = it.base ? Math.round((1-((v.price\/v.vials)\/it.base))*100) : 0;\n        gebHtml += '<button type=\"button\" data-vid=\"'+v.vid+'\" data-price=\"'+v.price+'\" data-vials=\"'+v.vials+'\"'+(v.vials===1?' class=\"is-sel\"':'')+'>'+v.label+(save>0?'<span class=\"s\">\u2212'+save+'%<\/span>':'')+'<\/button>';\n      });\n      gebHtml += '<\/div>';\n    }\n    return '<div class=\"snx-ov__item is-on\" data-h=\"'+h+'\">'+\n      '<img decoding=\"async\" class=\"snx-ov__thumb\" src=\"'+it.img+'\" alt=\"\" loading=\"lazy\">'+\n      '<div class=\"snx-ov__meta\">'+\n        '<div class=\"snx-ov__cat\">'+CAT[FIELDOF[h]]+'<\/div>'+\n        '<h4>'+it.title+'<\/h4>'+\n        gebHtml+\n      '<\/div>'+\n      '<div class=\"snx-ov__price\" data-price>'+eur(it.price)+'<\/div>'+\n      '<label class=\"snx-ov__inc\"><input type=\"checkbox\" checked><\/label>'+\n    '<\/div>';\n  }\n\n  function wireRow(row){\n    var h = row.getAttribute(\"data-h\");\n    var cb = row.querySelector(\".snx-ov__inc input\");\n    cb.addEventListener(\"change\", function(){\n      state[h].included = cb.checked;\n      row.classList.toggle(\"is-off\", !cb.checked);\n      refresh();\n    });\n    var geb = row.querySelector(\".snx-ov__geb\");\n    if(geb){\n      var priceEl = row.querySelector(\".snx-ov__price\");\n      geb.querySelectorAll(\"button\").forEach(function(gb){\n        gb.addEventListener(\"click\", function(){\n          geb.querySelectorAll(\"button\").forEach(function(x){x.classList.remove(\"is-sel\");});\n          gb.classList.add(\"is-sel\");\n          state[h].vid = parseInt(gb.getAttribute(\"data-vid\"),10);\n          state[h].price = parseInt(gb.getAttribute(\"data-price\"),10);\n          state[h].vials = parseInt(gb.getAttribute(\"data-vials\"),10);\n          priceEl.textContent = eur(state[h].price);\n          refresh();\n        });\n      });\n    }\n  }\n\n  function addState(h){\n    var it = MAP[h]; if(!it) return;\n    state[h] = {vid:it.vid, price:it.price, vials:1, included:true};\n  }\n\n  function selectProto(key){\n    protosEl.querySelectorAll(\".snx-pb__proto\").forEach(function(x){ x.classList.toggle(\"is-active\", x.getAttribute(\"data-p\")===key); });\n    var pr = PROTOS.filter(function(p){return p.key===key;})[0];\n    state = {};\n    var rows = \"\";\n    pr.handles.forEach(function(h){ if(MAP[h]){ addState(h); rows += itemMarkup(h); } });\n    if(!rows){\n      ovWrap.className=\"\"; ovWrap.innerHTML = '<div class=\"snx-ov\"><div class=\"snx-ov__head\"><h3>Indisponible pour le moment<\/h3><p>Ce protocole ne peut pas \u00eatre charg\u00e9 actuellement.<\/p><\/div><\/div>';\n      return;\n    }\n    ovWrap.className=\"\";\n    ovWrap.innerHTML =\n      '<p class=\"snx-pb__pl\" style=\"margin-top:26px\">2 \u00b7 Votre s\u00e9lection<\/p>'+\n      '<div class=\"snx-ov\">'+\n        '<div class=\"snx-ov__head\"><h3>'+pr.name+'<\/h3><p>'+pr.desc+' \u00b7 Vous pouvez ajouter ou retirer des articles librement.<\/p><\/div>'+\n        '<div class=\"snx-ov__list\" id=\"ovList\">'+rows+'<\/div>'+\n        '<div class=\"snx-ov__add\">'+\n          '<label>Ajouter d\u2019autres produits<\/label>'+\n          '<div class=\"snx-ov__fields\" id=\"ovFields\"><\/div>'+\n          '<div class=\"snx-ov__pick\" id=\"ovPick\"><\/div>'+\n        '<\/div>'+\n        '<div class=\"snx-ov__foot\">'+\n          '<div class=\"snx-ov__sum\"><small id=\"ovCount\"><\/small><strong id=\"ovTotal\">0,00 \u20ac<\/strong><small id=\"ovSave\" class=\"snx-ov__save\" style=\"display:none\"><\/small><\/div>'+\n          '<button type=\"button\" class=\"snx-pb__add\" id=\"ovAdd\">Ajouter le protocole au panier<\/button>'+\n        '<\/div>'+\n        '<p class=\"snx-ov__hint\">Vous ajusterez les quantit\u00e9s ensuite dans le panier.<\/p>'+\n        '<p class=\"snx-pb__msg\" id=\"ovMsg\"><\/p>'+\n      '<\/div>';\n\n    ovWrap.querySelectorAll(\".snx-ov__item\").forEach(wireRow);\n    document.getElementById(\"ovAdd\").addEventListener(\"click\", addToCart);\n\n    var fieldsAvail = FIELD_ORDER.filter(function(f){ return ADDON.some(function(a){ return a.f===f; }); });\n    var fieldsEl = document.getElementById(\"ovFields\");\n    var pickEl = document.getElementById(\"ovPick\");\n    fieldsEl.innerHTML = fieldsAvail.map(function(f){ return '<button type=\"button\" data-f=\"'+f+'\">'+CAT[f]+'<\/button>'; }).join(\"\");\n    var activeField = fieldsAvail[0];\n    function renderPick(){\n      fieldsEl.querySelectorAll(\"button\").forEach(function(x){ x.classList.toggle(\"is-active\", x.getAttribute(\"data-f\")===activeField); });\n      var items = ADDON.filter(function(a){ return a.f===activeField; }).filter(function(a){ return MAP[a.h]; });\n      pickEl.innerHTML = items.map(function(a){\n        var added = !!document.querySelector('#ovList .snx-ov__item[data-h=\"'+a.h+'\"]');\n        return '<div class=\"pick-row\" data-h=\"'+a.h+'\"><div class=\"pick-meta\"><span class=\"pick-name\">'+MAP[a.h].title+'<\/span><span class=\"pick-price\">'+eur(MAP[a.h].price)+'<\/span><\/div>'+\n          '<button type=\"button\" class=\"pick-add'+(added?' added':'')+'\" data-h=\"'+a.h+'\"'+(added?' disabled':'')+'>'+(added?'\u2713 Ajout\u00e9':'+ Ajouter')+'<\/button><\/div>';\n      }).join(\"\");\n    }\n    function markAdded(h){\n      var b = pickEl.querySelector('.pick-add[data-h=\"'+h+'\"]');\n      if(b){ b.classList.add(\"added\"); b.disabled=true; b.textContent=\"\u2713 Ajout\u00e9\"; }\n    }\n    fieldsEl.addEventListener(\"click\", function(e){ var b=e.target.closest(\"button\"); if(!b) return; activeField=b.getAttribute(\"data-f\"); renderPick(); });\n    pickEl.addEventListener(\"click\", function(e){ var b=e.target.closest(\".pick-add\"); if(!b || b.disabled) return; var h=b.getAttribute(\"data-h\"); addProduct(h); markAdded(h); });\n    renderPick();\n\n    refresh();\n  }\n\n  function addProduct(h){\n    var list = document.getElementById(\"ovList\"); if(!list || !MAP[h]) return;\n    var existing = list.querySelector('.snx-ov__item[data-h=\"'+h+'\"]');\n    if(existing){\n      var cb = existing.querySelector(\".snx-ov__inc input\");\n      if(cb){ if(!cb.checked){ cb.checked=true; cb.dispatchEvent(new Event(\"change\")); } }\n      flash(existing); return;\n    }\n    addState(h);\n    var tmp = document.createElement(\"div\"); tmp.innerHTML = itemMarkup(h);\n    var row = tmp.firstChild;\n    list.appendChild(row);\n    wireRow(row);\n    flash(row);\n    refresh();\n  }\n\n  function flash(row){\n    row.classList.add(\"just-added\");\n    setTimeout(function(){ row.classList.remove(\"just-added\"); }, 900);\n  }\n\n  function refresh(){\n    var msg = document.getElementById(\"ovMsg\"); if(msg){ if(!msg.classList.contains(\"keep\")){ msg.textContent=\"\"; msg.className=\"snx-pb__msg\"; } }\n    var inc = Object.keys(state).filter(function(h){return state[h].included;});\n    var total=0, saved=0;\n    inc.forEach(function(h){\n      var s = state[h], it = MAP[h];\n      total += s.price;\n      if(it){ if(it.base){ if(s.vials>1){ saved += (it.base*s.vials - s.price); } } }\n    });\n    var cEl=document.getElementById(\"ovCount\"), tEl=document.getElementById(\"ovTotal\"), sEl=document.getElementById(\"ovSave\"), aBtn=document.getElementById(\"ovAdd\");\n    if(cEl) cEl.textContent = inc.length + (inc.length===1?\" article\":\" articles\");\n    if(tEl) tEl.textContent = eur(total);\n    if(sEl){ if(saved>0){ sEl.style.display=\"\"; sEl.textContent=\"Vous \u00e9conomisez \"+eur(saved); } else { sEl.style.display=\"none\"; } }\n    if(aBtn) aBtn.disabled = inc.length===0;\n  }\n\n  var API = \"\/wp-json\/wc\/store\/v1\/\";\n  function addToCart(){\n    var aBtn=document.getElementById(\"ovAdd\"), msg=document.getElementById(\"ovMsg\");\n    var items = Object.keys(state).filter(function(h){return state[h].included;}).map(function(h){ return {id:state[h].vid, quantity:1}; });\n    if(!items.length) return;\n    aBtn.disabled=true; msg.className=\"snx-pb__msg keep\"; msg.textContent=\"Ajout en cours \u2026\";\n    fetch(API+\"cart\",{credentials:\"same-origin\"}).then(function(r){ return r.headers.get(\"Nonce\")||r.headers.get(\"nonce\")||\"\"; })\n      .then(function(nonce){\n        var hd={\"Content-Type\":\"application\/json\"}; if(nonce) hd[\"Nonce\"]=nonce;\n        return items.reduce(function(p,it){ return p.then(function(){\n          return fetch(API+\"cart\/add-item\",{method:\"POST\",credentials:\"same-origin\",headers:hd,body:JSON.stringify({id:it.id,quantity:it.quantity})})\n            .then(function(r){ if(!r.ok) throw new Error(\"cart\"); return r.json(); });\n        }); }, Promise.resolve());\n      })\n      .then(function(){\n        msg.className=\"snx-pb__msg ok keep\"; msg.textContent=\"Protocole ajout\u00e9. \";var pal=document.createElement(\"a\");pal.setAttribute(\"hr\"+\"ef\",\"\/fr\/panier\/\");pal.textContent=\"Vers le panier \u2192\";msg.appendChild(pal);\n        try{ document.body.dispatchEvent(new CustomEvent(\"wc-blocks_added_to_cart\",{bubbles:true})); }catch(e){}\n        aBtn.disabled=false;\n      })\n      .catch(function(){ msg.className=\"snx-pb__msg err keep\"; msg.innerHTML=\"Un probl\u00e8me est survenu lors de l\u2019ajout. Vous pouvez aussi ajouter les articles un par un depuis les fiches produits, ou r\u00e9essayer apr\u00e8s avoir recharg\u00e9 la page.\"; aBtn.disabled=false; });\n  }\n\n  function fetchJSON(u,tries){\n    if(tries==null) tries=3;\n    return fetch(u,{credentials:\"same-origin\"}).then(function(r){\n      if(r.ok) return r.json();\n      if(tries>0) return new Promise(function(res){ setTimeout(res, 600+Math.random()*400); }).then(function(){ return fetchJSON(u,tries-1); });\n      return [];\n    }).catch(function(){\n      if(tries>0) return new Promise(function(res){ setTimeout(res, 600+Math.random()*400); }).then(function(){ return fetchJSON(u,tries-1); });\n      return [];\n    });\n  }\n  function loadProduct(h){\n    return fetchJSON(API+\"products?slug=\"+encodeURIComponent(h))\n      .then(function(arr){\n        var j = arr ? arr[0] : null; if(!j) return;\n        var img = (j.images && j.images[0] && (j.images[0].thumbnail || j.images[0].src)) || \"\";\n        var title = (j.name||\"\").replace(\/\\s*\\(Retatrutide\\)\\s*\/g,\" \").replace(\/\\s*\u2013\\s*(Forschungspeptid|Forschungssubstanz|Forschungsprotein|Dreifachagonist|Neuropeptid|Neuro-Peptid|Peptid)\\b\\s*\/g,\" \").replace(\/\\s+\/g,\" \").trim();\n        if(j.is_purchasable===false) return;\n        MAP[h] = {title:title,img:img,hasGeb:false,vid:j.id,price:parseInt(j.prices ? j.prices.price : \"0\",10)||0,base:null};\n      })\n      .catch(function(){});\n  }\n\n  var ALL = {};\n  PROTOS.forEach(function(pr){ pr.handles.forEach(function(h){ ALL[h]=1; }); });\n  ADDON.forEach(function(a){ ALL[a.h]=1; });\n  (function(){\n    var keys = Object.keys(ALL), i = 0;\n    function lane(){ if(i>=keys.length) return Promise.resolve(); var h=keys[i++]; return loadProduct(h).then(lane); }\n    var lanes=[]; for(var k=0;k<Math.min(4,keys.length);k++) lanes.push(lane());\n    Promise.all(lanes).then(function(){ selectProto(PROTOS[0].key); });\n  })();\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"<p>Guide Protocoles et routines Comment structurer une routine de recherche : planification, standardisation, documentation et contr\u00f4le. Une bonne recherche repose sur la structure. Ce n\u2019est pas la substance seule qui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_templately_pack_id":"","_templately_imported_at":"","_templately_source":"","_templately_import_session_id":"","footnotes":""},"class_list":["post-2048","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Protocoles &amp; Routines \u2013 avec Protocol Builder | Pept\u00e9lia<\/title>\n<meta name=\"description\" content=\"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Protocoles &amp; Routines \u2013 avec Protocol Builder | Pept\u00e9lia\" \/>\n<meta property=\"og:description\" content=\"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/\" \/>\n<meta property=\"og:site_name\" content=\"Pept\u00e9lia\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-07T13:22:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/peptelia.com\/wp-content\/uploads\/2026\/07\/peptelia-hero-vial.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/protocoles-et-routines\\\/\",\"url\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/protocoles-et-routines\\\/\",\"name\":\"Protocoles & Routines \u2013 avec Protocol Builder | Pept\u00e9lia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#website\"},\"datePublished\":\"2026-09-02T10:55:36+00:00\",\"dateModified\":\"2026-10-07T13:22:48+00:00\",\"description\":\"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/protocoles-et-routines\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/peptelia.com\\\/fr\\\/protocoles-et-routines\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/protocoles-et-routines\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/achetez-des-peptides-de-recherche-chaque-lot-teste-par-coa\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Protocoles et routines\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/\",\"name\":\"Pept\u00e9lia\",\"description\":\"Peptide GLP-1, GLP-2 &amp; GLP-3 \u2013 COA-verifiziert\",\"publisher\":{\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#organization\"},\"alternateName\":\"Peptelia Peptides\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#organization\",\"name\":\"Pept\u00e9lia\",\"url\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/peptelia.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/peptelia-logo-blue-r.png.webp\",\"contentUrl\":\"https:\\\/\\\/peptelia.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/peptelia-logo-blue-r.png.webp\",\"width\":300,\"height\":254,\"caption\":\"Pept\u00e9lia\"},\"image\":{\"@id\":\"https:\\\/\\\/peptelia.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Protocoles & Routines \u2013 avec Protocol Builder | Pept\u00e9lia","description":"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.","robots":{"index":"noindex","follow":"follow"},"og_locale":"fr_FR","og_type":"article","og_title":"Protocoles & Routines \u2013 avec Protocol Builder | Pept\u00e9lia","og_description":"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.","og_url":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/","og_site_name":"Pept\u00e9lia","article_modified_time":"2026-10-07T13:22:48+00:00","og_image":[{"url":"https:\/\/peptelia.com\/wp-content\/uploads\/2026\/07\/peptelia-hero-vial.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/","url":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/","name":"Protocoles & Routines \u2013 avec Protocol Builder | Pept\u00e9lia","isPartOf":{"@id":"https:\/\/peptelia.com\/fr\/#website"},"datePublished":"2026-09-02T10:55:36+00:00","dateModified":"2026-10-07T13:22:48+00:00","description":"Comment structurer une routine de recherche, avec un constructeur de protocoles interactif : choisir le domaine, ajuster la s\u00e9lection, ajouter au panier.","breadcrumb":{"@id":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/peptelia.com\/fr\/protocoles-et-routines\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/peptelia.com\/fr\/protocoles-et-routines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/peptelia.com\/fr\/achetez-des-peptides-de-recherche-chaque-lot-teste-par-coa\/"},{"@type":"ListItem","position":2,"name":"Protocoles et routines"}]},{"@type":"WebSite","@id":"https:\/\/peptelia.com\/fr\/#website","url":"https:\/\/peptelia.com\/fr\/","name":"Pept\u00e9lia","description":"Peptide GLP-1, GLP-2 &amp; GLP-3 \u2013 COA-verifiziert","publisher":{"@id":"https:\/\/peptelia.com\/fr\/#organization"},"alternateName":"Peptelia Peptides","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/peptelia.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/peptelia.com\/fr\/#organization","name":"Pept\u00e9lia","url":"https:\/\/peptelia.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/peptelia.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/peptelia.com\/wp-content\/uploads\/2026\/09\/peptelia-logo-blue-r.png.webp","contentUrl":"https:\/\/peptelia.com\/wp-content\/uploads\/2026\/09\/peptelia-logo-blue-r.png.webp","width":300,"height":254,"caption":"Pept\u00e9lia"},"image":{"@id":"https:\/\/peptelia.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/pages\/2048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/comments?post=2048"}],"version-history":[{"count":26,"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/pages\/2048\/revisions"}],"predecessor-version":[{"id":3734,"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/pages\/2048\/revisions\/3734"}],"wp:attachment":[{"href":"https:\/\/peptelia.com\/fr\/wp-json\/wp\/v2\/media?parent=2048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}