Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 31 décembre 2025Flux principal

Syncing passkeys with Microsoft Entra ID

Par : IT Experts
31 décembre 2025 à 14:15
Microsoft Entra ID introduces synced passkeys to simplify multi-factor authentication and reduce the security risks associated with traditional methods such as passwords and SMS codes. This feature, announced at Microsoft Ignite 2025, enables users to authenticate with biometrics or device PINs without entering passwords when syncing credentials across devices via cloud-based passkey providers. The implementation also includes high-assurance account recovery using government-issued ID verification to restore access when users lose all authentication methods.

Source

Corriger l’erreur « SYSTEM SERVICE EXCEPTION » (BSOD) sur Windows

Par : Pierre Caer
31 décembre 2025 à 14:11
Lorsqu’un écran bleu ou noir de la mort (BSOD) s’affiche sur votre PC Windows avec le code d’arrêt SYSTEM_SERVICE_EXCEPTION, cela signale qu’une erreur critique s’est produite au cœur du système. Ce type de crash peut apparaître à différents moments — dès le démarrage, au lancement d’un programme ou au cours d’une utilisation normale — et … Lire la suite

Source

IBM Warns of Critical API Connect Bug Allowing Remote Authentication Bypass

31 décembre 2025 à 14:37
IBM has disclosed details of a critical security flaw in API Connect that could allow attackers to gain remote access to the application. The vulnerability, tracked as CVE-2025-13915, is rated 9.8 out of a maximum of 10.0 on the CVSS scoring system. It has been described as an authentication bypass flaw. "IBM API Connect could allow a remote attacker to bypass authentication mechanisms and gain

Researchers Spot Modified Shai-Hulud Worm Testing Payload on npm Registry

31 décembre 2025 à 14:29
Cybersecurity researchers have disclosed details of what appears to be a new strain of Shai Hulud on the npm registry with slight modifications from the previous wave observed last month. The npm package that embeds the novel Shai Hulud strain is "@vietmoney/react-big-calendar," which was uploaded to npm back in March 2021 by a user named "hoquocdat." It was updated for the first time on

Accusé de collecter illégalement des données d’enfants sur YouTube, Disney s’en sort avec une amende de 10 millions de dollars

31 décembre 2025 à 14:30

Disney a accepté de payer une amende de 10 millions de dollars pour régler des accusations selon lesquelles le groupe aurait illégalement collecté des données personnelles d’enfants via des vidéos diffusées sur YouTube, en violation de la loi américaine sur la protection de la vie privée des enfants en ligne (COPPA).

« Nous les appelons DarkSpectre » : ces outils de productivité ont espionné en silence des millions de réunions d’entreprises

31 décembre 2025 à 13:30

Le 30 décembre 2025, les chercheurs de Koi Security ont publié les conclusions de leur dernière enquête sur l’acteur cybercriminel DarkSpectre. Identifié depuis plusieurs années, cet acteur chinois aurait récemment disséminé des extensions de navigateur visant à collecter des renseignements d’entreprise, en extrayant notamment des informations issues de réunions Zoom et Google Meet.

[Linux] Vous utilisez « man » et pas « tldr » ? 📖

Par : Mr Xhark
31 décembre 2025 à 15:29

Adrien nous propose une vidéo sur la commande "tldr" (en français : trop long, pas lu) en complément de "man" :

J'ai toujours préféré les exemples à de longues documentations, certes essentielles pour décrire les options, mais rarement digestes pour les humains. La commande "man" reste utile si "tldr" ne vous offre pas les options les plus avancées... "tldr" séduira particulièrement aux débutants un peu frileux de la ligne de commande.

Et pour tout le reste, il y a les IA... à utiliser avec modération vu le prix de la RAM en ce moment 😉

Merci Adrien !

Vous n'aimez pas le RSS : abonnez-vous par email 📥
Vous devriez me suivre sur Twitter : @xhark

Article original écrit par Mr Xhark publié sur Blogmotion le 31/12/2025 | Pas de commentaire |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons

Cet article [Linux] Vous utilisez « man » et pas « tldr » ? 📖 provient de : on Blogmotion.

HiFidelity - Le lecteur audio macOS pour ceux qui en ont marre de Spotify

Par : Korben
31 décembre 2025 à 14:01

J'arrête pas de lire en ce moment des articles sur des Américains de moins de 25 ans qui découvrent les cassettes audio et qui nous en font des tartines en mode "c'est trop génial". Ils sont mignons car biberonnés à Stranger Things, ils deviennent nostalgiques de cette époque des années 80 qu'il n'ont pas connu. Je comprends, c’était cool mais moi j'ai connu et je peux vous dire que la cassette audio, ça vaut pas un bon vieux FLAC en termes de qualité audio.

