Informatique

Installer les drivers d’une clé Wifi TP-Link Archer T3U sous PopOs! (et Ubuntu)

Pour améliorer les débits Wifi du laptop qui me sert d’ordinateur principal depuis quelques jours, j’ai acheté une clé Wifi 5 TP-Link Archer T3U (17€). J’aurais préféré une clé Wifi 6 (vu que je dispose d’un point d’accès Wifi 6 qui fonctionne hyper bien) mais ça n’existe pas encore à des prix raisonnables.
Comme un imbécile, je n’ai pas vérifié la compatibilité avec Linux, étant persuadé qu’il n’y aurait aucun problème. Raté, pas de driver officiels dispo.
Mais il y a un moyen quand même.


Il existe deux dépôts GitHub mettant à dispo ce driver, qu’il va falloir compiler. Le premier m’a fait une erreur à la compilation en allant cherche un fichier ipx.h obsolète. Je me suis donc tourné vers le second, qui dispose même d’un script facilitant l’ensemble : https://github.com/cilynx/rtl88x2bu

Ouvrez donc un terminal dans lequel vous inscrirez les commandes suivantes :

git clone https://github.com/cilynx/rtl88x2bu.git
cd rtl88x2bu
./deploy.sh

Cela va prendre quelques minutes à l’issue desquelles vous devrez probablement redémarrer.

Si cela ne fonctionne pas, il faudra probablement installer le paquet linux-headers. Généralement, je fais ceci dans un terminal :

sudo apt install module-assistant
sudo m-a prepare

Le module-assistant installera tout le nécessaire pour compiler les modules (modules ~⇒ drivers Windows)

Voici ce que j’ai maintenant dans les paramètres :

Le Intel Centrino est l’adaptateur Wifi intégré au laptop X230. Le TP-Link est la clé que j’ai acheté.
En me connectant sur mon point d’accès Wifi et en lançant un speedtest, je me retrouve avec une moyenne de 280Mbits/s en download et upload vers Internet, ce qui est TRÈS largement supérieur à ce que j’avais avant, avec pour l’instant une excellente stabilité.

Linux c’est vraiment génial, sauf quand c’est pas génial. C’est pour ce genre de connerie qu’il n’y pas plus de gens qui passent dessus, et je les comprends.
Ça me rend furax qu’une société qui produit ce genre de clé ne prenne pas un peu de temps pour proposer un driver qui fonctionne direct au branchement.

Bref, maintenant ça marche et pour un prix dérisoire j’ai largement augmenté la connectivité de mon ordi.

Mon setup Cloud Gaming headless

Mon ordinateur principal est une tour imposante, disposant d’une grosse carte graphique datant d’avant les pénuries et encore ultra puissante aujourd’hui. Elle me prend beaucoup de place dans la chambre où je l’ai placée, et j’avais tendance à me cogner dessus régulièrement. Bien que je sois un gamer invétéré depuis maintenant plus de trente ans, je me suis aperçu que je jouais à des jeux gourmands de moins en moins souvent et que mon utilisation principale était à 90% bureautique (écriture, travail, consommation de contenus simples, petits jeux).
J’ai donc décidé de déplacer ma tour ailleurs, planquée, et de me servir au quotidien de mon ordinateur portable, un Lenovo X230 sous PopOs avec 8 Go de RAM et un proc I5 d’il y a oulààà au moins tout ça d’année et lorsque me prends l’envie de jouer, j’utilise un service de Cloud Gaming personnel.


Contraintes

Mes contraintes sont les suivantes :

  • Accès au bureau et pas uniquement aux jeux
  • Rapidité de mise en œuvre
  • Client disponible sous Linux
  • Accessible en LAN et depuis Internet

De plus, le serveur n’aura pas d’écran. Dans certains cas, cela aura posé problème (résolution, couleur, performance) jusqu’au moment où j’ai branché un dongle HDMI que j’avais acquis lors d’expériences précédentes de prise de contrôle à distance (avec l’outil Deskreen). Le dongle vaut moins de 10 € sur mamazon pour la version autorisant le 4K 60Hz.

Enfin, le serveur devra être accessible via Internet, mais je ne teste pas les solutions de Cloud Gaming sur internet. Geofrce Now, Stadia et autres ne sont pas de la partie.
Lors de mes recherches, je suis tombé sur les reddits suivants qui m’ont aiguillé et donné pas mal d’information.

