{"id":1741,"date":"2025-06-05T05:26:25","date_gmt":"2025-06-05T05:26:25","guid":{"rendered":"https:\/\/crehistor.com\/?page_id=1741"},"modified":"2025-07-09T15:39:34","modified_gmt":"2025-07-09T15:39:34","slug":"poesie","status":"publish","type":"page","link":"https:\/\/crehistor.com\/en\/poesie\/","title":{"rendered":"Po\u00e9sie"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"1741\" class=\"elementor elementor-1741\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dee1372 e-flex e-con-boxed e-con e-parent\" data-id=\"dee1372\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-773e259 e-con-full e-flex e-con e-child\" data-id=\"773e259\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-88d183c e-con-full e-flex e-con e-child\" data-id=\"88d183c\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4f8f16d e-con-full e-flex e-con e-child\" data-id=\"4f8f16d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ff681c6 elementor-widget elementor-widget-shortcode\" data-id=\"ff681c6\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">[slider-universel theme=\"poesie\"]<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c05ea32 elementor-widget elementor-widget-shortcode\" data-id=\"c05ea32\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><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#po-root {\n    max-width: 520px;\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#po-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.po-box { text-align: center; animation: poFadeIn 0.5s var(--transition-smooth); }\n@keyframes poFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }\n\n.po-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.po-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.po-langbar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }\n.po-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.po-lang-btn:hover { border-color: var(--forge-gold); color: var(--forge-gold); }\n.po-lang-btn.active { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); font-weight: 600; }\n\n.po-slider { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px; }\n.po-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.po-slider-arrow:hover { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); }\n.po-slider-img { width: 180px; height: 120px; border-radius: 2px; overflow: hidden; border: 1px solid var(--forge-steel); }\n.po-slider-img img { width: 100%; height: 100%; object-fit: cover; filter: sepia(15%) saturate(0.85); transition: opacity 0.3s; }\n\n.po-step-info { font-family: var(--font-display); font-size: 0.9em; color: var(--forge-gold); letter-spacing: 0.1em; margin-bottom: 16px; text-shadow: var(--text-shadow); }\n.po-question { font-family: var(--font-display); font-size: 1.1em; font-weight: 600; color: var(--forge-white); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.po-input { width: 100%; max-width: 350px; 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); text-align: center; margin-bottom: 16px; box-sizing: border-box; transition: all 0.25s var(--transition-smooth); }\n.po-input::placeholder { color: var(--forge-silver); font-style: italic; }\n.po-input:focus { outline: none; border-color: var(--forge-gold); box-shadow: 0 0 0 3px rgba(201,165,78,0.15); }\n\n.po-suggestions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 24px; }\n.po-sug { padding: 8px 14px; border: 1px solid var(--forge-steel); background: transparent; border-radius: 2px; color: var(--forge-white); font-family: var(--font-body); font-size: 0.95em; font-weight: 500; cursor: pointer; transition: all 0.25s var(--transition-smooth); text-shadow: var(--text-shadow); }\n.po-sug:hover { background: var(--forge-gold); border-color: var(--forge-gold); color: var(--forge-obsidian); transform: translateY(-1px); }\n\n.po-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.po-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); filter: brightness(1.1); }\n.po-btn-secondary { background: transparent; color: var(--forge-gold); border: 1px solid var(--forge-gold); padding: 12px 24px; font-weight: 600; }\n.po-btn-secondary:hover { background: var(--forge-gold); color: var(--forge-obsidian); }\n.po-btn-link { background: none; border: none; color: var(--forge-gold); font-family: var(--font-body); font-size: 1em; font-weight: 600; cursor: pointer; padding: 8px 16px; text-shadow: var(--text-shadow); }\n.po-btn-link:hover { color: var(--forge-gold-light); }\n\n.po-loading { padding: 40px 0; }\n.po-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.po-spinner { width: 40px; height: 40px; margin: 0 auto; border: 2px solid var(--forge-steel); border-top-color: var(--forge-gold); border-radius: 50%; animation: poSpin 1s linear infinite; }\n@keyframes poSpin { to { transform: rotate(360deg); } }\n\n.po-result-title { font-family: var(--font-display); font-size: 1.4em; font-weight: 700; color: var(--forge-gold); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.po-poem {\n    background: var(--forge-graphite);\n    border-left: 3px solid var(--forge-gold);\n    padding: 28px 24px;\n    border-radius: 0 2px 2px 0;\n    text-align: center;\n    font-size: 1.15em;\n    font-weight: 500;\n    line-height: 2;\n    color: var(--forge-white);\n    font-style: italic;\n    margin-bottom: 24px;\n    text-shadow: var(--text-shadow);\n}\n\n.po-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 20px; }\n\n.po-btn-login, .po-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.po-btn-login:hover, .po-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.po-error { color: #d4873f; font-size: 0.95em; margin-top: 8px; text-shadow: var(--text-shadow); }\n\n@media (max-width: 600px) { #po-root { margin: 24px 16px; padding: 28px 20px; } .po-slider-img { width: 140px; height: 95px; } .po-actions { flex-direction: column; } .po-btn { width: 100%; } .po-suggestions { gap: 6px; } .po-sug { padding: 6px 10px; font-size: 0.9em; } }\n<\/style>\n\n<div id=\"po-root\"><div class=\"po-box\" id=\"po-content\"><\/div><\/div>\n\n<script>\n(function() {\n    const config = {\n        ui: {\"main_title\":{\"fr\":\"Po\u00e8mes Personnalis\u00e9s\",\"en\":\"Personalized Poems\",\"es\":\"Poemas Personalizados\",\"it\":\"Poesie Personalizzate\",\"de\":\"Personalisierte Gedichte\"},\"subtitle\":{\"fr\":\"Cr\u00e9e ton po\u00e8me unique\",\"en\":\"Create your unique poem\",\"es\":\"Crea tu poema \u00fanico\",\"it\":\"Crea la tua poesia unica\",\"de\":\"Erstelle dein einzigartiges Gedicht\"},\"intro\":{\"fr\":\"R\u00e9ponds aux questions pour cr\u00e9er un po\u00e8me qui te ressemble.\",\"en\":\"Answer questions to create a poem that reflects you.\",\"es\":\"Responde para crear un poema que te represente.\",\"it\":\"Rispondi per creare una poesia che ti rappresenti.\",\"de\":\"Beantworte f\u00fcr ein Gedicht das dich widerspiegelt.\"},\"questions\":{\"fr\":[\"Quel est le sujet de ton po\u00e8me ?\",\"Quelle \u00e9motion veux-tu transmettre ?\",\"Quelle image ou m\u00e9taphore voudrais-tu ?\",\"Quel ton pr\u00e9f\u00e8res-tu (doux, intense, m\u00e9lancolique...) ?\",\"Un mot ou une phrase \u00e0 inclure ?\"],\"en\":[\"What is the subject of your poem?\",\"What emotion do you want to convey?\",\"What image or metaphor would you like?\",\"What tone do you prefer (soft, intense, melancholic...)?\",\"A word or phrase to include?\"],\"es\":[\"\u00bfCu\u00e1l es el tema de tu poema?\",\"\u00bfQu\u00e9 emoci\u00f3n quieres transmitir?\",\"\u00bfQu\u00e9 imagen o met\u00e1fora te gustar\u00eda?\",\"\u00bfQu\u00e9 tono prefieres (suave, intenso, melanc\u00f3lico...)?\",\"\u00bfUna palabra o frase a incluir?\"],\"it\":[\"Qual \u00e8 il soggetto della tua poesia?\",\"Quale emozione vuoi trasmettere?\",\"Quale immagine o metafora vorresti?\",\"Quale tono preferisci (dolce, intenso, malinconico...)?\",\"Una parola o frase da includere?\"],\"de\":[\"Was ist das Thema deines Gedichts?\",\"Welche Emotion m\u00f6chtest du vermitteln?\",\"Welches Bild oder welche Metapher?\",\"Welchen Ton bevorzugst du (sanft, intensiv, melancholisch...)?\",\"Ein Wort oder Satz zum Einbinden?\"]},\"suggestions\":{\"fr\":[[\"L'amour\",\"Le temps qui passe\",\"La nature\",\"Un voyage\",\"La solitude\",\"L'espoir\"],[\"La nostalgie\",\"La joie\",\"L'\u00e9merveillement\",\"La tristesse\",\"La s\u00e9r\u00e9nit\u00e9\",\"La passion\"],[\"Oc\u00e9an infini\",\"Papillon de lumi\u00e8re\",\"Montagne silencieuse\",\"\u00c9toile filante\",\"Rose fan\u00e9e\",\"Vent d'automne\"],[\"Doux et r\u00eaveur\",\"Intense et passionn\u00e9\",\"M\u00e9lancolique\",\"Lumineux\",\"Myst\u00e9rieux\",\"Contemplatif\"],[\"\u00c0 jamais\",\"Silence\",\"Lumi\u00e8re\",\"Au cr\u00e9puscule\",\"Entre tes mains\",\"Comme un songe\"]],\"en\":[[\"Love\",\"Passing time\",\"Nature\",\"A journey\",\"Solitude\",\"Hope\"],[\"Nostalgia\",\"Joy\",\"Wonder\",\"Sadness\",\"Serenity\",\"Passion\"],[\"Endless ocean\",\"Butterfly of light\",\"Silent mountain\",\"Shooting star\",\"Faded rose\",\"Autumn wind\"],[\"Soft and dreamy\",\"Intense and passionate\",\"Melancholic\",\"Luminous\",\"Mysterious\",\"Contemplative\"],[\"Forever\",\"Silence\",\"Light\",\"At twilight\",\"In your hands\",\"Like a dream\"]],\"es\":[[\"El amor\",\"El tiempo que pasa\",\"La naturaleza\",\"Un viaje\",\"La soledad\",\"La esperanza\"],[\"La nostalgia\",\"La alegr\u00eda\",\"El asombro\",\"La tristeza\",\"La serenidad\",\"La pasi\u00f3n\"],[\"Oc\u00e9ano infinito\",\"Mariposa de luz\",\"Monta\u00f1a silenciosa\",\"Estrella fugaz\",\"Rosa marchita\",\"Viento de oto\u00f1o\"],[\"Suave y so\u00f1ador\",\"Intenso y apasionado\",\"Melanc\u00f3lico\",\"Luminoso\",\"Misterioso\",\"Contemplativo\"],[\"Para siempre\",\"Silencio\",\"Luz\",\"Al atardecer\",\"Entre tus manos\",\"Como un sue\u00f1o\"]],\"it\":[[\"L'amore\",\"Il tempo che passa\",\"La natura\",\"Un viaggio\",\"La solitudine\",\"La speranza\"],[\"La nostalgia\",\"La gioia\",\"La meraviglia\",\"La tristezza\",\"La serenit\u00e0\",\"La passione\"],[\"Oceano infinito\",\"Farfalla di luce\",\"Montagna silenziosa\",\"Stella cadente\",\"Rosa appassita\",\"Vento d'autunno\"],[\"Dolce e sognante\",\"Intenso e appassionato\",\"Malinconico\",\"Luminoso\",\"Misterioso\",\"Contemplativo\"],[\"Per sempre\",\"Silenzio\",\"Luce\",\"Al crepuscolo\",\"Tra le tue mani\",\"Come un sogno\"]],\"de\":[[\"Die Liebe\",\"Die vergehende Zeit\",\"Die Natur\",\"Eine Reise\",\"Die Einsamkeit\",\"Die Hoffnung\"],[\"Sehnsucht\",\"Freude\",\"Staunen\",\"Traurigkeit\",\"Gelassenheit\",\"Leidenschaft\"],[\"Endloses Meer\",\"Lichtschmetterling\",\"Stiller Berg\",\"Sternschnuppe\",\"Verwelkte Rose\",\"Herbstwind\"],[\"Sanft und tr\u00e4umerisch\",\"Intensiv und leidenschaftlich\",\"Melancholisch\",\"Leuchtend\",\"Geheimnisvoll\",\"Nachdenklich\"],[\"F\u00fcr immer\",\"Stille\",\"Licht\",\"In der D\u00e4mmerung\",\"In deinen H\u00e4nden\",\"Wie ein Traum\"]]},\"author_label\":{\"fr\":\"Nom de l'auteur\",\"en\":\"Author name\",\"es\":\"Nombre del autor\",\"de\":\"Autorenname\",\"it\":\"Nome autore\"},\"placeholder_author\":{\"fr\":\"Pr\u00e9nom ou pseudo\",\"en\":\"Name or nickname\",\"es\":\"Nombre o seud\u00f3nimo\",\"de\":\"Name oder Spitzname\",\"it\":\"Nome o soprannome\"},\"random_word\":{\"fr\":\"Suggestion\",\"en\":\"Suggestion\",\"es\":\"Sugerencia\",\"it\":\"Suggerimento\",\"de\":\"Vorschlag\"},\"all_random\":{\"fr\":\"Tout au hasard\",\"en\":\"Fill randomly\",\"es\":\"Todo al azar\",\"it\":\"Tutto casuale\",\"de\":\"Alles zuf\u00e4llig\"},\"next\":{\"fr\":\"Suivant\",\"en\":\"Next\",\"es\":\"Siguiente\",\"it\":\"Avanti\",\"de\":\"Weiter\"},\"generate\":{\"fr\":\"Cr\u00e9er le po\u00e8me\",\"en\":\"Create poem\",\"es\":\"Crear poema\",\"it\":\"Crea poesia\",\"de\":\"Gedicht erstellen\"},\"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\"},\"new\":{\"fr\":\"Nouveau po\u00e8me\",\"en\":\"New poem\",\"es\":\"Nuevo poema\",\"de\":\"Neues Gedicht\",\"it\":\"Nuova poesia\"},\"generating\":{\"fr\":\"\u00c9criture du po\u00e8me\u2026\",\"en\":\"Writing poem\u2026\",\"es\":\"Escribiendo poema\u2026\",\"de\":\"Gedicht wird geschrieben\u2026\",\"it\":\"Scrittura della poesia\u2026\"},\"question\":{\"fr\":\"Question\",\"en\":\"Question\",\"es\":\"Pregunta\",\"de\":\"Frage\",\"it\":\"Domanda\"},\"login_welcome\":{\"fr\":\"Bienvenue\",\"en\":\"Welcome\",\"es\":\"Bienvenido\",\"de\":\"Willkommen\",\"it\":\"Benvenuto\"},\"login_text\":{\"fr\":\"Connecte-toi pour cr\u00e9er tes po\u00e8mes.\",\"en\":\"Log in to create your poems.\",\"es\":\"Inicia sesi\u00f3n para crear tus poemas.\",\"de\":\"Melde dich an f\u00fcr deine Gedichte.\",\"it\":\"Accedi per creare le tue poesie.\"},\"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\"},\"author_required\":{\"fr\":\"Merci d'indiquer un auteur.\",\"en\":\"Please enter an author.\",\"es\":\"Por favor indica un autor.\",\"de\":\"Bitte gib einen Autor an.\",\"it\":\"Per favore indica un autore.\"}},\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\\\/poesie1.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/poesie2.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/poesie3.jpg\",\"\\\/wp-content\\\/uploads\\\/2025\\\/cover\\\/poesie4.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('po_lang') || 'fr', step: 0, answers: [], author: '', 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('po_lang', lang); }\n\n    function renderLangBar() { return `<div class=\"po-langbar\">${config.languages.map(l => `<button class=\"po-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=\"po-slider\"><button class=\"po-slider-arrow\" id=\"po-prev\">\u25c0<\/button><div class=\"po-slider-img\"><img decoding=\"async\" src=\"${img}\"><\/div><button class=\"po-slider-arrow\" id=\"po-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('.po-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('.po-lang-btn').forEach(btn => { btn.onclick = () => { setLang(btn.dataset.lang); state.step = 0; state.answers = []; state.author = ''; state.generated = null; render(); }; }); }\n    function bindSliderButtons() { const prev = document.getElementById('po-prev'); const next = document.getElementById('po-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 fillAllRandom() {\n        const pool = ['Verlaine','Hugo','Emily','Luna','Pablo'];\n        state.author = pool[Math.floor(Math.random() * pool.length)];\n        const qs = config.ui.questions[state.lang] || config.ui.questions.fr;\n        const suggs = config.ui.suggestions[state.lang] || config.ui.suggestions.fr;\n        state.answers = qs.map((_, i) => { const arr = suggs[i] || []; return arr[Math.floor(Math.random() * arr.length)] || ''; });\n        state.step = qs.length + 1;\n        render();\n        setTimeout(generate, 300);\n    }\n\n    function render() {\n        const root = document.getElementById('po-content');\n        const qs = config.ui.questions[state.lang] || config.ui.questions.fr;\n\n        if (!userState.loggedIn) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"po-title\">${tr('login_welcome')}<\/h1><p class=\"po-subtitle\">${tr('login_text')}<\/p><button class=\"po-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=\"po-title\">${tr('login_welcome')}<\/h1><p class=\"po-subtitle\">${tr('credits_text')}<\/p><a href=\"\/boutique\" class=\"po-btn-credits\">${tr('credits_btn')}<\/a>`;\n            bindLangButtons(); startSlider(); bindSliderButtons(); return;\n        }\n\n        \/\/ Step 0: Author\n        if (state.step === 0) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"po-title\">${tr('main_title')}<\/h1><p class=\"po-subtitle\">${tr('subtitle')}<\/p>\n                <div class=\"po-question\">${tr('author_label')}<\/div>\n                <input type=\"text\" class=\"po-input\" id=\"po-author\" value=\"${state.author}\" placeholder=\"${tr('placeholder_author')}\" autocomplete=\"off\">\n                <div id=\"po-author-error\" class=\"po-error\" style=\"display:none;\"><\/div>\n                <div class=\"po-actions\"><button class=\"po-btn\" id=\"po-author-next\">${tr('next')}<\/button><button class=\"po-btn po-btn-secondary\" id=\"po-all-random\">${tr('all_random')}<\/button><\/div>`;\n            bindLangButtons(); startSlider(); bindSliderButtons();\n            document.getElementById('po-author').focus();\n            document.getElementById('po-author').oninput = e => state.author = e.target.value;\n            document.getElementById('po-author').onkeydown = e => { if (e.key === 'Enter') document.getElementById('po-author-next').click(); };\n            document.getElementById('po-author-next').onclick = () => { if (!state.author.trim()) { document.getElementById('po-author-error').textContent = tr('author_required'); document.getElementById('po-author-error').style.display = 'block'; return; } state.step = 1; render(); };\n            document.getElementById('po-all-random').onclick = fillAllRandom;\n            return;\n        }\n\n        \/\/ Questions\n        if (state.step >= 1 && state.step <= qs.length) {\n            stopSlider();\n            const qIndex = state.step - 1;\n            const q = qs[qIndex];\n            const suggs = (config.ui.suggestions[state.lang] || config.ui.suggestions.fr)[qIndex] || [];\n\n            root.innerHTML = `${renderLangBar()}<div class=\"po-step-info\">${tr('question')} ${state.step} \/ ${qs.length}<\/div><div class=\"po-question\">${q}<\/div><input type=\"text\" class=\"po-input\" id=\"po-answer\" value=\"${state.answers[qIndex] || ''}\" autocomplete=\"off\"><div class=\"po-suggestions\">${suggs.map(s => `<button class=\"po-sug\">${s}<\/button>`).join('')}<\/div><div class=\"po-actions\"><button class=\"po-btn-link\" id=\"po-all-random\">${tr('all_random')}<\/button><\/div><div class=\"po-actions\"><button class=\"po-btn\" id=\"po-next\">${state.step < qs.length ? tr('next') : tr('generate')}<\/button><\/div>`;\n\n            bindLangButtons();\n            document.getElementById('po-answer').focus();\n            document.getElementById('po-answer').onkeydown = e => { if (e.key === 'Enter') document.getElementById('po-next').click(); };\n            document.querySelectorAll('.po-sug').forEach(btn => { btn.onclick = () => document.getElementById('po-answer').value = btn.textContent; });\n            document.getElementById('po-all-random').onclick = fillAllRandom;\n            document.getElementById('po-next').onclick = () => { const val = document.getElementById('po-answer').value.trim(); if (!val) return; state.answers[qIndex] = val; state.step++; if (state.step > qs.length) generate(); else render(); };\n            return;\n        }\n\n        if (state.generated) renderResult();\n    }\n\n    function generate() {\n        const root = document.getElementById('po-content');\n        root.innerHTML = `${renderLangBar()}<div class=\"po-loading\"><div class=\"po-loading-text\">${tr('generating')}<\/div><div class=\"po-spinner\"><\/div><\/div>`;\n        bindLangButtons();\n\n        fetch(config.ajaxUrl + '?action=poesie_generate', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ lang: state.lang, author: state.author, answers: state.answers }) })\n        .then(r => r.json())\n        .then(data => { state.generated = data; if (userState.credits > 0) userState.credits--; renderResult(); })\n        .catch(() => { state.generated = { title: 'Erreur', poem: '\u00c9chec de la g\u00e9n\u00e9ration.' }; renderResult(); });\n    }\n\n    function renderResult() {\n        const root = document.getElementById('po-content');\n        const data = state.generated;\n        \n        root.innerHTML = `${renderLangBar()}\n            <div class=\"po-result-title\">${data.title}<\/div>\n            <div class=\"po-poem\">${(data.poem || '').replace(\/\\n\/g, '<br>')}<\/div>\n            <div class=\"po-actions\"><button class=\"po-btn\" id=\"po-pdf\">\ud83d\udcc4 ${tr('pdf')}<\/button><a href=\"https:\/\/wa.me\/?text=${encodeURIComponent(data.title + '\\n\\n' + (data.poem || ''))}\" target=\"_blank\" class=\"po-btn po-btn-secondary\">\ud83d\udcf1 ${tr('whatsapp')}<\/a><\/div>\n            <div class=\"po-actions\" style=\"margin-top:12px;\">${userState.credits > 0 ? `<button class=\"po-btn po-btn-secondary\" id=\"po-new\">\ud83d\udd04 ${tr('new')}<\/button>` : `<a href=\"\/boutique\" class=\"po-btn-credits\">${tr('credits_btn')}<\/a>`}<\/div>`;\n        bindLangButtons();\n        document.getElementById('po-pdf').onclick = () => generatePDF(data.title, data.poem);\n        const newBtn = document.getElementById('po-new');\n        if (newBtn) newBtn.onclick = () => { state.step = 0; state.answers = []; state.author = ''; state.generated = null; render(); };\n    }\n\n    function generatePDF(title, poem) {\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 = 25;\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, 18, pageWidth - margin, 18);\n\n        y = 35;\n        doc.setFont('helvetica', 'bold'); doc.setFontSize(16); doc.setTextColor(201, 165, 78);\n        doc.text('PO\u00c8ME', pageWidth \/ 2, y, { align: 'center' });\n\n        y += 14;\n        doc.setFontSize(14); doc.setTextColor(60, 60, 60);\n        const titleLines = doc.splitTextToSize(title, pageWidth - margin * 2);\n        titleLines.forEach(line => { doc.text(line, pageWidth \/ 2, y, { align: 'center' }); y += 8; });\n\n        y += 10;\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(0.5); doc.line(margin + 50, y, pageWidth - margin - 50, y);\n\n        y += 15;\n        doc.setFont('helvetica', 'italic'); doc.setFontSize(12); doc.setTextColor(50, 50, 50);\n        const lines = poem.split('\\n');\n        lines.forEach(line => {\n            if (y > pageHeight - 30) { doc.addPage(); doc.setFillColor(250, 250, 248); doc.rect(0, 0, pageWidth, pageHeight, 'F'); y = margin; }\n            doc.text(line.trim(), pageWidth \/ 2, y, { align: 'center' });\n            y += 8;\n        });\n\n        const footerY = pageHeight - 15;\n        doc.setDrawColor(201, 165, 78); doc.setLineWidth(0.3); doc.line(margin, footerY - 5, pageWidth - margin, footerY - 5);\n        doc.setFont('helvetica', 'normal'); doc.setFontSize(9); doc.setTextColor(150, 150, 150);\n        doc.text('G\u00e9n\u00e9r\u00e9 par Po\u00e9sie Parfait \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('Poeme_' + title.replace(\/[^a-zA-Z0-9]\/g, '_').substring(0, 25) + '.pdf');\n    }\n\n    render();\n})();\n<\/script>\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7771512 e-con-full e-flex e-con e-child\" data-id=\"7771512\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>[slider-universel theme=\u00a0\u00bbpoesie\u00a0\u00bb]<\/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-1741","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/comments?post=1741"}],"version-history":[{"count":23,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1741\/revisions"}],"predecessor-version":[{"id":2815,"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/pages\/1741\/revisions\/2815"}],"wp:attachment":[{"href":"https:\/\/crehistor.com\/en\/wp-json\/wp\/v2\/media?parent=1741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}