Après Spotify même s'il propose du lossless depuis peu, c'est pas non plus le top parce que bah faut payer l'abonnement et puis la musique ne nous appartient pas vraiment. Alors peut-être que, finalement, la voie de la sagesse, c'est celle qui consiste à se faire une collection de FLAC comme on le faisait à l'époque avec nos vieux MP3.

Et c'est pour ça qu'aujourd'hui je vous parle de HiFidelity qui va probablement vous faire plaisir.

C'est un lecteur audio pour macOS, totalement gratuit et open source, pensé pour les audiophiles qui en ont marre des usines à gaz bardées de trackers et d'abonnements. Le truc fonctionne 100% hors ligne, ne collecte aucune donnée, et utilise la bibliothèque BASS (celle qu'on retrouve dans plein de players pro) pour une lecture bit-perfect. Ça veut dire que vos fichiers audio sont lus tels quels, sans conversion ni dégradation.

Côté formats, c'est la totale : FLAC, WAV, AIFF, APE, MP3, AAC, OGG, OPUS, M4A... bref tout ce qui traîne dans une bibliothèque musicale bien fournie. Et pour les puristes, y'a même un mode "Hog" qui prend le contrôle exclusif de votre périphérique audio. En gros aucune autre app ne viendra polluer votre écoute avec ses petits bips de notifications.

L'interface est propre, avec navigation par artistes, albums, genres, et une recherche super réactive grâce à SQLite FTS5 , recommandations automatiques... Ah et le mini-player flottant est vraiment bien foutu pour bosser avec sa musique sans encombrer l'écran.

Perso, ce qui me plaît, c'est l'approche "local first" et avoir un lecteur qui fait juste... lire de la musique, ça fait du bien. Y'a même la synchro des paroles en temps réel via lrclib et un égaliseur multiband pour ceux qui aiment tripatouiller les fréquences.

Pour l'installer c'est simple... soit via Homebrew avec

brew tap rvarunrathod/tap && brew install --cask hifidelity

Soit en téléchargeant directement depuis GitHub . Faut macOS 14 minimum par contre.

Bref, si vous cherchez un lecteur audio qui respecte vos oreilles ET votre vie privée, HiFidelity mérite clairement le coup d'oeil. Merci à Lorenper pour la découverte !

Accusé de collecter illégalement des données d’enfants sur YouTube, Disney s’en sort avec une amende de 10 millions de dollars

31 décembre 2025 à 14:30

Disney a accepté de payer une amende de 10 millions de dollars pour régler des accusations selon lesquelles le groupe aurait illégalement collecté des données personnelles d’enfants via des vidéos diffusées sur YouTube, en violation de la loi américaine sur la protection de la vie privée des enfants en ligne (COPPA).

C’est un bon signe pour Netflix : Warner Bros rejette encore les avances de Paramount

31 décembre 2025 à 13:34

Le conseil d'administration de Warner Bros. s’apprêterait à rejeter une nouvelle fois l’offre publique d’achat hostile présentée la semaine dernière par Paramount, rapporte Bloomberg. Un vote doit avoir lieu la semaine prochaine.

« Nous les appelons DarkSpectre » : ces outils de productivité ont espionné en silence des millions de réunions d’entreprises

31 décembre 2025 à 13:30

Le 30 décembre 2025, les chercheurs de Koi Security ont publié les conclusions de leur dernière enquête sur l’acteur cybercriminel DarkSpectre. Identifié depuis plusieurs années, cet acteur chinois aurait récemment disséminé des extensions de navigateur visant à collecter des renseignements d’entreprise, en extrayant notamment des informations issues de réunions Zoom et Google Meet.

Comment j'ai viré Algolia et recréé le Google de 1998 sur mon site

Par : Korben
31 décembre 2025 à 12:00

Bon, faut qu'on parle un peu du moteur de recherche de mon site. Ceux qui l'ont déjà utilisé savent de quoi je parle : c'était pas terrible. Enfin, « pas terrible » j'suis gentil. C'est un espèce d'overlay avec des résultats certes fiables mais c'était vraiment pas pratique.

Et en plus de ça, comme j'ai un site statique généré avec Hugo, je passais par Algolia pour la recherche. Si vous ne connaissez pas, Algolia c'est un service cloud qui indexe votre contenu et vous fournit une API de recherche ultra-rapide. Sur le papier c'est génial et dans la pratique aussi d'ailleurs sauf que voilà, ça coûte des sous. Et mon site rencontre un franc succès ces derniers temps (merci à vous !), donc j'ai de plus en plus de visiteurs, donc de plus en plus de recherches, donc une facture Algolia qui grimpe gentiment chaque mois.

Du coup je me suis dit : « Et si je trouvais une solution de recherche pour sites statiques ? » Parce que oui, ça existe et c'est comme ça que j'ai découvert Pagefind.

Pagefind c'est donc un moteur de recherche statique open source développé par CloudCannon qui fonctionne comme ceci : Au moment du build de votre site, Pagefind parcourt tout votre HTML généré et crée un index de recherche qu'on peut interroger avec un peu de JS. Y'a donc plus d'API, et tout se fait localement sur le navigateur des internautes.

Bref, ça avait l'air très cool alors évidemment, je me suis lancé dans l'aventure et comme j'aime bien me compliquer la vie, j'ai décidé de pas juste intégrer Pagefind tel quel. Non non. J'ai voulu recréer l'interface du Google de 1998 parce que à quoi bon avoir son propre site web si on peut pas s'amuser un peu ^^.

Laissez-moi donc vous raconter cette aventure.

Le problème avec Algolia

Leur service est excellent, je dis pas le contraire, la recherche est rapide, les résultats sont pertinents, l'API est bien foutue mais voilà, y'a le modèle de pricing puisque Algolia facture au nombre de requêtes de recherche.

Plus les gens cherchent sur votre site, plus vous payez et quand vous avez un site qui fait plusieurs millions de pages vues par mois, bah... ça chiffre vite. En gros je dépasse très vite les 10 000 recherches offertes chaque semaine et ensuite ça chiffre. C'est pas la mort, mais c'est un coût récurrent débile pour un truc qui pourrait être gratuit.

En plus de ça, y'a la dépendance à un service externe. Si Algolia tombe, ma recherche tombe. Et si Algolia change ses prix, je vais devoir subir. Même chose si Algolia décide de modifier son API... il faudra que j'adapte mon code. Bref, c'est le cloud dans toute sa splendeur... C'est pratique mais on n'est jamais vraiment chez nous.

Pagefind à la rescousse

Pagefind résout donc tous ces problèmes d'un coup. C'est un outil en ligne de commande qui s'exécute après votre générateur de site statique (Hugo dans mon cas, mais ça marche avec Jekyll, Eleventy, Astro, ou n'importe quoi d'autre).

Concrètement, vous lancez :

npx pagefind --site public

Et Pagefind va :

    1. Scanner tous vos fichiers HTML dans le dossier public/
    1. Extraire le contenu textuel (en ignorant la nav, le footer, les pubs si vous lui dites)
    1. Créer un index de recherche optimisé
    1. Générer des fichiers JavaScript pour interroger cet index côté client

Et le résultat c'est un dossier pagefind/ qui contient tout ce qu'il faut. Ensuite; à vous de servir ces fichiers statiquement avec le reste de votre site, et la magie pourra opérer !

L'index pour mes 18 000 articles fait environ 1,5 Go. Ça peut paraître beaucoup, mais Pagefind est malin car il découpe l'index en fragments et ne charge que ce qui est nécessaire pour la recherche en cours. Du coup en pratique, une recherche typique télécharge quelques centaines de Ko, et pas plus.

L'intégration technique

Pour intégrer Pagefind dans mon workflow Hugo, j'ai donc été cherché le binaire, je l'ai mis sur mon serveur et je l'ai appelé dans un cron comme ça, je rafraichi l'index de recherche 1 fois par jour (et pas à chaque génération du site).

0 4 * * * /home/manu/pagefind/pagefind --site /home/manu/public_html --output-path /home/manu/public_html/pagefind >> /var/log/pagefind.log 2>&1

J'ai aussi créé un fichier de configuration pagefind.yml pour affiner le comportement :

root_selector: "[data-pagefind-body]"
exclude_selectors:
 - "header"
 - ".site-header"
 - "footer"
 - ".sidebar"

L'astuce ici c'est d'indexer uniquement les div ayant la class data-pagefind-body='true' et d'exclure les éléments qui ne font pas partie du contenu éditorial afin de ne pas indexer ce qui se trouve dans le header, les natives, le footer...etc.

Côté JavaScript, Pagefind utilise les imports ES6 dynamiques. Ça veut dire que le moteur de recherche n'est chargé que quand l'utilisateur lance effectivement une recherche :

async function initPagefind() {
pagefind = await import('/pagefind/pagefind.js');
await pagefind.init();
}

Et pour faire une recherche :

const search = await pagefind.search("linux");
// search.results contient les IDs des résultats
// On charge le contenu de chaque résultat à la demande
for (const result of search.results) {
 const data = await result.data();
 console.log(data.url, data.meta.title, data.excerpt);
}

C'est bien fichu parce que search.results retourne immédiatement les références des résultats, mais le contenu réel (titre, extrait, URL) n'est chargé que quand vous appelez result.data(). Du coup vous pouvez implémenter une pagination propre sans télécharger les données de milliers de résultats d'un coup.

Le délire rétro - Recréer Google 1998

Maintenant que j'avais un moteur de recherche fonctionnel, fallait l'habiller. Et c'est là que j'ai eu cette idée un peu débile : Pourquoi pas recréer l'interface du Google de 1998 ?

Pour les plus jeunes qui lisent ça, Google en 1998 c'était une page blanche avec un logo, un champ de recherche, et deux boutons : « Google Search » et « I'm Feeling Lucky« . Pas de suggestions, pas de carrousels, pas de pubs... Juste un champs de recherche. C'était la belle époque !

J'ai donc créé une page de recherche avec deux vues distinctes. La page d'accueil avec le logo centré et le champ de recherche au milieu, exactement comme le Google originel.

Et la page de résultats avec le logo en petit en haut à gauche et les résultats en dessous.

Pour le code CSS, j'ai voulu être fidèle à l'époque. Times New Roman comme police par défaut, les liens en bleu souligné qui deviennent violet une fois visités. Et surtout, les boutons avec l'effet 3D des interfaces Windows 95 :

.search-button:active { border-style: inset; }

Ce border: outset et border-style: inset au clic, c'est exactement ce qui donnait cet effet de bouton en relief qu'on avait partout dans les années 90. Pour moi, ça fait toute la différence pour l'authenticité. Même le logo, je l'ai volontairement « dégradé » pour qu'il soit de la même qualité que le logo Google d'origine.

La pagination « Koooooorben »

Vous vous souvenez de la pagination de Google avec « Goooooogle » en bas de page ? Le nombre de « o » correspondait au nombre de pages de résultats. J'ai fait pareil, mais avec « Koooooorben ».

let logo = 'K'; for (let i = 0; i < oCount; i++)
{
logo += o;
} logo += 'rben'; }

