Petit article rapide pour vous dire que j’ai publié deux de mes outils maison sur GitHub : Excalicloud et Logstream. Attention, les dépôts « officiels » restent sur mon Gitea (https://gitea.vlab.bzh), c’est là que ça se passe en premier. GitHub, c’est juste une vitrine pour plus de visibilité et d’accessibilité, parce que soyons honnêtes, tout le monde a un compte GitHub et personne n’a envie de se créer un compte sur mon petit Gitea … bouh 🙁 … Bref, trêve de blabla, on fait le tour du proprio.
Excalicloud
Excalicloud, c’est ni plus ni moins qu’Excalidraw en auto-hébergé avec un vrai gestionnaire de fichiers autour.
Vous connaissez Excalidraw, ce tableau blanc aux traits « dessinés à la main » qui fait des schémas d’architecture tout de suite plus sympathiques ? Je n’utilise que cela depuis maintenant plusieurs années, après une longue période sur Visio, un peu comme tout le monde. J’ai utilisé pendant très longtemps la version hébergée et cloud : Excalidraw+ qui coûte en gros 7 euros par mois TTC. Évidemment, il y a beaucoup de fonctions de coédition, de gestion de présentation et c’est super pratique aussi. Néanmoins pour l’usage que j’en avais, c’était un peu cher, et j’en ai parlé avec le support Excalidraw. Malgré tout, pour l’instant, ils gardent ce prix unique pour des raisons compréhensibles, à suivre dans les prochaines années , donc 🙂
Le souci, c’est que la version de base ne propose aucune option d’enregistrement web direct ou cloud : pas de dossiers, pas d’historique, pas de partage propre. Excalicloud corrige ça : arborescence de dossiers avec vignettes, corbeille, recherche plein texte, espace personnel et favoris, historique des versions avec comparaison visuelle, et partage en lecture seule par lien signé (avec expiration si vous voulez).

Les schémas restent de simples fichiers .excalidraw sur un volume, donc rien n’est verrouillé. Côté connexion : Basic ou OIDC (Authentik, Keycloak ou PocketID…). Et la cerise : un serveur MCP intégré, pour que Claude, Mistral (ou une autre IA compatible) puisse lire et créer des schémas directement. Mes schémas d’archi de ces derniers jours sont passés par là. Le backend est en Go, le frontend en React, et le conteneur tourne en non-root, rootfs en lecture seule.
Côté install :
|
1 2 3 4 |
git clone https://github.com/vblogio/excalicloud.git cd excalicloud cp .env.example .env docker compose up -d --build |
Le manifeste docker-compose fourni se branche sur un réseau Traefik externe (traefik-net), donc adaptez-le si vous ne l’utiliser pas ou différemment. Les données sont dans un volume monté sur ./data.
Logstream
Logstream, est un puits syslog tout simple avec une jolie interface web (je l’ai avant tout conçu pour ça). Il reçoit les logs en UDP/TCP sur le port 514 par défaut (ou un autre), les stocke dans VictoriaLogs, et vous donne une interface claire/sombre en français ou en anglais : recherche instantanée (mode simple ou LogsQL complet), vue live en temps réel, timeline cliquable du volume de logs par sévérité, étiquettes de couleur pour repérer les erreurs d’un coup d’œil, et export CSV.

Il sait aussi aspirer les logs de vos conteneurs Docker (via un docker-socket-proxy en lecture seule) et ceux du système de l’hôte. Si VictoriaLogs tombe, les messages sont mis de côté sur disque et renvoyés au retour. L’authentification est locale ou OIDC, avec un compte lecture seule possible. Mon idée au départ était d’avoir un un truc léger qui se déploie en une minute, sans monter une stack ELK pour surveiller trois switchs et un NAS. Tout est dans un seul manifest docker-compose.yml (Logstream, VictoriaLogs et le proxy Docker) :
|
1 2 3 4 |
git clone https://github.com/vblogio/logstream.git cd logstream cp .env.example .env docker compose up -d --build |
Ensuite, il ne vous reste plus qu’à faire pointer vos équipements (rsyslog, firewalls, NAS…) vers le port 514 du serveur. La rétention est de 30 jours par défaut, réglable avec RETENTION dans le .env.
Et ce n’est que le début …
Les deux projets sont ouverts aux retours : issues, idées, remarques sur mes choix douteux, tout est le bienvenu en commentaire ici ou sur GitHub ou mieux encore, si vous êtes motivés sur mon Gitea ou par mail. Forcément, vous savez sans doute que je ne suis pas un coder Go … mais ancien coder C dans mes jeunes années (et mes longues nuits dans les années 90) : une bonne partie du code a été écrite avec Claude et Mistral, mes Jarvis persos actuels.
L’IA est vraiment en train de révolutionner notre travail, c’est assez clair pour le code et le développement d’idées qui se concrétisent en quelques heures en produits utilisables… bref, j’adore retrouver une partie de mes sensations d’un autre temps. Et je ne parle que du code, ici … mais demandez-leur des choses différentes, ces nouveaux types de marteaux (ou de silex …) sont bluffants aussi en matière de schémas d’architecture, de rédactionnel ou d’organisation personnelle.
Ha tiens … et depuis quelques jours, j’ai un MCP connecté sur ce blog …
Références :
– Les dépôts GitHub : https://github.com/vblogio/excalicloud et https://github.com/vblogio/logstream.
– Les dépots Gitea : https://gitea.vlab.bzh/vLab-BZH/excalicloud.git et https://gitea.vlab.bzh/vLab-BZH/logstream.git
– Excalidraw et Excalidraw+ : https://excalidraw.com et https://plus.excalidraw.com/plus
