{"id":1520,"date":"2026-05-26T13:24:59","date_gmt":"2026-05-26T13:24:59","guid":{"rendered":"https:\/\/lean-app.com\/calculateur-tdee\/"},"modified":"2026-05-28T08:24:58","modified_gmt":"2026-05-28T08:24:58","slug":"calculateur-tdee","status":"publish","type":"post","link":"https:\/\/lean-app.com\/en\/calculateur-tdee\/","title":{"rendered":"TDEE Calculator: the most accurate formula (with real bodyfat)"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\t<title>Calculateur TDEE avanc\u00e9<\/title>\n\t<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n\t<style>\n\t\t\/* --- Design Variables --- *\/\n\t\t:root {\n\t\t\t--primary-color: #005A9C;\n\t\t\t--secondary-color: #E3E3FD;\n\t\t\t--background-color: #F8F8F9;\n\t\t\t--text-color: #161616;\n\t\t\t--light-text-color: #6c757d;\n\t\t\t--border-color: #dee2e6;\n\t\t\t--white-color: #fff;\n\t\t\t--success-color: #1F883D;\n\t\t\t--danger-color: #D92D20;\n\t\t\t--shadow: 0 8px 25px rgba(0, 0, 0, 0.08);\n\t\t\t--border-radius: 12px;\n\t\t}\n\n\t\t\/* --- General Styles --- *\/\n\t\t* {\n\t\t\tbox-sizing: border-box;\n\t\t}\n\n\t\tbody {\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n\t\t\tbackground-color: var(--background-color);\n\t\t\tcolor: var(--text-color);\n\t\t\tmargin: 0;\n\t\t\tpadding: 1rem;\n\t\t}\n\n\t\t\/* --- Main Container --- *\/\n\t\t.calculator-container {\n\t\t\tmax-width: 800px;\n\t\t\tmargin: auto;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tbox-shadow: var(--shadow);\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t\/* --- Header --- *\/\n\t\t.calculator-header {\n\t\t\tpadding: 2rem;\n\t\t\tbackground: linear-gradient(to right, #F2A672, #EB5E91, #7A8EA3, #57BEB3);\n\t\t\tcolor: var(--white-color);\n\t\t}\n\t\t.calculator-header h1 {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 2em;\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--white-color); \/* Ensures title is white *\/\n\t\t}\n\t\t.calculator-header p {\n\t\t\tmargin: 0.5rem 0 0;\n\t\t\topacity: 0.9;\n\t\t\tfont-size: 1.1em;\n\t\t}\n\n\t\t\/* --- Form & Sections --- *\/\n\t\t#tdee-form {\n\t\t\tpadding: 2rem;\n\t\t}\n\n\t\tfieldset {\n\t\t\tborder: 1px solid var(--border-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tpadding: 1.5rem;\n\t\t\tmargin-bottom: 2rem;\n\t\t}\n\t\tlegend {\n\t\t\tfont-size: 1.25em;\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--primary-color);\n\t\t\tpadding: 0 0.5rem;\n\t\t}\n\t\t\n\t\t.form-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t}\n\n\t\t.input-group {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\t.input-group label {\n\t\t\tfont-weight: 600;\n\t\t\tmargin-bottom: 0.5rem;\n\t\t}\n\t\t.input-group label .unit {\n\t\t\tfont-weight: 400;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.input-group input, .input-group select {\n\t\t\twidth: 100%;\n\t\t\tpadding: 0.75rem;\n\t\t\tborder: 1px solid var(--border-color);\n\t\t\tborder-radius: 8px;\n\t\t\tfont-size: 1em;\n\t\t\tbox-sizing: border-box;\n\t\t\ttransition: border-color 0.2s, box-shadow 0.2s;\n\t\t}\n\t\t.input-group input:focus, .input-group select:focus {\n\t\t\toutline: none;\n\t\t\tborder-color: var(--primary-color);\n\t\t\tbox-shadow: 0 0 0 3px var(--secondary-color);\n\t\t}\n\n\t\t\/* --- CTA for Lean App --- *\/\n\t\t#cta-lean, .cta-tracking {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: auto 1fr auto;\n\t\t\talign-items: center;\n\t\t\tgap: 1.5rem;\n\t\t\tmargin-top: 1rem;\n\t\t\tbackground-color: #f8f9fa;\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t\/* Images principales des deux CTA \u2013 m\u00eame logique que le \u201cmarquee-banner\u201d *\/\n#cta-lean .cta-col-left picture,\n#cta-lean .cta-col-left picture>img,\n#cta-lean .cta-col-left .promo-image-main,\n.cta-tracking .cta-col-left picture,\n.cta-tracking .cta-col-left picture>img,\n.cta-tracking .cta-col-left .promo-image-main{\n    max-width:300px;          \/* limite la largeur, comme dans l\u2019exemple *\/\n    max-height:200px;         \/* garde la hauteur max d\u00e9j\u00e0 pr\u00e9vue *\/\n    width:100%;               \/* occupe toute la colonne sans d\u00e9passer *\/\n    height:auto;\n    display:block;\n    border-radius:12px;\n}\n\n\t\t#cta-lean .cta-col-center, .cta-tracking .cta-col-center {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#cta-lean .cta-col-center p, .cta-tracking .cta-col-center p {\n\t\t\tmargin: 0 0 1rem 0;\n\t\t\tfont-size: 1em;\n\t\t\tline-height: 1.4;\n\t\t}\n\t\t#cta-lean .cta-buttons, .cta-tracking .cta-buttons {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.75rem;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\t\t#cta-lean .cta-buttons img, .cta-tracking .cta-buttons img {\n\t\t\theight: 40px;\n\t\t}\n\t\t#cta-lean .cta-col-right, .cta-tracking .cta-col-right {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tgap: 0.5rem;\n\t\t}\n\t\t#cta-lean .cta-col-right .promo-logo-small, .cta-tracking .cta-col-right .promo-logo-small {\n\t\t\tmax-height: 80px;\n\t\t}\n\t\t#cta-lean .cta-col-right span, .cta-tracking .cta-col-right span {\n\t\t\tfont-weight: 600;\n\t\t\tfont-size: 1.1em;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\n\n\t\t\/* --- Intensity Slider --- *\/\n\t\t#intensity-group {\n\t\t\ttransition: opacity 0.3s ease;\n\t\t}\n\t\t#intensity-slider {\n\t\t\twidth: 100%;\n\t\t}\n\t\t#slider-value {\n\t\t\tfont-weight: 700;\n\t\t\tcolor: var(--primary-color);\n\t\t\tfont-size: 1.1em;\n\t\t}\n\n\t\t\/* --- Button & Error Message --- *\/\n\t\t.submit-btn {\n\t\t\twidth: 100%;\n\t\t\tpadding: 1rem;\n\t\t\tfont-size: 1.2em;\n\t\t\tfont-weight: 700;\n\t\t\tbackground: linear-gradient(to right, #F2A672, #EB5E91, #7A8EA3, #57BEB3);\n\t\t\tcolor: var(--white-color);\n\t\t\tborder: none;\n\t\t\tborder-radius: 8px;\n\t\t\tcursor: pointer;\n\t\t\ttransition: filter 0.2s, transform 0.1s;\n\t\t}\n\t\t.submit-btn:hover {\n\t\t\tfilter: brightness(1.1);\n\t\t}\n\t\t\n\t\t#error-message {\n\t\t\tcolor: var(--danger-color);\n\t\t\ttext-align: center;\n\t\t\tmargin-top: 1rem;\n\t\t\tdisplay: none;\n\t\t\tfont-weight: 500;\n\t\t}\n\t\t\n\t\t\/* --- Results Section --- *\/\n\t\t#results {\n\t\t\tdisplay: none;\n\t\t\tpadding: 1.5rem;\n\t\t\tbackground-color: var(--background-color);\n\t\t}\n\t\t.results-summary {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t\tmargin-bottom: 2rem;\n\t\t}\n\t\t.result-card {\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\ttext-align: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t}\n\t\t.result-card h3 {\n\t\t\tmargin: 0 0 0.5rem;\n\t\t\tfont-size: 1rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.result-card .value {\n\t\t\tfont-size: 2.2em;\n\t\t\tfont-weight: 700;\n\t\t}\n\t\t.result-card .unit {\n\t\t\tfont-size: 1rem;\n\t\t\topacity: 0.8;\n\t\t}\n\t\t#maintenance-card { background-color: #e3f2fd; color: #0d47a1; }\n\t\t#goal-card.deficit { background-color: var(--secondary-color); color: var(--primary-color); }\n\t\t#goal-card.maintenance { background-color: #e8f5e9; color: var(--success-color); }\n\t\t#goal-card.surplus { background-color: #ffebee; color: var(--danger-color); }\n\t\t\n\t\t#chart-container {\n\t\t\tmargin-top: 2rem;\n\t\t}\n\t\t\n\t\t#breakdown-section, #macros-section, #body-stats-section, .cta-secondary, #tracking-tools-section, #seo-article-section {\n\t\t\tmargin-top: 3rem;\n\t\t\tpadding-top: 3rem;\n\t\t\tborder-top: 1px solid var(--border-color);\n\t\t}\n\n\t\t#breakdown-section {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n\t\t\tgap: 2rem;\n\t\t\talign-items: center;\n\t\t}\n\t\t#breakdown-text ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t}\n\t\t#breakdown-text li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: 1.1em;\n\t\t\tpadding: 0.75rem;\n\t\t\tborder-radius: 8px;\n\t\t}\n\t\t#breakdown-text li:nth-child(odd) {\n\t\t\tbackground-color: var(--white-color);\n\t\t}\n\t\t#breakdown-text li span:last-child {\n\t\t\tfont-weight: 700;\n\t\t}\n\n\t\t\/* --- Second CTA --- *\/\n\t\t.cta-secondary {\n\t\t\tpadding: 2rem;\n\t\t\ttext-align: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t.cta-secondary h3 {\n\t\t\tmargin: 0 auto 1.5rem auto;\n\t\t\tmax-width: 500px;\n\t\t\tfont-size: 1.2em;\n\t\t\tline-height: 1.5;\n\t\t\tcolor: var(--text-color);\n\t\t\tfont-weight: 600;\n\t\t}\n\t\t.cta-secondary .cta-buttons {\n\t\t\tjustify-content: center;\n\t\t\tmargin-bottom: 1.5rem;\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.75rem;\n\t\t\talign-items: center;\n\t\t}\n\t\t.cta-secondary .cta-buttons img {\n\t\t\theight: 40px;\n\t\t}\n\t\t.cta-secondary .cta-secondary-image {\n\t\t\tmax-width: 100%;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tmargin-top: 1rem;\n\t\t}\n\n\t\t\/* --- Macros Section --- *\/\n\t\t#macros-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#macros-section h2 {\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.macros-subtitle {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tcolor: var(--light-text-color);\n\t\t}\n\t\t.macros-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n\t\t\tgap: 1.5rem;\n\t\t}\n\t\t.macro-card {\n\t\t\tbackground-color: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\ttext-align: left;\n\t\t\tborder: 1px solid var(--border-color);\n\t\t}\n\t\t.macro-card h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\t\t.macro-card canvas {\n\t\t\tmax-height: 140px;\n\t\t\tmargin: 0.5rem auto 1rem auto;\n\t\t}\n\t\t.macro-card .macro-ratio {\n\t\t\ttext-align: center;\n\t\t\tfont-size: 0.85em;\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmargin-bottom: 1.5rem;\n\t\t}\n\t\t.macro-card ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 0.75rem;\n\t\t}\n\t\t.macro-card li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tfont-size: 1.1em;\n\t\t}\n\t\t.macro-card li span:last-child {\n\t\t\tfont-weight: 700;\n\t\t}\n\n\t\t\/* --- Body Stats Section --- *\/\n\t\t#body-stats-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t #body-stats-section h2 {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.body-stats-container {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 1.5rem;\n\t\t}\n\t\t.stat-card {\n\t\t\tbackground: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t}\n\t\t.stat-card h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin: 0 0 0.5rem 0;\n\t\t\tfont-size: 1.2em;\n\t\t}\n\t\t.stat-card .main-value {\n\t\t\tfont-size: 2.2em;\n\t\t\tfont-weight: 700;\n\t\t\tmargin-bottom: 0.25rem;\n\t\t}\n\t\t.stat-card .sub-value {\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t.stat-card .stat-explanation {\n\t\t\tfont-size: 0.9em;\n\t\t\tcolor: var(--light-text-color);\n\t\t\tmax-width: 600px;\n\t\t\tmargin: 0 auto 1.5rem auto;\n\t\t\tline-height: 1.5;\n\t\t}\n\t\t.stat-card ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 1rem;\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.9em;\n\t\t\tbackground-color: var(--background-color);\n\t\t\tborder-radius: 8px;\n\t\t}\n\t\t.stat-card ul li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\tpadding: 0.5rem 0;\n\t\t\tborder-bottom: 1px solid #e0e0e0;\n\t\t}\n\t\t  .stat-card ul li:last-child {\n\t\t\tborder-bottom: none;\n\t\t}\n\t\t\/* New colors for stats *\/\n\t\t#ideal-weight-card { background-color: #e6f4ff; border: 1px solid #b3d9ff; }\n\t\t#ideal-weight-card .main-value { color: #005a9c; }\n\t\t#bmi-card { background-color: #fffbe6; border: 1px solid #ffe580; }\n\t\t#bmi-card .main-value { color: #d46b08; }\n\t\t#mmp-card { background-color: #f6f2ff; border: 1px solid #d9b3ff; }\n\t\t#mmp-card .main-value { color: #531dab; }\n\n\t\t\/* --- Calorie Tracking Tools Section --- *\/\n\t\t#tracking-tools-section {\n\t\t\ttext-align: center;\n\t\t}\n\t\t#tracking-tools-section h2 {\n\t\t\tmargin: 0 0 2rem 0;\n\t\t\tfont-size: 1.5em;\n\t\t}\n\t\t.tracking-method {\n\t\t\tmargin-bottom: 2.5rem;\n\t\t}\n\t\t.tracking-method h3 {\n\t\t\ttext-align: left;\n\t\t\tmargin: 0 0 1.5rem 0;\n\t\t\tfont-size: 1.2em;\n\t\t\tcolor: var(--primary-color);\n\t\t}\n\t\t.tracking-method-content {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 2fr;\n\t\t\tgap: 1.5rem;\n\t\t\talign-items: center;\n\t\t\tbackground-color: var(--white-color);\n\t\t\tpadding: 1.5rem;\n\t\t\tborder-radius: var(--border-radius);\n\t\t\tborder: 1px solid var(--border-color);\n\t\t}\n\t\t.tracking-qualities ul {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: 0.75rem;\n\t\t\ttext-align: left;\n\t\t}\n\t\t.tracking-qualities li {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\t\t}\n\t\t.rating {\n\t\t\tfont-size: 0.8em;\n\t\t\tfont-weight: 600;\n\t\t\tpadding: 0.25rem 0.6rem;\n\t\t\tborder-radius: 12px;\n\t\t\ttext-transform: capitalize;\n\t\t}\n\t\t.rating-medium { background-color: #fffbe6; color: #d46b08; border: 1px solid #ffe580; }\n\t\t.rating-good { background-color: #f6ffed; color: #389e0d; border: 1px solid #b7eb8f; }\n\t\t.rating-very-good { background-color: #e6f7ff; color: #005a9c; border: 1px solid #91d5ff; }\n\n\t\t.tracking-images {\n\t\t\tdisplay: flex;\n\t\t\tgap: 1rem;\n\t\t\tjustify-content: center;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.tracking-images img {\n\t\t\tmax-width: 100%;\n\t\t\theight: auto;\n\t\t\tmax-height: 250px; \/* Control image size *\/\n\t\t\tborder-radius: 8px;\n\t\t\tbox-shadow: 0 4px 10px rgba(0,0,0,0.1);\n\t\t}\n\n\t\t\/* --- SEO Article Section --- *\/\n\t\t#seo-article-section {\n\t\t\ttext-align: left;\n\t\t\tline-height: 1.7;\n\t\t\tpadding: 1.5rem;\n\t\t}\n\t\t#seo-article-section h2, #seo-article-section h3 {\n\t\t\ttext-align: center;\n\t\t\tmargin-top: 2rem;\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t#seo-article-section p {\n\t\t\tmargin-bottom: 1rem;\n\t\t}\n\t\t#seo-article-section ul {\n\t\t\tmargin-bottom: 1rem;\n\t\t\tpadding-left: 20px;\n\t\t}\n\n\t\t\/* --- RESPONSIVE STYLES --- *\/\n\t\t@media (max-width: 768px) {\n\t\t\tbody {\n\t\t\t\tpadding: 0.5rem;\n\t\t\t\tfont-size: 15px; \/* Adjust base font size for mobile *\/\n\t\t\t}\n\t\t\t.calculator-container {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t\t.calculator-header, #tdee-form, #results, #seo-article-section {\n\t\t\t\tpadding: 1.2rem;\n\t\t\t}\n\t\t\t.calculator-header h1 {\n\t\t\t\tfont-size: 1.7em;\n\t\t\t}\n\t\t\t.calculator-header p {\n\t\t\t\tfont-size: 1em;\n\t\t\t}\n\t\t\t\n\t\t\tlegend {\n\t\t\t\tfont-size: 1.15em;\n\t\t\t}\n\t\t\tfieldset {\n\t\t\t\tpadding: 1rem;\n\t\t\t\tmargin-bottom: 1.5rem;\n\t\t\t}\n\t\t\t.form-grid, .results-summary, .macros-grid {\n\t\t\t\tgap: 1rem;\n\t\t\t}\n\n\t\t\t#cta-lean, .cta-tracking {\n\t\t\t\tgrid-template-columns: 1fr;\n\t\t\t\tgap: 1rem;\n\t\t\t\ttext-align: center;\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-left, .cta-tracking .cta-col-left {\n\t\t\t\torder: 2;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-center, .cta-tracking .cta-col-center {\n\t\t\t\torder: 1;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-right, .cta-tracking .cta-col-right {\n\t\t\t\torder: 3;\n\t\t\t}\n\t\t\t#cta-lean .cta-col-left .promo-image-main, .cta-tracking .cta-col-left .promo-image-main {\n\t\t\t\tmax-height: 160px;\n\t\t\t}\n\t\t\t#cta-lean .cta-buttons img, .cta-tracking .cta-buttons img, .cta-secondary .cta-buttons img {\n\t\t\t\theight: 38px;\n\t\t\t}\n\t\t\t\n\t\t\t.result-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.result-card h3 {\n\t\t\t\tfont-size: 0.85rem;\n\t\t\t}\n\t\t\t.result-card .value {\n\t\t\t\tfont-size: 1.9em;\n\t\t\t}\n\t\t\t.result-card .unit {\n\t\t\t\tfont-size: 0.9rem;\n\t\t\t}\n\t\t\t\n\t\t\t\/* Hides the projection chart on mobile *\/\n\t\t\t#chart-container {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t#breakdown-section, #macros-section, #body-stats-section, .cta-secondary, #tracking-tools-section {\n\t\t\t\tmargin-top: 2rem;\n\t\t\t\tpadding-top: 2rem;\n\t\t\t}\n\t\t\t\n\t\t\t.cta-secondary h3 {\n\t\t\t\tfont-size: 1.1em;\n\t\t\t}\n\t\t\t.cta-secondary .cta-secondary-image {\n\t\t\t\tmax-width: 90%;\n\t\t\t}\n\t\t\t\n\t\t\t.macro-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.macro-card li {\n\t\t\t\tfont-size: 1em;\n\t\t\t}\n\t\t\t.macro-card canvas {\n\t\t\t\tmax-height: 120px;\n\t\t\t}\n\n\t\t\t.stat-card {\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.stat-card .main-value {\n\t\t\t\tfont-size: 1.9em;\n\t\t\t}\n\t\t\t.stat-card .stat-explanation, .stat-card ul {\n\t\t\t\tfont-size: 0.85em;\n\t\t\t}\n\t\t\t\n\t\t\t.tracking-method-content {\n\t\t\t\tgrid-template-columns: 1fr;\n\t\t\t\tpadding: 1rem;\n\t\t\t}\n\t\t\t.tracking-qualities {\n\t\t\t\tmargin-bottom: 1.5rem;\n\t\t\t}\n\t\t\t.tracking-images img {\n\t\t\t\tmax-height: 180px; \/* Reduced image height *\/\n\t\t\t}\n\t\t\t .cta-buttons {\n\t\t\t\tflex-direction: column;\n\t\t\t}\n\t\t}\n\/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   HARD FIX IMAGIFY \u2013 contraint vraiment <picture> + <img>\n   (\u00e9crase les styles inline que le plugin injecte)\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.calculator-container picture,\n.calculator-container picture > img,\n#cta-lean .cta-col-left picture,\n#cta-lean .cta-col-left picture > img,\n#cta-lean .cta-col-left .promo-image-main,\n.cta-tracking .cta-col-left picture,\n.cta-tracking .cta-col-left picture > img,\n.cta-tracking .cta-col-left .promo-image-main,\n\/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   Correctifs : tracking, logo Lean, image CTA secondaire\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.tracking-images picture,\n.tracking-images picture > img,\n.tracking-images img {\n    width: auto !important;\n    max-width: 100% !important;\n    max-height: 250px !important; \/* revient \u00e0 la hauteur d\u2019origine *\/\n    object-fit: cover !important; \/* \u00e9vite le \u00ab boxing \u00bb disgracieux *\/\n}\n\n\/* \u2500\u2500\u2500 Centrage horizontal de l\u2019image CTA secondaire \u2500\u2500\u2500 *\/\n.cta-secondary .cta-secondary-image,\n.cta-secondary picture,\n.cta-secondary picture img{\n    display:block !important;     \/* force le comportement bloc *\/\n    margin:1rem auto 0 !important;\/* centre horizontalement *\/\n    width:auto !important;        \/* respecte le ratio *\/\n    max-width:90% !important;     \/* limite la largeur *\/\n    object-fit:contain !important;\n}\n\n\n\/* \u2500\u2500\u2500 Fix logo Lean (compatible <picture> ou <img> apr\u00e8s Imagify) \u2500\u2500\u2500 *\/\n.promo-logo-small,\n.promo-logo-small img{\n    height:80px !important;\n    max-height:80px !important;\n    width:auto !important;\n    max-width:none !important;\n    object-fit:contain !important;\n}\n\n\n\t<\/style>\n<\/head>\n<body>\n\n\t<div class=\"calculator-container\">\n\t\t<header class=\"calculator-header\">\n\t\t\t<h1>TDEE Calculator<\/h1>\n\t\t\t<p>D\u00e9finis ton objectif et visualise tes progr\u00e8s.<\/p>\n\t\t<\/header>\n\n\t\t<form id=\"tdee-form\" action=\"\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\u2699\ufe0f Unit\u00e9s<\/legend>\n\t\t\t\t <div class=\"input-group\">\n\t\t\t\t\t<select id=\"units\">\n\t\t\t\t\t\t<option value=\"metric\" selected>M\u00e9trique (kg, cm)<\/option>\n\t\t\t\t\t\t<option value=\"imperial\">Imp\u00e9rial (lbs, in)<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83d\udc64 Tes informations<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"gender\">Sex<\/label>\n\t\t\t\t\t\t<select id=\"gender\">\n\t\t\t\t\t\t\t<option value=\"male\">Male<\/option>\n\t\t\t\t\t\t\t<option value=\"female\">Female<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"age\">\u00c2ge<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"age\" placeholder=\"30\" required autocomplete=\"off\" min=\"15\" max=\"110\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"weight\">Poids <span class=\"unit\">(kg)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"weight\" step=\"0.1\" placeholder=\"70\" required autocomplete=\"off\" min=\"25\" max=\"500\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t <div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"height\">Taille <span class=\"unit\">(cm)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"height\" placeholder=\"175\" required autocomplete=\"off\" max=\"250\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" style=\"grid-column: 1 \/ -1;\">\n\t\t\t\t\t\t<label for=\"bodyfat\">Body fat <span class=\"unit\">(%)<\/span><\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"bodyfat\" step=\"0.1\" placeholder=\"15\" required autocomplete=\"off\" min=\"1\" max=\"80\">\n\t\t\t\t\t\t  <div id=\"cta-lean\">\n\t\t\t\t\t\t\t  <div class=\"cta-col-left\">\n\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\" alt=\"BodyScan IA Lean App\" class=\"promo-image-main\">\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <div class=\"cta-col-center\">\n\t\t\t\t\t\t\t\t  <p>Tu veux mesurer ton bodyfat avec pr\u00e9cision ? <br>Download <strong>Lean<\/strong> et utilise le BodyScan IA.<\/p>\n\t\t\t\t\t\t\t\t  <div class=\"cta-buttons\">\n\t\t\t\t\t\t\t\t\t  <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t\t\t\t\t  <\/a>\n\t\t\t\t\t\t\t\t\t  <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t\t\t\t\t  <\/a>\n\t\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t\t  <div class=\"cta-col-right\">\n\t\t\t\t\t\t\t\t  <img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/lean-app-logo-calorie-tdee-tracker.png\" alt=\"Logo Lean App\" class=\"promo-logo-small\">\n\t\t\t\t\t\t\t\t  <span>Lean<\/span>\n\t\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t\t  <\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83c\udfc3 Ton activit\u00e9<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"steps\">Pas par jour<\/label>\n\t\t\t\t\t\t<input type=\"number\" id=\"steps\" placeholder=\"8000\" required>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"activityType\">Type de sport<\/label>\n\t\t\t\t\t\t<select id=\"activityType\">\n\t\t\t\t\t\t\t<option value=\"none\" selected>Aucun<\/option>\n\t\t\t\t\t\t\t<option value=\"cardio\">Cardio (marche, course&#8230;)<\/option>\n\t\t\t\t\t\t\t<option value=\"strength\">Musculation<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" id=\"activity-details\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset>\n\t\t\t\t<legend>\ud83c\udfaf Ton objectif<\/legend>\n\t\t\t\t<div class=\"form-grid\">\n\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t<label for=\"goal\">Je veux&#8230;<\/label>\n\t\t\t\t\t\t<select id=\"goal\">\n\t\t\t\t\t\t\t<option value=\"deficit\">Perdre du poids<\/option>\n\t\t\t\t\t\t\t<option value=\"maintenance\" selected>Maintenir mon poids<\/option>\n\t\t\t\t\t\t\t<option value=\"surplus\">Prendre du poids<\/option>\n\t\t\t\t\t\t<\/select>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"input-group\" id=\"intensity-group\">\n\t\t\t\t\t\t<label for=\"intensity-slider\">Intensit\u00e9 (<span id=\"slider-value\">-500 kcal<\/span>)<\/label>\n\t\t\t\t\t\t<input type=\"range\" id=\"intensity-slider\" min=\"-1000\" max=\"1000\" step=\"50\" value=\"-500\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<button type=\"submit\" class=\"submit-btn\">Calculer et projeter<\/button>\n\t\t\t<p id=\"error-message\"><\/p>\n\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n\n\t\t<section id=\"results\">\n\t\t\t<div class=\"results-summary\">\n\t\t\t\t<div class=\"result-card\" id=\"maintenance-card\">\n\t\t\t\t\t<h3>Calories de maintenance (TDEE)<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"tdee-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kcal\/day<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\" id=\"goal-card\">\n\t\t\t\t\t<h3>Ton objectif calorique<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"goal-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kcal\/day<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"chart-container\">\n\t\t\t\t<h3>Projection du poids sur 90 jours<\/h3>\n\t\t\t\t<canvas id=\"weight-chart\"><\/canvas>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<div id=\"projection-summary\" class=\"results-summary\">\n\t\t\t\t <div class=\"result-card\">\n\t\t\t\t\t<h3>Dans 30 jours<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-30-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\">\n\t\t\t\t\t<h3>Dans 60 jours<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-60-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"result-card\">\n\t\t\t\t\t<h3>Dans 90 jours<\/h3>\n\t\t\t\t\t<span class=\"value\" id=\"p-90-result\">0<\/span>\n\t\t\t\t\t<span class=\"unit\">kg<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"breakdown-section\">\n\t\t\t\t <div id=\"breakdown-chart-container\">\n\t\t\t\t\t<h3>D\u00e9composition de la maintenance<\/h3>\n\t\t\t\t\t<canvas id=\"breakdown-chart\"><\/canvas>\n\t\t\t\t<\/div>\n\t\t\t\t<div id=\"breakdown-text\">\n\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"cta-secondary\">\n\t\t\t\t<h3>T\u00e9l\u00e9charge Lean pour suivre ton TDEE au quotidien et tracker tes calories efficacement.<\/h3>\n\t\t\t\t<div class=\"cta-buttons\">\n\t\t\t\t\t <a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/lean-app-calorie-expenditure-analysis-features-1.png\" alt=\"Fonctionnalit\u00e9s Lean App\" class=\"cta-secondary-image\">\n\t\t\t<\/div>\n\n\t\t\t<section id=\"macros-section\">\n\t\t\t\t<h2>R\u00e9partition des macronutriments<\/h2>\n\t\t\t\t<p class=\"macros-subtitle\">Bas\u00e9e sur ton objectif calorique<\/p>\n\t\t\t\t<div class=\"macros-grid\">\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>Low Carb<\/h3>\n\t\t\t\t\t\t<canvas id=\"lc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">40% P \/ 40% L \/ 20% G<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Proteins<\/span> <span id=\"lc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fats<\/span> <span id=\"lc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohydrates<\/span> <span id=\"lc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>Glucides mod\u00e9r\u00e9s<\/h3>\n\t\t\t\t\t\t<canvas id=\"mc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">30% P \/ 35% L \/ 35% G<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Proteins<\/span> <span id=\"mc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fats<\/span> <span id=\"mc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohydrates<\/span> <span id=\"mc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"macro-card\">\n\t\t\t\t\t\t<h3>High Carb<\/h3>\n\t\t\t\t\t\t<canvas id=\"hc-chart\"><\/canvas>\n\t\t\t\t\t\t<p class=\"macro-ratio\">30% P \/ 20% L \/ 50% G<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>Proteins<\/span> <span id=\"hc-protein\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Fats<\/span> <span id=\"hc-fat\">0 g<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>Carbohydrates<\/span> <span id=\"hc-carbs\">0 g<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t\t\n\t\t\t<section id=\"body-stats-section\">\n\t\t\t\t<h2>Statistiques corporelles<\/h2>\n\t\t\t\t<div class=\"body-stats-container\">\n\t\t\t\t\t<div class=\"stat-card\" id=\"ideal-weight-card\">\n\t\t\t\t\t\t<h3>Poids id\u00e9al<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">D&rsquo;apr\u00e8s les formules de r\u00e9f\u00e9rence, voici la fourchette de poids saine pour ta taille. C&rsquo;est un rep\u00e8re g\u00e9n\u00e9ral qui ne tient pas compte de ta composition corporelle individuelle.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"ideal-weight-value\">0 kg<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\">Fourchette de poids saine<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"stat-card\" id=\"bmi-card\">\n\t\t\t\t\t\t<h3>Score IMC<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">L&rsquo;Indice de Masse Corporelle (IMC) est un indicateur simple du poids rapport\u00e9 \u00e0 la taille. Il ne distingue pas la graisse du muscle, donc il peut \u00eatre moins pertinent pour les profils sportifs.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"bmi-value\">0.0<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\" id=\"bmi-category\">N\/A<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<li><span>&lt; 18.5<\/span> <span>Insuffisance pond\u00e9rale<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>18.5 &#8211; 24.9<\/span> <span>Normal<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>25.0 &#8211; 29.9<\/span> <span>Surpoids<\/span><\/li>\n\t\t\t\t\t\t\t<li><span>&gt; 30.0<\/span> <span>Ob\u00e9sit\u00e9<\/span><\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"stat-card\" id=\"mmp-card\">\n\t\t\t\t\t\t<h3>Potentiel musculaire<\/h3>\n\t\t\t\t\t\t<p class=\"stat-explanation\">Cette estimation donne ta masse maigre maximale naturelle d&rsquo;apr\u00e8s ta taille. Les valeurs ci-dessous montrent le poids total que tu aurais \u00e0 ce pic de musculature pour diff\u00e9rents niveaux de bodyfat.<\/p>\n\t\t\t\t\t\t<p class=\"main-value\" id=\"mmp-value\">0 kg<\/p>\n\t\t\t\t\t\t<p class=\"sub-value\">Masse maigre maximale<\/p>\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t\t\n\t\t\t<section id=\"tracking-tools-section\">\n\t\t\t\t<h2>Outils de suivi des calories<\/h2>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>1. Base de donn\u00e9es alimentaires<\/h3>\n\t\t\t\t\t<div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilit\u00e9 d&rsquo;usage<\/span><span class=\"rating rating-medium\">Moyenne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Availability<\/span><span class=\"rating rating-good\">Bonne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Accuracy<\/span><span class=\"rating rating-very-good\">Tr\u00e8s bonne<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/searching-food-database-banana-lean-app.jpg\" alt=\"Recherche dans la base alimentaire\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/nutritional-details-banana-lean-app.jpg\" alt=\"Ajout d'un aliment depuis la base\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>2. Scan de code-barres<\/h3>\n\t\t\t\t\t <div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilit\u00e9 d&rsquo;usage<\/span><span class=\"rating rating-good\">Bonne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Availability<\/span><span class=\"rating rating-medium\">Moyenne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Accuracy<\/span><span class=\"rating rating-very-good\">Tr\u00e8s bonne<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/barcode-scanner-lindt-chocolate-lean-app.jpg\" alt=\"Interface du scanner de code-barres\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/scanning-barcode-nutritional-information-lean-app.jpg\" alt=\"Produit trouv\u00e9 via code-barres\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/barcode-scan-result-lindt-chocolate-lean-app.jpg\" alt=\"Infos nutritionnelles via code-barres\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tracking-method\">\n\t\t\t\t\t<h3>3. Scan IA de repas<\/h3>\n\t\t\t\t\t  <div class=\"tracking-method-content\">\n\t\t\t\t\t\t<div class=\"tracking-qualities\">\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li><span>Facilit\u00e9 d&rsquo;usage<\/span><span class=\"rating rating-very-good\">Tr\u00e8s bonne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Availability<\/span><span class=\"rating rating-very-good\">Tr\u00e8s bonne<\/span><\/li>\n\t\t\t\t\t\t\t\t<li><span>Accuracy<\/span><span class=\"rating rating-medium\">Moyenne<\/span><\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"tracking-images\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-tiramisu-dessert-lean-app.jpg\" alt=\"Scan IA de repas en action\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-result-tiramisu-dessert-lean-app.jpg\" alt=\"L'IA identifie les aliments du plat\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/ai-scan-result-tiramisu-dessert-lean-app-1.jpg\" alt=\"L'IA fournit les donn\u00e9es nutritionnelles du plat scann\u00e9\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t  <div class=\"cta-tracking\">\n\t\t\t\t\t  <div class=\"cta-col-left\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/calorie-goal-strategy-lean-app.png\" alt=\"Suivi Lean App\" class=\"promo-image-main\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cta-col-center\">\n\t\t\t\t\t\t<p>Le meilleur outil pour tracker tes calories ? <br>Download <strong>Lean<\/strong> et combine ces trois m\u00e9thodes selon la situation.<\/p>\n\t\t\t\t\t\t<div class=\"cta-buttons\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/apps.apple.com\/fr\/app\/lean-calorie-ai-podom%C3%A8tre\/id6738668646\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/developer.apple.com\/assets\/elements\/badges\/download-on-the-app-store.svg\" alt=\"Download on the App Store\">\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.lean.testsqflite\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/78\/Google_Play_Store_badge_EN.svg\" alt=\"Get it on Google Play\">\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"cta-col-right\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/lean-app-logo-calorie-tdee-tracker.png\" alt=\"Lean App Logo\" class=\"promo-logo-small\">\n\t\t\t\t\t\t<span>Lean<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t<\/div>\n\n\t<section id=\"seo-article-section\" class=\"calculator-container\">\n\t\t<h2>Comprendre ton TDEE : le guide complet<\/h2>\n\t\t<p>Le monde de la nutrition et du fitness para\u00eet complexe, mais comprendre ta D\u00e9pense \u00c9nerg\u00e9tique Totale Quotidienne (TDEE) reste le premier pas essentiel. Un <strong>calculateur TDEE<\/strong> est un outil puissant qui d\u00e9mystifie le process : il donne un point de d\u00e9part clair, valid\u00e9 scientifiquement, pour n&rsquo;importe quel objectif de gestion du poids. Ce guide t&rsquo;explique tout ce qu&rsquo;il faut savoir sur le TDEE et comment utiliser ce calculateur efficacement.<\/p>\n\n\t\t<h3>C&rsquo;est quoi le TDEE ?<\/h3>\n\t\t<p>TDEE signifie Total Daily Energy Expenditure, soit ta d\u00e9pense \u00e9nerg\u00e9tique totale quotidienne. C&rsquo;est le nombre total de calories que ton corps br\u00fble sur 24 heures. Pas seulement le sport : c&rsquo;est une mesure globale qui inclut toutes les fonctions du corps, de la respiration \u00e0 la marche en passant par la r\u00e9flexion et les s\u00e9ances. Conna\u00eetre ton TDEE, c&rsquo;est conna\u00eetre exactement combien de calories ton corps a besoin pour maintenir son poids actuel. Ce chiffre est la fondation sur laquelle se construit tout plan di\u00e9t\u00e9tique efficace.<\/p>\n\n\t\t<h3>Les quatre composantes de ton TDEE<\/h3>\n\t\t<p>Ton TDEE n&rsquo;est pas un chiffre unique : c&rsquo;est la somme de quatre composantes cl\u00e9s.<\/p>\n\t\t<ul>\n\t\t\t<li><strong>M\u00e9tabolisme de base (BMR) :<\/strong> c&rsquo;est l&rsquo;\u00e9nergie que ton corps utilise au repos complet pour assurer ses fonctions vitales (respiration, circulation sanguine, r\u00e9gulation thermique). C&rsquo;est la plus grosse part de ton TDEE. Cet outil utilise la formule Katch-McArdle, qui demande ton pourcentage de bodyfat, ce qui en fait un <strong>calculateur BMR<\/strong> plus pr\u00e9cis que ceux bas\u00e9s uniquement sur le poids et la taille.<\/li>\n\t\t\t<li><strong>NEAT (Non-Exercise Activity Thermogenesis) :<\/strong> ce sont toutes les calories br\u00fbl\u00e9es par des activit\u00e9s hors sport, comme marcher jusqu&rsquo;\u00e0 ta voiture, taper sur un clavier, s&rsquo;agiter ou faire le m\u00e9nage. Les pas quotidiens sont une excellente fa\u00e7on de mesurer et d&rsquo;augmenter ton NEAT.<\/li>\n\t\t\t<li><strong>EAT (Exercise Activity Thermogenesis) :<\/strong> c&rsquo;est l&rsquo;\u00e9nergie d\u00e9pens\u00e9e pendant les activit\u00e9s physiques planifi\u00e9es comme la course, la musculation ou les sports.<\/li>\n\t\t\t<li><strong>TEF (Thermic Effect of Food) :<\/strong> ton corps d\u00e9pense de l&rsquo;\u00e9nergie pour dig\u00e9rer, absorber et m\u00e9taboliser les aliments. \u00c7a repr\u00e9sente environ 10 % de tes apports caloriques quotidiens.<\/li>\n\t\t<\/ul>\n\n\t\t<h3>Comment utiliser un calculateur TDEE pour perdre du poids<\/h3>\n\t\t<p>Pour perdre du poids, tu dois \u00eatre en d\u00e9ficit calorique. \u00c7a veut dire consommer moins de calories que ton TDEE. Un <strong>calorie deficit calculator<\/strong> est essentiellement un calculateur TDEE utilis\u00e9 dans ce but pr\u00e9cis. Une fois que tu connais ton TDEE de maintenance, tu peux cr\u00e9er un d\u00e9ficit soutenable. Par exemple, un d\u00e9ficit de 500 calories par jour entra\u00eene typiquement une perte d&rsquo;environ 0,45 kg (1 lb) par semaine. Notre <strong>calculateur TDEE pour perdre du poids<\/strong> te permet de param\u00e9trer ce d\u00e9ficit pr\u00e9cis\u00e9ment et de projeter tes progr\u00e8s dans le temps.<\/p>\n\n\t\t<h3>BMR vs TDEE : quelle diff\u00e9rence ?<\/h3>\n\t\t<p>On confond souvent BMR et TDEE. Vois \u00e7a comme \u00e7a : ton BMR est le co\u00fbt \u00e9nerg\u00e9tique de ton corps au repos, alors que ton TDEE est le co\u00fbt total qui inclut toutes tes activit\u00e9s quotidiennes. Tu ne devrais jamais manger sous ton BMR, car \u00e7a peut nuire \u00e0 ton m\u00e9tabolisme et \u00e0 ta sant\u00e9. Le TDEE est le chiffre op\u00e9rationnel \u00e0 utiliser pour planifier ta di\u00e8te.<\/p>\n\n\t\t<h3>Calculer tes macros \u00e0 partir de ton TDEE<\/h3>\n\t\t<p>Une fois que tu as ton apport calorique cible depuis le calculateur TDEE, la prochaine \u00e9tape consiste \u00e0 d\u00e9terminer ta r\u00e9partition de macronutriments (prot\u00e9ines, lipides, glucides). Un bon <strong>calculateur de macros<\/strong> utilise ton TDEE comme point de d\u00e9part. Cet outil te propose trois plans di\u00e9t\u00e9tiques courants (Low Carb, glucides mod\u00e9r\u00e9s, High Carb) pour t&rsquo;aider \u00e0 trouver l&rsquo;\u00e9quilibre qui correspond \u00e0 ton mode de vie et \u00e0 tes pr\u00e9f\u00e9rences. L&rsquo;id\u00e9e : ne pas se contenter de viser un chiffre de calories, mais nourrir ton corps efficacement.<\/p>\n\t<\/section>\n\n\t<script>\n\t\t\/\/ --- GLOBAL VARIABLES ---\n\t\tconst form = document.getElementById('tdee-form');\n\t\tconst resultsSection = document.getElementById('results');\n\t\tconst errorMessage = document.getElementById('error-message');\n\t\tconst unitSelect = document.getElementById('units');\n\t\tconst weightLabel = document.querySelector('label[for=\"weight\"] .unit');\n\t\tconst heightLabel = document.querySelector('label[for=\"height\"] .unit');\n\t\tconst goalSelect = document.getElementById('goal');\n\t\tconst intensityGroup = document.getElementById('intensity-group');\n\t\tconst slider = document.getElementById('intensity-slider');\n\t\tconst sliderValueLabel = document.getElementById('slider-value');\n\t\tconst activityTypeSelect = document.getElementById('activityType');\n\t\tconst activityDetailsDiv = document.getElementById('activity-details');\n\t\tlet weightChart, breakdownChart, lcChart, mcChart, hcChart;\n\n\t\t\/\/ --- UI EVENT LISTENERS ---\n\t\tunitSelect.addEventListener('change', () => {\n\t\t\tconst isMetric = unitSelect.value === 'metric';\n\t\t\tweightLabel.textContent = isMetric ? '(kg)' : '(lbs)';\n\t\t\theightLabel.textContent = isMetric ? '(cm)' : '(in)';\n\t\t\tdocument.getElementById('height').placeholder = isMetric ? '175' : '69';\n\t\t});\n\n\t\tfunction handleGoalChange() {\n\t\t\tconst goal = goalSelect.value;\n\t\t\tif (goal === 'maintenance') {\n\t\t\t\tintensityGroup.style.opacity = '0.5';\n\t\t\t\tslider.disabled = true;\n\t\t\t\tslider.value = 0;\n\t\t\t} else {\n\t\t\t\tintensityGroup.style.opacity = '1';\n\t\t\t\tslider.disabled = false;\n\t\t\t\tslider.min = (goal === 'deficit') ? -1000 : 100;\n\t\t\t\tslider.max = (goal === 'deficit') ? -100 : 1000;\n\t\t\t\tslider.value = (goal === 'deficit') ? -500 : 250;\n\t\t\t}\n\t\t\tupdateSliderLabel();\n\t\t}\n\n\t\tfunction updateSliderLabel() {\n\t\t\tconst value = parseInt(slider.value);\n\t\t\tconst sign = value >= 0 ? '+' : '';\n\t\t\tsliderValueLabel.textContent = `${sign}${value} kcal`;\n\t\t}\n\n\t\tgoalSelect.addEventListener('change', handleGoalChange);\n\t\tslider.addEventListener('input', updateSliderLabel);\n\n\t\tfunction handleActivityTypeChange() {\n\t\t\tconst type = activityTypeSelect.value;\n\t\t\tactivityDetailsDiv.innerHTML = ''; \/\/ Clear previous\n\n\t\t\tif (type === 'cardio') {\n\t\t\t\tactivityDetailsDiv.innerHTML = `\n\t\t\t\t\t<label for=\"activityMET\">Type de cardio<\/label>\n\t\t\t\t\t<select id=\"activityMET\" class=\"input-group\">\n\t\t\t\t\t\t <optgroup label=\"Marche\"><option value=\"3.8\">Mod\u00e9r\u00e9e<\/option><option value=\"5.0\">Rapide<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"Course\"><option value=\"9.8\">Mod\u00e9r\u00e9e<\/option><option value=\"12.8\">Rapide<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"V\u00e9lo\"><option value=\"8.0\">Mod\u00e9r\u00e9<\/option><option value=\"10.0\">Intense<\/option><\/optgroup>\n\t\t\t\t\t\t <optgroup label=\"Natation\"><option value=\"7.0\">Mod\u00e9r\u00e9e<\/option><option value=\"9.8\">Intense<\/option><\/optgroup>\n\t\t\t\t\t<\/select>\n\t\t\t\t\t<label for=\"duration\" style=\"margin-top: 1rem;\">Dur\u00e9e <span class=\"unit\">(min)<\/span><\/label>\n\t\t\t\t\t<input type=\"number\" id=\"duration\" placeholder=\"45\" value=\"45\" class=\"input-group\">\n\t\t\t\t`;\n\t\t\t} else if (type === 'strength') {\n\t\t\t\tactivityDetailsDiv.innerHTML = `\n\t\t\t\t\t<label for=\"strengthIntensity\">Intensit\u00e9<\/label>\n\t\t\t\t\t<select id=\"strengthIntensity\" class=\"input-group\">\n\t\t\t\t\t\t<option value=\"3.0\">L\u00e9g\u00e8re<\/option>\n\t\t\t\t\t\t<option value=\"4.5\" selected>Mod\u00e9r\u00e9e<\/option>\n\t\t\t\t\t\t<option value=\"6.0\">Intensive<\/option>\n\t\t\t\t\t<\/select>\n\t\t\t\t`;\n\t\t\t}\n\t\t}\n\t\tactivityTypeSelect.addEventListener('change', handleActivityTypeChange);\n\n\t\t\/\/ --- FORM SUBMISSION & CALCULATION ---\n\t\tform.addEventListener('submit', function(event) {\n\t\t\tevent.preventDefault();\n\n\t\t\tlet weight = parseFloat(document.getElementById('weight').value);\n\t\t\tlet height = parseFloat(document.getElementById('height').value);\n\t\t\tconst age = parseFloat(document.getElementById('age').value);\n\t\t\tconst gender = document.getElementById('gender').value;\n\t\t\tconst bodyfat = parseFloat(document.getElementById('bodyfat').value);\n\t\t\tconst steps = parseFloat(document.getElementById('steps').value);\n\t\t\tconst goal = goalSelect.value;\n\t\t\tconst kcalChange = goal === 'maintenance' ? 0 : parseInt(slider.value);\n\t\t\t\n\t\t\tif (isNaN(weight) || isNaN(bodyfat) || isNaN(steps) || isNaN(height) || isNaN(age)) {\n\t\t\t\terrorMessage.textContent = \"Merci de remplir tous les champs requis avec des nombres valides.\";\n\t\t\t\terrorMessage.style.display = 'block';\n\t\t\t\tresultsSection.style.display = 'none';\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ New validation for ranges\n\t\t\tif (age < 15 || age > 110) { errorMessage.textContent = \"Merci d\\u0027entrer un \u00e2ge entre 15 et 110.\"; }\n\t\t\telse if (weight < 25 || weight > 500) { errorMessage.textContent = \"Merci d\\u0027entrer un poids entre 25 et 500 kg.\"; }\n\t\t\telse if (height < 70 || height > 250) { errorMessage.textContent = \"Merci d\\u0027entrer une taille entre 70 et 250 cm.\"; }\n\t\t\telse if (bodyfat < 1 || bodyfat > 80) { errorMessage.textContent = \"Merci d\\u0027entrer un bodyfat entre 1 et 80 %.\"; }\n\t\t\telse { errorMessage.style.display = 'none'; }\n\n\t\t\tif(errorMessage.style.display === 'block') {\n\t\t\t\tresultsSection.style.display = 'none';\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tconst currentUnits = unitSelect.value;\n\t\t\tif (currentUnits === 'imperial') {\n\t\t\t\tweight = weight * 0.453592; \/\/ lbs to kg\n\t\t\t\theight = height * 2.54; \/\/ in to cm\n\t\t\t}\n\n\t\t\tlet activityMet = 0;\n\t\t\tlet duration = 0;\n\t\t\tconst activityType = activityTypeSelect.value;\n\t\t\tif (activityType === 'cardio') {\n\t\t\t\tactivityMet = parseFloat(document.getElementById('activityMET')?.value) || 0;\n\t\t\t\tduration = parseFloat(document.getElementById('duration')?.value) || 0;\n\t\t\t} else if (activityType === 'strength') {\n\t\t\t\tactivityMet = parseFloat(document.getElementById('strengthIntensity')?.value) || 0;\n\t\t\t\tduration = 45; \/\/ Hardcoded 45 minutes for strength\n\t\t\t}\n\t\t\t\n\t\t\tconst leanBodyMass = weight * (1 - (bodyfat \/ 100));\n\t\t\tconst bmr = 370 + (21.6 * leanBodyMass);\n\t\t\tconst neat = (bmr * steps) \/ 48000;\n\t\t\tconst eat = activityMet * weight * (duration \/ 60);\n\t\t\tconst X = bmr + neat + eat;\n\n\t\t\tconst tefForMaintenance = X \/ 9;\n\t\t\tconst tdeeForMaintenance = X + tefForMaintenance;\n\n\t\t\tconst tefForGoal = (X + kcalChange) \/ 9;\n\t\t\tconst tdeeForGoal = X + tefForGoal;\n\t\t\tconst goalCalories = tdeeForGoal + kcalChange;\n\n\t\t\tdocument.getElementById('tdee-result').textContent = tdeeForMaintenance.toFixed(0);\n\t\t\tdocument.getElementById('goal-result').textContent = goalCalories.toFixed(0);\n\n\t\t\tconst goalCard = document.getElementById('goal-card');\n\t\t\tgoalCard.className = 'result-card';\n\t\t\tgoalCard.classList.add(goal);\n\n\t\t\tconst { labels, dailyData, avgData, projectedWeights } = generateProjectionData(weight, kcalChange, currentUnits);\n\n\t\t\tdocument.getElementById('p-30-result').textContent = parseFloat(projectedWeights[30]).toFixed(1);\n\t\t\tdocument.getElementById('p-60-result').textContent = parseFloat(projectedWeights[60]).toFixed(1);\n\t\t\tdocument.getElementById('p-90-result').textContent = parseFloat(projectedWeights[90]).toFixed(1);\n\t\t\tdocument.querySelectorAll('#projection-summary .unit').forEach(el => {\n\t\t\t\tel.textContent = currentUnits === 'metric' ? 'kg' : 'lbs';\n\t\t\t});\n\t\t\t\n\t\t\tresultsSection.style.display = 'block';\n\t\t\t\n\t\t\t\/\/ Move SEO article into results section\n\t\t\tconst seoArticle = document.getElementById('seo-article-section');\n\t\t\tresultsSection.appendChild(seoArticle);\n\n\t\t\tupdateBreakdownDisplay(bmr, neat, eat, tefForMaintenance);\n\t\t\tupdateWeightChart(labels, dailyData, avgData, kcalChange, currentUnits);\n\t\t\tupdateMacrosDisplay(goalCalories);\n\t\t\tupdateBodyStatsDisplay(weight, height, gender, currentUnits);\n\n\t\t\tresultsSection.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t});\n\t\t\n\t\tfunction generateProjectionData(startWeight, kcalChange, units) {\n\t\t\tconst kgChangePerDay = kcalChange \/ 7700;\n\t\t\tconst labels = [];\n\t\t\tconst dailyData = [];\n\t\t\tconst avgData = [];\n\t\t\tconst projectedWeights = [];\n\t\t\tlet trueAvgWeight = startWeight;\n\n\t\t\tfor (let i = 0; i <= 90; i++) {\n\t\t\t\tlabels.push(`Jour ${i}`);\n\t\t\t\tif (i > 0) trueAvgWeight += kgChangePerDay;\n\t\t\t\t\n\t\t\t\tconst avgWobble = (Math.sin(i \/ 6) * 0.15) + ((Math.random() - 0.5) * 0.1);\n\t\t\t\tconst wobbledAvgWeight = trueAvgWeight + avgWobble;\n\t\t\t\tconst dailyFluctuation = (Math.random() - 0.5) * 0.8;\n\t\t\t\tconst currentDailyWeight = wobbledAvgWeight + dailyFluctuation;\n\t\t\t\t\n\t\t\t\tif (units === 'imperial') {\n\t\t\t\t\tdailyData.push((currentDailyWeight * 2.20462).toFixed(2));\n\t\t\t\t\tavgData.push((wobbledAvgWeight * 2.20462).toFixed(2));\n\t\t\t\t\tprojectedWeights.push((trueAvgWeight * 2.20462).toFixed(2));\n\t\t\t\t} else {\n\t\t\t\t\tdailyData.push(currentDailyWeight.toFixed(2));\n\t\t\t\t\tavgData.push(wobbledAvgWeight.toFixed(2));\n\t\t\t\t\tprojectedWeights.push(trueAvgWeight.toFixed(2));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { labels, dailyData, avgData, projectedWeights };\n\t\t}\n\n\t\t\/\/ --- CHART & DISPLAY FUNCTIONS ---\n\t\tfunction updateBreakdownDisplay(bmr, neat, eat, tef) {\n\t\t\tconst breakdownTextDiv = document.getElementById('breakdown-text');\n\t\t\tbreakdownTextDiv.innerHTML = `\n\t\t\t\t<h3>D\u00e9tails<\/h3>\n\t\t\t\t<ul>\n\t\t\t\t\t<li><span>BMR (m\u00e9tabolisme de base)<\/span> <span>${bmr.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>NEAT (hors sport)<\/span> <span>${neat.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>EAT (sport)<\/span> <span>${eat.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t\t<li><span>TEF (digestion)<\/span> <span>${tef.toFixed(0)} kcal<\/span><\/li>\n\t\t\t\t<\/ul>\n\t\t\t`;\n\t\t\tconst ctx = document.getElementById('breakdown-chart').getContext('2d');\n\t\t\tif (breakdownChart) breakdownChart.destroy();\n\t\t\tbreakdownChart = new Chart(ctx, {\n\t\t\t\ttype: 'doughnut',\n\t\t\t\tdata: {\n\t\t\t\t\tlabels: ['BMR', 'NEAT', 'EAT', 'TEF'],\n\t\t\t\t\tdatasets: [{\n\t\t\t\t\t\tdata: [bmr, neat, eat, tef],\n\t\t\t\t\t\tbackgroundColor: ['#EB628C', '#EF8652', '#E9473E', '#EDDB7F'],\n\t\t\t\t\t\tborderColor: '#F8F8F9',\n\t\t\t\t\t\tborderWidth: 4\n\t\t\t\t\t}]\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\tresponsive: true,\n\t\t\t\t\tcutout: '60%',\n\t\t\t\t\tplugins: { legend: { position: 'bottom' }, tooltip: { callbacks: { label: (c) => `${c.label}: ${c.parsed.toFixed(0)} kcal` } } }\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfunction updateWeightChart(labels, dailyData, avgData, kcalChange, units) {\n\t\t\tconst yAxisOptions = { title: { display: true, text: `Poids (${units === 'metric' ? 'kg' : 'lbs'})` } };\n\t\t\tif (Math.abs(kcalChange) < 50) {\n\t\t\t\tconst allWeights = dailyData.map(parseFloat);\n\t\t\t\tconst minVal = Math.min(...allWeights);\n\t\t\t\tconst maxVal = Math.max(...allWeights);\n\t\t\t\tyAxisOptions.suggestedMin = minVal - 2;\n\t\t\t\tyAxisOptions.suggestedMax = maxVal + 2;\n\t\t\t}\n\t\t\tconst goal = goalSelect.value;\n\t\t\tconst colorSet = {\n\t\t\t\tdeficit: { line: 'rgba(0, 90, 156, 1)', area: 'rgba(0, 90, 156, 0.1)' },\n\t\t\t\tmaintenance: { line: 'rgba(31, 136, 61, 1)', area: 'rgba(31, 136, 61, 0.1)' },\n\t\t\t\tsurplus: { line: 'rgba(217, 45, 32, 1)', area: 'rgba(217, 45, 32, 0.1)' }\n\t\t\t};\n\t\t\tconst ctx = document.getElementById('weight-chart').getContext('2d');\n\t\t\tif (weightChart) weightChart.destroy();\n\t\t\tweightChart = new Chart(ctx, {\n\t\t\t\ttype: 'line',\n\t\t\t\tdata: {\n\t\t\t\t\tlabels: labels,\n\t\t\t\t\tdatasets: [\n\t\t\t\t\t\t{ label: `Poids quotidien (simul\u00e9)`, data: dailyData, borderColor: 'transparent', backgroundColor: colorSet[goal].area, pointRadius: 0, fill: true, },\n\t\t\t\t\t\t{ label: 'Poids moyen (projection)', data: avgData, borderColor: colorSet[goal].line, borderWidth: 2.5, pointRadius: 0, fill: false, tension: 0.4 }\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\toptions: { responsive: true, scales: { y: yAxisOptions, x: { title: { display: true, text: 'Jours' } } }, plugins: { tooltip: { mode: 'index', intersect: false } }, interaction: { mode: 'index', intersect: false } }\n\t\t\t});\n\t\t}\n\t\t\n\t\tfunction updateMacrosDisplay(calories) {\n\t\t\tconst ratios = { lc: { p: 0.40, f: 0.40, c: 0.20 }, mc: { p: 0.30, f: 0.35, c: 0.35 }, hc: { p: 0.30, f: 0.20, c: 0.50 } };\n\t\t\tdocument.getElementById('lc-protein').textContent = `${((calories * ratios.lc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('lc-fat').textContent = `${((calories * ratios.lc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('lc-carbs').textContent = `${((calories * ratios.lc.c) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-protein').textContent = `${((calories * ratios.mc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-fat').textContent = `${((calories * ratios.mc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('mc-carbs').textContent = `${((calories * ratios.mc.c) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-protein').textContent = `${((calories * ratios.hc.p) \/ 4).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-fat').textContent = `${((calories * ratios.hc.f) \/ 9).toFixed(0)} g`;\n\t\t\tdocument.getElementById('hc-carbs').textContent = `${((calories * ratios.hc.c) \/ 4).toFixed(0)} g`;\n\t\t\tconst macroColors = ['#E55480', '#A377E3', '#F2C042'];\n\t\t\tconst chartOptions = { responsive: true, cutout: '60%', plugins: { legend: { display: false }, tooltip: { callbacks: { label: (c) => `${c.label}: ${c.parsed.toFixed(0)} kcal` } } } };\n\t\t\tconst lcCtx = document.getElementById('lc-chart').getContext('2d');\n\t\t\tif(lcChart) lcChart.destroy();\n\t\t\tlcChart = new Chart(lcCtx, { type: 'doughnut', data: { labels: ['Prot\u00e9ines', 'Lipides', 'Glucides'], datasets: [{ data: [calories * ratios.lc.p, calories * ratios.lc.f, calories * ratios.lc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t\tconst mcCtx = document.getElementById('mc-chart').getContext('2d');\n\t\t\tif(mcChart) mcChart.destroy();\n\t\t\tmcChart = new Chart(mcCtx, { type: 'doughnut', data: { labels: ['Prot\u00e9ines', 'Lipides', 'Glucides'], datasets: [{ data: [calories * ratios.mc.p, calories * ratios.mc.f, calories * ratios.mc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t\tconst hcCtx = document.getElementById('hc-chart').getContext('2d');\n\t\t\tif(hcChart) hcChart.destroy();\n\t\t\thcChart = new Chart(hcCtx, { type: 'doughnut', data: { labels: ['Prot\u00e9ines', 'Lipides', 'Glucides'], datasets: [{ data: [calories * ratios.hc.p, calories * ratios.hc.f, calories * ratios.hc.c], backgroundColor: macroColors, borderColor: '#fff', borderWidth: 2 }] }, options: chartOptions });\n\t\t}\n\n\t\tfunction updateBodyStatsDisplay(weightKg, heightCm, gender, units) {\n\t\t\tconst isMetric = units === 'metric';\n\t\t\tconst weightUnit = isMetric ? 'kg' : 'lbs';\n\t\t\t\n\t\t\t\/\/ --- BMI Calculation ---\n\t\t\tconst heightM = heightCm \/ 100;\n\t\t\tconst bmi = weightKg \/ (heightM * heightM);\n\t\t\tlet bmiCategory = 'N\/A';\n\t\t\tif (bmi < 18.5) bmiCategory = 'Insuffisance pond\u00e9rale';\n\t\t\telse if (bmi < 25) bmiCategory = 'Poids normal';\n\t\t\telse if (bmi < 30) bmiCategory = 'Surpoids';\n\t\t\telse bmiCategory = 'Ob\u00e9sit\u00e9';\n\t\t\tdocument.getElementById('bmi-value').textContent = bmi.toFixed(1);\n\t\t\tdocument.getElementById('bmi-category').textContent = bmiCategory;\n\n\t\t\t\/\/ --- Ideal Weight Calculation ---\n\t\t\tconst heightIn = heightCm \/ 2.54;\n\t\t\tconst inchesOver5Ft = heightIn > 60 ? heightIn - 60 : 0;\n\t\t\tlet idealWeights = [];\n\t\t\tif (gender === 'male') {\n\t\t\t\tidealWeights.push(48.0 + 2.7 * inchesOver5Ft); \/\/ Hamwi\n\t\t\t\tidealWeights.push(50.0 + 2.3 * inchesOver5Ft); \/\/ Devine\n\t\t\t\tidealWeights.push(52.0 + 1.9 * inchesOver5Ft); \/\/ Robinson\n\t\t\t\tidealWeights.push(56.2 + 1.41 * inchesOver5Ft); \/\/ Miller\n\t\t\t} else { \/\/ female\n\t\t\t\tidealWeights.push(45.5 + 2.2 * inchesOver5Ft); \/\/ Hamwi\n\t\t\t\tidealWeights.push(45.5 + 2.3 * inchesOver5Ft); \/\/ Devine\n\t\t\t\tidealWeights.push(49.0 + 1.7 * inchesOver5Ft); \/\/ Robinson\n\t\t\t\tidealWeights.push(53.1 + 1.36 * inchesOver5Ft); \/\/ Miller\n\t\t\t}\n\t\t\tconst minIdeal = Math.min(...idealWeights);\n\t\t\tconst maxIdeal = Math.max(...idealWeights);\n\t\t\tconst idealRangeKg = `${minIdeal.toFixed(1)} - ${maxIdeal.toFixed(1)}`;\n\t\t\tconst idealRangeLbs = `${(minIdeal * 2.20462).toFixed(1)} - ${(maxIdeal * 2.20462).toFixed(1)}`;\n\t\t\tdocument.getElementById('ideal-weight-value').textContent = isMetric ? `${idealRangeKg} kg` : `${idealRangeLbs} lbs`;\n\n\t\t\tconst idealWeightList = document.querySelector('#ideal-weight-card ul');\n\t\t\tidealWeightList.innerHTML = `\n\t\t\t\t<li><span>Formule Hamwi<\/span><span>${(isMetric ? idealWeights[0].toFixed(1) : (idealWeights[0] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Formule Devine<\/span><span>${(isMetric ? idealWeights[1].toFixed(1) : (idealWeights[1] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Formule Robinson<\/span><span>${(isMetric ? idealWeights[2].toFixed(1) : (idealWeights[2] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Formule Miller<\/span><span>${(isMetric ? idealWeights[3].toFixed(1) : (idealWeights[3] * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t`;\n\n\t\t\t\/\/ --- Max Muscular Potential ---\n\t\t\tconst maxLBMKg = heightCm - 100;\n\t\t\tconst maxLBMDisplay = isMetric ? `${maxLBMKg.toFixed(1)} kg` : `${(maxLBMKg * 2.20462).toFixed(1)} lbs`;\n\t\t\tdocument.getElementById('mmp-value').textContent = maxLBMDisplay;\n\t\t\t\n\t\t\tconst mmpList = document.querySelector('#mmp-card ul');\n\t\t\tmmpList.innerHTML = `\n\t\t\t\t<li><span>Poids total \u00e0 8% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.92).toFixed(1) : ((maxLBMKg \/ 0.92) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Poids total \u00e0 10% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.90).toFixed(1) : ((maxLBMKg \/ 0.90) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t\t<li><span>Poids total \u00e0 12% BF<\/span><span>${(isMetric ? (maxLBMKg \/ 0.88).toFixed(1) : ((maxLBMKg \/ 0.88) * 2.20462).toFixed(1))} ${weightUnit}<\/span><\/li>\n\t\t\t`;\n\t\t}\n\n\n\t\t\/\/ --- INITIALIZE UI ---\n\t\thandleGoalChange();\n\t\thandleActivityTypeChange();\n\t<\/script>\n<\/body>\n<\/html>\n\n<!-- lean-mesh-v9 -->\n<aside class=\"lean-mesh\" style=\"margin:48px auto;max-width:760px;padding:24px 28px;background:#ffffff;border-left:4px solid #FF2D6E;border-radius:0 12px 12px 0;box-shadow:0 6px 24px rgba(20,20,40,0.06);font-family:-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif;color:#1a1a2e;\"><p style=\"margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#FF2D6E;\">Also worth reading<\/p><ul style=\"list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;\"><li><a href=\"\/en\/calculateur-deficit-calorique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calorie deficit calculator: the right approach for a cut <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Calculate your deficit on your real bodyfat-aware TDEE. 3 paces: slow \/ moderate \/ aggressive.<\/span><\/a><\/li><li><a href=\"\/en\/calcul-metabolisme-de-base\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Basal metabolic rate calculator: the most accurate formula (2026) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Compare Harris-Benedict 1919, Mifflin-St Jeor 1990 and the Lean approach on your actual bodyfat.<\/span><\/a><\/li><li><a href=\"\/en\/meilleures-applications-calories-2026\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Best calorie counting apps in 2026: 8 apps tested <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Honest comparison: Lean, MFP, Cronometer, Yazio, Foodvisor, Lifesum, FatSecret, Noom.<\/span><\/a><\/li><li><a href=\"\/en\/comparatifs\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">All Lean comparisons against the major calorie apps <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Hub: MyFitnessPal, Yazio, Cronometer, Lifesum, FatSecret, Noom.<\/span><\/a><\/li><li><a href=\"\/en\/lean-vs-myfitnesspal\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Lean vs MyFitnessPal: the TDEE formula that changes everything <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Why MyFitnessPal gets your real caloric expenditure wrong.<\/span><\/a><\/li><\/ul><\/aside>\n\n\n\n<!-- lean-mesh-v11 -->\n<aside class=\"lean-mesh\" style=\"margin:48px auto;max-width:760px;padding:24px 28px;background:#ffffff;border-left:4px solid #FF2D6E;border-radius:0 12px 12px 0;box-shadow:0 6px 24px rgba(20,20,40,0.06);font-family:-apple-system,'SF Pro Text','Segoe UI',Roboto,Arial,sans-serif;color:#1a1a2e;\"><p style=\"margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#FF2D6E;\">Also worth reading<\/p><ul style=\"list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;\"><li><a href=\"\/en\/effet-thermique-des-aliments\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Thermic Effect of Food (TEF): the 69 kcal other apps ignore <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Lean calculates TEF in real time from your macros. Other apps don't.<\/span><\/a><\/li><li><a href=\"\/en\/neat-depense-non-sportive\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">NEAT: why daily life burns more calories than sport <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Why your steps and non-sport activities represent 15 to 30% of your total daily expenditure.<\/span><\/a><\/li><li><a href=\"\/en\/calculateur-deficit-calorique\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Calorie deficit calculator: the right approach for a cut <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Calculate your deficit on your real bodyfat-aware TDEE. 3 paces: slow \/ moderate \/ aggressive.<\/span><\/a><\/li><li><a href=\"\/en\/calcul-metabolisme-de-base\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Basal metabolic rate calculator: the most accurate formula (2026) <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Compare Harris-Benedict 1919, Mifflin-St Jeor 1990 and the Lean approach on your actual bodyfat.<\/span><\/a><\/li><li><a href=\"\/en\/meilleures-applications-calories-2026\/\" style=\"display:block;padding:14px 16px;background:#FAF7F2;border-radius:8px;color:#1a1a2e;text-decoration:none;font-weight:600;line-height:1.4;\">Best calorie counting apps in 2026: 8 apps tested <span style=\"color:#4D4D52;font-weight:400;display:block;font-size:14px;margin-top:4px;\">Honest comparison: Lean, MFP, Cronometer, Yazio, Foodvisor, Lifesum, FatSecret, Noom.<\/span><\/a><\/li><\/ul><\/aside>","protected":false},"excerpt":{"rendered":"<p>Calculateur TDEE avanc\u00e9 : BMR via bodyfat, NEAT (pas), EAT (s\u00e9ances) et TEF, pour des calories de maintenance pr\u00e9cises. Projection 90 jours, macros, IMC et masse maigre.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-lvm-blank","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1520","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lean-app.com\/en\/calculateur-tdee\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean\" \/>\n<meta property=\"og:description\" content=\"Calculateur TDEE avanc\u00e9 : BMR via bodyfat, NEAT (pas), EAT (s\u00e9ances) et TEF, pour des calories de maintenance pr\u00e9cises. Projection 90 jours, macros, IMC et masse maigre.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lean-app.com\/en\/calculateur-tdee\/\" \/>\n<meta property=\"og:site_name\" content=\"Lean\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-26T13:24:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-28T08:24:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\" \/>\n<meta name=\"author\" content=\"fleboy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"fleboy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/\"},\"author\":{\"name\":\"fleboy\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/person\/b8edc66875f72aab05563a8305d16c48\"},\"headline\":\"TDEE Calculator: the most accurate formula (with real bodyfat)\",\"datePublished\":\"2026-05-26T13:24:59+00:00\",\"dateModified\":\"2026-05-28T08:24:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/\"},\"wordCount\":1302,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lean-app.com\/calculateur-tdee\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/\",\"url\":\"https:\/\/lean-app.com\/calculateur-tdee\/\",\"name\":\"Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean\",\"isPartOf\":{\"@id\":\"https:\/\/lean-app.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"datePublished\":\"2026-05-26T13:24:59+00:00\",\"dateModified\":\"2026-05-28T08:24:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lean-app.com\/calculateur-tdee\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lean-app.com\/calculateur-tdee\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lean-app.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TDEE Calculator: the most accurate formula (with real bodyfat)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lean-app.com\/#website\",\"url\":\"https:\/\/lean-app.com\/\",\"name\":\"Lean\",\"description\":\"Download and try the app for FREE \u2014 take control of your body FOR LIFE.Download and try the app for FREE \u2014 take control of your body FOR LIFE.\",\"publisher\":{\"@id\":\"https:\/\/lean-app.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lean-app.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lean-app.com\/#organization\",\"name\":\"Lean\",\"url\":\"https:\/\/lean-app.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"contentUrl\":\"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png\",\"width\":1672,\"height\":1484,\"caption\":\"Lean\"},\"image\":{\"@id\":\"https:\/\/lean-app.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/person\/b8edc66875f72aab05563a8305d16c48\",\"name\":\"fleboy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lean-app.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f154b8b7d1228ffdb9ef5c92fc8774413a2cefd1bd6ba6021b9f7bdbd705ca73?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f154b8b7d1228ffdb9ef5c92fc8774413a2cefd1bd6ba6021b9f7bdbd705ca73?s=96&d=mm&r=g\",\"caption\":\"fleboy\"},\"sameAs\":[\"https:\/\/lean-app.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lean-app.com\/en\/calculateur-tdee\/","og_locale":"en_US","og_type":"article","og_title":"Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean","og_description":"Calculateur TDEE avanc\u00e9 : BMR via bodyfat, NEAT (pas), EAT (s\u00e9ances) et TEF, pour des calories de maintenance pr\u00e9cises. Projection 90 jours, macros, IMC et masse maigre.","og_url":"https:\/\/lean-app.com\/en\/calculateur-tdee\/","og_site_name":"Lean","article_publisher":"https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr","article_published_time":"2026-05-26T13:24:59+00:00","article_modified_time":"2026-05-28T08:24:58+00:00","og_image":[{"url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","type":"","width":"","height":""}],"author":"fleboy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"fleboy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lean-app.com\/calculateur-tdee\/#article","isPartOf":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/"},"author":{"name":"fleboy","@id":"https:\/\/lean-app.com\/#\/schema\/person\/b8edc66875f72aab05563a8305d16c48"},"headline":"TDEE Calculator: the most accurate formula (with real bodyfat)","datePublished":"2026-05-26T13:24:59+00:00","dateModified":"2026-05-28T08:24:58+00:00","mainEntityOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/"},"wordCount":1302,"commentCount":0,"publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lean-app.com\/calculateur-tdee\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lean-app.com\/calculateur-tdee\/","url":"https:\/\/lean-app.com\/calculateur-tdee\/","name":"Calculateur TDEE : la formule la plus pr\u00e9cise (avec bodyfat r\u00e9el) - Lean","isPartOf":{"@id":"https:\/\/lean-app.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage"},"image":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage"},"thumbnailUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","datePublished":"2026-05-26T13:24:59+00:00","dateModified":"2026-05-28T08:24:58+00:00","breadcrumb":{"@id":"https:\/\/lean-app.com\/calculateur-tdee\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lean-app.com\/calculateur-tdee\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lean-app.com\/calculateur-tdee\/#primaryimage","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/07\/ai-bodyscan-result-bodyfat-lean-app.png"},{"@type":"BreadcrumbList","@id":"https:\/\/lean-app.com\/calculateur-tdee\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lean-app.com\/"},{"@type":"ListItem","position":2,"name":"TDEE Calculator: the most accurate formula (with real bodyfat)"}]},{"@type":"WebSite","@id":"https:\/\/lean-app.com\/#website","url":"https:\/\/lean-app.com\/","name":"Lean","description":"Download and try the app for FREE \u2014 take control of your body FOR LIFE.Download and try the app for FREE \u2014 take control of your body FOR LIFE.","publisher":{"@id":"https:\/\/lean-app.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lean-app.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lean-app.com\/#organization","name":"Lean","url":"https:\/\/lean-app.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/","url":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","contentUrl":"https:\/\/lean-app.com\/wp-content\/uploads\/2025\/08\/Logo-for-Lean-App-the-best-calorie-and-TDEE-tracking-application.png","width":1672,"height":1484,"caption":"Lean"},"image":{"@id":"https:\/\/lean-app.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/1GXD3qyMBy\/?mibextid=wwXIfr"]},{"@type":"Person","@id":"https:\/\/lean-app.com\/#\/schema\/person\/b8edc66875f72aab05563a8305d16c48","name":"fleboy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lean-app.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f154b8b7d1228ffdb9ef5c92fc8774413a2cefd1bd6ba6021b9f7bdbd705ca73?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f154b8b7d1228ffdb9ef5c92fc8774413a2cefd1bd6ba6021b9f7bdbd705ca73?s=96&d=mm&r=g","caption":"fleboy"},"sameAs":["https:\/\/lean-app.com"]}]}},"_links":{"self":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts\/1520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/comments?post=1520"}],"version-history":[{"count":0,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/posts\/1520\/revisions"}],"wp:attachment":[{"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/media?parent=1520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/categories?post=1520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lean-app.com\/en\/wp-json\/wp\/v2\/tags?post=1520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}