Catch-up-TV-and-More / plugin.video.catchuptvandmore

Replay, Live TV and websites videos addon for Kodi
https://catch-up-tv-and-more.github.io
GNU General Public License v2.0
284 stars 89 forks source link

Extraire m3u pour utilisation externe ? #272

Closed krptg closed 4 years ago

krptg commented 4 years ago

Bonjour, et merci pour le travail fourni ! J'utilise emby/plex pour streamer mes médias, et je me demandais s'il était possible d'extraire les m3u de la TV en direct afin de les intégrer dans emby et/ou Plex en utilisant leur système DVR.

Je me permet de poser la question car je vois que les playlists m3u font des appels internes au plugin directement via les protocoles Kodi (plugin://) et n'utilisent pas d'URL type RSTP classiques.

Si vous avez éventuellement une idée pour profiter de ce genre de service sans débourser pour un abonnement IPTV hors de prix (je suis seulement interessé par la TNT). Merci !

wwark commented 4 years ago

Bonjour @krptg, Oui les fichiers M3U proposé ne sont pas classiques. Ils font appel au plugin pour lire les direct TV. Il faut donc installer ce plugin dans un Kodi et ajouter ces fichiers M3U dans le mode TV de Kodi.

Les flux TV pour la plupart change leur URL à chaque appel donc il n'est pas possible d'avoir une liste statique.

Merci, Wwark

krptg commented 4 years ago

@wwark

Merci pour la réponse, ça confirme bien ce que je pensais.

Je clos du coup !

neolao commented 4 years ago

J'aimerai tout de même faire ce que @krptg dit. Je suppose donc qu'il peut être possible de générer régulièrement voire même à la demande un fichier m3u contenant les URLs qui changent souvent ?

wwark commented 4 years ago

Hello @neolao, Comme indiqué dans mon précédent message sur le sujet, les fichiers m3u8 que l'on propose fond appel à des fichiers pythons (code) qui vont ensuite chercher le flux vidéo. Ce fichier m3u8 ne peut pas être utilisé sans le plugin.

On a fait ça pour utiliser la section Live TV de Kodi.

Votre demande impliquerait de dupliquer le code du plugin pour qu'il fonctionne en dehors du plugin et créer des fichiers m3u8. Pour ce point on n'a pas trop le temps mais on peut aider si des personnes veulent le faire.

Merci, Wwark

neolao commented 4 years ago

Hello @wwark ,

Oui bien sûr je me doute que vous n'avez pas le temps.

Je devine qu'il faut à un moment exécuter get_live_url dans un des fichiers channels. Après il y a d'autres informations qui sont récupérés du plugin que je ne connais pas (encore). Python n'est pas un langage que j'utilise, mais au bout d'un moment je devrai m'en sortir (enfin j'espère)

krptg commented 4 years ago

Hello, @wwark , totalement okay pour avoir des pistes sur la partie de code du plugin qui se charge de récupérer les flux et les transformer, python c'est dans mes cordes !

Merci à vous tous,

gnouts commented 3 years ago

Bonjour, Y a-t-il du changement sur cette issue depuis la refonte de la v0.2.30 ?

sy6sy2 commented 3 years ago

Hello ! J'étais passé à coté de cette issue.

Avec un petit peu de tuning devrait y avoir moyen d'extraire sans trop de difficulté la liste de correspondance Chaine TV <--> URL du stream en direct. Je vais essayer cette semaine de faire si j'ai 3 minutes.

Par contre, et @wwark devrait en savoir plus que moi, je pense que pour certaines chaines le lien du stream vidéo est dépendant d'un Token qui est limité dans le temps. Je n'en suis pas certain mais il y a donc fort à parier que les liens extraits fonctionnent seulement durant un court instant...

Edit : Beaucoup de chaines sont protégées par DRM, donc déjà pour celles là sans Kodi ça va être difficile de les lire 😕

gnouts commented 3 years ago

Je suis surtout intéressé par francetv qui n'a pas de DRM, je crois. Et si on fournit un compte/token, pour tf1 et M6 c'est ok, non ?

Est-ce tu as des pistes globale à me donner pour que je cherche de mon côté ? De ce que j'ai pu voir, le fichier resources/lib/resolver_proxy.py est plutôt intéressant mais ça m'a l'air tellement lié à Kodi (profile et framework) que je ne sais pas quoi faire :/

sy6sy2 commented 3 years ago

Pour TF1 je ne sais plus mais pour M6 c'est sûr que c'est du DRM donc à voir avec Plex s'il gère ça ?

En effet tout est plus ou moins lié avec Kodi, le plugin n'a pas été pensé pour être exécuté hors de Kodi. Cependant, il est possible de faire tourner le plugin "en mode dégradé" à l'aide du simulateur de Kodi en Python que j'avais codé il y a un petit moment (voir ici https://github.com/Catch-up-TV-and-More/catchuptvandmore-test).

Voici justement ce que je viens d'extraire avec ce script (je n'ai testé aucun lien sauf France 2 qui fonctionne à l'heure actuelle) :

* Playable URL of France 2: https://simulcast.ftven.fr/ZXhwPTE2MTg5MjA3NDR+YWNsPSUyZip+aG1hYz0yOGY3YzA4YzNmOTBiYWE5Yzg2YTM0MzE2YjRkYjdkYmY1NDUxOWQzYzQ5ZDc1OGVmZTcxMWNlNWEwMDlkOTAw/simulcast/France_2/hls_fr2/index.m3u8?hdnea=exp=1618899744~acl=%2f*~hmac=d6a662f4b481c6ef1712974be96b30a3051a0fa2bffc9b80a5a6cf540819f3fa|User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14
* Playable URL of France 3: https://simulcast.ftven.fr/ZXhwPTE2MTg5MjA3NDR+YWNsPSUyZip+aG1hYz0yOGY3YzA4YzNmOTBiYWE5Yzg2YTM0MzE2YjRkYjdkYmY1NDUxOWQzYzQ5ZDc1OGVmZTcxMWNlNWEwMDlkOTAw/simulcast/France_3/hls_fr3/index.m3u8?hdnea=exp=1618899744~acl=%2f*~hmac=d6a662f4b481c6ef1712974be96b30a3051a0fa2bffc9b80a5a6cf540819f3fa|User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14
* Playable URL of France 5: https://simulcast.ftven.fr/ZXhwPTE2MTg5MjA3NDV+YWNsPSUyZip+aG1hYz0wNTlmYmUzYjM3NDczYmNkMmM1ZGQ1NGIyNGNlYWY5MGI1ODBlNDMyZjE0Yjg5YmYwNDhkMDFhODI3NzU1ZDI4/simulcast/France_5/hls_fr5/index.m3u8?hdnea=exp=1618899745~acl=%2f*~hmac=7420a096bc997376c561350cff37e8ac0d6852d0a090ae1173b2cf2a6a70ec34|User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
* Playable URL of M6: 
* Playable URL of W9: 
* Playable URL of NRJ 12: https://nrj12hls-lh.akamaihd.net/i/nrj12hls_1@579113/master.m3u8?end_time=20210420091226&token=0c06aec8aa6a4379f3755
* Playable URL of France 4: https://simulcast.ftven.fr/ZXhwPTE2MTg5MjA3NDd+YWNsPSUyZip+aG1hYz1mYzIxMGYzMDk4ZDVmNDUwMjI1MTU3NzUzMTMyNzQ1NTA4NmMyZjRkNDBjYTI3MjFlMzNmMDk1ZDg1MzJjYTVk/simulcast/France_4/hls_fr4/index.m3u8?hdnea=exp=1618899747~acl=%2f*~hmac=2a2de7431e4103e92bed9275fa34b4bc481dc45cc3d6d4ed7ab1bd191fccd479|User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A
* Playable URL of Gulli: 
* Playable URL of 6ter: 
* Playable URL of RMC Story: https://rmcstory-lh.akamaihd.net/i/RMCSTORY_ESYTLS@694745/master.m3u8?__nn__=5773103242001&hdnea=st=1618898400~exp=1618902000~acl=/i/*~hmac=7d5b786fd04e23f9d067743296731a08db6c8fa124892e8317a37f6898430f2a
* Playable URL of Chérie 25: https://cherie25hls-lh.akamaihd.net/i/cherie25hls_1@579096/master.m3u8?end_time=20210420091229&token=0943ff1238c856127d447
* Playable URL of La 1ère (Nouvelle Calédonie): http://live.francetv.fr/simulcast/1er_Nouvelle_Caledonie/hls_monde/ZXhwPTE2MTg5MjA3NTB+YWNsPSUyZnNpbXVsY2FzdCUyZjFlcl9Ob3V2ZWxsZV9DYWxlZG9uaWUlMmZobHNfbW9uZGUqfmhtYWM9MjlhNTNlODhmNTdlZjJkMzJiYzBkNWExNTAyNmQ2MDhmMWE4NzI5ZTBjOTEwODA4ZmQ2ZDBjZTIwMGMwOWI3MA==/index.m3u8?hdnea=exp=1618899750~acl=%2fsimulcast%2f1er_Nouvelle_Caledonie%2fhls_monde*~hmac=c9be30386d57dc28806587420f986ee5be1b24f01db2b0851bf3c59e7f500fdf|User-Agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
* Playable URL of France Info: http://live.francetv.fr/simulcast/France_Info/hls_monde/ZXhwPTE2MTg5MjA3NTF+YWNsPSUyZnNpbXVsY2FzdCUyZkZyYW5jZV9JbmZvJTJmaGxzX21vbmRlKn5obWFjPWNmYTdjMzI1Zjg4ODg3N2M4MDgyNjUwNzUyNGJmYjkzYjdiYmFlNmMxZmI3MmY5NDYwZjkwNGEyOGRjZTI1Yzk=/index.m3u8?hdnea=exp=1618899751~acl=%2fsimulcast%2fFrance_Info%2fhls_monde*~hmac=0e5ad69c09c9f65f7e6ed11370a500fbc8fc085d7eab40cba9b8b4b5ca23a24a|User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
* Playable URL of BFM Business: https://bfmbusinesshds-lh.akamaihd.net/i/BFMBUSINESS_ESYTLS@664128/master.m3u8
* Playable URL of RMC Découverte: https://nextmediahdslive-lh.akamaihd.net/i/RMCDECOUVERTE_ESYTLS@300868/master.m3u8?__nn__=5375862360001&hdnea=st=1618898400~exp=1618902000~acl=/i/*~hmac=7d5b786fd04e23f9d067743296731a08db6c8fa124892e8317a37f6898430f2a
* Playable URL of France 3 Régions (Rhône-Alpes): https://ftvenregions6-i.akamaihd.net/hls/live/1021167-b/F3_RhonesAlpes/index.m3u8?hdnea=exp=1618899754~acl=%2fhls%2flive%2f1021167-b%2fF3_RhonesAlpes*~hmac=f1114e41ba0a219c911679a175e06c42f0a5c661f3a5b5353cd25859b02b1b90|User-Agent=Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16
* Playable URL of Gong: http://51.254.215.79/appflux/gong/playlist.m3u8
* Playable URL of BFM Paris: https://bfmparishdslive-lh.akamaihd.net/i/BFMPARIS_ESYTLS@429747/master.m3u8?__nn__=5808952987001&hdnea=st=1618898400~exp=1618902000~acl=/i/*~hmac=69af89a972f46b177d010bd2ff930a10e86beebf67ceceeb1cbb97ae628d0085
* Playable URL of Fun Radio: 
* Playable URL of KTO: https://livehdkto-lh.akamaihd.net/i/LiveStream_1@178944/master.m3u8
* Playable URL of Antenne Réunion: http://41.213.128.196/ANT-REUNION2-HLS/ANT-REUNION2-HLS.m3u8?localization=ZEOP01
* Playable URL of viàOccitanie: https://streamer01.myvideoplace.tv/streamer02/hls/MDS_VIA_PAD_301117.m3u8
* Playable URL of RTL 2: 
* Playable URL of viàATV: https://streamer01.myvideoplace.tv/streamer02/hls/ATV_DIRECT_EV_111018.m3u8
* Playable URL of Tébéo: https://edge-live-ger1.ovstream.com/hls/11/index.m3u8?token=live_11_f42984b2b563f0b0e98452c3b86ad90e
* Playable URL of viàMoselle: https://live.creacast.com/mirabelletv/smil:mirabelletv.smil/playlist.m3u8
* Playable URL of IDF 1: https://dcunilive1-lh.akamaihd.net/i/dclive_1@103544/master.m3u8?hdnea=st=1618899166~exp=1618899566~acl=/i/dclive_1@103544*~hmac=3ba5a2af11d4593add0a4de6eee01131f94e17c6dbcea145b6369e886137b2c2
* Playable URL of BIP TV: https://biptv.tv/live/biptvstream_orig/index.m3u8
* Playable URL of BFM Lille: https://live.creacast.com/grandlilletv/smil:grandlilletv.smil/playlist.m3u8
* Playable URL of BFM Littoral: https://live.creacast.com/grandlittoral/smil:grandlittoral.smil/playlist.m3u8
* Playable URL of TébéSud: https://edge-live-ger1.ovstream.com/hls/10/index.m3u8?token=live_10_b332a59000934645ce1ea783a932ee78
* Playable URL of BFM Lyon: https://bfmlyon-lh.akamaihd.net/i/BFMLYON_ESYTLS@797041/master.m3u8
* Playable URL of TVR: https://streamtv.cdn.dvmr.fr/TVR/ngrp:tvr.stream_all/master.m3u8
* Playable URL of viàMaTélé: https://streamer01.myvideoplace.tv/streamer02/hls/MATL_VLOC_PAD_100919.m3u8
* Playable URL of Equidia: https://equidia-live2-p7-cdn.hexaglobe.net/6fd9302bdba6e803068870b2ec9b7d54/607e70f0/equidia/equidia-mobileapp-ios-1/eqdlivepri_fre.smil/playlist.m3u8
* Playable URL of Culturebox: https://simulcast.ftven.fr/ZXhwPTE2MTg5MjA3ODV+YWNsPSUyZip+aG1hYz1kZmE0MzEyZTNiNTM0MTM0ODVmM2I2NzkxMDE2NTA5NzlmYTc3ODBiMDUyZDA3OTYzNTM3OTliZmU5OWM2ODFj/simulcast/cultureboxtv/hls_monde_cultureboxtv/index.m3u8?hdnea=exp=1618899785~acl=%2f*~hmac=1d31e9125204d5b9341d6cc984c6a210b01611befbe86125ea9db6c7165f9950|User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
* Playable URL of Equidia Racing Trot: https://equidia-racingtrot-p9-cdn.hexaglobe.net/6a5b15b9ec78403ecbba8cdaaed9e339/607e70f1/equidia/equidia-mobileapp-ios-1/eqdracingtrot_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing Mag: https://equidia-racingmag-p9-cdn.hexaglobe.net/f065433e28904c0704a65a5e9e71e2cc/607e70f1/equidia/equidia-mobileapp-ios-1/eqdracingmagbkp_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing Galop: https://equidia-racinggalop-p2-cdn.hexaglobe.net/61b742bc32e77a67ac962cccf155bef8/607e70f2/equidia/equidia-mobileapp-ios-1/eqdracinggalop_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 1: https://equidia-racing1-p7-cdn.hexaglobe.net/a763670540128c0ae142190e15c8d20b/607e70f2/equidia/equidia-mobileapp-ios-1/eqdracing1pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 2: https://equidia-racing2-p2-cdn.hexaglobe.net/c4218ddf2c0e4a5d69124ab6a5ddbafb/607e70f2/equidia/equidia-mobileapp-ios-1/eqdracing2pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 3: https://equidia-racing3-p7-cdn.hexaglobe.net/012fcb7f2209928d30c54d07a71856dd/607e70f2/equidia/equidia-mobileapp-ios-1/eqdracing3pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 4: https://equidia-racing4-p9-cdn.hexaglobe.net/68ef57a0d9b540be95851cc8a26ea369/607e70f3/equidia/equidia-mobileapp-ios-1/eqdracing4pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 5: https://equidia-racing5-p9-cdn.hexaglobe.net/a2e9342f0d8391a713026c5a97adc803/607e70f3/equidia/equidia-mobileapp-ios-1/eqdracing5pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 6: https://equidia-racing6-p9-cdn.hexaglobe.net/c1b4d58c6e5fd608bb926ebf7059e757/607e70f3/equidia/equidia-mobileapp-ios-1/eqdracing6pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 7: https://equidia-racing7-p7-cdn.hexaglobe.net/41035086f1d9387e62952143780b32f2/607e70f3/equidia/equidia-mobileapp-ios-1/eqdracing7pri_fre.smil/playlist.m3u8
* Playable URL of Equidia Racing 8: https://equidia-racing8-p-cdn.hexaglobe.net/a09e5a592def4d62deb28914a99deb37/607e70f3/equidia/equidia-mobileapp-ios-1/eqdracing8pri_fre.smil/playlist.m3u8
gnouts commented 3 years ago

C'est trop bien ce que tu as fait :D

Je récupère juste les url dans les logs, une par une en naviguant à la main, y'a surement mieux à faire mais c'est déjà cool ^^ Par contre, aucune url ne fonctionne. Tu utilises les liens jusqu'à index.m3u8 ? tu inclus les |User-Agent ?

Dans mon navigateur, avec le user-agent j'ai un 403, ce qui me parait pas déconnant. Sans, ça me télécharge le fichier m3u8 mais ensuite impossible de le lire dans VLC ou Jellyfin. ça ne charge même pas et ça ne ressemble pas à un fichier m3u lisible, y'a aucune url.

#EXTM3U
#EXT-X-VERSION:5
#EXT-X-MEDIA:TYPE=AUDIO,URI="France_2-mp4a_98400_fra=20000.m3u8",GROUP-ID="audio-AACL-98",LANGUAGE="fr",NAME="Francais",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2"
#EXT-X-MEDIA:TYPE=AUDIO,URI="France_2-mp4a_98400_qaa=20002.m3u8",GROUP-ID="audio-AACL-98",LANGUAGE="qaa",NAME="Version Originale",AUTOSELECT=YES,CHANNELS="2"
#EXT-X-MEDIA:TYPE=AUDIO,URI="France_2-mp4a_98400_qad=20001.m3u8",GROUP-ID="audio-AACL-98",LANGUAGE="qad",NAME="Audio Description",AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video",CHANNELS="2"
#EXT-X-MEDIA:TYPE=SUBTITLES,URI="France_2-dfxp_10000_fra_CAPT=30001.m3u8",GROUP-ID="text",LANGUAGE="fr",NAME="Français",DEFAULT=YES,AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-music-and-sound"
#EXT-X-STREAM-INF:BANDWIDTH=257910,AVERAGE-BANDWIDTH=234463,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=256x144,FRAME-RATE=25.000,AUDIO="audio-AACL-98",SUBTITLES="text"
France_2-avc1_118000=10000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=586721,AVERAGE-BANDWIDTH=533383,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=384x216,FRAME-RATE=25.000,AUDIO="audio-AACL-98",SUBTITLES="text"
France_2-avc1_400000=10001.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1228022,AVERAGE-BANDWIDTH=1116383,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=25.000,AUDIO="audio-AACL-98",SUBTITLES="text"
France_2-avc1_950000=10002.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1752721,AVERAGE-BANDWIDTH=1593383,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=960x540,FRAME-RATE=25.000,AUDIO="audio-AACL-98",SUBTITLES="text"
France_2-avc1_1400000=10003.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3151921,AVERAGE-BANDWIDTH=2865383,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=25.000,AUDIO="audio-AACL-98",SUBTITLES="text"
France_2-avc1_2600000=10004.m3u8

J'ai aussi tenté de réécrire un fichier m3u avec les urls récupérées... pas mieux.

#EXTM3U
#EXTINF:-1, TF3
https://simulcast.ftven.fr/ZXhwPTE2MTg5NjIwNDd+YWNsPSUyZip+aG1hYz1mNTI0NzViOTIwN2M1ZTZkNWJhMDYyODg2NTIyYTA5MmEwYzkzZjJhMjk4MTAzZDE0MjExYzQ0YmNjNGU2YjQ1/simulcast/France_2/hls_fr2/index.m3u8?hdnea=exp=1618941047~acl=%2f*~hmac=6aa469bde0fc996bd979f25011e61fea46c98ba31ee2f691bc669d5abd4697a6
sy6sy2 commented 3 years ago

Tu peux créer un fichier de config afin de faire de l'auto-exploration et ne pas avoir à le faire à la main. Je viens de push le fichier de config que j'ai utilisé pour faire le parcours automatique de Live TV FR. Il faut cloner le dépôt catchuptvandmore-test ainsi que plugin.video.catchuptvandmore dans le même dossier et après faire ./main.py -c configs/8_live_tv_fr_urls.json pour obtenir toutes les URL.

Pour catchuptvandmore-test ça fait un moment que je n'ai bossé dessus, il doit y avoir pleins de trucs qui ne marchent plus ... Et en plus c'est pas hyper documenté si je me souviens bien 😕

Chez. moi France 2 fonctionne avec IINA sous macOS, je n'ai pas essayé sur VLC. Je m'arrête avant le pipe du User-Agent.

lesensei commented 6 months ago

Désolé de "réveiller" un vieux sujet... je souhaite essayer de récupérer des URL m3u8 me permettant de lire les flux France TV (notamment) dans VLC (ou jellyfin, aussi, par exemple). J'ai l'impression que depuis le temps le "simulateur" kodi de @sy6sy2 n'est effectivement plus fonctionnel:

  File "/plugin.video.catchuptvandmore/resources/lib/kodi_utils.py", line 152, in get_setting
    request = xbmc.executeJSONRPC(json.dumps(params))
              ^^^^^^^^^^^^^^^^^^^
AttributeError: module 'kodi_six.xbmc' has no attribute 'executeJSONRPC'

Y aurait-il à tout hasard une autre méthode pour actionner le code du plugin et obtenir en sortie des URLs utilisables ?

darodi commented 6 months ago

@lesensei

Le "simulateur" dont tu parles est le projet catchuptvandmore-test. Je l'utilise toujours pour le dev/debug et il fonctionne pour tester. Je viens de push une PR avec la mise à jour des libs

Bon amusement

lesensei commented 6 months ago

Merci @darodi !