comprendre le code source d’une page web : guide et explications détaillées

découvrez notre guide complet pour comprendre le code source d’une page web. explications claires et détaillées pour débutants et passionnés du web.

Découvrir la structure fondamentale d’une page web via le code source

À première vue, une page web semble être uniquement un ensemble d’images attrayantes et de contenus interactifs. Cependant, sa véritable essence réside dans un code source composé principalement de HTML, de CSS et de JavaScript. Ce dernier est la clé qui permet aux navigateurs d’afficher et de faire fonctionner les sites web que nous visitons quotidiennement. Comprendre cet ingrédient invisible est primordial pour quiconque souhaite décoder une structure page web ou engager un tutoriel développement web.

Il est essentiel de distinguer le code humainement lisible de sa représentation visuelle, notamment pour analyser les fondations d’une page web. Lorsque les moteurs de recherche indexent un site, ils exploitent ce canevas numérique pour mettre en avant les pages dans leurs résultats. Ainsi, explorer le code source peut révéler des opportunités d’optimisation SEO et d’ergonomie.

Les points essentiels à identifier dans un code source

  • 📝 La balise titre qui informe les moteurs de recherche sur le sujet principal.
  • 🔍 Les balises meta description, indispensables pour inciter au clic sur les résultats de recherche.
  • 🏷️ Les titres H1 qui structurent le contenu et captent l’attention du visiteur.
  • 🔗 Les liens internes et externes, notamment ceux marqués « nofollow » ou « sponsored ».
  • 🖼️ Les attributs alt liés aux images, améliorant l’accessibilité et le référencement.
Élément du code source 📑 Fonction principale 🎯 Impact SEO 🔥
Balise <title> Titre affiché dans les résultats des moteurs de recherche Très élevé
Méta description <meta name= »description »> Résumé concis encourageant le clic Élevé
Balises H1 Titre principal visible sur la page Moyen
Attributs ALT des images Description des images pour moteurs et accessibilité Moyen
Liens (rel= »nofollow », rel= »sponsored ») Contrôle du suivi des liens par les moteurs Variable

Les méthodes efficaces pour inspecter et analyser le code source

Plusieurs navigateurs proposent des moyens simples d’accéder à la lecture code HTML d’une page web. En 2025, la plupart des navigateurs majeurs disposent encore de raccourcis clavier universels facilitant ce privilège :

  • 💻 Windows : CTRL + U pour un affichage direct.
  • 🍏 Mac : Commande + Option + U active la source de la page.
  • 🛠️ Outils intégrés comme l’Inspecteur accessible via un clic droit « Inspecter » pour une analyse dynamique.

Outre ces options natives, des extensions comme la Web Developer Toolbar offrent des fonctionnalités avancées, notamment la désactivation temporaire du JavaScript ou du CSS afin de diagnostiquer la structure réelle. Ces outils permettent aussi de repérer les erreurs de balisage ainsi que les scripts externes intégrés.

Tableau récapitulatif des raccourcis indispensables selon navigateur

Navigateur 🌐 Afficher code source 📂 Outils développeurs 🔧
Chrome Ctrl+U / Cmd+Option+U Ctrl+Shift+I
Firefox Ctrl+U / Cmd+Option+U Ctrl+Shift+K
Safari Cmd+Option+U Cmd+Option+I
Microsoft Edge Ctrl+U / Cmd+Option+U Ctrl+Shift+I
Créez Votre Premier Site Web avec HTML et CSS : Guide Débutant

Exploiter le code source pour optimiser le référencement et la performance

Le lien entre décoder code source et SEO est crucial. Ces techniques ne se cantonnent pas à une simple curiosité technique mais s’insèrent dans une démarche d’optimisation concrète.

Pour rendre un site plus visible et agréable :

  • ⏳ Identifier et réduire la taille des fichiers JavaScript et CSS pour accélérer le chargement.
  • 📊 Vérifier l’implémentation correcte des codes analytiques comme Google Analytics.
  • 🔍 Garantir que chaque page possède une balise title unique et pertinente.
  • 📄 Analyser les plans de site XML (par exemple via structure page web HTML) pour assurer l’indexation complète par les moteurs.
  • 🖼️ S’assurer que toutes les images comportent une balise alt descriptive, renforçant ainsi l’accessibilité.

Tableau : erreurs courantes et bonnes pratiques SEO liées au code source

Problème courant ⚠️ Conséquence 🚫 Solution recommandée ✅
Absence ou duplication de balise <title> Confusion dans l’indexation, baisse du classement Un titre unique et précis par page
Méta descriptions manquantes ou trop longues Réduction du taux de clic depuis les moteurs Limiter à 160 caractères avec appel à l’action
Balises H1 multiples ou absentes Perte de cohérence dans la hiérarchie des contenus Une seule balise H1 bien formulée par page
Images sans attribut alt Baisse en accessibilité et en référencement Ajouter des descriptions précises et concises
Codes analytiques mal installés Données d’usage non fiables Vérification régulière via outils spécialisés
Créer un site en HTML (1/5) - 3 minutes pour coder avec Micode

Comprendre les implications éthiques et sécuritaires liées à la consultation du code source

Inspecter le code d’une page web s’inscrit dans une pratique légale et éthique lorsqu’elle vise à apprendre ou à analyser. Il est important de différencier curiosité constructive et exploitation malveillante.

Quelques règles d’or à conserver :

  • 🔒 Ne pas copier intégralement le code, respectant ainsi la propriété intellectuelle.
  • 🛡️ Éviter d’exécuter des scripts ou manipuler le code de manière à nuire.
  • 🔍 Signaler d’éventuelles failles de sécurité aux propriétaires légitimes.
  • 📝 Utiliser des beautifiers pour une meilleure lisibilité, mais ne pas redistribuer sans modifications.
  • 💼 Favoriser une navigation responsable et un développement respectueux des bonnes pratiques.

Tableau des bonnes pratiques et pièges à éviter lors de l’inspection

Bonnes pratiques 👍 Pièges à éviter 🚨
Consulter uniquement dans un but pédagogique ou d’optimisation Copier-coller sans autorisation pour reproduire un site
Utiliser des outils fiables et à jour Exécuter des scripts inconnus ou non vérifiés
Respecter la propriété intellectuelle et la confidentialité Divulguer des failles de sécurité publiquement sans alertes
Comprendre le serveur web en 2 minutes

Comment afficher facilement le code source d’une page web ?

La plupart des navigateurs donnent accès au code source via le raccourci Ctrl+U (Windows) ou Commande+Option+U (Mac). Le clic droit suivi de ‘Afficher la source de la page’ est aussi une méthode classique.