ParsecGaming
CloudGaming

Il doit sans doute y en avoir d’autres.

Les services

Parsec

Le serveur ne peut être que Windows ou Mac.

Le client est dispo facilement pour tout système

  • Passe par un serveur centralisé sur internet pour vérifier les connexions interne/externe.
  • Dans la version gratuite, les couleurs semblent un poil moins brillantes, moins jolies que d’origine.
  • Il y a une version payante (10$/m) pour améliorer les couleurs et deux-trois autres trucs
  • Quelques micro-saccades
  • Fonctionne avec n’importe quelle CG
  • Possibilité de mettre l’écran distant en fenêtré
  • Création d’un compte obligatoire

Parsec est un excellent service qui fonctionne très rapidement et très efficacement. La qualité est très bonne pour peu que la connexion soit de bonne qualité, à part les couleurs un poil délavée dans l’option gratuite.

Ah oui, un tout petit truc aussi, en headless (et donc mouseless), Parsec ne peut pas afficher le curseur de la souris distante. Il y a une petite astuce qui passe par l’installation d’un driver de tablette graphique (toutes les instructions sont sur leur site). Ça fait un peu verrue, mais ça fonctionne.

Moonlight

Moonlight est un client GeForce Experience libre installable sur tout système (dont Linux). Il permet d’accéder en streaming à un serveur disposant d’une CG NVidia et de l’application GeForce Experience.

  • Pas d’agent à installer sur le serveur, à part GeForce Experience qu’il faut activer
  • Par défaut ne streame que les jeux, mais il est possible dans l’application Experience d’ajouter un ‘jeu’ et de spécifier explorer.exe ou mstsc.exe pour streamer le bureau lui-même depuis lequel on peut lancer ensuite n’importe quoi, vidéo, audio ou jeu.
  • Interface du client un peu bof, traductions pas terminées, mais fonctionnement impeccable et dans micro-saccades.
  • Couleur et résolution respectées
  • Possibilité de mettre l’écran distant en fenêtré, mais c’est moins pratique qu’avec Parsec
  • Pas de création de compte
  • On peut réveiller l’ordi distant depuis l’interface !

Moonlight est aussi une excellente solution, gratuite et libre de surcroit (pour la partie cliente). L’astuce permettant de streamer le bureau est triviale à mettre en place. Les deux points un peu embêtants sont la tronche de l’interface franchement perfectible (on sent le truc d’informaticien) et le mode fenêtré moins pratique.

Rainway

Rainway est un concurrent de Parsec avec un fonctionnement similaire. Je ne sais pas si c’est moi, le temps qu’il fait, ou des problèmes temporaires, mais j’ai trouvé Rainway plus lourd et moins pratique que Parsec ou Moonlight, avec des perfs globale moins bonnes et donc un ensemble moins agréable à utiliser. En point positif, pas de client à installer, un navigateur suffit.

  • Installation d’un agent appelé Dashboard sur le serveur
  • Le Client est un simple navigateur (basé sur chrome)
  • Création de compte obligatoire (comme Parsec)
  • Perf trop faibles

Steam (steamlink)

Steam propose sa propre solution appelée Steamlink, dispo sur un peu tous les systèmes. Le client Linux est un flatpak qu’il faut lancer à la main, et on ne peut normalement jouer qu’aux jeux steam (même si on peut ajouter des jeux non-steam, je ne sais pas si tout est possible, notamment les jeux Epic ou Origin.)

  • Client Remote Play en flatpak
  • Ne permets pas de streamer le bureau
  • Ne permets de jouer qu’aux jeux steam
  • Un peu pénible à mettre en œuvre (un clic dans l’option sur le steam du serveur, lancement d’un flatpak Remote Link sur le client, appairement)

Mon setup et conclusion

Mon laptop X230 est connecté en CPL sur ma box pour de meilleures performances. Il est sous PopOs!, une distribution Linux proche d’Ubuntu.

Le serveur de jeu est connecté sur la box en direct via un câble Ethernet, ce qui semble être obligatoire quelle que soit la solution choisie.

Le serveur ne dispose pas d’écran, mais d’un dongle HDMI 4K/60 Hz simulant un écran physique.

