En production
07/10/2025
R Python (Nextcord/Discord.py)
XML (Parsing via XMLTV)
Proxmox
Matthieu FARANDJIS
Le projet ANTIOPE est né de la volonté de simplifier l'accès au programme télévisé quotidien directement depuis Discord. Le nom est un hommage au standard français de télétexte utilisé à l'époque de l'analogique pour diffuser des informations, dont le programme TV, sur l'écran des téléspectateurs.
Je trouve que la télévision est un moyen formidable ! Du contenu varié, des moments en famille, des films cultes ou encore récents, et le tout gratuitement !
Je n'ai pas l'habitude de lire les programmes TV... Alors j'ignore ce qu'il se passe, et j'apprends souvent ce qui est ou sera diffusé via Twitter.
C'est pour cela que j'ai créé ce bot : je profite de mon utilisation quotidienne et naturelle de Discord pour me faciliter l'accès au programme TV.
Dans l'idéal, le bot pourrait même me prévenir de la diffusion de programmes en particulier, en temps réel, et repérer les futurs programmes qui pourraient m'intéresser.
Le bot est développé en Python. Il récupère chaque jour les données des chaînes de la TNT via un fichier XML disponible librement en ligne (source : xmltvfr.fr). L'algorithme analyse ce fichier pour extraire les programmes de la soirée (prime-time) et les met en forme avec les logos des chaînes respectives sous forme d'emotes Discord.
L'un des principaux défis a été la gestion de la pertinence des programmes affichés. Il a fallu arbitrer entre la durée des programmes (ex: épisodes courts comme Malcolm vs films) pour éviter de surcharger le canal tout en restant exhaustif.
Côté déploiement, le bot est hébergé sur un serveur Linux via des conteneurs Proxmox (LXC), nécessitant une configuration rigoureuse (requirements.txt, gestion des fuseaux horaires via timedatectl).
Une v2 est déjà envisagée avec l'intégration d'une base de données. Celle-ci permettrait un système d'abonnement personnalisé : les utilisateurs pourraient s'abonner à des mots-clés ou des programmes spécifiques pour recevoir une notification dès leur diffusion en message privé.
Cet article a été coécrit avec l'aide de Gemini à partir de présentations du projet déjà faites (sur LinkedIn, en message privé à des amis...).
J'ai relu attentivement et adapté ce qu'a généré Gemini. Certains passages sont écrits directement par moi.
Gemini m'a permis de gagner du temps.