Cas d’usage IA : Récupérer les selecteurs d’une page pour obtenir un flux RSS complet

J’utilise depuis des années Freshrss, un lecteur de flux RSS qui possède une option permettant de récupérer le contenu complet d’un flux RSS tronqué. Il existe bien des services externes ou autohebergé comme fulltextrss, mais l’outil le propose en natif. Suite à la perte de mon FreshRss parce que mes sauvegardes ne fonctionnaient pas (tester les restaurations les gens), j’ai réinstallé l’outil et ajouté mes flux un par un. Pour récupérer un flux complet, il faut aller sur la site voulu, utiliser l’inspecteur du navigateur, chercher les selecteurs CSS qui vont bien, faire des copiers-coller, tester et recommencer jusqu’à obtiention du résultat. Voyons comment éviter ces étapes et accélérer la procédure.


Outils

Je suis client Free mobile, et la société vient de nouer un partenariat avec Mistral IA qui offre la version pro pendant un an. Je vais donc m’en servir.

Côté FreshRSS

Ouvrez les paramètres du flux et descendez jusqu’aux selecteurs :

Nous voulons récupérer deux listes de selecteurs, le premier est celui qui contiendra les articles eux-mêmes, le contenu réel. La seconde liste de selecteurs contiendra tout ce qui n’est pas lié à l’article mais qui aurait été inclus dans le premier selecteur. Il peut s’agir d’images, de renvoi vers d’autres articles, de liens sponsorisés, de logo de partage vers les réseaux sociaux, de commentaires ou autres. Tous les selecteurs de cette liste seront supprimé du contenu final.

Astuce : pour tester le résultat, cliquez sur l’icone en forme d’oeil !

Sur le site Web

Ouvrez le site web cible, puis appuyez sur ctrl+u pour ouvrir la source.
Ensuite, selectionnez (ctrl+a) puis copiez tout le contenu (ctrl+c).

Dans MISTRAL AI

Ouvrez Mistral AI (ou ChatGPT, ou Perplexity, ou n’importe quel autre outil dans le même genre), puis créer un prompt avec votre demande et collez le texte (ctrl+v).

Ici le prompt est :

Dans la page web suivante, je veux que tu extraits le selecteur permettant de lire uniquement l'article.
Dans cet article, fais la liste de tous les selecteurs qui ne sont pas pertinents dans le texte, par exemple les commentaires, les rappels à lire, les tags, les liens sortants, les réseaux sociaux ou autre.
Rassemble tous les selecteurs trouvés dans une liste séparées par des virgules. 

Chez moi le résultat donne ceci :

Je saisis #textarticle dans la boite de FreshRss et je teste en cliquant sur l’icone.

Le résultat est parfait, et, dans ce cas précis, je n’ai pas besoin des autres selecteurs. Si cela avait été le cas, j’aurais ajouté à la seconde boite, un par un, séparé par des espaces, chzque sélecteur et en testant à chaque fois pour vérifier que le résultat est ok.

Par exemple, voici le résultat sur Ecran Large :

Conclusion

Chaque site me prend maintenant trois minutes au lieu de 20 minutes et plus en tests, échec, et nouvelles tentatives, tout en cherchant à l’oeil les différents selecteurs.
Est-ce que je pourrais le faire à la main ? Oui, mais c’est plus long, et pénible.
Est-ce que ça vaut le coup de participer à la destruction de la planète en explosant les coûts énergétiques ds entreprises qui proposent ce genre de service ? Sans doute pas en effet.

A vous de voir, mais mon avis est fait et il se trouve ici.

Un podcast sur YxY (avec NotebookLM)

Un tout petit article à propos de la fonctionnalité Podcast de NotebookLM.


NotebookLM

NotebookLM est un outil de IA générative proposée entièrement gratuitement par Google (enfin gratuitement, il faut s’inscrire avec son compte Google, donc gratuit, produit, vous connaissez la chanson).
Il permet notamment de faire de la recheche documentaire. On y verse des sources, sous n’importe quelle forme, fichiers texte, lien Youtube, ou autre, avec un maximum de 50 fichiers.

Pour le texte on peut tricher en concaténant les fichiers en un seul avant de l’envoyer.

Disclaimer : je pars du principe que tout ce que j’envoie à Google est avalé par la machine. Dans le cas présent, j’ai déjà mis sur Internet les fichiers dont je vais me servir en exemple. On peut imaginer que Google a déjà tout mangé.

Une fois les sources envoyées, il les traite et sort un résumé, plutôt très pertinent du contenu du document et suggère quelques questions.