Le serveur est éteint la plupart du temps, et je l’allume au besoin grâce au Wakeonlan activé dans les drivers de la carte réseau filaire. Sur le client, j’ai un simple fichier de commande contenant les instructions suivantes :

#! /bin/bash

wakeonlan 30:9C:23:B1:2B:67
ping 192.168.1.105/

J’ai choisi d’utiliser principalement Parsec pour sa rapidité et ses performances, ainsi que Moonlight en backup lorsque Parsec n’est plus accessible ce qui arrive de temps en temps, ce dernier ayant besoin d’une connexion vers internet même lorsque les deux machines sont en local.

Je suis très content de la solution globale. Les jeux sont jouables parfaitement, comme voir des vidéos ou travailler à distance sur la machine avec une latence extrêmement faible et parfois imperfectible. Je ne pense toutefois pas qu’on puisse jouer à des jeux compétitifs (Overwatch).

À part, parfois, une connexion parfois peu stable vers Parsec, peu de souci à déplorer. Le ventilo du portable fait un poil plus de bruit que l’autre machine ok.
Sinon, je gagne de la place et je dépense moins d’électricité à utiliser mon X230 toute la journée plutôt que la grosse bécane, bref bilan positif !

Activer l’accélération matérielle pour Jellyfin sur un Mele Quieter 2

Il y a quelques mois, j’ai acheté un mini PC Mele Quieter 2.

C’est une machine extrêmement compacte, mue par un processeur J4125 de chez Intel, de faible puissance, mais à la consommation très faible aussi, et surtout sans ventilateur donc totalement silencieuse. J’y ai installé plusieurs services, dont un serveur Jellyfin permettant le partage de vidéos de famille dans mon réseau interne, mais aussi externe pour que mes enfants et moi-même puissions y accéder de n’importe où.

J’y ai adjoint un disque dur externe de grande capacité branché en USB3, et un ssd Nvme interne de 1 To pour avoir un peu de place, servir de cache et de stockage pour les autres services.

J’ai découvert cet appareil grâce au site Minimachine et notamment cet article dont je remercie chaudement l’auteur.

Je ferai sans doute d’autres articles sur le sujet, mais aujourd’hui je vais me concentrer sur un point en particulier, l’accélération matérielle du décodage/encodage de vidéos.


Jellyfin est tout rouge

La machine est normalement livrée avec Windows 10, mais j’ai préféré installer une Ubuntu récente. L’installation s’est déroulée sans aucun problème, tout le matériel est reconnu et l’appareil est étonnamment efficace pour toutes les tâches que je lui demande d’effectuer.
Parmi celles-ci, la plus gourmande est sans conteste Jellyfin, et notamment sa fonction de transcodage.

Jellyfin est un serveur de média open-source, équivalent du très connu Kodi, qui permet de se construire une bibliothèque de contenu, de l’organiser en différentes médiathèques et de servir ses fichiers à, à peu près n’importe quoi, du simple navigateur internet, à la smart TV, Nvidia Shield, ou téléphone.

Lorsque le client est capable de décoder le flux, ce dernier est transmis directement. Dans le cas contraire, Jellyfin se charge de transcoder le média à la volée.
Jusqu’à peu, tout allait bien, mais récemment j’ai récupéré une vidéo de vacances encodée en 4K avec le format H265. Ce fichier comportait aussi de nombreux sous-titres, ainsi que des pistes audio 7.1.
Impossible de le lire sans saccades, coupures et gels de plusieurs dizaines de secondes.

Un btop me montre que le transcodage monte tous les cœurs du CPU à pas loin de 100% en permanence.

Je comprends alors que l’accélération matérielle n’est pas activée.

Accélération matérielle

Voici donc le résultat de mes recherches.

Le processeur vient avec une partie graphique de chez intel, le UHD 600 :

orlanth@zeus:~$ sudo lshw -c video
*-display
description: VGA compatible controller
product: GeminiLake [UHD Graphics 600]
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 06
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list
configuration: driver=i915 latency=0
resources: irq:133 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:f000(size=64) memory:c0000-dffff

Le driver par défaut est le intel-media-va-driver.

