{"id":1040,"date":"2025-06-13T06:00:15","date_gmt":"2025-06-13T06:00:15","guid":{"rendered":"https:\/\/crehistor.com\/?page_id=1040"},"modified":"2025-07-09T15:38:13","modified_gmt":"2025-07-09T15:38:13","slug":"humour-parfait","status":"publish","type":"page","link":"https:\/\/crehistor.com\/de\/humour-parfait\/","title":{"rendered":"Humour-parfait"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"1040\" class=\"elementor elementor-1040\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cec2ef e-flex e-con-boxed e-con e-parent\" data-id=\"1cec2ef\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-95ea7cf e-con-full e-flex e-con e-child\" data-id=\"95ea7cf\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-364ae0f e-con-full e-flex e-con e-child\" data-id=\"364ae0f\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bf53b30 e-con-full e-flex e-con e-child\" data-id=\"bf53b30\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48f3220 elementor-widget elementor-widget-shortcode\" data-id=\"48f3220\" 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#hp-root {\n    max-width: 540px;\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#hp-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.hp-box { text-align: center; animation: hpFadeIn 0.5s var(--transition-smooth); }\n@keyframes hpFadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }\n\n.hp-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.hp-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.hp-langbar { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }\n.hp-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.hp-lang-btn:hover { border-color: var(--forge-gold); color: var(--forge-gold); }\n.hp-lang-btn.active { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); font-weight: 600; }\n\n.hp-slider { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 24px; }\n.hp-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.hp-slider-arrow:hover { background: var(--forge-gold); color: var(--forge-obsidian); border-color: var(--forge-gold); }\n.hp-slider-img { width: 200px; height: 130px; border-radius: 2px; overflow: hidden; border: 1px solid var(--forge-steel); }\n.hp-slider-img img { width: 100%; height: 100%; object-fit: cover; filter: sepia(15%) saturate(0.85); transition: opacity 0.3s; }\n\n.hp-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.hp-question { font-family: var(--font-display); font-size: 1.15em; font-weight: 600; color: var(--forge-white); margin-bottom: 20px; text-shadow: var(--text-shadow); }\n\n.hp-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.hp-input::placeholder { color: var(--forge-silver); font-style: italic; }\n.hp-input:focus { outline: none; border-color: var(--forge-gold); box-shadow: 0 0 0 3px rgba(201,165,78,0.15); }\n\n.hp-suggestions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 24px; }\n.hp-sug { padding: 10px 18px; border: 1px solid var(--forge-steel); background: transparent; border-radius: 2px; color: var(--forge-white); font-family: var(--font-body); font-size: 1.05em; font-weight: 500; cursor: pointer; transition: all 0.25s var(--transition-smooth); text-shadow: var(--text-shadow); }\n.hp-sug:hover { background: var(--forge-gold); border-color: var(--forge-gold); color: var(--forge-obsidian); transform: translateY(-1px); }\n\n.hp-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.hp-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow); filter: brightness(1.1); }\n.hp-btn-secondary { background: transparent; color: var(--forge-gold); border: 1px solid var(--forge-gold); padding: 12px 24px; font-weight: 600; }\n.hp-btn-secondary:hover { background: var(--forge-gold); color: var(--forge-obsidian); }\n.hp-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.hp-btn-link:hover { color: var(--forge-gold-light); }\n\n.hp-loading { padding: 40px 0; }\n.hp-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.hp-spinner { width: 40px; height: 40px; margin: 0 auto; border: 2px solid var(--forge-steel); border-top-color: var(--forge-gold); border-radius: 50%; animation: hpSpin 1s linear infinite; }\n@keyframes hpSpin { to { transform: rotate(360deg); } }\n\n.hp-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.hp-story { background: var(--forge-graphite); border-left: 3px solid var(--forge-gold); padding: 24px; border-radius: 0 2px 2px 0; text-align: left; font-size: 1.1em; font-weight: 500; line-height: 1.8; color: var(--forge-white); white-space: pre-wrap; margin-bottom: 24px; text-shadow: var(--text-shadow); }\n.hp-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 20px; }\n\n.hp-btn-login, .hp-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.hp-btn-login:hover, .hp-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.hp-error { color: #d4873f; font-size: 0.95em; margin-top: 8px; text-shadow: var(--text-shadow); }\n\n@media (max-width: 600px) { #hp-root { margin: 24px 16px; padding: 28px 20px; } .hp-slider-img { width: 150px; height: 100px; } .hp-actions { flex-direction: column; } .hp-btn { width: 100%; } }\n<\/style>\n\n<div id=\"hp-root\"><div class=\"hp-box\" id=\"hp-content\"><\/div><\/div>\n\n<script>\n(function() {\n    const config = {\n        types: {\"humour_absurde\":{\"label\":{\"fr\":\"Humour absurde\",\"en\":\"Absurd humour\",\"es\":\"Humor absurdo\",\"it\":\"Umorismo assurdo\",\"de\":\"Absurder Humor\"},\"questions\":{\"fr\":[\"Pr\u00e9nom du h\u00e9ros ou de l'h\u00e9ro\u00efne\",\"Son objet f\u00e9tiche (ridicule)\",\"Un lieu improbable pour commencer\",\"Son plus grand d\u00e9faut\",\"Meilleur(e) ami(e) (pr\u00e9nom + particularit\u00e9)\",\"Un animal inattendu rencontr\u00e9\",\"Un bruit \u00e9trange entendu\",\"La chose la plus g\u00eanante qui arrive\",\"Une mauvaise blague tent\u00e9e\",\"Un aliment qui joue un r\u00f4le crucial\",\"Une invention farfelue qui appara\u00eet\",\"Qui sauve la situation\",\"La chute absurde finale\"],\"en\":[\"Hero(ine)'s first name\",\"Their ridiculous favorite object\",\"An unlikely place to start\",\"Their biggest flaw\",\"Best friend (name + quirk)\",\"An unexpected animal met\",\"A strange sound heard\",\"The most embarrassing thing that happens\",\"A bad joke attempted\",\"A food that plays a key role\",\"A wacky invention that appears\",\"Who saves the day\",\"The absurd final twist\"],\"es\":[\"Nombre del h\u00e9roe\\\/hero\u00edna\",\"Su objeto favorito (rid\u00edculo)\",\"Un lugar improbable para empezar\",\"Su mayor defecto\",\"Mejor amigo\\\/a (nombre + peculiaridad)\",\"Un animal inesperado encontrado\",\"Un ruido extra\u00f1o escuchado\",\"Lo m\u00e1s vergonzoso que sucede\",\"Una broma mala intentada\",\"Un alimento con papel crucial\",\"Un invento disparatado que aparece\",\"Qui\u00e9n salva la situaci\u00f3n\",\"El final absurdo\"],\"it\":[\"Nome dell'eroe\\\/eroina\",\"Il suo oggetto preferito (ridicolo)\",\"Un luogo improbabile per iniziare\",\"Il suo peggior difetto\",\"Migliore amico\\\/a (nome + particolarit\u00e0)\",\"Un animale inaspettato incontrato\",\"Un rumore strano sentito\",\"La cosa pi\u00f9 imbarazzante che accade\",\"Una pessima battuta tentata\",\"Un alimento con ruolo cruciale\",\"Un'invenzione strampalata che appare\",\"Chi salva la situazione\",\"Il finale assurdo\"],\"de\":[\"Vorname des Helden\\\/der Heldin\",\"Sein\\\/ihr l\u00e4cherlicher Lieblingsgegenstand\",\"Ein unwahrscheinlicher Ort zum Starten\",\"Sein\\\/ihr gr\u00f6\u00dfter Fehler\",\"Bester Freund\\\/in (Name + Besonderheit)\",\"Ein unerwartetes Tier getroffen\",\"Ein seltsames Ger\u00e4usch geh\u00f6rt\",\"Das peinlichste was passiert\",\"Ein schlechter Witz versucht\",\"Ein Lebensmittel mit wichtiger Rolle\",\"Eine verr\u00fcckte Erfindung erscheint\",\"Wer rettet die Situation\",\"Der absurde Schluss\"]}}},\n        ui: {\"main_title\":{\"fr\":\"Histoires Humoristiques\",\"en\":\"Humorous Tales\",\"es\":\"Relatos Humor\u00edsticos\",\"it\":\"Racconti Umoristici\",\"de\":\"Humorvolle Geschichten\"},\"subtitle\":{\"fr\":\"Cr\u00e9e ton histoire dr\u00f4le et absurde\",\"en\":\"Create your funny absurd story\",\"es\":\"Crea tu historia divertida y absurda\",\"it\":\"Crea la tua storia divertente\",\"de\":\"Erstelle deine lustige Geschichte\"},\"intro\":{\"fr\":\"R\u00e9ponds aux questions ou choisis tout au hasard.\",\"en\":\"Answer questions or fill randomly.\",\"es\":\"Responde o elige al azar.\",\"de\":\"Beantworte oder w\u00e4hle zuf\u00e4llig.\",\"it\":\"Rispondi o scegli a caso.\"},\"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\":\"Mot al\u00e9atoire\",\"en\":\"Random word\",\"es\":\"Palabra aleatoria\",\"it\":\"Parola casuale\",\"de\":\"Zufallswort\"},\"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\":\"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\"},\"new\":{\"fr\":\"Nouvelle histoire\",\"en\":\"New story\",\"es\":\"Nueva historia\",\"de\":\"Neue Geschichte\",\"it\":\"Nuova storia\"},\"generating\":{\"fr\":\"Cr\u00e9ation de ton histoire\u2026\",\"en\":\"Creating your story\u2026\",\"es\":\"Creando tu historia\u2026\",\"de\":\"Geschichte wird erstellt\u2026\",\"it\":\"Creazione della storia\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 histoires.\",\"en\":\"Log in to create your stories.\",\"es\":\"Inicia sesi\u00f3n para crear tus historias.\",\"de\":\"Melde dich an f\u00fcr deine Geschichten.\",\"it\":\"Accedi per creare le tue storie.\"},\"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        suggestions: {\"fr\":[[\"Alice\",\"Bob\",\"C\u00e9leste\",\"Marcel\"],[\"montre cass\u00e9e\",\"chapeau \u00e0 h\u00e9lice\",\"brosse \u00e0 dents g\u00e9ante\"],[\"sur la Lune\",\"dans un ascenseur bloqu\u00e9\",\"\u00e0 la boulangerie \u00e0 3h du matin\"],[\"gourmand extr\u00eame\",\"paresseux chronique\",\"t\u00eatu comme une mule\"],[\"Julien le danseur\",\"Marie la bavarde\",\"Lucas le r\u00eaveur\"],[\"un kangourou en costume\",\"un dragon miniature\",\"un pingouin philosophe\"],[\"un klaxon de v\u00e9lo\",\"un rire diabolique\",\"un cri de ch\u00e8vre\"],[\"perdre son pantalon\",\"\u00eatre d\u00e9guis\u00e9 en banane\",\"tomber dans un g\u00e2teau\"],[\"blague de papa nulle\",\"jeu de mots catastrophique\",\"farce qui rate\"],[\"chocolat fondu\",\"fromage qui pue\",\"pizza volante\"],[\"machine \u00e0 remonter le temps cass\u00e9e\",\"t\u00e9l\u00e9porteur d\u00e9fectueux\",\"robot qui danse\"],[\"une f\u00e9e distraite\",\"un pompier maladroit\",\"un robot philosophe\"],[\"tout le monde danse\",\"le h\u00e9ros se transforme en l\u00e9gume\",\"c'\u00e9tait un r\u00eave de hamster\"]],\"en\":[[\"Alice\",\"Bob\",\"Charlie\",\"Marcel\"],[\"broken watch\",\"propeller hat\",\"giant toothbrush\"],[\"on the Moon\",\"in a stuck elevator\",\"at the bakery at 3am\"],[\"extreme foodie\",\"chronic laziness\",\"stubborn as a mule\"],[\"Julian the dancer\",\"Mary the talker\",\"Luke the dreamer\"],[\"a kangaroo in a suit\",\"a tiny dragon\",\"a philosopher penguin\"],[\"a bike honk\",\"an evil laugh\",\"a goat scream\"],[\"losing pants\",\"dressed as a banana\",\"falling into cake\"],[\"terrible dad joke\",\"catastrophic pun\",\"failed prank\"],[\"melted chocolate\",\"stinky cheese\",\"flying pizza\"],[\"broken time machine\",\"faulty teleporter\",\"dancing robot\"],[\"distracted fairy\",\"clumsy firefighter\",\"philosopher robot\"],[\"everyone dances\",\"hero becomes a vegetable\",\"it was a hamster dream\"]],\"es\":[[\"Alicia\",\"Roberto\",\"Carlos\",\"Marcelo\"],[\"reloj roto\",\"sombrero con h\u00e9lice\",\"cepillo gigante\"],[\"en la Luna\",\"en un ascensor atascado\",\"en la panader\u00eda a las 3am\"],[\"glot\u00f3n extremo\",\"pereza cr\u00f3nica\",\"testarudo como una mula\"],[\"Julio el bailar\u00edn\",\"Mar\u00eda la parlanchina\",\"Lucas el so\u00f1ador\"],[\"un canguro en traje\",\"un drag\u00f3n miniatura\",\"un ping\u00fcino fil\u00f3sofo\"],[\"un claxon de bici\",\"una risa diab\u00f3lica\",\"un grito de cabra\"],[\"perder los pantalones\",\"disfrazado de pl\u00e1tano\",\"caer en un pastel\"],[\"broma de padre mala\",\"juego de palabras catastr\u00f3fico\",\"broma fallida\"],[\"chocolate derretido\",\"queso apestoso\",\"pizza voladora\"],[\"m\u00e1quina del tiempo rota\",\"teletransportador defectuoso\",\"robot bailar\u00edn\"],[\"hada distra\u00edda\",\"bombero torpe\",\"robot fil\u00f3sofo\"],[\"todos bailan\",\"h\u00e9roe se convierte en vegetal\",\"era un sue\u00f1o de h\u00e1mster\"]],\"it\":[[\"Alice\",\"Roberto\",\"Carlo\",\"Marcello\"],[\"orologio rotto\",\"cappello con elica\",\"spazzolino gigante\"],[\"sulla Luna\",\"in un ascensore bloccato\",\"in panetteria alle 3 di notte\"],[\"golosone estremo\",\"pigrizia cronica\",\"testardo come un mulo\"],[\"Giulio il ballerino\",\"Maria la chiacchierona\",\"Luca il sognatore\"],[\"un canguro in abito\",\"un drago in miniatura\",\"un pinguino filosofo\"],[\"un clacson di bici\",\"una risata diabolica\",\"un urlo di capra\"],[\"perdere i pantaloni\",\"vestito da banana\",\"cadere in una torta\"],[\"barzelletta da pap\u00e0 terribile\",\"gioco di parole catastrofico\",\"scherzo fallito\"],[\"cioccolato fuso\",\"formaggio puzzolente\",\"pizza volante\"],[\"macchina del tempo rotta\",\"teletrasportatore difettoso\",\"robot danzante\"],[\"fata distratta\",\"pompiere maldestro\",\"robot filosofo\"],[\"tutti ballano\",\"eroe diventa verdura\",\"era un sogno di criceto\"]],\"de\":[[\"Alice\",\"Bob\",\"Charlie\",\"Marcel\"],[\"kaputte Uhr\",\"Propellerhut\",\"Riesenzahnb\u00fcrste\"],[\"auf dem Mond\",\"im steckengebliebenen Aufzug\",\"in der B\u00e4ckerei um 3 Uhr\"],[\"extremer Vielfra\u00df\",\"chronische Faulheit\",\"stur wie ein Esel\"],[\"Julian der T\u00e4nzer\",\"Marie die Plaudertasche\",\"Lukas der Tr\u00e4umer\"],[\"ein K\u00e4nguru im Anzug\",\"ein Minidrache\",\"ein Philosophiepinguin\"],[\"eine Fahrradhupe\",\"ein teuflisches Lachen\",\"ein Ziegenschrei\"],[\"Hose verlieren\",\"als Banane verkleidet\",\"in Kuchen fallen\"],[\"schrecklicher Papa-Witz\",\"katastrophales Wortspiel\",\"gescheiterter Streich\"],[\"geschmolzene Schokolade\",\"stinkender K\u00e4se\",\"fliegende Pizza\"],[\"kaputte Zeitmaschine\",\"defekter Teleporter\",\"tanzender Roboter\"],[\"abgelenkte Fee\",\"tollpatschiger Feuerwehrmann\",\"Philosophie-Roboter\"],[\"alle tanzen\",\"Held wird zum Gem\u00fcse\",\"es war ein Hamstertraum\"]]},\n        covers: ['\/wp-content\/uploads\/2025\/cover\/humour1.jpg','\/wp-content\/uploads\/2025\/cover\/humour2.jpg','\/wp-content\/uploads\/2025\/cover\/humour3.jpg','\/wp-content\/uploads\/2025\/cover\/humour4.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('hp_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('hp_lang', lang); }\n\n    function renderLangBar() { return `<div class=\"hp-langbar\">${config.languages.map(l => `<button class=\"hp-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=\"hp-slider\"><button class=\"hp-slider-arrow\" id=\"hp-prev\">\u25c0<\/button><div class=\"hp-slider-img\"><img decoding=\"async\" src=\"${img}\"><\/div><button class=\"hp-slider-arrow\" id=\"hp-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('.hp-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('.hp-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('hp-prev'); const next = document.getElementById('hp-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 = ['Alice','Bob','Charlie','Marcel','Luna'];\n        state.author = pool[Math.floor(Math.random() * pool.length)];\n        const qs = config.types.humour_absurde.questions[state.lang] || config.types.humour_absurde.questions.fr;\n        const suggs = config.suggestions[state.lang] || config.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('hp-content');\n        const qs = config.types.humour_absurde.questions[state.lang] || config.types.humour_absurde.questions.fr;\n\n        if (!userState.loggedIn) {\n            root.innerHTML = `${renderLangBar()}${renderSlider()}<h1 class=\"hp-title\">${tr('login_welcome')}<\/h1><p class=\"hp-subtitle\">${tr('login_text')}<\/p><button class=\"hp-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=\"hp-title\">${tr('login_welcome')}<\/h1><p class=\"hp-subtitle\">${tr('credits_text')}<\/p><a href=\"\/boutique\" class=\"hp-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=\"hp-title\">${tr('main_title')}<\/h1><p class=\"hp-subtitle\">${tr('subtitle')}<\/p>\n                <div class=\"hp-question\">${tr('author_label')}<\/div>\n                <input type=\"text\" class=\"hp-input\" id=\"hp-author\" value=\"${state.author}\" placeholder=\"${tr('placeholder_author')}\" autocomplete=\"off\">\n                <div id=\"hp-author-error\" class=\"hp-error\" style=\"display:none;\"><\/div>\n                <div class=\"hp-actions\"><button class=\"hp-btn\" id=\"hp-author-next\">${tr('next')}<\/button><button class=\"hp-btn hp-btn-secondary\" id=\"hp-all-random\">${tr('all_random')}<\/button><\/div>`;\n            bindLangButtons(); startSlider(); bindSliderButtons();\n            document.getElementById('hp-author').focus();\n            document.getElementById('hp-author').oninput = e => state.author = e.target.value;\n            document.getElementById('hp-author').onkeydown = e => { if (e.key === 'Enter') document.getElementById('hp-author-next').click(); };\n            document.getElementById('hp-author-next').onclick = () => { if (!state.author.trim()) { document.getElementById('hp-author-error').textContent = tr('author_required'); document.getElementById('hp-author-error').style.display = 'block'; return; } state.step = 1; render(); };\n            document.getElementById('hp-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.suggestions[state.lang] || config.suggestions.fr)[qIndex] || [];\n\n            root.innerHTML = `${renderLangBar()}<div class=\"hp-step-info\">${tr('question')} ${state.step} \/ ${qs.length}<\/div><div class=\"hp-question\">${q}<\/div><input type=\"text\" class=\"hp-input\" id=\"hp-answer\" value=\"${state.answers[qIndex] || ''}\" autocomplete=\"off\"><div class=\"hp-suggestions\">${suggs.map(s => `<button class=\"hp-sug\">${s}<\/button>`).join('')}<\/div><div class=\"hp-actions\"><button class=\"hp-btn-link\" id=\"hp-random\">${tr('random_word')}<\/button><button class=\"hp-btn-link\" id=\"hp-all-random\">${tr('all_random')}<\/button><\/div><div class=\"hp-actions\"><button class=\"hp-btn\" id=\"hp-next\">${state.step < qs.length ? tr('next') : tr('generate')}<\/button><\/div>`;\n\n            bindLangButtons();\n            document.getElementById('hp-answer').focus();\n            document.getElementById('hp-answer').onkeydown = e => { if (e.key === 'Enter') document.getElementById('hp-next').click(); };\n            document.querySelectorAll('.hp-sug').forEach(btn => { btn.onclick = () => document.getElementById('hp-answer').value = btn.textContent; });\n            document.getElementById('hp-random').onclick = () => { const w = suggs[Math.floor(Math.random() * suggs.length)] || ''; document.getElementById('hp-answer').value = w; };\n            document.getElementById('hp-all-random').onclick = fillAllRandom;\n            document.getElementById('hp-next').onclick = () => { const val = document.getElementById('hp-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('hp-content');\n        root.innerHTML = `${renderLangBar()}<div class=\"hp-loading\"><div class=\"hp-loading-text\">${tr('generating')}<\/div><div class=\"hp-spinner\"><\/div><\/div>`;\n        bindLangButtons();\n\n        fetch(config.ajaxUrl + '?action=hp_generate', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ type: 'humour_absurde', 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', story: '\u00c9chec de la g\u00e9n\u00e9ration.' }; renderResult(); });\n    }\n\n    function renderResult() {\n        const root = document.getElementById('hp-content');\n        const data = state.generated;\n        root.innerHTML = `${renderLangBar()}<div class=\"hp-result-title\">${data.title}<\/div><div class=\"hp-story\">${(data.story || '').replace(\/\\n\/g, '<br>')}<\/div><div class=\"hp-actions\"><button class=\"hp-btn\" id=\"hp-pdf\">\ud83d\udcc4 ${tr('pdf')}<\/button><a href=\"https:\/\/wa.me\/?text=${encodeURIComponent(data.title + '\\n\\n' + data.story)}\" target=\"_blank\" class=\"hp-btn hp-btn-secondary\">\ud83d\udcf1 ${tr('whatsapp')}<\/a><\/div><div class=\"hp-actions\" style=\"margin-top:12px;\">${userState.credits > 0 ? `<button class=\"hp-btn hp-btn-secondary\" id=\"hp-new\">\ud83d\udd04 ${tr('new')}<\/button>` : `<a href=\"\/boutique\" class=\"hp-btn-credits\">${tr('credits_btn')}<\/a>`}<\/div>`;\n        bindLangButtons();\n        document.getElementById('hp-pdf').onclick = () => generatePDF(data.title, data.story);\n        const newBtn = document.getElementById('hp-new');\n        if (newBtn) newBtn.onclick = () => { state.step = 0; state.answers = []; state.author = ''; state.generated = null; render(); };\n    }\n\n    function generatePDF(title, story) {\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('HISTOIRE HUMORISTIQUE', pageWidth \/ 2, y, { align: 'center' });\n\n        y += 12;\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 += 7; });\n\n        y += 8;\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(story, 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 Humour 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('Histoire_Humour_' + 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-cc11661 e-con-full e-flex e-con e-child\" data-id=\"cc11661\" 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":"","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-1040","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/1040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/comments?post=1040"}],"version-history":[{"count":19,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/1040\/revisions"}],"predecessor-version":[{"id":2809,"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/pages\/1040\/revisions\/2809"}],"wp:attachment":[{"href":"https:\/\/crehistor.com\/de\/wp-json\/wp\/v2\/media?parent=1040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}