Plus il y a de résultats, plus il y a de « o ». C'est complètement inutile mais ça me fait marrer à chaque fois que je le vois.

Le bouton « J'ai de la chance »

Ah, le fameux « I'm Feeling Lucky » de Google, j'ai voulu l'implémenter comme à l'époque ! Si vous tapez une recherche et cliquez sur « J'ai de la chance », vous êtes envoyé sur le premier résultat. Classique. Mais si vous cliquez sur le bouton avec le champ vide sur la home de la recherche, vous êtes envoyé sur un article aléatoire parmi les +18 000 du site.

Pour ça, j'ai utilisé une astuce : le sitemap. Mon Hugo génère un fichier sitemap.xml qui contient toutes les URLs du site et je peux aller piocher dedans en JS :

const articles = [...xml.querySelectorAll('loc')] .map(loc => loc.textContent) .filter(url => {
// Exclure les pages qui ne sont pas des articles
const path = new URL(url).pathname;
return !path.startsWith('/categories/') && !path.startsWith('/page/') && path !== '/';
});
const randomUrl = articles[Math.floor(Math.random() * articles.length)];
window.location.href = randomUrl;
} }

Un seul fetch, un peu de parsing XML natif, et hop c'est le grand retour de la fonctionnalité « article aléatoire » qui vous manquait, je le sais !