Pourquoi la balise est-elle si importante ?<span class="ez-toc-section-end"></span></h3> <p>Elle détermine le titre affiché dans les résultats des moteurs de recherche, jouant un rôle majeur dans le référencement et l’attraction de visiteurs.</p> <h3><span class="ez-toc-section" id="Quels-sont-les-outils-indispensables-pour-analyser-un-code-source"></span>Quels sont les outils indispensables pour analyser un code source ?<span class="ez-toc-section-end"></span></h3> <p>Les outils intégrés des navigateurs comme Inspecteur de Chrome sont très puissants. Des extensions telles que Web Developer Toolbar ajoutent des fonctionnalités avancées pour une inspection plus approfondie.</p> <h3><span class="ez-toc-section" id="Comment-verifier-la-presence-des-balises-alt-sur-les-images"></span>Comment vérifier la présence des balises alt sur les images ?<span class="ez-toc-section-end"></span></h3> <p>Il faut rechercher dans le code source les attributs alt dans les balises <img>. Ces descriptions visuelles améliorent l’accessibilité et apportent un boost SEO.</p> <h3><span class="ez-toc-section" id="Est-il-legal-de-consulter-le-code-source-dun-site-internet"></span>Est-il légal de consulter le code source d’un site internet ?<span class="ez-toc-section-end"></span></h3> <p>Oui, tant que la consultation reste à titre d’apprentissage ou d’analyse. Copier ou reproduire un code sans autorisation constitue une infraction.</p> <div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img alt='Nathan Andre' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-99673cf286c9.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-08f1af51c58d.png 2x" class='avatar avatar-100 photo avatar-default' height='100' width='100' itemprop="image" loading="lazy" fetchpriority="low" sizes="auto"/></div><div class="saboxplugin-authorname"><a href="https://sciences-du-numerique.fr/writer/nathan-andre" class="vcard author" rel="author"><span class="fn">Nathan Andre</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Nathan explore sans relâche les avancées de l’intelligence artificielle et leurs impacts sociétaux. Il adore vulgariser les concepts complexes, avec un ton engageant et des métaphores qui parlent à tous les curieux du numérique.</p> </div></div><div class="clearfix"></div></div></div></div></div></div></div></div></div><div class="wp-block wp-block-kubio-row position-relative wp-block-kubio-row__container style-oBH0ABWoeL-container style-local-33-container gutters-row-lg-0 gutters-row-v-lg-0 gutters-row-md-0 gutters-row-v-md-0 gutters-row-0 gutters-row-v-0" data-kubio="kubio/row"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-row__inner style-oBH0ABWoeL-inner style-local-33-inner h-row align-items-lg-stretch align-items-md-stretch align-items-stretch justify-content-lg-center justify-content-md-center justify-content-center gutters-col-lg-0 gutters-col-v-lg-0 gutters-col-md-0 gutters-col-v-md-0 gutters-col-0 gutters-col-v-0"><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-wETEbWZUNc-container style-local-34-container d-flex h-col-lg-auto h-col-md-auto h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-wETEbWZUNc-inner style-local-34-inner d-flex h-flex-basis h-px-lg-3 v-inner-lg-3 h-px-md-3 v-inner-md-3 h-px-3 v-inner-3"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-wETEbWZUNc-align style-local-34-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><p class="wp-block wp-block-kubio-text position-relative wp-block-kubio-text__text style-single-1pwRcGAnh-text style-local-35-text" data-kubio="kubio/text">CATEGORIES:</p><div class="wp-block wp-block-kubio-post-categories position-relative wp-block-kubio-post-categories__container style-up5pQ_Cww-container style-local-36-container kubio-post-categories-container" data-kubio="kubio/post-categories"><div class="position-relative wp-block-kubio-post-categories__tags style-up5pQ_Cww-tags style-local-36-tags"><a href="https://sciences-du-numerique.fr/internet">Internet</a></div></div></div></div></div></div></div><div class="wp-block wp-block-kubio-row position-relative wp-block-kubio-row__container style-single-1uGRU27HVz-container style-local-37-container gutters-row-lg-0 gutters-row-v-lg-1 gutters-row-md-0 gutters-row-v-md-1 gutters-row-0 gutters-row-v-1" data-kubio="kubio/row"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-row__inner style-single-1uGRU27HVz-inner style-local-37-inner h-row align-items-lg-stretch align-items-md-stretch align-items-stretch justify-content-lg-start justify-content-md-start justify-content-start gutters-col-lg-0 gutters-col-v-lg-1 gutters-col-md-0 gutters-col-v-md-1 gutters-col-0 gutters-col-v-1"><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-single-K4Akm2YNqS-container style-local-38-container d-flex h-col-lg-auto h-col-md-auto h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-single-K4Akm2YNqS-inner style-local-38-inner d-flex h-flex-basis h-px-lg-3 v-inner-lg-3 h-px-md-3 v-inner-md-3 h-px-3 v-inner-3"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-single-K4Akm2YNqS-align style-local-38-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><p class="wp-block wp-block-kubio-text position-relative wp-block-kubio-text__text style-single-1pwRcGAnh-text style-local-39-text" data-kubio="kubio/text">Tags:</p><div class="wp-block wp-block-kubio-post-tags position-relative wp-block-kubio-post-tags__container style-single-tlSt_AyBi-container style-local-40-container kubio-post-tags-container" data-kubio="kubio/post-tags"><div class="position-relative wp-block-kubio-post-tags__placeholder style-single-tlSt_AyBi-placeholder style-local-40-placeholder kubio-post-tags-placeholder">No tags</div><div class="position-relative wp-block-kubio-post-tags__tags style-single-tlSt_AyBi-tags style-local-40-tags"></div></div></div></div></div></div></div><div class="wp-block wp-block-kubio-query-pagination position-relative wp-block-kubio-query-pagination__container style-single-nqLiVZCaYo-container style-local-41-container gutters-row-lg-0 gutters-row-v-lg-0 gutters-row-md-0 gutters-row-v-md-0 gutters-row-0 gutters-row-v-0" data-kubio="kubio/query-pagination"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-query-pagination__inner style-single-nqLiVZCaYo-inner style-local-41-inner h-row align-items-lg-stretch align-items-md-stretch align-items-stretch justify-content-lg-center justify-content-md-center justify-content-center gutters-col-lg-0 gutters-col-v-lg-0 gutters-col-md-0 gutters-col-v-md-0 gutters-col-0 gutters-col-v-0"><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-single-3ndM77FkZV-container style-local-42-container d-flex h-col-lg h-col-md h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-single-3ndM77FkZV-inner style-local-42-inner d-flex h-flex-basis h-px-lg-0 v-inner-lg-2 h-px-md-0 v-inner-md-2 h-px-0 v-inner-2"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-single-3ndM77FkZV-align style-local-42-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><div class="position-relative wp-block-kubio-pagination-nav-button__spacing style-single-ELgmeRXRD--spacing style-local-43-spacing"><span class="wp-block wp-block-kubio-pagination-nav-button position-relative wp-block-kubio-pagination-nav-button__outer style-single-ELgmeRXRD--outer style-local-43-outer kubio-button-container" data-kubio="kubio/pagination-nav-button"><a class="position-relative wp-block-kubio-pagination-nav-button__link style-single-ELgmeRXRD--link style-local-43-link h-w-100 h-global-transition" href="https://sciences-du-numerique.fr/schema-arduino-debutants"><span class="position-relative wp-block-kubio-pagination-nav-button__text style-single-ELgmeRXRD--text style-local-43-text kubio-inherit-typography">Previous</span></a></span></div></div></div></div><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-single-mMPMCQqWfs-container style-local-44-container d-flex h-col-lg h-col-md h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-single-mMPMCQqWfs-inner style-local-44-inner d-flex h-flex-basis h-px-lg-0 v-inner-lg-2 h-px-md-0 v-inner-md-2 h-px-0 v-inner-2"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-single-mMPMCQqWfs-align style-local-44-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><div class="position-relative wp-block-kubio-pagination-nav-button__spacing style-single-ACSe8L2gsX-spacing style-local-45-spacing"><span class="wp-block wp-block-kubio-pagination-nav-button position-relative wp-block-kubio-pagination-nav-button__outer style-single-ACSe8L2gsX-outer style-local-45-outer kubio-button-container" data-kubio="kubio/pagination-nav-button"><a class="position-relative wp-block-kubio-pagination-nav-button__link style-single-ACSe8L2gsX-link style-local-45-link h-w-100 h-global-transition" href="https://sciences-du-numerique.fr/quiz-photographie-numerique"><span class="position-relative wp-block-kubio-pagination-nav-button__text style-single-ACSe8L2gsX-text style-local-45-text kubio-inherit-typography">Next</span></a></span></div></div></div></div></div></div><div class="wp-block wp-block-kubio-post-comments kubio-migration--1 position-relative wp-block-kubio-post-comments__commentsContainer style-single-s5UQRGEAN-commentsContainer style-local-46-commentsContainer" data-kubio="kubio/post-comments"><p class="comments-disabled">Comments are closed</p></div><div class="wp-block wp-block-kubio-post-comments-form position-relative wp-block-kubio-post-comments-form__container style-single-oXoikmHxB-container style-local-47-container" data-kubio="kubio/post-comments-form"></div></div></div></div><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-single-f5wDJx69T0o-container style-local-48-container d-flex h-col-lg-auto h-col-md-auto h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-single-f5wDJx69T0o-inner style-local-48-inner d-flex h-flex-basis h-px-lg-2 v-inner-lg-0 h-px-md-2 v-inner-md-0 h-px-2 v-inner-0"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-single-f5wDJx69T0o-align style-local-48-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><div class="wp-block wp-block-kubio-sidebar position-relative wp-block-kubio-sidebar__container style-single-qlHAH4aftky-container style-local-49-container" data-kubio="kubio/sidebar"><div class="wp-block wp-block-kubio-row position-relative wp-block-kubio-row__container style-theme-t1RcpSwTMC-container style-local-50-container gutters-row-lg-0 gutters-row-v-lg-0 gutters-row-md-0 gutters-row-v-md-0 gutters-row-3 gutters-row-v-0" data-kubio="kubio/row"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-row__inner style-theme-t1RcpSwTMC-inner style-local-50-inner h-row align-items-lg-stretch align-items-md-stretch align-items-stretch justify-content-lg-center justify-content-md-center justify-content-center gutters-col-lg-0 gutters-col-v-lg-0 gutters-col-md-0 gutters-col-v-md-0 gutters-col-3 gutters-col-v-0"><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-theme-HE2LPNtfKX-container style-local-51-container d-flex h-col-lg-auto h-col-md-auto h-col-auto" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-theme-HE2LPNtfKX-inner style-local-51-inner d-flex h-flex-basis h-px-lg-0 v-inner-lg-0 h-px-md-0 v-inner-md-0 h-px-0 v-inner-0"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-theme-HE2LPNtfKX-align style-local-51-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><div class="wp-block wp-block-kubio-search-form position-relative wp-block-kubio-search-form__outer style-theme-ciaK61IeR-outer style-local-52-outer" data-kubio="kubio/search-form"><form class="position-relative wp-block-kubio-search-form__form style-theme-ciaK61IeR-form style-local-52-form d-flex search-form" action="https://sciences-du-numerique.fr" method="GET"><div class="position-relative wp-block-kubio-search-form__lightbox style-theme-ciaK61IeR-lightbox style-local-52-lightbox"></div><input class="position-relative wp-block-kubio-search-form__input style-theme-ciaK61IeR-input style-local-52-input search-input" placeholder="Search..." value="" name="s" /><button class="position-relative wp-block-kubio-search-form__button style-theme-ciaK61IeR-button style-local-52-button search-button"><span class="position-relative wp-block-kubio-search-form__buttonText style-theme-ciaK61IeR-buttonText style-local-52-buttonText">Search</span></button></form></div><h4 class="wp-block wp-block-kubio-heading position-relative wp-block-kubio-heading__text style-theme-R9xOJzpKQW0-text style-local-53-text" data-kubio="kubio/heading">Latest Comments</h4><ol class="has-avatars has-dates aligncenter wp-block-latest-comments style-dAlw2G59Yo-widget-box style-local-Qv78Ez7ps-widget-box wp-block-kubio-core-latest-comments__widget-box"><li class="wp-block-latest-comments__comment"><img alt='' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-fd078b894ba1.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-43c9e1525b49.png 2x" class='avatar avatar-48 photo avatar-default wp-block-latest-comments__comment-avatar' height='48' width='48' loading="lazy" decoding='async' fetchpriority="low" sizes="auto"/><article><footer class="wp-block-latest-comments__comment-meta"><span class="wp-block-latest-comments__comment-author">Zypher Moriarty</span> sur <a class="wp-block-latest-comments__comment-link" href="https://sciences-du-numerique.fr/projet-javascript-debutants#comment-574">projet JavaScript simple à réaliser : guide complet pour débutants</a><time datetime="2025-12-06T00:43:39+05:30" class="wp-block-latest-comments__comment-date">6 décembre 2025</time></footer></article></li><li class="wp-block-latest-comments__comment"><img alt='' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-fd078b894ba1.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-43c9e1525b49.png 2x" class='avatar avatar-48 photo avatar-default wp-block-latest-comments__comment-avatar' height='48' width='48' loading="lazy" decoding='async' fetchpriority="low" sizes="auto"/><article><footer class="wp-block-latest-comments__comment-meta"><span class="wp-block-latest-comments__comment-author">Zephyrin Lumins</span> sur <a class="wp-block-latest-comments__comment-link" href="https://sciences-du-numerique.fr/projet-javascript-debutants#comment-573">projet JavaScript simple à réaliser : guide complet pour débutants</a><time datetime="2025-12-06T00:43:37+05:30" class="wp-block-latest-comments__comment-date">6 décembre 2025</time></footer></article></li><li class="wp-block-latest-comments__comment"><img alt='' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-fd078b894ba1.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-43c9e1525b49.png 2x" class='avatar avatar-48 photo avatar-default wp-block-latest-comments__comment-avatar' height='48' width='48' loading="lazy" decoding='async' fetchpriority="low" sizes="auto"/><article><footer class="wp-block-latest-comments__comment-meta"><span class="wp-block-latest-comments__comment-author">Alizée Lumina</span> sur <a class="wp-block-latest-comments__comment-link" href="https://sciences-du-numerique.fr/projet-javascript-debutants#comment-572">projet JavaScript simple à réaliser : guide complet pour débutants</a><time datetime="2025-12-05T21:24:41+05:30" class="wp-block-latest-comments__comment-date">5 décembre 2025</time></footer></article></li><li class="wp-block-latest-comments__comment"><img alt='' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-fd078b894ba1.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-43c9e1525b49.png 2x" class='avatar avatar-48 photo avatar-default wp-block-latest-comments__comment-avatar' height='48' width='48' loading="lazy" decoding='async' fetchpriority="low" sizes="auto"/><article><footer class="wp-block-latest-comments__comment-meta"><span class="wp-block-latest-comments__comment-author">Armand Jammot</span> sur <a class="wp-block-latest-comments__comment-link" href="https://sciences-du-numerique.fr/compte-est-bon-astuces#comment-571">solution complète pour le jeu le compte est bon : méthodes et astuces</a><time datetime="2025-12-05T21:24:39+05:30" class="wp-block-latest-comments__comment-date">5 décembre 2025</time></footer></article></li><li class="wp-block-latest-comments__comment"><img alt='' src="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-fd078b894ba1.png" srcset="https://sciences-du-numerique.fr/core/cache/flying-press/gravatar-43c9e1525b49.png 2x" class='avatar avatar-48 photo avatar-default wp-block-latest-comments__comment-avatar' height='48' width='48' loading="lazy" decoding='async' fetchpriority="low" sizes="auto"/><article><footer class="wp-block-latest-comments__comment-meta"><span class="wp-block-latest-comments__comment-author">Zélia Cortelyon</span> sur <a class="wp-block-latest-comments__comment-link" href="https://sciences-du-numerique.fr/projet-javascript-debutants#comment-570">projet JavaScript simple à réaliser : guide complet pour débutants</a><time datetime="2025-12-05T18:03:45+05:30" class="wp-block-latest-comments__comment-date">5 décembre 2025</time></footer></article></li></ol></div></div></div></div></div></div></div></div></div></div></div></div></div> <div class="wp-block wp-block-kubio-footer position-relative wp-block-kubio-footer__container style-single-theme-gt1_zEKay-container style-local-54-container" data-kubio="kubio/footer" data-kubio-component="footer-parallax" data-kubio-settings="{"isEnabled":null}"><div class="wp-block wp-block-kubio-section position-relative wp-block-kubio-section__outer style-vP0mYzy99sE-outer style-local-55-outer d-flex h-section-global-spacing align-items-lg-center align-items-md-center align-items-center" data-kubio="kubio/section" id="footer"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-section__inner style-vP0mYzy99sE-inner style-local-55-inner h-section-grid-container h-section-boxed-container"><div class="wp-block wp-block-kubio-row position-relative wp-block-kubio-row__container style-e6PC03TfkKI-container style-local-56-container gutters-row-lg-2 gutters-row-v-lg-2 gutters-row-md-2 gutters-row-v-md-2 gutters-row-0 gutters-row-v-2" data-kubio="kubio/row"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-row__inner style-e6PC03TfkKI-inner style-local-56-inner h-row align-items-lg-stretch align-items-md-stretch align-items-stretch justify-content-lg-center justify-content-md-center justify-content-center gutters-col-lg-2 gutters-col-v-lg-2 gutters-col-md-2 gutters-col-v-md-2 gutters-col-0 gutters-col-v-2"><div class="wp-block wp-block-kubio-column position-relative wp-block-kubio-column__container style-nJpox2eRXHV-container style-local-57-container d-flex h-col-lg-12 h-col-md-12 h-col-12" data-kubio="kubio/column"><div class="position-relative wp-block-kubio-column__inner style-nJpox2eRXHV-inner style-local-57-inner d-flex h-flex-basis h-px-lg-2 v-inner-lg-2 h-px-md-2 v-inner-md-2 h-px-2 v-inner-2"><div class="background-wrapper"><div class="background-layer background-layer-media-container-lg"></div><div class="background-layer background-layer-media-container-md"></div><div class="background-layer background-layer-media-container"></div></div><div class="position-relative wp-block-kubio-column__align style-nJpox2eRXHV-align style-local-57-align h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start"><div class="wp-block wp-block-kubio-copyright position-relative wp-block-kubio-copyright__outer style-tF8kitdcL-outer style-local-58-outer" data-kubio="kubio/copyright"><p>© 2026 Sciences du numérique. Created with ❤ using WordPress and <a href="https://kubiobuilder.com" target="_blank" rel="noopener">Kubio</a></p></div></div></div></div></div></div></div></div></div></div> <script data-name="colibri-frontend-data" defer src="data:text/javascript,window.kubioFrontendData%20%3D%20%5B%5D%3B"></script> <script defer src="data:text/javascript,%2F%2F%20Do%20not%20change%20this%20comment%20line%20otherwise%20Speed%20Optimizer%20won%27t%20be%20able%20to%20detect%20this%20script%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%28function%20%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20sendRequest%28url%2C%20body%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21window.fetch%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20xhr%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xhr.open%28%22POST%22%2C%20url%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xhr.setRequestHeader%28%22Content-Type%22%2C%20%22application%2Fjson%3Bcharset%3DUTF-8%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xhr.send%28JSON.stringify%28body%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20request%20%3D%20fetch%28url%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20method%3A%20%27POST%27%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20body%3A%20JSON.stringify%28body%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20keepalive%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20headers%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27Content-Type%27%3A%20%27application%2Fjson%3Bcharset%3DUTF-8%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20calculateParentDistance%20%3D%20%28child%2C%20parent%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20count%20%3D%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20currentElement%20%3D%20child%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Traverse%20up%20the%20DOM%20tree%20until%20we%20reach%20parent%20or%20the%20top%20of%20the%20DOM%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20while%20%28currentElement%20%26%26%20currentElement%20%21%3D%3D%20parent%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20currentElement%20%3D%20currentElement.parentNode%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20count%2B%2B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20If%20parent%20was%20not%20found%20in%20the%20hierarchy%2C%20return%20-1%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21currentElement%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20-1%3B%20%2F%2F%20Indicates%20parent%20is%20not%20an%20ancestor%20of%20element%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20count%3B%20%2F%2F%20Number%20of%20layers%20between%20element%20and%20parent%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingClass%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20classes.includes%28linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingId%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20ids.includes%28linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingDomain%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21URL.canParse%28href%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20new%20URL%28href%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20host%20%3D%20url.host%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20hostsToMatch%20%3D%20%5Bhost%5D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28host.startsWith%28%27www.%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20hostsToMatch.push%28host.substring%284%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20hostsToMatch.push%28%27www.%27%20%2B%20host%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20hostsToMatch.includes%28linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingExtension%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21URL.canParse%28href%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20new%20URL%28href%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20url.pathname.endsWith%28%27.%27%20%2B%20linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingSubdirectory%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21URL.canParse%28href%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20new%20URL%28href%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20url.pathname.startsWith%28%27%2F%27%20%2B%20linkRule.value%20%2B%20%27%2F%27%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingProtocol%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21URL.canParse%28href%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20new%20URL%28href%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20url.protocol%20%3D%3D%3D%20linkRule.value%20%2B%20%27%3A%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatchingExternal%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21URL.canParse%28href%29%20%7C%7C%20%21URL.canParse%28document.location.href%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20matchingProtocols%20%3D%20%5B%27http%3A%27%2C%20%27https%3A%27%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20siteUrl%20%3D%20new%20URL%28document.location.href%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20linkUrl%20%3D%20new%20URL%28href%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Links%20to%20subdomains%20will%20appear%20to%20be%20external%20matches%20according%20to%20JavaScript%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20but%20the%20PHP%20rules%20will%20filter%20those%20events%20out.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20matchingProtocols.includes%28linkUrl.protocol%29%20%26%26%20siteUrl.host%20%21%3D%3D%20linkUrl.host%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isMatch%20%3D%20%28linkRule%2C%20href%2C%20classes%2C%20ids%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20switch%20%28linkRule.type%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27class%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingClass%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27id%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingId%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27domain%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingDomain%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27extension%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingExtension%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27subdirectory%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingSubdirectory%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27protocol%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingProtocol%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20case%20%27external%27%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatchingExternal%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20track%20%3D%20%28element%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20href%20%3D%20element.href%20%3F%3F%20null%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20classes%20%3D%20Array.from%28element.classList%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20ids%20%3D%20%5Belement.id%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20linkRules%20%3D%20%5B%7B%22type%22%3A%22extension%22%2C%22value%22%3A%22pdf%22%7D%2C%7B%22type%22%3A%22extension%22%2C%22value%22%3A%22zip%22%7D%2C%7B%22type%22%3A%22protocol%22%2C%22value%22%3A%22mailto%22%7D%2C%7B%22type%22%3A%22protocol%22%2C%22value%22%3A%22tel%22%7D%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28linkRules.length%20%3D%3D%3D%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20For%20link%20rules%20that%20target%20an%20id%2C%20we%20need%20to%20allow%20that%20id%20to%20appear%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20in%20any%20ancestor%20up%20to%20the%207th%20ancestor.%20This%20loop%20looks%20for%20those%20matches%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20and%20counts%20them.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20linkRules.forEach%28%28linkRule%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28linkRule.type%20%21%3D%3D%20%27id%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20matchingAncestor%20%3D%20element.closest%28%27%23%27%20%2B%20linkRule.value%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21matchingAncestor%20%7C%7C%20matchingAncestor.matches%28%27html%2C%20body%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20depth%20%3D%20calculateParentDistance%28element%2C%20matchingAncestor%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28depth%20%3C%207%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ids.push%28linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20For%20link%20rules%20that%20target%20a%20class%2C%20we%20need%20to%20allow%20that%20class%20to%20appear%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20in%20any%20ancestor%20up%20to%20the%207th%20ancestor.%20This%20loop%20looks%20for%20those%20matches%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20and%20counts%20them.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20linkRules.forEach%28%28linkRule%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28linkRule.type%20%21%3D%3D%20%27class%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20matchingAncestor%20%3D%20element.closest%28%27.%27%20%2B%20linkRule.value%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21matchingAncestor%20%7C%7C%20matchingAncestor.matches%28%27html%2C%20body%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20depth%20%3D%20calculateParentDistance%28element%2C%20matchingAncestor%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28depth%20%3C%207%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20classes.push%28linkRule.value%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20hasMatch%20%3D%20linkRules.some%28%28linkRule%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20isMatch%28linkRule%2C%20href%2C%20classes%2C%20ids%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21hasMatch%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20%22https%3A%2F%2Fsciences-du-numerique.fr%2Fcore%2Fmodules%2Findependent-analytics-pro%2Fiawp-click-endpoint.php%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20body%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20href%3A%20href%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20classes%3A%20classes.join%28%27%20%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ids%3A%20ids.join%28%27%20%27%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%7B%22payload%22%3A%7B%22resource%22%3A%22singular%22%2C%22singular_id%22%3A6745%2C%22page%22%3A1%7D%2C%22signature%22%3A%22c4ee0105185657c328080d0c6b11d8f7%22%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendRequest%28url%2C%20body%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%27mousedown%27%2C%20function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28navigator.webdriver%20%7C%7C%20%2Fbot%7Ccrawler%7Cspider%7Ccrawling%7Csemrushbot%7Cchrome-lighthouse%2Fi.test%28navigator.userAgent%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20element%20%3D%20event.target.closest%28%27a%27%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21element%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isPro%20%3D%20true%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21isPro%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Don%27t%20track%20left%20clicks%20with%20this%20event.%20The%20click%20event%20is%20used%20for%20that.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28event.button%20%3D%3D%3D%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20track%28element%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%27click%27%2C%20function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28navigator.webdriver%20%7C%7C%20%2Fbot%7Ccrawler%7Cspider%7Ccrawling%7Csemrushbot%7Cchrome-lighthouse%2Fi.test%28navigator.userAgent%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20element%20%3D%20event.target.closest%28%27a%2C%20button%2C%20input%5Btype%3D%22submit%22%5D%2C%20input%5Btype%3D%22button%22%5D%27%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21element%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isPro%20%3D%20true%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21isPro%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20track%28element%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%27play%27%2C%20function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28navigator.webdriver%20%7C%7C%20%2Fbot%7Ccrawler%7Cspider%7Ccrawling%7Csemrushbot%7Cchrome-lighthouse%2Fi.test%28navigator.userAgent%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20element%20%3D%20event.target.closest%28%27audio%2C%20video%27%29%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21element%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20isPro%20%3D%20true%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%28%21isPro%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20track%28element%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20true%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%22DOMContentLoaded%22%2C%20function%20%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28document.hasOwnProperty%28%22visibilityState%22%29%20%26%26%20document.visibilityState%20%3D%3D%3D%20%22prerender%22%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28navigator.webdriver%20%7C%7C%20%2Fbot%7Ccrawler%7Cspider%7Ccrawling%7Csemrushbot%7Cchrome-lighthouse%2Fi.test%28navigator.userAgent%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20let%20referrer_url%20%3D%20null%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28typeof%20document.referrer%20%3D%3D%3D%20%27string%27%20%26%26%20document.referrer.length%20%3E%200%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20referrer_url%20%3D%20document.referrer%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20params%20%3D%20location.search.slice%281%29.split%28%27%26%27%29.reduce%28%28acc%2C%20s%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20%5Bk%2C%20v%5D%20%3D%20s.split%28%27%3D%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20Object.assign%28acc%2C%20%7B%5Bk%5D%3A%20v%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20%7B%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20url%20%3D%20%22https%3A%2F%2Fsciences-du-numerique.fr%2Fwp-json%2Fiawp%2Fsearch%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20body%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20referrer_url%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20utm_source%3A%20params.utm_source%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20utm_medium%3A%20params.utm_medium%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20utm_campaign%3A%20params.utm_campaign%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20utm_term%3A%20params.utm_term%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20utm_content%3A%20params.utm_content%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gclid%3A%20params.gclid%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20...%7B%22payload%22%3A%7B%22resource%22%3A%22singular%22%2C%22singular_id%22%3A6745%2C%22page%22%3A1%7D%2C%22signature%22%3A%22c4ee0105185657c328080d0c6b11d8f7%22%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sendRequest%28url%2C%20body%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%28%29%3B"></script> <script type="text/javascript" id="wp-block-template-skip-link-js-after" defer src="data:text/javascript,%2F%2A%20%3C%21%5BCDATA%5B%20%2A%2F%0A%09%28%20function%28%29%20%7B%0A%09%09var%20skipLinkTarget%20%3D%20document.querySelector%28%20%27main%27%20%29%2C%0A%09%09%09sibling%2C%0A%09%09%09skipLinkTargetID%2C%0A%09%09%09skipLink%3B%0A%0A%09%09%2F%2F%20Early%20exit%20if%20a%20skip-link%20target%20can%27t%20be%20located.%0A%09%09if%20%28%20%21%20skipLinkTarget%20%29%20%7B%0A%09%09%09return%3B%0A%09%09%7D%0A%0A%09%09%2F%2A%0A%09%09%20%2A%20Get%20the%20site%20wrapper.%0A%09%09%20%2A%20The%20skip-link%20will%20be%20injected%20in%20the%20beginning%20of%20it.%0A%09%09%20%2A%2F%0A%09%09sibling%20%3D%20document.querySelector%28%20%27.wp-site-blocks%27%20%29%3B%0A%0A%09%09%2F%2F%20Early%20exit%20if%20the%20root%20element%20was%20not%20found.%0A%09%09if%20%28%20%21%20sibling%20%29%20%7B%0A%09%09%09return%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20Get%20the%20skip-link%20target%27s%20ID%2C%20and%20generate%20one%20if%20it%20doesn%27t%20exist.%0A%09%09skipLinkTargetID%20%3D%20skipLinkTarget.id%3B%0A%09%09if%20%28%20%21%20skipLinkTargetID%20%29%20%7B%0A%09%09%09skipLinkTargetID%20%3D%20%27wp--skip-link--target%27%3B%0A%09%09%09skipLinkTarget.id%20%3D%20skipLinkTargetID%3B%0A%09%09%7D%0A%0A%09%09%2F%2F%20Create%20the%20skip%20link.%0A%09%09skipLink%20%3D%20document.createElement%28%20%27a%27%20%29%3B%0A%09%09skipLink.classList.add%28%20%27skip-link%27%2C%20%27screen-reader-text%27%20%29%3B%0A%09%09skipLink.id%20%3D%20%27wp-skip-link%27%3B%0A%09%09skipLink.href%20%3D%20%27%23%27%20%2B%20skipLinkTargetID%3B%0A%09%09skipLink.innerText%20%3D%20%27Aller%20au%20contenu%27%3B%0A%0A%09%09%2F%2F%20Inject%20the%20skip%20link.%0A%09%09sibling.parentElement.insertBefore%28%20skipLink%2C%20sibling%20%29%3B%0A%09%7D%28%29%20%29%3B%0A%09%0A%2F%2A%20%5D%5D%3E%20%2A%2F"></script> <script type="text/javascript" id="flying-press-vitals-js-extra" defer src="data:text/javascript,%2F%2A%20%3C%21%5BCDATA%5B%20%2A%2F%0Avar%20flying_press_vitals%20%3D%20%7B%22site_id%22%3A%22f14179b6ff01d0472c8aa10db70c65b3%22%7D%3B%0A%2F%2A%20%5D%5D%3E%20%2A%2F"></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/core/modules/cdeaa14b73/assets/vitals.min.js" id="flying-press-vitals-js" defer></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/lib/js/dist/hooks.min.js?rnd=71716" id="wp-hooks-js" defer></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/lib/js/dist/i18n.min.js?rnd=71716" id="wp-i18n-js" defer></script> <script type="text/javascript" id="wp-i18n-js-after" defer src="data:text/javascript,%2F%2A%20%3C%21%5BCDATA%5B%20%2A%2F%0Awp.i18n.setLocaleData%28%20%7B%20%27text%20direction%5Cu0004ltr%27%3A%20%5B%20%27ltr%27%20%5D%20%7D%20%29%3B%0A%2F%2A%20%5D%5D%3E%20%2A%2F"></script> <script type="text/javascript" defer src="https://sciences-du-numerique.fr/core/modules/kubio-pro/build/scripts/index.js?rnd=71716" id="kubio-scripts-js"></script> <script type="text/javascript" defer src="https://sciences-du-numerique.fr/core/modules/kubio-pro/build/frontend/index.js?rnd=71716" id="kubio-frontend-js"></script> <script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra" defer src="data:text/javascript,%2F%2A%20%3C%21%5BCDATA%5B%20%2A%2F%0Avar%20eztoc_smooth_local%20%3D%20%7B%22scroll_offset%22%3A%2230%22%2C%22add_request_uri%22%3A%22%22%2C%22add_self_reference_link%22%3A%22%22%7D%3B%0A%2F%2A%20%5D%5D%3E%20%2A%2F"></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/core/modules/a2174c3e6f/assets/js/smooth_scroll.min.js?rnd=71716" id="ez-toc-scroll-scriptjs-js" defer></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/core/modules/a2174c3e6f/vendor/js-cookie/js.cookie.min.js?rnd=71716" id="ez-toc-js-cookie-js" defer></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/core/modules/a2174c3e6f/vendor/sticky-kit/jquery.sticky-kit.min.js?rnd=71716" id="ez-toc-jquery-sticky-kit-js" defer></script> <script type="text/javascript" id="ez-toc-js-js-extra" defer src="data:text/javascript,%2F%2A%20%3C%21%5BCDATA%5B%20%2A%2F%0Avar%20ezTOC%20%3D%20%7B%22smooth_scroll%22%3A%221%22%2C%22visibility_hide_by_default%22%3A%22%22%2C%22scroll_offset%22%3A%2230%22%2C%22fallbackIcon%22%3A%22%5Cu003Cspan%20class%3D%5C%22%5C%22%5Cu003E%5Cu003Cspan%20class%3D%5C%22eztoc-hide%5C%22%20style%3D%5C%22display%3Anone%3B%5C%22%5Cu003EToggle%5Cu003C%2Fspan%5Cu003E%5Cu003Cspan%20class%3D%5C%22ez-toc-icon-toggle-span%5C%22%5Cu003E%5Cu003Csvg%20style%3D%5C%22fill%3A%20%23545454%3Bcolor%3A%23545454%5C%22%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%20class%3D%5C%22list-377408%5C%22%20width%3D%5C%2220px%5C%22%20height%3D%5C%2220px%5C%22%20viewBox%3D%5C%220%200%2024%2024%5C%22%20fill%3D%5C%22none%5C%22%5Cu003E%5Cu003Cpath%20d%3D%5C%22M6%206H4v2h2V6zm14%200H8v2h12V6zM4%2011h2v2H4v-2zm16%200H8v2h12v-2zM4%2016h2v2H4v-2zm16%200H8v2h12v-2z%5C%22%20fill%3D%5C%22currentColor%5C%22%5Cu003E%5Cu003C%2Fpath%5Cu003E%5Cu003C%2Fsvg%5Cu003E%5Cu003Csvg%20style%3D%5C%22fill%3A%20%23545454%3Bcolor%3A%23545454%5C%22%20class%3D%5C%22arrow-unsorted-368013%5C%22%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%20width%3D%5C%2210px%5C%22%20height%3D%5C%2210px%5C%22%20viewBox%3D%5C%220%200%2024%2024%5C%22%20version%3D%5C%221.2%5C%22%20baseProfile%3D%5C%22tiny%5C%22%5Cu003E%5Cu003Cpath%20d%3D%5C%22M18.2%209.3l-6.2-6.3-6.2%206.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3%200%20.5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8%2014.7l6.2%206.3%206.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3%200-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z%5C%22%2F%5Cu003E%5Cu003C%2Fsvg%5Cu003E%5Cu003C%2Fspan%5Cu003E%5Cu003C%2Fspan%5Cu003E%22%2C%22chamomile_theme_is_on%22%3A%22%22%7D%3B%0A%2F%2A%20%5D%5D%3E%20%2A%2F"></script> <script type="text/javascript" src="https://sciences-du-numerique.fr/core/modules/a2174c3e6f/assets/js/front.min.js?rnd=71716" id="ez-toc-js-js" defer></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://sciences-du-numerique.fr/lib/js/wp-emoji-release.min.js?rnd=71716"}} </script> <script type="module"> /* <![CDATA[ */ /*! This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); /* ]]> */ </script> <script type="text/javascript" defer src="data:text/javascript,%2F%2F%3C%21%5BCDATA%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%28function%20%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22use%20strict%22%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20__IsDevToolOpen%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20widthDiff%20%3D%20window.outerWidth%20-%20window.innerWidth%20%3E%20160%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20const%20heightDiff%20%3D%20window.outerHeight%20-%20window.innerHeight%20%3E%20160%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28navigator.userAgent.match%28%2FiPhone%2Fi%29%29%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21%28heightDiff%20%26%26%20widthDiff%29%20%26%26%20%28%28window.Firebug%20%26%26%20window.Firebug.chrome%20%26%26%20window.Firebug.chrome.isInitialized%29%20%7C%7C%20widthDiff%20%7C%7C%20heightDiff%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.dispatchEvent%28new%20Event%28%27hmwp_is_devtool%27%29%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20__devToolCheckInterval%20%3D%20setInterval%28__IsDevToolOpen%2C%20500%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20__disableOpen404%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.documentElement.remove%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20__showError%28message%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20div%20%3D%20document.getElementById%28%27disable_msg%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28message%20%21%3D%3D%20%27%27%20%26%26%20div%20%26%26%20%28%21div.style.display%20%7C%7C%20div.style.display%20%3D%3D%3D%20%27none%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20div.innerHTML%20%3D%20message%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20div.style.display%20%3D%20%27block%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%20%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20div.style.display%20%3D%20%27none%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%201000%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20__disableEventListener%28element%2C%20eventNames%2C%20message%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20events%20%3D%20eventNames.split%28%27%20%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20events.forEach%28function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20element.addEventListener%28event%2C%20function%20%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28message%20%21%3D%3D%20%27%27%29%20__showError%28message%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20__returnFalse%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%09%09%09%09%09%09%09%09%09%09%09%09document.addEventListener%28%22contextmenu%22%2C%20function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28event.keyCode%20%3D%3D%3D%20123%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20__showError%28%27%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%22keydown%22%2C%20function%20%28event%29%20%7B%0A%09%09%09%09%09if%20%28event.keyCode%20%3D%3D%3D%20123%20%7C%7C%20%28event.ctrlKey%20%26%26%20event.shiftKey%20%26%26%20event.keyCode%20%3D%3D%3D%2067%29%20%7C%7C%20%28%28event.ctrlKey%20%7C%7C%20event.metaKey%29%20%26%26%20event.shiftKey%20%26%26%20event.keyCode%20%3D%3D%3D%2073%29%20%7C%7C%20%28event.ctrlKey%20%26%26%20event.shiftKey%20%26%26%20event.keyCode%20%3D%3D%3D%2075%29%20%7C%7C%20%28event.ctrlKey%20%26%26%20event.shiftKey%20%26%26%20event.keyCode%20%3D%3D%3D%2074%29%20%7C%7C%20%28event.keyCode%20%3D%3D%3D%2083%20%26%26%20%28event.ctrlKey%20%7C%7C%20event.metaKey%29%29%20%7C%7C%20%28event.keyCode%20%3D%3D%3D%2067%20%26%26%20event.metaKey%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20__showError%28%27%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%09%09%09%09%09if%20%28%28event.ctrlKey%20%7C%7C%20event.metaKey%29%20%26%26%20event.keyCode%20%3D%3D%3D%2085%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20__showError%28%27%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%22contextmenu%22%2C%20function%20%28event%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%09%09%09%09%09%09%09%09__disableEventListener%28document%2C%20%27contextmenu%27%2C%20%27%27%29%3B%09%09%09%09%09%09%09%09%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%5D%5D%3E"></script> <style>#disable_msg { display: none; min-width: 250px; margin-left: -125px; background-color: #333; color: #fff; text-align: center; border-radius: 2px; padding: 16px; position: fixed; z-index: 999; left: 50%; bottom: 30px; font-size: 17px } }</style> <div id="disable_msg"></div><script defer src="data:text/javascript,function%20load_flying_press_youtube_video%28t%29%7Blet%20e%3Ddocument.createElement%28%22iframe%22%29%3Be.setAttribute%28%22src%22%2Ct.getAttribute%28%22data-src%22%29%29%2Ce.setAttribute%28%22frameborder%22%2C%220%22%29%2Ce.setAttribute%28%22allowfullscreen%22%2C%221%22%29%2Ce.setAttribute%28%22allow%22%2C%22autoplay%3B%20encrypted-media%3B%20gyroscope%3B%22%29%2Ct.innerHTML%3D%22%22%2Ct.appendChild%28e%29%7D"></script> <script>!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){!function(){var e,t=!1,n=!1,r=Array.from(document.querySelectorAll("script[data-loading-method][data-src]")),o=r.filter(function(e){return"idle"===e.dataset.loadingMethod}),a=r.filter(function(e){return"user-interaction"===e.dataset.loadingMethod}),i=document.querySelectorAll("link[data-href]");if(r.length||i.length){var c=["readystatechange","DOMContentLoaded","load"],u={readystatechange:[],DOMContentLoaded:[],load:[]},l=!1,d=EventTarget.prototype.addEventListener;EventTarget.prototype.addEventListener=function(e,t,n){if(!l||!c.includes(e))return d.call(this,e,t,n);u[e].push({target:this,listener:t,options:n})};var s=[{event:"click",target:document},{event:"mousemove",target:document},{event:"keydown",target:document},{event:"touchstart",target:document},{event:"touchmove",target:document},{event:"scroll",target:window}],f=function(e){s.forEach(function(t){return t.target.addEventListener(t.event,e,{passive:!0})})},v=function(e){s.forEach(function(t){return t.target.removeEventListener(t.event,e)})};window.requestIdleCallback=window.requestIdleCallback||function(e){return setTimeout(function(){var t=Date.now();e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)};var g=[],h=function(e){return g.push(e)};document.addEventListener("click",h,{passive:!0}),o.length&&window.requestIdleCallback(function(){return m(o)}),a.length&&(f(y),e=setTimeout(y,1e4)),f(function e(){i.forEach(function(e){e.href=e.getAttribute("data-href"),e.removeAttribute("data-href")}),v(e)})}function m(e){e.forEach(function(e){var t=e.getAttribute("data-src");if(!t.includes("data:")){var n=document.createElement("link");n.rel="preload",n.as="script",n.href=t,document.head.appendChild(n)}}),function r(o){if(o>e.length-1)n||(window.jQuery&&t&&window.jQuery.holdReady(!1),c.forEach(function(e){u[e].forEach(function(t){var n=t.target,r=t.listener;try{var o=new Event(e,{bubbles:!0,cancelable:!0});r.call(n,o)}catch(t){console.error("Error executing "+e+" listener:",t)}}),u[e].length=0}),document.removeEventListener("click",h),g.forEach(function(e){var t;return null==(t=e.target)?void 0:t.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,clientX:e.clientX,clientY:e.clientY}))}),g.length=0,n=!0);else{var a=e[o].getAttribute("data-src");window.jQuery&&"function"==typeof window.jQuery.holdReady&&!t&&(window.jQuery.holdReady(!0),t=!0),window.requestIdleCallback(function(){var e=document.createElement("script");l=!0;var t=setTimeout(function(){l&&(l=!1,r(o+1))},1500);e.onload=function(){clearTimeout(t),l=!1,r(o+1)},e.onerror=function(){clearTimeout(t),l=!1,r(o+1)},e.src=a,document.head.appendChild(e)})}}(0)}function y(){e&&clearTimeout(e),v(y),m(a)}}(),[{selector:"video[data-lazy-src],iframe[data-lazy-src]",callback:function(e){return function(t){if(t.isIntersecting){var n=t.target.getAttribute("data-lazy-src");t.target.setAttribute("src",n),e.unobserve(t.target)}}}},{selector:".flying-press-lazy-bg",callback:function(e){return function(t){t.isIntersecting&&(t.target.classList.remove("flying-press-lazy-bg"),e.unobserve(t.target))}}},{selector:'[style*="content-visibility"]',callback:function(e){return function(t){t.isIntersecting&&(t.target.style.removeProperty("content-visibility"),t.target.style.removeProperty("contain-intrinsic-size"),e.unobserve(t.target))}}}].forEach(function(e){var t=e.selector,n=e.callback,r=new IntersectionObserver(function(e){e.forEach(n(r))},{rootMargin:"300px"});document.querySelectorAll(t).forEach(function(e){return r.observe(e)})})}); </script> </body> </html> <!-- Powered by FlyingPress for lightning-fast performance. Learn more: https://flyingpress.com. Cached at 1770167635 -->