J’ai vu sur certains sites, que la version non-free est sans doute plus avancée. Je ne suis pas sûr que cette étape soit obligatoire, mais au cas où, j’installe cette version puis je reboote.

orlanth@zeus:~$ sudo apt search intel-media-va-driver-non-free

Ayant installé Jellyfin via docker (et surtout docker-compose), il faut impérativement passer la carte graphique du système « réel » au système du docker.
Pour cela il faut ajouter quelques lignes au fichier docker compose.

orlanth@zeus:/var/www/jellyfin$ cat docker-compose.yml
version: '3'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin

    network_mode: "host"

    volumes:
    - /home/orlanth/.jellyfin:/config
    - /media/:/media
    environment:
    - PUID=1000
    - PGID=1000
    restart: always
    devices:
    - /dev/dri/renderD128:/dev/dri/renderD128
    - /dev/dri/card0:/dev/dri/card0

Il s’agit des 3 dernières lignes, devices et les deux devs.
Il faut les ajouter telles quelles.
Ensuite docker-compose down pour arrêter les services et docker-compose up -d pour les relancer.
On est bon côté système, maintenant il faut l’activer côté applicatif.

Encore quelques clics

Dans le tableau de bord de Jellyfin, il faut aller dans Lecture.

Puis Transcodage.

Dans la liste « Accélération matérielle », choisir Video Acceleration API (VAAPI).

Cocher HEVC puis descendre jusqu’au Profil d’encodage.

J’ai choisi superfast en me disant que je pouvais me contenter d’une qualité moindre, mais je ne sais pas si cela a un gros impact par rapport à fast utilisé par défaut.

Enfin ne pas oublier de sauvegarder les modifications en cliquant sur le bouton en bas de la page.

Attention à ne PAS cocher Adapter la vitesse du transcodage.

Je relance la vidéo et mon btop me montre que cette fois les cœurs du CPU ne montent plus qu’à 25% en moyenne.

L’accélération est donc bien activée !

Yeah !

À suivre

Si j’ai gagné en CPU et en chaleur, ainsi qu’en fluidité puisque j’arrive à lire un peu mieux le fichier, j’ai toujours des freezes mais beaucoup moins nombreux et beaucoup plus court.

Du coup, je peux faire deux choses.

En changeant la qualité pour quelque chose d’inférieur au 4K je réduis grandement la charge, notamment sur le réseau.

Et sinon, je fais comme sur Youtube à la grande époque des embrouilles avec Free, je lance le film, je mets la pause et j’attends une trentaine de secondes que le chargement se fasse, ensuite je suis à peu près tranquille.

En résumé, je suis toujours très content, mais je ferai plus attention au format des films de vacances que je peux trouver.

Création automatique de répertoires pour rangement de ma théatrothèque

Depuis que j’ai commencé le théâtre, je me suis constitué un stock de pièces de théâtre, de textes anciens ou contemporains, de cours, et d’autres informations pouvant m’aider dans mon apprentissage du métier d’acteur. Jusqu’à maintenant, j’étais le seul à m’en servir, mais depuis peu je suis dans un cours amateur près de chez moi et j’ai partagé cette théatrothèque avec mes chers collègues, qui en ont profité pour l’enrichir à leur tour. Du coup, pour mieux m’y retrouver, j’ai fait du ménage.


Premièrement à coup de Bulk Rename, j’ai renommé tous les fichiers en mettant l’auteur en premier puis un séparateur  » – « , en enfin le nom de la pièce ou du livre.

Pour que les noms soient normalisés, j’ai aussi utilisé l’option « Title » de Bulk Rename pour mettre tous les noms de fichiers en minuscules avec la première lettre de chaque mot en majuscules.

Enfin et surtout j’ai décidé de créer un répertoire par auteur. C’est là que j’ai utilisé deux lignes de commandes magiques que voici (lancées sous Windows via cmder, une console qui comporte quelques commandes Linux)

D’abord je crée une liste de tous les fichiers

  • Ls : liste les fichiers
  • awk : récupère uniquement le nom de l’auteur. Le FS contient le séparateur. Le print $1 imprime le premier champ, donc tout ce qui se trouve avant le séparateur.
  • sort et uniq : permet de trier la liste et de ne conserver qu’un seul nom
  • dir.txt : le fichier dans lequel sera écrit la liste

