PageSourceSearch

https://www.83-629.fr/assets/built/index.js?v=vY2djr1Azn0w2Fre

js 83-629.fr collected 2026-10-02 11:58:36 UTC 17,308 bytes, 2 lines download raw bytes

1!function(){"use strict";const e=document.querySelector(".gh-header"),t=document.querySelector(".gh-mobile-overlay"),n=document.querySelector(".gh-mobile-menu"),o=document.querySelector("#open-mobile-menu"),i=document.querySelector("#close-mobile-menu"),l=document.querySelectorAll(".gh-nav-list-item"),s=()=>{t.classList.remove("gh-mobile-overlay--close"),t.classList.add("gh-mobile-overlay--open"),t.classList.add("gh-mobile-overlay--animation-open"),n.classList.remove("gh-mobile-menu--close"),n.classList.add("gh-mobile-menu--open"),document.documentElement.classList.add("gh-lock-scroll"),e.classList.add("gh-header--mobile-menu-open")},r=()=>{n.classList.remove("gh-mobile-menu--open"),n.classList.add("gh-mobile-menu--close"),t.classList.remove("gh-mobile-overlay--animation-open"),t.classList.add("gh-mobile-overlay--animation-close"),document.documentElement.classList.remove("gh-lock-scroll"),e.classList.remove("gh-header--mobile-menu-open")},a=(()=>{let t=0;return()=>{if(!e)return;window.scrollY>200&&(window.scrollY>t?(e.classList.add("gh-header--hidden"),l.forEach(e=>{e.classList.remove("active")})):e.classList.remove("gh-header--hidden")),t=window.scrollY}})(),c=()=>{if(!t)return;t.classList.contains("gh-mobile-overlay--animation-close")&&(t.classList.remove("gh-mobile-overlay--open"),t.classList.remove("gh-mobile-overlay--animation-close"),t.classList.add("gh-mobile-overlay--close"))},d=document.querySelector(".gh-switch-btn"),m=document.querySelector("html[data-theme]"),p=document.querySelector(".gh-moon-icon"),h=document.querySelector(".gh-sun-icon"),g=()=>{const e=document.querySelectorAll("[data-tweet-id]");e&&(()=>{const t=localStorage.getItem("data-theme")||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light");n="dark"===t?"light":"dark",o=t,e.forEach(e=>{const t=e.getAttribute("src");e.setAttribute("src",t.replace("theme="+n,"theme="+o))});var n,o})()},u=()=>{const e=m.getAttribute("data-theme");f(e),m.setAttribute("data-theme","light"===e?"dark":"light"),localStorage.setItem("data-theme","light"===e?"dark":"light"),g(),(()=>{const e=document.querySelector("html").getAttribute("data-theme"),t=document.querySelector("#ghost-comments-root > iframe[title='comments-frame']");if(t){const n=t.contentWindow.document.querySelector(".ghost-display");"dark"===e?n.classList.add("dark"):n.classList.remove("dark")}})()},f=e=>{"light"===e?(h.style.display="block",p.style.display="none"):(h.style.display="none",p.style.display="block")};class y{constructor(e){this.nextDom=document,this.loadBtnElement=e,this.container=e.closest(".gh-archive-feed-wrapper").querySelector(".gh-posts-feed"),e&&(this.toLoadMore(),this.loadNextPage())}async loadNextPage(){const e=this.nextDom.querySelector('link[rel="next"]');if(e){let t=e.href;try{const e=await fetch(t);if(!e.ok)return void(this.loadBtnElement.style.display="none");this.nextDom=document.createRange().createContextualFragment(await e.text())}catch{this.loadBtnElement.style.display="none"}}else this.loadBtnElement.style.display="none"}toLoadMore(){this.loadBtnElement.addEventListener("click",()=>{this.loadNextPage();for(const e of this.nextDom.querySelectorAll(".gh-posts-feed .gh-posts-feed-post"))this.container.appendChild(e)}),this.loadBtnElement.addEventListener("keydown",e=>{if("Enter"===e.key){this.loadNextPage();for(const e of this.nextDom.querySelectorAll(".gh-posts-feed .gh-posts-feed-post"))this.container.appendChild(e)}})}}const b=()=>{const e=document.querySelectorAll(".gh-pdf-download-btn");e.length&&e.forEach(e=>{e.addEventListener("click",async function(){const t=this.dataset.title||document.title,n=this.dataset.member||"Membre",o=document.querySelector(".gh-post-page__content");if(document.querySelector(".gh-post-page__header"),o){e.classList.add("loading"),e.innerHTML='<svg class="spinner" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2" fill="none" stroke-dasharray="60" stroke-dashoffset="20"><animateTransform attributeName="transform" type="rotate" from="0 12 12" to="360 12 12" dur="1s" repeatCount="indefinite"/></circle></svg>';try{const e=window.open("","_blank");if(!e)return void alert("Veuillez autoriser les popups pour télécharger le PDF.");const i=document.querySelector(".gh-post-page__image"),l=i?`<img src="${i.src}" style="max-width: 100%; height: auto; margin-bottom: 20px; border-radius: 8px;">`:"",s=o.cloneNode(!0);
1s.querySelectorAll('.qcm-container, .qcm-hook, [class*="qcm"], script, style, .gh-post-page-cta, .kg-card.kg-button-card, iframe').forEach(e=>e.remove());const r=(new Date).toLocaleDateString("fr-FR",{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"}),a=`\n                    <!DOCTYPE html>\n                    <html lang="fr">\n                    <head>\n                        <meta charset="UTF-8">\n                        <title>${t} - 83-629.fr</title>\n                        <style>\n                            @page {\n                                size: A4;\n                                margin: 2cm 2.5cm;\n                            }\n                            * {\n                                box-sizing: border-box;\n                            }\n                            body {\n                                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n                                line-height: 1.7;\n                                color: #1a1a1a;\n                                max-width: 800px;\n                                margin: 0 auto;\n                                padding: 20px;\n                                font-size: 11pt;\n                            }\n                            .pdf-header {\n                                text-align: center;\n                                margin-bottom: 30px;\n                                padding-bottom: 20px;\n                                border-bottom: 3px solid #C1121F;\n                            }\n                            .pdf-logo {\n                                font-size: 24px;\n                                font-weight: 800;\n                                color: #0A1E3D;\n                                margin-bottom: 5px;\n                            }\n                            .pdf-logo span {\n                                color: #C1121F;\n                            }\n                            .pdf-tagline {\n                                font-size: 12px;\n                                color: #666;\n                            }\n                            .pdf-title {\n                                font-size: 26px;\n                                font-weight: 700;\n                                color: #0A1E3D;\n                                margin: 30px 0 20px;\n                                line-height: 1.3;\n                            }\n                            .pdf-content {\n                                text-align: justify;\n                            }\n                            .pdf-content h2 {\n                                font-size: 18px;\n                                color: #0A1E3D;\n                                margin-top: 30px;\n                                margin-bottom: 15px;\n                                border-left: 4px solid #C1121F;\n                                padding-left: 15px;\n                            }\n                            .pdf-content h3 {\n                                font-size: 15px;\n                                color: #333;\n                                margin-top: 25px;\n                            }\n                            .pdf-content p {\n                                margin-bottom: 15px;\n                            }\n                            .pdf-content ul, .pdf-content ol {\n                                margin-left: 20px;\n                                margin-bottom: 15px;\n                            }\n                            .pdf-content li {\n                                margin-bottom: 8px;\n                            }\n                            .pdf-content img {\n                                max-width: 100%;\n                                height: auto;\n                                margin: 20px 0;\n                            }\n                            .pdf-content blockquote {\n                                border-left: 4px solid #C1121F;\n                                margin: 20px 0;\n                                padding: 15px 20px;\n                                background: #f8f9fa;\n                                font-style: italic;\n                            }\n                            .pdf-content table {\n                                width: 100%;\n                                border-collapse: collapse;\n                                margin: 20px 0;\n                            }\n                            .pdf-content th, .pdf-content td {\n                                border: 1px solid #ddd;\n                                padding: 10px;\n                                text-align: left;\n                            }\n                            .pdf-content th {\n                                background: #0A1E3D;\n                                color: white;\n                            }\n                            .pdf-footer {\n                                margin-top: 50px;\n                                padding-top: 20px;\n                                border-top: 2px solid #eee;\n                                font-size: 10px;\n                                color: #666;\n                                text-align: center;\n                            }\n                            .pdf-watermark {\n                                background: linear-gradient(135deg, #0A1E3D 0%, #1a3a5c 100%);\n                                color: white;\n                                padding: 12px 20px;\n                                border-radius: 6px;\n                                margin-top: 15px;\n                                font-size: 11px;\n                            }\n                            .pdf-watermark strong {\n                                color: #FFD700;\n                            }\n                            @media print {\n                                body {\n                                    padding: 0;\n                                }\n                                .no-print {\n                                    display: none !important;\n                                }\n                            }\n                        </style>\n                    </head>\n                    <body>\n                        <div class="pdf-header">\n                            <div class="pdf-logo">83-629<span>.fr</span></div>\n                            <div class="pdf-tagline">Le média de référence en sécurité privée</div>\n                        </div>\n                        \n                        <h1 class="pdf-title">${t}</h1>\n                        \n                        ${l}\n                        \n                        <div class="pdf-content">\n                            ${s.innerHTML}\n                        </div>\n                        \n                        <div class="pdf-footer">\n                            <p>Article publié sur <strong>83-629.fr</strong> - Le média officiel reconnu de la sécurité privée</p>\n                            <div class="pdf-watermark">\n                                📥 Téléchargé par <strong>${n}</strong> le ${r}<br>\n                                Usage réservé à l'abonné. Reproduction et diffusion interdites.\n                            </div>\n                        </div>\n                        \n                        <script>\n                            // Auto-print après chargement\n                            window.onload = function() {\
1n                                setTimeout(function() {\n                                    window.print();\n                                }, 500);\n                            };\n                        <\/script>\n                    </body>\n                    </html>\n                `;e.document.write(a),e.document.close()}catch(e){console.error("Erreur PDF:",e),alert("Une erreur est survenue lors de la génération du PDF.")}finally{setTimeout(()=>{e.classList.remove("loading"),e.innerHTML='\n                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n                            <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>\n                            <polyline points="14 2 14 8 20 8"></polyline>\n                            <line x1="12" y1="18" x2="12" y2="12"></line>\n                            <line x1="9" y1="15" x2="15" y2="15"></line>\n                        </svg>\n                        <span class="gh-pdf-tooltip">PDF</span>\n                    '},1e3)}}else alert("Impossible de générer le PDF. Contenu non trouvé.")})})};document.addEventListener("DOMContentLoaded",b),(()=>{const e=document.documentElement,t=document.querySelector(".gh-header .gh-accent-button");if(t){const n=(e=>{const t=e.slice(4,-1).split(", ");return(299*t[0]+587*t[1]+114*t[2])/1e3>=128?"dark":"light"})(window.getComputedStyle(t).backgroundColor);e.classList.add(`gh-btns-font-color-${n}`)}})(),(()=>{const e=document.querySelectorAll(".gh-load-more-button");e.length&&e.forEach(e=>new y(e))})(),(()=>{const e=document.querySelectorAll(".copyToClipboardBtn");e.length&&Array.from(e).forEach(e=>{e.addEventListener("click",()=>(e=>{const t=window.location.href,n=()=>{e.classList.remove("copied","notCopied")},o=(e,o)=>{n(),o?(e.classList.add("copied"),setTimeout(()=>{e.classList.remove("copied")},2e3)):(e.classList.add("notCopied"),i(t,e),setTimeout(()=>{e.classList.remove("notCopied")},3e3))},i=(e,t)=>{const n=document.createElement("textarea");n.value=e,n.style.position="fixed",n.style.left="-9999px",n.style.top="-9999px",document.body.appendChild(n),n.focus(),n.select();try{document.execCommand("copy"),t.classList.remove("notCopied"),t.classList.add("copied"),setTimeout(()=>{t.classList.remove("copied")},2e3)}catch(e){console.log("Fallback copy failed")}document.body.removeChild(n)};n(),navigator.clipboard.writeText(t).then(()=>{o(e,!0)},()=>{o(e,!1)})})(e))})})(),d&&("light"===m.getAttribute("data-theme")?(h.style.display="none",p.style.display="block"):(h.style.display="block",p.style.display="none"),d.addEventListener("click",u)),o&&o.addEventListener("click",s),i&&i.addEventListener("click",r),t&&(t.addEventListener("click",r),t.addEventListener("animationend",c)),n&&n.addEventListener("click",e=>e.stopPropagation()),(()=>{const e=document.querySelector(".gh-scroll-top-btn"),t=()=>{window.scrollTo({top:0,behavior:"smooth"})};if(e){const n=document.querySelector(".gh-scroll-top-progress path"),o=n.getTotalLength();n.style.transition=n.style.WebkitTransition="none",n.style.strokeDasharray=`${o} ${o}`,n.style.strokeDashoffset=o,n.getBoundingClientRect(),n.style.transition=n.style.WebkitTransition="stroke-dashoffset 10ms linear";const i=function(){const e=window.scrollY||window.scrollTopBtn||document.documentElement.scrollTopBtn,t=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight),i=Math.max(document.documentElement.clientHeight,window.innerHeight||0);var l=o-e*o/(t-i);n.style.strokeDashoffset=l};i(),e.addEventListener("click",t),window.addEventListener("scroll",()=>{i();(window.scrollY||window.scrollTop||document.getElementsByTagName("html")[0].scrollTop)>200?e.classList.add("is-active"):e.classList.remove("is-active")})}})(),(()=>{const e=document.querySelector(".gh-membership-toggle-btn"),t=document.querySelector(".gh-membership-page"),n=()=>{t.classList.toggle("yearly")};e&&t&&e.addEventListener("click",n)})(),(()=>{if(document.querySelectorAll(".gh-tier-card").length&&window.innerWidth>1100){const e=document.querySelectorAll(".gh-tier-card__desc");let t=0;
1e.forEach(e=>{e.clientHeight>=t&&(t=e.clientHeight)}),e.forEach(e=>{e.style.height=`${t}px`})}})(),window.addEventListener("load",()=>{const e=document.querySelector(".gh-scroll-top-btn");document.querySelector("#ghost-portal-root iframe")&&e&&e.classList.add("alignUp")}),window.addEventListener("load",g),window.addEventListener("scroll",a),(()=>{const e=document.querySelector("#sidebar-custom-widget");if(e){const t=e.textContent;e.innerHTML=t}})(),(()=>{const e=document.querySelectorAll(".gh-mobile-menu-button");if(!e.length)return;e.forEach(e=>{e.addEventListener("click",()=>(e=>{const t=e.parentElement,n=t.querySelectorAll(".gh-mobile-submenu__item"),o=t.querySelector(".gh-mobile-submenu");if(t.classList.contains("active"))t.classList.remove("active"),o.style.height="0px";else{t.classList.add("active");const e=Array.from(n).reduce((e,t)=>e+t.offsetHeight,0);o.style.height=`${e}px`}})(e))})})(),b()}();
2//# sourceMappingURL=index.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.