❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

AirCard - Relookez vos cartes bancaires dans Apple Pay

AirCard , c'est une appli macOS gratuite qui permet de remplacer l'image par défaut d'une carte dans Apple Wallet, directement depuis votre Mac relié à l'iPhone par un câble USB et tout ça sans jailbreak. Je l'ai essayée sur mon iPhone 16 Pro Max et ça marche du tonnerre. Attention quand même, l'appli n'a aucun bouton pour revenir en arrière, mais ne vous inquiétez pas je vais tout vous expliquer.

Ce tour de passe-passe nous vient d'AirLift, une faille du service AirTraffic, celui là même qui synchronise les médias d'un Mac vers iOS. Et AirLift s'en sert pour lire et écrire dans des dossiers qu'il n'est pas censé toucher, depuis un Mac déjà appairé avec l'iPhone. Cette petite vuln a été testée à partir de iOS 18.0, et Apple peut évidement la corriger quand elle veut mais ce serait quand même vraiment dommage parce que c'est bien cool. Maintenant rassurez vous, côté paiement, rien ne bouge ou n'est transféré ou créé. On ne change que l'image d'une carte du wallet c'est tout !

Je vous propose maintenant de rentrer dans le dur.

Installer AirCard et brancher l'iPhone

Il vous faut donc un Mac (Apple Silicon ou Intel), un iPhone, un câble USB qui transmet les données et une carte déjà ajoutée à Wallet. Téléchargez AirCard.dmg dans les releases du dépôt, ouvrez-le et glissez l'appli dans le dossier des Applications. Si macOS refuse de la lancer parce que l'éditeur est inconnu, faites un clic droit sur l'appli, Ouvrir, puis Ouvrir une seconde fois. Sinon, faut passer par Sentinel ou par cette commande qui retire le blocage :

sudo xattr -cr /Applications/AirCard.app

Détecter la carte

Branchez l'iPhone au Mac en USB, déverrouillé, et acceptez de faire confiance à l'ordinateur. Dans AirCard, restez sur l'onglet Apple Wallet et cliquez sur Scan Cards. Sur l'iPhone, double-cliquez sur le bouton latéral et Apple Pay s'ouvrira comme quand vous faites un paiement, avec Face ID. Une fois authentifié, touchez la carte à relooker, et une deuxième fois si rien ne bouge. Ce geste permet en fait à AirCard de récupérer l'identifiant de la carte (un hash), et elle peut apparaître ensuite dans la fenêtre du Mac.

Si le scan ne trouve rien, ouvrez Log dans AirCard et cherchez "Connected to the unified device log stream". Relancez ensuite un scan, authentifiez-vous et touchez vraiment la carte, ou passez d'une carte à l'autre. Si ça bloque encore, débranchez, déverrouillez l'iPhone et rebranchez. Des utilisateurs disent sur le GitHub du projet que le scan ne détecte pas toutes les cartes voire aucune avec cette 1.2.5. Moi j'ai pas eu de problème mais il arrive parfois que iOS remplace certaines valeurs par "private", et le scanner ne peut alors pas les récupérer.

Choisir l'image et flasher

Ensuite, cliquez sur l'emplacement de la carte où il y a le symbole +, ou glissez-y directement une image. AirCard la recadre alors automatiquement en 1536 × 969 pixels bien centrée avec le ratio d'une carte. Cela veut dire que peu importe le design que vous voulez utiliser, gardez bien ce qui est important pour vous au centre de l'image. Ensuite cliquez sur Flash Skins et ça appliquera votre image sur votre carte dans Apple Wallet. Chez moi, l'opération a pris entre 30 secondes jusqu'à parfois 1 min (j'ai pas super chronométré non plus, hein) mais le flash est allé jusqu'au bout à chaque fois.

Ensuite quittez Wallet depuis le sélecteur d'apps et relancez-le, ou redémarrez carrément l'iPhone et hop, votre nouveau visuel de carte apparaîtra.

J'ai donc comme beaucoup commencé par un skin d'Amex Black, sans chichi sur l'une de mes CB, histoire de frimer...