Tri et nombre de résultats

Je vous ai aussi mis une listbox qui vous permet d'afficher 10, 25 ou 50 résultats ainsi qu'un tri par pertinence ou data. Et ça aussi Pagefind sait parfaitement le navigateur.

Mode sombre et accessibilité

Même si l'interface est rétro, j'ai quand même ajouté quelques fonctionnalités modernes. Le mode sombre respecte les préférences système, et j'ai intégré la police OpenDyslexic pour les personnes dyslexiques.

Le truc important c'est de charger ces préférences avant le rendu de la page pour éviter le fameux flash. J'ai donc un petit script qui lit les préférences dans le localStorage et applique les classes CSS immédiatement :

function() {
 if (localStorage.getItem('theme') === 'dark') {
 document.documentElement.classList.add('dark-mode');
 }
 if (localStorage.getItem('dyslexic-font') === 'true') {
 document.documentElement.classList.add('dyslexic-mode');
 }
});

Gestion de l'historique navigateur

Un détail qui peut sembler anodin mais qui est super important pour l'expérience utilisateur c'est la gestion du bouton retour du navigateur.

Quand vous faites une recherche, l'URL change selon votre requête du genre /recherche/?q=linux&p=2. Du coup si vous partagez cette URL à un collègue, la personne arrivera directement sur les résultats de recherche. Et si vous utilisez le bouton retour, vous reviendrez alors à la recherche précédente.

