Comment réussir vos premiers pas en SEO pour un site high-tech innovant

Sommaires

Comment réussir vos premiers pas en SEO pour un site high-tech innovant

Comprendre les bases du SEO

Les éléments fondamentaux : mots-clés, balises et métadonnées

Ah, le SEO, ce terme presque mystique qui fait trembler les néophytes du référencement web! Commençons par la base : les mots-clés. Ils sont l’essence même d’une stratégie SEVous devez identifier des mots-clés pertinents qui décrivent parfaitement le contenu de votre page web, ceux que les utilisateurs pourraient taper dans un moteur de recherche pour tomber sur votre site. La recherche de mots-clés est un processus stratégique et créatif qui vous aidera à comprendre votre marché.

Ensuite, il y a les balises HTMDes balises comme </code> et <code></p> <h1></code> sont cruciales. La <strong>meta description</strong>, bien que ne contribuant pas directement au classement, fait une première impression marquante dans les <em>résultats de recherche</em>, attirant les clics comme des abeilles sur un pot de miel. Un bon usage de ces balises aide non seulement à optimiser votre site pour les moteurs de recherche, mais permet aussi à vos utilisateurs de savoir de quoi parlent vos pages avant de cliquer dessus.</p> <h3>L’importance du contenu de qualité et de la structure</h3> <p>Le contenu est roi; ça, c’est le mantra du SEO depuis des lustres. Mais que signifie <em>contenu de qualité</em> ? Il s’agit de créer un contenu intéressant, informatif, pertinent et, surtout, aligné avec l’<strong>intention de recherche</strong> des <em>utilisateurs</em>. Maîtriser l’art de rédiger des titres accrocheurs et captivants est une compétence précieuse, tout comme savoir quand et où insérer des mots-clés dans le texte de manière naturelle et lus les pour <em>l’humain</em> et les <em>robots</em>.</p> <p>Structurez votre contenu aussi bien qu’un plan d’architecte : utilisez des titres (H2, H3) et des sous-titres pour améliorer la lisibilité, ainsi que des <strong>liens internes</strong> qui permettent aux lecteurs de naviguer facilement entre vos <em>pages web</em>. Une bonne structure rend le contenu plus digeste et agréable à lire, augmentant ainsi le temps passé par les lecteurs sur votre site, ce qui est un autre signal positif pour les moteurs de recherche.</p> </section> <section> <h2>Optimisation technique pour le SEO</h2> <h3>Vitesse de chargement du site et compatibilité mobile</h3> <p>Rien de pire que d’attendre qu’une page se charge! Pour Google, la vitesse de chargement est cruciale. Assurez-vous que vos <em>pages</em> s’ouvrent rapidement sur tous les appareils. Utilisez des outils comme Google PageSpeed Insights pour tester ça facilement. Optimisez les images en utilisant des formats modernes comme WebP et appliquez la compression pour réduire leur taille tout en préservant la qualité visuelle. La minification des fichiers CSS et JavaScript peut également contribuer à des améliorations significatives de performance.</p> <p>À propos de compatibilité, il est impératif que votre site soit adapté aux mobiles. Avec plus de la moitié des recherches effectuées sur ces appareils, un site non optimisé est comme une voiture sans roues : elle ne va nulle part. Assurez-vous que votre site est responsive et qu’il offre une expérience utilisateur fluide et intuitive, peu importe la taille de l’écran utilisé.</p> <h3>Utilisation appropriée des balises HTML et des sitemaps</h3> <p>Parlons un peu technique : les balises HTML structurent votre contenu et aident Google à comprendre ce qui est important. Ajoutez des balises <code><alt></code> à vos images pour améliorer le SEO pour les moteurs de recherche tout en offrant une meilleure accessibilité aux utilisateurs malvoyants qui utilisent des lecteurs d’écran.</p> <p>Ensuite, un plan de site XML (sitemap) est comme une carte pour Google. Il indique où toutes vos <em>pages</em> se trouvent et assure un <strong>référencement naturel</strong> optimal. Pensez à soumettre votre sitemap à Google Search Console pour faciliter l’indexation de vos pages. Cela garantit que tout votre contenu, même les pages les moins accessibles via la navigation, est vu et pris en compte par les moteurs de recherche.</p> </section> <section> <h2>Stratégies de contenu pour améliorer votre visibilité</h2> <h3>Création de contenu engageant et régulièrement mis à jour</h3> <p>Créez un contenu qui résonne avec votre audience, et gardez-le frais! Un blog régulièrement mis à jour montre à Google que votre site est actif et pertinent. C’est un peu comme arroser régulièrement vos plantes pour qu’elles poussent toujours. En plus, un contenu mis à jour offre des opportunités de réutilisation et de recyclage pour de futures campagnes marketing ou de réseaux sociaux, maximisant ainsi votre investissement initial.</p> <p>Les contenus longs et détaillés ont aussi leur poids en or lorsqu’il s’agit de SEO pour Google Search. Ce type de contenu, souvent appelé contenu « pilier », traite en profondeur d’un sujet principal et constitue une ressource précieuse aussi bien pour les utilisateurs que pour les moteurs de recherche. Cependant, assurez-vous que le contenu reste clair, engageant et facile à naviguer.</p> <h3>Importance des liens internes et externes</h3> <ul> <li><strong>Liens internes</strong>: Ils renforcent la structure de votre site et aident à transférer le <em>jus de lien</em> (link juice) à travers vos <em>pages</em>. Cela permet également d’améliorer l’expérience utilisateur en facilitant la navigation.</li> <li><strong>Liens externes</strong>: Ceux vers et depuis d’autres sites sont des votes de confiance. Pensez à eux comme à des recommandations d’amis; ils disent aux moteurs de recherche que votre contenu est fiable. Assurez-vous que vos liens sortants pointent vers des sites de qualité et qu’ils apportent une valeur ajoutée à votre audience.</li> </ul> <p>Établir des partenariats avec d’autres sites de votre domaine peut aussi aider à constituer une base de liens solides, tout en favorisant des interactions positives entre marques.</p> </section> <section> <h2>Utilisation des outils modernes pour le SEO</h2> <h3>Présentation des principaux outils SEO : Google Analytics, SEMrush, etc.</h3> <p>Ah, la technologie à notre service! Il existe pléthore d’outils pour améliorer votre stratégie SE<strong>Google Analytics</strong> vous aide à comprendre le comportement des utilisateurs sur votre site, tandis que SEMrush vous offre une analyse approfondie de vos mots-clés et des performances de vos concurrents. Ne sous-estimez jamais la puissance des outils de référencement!</p> <p>D’autres outils comme Ahrefs, Moz, ou Screaming Frog vous offrent des perspectives et des données avancées pour optimiser votre SEO, surveiller les backlinks, et exécuter des audits techniques qui révèlent les opportunités de croissance.</p> <h3>Analyse et ajustement des stratégies grâce aux données obtenues</h3> <p>Avec ces outils, analysez vos <strong>résultats de recherche</strong> et évaluez votre stratégie de référencement web. Ajustez vos tactics au fur et à mesure que de nouvelles données apparaissent, assurant que votre site reste devant la compétition. Le suivi de vos KPI SEO clé, comme les taux de clics, les impressions, et les taux de conversion, vous donnera une meilleure compréhension de la façon dont vos efforts SEO affectent votre résultat net.</p> <p>Il est essentiel de revoir régulièrement vos analyses pour identifier ce qui fonctionne et ce qui nécessite des améliorations. Une approche data-driven permet de prendre des décisions éclairées qui conduisent à des résultats tangibles.</p> </section> <section> <h2>Suivi et adaptation de votre stratégie SEO</h2> <h3>Importance du suivi régulier des performances SEO</h3> <p>Surveillez régulièrement vos positions dans les résultats des moteurs, et utilisez des outils pour suivre votre <strong>trafic</strong>. Garder un œil vigilant vous permet de réagir rapidement aux changements. Un audit SEO régulier vous aide à comprendre où votre site peut tomber en panne et où il excelle.</p> <h3>Ajustement des stratégies en fonction des tendances et des mises à jour des algorithmes</h3> <p>Google ajuste ses algorithmes plus souvent que vous ne changez de chaussettes! Restez informé des nouvelles tendances SEO et ajustez votre stratégie de référencement naturel en conséquence. Comme l’a dit l’expert en SEO, « Soyez en rythme avec Google, et votre visibilité sur la page de résultats s’éclairera ».</p> <p>La flexibilité est cruciale. Les techniques actuelles pourraient devenir obsolètes dès la prochaine mise à jour majeure de l’algorithme, nécessitant ainsi des ajustements et parfois une refonte complète de la stratégie SEEn outre, prendre part à des communautés, assister à des conférences SEO, et suivre les blogs de l’industrie peut vous aider à rester en avance sur la courbe.</p> <p>Par-dessus tout, gardez à l’esprit que le SEO est un marathon, pas un sprint. La patience et la persévérance paient, car au fil du temps, un bon positionnement peut transformer votre site en une destination incontournable pour votre audience cible.</p> </section> <p></main></body></html></p> </div> </div> <div class="elementor-element elementor-element-1a5818c2 elementor-share-buttons--skin-flat elementor-share-buttons--view-icon-text elementor-share-buttons--shape-square elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons" data-id="1a5818c2" data-element_type="widget" data-e-type="widget" data-widget_type="share-buttons.default"> <div class="elementor-widget-container"> <div class="elementor-grid" role="list"> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_facebook" role="button" tabindex="0" aria-label="Partager sur facebook"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-facebook" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> Facebook </span> </div> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_twitter" role="button" tabindex="0" aria-label="Partager sur twitter"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> Twitter </span> </div> </div> </div> <div class="elementor-grid-item" role="listitem"> <div class="elementor-share-btn elementor-share-btn_linkedin" role="button" tabindex="0" aria-label="Partager sur linkedin"> <span class="elementor-share-btn__icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </span> <div class="elementor-share-btn__text"> <span class="elementor-share-btn__title"> LinkedIn </span> </div> </div> </div> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-2e2516b3" data-id="2e2516b3" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-40ea9c4e elementor-widget elementor-widget-heading" data-id="40ea9c4e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <div class="elementor-heading-title elementor-size-default">Les articles récents</div> </div> </div> <div class="elementor-element elementor-element-7660fed9 elementor-grid-1 elementor-posts--thumbnail-left elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-posts" data-id="7660fed9" data-element_type="widget" data-e-type="widget" data-settings="{"classic_columns":"1","classic_columns_tablet":"2","classic_columns_mobile":"1","classic_row_gap":{"unit":"px","size":35,"sizes":[]},"classic_row_gap_tablet":{"unit":"px","size":"","sizes":[]},"classic_row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="posts.classic"> <div class="elementor-widget-container"> <div class="elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid" role="list"> <article class="elementor-post elementor-grid-item post-416 post type-post status-publish format-standard has-post-thumbnail hentry category-actualites-digitales entry" role="listitem"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/actualites-digitales/batterie-electronique-roland/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="167" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-300x167.jpg" class="attachment-medium size-medium wp-image-417" alt="batterie electronique roland" style="width:100%;height:55.82%;max-width:2560px" /></div> </a> <div class="elementor-post__text"> <p class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/actualites-digitales/batterie-electronique-roland/" > Batterie électronique Roland : les 7 critères pour choisir le bon modèle </a> </p> </div> </article> <article class="elementor-post elementor-grid-item post-414 post type-post status-publish format-standard has-post-thumbnail hentry category-actualites-digitales entry" role="listitem"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/actualites-digitales/toutatice/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-300x171.webp" class="attachment-medium size-medium wp-image-415" alt="toutatice" style="width:100%;height:57.14%;max-width:2016px" /></div> </a> <div class="elementor-post__text"> <p class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/actualites-digitales/toutatice/" > Toutatice : l’outil numérique qui révolutionne l’éducation en Bretagne </a> </p> </div> </article> <article class="elementor-post elementor-grid-item post-412 post type-post status-publish format-standard has-post-thumbnail hentry category-web-tech entry" role="listitem"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/web-tech/site-film-dhorreur-gratuit/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-300x171.webp" class="attachment-medium size-medium wp-image-413" alt="site film d'horreur gratuit" style="width:100%;height:57.14%;max-width:2016px" /></div> </a> <div class="elementor-post__text"> <p class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/web-tech/site-film-dhorreur-gratuit/" > Surfez effrayé : cinq sites pour visionner des films d’horreur gratuits en ligne </a> </p> </div> </article> <article class="elementor-post elementor-grid-item post-410 post type-post status-publish format-standard has-post-thumbnail hentry category-web-tech entry" role="listitem"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/web-tech/comment-enlever-la-batterie-d-un-velo-electrique-bosch/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-300x171.webp" class="attachment-medium size-medium wp-image-411" alt="comment enlever la batterie d un velo electrique bosch" style="width:100%;height:57.14%;max-width:2016px" /></div> </a> <div class="elementor-post__text"> <p class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/web-tech/comment-enlever-la-batterie-d-un-velo-electrique-bosch/" > Retirez la batterie de votre vélo Bosch sans tracas pour plus de sécurité </a> </p> </div> </article> <article class="elementor-post elementor-grid-item post-408 post type-post status-publish format-standard has-post-thumbnail hentry category-web-tech entry" role="listitem"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/web-tech/casque-bose-avion/" tabindex="-1" > <div class="elementor-post__thumbnail"><img loading="lazy" width="300" height="171" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/03/Confort_ultime__pourquoi_le_casque_Bose_A30_est_essentiel_en_avion-300x171.webp" class="attachment-medium size-medium wp-image-409" alt="casque bose avion" style="width:100%;height:57.14%;max-width:2016px" /></div> </a> <div class="elementor-post__text"> <p class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/web-tech/casque-bose-avion/" > Confort ultime : pourquoi le casque Bose A30 est essentiel en avion </a> </p> </div> </article> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </section> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-160cac7b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="160cac7b" data-element_type="section" data-e-type="section" data-settings="{"background_background":"classic"}"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a91565d" data-id="7a91565d" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-371051e7 elementor-post-navigation-borders-yes elementor-widget elementor-widget-post-navigation" data-id="371051e7" data-element_type="widget" data-e-type="widget" data-widget_type="post-navigation.default"> <div class="elementor-widget-container"> <div class="elementor-post-navigation" role="navigation" aria-label="Navigation de publication"> <div class="elementor-post-navigation__prev elementor-post-navigation__link"> <a href="https://www.alexandre-louvenaz.com/ia/quand-les-robots-revent-limpact-futur-de-lia-sur-la-high-tech/" rel="prev"><span class="post-navigation__arrow-wrapper post-navigation__arrow-prev"><svg aria-hidden="true" class="e-font-icon-svg e-fas-angle-double-left" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"></path></svg><span class="elementor-screen-only">Précédent</span></span><span class="elementor-post-navigation__link__prev"><span class="post-navigation__prev--label">Précédent</span><span class="post-navigation__prev--title">Quand les robots rêvent : l’impact futur de l’IA sur la high-tech</span></span></a> </div> <div class="elementor-post-navigation__separator-wrapper"> <div class="elementor-post-navigation__separator"></div> </div> <div class="elementor-post-navigation__next elementor-post-navigation__link"> <a href="https://www.alexandre-louvenaz.com/non-classe/secrets-etonnants-pour-booster-la-creativite-de-votre-site-web-high-tech/" rel="next"><span class="elementor-post-navigation__link__next"><span class="post-navigation__next--label">Suivant</span><span class="post-navigation__next--title">Secrets étonnants pour booster la créativité de votre site web high-tech</span></span><span class="post-navigation__arrow-wrapper post-navigation__arrow-next"><svg aria-hidden="true" class="e-font-icon-svg e-fas-angle-double-right" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"></path></svg><span class="elementor-screen-only">Suivant</span></span></a> </div> </div> </div> </div> </div> </div> </div> </section> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-7a4b0cd3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7a4b0cd3" data-element_type="section" data-e-type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4b6cef31" data-id="4b6cef31" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-fcf603e elementor-widget elementor-widget-heading" data-id="fcf603e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h2 class="elementor-heading-title elementor-size-default">Les articles similaires</h2> </div> </div> <div class="elementor-element elementor-element-4554b004 elementor-grid-4 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-card-shadow-yes elementor-posts__hover-gradient elementor-widget elementor-widget-posts" data-id="4554b004" data-element_type="widget" data-e-type="widget" data-settings="{"cards_columns":"4","cards_row_gap":{"unit":"px","size":20,"sizes":[]},"cards_columns_tablet":"2","cards_columns_mobile":"1","cards_row_gap_tablet":{"unit":"px","size":"","sizes":[]},"cards_row_gap_mobile":{"unit":"px","size":"","sizes":[]}}" data-widget_type="posts.cards"> <div class="elementor-widget-container"> <div class="elementor-posts-container elementor-posts elementor-posts--skin-cards elementor-grid" role="list"> <article class="elementor-post elementor-grid-item post-416 post type-post status-publish format-standard has-post-thumbnail hentry category-actualites-digitales entry" role="listitem"> <div class="elementor-post__card"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/actualites-digitales/batterie-electronique-roland/" tabindex="-1" ><div class="elementor-post__thumbnail"><img loading="lazy" width="750" height="419" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-768x429.jpg" class="attachment-medium_large size-medium_large wp-image-417" alt="batterie electronique roland" decoding="async" srcset="https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-768x429.jpg 768w, https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-300x167.jpg 300w, https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-1024x572.jpg 1024w, https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-1536x857.jpg 1536w, https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-2048x1143.jpg 2048w, https://www.alexandre-louvenaz.com/wp-content/uploads/2026/02/Batterie_electronique_Roland__les_7_criteres_pour_choisir_le_bon_modele-1568x875.jpg 1568w" sizes="(max-width: 750px) 100vw, 750px" style="width:100%;height:55.82%;max-width:2560px;" /></div></a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/actualites-digitales/batterie-electronique-roland/" > Batterie électronique Roland : les 7 critères pour choisir le bon modèle </a> </h3> <div class="elementor-post__excerpt"> <p>Résumé, ou comment ne pas se planter sur son kit Roland Le réalisme des sensations et la polyvalence sonore embarquent</p> </div> <a class="elementor-post__read-more" href="https://www.alexandre-louvenaz.com/actualites-digitales/batterie-electronique-roland/" aria-label="En savoir plus sur Batterie électronique Roland : les 7 critères pour choisir le bon modèle" tabindex="-1" > Lire la suite » </a> </div> </div> </article> <article class="elementor-post elementor-grid-item post-414 post type-post status-publish format-standard has-post-thumbnail hentry category-actualites-digitales entry" role="listitem"> <div class="elementor-post__card"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/actualites-digitales/toutatice/" tabindex="-1" ><div class="elementor-post__thumbnail"><img loading="lazy" width="750" height="429" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-768x439.webp" class="attachment-medium_large size-medium_large wp-image-415" alt="toutatice" decoding="async" srcset="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-768x439.webp 768w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-300x171.webp 300w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-1024x585.webp 1024w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-1536x878.webp 1536w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne-1568x896.webp 1568w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/06/Toutatice__l_outil_numerique_qui_revolutionne_l_education_en_Bretagne.webp 2016w" sizes="(max-width: 750px) 100vw, 750px" style="width:100%;height:57.14%;max-width:2016px;" /></div></a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/actualites-digitales/toutatice/" > Toutatice : l’outil numérique qui révolutionne l’éducation en Bretagne </a> </h3> <div class="elementor-post__excerpt"> <p>En Bretagne, l’éducation prend un tournant décisif grâce à l’émergence de la plateforme Toutatice. Imaginez un espace numérique où élèves,</p> </div> <a class="elementor-post__read-more" href="https://www.alexandre-louvenaz.com/actualites-digitales/toutatice/" aria-label="En savoir plus sur Toutatice : l’outil numérique qui révolutionne l’éducation en Bretagne" tabindex="-1" > Lire la suite » </a> </div> </div> </article> <article class="elementor-post elementor-grid-item post-412 post type-post status-publish format-standard has-post-thumbnail hentry category-web-tech entry" role="listitem"> <div class="elementor-post__card"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/web-tech/site-film-dhorreur-gratuit/" tabindex="-1" ><div class="elementor-post__thumbnail"><img loading="lazy" width="750" height="429" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-768x439.webp" class="attachment-medium_large size-medium_large wp-image-413" alt="site film d'horreur gratuit" decoding="async" srcset="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-768x439.webp 768w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-300x171.webp 300w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-1024x585.webp 1024w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-1536x878.webp 1536w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne-1568x896.webp 1568w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/05/Surfez_effraye__cinq_sites_pour_visionner_des_films_d_horreur_gratuits_en_ligne.webp 2016w" sizes="(max-width: 750px) 100vw, 750px" style="width:100%;height:57.14%;max-width:2016px;" /></div></a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/web-tech/site-film-dhorreur-gratuit/" > Surfez effrayé : cinq sites pour visionner des films d’horreur gratuits en ligne </a> </h3> <div class="elementor-post__excerpt"> <p>Quoi de mieux pour frissonner dans le confort de son canapé avec une bonne dose de films d’horreur gratuits en</p> </div> <a class="elementor-post__read-more" href="https://www.alexandre-louvenaz.com/web-tech/site-film-dhorreur-gratuit/" aria-label="En savoir plus sur Surfez effrayé : cinq sites pour visionner des films d’horreur gratuits en ligne" tabindex="-1" > Lire la suite » </a> </div> </div> </article> <article class="elementor-post elementor-grid-item post-410 post type-post status-publish format-standard has-post-thumbnail hentry category-web-tech entry" role="listitem"> <div class="elementor-post__card"> <a class="elementor-post__thumbnail__link" href="https://www.alexandre-louvenaz.com/web-tech/comment-enlever-la-batterie-d-un-velo-electrique-bosch/" tabindex="-1" ><div class="elementor-post__thumbnail"><img loading="lazy" width="750" height="429" src="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-768x439.webp" class="attachment-medium_large size-medium_large wp-image-411" alt="comment enlever la batterie d un velo electrique bosch" decoding="async" srcset="https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-768x439.webp 768w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-300x171.webp 300w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-1024x585.webp 1024w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-1536x878.webp 1536w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite-1568x896.webp 1568w, https://www.alexandre-louvenaz.com/wp-content/uploads/2025/04/Retirez_la_batterie_de_votre_velo_Bosch_sans_tracas_pour_plus_de_securite.webp 2016w" sizes="(max-width: 750px) 100vw, 750px" style="width:100%;height:57.14%;max-width:2016px;" /></div></a> <div class="elementor-post__text"> <h3 class="elementor-post__title"> <a href="https://www.alexandre-louvenaz.com/web-tech/comment-enlever-la-batterie-d-un-velo-electrique-bosch/" > Retirez la batterie de votre vélo Bosch sans tracas pour plus de sécurité </a> </h3> <div class="elementor-post__excerpt"> <p>Naviguer l’univers des vélos électriques peut parfois donner l’impression d’être dans un labyrinthe sans fin. Et quand il s’agit de</p> </div> <a class="elementor-post__read-more" href="https://www.alexandre-louvenaz.com/web-tech/comment-enlever-la-batterie-d-un-velo-electrique-bosch/" aria-label="En savoir plus sur Retirez la batterie de votre vélo Bosch sans tracas pour plus de sécurité" tabindex="-1" > Lire la suite » </a> </div> </div> </article> </div> </div> </div> </div> </div> </div> </section> </div> <footer data-elementor-type="footer" data-elementor-id="257" class="elementor elementor-257 elementor-location-footer" data-elementor-post-type="elementor_library"> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-443ba874 elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="443ba874" data-element_type="section" data-e-type="section" data-settings="{"background_background":"classic"}"> <div class="elementor-background-overlay"></div> <div class="elementor-container elementor-column-gap-no"> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c846f55" data-id="4c846f55" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-inner-section elementor-element elementor-element-1cc15805 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1cc15805" data-element_type="section" data-e-type="section"> <div class="elementor-container elementor-column-gap-no"> <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-2f9750b7" data-id="2f9750b7" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-cfbff53 elementor-widget elementor-widget-tl-site-logo" data-id="cfbff53" data-element_type="widget" data-e-type="widget" data-widget_type="tl-site-logo.default"> <div class="elementor-widget-container"> <a href="https://www.alexandre-louvenaz.com"><img src="https://www.alexandre-louvenaz.com/wp-content/uploads/2024/01/Alexandre-Louvenaz.png" title="Alexandre Louvenaz" alt="" class="attachment-full size-full wp-image-114" loading="lazy" /></a> </div> </div> </div> </div> <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-891976e" data-id="891976e" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-82409ed elementor-widget elementor-widget-heading" data-id="82409ed" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h2 class="elementor-heading-title elementor-size-default">Catégorie</h2> </div> </div> <div class="elementor-element elementor-element-00ce362 elementor-nav-menu__align-center elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu" data-id="00ce362" data-element_type="widget" data-e-type="widget" data-settings="{"layout":"vertical","submenu_icon":{"value":"<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-caret-down\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"><\/path><\/svg>","library":"fa-solid"},"toggle":"burger"}" data-widget_type="nav-menu.default"> <div class="elementor-widget-container"> <nav aria-label="Menu" class="elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-vertical e--pointer-underline e--animation-fade"> <ul id="menu-1-00ce362" class="elementor-nav-menu sm-vertical"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-161"><a href="https://www.alexandre-louvenaz.com/./actualites-digitales/" class="elementor-item">Actualités digitales</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-162"><a href="https://www.alexandre-louvenaz.com/./guide-digital/" class="elementor-item">Guide Digital</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-163"><a href="https://www.alexandre-louvenaz.com/./ia/" class="elementor-item">IA</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-164"><a href="https://www.alexandre-louvenaz.com/./web-tech/" class="elementor-item">Web & Tech</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-165"><a href="https://www.alexandre-louvenaz.com/./web-marketing/" class="elementor-item">Web Marketing</a></li> </ul> </nav> <div class="elementor-menu-toggle" role="button" tabindex="0" aria-label="Permuter le menu" aria-expanded="false"> <svg aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--open e-font-icon-svg e-eicon-menu-bar" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><path d="M104 333H896C929 333 958 304 958 271S929 208 896 208H104C71 208 42 237 42 271S71 333 104 333ZM104 583H896C929 583 958 554 958 521S929 458 896 458H104C71 458 42 487 42 521S71 583 104 583ZM104 833H896C929 833 958 804 958 771S929 708 896 708H104C71 708 42 737 42 771S71 833 104 833Z"></path></svg><svg aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--close e-font-icon-svg e-eicon-close" viewBox="0 0 1000 1000" xmlns="http://www.w3.org/2000/svg"><path d="M742 167L500 408 258 167C246 154 233 150 217 150 196 150 179 158 167 167 154 179 150 196 150 212 150 229 154 242 171 254L408 500 167 742C138 771 138 800 167 829 196 858 225 858 254 829L496 587 738 829C750 842 767 846 783 846 800 846 817 842 829 829 842 817 846 804 846 783 846 767 842 750 829 737L588 500 833 258C863 229 863 200 833 171 804 137 775 137 742 167Z"></path></svg> </div> <nav class="elementor-nav-menu--dropdown elementor-nav-menu__container" aria-hidden="true"> <ul id="menu-2-00ce362" class="elementor-nav-menu sm-vertical"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-161"><a href="https://www.alexandre-louvenaz.com/./actualites-digitales/" class="elementor-item" tabindex="-1">Actualités digitales</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-162"><a href="https://www.alexandre-louvenaz.com/./guide-digital/" class="elementor-item" tabindex="-1">Guide Digital</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-163"><a href="https://www.alexandre-louvenaz.com/./ia/" class="elementor-item" tabindex="-1">IA</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-164"><a href="https://www.alexandre-louvenaz.com/./web-tech/" class="elementor-item" tabindex="-1">Web & Tech</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-165"><a href="https://www.alexandre-louvenaz.com/./web-marketing/" class="elementor-item" tabindex="-1">Web Marketing</a></li> </ul> </nav> </div> </div> </div> </div> <div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-3d79ebb" data-id="3d79ebb" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap"> </div> </div> </div> </section> </div> </div> </div> </section> <section data-particle_enable="false" data-particle-mobile-disabled="false" class="elementor-section elementor-top-section elementor-element elementor-element-3c4aee11 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3c4aee11" data-element_type="section" data-e-type="section" data-settings="{"background_background":"classic"}"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7f1ee788" data-id="7f1ee788" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-3545ce72 elementor-icon-list--layout-inline elementor-align-start elementor-mobile-align-center elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="3545ce72" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items elementor-inline-items"> <li class="elementor-icon-list-item elementor-inline-item"> <a href="/contact/"> <span class="elementor-icon-list-text">Contact</span> </a> </li> <li class="elementor-icon-list-item elementor-inline-item"> <a href="/mentions-legales/"> <span class="elementor-icon-list-text">Mentions légales</span> </a> </li> <li class="elementor-icon-list-item elementor-inline-item"> <a href="/sitemap_index.xml"> <span class="elementor-icon-list-text">Plan du site</span> </a> </li> </ul> </div> </div> </div> </div> <div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-44db4a1a" data-id="44db4a1a" data-element_type="column" data-e-type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-59572fd9 elementor-widget elementor-widget-heading" data-id="59572fd9" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <div class="elementor-heading-title elementor-size-default">© 2024. Tous droits réservés</div> </div> </div> </div> </div> </div> </section> </footer> <script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/twentytwentyone/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <script type="text/phast">document.body.classList.remove('no-js');</script> <script type="text/phast">const lazyloadRunObserver=()=>{const lazyloadBackgrounds=document.querySelectorAll(`.e-con.e-parent:not(.e-lazyloaded)`);const lazyloadBackgroundObserver=new IntersectionObserver((entries)=>{entries.forEach((entry)=>{if(entry.isIntersecting){let lazyloadBackground=entry.target;if(lazyloadBackground){lazyloadBackground.classList.add('e-lazyloaded');} lazyloadBackgroundObserver.unobserve(entry.target);}});},{rootMargin:'200px 0px 200px 0px'});lazyloadBackgrounds.forEach((lazyloadBackground)=>{lazyloadBackgroundObserver.observe(lazyloadBackground);});};const events=['DOMContentLoaded','elementor/lazyload/observe',];events.forEach((event)=>{document.addEventListener(event,lazyloadRunObserver);});</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-includes/js/dist/hooks.min.js?ver=7496969728ca0f95732d" data-phast-params='{"ref":"Yh3j3jW7Y7A"}' type="text/phast" id="wp-hooks-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-includes/js/dist/i18n.min.js?ver=781d11515ad3d91786ec" data-phast-params='{"ref":"fFSh1O7JngQ"}' type="text/phast" id="wp-i18n-js"></script> <script type="text/phast" id="wp-i18n-js-after">wp.i18n.setLocaleData({'text direction\u0004ltr':['ltr']});</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.6" data-phast-params='{"ref":"jVt0L8BFNk8"}' type="text/phast" id="swv-js"></script> <script type="text/phast" id="contact-form-7-js-before">var wpcf7={"api":{"root":"https:\/\/www.alexandre-louvenaz.com\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":1};</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.6" data-phast-params='{"ref":"SqxVuwOplew"}' type="text/phast" id="contact-form-7-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/themes/twentytwentyone/assets/js/responsive-embeds.js?ver=2.8" data-phast-params='{"ref":"kct73sDhCjE"}' type="text/phast" id="twenty-twenty-one-responsive-embeds-script-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=4.1.1" data-phast-params='{"ref":"lWLaNdbW22I"}' type="text/phast" id="elementor-webpack-runtime-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.1.1" data-phast-params='{"ref":"IDa2-O6yeAE"}' type="text/phast" id="elementor-frontend-modules-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" data-phast-params='{"ref":"7uwf9jlMkFQ"}' type="text/phast" id="jquery-ui-core-js"></script> <script type="text/phast" id="elementor-frontend-js-extra">var EAELImageMaskingConfig={"svg_dir_url":"https://www.alexandre-louvenaz.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/img/image-masking/svg-shapes/"};</script> <script type="text/phast" id="elementor-frontend-js-before">var elementorFrontendConfig={"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"4.1.1","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"theme_builder_v2":true,"nested-elements":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_widget_creation":true,"import-export-customization":true,"e_pro_atomic_form":true,"e_pro_variables":true,"e_pro_interactions":true},"urls":{"assets":"https:\/\/www.alexandre-louvenaz.com\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.alexandre-louvenaz.com\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.alexandre-louvenaz.com\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"11d3c471c3","atomicFormsSendForm":"5fc408690a"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":276,"title":"R%C3%A9ussir%20le%20SEO%20pour%20un%20site%20high-tech%20innovant","excerpt":"","featuredImage":"https:\/\/www.alexandre-louvenaz.com\/wp-content\/uploads\/2024\/10\/Comment_reussir_vos_premiers_pas_en_SEO_pour_un_site_high_tech_innovant-1024x578.webp"}};</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.1.1" data-phast-params='{"ref":"7b6N3B23FzY"}' type="text/phast" id="elementor-frontend-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1" data-phast-params='{"ref":"7eEBiFWfSD4"}' type="text/phast" id="smartmenus-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=4.0.4" data-phast-params='{"ref":"UEeAT61Hhxc"}' type="text/phast" id="e-sticky-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0" data-phast-params='{"ref":"S49etrdcqdI"}' type="text/phast" id="imagesloaded-js"></script> <script type="text/phast" id="eael-general-js-extra">var localize={"ajaxurl":"https://www.alexandre-louvenaz.com/wp-admin/admin-ajax.php","nonce":"83a2d4cb4d","i18n":{"added":"Added ","compare":"Compare","loading":"Loading..."},"eael_translate_text":{"required_text":"is a required field","invalid_text":"Invalid","billing_text":"Billing","shipping_text":"Shipping","fg_mfp_counter_text":"of"},"page_permalink":"https://www.alexandre-louvenaz.com/non-classe/comment-reussir-vos-premiers-pas-en-seo-pour-un-site-high-tech-innovant/","cart_redirectition":"","cart_page_url":"","el_breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"ParticleThemesData":{"default":"{\"particles\":{\"number\":{\"value\":160,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":true,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"repulse\"},\"onclick\":{\"enable\":true,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nasa":"{\"particles\":{\"number\":{\"value\":250,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":1,\"random\":true,\"anim\":{\"enable\":true,\"speed\":1,\"opacity_min\":0,\"sync\":false}},\"size\":{\"value\":3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":4,\"size_min\":0.3,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":1,\"direction\":\"none\",\"random\":true,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":600}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":250,\"size\":0,\"duration\":2,\"opacity\":0,\"speed\":3},\"repulse\":{\"distance\":400,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","bubble":"{\"particles\":{\"number\":{\"value\":15,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#1b1e34\"},\"shape\":{\"type\":\"polygon\",\"stroke\":{\"width\":0,\"color\":\"#000\"},\"polygon\":{\"nb_sides\":6},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.3,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":50,\"random\":false,\"anim\":{\"enable\":true,\"speed\":10,\"size_min\":40,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":200,\"color\":\"#ffffff\",\"opacity\":1,\"width\":2},\"move\":{\"enable\":true,\"speed\":8,\"direction\":\"none\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":false,\"mode\":\"push\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","snow":"{\"particles\":{\"number\":{\"value\":450,\"density\":{\"enable\":true,\"value_area\":800}},\"color\":{\"value\":\"#fff\"},\"shape\":{\"type\":\"circle\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"img/github.svg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":5,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":500,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":2},\"move\":{\"enable\":true,\"speed\":6,\"direction\":\"bottom\",\"random\":false,\"straight\":false,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":true,\"mode\":\"bubble\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":400,\"line_linked\":{\"opacity\":0.5}},\"bubble\":{\"distance\":400,\"size\":4,\"duration\":0.3,\"opacity\":1,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}","nyan_cat":"{\"particles\":{\"number\":{\"value\":150,\"density\":{\"enable\":false,\"value_area\":800}},\"color\":{\"value\":\"#ffffff\"},\"shape\":{\"type\":\"star\",\"stroke\":{\"width\":0,\"color\":\"#000000\"},\"polygon\":{\"nb_sides\":5},\"image\":{\"src\":\"http://wiki.lexisnexis.com/academic/images/f/fb/Itunes_podcast_icon_300.jpg\",\"width\":100,\"height\":100}},\"opacity\":{\"value\":0.5,\"random\":false,\"anim\":{\"enable\":false,\"speed\":1,\"opacity_min\":0.1,\"sync\":false}},\"size\":{\"value\":4,\"random\":true,\"anim\":{\"enable\":false,\"speed\":40,\"size_min\":0.1,\"sync\":false}},\"line_linked\":{\"enable\":false,\"distance\":150,\"color\":\"#ffffff\",\"opacity\":0.4,\"width\":1},\"move\":{\"enable\":true,\"speed\":14,\"direction\":\"left\",\"random\":false,\"straight\":true,\"out_mode\":\"out\",\"bounce\":false,\"attract\":{\"enable\":false,\"rotateX\":600,\"rotateY\":1200}}},\"interactivity\":{\"detect_on\":\"canvas\",\"events\":{\"onhover\":{\"enable\":false,\"mode\":\"grab\"},\"onclick\":{\"enable\":true,\"mode\":\"repulse\"},\"resize\":true},\"modes\":{\"grab\":{\"distance\":200,\"line_linked\":{\"opacity\":1}},\"bubble\":{\"distance\":400,\"size\":40,\"duration\":2,\"opacity\":8,\"speed\":3},\"repulse\":{\"distance\":200,\"duration\":0.4},\"push\":{\"particles_nb\":4},\"remove\":{\"particles_nb\":2}}},\"retina_detect\":true}"},"eael_login_nonce":"49edbfa764","eael_register_nonce":"8fcb8c214a","eael_lostpassword_nonce":"d58672e35c","eael_resetpassword_nonce":"6205dc64c1"};</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/essential-addons-for-elementor-lite/assets/front-end/js/view/general.min.js?ver=6.6.5" data-phast-params='{"ref":"PY4zPqRO7CI"}' type="text/phast" id="eael-general-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=4.0.4" data-phast-params='{"ref":"s4KAVCfniK0"}' type="text/phast" id="elementor-pro-webpack-runtime-js"></script> <script type="text/phast" id="elementor-pro-frontend-js-before">var ElementorProFrontendConfig={"ajaxurl":"https:\/\/www.alexandre-louvenaz.com\/wp-admin\/admin-ajax.php","nonce":"b96ff85205","urls":{"assets":"https:\/\/www.alexandre-louvenaz.com\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.alexandre-louvenaz.com\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":false},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"fr_FR","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.alexandre-louvenaz.com\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};</script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=4.0.4" data-phast-params='{"ref":"ZY-nkt8rbD0"}' type="text/phast" id="elementor-pro-frontend-js"></script> <script data-phast-original-src="https://www.alexandre-louvenaz.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=4.0.4" data-phast-params='{"ref":"7pTftBltO4U"}' type="text/phast" id="pro-elements-handlers-js"></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://www.alexandre-louvenaz.com/wp-includes/js/wp-emoji-release.min.js?ver=7.0"}}</script> <script type="module">/*! 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)))}); //# sourceURL=https://www.alexandre-louvenaz.com/wp-includes/js/wp-emoji-loader.min.js</script> <script data-phast-compiled-js-names="ScriptsProxyService/rewrite-function.js,CSSInlining/ie-fallback.js,CSSInlining/inlined-css-retriever.js,ScriptsDeferring/scripts-loader.js,ScriptsDeferring/rewrite.js">(function phastScripts(phast){phast.scripts=[(function(){phast.config=JSON.parse(atob(phast.config));while(phast.scripts.length){phast.scripts.shift()()} }),(function(){(function(a,b){typeof exports==="object"&&typeof module!=="undefined"?module.exports=b():typeof define==="function"&&define.amd?define(b):a.ES6Promise=b()})(phast,function(){"use strict";function c(ia){var ja=typeof ia;return ia!==null&&(ja==="object"||ja==="function")}function d(ka){return typeof ka==="function"}var e=void 0;if(Array.isArray){e=Array.isArray}else{e=function(la){return Object.prototype.toString.call(la)==="[object Array]"}}var f=e;var g=0;var h=void 0;var i=void 0;var j=function ma(na,oa){w[g]=na;w[g+1]=oa;g+=2;if(g===2){if(i){i(x)}else{z()}}};function k(pa){i=pa}function l(qa){j=qa}var m=typeof window!=="undefined"?window:undefined;var n=m||{};var o=n.MutationObserver||n.WebKitMutationObserver;var p=typeof self==="undefined"&&typeof process!=="undefined"&&{}.toString.call(process)==="[object process]";var q=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function r(){return function(){return process.nextTick(x)}}function s(){if(typeof h!=="undefined"){return function(){h(x)}}return v()}function t(){var ra=0;var sa=new o(x);var ta=document.createTextNode("");sa.observe(ta,{characterData:true});return function(){ta.data=ra=++ra%2}}function u(){var ua=new MessageChannel;ua.port1.onmessage=x;return function(){return ua.port2.postMessage(0)}}function v(){var va=setTimeout;return function(){return va(x,1)}}var w=new Array(1e3);function x(){for(var wa=0;wa<g;wa+=2){var xa=w[wa];var ya=w[wa+1];xa(ya);w[wa]=undefined;w[wa+1]=undefined}g=0}function y(){try{var za=Function("return this")().require("vertx");h=za.runOnLoop||za.runOnContext;return s()}catch(Aa){return v()}}var z=void 0;if(p){z=r()}else if(o){z=t()}else if(q){z=u()}else if(m===undefined&&typeof require==="function"){z=y()}else{z=v()}function A(Ba,Ca){var Da=this;var Ea=new this.constructor(D);if(Ea[C]===undefined){$(Ea)}var Fa=Da._state;if(Fa){var Ga=arguments[Fa-1];j(function(){return W(Fa,Ea,Ga,Da._result)})}else{T(Da,Ea,Ba,Ca)}return Ea}function B(Ha){var Ia=this;if(Ha&&typeof Ha==="object"&&Ha.constructor===Ia){return Ha}var Ja=new Ia(D);P(Ja,Ha);return Ja}var C=Math.random().toString(36).substring(2);function D(){}var E=void 0;var F=1;var G=2;var H={error:null};function I(){return new TypeError("You cannot resolve a promise with itself")}function J(){return new TypeError("A promises callback cannot return that same promise.")}function K(Ka){try{return Ka.then}catch(La){H.error=La;return H}}function L(Ma,Na,Oa,Pa){try{Ma.call(Na,Oa,Pa)}catch(Qa){return Qa}}function M(Ra,Sa,Ta){j(function(Ua){var Va=false;var Wa=L(Ta,Sa,function(Xa){if(Va){return}Va=true;if(Sa!==Xa){P(Ua,Xa)}else{R(Ua,Xa)}},function(Ya){if(Va){return}Va=true;S(Ua,Ya)},"Settle: "+(Ua._label||" unknown promise"));if(!Va&&Wa){Va=true;S(Ua,Wa)}},Ra)}function N(Za,$a){if($a._state===F){R(Za,$a._result)}else if($a._state===G){S(Za,$a._result)}else{T($a,undefined,function(_a){return P(Za,_a)},function(a0){return S(Za,a0)})}}function O(b0,c0,d0){if(c0.constructor===b0.constructor&&d0===A&&c0.constructor.resolve===B){N(b0,c0)}else{if(d0===H){S(b0,H.error);H.error=null}else if(d0===undefined){R(b0,c0)}else if(d(d0)){M(b0,c0,d0)}else{R(b0,c0)}}}function P(e0,f0){if(e0===f0){S(e0,I())}else if(c(f0)){O(e0,f0,K(f0))}else{R(e0,f0)}}function Q(g0){if(g0._onerror){g0._onerror(g0._result)}U(g0)}function R(h0,i0){if(h0._state!==E){return}h0._result=i0;h0._state=F;if(h0._subscribers.length!==0){j(U,h0)}}function S(j0,k0){if(j0._state!==E){return}j0._state=G;j0._result=k0;j(Q,j0)}function T(l0,m0,n0,o0){var p0=l0._subscribers;var q0=p0.length;l0._onerror=null;p0[q0]=m0;p0[q0+F]=n0;p0[q0+G]=o0;if(q0===0&&l0._state){j(U,l0)}}function U(r0){var s0=r0._subscribers;var t0=r0._state;if(s0.length===0){return}var u0=void 0,v0=void 0,w0=r0._result;for(var x0=0;x0<s0.length;x0+=3){u0=s0[x0];v0=s0[x0+t0];if(u0){W(t0,u0,v0,w0)}else{v0(w0)}}r0._subscribers.length=0}function V(y0,z0){try{return y0(z0)}catch(A0){H.error=A0;return H}}function W(B0,C0,D0,E0){var F0=d(D0),G0=void 0,H0=void 0,I0=void 0,J0=void 0;if(F0){G0=V(D0,E0);if(G0===H){J0=true;H0=G0.error;G0.error=null}else{I0=true}if(C0===G0){S(C0,J());return}}else{G0=E0;I0=true}if(C0._state!==E){}else if(F0&&I0){P(C0,G0)}else if(J0){S(C0,H0)}else if(B0===F){R(C0,G0)}else if(B0===G){S(C0,G0)}}function X(K0,L0){try{L0(function M0(N0){P(K0,N0)},function O0(P0){S(K0,P0)})}catch(Q0){S(K0,Q0)}}var Y=0;function Z(){return Y++}function $(R0){R0[C]=Y++;R0._state=undefined;R0._result=undefined;R0._subscribers=[]}function _(){return new Error("Array Methods must be provided an Array")}var aa=function(){function S0(T0,U0){this._instanceConstructor=T0;this.promise=new T0(D);if(!this.promise[C]){$(this.promise)}if(f(U0)){this.length=U0.length;this._remaining=U0.length;this._result=new Array(this.length);if(this.length===0){R(this.promise,this._result)}else{this.length=this.length||0;this._enumerate(U0);if(this._remaining===0){R(this.promise,this._result)}}}else{S(this.promise,_())}}S0.prototype._enumerate=function V0(W0){for(var X0=0;this._state===E&&X0<W0.length;X0++){this._eachEntry(W0[X0],X0)}};S0.prototype._eachEntry=function Y0(Z0,$0){var _0=this._instanceConstructor;var ab=_0.resolve;if(ab===B){var bb=K(Z0);if(bb===A&&Z0._state!==E){this._settledAt(Z0._state,$0,Z0._result)}else if(typeof bb!=="function"){this._remaining--;this._result[$0]=Z0}else if(_0===ga){var cb=new _0(D);O(cb,Z0,bb);this._willSettleAt(cb,$0)}else{this._willSettleAt(new _0(function(db){return db(Z0)}),$0)}}else{this._willSettleAt(ab(Z0),$0)}};S0.prototype._settledAt=function eb(fb,gb,hb){var ib=this.promise;if(ib._state===E){this._remaining--;if(fb===G){S(ib,hb)}else{this._result[gb]=hb}}if(this._remaining===0){R(ib,this._result)}};S0.prototype._willSettleAt=function jb(kb,lb){var mb=this;T(kb,undefined,function(nb){return mb._settledAt(F,lb,nb)},function(ob){return mb._settledAt(G,lb,ob)})};return S0}();function ba(pb){return new aa(this,pb).promise}function ca(qb){var rb=this;if(!f(qb)){return new rb(function(sb,tb){return tb(new TypeError("You must pass an array to race."))})}else{return new rb(function(ub,vb){var wb=qb.length;for(var xb=0;xb<wb;xb++){rb.resolve(qb[xb]).then(ub,vb)}})}}function da(yb){var zb=this;var Ab=new zb(D);S(Ab,yb);return Ab}function ea(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function fa(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var ga=function(){function Bb(Cb){this[C]=Z();this._result=this._state=undefined;this._subscribers=[];if(D!==Cb){typeof Cb!=="function"&&ea();this instanceof Bb?X(this,Cb):fa()}}Bb.prototype.catch=function Db(Eb){return this.then(null,Eb)};Bb.prototype.finally=function Fb(Gb){var Hb=this;var Ib=Hb.constructor;return Hb.then(function(Jb){return Ib.resolve(Gb()).then(function(){return Jb})},function(Kb){return Ib.resolve(Gb()).then(function(){throw Kb})})};return Bb}();ga.prototype.then=A;ga.all=ba;ga.race=ca;ga.resolve=B;ga.reject=da;ga._setScheduler=k;ga._setAsap=l;ga._asap=j;function ha(){var Lb=void 0;if(typeof global!=="undefined"){Lb=global}else if(typeof self!=="undefined"){Lb=self}else{try{Lb=Function("return this")()}catch(Ob){throw new Error("polyfill failed because global object is unavailable in this environment")}}var Mb=Lb.Promise;if(Mb){var Nb=null;try{Nb=Object.prototype.toString.call(Mb.resolve())}catch(Pb){}if(Nb==="[object Promise]"&&!Mb.cast){return}}Lb.Promise=ga}ga.polyfill=ha;ga.Promise=ga;return ga}); }),(function(){function murmurhash3_32_gc(a,b){var c,d,e,f,g,h,i,j,k,l;c=a.length&3;d=a.length-c;e=b;g=3432918353;i=461845907;l=0;while(l<d){k=a.charCodeAt(l)&255|(a.charCodeAt(++l)&255)<<8|(a.charCodeAt(++l)&255)<<16|(a.charCodeAt(++l)&255)<<24;++l;k=(k&65535)*g+(((k>>>16)*g&65535)<<16)&4294967295;k=k<<15|k>>>17;k=(k&65535)*i+(((k>>>16)*i&65535)<<16)&4294967295;e^=k;e=e<<13|e>>>19;f=(e&65535)*5+(((e>>>16)*5&65535)<<16)&4294967295;e=(f&65535)+27492+(((f>>>16)+58964&65535)<<16)}k=0;switch(c){case 3:k^=(a.charCodeAt(l+2)&255)<<16;case 2:k^=(a.charCodeAt(l+1)&255)<<8;case 1:k^=a.charCodeAt(l)&255;k=(k&65535)*g+(((k>>>16)*g&65535)<<16)&4294967295;k=k<<15|k>>>17;k=(k&65535)*i+(((k>>>16)*i&65535)<<16)&4294967295;e^=k}e^=a.length;e^=e>>>16;e=(e&65535)*2246822507+(((e>>>16)*2246822507&65535)<<16)&4294967295;e^=e>>>13;e=(e&65535)*3266489909+(((e>>>16)*3266489909&65535)<<16)&4294967295;e^=e>>>16;return e>>>0}phast.hash=murmurhash3_32_gc; }),(function(){phast.buildServiceUrl=function(a,b){if(a.pathInfo){return appendPathInfo(a.serviceUrl,buildQuery(b))}else{return appendQueryString(a.serviceUrl,buildQuery(b))}};function buildQuery(c){if(typeof c==="string"){return c}var d=[];for(var e in c){if(c.hasOwnProperty(e)){d.push(encodeURIComponent(e)+"="+encodeURIComponent(c[e]))}}return d.join("&")}function appendPathInfo(f,g){var h=btoa(g).replace(/=/g,"").replace(/\//g,"_").replace(/\+/g,"-");var i=j(h+".q.js");return f.replace(/\?.*$/,"").replace(/\/__p__\.js$/,"")+"/"+i;function j(l){return k(k(l).match(/[\s\S]{1,255}/g).join("/"))}function k(m){return m.split("").reverse().join("")}}function appendQueryString(n,o){var p=n.indexOf("?")>-1?"&":"?";return n+p+o} }),(function(){var Promise=phast.ES6Promise.Promise;phast.ResourceLoader=function(a,b){this.get=function(c){return b.get(c).then(function(d){if(typeof d!=="string"){throw new Error("response should be string")}return d}).catch(function(){var e=a.get(c);e.then(function(f){b.set(c,f)});return e})}};phast.ResourceLoader.RequestParams={};phast.ResourceLoader.RequestParams.FaultyParams={};phast.ResourceLoader.RequestParams.fromString=function(g){try{return JSON.parse(g)}catch(h){return phast.ResourceLoader.RequestParams.FaultyParams}};phast.ResourceLoader.BundlerServiceClient=function(i,j,k){var l=phast.ResourceLoader.BundlerServiceClient.RequestsPack;var m=l.PackItem;var n;this.get=function(q){if(q===phast.ResourceLoader.RequestParams.FaultyParams){return Promise.reject(new Error("Parameters did not parse as JSON"))}return new Promise(function(r,s){if(n===undefined){n=new l(j)}n.add(new m({success:r,error:s},q));setTimeout(o);if(n.toQuery().length>4500){console.log("[Phast] Resource loader: Pack got too big; flushing early...");o()}})};function o(){if(n===undefined){return}var t=n;n=undefined;p(t)}function p(u){var v=phast.buildServiceUrl({serviceUrl:i,pathInfo:k},"service=bundler&"+u.toQuery());var w=function(){console.error("[Phast] Request to bundler failed with status",y.status);console.log("URL:",v);u.handleError()};var x=function(){if(y.status>=200&&y.status<300){u.handleResponse(y.responseText)}else{u.handleError()}};var y=new XMLHttpRequest;y.open("GET",v);y.addEventListener("error",w);y.addEventListener("abort",w);y.addEventListener("load",x);y.send()}};phast.ResourceLoader.BundlerServiceClient.RequestsPack=function(z){var A={};this.getLength=function(){var F=0;for(var G in A){F++}return F};this.add=function(H){var I;if(H.params.token){I="token="+H.params.token}else if(H.params.ref){I="ref="+H.params.ref}else{I=""}if(!A[I]){A[I]={params:H.params,requests:[H.request]}}else{A[I].requests.push(H.request)}};this.toQuery=function(){var J=[],K=[],L="";B().forEach(function(M){var N,O;for(var P in A[M].params){if(P==="cacheMarker"){K.push(A[M].params.cacheMarker);continue}N=z[P]?z[P]:P;if(P==="strip-imports"){O=encodeURIComponent(N)}else if(P==="src"){O=encodeURIComponent(N)+"="+encodeURIComponent(C(A[M].params.src,L));L=A[M].params.src}else{O=encodeURIComponent(N)+"="+encodeURIComponent(A[M].params[P])}J.push(O)}});if(K.length>0){J.unshift("c="+phast.hash(K.join("|"),23045))}return E(J.join("&"))};function B(){return Object.keys(A).sort(function(R,S){return Q(R,S)?1:Q(S,R)?-1:0});function Q(T,U){if(typeof A[T].params.src!=="undefined"&&typeof A[U].params.src!=="undefined"){return A[T].params.src>A[U].params.src}return T>U}}function C(V,W){var X=0,Y=Math.pow(36,2)-1;while(X<W.length&&V[X]===W[X]){X++}X=Math.min(X,Y);return D(X)+""+V.substr(X)}function D(Z){var $=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];var _=Z%36;var aa=Math.floor((Z-_)/36);return $[aa]+$[_]}function E(ba){if(!/(^|&)s=/.test(ba)){return ba}return ba.replace(/(%..)|([A-M])|([N-Z])/gi,function(ca,da,ea,fa){if(da){return ca}return String.fromCharCode(ca.charCodeAt(0)+(ea?13:-13))})}this.handleResponse=function(ga){try{var ha=JSON.parse(ga)}catch(ja){this.handleError();return}var ia=B();if(ha.length!==ia.length){console.error("[Phast] Requested",ia.length,"items from bundler, but got",ha.length,"response(s)");this.handleError();return}ha.forEach(function(ka,la){if(ka.status===200){A[ia[la]].requests.forEach(function(ma){ma.success(ka.content)})}else{A[ia[la]].requests.forEach(function(na){na.error(new Error("Got from bundler: "+JSON.stringify(ka)))})}})}.bind(this);this.handleError=function(){for(var oa in A){A[oa].requests.forEach(function(pa){pa.error()})}}};phast.ResourceLoader.BundlerServiceClient.RequestsPack.PackItem=function(qa,ra){this.request=qa;this.params=ra};phast.ResourceLoader.IndexedDBStorage=function(sa){var ta=phast.ResourceLoader.IndexedDBStorage;var ua=ta.logPrefix;var va=ta.requestToPromise;var wa;Ba();this.get=function(Ca){return xa("readonly").then(function(Da){return va(Da.get(Ca)).catch(ya("reading from store"))})};this.store=function(Ea){return xa("readwrite").then(function(Fa){return va(Fa.put(Ea)).catch(ya("writing to store"))})};this.clear=function(){return xa("readwrite").then(function(Ga){return va(Ga.clear())})};this.iterateOnAll=function(Ha){return xa("readonly").then(function(Ia){return za(Ha,Ia.openCursor()).catch(ya("iterating on all"))})};function xa(Ja){return wa.get().then(function(Ka){try{return Ka.transaction(sa.storeName,Ja).objectStore(sa.storeName)}catch(La){console.error(ua,"Could not open store; recreating database:",La);Aa();throw La}})}function ya(Ma){return function(Na){console.error(ua,"Error "+Ma+":",Na);Aa();throw Na}}function za(Oa,Pa){return new Promise(function(Qa,Ra){Pa.onsuccess=function(Sa){var Ta=Sa.target.result;if(Ta){Oa(Ta.value);Ta.continue()}else{Qa()}};Pa.onerror=Ra})}function Aa(){var Ua=wa.dropDB().then(Ba);wa={get:function(){return Promise.reject(new Error("Database is being dropped and recreated"))},dropDB:function(){return Ua}}}function Ba(){wa=new phast.ResourceLoader.IndexedDBStorage.Connection(sa)}};phast.ResourceLoader.IndexedDBStorage.logPrefix="[Phast] Resource loader:";phast.ResourceLoader.IndexedDBStorage.requestToPromise=function(Va){return new Promise(function(Wa,Xa){Va.onsuccess=function(){Wa(Va.result)};Va.onerror=function(){Xa(Va.error)}})};phast.ResourceLoader.IndexedDBStorage.ConnectionParams=function(){this.dbName="phastResourcesCache";this.dbVersion=1;this.storeName="resources"};phast.ResourceLoader.IndexedDBStorage.StoredResource=function(Ya,Za){this.token=Ya;this.content=Za};phast.ResourceLoader.IndexedDBStorage.Connection=function($a){var _a=phast.ResourceLoader.IndexedDBStorage.logPrefix;var a0=phast.ResourceLoader.IndexedDBStorage.requestToPromise;var b0;this.get=c0;this.dropDB=d0;function c0(){if(!b0){b0=e0($a)}return b0}function d0(){return c0().then(function(g0){console.error(_a,"Dropping DB");g0.close();b0=null;return a0(window.indexedDB.deleteDatabase($a.dbName))})}function e0(h0){if(typeof window.indexedDB==="undefined"){return Promise.reject(new Error("IndexedDB is not available"))}var i0=window.indexedDB.open(h0.dbName,h0.dbVersion);i0.onupgradeneeded=function(){f0(i0.result,h0)};return a0(i0).then(function(j0){j0.onversionchange=function(){console.debug(_a,"Closing DB");j0.close();if(b0){b0=null}};return j0}).catch(function(k0){console.log(_a,"IndexedDB cache is not available. This is usually due to using private browsing mode.");throw k0})}function f0(l0,m0){l0.createObjectStore(m0.storeName,{keyPath:"token"})}};phast.ResourceLoader.StorageCache=function(n0,o0){var p0=phast.ResourceLoader.IndexedDBStorage.StoredResource;this.get=function(x0){return s0(r0(x0))};this.set=function(y0,z0){return t0(r0(y0),z0,false)};var q0=null;function r0(A0){return JSON.stringify(A0)}function s0(B0){return o0.get(B0).then(function(C0){if(C0){return Promise.resolve(C0.content)}return Promise.resolve()})}function t0(D0,E0,F0){return w0().then(function(G0){var H0=E0.length+G0;if(H0>n0.maxStorageSize){return F0||E0.length>n0.maxStorageSize?Promise.reject(new Error("Storage quota will be exceeded")):u0(D0,E0)}q0=H0;var I0=new p0(D0,E0);return o0.store(I0)})}function u0(J0,K0){return v0().then(function(){return t0(J0,K0,true)})}function v0(){return o0.clear().then(function(){q0=0})}function w0(){if(q0!==null){return Promise.resolve(q0)}var L0=0;return o0.iterateOnAll(function(M0){L0+=M0.content.length}).then(function(){q0=L0;return Promise.resolve(q0)})}};phast.ResourceLoader.StorageCache.StorageCacheParams=function(){this.maxStorageSize=4.5*1024*1024};phast.ResourceLoader.BlackholeCache=function(){this.get=function(){return Promise.reject()};this.set=function(){return Promise.reject()}};phast.ResourceLoader.make=function(N0,O0,P0){var Q0=S0();var R0=new phast.ResourceLoader.BundlerServiceClient(N0,O0,P0);return new phast.ResourceLoader(R0,Q0);function S0(){var T0=window.navigator.userAgent;if(/safari/i.test(T0)&&!/chrome|android/i.test(T0)){console.log("[Phast] Not using IndexedDB cache on Safari");return new phast.ResourceLoader.BlackholeCache}else{var U0=new phast.ResourceLoader.IndexedDBStorage.ConnectionParams;var V0=new phast.ResourceLoader.IndexedDBStorage(U0);var W0=new phast.ResourceLoader.StorageCache.StorageCacheParams;return new phast.ResourceLoader.StorageCache(W0,V0)}}}; }),(function(){var Promise=phast.ES6Promise;phast.ResourceLoader.instance=phast.ResourceLoader.make(phast.config.resourcesLoader.serviceUrl,phast.config.resourcesLoader.shortParamsMappings,phast.config.resourcesLoader.pathInfo);phast.forEachSelectedElement=function(a,b){Array.prototype.forEach.call(window.document.querySelectorAll(a),b)};phast.once=function(c){var d=false;return function(){if(!d){d=true;c.apply(this,Array.prototype.slice(arguments))}}};phast.on=function(e,f){return new Promise(function(g){e.addEventListener(f,g)})};phast.wait=function(h){return new Promise(function(i){setTimeout(i,h)})};phast.on(document,"DOMContentLoaded").then(function(){var j,k;function l(n){return n&&n.nodeType===8&&/^\s*\[Phast\]/.test(n.textContent)}function m(o){while(o){if(l(o)){return o}o=o.nextSibling}return false}k=m(document.documentElement.nextSibling);if(k===false){k=m(document.body.firstChild)}if(k){j=k.textContent.replace(/^\s+|\s+$/g,"").split("\n");console.groupCollapsed(j.shift());console.log(j.join("\n"));console.groupEnd()}});phast.on(document,"DOMContentLoaded").then(function(){var p=performance.timing;var q=[];q.push(["Downloading phases:"]);q.push([" Look up hostname in DNS + %s ms",t(p.domainLookupEnd-p.fetchStart)]);q.push([" Establish connection + %s ms",t(p.connectEnd-p.domainLookupEnd)]);q.push([" Send request + %s ms",t(p.requestStart-p.connectEnd)]);q.push([" Receive first byte + %s ms",t(p.responseStart-p.requestStart)]);q.push([" Download page + %s ms",t(p.responseEnd-p.responseStart)]);q.push([""]);q.push(["Totals:"]);q.push([" Time to first byte %s ms",t(p.responseStart-p.fetchStart)]);q.push([" (since request start) %s ms",t(p.responseStart-p.requestStart)]);q.push([" Total request time %s ms",t(p.responseEnd-p.fetchStart)]);q.push([" (since request start) %s ms",t(p.responseEnd-p.requestStart)]);q.push([" "]);var r=[];var s=[];q.forEach(function(u){r.push(u.shift());s=s.concat(u)});console.groupCollapsed("[Phast] Client-side performance metrics");console.log.apply(console,[r.join("\n")].concat(s));console.groupEnd();function t(v){v=""+v;while(v.length<4){v=" "+v}return v}}); }),(function(){var config=phast.config["script-proxy-service"];var urlPattern=/^(https?:)?\/\//;var typePattern=/^\s*(application|text)\/(x-)?(java|ecma|j|live)script/i;var cacheMarker=Math.floor((new Date).getTime()/1e3/config.urlRefreshTime);var whitelist=compileWhitelistPatterns(config.whitelist);phast.scripts.push(function(){overrideDOMMethod("appendChild");overrideDOMMethod("insertBefore")});function compileWhitelistPatterns(a){var b=/^(.)(.*)\1([a-z]*)$/i;var c=[];a.forEach(function(d){var e=b.exec(d);if(!e){window.console&&window.console.log("Phast: Not a pattern:",d);return}try{c.push(new RegExp(e[2],e[3]))}catch(f){window.console&&window.console.log("Phast: Failed to compile pattern:",d)}});return c}function checkWhitelist(g){for(var h=0;h<whitelist.length;h++){if(whitelist[h].exec(g)){return true}}return false}function overrideDOMMethod(i){var j=Element.prototype[i];var k=function(){var l=processNode(arguments[0]);var m=j.apply(this,arguments);l();return m};Element.prototype[i]=k;window.addEventListener("load",function(){if(Element.prototype[i]===k){delete Element.prototype[i]}})}function processNode(n){if(!n||n.nodeType!==Node.ELEMENT_NODE||n.tagName!=="SCRIPT"||!urlPattern.test(n.src)||n.type&&!typePattern.test(n.type)||n.src.substr(0,config.serviceUrl.length)===config.serviceUrl||!checkWhitelist(n.src)){return function(){}}var o=n.src;n.src=phast.buildServiceUrl(config,{service:"scripts",src:o,cacheMarker:cacheMarker});n.setAttribute("data-phast-rewritten","");return function(){n.src=o}} }),(function(){(function(){var a=function(){if(!("FontFace"in window)){return false}var b=new FontFace("t",'url( "data:font/woff2;base64,d09GMgABAAAAAADwAAoAAAAAAiQAAACoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAALAogOAE2AiQDBgsGAAQgBSAHIBuDAciO1EZ3I/mL5/+5/rfPnTt9/9Qa8H4cUUZxaRbh36LiKJoVh61XGzw6ufkpoeZBW4KphwFYIJGHB4LAY4hby++gW+6N1EN94I49v86yCpUdYgqeZrOWN34CMQg2tAmthdli0eePIwAKNIIRS4AGZFzdX9lbBUAQlm//f262/61o8PlYO/D1/X4FrWFFgdCQD9DpGJSxmFyjOAGUU4P0qigcNb82GAAA" ) format( "woff2" )',{});b.load()["catch"](function(){});return b.status=="loading"||b.status=="loaded"}();if(a){return}console.log("[Phast] Browser does not support WOFF2, falling back to original stylesheets");Array.prototype.forEach.call(document.querySelectorAll("style[data-phast-ie-fallback-url]"),function(c){var d=document.createElement("link");if(c.hasAttribute("media")){d.setAttribute("media",c.getAttribute("media"))}d.setAttribute("rel","stylesheet");d.setAttribute("href",c.getAttribute("data-phast-ie-fallback-url"));c.parentNode.insertBefore(d,c);c.parentNode.removeChild(c)});Array.prototype.forEach.call(document.querySelectorAll("style[data-phast-nested-inlined]"),function(e){e.parentNode.removeChild(e)})})(); }),(function(){phast.stylesLoading=0;var resourceLoader=phast.ResourceLoader.instance;phast.forEachSelectedElement("style[data-phast-params]",function(a){var b=a.getAttribute("data-phast-params");var c=phast.ResourceLoader.RequestParams.fromString(b);phast.stylesLoading++;resourceLoader.get(c).then(function(d){a.textContent=d;a.removeAttribute("data-phast-params")}).catch(function(e){console.warn("[Phast] Failed to load CSS",c,e);var f=a.getAttribute("data-phast-original-src");if(!f){console.error("[Phast] No data-phast-original-src on <style>!",a);return}console.info("[Phast] Falling back to <link> element for",f);var g=document.createElement("link");g.href=f;g.media=a.media;g.rel="stylesheet";g.addEventListener("load",function(){if(a.parentNode){a.parentNode.removeChild(a)}});a.parentNode.insertBefore(g,a.nextSibling)}).finally(function(){phast.stylesLoading--;if(phast.stylesLoading===0&&phast.onStylesLoaded){phast.onStylesLoaded()}})});(function(){var h=[];phast.forEachSelectedElement("style[data-phast-original-id]",function(i){var j=i.getAttribute("data-phast-original-id");if(h[j]){return}h[j]=true;console.warn("[Phast] The style element with id",j,"has been split into multiple style tags due to @import statements and the id attribute has been removed. Normally, this does not cause any issues.")})})(); }),(function(){var Promise=phast.ES6Promise;var hasCurrentScript=!!document.currentScript;phast.ScriptsLoader={};phast.ScriptsLoader.getScriptsInExecutionOrder=function(a,b){var c=Array.prototype.slice.call(a.querySelectorAll('script[type="text/phast"]')).filter(g);var d=[],e=[];for(var f=0;f<c.length;f++){if(getSrc(c[f])!==undefined&&isDefer(c[f])){e.push(c[f])}else{d.push(c[f])}}return d.concat(e).map(function(j){return b.makeScriptFromElement(j)});function g(k){try{var l=phast.config.scriptsLoader.csp}catch(m){return true}if(l.nonce==null){return true}if(k.nonce===l.nonce){return true}try{h(l,k)}catch(n){console.error("Could not send CSP report due to error:",n)}if(l.reportOnly){console.warn("Script with missing or invalid nonce would not be executed (but report-only mode is enabled):",k);return true}console.warn("Script with missing or invalid nonce will not be executed:",k);return false}function h(o,p){var q={"blocked-uri":getSrc(p),disposition:o.reportOnly?"report":"enforce","document-uri":location.href,referrer:a.referrer,"script-sample":i(p),implementation:"phast"};try{p.dispatchEvent(new SecurityPolicyViolationEvent("securitypolicyviolation",{blockedURI:q["blocked-uri"],disposition:q["disposition"],documentURI:q["document-uri"],effectiveDirective:"script-src-elem",originalPolicy:"phast",referrer:q["referrer"],sample:q["script-sample"],statusCode:200,violatedDirective:"script-src-elem"}))}catch(s){console.error("[Phast] Could not dispatch securitypolicyviolation event",s)}if(!o.reportUri){return}var r={"csp-report":q};fetch(o.reportUri,{method:"POST",headers:{"Content-Type":"application/csp-report"},credentials:"same-origin",redirect:"error",keepalive:true,body:JSON.stringify(r)})}function i(t){if(!t.hasAttribute("src")){return t.textContent.substr(0,40)}}};phast.ScriptsLoader.executeScripts=function(u){var v=u.map(function(x){return x.init()});var w=Promise.resolve();u.forEach(function(y){w=phast.ScriptsLoader.chainScript(w,y)});return w.then(function(){return Promise.all(v).catch(function(){})})};phast.ScriptsLoader.chainScript=function(z,A){var B;try{if(A.describe){B=A.describe()}else{B="unknown script"}}catch(C){B="script.describe() failed"}return z.then(function(){var D=A.execute();D.then(function(){console.debug("✓",B)});return D}).catch(function(E){console.error("✘",B);if(E){console.log(E)}})};var insertBefore=window.Element.prototype.insertBefore;phast.ScriptsLoader.Utilities=function(F){this._document=F;var G=0;function H(R){return new Promise(function(S){var T="PhastCompleteScript"+ ++G;var U=I(R);var V=I(T+"()");window[T]=W;F.body.appendChild(U);F.body.appendChild(V);function W(){S();F.body.removeChild(U);F.body.removeChild(V);delete window[T]}})}function I(X){var Y=F.createElement("script");Y.textContent=X;Y.nonce=phast.config.scriptsLoader.csp.nonce;return Y}function J(Z){var $=F.createElement(Z.nodeName);Array.prototype.forEach.call(Z.attributes,function(_){$.setAttribute(_.nodeName,_.nodeValue)});return $}function K(aa){aa.removeAttribute("data-phast-params");var ba={};Array.prototype.map.call(aa.attributes,function(ca){return ca.nodeName}).map(function(da){var ea=da.match(/^data-phast-original-(.*)/i);if(ea){ba[ea[1].toLowerCase()]=aa.getAttribute(da);aa.removeAttribute(da)}});Object.keys(ba).sort().map(function(fa){aa.setAttribute(fa,ba[fa])});if(!("type"in ba)){aa.removeAttribute("type")}}function L(ga,ha){return new Promise(function(ia,ja){var ka=ha.getAttribute("src");ha.addEventListener("load",ia);ha.addEventListener("error",ja);ha.removeAttribute("src");insertBefore.call(ga.parentNode,ha,ga);ga.parentNode.removeChild(ga);if(ka){ha.setAttribute("src",ka)}})}function M(la,ma){return O(la,function(){return P(la,function(){return H(ma)})})}function N(na,oa){return O(oa,function(){return L(na,oa)})}function O(pa,qa){var ra=pa.nextElementSibling;var sa=Promise.resolve();var ta;if(isAsync(pa)){ta="async"}else if(isDefer(pa)){ta="defer"}F.write=function(xa){if(ta){console.warn("document.write call from "+ta+" script ignored");return}ua(xa)};F.writeln=function(ya){if(ta){console.warn("document.writeln call from "+ta+" script ignored");return}ua(ya+"\n")};function ua(za){var Aa=F.createElement("div");Aa.innerHTML=za;var Ba=va(Aa);if(ra&&ra.parentNode!==pa.parentNode){ra=pa.nextElementSibling}while(Aa.firstChild){pa.parentNode.insertBefore(Aa.firstChild,ra)}Ba.map(wa)}function va(Ca){return Array.prototype.slice.call(Ca.getElementsByTagName("script")).filter(function(Da){var Ea=Da.getAttribute("type");return!Ea||/^(text|application)\/javascript(;|$)/i.test(Ea)})}function wa(Fa){var Ga=new phast.ScriptsLoader.Scripts.Factory(F);var Ha=Ga.makeScriptFromElement(Fa);sa=phast.ScriptsLoader.chainScript(sa,Ha)}return qa().then(function(){return sa}).finally(function(){delete F.write;delete F.writeln})}function P(Ia,Ja){if(hasCurrentScript){try{Object.defineProperty(F,"currentScript",{configurable:true,get:function(){return Ia}})}catch(Ka){console.error("[Phast] Unable to override document.currentScript on this browser: ",Ka)}}return Ja().finally(function(){if(hasCurrentScript){delete F.currentScript}})}function Q(La){var Ma=F.createElement("link");Ma.setAttribute("rel","preload");Ma.setAttribute("as","script");Ma.setAttribute("href",La);F.head.appendChild(Ma)}this.executeString=H;this.copyElement=J;this.restoreOriginals=K;this.replaceElement=L;this.writeProtectAndExecuteString=M;this.writeProtectAndReplaceElement=N;this.addPreload=Q};phast.ScriptsLoader.Scripts={};phast.ScriptsLoader.Scripts.InlineScript=function(Na,Oa){this._utils=Na;this._element=Oa;this.init=function(){return Promise.resolve()};this.execute=function(){var Pa=Oa.textContent.replace(/^\s*<!--.*\n/i,"");Na.restoreOriginals(Oa);return Na.writeProtectAndExecuteString(Oa,Pa)};this.describe=function(){return"inline script"}};phast.ScriptsLoader.Scripts.AsyncBrowserScript=function(Qa,Ra){var Sa;this._utils=Qa;this._element=Ra;this.init=function(){Qa.addPreload(getSrc(Ra));return new Promise(function(Ta){Sa=Ta})};this.execute=function(){var Ua=Qa.copyElement(Ra);Qa.restoreOriginals(Ua);Qa.replaceElement(Ra,Ua).then(Sa).catch(Sa);return Promise.resolve()};this.describe=function(){return"async script at "+getSrc(Ra)}};phast.ScriptsLoader.Scripts.SyncBrowserScript=function(Va,Wa){this._utils=Va;this._element=Wa;this.init=function(){Va.addPreload(getSrc(Wa));return Promise.resolve()};this.execute=function(){var Xa=Va.copyElement(Wa);Va.restoreOriginals(Xa);return Va.writeProtectAndReplaceElement(Wa,Xa)};this.describe=function(){return"sync script at "+getSrc(Wa)}};phast.ScriptsLoader.Scripts.AsyncAJAXScript=function(Ya,Za,$a,_a){this._utils=Ya;this._element=Za;this._fetch=$a;this._fallback=_a;var a0;var b0;this.init=function(){a0=$a(Za);return new Promise(function(c0){b0=c0})};this.execute=function(){a0.then(function(d0){Ya.restoreOriginals(Za);return Ya.writeProtectAndExecuteString(Za,d0).then(b0)}).catch(function(){_a.init();return _a.execute().then(b0)});return Promise.resolve()};this.describe=function(){return"bundled async script at "+Za.getAttribute("data-phast-original-src")}};phast.ScriptsLoader.Scripts.SyncAJAXScript=function(e0,f0,g0,h0){this._utils=e0;this._element=f0;this._fetch=g0;this._fallback=h0;var i0;this.init=function(){i0=g0(f0);return i0};this.execute=function(){return i0.then(function(j0){e0.restoreOriginals(f0);return e0.writeProtectAndExecuteString(f0,j0)}).catch(function(){h0.init();return h0.execute()})};this.describe=function(){return"bundled sync script at "+f0.getAttribute("data-phast-original-src")}};phast.ScriptsLoader.Scripts.Factory=function(k0,l0){var m0=phast.ScriptsLoader.Scripts;var n0=new phast.ScriptsLoader.Utilities(k0);this.makeScriptFromElement=function(q0){var r0;if(q0.getAttribute("data-phast-debug-force-method")&&window.location.host.match(/\.test$/)){return new m0[q0.getAttribute("data-phast-debug-force-method")](n0,q0)}if(o0(q0)){if(isAsync(q0)){r0=new m0.AsyncBrowserScript(n0,q0);return l0?new m0.AsyncAJAXScript(n0,q0,l0,r0):r0}r0=new m0.SyncBrowserScript(n0,q0);return l0?new m0.SyncAJAXScript(n0,q0,l0,r0):r0}if(p0(q0)){return new m0.InlineScript(n0,q0)}if(isAsync(q0)){return new m0.AsyncBrowserScript(n0,q0)}return new m0.SyncBrowserScript(n0,q0)};function o0(s0){return s0.hasAttribute("data-phast-params")}function p0(t0){return!t0.hasAttribute("src")}};function getSrc(u0){if(u0.hasAttribute("data-phast-original-src")){return u0.getAttribute("data-phast-original-src")}else if(u0.hasAttribute("src")){return u0.getAttribute("src")}}function isAsync(v0){return v0.hasAttribute("async")||v0.hasAttribute("data-phast-async")}function isDefer(w0){return w0.hasAttribute("defer")||w0.hasAttribute("data-phast-defer")} }),(function(){var Promise=phast.ES6Promise;var go=phast.once(loadScripts);phast.on(document,"DOMContentLoaded").then(function(){if(phast.stylesLoading){phast.onStylesLoaded=go;setTimeout(go,4e3)}else{Promise.resolve().then(go)}});var loadFiltered=false;window.addEventListener("load",function(a){if(!loadFiltered){a.stopImmediatePropagation()}loadFiltered=true});document.addEventListener("readystatechange",function(b){if(document.readyState==="loading"){b.stopImmediatePropagation()}});var didSetTimeout=false;var originalSetTimeout=window.setTimeout;window.setTimeout=function(c,d){if(!d||d<0){didSetTimeout=true}return originalSetTimeout.apply(window,arguments)};function loadScripts(){var e=new phast.ScriptsLoader.Scripts.Factory(document,fetchScript);var f=phast.ScriptsLoader.getScriptsInExecutionOrder(document,e);if(f.length===0){return}setReadyState("loading");phast.ScriptsLoader.executeScripts(f).then(restoreReadyState)}function setReadyState(g){try{Object.defineProperty(document,"readyState",{configurable:true,get:function(){return g}})}catch(h){console.warn("[Phast] Unable to override document.readyState on this browser: ",h)}}function restoreReadyState(){i().then(function(){setReadyState("interactive");triggerEvent(document,"readystatechange");return i()}).then(function(){triggerEvent(document,"DOMContentLoaded");return i()}).then(function(){delete document["readyState"];triggerEvent(document,"readystatechange");if(loadFiltered){triggerEvent(window,"load")}loadFiltered=true});function i(){return new Promise(function(j){(function k(l){if(didSetTimeout&&l<10){didSetTimeout=false;originalSetTimeout.call(window,function(){k(l+1)})}else{requestAnimationFrame(j)}})(0)})}}function triggerEvent(m,n){var o=document.createEvent("Event");o.initEvent(n,true,true);m.dispatchEvent(o)}function fetchScript(p){return phast.ResourceLoader.instance.get(phast.ResourceLoader.RequestParams.fromString(p.getAttribute("data-phast-params")))} })];(phast.scripts.shift())();})({"config":"eyJyZXNvdXJjZXNMb2FkZXIiOnsic2VydmljZVVybCI6Imh0dHBzOi8vd3d3LmFsZXhhbmRyZS1sb3V2ZW5hei5jb20vd3AtY29udGVudC9wbHVnaW5zL3BoYXN0cHJlc3MvcGhhc3QucGhwPyIsInNob3J0UGFyYW1zTWFwcGluZ3MiOnsic3JjIjoicyIsInN0cmlwLWltcG9ydHMiOiJpIiwiY2FjaGVNYXJrZXIiOiJjIiwidG9rZW4iOiJ0IiwiaXNTY3JpcHQiOiJqIiwicmVmIjoiciJ9LCJwYXRoSW5mbyI6ZmFsc2V9LCJzY3JpcHQtcHJveHktc2VydmljZSI6eyJzZXJ2aWNlVXJsIjoiaHR0cHM6Ly93d3cuYWxleGFuZHJlLWxvdXZlbmF6LmNvbS93cC1jb250ZW50L3BsdWdpbnMvcGhhc3RwcmVzcy9waGFzdC5waHAiLCJwYXRoSW5mbyI6ZmFsc2UsInVybFJlZnJlc2hUaW1lIjo3MjAwLCJ3aGl0ZWxpc3QiOlsifl5odHRwcz86Ly93d3dcXC5hbGV4YW5kcmVcXC1sb3V2ZW5helxcLmNvbS9+Il19LCJzY3JpcHRzTG9hZGVyIjp7ImNzcCI6eyJub25jZSI6bnVsbCwicmVwb3J0T25seSI6ZmFsc2UsInJlcG9ydFVyaSI6bnVsbH19fQ=="});</script></body> </html> <!-- [Phast] Document optimized in 26ms -->