CesseZeApp

CesseZeApp est une application utilitaire de streaming que j’ai créée pour la streameuse CesseZeSlug. Elle permet de concevoir, gérer et connecter des widgets, à la fois à Twitch et au Stream Deck. Ces widgets sont affichés dans des fenêtres distinctes afin d’être intégrés facilement à OBS.

L’application est développée avec le moteur de jeu Godot, que j’ai choisi pour me familiariser davantage avec cet outil. Cela ouvre également la possibilité d’ajouter des widgets en 3D à l’avenir. Deux versions de l’application existent déjà : une écrite en GDScript et l’autre en C#, ce qui m’a permis de comparer les avantages et contraintes de ces deux approches.

Structure de l’application

L’application est divisée en trois grandes parties :

1. Les singletons et méthodes statiques

Ces éléments assurent la gestion :

  • des variables d’environnement,
  • des logs,
  • des sauvegardes d’état,
  • et des configurations globales.

2. Les modules fonctionnels

Chaque module a une responsabilité spécifique pour le bon fonctionnement de l’application :

  • Le module Bot : établit la connexion entre Twitch et le module Commande. Il gère l’authentification via OAuth 2.0 en utilisant le Device Grant Flow.
  • Le module Commande : permet à chaque widget d’avoir son propre ensemble de commandes. Ces commandes sont ensuite transmises au module Server ou au module Bot pour être exécutées.
  • Le module Server : un serveur web local maison qui écoute uniquement des requêtes internes. Il facilite l’intégration avec le Stream Deck en associant chaque route à une commande, permettant de modifier les widgets concernés.
  • Le module Widget : le cœur du fonctionnement des widgets, lui-même subdivisé en sous-modules pour interagir efficacement avec les autres modules.
  • Le module Window : gère les multiples fenêtres nécessaires pour afficher les widgets.

3. L’interface utilisateur et les widgets

  • L’interface utilisateur (UI) : prend en charge l’affichage et l’interaction avec l’utilisateur.
  • Les widgets : c’est ici que sont créés et configurés les différents widgets de l’application.

Une approche pensée comme un framework

Mon objectif principal était de concevoir CesseZeApp comme un framework modulable, où l’ajout de widgets est simplifié au maximum. Grâce à une documentation technique claire, j’ai veillé à ce que n’importe quel développeur, quel que soit son niveau, puisse créer et intégrer de nouveaux widgets sans difficulté majeure.

La suite arrive bientôt.