{"id":119,"date":"2025-12-20T16:32:02","date_gmt":"2025-12-20T15:32:02","guid":{"rendered":"https:\/\/yoann-trevette.duckdns.org\/?page_id=119"},"modified":"2026-06-12T12:13:03","modified_gmt":"2026-06-12T10:13:03","slug":"veille-technologique","status":"publish","type":"page","link":"https:\/\/yoann-trevette.duckdns.org\/?page_id=119","title":{"rendered":"Veille Technologique"},"content":{"rendered":"<script>\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        const myWrapper = document.getElementById('veille-wrapper');\n        if (myWrapper) {\n            const siteHeader = document.querySelector('header');\n            if (siteHeader) siteHeader.style.display = 'none';\n            const pageTitleBlock = document.querySelector('.entry-header, .page-header, .wp-block-post-title');\n            if (pageTitleBlock) pageTitleBlock.style.display = 'none';\n            const logos = document.querySelectorAll('.custom-logo-link, .wp-block-site-logo');\n            logos.forEach(el => el.style.display = 'none');\n        }\n    });\n<\/script>\n\n<div id=\"veille-wrapper\" class=\"veille-portfolio-wrapper\">\n\n    <div class=\"cv-box cv-top-card\">\n        <div class=\"cv-header-row\">\n            <div class=\"theme-switch-area\" style=\"display: flex; align-items: center; gap: 15px;\">\n                <button id=\"theme-toggle\" class=\"theme-btn\" title=\"Basculer sombre\/clair\">\n                    <span class=\"mode-icon moon\">\ud83c\udf19<\/span>\n                    <span class=\"mode-icon sun\">\u2600\ufe0f<\/span>\n                    <span class=\"mode-text\">Mode Sombre<\/span>\n                <\/button>\n                <a href=\"\/\" class=\"nav-pill\" style=\"padding: 8px 20px; font-size: 1em;\">\ud83c\udfe0 Accueil<\/a>\n            <\/div>\n\n            <div class=\"header-logo-area\">\n                <a href=\"https:\/\/www.linkedin.com\/in\/yoann-trevette-40725a339\/\" target=\"_blank\" class=\"linkedin-btn\" title=\"Voir mon profil LinkedIn\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" class=\"linkedin-icon\">\n                        <path d=\"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z\"\/>\n                    <\/svg>\n                    <span>LinkedIn<\/span>\n                <\/a>\n\n                <a href=\"https:\/\/yoann-trevette.duckdns.org\/wp-content\/uploads\/2026\/02\/CV-Yoann-Trevette-Linkedin.pdf\"\n                   target=\"_blank\"\n                   class=\"linkedin-btn cv-btn\"\n                   title=\"T\u00e9l\u00e9charger mon CV (PDF)\">\n                    <span style=\"font-size:18px; line-height: 1;\">\ud83d\udcc4<\/span>\n                    <span>CV<\/span>\n                <\/a>\n            <\/div>\n        <\/div>\n\n        <h1 class=\"main-title\">Veille Technologique<\/h1>\n\n        <div class=\"quick-nav-row\">\n            <a href=\"http:\/\/doc-trevette.duckdns.org\/books\/portfolio-documentation\" class=\"nav-pill\">\ud83d\udcc2 Documentation<\/a>\n            <span class=\"nav-pill active-pill\">\ud83d\udcf0 Veille Technologique<\/span>\n            <a href=\"http:\/\/doc-trevette.duckdns.org\/books\/portfolio-parcours-professionnel\" class=\"nav-pill\">\ud83d\udcbc Parcours Professionnel<\/a>\n            <a href=\"http:\/\/doc-trevette.duckdns.org\/books\/portfolio-certifications\" class=\"nav-pill\">\ud83c\udf93 Certifications<\/a>\n        <\/div>\n    <\/div>\n\n    <div class=\"rss-stack\">\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83d\udce1\">Mon Agr\u00e9gateur de Flux (FreshRSS)<\/h2>\n\n            <a href=\"http:\/\/discovery-trevette.duckdns.org:8080\/i\/\" target=\"_blank\" class=\"nav-pill\" style=\"display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px;\">\n                <span style=\"font-size: 1.2em;\">\ud83d\udd17<\/span>\n                <span>Acc\u00e9der \u00e0 mon FreshRSS<\/span>\n            <\/a>\n\n            <div class=\"veille-theme-block\">\n                <h3 class=\"veille-theme-title\">Sujet de veille<\/h3>\n                <p class=\"veille-theme-text\">\u00c9tude du d\u00e9ploiement des correctifs de s\u00e9curit\u00e9 dans un parc informatique.<\/p>\n            <\/div>\n\n            <p style=\"font-size: 1.1em; margin-bottom: 20px; line-height: 1.5;\">\n                En compl\u00e9ment des flux pr\u00e9sent\u00e9s ci-dessous, j&rsquo;utilise une instance priv\u00e9e <strong>FreshRSS<\/strong> pour centraliser, cat\u00e9goriser et archiver l&rsquo;ensemble de ma veille technologique et s\u00e9curitaire au quotidien.\n            <\/p>\n\n            <div class=\"veille-theme-block\" style=\"margin-bottom: 20px;\">\n                <h3 class=\"veille-theme-title\">Moyens de veille<\/h3>\n                <p class=\"veille-theme-text\" style=\"margin-bottom: 10px;\">\n                    Mon th\u00e8me de veille porte sur le d\u00e9ploiement des correctifs de s\u00e9curit\u00e9 dans un parc informatique, avec une approche orient\u00e9e administration syst\u00e8me, priorisation du risque et suivi des vuln\u00e9rabilit\u00e9s.\n                <\/p>\n                <p class=\"veille-theme-text\" style=\"margin-bottom: 8px;\">\n                    <strong>PUSH :<\/strong> FreshRSS, avec remont\u00e9e des flux de veille et des alertes vers Discord.\n                <\/p>\n                <p class=\"veille-theme-text\">\n                    <strong>PULL :<\/strong> PatchMon, avec gestion manuelle et cibl\u00e9e des vuln\u00e9rabilit\u00e9s sur les h\u00f4tes concern\u00e9s.\n                <\/p>\n            <\/div>\n\n            <div class=\"veille-theme-block\" style=\"margin-bottom: 20px;\">\n                <h3 class=\"veille-theme-title\">Qu&rsquo;est-ce que PatchMon ?<\/h3>\n                <p class=\"veille-theme-text\" style=\"margin-bottom: 10px;\">\n                    PatchMon est une solution de patch management et de supervision centralis\u00e9e qui permet de suivre l\u2019\u00e9tat des correctifs, des packages et de la conformit\u00e9 sur un parc de machines depuis un tableau de bord unique.\n                <\/p>\n                <p class=\"veille-theme-text\">\n                    Il ne sert pas uniquement \u00e0 constater une vuln\u00e9rabilit\u00e9 : il aide \u00e0 relier la d\u00e9tection d\u2019un probl\u00e8me \u00e0 sa rem\u00e9diation r\u00e9elle, en donnant de la visibilit\u00e9 sur les h\u00f4tes concern\u00e9s, les mises \u00e0 jour manquantes et les priorit\u00e9s de correction.\n                <\/p>\n            <\/div>\n\n            <div class=\"veille-theme-block\" style=\"margin-bottom: 20px;\">\n                <h3 class=\"veille-theme-title\">En quoi PatchMon m&rsquo;aide pour ma veille ?<\/h3>\n                <p class=\"veille-theme-text\" style=\"margin-bottom: 10px;\">\n                    <strong>1. Automatisation de la collecte :<\/strong> au lieu de consulter manuellement chaque source, ma veille peut s\u2019appuyer sur des flux centralis\u00e9s et sur une logique de r\u00e9cup\u00e9ration continue des informations li\u00e9es aux vuln\u00e9rabilit\u00e9s et aux correctifs.\n                <\/p>\n                <p class=\"veille-theme-text\" style=\"margin-bottom: 10px;\">\n                    <strong>2. Contextualisation imm\u00e9diate :<\/strong> une alerte n\u2019a de valeur que si elle peut \u00eatre reli\u00e9e au parc r\u00e9el. PatchMon permet d\u2019identifier rapidement quelles machines sont concern\u00e9es par une mise \u00e0 jour ou une exposition donn\u00e9e.\n                <\/p>\n                <p class=\"veille-theme-text\">\n                    <strong>3. Priorisation par le risque :<\/strong> en combinant la gravit\u00e9 th\u00e9orique d\u2019une faille avec des indicateurs de probabilit\u00e9 d\u2019exploitation, la veille devient exploitable pour d\u00e9cider quoi corriger en priorit\u00e9.\n                <\/p>\n            <\/div>\n\n            <div class=\"veille-theme-block timeline-block\" style=\"margin-bottom: 20px;\">\n                <h3 class=\"veille-theme-title\">\u00c9volution de PatchMon (septembre 2025 \u2192 juin 2026)<\/h3>\n\n                <div class=\"timeline\">\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">Septembre 2025<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Version 1.2.6 :<\/strong> am\u00e9lioration du d\u00e9ploiement autour de Docker et progression de la plateforme vers un usage plus simple au quotidien.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">Novembre 2025<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>S\u00e9rie 1.3.4 \u00e0 1.3.6 :<\/strong> support Alpine, auto-enrollment, d\u00e9tection du besoin de red\u00e9marrage, correction de bugs critiques d\u2019auto-update et am\u00e9lioration Proxmox.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">D\u00e9cembre 2025<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Version 1.3.7 :<\/strong> am\u00e9lioration de l\u2019interface mobile, intervalles d\u2019agents \u00e9chelonn\u00e9s, synchronisation renforc\u00e9e de la configuration et sortie JSON pour l\u2019int\u00e9gration avec d\u2019autres outils.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">F\u00e9vrier 2026<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Version 1.4.0 :<\/strong> ajout du scan de conformit\u00e9 s\u00e9curit\u00e9, de l\u2019OIDC SSO, du moteur d\u2019alertes, du terminal SSH web et de l\u2019assistance IA.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">F\u00e9vrier 2026<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Versions 1.4.1 et 1.4.2 :<\/strong> stabilisation avec support FreeBSD, correctifs OIDC, meilleure persistance des r\u00e9glages, conformit\u00e9, reverse proxy et int\u00e9grations suppl\u00e9mentaires.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">Avril 2026<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Version 2.0.0 :<\/strong> refonte majeure du backend en Go, automatisation renforc\u00e9e, documentation OpenAPI, patching Linux planifi\u00e9 ou \u00e0 la demande, support Windows b\u00eata et FreeBSD.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">Fin avril 2026<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>Versions 2.0.1 et 2.0.2 :<\/strong> consolidation de la V2 avec correctifs sur les migrations, Docker, TLS, reverse proxy, timezone des jobs et remont\u00e9es d\u2019agents \u00e0 plus grande \u00e9chelle.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"timeline-item\">\n                        <div class=\"timeline-dot timeline-dot-current\"><\/div>\n                        <div class=\"timeline-content\">\n                            <div class=\"timeline-date\">Juin 2026<\/div>\n                            <div class=\"timeline-text\">\n                                <strong>PatchMon dans ma veille :<\/strong> l\u2019outil devient un support concret pour suivre, prioriser et accompagner le d\u00e9ploiement des correctifs de s\u00e9curit\u00e9 dans un parc informatique.\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83d\udee1\ufe0f\">Alertes S\u00e9cu (CERT-FR)<\/h2>\n            <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.cert.ssi.gouv.fr\/avis\/CERTFR-2026-AVI-1136\/'>Multiples vuln\u00e9rabilit\u00e9s dans Xen (09 septembre 2026)<\/a><\/div><time datetime=\"2026-09-09T02:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.cert.ssi.gouv.fr\/avis\/CERTFR-2026-AVI-1144\/'>Vuln\u00e9rabilit\u00e9 dans Microsoft Edge (09 septembre 2026)<\/a><\/div><time datetime=\"2026-09-09T02:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.cert.ssi.gouv.fr\/avis\/CERTFR-2026-AVI-1140\/'>Multiples vuln\u00e9rabilit\u00e9s dans les produits Adobe (09 septembre 2026)<\/a><\/div><time datetime=\"2026-09-09T02:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.cert.ssi.gouv.fr\/avis\/CERTFR-2026-AVI-1137\/'>Multiples vuln\u00e9rabilit\u00e9s dans Citrix Workspace app (09 septembre 2026)<\/a><\/div><time datetime=\"2026-09-09T02:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.cert.ssi.gouv.fr\/avis\/CERTFR-2026-AVI-1145\/'>Multiples vuln\u00e9rabilit\u00e9s dans Microsoft Office (09 septembre 2026)<\/a><\/div><time datetime=\"2026-09-09T02:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><\/ul>\n        <\/div>\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83d\udcf0\">News ESET<\/h2>\n            <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/how-to\/ive-been-deepfaked-what-do\/'>I\u2019ve been deepfaked: What do I do?<\/a><\/div><time datetime=\"2026-09-02T13:48:09+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/videos\/month-security-tony-anscombe-august-2026\/'>This month in security with Tony Anscombe \u2013 August 2026 edition<\/a><\/div><time datetime=\"2026-08-31T10:55:00+02:00\" class=\"wp-block-rss__item-publish-date\">31 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/privacy\/ai-powered-osint-why-everyone-viable-target-fraud\/'>AI-driven OSINT in the wrong hands \u2013 and why everyone could be a target for fraud<\/a><\/div><time datetime=\"2026-08-27T11:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">27 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/business-security\/qr-code-phishing-slip-past-corporate-security-measures\/'>How QR-code phishing can slip past corporate security measures<\/a><\/div><time datetime=\"2026-08-17T11:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">17 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/business-security\/black-hat-usa-2026-vulnerability-discovery-decline-ai-era\/'>Black Hat USA 2026: Will vulnerability discovery eventually decline in the AI era?<\/a><\/div><time datetime=\"2026-08-13T16:30:00+02:00\" class=\"wp-block-rss__item-publish-date\">13 ao\u00fbt 2026<\/time> <\/li><\/ul>\n        <\/div>\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83d\udcca\">Comparatif daily (ESET vs Bitdefender vs Microsoft)<\/h2>\n\n            <div class=\"compare-grid\">\n                <div class=\"compare-col\">\n                    <h3 class=\"compare-title\">ESET<\/h3>\n                    <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/how-to\/ive-been-deepfaked-what-do\/'>I\u2019ve been deepfaked: What do I do?<\/a><\/div><time datetime=\"2026-09-02T13:48:09+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/videos\/month-security-tony-anscombe-august-2026\/'>This month in security with Tony Anscombe \u2013 August 2026 edition<\/a><\/div><time datetime=\"2026-08-31T10:55:00+02:00\" class=\"wp-block-rss__item-publish-date\">31 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/privacy\/ai-powered-osint-why-everyone-viable-target-fraud\/'>AI-driven OSINT in the wrong hands \u2013 and why everyone could be a target for fraud<\/a><\/div><time datetime=\"2026-08-27T11:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">27 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/business-security\/qr-code-phishing-slip-past-corporate-security-measures\/'>How QR-code phishing can slip past corporate security measures<\/a><\/div><time datetime=\"2026-08-17T11:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">17 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.welivesecurity.com\/en\/business-security\/black-hat-usa-2026-vulnerability-discovery-decline-ai-era\/'>Black Hat USA 2026: Will vulnerability discovery eventually decline in the AI era?<\/a><\/div><time datetime=\"2026-08-13T16:30:00+02:00\" class=\"wp-block-rss__item-publish-date\">13 ao\u00fbt 2026<\/time> <\/li><\/ul>\n                <\/div>\n\n                <div class=\"compare-col\">\n                    <h3 class=\"compare-title\">Bitdefender<\/h3>\n                    <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.bitdefender.com\/en-us\/blog\/labs\/fake-xeno-roblox-discord-executor'>Fake Xeno Roblox Cheats Deliver Powerful Java Stealer Through Discord and Forums<\/a><\/div><time datetime=\"2026-08-03T14:51:24+02:00\" class=\"wp-block-rss__item-publish-date\">3 ao\u00fbt 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.bitdefender.com\/en-us\/blog\/labs\/fake-shops-europe-samsung-world-cup-scams'>Fake shops target shoppers across Europe with fake Samsung deals, counterfeit goods and World Cup scams<\/a><\/div><time datetime=\"2026-06-23T14:55:25+02:00\" class=\"wp-block-rss__item-publish-date\">23 juin 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.bitdefender.com\/en-us\/blog\/labs\/inside-the-apac-malvertising-ecosystem'>Inside APAC&#039;s malvertising ecosystem: How scams spread through social media ads<\/a><\/div><time datetime=\"2026-06-02T01:30:18+02:00\" class=\"wp-block-rss__item-publish-date\">2 juin 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.bitdefender.com\/en-us\/blog\/labs\/football-fever-fuels-scam-campaigns-across-email-and-social-media'>Football Fever Fuels Scam Campaigns Across Email and Social Media<\/a><\/div><time datetime=\"2026-05-27T14:56:33+02:00\" class=\"wp-block-rss__item-publish-date\">27 mai 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.bitdefender.com\/en-us\/blog\/labs\/microsofts-mshta-legacy-malware-windows'>Microsoft\u2019s MSHTA Legacy Tool Still Powers Malware Campaigns on Windows<\/a><\/div><time datetime=\"2026-05-19T14:58:25+02:00\" class=\"wp-block-rss__item-publish-date\">19 mai 2026<\/time> <\/li><\/ul>\n                <\/div>\n\n                <div class=\"compare-col\">\n                    <h3 class=\"compare-title\">Microsoft Defender \/ MSRC<\/h3>\n                    <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-85046'>Chromium: CVE-2026-85046 Type confusion in V8<\/a><\/div><time datetime=\"2026-09-10T00:09:50+02:00\" class=\"wp-block-rss__item-publish-date\">10 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-45499'>CVE-2026-45499 Azure OpenAI Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-73024'>CVE-2026-73024 Windows Services for NFS ONCRPC XDR Driver Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-69492'>CVE-2026-69492 Windows Partition Management Driver Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-69334'>CVE-2026-69334 Windows Volume Manager Extension Driver Remote Code Execution Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><\/ul>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83e\ude9f\">Windows 11 (24H2 \/ 25H2)<\/h2>\n\n            <div class=\"rss-links-row\">\n                <a class=\"mini-link\" href=\"https:\/\/support.microsoft.com\/en-us\/topic\/windows-11-version-24h2-update-history-0929c747-1815-4543-8461-0160d16f15e5\" target=\"_blank\">\ud83d\udccc History 24H2<\/a>\n                <a class=\"mini-link\" href=\"https:\/\/support.microsoft.com\/en-us\/topic\/windows-11-version-25h2-update-history-99c7f493-df2a-4832-bd2d-6706baa0dec0\" target=\"_blank\">\ud83d\udccc History 25H2<\/a>\n                <a class=\"mini-link\" href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/release-health\/status-windows-11-24h2\" target=\"_blank\">\ud83e\udde9 Known issues 24H2<\/a>\n            <\/div>\n\n            <h3 class=\"rss-subtitle\">\ud83d\udee1\ufe0f Correctifs s\u00e9curit\u00e9 (MSRC)<\/h3>\n            <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-85046'>Chromium: CVE-2026-85046 Type confusion in V8<\/a><\/div><time datetime=\"2026-09-10T00:09:50+02:00\" class=\"wp-block-rss__item-publish-date\">10 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-45499'>CVE-2026-45499 Azure OpenAI Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-73024'>CVE-2026-73024 Windows Services for NFS ONCRPC XDR Driver Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-69492'>CVE-2026-69492 Windows Partition Management Driver Elevation of Privilege Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-69334'>CVE-2026-69334 Windows Volume Manager Extension Driver Remote Code Execution Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/msrc.microsoft.com\/update-guide\/vulnerability\/CVE-2026-68877'>CVE-2026-68877 Windows Storage Spaces Controller Remote Code Execution Vulnerability<\/a><\/div><time datetime=\"2026-09-09T16:00:00+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><\/ul>\n        <\/div>\n\n        <div class=\"cv-box full-width-box big-text-box\">\n            <h2 data-icon=\"\ud83d\udc27\">Maj Noyau linux<\/h2>\n            <ul class=\"has-dates wp-block-rss\"><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>next-20260909: linux-next<\/a><\/div><time datetime=\"2026-09-09T16:24:46+02:00\" class=\"wp-block-rss__item-publish-date\">9 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>7.2.4: stable<\/a><\/div><time datetime=\"2026-09-07T17:37:55+02:00\" class=\"wp-block-rss__item-publish-date\">7 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>6.18.50: longterm<\/a><\/div><time datetime=\"2026-09-07T17:28:25+02:00\" class=\"wp-block-rss__item-publish-date\">7 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>6.12.109: longterm<\/a><\/div><time datetime=\"2026-09-07T17:20:18+02:00\" class=\"wp-block-rss__item-publish-date\">7 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>7.3-rc2: mainline<\/a><\/div><time datetime=\"2026-09-07T00:07:20+02:00\" class=\"wp-block-rss__item-publish-date\">7 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>7.1.13: stable<\/a><\/div><time datetime=\"2026-09-02T14:32:43+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>6.6.156: longterm<\/a><\/div><time datetime=\"2026-09-02T14:29:30+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>6.1.187: longterm<\/a><\/div><time datetime=\"2026-09-02T14:28:45+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>5.15.220: longterm<\/a><\/div><time datetime=\"2026-09-02T14:28:02+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><li class='wp-block-rss__item'><div class='wp-block-rss__item-title'><a href='https:\/\/www.kernel.org\/'>5.10.269: longterm<\/a><\/div><time datetime=\"2026-09-02T14:26:50+02:00\" class=\"wp-block-rss__item-publish-date\">2 septembre 2026<\/time> <\/li><\/ul>\n        <\/div>\n\n    <\/div>\n\n    <div class=\"patchmon-fixed-shell\" aria-hidden=\"true\">\n        <div class=\"patchmon-fixed-widget\">\n            <div class=\"patchmon-bg-grid\"><\/div>\n            <div class=\"patchmon-aura aura-one\"><\/div>\n            <div class=\"patchmon-aura aura-two\"><\/div>\n\n            <div class=\"patchmon-ring ring-one\"><\/div>\n            <div class=\"patchmon-ring ring-two\"><\/div>\n            <div class=\"patchmon-ring ring-three\"><\/div>\n\n            <div class=\"patchmon-node node-1\"><\/div>\n            <div class=\"patchmon-node node-2\"><\/div>\n            <div class=\"patchmon-node node-3\"><\/div>\n            <div class=\"patchmon-node node-4\"><\/div>\n            <div class=\"patchmon-node node-5\"><\/div>\n            <div class=\"patchmon-node node-6\"><\/div>\n\n            <div class=\"patchmon-badge badge-monitoring\">\n                <span class=\"badge-dot dot-green\"><\/span>\n                <span>Monitoring<\/span>\n            <\/div>\n\n            <div class=\"patchmon-badge badge-patching\">\n                <span class=\"badge-dot dot-blue\"><\/span>\n                <span>Patching<\/span>\n            <\/div>\n\n            <div class=\"patchmon-badge badge-compliance\">\n                <span class=\"badge-dot dot-orange\"><\/span>\n                <span>Compliance<\/span>\n            <\/div>\n\n            <div class=\"patchmon-core-wrap\">\n                <a href=\"https:\/\/patchmon.net\/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"patchmon-core-link\" title=\"Ouvrir le site PatchMon\">\n                    <div class=\"patchmon-core-logo\"><\/div>\n                <\/a>\n                <div class=\"patchmon-core-label\">PatchMon<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <button id=\"back-to-top\" class=\"elevator-btn\" title=\"Remonter en haut\">\u2b06<\/button>\n\n<\/div>\n\n<style>\n    header, #masthead, .site-header, .entry-header, .wp-block-post-title { display: none !important; }\n\n    .veille-portfolio-wrapper {\n        --c-bg-box: #ffffff;\n        --c-bg-page: #f8fbff;\n        --c-text-main: #4a5568;\n        --c-text-title: #2c3e50;\n        --c-accent: #0069d9;\n        --c-accent-hover: #0056b3;\n        --c-border: #e2e8f0;\n        --c-border-strong: #cbd5e0;\n        --c-icon-bg: #ebf8ff;\n        --c-nav-bg: #ffffff;\n        --c-nav-text: #2c3e50;\n        --c-nav-border: #e2e8f0;\n        --c-hover-bg: #f7fafc;\n\n        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n        max-width: 1250px;\n        margin: 0 auto;\n        padding: 20px;\n        color: var(--c-text-main);\n        transition: all 0.3s ease;\n        margin-top: -50px;\n        position: relative;\n    }\n\n    body.dark-mode-active,\n    body.dark-mode-active .veille-portfolio-wrapper {\n        background-color: #0f172a !important;\n        --c-bg-box: #1e293b;\n        --c-bg-page: #0f172a;\n        --c-text-main: #cbd5e1;\n        --c-text-title: #ffffff;\n        --c-accent: #60a5fa;\n        --c-accent-hover: #3b82f6;\n        --c-border: #334155;\n        --c-border-strong: #475569;\n        --c-icon-bg: #334155;\n        --c-nav-bg: #0f172a;\n        --c-nav-text: #f8fafc;\n        --c-nav-border: #475569;\n        --c-hover-bg: #2d3748;\n    }\n\n    .cv-box {\n        background-color: var(--c-bg-box);\n        border: 1px solid var(--c-border);\n        border-radius: 20px;\n        padding: 30px;\n        box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);\n        margin-bottom: 30px;\n        transition: transform 0.2s ease, border-color 0.3s, box-shadow 0.3s;\n    }\n\n    .cv-box:not(.cv-top-card):hover {\n        transform: translateY(-3px);\n        border-color: var(--c-border-strong);\n        box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1);\n    }\n\n    .cv-header-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 20px;\n        flex-wrap: wrap;\n        gap: 15px;\n    }\n\n    .theme-btn {\n        background: var(--c-bg-box);\n        border: 1px solid var(--c-border);\n        color: var(--c-text-title);\n        padding: 8px 16px;\n        border-radius: 20px;\n        cursor: pointer;\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        font-weight: 600;\n        font-family: inherit;\n        transition: all 0.2s;\n        height: 100%;\n    }\n\n    .theme-btn:hover { border-color: var(--c-accent); }\n\n    .header-logo-area {\n        display: flex;\n        align-items: center;\n        gap: 12px;\n    }\n\n    .linkedin-btn {\n        text-decoration: none;\n        background: #0077b5;\n        color: #ffffff;\n        padding: 8px 16px;\n        border-radius: 20px;\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        font-weight: 600;\n        transition: all 0.2s ease;\n        border: 1px solid #0077b5;\n        box-shadow: 0 2px 5px rgba(0, 119, 181, 0.2);\n    }\n\n    .linkedin-btn:hover {\n        background: #005582;\n        border-color: #005582;\n        transform: translateY(-2px);\n        box-shadow: 0 4px 10px rgba(0, 119, 181, 0.4);\n        color: #fff;\n    }\n\n    .linkedin-icon { fill: currentColor; }\n\n    .cv-btn {\n        background: #16a34a;\n        border-color: #16a34a;\n        box-shadow: 0 2px 5px rgba(22, 163, 74, 0.2);\n    }\n\n    .cv-btn:hover {\n        background: #15803d;\n        border-color: #15803d;\n        box-shadow: 0 4px 10px rgba(22, 163, 74, 0.35);\n        color: #fff;\n    }\n\n    .main-title {\n        text-align: center;\n        font-size: 2.5em;\n        color: var(--c-text-title);\n        margin: 10px 0 30px;\n        display: block !important;\n        line-height: 1.2;\n    }\n\n    .quick-nav-row {\n        display: flex;\n        justify-content: center;\n        gap: 20px;\n        flex-wrap: wrap;\n    }\n\n    .nav-pill {\n        text-decoration: none;\n        background-color: var(--c-nav-bg);\n        color: var(--c-nav-text);\n        border: 1px solid var(--c-nav-border);\n        padding: 10px 30px;\n        border-radius: 50px;\n        font-weight: 600;\n        font-size: 1.1em;\n        transition: all 0.2s ease;\n        box-shadow: 0 2px 5px rgba(0,0,0,0.05);\n        display: inline-block;\n    }\n\n    .nav-pill:hover {\n        background-color: var(--c-accent);\n        color: #ffffff;\n        border-color: var(--c-accent);\n        transform: translateY(-2px);\n    }\n\n    .active-pill {\n        background-color: transparent;\n        color: var(--c-text-title);\n        border: 1px solid var(--c-accent);\n        padding: 10px 30px;\n        border-radius: 50px;\n        font-weight: 700;\n        font-size: 1.1em;\n        box-shadow: 0 0 10px rgba(0, 105, 217, 0.1) inset;\n    }\n\n    .cv-box h2 {\n        color: var(--c-text-title);\n        border-bottom: 2px solid var(--c-border);\n        padding-bottom: 15px;\n        margin-top: 0;\n        margin-bottom: 20px;\n        font-size: 1.6em;\n        display: flex;\n        align-items: center;\n    }\n\n    .cv-box h2::before {\n        content: attr(data-icon);\n        margin-right: 15px;\n        font-size: 0.9em;\n        background: var(--c-icon-bg);\n        width: 45px;\n        height: 45px;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        border-radius: 50%;\n    }\n\n    .veille-theme-block {\n        background: var(--c-bg-page);\n        border: 1px solid var(--c-border);\n        border-left: 5px solid var(--c-accent);\n        border-radius: 16px;\n        padding: 18px 20px;\n        margin-bottom: 20px;\n    }\n\n    .veille-theme-title {\n        margin: 0 0 8px;\n        color: var(--c-text-title);\n        font-size: 1.15em;\n    }\n\n    .veille-theme-text {\n        margin: 0;\n        font-size: 1.05em;\n        line-height: 1.6;\n        color: var(--c-text-main);\n        font-weight: 500;\n    }\n\n    .timeline-block {\n        position: relative;\n    }\n\n    .timeline {\n        position: relative;\n        margin-top: 10px;\n        padding-left: 20px;\n    }\n\n    .timeline::before {\n        content: \"\";\n        position: absolute;\n        left: 10px;\n        top: 4px;\n        bottom: 4px;\n        width: 3px;\n        background: linear-gradient(to bottom, var(--c-accent), var(--c-border-strong));\n        border-radius: 10px;\n    }\n\n    .timeline-item {\n        position: relative;\n        padding-left: 30px;\n        margin-bottom: 22px;\n    }\n\n    .timeline-item:last-child {\n        margin-bottom: 0;\n    }\n\n    .timeline-dot {\n        position: absolute;\n        left: -1px;\n        top: 6px;\n        width: 14px;\n        height: 14px;\n        background: var(--c-accent);\n        border: 3px solid var(--c-bg-box);\n        border-radius: 50%;\n        box-shadow: 0 0 0 3px rgba(0, 105, 217, 0.12);\n    }\n\n    .timeline-dot-current {\n        background: #16a34a;\n        box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.15);\n    }\n\n    .timeline-date {\n        font-weight: 700;\n        color: var(--c-text-title);\n        margin-bottom: 6px;\n        font-size: 1.02em;\n    }\n\n    .timeline-text {\n        color: var(--c-text-main);\n        line-height: 1.6;\n        font-size: 1em;\n    }\n\n    body.dark-mode-active .timeline-dot {\n        box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);\n    }\n\n    body.dark-mode-active .timeline-dot-current {\n        box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.2);\n    }\n\n    .rss-links-row {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 10px;\n        margin-bottom: 20px;\n    }\n\n    .mini-link {\n        text-decoration: none;\n        background-color: var(--c-nav-bg);\n        color: var(--c-nav-text);\n        border: 1px solid var(--c-nav-border);\n        padding: 8px 16px;\n        border-radius: 50px;\n        font-weight: 600;\n        font-size: 0.9em;\n        transition: all 0.2s ease;\n    }\n\n    .mini-link:hover {\n        background-color: var(--c-accent);\n        color: #ffffff;\n        border-color: var(--c-accent);\n        transform: translateY(-2px);\n    }\n\n    .rss-subtitle {\n        margin: 30px 0 15px;\n        font-size: 1.3em;\n        color: var(--c-text-title);\n        border-left: 4px solid var(--c-accent);\n        padding-left: 10px;\n    }\n\n    .cv-box ul.wp-block-rss { list-style: none !important; padding: 0 !important; margin: 0 !important; }\n    .cv-box ul.wp-block-rss li { padding: 15px 0; border-bottom: 1px solid var(--c-border); }\n    .cv-box ul.wp-block-rss li:last-child { border-bottom: none; }\n\n    .cv-box ul.wp-block-rss li a {\n        color: var(--c-text-title);\n        font-weight: 700;\n        text-decoration: none;\n        display: block;\n        margin-bottom: 6px;\n        font-size: 1.2em;\n        line-height: 1.4;\n        transition: color 0.2s;\n    }\n\n    .cv-box ul.wp-block-rss li a:hover { color: var(--c-accent); }\n\n    .cv-box ul.wp-block-rss time,\n    .cv-box ul.wp-block-rss .wp-block-rss__date {\n        font-size: 0.95em;\n        color: var(--c-text-main);\n        opacity: 0.8;\n    }\n\n    .compare-grid {\n        display: grid;\n        grid-template-columns: repeat(3, minmax(0, 1fr));\n        gap: 18px;\n        margin-top: 10px;\n    }\n\n    .compare-col {\n        border: 1px solid var(--c-border);\n        border-radius: 16px;\n        padding: 18px;\n        background: var(--c-bg-box);\n    }\n\n    .compare-title {\n        margin: 0 0 12px;\n        color: var(--c-text-title);\n        font-size: 1.15em;\n        border-left: 4px solid var(--c-accent);\n        padding-left: 10px;\n    }\n\n    .patchmon-fixed-shell {\n        position: fixed;\n        top: 220px;\n        right: 34px;\n        width: 270px;\n        height: 430px;\n        z-index: 40;\n        pointer-events: none;\n    }\n\n    .patchmon-fixed-widget {\n        position: relative;\n        width: 100%;\n        height: 100%;\n        border-radius: 28px;\n        overflow: hidden;\n        background:\n            radial-gradient(circle at 50% 20%, rgba(96, 165, 250, 0.18), transparent 36%),\n            linear-gradient(180deg, rgba(255,255,255,0.95), rgba(240,247,255,0.94));\n        border: 1px solid rgba(203, 213, 225, 0.9);\n        box-shadow:\n            0 18px 50px rgba(15, 23, 42, 0.12),\n            inset 0 1px 0 rgba(255,255,255,0.65);\n        backdrop-filter: blur(8px);\n    }\n\n    .patchmon-fixed-widget::before {\n        content: \"\";\n        position: absolute;\n        inset: 0;\n        background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.24) 45%, transparent 70%);\n        transform: translateX(-120%);\n        animation: patchmonSweep 7s linear infinite;\n    }\n\n    .patchmon-bg-grid {\n        position: absolute;\n        inset: 0;\n        background-image:\n            linear-gradient(rgba(37, 99, 235, 0.05) 1px, transparent 1px),\n            linear-gradient(90deg, rgba(37, 99, 235, 0.05) 1px, transparent 1px);\n        background-size: 24px 24px;\n        mask-image: linear-gradient(to bottom, rgba(0,0,0,0.65), transparent 92%);\n    }\n\n    .patchmon-aura {\n        position: absolute;\n        border-radius: 50%;\n        filter: blur(14px);\n        opacity: 0.45;\n    }\n\n    .aura-one {\n        width: 150px;\n        height: 150px;\n        left: 50%;\n        top: 42%;\n        transform: translate(-50%, -50%);\n        background: rgba(59, 130, 246, 0.25);\n        animation: auraPulseOne 4.8s ease-in-out infinite;\n    }\n\n    .aura-two {\n        width: 90px;\n        height: 90px;\n        left: 52%;\n        top: 44%;\n        transform: translate(-50%, -50%);\n        background: rgba(34, 197, 94, 0.18);\n        animation: auraPulseTwo 3.8s ease-in-out infinite;\n    }\n\n    .patchmon-ring {\n        position: absolute;\n        left: 50%;\n        top: 44%;\n        border-radius: 50%;\n        transform: translate(-50%, -50%);\n        border: 1px dashed rgba(96, 165, 250, 0.32);\n    }\n\n    .ring-one {\n        width: 140px;\n        height: 140px;\n        animation: ringSpin 16s linear infinite;\n    }\n\n    .ring-two {\n        width: 190px;\n        height: 190px;\n        animation: ringSpinReverse 22s linear infinite;\n    }\n\n    .ring-three {\n        width: 240px;\n        height: 240px;\n        animation: ringFloat 6s ease-in-out infinite;\n    }\n\n    .patchmon-node {\n        position: absolute;\n        width: 10px;\n        height: 10px;\n        border-radius: 50%;\n        background: #3b82f6;\n        box-shadow: 0 0 12px rgba(59, 130, 246, 0.45);\n    }\n\n    .node-1 { top: 95px; left: 50%; transform: translateX(-50%); }\n    .node-2 { top: 140px; right: 42px; background: #22c55e; box-shadow: 0 0 12px rgba(34, 197, 94, 0.45); }\n    .node-3 { top: 208px; right: 24px; }\n    .node-4 { bottom: 118px; right: 52px; background: #f97316; box-shadow: 0 0 12px rgba(249, 115, 22, 0.45); }\n    .node-5 { bottom: 88px; left: 44px; }\n    .node-6 { top: 180px; left: 28px; background: #22c55e; box-shadow: 0 0 12px rgba(34, 197, 94, 0.45); }\n\n    .patchmon-core-wrap {\n        position: absolute;\n        left: 50%;\n        top: 44%;\n        transform: translate(-50%, -50%);\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        gap: 12px;\n        z-index: 3;\n    }\n\n    .patchmon-core-link {\n        display: block;\n        border-radius: 50%;\n        pointer-events: auto;\n        text-decoration: none;\n        transition: transform 0.25s ease, filter 0.25s ease;\n    }\n\n    .patchmon-core-link:hover {\n        transform: scale(1.06);\n        filter: brightness(1.03);\n    }\n\n    .patchmon-core-logo {\n        width: 118px;\n        height: 118px;\n        border-radius: 50%;\n        background-color: rgba(255,255,255,0.98);\n        background-image: url(\"https:\/\/docs.patchmon.net\/uploads\/images\/system\/2025-10\/8vvcopy-of-patchmon.png\");\n        background-repeat: no-repeat;\n        background-position: center;\n        background-size: 72px auto;\n        border: 1px solid rgba(191, 219, 254, 0.95);\n        box-shadow:\n            0 0 0 10px rgba(59, 130, 246, 0.08),\n            0 16px 32px rgba(30, 41, 59, 0.12);\n        animation: coreBob 4.6s ease-in-out infinite;\n        cursor: pointer;\n    }\n\n    .patchmon-core-label {\n        font-size: 1.05em;\n        font-weight: 800;\n        letter-spacing: 0.04em;\n        color: #334155;\n        text-shadow: 0 1px 0 rgba(255,255,255,0.7);\n    }\n\n    .patchmon-badge {\n        position: absolute;\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        padding: 10px 14px;\n        border-radius: 999px;\n        font-size: 0.88em;\n        font-weight: 700;\n        color: #1e293b;\n        background: rgba(255,255,255,0.86);\n        border: 1px solid rgba(226, 232, 240, 0.95);\n        box-shadow: 0 10px 24px rgba(0,0,0,0.08);\n        backdrop-filter: blur(8px);\n        z-index: 4;\n        white-space: nowrap;\n    }\n\n    .badge-monitoring {\n        top: 78px;\n        right: 16px;\n        animation: badgeFloatA 4.8s ease-in-out infinite;\n    }\n\n    .badge-patching {\n        left: 14px;\n        top: 188px;\n        animation: badgeFloatB 5.1s ease-in-out infinite;\n    }\n\n    .badge-compliance {\n        right: 10px;\n        bottom: 86px;\n        animation: badgeFloatC 4.6s ease-in-out infinite;\n    }\n\n    .badge-dot {\n        width: 9px;\n        height: 9px;\n        border-radius: 50%;\n        display: inline-block;\n        flex-shrink: 0;\n    }\n\n    .dot-green { background: #22c55e; }\n    .dot-blue { background: #2563eb; }\n    .dot-orange { background: #f97316; }\n\n    body.dark-mode-active .patchmon-fixed-widget {\n        background:\n            radial-gradient(circle at 50% 20%, rgba(96, 165, 250, 0.2), transparent 36%),\n            linear-gradient(180deg, rgba(15,23,42,0.94), rgba(23,32,51,0.96));\n        border: 1px solid rgba(71, 85, 105, 0.9);\n        box-shadow:\n            0 22px 55px rgba(2, 6, 23, 0.42),\n            inset 0 1px 0 rgba(255,255,255,0.04);\n    }\n\n    body.dark-mode-active .patchmon-bg-grid {\n        background-image:\n            linear-gradient(rgba(96, 165, 250, 0.08) 1px, transparent 1px),\n            linear-gradient(90deg, rgba(96, 165, 250, 0.08) 1px, transparent 1px);\n    }\n\n    body.dark-mode-active .patchmon-core-logo {\n        background-color: rgba(15,23,42,0.98);\n        border-color: rgba(96, 165, 250, 0.24);\n        box-shadow:\n            0 0 0 10px rgba(96, 165, 250, 0.08),\n            0 16px 32px rgba(2, 6, 23, 0.28);\n    }\n\n    body.dark-mode-active .patchmon-core-label {\n        color: #e2e8f0;\n        text-shadow: none;\n    }\n\n    body.dark-mode-active .patchmon-ring {\n        border-color: rgba(96, 165, 250, 0.28);\n    }\n\n    body.dark-mode-active .patchmon-badge {\n        color: #e2e8f0;\n        background: rgba(15,23,42,0.82);\n        border-color: rgba(71, 85, 105, 0.85);\n        box-shadow: 0 14px 28px rgba(0,0,0,0.28);\n    }\n\n    .elevator-btn {\n        position: fixed;\n        bottom: 30px;\n        right: 30px;\n        background-color: var(--c-accent);\n        color: #fff;\n        border: none;\n        border-radius: 50%;\n        width: 50px;\n        height: 50px;\n        font-size: 1.5em;\n        cursor: pointer;\n        box-shadow: 0 4px 15px rgba(0,0,0,0.2);\n        opacity: 0;\n        visibility: hidden;\n        transition: all 0.3s ease;\n        z-index: 9999;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .elevator-btn.visible {\n        opacity: 1;\n        visibility: visible;\n        bottom: 40px;\n    }\n\n    .elevator-btn:hover {\n        background-color: var(--c-accent-hover);\n        transform: scale(1.1);\n    }\n\n    .mode-icon.sun { display: none; }\n    body.dark-mode-active .mode-icon.sun { display: inline; }\n    body.dark-mode-active .mode-icon.moon { display: none; }\n\n    @keyframes patchmonSweep {\n        0% { transform: translateX(-120%); }\n        100% { transform: translateX(120%); }\n    }\n\n    @keyframes auraPulseOne {\n        0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.32; }\n        50% { transform: translate(-50%, -50%) scale(1.12); opacity: 0.5; }\n    }\n\n    @keyframes auraPulseTwo {\n        0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.24; }\n        50% { transform: translate(-50%, -50%) scale(1.18); opacity: 0.42; }\n    }\n\n    @keyframes ringSpin {\n        from { transform: translate(-50%, -50%) rotate(0deg); }\n        to { transform: translate(-50%, -50%) rotate(360deg); }\n    }\n\n    @keyframes ringSpinReverse {\n        from { transform: translate(-50%, -50%) rotate(360deg); }\n        to { transform: translate(-50%, -50%) rotate(0deg); }\n    }\n\n    @keyframes ringFloat {\n        0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; }\n        50% { transform: translate(-50%, -50%) scale(1.04); opacity: 1; }\n    }\n\n    @keyframes coreBob {\n        0%, 100% { transform: translateY(0px); }\n        50% { transform: translateY(-10px); }\n    }\n\n    @keyframes badgeFloatA {\n        0%, 100% { transform: translateY(0px); }\n        50% { transform: translateY(-8px); }\n    }\n\n    @keyframes badgeFloatB {\n        0%, 100% { transform: translateY(0px); }\n        50% { transform: translateY(10px); }\n    }\n\n    @keyframes badgeFloatC {\n        0%, 100% { transform: translateY(0px); }\n        50% { transform: translateY(-6px); }\n    }\n\n    @media (max-width: 1400px) {\n        .patchmon-fixed-shell {\n            right: 18px;\n            width: 230px;\n            height: 370px;\n        }\n\n        .patchmon-core-logo {\n            width: 102px;\n            height: 102px;\n            background-size: 62px auto;\n        }\n\n        .ring-one { width: 124px; height: 124px; }\n        .ring-two { width: 168px; height: 168px; }\n        .ring-three { width: 210px; height: 210px; }\n\n        .patchmon-badge {\n            font-size: 0.8em;\n            padding: 8px 12px;\n        }\n\n        .badge-monitoring { top: 62px; right: 10px; }\n        .badge-patching { top: 168px; left: 10px; }\n        .badge-compliance { right: 6px; bottom: 66px; }\n    }\n\n    @media (max-width: 1180px) {\n        .patchmon-fixed-shell {\n            display: none;\n        }\n\n        .compare-grid {\n            grid-template-columns: 1fr;\n        }\n\n        .timeline {\n            padding-left: 14px;\n        }\n\n        .timeline-item {\n            padding-left: 24px;\n        }\n    }\n<\/style>\n\n<script>\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        const toggleBtn = document.getElementById('theme-toggle');\n        const modeText = document.querySelector('.mode-text');\n\n        function updateButtonText(isDark) {\n            modeText.textContent = isDark ? \"Mode Clair\" : \"Mode Sombre\";\n        }\n\n        const savedTheme = localStorage.getItem('cv-theme');\n        if (savedTheme === 'dark') {\n            document.body.classList.add('dark-mode-active');\n            updateButtonText(true);\n        }\n\n        toggleBtn.addEventListener('click', function() {\n            document.body.classList.toggle('dark-mode-active');\n            const isDarkNow = document.body.classList.contains('dark-mode-active');\n            localStorage.setItem('cv-theme', isDarkNow ? 'dark' : 'light');\n            updateButtonText(isDarkNow);\n        });\n\n        const elevatorBtn = document.getElementById('back-to-top');\n        window.addEventListener('scroll', () => {\n            if (window.scrollY > 300) {\n                elevatorBtn.classList.add('visible');\n            } else {\n                elevatorBtn.classList.remove('visible');\n            }\n        });\n\n        elevatorBtn.addEventListener('click', () => {\n            window.scrollTo({ top: 0, behavior: 'smooth' });\n        });\n    });\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\ud83c\udf19 \u2600\ufe0f Mode Sombre \ud83c\udfe0 Accueil LinkedIn \ud83d\udcc4 CV Veille Technologique \ud83d\udcc2 Documentation \ud83d\udcf0 Veille Technologique \ud83d\udcbc Parcours Professionnel \ud83c\udf93 Certifications Mon Agr\u00e9gateur de Flux (FreshRSS) \ud83d\udd17 Acc\u00e9der \u00e0 mon FreshRSS Sujet de veille \u00c9tude du d\u00e9ploiement des correctifs de s\u00e9curit\u00e9 dans un parc informatique. En compl\u00e9ment des flux pr\u00e9sent\u00e9s ci-dessous, j&rsquo;utilise une instance priv\u00e9e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-119","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":44,"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/119\/revisions"}],"predecessor-version":[{"id":238,"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=\/wp\/v2\/pages\/119\/revisions\/238"}],"wp:attachment":[{"href":"https:\/\/yoann-trevette.duckdns.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}