Le service Schémas (ou Draw service en anglais) peut être utilisé pour dessiner des diagrammes, mind maps ou d’autres schémas en tous genres. Il est basé sur le logiciel diagrams.net (anciennement draw.io).
L’utilisateur·ice se rend sur la page du service et peut déplacer des formes sur la page pour préparer son schéma. Une fois le schéma réalisé, il est possible de le sauvegarder dans le navigateur ou sous forme de fichier. Des fonctionnalités d’export dans divers formats (PNG, PDF, SVG…) sont également disponibles.
Le service Schémas a été inauguré le 8 juin 2019. Il utilisait initialement l’image Docker jgraph/drawio, mais a été finalement réécrite par nos soins pour utiliser nginx plutôt que Apache Tomcat afin d’économiser de la RAM.
Nous avons choisi d’installer ce logiciel car nous l’utilisions beaucoup en interne, et que nous avions envie de multiplier notre offre de service au moment de candidater au collectif CHATONS. De plus, c’est un service facile à déployer, sans entretien : idéal pour commencer.
Nous construisons notre image Docker à partir de notre Dockerfile, en y ajoutant le fichier nginx.conf
pour configurer le démon nginx situé dans ce conteneur pour qu’il serve le dossier /usr/share/nginx/html
.
Nous avons également une variable d’environnement DRAWIO_VERSION
qui spécifie la version du logiciel à utiliser.
Notre Dockerfile inclut un patch du code pour ajouter offline=1
dans les paramètres du logiciel, afin de l’empêcher de réaliser des requêtes de tierce partie vers les serveurs de Google, Microsoft ou d’autres géants, initalement présentes pour permettre de sauvegarder des diagrammes depuis ces fournisseurs de cloud.
Le test du logiciel s’effectue en se rendant directement sur la page du service dans le navigateur. Il convient de faire particulièrement attention aux headers HTTP communiqués par le reverse-proxy : un header CSP mal configuré pourrait bloquer certaines fonctionnalités du logiciel.
Quelques statistiques d’utilisation du service Schémas de La Contre-Voie.
Il s’agit de moyennes journalières mesurées pendant la 5e semaine (calendrier ISO) de chaque année listée.
Année | Requêtes | Utilisateur·ice·s uniques | Bande passante |
---|---|---|---|
2020 | 593 | 16 | 146 MB |
2021 | 268 | 9 | 37 MB |
2022 | 46 | 7 | 13 MB |
2023 | 602 | 14 | 44 MB |
En bref : le service n’est quasiment pas utilisé (il peut être pertinent de se demander s’il vaut la peine d’être gardé).
C’est un service qui reste toutefois plutôt économe en RAM : il est mesuré à 26 MB en février 2023.
L’hébergement de ce service ne présente aucun risque particulier : il ne stocke aucune donnée et ne sert que des fichiers statiques.
Il est toutefois préférable de contrôler quelques éléments importants :
Ce service ne nécessite aucun entretien à lui seul, ce qui en fait un service particulièrement facile à héberger.
La mise à jour de ce logiciel consiste à modifier la variable d’environnement DRAWIO_VERSION
vers la dernière version disponible, puis à reconstruire l’image. Le conteneur redémarre en quelques secondes.
De la même manière qu’avec le service Liens, il serait particulièrement pratique de mettre en place un outil qui créerait une image Docker associée, de manière automatique, à chaque nouvelle version du logiciel.
Ce service se présente plutôt comme une sorte de petit outil qui n’a pas pour but de stocker des données. Il est facile à héberger et à maintenir, mais est très peu consulté. Si l’on décide de le conserver, peut-être que l’on pourrait l’intégrer à une sorte de « boîte à outils » plutôt qu’un service à part entière ? Voire héberger une instance d’un logiciel similaire à Organizr, notamment utilisé par le CHATONS Roflcopter.