drawio-desktop : une coquille Electron pour l'éditeur draw.io
Version électronique officielle de draw.io. Si vous ne modifiez pas le code et acceptez qu'il soit fourni « tel quel », vous pouvez l'utiliser à n'importe quelle fin.
En bref
- De quoi s’agit-il ?
- Un examen des options d'installation, du modèle de sécurité, du support et de la politique de contribution du dépôt.
- À qui s’adresse-t-il ?
- jgraph/drawio-desktop convient aux lecteurs dont le besoin correspond aux éléments documentés. Il convient moins à ceux qui attendent une garantie absente du README.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement JavaScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Une coquille de bureau pour l'éditeur draw.io [1]
drawio-desktop est une application Electron qui enveloppe l'éditeur draw.io de base, qui vit dans un dépôt séparé (jgraph/drawio). Les métadonnées du dépôt le décrivent comme la version Electron officielle de draw.io. Le README explique qu'il s'agit d'une application de bureau de diagrammes basée sur Electron et que des binaires préconstruits sont disponibles dans la section releases du dépôt. Le README ne liste pas les systèmes d'exploitation pris en charge au-delà des installateurs Windows qu'il couvre en détail ; aucun autre support de plateforme n'est mentionné dans le matériel source fourni. (Repère 1.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 1.2 propre à jgraph/drawio-desktop.)
Variantes d'installation Windows [2]
Le README documente trois types de téléchargement Windows sur la page des releases. L'installateur NSIS (draw.io-<version>-windows-installer.exe) s'installe par machine dans Program Files et nécessite des privilèges administrateur. L'installateur MSI (draw.io-<version>.msi) s'installe par utilisateur dans le profil de l'utilisateur et ne nécessite pas de droits administrateur, ce qui est le choix recommandé pour les utilisateurs sans accès administrateur. La version portable (draw.io-<version>-windows-no-installer.exe) fonctionne sans installation et donc sans droits administrateur, mais elle n'enregistre pas les associations de types de fichiers. Une version Microsoft Store (APPX) est également installable par utilisateur sans droits administrateur via le Store. Le README ne spécifie pas les numéros de version ou le rythme de publication de ces binaires. (Repère 2.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 2.2 propre à jgraph/drawio-desktop.)
Isolation réseau et mécanisme de mise à jour [3]
L'application est conçue pour être isolée d'Internet, sauf pour les vérifications de mise à jour. Au démarrage, elle vérifie github.com pour une version plus récente et télécharge les mises à jour depuis un bucket AWS S3 appartenant à Github. Pour désactiver cette vérification, le README suggère de définir la variable d'environnement DRAWIO_DISABLE_UPDATE=true ou de passer --disable-update au lancement. La politique de sécurité du contenu interdit le chargement de JavaScript à distance, et tous les fichiers JavaScript sont autonomes. Le README déclare qu'aucune donnée de diagramme n'est jamais envoyée à l'extérieur et qu'aucune analyse de l'utilisation de l'application n'est transmise. Cependant, les diagrammes peuvent référencer des médias externes tels que des images, des arrière-plans ou des polices à partir d'URL intégrées dans le diagramme ; l'ouverture d'un tel diagramme récupérera ces ressources, ce qui peut révéler l'adresse IP de l'utilisateur à ce serveur, mais aucun contenu de diagramme n'est envoyé. Le README souligne que la sécurité et l'isolation sont des objectifs principaux, et que les demandes de fonctionnalités qui activeraient des connexions externes par défaut seront refusées. (Repère 3.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 3.2 propre à jgraph/drawio-desktop.)
Support et licence [4]
Le support est fourni sur une base de contraintes commerciales raisonnables, mais sans aucun caractère contractuel. Tout le support se fait via le dépôt ; il n'y a pas de système de tickets privé pour les utilisateurs non payants. Le README déclare explicitement que l'achat de draw.io pour Confluence ou Jira ne donne pas droit à un support commercial pour drawio-desktop. Le projet est sous licence Apache 2.0, comme l'indique l'extrait de licence. Cette licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite, sans redevance, irrévocable pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter, sous-licencier et distribuer l'œuvre. Elle accorde également une licence de brevet sous certaines conditions. La licence ne fournit aucune garantie ni obligation de support ; le README dit que l'application est fournie « telle quelle ». (Repère 4.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 4.2 propre à jgraph/drawio-desktop.)
Construction et développement à partir des sources [5]
L'éditeur draw.io de base est un sous-module git de ce dépôt. Pour obtenir les deux, le README demande de cloner récursivement : `git clone --recursive https://github.com/jgraph/drawio-desktop.git`. Ensuite, exécutez `npm install` dans le répertoire racine, puis `npm start` pour lancer l'application. Pour le débogage, utilisez `npm start --enable-logging`. Il existe une variable d'environnement interne DRAWIO_ENV=dev pour le mode de développement, mais elle est marquée pour usage interne uniquement. Si un lien symbolique est utilisé à la place du sous-module pour le dépôt drawio, le répertoire node_modules dans drawio/src/main/webapp doit également être lié symboliquement. Le README mentionne également un processus pour construire une application non signée pour usage personnel, en référence à doc/BUILDING_FOR_PERSONAL_USE.md. Le stockage local et le stockage de session sont stockés dans le dossier AppData, avec des chemins pour macOS et Windows. Le README ne mentionne pas de processus de construction pour Linux ou un autre système d'exploitation. (Repère 5.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 5.2 propre à jgraph/drawio-desktop.)
Fermé aux contributions [6]
Le README déclare explicitement que draw.io est fermé aux contributions, sauf si un mainteneur le permet, ce qui est extrêmement rare. La raison invoquée est que la complexité du projet signifie que même des changements simples peuvent casser beaucoup de pièces mobiles, et que la quantité de tests requise est bien plus importante qu'il n'y paraît. Si nous recevions une PR, nous devrions essentiellement la jeter et l'écrire comme nous voulons qu'elle soit implémentée. Le README exprime sa gratitude pour l'implication de la communauté, les rapports de bugs et les demandes de fonctionnalités, mais la décision est de garder le projet fermé pour la viabilité à long terme. Cela signifie que les développeurs externes ne doivent pas s'attendre à soumettre des correctifs ou des fonctionnalités ; le projet fonctionne selon un modèle de mainteneur unique (bien que le README ne précise pas qui sont les mainteneurs). (Repère 6.1 propre à jgraph/drawio-desktop.)
Le README associe ce point à jgraph/drawio-desktop. Il faut conserver cette portée précise : le dépôt décrit ce qu il expose, mais ne documente pas les comportements absents de son texte. Pour une équipe francophone, cette distinction évite de transformer une démonstration en promesse de compatibilité. La licence Apache-2.0 règle la réutilisation du code selon ses propres termes, sans fournir de garantie de fonctionnement. En pratique, npm install puis npm start permet d observer src, les scripts package.json et l export .drawio ou PDF. Notez la version, les messages obtenus et la sortie avant de changer une option. Cette trace est liée à jgraph/drawio-desktop, et non à une méthode générale applicable à tous les logiciels. (Repère 6.2 propre à jgraph/drawio-desktop.)
Conclusion éditoriale
jgraph/drawio-desktop convient aux lecteurs dont le besoin correspond aux éléments documentés. Il convient moins à ceux qui attendent une garantie absente du README. Commencez par npm install puis npm start, contrôlez src, les scripts package.json et l export .drawio ou PDF, puis décidez sur cette observation propre au projet. La licence Apache-2.0 doit aussi être lue dans son contexte d usage.
Notes de la communauté