window.addEventListener('popstate', () => {
const query = new URLSearchParams(location.search).get('q');
if (query) doSearch(query);
else showHomePage();
});

Liens vers d'autres moteurs

Et si vous ne trouvez pas votre bonheur dans mes +18 000 articles (ce qui serait quand même étonnant ^^), j'ai ajouté des liens pour relancer la même recherche sur Google, DuckDuckGo, Qwant, Brave et Ecosia. Bref, un petit service bonus pour mes visiteurs, exactement comme le proposait Google à l'époque.

Le bilan - Algolia vs Pagefind

Après 1 semaine d'utilisation, voici donc mon verdict ! Côté portefeuille d'abord, Algolia me coûtait entre 60 et +100 euros par mois et maintenant pour Pagefind, c'est zéro euros ! Et les performances sont également au rendez-vous. Algolia c'était rapide et bien là, ça l'est encore plus. Seul compromis à noter, l'index Algolia se mettait à jour en temps réel, alors que Pagefind nécessite une reconstruction au moment du build.

La conclusion

Voilà, j'ai maintenant une recherche qui marche vraiment bien, qui me coûte 0€ par mois, et qui a un look rétro qui va en surprendre plus d'un...

Alors est-ce que c'était nécessaire de passer autant de temps sur le design rétro ? Hé bien absolument pas. Mais est-ce que ça valait le coup ?

Franchement, oui !! C'est mon site, je fais ce que je veux, et si ça peut faire sourire quelques visiteurs nostalgiques des débuts du web, c'est du bonus. D'ailleurs un grand merci aux Patreons qui me soutiennent car sans eux, je n'aurais pas pu passer mon dimanche là dessus ^^

Et puis surtout, ça m'a permis de découvrir Pagefind qui est vraiment un excellent outil. Donc si vous avez un site statique (ou n'importe quel type de contenu textuel) et que vous cherchez une solution de recherche gratuite et performante, je vous le recommande chaudement. La documentation est claire, l'intégration est simple, et le résultat est top !

Allez, maintenant vous pouvez aller tester la nouvelle recherche sur le site . Et si vous cliquez sur « J'ai de la chance » sans rien taper... bonne découverte !

Quand je pense que Win32 est devenu la couche de compatibilité la plus stable sur Linux...

Par : Korben
31 décembre 2025 à 11:55

Vous avez déjà essayé de faire tourner un vieux logiciel Linux sur une distrib récente, du genre un truc compilé il y a 5 ans ? Bah bon courage, parce que y'a de grandes chances que ça plante lamentablement à cause d'une dépendance qui aura changé entre-temps.

Maintenant, prenez un .exe Windows de 1998, genre un vieux jeu ou une appli Win32 classique. Lancez-le sous Wine et là, ô surprise... y'a de bonnes chances que ça tourne ! Bon, ça dépend des applis évidemment, mais le taux de réussite est souvent meilleur qu'avec les vieux binaires Linux...

C'est précisément ce paradoxe que pointe le projet loss32 , une distro Linux expérimentale dont l'idée complètement dingue serait de faire tourner TOUT l'environnement de bureau en Win32 via Wine. Leur slogan c'est "Win32 is the stable Linux ABI!" ce qui veut dire en gros que l'interface binaire la plus fiable pour faire tourner des applications sur Linux à long terme, c'est celle de Windows. Ahaha, je suis mort de rire en écrivant ça car j'imagine votre tête énervée de barbu ! Pourtant, vous allez voir, c'est difficile de leur donner tort...

Alors c'est quoi le problème avec Linux exactement ?

Hé bien en août 2022, un changement dans la toolchain a fait des dégâts. Beaucoup de distributions ont basculé vers l'option --hash-style=gnu au lieu de --hash-style=both, ce qui génère des binaires sans la section DT_HASH classique. L'idée c'était de gagner quelques kilobytes par binaire avec DT_GNU_HASH, qui est plus moderne et plus performant.

Ça n'a l'air de rien comme ça... sauf que ça a cassé pas mal de trucs. Des jeux utilisant Easy Anti-Cheat d'Epic se sont retrouvés en vrac, par exemple Shovel Knight a eu des soucis, ou encore le limiteur de framerate libstrangle . Bref, des logiciels qui marchaient très bien la veille se sont retrouvés dans les choux du jour au lendemain.