Puis sur ma seconde CB, je me suis fait un skin de carte Vitale maison. Au départ, je me suis fait un PNG avec Pixelmator, tout ce qu'il y a de plus normal avec la bonne taille et tout et tout, mais ça n'a jamais voulu se mettre sur ma carte. Donc, j'ai refait l'image en important simplement mon visuel dans l' éditeur de cardart.cc , qui exporte un PNG clean au bon format en 1536 × 969 et ça a fonctionné.

Et voilà, quand je paie en sans contact, maintenant ça donne ça... Je pense que les caissier.es vont flipper.

D'ailleurs, si vous cherchez d'autres visuels, il y en a plein sur cardart en téléchargement gratuit. La carte d'identité de Bob l'Eponge m'a tenté aussi, je l'avoue....

Le clavier du code, le Mac en moins, et le piège

Notez que AirCard sait aussi habiller le clavier du code de verrouillage avec des thèmes en .passthm. Suffit de vous rendre dans l'onglet Passcode, vous glissez le fichier passthm, vous l'appliquez puis vous redémarrez, et là, normalement, vous avez un super beau clavier. Pour ma part, je n'ai pas essayé parce que je m'en fous un peu, mais bon, c'est là.

Ah et sinon, si vous n'avez pas de Mac, il y a aussi une version AirCard-iOS qui fera le taf uniquement depuis l'iPhone, mais ça exige iOS 18 minimum, une installation par sideload (SideStore, AltStore, TrollStore ou LiveContainer) et un appairage par le mode développeur. Donc, c'est un peu plus relou qu'avec l'application pour macOS.

Et le petit piège dont je vous parle au début, c'est que la version 1.2.5 de Aircard n'a pas de bouton pour restaurer le visuel d'origine. Donc, si celui-ci ne vous plaît plus, vous pouvez soit le remplacer par un autre, soit vous devez retrouver votre visuel d'origine en téléchargement sur le web. Après, peut-être qu'en supprimant la carte du wallet et en la recréant, ça réparera le visuel, je ne sais pas... Faudra tester !

Source : AirCard

CTFreak - L'ordonnanceur de tâches pour toutes vos machines

-- Article en partenariat avec CTFreak --

Sauvegarder un dossier sur un serveur, vérifier l'espace disque du PC du salon, relancer un service sur le NAS, et j'en passe... Chez moi ça se concrétise au travers de crontabs différents et de tâches planifiées Windows, et malheureusement, comme je n'ai pas toujours le nez dessus, le jour où l'une d'elles tombe en rade, bah je m'en rends compte des jours, voire des semaines plus tard... Heureusement, il existe un outil qui s'appelle CTFreak et qui permet de centraliser tout ça derrière une seule interface web !

CTFreak, c'est donc un ordonnanceur de tâches auto-hébergé, édité en solo par Jean-Yves Pellé, un développeur français, et cela depuis presque 4 ans. Vous l'installez chez vous, il se connecte à vos machines en SSH ou en WinRM, et il y exécute tout ce que vous lui demandez. C'est top parce que grâce à ça, il n'y a même rien à installer sur les machines pilotées.

Ce clic autorise une connexion à Google : adresse IP transmise et traceurs possibles. En savoir plus Voir cette vidéo sur YouTube

CTFreak vous propose ainsi 9 types de tâches à créer. La commande locale par exemple tourne sur la machine qui héberge CTFreak, et la commande distante fait la même chose mais sur un ensemble de machines de votre choix. Ensuite viennent les tâches de type scripts bash et PowerShell, les playbooks Ansible, les scripts SQL, ou encore les rapports SQL qui sortent de vrais tableaux et autres graphiques directement depuis vos bases de données (pratique pour illustrer vos rapports).

Il y a aussi la classique requête HTTP, pour taper sur une API ou vérifier qu'un site répond. Et surtout le "workflow", c'est-à-dire une tâche dont le boulot est d'en déclencher d'autres, en série ou en parallèle. Vous pouvez même imbriquer des workflows dans des workflows, si le cœur vous en dit, et surtout, si vous n'avez pas peur de vous y perdre.

Les neuf types de tâches proposés à la création, de la commande locale au rapport SQL

L'installation, c'est une minute chrono

