{"id":4376,"date":"2025-06-27T10:03:39","date_gmt":"2025-06-27T15:03:39","guid":{"rendered":"https:\/\/itishoemath.com\/?p=4376"},"modified":"2025-10-17T10:18:47","modified_gmt":"2025-10-17T15:18:47","slug":"votre-cerveau-est-utilise-contre-vous-psyops","status":"publish","type":"post","link":"https:\/\/itishoemath.com\/fr\/votre-cerveau-est-utilise-contre-vous-psyops\/","title":{"rendered":"PSYOPS [Comment votre cerveau est utilis\u00e9 contre vous]"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"4376\" class=\"elementor elementor-4376\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dd7a3 e-flex e-con-boxed e-con e-parent\" data-id=\"97dd7a3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce1c704 elementor-widget elementor-widget-html\" data-id=\"ce1c704\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4><strong>La manipulation des m\u00e9dias d\u00e9voil\u00e9e<\/strong><\/h4>\n<br>\n<span>h<\/span>oe_math fait tomber le masque des m\u00e9dias et des plateformes num\u00e9riques qui d\u00e9tournent votre cerveau. Avec un pro dans le jeu, il d\u00e9compose les v\u00e9ritables tactiques psychologiques - manipulation \u00e9motionnelle, d\u00e9clencheurs subconscients, style culte, etc.<!--preview--> le lavage de cerveau, qui fa\u00e7onne ce que vous croyez sans m\u00eame que vous vous en rendiez compte. Les nouvelles distrayantes, les chefs de culte, les messages sur les pand\u00e9mies - tout est con\u00e7u. La plupart des gens ne se rendent m\u00eame pas compte qu'ils sont attaqu\u00e9s. C'est de la guerre psychologique. R\u00e9veillez-vous. Remettez tout en question. Ne soyez pas un pion.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8858505 elementor-widget elementor-widget-html\" data-id=\"8858505\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p> <\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4860eef elementor-widget elementor-widget-html\" data-id=\"4860eef\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CSV for video links and summaries -->\n\n<!-- Header: Not Translated -->\n<script id=\"video-data-header\" type=\"text\/plain\">\ntime|stop|tab|title|description\n<\/script>\n\n<div id=\"tp-translatable-strings2\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<pre id=\"video-data-rows\">\n0 | 84 | Croyances | Comment les m\u00e9dias fa\u00e7onnent les croyances | L'\u00e9pisode commence par expliquer comment les m\u00e9dias et les \u00e9crans cr\u00e9ent des associations subconscientes qui modifient les croyances des gens sans qu'ils en soient conscients. L'animateur montre comment ce processus est similaire au lavage de cerveau, utilis\u00e9 des milliards de fois par jour pour fa\u00e7onner l'opinion publique et d\u00e9tourner l'attention de la r\u00e9alit\u00e9.\n84 | 216 | Op\u00e9rations psychologiques | Op\u00e9rations psychologiques et distraction | Un expert d\u00e9crit le fonctionnement des op\u00e9rations psychologiques (SCOPS), avec des exemples r\u00e9els comme l'incident du drone dans le New Jersey qui aurait d\u00e9tourn\u00e9 l'attention de l'actualit\u00e9 politique. Ils discutent de la mani\u00e8re dont la couverture m\u00e9diatique coordonn\u00e9e manipule l'attention collective et dissimule les \u00e9v\u00e9nements importants.\n216 | 507 | Manipulation | Lire et manipuler les gens | L'expert partage son exp\u00e9rience en mati\u00e8re d'application de la loi, de s\u00e9curit\u00e9 et de formation avec le FBI, d\u00e9taillant les techniques de lecture du langage corporel et identifiant les traits de caract\u00e8re qui rendent les gens susceptibles d'\u00eatre manipul\u00e9s, contraints et soumis \u00e0 un lavage de cerveau.\n507 | 629 | Narratives | Narratives versus facts | La discussion porte sur la fa\u00e7on dont le contr\u00f4le d'une narration ne consiste pas seulement \u00e0 raconter des mensonges, mais aussi \u00e0 s\u00e9lectionner les faits et les histoires \u00e0 mettre en \u00e9vidence ou \u00e0 omettre. Cela permet de fa\u00e7onner l'opinion publique en faisant passer certains points de vue pour normaux ou urgents, tandis que d'autres sont rejet\u00e9s ou ignor\u00e9s.\n629 | 855 | Cerveau | Structure du cerveau et attirance | Les animateurs expliquent comment la structure du cerveau - en particulier le n\u00e9ocortex, le syst\u00e8me limbique et le syst\u00e8me reptilien - influe sur la fa\u00e7on dont nous formons des attachements et des pr\u00e9f\u00e9rences. Ces m\u00eames processus neurologiques qui influencent l'attirance romantique sont exploit\u00e9s par les sp\u00e9cialistes du marketing et de la propagande.\n855 | 1200 | Attachement | Attachement, ocytocine et illusion | Les hormones d'attachement comme l'ocytocine jouent un r\u00f4le dans les relations et la manipulation, avec une discussion d\u00e9taill\u00e9e sur la fa\u00e7on dont cela conduit \u00e0 des situations et pourquoi certaines personnes s'attachent \u00e0 des id\u00e9es, \u00e0 des r\u00e9cits ou \u00e0 des leaders m\u00eame lorsque cela leur fait du tort.\n1200 | 1367 | Lavage de cerveau par les sectes | Pens\u00e9e magique et lavage de cerveau par les sectes | Les animateurs d\u00e9crivent la pens\u00e9e magique - croire que des \u00e9v\u00e9nements al\u00e9atoires ont une signification particuli\u00e8re - et la relient aux tactiques des sectes, montrant comment des personnes vuln\u00e9rables peuvent \u00eatre amen\u00e9es \u00e0 accepter des croyances extr\u00eames par le biais de la manipulation \u00e9motionnelle et des rituels.\n1367 | 1558 | Victimes | Reconna\u00eetre les victimes et les agresseurs | Ils enseignent comment identifier les personnes qui ont subi un lavage de cerveau ou qui ont \u00e9t\u00e9 manipul\u00e9es par leur langage corporel et leurs comportements d\u00e9fensifs, et comment les chefs de secte cr\u00e9ent des mentalit\u00e9s et des rituels de type \"nous contre eux\" pour maintenir le contr\u00f4le sur les adeptes.\n1558 | 1701 | Pand\u00e9mie | Pand\u00e9mie, rituel et contr\u00f4le social | L'\u00e9pisode \u00e9tablit des parall\u00e8les entre les rituels des sectes et les mesures de lutte contre la pand\u00e9mie, en soutenant que de nombreux comportements de distanciation sociale et de port de masques sont devenus des rituels pour renforcer la coh\u00e9sion du groupe, l'ob\u00e9issance et la dynamique du \"nous contre eux\".\n1701 | 1797 | L'agr\u00e9abilit\u00e9 | La facilit\u00e9 de diriger et l'agr\u00e9abilit\u00e9 | La recherche sur les traits de personnalit\u00e9 est discut\u00e9e, soulignant qu'environ 35-40% des personnes sont tr\u00e8s agr\u00e9ables et donc plus facilement dirig\u00e9es. Les femmes sont statistiquement plus agr\u00e9ables, ce qui les rend plus sensibles \u00e0 la manipulation sociale et psychologique.\n1797 | 2017 | Hypnose | Hypnose, m\u00e9thode PCP et suggestion | L'expert explique comment les gens peuvent \u00eatre hypnotis\u00e9s ou persuad\u00e9s d'agir contre leurs croyances dans certaines circonstances, en utilisant la m\u00e9thode PCP (perception, contexte, permission). Il passe en revue des exemples concrets et des exp\u00e9riences psychologiques d\u00e9montrant la conformit\u00e9.\n2017 | 2092 | Besoins | Six besoins humains fondamentaux | L'\u00e9pisode pr\u00e9sente six besoins humains fondamentaux (importance, approbation, acceptation, intelligence, pouvoir et sympathie) que les manipulateurs exploitent pour influencer les croyances et les actions, en particulier en p\u00e9riode de crise ou d'incertitude.\n2092 | 2654 | Milgram | Lavage de cerveau et exp\u00e9rience de Milgram | Ils passent en revue la c\u00e9l\u00e8bre exp\u00e9rience de Milgram, qui montre comment l'autorit\u00e9 et le contexte peuvent pousser des personnes ordinaires \u00e0 commettre des actes pr\u00e9judiciables. Seuls trois des six facteurs cl\u00e9s de conformit\u00e9 sont n\u00e9cessaires pour que la plupart des gens ob\u00e9issent \u00e0 des ordres extr\u00eames.\n2654 | 2888 | Stockholm | Syndrome de Stockholm et manipulation extr\u00eame | Des cas comme celui de Patty Hearst et des prisonniers de guerre illustrent comment la privation, la peur et la r\u00e9p\u00e9tition peuvent compl\u00e8tement reconnecter les croyances d'une personne par le fractionnement et le traumatisme, conduisant \u00e0 une conformit\u00e9 totale et m\u00eame \u00e0 une d\u00e9votion \u00e0 l'\u00e9gard de leurs ravisseurs.\n2888 | 3490 | GovOps | Recognizing Government Psychological Operations | Ils expliquent comment les gouvernements utilisent la distraction, la normalisation, l'escalade et le rituel pour fa\u00e7onner l'opinion publique, en citant des exemples tels que les histoires du ballon m\u00e9t\u00e9orologique chinois et du drone du New Jersey. Les m\u00eames processus que ceux utilis\u00e9s dans les sectes sont appliqu\u00e9s \u00e0 une \u00e9chelle de masse via les m\u00e9dias.\n3490 | 3788 | \u00c9v\u00e9nements | Guide \u00e9tape par \u00e9tape des \u00e9v\u00e9nements fabriqu\u00e9s | Une analyse d\u00e9taill\u00e9e du d\u00e9roulement des \u00e9v\u00e9nements fabriqu\u00e9s : d\u00e9placer la fen\u00eatre d'Overton, normaliser les nouvelles id\u00e9es, cr\u00e9er des tensions, intensifier les rapports, organiser un blitz m\u00e9diatique, concevoir un \u00e9v\u00e9nement mondial, cr\u00e9er le chaos, puis pr\u00e9senter une solution pr\u00e9\u00e9tablie au public.\n3788 | 4049 | Pouvoir | Maintien du pouvoir et de la d\u00e9pendance du public | Les animateurs concluent que l'objectif de ces op\u00e9rations est d'accro\u00eetre la confiance du public et sa d\u00e9pendance \u00e0 l'\u00e9gard des autorit\u00e9s, en amenant les gens \u00e0 accepter des restrictions et \u00e0 renoncer \u00e0 leurs libert\u00e9s sans poser de questions. Ils invitent les t\u00e9l\u00e9spectateurs \u00e0 reconna\u00eetre ces sch\u00e9mas et \u00e0 toujours se demander si les solutions renforcent le contr\u00f4le du gouvernement ou r\u00e9duisent les libert\u00e9s individuelles.\n<\/pre>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9265a2c elementor-widget elementor-widget-html\" data-id=\"9265a2c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 2.1. MOD Image CSV -->\n<!-- 1st image, update this\n     ImageID_3 image data locations and text -->\n<div id=\"tp-translatable-strings3\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<!-- CSV for image1  style=\"display:none;\" -->\n<pre id=\"hotspot-data-image1\">\n<span class=\"notranslate\">ordre|x_px|y_px|Gauche_droite_sup\u00e9rieur_inf\u00e9rieur|texte\n1|5|248|R|<span class=\"translate\">Les femmes conduisent litt\u00e9ralement la race humaine vers l'extinction \u00e0 l'heure actuelle<\/span>\n2|10|391|R|<span class=\"translate\">Les femmes conduisent la race humaine vers l'extinction parce qu'elles en ont assez des hommes et de la soci\u00e9t\u00e9 qu'ils ont b\u00e2tie.<\/span>\n3|18|592|R|<span class=\"translate\">PSYOPS<\/span>\n4|488|385|B|<span class=\"translate\">les femmes devraient \u00eatre pay\u00e9es pour exister<\/span>\n5|476|89|R|<span class=\"translate\">Leur esprit est HIJACK\u00c9 !<\/span>\n6|740|36|R|<span class=\"translate\">N\u00e9ocortex<\/span>\n7|1134|154|R|<span class=\"translate\">Limbique<\/span>\n8|834|401|R|<span class=\"translate\">Priv\u00e9<\/span>\n9|867|673|R|<span class=\"translate\">Public<\/span>\n10|843|561|B|<span class=\"translate\">Perception<\/span>\n11|936|510|R|<span class=\"translate\">Autorisation<\/span>\n<\/span>\n<\/pre>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1417dae elementor-widget elementor-widget-html\" data-id=\"1417dae\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 1. MOD Image Links -->\n<!-- ImageID_5 image urls -->\n\n<script>\n  const imageMap = {\n    image1: \"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"\n  };\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d08897e elementor-widget elementor-widget-html\" data-id=\"d08897e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"tp-translatable-strings5\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<span id=\"hiddenText\">\n0.0 L'internet rend tout le monde fou, une t\u00eate parlante \u00e0 la fois. Et ce n'est pas nouveau - nous disions la m\u00eame chose de la t\u00e9l\u00e9vision \u00e0 l'\u00e9poque. Voici comment cela fonctionne : vous voyez quelque chose, vous ressentez quelque chose et vous faites une association - comme \"homme mauvais\" - avant m\u00eame de pouvoir d\u00e9cider ce que vous croyez. Vous passez ensuite \u00e0 la chose suivante, mais cette association reste dans votre cerveau, pr\u00eate \u00e0 \u00eatre utilis\u00e9e plus tard.\n11.0 C'est ainsi que vos croyances sont modifi\u00e9es par quelqu'un d'autre, sans que vous vous en rendiez compte. Ce n'est pas un accident - c'est en fait la formule du lavage de cerveau, et elle est utilis\u00e9e sur des milliards de personnes chaque jour. Avez-vous d\u00e9j\u00e0 cru quelque chose simplement parce que vous l'avez vu sur un \u00e9cran ? Vous \u00eates-vous d\u00e9j\u00e0 laiss\u00e9 distraire par quelque chose de faux alors qu'il se passait quelque chose de vrai ? Si vous pensez que ce n'est pas le cas, cela signifie simplement que vous n'\u00eates pas au courant. Cela arrive \u00e0 tout le monde, tous les jours.\n59.0 Les parties inf\u00e9rieure et moyenne de votre cerveau sont faciles \u00e0 manipuler ; elles r\u00e9agissent simplement. La seule fa\u00e7on de vous prot\u00e9ger est d'utiliser votre cerveau sup\u00e9rieur, et je vais vous montrer comment - j'ai m\u00eame fait un diagramme pour vous.\n71.0 En gros, vous voyez quelque chose, vous ressentez quelque chose, vous m\u00e9morisez ce sentiment pour plus tard et vous passez \u00e0 autre chose - sans jamais vraiment y penser. C'est l'explication courte. La version longue pourrait vous rafra\u00eechir la m\u00e9moire, alors restez dans les parages.\n90.0 Cette vid\u00e9o est un peu diff\u00e9rente - je parle g\u00e9n\u00e9ralement des pens\u00e9es subconscientes qui perturbent le march\u00e9 des rencontres, mais aujourd'hui il s'agit de la fa\u00e7on dont ces m\u00eames pens\u00e9es subconscientes sont utilis\u00e9es pour contr\u00f4ler tout le monde, et pas seulement les rencontres, par le biais des m\u00e9dias sociaux, de la t\u00e9l\u00e9vision et du gouvernement. C'est ce qu'on appelle les op\u00e9rations psychologiques, ou SCOPS, et elles sont aussi r\u00e9elles et courantes que les publicit\u00e9s.\n115.0 J'ai fait appel \u00e0 un expert - il travaille pour le FBI, enseigne le profilage psychologique et est un v\u00e9ritable pro pour comprendre comment les pens\u00e9es et les sentiments des gens peuvent \u00eatre manipul\u00e9s. Il a lu des documents gouvernementaux que la plupart des gens n'ont pas lus.\n135.0 Il explique comment les SCOPS sont utilis\u00e9s pour d\u00e9tourner l'attention. Par exemple, lors de l'observation des drones dans le New Jersey \u00e0 la fin de l'ann\u00e9e 2024, tout le monde \u00e9tait concentr\u00e9 sur les drones. Mais, juste \u00e0 ce moment-l\u00e0, le pr\u00e9sident Biden a graci\u00e9 son fils Hunter - une grande histoire qui a fini par \u00eatre enterr\u00e9e sous la couverture des drones. Une co\u00efncidence ? Pas vraiment. Il est prouv\u00e9 que l'histoire des drones a \u00e9t\u00e9 utilis\u00e9e comme une distraction.\nSelon l'expert 211.0 BK, les informations sont constamment utilis\u00e9es pour vous tromper, et vous devez apprendre \u00e0 les rep\u00e9rer. Il faut savoir rep\u00e9rer les grandes histoires qui ne sont d\u00e9fendues que par un seul camp. Le sponsor, Ground News, vous aide \u00e0 comparer les titres et \u00e0 voir la partialit\u00e9 de la couverture, ce qui est une fa\u00e7on de rep\u00e9rer un SCOP.\n279.0 BK a une exp\u00e9rience des op\u00e9rations bancaires et de la s\u00e9curit\u00e9. Il a \u00e9t\u00e9 form\u00e9 par le FBI pendant cinq ans, enseignant aux forces de l'ordre et aux professionnels de la s\u00e9curit\u00e9 comment lire le langage corporel, rep\u00e9rer les manipulations et comprendre quand quelqu'un peut \u00eatre un narcissique ou un psychopathe. Il affirme que les principes utilis\u00e9s dans les rencontres, comme l'attraction, sont les m\u00eames que ceux utilis\u00e9s dans les op\u00e9rations psychologiques et le lavage de cerveau.\n347.0 Le foss\u00e9 entre ce que les gens disent et ce qu'ils ressentent vraiment est l'endroit pr\u00e9cis que visent les manipulateurs. Changez les sentiments, ne vous laissez pas y penser, et vous changez ce que quelqu'un croit. C'est pourquoi il a pass\u00e9 tant de temps \u00e0 essayer de faire prendre conscience aux gens du fonctionnement de leur propre cerveau.\n385.0 Le CV de BK est long, mais l'essentiel est qu'il sait lire les gens mieux que la plupart d'entre eux et qu'il sait comment dire si quelqu'un a \u00e9t\u00e9 manipul\u00e9, s'il est dangereux ou s'il peut \u00eatre manipul\u00e9. Il enseigne comment rep\u00e9rer et m\u00eame cr\u00e9er ces situations, que les politiciens et les autorit\u00e9s utilisent en permanence.\n535.0 \"Contr\u00f4ler la narration\", ce n'est pas seulement mentir. Il s'agit d'\u00e9crire l'histoire que les gens croient, en m\u00e9langeant les faits et les omissions de mani\u00e8re \u00e0 fa\u00e7onner ce sur quoi les gens se concentrent - en omettant des d\u00e9tails ou en mettant l'accent sur d'autres. Vous devez utiliser votre cerveau pour \u00e9crire votre propre r\u00e9cit, sinon quelqu'un d'autre le fera \u00e0 votre place.\n670.0 Le cerveau fonctionne comme suit : en bas se trouve le \"cerveau reptilien\" (impulsions), puis le syst\u00e8me limbique (\u00e9motions), et enfin le n\u00e9o-cortex (cerveau pensant). Le cerveau ne pr\u00eate attention qu'\u00e0 ce que vous l'entra\u00eenez \u00e0 remarquer, comme lorsque vous achetez une nouvelle voiture et que vous voyez soudain ce mod\u00e8le partout. Il en va de m\u00eame pour les personnes qui vous attirent ou les id\u00e9es que vous absorbez. Votre subconscient d\u00e9cide de ce qui est important et ignore le reste.\n874.0 Le \"noyau accumbens\" de votre cerveau se souvient de tout ce qui vous a procur\u00e9 une pouss\u00e9e de dopamine et vous pousse \u00e0 rechercher cette sensation. En fait, tu te programmes pour voir le monde d'une certaine mani\u00e8re en fonction de ce que tu donnes \u00e0 ton esprit.\n936.0 L'attachement joue un r\u00f4le important dans la manipulation. Si quelqu'un peut vous faire sentir attach\u00e9 \u00e0 lui ou \u00e0 ses id\u00e9es, vous voudrez croire ce qu'il veut. C'est l\u00e0 qu'interviennent des substances comme l'ocytocine (l'hormone de l'attachement). Les femmes lib\u00e8rent beaucoup plus d'ocytocine que les hommes lors de certaines exp\u00e9riences, ce qui les rend plus enclines \u00e0 s'attacher. Les hommes ne s'attachent pas de la m\u00eame mani\u00e8re, ce qui est source de confusion dans les relations.\n1041.0 Le conseil : discutez de ce que vous \u00eates avant de vous attacher, et non apr\u00e8s. Souvent, les gens se lancent, s'attachent, puis essaient de d\u00e9finir la relation, ce qui conduit \u00e0 toutes sortes de rationalisations, comme le fait d'accuser l'astrologie d'\u00eatre \u00e0 l'origine des sentiments de base.\n1112.0 De la m\u00eame mani\u00e8re que les personnes \u00e9motives peuvent \u00eatre manipul\u00e9es dans les relations, toute personne \u00e0 qui l'on fait ressentir des choses peut finir par croire \u00e0 des illusions. C'est ce qu'on appelle la \"pens\u00e9e magique\", qui consiste \u00e0 attribuer une valeur surnaturelle \u00e0 des \u00e9v\u00e9nements ou \u00e0 des sentiments al\u00e9atoires. Elle est courante et facile \u00e0 d\u00e9clencher, et c'est ainsi que fonctionnent les sectes et le lavage de cerveau.\n1223.0 Les chefs de secte ciblent les personnes \u00e0 qui il manque quelque chose dans leur vie. En stimulant les nerfs et les sentiments appropri\u00e9s (comme le nerf vague, qui relie le cerveau, la poitrine et les intestins), ils transforment les sentiments en croyances. Environ un quart des personnes sont \"facilement influen\u00e7ables\", et un tiers de plus peut \u00eatre persuad\u00e9 si on lui donne suffisamment de preuves.\n1331.0 \u00c9tape par \u00e9tape, les chefs de secte (et les autorit\u00e9s manipulatrices) identifient les personnes qui ont besoin d'appartenance, d'acceptation ou de validation, puis cr\u00e9ent une mentalit\u00e9 \"nous contre eux\", organisent des rituels ou des sacrifices et isolent les membres. Ces comportements se traduisent par des gestes d'autoprotection et la peur de l'autorit\u00e9.\n1570.0 Cela ressemble \u00e0 ce qui s'est pass\u00e9 pendant la pand\u00e9mie de COVID : les gens ont perdu leurs liens, on leur a donn\u00e9 des ennemis \u00e0 bl\u00e2mer et ils ont adopt\u00e9 des comportements et un langage protecteurs. Tout cela correspond aux sch\u00e9mas classiques de manipulation et de lavage de cerveau.\n1727.0 Elle commence \u00e0 petite \u00e9chelle - comme \"15 jours pour aplanir la courbe\" - et se d\u00e9veloppe au fur et \u00e0 mesure que les gens se conforment, souvent parce qu'ils sont agr\u00e9ables ou qu'ils veulent s'int\u00e9grer. Les femmes sont plus souvent agr\u00e9ables que les hommes, mais l'\u00e9ducation et les circonstances jouent \u00e9galement un r\u00f4le.\n1811.0 L'hypnose est essentiellement une suggestion - il est impossible d'hypnotiser les gens pour qu'ils fassent quelque chose de totalement contraire \u00e0 leur caract\u00e8re, mais avec la bonne combinaison de suggestibilit\u00e9, de concentration, d'ouverture, de connexion, de conformit\u00e9 et d'attente, presque tout le monde peut \u00eatre pouss\u00e9 \u00e0 bout, comme l'ont montr\u00e9 les exp\u00e9riences de Milgram (choquer les gens parce qu'une autorit\u00e9 leur a dit de le faire).\n2017.0 Les personnes ayant des besoins importants - importance, approbation, intelligence, pouvoir ou sympathie - sont plus susceptibles d'\u00eatre manipul\u00e9es. Les derni\u00e8res ann\u00e9es ont montr\u00e9 que les gens se font accepter en suivant des r\u00e8gles, qu'ils obtiennent du pouvoir en les appliquant, etc.\n2104.0 Pour manipuler, il faut \u00eatre per\u00e7u comme une autorit\u00e9, apporter une preuve sociale (comme les c\u00e9l\u00e9brit\u00e9s et les hommes politiques), cr\u00e9er un attachement, isoler la cible, puis ajouter des cycles de stress et de soulagement - un processus appel\u00e9 fractionnement.\n2323.0 Sur les m\u00e9dias sociaux, le fractionnement est omnipr\u00e9sent : vous voyez quelque chose de mignon, puis quelque chose d'effrayant, puis quelque chose de r\u00e9confortant, et inversement - vos \u00e9motions sont ballott\u00e9es, ce qui vous pousse \u00e0 vous accrocher \u00e0 ce qui vous semble s\u00fbr, m\u00eame s'il s'agit de la chose qui vous a mis en col\u00e8re.\n2416.0 Les m\u00eames personnes qui vous font peur vous proposent ensuite la solution, en contr\u00f4lant ce que vous croyez. C'est ainsi que l'on am\u00e8ne les gens \u00e0 \"attraper un couteau qui tombe\" - ils s'accrocheront \u00e0 tout ce qui leur semble s\u00fbr.\n2448.0 Six \u00e9l\u00e9ments principaux rendent une personne influen\u00e7able : la suggestibilit\u00e9, la concentration, l'ouverture, la connexion, la conformit\u00e9 et l'attente. Dans les exp\u00e9riences de Milgram, seuls quelques-uns de ces \u00e9l\u00e9ments \u00e9taient pr\u00e9sents, mais cela a suffi pour que les gens appuient sur le bouton \"tuer\".\n2681.0 Faire face \u00e0 quelque chose de peu familier mobilise les ressources de votre cerveau et vous rend plus vuln\u00e9rable aux suggestions, \u00e0 moins que vous ne soyez hyper-vigilant.\n2730.0 L'affaire Patty Hearst est un exemple classique : elle a \u00e9t\u00e9 kidnapp\u00e9e, isol\u00e9e, affam\u00e9e et bombard\u00e9e de propagande, pour finalement rejoindre ses ravisseurs dans leurs crimes - le syndrome de Stockholm. Les m\u00eames techniques ont \u00e9t\u00e9 utilis\u00e9es par des gouvernements sur des prisonniers de guerre et par des sectes.\n2848.0 Pour briser quelqu'un, il faut lui faire peur, l'isoler, interrompre ses habitudes, le faire souffrir de la faim et le r\u00e9p\u00e9ter. Cela fa\u00e7onne les gens jusqu'\u00e0 ce qu'ils fassent n'importe quoi, en croyant que c'est leur id\u00e9e.\n2894.0 C'est la m\u00eame chose que fait votre t\u00e9l\u00e9phone : vous d\u00e9ranger, puis vous r\u00e9conforter, encore et encore. Si vous pensez \u00eatre immunis\u00e9, c'est l\u00e0 que vous \u00eates le plus vuln\u00e9rable.\n2949.0 M\u00eame le cr\u00e9ateur de cette vid\u00e9o est tomb\u00e9 dans le pi\u00e8ge des tactiques de vente lorsqu'il \u00e9tait affam\u00e9 et d\u00e9concentr\u00e9 - personne n'est \u00e0 l'abri si les conditions sont r\u00e9unies.\n3014.0 Comment ces techniques sont-elles utilis\u00e9es par les gouvernements et les services de renseignement ? BK confirme que, oui, le gouvernement conna\u00eet et utilise ces techniques, parfois par le biais de distractions publiques (SCOPS), parfois avec des agents comme Charles Manson (qui a \u00e9t\u00e9 soutenu dans les coulisses).\n3151.0 Une SCOP (op\u00e9ration psychologique) est en fait une \"r\u00e9alit\u00e9 artificielle\". Elle est utilis\u00e9e pour d\u00e9tourner l'attention, comme un magicien pour d\u00e9tourner l'attention. S'il se passe quelque chose d'important, surveillez les nouvelles pour voir s'il y a de grandes histoires unificatrices qui d\u00e9tournent l'attention.\n3280.0 BK confirme que lorsque vous voyez des phrases et des histoires identiques dans tous les m\u00e9dias, c'est un signe que le gouvernement est impliqu\u00e9 et qu'il diffuse des points de discussion pour contr\u00f4ler le r\u00e9cit. Il a vu les documents.\n3409.0 Pendant le COVID, la peur a \u00e9t\u00e9 r\u00e9p\u00e9t\u00e9e sur toutes les cha\u00eenes, poussant \u00e0 des rituels (comme les masques et la distanciation) qui ont depuis \u00e9t\u00e9 d\u00e9mystifi\u00e9s, mais qui ont servi \u00e0 unir les gens dans leur comportement.\n3497.0 Voici la marche \u00e0 suivre pour une op\u00e9ration psychologique de grande envergure :\n* D\u00e9placer la \"fen\u00eatre d'Overton\" pour que l'on puisse parler de ce qui se pr\u00e9pare.\n* Normaliser le sujet par la r\u00e9p\u00e9tition dans les m\u00e9dias.\n* Pr\u00e9parer le terrain en suscitant l'anticipation et la peur, afin que les gens ressentent le besoin d'\u00eatre sauv\u00e9s.\n* Rendre le sujet personnel en utilisant des histoires d'hommes de la rue.\n* Faire un blitz m\u00e9diatique pour que tout le monde dise la m\u00eame chose.\n* D\u00e9clencher un grand \"\u00e9v\u00e9nement\" (r\u00e9el ou faux) pour cr\u00e9er le chaos.\n* Offrir la solution - ce qui \u00e9tait souhait\u00e9 d\u00e8s le d\u00e9part.\n3814.0 Pensez \u00e0 des choses comme le Patriot Act, o\u00f9 les gens ont volontairement renonc\u00e9 \u00e0 leur vie priv\u00e9e au profit de la s\u00e9curit\u00e9. Les restrictions temporaires ne finissent jamais par \u00eatre temporaires.\n3935.0 La question \u00e0 se poser : \"Est-ce que cela donne plus de contr\u00f4le au gouvernement ou est-ce que cela enl\u00e8ve des libert\u00e9s \u00e0 quelqu'un ?\" Si c'est le cas, attendez-vous aux phases de normalisation, d'escalade et de personnalisation dans les semaines qui pr\u00e9c\u00e8dent.\n3998.0 Vous savez maintenant ce que sont les SCOPS et comment ils fonctionnent. Restez vigilant, restez en \u00e9veil et remettez tout en question - vous verrez les signes si vous les cherchez.\n4037.0 Vous voulez l'antis\u00e8che des SCOPS ? Consultez le Patreon du cr\u00e9ateur ou l'arbre de liens - il le publie gratuitement pour les membres de YouTube et du Patreon.\n<\/span>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eddabf7 elementor-widget elementor-widget-html\" data-id=\"eddabf7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n\/\/ 1. Define which video to play for each language:\nconst videoMap = {\n  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\n  es: { type: \"bunny\", id: \"b32eed75-9913-49a2-a5b0-c0adf28c0048\"},  \n  fr: { type: \"bunny\", id: \"83d061d3-8dc2-4fba-8bab-62e040e50714\" }, \n  ja: { type: \"bunny\", id: \"d6903e3b-83f7-4eb1-8078-f11a43510d74\"},\n  pt: { type: \"bunny\", id: \"9aeab9b5-6c44-40e6-81c7-c525cb6282bf\"},   \n\n};\n<\/script>\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<div class=\"elementor-element elementor-element-a010ab1 e-flex e-con-boxed e-con e-parent\" data-id=\"a010ab1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c437ca elementor-widget elementor-widget-template\" data-id=\"4c437ca\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"3172\" class=\"elementor elementor-3172\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7079b43 e-flex e-con-boxed e-con e-parent\" data-id=\"7079b43\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-800d60f elementor-widget elementor-widget-html\" data-id=\"800d60f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n#simplified-transcript-note {\n  display: none !important;\n}\n<\/style>\n<div id=\"simplified-transcript-note\">Les traductions et la transcription simplifi\u00e9e sont bas\u00e9es sur les traductions du mat\u00e9riel original, localis\u00e9 en plusieurs langues. R\u00e9alis\u00e9 par PeakCreatorRoyalty.com sous licence de <span>h<\/span>oe_math.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a02ec9 elementor-widget elementor-widget-html\" data-id=\"3a02ec9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n  \/\/ Auto-hide translation block after page load\n  window.addEventListener('DOMContentLoaded', function() {\n    for (let i = 1; i <= 5; i++) {\n      document.querySelectorAll(`[id$=\"${i}\"]`).forEach(el => {\n        el.style.display = 'none';\n      });\n    }\n  });\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2f7b1d elementor-widget elementor-widget-html\" data-id=\"f2f7b1d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  h3 {\n    margin-left: 0px; \/* Adjust as needed *\/\n    \/* Optionally add: *\/\n    text-align: left;  \n  }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ade12 elementor-widget elementor-widget-html\" data-id=\"e3ade12\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- VIDEO PLAYER CONTAINER -->\n<div id=\"videoPlayerContainer\" style=\"max-width: 800px; margin: auto; text-align: center;\">\n  <!-- Video player is injected here -->\n<\/div>\n\n<!-- SCROLLING TABS & CHAPTER DETAILS -->\n<div style=\"max-width: 1000px; margin: 32px auto 0 auto;\">\n  <div id=\"chapterTabs\" class=\"chapter-tabs-scroll\">\n    <!-- Tabs will be generated by JavaScript -->\n  <\/div>\n  <!-- div id=\"chapterPlayPause\" style=\"margin:1em 0 0.5em 0;\">\n  <\/div -->\n  <div id=\"chapterPanel\" class=\"chapter-panel\">\n    <!-- Chapter text will appear here  -->\n  <\/div>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-928f586 elementor-widget elementor-widget-html\" data-id=\"928f586\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- NO TOUCH Scripts -->\n<!-- Video script v1.0 -->\n<!--[wpcode id=\"1824\"] -->\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script> <!-- Include HLS.js -->\r\n\r\n<style>\r\n  .half-br {\r\n    display: block;\r\n    height: 1px;\r\n    width: 100%;\r\n    border: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n\r\nlet currentChapterIdx = 0;\r\n\t\r\nfunction getCurrentLang() {\r\n  return document.documentElement.lang ? document.documentElement.lang.substring(0,2) : 'en';\r\n}\r\n\r\n\/\/ function waitTranslate(ms=1000) {\r\n\/\/   const end = Date.now() + ms; \/\/ 100 milliseconds = 1\/10 second\r\n\/\/   while (Date.now() < end) {\r\n\/\/     \/\/ Busy-wait: blocks the main thread!\r\n\/\/   }\r\n\/\/ }\r\n\r\n\/\/ const lang = getCurrentLang();\r\n\/\/ if (lang !== \"en\") {\r\n\/\/   var marker = document.getElementById('language-marker');\r\n\/\/   if (marker) {\r\n\/\/     \/\/ You can check for known translations of the phrase\r\n\/\/     var currentLangPhrase = marker.textContent.trim();\r\n\/\/ \r\n\/\/     \/\/ Example for English vs French\r\n\/\/     if (currentLangPhrase === \"Currently English language.\") {\r\n\/\/       console.log(\"Miss, translation in progress to '\/\"+lang+\"\/', 3 second delay.\")\r\n\/\/       waitTranslate(ms=3000);\r\n\/\/     } else {\r\n\/\/       console.log(\"Hit, pre-translated page in '\/\"+lang+\"\/'.\")\r\n\/\/     }\r\n\/\/   }\r\n\/\/ } else {\r\n\/\/   console.log(\"English, no translation needed.\")\r\n\/\/ }\r\n\r\n\/* ====== CONFIGURATION SECTION ====== *\/\r\n\/\/ const BUNNY_VIDEO_LIBRARY_ID = \"vz-c02c9ec9-42b.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\nconst BUNNY_VIDEO_LIBRARY_ID = \"vz-d8eb6cfe-1f7.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\n\r\n\/\/ 1. Define which video to play for each language:\r\n\/\/const videoMap = {\r\n\/\/  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\r\n\/\/  fr: { type: \"bunny\", id: \"fc57904c-7f56-4b36-8d13-d1d715b82e81\" }, \/\/ This is the VIDEO ID\r\n\/\/  de: { type: \"bunny\", id: \"YOUR_GERMAN_VIDEO_ID\" }                   \/\/ This is the VIDEO ID\r\n  \/\/ Add more: es, it, etc.\r\n\/\/};\r\n\r\n\/\/ 2. Define chapters for each language:\r\nfunction parseCSVFromHeaderRows(headerText, rowsText) {\r\n  const headers = headerText.trim().split('|').map(h => h.trim());\r\n  const lines = rowsText.trim().split('\\n').filter(line => line.trim().length);\r\n\r\n  return lines.map(line => {\r\n    const values = [];\r\n    \/\/ Split by |, but don't split inside quotes (simple version assumes no | inside quotes)\r\n    \/\/ If you need to handle | inside quoted fields, regex needs to be more complex\r\n    let regex = \/(\"(?:[^\"]|\"\")*\"|'(?:[^']|'')*'|[^|]+)\/g;\r\n    let match;\r\n    while ((match = regex.exec(line))) {\r\n      let value = match[0].trim();\r\n      \/\/ Remove leading and trailing single or double quotes\r\n      value = value.replace(\/^(['\"])(.*)\\1$\/, '$2');\r\n      values.push(isNaN(value) ? value : Number(value));\r\n    }\r\n    const obj = {};\r\n    headers.forEach((h, i) => { obj[h] = values[i]; });\r\n    return obj;\r\n  });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Parse hiddenText into [{time: number, text: string}]\r\n\/\/ Parses lines like: 12.0 Text, or * Bullet point, or 1. Numbered item\r\nfunction parseHiddenText() {\r\n  const hiddenText = document.getElementById('hiddenText')?.textContent || '';\r\n  const lines = hiddenText.split('\\n').map(line => line.trim()).filter(Boolean);\r\n  const results = [];\r\n  let lastTime = null;\r\n\r\n  for (let line of lines) {\r\n    \/\/ Match timestamps with comma or dot\r\n    let match = \/^(\\d+(?:[.,]\\d+)?)\\s+(.*)$\/.exec(line);\r\n    if (match) {\r\n      lastTime = parseFloat(match[1].replace(',', '.'));\r\n      results.push({ time: lastTime, text: match[2] });\r\n      continue;\r\n    }\r\n    \/\/ Match bullets or numbers\r\n    match = \/^(\\*|\\-|\\d+\\.)\\s+(.*)$\/.exec(line);\r\n    if (match && lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n      continue;\r\n    }\r\n    if (lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n    }\r\n  }\r\n  return results;\r\n}\r\n\r\n\r\n\r\n\r\nconst hiddenTextLines = parseHiddenText(); \/\/ Global for later use\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Get the header and rows from the DOM\r\nconst csvHeader = document.getElementById('video-data-header').textContent;\r\nconst csvRows = document.getElementById('video-data-rows').textContent;\r\n\r\nconst chapterMap = {\r\n  en: parseCSVFromHeaderRows(csvHeader, csvRows)\r\n};\r\n\r\n\/\/ List of properties to process\r\nconst properties = ['tab', 'title', 'description'];\r\n\r\n\/\/ Loop through each row in chapterMap.en\r\nchapterMap.en.forEach(row => {\r\n  properties.forEach(prop => {\r\n    const val = row[prop];\r\n    if (typeof val === 'string') {\r\n      row[prop] = val.replace(\/^[\\'\\\"]+|[\\'\\\"]+$\/g, '');\r\n    }\r\n  });\r\n});\r\n\r\n\/\/ console.log(chapterMap.en); \/\/ Output objects in browser console\r\n\r\n\r\n\/* ====== END CONFIGURATION ====== *\/\r\n\r\n\/* ----- Global Player Variables ----- *\/\r\nlet ytPlayer, ytReady = false, stopTimer = null;\r\nlet hlsInstance = null; \/\/ To store the HLS.js instance\r\nlet html5VideoElement = null; \/\/ To store the HTML5 video element for Bunny\r\n\r\n\r\n\/* ----- Player and Chapters Logic ----- *\/\r\nfunction cleanupPlayers() {\r\n    \/\/ Clear existing stop timer\r\n    if (stopTimer) {\r\n        clearInterval(stopTimer);\r\n        stopTimer = null;\r\n    }\r\n\r\n    \/\/ Cleanup YouTube Player\r\n    if (ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n        ytPlayer.destroy();\r\n    }\r\n    ytPlayer = null;\r\n    ytReady = false;\r\n\r\n    \/\/ Cleanup HLS.js Player\r\n    if (hlsInstance) {\r\n        hlsInstance.destroy();\r\n        hlsInstance = null;\r\n    }\r\n    html5VideoElement = null; \/\/ Clear reference\r\n\r\n    \/\/ Clear the container\r\n    const container = document.getElementById('videoPlayerContainer');\r\n    if (container) container.innerHTML = \"\";\r\n}\r\n\r\nfunction setVideoPlayer(langObj) {\r\n  cleanupPlayers(); \/\/ Ensure previous players are cleaned up\r\n\r\n  const container = document.getElementById('videoPlayerContainer');\r\n  if (!container) return;\r\n\r\n  if (langObj.type === \"youtube\") {\r\n    container.innerHTML = `<div style=\"position: relative; width: 100%; padding-top: 56.25%;\">\r\n<iframe id=\"myVideo\" style=\"position: absolute;  top: 0; left: 0; width: 100%; height: 100%;\" \r\n            src=\"https:\/\/www.youtube.com\/embed\/${langObj.id}?enablejsapi=1&rel=0&origin=${window.location.origin}\"\r\n            frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n            allowfullscreen><\/iframe><\/div>`;\r\n    \/\/ YT API will be loaded\/re-initialized later\r\n  } else if (langObj.type === \"bunny\") {\r\n    const bunnyStreamUrl = `https:\/\/${BUNNY_VIDEO_LIBRARY_ID}\/${langObj.id}\/playlist.m3u8`;\r\n    container.innerHTML = `<video id=\"myVideo\" width=\"100%\" height=\"390\" controls playsinline poster=\"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"><\/video>`;\r\n    html5VideoElement = document.getElementById('myVideo'); \/\/ Get the new video element\r\n\r\n\tif (html5VideoElement) {\r\n        html5VideoElement.addEventListener('play', () => renderPlayPauseButton(currentChapterIdx));\r\n        html5VideoElement.addEventListener('pause', () => renderPlayPauseButton(currentChapterIdx));\r\n    }\r\n\r\n\t  \r\n    if (Hls.isSupported()) {\r\n        hlsInstance = new Hls();\r\n        hlsInstance.loadSource(bunnyStreamUrl);\r\n        hlsInstance.attachMedia(html5VideoElement);\r\n        hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() {\r\n            \/\/ console.log(\"Bunny HLS: Manifest parsed and video ready.\");\r\n            \/\/ html5VideoElement.play(); \/\/ Optional: Autoplay (mind browser restrictions)\r\n        });\r\n        hlsInstance.on(Hls.Events.ERROR, function(event, data) {\r\n            \/\/ console.error('Bunny HLS Error:', data);\r\n            if (data.fatal) {\r\n                switch(data.type) {\r\n                    case Hls.ErrorTypes.NETWORK_ERROR: hlsInstance.startLoad(); break;\r\n                    case Hls.ErrorTypes.MEDIA_ERROR: hlsInstance.recoverMediaError(); break;\r\n                    default: hlsInstance.destroy(); break;\r\n                }\r\n            }\r\n        });\r\n    } else if (html5VideoElement.canPlayType('application\/vnd.apple.mpegurl')) {\r\n        \/\/ Native HLS support (e.g., Safari)\r\n        html5VideoElement.src = bunnyStreamUrl;\r\n        html5VideoElement.addEventListener('loadedmetadata', function() {\r\n            \/\/ console.log('Bunny Native HLS: Metadata loaded.');\r\n        });\r\n    } else {\r\n        \/\/ console.error('HLS is not supported in this browser for Bunny.net video.');\r\n        container.innerHTML = '<p>Sorry, HLS video playback is not supported in your browser.<\/p>';\r\n    }\r\n  }\r\n}\r\n\r\nfunction renderTabs(activeIdx, chapters) {\r\n  const tabRow = document.getElementById('chapterTabs');\r\n  tabRow.innerHTML = chapters.map((ch, i) =>\r\n    `<button class=\"chapter-tab${i === activeIdx ? \" active\" : \"\"}\" onclick=\"showChapter(${i})\">${ch.tab}<\/button>`\r\n  ).join('');\r\n}\r\n\r\n\r\n\r\n\t\r\nfunction renderPlayPauseButton(idx) {\r\n  const lang = getCurrentLang();\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) return \"\";\r\n\r\n  let isPlaying = false;\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n    isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    isPlaying = !html5VideoElement.paused;\r\n  }\r\n\r\n  const buttonLabel = isPlaying ? \"Pause\" : \"Play\";\r\n  const buttonIcon = isPlaying ? \"\u23f8\" : \"\u25b6\ufe0f\";\r\n\r\n  const btnHtml = `<button id=\"playPauseBtn\" style=\"padding:0.5em 1em;font-size:1em;border-radius:6px;background: #0F3F91;color:#fff;border:none;cursor:pointer;margin-bottom:1em;transition: background 0.2s;display: block;\">\r\n      ${buttonIcon} ${buttonLabel}\r\n    <\/button>`;\r\n\r\n  const container = document.getElementById('playPauseContainer');\r\n  if (container) {\r\n    container.innerHTML = btnHtml;\r\n    const playPauseBtn = document.getElementById('playPauseBtn');\r\n    if (playPauseBtn) {\r\n      playPauseBtn.onclick = function() {\r\n        let isPlayingNow = false;\r\n        if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n          isPlayingNow = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n          ytPlayer.seekTo(ch.time, true);\r\n          if (isPlayingNow) {\r\n            ytPlayer.pauseVideo();\r\n          } else {\r\n            ytPlayer.playVideo();\r\n          }\r\n        } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n          isPlayingNow = !html5VideoElement.paused;\r\n          html5VideoElement.currentTime = ch.time;\r\n          if (isPlayingNow) {\r\n            html5VideoElement.pause();\r\n          } else {\r\n            html5VideoElement.play();\r\n          }\r\n        }\r\n        \/\/ No manual re-render here!\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\n\r\nfunction formatTranscriptBlock(lines) {\r\n  let prevTime = null;\r\n  let out = [];\r\n  for (let i = 0; i < lines.length; i++) {\r\n    const { time, text } = lines[i];\r\n    \/\/ Convert seconds to MM:SS\r\n    const min = Math.floor(time \/ 60);\r\n    const sec = Math.floor(time % 60);\r\n    const mmss = `${min}:${sec.toString().padStart(2, '0')}`;\r\n    if (time !== prevTime) {\r\n      out.push(`<br><b><span style=\"color:#FFF\">${mmss}<\/span><\/b> ${text}`);\r\n    } else {\r\n      out.push(text);\r\n    }\r\n    prevTime = time;\r\n  }\r\n  return out.join('<br>');\r\n}\r\n\r\n\r\n\r\n\r\nfunction renderPanel(idx) {\r\n  const lang = getCurrentLang();\r\n\r\n  const simplifiedLabel = document.getElementById('simplified-transcript-label')?.textContent || \"\";\r\n  const simplifiedNote = document.getElementById('simplified-transcript-note')?.textContent || \"Note: ...\";\r\n\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) {\r\n      console.error(`Chapter index ${idx} not found for language ${lang}.`);\r\n      return;\r\n  }\r\n\r\n  \/\/ --- Find hiddenText lines within this chapter's time range ---\r\n  const linesInRangeArr = hiddenTextLines\r\n    .filter(line => line.time >= ch.time && line.time < ch.stop);\r\n\r\n  const transcriptHTML = formatTranscriptBlock(linesInRangeArr);\r\n\r\n  let extra = \"\";\r\n  if (linesInRangeArr.length) {\r\n    extra = `\r\n      <br><br>\r\n      <!--span style=\"display:block;margin-top:1em;margin-bottom:0.25em;font-weight:bold\">${simplifiedLabel}<\/span-->\r\n      <span style=\"color:#f5f5f5;font-size:100%\">${transcriptHTML}<\/span>\r\n      <br>\r\n      <span style=\"display:block;margin-top:0.75em;font-size:75%;color:#00C2C2;\">\r\n        <br>${simplifiedNote}\r\n      <\/span>\r\n    `;\r\n  }\r\n\r\n  \/\/ Insert the Play\/Pause button at the very top of the panel\r\n  const playPauseButton = renderPlayPauseButton(idx);\r\n\r\n  document.getElementById('chapterPanel').innerHTML =\r\n    `<h3 style=\"margin-top:0;color:#fff\">${ch.title}<\/h3>\r\n     <div id=\"playPauseContainer\" style=\"margin-bottom:1em\"><\/div>\r\n     <p style=\"margin-bottom:0;color:#fff\">${ch.description}${extra}<\/p>`;\r\n\r\n  renderPlayPauseButton(idx);\r\n  renderTabs(idx, chapters);\r\n\r\n  \/\/ Attach the event handler after the button is inserted\r\n  const playPauseBtn = document.getElementById('playPauseBtn');\r\n  if (playPauseBtn) {\r\n    playPauseBtn.onclick = function() {\r\n      const videoObj = videoMap[lang] || videoMap['en'];\r\n      let isPlaying = false;\r\n      if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n        isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n        ytPlayer.seekTo(ch.time, true);\r\n        if (isPlaying) {\r\n          ytPlayer.pauseVideo();\r\n        } else {\r\n          ytPlayer.playVideo();\r\n        }\r\n      } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n        isPlaying = !html5VideoElement.paused;\r\n        html5VideoElement.currentTime = ch.time;\r\n        if (isPlaying) {\r\n          html5VideoElement.pause();\r\n        } else {\r\n          html5VideoElement.play();\r\n        }\r\n      }\r\n      \/\/ Optionally update button after action\r\n      \/\/ setTimeout(() => renderPanel(idx), 300);\r\n    };\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nwindow.showChapter = function(idx) {\r\n  currentChapterIdx = idx;\r\n\r\n  const lang = getCurrentLang();\r\n  \/\/ const chapters = chapterMap[lang] || chapterMap['en']; \/\/ Fallback to 'en'   \r\n  \/\/ will switch for video but NOT for text (translatepress will accomplish)\r\n  const chapters = chapterMap['en']; \/\/ Fallback to 'en' chapters\r\n  const chapterData = chapters[idx];\r\n\r\n  if (!chapterData) {\r\n      console.error(`Chapter data for index ${idx} not found.`);\r\n      return;\r\n  }\r\n  renderPanel(idx); \/\/ Update panel and tabs\r\n\r\n  \/\/ Scroll tab into view\r\n  const buttons = document.getElementsByClassName('chapter-tab');\r\n  if (buttons[idx]) buttons[idx].scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\r\n\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  \/\/ Clear previous stop timer\r\n  if (stopTimer) clearInterval(stopTimer);\r\n\r\n  if (videoObj.type === \"youtube\") {\r\n    if (ytReady && ytPlayer && typeof ytPlayer.seekTo === 'function') {\r\n      ytPlayer.seekTo(chapterData.time, true);\r\n      ytPlayer.playVideo();\r\n      \r\n    } else {\r\n        console.warn(\"YouTube player not ready or seekTo not available.\");\r\n    }\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    html5VideoElement.currentTime = chapterData.time;\r\n    html5VideoElement.play().catch(e => console.warn(\"Autoplay after seek prevented:\", e));\r\n  }\r\n};\r\n\r\nfunction reInitChaptersAndPlayer() {\r\n  const lang = getCurrentLang();\r\n  const videoObj = videoMap[lang] || videoMap['en']; \/\/ Fallback to 'en' video\r\n\r\n  if (!videoObj) {\r\n      console.error(`No video configuration found for language: ${lang} or fallback 'en'.`);\r\n      return;\r\n  }\r\n\r\n  setVideoPlayer(videoObj); \/\/ This now also cleans up old players\r\n\r\n  \/\/ Short delay to ensure DOM is updated, especially for iframe\r\n  setTimeout(function(){\r\n    renderPanel(0); \/\/ Render first chapter panel\r\n    if (videoObj.type === \"youtube\") {\r\n      \/\/ Load or re-initialize YT API for new iframe\r\n      if (typeof YT === 'undefined' || !YT.Player) { \/\/ Check if YT object or YT.Player is undefined\r\n        var tag = document.createElement('script');\r\n        tag.src = \"https:\/\/www.youtube.com\/iframe_api\";\r\n        var firstScriptTag = document.getElementsByTagName('script')[0];\r\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n      } else {\r\n        \/\/ If API is loaded, re-initialize player for the new iframe if needed\r\n        onYouTubeIframeAPIReady();\r\n      }\r\n    }\r\n  }, 100); \/\/ Reduced delay, might need adjustment\r\n}\r\n\r\n\/* ----- YT API Bootstrapping ----- *\/\r\n\/\/ This global function is called by the YouTube Iframe API script\r\nwindow.onYouTubeIframeAPIReady = function() {\r\n  const iframe = document.getElementById('myVideo');\r\n  if (iframe && iframe.tagName === 'IFRAME' && !ytPlayer) { \/\/ Ensure it's an iframe and player not already set\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, initializing YT Player.\");\r\n    ytPlayer = new YT.Player('myVideo', {\r\n      events: {\r\n        'onReady': function(event) {\r\n          ytReady = true;\r\n          \/\/ console.log(\"YouTube Player Ready.\");\r\n          \/\/ If a chapter was clicked before YT was ready, try to apply it now.\r\n          \/\/ This requires knowing the current chapter index, which might need to be stored.\r\n          \/\/ For simplicity, we'll assume the user might click a chapter again or it starts at 0.\r\n        },\r\n        'onStateChange': function(event) {\r\n\t\t\t\/\/ 1 = playing, 2 = paused\r\n\t\t\trenderPlayPauseButton(currentChapterIdx); \/\/ currentChapterIdx should be tracked globally\r\n\t\t}\r\n      }\r\n    });\r\n  } else if (iframe && iframe.tagName === 'IFRAME' && ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n    \/\/ This case handles if the API is reloaded or if reInit is called and iframe exists\r\n    \/\/ It's a bit tricky; ideally, we destroy and recreate fully.\r\n    \/\/ The cleanupPlayers function should handle most of this.\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, player might exist. Attempting to re-bind if necessary.\");\r\n  }\r\n};\r\n\r\n\/* ----- Event Hooks ----- *\/\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\r\n\t\t\r\n\r\n\r\n    }\r\n});\r\n\/\/ TranslatePress fires this event on language change\r\ndocument.addEventListener('trp_language_changed', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\t\t\r\n\r\n    }\r\n});\r\n\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40859b7 elementor-widget elementor-widget-html\" data-id=\"40859b7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* Your existing CSS is good, no changes needed unless you want to refine *\/\n.chapter-tabs-scroll {\n  display: flex;\n  overflow-x: auto;\n  gap: 10px;\n  margin-bottom: 18px;\n  scrollbar-width: thin;\n  scrollbar-color: #a0aec0 #f7fafc; \/* For Firefox *\/\n  -webkit-overflow-scrolling: touch;\n  padding-bottom: 5px; \/* To make scrollbar visible without cutting content *\/\n  border-radius: 8px; \/* Optional: if you want rounded corners for the scroll area *\/\n}\n\/* Webkit Scrollbar Styles *\/\n.chapter-tabs-scroll::-webkit-scrollbar {\n  height: 7px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-track {\n  background: #111; \/* Or a lighter color if preferred *\/\n  border-radius: 4px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-thumb {\n  background: #333; \/* Or a contrasting color *\/\n  border-radius: 4px;\n}\n.chapter-tab {\n  white-space: nowrap;\n  border: none;\n  background: #222; \/* Darker tab background *\/\n  color: #fff;\n  font-size: 1.1em;\n  padding: 8px 22px;\n  border-radius: 999px; \/* Pill shape *\/\n  cursor: pointer;\n  transition: background 0.2s, color 0.2s, font-weight 0.2s, box-shadow 0.2s;\n  margin-bottom: 0; \/* Ensure no extra space below tabs if they wrap *\/\n  outline: none; \/* Remove default focus outline if you have custom focus styles *\/\n  margin-right: 0; \/* Reset if previously set for spacing between items *\/\n}\n.chapter-tab.active,\n.chapter-tab:hover {\n  background: #e0e7ff; \/* Light blue for active\/hover *\/\n  color: #111; \/* Dark text for active\/hover *\/\n  font-weight: bold;\n  box-shadow: 0 2px 8px #dbeafe66; \/* Softer shadow *\/\n}\n.chapter-panel {\n  background: rgba(20,20,20,0.88); \/* Semi-transparent dark background *\/\n  border-radius: 8px;\n  box-shadow: 0 2px 6px #111; \/* Subtle shadow *\/\n  padding: 20px 24px;\n  min-height: 80px; \/* Ensure panel has some height even if description is short *\/\n  transition: box-shadow 0.3s; \/* Smooth shadow transition on hover (if any) *\/\n}\n\/* Add a class for the video player container if you want to target its children more easily *\/\n#videoPlayerContainer video { \/* Ensure video tag fits container *\/\n    display: block; \/* Removes extra space below if it's inline *\/\n}\n<\/style>\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>\n\t\t\t\t<\/div>\n\t\t\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<div class=\"elementor-element elementor-element-e4bc449 pa-display-conditions-yes e-flex e-con-boxed e-con e-parent\" data-id=\"e4bc449\" data-element_type=\"container\" data-settings=\"{&quot;pa_display_conditions_switcher&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fdce02d e-con-full e-flex e-con e-child\" data-id=\"fdce02d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6160f3a elementor-widget elementor-widget-shortcode\" data-id=\"6160f3a\" 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\"><!-- Post Page Mid Roll -->\r\n<\/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-f66116d elementor-widget elementor-widget-heading\" data-id=\"f66116d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Chefs-d'\u0153uvre interactifs<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ce4511b elementor-widget elementor-widget-text-editor\" data-id=\"ce4511b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"gap-y-sm md:gap-y-md flex flex-col\"><div class=\"relative font-sans text-base text-textMain dark:text-textMainDark selection:bg-super\/50 selection:text-textMain dark:selection:bg-super\/10 dark:selection:text-super\"><div class=\"min-w-0 break-words [word-break:break-word]\"><div id=\"markdown-content-0\" class=\"gap-y-md after:clear-both after:block after:content-['']\" dir=\"auto\"><div class=\"relative\"><div class=\"prose text-pretty dark:prose-invert inline leading-normal break-words min-w-0 [word-break:break-word]\"><p class=\"my-0\">Dans cette image interactive, vous pouvez explorer comment chaque niveau agit et affirme sa vision du monde.<\/p><\/div><\/div><\/div><\/div><\/div><div class=\"flex items-center justify-between\"><div class=\"-ml-sm gap-xs flex items-center\"><div><div>\u00a0<\/div><\/div><div>\u00a0<\/div><\/div><div class=\"gap-x-xs flex items-center\"><div class=\"gap-xs flex items-center border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\">\u00a0<\/div><div class=\"\">\u00a0<\/div><\/div><\/div><\/div><\/div><div class=\"\"><div class=\"animate-in fade-in duration-100 ease-out border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-transparent\"><div class=\"flex items-center justify-between border-borderMain\/50 ring-borderMain\/50 divide-borderMain\/50 dark:divide-borderMainDark\/50 dark:ring-borderMainDark\/50 dark:border-borderMainDark\/50 bg-background\"><div class=\"flex w-full items-center justify-between mb-sm\"><div class=\"\"><div class=\"space-x-sm flex items-center\"><div class=\"font-display text-lg font-medium text-textMain dark:text-textMainDark selection:bg-super\/50 selection:text-textMain dark:selection:bg-super\/10 dark:selection:text-super\"><div class=\"w-[24px]\">\u00a0<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e92154f elementor-widget elementor-widget-html\" data-id=\"e92154f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 3.1 CSS and 1st Image HTML -->\n<!-- ImageID_1 CSS -->\n\n<style class=\"wpcode-css-snippet\"><style>\r\n\r\n.hotspot-block,\r\n.hotspot,\r\n.hotspot-tooltip,\r\n.hotspot-btn {\r\n  font-family: \"HM Saira-VariableFont_wdth,wght\", sans-serif;\r\n}\r\n\r\n.hotspot-block {\r\n  position: relative;\r\n  margin: 40px auto;\r\n  max-width: 1280px;\r\n}\r\n\r\n.hotspot-controls {\r\n  margin-bottom: 15px;\r\n  display: flex;\r\n  justify-content: center;\r\n  flex-wrap: wrap;\r\n  gap: 15px;\r\n  align-items: center;\r\n  position: relative;\r\n  z-index: 10;\r\n}\r\n\r\n.hotspot-container {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  pointer-events: none;\r\n  z-index: 2000;\r\n}\r\n\r\n.main-image {\r\n  width: 100%;\r\n  display: block;\r\n}\r\n\r\n.hotspot {\r\n  overflow: visible;\r\n  width: 36px;\r\n  height: 36px;\r\n  background: #007BFF;\r\n  color: white;\r\n  font-size: 16px;\r\n  border-radius: 50%;\r\n  text-align: center;\r\n  line-height: 36px;\r\n  font-weight: bold;\r\n  cursor: pointer;\r\n  transition: transform 0.4s, background 0.3s;\r\n  position: absolute;\r\n  pointer-events: auto;\r\n}\r\n\r\n.hotspot.enlarged {\r\n  transform: scale(1.18);\r\n  background: red;\r\n}\r\n\r\n.hotspot:hover {\r\n  transform: scale(1.18);\r\n}\r\n\r\n\/* ----------- TOOLTIP: Modern Approach ----------- *\/\r\n.hotspot-tooltip {\r\n  display: none;\r\n  position: absolute;\r\n  left: 50%;\r\n  top: auto; \/* default, will be set by direction *\/\r\n  bottom: auto;\r\n  max-width: 300px;\r\n  min-width: 0;\r\n  width: max-content; \/* will grow up to max-width, shrink for short items *\/\r\n  white-space: normal;\r\n  word-break: break-word;\r\n  padding: 10px 16px;\r\n  background: rgba(20, 20, 30, 0.92);\r\n  color: #fff;\r\n  font-size: 15px;\r\n  border-radius: 10px;\r\n  box-shadow: 0 6px 16px rgba(0,0,0,0.13);\r\n  z-index: 5000;\r\n  line-height: 1.5;\r\n  text-align: left;\r\n  border: 2px solid red;\r\n  box-sizing: border-box;\r\n  transform: translateX(-50%);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/* Tooltip direction and placement *\/\r\n.tooltip-above .hotspot-tooltip {\r\n  left: 50%;\r\n  bottom: 110%;\r\n  transform: translateX(-50%);\r\n  margin-bottom: 10px;\r\n}\r\n.tooltip-below .hotspot-tooltip {\r\n  left: 50%;\r\n  top: 110%;\r\n  transform: translateX(-50%);\r\n  margin-top: 10px;\r\n}\r\n.tooltip-left .hotspot-tooltip {\r\n  right: 110%;          \/* Puts tooltip fully to the left of the hotspot, with a gap *\/\r\n  top: 50%;\r\n  left: auto;           \/* Prevent any left property conflict *\/\r\n  transform: translateY(-50%);\r\n  margin-right: 10px;   \/* Space between tooltip and hotspot *\/\r\n  margin-left: 0;\r\n}\r\n\r\n.tooltip-right .hotspot-tooltip {\r\n  left: 110%;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  margin-left: 10px;\r\n}\r\n\r\n\/* Tooltip shown on enlarged\/active hotspot *\/\r\n.hotspot.enlarged .hotspot-tooltip,\r\n.hotspot.active .hotspot-tooltip,\r\n.hotspot.show-all .hotspot-tooltip {\r\n  display: block;\r\n}\r\n\r\n\/* ----------- Button styling ----------- *\/\r\n.hotspot-btn {\r\n  width: 36px;\r\n  height: 36px;\r\n  border-radius: 50%;\r\n  font-size: 16px;\r\n  background: #007BFF;\r\n  color: white;\r\n  font-weight: bold;\r\n  border: none;\r\n  cursor: pointer;\r\n  transition: background 0.2s, transform 0.2s;\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  line-height: 1;\r\n  padding: 0;\r\n}\r\n\r\n.hotspot-btn.highlight {\r\n  background: red;\r\n}\r\n\r\n.hotspot-btn.enlarged {\r\n  transform: scale(1.18);\r\n}\r\n\r\n.hotspot-btn:hover {\r\n  background: #0056b3;\r\n}\r\n\r\n\/* Mobile responsive adjustments *\/\r\n@media (max-width: 600px) {\r\n  .hotspot {\r\n    width: 22px;\r\n    height: 22px;\r\n    font-size: 12px;\r\n    line-height: 22px;\r\n  }\r\n\r\n  .hotspot-btn {\r\n    width: 28px;\r\n    height: 28px;\r\n    font-size: 13px;\r\n  }\r\n\r\n    .hotspot-tooltip {\r\n    padding: 6px 8px;\r\n    font-size: 0.9em;\r\n  font-weight: normal;\r\n    max-width: 250px;\r\n    min-width: 120px;\r\n    width: auto;\r\n  }\r\n}\r\n<\/style><\/style>\n\n<!-- 1st image, keep this\n     ImageID_2 HTML -->\n\n<!-- Image Block 1 -->\n\n<div class=\"hotspot-block\" data-id=\"image1\" style=\"max-width:1280px; margin:40px auto; position:relative;\">\n\n  <!-- Buttons and Checkbox ABOVE the Image -->\n  <div class=\"hotspot-controls\" data-id=\"image1\" style=\"margin-bottom:15px; display:flex; justify-content:center; flex-wrap:wrap; gap:15px; align-items:center; position:relative; z-index:10;\">\n    <div class=\"hotspot-buttons\" style=\"display:flex; gap:10px; flex-wrap:wrap;\"><\/div>\n    <label style=\"font-family:sans-serif; font-size:14px;\">\n      <input type=\"checkbox\" class=\"show-all-toggle\" data-id=\"image1\" style=\"margin-right:5px;\">\n      Tous\n    <\/label>\n    <label style=\"font-family: sans-serif; font-size: 14px;\">\n       <input type=\"checkbox\" class=\"hide-numbers-toggle\" data-id=\"image1\" style=\"margin-left: 12px; margin-right: 5px;\">\n       Cacher\n    <\/label>\n  <\/div>\n\n  <!-- Image and Hotspot container -->\n  <div style=\"position: relative;\">\n    <img decoding=\"async\" class=\"main-image\" data-id=\"image1\" src=\"\" style=\"width:100%; display:block;\">\n    \n    <!-- Hotspot container positioned absolutely over the image -->\n    <div class=\"hotspot-container\" style=\"position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:2000;\">\n      <!-- Hotspots injected by JS here -->\n    <\/div>\n  <\/div>\n\n<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea60902 elementor-widget elementor-widget-html\" data-id=\"ea60902\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 4. NO TOUCH Scripts -->\n<!-- ImageID_4 HTML external scripts to call + JS -->\n<!-- script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script -->\r\n<script>\r\njQuery(document).ready(function ($) {\r\n\r\n  \/\/ --- IMAGE HOTSPOTS AND BUTTONS INIT ---\r\n  $('.hotspot-block').each(function () {\r\n    const $block = $(this);\r\n    const id = $block.data('id');\r\n    const $image = $block.find(`.main-image[data-id=\"${id}\"]`);\r\n    const $container = $block.find('.hotspot-container');\r\n    const $buttons = $block.find('.hotspot-buttons');\r\n    const imageUrl = imageMap[id];\r\n\r\n\r\n\t\r\n    const csvRaw = $(`pre#hotspot-data-${id}`).text().trim();\r\n\r\n    const activeNumbers = [];\r\n    $block.data('activeNumbers', activeNumbers);\r\n\r\n    if (!imageUrl) return;\r\n    $image.attr('src', imageUrl);\r\n\r\n    $image.on('load', function () {\r\n      const imgWidth = $image[0].naturalWidth;\r\n      const imgHeight = $image[0].naturalHeight;\r\n\r\n      \/\/ --- Simple Pipe-Delimited Parse ---\r\n\tconst lines = csvRaw.split('\\n').map(line => line.trim()).filter(Boolean);\r\n\tif (lines.length < 2) return;\r\n\t\/\/ Optionally check header here if you want\r\n\tconst data = lines.slice(1).map(line => {\r\n\t  \/\/ Split by pipe instead of comma, but allow pipes in the text field (by joining the rest)\r\n\t  const parts = line.split('|');\r\n\t  const order = parts[0] ? parts[0].trim() : '';\r\n\t  const x_px = parts[1] ? parts[1].trim() : '';\r\n\t  const y_px = parts[2] ? parts[2].trim() : '';\r\n\t  const direction = parts[3] ? parts[3].trim() : '';\r\n\t  const text = parts.length > 4 ? parts.slice(4).join('|').trim() : '';\r\n\t  return { order, x_px, y_px, direction, text };\r\n\t});\r\n\r\n\t\/\/ console.log('Parsed data:', data);\r\n\r\n\r\n      data.forEach(row => {\r\n        const number = String($.trim(row.order));\r\n        const xPx = parseFloat(row.x_px);\r\n        const yPx = parseFloat(row.y_px);\r\n        const dir = (row.direction || \"A\").trim().toUpperCase();\r\n        const text = $.trim(row.text);\r\n        const leftPercent = (xPx \/ imgWidth) * 100;\r\n        const topPercent = (yPx \/ imgHeight) * 100;\r\n\r\n        const tooltipClass = {\r\n          A: 'tooltip-above',\r\n          B: 'tooltip-below',\r\n          L: 'tooltip-left',\r\n          R: 'tooltip-right'\r\n        }[dir] || 'tooltip-above';\r\n\r\n        \/\/ Tooltip text present in DOM for TranslatePress!\r\n        const formattedText = `${number}. ` + text.replace(\/\\n\/g, '<br>');\r\n        const $hotspot = $(`\r\n          <div class=\"hotspot ${tooltipClass}\" data-number=\"${number}\">\r\n            <span class=\"hotspot-number\">${number}<\/span>\r\n            <span class=\"hotspot-tooltip\" style=\"display:none;\">${formattedText}<\/span>\r\n          <\/div>\r\n        `).css({\r\n          left: `${leftPercent}%`,\r\n          top: `${topPercent}%`,\r\n          transform: 'translate(-50%, -50%)',\r\n          position: 'absolute'\r\n        });\r\n\r\n        $container.append($hotspot);\r\n        $buttons.append(`<button class=\"hotspot-btn\" data-number=\"${number}\">${number}<\/button>`);\r\n      });\r\n    });\r\n  });\r\n\r\n  \/\/ --- STYLE UPDATE FUNCTION ---\r\nfunction updateStyles($block) {\r\n  const active = $block.data('activeNumbers') || [];\r\n  $block.find('.hotspot').each(function () {\r\n    const num = String($(this).data('number'));\r\n    const $tooltip = $(this).find('.hotspot-tooltip');\r\n    if (active.includes(num)) {\r\n      $(this).addClass('enlarged active');\r\n      $tooltip.show(); \/\/ <-- Show tooltip!\r\n    } else {\r\n      $(this).removeClass('enlarged active');\r\n      $tooltip.hide(); \/\/ <-- Hide tooltip!\r\n    }\r\n  });\r\n  $block.find('.hotspot-btn').each(function () {\r\n    const num = String($(this).data('number'));\r\n    $(this)\r\n      .toggleClass('highlight', active.includes(num))\r\n      .toggleClass('enlarged', active.includes(num));\r\n  });\r\n}\r\n\r\n\r\n  \/\/ --- HOTSPOT\/BUTTON CLICK ---\r\n  $(document).on('click', '.hotspot, .hotspot-btn', function (e) {\r\n    e.preventDefault();\r\n    const $clicked = $(e.target).closest('.hotspot, .hotspot-btn');\r\n    const num = String($clicked.data('number'));\r\n    const $block = $clicked.closest('.hotspot-block');\r\n    let active = $block.data('activeNumbers') || [];\r\n\r\n    const wasActive = active.includes(num);\r\n\r\n    \/\/ Clear Hide if checked\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    if ($hide.is(':checked')) {\r\n      $hide.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (wasActive) {\r\n      active = active.filter(n => n !== num);\r\n    } else {\r\n      active = [num]; \/\/ Only one active at a time\r\n    }\r\n    $block.data('activeNumbers', active);\r\n    updateStyles($block);\r\n\r\n    \/\/ Uncheck \"Show all\" if not all hotspots are active\r\n    const allNums = $block.find('.hotspot').map((_, el) => String($(el).data('number'))).get();\r\n    const $toggle = $block.find('.show-all-toggle');\r\n    const isAllActive = allNums.every(n => active.includes(n));\r\n    $toggle.prop('checked', isAllActive);\r\n  });\r\n\r\n  \/\/ --- SHOW ALL \/ HIDE MUTUAL EXCLUSIVITY AND BEHAVIOR ---\r\n  $(document).on('change', '.show-all-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const allNums = $hotspots.map((_, el) => String($(el).data('number'))).get();\r\n\r\n    \/\/ Mutually exclusive: uncheck Hide if Show All is checked\r\n    if ($(this).is(':checked')) {\r\n      if ($hide.is(':checked')) {\r\n        $hide.prop('checked', false).trigger('change');\r\n      }\r\n      $block.data('activeNumbers', allNums);\r\n    } else {\r\n      $block.data('activeNumbers', []);\r\n    }\r\n\r\n    updateStyles($block);\r\n  });\r\n\r\n  \/\/ Hide handler\r\n  $(document).on('change', '.hide-numbers-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $showAll = $block.find('.show-all-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const checked = $(this).is(':checked');\r\n\r\n    \/\/ Mutually exclusive: uncheck Show All if Hide is checked\r\n    if (checked && $showAll.is(':checked')) {\r\n      $showAll.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (checked) {\r\n      $hotspots.hide();\r\n      $block.find('.enlarged, .active').removeClass('enlarged active');\r\n    } else {\r\n      $hotspots.show();\r\n    }\r\n  });\r\n\r\n  \/\/ --- CLICKING OUTSIDE CLEARS EVERYTHING ---\r\n  $(document).on('click', function (e) {\r\n    const $target = $(e.target);\r\n    const $block = $target.closest('.hotspot-block');\r\n    $('.hotspot-block').each(function () {\r\n      const $thisBlock = $(this);\r\n      if (!$block.length || !$block.is(this)) {\r\n        $thisBlock.data('activeNumbers', []);\r\n        $thisBlock.find('.show-all-toggle').prop('checked', false);\r\n        updateStyles($thisBlock);\r\n      }\r\n    });\r\n  });\r\n\r\n});\r\n<\/script>\r\n \t\t\t\t<\/div>\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>Media Manipulation Exposed hoe_math fait tomber le masque des m\u00e9dias et des plateformes num\u00e9riques qui d\u00e9tournent votre cerveau. Avec un pro du jeu, il d\u00e9compose les v\u00e9ritables tactiques psychologiques - manipulation \u00e9motionnelle, d\u00e9clencheurs subconscients, lavage de cerveau de type culte - qui fa\u00e7onnent ce que vous croyez sans m\u00eame que vous vous en rendiez compte. Les distractions de l'actualit\u00e9, les chefs de culte, les messages pand\u00e9miques - tout est con\u00e7u. La plupart des gens ne se rendent m\u00eame pas compte [...]<\/p>","protected":false},"author":6,"featured_media":2199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97,100],"tags":[127,126,129,128],"class_list":["post-4376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-media-propaganda-and-persuasion","category-free-newsletter-insider-exclusives","tag-es","tag-fr","tag-ja","tag-pt"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/4376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/comments?post=4376"}],"version-history":[{"count":36,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/4376\/revisions"}],"predecessor-version":[{"id":5436,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/4376\/revisions\/5436"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media\/2199"}],"wp:attachment":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media?parent=4376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/categories?post=4376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/tags?post=4376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}