Ensuite j’ouvre dir.txt pour vérifier que tout est ok et éventuellement nettoyer les scories à la main.

Enfin, une petite commande perl en une ligne que me crée tout ça automatiquement.

Je ne connais pas bien Perl, et je me suis contenté de récupérer cette ligne sur le net, juste en changeant évidemment le nom de fichier.

Et hop, toute une liste de répertoire créée quasi instantanément.

Bon, j’ai finis de déplacer les fichiers manuellement, surtout par flemme de le faire en ligne de commande, mais aussi pour vérifier que tout était ok à chaque fois.

Et hop, une chouette théâtrothèque, bien rangée, et bien partagée via mon Nextcloud, le tout en moins d’une heure, recherches comprises.

Problème de partage de fichier entre Windows 10 et Linux (GVFS et SMB1)

Depuis des années j’utilise mon ordi principal pour partager des fichiers vers mes autres machines, machines virtuelles pour les tests, NVidia Shield pour les vidéos, ou mon laptop sous Linux pour récupérer des fichiers de travail. A un moment, ça a arrêté de fonctionner. J’ai enfin compris pourquoi et c’est le sujet de cet article.


Avec ma Shield, j’utilisais Kodi pour accéder à mes fichiers, sans problème puis d’un coup cela s’est arrêté. J’ai pensé qu’il s’agissait d’un problème avec une nouvelle version de Kodi, donc en attendant j’utilisais VLC en direct qui lui fonctionnait sans problème.

Parallèlement, je joue beaucoup avec des distributions Linux, mais à chaque fois que je voulais m’en servir pour de vrai (par exemple sur mon laptop, sur lequel je ne joue pas), j’avais des soucis. Ce qui me heurte beaucoup en temps que libriste convaincu et qui constitue une vraie barrière pour moi à la démocratisation de Linux sur les machines de Bureau. Soit il s’agit d’un problème de son, ou de drivers vidéos ou surtout d’accès au réseau. Bref, jamais tranquille.

Pourtant, sur les réseaux je suis des libristes et de plus en plus d’entre disent s’ennuyer maintenant parce que tout fonctionne chez eux out-of-the-box. Et pas chez moi, pourquoiii ?

Bref, je profitais récemment d’un nouveau test, cette fois de la distribution FerenOS qui fait sensément tout plus mieux que les autres et le café avec.

Encore une fois le parcours du réseau était impossible, message d’erreur et tout et tout. Sauf que cette fois, j’ai fait une réussite critique en Google-Fu et que j’ai trouvé la solution. Et si le problème vient bien de Linux, la solution se trouve côté Windows.

En effet, suite à un bug dans le backend GVFS, les versions supérieures à smb1 (le protocole utilisé pour la découverte du réseau et le partage de fichier) ne sont pas prises en charge par Linux.

Or, les versions récentes de Windows 10, pour des raisons de sécurité, désactivent smb1, vieux de 30 ans, ce qui est normalement une excellent idée, mais qui dans notre cas précis casse, sans prévenir, l’autre côté.

La solution tient en une ligne.

Ouvrez un terminal Powershell en mode Admin et tapez la commande ci-dessus. L’ordi va redémarrer (violemment et sans vous demander votre avis, GG MS), puis smb1 sera activé.

De retour dans ma VM de test FerenOs, le gestionnaire de fichier Nemo voit instantanément la machine de partage, les partages eux-mêmes et après une demande légitime d’authentification me donne enfin accès aux fichiers convoités, et un double-clic lance une vidéo avec VLC très rapidement et sans buffering.

Je suis un peu embêté pour la conclusion.

En effet, Windows a colmaté un trou de sécurité important, et un bug dans Linux fait qu’on ne peut plus s’y connecter, du coup MS 1 – Linux 0

La correction serait problématique dans un environnement moins personnel que le mien et ne fonctionnera pas dans un environnement où je n’ai pas la maîtrise du serveur.

Il existe des solutions de contournement (notamment monter le partage distant en ligne de commande, ou en passant par le fichier /etc/fstab) mais ce n’est absolument pas user-friendly et contredit, à mon sens, la facilité supposée d’utilisation du bureau Linux.