Et c'est là qu'on touche au cœur du problème car sous Windows, Microsoft maintient une compatibilité binaire quasi-religieuse pour les applis Win32 classiques. Un programme compilé pour Windows 95, s'il n'utilise pas de drivers ou d'APIs obsolètes, a de bonnes chances de tourner sur Windows 11. C'est un contrat tacite entre Microsoft et les développeurs qui a tenu pendant trois décennies.

Et même si sous Linux, le kernel et glibc sont plutôt stables, c'est vrai, dès qu'on parle de binaires tiers liés à des bibliothèques user, c'est une autre histoire. Et comme c'est le bordel et que chaque distribution fait un peu ce qu'elle veut, et les dépendances évoluen forcement. Du coup, si votre binaire précompilé casse, c'est votre problème. La philosophie c'est donc plutôt "recompile ton truc et arrête de te chialer 'spèce de fragile".

Et c'est pour ça que Valve a misé gros sur Proton. Officiellement, ils n'ont pas de préférence entre ports natifs et Windows via Proton, mais dans les faits, Proton fonctionne tellement bien que pas mal de studios ne se cassent plus la tête à faire des ports Linux natifs. Et parfois, les jeux Windows via Proton tournent même mieux que les ports natifs ... c'est dire.

Et le projet loss32 pousse cette logique jusqu'au bout car pourquoi se battre contre les moulins à vent de la fragmentation Linux quand on peut simplement tout faire tourner en Win32 ?

Alors perso, j'ai hâte de voir ça et visiblement un PoC devrait sortir en janvier 2026 avec un paquet APT pour qu'on puisse tous tester ça chez nous. Et si ça fonctionne bien, ça veut dire que si vous créez une application desktop simple et que vous voulez qu'elle tourne sur Linux encore dans 10 ans, cibler Win32 et distribuer un .exe via Wine/Proton est une option à considérer sérieusement.

Ça semble contre-intuitif, mais pour certains cas d'usage, c'est une stratégie pragmatique...

Pour les utilisateurs, ça veut dire aussi que Wine et Proton ne sont pas des rustines en attendant mieux mais des des solutions de première classe pour faire tourner des logiciels de manière stable sur Linux. Le Steam Deck l'a prouvé avec des milliers de jeux Windows qui tournent nickel.

Bref, on en est là... Win32, l'API de Microsoft, est devenue paradoxalement une des couches de compatibilité les plus stables pour faire tourner des logiciels sur Linux. C'est fou non ? Ça va faire grincer des dents de barbus c'est sûr mais c'est aussi la preuve que parfois, les solutions terre à terre l'emportent sur l'idéologie.

Source

Stadia va encore mourir : c’est le dernier jour pour sauver sa manette Google

31 décembre 2025 à 10:44

Les détenteurs d’une manette Stadia ont jusqu’au 31 décembre 2025 pour la transformer en manette Bluetooth. Passé cette date, elle ne pourra plus être utilisée qu’en mode filaire -- une solution nettement moins pratique.

Stranger Things : vous avez peur que Steve meure dans le final de la saison 5 ? Les créateurs répondent

31 décembre 2025 à 10:36

Alors que l'ultime épisode de Stranger Things sera dévoilé le 1er janvier 2026, sur Netflix, les fans s'inquiètent évidemment pour le sort de leurs personnages préférés. Parmi eux, un nom revient très souvent : celui de Steve. Le beau gosse d'Hawkins va-t-il survivre à cette toute dernière aventure ? Les créateurs de la série ont donné leur réponse.

Trains Eurostar bloqués juste avant le réveillon du 31 décembre : que se passe-t-il exactement ?

Par : Nelly Lesage
31 décembre 2025 à 10:34

Les passagers de l'Eurostar doivent prendre leur mal en patience depuis ce 30 décembre 2025. La circulation des trains dans le tunnel sous la Manche est perturbée par un double incident technique, juste avant les festivités du réveillon. Voici ce qu'il s'est passé.

Gérer les permissions NTFS avec PowerShell sur Windows 11/10

Par : malekalmorte
31 décembre 2025 à 10:32

Sous Windows 11/10, les fichiers et dossiers stockés sur un disque NTFS possèdent des autorisations (ACL) qui définissent précisément quels utilisateurs peuvent lire, modifier ou supprimer leur contenu.
Si ces permissions peuvent être configurées via l’interface graphique, PowerShell permet d’aller beaucoup plus loin :
afficher, modifier et automatiser la gestion des droits d’accès à grande échelle.

Grâce aux cmdlets Get-Acl et Set-Acl, vous pouvez :

  • afficher les permissions d’un dossier ou d’un fichier,
  • ajouter ou retirer des autorisations,
  • appliquer les mêmes règles à plusieurs répertoires,
  • et même changer le propriétaire d’un dossier bloqué.

