{ link.addEventListener('click', function(e) { e.preventDefault(); const modalId = this.getAttribute('href'); const modal = document.querySelector(modalId); openModal(modal); }); }); document.querySelectorAll('.modal-close, .modal').forEach(element => { element.addEventListener('click', function(e) { // Fermer si on clique sur le bouton X ou en dehors du contenu de la modale if (e.target.classList.contains('modal-close') || e.target.classList.contains('modal')) { closeModal(this.closest('.modal')); } }); }); document.querySelectorAll('.modal-content').forEach(content => { content.addEventListener('click', function(e) { e.stopPropagation(); // Empêcher la fermeture de la modale si on clique à l'intérieur du contenu }); }); }); } catch (e) { console.error('Erreur lors de l'initialisation des modales:', e); } // Cookie Consent try { const cookieBanner = document.getElementById('cookie-consent-banner'); const acceptCookiesBtn = document.getElementById('accept-cookies'); const privacyPolicyLink = document.getElementById('cookie-privacy-link'); if (!localStorage.getItem('cookieConsent')) { cookieBanner.style.display = 'flex'; } acceptCookiesBtn.addEventListener('click', () => { localStorage.setItem('cookieConsent', 'accepted'); cookieBanner.style.display = 'none'; }); privacyPolicyLink.addEventListener('click', (e) => { e.preventDefault(); const privacyModal = document.getElementById('privacy-modal'); if (privacyModal) { openModal(privacyModal); } }); } catch (e) { console.error('Erreur lors de l'initialisation de la bannière de cookies:', e); } // Hamburger Menu try { const hamburger = document.getElementById('hamburger-menu'); const navMenu = document.getElementById('nav-menu'); hamburger.addEventListener('click', () => { navMenu.classList.toggle('active'); hamburger.classList.toggle('active'); }); // Fermer le menu si un lien est cliqué (pour mobile) document.querySelectorAll('#nav-menu a').forEach(link => { link.addEventListener('click', () => { navMenu.classList.remove('active'); hamburger.classList.remove('active'); }); }); } catch (e) { console.error('Erreur lors de l'initialisation du menu hamburger:', e); } // Form Submission try { const contactForm = document.querySelector('.contact-form'); if (contactForm) { contactForm.addEventListener('submit', function(event) { event.preventDefault(); // Empêche l'envoi du formulaire par défaut const name = this.elements['name'].value; const email = this.elements['email'].value; const message = this.elements['message'].value; if (!name || !email || !message) { alert('Veuillez remplir tous les champs obligatoires (Nom, Email, Message).'); return; } if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { alert('Veuillez entrer une adresse e-mail valide.'); return; } // Ici, vous enverriez normalement les données à un serveur // Pour cet exemple, nous simulons un envoi réussi alert(`Merci Generated Site! Votre message a été envoyé. Nous vous contacterons bientôt à l'adresse .`); this.reset(); // Réinitialise le formulaire }); } } catch (e) { console.error('Erreur lors de l'initialisation de la soumission du formulaire:', e); }