J’ai utilisé YxY evidemment comme exemple. J’ai extrait l’ensemble de mes notes en cours sur la nouvelle version, et notamment ce que j’appelle le Concept Core qui définit toutes les règles de base du jeu.
J’ai tout concaténé en un seul fichier pdf, parce que pourquoi pas et que c’était plus simple à partir d’Obsidian (l’outil dont je me sers pour écrire) et je l’ai envoyé sur le site.

Podcast

Le bloc Aperçu audio, permet en un clic de générer un podcast à partir des sources indiquées.

Par défaut, ce sont deux personnes qui parlent, une homme et une femme, en anglais américain. Le bouton « Personnaliser » permet de configurer un prompt précis pour organiser le podcast. Soit le faire parler un peu plus d’un sujet, changer le nombre d’intervenant, en faire un débat, un quizz, ou n’importe quoi qui vous vient par la tête. Je n’ai pas réussi à changer la langue par défaut, mais ça doit être possible avec un prompt astucieux.

Ensuite on clique sur « Générer », puis on attend quelques minutes et paf (des chocapics ?) on obtient un lien vers un fichier podcast, écoutable directement depuis la page ou téléchargeable en .wav.

Je vous mets le résultat ici, si vous comprenez l’anglais, c’est dingue.


EDIT : La version Française.

L’accent est une sorte de canadien, le flow est pas vraiment le même, c’est un peu plus lent. Je pense que c’est encore un peu frais chez Google. Voilà quand même le fichier au cas où :

Installer et utiliser un stack AI local (Ollama + Llama3 + Stable Diffusion + Whisper) – Partie 1

Image générée par AI (designer de Ms)

La grande mode du moment, c’est l’AI générative ou LLM pour Large Language Model. Je suis bien sûr très intéressé par ces applications, tant en termes de génération de texte ou d’image pour des usages pro (résumé, mails, génération de modèles, programmation) et persos (jeu de rôle). Pour cela, on peut utiliser les classiques et plus connus Midjourney ou ChatGPT ou se tourner vers l’open-source et ses bienfaits. Cet article se base principalement sur une vidéo de NetworkChuck que je vous invite à visionner (en anglais), et à diverses informations rassemblées sur le net.

Petit disclaimer : je suis parfaitement conscient de l’impact que ces technologies peuvent avoir sur les métiers de création, illustrateurs, traducteurs, ou autres. Je sais aussi comment sont nourris les modèles de données, la plupart du temps sans considération ni rémunérations pour les auteurs (dont je suis parfois), et c’est un problème grave dont il faut s’occuper dès maintenant. Je n’encourage pas le commerce de produits générés par IA, livres ou images. Je ferai peut-être ultérieurement un article plus complet sur mon positionnement.


Matériel

Contrairement à ce que dit la vidéo de NetworkChuck, pas besoin d’une machine de guerre à base de double RTX 4090 et je ne sais combien de RAM. Vous aurez des résultats parfaitement satisfaisants avec une machine relativement récente. Par contre, une carte graphique Nvidia me semble obligatoire. C’est elle qui fera les calculs, et plus elle sera puissante, plus les retours seront rapides. Le système peut toutefois tourner sur CPU uniquement.

Personnellement j’ai une RTX 4070 12 Go, mais une génération précédente fera parfaitement l’affaire. Idem, n’importe quel processeur un peu récent ira bien.

Par contre, si vous ne disposez que d’un laptop ou un minipc, je ne garantis pas le résultat.

WSL

La plupart des programmes et commandes fonctionnent sur tous les systèmes, mais je trouve que le plus simple c’est Wsl, la version Windows de Linux.

On commence par l’activer en lançant la commande suivante dans le terminal de Windows.

wsl --install

Ca ne prend que quelques minutes.

Si vous utilisez le Terminal de Windows, vous aurez automatiquement une nouvelle entrée.

Cliquez dessus pour ouvrir une session Ubuntu.

Il vous demandera un nom d’utilisateur et un mot de passe, puis vous aurez accès à la ligne de commande.

Ubuntu + Docker

Commencez par mettre à jour Ubuntu avec les commandes suivantes :

sudo apt update && sudo apt upgrade

Puis installez Docker

sudo apt install docker.io

Tout est prêt !

Ollama

Ollama est un outil permettant de télécharger et d’utiliser n’importe quel modèle de données disponibles en open-source (et gratuitement) sur le site de Huggin Face, la principale communauté AI. C’est un serveur qui tourne en arrière-plan et qui peut être utilisé en ligne de commande ou via une interface Web qu’on installera juste après.

Pour l’installer, tapez la commande suivante :

curl -fsSL https://ollama.com/install.sh | sh

Au bout de quelques minutes, vous aurez accès à l’application.