Cette approche est particulièrement utile pour les administrateurs ou utilisateurs avancés souhaitant :

  • automatiser la gestion des droits sur un serveur ou un poste multi-utilisateurs,
  • corriger des problèmes d’accès (“Accès refusé”) sans interface graphique,
  • ou déployer des permissions identiques sur plusieurs répertoires partagés.
👉 Pour comprendre en détail la différence entre les autorisations NTFS et les permissions de partage, consultez le guide complet : Autorisations et permissions NTFS : gérer les droits d’accès et le partage de dossiers sous Windows 11/10

Gérer les permissions avec PowerShell

Lister les permissions NTFS (Get-Acl)

Pour afficher la liste complète des autorisations appliquées à un dossier ou fichier :

Get-Acl "C:\Dossier"

Cette commande affiche les ACL (Access Control List) associées à l’élément.
Pour un affichage plus lisible :

Get-Acl "C:\Dossier" | Format-List

Exemple de sortie :

Path : Microsoft.PowerShell.Core\FileSystem::C:\Users\maill
Owner : NT-AUTORITÄT\SYSTEM
Group : NT-AUTORITÄT\SYSTEM
Access : NT-AUTORITÄT\SYSTEM Allow FullControl
VORDEFINIERT\Administratoren Allow FullControl
hp-MAC\maill Allow FullControl
S-1-15-3-65536-599108337-2355189375-1353122160-3480128286-3345335107-485756383-4087318168-230526575 Allow
ExecuteFile, Synchronize
Audit :
Sddl : O:SYG:SYD:P(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-21-2373467495-3460344319-1749951908-1001)(A;;0x1
00020;;;S-1-15-3-65536-599108337-2355189375-1353122160-3480128286-3345335107-485756383-4087318168-230526575)

Ajouter une autorisation (AddAccessRule)

Pour accorder une permission spécifique à un utilisateur ou groupe, utilisez Set-Acl avec une nouvelle règle d’accès.

Exemple : donner le Contrôle total à l’utilisateur Paul sur le dossier C:\Partage

$acl = Get-Acl "C:\Partage"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Paul","FullControl","Allow")
$acl.AddAccessRule($rule)
Set-Acl "C:\Partage" $acl

Explications :

  • Get-Acl → récupère les permissions existantes.
  • New-Object …FileSystemAccessRule → crée une nouvelle règle d’accès.
  • AddAccessRule → ajoute la règle à la liste.
  • Set-Acl → applique la nouvelle configuration.

Vous pouvez remplacer "FullControl" par : "Read", "Write", "Modify", "ReadAndExecute" selon les besoins.

Supprimer une autorisation (RemoveAccessRule)

Pour supprimer une règle d’accès existante :

$acl = Get-Acl "C:\Partage"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Paul","FullControl","Allow")
$acl.RemoveAccessRule($rule)
Set-Acl "C:\Partage" $acl

La suppression nécessite d’utiliser exactement les mêmes paramètres que la règle initiale (même utilisateur, droit et type “Allow” ou “Deny”).

Modifier les permissions d’un dossier et de ses sous-dossiers (Set-Acl)

Pour appliquer les nouvelles autorisations à tous les sous-dossiers et fichiers :

$acl = Get-Acl "C:\Partage"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Paul","Modify","ContainerInherit,ObjectInherit","None","Allow")
$acl.SetAccessRule($rule)
Get-ChildItem "C:\Partage" -Recurse | Set-Acl -AclObject $acl

Explications :

  • Get-ChildItem -Recurse → parcourt récursivement toute l’arborescence.
  • ContainerInherit,ObjectInherit → applique la règle aux sous-dossiers et fichiers.
Cette commande réécrit les ACL de tous les sous-dossiers.
Utilisez-la avec prudence sur un volume contenant beaucoup de fichiers.

Supprimer toutes les autorisations personnalisées (réinitialiser les ACL)

Pour revenir à la configuration par défaut (héritée du dossier parent) :

icacls "C:\Partage" /reset /T

Cette commande supprime toutes les règles explicites et rétablit les permissions héritées.
Elle est utile pour corriger des erreurs “Accès refusé” ou des droits corrompus.

Changer le propriétaire d’un dossier (SetOwner)

Pour appliquer le changement de propriétaire à tout un dossier et ses sous-dossiers :

$path = "C:\Dossier"
$owner = [System.Security.Principal.NTAccount]"Administrateurs"
Get-ChildItem -Path $path -Recurse -Force | ForEach-Object {
    $acl = Get-Acl $_.FullName
    $acl.SetOwner($owner)
    Set-Acl $_.FullName $acl
}