Si quelqu’un a trouvé une solution plus élégante que la mienne, n’hésitez pas à m’en faire part, en attendant je vais pouvoir remater mes films de vacances, tranquillement, dans mon canap’ jusqu’à la prochaine fois.


Ressources
Un point global sur le sujet
https://forums.linuxmint.com/viewtopic.php?t=322404

Stop using SMB1
https://techcommunity.microsoft.com/t5/storage-at-microsoft/stop-using-smb1/ba-p/425858

Chercher/remplacer par style et wildcards dans Word

Nous avons écrits YxY à plusieurs mains et à cause d’un manque de concertation nous avons chacun utilisé nos propres marques pour spécifier les titres et sous-titres. Mon maquettiste me demande aujourd’hui d’unifier les documents, de supprimer les titres et de les encadrer avec un tag.


Word possède des fonctions de recherches assez puissante et notamment un moteur apparenté Regex pour faire des combinaisons complexes. Mais la doc étant un peu mal foutue, voici comment je m’y suis pris.

Mes titres étaient simplement des styles Word tout bêtes, Titre 1, Titre 2 etc.

L’idée est de remplacer un Titre 1 par son texte seul encadré de tag <A>xxx</A>, un Titre 2 par <B>xxx</B> et un Titre 3 par <C>xxx</C>.

Lancez la recherche Word (ctrl+H).

Cliquez dans la boite Rechercher, puis sélectionnez le menu Format, Style.

Allez chercher votre Titre 1 mais attention, il peut y avoir plusieurs style avec le même nom.

Cochez la case Utiliser les caractères génériques.

Pour récupérer toute la ligne, tapez le code suivant : <(*)^13

  • Le < indique un début de mot.
  • * demande de rechercher entre 0 et n lettres. Normalement il s’arrête au premier espace trouvé, ce qui est gênant si on veut en entier un titre qui comporte plusieurs mots.
  • ^13 est un code qui représente un saut de paragraphe. J’ai cherché sur internet, je ne l’ai pas trouvé dans l’aide.
  • Enfin, les parenthèses () indiquent que toutes les lettres trouvées forment un groupe qui sera réutilisé dans le remplacement.

Dans la case Remplacer, indiquez <A>\1</A>^13

  • <A> et </A> sont les tags dont mon maquettiste a besoin.
  • \1 est un code qui représente le contenu trouvé précédemment par (*).
  • ^13 est un saut de paragraphe.
  • Vous pouvez en profiter pour faire sauter le style en cliquant dans Format, Style et en choisissant le style Normal.

Cliquez sur Remplacer tout et laissez la magie opérer. Refaites la même chose pour chacun des niveaux de titres et hop un document tout propre.

Ne vous laissez pas décourager par le côté technique, c’est vraiment très simple à mettre en place, adaptable, et ça fait peut faire gagner un temps fou.

Ajouter une liste de répertoires au menu contextuel de Windows

Dans le cadre de mon activité informatique, j’utilise quotidiennement un bon nombre de petits logiciels portables, qui sont soigneusement rangés, chacun dans un répertoire. Arrivant à environ 200 logiciels, je les ai rangés par sous-catégories, pour les retrouver rapidement. Chacun son système je suppose, moi j’ai voulu les ranger alphabétiquement. Pour parcourir plus rapidement cette liste, on peut créer un simple raccourci, moi j’ai voulu les mettre dans le menu contextuel. Vu que j’ai un peu galéré, voici comment je m’y suis pris.


Tout d’abord, voici à quoi cela doit ressembler.

Un menu cascadant, puis la liste des répertoires elle-même.

Tout se passe en base de registre. La ruse ici est qu’il faut modifier des clés à deux endroits.

Tout d’abord, lancez Regedit.

Partie 1 – Le répertoire de base

Créez le répertoire principal en allant chercher cette clé.

HKEY_CURRENT_USER\SOFTWARE\Classes\DesktopBackground\Shell

Créez une clé avec le nom que vous voulez.

Créer les valeurs de clé REG_SZ suivantes :

  1. icon : Non obligatoire, permet de mettre une icone personalisée.
  2. MUIVerb : Non obligatoire, permet de mettre un nom différent du nom de la clé elle-même. Par exemple, j’aurais pu mettre « Soft » comme nom de clé, et changer en « Logiciel » grâce à MUIVerb.
  3. Position : prend les valeur « Top », « Middle » et « Bottom ». Elle indique où doit se trouver le menu.
  4. SubCommands : c’est le plus important. Indique les dossiers ou autres objets qui doivent apparaître.