Téléchargez un modèle, je suggère le plus puissant du moment, avec un excellent rapport taille/qualité, Llama3

ollama pull llama3

Attention, c’est un fichier de 5Go, la vitesse dépend de la qualité de votre ligne.

Pour tester :

ollama run llama3

Yeah \o/

OpenWeb UI

C’est un logiciel qui donne une interface graphique à Ollama, ressemblant fortement à celle de ChatGPT ou you.com. On peut télécharger des modèles, discuter avec eux, uploader des fichiers pour les interroger et faire plein de choses cools.

Pour l’installer (toujours dans notre session Ubuntu)

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

La commande peut faire peur, mais elle dit juste que l’application doit tourner dans docker, que l’image s’appelle open-webui et que le serveur ollama tourne en local. Rien de foufou ou de dangereux.

Comme pour les précédentes commandes, il va télécharger ses fichiers et tout lancer tout seul.

Pour savoir si cela fonctionne, lancer votre navigateur préféré et faites le pointer sur :

http://localhost:8080

Dans le menu du haut, vous pouvez choisir vote modèle (llama3).

Dans le chat du bas, vous pouvez taper votre question ou demande pour commencer à l’utiliser.

Vous pouvez aussi cliquer sur le petit + en bas à gauche pour envoyer un fichier pour l’interroger. Ça marche avec du texte, mais par la suite, on pourra envoyer une image pour lui faire décrire un prompt qu’on enverra ensuite dans Stable Diffusion.

Le micro permet d’envoyer du son qui sera analysé par Whisper et transformé en texte.

Enfin, les résultats peuvent être lus par une voix synthétique en un clic, je vous montre ça après.

Conclusion de la partie 1

En quelques commandes, on a installé un système complet, accessible facilement, quasiment aussi puissant que le dernier ChatGPT. Si un modèle plus puissant sort en open-source, il sera rendu disponible dans l’application en une commande (ou quelques clics dans l’interface).

Dans la partie 2, nous installerons les autres outils et nous verrons comment les utiliser et les faire échanger entre eux.

Installer windows 11 sur un dell XPS 13 9315

J’ai un laptop dell de ce modèle qui a été préinstallé avec plein de crapware. J’ai pas mal de souci avec et j’ai décidé de tout réinstaller. Cet article est là pour m’aider le jour où je voudrais le refaire.

BIOS / Driver disque dur

Par défaut le disque dur n’est pas visible par l’installateur de Windows, même dans sa version 11. Il est possible pendant l’installation d’utiliser les drivers trouvables sur le site du support de Dell si on les a mis sur la clé USB d’installation. Cela dit, si le système voit que le disque principal n’est pas le premier (0) alors il refusera de s’installer.

Une astuce est de passer dans le Bios pour changer la manière dont le disque est géré, pour passer de RST (une espère de Raid dont je ne comprends pas bien l’interêt) à AHCI/NVME.

Une fois relancé, l’installeur de Windows retrouve sans problème ses petits et accepte de s’installer.

Pour accéder au Bios => F12 pendant le démarrage pour accéder aux options de boot puis il y a un lien vers le bios lui-même. Il faut aller dans Stockage, puis cliquer sur AHCI/NVME.

Rebooter, F12 de nouveau, puis booter sur la clé USB d’installation.

Astuce : decrap

Windows installe des tas de crapwares par défaut, notamment des pubs, des liens vers des applis ou des jeux. Cette action est dépendante de l’endroit choisi lors de l’installation.

Pour réduire ces installations malvenues, il faut indiquer à l’installeur la région : « Anglais (International) ».

De là, il va continuer, puis mettre un message d’erreur.

Il faut cliquer sur Ignorer puis terminer l’installation normalement.

Astuce : Compte local

Windows 11 nous fait bien galérer et tente de nous obliger à se connecter avec un compte MS.

Pour éivter cela, il faut débrancher son câble éthernet, ou couper la connexion Wifi si elle est active, puis cliquer sur : « Je n’ai pas internet » et « Continuer avec un compte limité ».

Installer les drivers d’une clé Wifi TP-Link Archer T3U sous Debian 12

J’ai récupéré récemment un vieux HP ProDesk 400 G3, un mini PC format 1L anciennement utilisé comme machine de bureau. Après l’avoir un peu boosté avec de la RAM (passage à 16Go), j’ai fait quelques tests dessus, et s’il est difficilement utilisable en mode bureau (processeur faiblard, disque dur mécanique), il est beaucoup plus intéressant en mode serveur. Voulant le mettre dans un coin avec le moins de câble possible, j’ai voulu y coller ma clé Wifi Archer T3U, évidemment sans driver Linux. Ma procédure précédente ne fonctionnant pas, j’ai de nouveau cherché et trouvé une solution pour la faire fonctionner, le tout en ligne de commande, sous le très récent Débian 12.


