{"id":38608,"date":"2025-10-28T13:42:16","date_gmt":"2025-10-28T12:42:16","guid":{"rendered":"https:\/\/tarigs.com\/2-quiz-recomendar-todos-los-modelos-tallas\/"},"modified":"2025-11-05T00:56:12","modified_gmt":"2025-11-04T23:56:12","slug":"taille-du-quiz","status":"publish","type":"page","link":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/","title":{"rendered":"2. Quiz tous les mod\u00e8les \/ tailles recommander"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 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\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-one\" style=\"--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h1 class=\"fusion-title-heading title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:40;line-height:1.16;\"><h1 style=\"text-align: center;\">Le quiz<\/h1><\/h1><\/div><div class=\"fusion-text fusion-text-1 fusion-no-small-visibility fusion-no-medium-visibility\"><h4 style=\"text-align: center;\"><span style=\"color: #89919f;\"> Trouvez votre taille <\/span><\/h4>\n<\/div><div class=\"fusion-text fusion-text-2 fusion-no-small-visibility fusion-no-medium-visibility\"><p style=\"text-align: center;\">La bonne taille est essentielle pour le confort de votre chien dans le sac \u00e0 dos. Une taille parfaite garantit non seulement le confort de votre chien, mais lui offre \u00e9galement une protection optimale. Notre quiz vous aide \u00e0 d\u00e9terminer la taille id\u00e9ale pour le sac \u00e0 dos que vous avez choisi. Indiquez ici les mensurations de votre chien adulte ou les mensurations pr\u00e9vues si votre chien est encore en pleine croissance.<\/p>\n<\/div><div class=\"fusion-text fusion-text-3 fusion-no-large-visibility\"><p style=\"text-align: center;\">Trouvez le mod\u00e8le parfait. Entrez ici les mensurations de votre chien adulte ou les mensurations pr\u00e9vues.<\/p>\n<\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"margin-left: auto;margin-right: auto;margin-top:15px;width:100%;\"><\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"quiz-container\">\n    <div class=\"unit-switcher-container\">\n        <input id=\"unit-switcher-checkbox\" class=\"unit-switcher-input\" type=\"checkbox\" \/>\n        <label class=\"unit-switcher-label\" for=\"unit-switcher-checkbox\">\n            <span class=\"switcher-label-text metric\">cm & kg<\/span>\n            <span class=\"switcher-label-text imperial\">in & lbs<\/span>\n        <\/label>\n    <\/div>\n    <h2>Trouver la taille parfaite<\/h2>\n    <div id=\"size-quiz-content\">\n\n        <div class=\"question-slide active\" data-step=\"1\">\n            <h4>1. Mesurez les dimensions de base de votre chien<\/h4>\n            <div class=\"input-group\">\n                <label for=\"shoulderHeight\">Hauteur d'\u00c9paule (<span id=\"unit-shoulder-height\">cm<\/span>):<\/label>\n                <input id=\"shoulderHeight\" type=\"number\" placeholder=\"Du sol au sommet de l'omoplate\" \/>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"backLength\">Longueur du Dos (<span id=\"unit-back-length\">cm<\/span>):<\/label>\n                <input id=\"backLength\" type=\"number\" placeholder=\"Du garrot \u00e0 la base de la queue\" \/>\n            <\/div>\n            <div class=\"input-group\">\n                <label for=\"weight\">Poids (<span id=\"unit-weight\">kg<\/span>):<\/label>\n                <input id=\"weight\" type=\"number\" placeholder=\"Le poids de votre chien\" \/>\n            <\/div>\n            <button class=\"next-btn\">Suivant<\/button>\n        <\/div>\n\n        <div class=\"question-slide\" data-step=\"2\">\n            <h4>2. Quelles positions assise et couch\u00e9e sont importantes ?<\/h4>\n            <div class=\"answers\">\n                <label><input name=\"q2\" type=\"radio\" value=\"sitting\" \/> Mon chien devrait pouvoir s'asseoir confortablement.<\/label>\n                <label><input name=\"q2\" type=\"radio\" value=\"lying\" \/> Mon chien devrait pouvoir s'allonger dans le sac \u00e0 dos.<\/label>\n                <label><input name=\"q2\" type=\"radio\" value=\"extra_space\" \/> Mon chien devrait avoir beaucoup d'espace.<\/label>\n            <\/div>\n            <button class=\"prev-btn\">Retour<\/button>\n            <button class=\"next-btn\">Suivant<\/button>\n        <\/div>\n\n        <div class=\"question-slide\" data-step=\"result\">\n            <h4 class=\"result-title\">Selon vos mesures, nous recommandons...<\/h4>\n            <div id=\"size-result-text\"><\/div>\n            <div class=\"result-buttons\">\n                <button id=\"restart-size-quiz-btn\" class=\"secondary-btn\">Red\u00e9marrer le quiz<\/button>\n                <button id=\"send-email-btn\">Faire v\u00e9rifier votre r\u00e9sultat<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n    .quiz-container { max-width: 600px; margin: 0 auto; padding: 30px; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); font-family: Arial, sans-serif; }\n    h2, h4 { color: #333; text-align: center; }\n    .question-slide { display: none; animation: fadeIn 0.5s ease-in-out; }\n    .question-slide.active { display: block; }\n    .answers { display: flex; flex-direction: column; align-items: flex-start; margin: 20px 0; }\n    .answers label { display: flex; align-items: center; width: 100%; padding: 15px; margin-bottom: 10px; background-color: #f0f0f0; border-radius: 5px; cursor: pointer; transition: background-color 0.3s; }\n    .answers label:hover { background-color: #e0e0e0; }\n    .answers input[type=\"radio\"] { margin-right: 15px; }\n    .input-group { margin-bottom: 20px; }\n    .input-group label { display: block; margin-bottom: 5px; font-weight: bold; }\n    .input-group input { width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #ccc; border-radius: 4px; }\n    button { display: block; width: 80%; margin: 20px auto 10px; padding: 12px 25px; background-color: #228B22; color: #fff; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; }\n    button:hover { background-color: #1e7b1e; }\n    .prev-btn { background-color: #ccc; }\n    .prev-btn:hover { background-color: #a0a0a0; }\n    .result-buttons { display: flex; flex-direction: column; align-items: center; }\n    .secondary-btn { background-color: #888; }\n    .secondary-btn:hover { background-color: #666; }\n    #size-result-text { text-align: left; margin-top: 20px; line-height: 1.6; }\n    #size-result-text p { margin-bottom: 0.5em; }\n    .result-title { border-bottom: 2px solid #e0e0e0; padding-bottom: 10px; }\n    .link-btn { text-decoration: none; color: #228B22; font-weight: bold; }\n    .disclaimer { font-size: 0.8em; color: #777; margin-top: 1.5em; }\n    .highlight { color: #228B22; font-weight: bold; }\n    \/* NEW SWITCHER STYLES *\/\n    .unit-switcher-container { display: flex; justify-content: flex-end; margin-bottom: 20px; }\n    .unit-switcher-input { display: none; }\n    .unit-switcher-label { position: relative; display: flex; align-items: center; justify-content: space-between; width: 160px; height: 36px; padding: 0 10px; border-radius: 25px; background-color: #fff; border: 2px solid #ccc; box-sizing: border-box; cursor: pointer; font-weight: bold; transition: background-color 0.3s; }\n    .unit-switcher-label::before { content: ''; position: absolute; left: 0; top: 0; width: 50%; height: 100%; border-radius: 25px; background-color: #228B22; transition: transform 0.3s ease-in-out; }\n    .unit-switcher-input:checked + .unit-switcher-label::before { transform: translateX(100%); }\n    .unit-switcher-label .switcher-label-text { font-size: 14px; z-index: 1; transition: color 0.3s; }\n    .unit-switcher-label .switcher-label-text.metric { color: #fff; }\n    .unit-switcher-label .switcher-label-text.imperial { color: #888; }\n    .unit-switcher-input:checked + .unit-switcher-label .switcher-label-text.metric { color: #888; }\n    .unit-switcher-input:checked + .unit-switcher-label .switcher-label-text.imperial { color: #fff; }\n    @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n<\/style>\n\n<script>\n    document.addEventListener('DOMContentLoaded', () => {\n        const productData = {\n            'MountainRock Backpack Small': { backLength: 40, weight: 8, windowHeight: 30, url: 'https:\/\/tarigs.com\/fr\/produkt\/randonnee-sac-a-dos-pour-chiens\/', dimensions: { width: 30, height: 40, depth: 20 } },\n            'MountainRock Backpack Medium': { backLength: 50, weight: 12, windowHeight: 40, url: 'https:\/\/tarigs.com\/fr\/produkt\/randonnee-sac-a-dos-pour-chiens\/', dimensions: { width: 35, height: 50, depth: 25 } },\n            'MountainRock Backpack Large': { backLength: 60, weight: 16, windowHeight: 50, url: 'https:\/\/tarigs.com\/fr\/produkt\/randonnee-sac-a-dos-pour-chiens\/', dimensions: { width: 40, height: 60, depth: 30 } },\n            'MountainRock Backpack 20 kg \/ Extra Large': { backLength: 70, weight: 20, windowHeight: 60, url: 'https:\/\/tarigs.com\/fr\/produkt\/randonnee-sac-a-dos-pour-chiens\/', dimensions: { width: 40, height: 70, depth: 30 } },\n            'PeakStone Backpack Small': { backLength: 45, weight: 8, windowHeight: 30, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-de-trekking-pour-chiens\/', dimensions: { width: 35, height: 45, depth: 20 } },\n            'PeakStone Backpack Medium': { backLength: 55, weight: 12, windowHeight: 40, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-de-trekking-pour-chiens\/', dimensions: { width: 40, height: 55, depth: 23 } },\n            'PeakStone Backpack Large': { backLength: 62, weight: 16, windowHeight: 50, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-de-trekking-pour-chiens\/', dimensions: { width: 45, height: 62, depth: 27 } },\n            'Dachshund Backpack Mini (S)': { backLength: 40, weight: 6, windowHeight: 27, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-teckel\/', dimensions: { width: 40, height: 40, depth: 23 } },\n            'Dachshund Backpack Midi (M)': { backLength: 45, weight: 10, windowHeight: 32, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-teckel\/\/', dimensions: { width: 45, height: 45, depth: 25 } },\n            'Dachshund Backpack Maxi (L)': { backLength: 50, weight: 14, windowHeight: 40, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-teckel\/', dimensions: { width: 50, height: 50, depth: 27 } },\n            'Dachshund Backpack Extra Wide': { backLength: 60, weight: 16, windowHeight: 40, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-teckel\/', dimensions: { width: 60, height: 55, depth: 27 } },\n            'Bulldog Backpack': { backLength: 55, weight: 16, windowHeight: 40, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-bouledogues-francais\/', dimensions: { width: 45, height: 55, depth: 27 } },\n            'ROOFPACKER': { backLength: 55, weight: 14, windowHeight: 45, url: 'https:\/\/tarigs.com\/fr\/produkt\/sac-a-dos-pour-chats\/', dimensions: { width: 35, height: 55, depth: 35 } },\n        };\n        const paddedPlusLink = 'https:\/\/tarigs.com\/fr\/produkt\/ceinture-rembourree\/';\n        const boosterSeatLink = 'https:\/\/tarigs.com\/fr\/produkt\/rehausseur-de-siege\/';\n\n        let currentStep = 1;\n        const totalSteps = 2;\n        let userData = {};\n        \n        const switcher = document.getElementById('unit-switcher-checkbox');\n        const shoulderHeightInput = document.getElementById('shoulderHeight');\n        const backLengthInput = document.getElementById('backLength');\n        const weightInput = document.getElementById('weight');\n        const unitShoulderHeight = document.getElementById('unit-shoulder-height');\n        const unitBackLength = document.getElementById('unit-back-length');\n        const unitWeight = document.getElementById('unit-weight');\n        const quizContainer = document.querySelector('.quiz-container');\n\n        const showStep = (step) => {\n            document.querySelectorAll('.question-slide').forEach(slide => slide.classList.remove('active'));\n            document.querySelector(`[data-step=\"${step}\"]`).classList.add('active');\n        };\n\n        const getModelDisplayName = (modelKey) => {\n            if (modelKey.includes('MountainRock Backpack 20 kg \/ Extra Large')) {\n                return 'MountainRock Backpack 20 kg \/ Extra Large';\n            }\n            if (modelKey.includes('MountainRock') || modelKey.includes('PeakStone')) {\n                const parts = modelKey.split(' ');\n                const size = parts[2];\n                const displayName = size.charAt(0).toUpperCase() + size.slice(1);\n                return `${parts[0]} ${parts[1]} ${displayName}`;\n            }\n            return modelKey;\n        };\n        \n        const calculateSittingWidth = (shoulderHeight, backLength) => {\n            if (backLength <= shoulderHeight) { return 0; }\n            const a = Math.max(backLength, shoulderHeight);\n            const b = Math.min(backLength, shoulderHeight);\n            return Math.sqrt(Math.pow(a, 2) - Math.pow(b, 2));\n        };\n\n        const checkSuitability = (model, backLength, shoulderHeight, weight, positionPref) => {\n            const modelData = productData[model];\n            if (!modelData) { return false; }\n            const { backLength: modelBackLength, weight: modelWeight, windowHeight: modelWindowHeight, dimensions } = modelData;\n            const { width: backpackWidth } = dimensions;\n\n            if (backLength > modelBackLength || weight > modelWeight) {\n                return false;\n            }\n            if (shoulderHeight + 2 > modelWindowHeight) {\n                return false;\n            }\n            \n            if ((model === 'MountainRock Backpack Large' || model === 'PeakStone Backpack Large' || model === 'MountainRock Backpack 20 kg \/ Extra Large') && shoulderHeight < 35) {\n                return false;\n            }\n            \n            const sittingWidthCalculated = calculateSittingWidth(shoulderHeight, backLength);\n            \n            if (positionPref === 'sitting' || positionPref === 'extra_space') {\n                let requiredWidth = sittingWidthCalculated;\n                if (model.includes('MountainRock') || model.includes('ROOFPACKER')) {\n                    requiredWidth += 5;\n                } else if (model.includes('PeakStone') || model.includes('Bulldog')) {\n                    requiredWidth += 10;\n                }\n                \n                if (backpackWidth < requiredWidth) { return false; }\n            }\n            if (positionPref === 'lying') {\n                if (model.includes('MountainRock')) { return false; }\n                if (backLength > backpackWidth) {\n                    return false;\n                }\n            }\n            \n            if (positionPref === 'extra_space') {\n                if ((backLength + 5) > backpackWidth) {\n                    return false;\n                }\n            }\n\n            if ((model === 'MountainRock Backpack Small' || model === 'PeakStone Backpack Small') && shoulderHeight > 25) {\n                return false;\n            }\n\n            return true;\n        };\n\n\n        const getRecommendation = (backLength, shoulderHeight, weight, positionPref) => {\n            const recommendations = [];\n            const modelCategories = {\n                'MountainRock': ['MountainRock Backpack Small', 'MountainRock Backpack Medium', 'MountainRock Backpack Large', 'MountainRock Backpack 20 kg \/ Extra Large'],\n                'PeakStone': ['PeakStone Backpack Small', 'PeakStone Backpack Medium', 'PeakStone Backpack Large'],\n                'Dachshund': ['Dachshund Backpack Mini (S)', 'Dachshund Backpack Midi (M)', 'Dachshund Backpack Maxi (L)', 'Dachshund Backpack Extra Wide'],\n                'Bulldog': ['Bulldog Backpack'],\n                'ROOFPACKER': ['ROOFPACKER']\n            };\n\n            for (const category in modelCategories) {\n                const models = modelCategories[category];\n                for (const model of models) {\n                    if (checkSuitability(model, backLength, shoulderHeight, weight, positionPref)) {\n                        recommendations.push(model);\n                        break;\n                    }\n                }\n            }\n\n            return recommendations;\n        };\n\n\n        const renderResult = (recommendations, userData) => {\n            let resultText = '';\n            const backLength = userData.backLength;\n            const shoulderHeight = userData.shoulderHeight;\n            const weight = userData.weight;\n            const positionPref = userData.positionPref;\n            const isImperial = userData.units === 'imperial';\n\n            if (shoulderHeight >= backLength) {\n                resultText += `<p>Votre chien a une morphologie carr\u00e9e. Pour choisir la taille, vous devez uniquement vous concentrer sur la hauteur d'\u00e9paule.<\/p>`;\n            } else {\n                const calculatedSitWidth = calculateSittingWidth(shoulderHeight, backLength);\n                let displaySitWidth = calculatedSitWidth;\n                let unitString = 'cm';\n                \n                if (isImperial) {\n                    displaySitWidth = calculatedSitWidth \/ 2.54;\n                    unitString = 'in';\n                }\n                \n                resultText += `<p>La largeur assise calcul\u00e9e est : <span class=\"highlight\">${displaySitWidth.toFixed(2)} ${unitString}<\/span>.<\/p>`;\n            }\n\n            if (recommendations.length > 0) {\n                resultText += `<p>Selon vos mesures, nous recommandons les sacs \u00e0 dos suivants. Ce sont les plus petites tailles appropri\u00e9es de chaque gamme de produits :<\/p>`;\n                resultText += `<ul>`;\n                recommendations.forEach(rec => {\n                    resultText += `<li><a href=\"${productData[rec].url}\" class=\"link-btn\">${getModelDisplayName(rec)}<\/a><\/li>`;\n                });\n                resultText += `<\/ul>`;\n            } else {\n                resultText += `<p><strong><span style=\"color:red;\">Malheureusement, aucun sac \u00e0 dos appropri\u00e9 n'a pu \u00eatre trouv\u00e9 sur la base de vos informations. Veuillez cliquer sur le bouton \"Faire v\u00e9rifier votre r\u00e9sultat\" pour que vos mesures soient examin\u00e9es personnellement.<\/span><\/strong><\/p>`;\n            }\n            \n            if (shoulderHeight > 25 && shoulderHeight < 28) {\n                const isMRSmallSuitableOtherwise = backLength <= productData['MountainRock Backpack Small'].backLength &&\n                                                   weight <= productData['MountainRock Backpack Small'].weight &&\n                                                   (positionPref !== 'lying');\n                \n                const isPSSmallSuitableOtherwise = backLength <= productData['PeakStone Backpack Small'].backLength &&\n                                                   weight <= productData['PeakStone Backpack Small'].weight;\n\n                if (isMRSmallSuitableOtherwise || isPSSmallSuitableOtherwise) {\n                    const mrSmallLink = productData['MountainRock Backpack Small'].url;\n                    const psSmallLink = productData['PeakStone Backpack Small'].url;\n                    resultText += `<p class=\"disclaimer\">Si vous voulez que le sac \u00e0 dos soit le plus petit possible, le **<a href=\"${mrSmallLink}\" class=\"link-btn\">MountainRock Backpack<\/a>** et le **<a href=\"${psSmallLink}\" class=\"link-btn\">PeakStone Backpack<\/a>** en **Small** sont \u00e9galement une option.<\/p>`;\n                }\n            }\n\n            const mrMediumRec = recommendations.includes('MountainRock Backpack Medium');\n            const mrLargeRec = recommendations.includes('MountainRock Backpack Large');\n            const mrXLargeRec = recommendations.includes('MountainRock Backpack 20 kg \/ Extra Large');\n            const psMediumRec = recommendations.includes('PeakStone Backpack Medium');\n            const psLargeRec = recommendations.includes('PeakStone Backpack Large');\n\n            let showBoosterHint = false;\n            if ((mrMediumRec || psMediumRec) && shoulderHeight < 30) {\n                showBoosterHint = true;\n            }\n            if ((mrLargeRec || psLargeRec) && shoulderHeight < 40) {\n                showBoosterHint = true;\n            }\n            if (mrXLargeRec && shoulderHeight < 50) {\n                showBoosterHint = true;\n            }\n\n            if (showBoosterHint) {\n                resultText += `<p class=\"disclaimer\">Pour le **MountainRock Backpack** ou le **PeakStone Backpack**, nous recommandons le <a href=\"${boosterSeatLink}\" class=\"link-btn\">**Si\u00e8ge Rehausseur**<\/a>. Cela permet \u00e0 votre chien de s'asseoir plus haut et de profiter de la vue.<\/p>`;\n            }\n\n            if (positionPref === 'lying' || positionPref === 'extra_space') {\n                 resultText += `<p class=\"disclaimer\">Pour s'allonger et regarder dehors, les PeakStone, Dachshund, Bulldog Backpack et ROOFPACKER sont les plus appropri\u00e9s.<\/p>`;\n            }\n            \n            resultText += `<p class=\"disclaimer\">Pour un confort de transport optimal, nous recommandons la <a href=\"${paddedPlusLink}\" class=\"link-btn\">Ceinture de Hanche PaddedPlus<\/a> si n\u00e9cessaire.<\/p>`;\n            resultText += `<p class=\"disclaimer\">Les recommandations mentionn\u00e9es ici sont donn\u00e9es \u00e0 titre indicatif uniquement. Veuillez toujours prendre votre d\u00e9cision finale en fonction des mesures exactes de votre chien, de votre propre taille et de vos exigences individuelles pour le sac \u00e0 dos.<\/p>`;\n\n            document.getElementById('size-result-text').innerHTML = resultText;\n            showStep('result');\n        };\n\n        const fixMobileZoom = () => {\n            const metaViewport = document.querySelector('meta[name=\"viewport\"]');\n            if (metaViewport) {\n                const originalContent = metaViewport.getAttribute('content');\n                metaViewport.setAttribute('content', 'width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0');\n                setTimeout(() => {\n                    metaViewport.setAttribute('content', originalContent);\n                }, 50);\n            }\n        };\n\n        const toggleUnits = () => {\n            const isImperial = switcher.checked;\n            const currentShoulderHeight = parseFloat(shoulderHeightInput.value);\n            const currentBackLength = parseFloat(backLengthInput.value);\n            const currentWeight = parseFloat(weightInput.value);\n            \n            if (isImperial) { \/\/ Switch to Imperial\n                if (!isNaN(currentShoulderHeight)) { shoulderHeightInput.value = (currentShoulderHeight \/ 2.54).toFixed(2); }\n                if (!isNaN(currentBackLength)) { backLengthInput.value = (currentBackLength \/ 2.54).toFixed(2); }\n                if (!isNaN(currentWeight)) { weightInput.value = (currentWeight * 2.20462).toFixed(2); }\n                unitShoulderHeight.textContent = 'in';\n                unitBackLength.textContent = 'in';\n                unitWeight.textContent = 'lbs';\n            } else { \/\/ Switch to Metric\n                if (!isNaN(currentShoulderHeight)) { shoulderHeightInput.value = (currentShoulderHeight * 2.54).toFixed(2); }\n                if (!isNaN(currentBackLength)) { backLengthInput.value = (currentBackLength * 2.54).toFixed(2); }\n                if (!isNaN(currentWeight)) { weightInput.value = (currentWeight \/ 2.20462).toFixed(2); }\n                unitShoulderHeight.textContent = 'cm';\n                unitBackLength.textContent = 'cm';\n                unitWeight.textContent = 'kg';\n            }\n        };\n\n        switcher.addEventListener('change', toggleUnits);\n\n        document.querySelectorAll('.next-btn').forEach(button => {\n            button.addEventListener('click', () => {\n                document.activeElement.blur();\n                fixMobileZoom();\n                quizContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\n                const currentSlide = button.closest('.question-slide');\n                const step = parseInt(currentSlide.dataset.step);\n\n                if (step === 1) {\n                    let shoulderHeight = parseFloat(shoulderHeightInput.value);\n                    let backLength = parseFloat(backLengthInput.value);\n                    let weight = parseFloat(weightInput.value);\n                    \n                    const isImperial = switcher.checked;\n\n                    \/\/ Convert to metric for logic\n                    if (isImperial) {\n                        shoulderHeight = shoulderHeight * 2.54;\n                        backLength = backLength * 2.54;\n                        weight = weight \/ 2.20462;\n                    }\n\n                    if (isNaN(shoulderHeight) || isNaN(backLength) || isNaN(weight) || shoulderHeight <= 0 || backLength <= 0 || weight <= 0) {\n                        alert('Veuillez entrer des nombres positifs valides.');\n                        return;\n                    }\n                    userData.shoulderHeight = shoulderHeight;\n                    userData.backLength = backLength;\n                    userData.weight = weight;\n                    userData.units = isImperial ? 'imperial' : 'metric';\n                } else if (step === 2) {\n                    const selectedAnswer = currentSlide.querySelector('input[type=\"radio\"]:checked');\n                    if (!selectedAnswer) {\n                        alert('Veuillez s\u00e9lectionner une r\u00e9ponse.');\n                        return;\n                    }\n                    userData.positionPref = selectedAnswer.value;\n                }\n                currentStep++;\n                if (currentStep > totalSteps) {\n                    const recommendations = getRecommendation(userData.backLength, userData.shoulderHeight, userData.weight, userData.positionPref);\n                    renderResult(recommendations, userData);\n                } else {\n                    showStep(currentStep);\n                }\n            });\n        });\n\n        document.querySelectorAll('.prev-btn').forEach(button => {\n            button.addEventListener('click', () => {\n                document.activeElement.blur();\n                fixMobileZoom();\n                quizContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });\n                currentStep--;\n                showStep(currentStep);\n            });\n        });\n\n        document.getElementById('restart-size-quiz-btn').addEventListener('click', () => {\n            currentStep = 1;\n            document.querySelectorAll('input[type=\"number\"], input[type=\"radio\"]').forEach(input => {\n                if (input.type === 'radio') input.checked = false;\n                if (input.type === 'number') input.value = '';\n            });\n            showStep(currentStep);\n        });\n\n        document.getElementById('send-email-btn').addEventListener('click', () => {\n            const recommendations = getRecommendation(userData.backLength, userData.shoulderHeight, userData.weight, userData.positionPref);\n\n            const recommendedList = recommendations.length > 0\n                ? recommendations.map(rec => `- ${getModelDisplayName(rec)}`).join('\\n')\n                : 'No recommendation found.';\n\n            let positionText = '';\n            switch(userData.positionPref) {\n                case 'sitting': positionText = 'Assis (Sitting)'; break; \/\/ Hinzugef\u00fcgt: (Sitting)\n                case 'lying': positionText = 'Allong\u00e9 (Lying)'; break;   \/\/ Hinzugef\u00fcgt: (Lying)\n                case 'extra_space': positionText = 'Beaucoup d\\'espace (Extra Space)'; break; \/\/ Hinzugef\u00fcgt: (Extra Space)\n            }\n            \n            let emailShoulderHeight = userData.shoulderHeight;\n            let emailBackLength = userData.backLength;\n            let emailWeight = userData.weight;\n            \n            if (userData.units === 'imperial') {\n                const imperialShoulderHeight = (userData.shoulderHeight \/ 2.54).toFixed(2);\n                const imperialBackLength = (userData.backLength \/ 2.54).toFixed(2);\n                const imperialWeight = (userData.weight * 2.20462).toFixed(2);\n                \n                emailShoulderHeight = `${imperialShoulderHeight} in (${userData.shoulderHeight.toFixed(2)} cm)`;\n                emailBackLength = `${imperialBackLength} in (${userData.backLength.toFixed(2)} cm)`;\n                emailWeight = `${imperialWeight} lbs (${userData.weight.toFixed(2)} kg)`;\n\n            } else {\n                emailShoulderHeight = `${userData.shoulderHeight.toFixed(2)} cm`;\n                emailBackLength = `${userData.backLength.toFixed(2)} cm`;\n                emailWeight = `${userData.weight.toFixed(2)} kg`;\n            }\n\n            const emailBody = `Bonjour l'\u00e9quipe TARIGS,\n            \nJ'ai compl\u00e9t\u00e9 votre quiz de taille de sac \u00e0 dos et j'appr\u00e9cierais une \u00e9valuation personnelle des r\u00e9sultats.\n\nMES ENTR\u00c9ES:\n- Hauteur d'\u00c9paule (Shoulder Height): ${emailShoulderHeight}\n- Longueur du Dos (Back Length): ${emailBackLength}\n- Poids (Weight): ${emailWeight}\n- Position Pr\u00e9f\u00e9r\u00e9e (Position Preference): ${positionText}\n\nMOD\u00c8LES RECOMMAND\u00c9S:\n${recommendedList}\n\nMerci d'avance pour votre conseil !`;\n            const mailtoLink = `mailto:info@tarigs.com?subject=Demande de taille de sac \u00e0 dos&body=${encodeURIComponent(emailBody)}`;\n            window.open(mailtoLink, '_blank');\n        });\n    });\n<\/script><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_6 1_6 fusion-one-sixth fusion-column-first\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:13.3333%; margin-right: 4%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_2_3 2_3 fusion-two-third\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:65.3333%; margin-right: 4%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"margin-left: auto;margin-right: auto;margin-top:50px;width:100%;\"><\/div><div class=\"fusion-sep-clear\"><\/div><div class=\"fusion-text fusion-text-4\"><p>Ce quiz est un excellent point de d\u00e9part. Chaque chien \u00e9tant unique, nous te recommandons de comparer les mesures obtenues \u00e0 partir de nos r\u00e9sultats avec notre<a href=\"https:\/\/archive.tarigs.com\/fr\/dimensions-sac-a-dos-pour-chien\/\"> tableau des tailles<\/a>.<\/p>\n<p>Pour d\u00e9terminer toi-m\u00eame les mesures de ton chien et t&rsquo;assurer que le sac \u00e0 dos lui ira parfaitement, consulte notre guide : <a href=\"https:\/\/archive.tarigs.com\/fr\/determinez-vous-meme-la-taille-de-votre-sac-a-dos\/\">D\u00e9terminer soi-m\u00eame la taille du sac \u00e0 dos.<\/a><\/p>\n<\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_6 1_6 fusion-one-sixth fusion-column-last\" style=\"--awb-bg-size:cover;--awb-margin-top:0px;--awb-margin-bottom:0px;width:13.3333%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-38608","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz<\/title>\n<meta name=\"description\" content=\"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.\" \/>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz\" \/>\n<meta property=\"og:description\" content=\"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/\" \/>\n<meta property=\"og:site_name\" content=\"TARIGS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tarigs.de\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-04T23:56:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@tarigsde\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/taille-du-quiz\\\/\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/taille-du-quiz\\\/\",\"name\":\"Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#website\"},\"datePublished\":\"2025-10-28T12:42:16+00:00\",\"dateModified\":\"2025-11-04T23:56:12+00:00\",\"description\":\"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/taille-du-quiz\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/taille-du-quiz\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/taille-du-quiz\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2. Quiz tous les mod\u00e8les \\\/ tailles recommander\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/\",\"name\":\"TARIGS\",\"description\":\"Dog, Cat &amp; Bird Backpacks\",\"publisher\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#organization\",\"name\":\"TARIGS\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/archive.tarigs.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/Tarigs-Logo-horizontal-1C-2-2.jpg\",\"contentUrl\":\"https:\\\/\\\/archive.tarigs.com\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/Tarigs-Logo-horizontal-1C-2-2.jpg\",\"width\":250,\"height\":83,\"caption\":\"TARIGS\"},\"image\":{\"@id\":\"https:\\\/\\\/archive.tarigs.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/tarigs.de\\\/\",\"https:\\\/\\\/x.com\\\/tarigsde\",\"https:\\\/\\\/www.instagram.com\\\/tarigs.de\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCzgIC5z9hbt1msGscyFoG_w\",\"https:\\\/\\\/de.pinterest.com\\\/tarigsde\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz","description":"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"fr_FR","og_type":"article","og_title":"Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz","og_description":"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.","og_url":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/","og_site_name":"TARIGS","article_publisher":"https:\/\/www.facebook.com\/tarigs.de\/","article_modified_time":"2025-11-04T23:56:12+00:00","twitter_card":"summary_large_image","twitter_site":"@tarigsde","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/","url":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/","name":"Trouvez votre taille pour les sacs \u00e0 dos TARIGS | Quiz","isPartOf":{"@id":"https:\/\/archive.tarigs.com\/fr\/#website"},"datePublished":"2025-10-28T12:42:16+00:00","dateModified":"2025-11-04T23:56:12+00:00","description":"Trouvez votre taille : gr\u00e2ce \u00e0 notre questionnaire, vous pouvez d\u00e9terminer vous-m\u00eame la taille du sac \u00e0 dos.","breadcrumb":{"@id":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/archive.tarigs.com\/fr\/taille-du-quiz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/archive.tarigs.com\/fr\/"},{"@type":"ListItem","position":2,"name":"2. Quiz tous les mod\u00e8les \/ tailles recommander"}]},{"@type":"WebSite","@id":"https:\/\/archive.tarigs.com\/fr\/#website","url":"https:\/\/archive.tarigs.com\/fr\/","name":"TARIGS","description":"Dog, Cat &amp; Bird Backpacks","publisher":{"@id":"https:\/\/archive.tarigs.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/archive.tarigs.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/archive.tarigs.com\/fr\/#organization","name":"TARIGS","url":"https:\/\/archive.tarigs.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/archive.tarigs.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/archive.tarigs.com\/wp-content\/uploads\/2019\/09\/Tarigs-Logo-horizontal-1C-2-2.jpg","contentUrl":"https:\/\/archive.tarigs.com\/wp-content\/uploads\/2019\/09\/Tarigs-Logo-horizontal-1C-2-2.jpg","width":250,"height":83,"caption":"TARIGS"},"image":{"@id":"https:\/\/archive.tarigs.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tarigs.de\/","https:\/\/x.com\/tarigsde","https:\/\/www.instagram.com\/tarigs.de\/","https:\/\/www.youtube.com\/channel\/UCzgIC5z9hbt1msGscyFoG_w","https:\/\/de.pinterest.com\/tarigsde\/"]}]}},"_links":{"self":[{"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/pages\/38608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/comments?post=38608"}],"version-history":[{"count":0,"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/pages\/38608\/revisions"}],"wp:attachment":[{"href":"https:\/\/archive.tarigs.com\/fr\/wp-json\/wp\/v2\/media?parent=38608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}