Pour installer CTFreak, vous récupérez le binaire, vous le rendez exécutable, et c'est finito ! C'est un fichier unique de 56 Mo, sans la moindre dépendance, dispo en amd64 comme en arm64 (j'ai fait mes tests sur une Ubuntu 24.04 en ARM). Et il est également dispo en paquets Docker, Snap et Cloudron, mais ils tournent en bac à sable et n'embarquent pas Ansible, donc si les playbooks vous intéressent, restez sur le binaire. Comme l'URL de download se termine par l'architecture, pensez bien à remplacer amd64 par arm64 si votre machine est en ARM.

sudo curl -sL https://ctfreak.com/download/release/latest/linux/amd64 -o /usr/local/bin/ctfreak
sudo chmod +x /usr/local/bin/ctfreak
ctfreak run

Ouvrez ensuite http://IP-du-serveur:6700 et connectez vous avec admin / ctfreak. Changez ce mot de passe tout de suite dans le menu Profile, et surtout n'exposez pas ce port sur Internet sans un reverse proxy devant. En effet, cette interface va bientôt contenir les accès de toutes vos machines.

Ensuite pour en faire un service qui redémarre tout seul, copiez l'unité systemd de la doc d'installation dans /etc/systemd/system/ctfreak.service, puis activez-la.

sudo systemctl daemon-reload
sudo systemctl enable --now ctfreak

Et voilà, vous êtes prêts à commencer !

Votre première tâche planifiée

Tout se passe dans un projet, donc vous en créez un (j'ai appelé le mien Homelab), puis vous cliquez sur New task. Le plus simple pour commencer est la commande locale. Je lui ai collé une archive de mon dossier Documents, et coché Scheduled avec une expression cron pour 3h30 du matin.

tar -czf /home/korben/sauvegardes/documents-$(date +%F).tar.gz -C /home/korben Documents

Le bouton Execute permet de lancer la tâche tout de suite, pour ne pas attendre 3h30 pour savoir si ça marche, et la page d'exécution affiche le statut, la durée et le journal complet. La fiche du projet vous montre ensuite les deux informations qui manquent toujours avec cron : 1/ quand est ce que la tâche est passée pour la dernière fois, et 2/ si elle s'est bien terminée.

Le PC Windows en machine distante

Là où ça devient intéressant, c'est quand vous ajoutez d'autres machines. Côté CTFreak il n'y a aucun agent à déployer, mais côté cible il faut quand même activer le serveur SSH intégré de Windows (ou WinRM, au choix) et installer PowerShell 7.2 ou plus récent, sans quoi les journaux d'erreur remonteront mal. Vous enregistrez ensuite le mot de passe ou la clé dans Credentials, vous déclarez la machine dans Nodes avec son OS, son IP et son identifiant, et le bouton Ping vous dira tout de suite si la connexion passe.

Ensuite vous créez une tâche de type Powershell Script, moi je l'ai planifiée tous les lundis à 8h. Le champ Node Set filter accepte ensuite des noms de machines, mais surtout des tags : j'ai mis #windows, donc toute machine que je taguerai comme ça entrera dans la tâche sans que je la retouche. C'est bien fichu hein ?

$libre = [math]::Round((Get-PSDrive C).Free / 1GB, 1)
Write-Host "Espace libre sur C: $libre Go"
if ($libre -lt 30) { Write-Error "Alerte : moins de 30 Go libres" ; exit 1 }

Le script PowerShell, l'expression cron du lundi matin et le filtre #windows qui trouve une machine

Et le journal qui remonte ensuite est vraiment complet. On y retrouve chaque ligne horodatée à la microseconde, la sortie du script, et le code de retour qui décide du statut. Ma machine Windows n'ayant que 22,1 Go de libre, la tâche a échoué comme prévu et s'est affichée en rouge dans la liste.

Le journal de l'exécution ratée : la sortie du script sur la machine distante, puis la sortie en erreur

Tout ce qu'il y a autour

Alors bien sûr, une tâche qui plante sans prévenir personne, ça ne sert pas à grand-chose. C'est pourquoi CTFreak permet d'envoyer des alertes sur Discord, Slack, Mattermost, Microsoft Teams, Telegram, ntfy ou par mail. Il peut même ouvrir directement un ticket dans GitHub, GitLab, Jira, Linear ou YouTrack quand un truc casse.

Dans l'autre sens, chaque tâche expose un webhook entrant, ce qui permet de la déclencher depuis un dépôt Git ou n'importe quel outil tiers, et une API REST complète fait pareil mais par script.

Le reste ensuite, c'est que du confort qui se découvre quand on utilise l'outil... Il y a par exemple une explorateur de fichiers qui parcourt vos machines depuis le navigateur, des calendriers qui empêchent une tâche de tomber un jour férié, ou encore la possibilité de partager vos projets entre équipe avec différents droits d'accès. L'authentification passe même par votre fournisseur OpenID Connect si vous en avez un.

Et les données dans tout ça ?

Hé bien elles restent bien au chaud dans un dossier avec une base SQLite dedans. C'est pratique parce que, si vous voulez sauvegarder votre ordonnanceur, il suffit juste de faire une copie de ce dossier.

Ce que la version gratuite ne fait pas

Maintenant, avant de vous lancer, sachez que l'édition gratuite vous limite à 8 tâches, avec 1 paramètre par tâche, 3 utilisateurs, 1 calendrier, 1 notificateur d'alerte et 1 notificateur de tickets. Surtout, elle n'exécute rien en parallèle. Vos tâches passent une par une, quel que soit le nombre de machines visées. Par contre, bonne nouvelle, le nombre de machines pilotées n'est bridé dans aucune édition. Vous pouvez donc déclarer 3 nœuds comme 50 sur la version gratuite, c'est le nombre de tâches qui limité dans la version gratuite, mais pas la taille de votre parc.

Autre chose à savoir aussi, c'est que les secrets (mots de passe...etc) sont stockés tels quels en clair dans la base SQLite. C'est bien indiqué dans la documentation, donc ce n'est pas une surprise, mais heureusement, y'a une commande qui permet de basculer tout ça en AES-256-GCM :

sudo systemctl stop ctfreak && ctfreak encrypt AES && sudo systemctl start ctfreak

Faites-le, mais préférez quand même une clé SSH dédiée à un mot de passe de compte.

Côté tarifs, la page affiche l'édition Pro à 369 € la première année puis 299 €, la Business à 599 € puis 519 €, et la Sovereign à 899 € puis 799 € pour les environnements coupés d'Internet, le tout par instance.

Et si vous partez sur l'édition Pro, le code KORBEN15 vous fait 15 % de réduction sur la première année. Il est valable jusqu'au 31 octobre 2026 inclus.

Reste que pour du homelab, la version gratuite est téléchargeable ici et suffit largement pour se faire une idée.

SlopTotal - Un détecteur de texte IA à installer chez vous

SlopTotal est un projet qui se présente lui-même comme le "VirusTotal du texte IA", alors faut pas s'étonner que ça m'intéresse ! Vous y collez un texte, un PDF ou une URL, et ensuite 23 détecteurs le passent au crible, en parallèle à l'aide de classifieurs neuronaux, de tests statistiques et autres heuristiques. Ensuite, un score calibré de 0 à 100 résume leurs avis et doit vous dire normalement si tel ou tel texte a été écrit avec de l'IA

J'ai donc installé ça sur ma machine puis passé 36 textes divers et variés (IA et humains) dans mon instance. Parmi eux, 24 ont été écrits par Claude, ChatGPT et Gemini (12 en français, 12 en anglais), avec comme consigne d'avoir un ton neutre, et pour d'autres un ton de "blogueur" ^^. Les 12 autres textes, eux, sont humains. Je lui ai donné 6 de mes articles écrits entre 2018 et 2021 ainsi que 6 billets de blog tech en anglais publiés entre 2020 et 2021.

Voici donc mes résultats...

Sur les 12 textes humains, 4 ont été pris pour de l'IA (verdict "Likely AI-generated" ou pire), ce qui représente 33 %, et ils étaient tous en anglais !! Et sur mes 24 textes écrits par une IA, 9 ont été pris pour une réalisation humaine (verdict "Clean"), ce qui équivaut à 38 %. Ah et ils étaient tous en français.

Le README annonce pourtant mieux comme résultats donc je suis assez étonné (1 texte humain sur 66 classé "Likely AI"), mais sur d'autres genres de textes, comme la presse ou les livres et en 100% english. Alors oui, mon échantillon est petit, mais pour savoir si un texte vient d'une IA, SlopTotal ne me semble pas fiable

Le rapport de SlopTotal pour un article de 455 mots écrit par Claude : 23,6 sur 100, verdict "Clean", 4 moteurs sur 23 en alerte.

Le rapport de SlopTotal pour un billet du blog d'avril 2020 : 56,9 sur 100, "Likely AI-generated", 9 moteurs sur 23 en alerte.

Après c'est pas un nouveau problème car je pense par exemple à OpenAI qui a retiré son propre classifier en juillet 2023 parce que la précision était trop faible ( The Register ). Vanderbilt a débranché également celui de Turnitin le mois suivant et des chercheurs de Stanford ont testé en 2023, 7 détecteurs en leur faisant analyser 91 rédactions humaines TOEFL de non-anglophones et en moyenne, ils en ont pris 61 % pour de l'IA.

Toutefois, 2 études plus récentes ont également testé des détecteurs commerciaux (pas SlopTotal donc...), et sur du texte humain ancien, elles se rejoignent. Le NBER trouve par exemple un taux de faux positifs quasi nul chez Pangram, de 0,1 à 0,3 % chez OriginalityAI et d'environ 0,7 % chez GPTZero, sur 1 992 textes humains d'avant 2020. De son côté, le chercheur Jonathan Karr et ses collègues n'ont trouvé aucun positif IA en testant avec Pangram et GPTZero, des tonnes de résumés textes datés de 2013 à 2015.

Par contre, ces études divergent sur l'humanisation. Par exemple, selon le NBER, Pangram tient bon face à l'humanizer StealthGPT alors que moins de 4 % des textes IA passés par Undetectable AI restent signalés chez Karr. Ce dernier note aussi qu'à l'inverse, un résumé écrit par un humain et simplement retouché par une IA est quant à lui, signalé comme IA dans 38 à 80 % des cas. Ça pourrait expliquer pas mal de petits problèmes de "littérature" qu'on a en ce moment, looool.

Bref, installez-le pour vous faire votre propre idée, en commençant par des textes dont vous connaissez l'auteur, mais surtout pas pour "accuser" quelqu'un. Je pense d'ailleurs qu'aucun détecteur ne devrait être la seule preuve d'une accusation... Par exemple, un texte humain qui est passé dans un correcteur orthographique full IA ou alors un texte qui est dicté avec un modèle de speech to text IA peuvent très bien être reconnus comme étant des textes IA alors qu'en fait ce sont juste des textes écrits / dictés par des humains et qui ont été "un peu" modifiés ou "un peu" réorganisés par un LLM. Je dis ça parce que c'est exactement ce que fait mon application de reconnaissance vocale Kassis , qui dispose de fonctionnalités de correction et de réécriture... héhé.

Source : SlopTotal sur GitHub

Meeting Recorder - Vos visios transcrites en local sous Omarchy

Meeting Recorder , c'est un enregistreur de réunions pensé pour Omarchy, la distribution Linux de DHH basée sur Arch et Hyprland. Et y'a pas besoin d'inviter à bot chelou dans votre visio puisque l'app se contente d'écouter votre micro et ce que joue votre ordinateur. Donc ça fonctionne avec n'importe quel logiciel de réunion, et tout est ensuite transcrit sur votre machine, 100% en local

Le micro et le son de l'ordinateur sont ainsi enregistrés sur deux pistes séparées, et deux jauges vous montrent avant de lancer que les deux arrivent bien. C'est comme ça que l'outil sait qui parle... ce qui passe par le micro, c'est vous, et ce que joue l'ordinateur, ce sont les autres. Et s'il y a plusieurs personnes en face, Nemotron 3 Diarization, un modèle de NVIDIA qui tourne en local, sépare simplement leurs voix en "Remote 1", "Remote 2"...etc, que vous pouvez ensuite renommer.

L'écran de fin, Maya au micro, Tom côté ordinateur, et les deux pistes dans la forme d'onde

À la fin de l'appel, c'est whisper qui transcrit tout ce basar, avec le modèle large-v3-turbo par défaut (environ 1,6 Go à télécharger une seule fois), pendant qu'une animation façon années 90 vous fait patienter. Et pas besoin de carte graphique puisque d'après l'auteur, le processeur d'une machine récente boucle un appel court en quelques secondes. Ah et puis trop cool, le français fait partie des langues proposées, donc vous pouvez l'utiliser si vous avez séché les cours d'anglais.

Vous récupérez ensuite le texte, avec l'heure et l'intervenant sur chaque ligne, et un lecteur audio au-dessus. Cliquez alors sur une ligne et la lecture repartira de là. Et si whisper s'est gourré, vous survolez la ligne pour la corriger, la donner à l'intervenant suivant ou la supprimer. Chaque réunion finissant dans un simple dossier de ~/Documents/Meetings, avec l'audio et un fichier transcript.md, vous pouvez tout récupérer et même glisser sur la fenêtre un vocal ou un appel enregistré ailleurs, et Nemotron pourra y détecter jusqu'à 8 voix sans problème.

Pour les réunions de trois minutes ou plus, il y a aussi du chapitrage et c'est l'agent de code réglé par défaut dans Omarchy (Claude Code, Codex...) qui découpe la transcription une fois que c'est terminé. Donc, si vous ne voulez pas que ça parte dans le cloud, il faut prendre le temps de ne régler aucun agent par défaut sur Omarchy.

Et n'oubliez pas non plus de prévenir les gens en début de réunion, car l'article 226-1 du Code pénal punit l'enregistrement de paroles privées sans leur consentement. Hé ouaiiiis !

Côté installation, l'outil est dans le dépôt de paquets d'Omarchy, pour l'instant uniquement sur le canal edge. Sinon, en attendant la prochaine version d'Omarchy, ce script d'une ligne installera le même paquet.

Bref, c'est l'un ou l'autre :

yay -S omarchy-meeting-recorder
ou
curl -fsSL https://raw.githubusercontent.com/jankeesvw/omarchy-meeting-recorder/main/install.sh | bash

Attention, au moment où j'écris ces lignes, la version 1.1.1 plante dès la première transcription sur les processeurs sans AVX-512, un Ryzen 5 5500 ou un Core Ultra 9 285K par exemple. L'audio est bien enregistré, mais vous n'aurez pas de texte, parce que le binaire publié a hérité des instructions AVX-512 de la machine qui l'a compilé. Heureusement, un contributeur a déjà proposé un correctif, donc, soyez patient. Mais si vous êtes vraiment pressé, il faudra juste compiler vous-même l'appli (cargo build --release, les étapes sont dans le README).

Et si vous n'êtes pas sous Omarchy ? Faut chialer ?

Non, car l'app prendra alors l'apparence standard de libadwaita, mais sans l'agent par défaut d'Omarchy. Donc adieu les chapitres. Sous Windows, l'application Meetily fait le même genre de travail en local, Avec mon application macOS Kassis , on peut faire ça aussi. Il suffit de glisser-déposer l'enregistrement de la réunion sur l'appli. Les interlocuteurs sont reconnus et on obtient un transcript en quelques secondes. Enfin, pour transcrire vos enregistrements directement sur un serveur, il y a Speakr, dont je vous ai déjà parlé .

Voilà, en tout cas, je trouve que son dev a bien bossé ! Meeting Recorder c'est sous licence MIT, et le code est sur GitHub pour ceux qui ont un Omarchy sous la main !

Que faire avec un port M.2 libre ? 6 gadgets à y brancher à la place d'un SSD

- Contient des liens affiliés Amazon -

Un emplacement M.2 finalement, ce n'est rien d'autre qu'un bonne vieille connexion PCIe d'une à quatre lignes selon la machine (sauf quand il est câblé en SATA, mais ça, j'en reparle à la fin). Et en général, comme le montre la photo ci-dessous, ce qu'on y met, c'est un SSD pour avoir du stockage rapide et efficace

Emplacement d'un M.2 sur la carte mère d'un laptop ( source )

Mais aujourd'hui, on va s'ouvrir un petit peu l'esprit sur cet emplacement M.2, parce que OUI, rien ne vous oblige à y mettre un SSD !

Mais avant de commander quoi que ce soit, sortez le manuel de votre carte mère ou la doc de votre mini-PC et regardez le type (PCIe ou SATA) de votre connecteur M.2, le format accepté et surtout le nombre de lignes de cet emplacement.

Source

Le nombre de lignes, c'est le nombre de voies de circulation entre la carte M.2 et le processeur. Plus il y en a, plus ça va vite, donc en général, pour une carte réseau, une ligne (x1) ou deux (x2) suffisent. Mais si vous partez sur une carte graphique, il faudra 4 lignes minimum (x4).

Par exemple, le Beelink ME Mini , lui, dispose de 5 emplacements PCIe 3.0 x1 et un seul en x2. Et sur une ASRock B850 Pro-A , le 4e emplacement M2 tourne en x4... mais retombe en x2 dès qu'un disque occupe l'un des autres ports M.2 en SATA3.

Regardez aussi ce que l'emplacement partage, car sur cette même carte mère ASRock, occuper par exemple le 3ème emplacement désactive purement et simplement le slot PCIE2. Vérifiez aussi que la puce du contrôleur M.2 dispose bien d'un pilote pour votre système, et demandez-vous par où passera le câble car mis à part l'accélérateur IA que je vous présente un peu plus bas, toutes les cartes qui suivent traînent un truc derrière elles. Donc, il faudra peut-être découper votre boîtier ou laisser dépasser des trucs...

Allez, c'est parti !

Une carte réseau 5 ou 10 GbE

Pour un NAS ou un routeur maison, la carte 5 GbE de KALEA à 29,90 € embarque une Realtek RTL8126 qui se branche sur un emplacement à clé M ou B+M et déporte son port RJ45 sur une équerre classique de PC. Et bonne nouvelle, comme la RTL8126 est une puce PCIe 3.0 x1, une seule ligne suffit ! Elle est reconnue par le pilote r8169 de Linux depuis le noyau 6.9, et sous FreeBSD (donc OPNsense ou pfSense) par le pilote officiel de Realtek , realtek-re-kmod, qui s'installe à part.

La carte 5 GbE de KALEA, avec son port RJ45 déporté sur une équerre

Maintenant, si vous voulez du 10 GbE, la carte de REKONG à 98,32 € passe par une Marvell AQC113. Et si j'en crois la fiche du vendeur, elle accepte du Gen4 x1 ou du Gen3 en x4, x2 et x1. Sauf qu'une ligne Gen3, c'est 8 Gbit/s, ce qui veut dire que sur un emplacement Gen3 x1, elle plafonnera sous ses 10 Gbit/s. Donc à ce prix-là, autant prendre la 5 GbE. Par contre, en Gen3 x2 (16 Gbit/s) ou en Gen4 x1 (32 Gbit/s), elle pourra tenir les 10 Gbit/s sans problème,

Côté logiciel, Linux la gère avec son pilote atlantic, mais sous OPNsense, c'est une autre histoire. Le pilote FreeBSD d'Aquantia, lui, ne prend pas en charge l'AQC113 et il faudra passer par un pilote communautaire .

Un accélérateur IA pour Frigate

Si vous faites tourner Frigate pour vos caméras , oubliez le Google Coral, qui n'est plus recommandé par Frigate . Mais attention, avant d'acheter un autre accélérateur IA à la place, regardez d'abord si votre processeur ne sait pas déjà faire le boulot, car le détecteur OpenVINO de Frigate tourne sur le GPU intégré des processeurs Intel de 6e génération ou plus récents. Un N100, par exemple, analyse une image en 15 ms environ avec MobileNetV2, sans rien acheter de plus, donc vous n'en aurez peut-être même pas besoin.

Par contre, si ça ne suffit plus, le module Hailo-8 de LUCKFOX à 201,59 € vous amènera 26 TOPS sur une interface PCIe Gen3 à quatre lignes. Frigate le prend en charge, avec environ 7 ms par image, mais mesurées avec YOLOv6n, donc c'est loin d'être comparable aux 15 ms du N100.

Maintenant, le truc cool, c'est que vous n'avez pas besoin d'un emplacement x4. La preuve, l'AI HAT+ 26 TOPS de Raspberry Pi, construit autour du même Hailo-8, tourne sur le port PCIe du Pi 5, qui n'a qu'une seule ligne. Un emplacement M.2 en x1 fera donc l'affaire, même si Frigate note que les PC x86 à deux lignes font mieux que le Pi.

Le module M.2 Hailo-8, avec sa puce sous un capot métallique

Une carte graphique externe en OCuLink

Ici, c'est la seule carte de la liste qui exige un emplacement x4. L'adaptateur OCuLink de RIITOP à 36,95 € transformera instantanément votre port M.2 en prise OCuLink PCIe 4.0 x4 (jusqu'à 64 Gbit/s). On doit ensuite le relier au dock Minisforum DEG1 (prix 109,00 €), sur laquelle se plug la carte graphique (à acheter séparément avec son alim) et se branche sur une alimentation ATX ou SFX. Le câble OCuLink, lui, est livré avec le dock .

L'adaptateur M.2 de RIITOP et sa prise OCuLink

Notez que le DEG1 de Minisforum n'est compatible qu'avec les machines qui gèrent le PCIe 4.0 x4, donc visez un emplacement Gen4 x4. Et l'OCuLink ne se branche pas à chaud, faudra éteindre le PC avant.

Le dock DEG1 de Minisforum, avec le slot qui reçoit la carte graphique

Et si vous préférez rester à l'intérieur du boîtier, la nappe ADT-Link à 35,45 € ressortira l'emplacement M.2 en slot PCIe x16 prévu pour une carte graphique. Alors je dis x16, mais c'est seulement au niveau du format PCIe 3.0 parce que la carte, en réalité, ne recevra que les lignes réellement disponibles de l'emplacement M.2.

La nappe R43SR d'ADT-Link, du connecteur M.2 au slot PCIe x16

Le port USB-C de façade qui ne sert à rien

Et si le port USB-C en façade de votre boîtier reste inerte faute de connecteur sur la carte mère, l'adaptateur Type-E de CY à 32,99 € transformera l'emplacement M.2 en connecteur interne Type-E à 20 Gbit/s. Il repose sur une ASMedia ASM3242, conçue pour quatre lignes PCIe Gen3 (sur deux, on tombe à 16 Gbit/s), et ne fait ni vidéo, ni audio, ni recharge PD.

L'adaptateur M.2 de CY, son connecteur Type-E et son dissipateur

Maintenant, si un connecteur USB 3.0 à 19 broches est encore libre, un simple adaptateur EZDIY-FAB à 14,99 € réveillera ce port en USB 3.2 Gen 1, sans avoir à toucher à votre emplacement M.2.

L'adaptateur en L d'EZDIY-FAB, vu sous deux angles

Six ports SATA de plus

Côté stockage, le contrôleur SATA de Namvo à 29,99 € vous ajoutera 6 ports SATA 6 Gbit/s grâce à une ASMedia ASM1166 , reliée en PCIe Gen3 x2. Ça fait 16 Gbit/s à partager entre les 6 disques, et moitié moins sur un emplacement x1.

Le contrôleur SATA de Namvo

Du Wi-Fi 6E

Enfin, pour ajouter du Wi-Fi 6E à une tour qui n'en a pas, il vous faudra un module Intel AX210 à 28,37 € et un adaptateur Jectse à 9,62 € qui le fera tenir dans un emplacement à clé M. Comme Intel documente son AX210 comme étant du Wi-Fi (PCIe) et BT (USB), l'adaptateur fait passer le Wi-Fi par une ligne PCIe et le Bluetooth par un petit câble USB 2.0 fourni, à relier à un connecteur interne de la carte mère. Et les antennes ne figurent ni sur la fiche du module ni dans le colisage de l'adaptateur, donc faudra les acheter à part.

Méfiez-vous par contre de la liste de compatibilité de la fiche Jectse, qui dit supporter aussi l'AX201. Intel classe ce module en "M.2: CNVio2", et pas en PCIe et USB. Bref, attention à bien prendre un AX210 et pas un 201

Voilà et si votre emplacement libre s'avère être câblé en SATA, bah oubliez toutes ces cartes... Toutes ces cartes parlent uniquement le PCIe. Il ne vous restera alors plus qu'à y mettre un SSD SATA... Snif.

Source : XDA Developers

❌