Installation Debian 12

J’ai installé une Debian 12 toute fraiche en téléchargeant un ISO netinstall. Pas d’interface graphique, juste un serveur SSH et basta.

Comme précédemment, le driver sera compilé à partir d’un dépôt git. Donc j’installe tous mes outils, git, sudo (non installé par défaut dans debian), module-assistant, lshw (pour vérifier le matériel). La compilation m’ayant fait une erreur, j’ai dû aussi installer le paquet dkms.

Je vérifie avec un lsusb que la clé est bien reconnue par la machine.

Elle apparait bien, première étape ok.

Compilation du module

Ensuite récupération du code puis compilation et installation. Source de la méthode.

sudo m-a prepare
git clone https://github.com/RinCat/RTL88x2BU-Linux-Driver
cd RTL88x2BU-Linux-Driver
make
sudo make install
sudo modprobe 88x2bu

Pour vérifier que le matériel est maintenant correctement piloté, j’utilise la commande lshw

La commande ip link show donne aussi un bon résultat.

Je note le nom de l’interface (wlxd03745a8f9ca) pour la suite.

Configuration du réseau

Source de la méthode

J’ai choisi d’utiliser l’outil iwd qui me semble très simple à mettre en place.

J’installe le paquet iwd puis j’ouvre le fichier de configuration pour décommenter la ligne permettant à iwd de configurer automatiquement le réseau (EnableNetworkConfiguration).

Il faut maintenant lancer le service iwd et l’activer pour que le wifi survive à un redémarrage.

systemctl --now enable iwd

Accéder au wifi

J’utilise la commande iwctl en mode interactif et en utilisateur.

iwctl

La commande help permet de voir toutes les instructions possible.

Pour ma part :

station wlxd03745a8f9ca scan
station wlxd03745a8f9ca get-networks
station wlxd03745a8f9ca connect <réseau>

Il va demander le mot de passe du réseau. Puis, vous pouvez sortir avec exit.

La commande : ip a, vous permet de voir si l’interface a bien récupéré une adresse ip en DHCP.

Pour un serveur, il est plus pratique d’utiliser des adresses ip statiques, mais je préfère les gérer de manière centralisée sur mon DHCP en définissant un bail statique.

Conclusion

La méthode me paraît beaucoup plus simple à mettre en place, surtout dans un contexte sans interface graphique et j’avoue avoir fait une bonne découverte avec iwd qui gère très facilement le réseau en cli.

Si vous n’arrivez pas à vous connecter après la procédure, ou si vous n’avez pas récupéré d’ip, essayez de relancer le service (sudo systemctl restart iwd) ou de redémarrer la machine (ce que j’ai dû faire).

Retour d’expérience sur Critical, part ouane.

Il y a quelques semaines, j’achetais Critical, un jeu d’initiation à destination des débutants. Depuis, j’ai fait jouer les quatre premiers scénarios, en deux séances d’un peu plus d’une heure.


Première séance

La première séance s’est plutôt bien déroulée. Il s’agit de deux combats assez brutaux, avec un peu de contexte pour expliquer comment on en arrive là, mais c’est tout. Y’a un côté super gonzo du jdr où on vire tout ce qui n’est pas directement le cœur de la partie. Là, c’était baston, alors tout mène très rapidement à la baston.

Le système est extrêmement facile et rapide à prendre en main, et les combats sont justement très expéditifs. Les personnages ont deux points de vie, donc peuvent encaisser deux coups d’une arme de base type pistolet, et un seul d’une arme de guerre type fusil d’assaut. D’ailleurs, il n’y a que deux armes (+ une spéciale qui intervient plus tard dans la campagne). Il y a aussi peu de possibilités d’éviter les dégâts, à part pour le perso du soldat qui dispose d’un équipement adéquat lui permettant de rester debout un peu plus longtemps.

Toutes les scènes d’action sont limitées en temps. Un compteur, généralement positionné à trois tours, permet de se concentrer sur le principal. Encore une fois, efficacité avant tout. Si à la fin des trois tours, les personnages n’ont pas réussi, le dénouement est un poil différent mais la scène s’arrête là.

Il n’est pas possible non plus de mourir. Un personnage suffisamment blessé s’effondre et joue le reste du scénario avec des malus, c’est tout.


Seconde séance

À l’inverse de la première séance, tout en action, la seconde séance et donc les deux scénarios suivants mettent l’accent sur l’enquête. Les indices étant matérialisés physiquement par des cartes ou des morceaux de cartons représentant les objets acquis. Il y a quelques astuces à la Unlock, et les joueurs sont invités à bien observer ce qu’ils ont sous la main et interroger le maître de jeu sur ces éléments pour comprendre l’histoire.

