FOSSFLOW : des schémas d’infrastructure isométriques, auto-hébergés
⏱️ Temps de lecture estimé : 4 minutes
https://github.com/victortassinari/FossFLOW/
📌 FOSSFLOW est un éditeur de diagrammes open source qui dessine votre infrastructure en vue isométrique, directement dans le navigateur, et que vous pouvez déployer chez vous en une commande Docker.
Le geste de base est simple. Une bibliothèque d’icônes s’ouvre à gauche, vous en déposez une sur la grille, vous la reliez à une autre avec l’outil de connexion, et la grille isométrique fait l’alignement à votre place. Vous n’avez pas à aligner quoi que ce soit : les volumes se posent sur les cases, les liens se routent tout seuls entre les deux. C’est l’argument que je trouve réellement convaincant, avant toute question de licence ou de conteneur.
La palette tient en cinq entrées : sélectionner, déplacer, ajouter une icône, dessiner un rectangle, poser une zone de texte. Le raccourcisseur bascule entre trois profils de disposition — QWERTY, SMNRCT ou aucun — et le panoramique accepte le glisser sur le vide, le clic du milieu, Ctrl ou Alt, les flèches ou IJKL. L’annulation est en Ctrl+Z / Ctrl+Y, portée par un système de transactions qui regroupe une opération et sa conséquence dans un seul pas. L’export part en JSON pour le fichier, en PNG pour le partage.
- 📐 Grille isométrique qui aligne les volumes et route les liens sans que vous les touchiez
- 🖼️ Vos propres icônes en PNG, JPG ou SVG, mises à l’échelle et mémorisées avec le diagramme
- 💾 Sauvegarde automatique toutes les 5 secondes, session rapide ou export JSON
- 📴 Hors ligne une fois installée, en application native sur Mac et Linux
- 🐳 Image Docker multi-arch qui garde les schémas dans un dossier de votre disque
Le choix d’où l’exécuter change la donne. En PWA, tout reste dans le navigateur, l’app s’installe, elle fonctionne sans réseau, et rien ne part ailleurs. En Docker, le stockage serveur s’active par défaut : les diagrammes atterrissent dans un dossier ./diagrams monté sur votre machine, accessibles depuis un autre appareil, et l’interface le détecte et l’affiche. ENABLE_SERVER_STORAGE=false le coupe si vous préférez rester côté client, ENABLE_GIT_BACKUP peut versionner les modifications. L’image est publiée pour amd64 et arm64, et les 177 tags du compte Docker Hub montrent que le build continue.
Les icônes, c’est la partie qui rend l’outil personnel. La bibliothèque de base vient de @isoflow/isopacks, des packs pour services cloud et matériel réseau, sous licence variable selon les packs. Mais vous pouvez importer vos propres fichiers, et c’est ce geste qui change tout : vos serveurs prennent l’apparence de vos propres boîtes, à vos couleurs. Elles sont mises à l’échelle automatiquement, vous choisissez de les afficher en 3D isométrique ou en 2D plat, et elles voyagent avec le diagramme.
Un mot sur la filiation, parce qu’elle n’est pas évidente quand on arrive sur la page. GitHub indique que ce dépôt est un fork, et son parent est leonj1/OpenFLOW — lui-même issu d’Isoflow, dont on reconnaît le nom dans la description du composant React publié sur npm. Le README renvoie encore vers un dépôt canonique et une démo en ligne sous le compte stan-smith, et ces deux liens ne répondent plus. Le code, lui, est resté propre : MIT, 13 contributeurs, 588 commits. Ce n’est pas un logiciel abandonné, c’est un logiciel dont la porte d’entrée a bougé.
Ma réserve ne porte pas sur le rendu, qui est toute la raison d’être du projet. Elle porte sur ce que l’outil ne promet pas. Un diagramme isométrique reste une image : rien n’est synchronisé avec votre cluster, aucune lecture du trafic réel, aucun état qui dérive. Son propre TODO admet que la connexion demande un clic droit, que l’ajout d’un élément demande trois clics, et que l’outil de sélection se réinitialise après chaque clic dans l’espace de travail. Des irritants réels, assumés, documentés — pas des bugs qui vous surprennent. Pour un dessin d’architecture destiné à un support de présentation ou à un README, ce rapport qualité/friction est excellent. Pour documenter un système vivant, il faudra un outil qui sait que le système existe.
Sources






