document.addEventListener('DOMContentLoaded', function () { const calculateBtn = document.getElementById('calculateBtn'); const printBtn = document.getElementById('printBtn'); const saveBtn = document.getElementById('saveBtn'); const resultDiv = document.getElementById('result'); calculateBtn.addEventListener('click', () => { const goal = document.querySelector('input[name="goal"]:checked').value; const weight = parseFloat(document.getElementById('weight').value); const height = parseFloat(document.getElementById('height').value); const age = parseInt(document.getElementById('age').value); const gender = document.getElementById('gender').value; if ( isNaN(weight) || weight <= 0 || isNaN(height) || height <= 0 || isNaN(age) || age <= 0 || (gender !== 'male' && gender !== 'female') ) { alert('Merci de remplir tous les champs correctement.'); return; } // Calcul BMR (Formule Mifflin-St Jeor simplifiée) let bmr; if (gender === 'male') { bmr = 10 * weight + 6.25 * height - 5 * age + 5; } else { bmr = 10 * weight + 6.25 * height - 5 * age - 161; } // Ajustement selon l’objectif let calories; if (goal === 'weight_loss') { calories = bmr - 500; // déficit calorique modéré } else { calories = bmr + 500; // surplus calorique modéré } calories = Math.round(calories); resultDiv.textContent = `Votre besoin calorique quotidien estimé est : ${calories} kcal.`; // Afficher les boutons printBtn.style.display = 'inline-block'; saveBtn.style.display = 'inline-block'; }); printBtn.addEventListener('click', () => { window.print(); }); saveBtn.addEventListener('click', () => { const textToSave = resultDiv.textContent; const blob = new Blob([textToSave], { type: 'text/plain;charset=utf-8' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'calories-estimees.txt'; link.click(); }); });