Cette commande parcourt récursivement tous les fichiers et sous-dossiers.
Elle peut être longue sur un volume contenant de nombreux éléments.

👉Pour le guide complet sur le changement de propriétaire via l’interface graphique ou la ligne de commande :
Changer le propriétaire d’un dossier sous Windows 11/10

Vérifier le propriétaire actuel

Pour afficher le propriétaire d’un dossier ou fichier :

(Get-Acl "C:\Dossier").Owner

→ Renvoie le nom du compte ou groupe actuellement propriétaire du dossier.

Exemple de script complet : accorder des droits en masse

$users = @("Paul", "Jean", "ServiceRH")
$path = "C:\Dossiers\RH"

foreach ($user in $users) {
$acl = Get-Acl $path
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($user,"Modify","ContainerInherit,ObjectInherit","None","Allow")
$acl.SetAccessRule($rule)
Set-Acl $path $acl
}

Ce script attribue automatiquement les permissions “Modifier” à plusieurs utilisateurs pour un même dossier.

PowerShell permet d’automatiser facilement des opérations complexes, comme appliquer des autorisations à plusieurs répertoires ou générer un rapport d’audit des droits.

Tableau récapitulatif des cmdlets PowerShell pour gérer les permissions NTFS

Cmdlet / CommandeFonction principaleSyntaxe de baseExemple d’utilisation
Get-AclAffiche la liste des autorisations (ACL) appliquées à un fichier ou dossier.Get-Acl "C:\Dossier"Affiche les permissions et le propriétaire du dossier.
Set-AclApplique ou met à jour des autorisations sur un fichier ou dossier.Set-Acl "C:\Dossier" $aclMet à jour les ACL selon les règles définies dans $acl.
New-Object System.Security.AccessControl.FileSystemAccessRuleCrée une nouvelle règle d’autorisation NTFS (utilisateur, droit, type).$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Paul","Modify","Allow")Crée une règle donnant à Paul le droit de modifier le dossier.
AddAccessRule()Ajoute une nouvelle autorisation à une ACL existante.$acl.AddAccessRule($rule)Ajoute la règle $rule aux ACL existantes du dossier.
RemoveAccessRule()Supprime une autorisation spécifique.$acl.RemoveAccessRule($rule)Supprime la règle $rule précédemment définie.
SetOwner()Définit un nouveau propriétaire sur un dossier ou fichier.$acl.SetOwner([System.Security.Principal.NTAccount]"Administrateurs")Change le propriétaire pour le groupe Administrateurs.
Get-ChildItem -Recurse + Set-AclApplique des permissions à tous les sous-dossiers et fichiers.`Get-ChildItem « C:\Dossier » -RecurseSet-Acl -AclObject $acl`
**Get-AclFormat-List**Affiche les ACL dans un format lisible.`Get-Acl « C:\Dossier »
icacls (CMD) (complément)Réinitialise ou sauvegarde les ACL en ligne de commande.icacls "C:\Dossier" /reset /TRéinitialise toutes les permissions NTFS du dossier.
takeown (CMD) (complément)Reprend la propriété d’un dossier ou fichier.takeown /f "C:\Dossier" /r /d yAttribue la propriété au compte administrateur courant.

Notes importantes

  • Les cmdlets PowerShell (Get-Acl, Set-Acl, etc.) sont plus flexibles et scriptables que les commandes classiques (icacls, takeown).
  • Pour toute commande modifiant les ACL, il est recommandé d’exécuter PowerShell en tant qu’administrateur.
  • Avant de modifier massivement des droits, vous pouvez sauvegarder les ACL avec : icacls "C:\Dossier" /save C:\backup_acl.txt /T
PowerShell ne demande pas de confirmation avant d’appliquer une modification via Set-Acl.
Une erreur dans la variable $acl ou dans les permissions héritées peut supprimer des droits critiques.

Bonnes pratiques et précautions

  • Ne jamais appliquer un script sans sauvegarder les ACL : icacls "C:\Dossier" /save C:\Backup_ACL.txt /T
  • Utiliser la commande Test-Path pour vérifier les chemins avant exécution.
  • Toujours tester sur un dossier isolé avant d’appliquer sur un volume complet.
  • Exécuter PowerShell en mode Administrateur.
Une mauvaise manipulation des ACL peut rendre un dossier ou un disque inaccessible.
Pensez à sauvegarder vos permissions avant toute modification en masse.

Ressources utiles et articles liés

L’article Gérer les permissions NTFS avec PowerShell sur Windows 11/10 est apparu en premier sur malekal.com.

❌
❌