Dessiner des diagrammes clairs pour la documentation avec des symboles grâce à ASCII Draw
Chaque fois que vous devez dessiner un petit diagramme d'architecture directement dans le code ou dans un fichier README, la lutte avec les espaces commence. Vous essayez de connecter deux rectangles avec des lignes, d'ajouter une flèche, de corriger une ligne, et toute la mise en page se décale de trois caractères vers la droite. Les éditeurs web comme asciiflow aident parfois, mais déplacer le diagramme dans le navigateur devient rapidement fastidieux.
Récemment, je suis tombé sur le projet ASCII Draw du développeur Nokse22. C'est une application Linux native créée spécifiquement pour dessiner des diagrammes, des tableaux et des graphiques texte en utilisant des pseudographiques.
Pourquoi un développeur devrait dessiner avec des symboles
Les graphiques texte dans la documentation ont un avantage majeur : ils vivent directement dans le dépôt sous forme de texte brut. Pour visualiser un tel diagramme, vous n'avez pas besoin de rendu SVG, d'images externes, ni de support Mermaid par la plateforme d'hébergement. Le diagramme s'ouvre dans n'importe quel terminal, n'importe quel éditeur de texte, et avec git diff vous pouvez immédiatement voir exactement ce qui a changé dans l'architecture.
ASCII Draw fournit un canevas graphique familier où au lieu de pixels, vous travaillez avec une grille de caractères à espacement fixe. Vous dessinez un bloc avec la souris, tracez une ligne, ajoutez une étiquette, et copiez le résultat directement dans le presse-papiers.
Ce que l'application peut faire
Il y a suffisamment d'outils à l'intérieur pour la plupart des tâches d'ingénierie :
- Rectangles et blocs. Plusieurs styles de bordure sont disponibles (lignes simples, lignes doubles, coins arrondis) ainsi que le remplissage avec un caractère sélectionné.
- Lignes et flèches. Vous pouvez dessiner des lignes cartésiennes droites à 90 degrés, des connexions en escalier entre les blocs, et des lignes à main levée.
- Structures en arbre et tableaux. Pour les listings de répertoires ou les structures d'entités, il existe des modèles d'arbres, et un générateur de tableaux aide à aligner proprement les colonnes sans recalculer manuellement les espaces.
- Texte et polices FIGlet. Le texte ordinaire peut être transformé en grands titres décoratifs si vous avez besoin de créer une bannière de démarrage pour un utilitaire en console.
Canevas et ensemble d'outils
Polices et manipulations d'étiquettes
Catalogue des caractères disponibles
Sélection du style de ligne
Enregistrement dans un fichier ou copie dans le presse-papiers
Des éloges séparés vont à la gomme, l'outil de remplissage, et le déplacement pratique de fragments. Si vous devez déplacer un bloc légèrement plus bas, vous sélectionnez simplement la zone avec un cadre et la faites glisser vers la nouvelle position.
Sous le capot
Le projet est écrit en Python 3.8+ en utilisant la pile graphique GTK4 et la bibliothèque Libadwaita. L'application s'intègre parfaitement dans l'environnement GNOME, prend en charge les thèmes système et les raccourcis clavier.
Pour générer du texte stylisé, l'auteur a connecté pyfiglet, et pour un ensemble de caractères étendu, il a utilisé la bibliothèque emoji. Le projet a une licence ouverte — GPL v3.0.
Où cela s'avère utile en pratique
- Mettre en forme les README et les notes d'architecture dans le dépôt.
- Commentaires sur des sections de code complexes (par exemple, un diagramme de machine à états finis ou un format de paquet binaire).
- Prototypage d'interfaces pour des applications TUI.
- Maintenance de notes techniques dans des bases de connaissances en texte brut et markdown.
Comment installer et essayer
Le moyen le plus simple pour les utilisateurs Linux est d'installer la build depuis Flathub :
flatpak install flathub io.github.nokse22.asciidraw
flatpak run io.github.nokse22.asciidraw
Si vous souhaitez compiler le projet depuis les sources ou y apporter des modifications, il suffit de cloner le dépôt :
git clone https://github.com/Nokse22/ascii-draw.git
cd ascii-draw
Après cela, le projet peut être ouvert dans l'environnement GNOME Builder et lancé d'un simple clic.
Si vous travaillez sur Linux et que vous écrivez souvent de la documentation directement dans le code, ASCII Draw mérite d'être gardé sous la main. C'est un outil spécialisé et soigné qui résout une tâche spécifique et fait gagner du temps lors de la mise en page des diagrammes. La principale limitation du projet aujourd'hui est son orientation vers l'écosystème GNOME et Linux, donc les utilisateurs de macOS et Windows devront trouver d'autres options ou exécuter l'utilitaire via la virtualisation.
Projets similaires