API : Générateur aléatoire de jurons façon Cpt. Haddock - JSON, XML et texte clair


Debug : de bachi-bouzouk|k||

Debug : |||

Debug : début de la phrase ou premier nombre ('Mille') : Entêté | pluriel éventuel du début de la phrase : | nom ou deuxième nombre (si on avait 'Mille') : de bachi-bouzouk | pluriel éventuel du nom : | complément éventuel ou troisième nombre éventuel : | pluriel éventuel du compément : | éventuel 'tonnerre de Brest', qui peut être ou pas mis au pluriel si le complément est un nombre : de tonnerre de Brest | ponctuation aléatoire : !!


Entêté de bachi-bouzouk de tonnerre de Brest !!


Documentation

Parsage

N'afficher QUE le résultat clair (sans titre ni documentation ni html) : haddock.php?method=clair

N'afficher QUE le résultat JSON (sans titre ni documentation ni html) : haddock.php?method=json

N'afficher QUE le résultat XML (sans titre ni documentation mais affiche un DOCTYPE) : haddock.php?method=xml

Récupérer le résultat (qu'il soit en clair ou en json) directement : ce sera le seul contenu de la page.

Fonctionnement (description générale non exhaustive)

Étape 1 : aléatoirement, 50% de chance que la phrase soit au pluriel.

Étape 2 : sélection d'un mot pour commencer la phrase (probabilités conditionnelles : exemple : 30% de chances d'avoir "Espèce" sachant qu'on n'a pas "Mille" (20%) = (1-20%)*30% = 0.8*0.3 = 0.24 = 24%) : 20% "Mille" // 24% "Espèce" // 20% "Bougre" // 5,5% "Sapristi" // 6,2% "Extrait" // 10% "Sale" // 15% "Entêté". Note : ces pourcentages ne reflètent pas les statistiques réelles des jurons du personnage. Si "Mille" est sélectionné, l'étape 3 sélectionnera un nombre, sinon, un nom d'objet sera pris.

Étape 3 : sélection aléatoire d'un nom d'objet/expression/juron parmi une liste établie en fonction de ce qui a été prononcé par le personnage (source : Wikipédia), avec arbitrairement plus ou moins de probabilité (variant de 1/232 à 6/232) en fonction du nombre de fois où le personnage les prononce dans les bandes dessinées, à l'exception du mot "orchidoclaste" volontairement ajouté à la liste (car ça sonne bien !). Il y a 10% de chance d'ajouter "de crème" avant le nom. Si le premier mot était "Mille", alors cette sélection change : on ne prendra pas un nom, mais un nombre : dans ce cas précis : 50% "millions de mille sabords" // 20% "milliards de mille sabords" // 30% "milliards de millions de mille sabords" (soit respectivement en probabilités conditionnelles TOTALES : 10% // 2% // 2,4%). Enfin, si le premier mot était "Sale", on va supprimer le "de"/"d'" afin d'éviter d'avoir "Sale d'oryctérope[...]", mais bien "Sale oryctérope[...]" par exemple.

Étape 4 : indépendament du premier mot, on a 70% d'avoir un deuxième nom : "Sale oryctérope d'aérolithe[...]" ou dans le cas de "Mille" : "Mille millions de milles sabords d'aérolithes[...]".

Étape 5 : 25% de chance d'avoir un sur-complément (= d'avoir "tonnerre(s) de Brest") et parmi ça, 47.5% de chance que "tonnerre(s)" ait une description (càd. "[...]de milliers tonnerres de Brest" ou même "[...]de zouave de tonnerre de Brest"), en prob. cond. sachant ces 25%, on a donc : 52,5% de chance de ne pas avoir un ajout juste avant "de tonnerre(s)", avec 16% "de milliers de tonnerres" // 2% "de millions de tonnerres" // 1% "de milliards de tonnerres" // 4% "de zouave de tonnerre".

Étape 6 : génération de la ponctuation : 25% "!" // 19% "!!" // 14% "!!!!" // 42% "!!!"

Étape 7 : si le pluriel a été activé dans l'étape 1, on "calcule" le fait de mettre un pluriel ou non : si un mot de la phrase se termine déjà par un "s" même au singulier (ex. un diplodocus, des diplodocus) (car la base de données comprend tout au singulier), on fait en sorte de ne pas rajouter de s supplémentaire, de même, si le troisème mot n'existe pas, on ne mettra pas de "s" dans le vide.

Étape 8 : affichage : on assemble bêtement les variables comme ceci : $a.$pluriel_a.$b.$pluriel_b.$c.$pluriel_c.$d.$e, forcément, grâce à l'étape 7, si $c=null, alors $pluriel_c=null dans tous les cas.