Salut tout le monde !
Me voici de retour pour vous présenter ma dernière création : Draw On Stream (DOS )
Sans plus attendre et avant que j’oublie, voici le lien du projet sur Github : https://github.com/Eskimon/draw-on-stream-telestrator/
Alors, qu’est ce donc que c’est Draw On Stream ?
Vous le savez peut-être, j’ai commencé récemment des lives Twitch pour présenter le tuto Arduino sous une autre forme.
Un de mes besoins lorsque je présente en live est de pouvoir faire des dessins, comme si j’avais un tableau blanc pour expliquer graphiquement mes propos. Il existe déjà des solutions comme Epic Pen ou autre, mais aucune solution ne met à disposition une fenêtre semi-opaque à disposition pour dessiner et toutes obligent à capturer l’intégralité de l’écran sans distinction de fenêtre. Hors moi, quand je stream, je veux montrer certains contenus mais pas mon bureau mal rangé.
Du coup j’ai fait ce que toute personne sensé aurait fait à ma place : J’ai codé mon propre outil .
Ce dernier devait proposer au minimum les fonctions suivantes :
- Fournir une fenêtre semi-opaque qui peut-être capturée par le logiciel de streaming (OBS Studio en l’occurrence) ;
- Ne doit pas peser des centaines de Méga pour 3 fonctions de dessins ;
- Doit avoir des raccourcis pour ne pas avoir à promener sa souris dans tout les sens pendant le dessin ;
- Doit-être gratuit ou pas cher (facile si c’est moi qui le code !).
S’en est suivi quelques jours de développement qui ont accouché de "Draw On Stream" !
Un logiciel "standalone", codé en Python vanilla avec tkinter
pour interface graphique.
L’outil propose les fonctions suivantes :
- Dessin à main levé ;
- Dessin de ligne droite ;
- Des colors-pickers avec des presets de couleurs ;
- De la saisie de texte ;
- Un changement de taille "d’outil" ;
- Des formes de bases (ovale et rectangles) avec remplissage ou non ;
- Et un fond de fenêtre à transparence réglable pour pouvoir voir ce sur quoi on dessine !
Il y a aussi quelques raccourcis clavier pour changer d’outils ou régler la taille/transparence simplement.
Tout est redis dans le README du dépôt : https://github.com/Eskimon/draw-on-stream-telestrator/
Bref, c’est un projet tout con, mais qui m’aura appris plusieurs choses :
- Le mot "Telestrator" ;
- Faire des UI avec tkinter (inclus de base dans python 3) ;
- Générer des
.exe
pour Windows, notamment via un système de Continuous Integration.
Idéalement j’aurais voulu faire un système de plugins pour ajouter des features (j’aimerais par exemple facilement pouvoir ajouter des symboles électroniques etc) mais pour le moment c’est un peu overkill par rapport à mes besoins alors je laisse de côté
Et voilà !