Friendship Ended With Excalidraw, Drawy Is My New Best Friend
Cette vidéo présente Drawy, une application open-source de tableau blanc infini, initialement un projet personnel en C++/Qt, désormais intégrée à KDE, qui offre une alternative performante et native à l’outil web Excalidraw.

SYNTHÈSE STRUCTURÉE
Origine et évolution de Drawy
Drawy est né comme un projet personnel d’un étudiant, inspiré par Excalidraw mais avec une approche native (C++ et Qt). L’auteur explique : « I had also been a KD user for a long time… it felt natural for me to get more involved with KDE ». Après avoir gagné 800 étoiles GitHub en un mois, le projet a rejoint KDE, ce qui a permis de bénéficier de l’infrastructure mature de la communauté (gestion des paquets, internationalisation, frameworks). Un contributeur senior, Lawrence Montel, a notamment ajouté la personnalisation des raccourcis, l’alignement des éléments et un système de plugins.
Interface et thèmes
L’application respecte le thème système sous KDE, mais propose aussi un sélecteur de schéma de couleurs intégré. L’intervenant apprécie cette fonctionnalité : « I do kind of wish that every KD application had this. It makes my life considerably easier ». Les outils sont disposés en haut de l’écran, avec des raccourcis clavier configurables via le menu Configure keyboard shortcuts.
Outils de dessin et sélection
- Outil plume (P ou B) : permet de tracer des traits libres. Chaque trait est un objet indépendant, ce qui facilite la suppression sélective.
- Outil de sélection (S) : les poignées de redimensionnement et de rotation apparaissent autour des objets sélectionnés. L’intervenant note que le redimensionnement ne conserve pas le ratio d’aspect, ce qui pourrait être un bug.
- Gestion des groupes : maintenir
Shiftpour sélectionner plusieurs objets, puis les grouper via l’icône dédiée. La fonction ungroup est également disponible.
Annulation et historique
Le raccourci Ctrl+Z annule les actions, mais l’intervenant soulève un problème : « deselecting an object is counted as an action… I don’t know why selection is considered something to undo ». Cela peut empêcher de revenir à un état antérieur après une simple désélection.
Personnalisation des objets
Les propriétés des objets (couleur, épaisseur de trait, style de ligne) sont modifiables après coup. La couleur peut être choisie via un sélecteur personnalisé, mais l’intervenant regrette qu’il ne soit pas intégré à l’interface principale : « it feels like something external to the main tool ». L’épaisseur maximale est limitée à 10, ce qui semble arbitraire.
Navigation et zoom
- Outil de déplacement (M) : permet de parcourir le tableau infini. L’intervenant prévient : « you can go really far out and put yourself in a situation where you’re probably never going to find where you originally started ».
- Zoom :
Ctrl+MoinsetCtrl+Plus(ouCtrl+=). Le zoom minimum est de 10 %, ce qui est jugé insuffisant.Ctrl+0réinitialise la vue. - Absence de mini-carte : l’intervenant suggère d’ajouter une mini-carte ou un système d’ancres pour faciliter la navigation.
Outils de formes
- Rectangle (R) : conserve les réglages précédents (couleur, épaisseur, style de fond). Le fond peut être uni, diagonale ou personnalisé.
- Diamant (D) et Ellipse (O) : mêmes options. Le raccourci
Opour ellipse est justifié : « O, because O’s are circle. It makes sense if you think about it for like a couple of seconds ». - Triangle et autre forme : accessibles via un menu déroulant, mais l’intervenant signale un bug : « you can’t select the other tool there without restarting the application ». Il recommande de fusionner ces outils ou de les exposer directement dans la barre d’outils.
Flèches et lignes
- Outil flèche (A) : permet de configurer les têtes de flèche (une, deux, ou aucune). L’intervenant note que l’outil ligne (L) est redondant : « if we go to the arrow tool and we disable the head on either side, it’s now a line ».
- Outil ligne (L) : trace une ligne simple sans tête de flèche.
Texte et images
- Texte (T) : permet d’ajouter du texte, mais sans sélecteur de police. L’intervenant juge cela acceptable : « It is here to get your ideas out. So, it’s fine ».
- Image (I) : importe une image via un sélecteur de fichiers. L’intervenant critique l’UX : « if you click again, it’s going to reopen the file manager and you can import another image ». Il suggère de quitter automatiquement le mode d’import après la première sélection.
Performances et philosophie
L’application est rapide et légère grâce à son implémentation native. L’intervenant la compare à Excalidraw : « if you just want the core functionality of Excal, you have everything you want here, but it’s not a web application. It’s C++, it’s cute, it’s really fast ». Le projet a rejoint KDE pour mutualiser les efforts de maintenance et bénéficier de l’expertise de contributeurs expérimentés.
CONCEPTS CLÉS
- Tableau blanc infini : espace de dessin sans limites, où l’on peut ajouter des éléments librement et naviguer par défilement/zoom.
- Qt et KDE Frameworks : bibliothèques C++ multiplateformes utilisées pour l’interface graphique et les fonctionnalités système (gestion des thèmes, raccourcis, internationalisation).
- I18N : abréviation pour internationalization (18 lettres entre I et N). L’intervenant commente : « It’s stupid. I hate it », soulignant la complexité de ce processus pour un développeur solo.
CONCLUSION
Drawy est une alternative native et performante à Excalidraw, idéale pour les utilisateurs KDE ou ceux qui préfèrent les applications de bureau aux outils web. Malgré quelques défauts UX (gestion de l’historique, sélecteur de formes, import d’images), l’application offre l’essentiel pour la prise de notes visuelles et les présentations. Son intégration à KDE garantit une maintenance durable et des améliorations continues. L’intervenant conclut : « I think it was a really good decision for Dory to become part of KDE because I could not have done it alone ».