Il y a des indices obligatoires pour comprendre le fil de l’histoire et avancer et un certain nombre d’indices supplémentaires ouvrant de nouvelles pistes et questions.

Une fois encore, les scénarios sont ultra-linéaires. Le Mj lit la situation et le traditionnel « Que faites-vous ? » intervient très tard dans la description de la scène. Du coup, les joueurs n’ont aucune autre possibilité que de faire ce qu’on leur dit et d’évoluer dans une bulle de gameplay beaucoup plus serrée par rapport aux autres jeux. Dans le cadre de l’enquête, finalement, cela consiste simplement pour les joueurs à dire qu’ils essaient d’en savoir plus sur tel ou tel élément repéré précédemment. Je le ressens un peu comme une désincarnation des personnages. Si l’immersion est renforcée par la qualité des illustrations et des aides de jeu, le fait de ne faire que ce qu’on vous demande et surtout pas autre chose me sortirait un peu de l’univers si je devais passer de l’autre côté de l’écran.


Conclusion

Pour l’instant, je suis mitigé. En tant que Mj, je passe une dizaine de minutes à préparer la séance, en allant chercher les cartes, indices et pions nécessaires, puis je lis ce qu’on me dit de lire, dans l’ordre.

Je ne me trouve pas super impliqué, et je suis à deux doigts de penser qu’on pourrait tout à fait utiliser une application sur son téléphone pour remplacer ce rôle traditionnel.

Côté joueurs, les miens n’étant pas complètement débutants, s’ils n’ont pas l’air de s’ennuyer, ils ne sont pas pour autant super actif, n’étant pas vraiment très sollicités.

L’expérience est clairement différente de tout ce que j’ai pu jouer depuis mes débuts. Ce jeu est construit comme un train fantôme (terme emprunté aux jeux vidéos). Ils sont dans une voiture qui va tout droit et il y a des trucs qui se passent autour d’eux sans qu’ils puissent réellement faire autre chose que ce qu’on attend d’eux.

Je reste sur ce que j’avais dit dans la critique de mon précédent article, cela fonctionnera super bien avec des débutants complets, mais avec des gens qui ont déjà une demi-douzaine de parties, j’ai peur que cela les renvoie à une position un poil trop passive.

Critique de Critical Saison 1

J’ai découvert Critical un peu par hasard, dans une boutique de jeu de société et pas vraiment de jeu de rôle, entre Unlock et le dernier set de carte Magic. C’est en croyant avoir à faire à un énième escape game que j’ai attrapé la très belle boite et m’apercevoir qu’il s’agissait d’un jeu de rôle complet, axé initiation et comportant du matériel comme pour un jeu de plateau. Tombant pile-poil dans mes obsessions du moment, j’achète le jeu et décide d’en faire une critique.


Déballage

La première impression est très bonne. La boite respire la classe, et je me retrouve comme un gamin découvrant l’œil noir, édition Gallimard, pour la première fois. Un carton d’excellente qualité, quatre feuilles de personnages permettant pour chacun de choisir son genre (hey, vazy je l’avais déjà fait là !), des petits cartons pour l’équipement et les indices, et de plus gros pour les illustrations, que je trouve très jolies et très immersives. Le jeu se complète d’un livret de règles, de quelques dés spéciaux, et de huit scénarios tenants chacun sur une feuille A4.

L’écran en quatre volets contient les règles complètes du jeu et dispose de deux encarts en plastique permettant de placer des cartes d’illustrations ou de personnages-non-joueurs à la vue de tous. C’est très astucieux.

La présentation me plait beaucoup, pour la raison que je suis personnellement convaincu que ce genre de format est très ludique pour des débutants, permettant de s’approprier physiquement les différents éléments pour améliorer l’immersion. C’est ce que je fais déjà beaucoup avec YxY et ses différentes versions, et voir une version aboutie me conforte dans mes idées.

Les règles

Rédaction

En gardant à l’esprit que les règles se doivent d’être simple et prévue pour l’initiation, j’ai trouvé qu’elle manquait un peu de fluidité. J’ai dû regarder à plusieurs endroits et essayer de comprendre ce qu’était exactement des “réussites”. Dans d’autres jeux, on dit qu’on a une réussite lorsqu’un dé donne un certain résultat et on peut obtenir plusieurs réussites lorsque plusieurs dés lancés simultanément obtiennent chacun individuellement le score demandé. Là, il a fallu que je me rende compte que les d12 fournis n’étaient pas des dés ordinaires et que les chiffres inscrits n’étaient pas linéaires. Donc si le d12 donne un résultat de 2, on a 2 réussites. Ce n’est qu’un simple problème de sémantique, mais qui m’a un peu perdu.

