{"id":2874,"date":"2025-07-17T04:31:01","date_gmt":"2025-07-17T04:31:01","guid":{"rendered":"https:\/\/crehistor.com\/?page_id=2874"},"modified":"2026-01-05T10:03:27","modified_gmt":"2026-01-05T10:03:27","slug":"fabrique-a-idee","status":"publish","type":"page","link":"https:\/\/crehistor.com\/es\/fabrique-a-idee\/","title":{"rendered":"Fabrique \u00e0 id\u00e9e"},"content":{"rendered":"<p><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&display=swap\" rel=\"stylesheet\">\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<style>\n:root {\n    --forge-obsidian: #0d0d0f;\n    --forge-anthracite: #1a1a1e;\n    --forge-graphite: #252529;\n    --forge-steel: #3a3a42;\n    --forge-silver: #b0b0b8;\n    --forge-gold: #c9a54e;\n    --forge-gold-light: #e8c86d;\n    --forge-gold-pale: #f5e6c3;\n    --forge-white: #ffffff;\n    --font-display: 'Cinzel', Georgia, serif;\n    --font-body: 'Cormorant Garamond', Georgia, serif;\n    --shadow-elevated: 0 8px 32px rgba(0,0,0,0.4), 0 2px 8px rgba(201,165,78,0.08);\n    --shadow-glow: 0 0 20px rgba(201,165,78,0.15);\n    --text-shadow: 0 1px 2px rgba(0,0,0,0.3);\n    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n#fab-root {\n    max-width: 580px;\n    margin: 48px auto;\n    background: var(--forge-anthracite);\n    border-radius: 3px;\n    padding: 40px 36px;\n    box-shadow: var(--shadow-elevated);\n    font-family: var(--font-body);\n    color: var(--forge-white);\n    position: relative;\n}\n\n#fab-root::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 2px;\n    background: linear-gradient(90deg, transparent 0%, var(--forge-gold) 20%, var(--forge-gold-light) 50%, var(--forge-gold) 80%, transparent 100%);\n}\n\n.fab-box { text-align: center; animation: fabFadeIn 0.5s var(--transition-smooth); }\n@keyframes fabFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }\n\n.fab-title { font-family: var(--font-display); font-size: 1.5em; font-weight: 700; color: var(--forge-gold); margin-bottom: 8px; letter-spacing: 0.08em; text-transform: uppercase; text-shadow: var(--text-shadow); }\n.fab-subtitle { font-size: 1.1em; font-weight: 500; color: var(--forge-silver); margin-bottom: 24px; font-style: italic; text-shadow: var(--text-shadow); }\n\n.fab-langbar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }\n.fab-lang-btn { background: transparent; color: var(--forge-silver); border: 1px solid var(--forge-steel); padding: 6px 14px; font-family: var(--font-body); font-size: 0.95em; font-weight: 500; border-radius: 2px; cursor: pointer; transition: all 0.25s var(--transition-smooth); }\n.fab-lang-btn:hover { border-color: var(--forge-gold); color: var(--forge-gold); }\n.fab-lang-btn.active { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); font-weight: 600; }\n\n.fab-slider { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px; }\n.fab-slider-arrow { background: transparent; border: 1px solid var(--forge-steel); color: var(--forge-gold); width: 40px; height: 40px; border-radius: 2px; font-size: 1.2em; cursor: pointer; transition: all 0.25s var(--transition-smooth); }\n.fab-slider-arrow:hover { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); }\n.fab-slider-img { width: 200px; height: 130px; border-radius: 2px; overflow: hidden; border: 1px solid var(--forge-steel); }\n.fab-slider-img img { width: 100%; height: 100%; object-fit: cover; filter: sepia(10%) saturate(0.9); transition: opacity 0.3s; }\n\n.fab-option-group { margin-bottom: 20px; text-align: left; }\n.fab-option-label { font-family: var(--font-display); font-size: 0.95em; font-weight: 600; color: var(--forge-gold); margin-bottom: 10px; text-shadow: var(--text-shadow); }\n.fab-options { display: flex; flex-wrap: wrap; gap: 8px; }\n.fab-opt { padding: 10px 16px; border: 1px solid var(--forge-steel); background: transparent; border-radius: 2px; color: var(--forge-white); font-family: var(--font-body); font-size: 1em; font-weight: 500; cursor: pointer; transition: all 0.25s var(--transition-smooth); text-shadow: var(--text-shadow); }\n.fab-opt:hover { border-color: var(--forge-gold); color: var(--forge-gold); }\n.fab-opt.selected { background: var(--forge-gold); border-color: var(--forge-gold); color: var(--forge-obsidian); }\n\n.fab-input { width: 100%; padding: 14px 18px; font-family: var(--font-body); font-size: 1.1em; font-weight: 500; border: 1px solid var(--forge-steel); border-radius: 2px; background: var(--forge-graphite); color: var(--forge-white); margin-top: 8px; box-sizing: border-box; transition: all 0.25s var(--transition-smooth); }\n.fab-input::placeholder { color: var(--forge-silver); font-style: italic; }\n.fab-input:focus { outline: none; border-color: var(--forge-gold); box-shadow: 0 0 0 3px rgba(201,165,78,0.15); }\n\n.fab-btn { background: linear-gradient(135deg, var(--forge-gold) 0%, var(--forge-gold-light) 50%, var(--forge-gold) 100%); color: var(--forge-obsidian); border: none; padding: 14px 32px; border-radius: 2px; font-family: var(--font-display); font-size: 0.95em; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.3s var(--transition-smooth); box-shadow: 0 2px 8px rgba(0,0,0,0.3); text-decoration: none; display: inline-block; margin: 6px; }\n.fab-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); filter: brightness(1.1); }\n.fab-btn-secondary { background: transparent; color: var(--forge-gold); border: 1px solid var(--forge-gold); padding: 12px 24px; font-weight: 600; }\n.fab-btn-secondary:hover { background: var(--forge-gold); color: var(--forge-obsidian); }\n\n.fab-loading { padding: 40px 0; }\n.fab-loading-text { font-style: italic; font-size: 1.2em; font-weight: 600; color: var(--forge-gold-pale); margin-bottom: 24px; text-shadow: var(--text-shadow); }\n.fab-spinner { width: 40px; height: 40px; margin: 0 auto; border: 2px solid var(--forge-steel); border-top-color: var(--forge-gold); border-radius: 50%; animation: fabSpin 1s linear infinite; }\n@keyframes fabSpin { to { transform: rotate(360deg); } }\n\n.fab-result-title { font-family: var(--font-display); font-size: 1.3em; font-weight: 700; color: var(--forge-gold); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.fab-content {\n    background: var(--forge-graphite);\n    border-left: 3px solid var(--forge-gold);\n    padding: 24px;\n    border-radius: 0 2px 2px 0;\n    text-align: left;\n    font-size: 1.1em;\n    font-weight: 500;\n    line-height: 1.8;\n    color: var(--forge-white);\n    margin-bottom: 24px;\n    text-shadow: var(--text-shadow);\n    white-space: pre-wrap;\n}\n\n.fab-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 20px; }\n\n.fab-btn-login, .fab-btn-credits { background: linear-gradient(135deg, var(--forge-gold) 0%, var(--forge-gold-light) 50%, var(--forge-gold) 100%) !important; color: var(--forge-obsidian) !important; border: none !important; padding: 18px 48px !important; border-radius: 3px !important; font-family: var(--font-display) !important; font-size: 1.05em !important; font-weight: 700 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; cursor: pointer !important; text-decoration: none !important; display: inline-block !important; box-shadow: 0 4px 20px rgba(201,165,78,0.4) !important; margin-top: 10px !important; transition: all 0.3s var(--transition-smooth) !important; }\n.fab-btn-login:hover, .fab-btn-credits:hover { transform: translateY(-3px) !important; box-shadow: 0 6px 30px rgba(201,165,78,0.6) !important; filter: brightness(1.1) !important; }\n\n.fab-error { color: #d4873f; font-size: 0.95em; margin-top: 8px; text-shadow: var(--text-shadow); }\n.fab-copied { color: var(--forge-gold); font-size: 0.9em; margin-top: 8px; }\n\n@media (max-width: 600px) { #fab-root { margin: 24px 16px; padding: 28px 20px; } .fab-slider-img { width: 150px; height: 100px; } .fab-actions { flex-direction: column; } .fab-btn { width: 100%; } .fab-options { gap: 6px; } .fab-opt { padding: 8px 12px; font-size: 0.9em; } }\n<\/style>\n\n<div id=\"fab-root\"><div class=\"fab-box\" id=\"fab-content\"><\/div><\/div>\n\n<script>\n(function() {\n    const config = {\n        ui: {\"main_title\":{\"fr\":\"Fabrique \u00e0 Id\u00e9es\",\"en\":\"Idea Factory\",\"es\":\"F\u00e1brica de Ideas\",\"it\":\"Fabbrica di Idee\",\"de\":\"Ideenfabrik\"},\"subtitle\":{\"fr\":\"G\u00e9n\u00e8re du contenu cr\u00e9atif en un clic\",\"en\":\"Generate creative content in one click\",\"es\":\"Genera contenido creativo en un clic\",\"it\":\"Genera contenuti creativi in un clic\",\"de\":\"Erstelle kreativen Inhalt mit einem Klick\"},\"type_label\":{\"fr\":\"Type de contenu\",\"en\":\"Content type\",\"es\":\"Tipo de contenido\",\"it\":\"Tipo di contenuto\",\"de\":\"Inhaltstyp\"},\"tone_label\":{\"fr\":\"Ton\",\"en\":\"Tone\",\"es\":\"Tono\",\"it\":\"Tono\",\"de\":\"Ton\"},\"length_label\":{\"fr\":\"Longueur\",\"en\":\"Length\",\"es\":\"Longitud\",\"it\":\"Lunghezza\",\"de\":\"L\u00e4nge\"},\"sector_label\":{\"fr\":\"Secteur \\\/ Sujet\",\"en\":\"Sector \\\/ Topic\",\"es\":\"Sector \\\/ Tema\",\"it\":\"Settore \\\/ Argomento\",\"de\":\"Branche \\\/ Thema\"},\"sector_placeholder\":{\"fr\":\"Ex: Technologie, Mode, Sant\u00e9...\",\"en\":\"E.g.: Technology, Fashion, Health...\",\"es\":\"Ej: Tecnolog\u00eda, Moda, Salud...\",\"it\":\"Es: Tecnologia, Moda, Salute...\",\"de\":\"Z.B.: Technologie, Mode, Gesundheit...\"},\"types\":{\"fr\":[{\"key\":\"slogan\",\"label\":\"Slogan\"},{\"key\":\"article\",\"label\":\"Article\"},{\"key\":\"post\",\"label\":\"Post r\u00e9seaux\"},{\"key\":\"campaign\",\"label\":\"Campagne\"},{\"key\":\"product\",\"label\":\"Descriptif produit\"},{\"key\":\"newsletter\",\"label\":\"Newsletter\"},{\"key\":\"pitch\",\"label\":\"Pitch\"}],\"en\":[{\"key\":\"slogan\",\"label\":\"Slogan\"},{\"key\":\"article\",\"label\":\"Article\"},{\"key\":\"post\",\"label\":\"Social post\"},{\"key\":\"campaign\",\"label\":\"Campaign\"},{\"key\":\"product\",\"label\":\"Product description\"},{\"key\":\"newsletter\",\"label\":\"Newsletter\"},{\"key\":\"pitch\",\"label\":\"Pitch\"}],\"es\":[{\"key\":\"slogan\",\"label\":\"Eslogan\"},{\"key\":\"article\",\"label\":\"Art\u00edculo\"},{\"key\":\"post\",\"label\":\"Post redes\"},{\"key\":\"campaign\",\"label\":\"Campa\u00f1a\"},{\"key\":\"product\",\"label\":\"Descripci\u00f3n producto\"},{\"key\":\"newsletter\",\"label\":\"Bolet\u00edn\"},{\"key\":\"pitch\",\"label\":\"Pitch\"}],\"it\":[{\"key\":\"slogan\",\"label\":\"Slogan\"},{\"key\":\"article\",\"label\":\"Articolo\"},{\"key\":\"post\",\"label\":\"Post social\"},{\"key\":\"campaign\",\"label\":\"Campagna\"},{\"key\":\"product\",\"label\":\"Descrizione prodotto\"},{\"key\":\"newsletter\",\"label\":\"Newsletter\"},{\"key\":\"pitch\",\"label\":\"Pitch\"}],\"de\":[{\"key\":\"slogan\",\"label\":\"Slogan\"},{\"key\":\"article\",\"label\":\"Artikel\"},{\"key\":\"post\",\"label\":\"Social Post\"},{\"key\":\"campaign\",\"label\":\"Kampagne\"},{\"key\":\"product\",\"label\":\"Produktbeschreibung\"},{\"key\":\"newsletter\",\"label\":\"Newsletter\"},{\"key\":\"pitch\",\"label\":\"Pitch\"}]},\"tones\":{\"fr\":[{\"key\":\"professional\",\"label\":\"Professionnel\"},{\"key\":\"fun\",\"label\":\"Fun\"},{\"key\":\"inspiring\",\"label\":\"Inspirant\"},{\"key\":\"provocative\",\"label\":\"Provocateur\"}],\"en\":[{\"key\":\"professional\",\"label\":\"Professional\"},{\"key\":\"fun\",\"label\":\"Fun\"},{\"key\":\"inspiring\",\"label\":\"Inspiring\"},{\"key\":\"provocative\",\"label\":\"Provocative\"}],\"es\":[{\"key\":\"professional\",\"label\":\"Profesional\"},{\"key\":\"fun\",\"label\":\"Divertido\"},{\"key\":\"inspiring\",\"label\":\"Inspirador\"},{\"key\":\"provocative\",\"label\":\"Provocador\"}],\"it\":[{\"key\":\"professional\",\"label\":\"Professionale\"},{\"key\":\"fun\",\"label\":\"Divertente\"},{\"key\":\"inspiring\",\"label\":\"Ispirante\"},{\"key\":\"provocative\",\"label\":\"Provocatorio\"}],\"de\":[{\"key\":\"professional\",\"label\":\"Professionell\"},{\"key\":\"fun\",\"label\":\"Spa\u00dfig\"},{\"key\":\"inspiring\",\"label\":\"Inspirierend\"},{\"key\":\"provocative\",\"label\":\"Provokativ\"}]},\"lengths\":{\"fr\":[{\"key\":\"short\",\"label\":\"Court\"},{\"key\":\"medium\",\"label\":\"Moyen\"},{\"key\":\"long\",\"label\":\"Long\"}],\"en\":[{\"key\":\"short\",\"label\":\"Short\"},{\"key\":\"medium\",\"label\":\"Medium\"},{\"key\":\"long\",\"label\":\"Long\"}],\"es\":[{\"key\":\"short\",\"label\":\"Corto\"},{\"key\":\"medium\",\"label\":\"Medio\"},{\"key\":\"long\",\"label\":\"Largo\"}],\"it\":[{\"key\":\"short\",\"label\":\"Corto\"},{\"key\":\"medium\",\"label\":\"Medio\"},{\"key\":\"long\",\"label\":\"Lungo\"}],\"de\":[{\"key\":\"short\",\"label\":\"Kurz\"},{\"key\":\"medium\",\"label\":\"Mittel\"},{\"key\":\"long\",\"label\":\"Lang\"}]},\"generate\":{\"fr\":\"G\u00e9n\u00e9rer\",\"en\":\"Generate\",\"es\":\"Generar\",\"it\":\"Genera\",\"de\":\"Generieren\"},\"pdf\":{\"fr\":\"T\u00e9l\u00e9charger PDF\",\"en\":\"Download PDF\",\"es\":\"Descargar PDF\",\"de\":\"PDF herunterladen\",\"it\":\"Scarica PDF\"},\"whatsapp\":{\"fr\":\"Partager\",\"en\":\"Share\",\"es\":\"Compartir\",\"de\":\"Teilen\",\"it\":\"Condividi\"},\"copy\":{\"fr\":\"Copier\",\"en\":\"Copy\",\"es\":\"Copiar\",\"de\":\"Kopieren\",\"it\":\"Copia\"},\"new\":{\"fr\":\"Nouvelle id\u00e9e\",\"en\":\"New idea\",\"es\":\"Nueva idea\",\"de\":\"Neue Idee\",\"it\":\"Nuova idea\"},\"generating\":{\"fr\":\"Cr\u00e9ation en cours\u2026\",\"en\":\"Creating\u2026\",\"es\":\"Creando\u2026\",\"de\":\"Wird erstellt\u2026\",\"it\":\"Creazione in corso\u2026\"},\"login_welcome\":{\"fr\":\"Bienvenue\",\"en\":\"Welcome\",\"es\":\"Bienvenido\",\"de\":\"Willkommen\",\"it\":\"Benvenuto\"},\"login_text\":{\"fr\":\"Connecte-toi pour cr\u00e9er tes contenus.\",\"en\":\"Log in to create your content.\",\"es\":\"Inicia sesi\u00f3n para crear tu contenido.\",\"de\":\"Melde dich an f\u00fcr deine Inhalte.\",\"it\":\"Accedi per creare i tuoi contenuti.\"},\"login_btn\":{\"fr\":\"Connexion \\\/ Inscription\",\"en\":\"Login \\\/ Sign up\",\"es\":\"Iniciar sesi\u00f3n\",\"de\":\"Anmelden\",\"it\":\"Accedi\"},\"credits_text\":{\"fr\":\"Tu n'as plus de cr\u00e9dits.\",\"en\":\"You're out of credits.\",\"es\":\"No tienes cr\u00e9ditos.\",\"de\":\"Keine Credits mehr.\",\"it\":\"Crediti esauriti.\"},\"credits_btn\":{\"fr\":\"Acheter des cr\u00e9dits\",\"en\":\"Buy credits\",\"es\":\"Comprar cr\u00e9ditos\",\"de\":\"Credits kaufen\",\"it\":\"Acquista crediti\"},\"sector_required\":{\"fr\":\"Indique un secteur ou sujet.\",\"en\":\"Please enter a sector or topic.\",\"es\":\"Indica un sector o tema.\",\"de\":\"Gib eine Branche oder Thema an.\",\"it\":\"Indica un settore o argomento.\"},\"copied\":{\"fr\":\"Copi\u00e9 !\",\"en\":\"Copied!\",\"es\":\"\u00a1Copiado!\",\"de\":\"Kopiert!\",\"it\":\"Copiato!\"}},\n        languages: [{\"key\":\"fr\",\"label\":\"Fran\u00e7ais\",\"flag\":\"\ud83c\uddeb\ud83c\uddf7\"},{\"key\":\"en\",\"label\":\"English\",\"flag\":\"\ud83c\uddec\ud83c\udde7\"},{\"key\":\"es\",\"label\":\"Espa\u00f1ol\",\"flag\":\"\ud83c\uddea\ud83c\uddf8\"},{\"key\":\"it\",\"label\":\"Italiano\",\"flag\":\"\ud83c\uddee\ud83c\uddf9\"},{\"key\":\"de\",\"label\":\"Deutsch\",\"flag\":\"\ud83c\udde9\ud83c\uddea\"}],\n        covers: [\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/fabrique1.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/fabrique2.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/fabrique3.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/fabrique4.jpg\"],\n        ajaxUrl: 'https:\/\/crehistor.com\/wp-admin\/admin-ajax.php'\n    };\n\n    const userState = {\n        loggedIn: false,\n        credits: 0    };\n\n    let state = { lang: localStorage.getItem('fab_lang') || 'fr', type: 'slogan', tone: 'professional', length: 'medium', sector: '', coverIndex: 0, generated: null };\n    let sliderTimer;\n\n    function tr(key) { return config.ui[key] && config.ui[key][state.lang] ? config.ui[key][state.lang] : (config.ui[key] ? config.ui[key]['fr'] : key); }\n    function setLang(lang) { state.lang = lang; localStorage.setItem('fab_lang', lang); }\n\n    function renderLangBar() { return `<div class=\"fab-langbar\">${config.languages.map(l => `<button class=\"fab-lang-btn${state.lang === l.key ? ' active' : ''}\" data-lang=\"${l.key}\">${l.flag} ${l.label}<\/button>`).join('')}<\/div>`; }\n\n    function renderSlider() {\n        const img = config.covers[state.coverIndex % config.covers.length];\n        return `<div class=\"fab-slider\"><button class=\"fab-slider-arrow\" id=\"fab-slider-prev\">\u25c0<\/button><div class=\"fab-slider-img\"><img decoding=\"async\" src=\"${img}\"><\/div><button class=\"fab-slider-arrow\" id=\"fab-slider-next\">\u25b6<\/button><\/div>`;\n    }\n\n    function startSlider() {\n        if (sliderTimer) clearTimeout(sliderTimer);\n        sliderTimer = setTimeout(() => { state.coverIndex = (state.coverIndex + 1) % config.covers.length; const img = document.querySelector('.fab-slider-img img'); if (img) { img.style.opacity = '0'; setTimeout(() => { img.src = config.covers[state.coverIndex]; img.style.opacity = '1'; }, 300); } startSlider(); }, 3500);\n    }\n\n    function stopSlider() { if (sliderTimer) clearTimeout(sliderTimer); }\n    function bindLangButtons() { document.querySelectorAll('.fab-lang-btn').forEach(btn => { btn.onclick = () => { setLang(btn.dataset.lang); state.generated = null; render(); }; }); }\n    function bindSliderButtons() { const prev = document.getElementById('fab-slider-prev'); const next = document.getElementById('fab-slider-next'); if (prev) prev.onclick = () => { state.coverIndex = (state.coverIndex + config.covers.length - 1) % config.covers.length; render(); }; if (next) next.onclick = () => { state.coverIndex = (state.coverIndex + 1) % config.covers.length; render(); }; }\n\n    function render() {\n        const root = document.getElementById('fab-content');\n\n        if (!userState.loggedIn) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"fab-title\">${tr('login_welcome')}<\/h1><p class=\"fab-subtitle\">${tr('login_text')}<\/p><button class=\"fab-btn-login xoo-el-login-tgr\">${tr('login_btn')}<\/button>`;\n            bindLangButtons(); startSlider(); bindSliderButtons(); return;\n        }\n\n        if (userState.credits < 1) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"fab-title\">${tr('login_welcome')}<\/h1><p class=\"fab-subtitle\">${tr('credits_text')}<\/p><a href=\"\/boutique\" class=\"fab-btn-credits\">${tr('credits_btn')}<\/a>`;\n            bindLangButtons(); startSlider(); bindSliderButtons(); return;\n        }\n\n        if (state.generated) { renderResult(); return; }\n\n        \/\/ Form\n        const types = config.ui.types[state.lang] || config.ui.types.fr;\n        const tones = config.ui.tones[state.lang] || config.ui.tones.fr;\n        const lengths = config.ui.lengths[state.lang] || config.ui.lengths.fr;\n\n        root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"fab-title\">${tr('main_title')}<\/h1><p class=\"fab-subtitle\">${tr('subtitle')}<\/p>\n            <div class=\"fab-option-group\"><div class=\"fab-option-label\">${tr('type_label')}<\/div><div class=\"fab-options\" id=\"fab-types\">${types.map(t => `<button class=\"fab-opt${state.type===t.key?' selected':''}\" data-val=\"${t.key}\">${t.label}<\/button>`).join('')}<\/div><\/div>\n            <div class=\"fab-option-group\"><div class=\"fab-option-label\">${tr('tone_label')}<\/div><div class=\"fab-options\" id=\"fab-tones\">${tones.map(t => `<button class=\"fab-opt${state.tone===t.key?' selected':''}\" data-val=\"${t.key}\">${t.label}<\/button>`).join('')}<\/div><\/div>\n            <div class=\"fab-option-group\"><div class=\"fab-option-label\">${tr('length_label')}<\/div><div class=\"fab-options\" id=\"fab-lengths\">${lengths.map(l => `<button class=\"fab-opt${state.length===l.key?' selected':''}\" data-val=\"${l.key}\">${l.label}<\/button>`).join('')}<\/div><\/div>\n            <div class=\"fab-option-group\"><div class=\"fab-option-label\">${tr('sector_label')}<\/div><input type=\"text\" class=\"fab-input\" id=\"fab-sector\" value=\"${state.sector}\" placeholder=\"${tr('sector_placeholder')}\"><\/div>\n            <div id=\"fab-error\" class=\"fab-error\" style=\"display:none;\"><\/div>\n            <div class=\"fab-actions\"><button class=\"fab-btn\" id=\"fab-generate\">${tr('generate')}<\/button><\/div>`;\n\n        bindLangButtons(); startSlider(); bindSliderButtons();\n        document.getElementById('fab-types').querySelectorAll('.fab-opt').forEach(btn => { btn.onclick = () => { state.type = btn.dataset.val; render(); }; });\n        document.getElementById('fab-tones').querySelectorAll('.fab-opt').forEach(btn => { btn.onclick = () => { state.tone = btn.dataset.val; render(); }; });\n        document.getElementById('fab-lengths').querySelectorAll('.fab-opt').forEach(btn => { btn.onclick = () => { state.length = btn.dataset.val; render(); }; });\n        document.getElementById('fab-sector').oninput = e => state.sector = e.target.value;\n        document.getElementById('fab-generate').onclick = () => { if (!state.sector.trim()) { document.getElementById('fab-error').textContent = tr('sector_required'); document.getElementById('fab-error').style.display = 'block'; return; } generate(); };\n    }\n\n    function generate() {\n        const root = document.getElementById('fab-content');\n        root.innerHTML = `${renderLangBar()}<div class=\"fab-loading\"><div class=\"fab-loading-text\">${tr('generating')}<\/div><div class=\"fab-spinner\"><\/div><\/div>`;\n        bindLangButtons();\n\n        fetch(config.ajaxUrl + '?action=fab_generate', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ lang: state.lang, type: state.type, tone: state.tone, length: state.length, sector: state.sector }) })\n        .then(r => r.json())\n        .then(data => { state.generated = data.content || 'Erreur'; if (userState.credits > 0) userState.credits--; renderResult(); })\n        .catch(() => { state.generated = 'Erreur de g\u00e9n\u00e9ration.'; renderResult(); });\n    }\n\n    function renderResult() {\n        const root = document.getElementById('fab-content');\n        root.innerHTML = `${renderLangBar()}\n            <div class=\"fab-result-title\">\ud83d\udca1 Ton Contenu<\/div>\n            <div class=\"fab-content\">${state.generated}<\/div>\n            <div id=\"fab-copied\" class=\"fab-copied\" style=\"display:none;\">${tr('copied')}<\/div>\n            <div class=\"fab-actions\"><button class=\"fab-btn\" id=\"fab-copy\">\ud83d\udccb ${tr('copy')}<\/button><button class=\"fab-btn fab-btn-secondary\" id=\"fab-pdf\">\ud83d\udcc4 ${tr('pdf')}<\/button><\/div>\n            <div class=\"fab-actions\"><a href=\"https:\/\/wa.me\/?text=${encodeURIComponent(state.generated.substring(0, 800))}\" target=\"_blank\" class=\"fab-btn fab-btn-secondary\">\ud83d\udcf1 ${tr('whatsapp')}<\/a><\/div>\n            <div class=\"fab-actions\" style=\"margin-top:12px;\">${userState.credits > 0 ? `<button class=\"fab-btn fab-btn-secondary\" id=\"fab-new\">\ud83d\udd04 ${tr('new')}<\/button>` : `<a href=\"\/boutique\" class=\"fab-btn-credits\">${tr('credits_btn')}<\/a>`}<\/div>`;\n        bindLangButtons();\n        document.getElementById('fab-copy').onclick = () => { navigator.clipboard.writeText(state.generated); document.getElementById('fab-copied').style.display = 'block'; setTimeout(() => document.getElementById('fab-copied').style.display = 'none', 2000); };\n        document.getElementById('fab-pdf').onclick = () => generatePDF(state.generated);\n        const newBtn = document.getElementById('fab-new');\n        if (newBtn) newBtn.onclick = () => { state.sector = ''; state.generated = null; render(); };\n    }\n\n    function generatePDF(content) {\n        const { jsPDF } = window.jspdf;\n        const doc = new jsPDF();\n        const pageWidth = doc.internal.pageSize.getWidth();\n        const pageHeight = doc.internal.pageSize.getHeight();\n        const margin = 20;\n        let y = margin;\n\n        doc.setFillColor(250, 250, 248); doc.rect(0, 0, pageWidth, pageHeight, 'F');\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(1.5); doc.line(margin, 15, pageWidth - margin, 15);\n\n        y = 30;\n        doc.setFont('helvetica', 'bold'); doc.setFontSize(18); doc.setTextColor(201, 165, 78);\n        doc.text('FABRIQUE \u00c0 ID\u00c9ES', pageWidth \/ 2, y, { align: 'center' });\n\n        y += 15;\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(0.5); doc.line(margin + 40, y, pageWidth - margin - 40, y);\n\n        y += 12;\n        doc.setFont('helvetica', 'normal'); doc.setFontSize(11); doc.setTextColor(40, 40, 40);\n        const lines = doc.splitTextToSize(content, pageWidth - margin * 2);\n        lines.forEach(line => { if (y > pageHeight - 25) { doc.addPage(); doc.setFillColor(250, 250, 248); doc.rect(0, 0, pageWidth, pageHeight, 'F'); y = margin; } doc.text(line, margin, y); y += 6; });\n\n        const footerY = pageHeight - 12;\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(0.3); doc.line(margin, footerY - 5, pageWidth - margin, footerY - 5);\n        doc.setFontSize(9); doc.setTextColor(150, 150, 150);\n        doc.text('G\u00e9n\u00e9r\u00e9 par Fabrique \u00e0 Id\u00e9es \u2014 crehistor.com', pageWidth \/ 2, footerY, { align: 'center' });\n        doc.text(new Date().toLocaleDateString('fr-FR'), pageWidth - margin, footerY, { align: 'right' });\n\n        doc.save('Idee_' + state.type + '.pdf');\n    }\n\n    render();\n})();\n<\/script>\n\n<br \/><a href=\"https:\/\/crehistor.com\/es\/fabrique-a-idee-exemple\/\" target=\"_blank\" rel=\"noopener\"><br \/>Ejemplo<br \/><\/a><\/p>\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>Ejemplo<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-2874","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/pages\/2874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/comments?post=2874"}],"version-history":[{"count":7,"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/pages\/2874\/revisions"}],"predecessor-version":[{"id":3720,"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/pages\/2874\/revisions\/3720"}],"wp:attachment":[{"href":"https:\/\/crehistor.com\/es\/wp-json\/wp\/v2\/media?parent=2874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}