{"id":16079,"date":"2026-02-19T12:59:34","date_gmt":"2026-02-19T19:59:34","guid":{"rendered":"https:\/\/steelmax.com\/?page_id=16079"},"modified":"2026-02-20T11:06:25","modified_gmt":"2026-02-20T18:06:25","slug":"configuration-test","status":"publish","type":"page","link":"https:\/\/steelmax.com\/fr\/configuration-test\/","title":{"rendered":"Test de configuration"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1560px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p><style>\na {\n    text-decoration: none;\n    color: #464feb;\n}\ntr th, tr td {\n    border: 1px solid #e6e6e6;\n}\ntr th {\n    background-color: #f5f5f5;\n}\n<\/style>\n<\/p>\n<div>[steelmax_drill_finder data=&#8221;https:\/\/steelmax.com\/wp-content\/uploads\/2026\/02\/Hole-Making-URL.csv&#8221;]<\/div>\n<\/div><a class=\"fusion-modal-text-link\" href=\"#\"><\/p>\n<section id=\"smx-drill-finder\" class=\"smx-drill-finder\"\n         data-json=\"https:\/\/your-site\/wp-content\/uploads\/steelmax_mag_drills_v3.json\"><\/p>\n<form class=\"smx-form\">\n<div class=\"smx-field\">\n      <label>Hazardous\/ATEX environment?<\/label><br \/>\n      <select id=\"smx-atex\" required><option value=\"no\" selected>No<\/option><option value=\"yes\">Yes (no electricity allowed; ATEX only)<\/option><\/select><br \/>\n      <small class=\"smx-help\"><br \/>\n        In explosive\/wet atmospheres, pneumatic + permanent magnet ATEX drills (no external electricity) are required.<br \/>\n      <\/small>\n    <\/div>\n<div class=\"smx-field\">\n      <label>Material being cut<\/label><br \/>\n      <select id=\"smx-material\" required><option value=\"mild_steel\">Mild steel \/ carbon steel<\/option><option value=\"stainless\">Stainless steel (see magnet note)<\/option><option value=\"other\">Other (ferromagnetic)<\/option><\/select><br \/>\n      <small class=\"smx-help\"><br \/>\n        Mag drills adhere to <strong>ferromagnetic<\/strong> surfaces (steel\/iron). Non?ferrous surfaces require a fixturing\/backer.<br \/>\n      <\/small>\n    <\/div>\n<div class=\"smx-row\">\n<div class=\"smx-field\">\n        <label>Depth of cut required (mm)<\/label><br \/>\n        <input id=\"smx-depth\" type=\"number\" min=\"5\" max=\"120\" step=\"1\" required>\n      <\/div>\n<div class=\"smx-field\">\n        <label>Hole diameter (mm)<\/label><br \/>\n        <input id=\"smx-diameter\" type=\"number\" min=\"5\" max=\"152\" step=\"1\" required>\n      <\/div>\n<\/p><\/div>\n<div class=\"smx-row\">\n<div class=\"smx-field\">\n        <label>Number of holes (per job)<\/label><br \/>\n        <select id=\"smx-holes\" required><option value=\"few\">1\u201310<\/option><option value=\"dozens\">11\u201350<\/option><option value=\"many\">50+<\/option><\/select>\n      <\/div>\n<div class=\"smx-field\">\n        <label>Reverse needed (for tapping\/deburr)?<\/label><br \/>\n        <select id=\"smx-reverse\" required><option value=\"no\">No<\/option><option value=\"yes\">Yes<\/option><\/select>\n      <\/div>\n<\/p><\/div>\n<div class=\"smx-row\">\n<div class=\"smx-field\">\n        <label>Prefer battery powered \/ cordless?<\/label><br \/>\n        <select id=\"smx-battery\" required><option value=\"no\">No<\/option><option value=\"yes\">Yes (prefer cordless)<\/option><\/select><br \/>\n        <small class=\"smx-help\">If \u201cYes\u201d, we prioritize the <strong>D1\u00a0CDL<\/strong> cordless mag drill.<\/small>\n      <\/div>\n<div class=\"smx-field\">\n        <label>Work orientation (optional)<\/label><br \/>\n        <select id=\"smx-orientation\"><option value=\"\">Mostly flat<\/option><option value=\"vertical\">Vertical<\/option><option value=\"overhead\">Overhead<\/option><\/select>\n      <\/div>\n<\/p><\/div>\n<div class=\"smx-row\">\n<div class=\"smx-field\">\n        <label>Weight priority (optional)<\/label><br \/>\n        <select id=\"smx-weightpref\"><option value=\"\">No preference<\/option><option value=\"lightest\">Prefer lightest<\/option><\/select>\n      <\/div>\n<\/p><\/div>\n<p>    <button type=\"submit\" class=\"smx-btn\">Find My Drill<\/button><br \/>\n  <\/form>\n<div id=\"smx-results\" class=\"smx-results\" aria-live=\"polite\"><\/div>\n<\/section>\n<style>\n  .smx-drill-finder {font:16px\/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;max-width:960px}\n  .smx-row {display:flex;gap:16px;flex-wrap:wrap}\n  .smx-field {flex:1;min-width:240px;margin:10px 0}\n  .smx-field label {font-weight:600;display:block;margin-bottom:6px}\n  .smx-help {display:block;color:#666;font-size:12px;margin-top:4px}\n  .smx-btn {background:#e21f2f;color:#fff;padding:10px 16px;border:none;border-radius:4px;cursor:pointer}\n  .smx-results {margin-top:20px}\n  .smx-card {border:1px solid #e3e3e3;border-radius:8px;padding:16px;margin:14px 0;background:#fff}\n  .smx-card h3 {margin-top:0}\n  .smx-specs {display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:#333}\n  .smx-cta {margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}\n  .smx-cta a {text-decoration:none;padding:10px 14px;border-radius:4px}\n  .smx-cta .buy {background:#e21f2f;color:#fff}\n  .smx-cta .visit {background:#f2f2f2;color:#111}\n  .smx-alt {background:#f6fbff;border-color:#cdeaff}\n<\/style>\n<p><script>\n(function(){\n  const $ = s => document.querySelector(s);\n  const root = document.getElementById('smx-drill-finder');\n  const dataUrl = root?.getAttribute('data-json');\n  const results = $('#smx-results');\n  let models = [];<\/p>\n<p>  async function init(){\n    try { models = dataUrl ? await (await fetch(dataUrl, {cache:'no-store'})).json() : []; }\n    catch(e){ console.error(e); results.innerHTML = '<\/p>\n<p>Unable to load drill data.<\/p>\n<p>'; }\n  }<\/p>\n<p>  function getInput(){\n    return {\n      atex: $('#smx-atex').value === 'yes',\n      material: $('#smx-material').value,\n      depth: Number($('#smx-depth').value),\n      diameter: Number($('#smx-diameter').value),\n      holes: $('#smx-holes').value,\n      reverse: $('#smx-reverse').value === 'yes',\n      battery: $('#smx-battery').value === 'yes',\n      orientation: $('#smx-orientation').value || null,\n      weightpref: $('#smx-weightpref').value || null\n    };\n  }<\/p>\n<p>  function validateSurface(material){\n    if (material === 'stainless') {\n      return '<\/p>\n<div class=\"smx-card\" style=\"background:#fff8e1;border-color:#ffecb5\"><strong>Heads?up:<\/strong> Mag drills rely on a ferromagnetic surface. Some stainless grades are weakly\/non?magnetic. Ensure proper fixturing\/backer.<\/div>\n<p>';\n    }\n    return '';\n  }<\/p>\n<p>  function isPunchCandidate(input){\n    \/\/ HP110 alternative only if NOT ATEX:\n    return !input.atex && input.holes === 'many' && input.diameter <= 27 &#038;&#038; input.depth <= 16;\n  }\n\n  function recommend(input){\n    const list = models.slice();\n    const drills = list.filter(m => m.type !== 'hydraulic_punch');<\/p>\n<p>    \/\/ ATEX filter: only pneumatic + permanent magnet machines\n    let pool = drills.filter(d => {\n      if (input.atex) {\n        const p = (d.power || []);\n        const atexOK = p.includes('pneumatic') && p.includes('permanent_magnet');\n        return atexOK &&\n               d.max_depth_mm >= input.depth &&\n               d.diameter_min_mm <= input.diameter &#038;&#038;\n               d.diameter_max_mm >= input.diameter;\n      }\n      \/\/ Non-ATEX\n      return d.max_depth_mm >= input.depth &&\n             d.diameter_min_mm <= input.diameter &#038;&#038;\n             d.diameter_max_mm >= input.diameter &&\n             (!input.reverse || d.reverse === true) &&\n             (!input.battery || (d.power||[]).includes('battery'));\n    });<\/p>\n<p>    \/\/ Battery preference ? put D1 CDL first (non-ATEX)\n    if (!input.atex && input.battery) {\n      pool.sort((a,b) => (a.slug === 'd1-cdl' ? -1 : b.slug === 'd1-cdl' ? 1 : 0));\n    }<\/p>\n<p>    const score = (d) => {\n      let s = 0;\n      const duty = { few: 5, dozens: 10, many: 15 }[input.holes] || 0;\n      if (\/^d4|^d5|^d400|^d500\/.test(d.slug)) s += duty + 6;\n      else if (\/^d2|^d250|^d300|^d200\/.test(d.slug)) s += duty + 3;\n      else s += duty;<\/p>\n<p>      const big = input.diameter >= 35;\n      const variable = (d.speeds||'').includes('variable') || (d.speeds||'').includes('4-speed') || (d.speeds||'').includes('2-speed');\n      if (input.material === 'stainless' || big) s += variable ? 8 : 0;<\/p>\n<p>      if (input.orientation === 'overhead' || input.orientation === 'vertical' || input.weightpref === 'lightest') {\n        if (typeof d.weight_kg === 'number') s += Math.max(0, 12 - d.weight_kg);\n      }\n      return s;\n    };<\/p>\n<p>    pool = pool.map(d => ({...d, _score: score(d)})).sort((a,b) => b._score - a._score);<\/p>\n<p>    \/\/ HP110 alternative card\n    let alt = null;\n    if (isPunchCandidate(input)) alt = list.find(m => m.slug === 'hp110');<\/p>\n<p>    return { picks: pool.slice(0,3), alt };\n  }<\/p>\n<p>  function whyThis(m, input){\n    const reasons = [];\n    if (m.max_depth_mm >= input.depth) reasons.push(`meets ${input.depth} mm depth`);\n    if (m.diameter_min_mm <= input.diameter &#038;&#038; m.diameter_max_mm >= input.diameter) reasons.push(`covers ${input.diameter} mm diameter`);\n    if (input.reverse && m.reverse) reasons.push('reversible for tapping');\n    if (input.battery && (m.power||[]).includes('battery')) reasons.push('cordless (battery powered)');\n    if (input.orientation && typeof m.weight_kg === 'number') reasons.push(`${m.weight_kg} kg suits ${input.orientation}`);\n    return reasons.slice(0,4).join(' \u00b7 ');\n  }<\/p>\n<p>  function productUrl(m){ return m.product_url || '#'; }<\/p>\n<p>  function card(m, input){\n    const purl = productUrl(m);\n    const buyUrl = purl; \/\/ wire to cart later\n    const body = (m.type === 'hydraulic_punch')\n      ? `<\/p>\n<div class=\"smx-specs\">\n<div><strong>Max hole:<\/strong> ${m.max_hole_mm} mm<\/div>\n<div><strong>Max plate:<\/strong> ${m.max_plate_thickness_mm} mm<\/div>\n<div><strong>Throat:<\/strong> ${m.throat_depth_mm} mm<\/div>\n<div><strong>Force:<\/strong> ${m.punch_power_tons} tons<\/div>\n<\/p><\/div>\n<p><em>Why suggest a punch:<\/em> High hole counts near beam edges are often faster & cleaner with a portable hydraulic punch than drilling.<\/p>\n<p>`\n      : `<\/p>\n<div class=\"smx-specs\">\n<div><strong>Depth of cut:<\/strong> up to ${m.max_depth_mm} mm<\/div>\n<div><strong>Diameter:<\/strong> ${m.diameter_min_mm}\u2013${m.diameter_max_mm} mm<\/div>\n<div><strong>Reversible:<\/strong> ${m.reverse ? 'Yes' : 'No'}<\/div>\n<div><strong>Power:<\/strong> ${(m.power||[]).join(', ') || '\u2014'}<\/div>\n<div><strong>Weight:<\/strong> ${typeof m.weight_kg==='number' ? (m.weight_kg+' kg') : '\u2014'}<\/div>\n<\/p><\/div>\n<p><em>Why we recommended:<\/em> ${whyThis(m, input)}<\/p>\n<p>`;<\/p>\n<p>    return `<\/p>\n<article class=\"smx-card\">\n<h3>${m.model}<\/h3>\n<p>      ${body}<\/p>\n<div class=\"smx-cta\">\n        ${buyUrl}BUY NOW<\/a>\n        ${purl}View Product<\/a>\n      <\/div>\n<\/article>\n<p>`;\n  }<\/p>\n<p>  let state = null;<\/p>\n<p>  root.querySelector('.smx-form').addEventListener('submit', (e)=>{\n    e.preventDefault();\n    state = getInput();\n    const warn = validateSurface(state.material);\n    const { picks, alt } = recommend(state);<\/p>\n<p>    if (!picks.length && !alt) {\n      results.innerHTML = warn + '<\/p>\n<div class=\"smx-card\">\n<p>No exact matches. Try reducing depth\/diameter, or remove the reverse requirement.<\/p>\n<\/div>\n<p>';\n      return;\n    }<\/p>\n<p>    const cards = picks.map(m => card(m, state)).join('');\n    const altCard = alt ? `<\/p>\n<div class=\"smx-card smx-alt\">${card(alt, state)}<\/div>\n<p>` : '';\n    results.innerHTML = warn + cards + altCard;\n  });<\/p>\n<p>  init();\n})();\n<\/script><\/a><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":46,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-16079","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/pages\/16079","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/comments?post=16079"}],"version-history":[{"count":5,"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/pages\/16079\/revisions"}],"predecessor-version":[{"id":16085,"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/pages\/16079\/revisions\/16085"}],"wp:attachment":[{"href":"https:\/\/steelmax.com\/fr\/wp-json\/wp\/v2\/media?parent=16079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d4cf4bdb888a02ed470247. Config Timestamp: 2026-04-07 09:32:58 UTC, Cached Timestamp: 2026-04-09 16:14:59 UTC -->