De manière similaire, les informations ne sont pas répétées et il y a peu de renvoi indiquant où trouver l’information. C’est une fois l’intégralité du jeu lu qu’on a la vision complète, on ne peut pas vraiment démarrer rapidement. Ce n’est pas un réel problème, et c’est sans doute lié à une de mes habitudes que de survoler et de récupérer les informations dont j’ai besoin au moment où elles se révèlent nécessaires. Là ce ne sera pas possible.

Dés

Concernant le cœur des règles, c’est très simple. Lorsqu’un test est demandé, le joueur lance 1d12 et ajoute la valeur d’une caractéristique parmi quatre, et 1 réussite supplémentaire s’il dispose d’une compétence appropriée. Si on dépasse ou égale la difficulté, l’action est réussie, sinon elle échoue. Les jets à demander et les résultats en cas de réussite ou d’échec sont systématiquement indiqués dans les scénarios, permettant au maître de jeu débutant d’être guidé et de mieux comprendre cette partie de la maîtrise.

Combat

Les combats sont triviaux et durent généralement deux ou trois tours de jeu au maximum. Les personnages ont deux points de vie, ce qui leur permet d’encaisser un ou deux coups avant de s’effondrer. Il n’y a pas de règle sur la mort, les personnages échouant à un combat étant systématiquement sauvés, mais devant jouer le scenario suivant avec divers malus.

Les personnages

Les quatre personnages proposés sont extrêmement génériques et, à mon humble avis, n’ont pas trop de personnalité. Ce qui est sans doute fait exprès et permet à des débutants de ne pas avoir à s’inquiéter de jouer différemment d’eux-mêmes. Un peu comme les personnages de jeu vidéo qui ne parlent pas et permettent ainsi au joueur de s’immerger et de “s’y croire”.

Pour la joueuse, créer un personnage est simplissime, elle choisit une feuille parmi les quatre, la pose du côté qu’elle le souhaite, homme ou femme et c’est tout pour la première partie. C’est à la seconde partie qu’il faudra choisir un historique parmi deux, ce dernier ajoutant quelques compétences, et ajouter un équipement spécifique unique pré-déterminé.

Les scénarios et l’histoire globale

Il y a 9 scénarios, si on inclue l’introduction, chacun étant prévu pour durer 30 minutes. Ils sont tous décrits de la même façon par un petit paragraphe de synopsis donnant les enjeux du scénario puis trois scènes et enfin un épilogue. Chacun d’entre eux précise exactement les équipements à utiliser, les indices à trouver, les illustrations à montrer, et pour chaque scène ce qu’il y a à dire et les jets de dés à demander. C’est très linéaire, et probablement très adapté à des maîtres de jeu débutants.

L’histoire n’est pas très complexe et pioche allègrement dans les théories du complot et la technologie futuriste.

Le début est principalement constitué de combat, mais après cela varie avec de l’enquête (avec une petite astuce graphique rigolote à un moment, mais chut), du social, de l’exploration puis un gros combat final parce que hein bon. Bref du classique éprouvé mille fois. Cela dit l’ambiance me fait penser à l’ancienne campagne du Réseau Divin parue dans Casus belli de la première époque et qui était déjà proposé dans un format par épisode très court dans le même genre. Je suis sûr que le jeu est parfaitement adaptable à cette campagne.

Pour moi, la fin est trop précipitée et les deux derniers scénarios aurait mérité d’être chacun découpé en deux ou trois pour éviter l’effet tunnel de certains jeux vidéos ou après un certain point, on est embarqué jusqu’à la fin sans possibilité d’en sortir. Et le combat final est posé comme un cheveu dans la soupe. J’aurais voulu que son approche soit un peu différente. Ça m’a un peu fait l’effet des combats de boss de Deus Ex Mankind pour ceux qui ont la ref. Pour les autres, dans un jeu qui fait la part belle au choix dans les approches, lorsqu’un boss arrive, c’est bourrinage sans réflexion, ce qui contraste fortement avec la proposition initiale. Ben là, j’ai trouvé que c’était un peu pareil.

Conclusion

Je trouve que le concept est parfaitement respecté. Les premiers épisodes guident bien le maître de jeu débutant, et les joueuses n’ont de leur côté quasiment rien à faire qu’à se laisser porter. Le système est très simple, mais encore un poil compliqué, surtout dans son écriture. J’aurais bien aimé apprendre les règles en jouant le premier scénario (mais je suis biaisé, c’est ce que j’ai fait pour le scénario d’initiation d’YxY).

