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:
1 parent
06175593f6
commit
f515d58a95
18 files changed
+30
-30
No files matched your search
@@ -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.
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
Generated
+2
-2
@@ -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,5 +1,5 @@
|
||||
{
|
||||
"name": "excalidraw-go-frontend",
|
||||
"name": "excalicloud-frontend",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"type": "module",
|
||||
|
||||
@@ -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,3 +1,3 @@
|
||||
module github.com/vblogio/excalidraw-go
|
||||
module github.com/vblogio/excalicloud
|
||||
|
||||
go 1.24.7
|
||||
+2
-2
@@ -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.
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/vblogio/excalidraw-go/internal/auth"
|
||||
"github.com/vblogio/excalicloud/internal/auth"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user