Renomme excalidraw-go en excalicloud

Module Go github.com/vblogio/excalicloud (imports internes mis à jour),
image Docker excalicloud:local, paquet npm excalicloud-frontend,
champ source des exports .excalidraw, README et THIRD_PARTY_NOTICES.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019MgtkAhkuqFbMAuTgTDeFh
This commit is contained in:
claude BotandClaude Opus 5.5 committed 2026-10-15 11:42:49 +02:00
1 parent 06175593f6
commit f515d58a95
18 files changed
+30 -30

No files matched your search

+4 -4
View File
@@ -1,4 +1,4 @@
# excalidraw-go
# Excalicloud
Excalidraw auto-hébergé avec un **gestionnaire de fichiers intégré** : arborescence de dossiers, **vignettes des schémas**, création, renommage, **sélection et déplacement multiples** (glisser-déposer ou dialogue « Déplacer vers… »), duplication, suppression (corbeille), **recherche plein texte** (noms et contenu des schémas), **tags**, **espace personnel et favoris par utilisateur**, **partage en lecture seule par lien signé**, import/export de fichiers `.excalidraw`, sauvegarde automatique côté serveur, **historique des versions** avec comparaison visuelle et restauration, **serveur MCP** pour que Claude lise et crée des schémas (jetons d'API personnels et OAuth). Interface web unique, responsive (l'explorateur devient un tiroir sur mobile).
@@ -12,7 +12,7 @@ Excalidraw auto-hébergé avec un **gestionnaire de fichiers intégré** : arbor
## Architecture
```
Navigateur ──HTTP──▶ conteneur excalidraw-go (:8080, uid 65532, rootfs read-only)
Navigateur ──HTTP──▶ conteneur excalicloud (:8080, uid 65532, rootfs read-only)
├─ / SPA React + Excalidraw (embarquée dans le binaire)
├─ /api/... API fichiers (Go net/http)
├─ /s/<jeton> schéma partagé en lecture seule (hors authentification)
@@ -371,6 +371,6 @@ frontend/src/ApiAccess.tsx paramètres : adresse MCP, jetons personnels et conn
## Licence / License
**Français.** Le code d'excalidraw-go est publié sous licence MIT : voir [`LICENSE`](LICENSE) (texte qui fait foi, en anglais) et sa traduction informative [`LICENSE.fr.md`](LICENSE.fr.md). Ce projet est indépendant : il n'est ni affilié à Excalidraw ou Excalidraw s.r.o., ni approuvé ou soutenu par eux. « Excalidraw » est une marque de son titulaire, citée uniquement pour indiquer la compatibilité. Le projet intègre et redistribue des composants tiers sous leurs propres licences, notamment Excalidraw (MIT), les icônes Tabler (MIT) et les polices fournies avec Excalidraw (SIL Open Font License 1.1, MIT) : la liste complète et les notices figurent dans [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
**Français.** Le code d'Excalicloud est publié sous licence MIT : voir [`LICENSE`](LICENSE) (texte qui fait foi, en anglais) et sa traduction informative [`LICENSE.fr.md`](LICENSE.fr.md). Ce projet est indépendant : il n'est ni affilié à Excalidraw ou Excalidraw s.r.o., ni approuvé ou soutenu par eux. « Excalidraw » est une marque de son titulaire, citée uniquement pour indiquer la compatibilité. Le projet intègre et redistribue des composants tiers sous leurs propres licences, notamment Excalidraw (MIT), les icônes Tabler (MIT) et les polices fournies avec Excalidraw (SIL Open Font License 1.1, MIT) : la liste complète et les notices figurent dans [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
**English.** excalidraw-go is released under the MIT License: see [`LICENSE`](LICENSE). This is an independent project, not affiliated with, endorsed by or sponsored by Excalidraw or Excalidraw s.r.o. "Excalidraw" is a trademark of its owner, used only to describe compatibility. The project embeds and redistributes third-party components under their own licenses, including Excalidraw (MIT), Tabler Icons (MIT) and the fonts shipped with Excalidraw (SIL Open Font License 1.1, MIT): see [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) for the full list and notices.
**English.** Excalicloud is released under the MIT License: see [`LICENSE`](LICENSE). This is an independent project, not affiliated with, endorsed by or sponsored by Excalidraw or Excalidraw s.r.o. "Excalidraw" is a trademark of its owner, used only to describe compatibility. The project embeds and redistributes third-party components under their own licenses, including Excalidraw (MIT), Tabler Icons (MIT) and the fonts shipped with Excalidraw (SIL Open Font License 1.1, MIT): see [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) for the full list and notices.
+2 -2
View File
@@ -6,7 +6,7 @@
## English
This project (excalidraw-go / Excalicloud) is an independent project. It is **not affiliated with, endorsed by or sponsored by Excalidraw** or Excalidraw s.r.o. "Excalidraw" is a trademark of its owner and is used here only to describe compatibility: this project embeds the open source [`@excalidraw/excalidraw`](https://www.npmjs.com/package/@excalidraw/excalidraw) component.
This project (Excalicloud) is an independent project. It is **not affiliated with, endorsed by or sponsored by Excalidraw** or Excalidraw s.r.o. "Excalidraw" is a trademark of its owner and is used here only to describe compatibility: this project embeds the open source [`@excalidraw/excalidraw`](https://www.npmjs.com/package/@excalidraw/excalidraw) component.
The project's own code is released under the MIT License (see [`LICENSE`](LICENSE)). The Docker image and the Go binary also redistribute the third-party components listed below, each under its own license.
@@ -119,7 +119,7 @@ The final Docker image is based on `gcr.io/distroless/static-debian12` (Apache-2
## Français
Ce projet (excalidraw-go / Excalicloud) est un projet indépendant. Il **n'est ni affilié à Excalidraw ou Excalidraw s.r.o., ni approuvé ou soutenu par eux**. « Excalidraw » est une marque de son titulaire, citée ici uniquement pour décrire la compatibilité : le projet intègre le composant open source [`@excalidraw/excalidraw`](https://www.npmjs.com/package/@excalidraw/excalidraw).
Ce projet (Excalicloud) est un projet indépendant. Il **n'est ni affilié à Excalidraw ou Excalidraw s.r.o., ni approuvé ou soutenu par eux**. « Excalidraw » est une marque de son titulaire, citée ici uniquement pour décrire la compatibilité : le projet intègre le composant open source [`@excalidraw/excalidraw`](https://www.npmjs.com/package/@excalidraw/excalidraw).
Le code propre au projet est publié sous licence MIT (voir [`LICENSE`](LICENSE), traduction informative dans [`LICENSE.fr.md`](LICENSE.fr.md)). L'image Docker et le binaire Go redistribuent aussi les composants tiers suivants, chacun sous sa propre licence. Les textes de licence reproduits dans la section anglaise ci-dessus sont ceux qui font foi.
+7 -7
View File
@@ -20,13 +20,13 @@ import (
"syscall"
"time"
"github.com/vblogio/excalidraw-go/internal/api"
"github.com/vblogio/excalidraw-go/internal/auth"
"github.com/vblogio/excalidraw-go/internal/mcp"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalidraw-go/internal/tokens"
"github.com/vblogio/excalidraw-go/internal/update"
"github.com/vblogio/excalidraw-go/web"
"github.com/vblogio/excalicloud/internal/api"
"github.com/vblogio/excalicloud/internal/auth"
"github.com/vblogio/excalicloud/internal/mcp"
"github.com/vblogio/excalicloud/internal/storage"
"github.com/vblogio/excalicloud/internal/tokens"
"github.com/vblogio/excalicloud/internal/update"
"github.com/vblogio/excalicloud/web"
)
func env(key, def string) string {
+1 -1
View File
@@ -8,7 +8,7 @@ services:
# Vide : version figée dans frontend/package-lock.json. Renseignée (dans .env
# ou en ligne de commande), l'image est reconstruite avec cette version.
EXCALIDRAW_VERSION: ${EXCALIDRAW_VERSION:-}
image: excalidraw-go:local
image: excalicloud:local
restart: unless-stopped
# ports:
# - "${EXCALIDRAW_PORT:-8080}:8080"
+2 -2
View File
@@ -1,11 +1,11 @@
{
"name": "excalidraw-go-frontend",
"name": "excalicloud-frontend",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "excalidraw-go-frontend",
"name": "excalicloud-frontend",
"version": "0.1.0",
"dependencies": {
"@excalidraw/excalidraw": "0.18.1",
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "excalidraw-go-frontend",
"name": "excalicloud-frontend",
"private": true,
"version": "0.1.0",
"type": "module",
+1 -1
View File
@@ -59,7 +59,7 @@ import { Thumb } from "./Thumb";
export const EMPTY_SCENE = JSON.stringify({
type: "excalidraw",
version: 2,
source: "excalidraw-go",
source: "excalicloud",
elements: [],
appState: {},
files: {},
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/vblogio/excalidraw-go
module github.com/vblogio/excalicloud
go 1.24.7
+2 -2
View File
@@ -48,8 +48,8 @@ import (
"strings"
"time"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalidraw-go/internal/update"
"github.com/vblogio/excalicloud/internal/storage"
"github.com/vblogio/excalicloud/internal/update"
)
// Handler regroupe les routes de l'API.
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalicloud/internal/storage"
)
const doc = `{"type":"excalidraw","version":2,"elements":[]}`
+1 -1
View File
@@ -13,7 +13,7 @@ import (
"net/http"
"slices"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalicloud/internal/storage"
)
// Versions du protocole acceptées, la plus récente d'abord.
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"strings"
"testing"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalicloud/internal/storage"
)
func newServer(t *testing.T) http.Handler {
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"strings"
"time"
"github.com/vblogio/excalidraw-go/internal/storage"
"github.com/vblogio/excalicloud/internal/storage"
)
const instructions = `Excalicloud stocke des schémas Excalidraw (.excalidraw) dans une arborescence de dossiers partagée entre les utilisateurs.
+1 -1
View File
@@ -15,7 +15,7 @@ import (
"strings"
"unicode/utf8"
"github.com/vblogio/excalidraw-go/internal/update"
"github.com/vblogio/excalicloud/internal/update"
)
// Paramètres de l'interface (titre, logo, canal d'Excalidraw) et rétention de
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"net/url"
"strings"
"github.com/vblogio/excalidraw-go/internal/auth"
"github.com/vblogio/excalicloud/internal/auth"
)
// Server expose les jetons en HTTP : authentification Bearer, gestion des
+1 -1
View File
@@ -14,7 +14,7 @@ import (
"sync"
"time"
"github.com/vblogio/excalidraw-go/internal/auth"
"github.com/vblogio/excalicloud/internal/auth"
)
// Serveur d'autorisation OAuth 2.1 minimal, pour les clients MCP qui ne savent
+1 -1
View File
@@ -22,7 +22,7 @@ import (
"time"
"unicode/utf8"
"github.com/vblogio/excalidraw-go/internal/auth"
"github.com/vblogio/excalicloud/internal/auth"
)
const (
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"testing"
"time"
"github.com/vblogio/excalidraw-go/internal/auth"
"github.com/vblogio/excalicloud/internal/auth"
)
// newServer monte le serveur de jetons devant un mux de test : /whoami