Le format est clair, concis, les illustrations sont jolies et immersives. Ne manque que quelques conseils d’ambiances musicales au début de chaque épisode et cela aurait été parfait.

Comme dans une série TV, si l’histoire est simple, le développement final laisse entrevoir une suite intéressante que j’ai hâte de découvrir.

Enfin, le prix de 32 € me parait adapté pour un matériel de qualité et trois ou quatre séances de jeu si on enchaîne les épisodes.

Récupérer les membres d’une liste de distribution Microsoft 365

Dans mon nouveau boulot, en attendant un recrutement spécifique, je me retrouve à faire de l’administration système, notamment sur Microsoft 365. L’outil est extrêmement efficace en entreprise et permet un travail collaboratif très étendu. Cela dit, les outils d’admin sont une plaie absolue, ou rien n’est cohérent. Si pour les utilisateurs, le boulot est fait, en arrière-plan c’est un enfer. Par exemple, il n’y aucune option nulle part pour récupérer simplement les membres d’une liste de distribution. Sauf en powershell…


Installation des outils

  • On ouvre évidemment un terminal Powershell en mode administrateur.
    À chaque fois qu’il demande une validation, vous dites Oui [O] bien sûr, sinon ça marche pas.

Install-Module PowershellGet -Force
Install-Module -Name ExchangeOnlineManagement

  • On active l’exécution des scripts qui n’est pas possible par défaut.

Set-ExecutionPolicy RemoteSigned

  • On importe le module Exchange.

Import-Module ExchangeOnlineManagement

  • Enfin, on se connecte

Connect-ExchangeOnline

Là ça ouvre une page web où vous pouvez mettre votre login et mot de passe.
C’est possible uniquement si vous êtes admin hein.
Si ça marche, vous allez tomber sur ça :

Action

Maintenant c’est tout con :

Get-DistributionGroupMember -Identity « <le nom de la liste » | Select-Object -Property « DisplayName », »PrimarySmtpAddress » | Export-Csv c:\liste.csv

Le GetDistributionGroupMember fait ce qu’il dit, il récupère l’intégralité des membres, avec toutes leurs informations.

Le Select-Objet permet de réduire les champs à uniquement le nom et l’adresse. Faite un test sans cette commande, puis ouvrez le fichier généré pour voir la liste des champs. Y’en a plein.

Enfin, l’Export-Csv balance l’ensemble dans un fichier ouvrable par n’importe quel tableur.

Conclusion

Ce n’est pas très compliqué, mais ce n’est pas pratique. Il doit probablement y avoir des outils qui lancent ces commandes en arrière-plan, des trucs qui ne viennent pas de MS, mais je ne les connais pas. Si vous avez des connaissances dans ce sujet, je serai ravi de les connaitre.

Café-rôliste S02E04 avec Wilhem Horn

Aujourd’hui, nous buvons du thé avec Wilhem Horn, créateur, notamment, de la fiction audio star wars Les Chroniques Galactiques.

Nous parlons évidemment de fictions audio, de ses projets en cours, de métal (la musique), de son rapport au jeu de rôle et à la création et même de dessins animés des années 80.

N’oubliez pas, si vous aimez, n’hésitez pas à partager, et si vous n’aimez pas, n’hésitez pas à partager aussi.


Les liens

Naheulbeuk

Deadlands

Shadowrun

Vampire

François TJP

Mastodon

Clément Viktorovitch

Captain popcorn – Jdr

Mireille Dumas

Noosphere

Geekmag

Gloryhammer

Fear factory

Marylin Manson (Bowling for colombine)

Duke Nukem Forever (Musique Megadeth)

Quake 2 musique Rob Zombie

Okilly Dokilly

BraveStarr

Diffuser un flux vidéo avec OBS vers un serveur RTMP privé pour diffusion sur une TV connectée

Je regarde très peu la télévision, préférant de loin utiliser les services de streaming comme Netflix ou parfois Amazon Prime, ainsi que quelques vidéos de vacances. Lorsque je regarde une émission, j’utilise Molotov qui, dans sa version gratuite, ne permet pas de regarder TF1 ou M6. Ce qui n’est pas un mal de toute façon. Mais hier je voulais regarder une émission sur TF1. Je souhaitais la regarder sur mon grand écran alors je me suis servi de ce prétexte pour monter l’infrastructure que je m’apprête à décrire.


Setup initial

Mon installation initiale comprend les éléments suivants.
Il est possible de mutualiser certaines fonctions.