« SubCommands » doit comporter la liste des autres commandes, séparées par un point-virgule. Comme pour le menu principal, il sera possible de changer le nom qui apparait.

Comme dans la base de registre, la liste des sous-commandes va se mélanger avec celles par défaut de windows dans un joyeux bordel, j’ai préfixé chaque commande par le nom du répertoire principal.

Logiciels.A-H;Logiciels.I-P;Logiciels.Q-Z;Logiciels.Autres

Partie 2 – Les sous-commandes

Ca se passe ici :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell

Créez une clé pour chaque sous-répertoire.

Pour chaque clé, créez un REG_SZ MUIVerb pour changer le nom pour quelque chose de plus lisible. Vous pouvez aussi ajouter un Icon comme vu plus haut.

Enfin, créez une clé « command ». Écrit exactement comme ça.

Dans « command », changez l’action par défaut.

Et voilà.

En vrai, c’est pas hyper compliqué une fois qu’on a compris.

Voilà quand même un petit texte qui contient mes modifs. Vous le copiez dans un fichier texte que vous renommez en .reg à la fin, vous le modifiez à votre convenance, et vous double-cliquez dessus pour tout créer d’un coup.

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Logiciels]

"Position"="Middle"
"SubCommands"="Logiciels.A-H;Logiciels.I-P;Logiciels.Q-Z;Logiciels.Autres"
"MUIVerb"="Logiciels"
"icon"="explorer.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.A-H]
"MUIVerb"="A-H"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.A-H\command]
@="explorer E:\Logiciels\A-H"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.I-P]
"MUIVerb"="I-P" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.I-P\command]
@="explorer E:\Logiciels\I-P" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.Q-Z]
"MUIVerb"="Q-Z" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.Q-Z\command]
@="explorer E:\Logiciels\Q-Z" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.Autres]
"MUIVerb"="Autres" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Logiciels.Autres\command]
@="explorer E:\Logiciels\zz - Autre"

Télécharger automatiquement une liste de fichiers sur Youtube, et les convertir à la volée.

Toujours à la recherche de petit bout de script marrant et d’automatisation, je suis tombé sur la fonction « recherche » de Youtube-dl, qui marche plutôt pas mal.


Youtube-dl dispose de la fonction peu documentée : « ytsearch » qui permet de faire des recherches automatiquement dans Youtube, ainsi que de télécharger automatiquement le résultat.

Si on ajoute un chiffre, par exemple 5, donc « ytsearch5 », la fonction ira télécharger les 5 premiers résultats de la recherche.

Sous Windows, je me suis écrits le petit script suivant (que j’ai appelé ydlfile) à placer où vous voulez dans votre $PATH.

@echo off
for /f "delims=" %%a in (%1) do youtube-dl -f best -x --audio-format mp3 ytsearch1:"%%a"

Cette simple ligne prend un fichier texte en entrée, dont chaque ligne sera recherchée, téléchargée et convertie en fichier mp3. Plus la recherche est précise, plus vous aurez de chance que le fichier récupéré soit celui que vous vouliez.

Si vous tombez sur le net, par exemple, sur une playlist avec simplement le nom des artiste et le nom d’une chanson, copiez-collez le tout dans un fichier texte, donnez-le à manger au script, et voilà !

Je suis tombé par hasard sur la page de Bon Entendeur, des gens qui font des mixes plutôt sympas en ajoutant des voix de gens géniaux, comme Alexandre Astier ou Blanche Gardin (love absolu sur eux et leur famille pour plusieurs générations). En allant sur leur site, je suis tombé sur une tracklist sans lien.

Un copié-collé plus tard dans un fichier texte (bo.txt par exemple), j’obtiens un truc qui ressemble à ça :

Ensuite un petit ydlfile.bat bo.txt :

Et c’est parti !

Il doit y avoir moyen d’améliorer tout ça, mais je vous laisse le faire.

Transformer un album complet téléchargé sur Youtube en une suite de fichiers musicaux indépendants v2

Il y a quelques semaines, j’avais créé ici-même une procédure que je mets à jour avec de nouveaux outils, plus simples et encore moins de travail manuel.


