Rentrez simplement l'adresse ! Notre IA se charge du reste. Lecture du règlement urbanisme, extraction des conditions économiques et sociales de la commune, compréhension des risques géo-techniques, enjeux climatiques, etc.
function go() { const a = document.getElementById('uA'), e = document.getElementById('uE'); const s = document.getElementById('uS'), q = document.getElementById('uQ'); const b = document.getElementById('oma-btn'), m = document.getElementById('oma-msg'); if (!a.value || !e.value) return alert("Champs requis : Adresse et Email"); a.disabled = e.disabled = b.disabled = true; if (s) s.disabled = true; if (q) q.disabled = true; b.innerHTML = ' ANALYSE...'; m.innerHTML = "🧬 Analyse environnementale en cours... Ne fermez pas la page : récupération et traitement des documents d'urbanisme (PLU) en cours..."; const surfaceValue = (s && s.value.trim() !== "") ? s.value.replace(/[^0-9.]/g, '') : "N/A"; const questionValue = (q && q.value.trim() !== "") ? q.value : "Analyse globale"; fetch('https://web-production-57107.up.railway.app/audit', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ address: a.value, email: e.value, sqm: surfaceValue, question: questionValue }) }) .then(res => { if (!res.ok) throw new Error(); return res.json(); }) .then(data => { const elVerdict = document.getElementById('res-verdict'); const elProximity = document.getElementById('res-proximity'); if (elVerdict) elVerdict.innerText = data.verdict || "Rapport généré avec succès."; if (elProximity) elProximity.innerText = data.proximal_nodes || "Infrastructures de proximité synchronisées."; b.disabled = false; b.classList.add('done'); b.innerText = "VOIR L'AUDIT"; m.style.color = '#44eeaa'; m.innerHTML = "✅ Analyse cadastrale terminée ! Les données ont été enregistrées avec succès."; b.onclick = () => { window.location.hash = 'audit-results'; }; }) .catch(() => { a.disabled = e.disabled = b.disabled = false; if (s) s.disabled = false; if (q) q.disabled = false; b.innerText = "Lancer l'Audit"; m.style.color = '#ff6b6b'; m.innerText = "❌ Erreur de communication avec le serveur. Réessayez."; }); }
Architecture résiliente grâce à l'IA
Définir la stratégie immobilière d'aujourd'hui pour valoriser le bien et la qualité de vie des occupants de demain, grâce à notre expertise d'opérateur IA.
function go() { const a = document.getElementById('uA'), e = document.getElementById('uE'); const s = document.getElementById('uS'), q = document.getElementById('uQ'); const b = document.getElementById('oma-btn'), m = document.getElementById('oma-msg'); if (!a.value || !e.value) return alert("Champs requis : Adresse et Email"); a.disabled = e.disabled = s.disabled = q.disabled = b.disabled = true; b.innerHTML = ' ANALYSE...'; m.innerText = "Audit en cours, géolocalisation et extraction du PLU, temps estimé 45 secondes..."; const BACKEND_URL = 'https://web-production-57107.up.railway.app/audit'; const cleanSqm = s.value.replace(/[^0-9.]/g, '') || "32"; fetch(BACKEND_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ address: a.value, email: e.value, sqm: cleanSqm, question: q.value || "Construire une piscine" }) }) .then(async (res) => { if (res.ok) { const data = await res.json(); console.log("🚀 Payload Received from Railway Container:", data); // 🎯 THE LIVE INJECTION INTERSECT: Finds your IDs and swaps placeholder [...] text for real-world logs! const elVerdict = document.getElementById('res-verdict'); const elProximity = document.getElementById('res-proximity'); const elClimate = document.getElementById('res-climate'); // Populate text parameters safely into your dashboard cards if (elVerdict) elVerdict.innerText = data.user_intent ? "Analyse générée avec succès." : "Erreur lors de l'extraction."; if (elProximity) elProximity.innerText = "Infrastructures synchronisées au registre Google Sheet."; if (elClimate) elClimate.innerText = "Données INSEE enregistrées pour le code : " + data.insee_code; // Update button behavior to unlock your viewport hash redirect b.disabled = false; b.classList.add('done'); b.innerText = "VOIR L'AUDIT"; m.style.color = '#44eeaa'; m.innerText = "✅ Analyse cadastrale terminée ! Données enregistrées."; b.onclick = () => { window.location.hash = 'audit-results'; }; } else { throw new Error(); } }) .catch((err) => { console.error(err); a.disabled = e.disabled = s.disabled = q.disabled = b.disabled = false; b.innerText = "Lancer l'Audit"; m.innerText = "❌ Erreur de communication avec le serveur. Réessayez."; }); }
Architecture and resilience with AI
Define today's real estate strategy to increase the value of the property and improve the quality of life of tomorrow's occupants, thanks to our IA operator expertise.