Hardware

  • Une TV connectée possédant l’application VLC (ou tout autre appli permettant de lire un flux réseau RTMP). J’utilise une Nvidia Shield (un boitier Android TV).
  • Un PC sous Windows pour récupérer le flux de TF1 via Captvty.
  • Un serveur Linux (mon miniPc Mele Quieter qui me sert à tout).

Software

Captvty

C’est un logiciel, uniquement sous Windows même si certains hacks permettent de le lancer sous d’autres systèmes, qui permet de lister l’intégralité des émissions accessibles en replay sur la plupart des chaînes françaises.

Il permet aussi, en faisant un clic droit sur le nom d’une chaîne, de la regarder en direct.

Captvty me servira ici de source de flux vidéo, mais on pourrait utiliser n’importe quoi.

OBS

C’est le logiciel de streaming le plus populaire actuellement. C’est une sorte de banc de montage qui permet de préparer des scènes à diffuser par exemple sur Twitch.tv ou Youtube. On peut récupérer des flux vidéos, des images fixes, des overlays, mixer l’ensemble, ajouter des filtres, bref, c’est très puissant.

Nginx-RTMP

Nginx est un serveur Linux ultra léger, très facile à installer et à configurer, qui peut servir des pages Web, faire reverse proxy et qui dispose dans notre cas d’un module RTMP trivial à configurer.

Je l’ai installé sur mon boitier, mais je suppose qu’on peut aussi faire une machine virtuelle légère (genre un truc sous Alpine), un docker ou même passer par le WSL de Windows. Je n’ai pas encore testé ces solutions.

Mise en place

Nginx-RTMP

Personnellement je suis sous Ubuntu, il faut adapter les commandes d’installation si vous possédez une autre distribution.

Installation

Ouvrir un terminal puis :

  • sudo apt update
  • sudo apt install libnginx-mod-rtmp

Configuration

Toujours dans le terminal

  • sudo nano /etc/nginx/nginx.conf

Ajouter le bloc suivant à la fin du fichier :

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

Quitter (CTRL+X) en sauvegardant (Y).

Relancer le serveur

  • sudo systemctl restart nginx

C’est vraiment la config minimale, il n’y a pas de sécurité, pas de transcodage, le flux est transmis tel quel.

! Attention ! Ayant déjà un serveur web sur ce boitier, il a fallu que je change les ports d’écoute de nginx pour autre chose que le 80 qui était déjà pris. Sinon le service refuse de se lancer.

Captvty

  • Télécharger et décompresser le logiciel quelque part, par exemple sur le bureau.
  • Lancer l’exécutable captvty.exe
  • Faire un clic droit sur la chaîne TV puis Visionner <chaine> en direct

Si tout se passe bien, une fenêtre s’ouvre et diffuse un flux vidéo.

OBS

Installation

  • Installer et décompresser OBS quelque part, par exemple le bureau
  • Lancer l’exécutable obs64.exe

Configuration

  • Dans les sources, ajouter Capture d’une fenêtre et Audio du bureau
  • Dans les paramètres de la capture de fenêtre, sélectionner la fenêtre qui diffuse la chaîne.
  • Enfin, dans les paramètres de Flux d’OBS,
    • choisir Personnalisé
    • Indiquer l’adresse du serveur RTMP
    • Choisir une clé (j’ai mis test)
  • Enfin, lancer le stream

Si OBs ne dit rien, c’est que le flux est diffusé.

Reception

Depuis un ordinateur branché sur le réseau, depuis un téléphone (s’il dispose de VLC), ou directement depuis la TV :

  • Lancer VLC
  • Ouvrir un flux réseau
  • Indiquer l’adresse du serveur RTMP sous la forme
    • rtmp://<adresse ip>/live/test

live, c’est le nom du service RTMP (indiqué dans le fichier de configuration Nginx).
test, c’est la clé de stream indiquée dans OBS.

Si tout s’est bien déroulé, vous devriez voir votre flux apparaître.

Conclusion

Il y a quelques étapes à réaliser, mais l’ensemble n’est pas si compliqué à mettre en place de mon point de vue. OBS étant capable de prendre à peu près n’importe quoi en entrée, rien n’empêche par exemple de diffuser une webcam, un ensemble de caméra de sécurité, des panneaux d’affichage ou un diaporama de photos ou de la publicité par exemple. OBS permet de gérer des scènes, mais aussi des transitions pour passer joliment d’une scène à l’autre. Chaque scène étant indépendante, il est possible de produire du contenu différent pour chacune.

Tout l’intérêt de ce mini-projet a été pour moi de comprendre comment mettre en place le serveur RTMP privé, et si on s’en tient à la base, cela a été très simple. Bien sûr, pour une utilisation en entreprise, ou dans le public, il faudra ajouter des couches de sécurité, mais cela dépasse le cadre de cet article.