{"id":102432,"date":"2025-10-03T07:46:34","date_gmt":"2025-10-03T07:46:34","guid":{"rendered":"https:\/\/hdwrglobal.com\/convertisseur-de-mesure\/"},"modified":"2026-03-03T20:58:22","modified_gmt":"2026-03-03T20:58:22","slug":"convertisseur-de-mesure","status":"publish","type":"page","link":"https:\/\/hdwrglobal.com\/fr\/convertisseur-de-mesure\/","title":{"rendered":"Convertisseur d&rsquo;unit\u00e9s"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"102432\" class=\"elementor elementor-102432 elementor-102375\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54b1eb78 e-flex e-con-boxed e-con e-parent\" data-id=\"54b1eb78\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e82540b elementor-widget elementor-widget-woocommerce-breadcrumb\" data-id=\"e82540b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"woocommerce-breadcrumb.default\">\n\t\t\t\t\t<nav class=\"woocommerce-breadcrumb\" aria-label=\"Breadcrumb\">Accueil<\/nav>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-857b802 e-con-full e-flex e-con e-child\" data-id=\"857b802\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9ed3bb3 elementor-widget elementor-widget-heading\" data-id=\"9ed3bb3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Convertisseur d'unit\u00e9s<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac5bec9 elementor-widget elementor-widget-text-editor\" data-id=\"ac5bec9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p class=\"converter-lead\">Le <strong>convertisseur d&rsquo;unit\u00e9s<\/strong> est un outil rapide et pratique qui vous permet de convertir la longueur, le poids, la temp\u00e9rature, le volume et bien plus encore. Que vous cuisiniez, \u00e9tudiiez ou travailliez, vous trouverez tout ce dont vous avez besoin pour effectuer des conversions pr\u00e9cises. <\/p>\n\n<div class=\"measurement-converter\">\n<div class=\"converter\">\n\n\n<div class=\"sidebar\">\n<h2 class=\"collapsible-header\">Convertisseurs d&rsquo;unit\u00e9s<\/h2>\n<ul class=\"units\">\n \t<li data-type=\"length\">Longueur<\/li>\n \t<li data-type=\"time\">L&rsquo;heure<\/li>\n \t<li data-type=\"weight\">Poids<\/li>\n \t<li data-type=\"volume\">Volume<\/li>\n \t<li data-type=\"pressure\">Pression<\/li>\n \t<li data-type=\"speed\">Vitesse<\/li>\n \t<li data-type=\"temperature\">Temp\u00e9rature<\/li>\n \t<li data-type=\"area\">Zone<\/li>\n \t<li data-type=\"memory\">M\u00e9moire<\/li>\n \t<li data-type=\"energy\">L&rsquo;\u00e9nergie<\/li>\n<\/ul>\n<h2 class=\"collapsible-header\">Autres outils<\/h2>\n<ul class=\"tools\">\n \t<li data-type=\"dates\">Diff\u00e9rence de date<\/li>\n \t<li data-type=\"arithmetic\">Moyenne arithm\u00e9tique<\/li>\n \t<li data-type=\"weighted\">Moyenne pond\u00e9r\u00e9e<\/li>\n \t<li data-type=\"numbers\">Convertisseur de base num\u00e9rique<\/li>\n<\/ul>\n<\/div>\n\n<div class=\"main-content\">\n<div class=\"multiConverter\"><\/div>\n<\/div>\n\n<div id=\"converter-i18n\" style=\"display:none\" aria-hidden=\"true\"><span data-key=\"area.are\">sont<\/span><span data-key=\"area.hectare\">hectare<\/span><span data-key=\"area.square centimeters\">centim\u00e8tres carr\u00e9s<\/span><span data-key=\"area.square feet\">pieds carr\u00e9s<\/span><span data-key=\"area.square inches\">pouces carr\u00e9s<\/span><span data-key=\"area.square kilometers\">kilom\u00e8tres carr\u00e9s<\/span><span data-key=\"area.square meters\">m\u00e8tres carr\u00e9s<\/span><span data-key=\"area.square miles\">milles carr\u00e9s<\/span><span data-key=\"area.square yards\">m\u00e8tres carr\u00e9s<\/span><span data-key=\"energy.BTU\">BTU<\/span><span data-key=\"energy.calorie (cal)\">calorie (cal)<\/span><span data-key=\"energy.joule (J)\">joule (J)<\/span><span data-key=\"energy.kilocalorie (kcal)\">kilocalorie (kcal)<\/span><span data-key=\"energy.kilojoule (kJ)\">kilojoule (kJ)<\/span><span data-key=\"energy.kilowatt-hour (kWh)\">kilowattheure (kWh)<\/span><span data-key=\"energy.watt-hour (Wh)\">wattheure (Wh)<\/span><span data-key=\"length.centimeters\">centim\u00e8tres<\/span><span data-key=\"length.feet\">pieds<\/span><span data-key=\"length.inches\">pouces<\/span><span data-key=\"length.kilometers\">kilom\u00e8tres<\/span><span data-key=\"length.meters\">compteurs<\/span><span data-key=\"length.miles\">kilom\u00e8tres<\/span><span data-key=\"length.millimeters\">millim\u00e8tres<\/span><span data-key=\"length.yards\">chantiers<\/span><span data-key=\"memory.bytes\">octets<\/span><span data-key=\"memory.gigabytes\">gigaoctets<\/span><span data-key=\"memory.kilobytes\">kilo-octets<\/span><span data-key=\"memory.megabytes\">m\u00e9gaoctets<\/span><span data-key=\"memory.terabytes\">t\u00e9raoctets<\/span><span data-key=\"pressure.bar\">bar<\/span><span data-key=\"pressure.kilopascal (kPa)\">kilopascal (kPa)<\/span><span data-key=\"pressure.pascal (Pa)\">pascals (Pa)<\/span><span data-key=\"pressure.psi\">psi<\/span><span data-key=\"speed.ft\/s\">pieds\/s<\/span><span data-key=\"speed.km\/h\">km\/h<\/span><span data-key=\"speed.m\/s\">m\/s<\/span><span data-key=\"speed.mph\">mph<\/span><span data-key=\"time.days\">jours<\/span><span data-key=\"time.hours\">heures<\/span><span data-key=\"time.microseconds\">microsecondes<\/span><span data-key=\"time.milliseconds\">millisecondes<\/span><span data-key=\"time.minutes\">minutes<\/span><span data-key=\"time.months (avg)\">mois (moyenne)<\/span><span data-key=\"time.nanoseconds\">nanosecondes<\/span><span data-key=\"time.seconds\">secondes<\/span><span data-key=\"time.weeks\">semaines<\/span><span data-key=\"time.years (avg)\">ann\u00e9es (moyenne)<\/span><span data-key=\"ui.add_row\">Ajouter une ligne<\/span><span data-key=\"ui.add_value\">Valeur ajout\u00e9e<\/span><span data-key=\"ui.arithmetic_mean\">Moyenne arithm\u00e9tique :  <\/span><span data-key=\"ui.base36\">Base36 (36)<\/span><span data-key=\"ui.binary2\">Binaire (2)<\/span><span data-key=\"ui.both_required\">Veuillez saisir les deux dates.<\/span><span data-key=\"ui.calc\">Calculer la diff\u00e9rence<\/span><span data-key=\"ui.days\">jours<\/span><span data-key=\"ui.decimal10\">D\u00e9cimale (10)<\/span><span data-key=\"ui.diff_prefix\">Diff\u00e9rence :  <\/span><span data-key=\"ui.duodecimal12\">Duod\u00e9cimale (12)<\/span><span data-key=\"ui.end\">Date de fin :<\/span><span data-key=\"ui.hexadecimal16\">Hexad\u00e9cimal (16)<\/span><span data-key=\"ui.hours\">heures<\/span><span data-key=\"ui.minutes\">minutes<\/span><span data-key=\"ui.octal8\">Octal (8)<\/span><span data-key=\"ui.order_error\">La date de d\u00e9but doit \u00eatre ant\u00e9rieure \u00e0 la date de fin.<\/span><span data-key=\"ui.quaternary4\">Quaternaire (4)<\/span><span data-key=\"ui.remove\">Retirer<\/span><span data-key=\"ui.seconds\">secondes<\/span><span data-key=\"ui.start\">Date de d\u00e9but :<\/span><span data-key=\"ui.trinary3\">Trinaire (3)<\/span><span data-key=\"ui.value\">Valeur<\/span><span data-key=\"ui.weight\">Poids<\/span><span data-key=\"ui.weighted_mean\">Moyenne pond\u00e9r\u00e9e :  <\/span><span data-key=\"volume.cubic meters\">m\u00e8tres cubes<\/span><span data-key=\"volume.gallons (UK)\">gallons (UK)<\/span><span data-key=\"volume.gallons (US)\">gallons (US)<\/span><span data-key=\"volume.liters\">litres<\/span><span data-key=\"volume.milliliters\">millilitres<\/span><span data-key=\"weight.decagrams\">d\u00e9cagrammes<\/span><span data-key=\"weight.grams\">grammes<\/span><span data-key=\"weight.kilograms\">kilogrammes<\/span><span data-key=\"weight.milligrams\">milligrammes<\/span><span data-key=\"weight.ounces\">onces<\/span><span data-key=\"weight.pounds\">livres<\/span><span data-key=\"weight.quintal\">quintal<\/span><span data-key=\"weight.stone\">pierre<\/span><\/div>\n<\/div>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d723ef elementor-widget elementor-widget-html\" data-id=\"8d723ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\/* Converter styles *\/\n\n\/* Uk\u0142ad kolumn konwertera *\/\n.measurement-converter .converter{\n  display: flex !important;\n  gap: 20px !important;\n  align-items: flex-start !important;\n}\n\n\/* Szeroko\u015b\u0107\/lekkie \u201ckafelkowanie\u201d panelu z lewej *\/\n.measurement-converter .sidebar{\n  flex: 0 0 320px !important;\n  max-width: 320px !important;\n  padding: 20px !important;\n  border: 1px solid rgba(204,210,222,.6) !important;\n  border-radius: 20px !important;\n  background: #f9f9f9 !important;\n}\n\n\/* Prawa kolumna wype\u0142nia reszt\u0119 *\/\n.measurement-converter .main-content{\n  flex: 1 1 auto !important;\n}\n\n\/* Delikatne UX dla listy w panelu *\/\n.measurement-converter .sidebar ul{ list-style:none; margin:0 0 12px 0; padding:0; }\n.measurement-converter .sidebar li{\n  padding:10px 14px; font-size:14px; border-radius:10px; cursor:pointer;\n}\n.measurement-converter .sidebar li:hover,\n.measurement-converter .sidebar li.active{ background:#ececec; }\n\n\/* Mobile \u2013 pod sob\u0105 *\/\n@media (max-width: 768px){\n  .measurement-converter .converter{ flex-direction: column !important; }\n  .measurement-converter .sidebar{ max-width: 100% !important; }\n}\n\/* H1 i lead *\/\n.converter-page-title{\n  font-size:40px;\n  font-weight:400;     \/* nie bold *\/\n  line-height:1.25;\n  margin:0 0 10px;\n}\n.converter-lead{ margin:0 0 18px; }\n\n\/* Uk\u0142ad *\/\n.measurement-converter .converter{\n  display:flex;\n  gap:28px;\n  align-items:flex-start;\n}\n.measurement-converter .sidebar{\n  flex:0 0 300px;\n  max-width:300px;\n  padding:18px;\n  border:1px solid rgba(204,210,222,.6);\n  border-radius:18px;\n  background:#f7f7f7;\n}\n.measurement-converter .main-content{ flex:1 1 auto; }\n\n\/* Sidebar *\/\n.measurement-converter .sidebar h2{\n  margin:0 0 10px;\n  font-size:16px;\n  font-weight:600;\n}\n.measurement-converter .sidebar ul{\n  list-style:none;\n  margin:0 0 14px;\n  padding:0;\n}\n.measurement-converter .sidebar li{\n  padding:10px 14px;\n  font-size:14px;\n  border-radius:10px;\n  cursor:pointer;\n}\n.measurement-converter .sidebar li:hover,\n.measurement-converter .sidebar li.active{\n  background:#ececec;\n}\n\n\/* Pola w prawej kolumnie *\/\n.measurement-converter .input-group{ margin-bottom:12px; }\n.measurement-converter .input-group label{\n  display:block;\n  font-size:12px;\n  font-weight:500;\n  margin-bottom:6px;\n}\n.measurement-converter input[type=\"text\"],\n.measurement-converter input[type=\"number\"],\n.measurement-converter input[type=\"datetime-local\"],\n.measurement-converter select,\n.measurement-converter textarea{\n  width:100%;\n  max-width:100%;               \/* nadpisuje ewentualne ograniczenia motywu *\/\n  box-sizing:border-box;\n  padding:10px 14px;\n  border:1px solid rgba(204,210,222,.8);\n  border-radius:10px;\n  background:#fff;\n  font-size:14px;\n}\n.measurement-converter button{\n  border:0;\n  border-radius:14px;\n  padding:10px 24px;\n  background:#000;\n  color:#fff;\n  cursor:pointer;\n}\n\n\/* Mobile *\/\n@media (max-width: 991px){\n  .measurement-converter .converter{ flex-direction:column; }\n  .measurement-converter .sidebar{ max-width:100%; }\n}\n\/* Szerzej: 1280px + wy\u015brodkowanie dla H1, leada i panelu *\/\n:root .converter-page-title,\n:root .converter-lead{\n  max-width: 1280px !important;\n  padding-left: 28px !important;\n  padding-right: 28px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n:root .measurement-converter .converter{\n  max-width: 1280px !important;\n  padding-left: 8px !important;\n  padding-right: 28px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n\/* H1: 30px, p\u00f3\u0142gruby, wi\u0119kszy odst\u0119p pod spodem *\/\n.converter-page-title{\n  font-size: 43px;\n  font-weight: 600 !important;\n  line-height: 1.25;\n  margin: 22px 0 20px !important; \/* wi\u0119ksza przerwa nad leadem *\/\n}\n.converter-lead{ margin: 0 0 22px !important; }\n\/* Wiersz warto\u015bci\/wa g \u2013 troch\u0119 cia\u015bniej *\/\n.measurement-converter .dynamic-row{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;              \/* mniejszy odst\u0119p wewn\u0119trzny *\/\n  margin-bottom:4px;    \/* po\u0142owa poprzedniego *\/\n}\n\n\/* Przycisk \"Remove\" pod polami \u2013 bez wci\u0119cia, lekki odst\u0119p w pionie *\/\n.measurement-converter .dynamic-row button{\n  margin-left:0;        \/* wyr\u00f3wnanie do lewej kraw\u0119dzi *\/\n  margin-top:6px;       \/* mniejszy odst\u0119p od input\u00f3w *\/\n}\n\n\/* Przycisk \"Add row\" \u2013 r\u00f3wnie\u017c cia\u015bniej *\/\n.measurement-converter .multiConverter > button{\n  margin-top:6px;       \/* po\u0142owa poprzedniego odst\u0119pu *\/\n}\n\/* --- MOBILE FIX jak na Shoperze (sidebar jako karta, chipsy, kolumny pod sob\u0105) --- *\/\n@media (max-width: 991.98px){\n  html body .measurement-converter .converter{\n    display:flex !important;\n    flex-direction:column-reverse !important;\n    gap:16px !important;\n    padding:0 14px !important;\n    max-width:1160px !important;\n    margin:0 auto !important;\n  }\n\n  html body .measurement-converter .main-content{\n    width:100% !important;\n  }\n\n  html body .measurement-converter .sidebar{\n    width:100% !important;\n    padding:16px !important;\n    border:1px solid rgba(204,210,222,.6) !important;\n    border-radius:16px !important;\n    background:#f9f9f9 !important;\n  }\n\n  html body .measurement-converter .sidebar ul{\n    display:flex !important;\n    flex-wrap:wrap !important;\n    gap:6px !important;\n    list-style:none !important;\n    margin:0 0 10px 0 !important;\n    padding:0 !important;\n  }\n\n  html body .measurement-converter .sidebar li{\n    padding:10px 14px !important;\n    font-size:14px !important;\n    border-radius:10px !important;\n    cursor:pointer !important;\n    background:transparent !important;\n  }\n  html body .measurement-converter .sidebar li:hover,\n  html body .measurement-converter .sidebar li.active{\n    background:#ececec !important;\n  }\n\n  \/* pola i rytm odst\u0119p\u00f3w *\/\n  html body .measurement-converter .input-group{ margin-bottom:10px !important; }\n  html body .measurement-converter label{ font-size:12px !important; margin-bottom:4px !important; }\n  html body .measurement-converter input{\n    height:42px !important;      \/* 16px font \u2192 brak zoomu iOS *\/\n    font-size:16px !important;\n  }\n\n  \/* przyciski (daty \/ \u015brednie) *\/\n  html body .measurement-converter button{\n    padding:12px 24px !important;\n    border-radius:12px !important;\n    margin:4px 0 !important;\n  }\n  html body .measurement-converter .dynamic-row{ margin:6px 0 !important; }\n  html body .measurement-converter .dynamic-row input{ margin-bottom:6px !important; }\n}\n\n\/* Nag\u0142\u00f3wek i lead (wymuszenie nadpisania motywu) *\/\nhtml body .converter-page-title{\n  font-size:28px !important;\n  font-weight:600 !important;\n  line-height:1.25 !important;\n  margin:0 0 10px !important;\n}\nhtml body .converter-lead{\n  margin:0 0 16px !important;\n}\n\n\/* Szeroko\u015b\u0107 kontenera te\u017c na desktopie (\u017ceby nie \u201eci\u0105gn\u0119\u0142o\u201d na pe\u0142n\u0105) *\/\nhtml body .measurement-converter .converter{\n  max-width:1160px !important;\n  margin:0 auto !important;\n}\n\/* === Measurement converter \u2013 mobile gutters === *\/\n@media (max-width: 768px){\n  \/* ten sam margines wewn\u0119trzny z lewej i prawej *\/\n  .converter-page-title,\n  .converter-lead,\n  .measurement-converter{\n    box-sizing: border-box;\n    padding-left: 18px;\n    padding-right: 18px;\n  }\n\n  \/* nic si\u0119 nie dociska do kraw\u0119dzi *\/\n  .measurement-converter .converter{ margin: 0; }\n  .measurement-converter .sidebar{ padding: 16px; }\n}\n\n\/* dla iPhone\u2019\u00f3w z notchem \u2013 zachowaj safe-area i r\u00f3wne odst\u0119py *\/\n@supports (padding: max(0px)) {\n  @media (max-width: 768px){\n    .converter-page-title,\n    .converter-lead,\n    .measurement-converter{\n      padding-left: max(18px, env(safe-area-inset-left));\n      padding-right: max(18px, env(safe-area-inset-right));\n    }\n  }\n}\n\/* MOBILE-ONLY: zmniejsz odst\u0119p mi\u0119dzy ostatnim polem a panelem kategorii *\/\n@media (max-width: 768px){\n  \/* cia\u015bniejszy odst\u0119p mi\u0119dzy kolumnami (lista p\u00f3l \u2194 panel) *\/\n  .measurement-converter .converter{\n    gap: 4px !important;\n  }\n\n  \/* ostatnie pole (np. \"yards\") \u2013 minimalny margines na dole *\/\n  .measurement-converter .main-content .input-group:last-child{\n    margin-bottom: 0px !important;\n  }\n\n  \/* panel \"Measurement converters \/ Other tools\" bli\u017cej listy p\u00f3l *\/\n  .measurement-converter .sidebar{\n    margin-top: 0px !important;\n  }\n}\n\/* H1 tylko na desktopie (>=1024px) *\/\n@media (min-width: 1024px) {\n  body h1.converter-page-title.converter-page-title {\n    font-size: 35px !important;\n    line-height: 1.25;   \/* opcjonalnie *\/\n    margin-bottom: 24px; \/* je\u015bli chcesz troch\u0119 wi\u0119kszy odst\u0119p pod tytu\u0142em *\/\n  }\n}\n\n\/* (opcjonalnie) przypnij mobile na 30px, je\u015bli co\u015b wcze\u015bniej to psuje *\/\n@media (max-width: 1023.98px) {\n  body h1.converter-page-title.converter-page-title {\n    font-size: 30px !important;\n  }\n}\n\/* Gwarantowany odst\u0119p pod H1 \u2013 dzia\u0142a nawet przy margin collapsing *\/\nh1.converter-page-title{\n  margin: 0 !important;            \/* zerujemy, \u017ceby nic si\u0119 nie zla\u0142o *\/\n}\nh1.converter-page-title::after{\n  content: \"\";\n  display: block;\n  height: 10px;                    \/* \n}\n\n\n<\/style>\n<script>\n(function () {\n  function runWithSmallRetries() {\n    requestAnimationFrame(() => {\n      initMeasurementConverter();\n      setTimeout(initMeasurementConverter, 50);\n      setTimeout(initMeasurementConverter, 200);\n    });\n  }\n\n  function initMeasurementConverter() {\n    const root = document.querySelector('.measurement-converter');\n    if (!root || root.dataset.inited === '1') return;\n\n    \/\/ Load translations from DOM\n    const i18n = {};\n    document.querySelectorAll('#converter-i18n [data-key]').forEach(el => {\n      const key = el.dataset.key;\n      const dot = key.indexOf('.');\n      if (dot === -1) return;\n      const type = key.substring(0, dot);\n      const slug = key.substring(dot + 1);\n      if (!i18n[type]) i18n[type] = {};\n      i18n[type][slug] = el.textContent;\n    });\n\n    const LBL = (type, slug) =>\n      (i18n[type] && i18n[type][slug]) || slug;\n\n    const units = {\n      length: {\n        'millimeters': 1000, 'centimeters': 100, 'meters': 1, 'kilometers': 0.001,\n        'miles': 0.000621371, 'feet': 3.28084, 'inches': 39.3701, 'yards': 1.09361\n      },\n      weight: {\n        'milligrams': 1000000, 'decagrams': 100, 'grams': 1000, 'kilograms': 1,\n        'pounds': 2.20462, 'ounces': 35.274, 'stone': 0.157473, 'quintal': 0.01\n      },\n      volume: {\n        'milliliters': 1000, 'liters': 1, 'cubic meters': 0.001,\n        'gallons (US)': 0.264172, 'gallons (UK)': 0.219969\n      },\n      pressure: {\n        'pascal (Pa)': 1, 'kilopascal (kPa)': 0.001, 'psi': 0.000145, 'bar': 1e-5\n      },\n      speed: { 'm\/s': 1, 'km\/h': 3.6, 'mph': 2.23694, 'ft\/s': 3.28084 },\n      time: {\n        'nanoseconds': 1e9, 'microseconds': 1e6, 'milliseconds': 1000, 'seconds': 1,\n        'minutes': 1\/60, 'hours': 1\/3600, 'days': 1\/86400, 'weeks': 1\/604800,\n        'months (avg)': 1\/2629746, 'years (avg)': 1\/31557600\n      },\n      area: {\n        'square centimeters': 10000, 'square meters': 1, 'are': 0.01, 'hectare': 0.0001,\n        'square kilometers': 1e-6, 'square feet': 10.7639, 'square yards': 1.19599,\n        'square inches': 1550.0031, 'square miles': 3.86102e-7\n      },\n      memory: {\n        'bytes': 1, 'kilobytes': 1\/1024, 'megabytes': 1\/(1024*1024),\n        'gigabytes': 1\/(1024*1024*1024), 'terabytes': 1\/(1024*1024*1024*1024)\n      },\n      energy: {\n        'joule (J)': 1, 'kilojoule (kJ)': 0.001, 'calorie (cal)': 0.2390, 'kilocalorie (kcal)': 0.0002390,\n        'BTU': 0.0009478, 'watt-hour (Wh)': 0.0002778, 'kilowatt-hour (kWh)': 2.78e-7\n      }\n    };\n\n    const temperatureUnits = {\n      'Celsius': { toBase: t => t, fromBase: t => t },\n      'Fahrenheit': { toBase: t => (t - 32) * 5\/9, fromBase: t => (t * 9\/5) + 32 },\n      'Kelvin': { toBase: t => t - 273.15, fromBase: t => t + 273.15 },\n      'Rankine': { toBase: t => (t * 5\/9) - 273.15, fromBase: t => (t + 273.15) * 9\/5 }\n    };\n\n    let currentType = 'length';\n    const multiConverterDiv = root.getElementsByClassName('multiConverter')[0];\n    const sidebarItems = root.querySelectorAll('.sidebar li');\n    const collapsibleHeaders = root.querySelectorAll('.sidebar .collapsible-header');\n\n    if (!multiConverterDiv || sidebarItems.length === 0) return;\n\n    collapsibleHeaders.forEach(header => {\n      header.addEventListener('click', function () {\n        const ul = this.nextElementSibling;\n        if (ul && ul.tagName === 'UL') {\n          ul.classList.toggle('collapsed');\n          this.classList.toggle('collapsed');\n        }\n      });\n    });\n\n    sidebarItems.forEach(li => {\n      li.addEventListener('click', () => {\n        sidebarItems.forEach(i => i.classList.remove('active'));\n        li.classList.add('active');\n        currentType = li.getAttribute('data-type');\n        render();\n      });\n    });\n\n    const toNumber = (raw) => {\n      if (typeof raw !== 'string') return Number(raw);\n      const s = raw.trim().replace(',', '.');\n      const v = parseFloat(s);\n      return Number.isFinite(v) ? v : NaN;\n    };\n\n    function render() {\n      if (!multiConverterDiv) return;\n      if (currentType === 'dates') return renderDates();\n      if (currentType === 'arithmetic') return renderArithmetic();\n      if (currentType === 'weighted') return renderWeighted();\n      if (currentType === 'numbers') return renderNumbers();\n\n      multiConverterDiv.innerHTML = '';\n      const dict = (currentType === 'temperature') ? temperatureUnits : units[currentType];\n      if (!dict) return;\n\n      Object.keys(dict).forEach(slug => {\n        const wrap = document.createElement('div');\n        wrap.className = 'input-group';\n\n        const lab = document.createElement('label');\n        lab.htmlFor = 'uc_' + slug;\n        const labelTxt = LBL(currentType, slug);\n        lab.textContent = labelTxt;\n\n        const inp = document.createElement('input');\n        if (currentType === 'temperature') {\n          inp.type = 'text'; inp.setAttribute('inputmode', 'decimal');\n        } else {\n          inp.type = 'number'; inp.step = 'any';\n        }\n        inp.id = 'uc_' + slug;\n        inp.placeholder = labelTxt;\n\n        inp.addEventListener('input', () => {\n          const t = inp.value.trim();\n          if (t === '' || t === '-' || t === '-.') { clearFields(dict); return; }\n          const val = toNumber(inp.value);\n          if (isNaN(val)) return;\n          update(dict, slug, val);\n        });\n\n        wrap.appendChild(lab);\n        wrap.appendChild(inp);\n        multiConverterDiv.appendChild(wrap);\n      });\n    }\n\n    function clearFields(dict) {\n      Object.keys(dict).forEach(slug => {\n        const f = document.getElementById('uc_' + slug);\n        if (f) f.value = '';\n      });\n    }\n\n    function update(dict, changed, value) {\n      if (dict === temperatureUnits) {\n        const base = temperatureUnits[changed].toBase(value);\n        Object.keys(temperatureUnits).forEach(slug => {\n          if (slug === changed) return;\n          const f = document.getElementById('uc_' + slug);\n          if (!f) return;\n          const out = temperatureUnits[slug].fromBase(base);\n          f.value = Number.isFinite(out) ? out.toFixed(2) : '';\n        });\n      } else {\n        const base = value \/ dict[changed];\n        Object.keys(dict).forEach(slug => {\n          if (slug === changed) return;\n          const f = document.getElementById('uc_' + slug);\n          if (!f) return;\n          const out = base * dict[slug];\n          f.value = Number.isFinite(out) ? out.toFixed(4) : '';\n        });\n      }\n    }\n\n    function U(slug) { return LBL('ui', slug); }\n\n    function renderDates() {\n      multiConverterDiv.innerHTML = '';\n      const g1 = document.createElement('div'); g1.className = 'input-group';\n      g1.innerHTML = '<label for=\"uc_start\">' + U('start') + '<\/label><input type=\"datetime-local\" id=\"uc_start\">';\n      const g2 = document.createElement('div'); g2.className = 'input-group';\n      g2.innerHTML = '<label for=\"uc_end\">' + U('end') + '<\/label><input type=\"datetime-local\" id=\"uc_end\">';\n      const btn = document.createElement('button'); btn.textContent = U('calc');\n      const res = document.createElement('div'); res.className = 'date-result'; res.id = 'uc_date_res';\n      btn.addEventListener('click', () => {\n        const s = document.getElementById('uc_start').value;\n        const e = document.getElementById('uc_end').value;\n        if (!s || !e) { res.textContent = U('both_required'); return; }\n        const diff = new Date(e) - new Date(s);\n        if (diff < 0) { res.textContent = U('order_error'); return; }\n        const sec = Math.floor(diff \/ 1000);\n        const d = Math.floor(sec \/ 86400);\n        const h = Math.floor((sec % 86400) \/ 3600);\n        const m = Math.floor((sec % 3600) \/ 60);\n        const s2 = sec % 60;\n        res.textContent = U('diff_prefix') + d + ' ' + U('days') + ', ' + h + ' ' + U('hours') + ', ' + m + ' ' + U('minutes') + (s2 ? ', ' + s2 + ' ' + U('seconds') : '');\n      });\n      multiConverterDiv.append(g1, g2, btn, res);\n    }\n\n    function renderArithmetic() {\n      multiConverterDiv.innerHTML = '';\n      const box = document.createElement('div');\n      const res = document.createElement('div'); res.className = 'date-result';\n      const add = document.createElement('button'); add.textContent = U('add_value');\n\n      function row() {\n        const r = document.createElement('div'); r.className = 'dynamic-row';\n        const i = document.createElement('input'); i.type = 'number'; i.step = 'any'; i.placeholder = U('value');\n        const rm = document.createElement('button'); rm.textContent = U('remove');\n        i.addEventListener('input', calc);\n        rm.addEventListener('click', () => { r.remove(); calc(); });\n        r.append(i, rm); return r;\n      }\n      function calc() {\n        const vals = Array.from(box.querySelectorAll('input'))\n          .map(x => parseFloat(x.value.replace(',', '.'))).filter(v => Number.isFinite(v));\n        res.textContent = vals.length ? U('arithmetic_mean') + (vals.reduce((a, b) => a + b, 0) \/ vals.length).toFixed(2) : '';\n      }\n      box.appendChild(row());\n      add.addEventListener('click', () => { box.appendChild(row()); calc(); });\n      multiConverterDiv.append(box, add, res);\n    }\n\n    function renderWeighted() {\n      multiConverterDiv.innerHTML = '';\n      const box = document.createElement('div');\n      const res = document.createElement('div'); res.className = 'date-result';\n      const add = document.createElement('button'); add.textContent = U('add_row');\n\n      function row() {\n        const r = document.createElement('div'); r.className = 'dynamic-row';\n        const v = document.createElement('input'); v.type = 'number'; v.step = 'any'; v.placeholder = U('value');\n        const w = document.createElement('input'); w.type = 'number'; w.step = 'any'; w.placeholder = U('weight');\n        const rm = document.createElement('button'); rm.textContent = U('remove');\n        v.addEventListener('input', calc); w.addEventListener('input', calc);\n        rm.addEventListener('click', () => { r.remove(); calc(); });\n        r.append(v, w, rm); return r;\n      }\n      function calc() {\n        let sum = 0, tw = 0;\n        Array.from(box.querySelectorAll('.dynamic-row')).forEach(r => {\n          const [v, w] = r.querySelectorAll('input');\n          const nv = parseFloat((v.value || '').replace(',', '.'));\n          const nw = parseFloat((w.value || '').replace(',', '.'));\n          if (Number.isFinite(nv) && Number.isFinite(nw)) { sum += nv * nw; tw += nw; }\n        });\n        res.textContent = tw ? U('weighted_mean') + (sum \/ tw).toFixed(2) : '';\n      }\n      box.appendChild(row());\n      add.addEventListener('click', () => { box.appendChild(row()); calc(); });\n      multiConverterDiv.append(box, add, res);\n    }\n\n    function renderNumbers() {\n      multiConverterDiv.innerHTML = '';\n      const sys = [\n        { id: 'bin', base: 2, label: U('binary2') },\n        { id: 'tri', base: 3, label: U('trinary3') },\n        { id: 'qua', base: 4, label: U('quaternary4') },\n        { id: 'oct', base: 8, label: U('octal8') },\n        { id: 'dec', base: 10, label: U('decimal10') },\n        { id: 'duo', base: 12, label: U('duodecimal12') },\n        { id: 'hex', base: 16, label: U('hexadecimal16') },\n        { id: 'b36', base: 36, label: U('base36') }\n      ];\n      const inputs = {};\n      sys.forEach(s => {\n        const g = document.createElement('div'); g.className = 'input-group';\n        g.innerHTML = '<label for=\"' + s.id + 'Input\">' + s.label + '<\/label><input type=\"text\" id=\"' + s.id + 'Input\" placeholder=\"' + s.label + '\">';\n        const inp = g.querySelector('input');\n        inputs[s.id] = inp;\n        inp.addEventListener('input', () => {\n          const val = inp.value.trim();\n          if (val === '') { sys.forEach(x => { if (x.id !== s.id) inputs[x.id].value = ''; }); return; }\n          const num = parseInt(val, s.base);\n          if (isNaN(num)) return;\n          sys.forEach(x => {\n            if (x.id === s.id) return;\n            let out = num.toString(x.base);\n            if (x.base === 16 || x.base === 36) out = out.toUpperCase();\n            inputs[x.id].value = out;\n          });\n        });\n        multiConverterDiv.appendChild(g);\n      });\n    }\n\n    root.dataset.inited = '1';\n    const first = root.querySelector('.sidebar li');\n    if (first) { first.classList.add('active'); }\n    render();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', runWithSmallRetries);\n  } else {\n    runWithSmallRetries();\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e33877b e-con-full e-flex e-con e-child\" data-id=\"e33877b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8e65f37 elementor-widget elementor-widget-heading\" data-id=\"8e65f37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Quelles unit\u00e9s pouvez-vous convertir ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d087b0e elementor-widget elementor-widget-text-editor\" data-id=\"d087b0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Notre convertisseur gratuit prend en charge un large \u00e9ventail de cat\u00e9gories de mesure, y compris la <strong>longueur<\/strong> (m\u00e8tres, pieds, pouces, miles), le <strong>poids<\/strong> (kilogrammes, livres, onces), la <strong>temp\u00e9rature<\/strong> (Celsius, Fahrenheit, Kelvin), le <strong>volume<\/strong> (litres, gallons, tasses), la <strong>surface<\/strong> (m\u00e8tres carr\u00e9s, acres, hectares), la <strong>vitesse<\/strong>, le <strong>temps<\/strong> et le <strong>stockage de donn\u00e9es<\/strong>. Toutes les conversions sont calcul\u00e9es instantan\u00e9ment avec une haute pr\u00e9cision.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16d10e7 elementor-widget elementor-widget-heading\" data-id=\"16d10e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Comment utiliser le convertisseur d'unit\u00e9s ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54644a3 elementor-widget elementor-widget-text-editor\" data-id=\"54644a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>S\u00e9lectionnez simplement la cat\u00e9gorie de mesure, choisissez les unit\u00e9s source et cible, entrez une valeur et voyez le r\u00e9sultat instantan\u00e9ment. Le tableau interactif affiche toutes les conversions disponibles en m\u00eame temps. Aucune inscription ni installation requise \u2014 fonctionne directement dans votre navigateur.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19d98e1 elementor-widget elementor-widget-heading\" data-id=\"19d98e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Quand a-t-on besoin d'un convertisseur d'unit\u00e9s ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18955ef elementor-widget elementor-widget-text-editor\" data-id=\"18955ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Les convertisseurs d&rsquo;unit\u00e9s sont essentiels au quotidien et au travail. La <strong>cuisine<\/strong> n\u00e9cessite souvent de convertir entre tasses, cuill\u00e8res et millilitres. L&rsquo;<strong>exp\u00e9dition internationale<\/strong> requiert des conversions entre kilogrammes et livres, centim\u00e8tres et pouces. L&rsquo;<strong>ing\u00e9nierie et la science<\/strong> utilisent diverses unit\u00e9s m\u00e9triques et imp\u00e9riales. Les <strong>voyages<\/strong> impliquent des conversions de temp\u00e9rature, distance et unit\u00e9s.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\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>Convertisseur d&#039;unit\u00e9s Le convertisseur d&rsquo;unit\u00e9s est un outil rapide et pratique qui vous permet de convertir la longueur, le poids, la temp\u00e9rature, le volume et bien plus encore. Que vous cuisiniez, \u00e9tudiiez ou travailliez, vous trouverez tout ce dont vous avez besoin pour effectuer des conversions pr\u00e9cises. Convertisseurs d&rsquo;unit\u00e9s Longueur L&rsquo;heure Poids Volume Pression Vitesse [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-102432","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/pages\/102432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/comments?post=102432"}],"version-history":[{"count":0,"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/pages\/102432\/revisions"}],"wp:attachment":[{"href":"https:\/\/hdwrglobal.com\/fr\/wp-json\/wp\/v2\/media?parent=102432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}