Commencez déjà par vous familiariser avec l’article initial

1- Téléchargement de la vidéo et conversion en mp3

$ youtube-dl -x --audio-format mp3 <lien vers la video>

Si vous n’aimez pas la ligne de commande, il y a des services comme fluvore qui font le job.

2- Création du fichier CUE

Ce document contient toutes les informations des pistes, durées, artistes etc.

Le site http://cuegenerator.net/ permet de le créer facilement.

Entrez les informations à gauche, le fichier CUE apparaît à droite.

Attention au format des informations dans la tracklist. Il y a un espace entre le timecode et l’artiste, et un tiret « – » entre l’artiste et le titre de la piste.

Je m’y suis pris de la façon suivante (vidéo de 48 sec).

Si les informations sont correctement inscrites, le fichier se met à jour automatiquement à droite. Si tout est bon, cliquez sur Save Cue To File pour le récupérer.

Placez-le dans le même répertoire que le fichier mp3.

3- Conversion

J’ai trouvé l’outil MP3DirectCut qui est léger et portable. Il fait tout un tas de choses, dont la découpe dont nous avons besoin.

Téléchargez et lancez le programme.

Glissez-déposez le fichier CUE sur la fenêtre principale.

Fichier -> Découper selon les index

1 - Indiquez le répertoire où vont se placer les fichiers
2 -  Le nom des fichiers générés, je commence par le numéro de la piste, puis le titre de l'album et l'artiste, et enfin l'artiste de la piste et le titre de la piste. 
3 - Enfin, cochez les case ID3v1 et ID3v2 pour tagguer automatiquement les fichiers. 

Cliquez sur Ok pour générer les fichiers.

Et voilà, encore plus simple et plus rapide.

mp3DirectCut peut aussi s’utiliser en ligne de commande. Il y a sans doute moyen d’optimiser encore.

Hotspot Wifi de dépannage avec Linux Mint

Aujourd’hui je suis responsable informatique depuis quelques semaines dans une nouvelle boîte. Depuis quelques jours, le wifi est tombé dans l’une de nos succursales. Nous utilisons des boitiers spéciaux branchés à un firewall Fortinet. Je ne suis pas responsable de l’infrastructure, mais je trouve étrange de passer autant de temps à réparer quelque chose alors que le service est complètement tombé. Voici donc une petite procédure sans prétention pour monter un point d’accès Wifi en deux secondes et quart.


Premièrement attraper un vieux laptop ou n’importe quelle machine qui dispose d’un port Ethernet et d’une carte Wifi. Pour ma part c’est un Dell 5420 datant de mathusalem qui m’a servi de test. Je ne sais pas si toutes les cartes wifi peuvent se mettre en mode AP mais avec ce portable, ça a fonctionné.

Télécharger le dernier Live USB de Mint, genre là https://linuxmint.com/edition.php?id=261

J’ai pris une Cinnamon mais ça importe peu.

Un coup de Rufus pour copier l’ISO sur une clé USB, puis boot sur le le Live.

Cliquez que Network Connections puis cliquez sur le + pour créer une nouvelle connexion.

Choisissez Wifi puis Create

Indiquez le SSID voulu, probablement le même que celui que vous essayez de remplacer.

Dans Wifi Security, choisissez la sécurité que vous aviez précédemment puis le même mot de passe pour éviter que vous utilisateurs n’aient à remettre tout et que vous ayez what mille appels au support.

Vous sauvez le tout puis vous cliquez dans la liste des connection, Connect to Hidden Network (chelou mais bon..)

Choisissez le nom de la connexion que vous venez de créer puis Connect.

Hop, grande magie, vous avez un hotspot tout neuf qui fonctionne. Vous branchez le tout sur le réseau normal et roule ma poule.

Bon c’est pas une grande portée, plus de 10m de rayon c’est chaud mais ça dépanne le temps de régler le vrai problème.

Dernier point, si vous voulez juste un hotspot avec un nouveau nom (mint) et un mot de passe aléatoire, vous n’avez rien à créer. Booter le le Live CD, ouvrez la liste des connexion et cliquez sur Hotspot. C’est tout. Trois clics et c’est réglé. Mint c’est bien.

Enjoy !